@esri/solutions-components 5.1.0-next.28 → 5.1.0-next.29

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 (47) hide show
  1. package/dist/cdn/{MACN5YNL.js → 2A2QZOUU.js} +1 -1
  2. package/dist/cdn/3GCRHDDW.js +12 -0
  3. package/dist/cdn/4ALX6WAT.js +67 -0
  4. package/dist/cdn/{R33D5PLS.js → 52CBI24T.js} +1 -1
  5. package/dist/cdn/{6ITAU5WA.js → CK3SL2CS.js} +1 -1
  6. package/dist/cdn/{I5RNBPZI.js → DQ5R2B4O.js} +1 -1
  7. package/dist/cdn/DXDMHIVX.js +354 -0
  8. package/dist/cdn/DZUNDKKH.js +2 -0
  9. package/dist/cdn/{45KRLZNR.js → ES2A5CVY.js} +1 -1
  10. package/dist/cdn/{O4JG6O2G.js → ESCJK6LO.js} +1 -1
  11. package/dist/cdn/{QSUXQICI.js → GSD2HOIM.js} +1 -1
  12. package/dist/cdn/GV3BOKA2.js +40 -0
  13. package/dist/cdn/{GBTCFOFN.js → HMAS7ECI.js} +1 -1
  14. package/dist/cdn/{CJ4P6J7C.js → J5J64URI.js} +1 -1
  15. package/dist/cdn/{2PMK3DJF.js → JULHW7T3.js} +1 -1
  16. package/dist/cdn/{4652XKVL.js → L3K3F72T.js} +1 -1
  17. package/dist/cdn/{Z4P77LNN.js → L5QICWBS.js} +1 -1
  18. package/dist/cdn/{D46ACA6D.js → LACS4WAI.js} +1 -1
  19. package/dist/cdn/{L34HBOOV.js → MLHG5N53.js} +1 -1
  20. package/dist/cdn/{IFWNDFJA.js → NC7PVSBB.js} +1 -1
  21. package/dist/cdn/NNOZ6KRO.js +21 -0
  22. package/dist/cdn/{SRHO3QX6.js → OFAJCXB4.js} +1 -1
  23. package/dist/cdn/{VBZWNY3Y.js → UV7PVDIQ.js} +1 -1
  24. package/dist/cdn/{U4HQWOBP.js → YEVXOYLE.js} +1 -1
  25. package/dist/cdn/{WJ72IM7D.js → YMM72TGB.js} +1 -1
  26. package/dist/cdn/index.js +1 -1
  27. package/dist/chunks/explorer-prompts.js +43 -0
  28. package/dist/chunks/solutions_assistant_description.js +15 -0
  29. package/dist/chunks/solutions_assistant_prompts.js +70 -0
  30. package/dist/chunks/solutions_explorer_description.js +24 -0
  31. package/dist/components/arcgis-solutions-assistant/customElement.d.ts +0 -6
  32. package/dist/components/arcgis-solutions-assistant/customElement.js +24008 -19727
  33. package/dist/docs/api.json +1 -1
  34. package/dist/docs/docs.json +1 -1
  35. package/dist/docs/vscode.html-custom-data.json +1 -1
  36. package/dist/docs/web-types.json +1 -1
  37. package/dist/loader.js +1 -1
  38. package/dist/solutions-components_commit.txt +7 -7
  39. package/dist/types/lumina.d.ts +1 -1
  40. package/dist/types/preact.d.ts +1 -1
  41. package/dist/types/react.d.ts +1 -1
  42. package/dist/types/stencil.d.ts +1 -1
  43. package/package.json +1 -1
  44. package/dist/cdn/6X7TONQA.js +0 -2
  45. package/dist/cdn/YLO37ZJE.js +0 -339
  46. /package/dist/cdn/{K5ULSEDV.js → FXMBXQQ6.js} +0 -0
  47. /package/dist/cdn/{YBUQ5RAC.js → HXRAPCP2.js} +0 -0
@@ -0,0 +1,354 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
+ import a from"./XAMESELG.js";import{b as f0}from"./QHG54NVK.js";import{b as h0}from"./DPD6UBKD.js";import"./HBQN25RR.js";import{a as Ba}from"./KN36REDP.js";import{a as p0}from"./SDJWXDEO.js";import"./INWDOVSJ.js";import"./3YQ3LN5J.js";import"./TEHBW75B.js";import"./KU62OLRE.js";import"./ZCU2WWVN.js";import"./WGO4EVOV.js";import"./3IHLJADI.js";import"./B3R52L7H.js";import"./BDXIKPLU.js";import"./G2ME4BAQ.js";import"./Z4F2NZOT.js";import"./KOIDWEP3.js";import"./3KXMYZCU.js";import"./LPBP7CBN.js";import"./3FMOO3PJ.js";import"./73AX72WY.js";import"./JUUVYK2H.js";import"./DKD2EGQP.js";import"./4HFHJOS3.js";import"./45M33Q5G.js";import"./FES7B3SJ.js";import{b as d0}from"./FLLZBDVI.js";import{E as o0,F as c0,G as u0,K as l0,h as t0,i as po,k as n0,l as th,q as r0,v as s0,w as a0,x as i0}from"./F2JKSZOE.js";import"./QPIMTXPL.js";export default $arcgis.t(([LE,zE,X1,,,,{I:g0,q:m0}])=>{var ho=class extends i0{constructor(t){if(super(t),this.it=th,t.type!==s0.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===th||t==null)return this._t=void 0,this.it=t;if(t===n0)return t;if(typeof t!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.it)return this._t;this.it=t;let n=[t];return n.raw=n,this._t={_$litType$:this.constructor.resultType,strings:n,values:[]}}};ho.directiveName="unsafeHTML",ho.resultType=1;var y0=a0(ho);var UE=t0`:host{display:block;height:100%}.display-flex-row{display:flex;flex-direction:row}.padding-left-10{padding-left:10px}.chat-container{display:flex;flex-direction:column;gap:0px;max-width:600px;height:75%;background-color:var(--calcite-color-surface-4);padding:1px}.chat-container_expanded{display:flex;flex-direction:column;gap:0px;max-width:100%;height:95%;background-color:var(--calcite-color-surface-1);border-radius:10px;padding:10px}.chat-panel{--calcite-dialog-header-background-color: var(--calcite-color-brand);--calcite-dialog-header-action-background-color: var(--calcite-color-brand);--calcite-dialog-heading-text-color: var(--calcite-color-surface-1);--calcite-dialog-header-action-text-color: var(--calcite-color-surface-1);--calcite-dialog-header-action-text-color-press: var(--calcite-color-surface-1);--calcite-color-focus: var(--calcite-color-surface-1);--calcite-dialog-min-size-y: 90vh;--calcite-dialog-max-size-y: 90vh}.chat-panel calcite-card,.chat-panel calcite-text-area,.chat-panel calcite-button:not(.icon-color-background),.chat-panel .chat-messages,.chat-panel .chat-input{--calcite-color-focus: var(--calcite-color-brand)}.assistant-followup-chip:focus{outline:2px solid var(--calcite-color-brand)}.chat-panel-heading{font-size:var(--calcite-font-size-0);font-weight:var(--calcite-font-weight-medium);color:var(--calcite-color-surface-1, var(--calcite-color-text-1))}.chat-messages{display:flex;flex-direction:column;gap:20px;padding:4px;height:100%;overflow-y:auto}.user-message{align-self:flex-end;background:var(--calcite-color-brand);border-radius:8px;max-width:90%;--calcite-card-corner-radius: 8px;--calcite-card-background-color: var(--calcite-color-brand);--calcite-card-border-color: var(--calcite-color-brand);color:var(--calcite-color-text-inverse);text-align:left}.system-message{align-self:flex-start;background:var(--calcite-color-surface-3);border-radius:8px;max-width:90%;--calcite-card-corner-radius: 8px;--calcite-card-background-color: var(--calcite-color-surface-4);--calcite-card-border-color: var(--calcite-color-surface-4);color:var(--calcite-color-inverse);text-align:left}.loader-message{align-self:flex-start;background:var(--calcite-color-surface-4);border-radius:8px;--calcite-card-corner-radius: 8px;--calcite-card-background-color: var(--calcite-color-surface-4);--calcite-card-border-color: var(--calcite-color-surface-4)}.message-content{padding:0;font-size:14px}.response-message.message-content>p:first-of-type{margin-top:0}.message-content img{max-width:100%;height:auto;display:block;object-fit:contain}.message-content-pad{padding-bottom:10px;font-size:14px}.message-content-summary{padding-bottom:14px}.message-content-alignment{display:flex;align-items:center;gap:var(--calcite-spacing-md);font-size:var(--calcite-font-size--1);color:var(--calcite-color-text-1)}.padding-top-10{padding-top:10px}.padding-right-8{padding-right:8px}.padding-left-right-5{padding-right:5px;padding-left:5px}.chip-content{padding:5px 5px 5px 0}.chat-input{display:flex;flex-direction:row;flex-grow:1}.table-cell{--calcite-table-cell-background: var(--calcite-color-surface-4)}.cursor-pointer{cursor:pointer}.notice-border-color{--temp-initial-brand: var(--calcite-color-brand)}.notice-border-color calcite-notice{--calcite-color-brand: #ddd;--calcite-icon-color: var(--temp-initial-brand)}.notice-border-color calcite-notice *{--calcite-color-brand: var(--temp-initial-brand)}.solution-card{padding:5px 0;text-decoration:none;display:block;width:100%;cursor:pointer}.solution-card calcite-card{display:flex;flex-direction:column;max-width:520px;overflow:hidden;--calcite-card-corner-radius: var(--calcite-corner-radius-round) !important;--calcite-card-shadow: var(--calcite-shadow-sm);--calcite-card-background-color: var(--calcite-card-background-color) }.solution-card div[slot=thumbnail]{max-height:100%;width:100%;position:relative;&:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;transition:all .15s ease-in-out}}.solution-card div[slot=thumbnail] img{max-height:100%;width:100%;object-fit:cover}.solution-card span[slot=description]{padding-top:10px}.solution-card calcite-chip{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);visibility:hidden;pointer-events:none;opacity:0;transition:all .15s ease-in-out;z-index:9999}.solution-card:hover calcite-chip{visibility:visible;opacity:1}.solution-card:hover div[slot=thumbnail]:after{background-color:#00000080}.solution-card:hover h3{text-decoration:underline}.solution-card:focus{outline:2px solid var(--calcite-color-brand)}.references-container{padding-top:10px;display:block}.references-container.collapsed{display:none}.width-100{width:100%}.disclaimer-div{display:flex;gap:var(--calcite-spacing-sm);font-size:var(--calcite-font-size--0);color:var(--calcite-color-text-1)}.display-none{display:none}.chat-messages calcite-fab{position:absolute;bottom:16px;left:50%;transform:translate(-50%);z-index:999}.icon-color-background{--calcite-button-icon-color: var(--calcite-color-surface-1)}.icon-color-background:focus{--calcite-color-focus: var(--calcite-color-surface-1)}@media(max-width:430px){.solution-card .solution-snippet{display:none}}.height-32-flex-auto{height:32px;flex:0 0 auto}.margin-top-0.message-content>p:first-of-type{margin-top:0}a:not(.solution-card){color:var(--calcite-link-text-color, var(--calcite-color-text-link));cursor:pointer;text-decoration:none;line-height:inherit;background-image:linear-gradient(currentColor,currentColor),linear-gradient(var(--calcite-color-brand-underline),var(--calcite-color-brand-underline));background-position-x:0%,100%;background-position-y:min(1.5em,100%);background-repeat:no-repeat,no-repeat;background-size:0% 1px,100% 1px;transition-property:background-size,color;transition-duration:var(--calcite-animation-timing, .15s);transition-timing-function:ease-in-out;outline-color:transparent;position:relative}a:not(.solution-card):hover{background-size:100% 1px,100% 1px}a:not(.solution-card):focus{outline:2px solid var(--calcite-color-brand);outline-offset:2px;outline-color:var(--calcite-color-brand)}a:not(.solution-card):active{color:var(--calcite-color-brand-press)}`,We="__start__",Re="__end__",Vr="__input__",DE="__copy__",fn="__error__",nh="__pregel_ns_writes",ys="__pregel_send",oy="__pregel_call",ca="__pregel_read",wt="__pregel_checkpointer",us="__pregel_resuming",Do="__pregel_task_id",Il="__pregel_stream",FE="__pregel_resume_value",Xu="__pregel_resume_map",_s="__pregel_scratchpad",Yu="__pregel_previous",Y1="__pregel_durability",Yf="checkpoint_id",Sr="checkpoint_ns",BE="__pregel_node_finished",Un="checkpoint_map",_0="__pregel_abort_signals",Be="__interrupt__",gn="__resume__",cy="__no_writes__",bi="__return__",rh="__previous__",yt="langsmith:hidden",ZE="langsmith:nostream",v0="__self__",$n="__pregel_tasks",An="__pregel_push",Qu="__pregel_pull",Dn="00000000-0000-0000-0000-000000000000",VE=[yt,Vr,Be,gn,fn,cy,ys,ca,wt,Y1,Il,us,Do,oy,FE,_s,Yu,Un,Sr,Yf],St="|",Gr=":",w0=Symbol.for("langgraph.command"),qE=class{[w0];constructor(e){this[w0]=e}};function Qf(e){let t=e;return t!=null&&typeof t.node=="string"&&t.args!==void 0}var Xo=class{lg_name="Send";node;args;constructor(e,t){this.node=e,this.args=Yo(t)}toJSON(){return{lg_name:this.lg_name,node:this.node,args:this.args}}};function yn(e){return e instanceof Xo}var b0="__overwrite__";function em(e){return typeof e=="object"&&e!==null&&b0 in e?[!0,e[b0]]:[!1,void 0]}function HE(e){return em(e)[0]}function Q1(e){return!e||typeof e!="object"||!(Be in e)?!1:Array.isArray(e[Be])}var Tr=class extends qE{lg_name="Command";lc_direct_tool_output=!0;graph;update;resume;goto=[];static PARENT="__parent__";constructor(e){super(e),this.resume=e.resume,this.graph=e.graph,this.update=e.update,e.goto&&(this.goto=Array.isArray(e.goto)?Yo(e.goto):[Yo(e.goto)])}_updateAsTuples(){return this.update&&typeof this.update=="object"&&!Array.isArray(this.update)?Object.entries(this.update):Array.isArray(this.update)&&this.update.every(e=>Array.isArray(e)&&e.length===2&&typeof e[0]=="string")?this.update:[["__root__",this.update]]}toJSON(){let e;return typeof this.goto=="string"?e=this.goto:yn(this.goto)?e=this.goto.toJSON():e=this.goto?.map(t=>typeof t=="string"?t:t.toJSON()),{lg_name:this.lg_name,update:this.update,resume:this.resume,goto:e}}};function Ft(e){return typeof e!="object"||e==null?!1:"lg_name"in e&&e.lg_name==="Command"}function Yo(e,t=new Map){if(e!=null&&typeof e=="object"){if(t.has(e))return t.get(e);let n;if(Array.isArray(e))n=[],t.set(e,n),e.forEach((r,s)=>{n[s]=Yo(r,t)});else if(Ft(e)&&!(e instanceof Tr))n=new Tr(e),t.set(e,n);else if(Qf(e)&&!(e instanceof Xo))n=new Xo(e.node,e.args),t.set(e,n);else if(Ft(e)||yn(e))n=e,t.set(e,n);else if("lc_serializable"in e&&e.lc_serializable)n=e,t.set(e,n);else{n={},t.set(e,n);for(let[r,s]of Object.entries(e))n[r]=Yo(s,t)}return n}return e}var Ds=class extends Error{lc_error_code;constructor(e,t){let n=e??"";t?.lc_error_code&&(n=`${n}
3
+
4
+ Troubleshooting URL: https://docs.langchain.com/oss/javascript/langgraph/${t.lc_error_code}/
5
+ `),super(n),this.lc_error_code=t?.lc_error_code}},ek=class extends Ds{get is_bubble_up(){return!0}},WE=class extends Ds{constructor(e,t){super(e,t),this.name="GraphRecursionError"}static get unminifiable_name(){return"GraphRecursionError"}},el=class extends Ds{constructor(e,t){super(e,t),this.name="GraphValueError"}static get unminifiable_name(){return"GraphValueError"}},yi=class extends ek{interrupts;constructor(e,t){super(JSON.stringify(e,null,2),t),this.name="GraphInterrupt",this.interrupts=e??[]}static get unminifiable_name(){return"GraphInterrupt"}},tk=class extends yi{constructor(e,t){super([{value:e}],t),this.name="NodeInterrupt"}static get unminifiable_name(){return"NodeInterrupt"}},nk=class extends ek{command;constructor(e){super(),this.name="ParentCommand",this.command=e}static get unminifiable_name(){return"ParentCommand"}};function JE(e){return e!==void 0&&e.name===nk.unminifiable_name}function tl(e){return e!==void 0&&e.is_bubble_up===!0}function ai(e){return e!==void 0&&[yi.unminifiable_name,tk.unminifiable_name].includes(e.name)}var k0=class extends Ds{constructor(e,t){super(e,t),this.name="EmptyInputError"}static get unminifiable_name(){return"EmptyInputError"}},$t=class extends Ds{constructor(e,t){super(e,t),this.name="EmptyChannelError"}static get unminifiable_name(){return"EmptyChannelError"}},et=class extends Ds{constructor(e,t){super(e,t),this.name="InvalidUpdateError"}static get unminifiable_name(){return"InvalidUpdateError"}},GE=class extends Ds{constructor(e,t){super(e,t),this.name="UnreachableNodeError"}static get unminifiable_name(){return"UnreachableNodeError"}},sh=class extends Ds{constructor(e,t){super(e,t),this.name="StateGraphInputError",this.message="Invalid StateGraph input. Make sure to pass a valid StateDefinition, Annotation.Root, or Zod schema."}static get unminifiable_name(){return"StateGraphInputError"}},KE=/^(?:[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 tm(e){return typeof e=="string"&&KE.test(e)}function rk(e){if(!tm(e))throw TypeError("Invalid UUID");var t,n=new Uint8Array(16);return n[0]=(t=parseInt(e.slice(0,8),16))>>>24,n[1]=t>>>16&255,n[2]=t>>>8&255,n[3]=t&255,n[4]=(t=parseInt(e.slice(9,13),16))>>>8,n[5]=t&255,n[6]=(t=parseInt(e.slice(14,18),16))>>>8,n[7]=t&255,n[8]=(t=parseInt(e.slice(19,23),16))>>>8,n[9]=t&255,n[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255,n[11]=t/4294967296&255,n[12]=t>>>24&255,n[13]=t>>>16&255,n[14]=t>>>8&255,n[15]=t&255,n}var Ct=[];for(pu=0;pu<256;++pu)Ct.push((pu+256).toString(16).slice(1));var pu;function no(e,t=0){return(Ct[e[t+0]]+Ct[e[t+1]]+Ct[e[t+2]]+Ct[e[t+3]]+"-"+Ct[e[t+4]]+Ct[e[t+5]]+"-"+Ct[e[t+6]]+Ct[e[t+7]]+"-"+Ct[e[t+8]]+Ct[e[t+9]]+"-"+Ct[e[t+10]]+Ct[e[t+11]]+Ct[e[t+12]]+Ct[e[t+13]]+Ct[e[t+14]]+Ct[e[t+15]]).toLowerCase()}var hu,XE=new Uint8Array(16);function uy(){if(!hu&&(hu=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!hu))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return hu(XE)}var ah,fu,ih=0,oh=0;function YE(e,t,n){var r=0,s=t||new Array(16);e=e||{};var a=e.node,i=e.clockseq;if(e._v6||(a||(a=ah),i==null&&(i=fu)),a==null||i==null){var o=e.random||(e.rng||uy)();a==null&&(a=[o[0],o[1],o[2],o[3],o[4],o[5]],!ah&&!e._v6&&(a[0]|=1,ah=a)),i==null&&(i=(o[6]<<8|o[7])&16383,fu===void 0&&!e._v6&&(fu=i))}var c=e.msecs!==void 0?e.msecs:Date.now(),u=e.nsecs!==void 0?e.nsecs:oh+1,l=c-ih+(u-oh)/1e4;if(l<0&&e.clockseq===void 0&&(i=i+1&16383),(l<0||c>ih)&&e.nsecs===void 0&&(u=0),u>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");ih=c,oh=u,fu=i,c+=122192928e5;var d=((c&268435455)*1e4+u)%4294967296;s[r++]=d>>>24&255,s[r++]=d>>>16&255,s[r++]=d>>>8&255,s[r++]=d&255;var p=c/4294967296*1e4&268435455;s[r++]=p>>>8&255,s[r++]=p&255,s[r++]=p>>>24&15|16,s[r++]=p>>>16&255,s[r++]=i>>>8|128,s[r++]=i&255;for(var h=0;h<6;++h)s[r+h]=a[h];return t||no(s)}function QE(e){var t=typeof e=="string"?rk(e):e,n=eA(t);return typeof e=="string"?no(n):n}function eA(e,t=!1){return Uint8Array.of((e[6]&15)<<4|e[7]>>4&15,(e[7]&15)<<4|(e[4]&240)>>4,(e[4]&15)<<4|(e[5]&240)>>4,(e[5]&15)<<4|(e[0]&240)>>4,(e[0]&15)<<4|(e[1]&240)>>4,(e[1]&15)<<4|(e[2]&240)>>4,96|e[2]&15,e[3],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])}function tA(e){e=unescape(encodeURIComponent(e));for(var t=[],n=0;n<e.length;++n)t.push(e.charCodeAt(n));return t}var nA="6ba7b810-9dad-11d1-80b4-00c04fd430c8",rA="6ba7b811-9dad-11d1-80b4-00c04fd430c8";function sA(e,t,n){function r(s,a,i,o){var c;if(typeof s=="string"&&(s=tA(s)),typeof a=="string"&&(a=rk(a)),((c=a)===null||c===void 0?void 0:c.length)!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");var u=new Uint8Array(16+s.length);if(u.set(a),u.set(s,a.length),u=n(u),u[6]=u[6]&15|t,u[8]=u[8]&63|128,i){o=o||0;for(var l=0;l<16;++l)i[o+l]=u[l];return i}return no(u)}try{r.name=e}catch{}return r.DNS=nA,r.URL=rA,r}var aA=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),x0={randomUUID:aA};function ea(e,t,n){if(x0.randomUUID&&!e)return x0.randomUUID();e=e||{};var r=e.random||(e.rng||uy)();return r[6]=r[6]&15|64,r[8]=r[8]&63|128,no(r)}function iA(e,t,n,r){switch(e){case 0:return t&n^~t&r;case 1:return t^n^r;case 2:return t&n^t&r^n&r;case 3:return t^n^r}}function ch(e,t){return e<<t|e>>>32-t}function oA(e){var t=[1518500249,1859775393,2400959708,3395469782],n=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof e=="string"){var r=unescape(encodeURIComponent(e));e=[];for(var s=0;s<r.length;++s)e.push(r.charCodeAt(s))}else Array.isArray(e)||(e=Array.prototype.slice.call(e));e.push(128);for(var a=e.length/4+2,i=Math.ceil(a/16),o=new Array(i),c=0;c<i;++c){for(var u=new Uint32Array(16),l=0;l<16;++l)u[l]=e[c*64+l*4]<<24|e[c*64+l*4+1]<<16|e[c*64+l*4+2]<<8|e[c*64+l*4+3];o[c]=u}o[i-1][14]=(e.length-1)*8/Math.pow(2,32),o[i-1][14]=Math.floor(o[i-1][14]),o[i-1][15]=(e.length-1)*8&4294967295;for(var d=0;d<i;++d){for(var p=new Uint32Array(80),h=0;h<16;++h)p[h]=o[d][h];for(var f=16;f<80;++f)p[f]=ch(p[f-3]^p[f-8]^p[f-14]^p[f-16],1);for(var m=n[0],v=n[1],g=n[2],y=n[3],k=n[4],x=0;x<80;++x){var T=Math.floor(x/20),A=ch(m,5)+iA(T,v,g,y)+k+t[T]+p[x]>>>0;k=y,y=g,g=ch(v,30)>>>0,v=m,m=A}n[0]=n[0]+m>>>0,n[1]=n[1]+v>>>0,n[2]=n[2]+g>>>0,n[3]=n[3]+y>>>0,n[4]=n[4]+k>>>0}return[n[0]>>24&255,n[0]>>16&255,n[0]>>8&255,n[0]&255,n[1]>>24&255,n[1]>>16&255,n[1]>>8&255,n[1]&255,n[2]>>24&255,n[2]>>16&255,n[2]>>8&255,n[2]&255,n[3]>>24&255,n[3]>>16&255,n[3]>>8&255,n[3]&255,n[4]>>24&255,n[4]>>16&255,n[4]>>8&255,n[4]&255]}var sk=sA("v5",80,oA);function O0(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),n.push.apply(n,r)}return n}function S0(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?O0(Object(n),!0).forEach(function(r){cA(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):O0(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function cA(e,t,n){return(t=uA(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function uA(e){var t=lA(e,"string");return typeof t=="symbol"?t:t+""}function lA(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function dA(e={},t,n=0){var r=YE(S0(S0({},e),{},{_v6:!0}),new Uint8Array(16));return r=QE(r),no(r)}var T0=null,I0=null,Jn=0;function ak(e,t,n){e=e||{};var r=0,s=new Uint8Array(16),a=e.random||(e.rng||uy)(),i=e.msecs!==void 0?e.msecs:Date.now(),o=e.seq!==void 0?e.seq:null,c=I0,u=T0;return i>Jn&&e.msecs===void 0&&(Jn=i,o!==null&&(c=null,u=null)),o!==null&&(o>2147483647&&(o=2147483647),c=o>>>19&4095,u=o&524287),(c===null||u===null)&&(c=a[6]&127,c=c<<8|a[7],u=a[8]&63,u=u<<8|a[9],u=u<<5|a[10]>>>3),i+1e4>Jn&&o===null?++u>524287&&(u=0,++c>4095&&(c=0,Jn++)):Jn=i,I0=c,T0=u,s[r++]=Jn/1099511627776&255,s[r++]=Jn/4294967296&255,s[r++]=Jn/16777216&255,s[r++]=Jn/65536&255,s[r++]=Jn/256&255,s[r++]=Jn&255,s[r++]=c>>>4&15|112,s[r++]=c&255,s[r++]=u>>>13&63|128,s[r++]=u>>>5&255,s[r++]=u<<3&255|a[10]&7,s[r++]=a[11],s[r++]=a[12],s[r++]=a[13],s[r++]=a[14],s[r++]=a[15],t||no(s)}function ik(e){return dA({clockseq:e})}function ii(e,t){let n=t.replace(/-/g,"").match(/.{2}/g).map(r=>parseInt(r,16));return sk(e,new Uint8Array(n))}var pA="__error__",nl="__scheduled__",hA="__interrupt__",fA="__resume__",E0="[...]",mA="[Circular]",El=[],oi=[];function gA(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function yA(e,t,n,r){typeof r>"u"&&(r=gA()),nm(e,"",0,[],void 0,0,r);var s;try{oi.length===0?s=JSON.stringify(e,t,n):s=JSON.stringify(e,_A(t),n)}catch{return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;El.length!==0;){var a=El.pop();a.length===4?Object.defineProperty(a[0],a[1],a[3]):a[0][a[1]]=a[2]}}return s}function uh(e,t,n,r){var s=Object.getOwnPropertyDescriptor(r,n);s.get!==void 0?s.configurable?(Object.defineProperty(r,n,{value:e}),El.push([r,n,t,s])):oi.push([t,n,e]):(r[n]=e,El.push([r,n,t]))}function nm(e,t,n,r,s,a,i){a+=1;var o;if(typeof e=="object"&&e!==null){for(o=0;o<r.length;o++)if(r[o]===e){uh(mA,e,t,s);return}if(typeof i.depthLimit<"u"&&a>i.depthLimit){uh(E0,e,t,s);return}if(typeof i.edgesLimit<"u"&&n+1>i.edgesLimit){uh(E0,e,t,s);return}if(r.push(e),Array.isArray(e))for(o=0;o<e.length;o++)nm(e[o],o,o,r,e,a,i);else{var c=Object.keys(e);for(o=0;o<c.length;o++){var u=c[o];nm(e[u],u,o,r,e,a,i)}}r.pop()}}function _A(e){return e=typeof e<"u"?e:function(t,n){return n},function(t,n){if(oi.length>0)for(var r=0;r<oi.length;r++){var s=oi[r];if(s[1]===t&&s[0]===n){n=s[2],oi.splice(r,1);break}}return e.call(this,t,n)}}var A0,$0;function vA(){return $0||($0=1,A0=function(e,t){if(typeof e!="string")throw new TypeError("Expected a string");return t=typeof t>"u"?"_":t,e.replace(/([a-z\d])([A-Z])/g,"$1"+t+"$2").replace(/([A-Z]+)([A-Z][a-z\d]+)/g,"$1"+t+"$2").toLowerCase()}),A0}var wA=vA(),bA=Ba(wA),mu={exports:{}},C0;function kA(){if(C0)return mu.exports;C0=1;let e=/[\p{Lu}]/u,t=/[\p{Ll}]/u,n=/^[\p{Lu}](?![\p{Lu}])/gu,r=/([\p{Alpha}\p{N}_]|$)/u,s=/[_.\- ]+/,a=new RegExp("^"+s.source),i=new RegExp(s.source+r.source,"gu"),o=new RegExp("\\d+"+r.source,"gu"),c=(p,h,f)=>{let m=!1,v=!1,g=!1;for(let y=0;y<p.length;y++){let k=p[y];m&&e.test(k)?(p=p.slice(0,y)+"-"+p.slice(y),m=!1,g=v,v=!0,y++):v&&g&&t.test(k)?(p=p.slice(0,y-1)+"-"+p.slice(y-1),g=v,v=!1,m=!0):(m=h(k)===k&&f(k)!==k,g=v,v=f(k)===k&&h(k)!==k)}return p},u=(p,h)=>(n.lastIndex=0,p.replace(n,f=>h(f))),l=(p,h)=>(i.lastIndex=0,o.lastIndex=0,p.replace(i,(f,m)=>h(m)).replace(o,f=>h(f))),d=(p,h)=>{if(!(typeof p=="string"||Array.isArray(p)))throw new TypeError("Expected the input to be `string | string[]`");if(h={pascalCase:!1,preserveConsecutiveUppercase:!1,...h},Array.isArray(p)?p=p.map(v=>v.trim()).filter(v=>v.length).join("-"):p=p.trim(),p.length===0)return"";let f=h.locale===!1?v=>v.toLowerCase():v=>v.toLocaleLowerCase(h.locale),m=h.locale===!1?v=>v.toUpperCase():v=>v.toLocaleUpperCase(h.locale);return p.length===1?h.pascalCase?m(p):f(p):(p!==f(p)&&(p=c(p,f,m)),p=p.replace(a,""),h.preserveConsecutiveUppercase?p=u(p,f):p=f(p),h.pascalCase&&(p=m(p.charAt(0))+p.slice(1)),l(p,m))};return mu.exports=d,mu.exports.default=d,mu.exports}var xA=kA(),OA=Ba(xA);function SA(e,t){return t?.[e]||bA(e)}function TA(e,t){return t?.[e]||OA(e)}function ok(e,t,n){let r={};for(let s in e)Object.hasOwn(e,s)&&(r[t(s,n)]=e[s]);return r}var ck="__lc_escaped__";function IA(e){return"lc"in e||Object.keys(e).length===1&&"__lc_escaped__"in e}function EA(e){return{[ck]:e}}function uk(e){return Object.keys(e).length===1&&"__lc_escaped__"in e}function AA(e){return e!==null&&typeof e=="object"&&"lc_serializable"in e&&typeof e.toJSON=="function"}function $A(e){let t;return e!==null&&typeof e=="object"?"lc_id"in e&&Array.isArray(e.lc_id)?t=e.lc_id:t=[e.constructor?.name??"Object"]:t=[typeof e],{lc:1,type:"not_implemented",id:t}}function rm(e,t=new WeakSet){if(e!==null&&typeof e=="object"&&!Array.isArray(e)){if(t.has(e))return $A(e);if(AA(e))return e;t.add(e);let n=e;if(IA(n))return t.delete(e),EA(n);let r={};for(let[s,a]of Object.entries(n))r[s]=rm(a,t);return t.delete(e),r}return Array.isArray(e)?e.map(n=>rm(n,t)):e}function sm(e){if(e!==null&&typeof e=="object"&&!Array.isArray(e)){let t=e;if(uk(t))return t[ck];let n={};for(let[r,s]of Object.entries(t))n[r]=sm(s);return n}return Array.isArray(e)?e.map(t=>sm(t)):e}var N0=Object.defineProperty,Q=(e,t)=>{let n={};for(var r in e)N0(n,r,{get:e[r],enumerable:!0});return N0(n,Symbol.toStringTag,{value:"Module"}),n},CA=Q({Serializable:()=>Bn,get_lc_unique_name:()=>_p});function P0(e){return Array.isArray(e)?[...e]:{...e}}function NA(e,t){let n=P0(e);for(let[r,s]of Object.entries(t)){let[a,...i]=r.split(".").reverse(),o=n;for(let c of i.reverse()){if(o[c]===void 0)break;o[c]=P0(o[c]),o=o[c]}o[a]!==void 0&&(o[a]={lc:1,type:"secret",id:[s]})}return n}function _p(e){let t=Object.getPrototypeOf(e);return typeof e.lc_name=="function"&&(typeof t.lc_name!="function"||e.lc_name()!==t.lc_name())?e.lc_name():e.name}var Bn=class lk{lc_serializable=!1;lc_kwargs;static lc_name(){return this.name}get lc_id(){return[...this.lc_namespace,_p(this.constructor)]}get lc_secrets(){}get lc_attributes(){}get lc_aliases(){}get lc_serializable_keys(){}constructor(t,...n){this.lc_serializable_keys!==void 0?this.lc_kwargs=Object.fromEntries(Object.entries(t||{}).filter(([r])=>this.lc_serializable_keys?.includes(r))):this.lc_kwargs=t??{}}toJSON(){if(!this.lc_serializable)return this.toJSONNotImplemented();if(this.lc_kwargs instanceof lk||typeof this.lc_kwargs!="object"||Array.isArray(this.lc_kwargs))return this.toJSONNotImplemented();let t={},n={},r=Object.keys(this.lc_kwargs).reduce((o,c)=>(o[c]=c in this?this[c]:this.lc_kwargs[c],o),{});for(let o=Object.getPrototypeOf(this);o;o=Object.getPrototypeOf(o))Object.assign(t,Reflect.get(o,"lc_aliases",this)),Object.assign(n,Reflect.get(o,"lc_secrets",this)),Object.assign(r,Reflect.get(o,"lc_attributes",this));Object.keys(n).forEach(o=>{let c=this,u=r,[l,...d]=o.split(".").reverse();for(let p of d.reverse()){if(!(p in c)||c[p]===void 0)return;(!(p in u)||u[p]===void 0)&&(typeof c[p]=="object"&&c[p]!=null?u[p]={}:Array.isArray(c[p])&&(u[p]=[])),c=c[p],u=u[p]}l in c&&c[l]!==void 0&&(u[l]=u[l]||c[l])});let s={},a=new WeakSet;a.add(this);for(let[o,c]of Object.entries(r))s[o]=rm(c,a);let i=ok(Object.keys(n).length?NA(s,n):s,SA,t);return{lc:1,type:"constructor",id:this.lc_id,kwargs:i}}toJSONNotImplemented(){return{lc:1,type:"not_implemented",id:this.lc_id}}},PA=Q({getEnv:()=>ly,getEnvironmentVariable:()=>dr,getRuntimeEnvironment:()=>mk,isBrowser:()=>dk,isDeno:()=>vp,isJsDom:()=>hk,isNode:()=>fk,isWebWorker:()=>pk}),dk=()=>typeof window<"u"&&typeof window.document<"u",pk=()=>typeof globalThis=="object"&&globalThis.constructor&&globalThis.constructor.name==="DedicatedWorkerGlobalScope",hk=()=>typeof window<"u"&&window.name==="nodejs"||typeof navigator<"u"&&navigator.userAgent.includes("jsdom"),vp=()=>typeof Deno<"u",fk=()=>typeof process<"u"&&typeof process.versions<"u"&&typeof process.versions.node<"u"&&!vp(),ly=()=>{let e;return dk()?e="browser":fk()?e="node":pk()?e="webworker":hk()?e="jsdom":vp()?e="deno":e="other",e},lh;function mk(){return lh===void 0&&(lh={library:"langchain-js",runtime:ly()}),lh}function dr(e){try{return typeof process<"u"?process.env?.[e]:vp()?Deno?.env.get(e):void 0}catch{return}}var jA=[],RA=Q({}),MA=Q({}),Y="0123456789abcdef".split(""),LA=[-2147483648,8388608,32768,128],Gn=[24,16,8,0],gu=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],It=[];function fr(e,t){t?(It[0]=It[16]=It[1]=It[2]=It[3]=It[4]=It[5]=It[6]=It[7]=It[8]=It[9]=It[10]=It[11]=It[12]=It[13]=It[14]=It[15]=0,this.blocks=It):this.blocks=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],e?(this.h0=3238371032,this.h1=914150663,this.h2=812702999,this.h3=4144912697,this.h4=4290775857,this.h5=1750603025,this.h6=1694076839,this.h7=3204075428):(this.h0=1779033703,this.h1=3144134277,this.h2=1013904242,this.h3=2773480762,this.h4=1359893119,this.h5=2600822924,this.h6=528734635,this.h7=1541459225),this.block=this.start=this.bytes=this.hBytes=0,this.finalized=this.hashed=!1,this.first=!0,this.is224=e}fr.prototype.update=function(e){if(!this.finalized){var t,n=typeof e;if(n!=="string"){if(n==="object"){if(e===null)throw new Error(ERROR);if(ARRAY_BUFFER&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!Array.isArray(e)&&(!ARRAY_BUFFER||!ArrayBuffer.isView(e)))throw new Error(ERROR)}else throw new Error(ERROR);t=!0}for(var r,s=0,a,i=e.length,o=this.blocks;s<i;){if(this.hashed&&(this.hashed=!1,o[0]=this.block,this.block=o[16]=o[1]=o[2]=o[3]=o[4]=o[5]=o[6]=o[7]=o[8]=o[9]=o[10]=o[11]=o[12]=o[13]=o[14]=o[15]=0),t)for(a=this.start;s<i&&a<64;++s)o[a>>>2]|=e[s]<<Gn[a++&3];else for(a=this.start;s<i&&a<64;++s)r=e.charCodeAt(s),r<128?o[a>>>2]|=r<<Gn[a++&3]:r<2048?(o[a>>>2]|=(192|r>>>6)<<Gn[a++&3],o[a>>>2]|=(128|r&63)<<Gn[a++&3]):r<55296||r>=57344?(o[a>>>2]|=(224|r>>>12)<<Gn[a++&3],o[a>>>2]|=(128|r>>>6&63)<<Gn[a++&3],o[a>>>2]|=(128|r&63)<<Gn[a++&3]):(r=65536+((r&1023)<<10|e.charCodeAt(++s)&1023),o[a>>>2]|=(240|r>>>18)<<Gn[a++&3],o[a>>>2]|=(128|r>>>12&63)<<Gn[a++&3],o[a>>>2]|=(128|r>>>6&63)<<Gn[a++&3],o[a>>>2]|=(128|r&63)<<Gn[a++&3]);this.lastByteIndex=a,this.bytes+=a-this.start,a>=64?(this.block=o[16],this.start=a-64,this.hash(),this.hashed=!0):this.start=a}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296<<0,this.bytes=this.bytes%4294967296),this}};fr.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var e=this.blocks,t=this.lastByteIndex;e[16]=this.block,e[t>>>2]|=LA[t&3],this.block=e[16],t>=56&&(this.hashed||this.hash(),e[0]=this.block,e[16]=e[1]=e[2]=e[3]=e[4]=e[5]=e[6]=e[7]=e[8]=e[9]=e[10]=e[11]=e[12]=e[13]=e[14]=e[15]=0),e[14]=this.hBytes<<3|this.bytes>>>29,e[15]=this.bytes<<3,this.hash()}};fr.prototype.hash=function(){var e=this.h0,t=this.h1,n=this.h2,r=this.h3,s=this.h4,a=this.h5,i=this.h6,o=this.h7,c=this.blocks,u,l,d,p,h,f,m,v,g,y,k;for(u=16;u<64;++u)h=c[u-15],l=(h>>>7|h<<25)^(h>>>18|h<<14)^h>>>3,h=c[u-2],d=(h>>>17|h<<15)^(h>>>19|h<<13)^h>>>10,c[u]=c[u-16]+l+c[u-7]+d<<0;for(k=t&n,u=0;u<64;u+=4)this.first?(this.is224?(v=300032,h=c[0]-1413257819,o=h-150054599<<0,r=h+24177077<<0):(v=704751109,h=c[0]-210244248,o=h-1521486534<<0,r=h+143694565<<0),this.first=!1):(l=(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10),d=(s>>>6|s<<26)^(s>>>11|s<<21)^(s>>>25|s<<7),v=e&t,p=v^e&n^k,m=s&a^~s&i,h=o+d+m+gu[u]+c[u],f=l+p,o=r+h<<0,r=h+f<<0),l=(r>>>2|r<<30)^(r>>>13|r<<19)^(r>>>22|r<<10),d=(o>>>6|o<<26)^(o>>>11|o<<21)^(o>>>25|o<<7),g=r&e,p=g^r&t^v,m=i&o^~i&s,h=a+d+m+gu[u+1]+c[u+1],f=l+p,i=n+h<<0,n=h+f<<0,l=(n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10),d=(i>>>6|i<<26)^(i>>>11|i<<21)^(i>>>25|i<<7),y=n&r,p=y^n&e^g,m=a&i^~a&o,h=s+d+m+gu[u+2]+c[u+2],f=l+p,a=t+h<<0,t=h+f<<0,l=(t>>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10),d=(a>>>6|a<<26)^(a>>>11|a<<21)^(a>>>25|a<<7),k=t&n,p=k^t&r^y,m=a&i^~a&o,h=s+d+m+gu[u+3]+c[u+3],f=l+p,s=e+h<<0,e=h+f<<0,this.chromeBugWorkAround=!0;this.h0=this.h0+e<<0,this.h1=this.h1+t<<0,this.h2=this.h2+n<<0,this.h3=this.h3+r<<0,this.h4=this.h4+s<<0,this.h5=this.h5+a<<0,this.h6=this.h6+i<<0,this.h7=this.h7+o<<0};fr.prototype.hex=function(){this.finalize();var e=this.h0,t=this.h1,n=this.h2,r=this.h3,s=this.h4,a=this.h5,i=this.h6,o=this.h7,c=Y[e>>>28&15]+Y[e>>>24&15]+Y[e>>>20&15]+Y[e>>>16&15]+Y[e>>>12&15]+Y[e>>>8&15]+Y[e>>>4&15]+Y[e&15]+Y[t>>>28&15]+Y[t>>>24&15]+Y[t>>>20&15]+Y[t>>>16&15]+Y[t>>>12&15]+Y[t>>>8&15]+Y[t>>>4&15]+Y[t&15]+Y[n>>>28&15]+Y[n>>>24&15]+Y[n>>>20&15]+Y[n>>>16&15]+Y[n>>>12&15]+Y[n>>>8&15]+Y[n>>>4&15]+Y[n&15]+Y[r>>>28&15]+Y[r>>>24&15]+Y[r>>>20&15]+Y[r>>>16&15]+Y[r>>>12&15]+Y[r>>>8&15]+Y[r>>>4&15]+Y[r&15]+Y[s>>>28&15]+Y[s>>>24&15]+Y[s>>>20&15]+Y[s>>>16&15]+Y[s>>>12&15]+Y[s>>>8&15]+Y[s>>>4&15]+Y[s&15]+Y[a>>>28&15]+Y[a>>>24&15]+Y[a>>>20&15]+Y[a>>>16&15]+Y[a>>>12&15]+Y[a>>>8&15]+Y[a>>>4&15]+Y[a&15]+Y[i>>>28&15]+Y[i>>>24&15]+Y[i>>>20&15]+Y[i>>>16&15]+Y[i>>>12&15]+Y[i>>>8&15]+Y[i>>>4&15]+Y[i&15];return this.is224||(c+=Y[o>>>28&15]+Y[o>>>24&15]+Y[o>>>20&15]+Y[o>>>16&15]+Y[o>>>12&15]+Y[o>>>8&15]+Y[o>>>4&15]+Y[o&15]),c};fr.prototype.toString=fr.prototype.hex;fr.prototype.digest=function(){this.finalize();var e=this.h0,t=this.h1,n=this.h2,r=this.h3,s=this.h4,a=this.h5,i=this.h6,o=this.h7,c=[e>>>24&255,e>>>16&255,e>>>8&255,e&255,t>>>24&255,t>>>16&255,t>>>8&255,t&255,n>>>24&255,n>>>16&255,n>>>8&255,n&255,r>>>24&255,r>>>16&255,r>>>8&255,r&255,s>>>24&255,s>>>16&255,s>>>8&255,s&255,a>>>24&255,a>>>16&255,a>>>8&255,a&255,i>>>24&255,i>>>16&255,i>>>8&255,i&255];return this.is224||c.push(o>>>24&255,o>>>16&255,o>>>8&255,o&255),c};fr.prototype.array=fr.prototype.digest;fr.prototype.arrayBuffer=function(){this.finalize();var e=new ArrayBuffer(this.is224?28:32),t=new DataView(e);return t.setUint32(0,this.h0),t.setUint32(4,this.h1),t.setUint32(8,this.h2),t.setUint32(12,this.h3),t.setUint32(16,this.h4),t.setUint32(20,this.h5),t.setUint32(24,this.h6),this.is224||t.setUint32(28,this.h7),e};var dy=(...e)=>new fr(!1,!0).update(e.join("")).hex(),zA=Q({sha256:()=>dy});function gk(e){let t=Symbol.for(e);return{brand(n,r){let s=r?Symbol.for(`${e}.${r}`):t;class a extends n{[s]=!0;constructor(...o){super(...o)}static isInstance(o){return typeof o=="object"&&o!==null&&s in o&&o[s]===!0}}return Object.defineProperty(a,"name",{value:n.name}),a},sub(n){return gk(`${e}.${n}`)},isInstance(n){return typeof n=="object"&&n!==null&&t in n&&n[t]===!0}}}var UA=gk("langchain"),DA=Q({ContextOverflowError:()=>yk,LangChainError:()=>py,ModelAbortError:()=>am,addLangChainErrorFields:()=>Zc,ns:()=>wp});function Zc(e,t){return e.lc_error_code=t,e.message=`${e.message}
6
+
7
+ Troubleshooting URL: https://docs.langchain.com/oss/javascript/langchain/errors/${t}/
8
+ `,e}var wp=UA.sub("error"),py=class extends wp.brand(Error){name="LangChainError";constructor(e){super(e),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},am=class extends wp.brand(py,"model-abort"){name="ModelAbortError";partialOutput;constructor(e,t){super(e),this.partialOutput=t}},yk=class _k extends wp.brand(py,"context-overflow"){name="ContextOverflowError";cause;constructor(t){super(t??"Input exceeded the model's context window.")}static fromError(t){let n=new _k(t.message);return n.cause=t,n}};function Pr(e){return typeof e=="object"&&e!==null&&"type"in e&&typeof e.type=="string"&&"source_type"in e&&(e.source_type==="url"||e.source_type==="base64"||e.source_type==="text"||e.source_type==="id")}function hy(e){return Pr(e)&&e.source_type==="url"&&"url"in e&&typeof e.url=="string"}function fy(e){return Pr(e)&&e.source_type==="base64"&&"data"in e&&typeof e.data=="string"}function FA(e){return Pr(e)&&e.source_type==="text"&&"text"in e&&typeof e.text=="string"}function vk(e){return Pr(e)&&e.source_type==="id"&&"id"in e&&typeof e.id=="string"}function wk(e){if(Pr(e)){if(e.source_type==="url")return{type:"image_url",image_url:{url:e.url}};if(e.source_type==="base64"){if(!e.mime_type)throw new Error("mime_type key is required for base64 data.");return{type:"image_url",image_url:{url:`data:${e.mime_type};base64,${e.data}`}}}}throw new Error("Unsupported source type. Only 'url' and 'base64' are supported.")}function im(e){let t=e.split(";")[0].split("/");if(t.length!==2)throw new Error(`Invalid mime type: "${e}" - does not match type/subtype format.`);let n=t[0].trim(),r=t[1].trim();if(n===""||r==="")throw new Error(`Invalid mime type: "${e}" - type or subtype is empty.`);let s={};for(let a of e.split(";").slice(1)){let i=a.split("=");if(i.length!==2)throw new Error(`Invalid parameter syntax in mime type: "${e}".`);let o=i[0].trim(),c=i[1].trim();if(o==="")throw new Error(`Invalid parameter syntax in mime type: "${e}".`);s[o]=c}return{type:n,subtype:r,parameters:s}}function Qo({dataUrl:e,asTypedArray:t=!1}){let n=e.match(/^data:(\w+\/\w+);base64,([A-Za-z0-9+/]+=*)$/),r;if(n){r=n[1].toLowerCase();let s=t?Uint8Array.from(atob(n[2]),a=>a.charCodeAt(0)):n[2];return{mime_type:r,data:s}}}function my(e,t){if(e.type==="text"){if(!t.fromStandardTextBlock)throw new Error(`Converter for ${t.providerName} does not implement \`fromStandardTextBlock\` method.`);return t.fromStandardTextBlock(e)}if(e.type==="image"){if(!t.fromStandardImageBlock)throw new Error(`Converter for ${t.providerName} does not implement \`fromStandardImageBlock\` method.`);return t.fromStandardImageBlock(e)}if(e.type==="audio"){if(!t.fromStandardAudioBlock)throw new Error(`Converter for ${t.providerName} does not implement \`fromStandardAudioBlock\` method.`);return t.fromStandardAudioBlock(e)}if(e.type==="file"){if(!t.fromStandardFileBlock)throw new Error(`Converter for ${t.providerName} does not implement \`fromStandardFileBlock\` method.`);return t.fromStandardFileBlock(e)}throw new Error(`Unable to convert content block type '${e.type}' to provider-specific format: not recognized.`)}function K(e,t){return pe(e)&&e.type===t}function pe(e){return typeof e=="object"&&e!==null}function hn(e){return Array.isArray(e)}function M(e){return typeof e=="string"}function rr(e){return typeof e=="number"}function gy(e){return e instanceof Uint8Array}function j0(e){try{return JSON.parse(e)}catch{return}}var vs=e=>e();function BA(e){if(e.type==="char_location"&&M(e.document_title)&&rr(e.start_char_index)&&rr(e.end_char_index)&&M(e.cited_text)){let{document_title:t,start_char_index:n,end_char_index:r,cited_text:s,...a}=e;return{...a,type:"citation",source:"char",title:t??void 0,startIndex:n,endIndex:r,citedText:s}}if(e.type==="page_location"&&M(e.document_title)&&rr(e.start_page_number)&&rr(e.end_page_number)&&M(e.cited_text)){let{document_title:t,start_page_number:n,end_page_number:r,cited_text:s,...a}=e;return{...a,type:"citation",source:"page",title:t??void 0,startIndex:n,endIndex:r,citedText:s}}if(e.type==="content_block_location"&&M(e.document_title)&&rr(e.start_block_index)&&rr(e.end_block_index)&&M(e.cited_text)){let{document_title:t,start_block_index:n,end_block_index:r,cited_text:s,...a}=e;return{...a,type:"citation",source:"block",title:t??void 0,startIndex:n,endIndex:r,citedText:s}}if(e.type==="web_search_result_location"&&M(e.url)&&M(e.title)&&M(e.encrypted_index)&&M(e.cited_text)){let{url:t,title:n,encrypted_index:r,cited_text:s,...a}=e;return{...a,type:"citation",source:"url",url:t,title:n,startIndex:Number(r),endIndex:Number(r),citedText:s}}if(e.type==="search_result_location"&&M(e.source)&&M(e.title)&&rr(e.start_block_index)&&rr(e.end_block_index)&&M(e.cited_text)){let{source:t,title:n,start_block_index:r,end_block_index:s,cited_text:a,...i}=e;return{...i,type:"citation",source:"search",url:t,title:n??void 0,startIndex:r,endIndex:s,citedText:a}}}function bk(e){if(K(e,"document")&&pe(e.source)&&"type"in e.source){if(e.source.type==="base64"&&M(e.source.media_type)&&M(e.source.data))return{type:"file",mimeType:e.source.media_type,data:e.source.data};if(e.source.type==="url"&&M(e.source.url))return{type:"file",url:e.source.url};if(e.source.type==="file"&&M(e.source.file_id))return{type:"file",fileId:e.source.file_id};if(e.source.type==="text"&&M(e.source.data))return{type:"file",mimeType:String(e.source.media_type??"text/plain"),data:e.source.data}}else if(K(e,"image")&&pe(e.source)&&"type"in e.source){if(e.source.type==="base64"&&M(e.source.media_type)&&M(e.source.data))return{type:"image",mimeType:e.source.media_type,data:e.source.data};if(e.source.type==="url"&&M(e.source.url))return{type:"image",url:e.source.url};if(e.source.type==="file"&&M(e.source.file_id))return{type:"image",fileId:e.source.file_id}}}function ZA(e){function*t(){for(let n of e){let r=bk(n);r?yield r:yield n}}return Array.from(t())}function R0(e){function*t(){let n=typeof e.content=="string"?[{type:"text",text:e.content}]:e.content;for(let r of n){if(K(r,"text")&&M(r.text)){let{text:s,citations:a,...i}=r;if(hn(a)&&a.length){let o=a.reduce((c,u)=>{let l=BA(u);return l?[...c,l]:c},[]);yield{...i,type:"text",text:s,annotations:o};continue}else{yield{...i,type:"text",text:s};continue}}else if(K(r,"thinking")&&M(r.thinking)){let{thinking:s,signature:a,...i}=r;yield{...i,type:"reasoning",reasoning:s,signature:a};continue}else if(K(r,"redacted_thinking")){yield{type:"non_standard",value:r};continue}else if(K(r,"tool_use")&&M(r.name)&&M(r.id)){yield{type:"tool_call",id:r.id,name:r.name,args:r.input};continue}else if(K(r,"input_json_delta")){if(qA(e)&&e.tool_call_chunks?.length){let s=e.tool_call_chunks[0];yield{type:"tool_call_chunk",id:s.id,name:s.name,args:s.args,index:s.index};continue}}else if(K(r,"server_tool_use")&&M(r.name)&&M(r.id)){let{name:s,id:a}=r;if(s==="web_search"){yield{id:a,type:"server_tool_call",name:"web_search",args:{query:vs(()=>{if(typeof r.input=="string")return r.input;if(pe(r.input)&&M(r.input.query))return r.input.query;if(M(r.partial_json)){let i=j0(r.partial_json);if(i?.query)return i.query}return""})}};continue}else if(r.name==="code_execution"){yield{id:a,type:"server_tool_call",name:"code_execution",args:{code:vs(()=>{if(typeof r.input=="string")return r.input;if(pe(r.input)&&M(r.input.code))return r.input.code;if(M(r.partial_json)){let i=j0(r.partial_json);if(i?.code)return i.code}return""})}};continue}}else if(K(r,"web_search_tool_result")&&M(r.tool_use_id)&&hn(r.content)){let{content:s,tool_use_id:a}=r;yield{type:"server_tool_call_result",name:"web_search",toolCallId:a,status:"success",output:{urls:s.reduce((i,o)=>K(o,"web_search_result")?[...i,o.url]:i,[])}};continue}else if(K(r,"code_execution_tool_result")&&M(r.tool_use_id)&&pe(r.content)){yield{type:"server_tool_call_result",name:"code_execution",toolCallId:r.tool_use_id,status:"success",output:r.content};continue}else if(K(r,"mcp_tool_use")){yield{id:r.id,type:"server_tool_call",name:"mcp_tool_use",args:r.input};continue}else if(K(r,"mcp_tool_result")&&M(r.tool_use_id)&&pe(r.content)){yield{type:"server_tool_call_result",name:"mcp_tool_use",toolCallId:r.tool_use_id,status:"success",output:r.content};continue}else if(K(r,"container_upload")){yield{type:"server_tool_call",name:"container_upload",args:r.input};continue}else if(K(r,"search_result")){yield{id:r.id,type:"non_standard",value:r};continue}else if(K(r,"tool_result")){yield{id:r.id,type:"non_standard",value:r};continue}else{let s=bk(r);if(s){yield s;continue}}yield{type:"non_standard",value:r}}}return Array.from(t())}var VA={translateContent:R0,translateContentChunk:R0};function qA(e){return typeof e?._getType=="function"&&typeof e.concat=="function"&&e._getType()==="ai"}function HA(e){return hy(e)?{type:e.type,mimeType:e.mime_type,url:e.url,metadata:e.metadata}:fy(e)?{type:e.type,mimeType:e.mime_type??"application/octet-stream",data:e.data,metadata:e.metadata}:vk(e)?{type:e.type,mimeType:e.mime_type,fileId:e.id,metadata:e.metadata}:e}function WA(e){return e.map(HA)}function JA(e){return!!(K(e,"image_url")&&pe(e.image_url)||K(e,"input_audio")&&pe(e.input_audio)||K(e,"file")&&pe(e.file))}function GA(e){if(K(e,"image_url")&&pe(e.image_url)&&M(e.image_url.url)){let t=Qo({dataUrl:e.image_url.url});return t?{type:"image",mimeType:t.mime_type,data:t.data}:{type:"image",url:e.image_url.url}}else{if(K(e,"input_audio")&&pe(e.input_audio)&&M(e.input_audio.data)&&M(e.input_audio.format))return{type:"audio",data:e.input_audio.data,mimeType:`audio/${e.input_audio.format}`};if(K(e,"file")&&pe(e.file)&&M(e.file.data)){let t=Qo({dataUrl:e.file.data});if(t)return{type:"file",data:t.data,mimeType:t.mime_type};if(M(e.file.file_id))return{type:"file",fileId:e.file.file_id}}}return e}function KA(e){let t=[];typeof e.content=="string"?e.content.length>0&&t.push({type:"text",text:e.content}):t.push(...yy(e.content));for(let n of e.tool_calls??[])t.push({type:"tool_call",id:n.id,name:n.name,args:n.args});return t}function XA(e){let t=[];typeof e.content=="string"?e.content.length>0&&t.push({type:"text",text:e.content}):t.push(...yy(e.content));for(let n of e.tool_calls??[])t.push({type:"tool_call",id:n.id,name:n.name,args:n.args});return t}function yy(e){let t=[];for(let n of e)JA(n)?t.push(GA(n)):t.push(n);return t}function YA(e){if(e.type==="url_citation"){let{url:t,title:n,start_index:r,end_index:s}=e;return{type:"citation",url:t,title:n,startIndex:r,endIndex:s}}if(e.type==="file_citation"){let{file_id:t,filename:n,index:r}=e;return{type:"citation",title:n,startIndex:r,endIndex:r,fileId:t}}return e}function kk(e){function*t(){pe(e.additional_kwargs?.reasoning)&&hn(e.additional_kwargs.reasoning.summary)&&(yield{type:"reasoning",reasoning:e.additional_kwargs.reasoning.summary.reduce((r,s)=>pe(s)&&M(s.text)?`${r}${s.text}`:r,"")});let n=typeof e.content=="string"?[{type:"text",text:e.content}]:e.content;for(let r of n)if(K(r,"text")){let{text:s,annotations:a,...i}=r;Array.isArray(a)?yield{...i,type:"text",text:String(s),annotations:a.map(YA)}:yield{...i,type:"text",text:String(s)}}for(let r of e.tool_calls??[])yield{type:"tool_call",id:r.id,name:r.name,args:r.args};if(pe(e.additional_kwargs)&&hn(e.additional_kwargs.tool_outputs))for(let r of e.additional_kwargs.tool_outputs){if(K(r,"web_search_call")){let s={};if(pe(r.action)&&M(r.action.query)&&(s.query=r.action.query),yield{id:r.id,type:"server_tool_call",name:"web_search",args:s},r.status==="completed"||r.status==="failed"){let a={};pe(r.action)&&(a.action=r.action),yield{type:"server_tool_call_result",toolCallId:M(r.id)?r.id:"",status:r.status==="completed"?"success":"error",output:a}}continue}else if(K(r,"file_search_call")){yield{id:r.id,type:"server_tool_call",name:"file_search",args:{queries:hn(r.queries)?r.queries:[]}},(r.status==="completed"||r.status==="failed")&&(yield{type:"server_tool_call_result",toolCallId:M(r.id)?r.id:"",status:r.status==="completed"?"success":"error",output:hn(r.results)?{results:r.results}:{}});continue}else if(K(r,"computer_call")){yield{type:"non_standard",value:r};continue}else if(K(r,"code_interpreter_call")){if(M(r.code)&&(yield{id:r.id,type:"server_tool_call",name:"code_interpreter",args:{code:r.code}}),hn(r.outputs)){let s=vs(()=>{if(r.status!=="in_progress"){if(r.status==="completed")return 0;if(r.status==="incomplete")return 127;if(r.status!=="interpreting"&&r.status==="failed")return 1}});for(let a of r.outputs)if(K(a,"logs")){yield{type:"server_tool_call_result",toolCallId:r.id??"",status:"success",output:{type:"code_interpreter_output",returnCode:s??0,stderr:[0,void 0].includes(s)?void 0:String(a.logs),stdout:[0,void 0].includes(s)?String(a.logs):void 0}};continue}}continue}else if(K(r,"mcp_call")){yield{id:r.id,type:"server_tool_call",name:"mcp_call",args:r.input};continue}else if(K(r,"mcp_list_tools")){yield{id:r.id,type:"server_tool_call",name:"mcp_list_tools",args:r.input};continue}else if(K(r,"mcp_approval_request")){yield{type:"non_standard",value:r};continue}else if(K(r,"tool_search_call")){let s={};pe(r.arguments)&&Object.assign(s,r.arguments);let a={};M(r.execution)&&(a.execution=r.execution),M(r.status)&&(a.status=r.status),M(r.call_id)&&(a.call_id=r.call_id),yield{id:M(r.id)?r.id:"",type:"server_tool_call",name:"tool_search",args:s,...Object.keys(a).length>0?{extras:a}:{}};continue}else if(K(r,"tool_search_output")){let s={name:"tool_search"};M(r.execution)&&(s.execution=r.execution),yield{type:"server_tool_call_result",toolCallId:M(r.id)?r.id:"",status:r.status==="completed"?"success":r.status==="failed"?"error":"success",output:{tools:hn(r.tools)?r.tools:[]},extras:s};continue}else if(K(r,"image_generation_call")){M(r.result)&&(yield{type:"image",mimeType:"image/png",data:r.result,id:M(r.id)?r.id:void 0,metadata:{status:M(r.status)?r.status:void 0}}),yield{type:"non_standard",value:r};continue}pe(r)&&(yield{type:"non_standard",value:r})}}return Array.from(t())}function QA(e){function*t(){yield*kk(e);for(let n of e.tool_call_chunks??[])yield{type:"tool_call_chunk",id:n.id,name:n.name,args:n.args}}return Array.from(t())}var e$={translateContent:e=>typeof e.content=="string"?KA(e):kk(e),translateContentChunk:e=>typeof e.content=="string"?XA(e):QA(e)};function xk(e){return typeof e=="object"&&e!==null&&"type"in e&&"content"in e&&(typeof e.content=="string"||Array.isArray(e.content))}function t$(e,t="pretty"){return t==="pretty"?n$(e):JSON.stringify(e)}function n$(e){let t=[],n=` ${e.type.charAt(0).toUpperCase()+e.type.slice(1)} Message `,r=Math.floor((80-n.length)/2),s="=".repeat(r),a=n.length%2===0?s:`${s}=`;if(t.push(`${s}${n}${a}`),e.type==="ai"){let i=e;if(i.tool_calls&&i.tool_calls.length>0){t.push("Tool Calls:");for(let o of i.tool_calls){t.push(` ${o.name} (${o.id})`),t.push(` Call ID: ${o.id}`),t.push(" Args:");for(let[c,u]of Object.entries(o.args))t.push(` ${c}: ${typeof u=="object"?JSON.stringify(u):u}`)}}}if(e.type==="tool"){let i=e;i.name&&t.push(`Name: ${i.name}`)}return typeof e.content=="string"&&e.content.trim()&&(t.length>1&&t.push(""),t.push(e.content)),t.join(`
9
+ `)}var dh=Symbol.for("langchain.message");function Xr(e,t){return typeof e=="string"?e===""?t:typeof t=="string"?e+t:Array.isArray(t)&&t.length===0?e:Array.isArray(t)&&t.some(n=>Pr(n))?[{type:"text",source_type:"text",text:e},...t]:[{type:"text",text:e},...t]:Array.isArray(t)?ki(e,t)??[...e,...t]:t===""?e:Array.isArray(e)&&e.some(n=>Pr(n))?[...e,{type:"file",source_type:"text",text:t}]:[...e,{type:"text",text:t}]}function Ok(e,t){return e==="error"||t==="error"?"error":"success"}function r$(e,t){function n(r,s){if(typeof r!="object"||r===null||r===void 0)return r;if(s>=t)return Array.isArray(r)?"[Array]":"[Object]";if(Array.isArray(r))return r.map(i=>n(i,s+1));let a={};for(let i of Object.keys(r))a[i]=n(r[i],s+1);return a}return JSON.stringify(n(e,0),null,2)}var tn=class extends Bn{lc_namespace=["langchain_core","messages"];lc_serializable=!0;get lc_aliases(){return{additional_kwargs:"additional_kwargs",response_metadata:"response_metadata"}}[dh]=!0;id;name;content;additional_kwargs;response_metadata;_getType(){return this.type}getType(){return this._getType()}constructor(e){let t=typeof e=="string"||Array.isArray(e)?{content:e}:e;t.additional_kwargs||(t.additional_kwargs={}),t.response_metadata||(t.response_metadata={}),super(t),this.name=t.name,t.content===void 0&&t.contentBlocks!==void 0?(this.content=t.contentBlocks,this.response_metadata={output_version:"v1",...t.response_metadata}):t.content!==void 0?(this.content=t.content??[],this.response_metadata=t.response_metadata):(this.content=[],this.response_metadata=t.response_metadata),this.additional_kwargs=t.additional_kwargs,this.id=t.id}get text(){return typeof this.content=="string"?this.content:Array.isArray(this.content)?this.content.map(e=>typeof e=="string"?e:e.type==="text"?e.text:"").join(""):""}get contentBlocks(){let e=typeof this.content=="string"?[{type:"text",text:this.content}]:this.content;return[WA,yy,ZA].reduce((t,n)=>n(t),e)}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(e){return typeof e=="object"&&e!==null&&dh in e&&e[dh]===!0&&xk(e)}_updateId(e){this.id=e,this.lc_kwargs.id=e}get[Symbol.toStringTag](){return this.constructor.lc_name()}[Symbol.for("nodejs.util.inspect.custom")](e){if(e===null)return this;let t=r$(this._printableFields,Math.max(4,e));return`${this.constructor.lc_name()} ${t}`}toFormattedString(e="pretty"){return t$(this,e)}};function s$(e){return Array.isArray(e)&&e.every(t=>typeof t.index=="number")}var Sk=["index","created","timestamp"];function Vt(e,t,n){let r=n?.ignoreKeys??Sk;if(e==null&&t==null)return;if(e==null||t==null)return e??t;let s={...e};for(let[a,i]of Object.entries(t))if(s[a]==null)s[a]=i;else{if(i==null)continue;if(typeof s[a]!=typeof i||Array.isArray(s[a])!==Array.isArray(i))throw new Error(`field[${a}] already exists in the message chunk, but with a different type.`);if(typeof s[a]=="string"){if(a==="type")continue;if(["id","name","output_version","model_provider"].includes(a))i&&(s[a]=i);else{if(r.includes(a))continue;s[a]+=i}}else if(typeof s[a]=="number"){if(r.includes(a))continue;s[a]=s[a]+i}else if(typeof s[a]=="object"&&!Array.isArray(s[a]))s[a]=Vt(s[a],i,n);else if(Array.isArray(s[a]))s[a]=ki(s[a],i,n);else{if(s[a]===i)continue;console.warn(`field[${a}] already exists in this message chunk and value has unsupported type.`)}}return s}function a$(e){return typeof e=="number"||typeof e=="string"}function M0(e){return typeof e!="object"||e===null||!("index"in e)?!1:a$(e.index)}function ki(e,t,n){if(!(e==null&&t==null)){if(e==null||t==null)return e||t;{let r=[...e];for(let s of t)if(M0(s)){let a=r.findIndex(i=>{if(!M0(i))return!1;let o=i.index===s.index,c=i.id!=null&&i.id!=="",u=s.id!=null&&s.id!=="",l=c&&u&&i.id===s.id;return o&&(l||!c||!u)});a!==-1&&typeof r[a]=="object"&&r[a]!==null?r[a]=Vt(r[a],s,n):r.push(s)}else{if(typeof s=="object"&&s!==null&&"text"in s&&s.text==="")continue;r.push(s)}return r}}}function Tk(e,t,n){if(!(e==null&&t==null)){if(e==null||t==null)return e??t;if(typeof e!=typeof t)throw new Error(`Cannot merge objects of different types.
10
+ Left ${typeof e}
11
+ Right ${typeof t}`);if(typeof e=="string"&&typeof t=="string")return e+t;if(Array.isArray(e)&&Array.isArray(t))return ki(e,t,n);if(typeof e=="object"&&typeof t=="object")return Vt(e,t,n);if(e===t)return e;throw new Error(`Can not merge objects of different types.
12
+ Left ${e}
13
+ Right ${t}`)}}var Fs=class Ik extends tn{static isInstance(t){if(!super.isInstance(t))return!1;let n=Object.getPrototypeOf(t);for(;n!==null;){if(n===Ik.prototype)return!0;n=Object.getPrototypeOf(n)}return!1}};function Ek(e){return typeof e.role=="string"}function Mt(e){return typeof e?._getType=="function"}function ec(e){return Fs.isInstance(e)}var i$=Q({ToolMessage:()=>Zn,ToolMessageChunk:()=>Vc,defaultToolCallParser:()=>vy,isDirectToolOutput:()=>_y,isToolMessage:()=>wy,isToolMessageChunk:()=>Ak});function _y(e){return e!=null&&typeof e=="object"&&"lc_direct_tool_output"in e&&e.lc_direct_tool_output===!0}var Zn=class extends tn{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(e,t,n){let r=typeof e=="string"||Array.isArray(e)?{content:e,name:n,tool_call_id:t}:e;super(r),this.tool_call_id=r.tool_call_id,this.artifact=r.artifact,this.status=r.status,this.metadata=r.metadata}static isInstance(e){return super.isInstance(e)&&e.type==="tool"}get _printableFields(){return{...super._printableFields,tool_call_id:this.tool_call_id,artifact:this.artifact}}},Vc=class extends Fs{type="tool";tool_call_id;status;artifact;constructor(e){super(e),this.tool_call_id=e.tool_call_id,this.artifact=e.artifact,this.status=e.status}static lc_name(){return"ToolMessageChunk"}concat(e){let t=this.constructor;return new t({content:Xr(this.content,e.content),additional_kwargs:Vt(this.additional_kwargs,e.additional_kwargs),response_metadata:Vt(this.response_metadata,e.response_metadata),artifact:Tk(this.artifact,e.artifact),tool_call_id:this.tool_call_id,id:this.id??e.id,status:Ok(this.status,e.status)})}get _printableFields(){return{...super._printableFields,tool_call_id:this.tool_call_id,artifact:this.artifact}}};function vy(e){let t=[],n=[];for(let r of e)if(r.function){let s=r.function.name;try{let a=JSON.parse(r.function.arguments);t.push({name:s||"",args:a||{},id:r.id})}catch{n.push({name:s,args:r.function.arguments,id:r.id,error:"Malformed args."})}}else continue;return[t,n]}function wy(e){return typeof e=="object"&&e!==null&&"getType"in e&&typeof e.getType=="function"&&e.getType()==="tool"}function Ak(e){return e._getType()==="tool"}function Fo(e){return!!(e&&typeof e=="object"&&"type"in e&&e.type==="tool_call")}function o$(e){return!!(e&&typeof e=="object"&&"toolCall"in e&&e.toolCall!=null&&typeof e.toolCall=="object"&&"id"in e.toolCall&&typeof e.toolCall.id=="string")}var Al=class extends Error{output;constructor(e,t){super(e),this.output=t}};function $l(e,t=xi){e=e.trim();let n=e.indexOf("```");if(n===-1)return t(e);let r=e.substring(n+3);r.startsWith(`json
14
+ `)?r=r.substring(5):r.startsWith("json")?r=r.substring(4):r.startsWith(`
15
+ `)&&(r=r.substring(1));let s=r.indexOf("```"),a=r;return s!==-1&&(a=r.substring(0,s)),t(a.trim())}function c$(e){try{return JSON.parse(e)}catch{}let t=e.trim();if(t.length===0)throw new Error("Unexpected end of JSON input");let n=0;function r(){for(;n<t.length&&/\s/.test(t[n]);)n+=1}function s(){if(t[n]!=='"')throw new Error(`Expected '"' at position ${n}, got '${t[n]}'`);n+=1;let l="",d=!1;for(;n<t.length;){let p=t[n];if(d){if(p==="n")l+=`
16
+ `;else if(p==="t")l+=" ";else if(p==="r")l+="\r";else if(p==="\\")l+="\\";else if(p==='"')l+='"';else if(p==="b")l+="\b";else if(p==="f")l+="\f";else if(p==="/")l+="/";else if(p==="u"){let h=t.substring(n+1,n+5);if(/^[0-9A-Fa-f]{0,4}$/.test(h))h.length===4?l+=String.fromCharCode(Number.parseInt(h,16)):l+=`u${h}`,n+=h.length;else throw new Error(`Invalid unicode escape sequence '\\u${h}' at position ${n}`)}else throw new Error(`Invalid escape sequence '\\${p}' at position ${n}`);d=!1}else if(p==="\\")d=!0;else{if(p==='"')return n+=1,l;l+=p}n+=1}return d&&(l+="\\"),l}function a(){let l=n,d="";if(t[n]==="-"&&(d+="-",n+=1),n<t.length&&t[n]==="0"&&(d+="0",n+=1,t[n]>="0"&&t[n]<="9"))throw new Error(`Invalid number at position ${l}`);if(n<t.length&&t[n]>="1"&&t[n]<="9")for(;n<t.length&&t[n]>="0"&&t[n]<="9";)d+=t[n],n+=1;if(n<t.length&&t[n]===".")for(d+=".",n+=1;n<t.length&&t[n]>="0"&&t[n]<="9";)d+=t[n],n+=1;if(n<t.length&&(t[n]==="e"||t[n]==="E"))for(d+=t[n],n+=1,n<t.length&&(t[n]==="+"||t[n]==="-")&&(d+=t[n],n+=1);n<t.length&&t[n]>="0"&&t[n]<="9";)d+=t[n],n+=1;if(d==="-")return-0;let p=Number.parseFloat(d);if(Number.isNaN(p))throw n=l,new Error(`Invalid number '${d}' at position ${l}`);return p}function i(){if(r(),n>=t.length)throw new Error(`Unexpected end of input at position ${n}`);let l=t[n];if(l==="{")return c();if(l==="[")return o();if(l==='"')return s();if("null".startsWith(t.substring(n,n+4)))return n+=Math.min(4,t.length-n),null;if("true".startsWith(t.substring(n,n+4)))return n+=Math.min(4,t.length-n),!0;if("false".startsWith(t.substring(n,n+5)))return n+=Math.min(5,t.length-n),!1;if(l==="-"||l>="0"&&l<="9")return a();throw new Error(`Unexpected character '${l}' at position ${n}`)}function o(){if(t[n]!=="[")throw new Error(`Expected '[' at position ${n}, got '${t[n]}'`);let l=[];if(n+=1,r(),n>=t.length)return l;if(t[n]==="]")return n+=1,l;for(;n<t.length;){if(r(),n>=t.length||(l.push(i()),r(),n>=t.length))return l;if(t[n]==="]")return n+=1,l;if(t[n]===","){n+=1;continue}throw new Error(`Expected ',' or ']' at position ${n}, got '${t[n]}'`)}return l}function c(){if(t[n]!=="{")throw new Error(`Expected '{' at position ${n}, got '${t[n]}'`);let l={};if(n+=1,r(),n>=t.length)return l;if(t[n]==="}")return n+=1,l;for(;n<t.length;){if(r(),n>=t.length)return l;let d=s();if(r(),n>=t.length)return l;if(t[n]!==":")throw new Error(`Expected ':' at position ${n}, got '${t[n]}'`);if(n+=1,r(),n>=t.length||(l[d]=i(),r(),n>=t.length))return l;if(t[n]==="}")return n+=1,l;if(t[n]===","){n+=1;continue}throw new Error(`Expected ',' or '}' at position ${n}, got '${t[n]}'`)}return l}let u=i();if(r(),n<t.length)throw new Error(`Unexpected character '${t[n]}' at position ${n}`);return u}function xi(e){try{return typeof e>"u"?null:c$(e)}catch{return null}}function by(e){switch(e){case"csv":return"text/csv";case"doc":return"application/vnd.openxmlformats-officedocument.wordprocessingml.document";case"docx":return"application/vnd.openxmlformats-officedocument.wordprocessingml.document";case"html":return"text/html";case"md":return"text/markdown";case"pdf":return"application/pdf";case"txt":return"text/plain";case"xls":return"application/vnd.ms-excel";case"xlsx":return"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";case"gif":return"image/gif";case"jpeg":return"image/jpeg";case"jpg":return"image/jpeg";case"png":return"image/png";case"webp":return"image/webp";case"flv":return"video/flv";case"mkv":return"video/mkv";case"mov":return"video/mov";case"mp4":return"video/mp4";case"mpeg":return"video/mpeg";case"mpg":return"video/mpg";case"three_gp":return"video/three_gp";case"webm":return"video/webm";case"wmv":return"video/wmv";default:return"application/octet-stream"}}function u$(e){if(pe(e.document)&&pe(e.document.source)){let t=by(pe(e.document)&&M(e.document.format)?e.document.format:"");if(pe(e.document.source)){if(pe(e.document.source.s3Location)&&M(e.document.source.s3Location.uri))return{type:"file",mimeType:t,fileId:e.document.source.s3Location.uri};if(gy(e.document.source.bytes))return{type:"file",mimeType:t,data:e.document.source.bytes};if(M(e.document.source.text))return{type:"file",mimeType:t,data:Buffer.from(e.document.source.text).toString("base64")};if(hn(e.document.source.content))return{type:"file",mimeType:t,data:e.document.source.content.reduce((n,r)=>pe(r)&&M(r.text)?n+r.text:n,"")}}}return{type:"non_standard",value:e}}function l$(e){if(K(e,"image")&&pe(e.image)){let t=by(pe(e.image)&&M(e.image.format)?e.image.format:"");if(pe(e.image.source)){if(pe(e.image.source.s3Location)&&M(e.image.source.s3Location.uri))return{type:"image",mimeType:t,fileId:e.image.source.s3Location.uri};if(gy(e.image.source.bytes))return{type:"image",mimeType:t,data:e.image.source.bytes}}}return{type:"non_standard",value:e}}function d$(e){if(K(e,"video")&&pe(e.video)){let t=by(pe(e.video)&&M(e.video.format)?e.video.format:"");if(pe(e.video.source)){if(pe(e.video.source.s3Location)&&M(e.video.source.s3Location.uri))return{type:"video",mimeType:t,fileId:e.video.source.s3Location.uri};if(gy(e.video.source.bytes))return{type:"video",mimeType:t,data:e.video.source.bytes}}}return{type:"non_standard",value:e}}function L0(e){function*t(){let n=typeof e.content=="string"?[{type:"text",text:e.content}]:e.content;for(let r of n){if(K(r,"cache_point")){yield{type:"non_standard",value:r};continue}else if(K(r,"citations_content")&&pe(r.citationsContent)){yield{type:"text",text:hn(r.citationsContent.content)?r.citationsContent.content.reduce((s,a)=>pe(a)&&M(a.text)?s+a.text:s,""):"",annotations:hn(r.citationsContent.citations)?r.citationsContent.citations.reduce((s,a)=>{if(pe(a)){let i=hn(a.sourceContent)?a.sourceContent.reduce((c,u)=>pe(u)&&M(u.text)?c+u.text:c,""):"",o=vs(()=>{if(pe(a.location)){let c=a.location.documentChar||a.location.documentPage||a.location.documentChunk;if(pe(c))return{source:rr(c.documentIndex)?c.documentIndex.toString():void 0,startIndex:rr(c.start)?c.start:void 0,endIndex:rr(c.end)?c.end:void 0}}return{}});s.push({type:"citation",citedText:i,...o})}return s},[]):[]};continue}else if(K(r,"document")&&pe(r.document)){yield u$(r);continue}else if(K(r,"guard_content")){yield{type:"non_standard",value:r};continue}else if(K(r,"image")&&pe(r.image)){yield l$(r);continue}else if(K(r,"reasoning_content")&&M(r.reasoningText)){yield{type:"reasoning",reasoning:r.reasoningText};continue}else if(K(r,"text")&&M(r.text)){yield{type:"text",text:r.text};continue}else if(K(r,"tool_result")){yield{type:"non_standard",value:r};continue}else{if(K(r,"tool_call"))continue;if(K(r,"video")&&pe(r.video)){yield d$(r);continue}}yield{type:"non_standard",value:r}}}return Array.from(t())}var p$={translateContent:L0,translateContentChunk:L0};function z0(e){let t=[],n=e.additional_kwargs?.reasoning_content;if(M(n)&&n.length>0&&t.push({type:"reasoning",reasoning:n}),typeof e.content=="string")e.content.length>0&&t.push({type:"text",text:e.content});else for(let r of e.content)typeof r=="object"&&"type"in r&&r.type==="text"&&"text"in r&&M(r.text)&&t.push({type:"text",text:r.text});for(let r of e.tool_calls??[])t.push({type:"tool_call",id:r.id,name:r.name,args:r.args});return t}var h$={translateContent:z0,translateContentChunk:z0};function U0(e){function*t(){let n=typeof e.content=="string"?[{type:"text",text:e.content}]:e.content;for(let r of n){if(K(r,"text")&&M(r.text)){yield{type:"text",text:r.text};continue}else if(K(r,"thinking")&&M(r.thinking)){yield{type:"reasoning",reasoning:r.thinking,...r.signature?{signature:r.signature}:{}};continue}else if(K(r,"inlineData")&&pe(r.inlineData)&&M(r.inlineData.mimeType)&&M(r.inlineData.data)){yield{type:"file",mimeType:r.inlineData.mimeType,data:r.inlineData.data};continue}else if(K(r,"functionCall")&&pe(r.functionCall)&&M(r.functionCall.name)&&pe(r.functionCall.args)){yield{type:"tool_call",id:e.id,name:r.functionCall.name,args:r.functionCall.args};continue}else if(K(r,"functionResponse")){yield{type:"non_standard",value:r};continue}else if(K(r,"fileData")&&pe(r.fileData)&&M(r.fileData.mimeType)&&M(r.fileData.fileUri)){yield{type:"file",mimeType:r.fileData.mimeType,fileId:r.fileData.fileUri};continue}else if(K(r,"executableCode")){yield{type:"non_standard",value:r};continue}else if(K(r,"codeExecutionResult")){yield{type:"non_standard",value:r};continue}yield{type:"non_standard",value:r}}}return Array.from(t())}var f$={translateContent:U0,translateContentChunk:U0};function D0(e){function*t(){let n=typeof e.content=="string"?[{type:"text",text:e.content}]:e.content;for(let r of n){if(K(r,"reasoning")&&M(r.reasoning)){let s=vs(()=>{let a=n.indexOf(r);if(hn(e.additional_kwargs?.signatures)&&a>=0)return e.additional_kwargs.signatures.at(a)});M(s)?yield{type:"reasoning",reasoning:r.reasoning,signature:s}:yield{type:"reasoning",reasoning:r.reasoning};continue}else if(K(r,"thinking")&&M(r.thinking)){yield{type:"reasoning",reasoning:r.thinking,...r.signature?{signature:r.signature}:{}};continue}else if(K(r,"text")&&M(r.text)){yield{type:"text",text:r.text};continue}else if(K(r,"image_url")){if(M(r.image_url))if(r.image_url.startsWith("data:")){let s=r.image_url.match(/^data:([^;]+);base64,(.+)$/);s?yield{type:"image",data:s[2],mimeType:s[1]}:yield{type:"image",url:r.image_url}}else yield{type:"image",url:r.image_url};continue}else if(K(r,"media")&&M(r.mimeType)&&M(r.data)){yield{type:"file",mimeType:r.mimeType,data:r.data};continue}yield{type:"non_standard",value:r}}}return Array.from(t())}var m$={translateContent:D0,translateContentChunk:D0};function F0(e){let t=[],n=e.additional_kwargs?.reasoning;if(M(n)&&n.length>0&&t.push({type:"reasoning",reasoning:n}),typeof e.content=="string"){let r=e.content,s=r.match(/<think>([\s\S]*?)<\/think>/);if(s){let a=s[1].trim();a.length>0&&t.push({type:"reasoning",reasoning:a}),r=r.replace(/<think>[\s\S]*?<\/think>/,"").trim()}r.length>0&&t.push({type:"text",text:r})}else for(let r of e.content)if(typeof r=="object"&&"type"in r&&r.type==="text"&&"text"in r&&M(r.text)){let s=r.text,a=s.match(/<think>([\s\S]*?)<\/think>/);if(a){let i=a[1].trim();i.length>0&&t.push({type:"reasoning",reasoning:i}),s=s.replace(/<think>[\s\S]*?<\/think>/,"").trim()}s.length>0&&t.push({type:"text",text:s})}for(let r of e.tool_calls??[])t.push({type:"tool_call",id:r.id,name:r.name,args:r.args});return t}var g$={translateContent:F0,translateContentChunk:F0};function B0(e){let t=[],n=e.additional_kwargs?.reasoning_content;if(M(n)&&n.length>0&&t.push({type:"reasoning",reasoning:n}),typeof e.content=="string")e.content.length>0&&t.push({type:"text",text:e.content});else for(let r of e.content)typeof r=="object"&&"type"in r&&r.type==="text"&&"text"in r&&M(r.text)&&t.push({type:"text",text:r.text});for(let r of e.tool_calls??[])t.push({type:"tool_call",id:r.id,name:r.name,args:r.args});return t}var y$={translateContent:B0,translateContentChunk:B0};function Z0(e){let t=[];if(pe(e.additional_kwargs?.reasoning)){let r=e.additional_kwargs.reasoning;if(hn(r.summary)){let s=r.summary.reduce((a,i)=>pe(i)&&M(i.text)?`${a}${i.text}`:a,"");s.length>0&&t.push({type:"reasoning",reasoning:s})}}let n=e.additional_kwargs?.reasoning_content;if(M(n)&&n.length>0&&t.push({type:"reasoning",reasoning:n}),typeof e.content=="string")e.content.length>0&&t.push({type:"text",text:e.content});else for(let r of e.content)typeof r=="object"&&"type"in r&&r.type==="text"&&"text"in r&&M(r.text)&&t.push({type:"text",text:r.text});for(let r of e.tool_calls??[])t.push({type:"tool_call",id:r.id,name:r.name,args:r.args});return t}var _$={translateContent:Z0,translateContentChunk:Z0};function V0(e){function*t(){let n=vs(()=>{if(typeof e.content=="string")return e.additional_kwargs.originalTextContentBlock?[{...e.additional_kwargs.originalTextContentBlock,type:"text"}]:[{type:"text",text:e.content}];{let r=e.additional_kwargs?.originalTextContentBlock;if(r?.thoughtSignature&&!e.content.some(s=>"thoughtSignature"in s)){let s=[...e.content];for(let a=s.length-1;a>=0;a--){let i=s[a];if(i.type==="text"&&!i.thought)return i.thoughtSignature=r.thoughtSignature,s}}return e.content}});for(let r of n){let s=vs(()=>K(r,"text")&&M(r.text)?{type:"text",text:r.text}:K(r,"inlineData")&&pe(r.inlineData)&&M(r.inlineData.mimeType)&&M(r.inlineData.data)?{type:"file",mimeType:r.inlineData.mimeType,data:r.inlineData.data}:K(r,"functionCall")&&pe(r.functionCall)&&M(r.functionCall.name)&&pe(r.functionCall.args)?{type:"tool_call",id:e.id,name:r.functionCall.name,args:r.functionCall.args}:K(r,"functionResponse")?{type:"non_standard",value:r}:K(r,"fileData")&&pe(r.fileData)&&M(r.fileData.mimeType)&&M(r.fileData.fileUri)?{type:"file",mimeType:r.fileData.mimeType,fileId:r.fileData.fileUri}:K(r,"executableCode")?{type:"non_standard",value:r}:K(r,"codeExecutionResult")?{type:"non_standard",value:r}:{type:"non_standard",value:r}),a=vs(()=>"thought"in r&&r.thought?{type:"reasoning",reasoning:s.type==="text"?s.text:"",reasoningContentBlock:s}:s),i={thought:r.thought,thoughtSignature:r.thoughtSignature,partMetadata:r.partMetadata,...a};for(let o in i)i[o]===void 0&&delete i[o];yield i}}return Array.from(t())}var v$={translateContent:V0,translateContentChunk:V0};globalThis.lc_block_translators_registry??=new Map([["anthropic",VA],["bedrock-converse",p$],["deepseek",h$],["google",v$],["google-genai",f$],["google-vertexai",m$],["groq",g$],["ollama",y$],["openai",e$],["xai",_$]]);function $k(e){return globalThis.lc_block_translators_registry.get(e)}function Ck(e,t){return Vt(e,t)??{}}function Nk(e,t){let n={};return(e?.audio!==void 0||t?.audio!==void 0)&&(n.audio=(e?.audio??0)+(t?.audio??0)),(e?.image!==void 0||t?.image!==void 0)&&(n.image=(e?.image??0)+(t?.image??0)),(e?.video!==void 0||t?.video!==void 0)&&(n.video=(e?.video??0)+(t?.video??0)),(e?.document!==void 0||t?.document!==void 0)&&(n.document=(e?.document??0)+(t?.document??0)),(e?.text!==void 0||t?.text!==void 0)&&(n.text=(e?.text??0)+(t?.text??0)),n}function w$(e,t){let n={...Nk(e,t)};return(e?.cache_read!==void 0||t?.cache_read!==void 0)&&(n.cache_read=(e?.cache_read??0)+(t?.cache_read??0)),(e?.cache_creation!==void 0||t?.cache_creation!==void 0)&&(n.cache_creation=(e?.cache_creation??0)+(t?.cache_creation??0)),n}function b$(e,t){let n={...Nk(e,t)};return(e?.reasoning!==void 0||t?.reasoning!==void 0)&&(n.reasoning=(e?.reasoning??0)+(t?.reasoning??0)),n}function ky(e,t){return{input_tokens:(e?.input_tokens??0)+(t?.input_tokens??0),output_tokens:(e?.output_tokens??0)+(t?.output_tokens??0),total_tokens:(e?.total_tokens??0)+(t?.total_tokens??0),input_token_details:w$(e?.input_token_details,t?.input_token_details),output_token_details:b$(e?.output_token_details,t?.output_token_details)}}var Qe=class extends tn{type="ai";tool_calls=[];invalid_tool_calls=[];usage_metadata;get lc_aliases(){return{...super.lc_aliases,tool_calls:"tool_calls",invalid_tool_calls:"invalid_tool_calls",usage_metadata:"usage_metadata"}}constructor(e){let t;if(typeof e=="string"||Array.isArray(e))t={content:e,tool_calls:[],invalid_tool_calls:[],additional_kwargs:{}};else{t=e;let n=t.additional_kwargs?.tool_calls,r=t.tool_calls;n!=null&&n.length>0&&(r===void 0||r.length===0)&&console.warn(["New LangChain packages are available that more efficiently handle",`tool calling.
17
+
18
+ Please upgrade your packages to versions that set`,"message tool calls. e.g., `pnpm install @langchain/anthropic`,","pnpm install @langchain/openai`, etc."].join(" "));try{if(n!=null&&r===void 0){let[s,a]=vy(n);t.tool_calls=s??[],t.invalid_tool_calls=a??[]}else t.tool_calls=t.tool_calls??[],t.invalid_tool_calls=t.invalid_tool_calls??[]}catch{t.tool_calls=[],t.invalid_tool_calls=[]}if(t.response_metadata!==void 0&&"output_version"in t.response_metadata&&t.response_metadata.output_version==="v1"&&(t.contentBlocks=t.content,t.content=void 0),t.contentBlocks!==void 0){t.tool_calls&&t.contentBlocks.push(...t.tool_calls.map(a=>({type:"tool_call",id:a.id,name:a.name,args:a.args})));let s=t.contentBlocks.filter(a=>a.type==="tool_call").filter(a=>!t.tool_calls?.some(i=>i.id===a.id&&i.name===a.name));s.length>0&&(t.tool_calls=s.map(a=>({type:"tool_call",id:a.id,name:a.name,args:a.args})))}}super(t),typeof t!="string"&&(this.tool_calls=t.tool_calls??this.tool_calls,this.invalid_tool_calls=t.invalid_tool_calls??this.invalid_tool_calls),this.usage_metadata=t.usage_metadata}static lc_name(){return"AIMessage"}get contentBlocks(){if(this.response_metadata&&"output_version"in this.response_metadata&&this.response_metadata.output_version==="v1")return this.content;if(this.response_metadata&&"model_provider"in this.response_metadata&&typeof this.response_metadata.model_provider=="string"){let t=$k(this.response_metadata.model_provider);if(t)return t.translateContent(this)}let e=super.contentBlocks;if(this.tool_calls){let t=this.tool_calls.filter(n=>!e.some(r=>r.id===n.id&&r.name===n.name));e.push(...t.map(n=>({type:"tool_call",id:n.id,name:n.name,args:n.args})))}return e}get _printableFields(){return{...super._printableFields,tool_calls:this.tool_calls,invalid_tool_calls:this.invalid_tool_calls,usage_metadata:this.usage_metadata}}static isInstance(e){return super.isInstance(e)&&e.type==="ai"}};function bp(e){return e._getType()==="ai"}function om(e){return e._getType()==="ai"}var _n=class extends Fs{type="ai";tool_calls=[];invalid_tool_calls=[];tool_call_chunks=[];usage_metadata;constructor(e){let t;if(typeof e=="string"||Array.isArray(e))t={content:e,tool_calls:[],invalid_tool_calls:[],tool_call_chunks:[]};else if(e.tool_call_chunks===void 0||e.tool_call_chunks.length===0)t={...e,tool_calls:e.tool_calls??[],invalid_tool_calls:[],tool_call_chunks:[],usage_metadata:e.usage_metadata!==void 0?e.usage_metadata:void 0};else{let n=Rk(e.tool_call_chunks??[]);t={...e,tool_call_chunks:n.tool_call_chunks,tool_calls:n.tool_calls,invalid_tool_calls:n.invalid_tool_calls,usage_metadata:e.usage_metadata!==void 0?e.usage_metadata:void 0}}super(t),this.tool_call_chunks=t.tool_call_chunks??this.tool_call_chunks,this.tool_calls=t.tool_calls??this.tool_calls,this.invalid_tool_calls=t.invalid_tool_calls??this.invalid_tool_calls,this.usage_metadata=t.usage_metadata}get lc_aliases(){return{...super.lc_aliases,tool_calls:"tool_calls",invalid_tool_calls:"invalid_tool_calls",tool_call_chunks:"tool_call_chunks",usage_metadata:"usage_metadata"}}static lc_name(){return"AIMessageChunk"}get contentBlocks(){if(this.response_metadata&&"output_version"in this.response_metadata&&this.response_metadata.output_version==="v1")return this.content;if(this.response_metadata&&"model_provider"in this.response_metadata&&typeof this.response_metadata.model_provider=="string"){let t=$k(this.response_metadata.model_provider);if(t)return t.translateContent(this)}let e=super.contentBlocks;if(this.tool_calls&&typeof this.content!="string"){let t=this.content.filter(n=>n.type==="tool_call").map(n=>n.id);for(let n of this.tool_calls)n.id&&!t.includes(n.id)&&e.push({...n,type:"tool_call",id:n.id,name:n.name,args:n.args})}return e}get _printableFields(){return{...super._printableFields,tool_calls:this.tool_calls,tool_call_chunks:this.tool_call_chunks,invalid_tool_calls:this.invalid_tool_calls,usage_metadata:this.usage_metadata}}concat(e){let t={content:Xr(this.content,e.content),additional_kwargs:Vt(this.additional_kwargs,e.additional_kwargs),response_metadata:Ck(this.response_metadata,e.response_metadata),tool_call_chunks:[],tool_calls:[],id:this.id??e.id};if(this.tool_call_chunks!==void 0||e.tool_call_chunks!==void 0){let r=ki(this.tool_call_chunks,e.tool_call_chunks);r!==void 0&&r.length>0&&(t.tool_call_chunks=r)}if(this.tool_calls!==void 0||e.tool_calls!==void 0){let r=ki(this.tool_calls,e.tool_calls);r!==void 0&&r.length>0&&(t.tool_calls=r)}(this.usage_metadata!==void 0||e.usage_metadata!==void 0)&&(t.usage_metadata=ky(this.usage_metadata,e.usage_metadata));let n=this.constructor;return new n(t)}static isInstance(e){return super.isInstance(e)&&e.type==="ai"}},ns=class Pk extends tn{static lc_name(){return"ChatMessage"}type="generic";role;static _chatMessageClass(){return Pk}constructor(t,n){(typeof t=="string"||Array.isArray(t))&&(t={content:t,role:n}),super(t),this.role=t.role}static isInstance(t){return super.isInstance(t)&&t.type==="generic"}get _printableFields(){return{...super._printableFields,role:this.role}}},qc=class extends Fs{static lc_name(){return"ChatMessageChunk"}type="generic";role;constructor(e,t){(typeof e=="string"||Array.isArray(e))&&(e={content:e,role:t}),super(e),this.role=e.role}concat(e){let t=this.constructor;return new t({content:Xr(this.content,e.content),additional_kwargs:Vt(this.additional_kwargs,e.additional_kwargs),response_metadata:Vt(this.response_metadata,e.response_metadata),role:this.role,id:this.id??e.id})}static isInstance(e){return super.isInstance(e)&&e.type==="generic"}get _printableFields(){return{...super._printableFields,role:this.role}}};function k$(e){return e._getType()==="generic"}function x$(e){return e._getType()==="generic"}var kp=class extends tn{static lc_name(){return"FunctionMessage"}type="function";name;constructor(e){super(e),this.name=e.name}},Hc=class extends Fs{static lc_name(){return"FunctionMessageChunk"}type="function";concat(e){let t=this.constructor;return new t({content:Xr(this.content,e.content),additional_kwargs:Vt(this.additional_kwargs,e.additional_kwargs),response_metadata:Vt(this.response_metadata,e.response_metadata),name:this.name??"",id:this.id??e.id})}};function O$(e){return e._getType()==="function"}function S$(e){return e._getType()==="function"}var jn=class extends tn{static lc_name(){return"HumanMessage"}type="human";constructor(e){super(e)}static isInstance(e){return super.isInstance(e)&&e.type==="human"}},Wc=class extends Fs{static lc_name(){return"HumanMessageChunk"}type="human";constructor(e){super(e)}concat(e){let t=this.constructor;return new t({content:Xr(this.content,e.content),additional_kwargs:Vt(this.additional_kwargs,e.additional_kwargs),response_metadata:Vt(this.response_metadata,e.response_metadata),id:this.id??e.id})}static isInstance(e){return super.isInstance(e)&&e.type==="human"}};function T$(e){return e.getType()==="human"}function I$(e){return e.getType()==="human"}var ua=class extends tn{type="remove";id;constructor(e){super({...e,content:[]}),this.id=e.id}get _printableFields(){return{...super._printableFields,id:this.id}}static isInstance(e){return super.isInstance(e)&&e.type==="remove"}},jr=class rl extends tn{static lc_name(){return"SystemMessage"}type="system";constructor(t){super(t)}concat(t){if(typeof t=="string")return new rl({...this,content:Xr(this.content,t)});if(rl.isInstance(t))return new rl({...this,additional_kwargs:{...this.additional_kwargs,...t.additional_kwargs},response_metadata:{...this.response_metadata,...t.response_metadata},content:Xr(this.content,t.content)});throw new Error("Unexpected chunk type for system message")}static isInstance(t){return super.isInstance(t)&&t.type==="system"}},Ss=class extends Fs{static lc_name(){return"SystemMessageChunk"}type="system";constructor(e){super(e)}concat(e){let t=this.constructor;return new t({content:Xr(this.content,e.content),additional_kwargs:Vt(this.additional_kwargs,e.additional_kwargs),response_metadata:Vt(this.response_metadata,e.response_metadata),id:this.id??e.id})}static isInstance(e){return super.isInstance(e)&&e.type==="system"}};function E$(e){return e._getType()==="system"}function A$(e){return e._getType()==="system"}var jk=e=>e();function $$(e){return Fo(e)?e:typeof e.id=="string"&&e.type==="function"&&typeof e.function=="object"&&e.function!==null&&"arguments"in e.function&&typeof e.function.arguments=="string"&&"name"in e.function&&typeof e.function.name=="string"?{id:e.id,args:JSON.parse(e.function.arguments),name:e.function.name,type:"tool_call"}:e}function C$(e){return typeof e=="object"&&e!=null&&e.lc===1&&Array.isArray(e.id)&&e.kwargs!=null&&typeof e.kwargs=="object"}function ph(e){let t,n;if(C$(e)){let r=e.id.at(-1);r==="HumanMessage"||r==="HumanMessageChunk"?t="user":r==="AIMessage"||r==="AIMessageChunk"?t="assistant":r==="SystemMessage"||r==="SystemMessageChunk"?t="system":r==="FunctionMessage"||r==="FunctionMessageChunk"?t="function":r==="ToolMessage"||r==="ToolMessageChunk"?t="tool":t="unknown",n=e.kwargs}else{let{type:r,...s}=e;t=r,n=s}if(t==="human"||t==="user")return new jn(n);if(t==="ai"||t==="assistant"){let{tool_calls:r,...s}=n;if(!Array.isArray(r))return new Qe(n);let a=r.map($$);return new Qe({...s,tool_calls:a})}else{if(t==="system")return new jr(n);if(t==="developer")return new jr({...n,additional_kwargs:{...n.additional_kwargs,__openai_role__:"developer"}});if(t==="tool"&&"tool_call_id"in n)return new Zn({...n,content:n.content,tool_call_id:n.tool_call_id,name:n.name});if(t==="remove"&&"id"in n&&typeof n.id=="string")return new ua({...n,id:n.id});throw Zc(new Error(`Unable to coerce message from array: only human, AI, system, developer, or tool message coercion is currently supported.
19
+
20
+ Received: ${JSON.stringify(e,null,2)}`),"MESSAGE_COERCION_FAILURE")}}function $r(e){if(typeof e=="string")return new jn(e);if(Mt(e))return e;if(Array.isArray(e)){let[t,n]=e;return ph({type:t,content:n})}else if(Ek(e)){let{role:t,...n}=e;return ph({...n,type:t})}else return ph(e)}function N$(e){if(typeof e=="string")return e;switch(e.type){case"text":return e.text??"";case"text-plain":return e.text??"[text-plain file]";case"image":case"image_url":return"[image]";case"audio":case"input_audio":return"[audio]";case"video":return"[video]";case"file":return"[file]";case"reasoning":case"tool_call":case"tool_call_chunk":case"invalid_tool_call":case"server_tool_call":case"server_tool_call_chunk":case"server_tool_call_result":case"non_standard":return"";default:return e.type?`[${e.type}]`:""}}function xy(e,t="Human",n="AI"){let r=[];for(let s of e){let a;if(s.type==="human")a=t;else if(s.type==="ai")a=n;else if(s.type==="system")a="System";else if(s.type==="tool")a="Tool";else if(s.type==="generic")a=s.role;else throw new Error(`Got unsupported message type: ${s.type}`);let i=s.name?`${s.name}, `:"",o=typeof s.content=="string"?s.content:Array.isArray(s.content)?s.content.map(N$).filter(Boolean).join(""):"",c=`${a}: ${i}${o}`;if(s.type==="ai"){let u=s;u.tool_calls&&u.tool_calls.length>0?c+=JSON.stringify(u.tool_calls):u.additional_kwargs&&"function_call"in u.additional_kwargs&&(c+=JSON.stringify(u.additional_kwargs.function_call))}r.push(c)}return r.join(`
21
+ `)}function P$(e){if(e.data!==void 0)return e;{let t=e;return{type:t.type,data:{content:t.text,role:t.role,name:void 0,tool_call_id:void 0}}}}function Oy(e){let t=P$(e);switch(t.type){case"human":return new jn(t.data);case"ai":return new Qe(t.data);case"system":return new jr(t.data);case"function":if(t.data.name===void 0)throw new Error("Name must be defined for function messages");return new kp(t.data);case"tool":if(t.data.tool_call_id===void 0)throw new Error("Tool call ID must be defined for tool messages");return new Zn(t.data);case"generic":if(t.data.role===void 0)throw new Error("Role must be defined for chat messages");return new ns(t.data);default:throw new Error(`Got unexpected type: ${t.type}`)}}function j$(e){return e.map(Oy)}function R$(e){return e.map(t=>t.toDict())}function Cl(e){let t=e._getType();if(t==="human")return new Wc({...e});if(t==="ai"){let n={...e};return"tool_calls"in n&&(n={...n,tool_call_chunks:n.tool_calls?.map(r=>({...r,type:"tool_call_chunk",index:void 0,args:JSON.stringify(r.args)}))}),new _n({...n})}else{if(t==="system")return new Ss({...e});if(t==="function")return new Hc({...e});if(ns.isInstance(e))return new qc({...e});throw new Error("Unknown message type.")}}function Rk(e){let t=e.reduce((s,a)=>{let i=s.findIndex(([o])=>"id"in a&&a.id&&"index"in a&&a.index!==void 0?a.id===o.id&&a.index===o.index:"id"in a&&a.id?a.id===o.id:"index"in a&&a.index!==void 0?a.index===o.index:!1);return i!==-1?s[i].push(a):s.push([a]),s},[]),n=[],r=[];for(let s of t){let a=null,i=s[0]?.name??"",o=s.map(l=>l.args||"").join("").trim(),c=o.length?o:"{}",u=s[0]?.id;try{if(a=xi(c),!u||a===null||typeof a!="object"||Array.isArray(a))throw new Error("Malformed tool call chunk args.");n.push({name:i,args:a,id:u,type:"tool_call"})}catch{r.push({name:i,args:c,id:u,error:"Malformed args.",type:"invalid_tool_call"})}}return{tool_call_chunks:e,tool_calls:n,invalid_tool_calls:r}}var M$=Q({BaseCache:()=>Lk,InMemoryCache:()=>zk,defaultHashKeyEncoder:()=>Mk,deserializeStoredGeneration:()=>L$,serializeGeneration:()=>z$}),Mk=(...e)=>dy(e.join("_"));function L$(e){return e.message!==void 0?{text:e.text,message:Oy(e.message)}:{text:e.text}}function z$(e){let t={text:e.text};return e.message!==void 0&&(t.message=e.message.toDict()),t}var Lk=class{keyEncoder=Mk;makeDefaultKeyEncoder(e){this.keyEncoder=e}},U$=new Map,zk=class Uk extends Lk{cache;constructor(t){super(),this.cache=t??new Map}lookup(t,n){return Promise.resolve(this.cache.get(this.keyEncoder(t,n))??null)}async update(t,n,r){this.cache.set(this.keyEncoder(t,n),r)}static global(){return new Uk(U$)}},D$=/^(?:[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 Bo(e){return typeof e=="string"&&D$.test(e)}function q0(e){if(!Bo(e))throw TypeError("Invalid UUID");let t;return Uint8Array.of((t=parseInt(e.slice(0,8),16))>>>24,t>>>16&255,t>>>8&255,t&255,(t=parseInt(e.slice(9,13),16))>>>8,t&255,(t=parseInt(e.slice(14,18),16))>>>8,t&255,(t=parseInt(e.slice(19,23),16))>>>8,t&255,(t=parseInt(e.slice(24,36),16))/1099511627776&255,t/4294967296&255,t>>>24&255,t>>>16&255,t>>>8&255,t&255)}var Nt=[];for(let e=0;e<256;++e)Nt.push((e+256).toString(16).slice(1));function Sy(e,t=0){return(Nt[e[t+0]]+Nt[e[t+1]]+Nt[e[t+2]]+Nt[e[t+3]]+"-"+Nt[e[t+4]]+Nt[e[t+5]]+"-"+Nt[e[t+6]]+Nt[e[t+7]]+"-"+Nt[e[t+8]]+Nt[e[t+9]]+"-"+Nt[e[t+10]]+Nt[e[t+11]]+Nt[e[t+12]]+Nt[e[t+13]]+Nt[e[t+14]]+Nt[e[t+15]]).toLowerCase()}var hh,F$=new Uint8Array(16);function Dk(){if(!hh){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");hh=crypto.getRandomValues.bind(crypto)}return hh(F$)}function B$(e){e=unescape(encodeURIComponent(e));let t=new Uint8Array(e.length);for(let n=0;n<e.length;++n)t[n]=e.charCodeAt(n);return t}var Z$="6ba7b810-9dad-11d1-80b4-00c04fd430c8",V$="6ba7b811-9dad-11d1-80b4-00c04fd430c8";function q$(e,t,n,r,s,a){let i=typeof n=="string"?B$(n):n,o=typeof r=="string"?q0(r):r;if(typeof r=="string"&&(r=q0(r)),r?.length!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let c=new Uint8Array(16+i.length);if(c.set(o),c.set(i,o.length),c=t(c),c[6]=c[6]&15|e,c[8]=c[8]&63|128,s){a=a||0;for(let u=0;u<16;++u)s[a+u]=c[u];return s}return Sy(c)}var H$=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),H0={randomUUID:H$};function W$(e,t,n){if(H0.randomUUID&&!e)return H0.randomUUID();e=e||{};let r=e.random??e.rng?.()??Dk();if(r.length<16)throw new Error("Random bytes length must be >= 16");return r[6]=r[6]&15|64,r[8]=r[8]&63|128,Sy(r)}function J$(e,t,n,r){switch(e){case 0:return t&n^~t&r;case 1:return t^n^r;case 2:return t&n^t&r^n&r;case 3:return t^n^r}}function fh(e,t){return e<<t|e>>>32-t}function G$(e){let t=[1518500249,1859775393,2400959708,3395469782],n=[1732584193,4023233417,2562383102,271733878,3285377520],r=new Uint8Array(e.length+1);r.set(e),r[e.length]=128,e=r;let s=e.length/4+2,a=Math.ceil(s/16),i=new Array(a);for(let o=0;o<a;++o){let c=new Uint32Array(16);for(let u=0;u<16;++u)c[u]=e[o*64+u*4]<<24|e[o*64+u*4+1]<<16|e[o*64+u*4+2]<<8|e[o*64+u*4+3];i[o]=c}i[a-1][14]=(e.length-1)*8/Math.pow(2,32),i[a-1][14]=Math.floor(i[a-1][14]),i[a-1][15]=(e.length-1)*8&4294967295;for(let o=0;o<a;++o){let c=new Uint32Array(80);for(let f=0;f<16;++f)c[f]=i[o][f];for(let f=16;f<80;++f)c[f]=fh(c[f-3]^c[f-8]^c[f-14]^c[f-16],1);let u=n[0],l=n[1],d=n[2],p=n[3],h=n[4];for(let f=0;f<80;++f){let m=Math.floor(f/20),v=fh(u,5)+J$(m,l,d,p)+h+t[m]+c[f]>>>0;h=p,p=d,d=fh(l,30)>>>0,l=u,u=v}n[0]=n[0]+u>>>0,n[1]=n[1]+l>>>0,n[2]=n[2]+d>>>0,n[3]=n[3]+p>>>0,n[4]=n[4]+h>>>0}return Uint8Array.of(n[0]>>24,n[0]>>16,n[0]>>8,n[0],n[1]>>24,n[1]>>16,n[1]>>8,n[1],n[2]>>24,n[2]>>16,n[2]>>8,n[2],n[3]>>24,n[3]>>16,n[3]>>8,n[3],n[4]>>24,n[4]>>16,n[4]>>8,n[4])}function Nl(e,t,n,r){return q$(80,G$,e,t,n,r)}Nl.DNS=Z$;Nl.URL=V$;var mh={};function ls(e,t,n){let r;{let s=Date.now(),a=Dk();K$(mh,s,a),r=X$(a,mh.msecs,mh.seq,t,n)}return Sy(r)}function K$(e,t,n){return e.msecs??=-1/0,e.seq??=0,t>e.msecs?(e.seq=n[6]<<23|n[7]<<16|n[8]<<8|n[9],e.msecs=t):(e.seq=e.seq+1|0,e.seq===0&&e.msecs++),e}function X$(e,t,n,r,s=0){if(e.length<16)throw new Error("Random bytes length must be >= 16");if(!r)r=new Uint8Array(16),s=0;else if(s<0||s+16>r.length)throw new RangeError(`UUID byte range ${s}:${s+15} is out of buffer bounds`);return t??=Date.now(),n??=e[6]*127<<24|e[7]<<16|e[8]<<8|e[9],r[s++]=t/1099511627776&255,r[s++]=t/4294967296&255,r[s++]=t/16777216&255,r[s++]=t/65536&255,r[s++]=t/256&255,r[s++]=t&255,r[s++]=112|n>>>28&15,r[s++]=n>>>20&255,r[s++]=128|n>>>14&63,r[s++]=n>>>6&255,r[s++]=n<<2&255|e[10]&3,r[s++]=e[11],r[s++]=e[12],r[s++]=e[13],r[s++]=e[14],r[s++]=e[15],r}var Y$=Q({BaseCallbackHandler:()=>Ma,callbackHandlerPrefersStreaming:()=>Ty,isBaseCallbackHandler:()=>Fk}),Q$=class{};function Ty(e){return"lc_prefer_streaming"in e&&e.lc_prefer_streaming}var Ma=class extends Q${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,_p(this.constructor)]}lc_kwargs;ignoreLLM=!1;ignoreChain=!1;ignoreAgent=!1;ignoreRetriever=!1;ignoreCustomEvent=!1;raiseError=!1;awaitHandlers=dr("LANGCHAIN_CALLBACKS_BACKGROUND")==="false";constructor(e){super(),this.lc_kwargs=e||{},e&&(this.ignoreLLM=e.ignoreLLM??this.ignoreLLM,this.ignoreChain=e.ignoreChain??this.ignoreChain,this.ignoreAgent=e.ignoreAgent??this.ignoreAgent,this.ignoreRetriever=e.ignoreRetriever??this.ignoreRetriever,this.ignoreCustomEvent=e.ignoreCustomEvent??this.ignoreCustomEvent,this.raiseError=e.raiseError??this.raiseError,this.awaitHandlers=this.raiseError||(e._awaitHandler??this.awaitHandlers))}copy(){return new this.constructor(this)}toJSON(){return Bn.prototype.toJSON.call(this)}toJSONNotImplemented(){return Bn.prototype.toJSONNotImplemented.call(this)}static fromMethods(e){class t extends Ma{name=ls();constructor(){super(),Object.assign(this,e)}}return new t}},Fk=e=>{let t=e;return t!==void 0&&typeof t.copy=="function"&&typeof t.name=="string"&&typeof t.awaitHandlers=="boolean"},eC="gen_ai.operation.name",tC="gen_ai.system",W0="gen_ai.request.model",nC="gen_ai.response.model",J0="gen_ai.usage.input_tokens",G0="gen_ai.usage.output_tokens",K0="gen_ai.usage.total_tokens",rC="gen_ai.request.max_tokens",sC="gen_ai.request.temperature",aC="gen_ai.request.top_p",iC="gen_ai.request.frequency_penalty",oC="gen_ai.request.presence_penalty",cC="gen_ai.response.finish_reasons",uC="gen_ai.prompt",lC="gen_ai.completion",dC="gen_ai.request.extra_query",pC="gen_ai.request.extra_body",hC="gen_ai.serialized.name",fC="gen_ai.serialized.signature",mC="gen_ai.serialized.doc",gC="gen_ai.response.id",yC="gen_ai.response.service_tier",_C="gen_ai.response.system_fingerprint",vC="gen_ai.usage.input_token_details",wC="gen_ai.usage.output_token_details",bC="langsmith.trace.session_id",kC="langsmith.trace.session_name",xC="langsmith.span.kind",OC="langsmith.trace.name",SC="langsmith.metadata",X0="langsmith.span.tags",TC="langsmith.request.streaming",IC="langsmith.request.headers",EC=(...e)=>fetch(...e),Bk=Symbol.for("ls:fetch_implementation"),AC=()=>globalThis[Bk]===void 0,$C=e=>async(...t)=>{if(e||Rt("DEBUG")==="true"){let[r,s]=t;console.log(`\u2192 ${s?.method||"GET"} ${r}`)}let n=await(globalThis[Bk]??EC)(...t);return(e||Rt("DEBUG")==="true")&&console.log(`\u2190 ${n.status} ${n.statusText} ${n.url}`),n},Zk=()=>Rt("PROJECT")??Rr("LANGCHAIN_SESSION")??"default",Y0={};function sl(e){Y0[e]||(console.warn(e),Y0[e]=!0)}var j=e=>BigInt(e),Vk=j("0x9E3779B1"),qk=j("0x85EBCA77"),CC=j("0xC2B2AE3D"),Ts=j("0x9E3779B185EBCA87"),ya=j("0xC2B2AE3D27D4EB4F"),Hk=j("0x165667B19E3779F9"),Iy=j("0x85EBCA77C2B2AE63"),NC=j("0x27D4EB2F165667C5"),PC=j("0x165667919E3779F9"),jC=j("0x9FB21C651E98DF25");function RC(e){let t=new Uint8Array(e.length/2);for(let n=0;n<e.length;n+=2)t[n/2]=parseInt(e.substring(n,n+2),16);return t}var kr=RC("b8fe6c3923a44bbe7c01812cf721ad1cded46de9839097db7240a4a4b7b3671fcb79e64eccc0e578825ad07dccff7221b8084674f743248ee03590e6813a264c3c2852bb91c300cb88d0658b1b532ea371644897a20df94e3819ef46a9deacd8a8fa763fe39c343ff9dcbbc7c70b4f1d8a51e04bcdb45931c89f7ec9d9787364eac5ac8334d3ebc3c581a0fffa1363eb170ddd51b7f0da49d316552629d4689e2b16be587d47a1fc8ff8b8d17ad031ce45cb3a8f95160428afd7fbcabb4b407e"),_i=(j(1)<<j(128))-j(1),Se=(j(1)<<j(64))-j(1),Pl=(j(1)<<j(32))-j(1),qr=64,Wk=qr/8,MC=8,yu=4;function tt(e,t=0){return new Uint8Array(e.buffer,e.byteOffset+t,e.length-t)}function rt(e,t=0){return new DataView(e.buffer,e.byteOffset+t).getBigUint64(0,!0)}function ci(e,t=0){return new DataView(e.buffer,e.byteOffset+t).getUint32(0,!0)}function gh(e,t=0){return e[t]}var LC=e=>(e&j(255))<<j(56)|(e&j(65280))<<j(40)|(e&j(16711680))<<j(24)|(e&j(4278190080))<<j(8)|(e&j(0xff00000000))>>j(8)|(e&j(0xff0000000000))>>j(24)|(e&j(0xff000000000000))>>j(40)|(e&j(0xff00000000000000))>>j(56),zC=e=>(e=(e&j(65535))<<j(16)|(e&j(4294901760))>>j(16),e=(e&j(16711935))<<j(8)|(e&j(4278255360))>>j(8),e),UC=(e,t)=>(e&Pl)*(t&Pl)&Se,Oi=e=>{if(!e)throw new Error("Assert failed")};function DC(e,t){return(e<<t|e>>j(32)-t)&Pl}function Jk(e,t,n){for(let r=0;r<Wk;r++){let s=rt(t,r*8),a=s^rt(n,r*8);e[r^1]+=s,e[r]+=UC(a,a>>j(32))}return e}function Q0(e,t,n,r){for(let s=0;s<r;s++)Jk(e,tt(t,s*qr),tt(n,s*8));return e}function FC(e,t){for(let n=0;n<Wk;n++){let r=rt(t,n*8),s=e[n];s=cm(s,j(47)),s^=r,s*=Vk,e[n]=s&Se}return e}function _u(e,t){return Gk(e[0]^rt(t,0),e[1]^rt(t,MC))}function ev(e,t,n){let r=n;return r+=_u(e.slice(0),tt(t,0*yu)),r+=_u(e.slice(2),tt(t,4*yu)),r+=_u(e.slice(4),tt(t,8*yu)),r+=_u(e.slice(6),tt(t,12*yu)),Ir(r&Se)}function BC(e,t,n,r,s){let a=Math.floor((n.byteLength-qr)/8),i=qr*a,o=Math.floor((t.byteLength-1)/i);for(let c=0;c<o;c++)e=Q0(e,tt(t,c*i),n,a),e=s(e,tt(n,n.byteLength-qr));{let c=Math.floor((t.byteLength-1-i*o)/qr);e=Q0(e,tt(t,o*i),n,c),e=r(e,tt(t,t.byteLength-qr),tt(n,n.byteLength-qr-7))}return e}function ZC(e,t,n){let r=new BigUint64Array([CC,Ts,ya,Hk,Iy,qk,NC,Vk]);Oi(e.length>128),r=BC(r,e,t,Jk,FC),Oi(r.length*8==64);{let s=ev(r,tt(t,11),j(e.byteLength)*Ts&Se);return ev(r,tt(t,t.byteLength-qr-11),~(j(e.byteLength)*ya)&Se)<<j(64)|s}}function Gk(e,t){let n=e*t&_i;return n&Se^n>>j(64)}function tv(e,t,n){return Gk((rt(e,0)^rt(t,0)+n)&Se,(rt(e,8)^rt(t,8)-n)&Se)}function al(e,t,n,r,s){let a=e&Se,i=e>>j(64)&Se;return a+=tv(t,r,s),a^=rt(n,0)+rt(n,8),a&=Se,i+=tv(n,tt(r,16),s),i^=rt(t,0)+rt(t,8),i&=Se,i<<j(64)|a}function Ir(e){return e^=e>>j(37),e*=PC,e&=Se,e^=e>>j(32),e}function jl(e){return e^=e>>j(33),e*=ya,e&=Se,e^=e>>j(29),e*=Hk,e&=Se,e^=e>>j(32),e}function VC(e,t,n){let r=e.byteLength;Oi(r>0&&r<=3);let s=j(gh(e,r-1))|j(r<<8)|j(gh(e,0)<<16)|j(gh(e,r>>1)<<24),a=(j(ci(t,0))^j(ci(t,4)))+n,i=(s^a)&Se,o=(j(ci(t,8))^j(ci(t,12)))-n,c=(DC(zC(s),j(13))^o)&Se;return(jl(c)&Se)<<j(64)|jl(i)}function cm(e,t){return e^e>>t}function qC(e,t,n){let r=e.byteLength;Oi(r>=4&&r<=8);{let s=ci(e,0),a=ci(e,r-4),i=j(s)|j(a)<<j(32),o=(rt(t,16)^rt(t,24))+n&Se,c=(i^o)*(Ts+(j(r)<<j(2)))&_i;return c+=(c&Se)<<j(65),c&=_i,c^=c>>j(67),cm(cm(c&Se,j(35))*jC&Se,j(28))|Ir(c>>j(64))<<j(64)}}function HC(e,t,n){let r=e.byteLength;Oi(r>=9&&r<=16);{let s=(rt(t,32)^rt(t,40))+n&Se,a=(rt(t,48)^rt(t,56))-n&Se,i=rt(e),o=rt(e,r-8),c=(i^o^s)*Ts,u=(c&Se)+(j(r-1)<<j(54));c=c&(_i^Se)|u,o^=a,c+=o+(o&Pl)*(qk-j(1))<<j(64),c&=_i,c^=LC(c>>j(64));let l=(c&Se)*ya;return l+=(c>>j(64))*ya<<j(64),l&=_i,Ir(l&Se)|Ir(l>>j(64))<<j(64)}}function WC(e,t){let n=e.byteLength;return Oi(n<=16),n>8?HC(e,kr,t):n>=4?qC(e,kr,t):n>0?VC(e,kr,t):jl(t^rt(kr,64)^rt(kr,72))|jl(t^rt(kr,80)^rt(kr,88))<<j(64)}function um(e){return~e+j(1)&Se}function JC(e,t,n){let r=j(e.byteLength)*Ts&Se,s=j(e.byteLength-1)/j(32);for(;s>=0;){let o=Number(s);r=al(r,tt(e,16*o),tt(e,e.byteLength-16*(o+1)),tt(t,32*o),n),s--}let a=r+(r>>j(64))&Se;a=Ir(a);let i=(r&Se)*Ts+(r>>j(64))*Iy+(j(e.byteLength)-n&Se)*ya;return i&=Se,i=um(Ir(i)),a|i<<j(64)}function GC(e,t,n){let r=j(e.byteLength)*Ts&Se;for(let i=32;i<160;i+=32)r=al(r,tt(e,i-32),tt(e,i-16),tt(t,i-32),n);r=Ir(r&Se)|Ir(r>>j(64))<<j(64);for(let i=160;i<=e.byteLength;i+=32)r=al(r,tt(e,i-32),tt(e,i-16),tt(t,3+i-160),n);r=al(r,tt(e,e.byteLength-16),tt(e,e.byteLength-32),tt(t,103),um(n));let s=r+(r>>j(64))&Se;s=Ir(s);let a=(r&Se)*Ts+(r>>j(64))*Iy+(j(e.byteLength)-n&Se)*ya;return a&=Se,a=um(Ir(a)),s|a<<j(64)}function KC(e,t=j(0)){let n=e.byteLength;return n<=16?WC(e,t):n<=128?JC(e,kr,t):n<=240?GC(e,kr,t):ZC(e,kr)}function XC(e){let t=new Uint8Array(16),n=new DataView(t.buffer),r=e&Se,s=e>>j(64);return n.setBigUint64(0,s,!1),n.setBigUint64(8,r,!1),t}var Kk=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function ve(e,t){if(!Kk.test(e)){let n=t!==void 0?`Invalid UUID for ${t}: ${e}`:`Invalid UUID: ${e}`;throw new Error(n)}return e}function YC(e){let t=typeof e=="string"?Date.parse(e):e;return ak({msecs:t,seq:0})}function QC(e){if(!Kk.test(e))return null;let t=e[14];return parseInt(t,16)}function eN(e){let t=e.replace(/-/g,""),n=new Uint8Array(16);for(let r=0;r<16;r++)n[r]=parseInt(t.slice(r*2,r*2+2),16);return n}function tN(e){let t=Array.from(e).map(n=>n.toString(16).padStart(2,"0")).join("");return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}var nN=new TextEncoder;function rN(e){let t=nN.encode(e),n=KC(t);return XC(n)}function vu(e,t){let n=`${e}:${t}`,r=rN(n),s=new Uint8Array(16);if(QC(e)===7){let a=eN(e);s.set(a.slice(0,6),0)}else{let a=Date.now();s[0]=a/1099511627776&255,s[1]=a/4294967296&255,s[2]=a/16777216&255,s[3]=a/65536&255,s[4]=a/256&255,s[5]=a&255}return s[6]=112|r[0]&15,s[7]=r[1],s[8]=128|r[2]&63,s.set(r.slice(3,10),9),tN(s)}var lm={join:(...e)=>e.join("/"),dirname:e=>e.split("/").slice(0,-1).join("/")};async function sN(e){}async function aN(e,t){}async function iN(e){return[]}async function oN(e){return{size:0}}function cN(e,t){return t===null?!1:Date.now()-e.createdAt>t*1e3}var dm=class{constructor(t={}){Object.defineProperty(this,"cache",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"ttlSeconds",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"refreshIntervalSeconds",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"refreshTimer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_metrics",{enumerable:!0,configurable:!0,writable:!0,value:{hits:0,misses:0,refreshes:0,refreshErrors:0}}),this.configure(t)}get metrics(){return{...this._metrics}}get totalRequests(){return this._metrics.hits+this._metrics.misses}get hitRate(){let t=this.totalRequests;return t>0?this._metrics.hits/t:0}resetMetrics(){this._metrics={hits:0,misses:0,refreshes:0,refreshErrors:0}}get(t,n){if(this.maxSize===0)return;let r=this.cache.get(t);if(!r){this._metrics.misses+=1;return}return this.cache.delete(t),this.cache.set(t,{...r,refreshFunc:n}),this._metrics.hits+=1,r.value}set(t,n,r){if(this.maxSize===0)return;if(this.refreshTimer===void 0&&this.startRefreshLoop(),!this.cache.has(t)&&this.cache.size>=this.maxSize){let a=this.cache.keys().next().value;a!==void 0&&this.cache.delete(a)}let s={value:n,createdAt:Date.now(),refreshFunc:r};this.cache.delete(t),this.cache.set(t,s)}invalidate(t){this.cache.delete(t)}clear(){this.cache.clear()}get size(){return this.cache.size}stop(){this.refreshTimer&&(clearInterval(this.refreshTimer),this.refreshTimer=void 0)}dump(t){let n={};for(let[s,a]of this.cache.entries())n[s]=a.value;lm.dirname(t);let r=`${t}.tmp`;try{JSON.stringify({entries:n},null,2)}catch(s){throw s}}load(t){return 0}startRefreshLoop(){this.stop(),this.ttlSeconds!==null&&(this.refreshTimer=setInterval(()=>{this.refreshStaleEntries().catch(t=>{console.warn("Unexpected error in cache refresh loop:",t)})},this.refreshIntervalSeconds*1e3),this.refreshTimer.unref&&this.refreshTimer.unref())}getStaleEntries(){let t=[];for(let[n,r]of this.cache.entries())cN(r,this.ttlSeconds)&&t.push([n,r]);return t}async refreshStaleEntries(){let t=this.getStaleEntries();if(t.length!==0){for(let[n,r]of t)if(r.refreshFunc!==void 0)try{let s=await r.refreshFunc();this.set(n,s,r.refreshFunc),this._metrics.refreshes+=1}catch(s){this._metrics.refreshErrors+=1,console.warn(`Failed to refresh cache entry ${n}:`,s)}}}configure(t){this.stop(),this.refreshIntervalSeconds=t.refreshIntervalSeconds??60,this.maxSize=t.maxSize??100,this.ttlSeconds=t.ttlSeconds??300}},nv=new dm,Xk="0.5.10",zr,uN=()=>typeof window<"u"&&typeof window.document<"u",lN=()=>typeof globalThis=="object"&&globalThis.constructor&&globalThis.constructor.name==="DedicatedWorkerGlobalScope",dN=()=>typeof window<"u"&&window.name==="nodejs"||typeof navigator<"u"&&navigator.userAgent.includes("jsdom"),Yk=()=>typeof Deno<"u",pN=()=>typeof process<"u"&&typeof process.versions<"u"&&typeof process.versions.node<"u"&&!Yk(),Qk=()=>zr||(typeof Bun<"u"?zr="bun":uN()?zr="browser":pN()?zr="node":lN()?zr="webworker":dN()?zr="jsdom":Yk()?zr="deno":zr="other",zr),yh;function ex(){if(yh===void 0){let e=Qk(),t=fN();yh={library:"langsmith",runtime:e,sdk:"langsmith-js",sdk_version:Xk,...t}}return yh}function tx(){let e=hN(),t={},n=["LANGCHAIN_API_KEY","LANGCHAIN_ENDPOINT","LANGCHAIN_TRACING_V2","LANGCHAIN_PROJECT","LANGCHAIN_SESSION","LANGSMITH_API_KEY","LANGSMITH_ENDPOINT","LANGSMITH_TRACING_V2","LANGSMITH_PROJECT","LANGSMITH_SESSION"];for(let[r,s]of Object.entries(e))typeof s=="string"&&!n.includes(r)&&!r.toLowerCase().includes("key")&&!r.toLowerCase().includes("secret")&&!r.toLowerCase().includes("token")&&(r==="LANGCHAIN_REVISION_ID"?t.revision_id=s:t[r]=s);return t}function hN(){let e={};try{if(typeof process<"u"&&process.env)for(let[t,n]of Object.entries(process.env))(t.startsWith("LANGCHAIN_")||t.startsWith("LANGSMITH_"))&&n!=null&&((t.toLowerCase().includes("key")||t.toLowerCase().includes("secret")||t.toLowerCase().includes("token"))&&typeof n=="string"?e[t]=n.slice(0,2)+"*".repeat(n.length-4)+n.slice(-2):e[t]=n)}catch{}return e}function Rr(e){try{return typeof process<"u"?process.env?.[e]:void 0}catch{return}}function Rt(e){return Rr(`LANGSMITH_${e}`)||Rr(`LANGCHAIN_${e}`)}var _h;function fN(){if(_h!==void 0)return _h;let e=["VERCEL_GIT_COMMIT_SHA","NEXT_PUBLIC_VERCEL_GIT_COMMIT_SHA","COMMIT_REF","RENDER_GIT_COMMIT","CI_COMMIT_SHA","CIRCLE_SHA1","CF_PAGES_COMMIT_SHA","REACT_APP_GIT_SHA","SOURCE_VERSION","GITHUB_SHA","TRAVIS_COMMIT","GIT_COMMIT","BUILD_VCS_NUMBER","bamboo_planRepository_revision","Build.SourceVersion","BITBUCKET_COMMIT","DRONE_COMMIT_SHA","SEMAPHORE_GIT_SHA","BUILDKITE_COMMIT"],t={};for(let n of e){let r=Rr(n);r!==void 0&&(t[n]=r)}return _h=t,t}function nx(){return Rr("OTEL_ENABLED")==="true"||Rt("OTEL_ENABLED")==="true"}var pm=class{constructor(){Object.defineProperty(this,"hasWarned",{enumerable:!0,configurable:!0,writable:!0,value:!1})}startActiveSpan(t,...n){!this.hasWarned&&nx()&&(console.warn('You have enabled OTEL export via the `OTEL_ENABLED` or `LANGSMITH_OTEL_ENABLED` environment variable, but have not initialized the required OTEL instances. Please add:\n```\nimport { initializeOTEL } from "langsmith/experimental/otel/setup";\ninitializeOTEL();\n```\nat the beginning of your code.'),this.hasWarned=!0);let r;if(n.length===1&&typeof n[0]=="function"?r=n[0]:n.length===2&&typeof n[1]=="function"?r=n[1]:n.length===3&&typeof n[2]=="function"&&(r=n[2]),typeof r=="function")return r()}},hm=class{constructor(){Object.defineProperty(this,"mockTracer",{enumerable:!0,configurable:!0,writable:!0,value:new pm})}getTracer(t,n){return this.mockTracer}getActiveSpan(){}setSpan(t,n){return t}getSpan(t){}setSpanContext(t,n){return t}getTracerProvider(){}setGlobalTracerProvider(t){return!1}},fm=class{active(){return{}}with(t,n){return n()}},vh=Symbol.for("ls:otel_trace"),wh=Symbol.for("ls:otel_context"),rv=Symbol.for("ls:otel_get_default_otlp_tracer_provider"),mN=new hm,gN=new fm,mm=class{getTraceInstance(){return globalThis[vh]??mN}getContextInstance(){return globalThis[wh]??gN}initializeGlobalInstances(t){globalThis[vh]===void 0&&(globalThis[vh]=t.trace),globalThis[wh]===void 0&&(globalThis[wh]=t.context)}setDefaultOTLPTracerComponents(t){globalThis[rv]=t}getDefaultOTLPTracerComponents(){return globalThis[rv]??void 0}},Ey=new mm;function rx(){return Ey.getTraceInstance()}function yN(){return Ey.getContextInstance()}function _N(){return Ey.getDefaultOTLPTracerComponents()}var vN={llm:"chat",tool:"execute_tool",retriever:"embeddings",embedding:"embeddings",prompt:"chat"};function wN(e){return vN[e]||e}var gm=class{constructor(){Object.defineProperty(this,"spans",{enumerable:!0,configurable:!0,writable:!0,value:new Map})}exportBatch(t,n){for(let r of t)try{if(!r.run)continue;if(r.operation==="post"){let s=this.createSpanForRun(r,r.run,n.get(r.id));s&&!r.run.end_time&&this.spans.set(r.id,s)}else this.updateSpanForRun(r,r.run)}catch(s){console.error(`Error processing operation ${r.id}:`,s)}}createSpanForRun(t,n,r){let s=r&&rx().getSpan(r);if(s)try{return this.finishSpanSetup(s,n,t)}catch(a){console.error(`Failed to create span for run ${t.id}:`,a);return}}finishSpanSetup(t,n,r){return this.setSpanAttributes(t,n,r),n.error?(t.setStatus({code:2}),t.recordException(new Error(n.error))):t.setStatus({code:1}),n.end_time&&t.end(new Date(n.end_time)),t}updateSpanForRun(t,n){try{let r=this.spans.get(t.id);if(!r){console.debug(`No span found for run ${t.id} during update`);return}this.setSpanAttributes(r,n,t),n.error?(r.setStatus({code:2}),r.recordException(new Error(n.error))):r.setStatus({code:1});let s=n.end_time;s&&(r.end(new Date(s)),this.spans.delete(t.id))}catch(r){console.error(`Failed to update span for run ${t.id}:`,r)}}extractModelName(t){if(t.extra?.metadata){let n=t.extra.metadata;if(n.ls_model_name)return n.ls_model_name;if(n.invocation_params){let r=n.invocation_params;if(r.model)return r.model;if(r.model_name)return r.model_name}}}setSpanAttributes(t,n,r){if("run_type"in n&&n.run_type){t.setAttribute(xC,n.run_type);let o=wN(n.run_type||"chain");t.setAttribute(eC,o)}"name"in n&&n.name&&t.setAttribute(OC,n.name),"session_id"in n&&n.session_id&&t.setAttribute(bC,n.session_id),"session_name"in n&&n.session_name&&t.setAttribute(kC,n.session_name),this.setGenAiSystem(t,n);let s=this.extractModelName(n);s&&t.setAttribute(W0,s),"prompt_tokens"in n&&typeof n.prompt_tokens=="number"&&t.setAttribute(J0,n.prompt_tokens),"completion_tokens"in n&&typeof n.completion_tokens=="number"&&t.setAttribute(G0,n.completion_tokens),"total_tokens"in n&&typeof n.total_tokens=="number"&&t.setAttribute(K0,n.total_tokens),this.setInvocationParameters(t,n);let a=n.extra?.metadata||{};for(let[o,c]of Object.entries(a))c!=null&&t.setAttribute(`${SC}.${o}`,String(c));let i=n.tags;if(i&&Array.isArray(i)?t.setAttribute(X0,i.join(", ")):i&&t.setAttribute(X0,String(i)),"serialized"in n&&typeof n.serialized=="object"){let o=n.serialized;o.name&&t.setAttribute(hC,String(o.name)),o.signature&&t.setAttribute(fC,String(o.signature)),o.doc&&t.setAttribute(mC,String(o.doc))}this.setIOAttributes(t,r)}setGenAiSystem(t,n){let r="langchain",s=this.extractModelName(n);if(s){let a=s.toLowerCase();a.includes("anthropic")||a.startsWith("claude")?r="anthropic":a.includes("bedrock")?r="aws.bedrock":a.includes("azure")&&a.includes("openai")?r="az.ai.openai":a.includes("azure")&&a.includes("inference")?r="az.ai.inference":a.includes("cohere")?r="cohere":a.includes("deepseek")?r="deepseek":a.includes("gemini")?r="gemini":a.includes("groq")?r="groq":a.includes("watson")||a.includes("ibm")?r="ibm.watsonx.ai":a.includes("mistral")?r="mistral_ai":a.includes("gpt")||a.includes("openai")?r="openai":a.includes("perplexity")||a.includes("sonar")?r="perplexity":a.includes("vertex")?r="vertex_ai":(a.includes("xai")||a.includes("grok"))&&(r="xai")}t.setAttribute(tC,r)}setInvocationParameters(t,n){if(!n.extra?.metadata?.invocation_params)return;let r=n.extra.metadata.invocation_params;r.max_tokens!==void 0&&t.setAttribute(rC,r.max_tokens),r.temperature!==void 0&&t.setAttribute(sC,r.temperature),r.top_p!==void 0&&t.setAttribute(aC,r.top_p),r.frequency_penalty!==void 0&&t.setAttribute(iC,r.frequency_penalty),r.presence_penalty!==void 0&&t.setAttribute(oC,r.presence_penalty)}setIOAttributes(t,n){if(n.run.inputs)try{let r=n.run.inputs;typeof r=="object"&&r!==null&&(r.model&&Array.isArray(r.messages)&&t.setAttribute(W0,r.model),r.stream!==void 0&&t.setAttribute(TC,r.stream),r.extra_headers&&t.setAttribute(IC,JSON.stringify(r.extra_headers)),r.extra_query&&t.setAttribute(dC,JSON.stringify(r.extra_query)),r.extra_body&&t.setAttribute(pC,JSON.stringify(r.extra_body))),t.setAttribute(uC,JSON.stringify(r))}catch(r){console.debug(`Failed to process inputs for run ${n.id}`,r)}if(n.run.outputs)try{let r=n.run.outputs,s=this.getUnifiedRunTokens(r);if(s&&(t.setAttribute(J0,s[0]),t.setAttribute(G0,s[1]),t.setAttribute(K0,s[0]+s[1])),r&&typeof r=="object"){if(r.model&&t.setAttribute(nC,String(r.model)),r.id&&t.setAttribute(gC,r.id),r.choices&&Array.isArray(r.choices)){let a=r.choices.map(i=>i.finish_reason).filter(i=>i).map(String);a.length>0&&t.setAttribute(cC,a.join(", "))}if(r.service_tier&&t.setAttribute(yC,r.service_tier),r.system_fingerprint&&t.setAttribute(_C,r.system_fingerprint),r.usage_metadata&&typeof r.usage_metadata=="object"){let a=r.usage_metadata;a.input_token_details&&t.setAttribute(vC,JSON.stringify(a.input_token_details)),a.output_token_details&&t.setAttribute(wC,JSON.stringify(a.output_token_details))}}t.setAttribute(lC,JSON.stringify(r))}catch(r){console.debug(`Failed to process outputs for run ${n.id}`,r)}}getUnifiedRunTokens(t){if(!t)return null;let n=this.extractUnifiedRunTokens(t.usage_metadata);if(n)return n;let r=Object.keys(t);for(let i of r){let o=t[i];if(!(!o||typeof o!="object")&&(n=this.extractUnifiedRunTokens(o.usage_metadata),n||o.lc===1&&o.kwargs&&typeof o.kwargs=="object"&&(n=this.extractUnifiedRunTokens(o.kwargs.usage_metadata),n)))return n}let s=t.generations||[];if(!Array.isArray(s))return null;let a=Array.isArray(s[0])?s.flat():s;for(let i of a)if(typeof i=="object"&&i.message&&typeof i.message=="object"&&i.message.kwargs&&typeof i.message.kwargs=="object"&&(n=this.extractUnifiedRunTokens(i.message.kwargs.usage_metadata),n))return n;return null}extractUnifiedRunTokens(t){return!t||typeof t!="object"||typeof t.input_tokens!="number"||typeof t.output_tokens!="number"?null:[t.input_tokens,t.output_tokens]}},bN=Object.prototype.toString,kN=e=>bN.call(e)==="[object Error]",xN=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 ON(e){if(!(e&&kN(e)&&e.name==="TypeError"&&typeof e.message=="string"))return!1;let{message:t,stack:n}=e;return t==="Load failed"?n===void 0||"__sentry_captured__"in e:t.startsWith("error sending request for url")?!0:xN.has(t)}function SN(e){if(typeof e=="number"){if(e<0)throw new TypeError("Expected `retries` to be a non-negative number.");if(Number.isNaN(e))throw new TypeError("Expected `retries` to be a valid number or Infinity, got NaN.")}else if(e!==void 0)throw new TypeError("Expected `retries` to be a number or Infinity.")}function wu(e,t,{min:n=0,allowInfinity:r=!1}={}){if(t!==void 0){if(typeof t!="number"||Number.isNaN(t))throw new TypeError(`Expected \`${e}\` to be a number${r?" or Infinity":""}.`);if(!r&&!Number.isFinite(t))throw new TypeError(`Expected \`${e}\` to be a finite number.`);if(t<n)throw new TypeError(`Expected \`${e}\` to be \u2265 ${n}.`)}}var TN=class extends Error{constructor(e){super(),e instanceof Error?(this.originalError=e,{message:e}=e):(this.originalError=new Error(e),this.originalError.stack=this.stack),this.name="AbortError",this.message=e}};function IN(e,t){let n=Math.max(1,e+1),r=t.randomize?Math.random()+1:1,s=Math.round(r*t.minTimeout*t.factor**(n-1));return s=Math.min(s,t.maxTimeout),s}function sv(e,t){return Number.isFinite(t)?t-(performance.now()-e):t}async function EN({error:e,attemptNumber:t,retriesConsumed:n,startTime:r,options:s}){let a=e instanceof Error?e:new TypeError(`Non-error was thrown: "${e}". You should only throw errors.`);if(a instanceof TN)throw a.originalError;let i=Number.isFinite(s.retries)?Math.max(0,s.retries-n):s.retries,o=s.maxRetryTime??Number.POSITIVE_INFINITY,c=Object.freeze({error:a,attemptNumber:t,retriesLeft:i,retriesConsumed:n});if(await s.onFailedAttempt(c),sv(r,o)<=0)throw a;let u=await s.shouldConsumeRetry(c),l=sv(r,o);if(l<=0||i<=0)throw a;if(a instanceof TypeError&&!ON(a)){if(u)throw a;return s.signal?.throwIfAborted(),!1}if(!await s.shouldRetry(c))throw a;if(!u)return s.signal?.throwIfAborted(),!1;let d=IN(n,s),p=Math.min(d,l);return p>0&&await new Promise((h,f)=>{let m=()=>{clearTimeout(v),s.signal?.removeEventListener("abort",m),f(s.signal.reason)},v=setTimeout(()=>{s.signal?.removeEventListener("abort",m),h()},p);s.unref&&v.unref?.(),s.signal?.addEventListener("abort",m,{once:!0})}),s.signal?.throwIfAborted(),!0}async function AN(e,t={}){if(t={...t},SN(t.retries),Object.hasOwn(t,"forever"))throw new Error("The `forever` option is no longer supported. For many use-cases, you can set `retries: Infinity` instead.");t.retries??=10,t.factor??=2,t.minTimeout??=1e3,t.maxTimeout??=Number.POSITIVE_INFINITY,t.maxRetryTime??=Number.POSITIVE_INFINITY,t.randomize??=!1,t.onFailedAttempt??=()=>{},t.shouldRetry??=()=>!0,t.shouldConsumeRetry??=()=>!0,wu("factor",t.factor,{min:0,allowInfinity:!1}),wu("minTimeout",t.minTimeout,{min:0,allowInfinity:!1}),wu("maxTimeout",t.maxTimeout,{min:0,allowInfinity:!0}),wu("maxRetryTime",t.maxRetryTime,{min:0,allowInfinity:!0}),t.factor>0||(t.factor=1),t.signal?.throwIfAborted();let n=0,r=0,s=performance.now();for(;!Number.isFinite(t.retries)||r<=t.retries;){n++;try{t.signal?.throwIfAborted();let a=await e(n);return t.signal?.throwIfAborted(),a}catch(a){await EN({error:a,attemptNumber:n,retriesConsumed:r,startTime:s,options:t})&&r++}}throw new Error("Retry attempts exhausted without throwing an error.")}var bu={},av={exports:{}},iv;function $N(){return iv||(iv=1,(function(e){var t=Object.prototype.hasOwnProperty,n="~";function r(){}Object.create&&(r.prototype=Object.create(null),new r().__proto__||(n=!1));function s(c,u,l){this.fn=c,this.context=u,this.once=l||!1}function a(c,u,l,d,p){if(typeof l!="function")throw new TypeError("The listener must be a function");var h=new s(l,d||c,p),f=n?n+u:u;return c._events[f]?c._events[f].fn?c._events[f]=[c._events[f],h]:c._events[f].push(h):(c._events[f]=h,c._eventsCount++),c}function i(c,u){--c._eventsCount===0?c._events=new r:delete c._events[u]}function o(){this._events=new r,this._eventsCount=0}o.prototype.eventNames=function(){var c=[],u,l;if(this._eventsCount===0)return c;for(l in u=this._events)t.call(u,l)&&c.push(n?l.slice(1):l);return Object.getOwnPropertySymbols?c.concat(Object.getOwnPropertySymbols(u)):c},o.prototype.listeners=function(c){var u=n?n+c:c,l=this._events[u];if(!l)return[];if(l.fn)return[l.fn];for(var d=0,p=l.length,h=new Array(p);d<p;d++)h[d]=l[d].fn;return h},o.prototype.listenerCount=function(c){var u=n?n+c:c,l=this._events[u];return l?l.fn?1:l.length:0},o.prototype.emit=function(c,u,l,d,p,h){var f=n?n+c:c;if(!this._events[f])return!1;var m=this._events[f],v=arguments.length,g,y;if(m.fn){switch(m.once&&this.removeListener(c,m.fn,void 0,!0),v){case 1:return m.fn.call(m.context),!0;case 2:return m.fn.call(m.context,u),!0;case 3:return m.fn.call(m.context,u,l),!0;case 4:return m.fn.call(m.context,u,l,d),!0;case 5:return m.fn.call(m.context,u,l,d,p),!0;case 6:return m.fn.call(m.context,u,l,d,p,h),!0}for(y=1,g=new Array(v-1);y<v;y++)g[y-1]=arguments[y];m.fn.apply(m.context,g)}else{var k=m.length,x;for(y=0;y<k;y++)switch(m[y].once&&this.removeListener(c,m[y].fn,void 0,!0),v){case 1:m[y].fn.call(m[y].context);break;case 2:m[y].fn.call(m[y].context,u);break;case 3:m[y].fn.call(m[y].context,u,l);break;case 4:m[y].fn.call(m[y].context,u,l,d);break;default:if(!g)for(x=1,g=new Array(v-1);x<v;x++)g[x-1]=arguments[x];m[y].fn.apply(m[y].context,g)}}return!0},o.prototype.on=function(c,u,l){return a(this,c,u,l,!1)},o.prototype.once=function(c,u,l){return a(this,c,u,l,!0)},o.prototype.removeListener=function(c,u,l,d){var p=n?n+c:c;if(!this._events[p])return this;if(!u)return i(this,p),this;var h=this._events[p];if(h.fn)h.fn===u&&(!d||h.once)&&(!l||h.context===l)&&i(this,p);else{for(var f=0,m=[],v=h.length;f<v;f++)(h[f].fn!==u||d&&!h[f].once||l&&h[f].context!==l)&&m.push(h[f]);m.length?this._events[p]=m.length===1?m[0]:m:i(this,p)}return this},o.prototype.removeAllListeners=function(c){var u;return c?(u=n?n+c:c,this._events[u]&&i(this,u)):(this._events=new r,this._eventsCount=0),this},o.prototype.off=o.prototype.removeListener,o.prototype.addListener=o.prototype.on,o.prefixed=n,o.EventEmitter=o,e.exports=o})(av)),av.exports}var fo={exports:{}},ov,cv;function CN(){return cv||(cv=1,ov=(e,t)=>(t=t||(()=>{}),e.then(n=>new Promise(r=>{r(t())}).then(()=>n),n=>new Promise(r=>{r(t())}).then(()=>{throw n})))),ov}var uv;function NN(){if(uv)return fo.exports;uv=1;let e=CN();class t extends Error{constructor(s){super(s),this.name="TimeoutError"}}let n=(r,s,a)=>new Promise((i,o)=>{if(typeof s!="number"||s<0)throw new TypeError("Expected `milliseconds` to be a positive number");if(s===1/0){i(r);return}let c=setTimeout(()=>{if(typeof a=="function"){try{i(a())}catch(d){o(d)}return}let u=typeof a=="string"?a:`Promise timed out after ${s} milliseconds`,l=a instanceof Error?a:new t(u);typeof r.cancel=="function"&&r.cancel(),o(l)},s);e(r.then(i,o),()=>{clearTimeout(c)})});return fo.exports=n,fo.exports.default=n,fo.exports.TimeoutError=t,fo.exports}var ku={},xu={},lv;function PN(){if(lv)return xu;lv=1,Object.defineProperty(xu,"__esModule",{value:!0});function e(t,n,r){let s=0,a=t.length;for(;a>0;){let i=a/2|0,o=s+i;r(t[o],n)<=0?(s=++o,a-=i+1):a=i}return s}return xu.default=e,xu}var dv;function jN(){if(dv)return ku;dv=1,Object.defineProperty(ku,"__esModule",{value:!0});let e=PN();class t{constructor(){this._queue=[]}enqueue(r,s){s=Object.assign({priority:0},s);let a={priority:s.priority,run:r};if(this.size&&this._queue[this.size-1].priority>=s.priority){this._queue.push(a);return}let i=e.default(this._queue,a,(o,c)=>c.priority-o.priority);this._queue.splice(i,0,a)}dequeue(){return this._queue.shift()?.run}filter(r){return this._queue.filter(s=>s.priority===r.priority).map(s=>s.run)}get size(){return this._queue.length}}return ku.default=t,ku}var pv;function RN(){if(pv)return bu;pv=1,Object.defineProperty(bu,"__esModule",{value:!0});let e=$N(),t=NN(),n=jN(),r=()=>{},s=new t.TimeoutError;class a extends e{constructor(o){var c,u,l,d;if(super(),this._intervalCount=0,this._intervalEnd=0,this._pendingCount=0,this._resolveEmpty=r,this._resolveIdle=r,o=Object.assign({carryoverConcurrencyCount:!1,intervalCap:1/0,interval:0,concurrency:1/0,autoStart:!0,queueClass:n.default},o),!(typeof o.intervalCap=="number"&&o.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(u=(c=o.intervalCap)===null||c===void 0?void 0:c.toString())!==null&&u!==void 0?u:""}\` (${typeof o.intervalCap})`);if(o.interval===void 0||!(Number.isFinite(o.interval)&&o.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(d=(l=o.interval)===null||l===void 0?void 0:l.toString())!==null&&d!==void 0?d:""}\` (${typeof o.interval})`);this._carryoverConcurrencyCount=o.carryoverConcurrencyCount,this._isIntervalIgnored=o.intervalCap===1/0||o.interval===0,this._intervalCap=o.intervalCap,this._interval=o.interval,this._queue=new o.queueClass,this._queueClass=o.queueClass,this.concurrency=o.concurrency,this._timeout=o.timeout,this._throwOnTimeout=o.throwOnTimeout===!0,this._isPaused=o.autoStart===!1}get _doesIntervalAllowAnother(){return this._isIntervalIgnored||this._intervalCount<this._intervalCap}get _doesConcurrentAllowAnother(){return this._pendingCount<this._concurrency}_next(){this._pendingCount--,this._tryToStartAnother(),this.emit("next")}_resolvePromises(){this._resolveEmpty(),this._resolveEmpty=r,this._pendingCount===0&&(this._resolveIdle(),this._resolveIdle=r,this.emit("idle"))}_onResumeInterval(){this._onInterval(),this._initializeIntervalIfNeeded(),this._timeoutId=void 0}_isIntervalPaused(){let o=Date.now();if(this._intervalId===void 0){let c=this._intervalEnd-o;if(c<0)this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0;else return this._timeoutId===void 0&&(this._timeoutId=setTimeout(()=>{this._onResumeInterval()},c)),!0}return!1}_tryToStartAnother(){if(this._queue.size===0)return this._intervalId&&clearInterval(this._intervalId),this._intervalId=void 0,this._resolvePromises(),!1;if(!this._isPaused){let o=!this._isIntervalPaused();if(this._doesIntervalAllowAnother&&this._doesConcurrentAllowAnother){let c=this._queue.dequeue();return c?(this.emit("active"),c(),o&&this._initializeIntervalIfNeeded(),!0):!1}}return!1}_initializeIntervalIfNeeded(){this._isIntervalIgnored||this._intervalId!==void 0||(this._intervalId=setInterval(()=>{this._onInterval()},this._interval),this._intervalEnd=Date.now()+this._interval)}_onInterval(){this._intervalCount===0&&this._pendingCount===0&&this._intervalId&&(clearInterval(this._intervalId),this._intervalId=void 0),this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0,this._processQueue()}_processQueue(){for(;this._tryToStartAnother(););}get concurrency(){return this._concurrency}set concurrency(o){if(!(typeof o=="number"&&o>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${o}\` (${typeof o})`);this._concurrency=o,this._processQueue()}async add(o,c={}){return new Promise((u,l)=>{let d=async()=>{this._pendingCount++,this._intervalCount++;try{let p=this._timeout===void 0&&c.timeout===void 0?o():t.default(Promise.resolve(o()),c.timeout===void 0?this._timeout:c.timeout,()=>{(c.throwOnTimeout===void 0?this._throwOnTimeout:c.throwOnTimeout)&&l(s)});u(await p)}catch(p){l(p)}this._next()};this._queue.enqueue(d,c),this._tryToStartAnother(),this.emit("add")})}async addAll(o,c){return Promise.all(o.map(async u=>this.add(u,c)))}start(){return this._isPaused?(this._isPaused=!1,this._processQueue(),this):this}pause(){this._isPaused=!0}clear(){this._queue=new this._queueClass}async onEmpty(){if(this._queue.size!==0)return new Promise(o=>{let c=this._resolveEmpty;this._resolveEmpty=()=>{c(),o()}})}async onIdle(){if(!(this._pendingCount===0&&this._queue.size===0))return new Promise(o=>{let c=this._resolveIdle;this._resolveIdle=()=>{c(),o()}})}get size(){return this._queue.size}sizeBy(o){return this._queue.filter(o).length}get pending(){return this._pendingCount}get isPaused(){return this._isPaused}get timeout(){return this._timeout}set timeout(o){this._timeout=o}}return bu.default=a,bu}var MN=RN(),Kr=Ba(MN),LN="default"in Kr?Kr.default:Kr,zN=[408,425,429,500,502,503,504],hv=class{constructor(e){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=e.maxConcurrency??1/0,this.maxRetries=e.maxRetries??6,this.maxQueueSizeBytes=e.maxQueueSizeBytes,this.queue=new LN({concurrency:this.maxConcurrency}),this.onFailedResponseHook=e?.onFailedResponseHook}call(e,...t){return this.callWithOptions({},e,...t)}callWithOptions(e,t,...n){let r=e.sizeBytes??0;if(this.maxQueueSizeBytes!==void 0&&r>0&&this.queueSizeBytes+r>this.maxQueueSizeBytes)return Promise.reject(new Error(`Queue size limit (${this.maxQueueSizeBytes} bytes) exceeded. Current queue size: ${this.queueSizeBytes} bytes, attempted addition: ${r} bytes.`));r>0&&(this.queueSizeBytes+=r);let s=this.onFailedResponseHook,a=this.queue.add(()=>AN(()=>t(...n).catch(i=>{throw i instanceof Error?i:new Error(i)}),{async onFailedAttempt({error:i}){if(typeof i!="object"||i==null)throw i;let o="message"in i&&typeof i.message=="string"?i.message:void 0;if(o?.startsWith("Cancel")||o?.startsWith("TimeoutError")||o?.startsWith("AbortError")||"name"in i&&i.name==="TimeoutError"||"code"in i&&i.code==="ECONNABORTED")throw i;let c="response"in i?i.response:void 0;if(s&&await s(c))return;let u=c?.status??("status"in i?i.status:void 0);if(u!=null&&(typeof u=="number"||typeof u=="string")&&!zN.includes(+u))throw i},retries:this.maxRetries,randomize:!0}),{throwOnTimeout:!0});return r>0&&(a=a.finally(()=>{this.queueSizeBytes-=r})),e.signal?Promise.race([a,new Promise((i,o)=>{e.signal?.addEventListener("abort",()=>{o(new Error("AbortError"))})})]):a}};function fv(e){return typeof e?._getType=="function"}function mv(e){let t={type:e._getType(),data:{content:e.content}};return e?.additional_kwargs&&Object.keys(e.additional_kwargs).length>0&&(t.data.additional_kwargs={...e.additional_kwargs}),t}var bh={exports:{}},kh,gv;function xp(){if(gv)return kh;gv=1;let e="2.0.0",t=256,n=Number.MAX_SAFE_INTEGER||9007199254740991,r=16,s=t-6;return kh={MAX_LENGTH:t,MAX_SAFE_COMPONENT_LENGTH:r,MAX_SAFE_BUILD_LENGTH:s,MAX_SAFE_INTEGER:n,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:e,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2},kh}var yv,_v;function Op(){return _v||(_v=1,yv=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{}),yv}var vv;function Jc(){return vv||(vv=1,(function(e,t){let{MAX_SAFE_COMPONENT_LENGTH:n,MAX_SAFE_BUILD_LENGTH:r,MAX_LENGTH:s}=xp(),a=Op();t=e.exports={};let i=t.re=[],o=t.safeRe=[],c=t.src=[],u=t.safeSrc=[],l=t.t={},d=0,p="[a-zA-Z0-9-]",h=[["\\s",1],["\\d",s],[p,r]],f=v=>{for(let[g,y]of h)v=v.split(`${g}*`).join(`${g}{0,${y}}`).split(`${g}+`).join(`${g}{1,${y}}`);return v},m=(v,g,y)=>{let k=f(g),x=d++;a(v,x,g),l[v]=x,c[x]=g,u[x]=k,i[x]=new RegExp(g,y?"g":void 0),o[x]=new RegExp(k,y?"g":void 0)};m("NUMERICIDENTIFIER","0|[1-9]\\d*"),m("NUMERICIDENTIFIERLOOSE","\\d+"),m("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${p}*`),m("MAINVERSION",`(${c[l.NUMERICIDENTIFIER]})\\.(${c[l.NUMERICIDENTIFIER]})\\.(${c[l.NUMERICIDENTIFIER]})`),m("MAINVERSIONLOOSE",`(${c[l.NUMERICIDENTIFIERLOOSE]})\\.(${c[l.NUMERICIDENTIFIERLOOSE]})\\.(${c[l.NUMERICIDENTIFIERLOOSE]})`),m("PRERELEASEIDENTIFIER",`(?:${c[l.NONNUMERICIDENTIFIER]}|${c[l.NUMERICIDENTIFIER]})`),m("PRERELEASEIDENTIFIERLOOSE",`(?:${c[l.NONNUMERICIDENTIFIER]}|${c[l.NUMERICIDENTIFIERLOOSE]})`),m("PRERELEASE",`(?:-(${c[l.PRERELEASEIDENTIFIER]}(?:\\.${c[l.PRERELEASEIDENTIFIER]})*))`),m("PRERELEASELOOSE",`(?:-?(${c[l.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${c[l.PRERELEASEIDENTIFIERLOOSE]})*))`),m("BUILDIDENTIFIER",`${p}+`),m("BUILD",`(?:\\+(${c[l.BUILDIDENTIFIER]}(?:\\.${c[l.BUILDIDENTIFIER]})*))`),m("FULLPLAIN",`v?${c[l.MAINVERSION]}${c[l.PRERELEASE]}?${c[l.BUILD]}?`),m("FULL",`^${c[l.FULLPLAIN]}$`),m("LOOSEPLAIN",`[v=\\s]*${c[l.MAINVERSIONLOOSE]}${c[l.PRERELEASELOOSE]}?${c[l.BUILD]}?`),m("LOOSE",`^${c[l.LOOSEPLAIN]}$`),m("GTLT","((?:<|>)?=?)"),m("XRANGEIDENTIFIERLOOSE",`${c[l.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),m("XRANGEIDENTIFIER",`${c[l.NUMERICIDENTIFIER]}|x|X|\\*`),m("XRANGEPLAIN",`[v=\\s]*(${c[l.XRANGEIDENTIFIER]})(?:\\.(${c[l.XRANGEIDENTIFIER]})(?:\\.(${c[l.XRANGEIDENTIFIER]})(?:${c[l.PRERELEASE]})?${c[l.BUILD]}?)?)?`),m("XRANGEPLAINLOOSE",`[v=\\s]*(${c[l.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[l.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[l.XRANGEIDENTIFIERLOOSE]})(?:${c[l.PRERELEASELOOSE]})?${c[l.BUILD]}?)?)?`),m("XRANGE",`^${c[l.GTLT]}\\s*${c[l.XRANGEPLAIN]}$`),m("XRANGELOOSE",`^${c[l.GTLT]}\\s*${c[l.XRANGEPLAINLOOSE]}$`),m("COERCEPLAIN",`(^|[^\\d])(\\d{1,${n}})(?:\\.(\\d{1,${n}}))?(?:\\.(\\d{1,${n}}))?`),m("COERCE",`${c[l.COERCEPLAIN]}(?:$|[^\\d])`),m("COERCEFULL",c[l.COERCEPLAIN]+`(?:${c[l.PRERELEASE]})?(?:${c[l.BUILD]})?(?:$|[^\\d])`),m("COERCERTL",c[l.COERCE],!0),m("COERCERTLFULL",c[l.COERCEFULL],!0),m("LONETILDE","(?:~>?)"),m("TILDETRIM",`(\\s*)${c[l.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",m("TILDE",`^${c[l.LONETILDE]}${c[l.XRANGEPLAIN]}$`),m("TILDELOOSE",`^${c[l.LONETILDE]}${c[l.XRANGEPLAINLOOSE]}$`),m("LONECARET","(?:\\^)"),m("CARETTRIM",`(\\s*)${c[l.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",m("CARET",`^${c[l.LONECARET]}${c[l.XRANGEPLAIN]}$`),m("CARETLOOSE",`^${c[l.LONECARET]}${c[l.XRANGEPLAINLOOSE]}$`),m("COMPARATORLOOSE",`^${c[l.GTLT]}\\s*(${c[l.LOOSEPLAIN]})$|^$`),m("COMPARATOR",`^${c[l.GTLT]}\\s*(${c[l.FULLPLAIN]})$|^$`),m("COMPARATORTRIM",`(\\s*)${c[l.GTLT]}\\s*(${c[l.LOOSEPLAIN]}|${c[l.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",m("HYPHENRANGE",`^\\s*(${c[l.XRANGEPLAIN]})\\s+-\\s+(${c[l.XRANGEPLAIN]})\\s*$`),m("HYPHENRANGELOOSE",`^\\s*(${c[l.XRANGEPLAINLOOSE]})\\s+-\\s+(${c[l.XRANGEPLAINLOOSE]})\\s*$`),m("STAR","(<|>)?=?\\s*\\*"),m("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),m("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")})(bh,bh.exports)),bh.exports}var xh,wv;function Ay(){if(wv)return xh;wv=1;let e=Object.freeze({loose:!0}),t=Object.freeze({});return xh=n=>n?typeof n!="object"?e:n:t,xh}var Oh,bv;function sx(){if(bv)return Oh;bv=1;let e=/^[0-9]+$/,t=(n,r)=>{if(typeof n=="number"&&typeof r=="number")return n===r?0:n<r?-1:1;let s=e.test(n),a=e.test(r);return s&&a&&(n=+n,r=+r),n===r?0:s&&!a?-1:a&&!s?1:n<r?-1:1};return Oh={compareIdentifiers:t,rcompareIdentifiers:(n,r)=>t(r,n)},Oh}var Sh,kv;function an(){if(kv)return Sh;kv=1;let e=Op(),{MAX_LENGTH:t,MAX_SAFE_INTEGER:n}=xp(),{safeRe:r,t:s}=Jc(),a=Ay(),{compareIdentifiers:i}=sx();class o{constructor(u,l){if(l=a(l),u instanceof o){if(u.loose===!!l.loose&&u.includePrerelease===!!l.includePrerelease)return u;u=u.version}else if(typeof u!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof u}".`);if(u.length>t)throw new TypeError(`version is longer than ${t} characters`);e("SemVer",u,l),this.options=l,this.loose=!!l.loose,this.includePrerelease=!!l.includePrerelease;let d=u.trim().match(l.loose?r[s.LOOSE]:r[s.FULL]);if(!d)throw new TypeError(`Invalid Version: ${u}`);if(this.raw=u,this.major=+d[1],this.minor=+d[2],this.patch=+d[3],this.major>n||this.major<0)throw new TypeError("Invalid major version");if(this.minor>n||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>n||this.patch<0)throw new TypeError("Invalid patch version");d[4]?this.prerelease=d[4].split(".").map(p=>{if(/^[0-9]+$/.test(p)){let h=+p;if(h>=0&&h<n)return h}return p}):this.prerelease=[],this.build=d[5]?d[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(u){if(e("SemVer.compare",this.version,this.options,u),!(u instanceof o)){if(typeof u=="string"&&u===this.version)return 0;u=new o(u,this.options)}return u.version===this.version?0:this.compareMain(u)||this.comparePre(u)}compareMain(u){return u instanceof o||(u=new o(u,this.options)),this.major<u.major?-1:this.major>u.major?1:this.minor<u.minor?-1:this.minor>u.minor?1:this.patch<u.patch?-1:this.patch>u.patch?1:0}comparePre(u){if(u instanceof o||(u=new o(u,this.options)),this.prerelease.length&&!u.prerelease.length)return-1;if(!this.prerelease.length&&u.prerelease.length)return 1;if(!this.prerelease.length&&!u.prerelease.length)return 0;let l=0;do{let d=this.prerelease[l],p=u.prerelease[l];if(e("prerelease compare",l,d,p),d===void 0&&p===void 0)return 0;if(p===void 0)return 1;if(d===void 0)return-1;if(d!==p)return i(d,p)}while(++l)}compareBuild(u){u instanceof o||(u=new o(u,this.options));let l=0;do{let d=this.build[l],p=u.build[l];if(e("build compare",l,d,p),d===void 0&&p===void 0)return 0;if(p===void 0)return 1;if(d===void 0)return-1;if(d!==p)return i(d,p)}while(++l)}inc(u,l,d){if(u.startsWith("pre")){if(!l&&d===!1)throw new Error("invalid increment argument: identifier is empty");if(l){let p=`-${l}`.match(this.options.loose?r[s.PRERELEASELOOSE]:r[s.PRERELEASE]);if(!p||p[1]!==l)throw new Error(`invalid identifier: ${l}`)}}switch(u){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",l,d);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",l,d);break;case"prepatch":this.prerelease.length=0,this.inc("patch",l,d),this.inc("pre",l,d);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",l,d),this.inc("pre",l,d);break;case"release":if(this.prerelease.length===0)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{let p=Number(d)?1:0;if(this.prerelease.length===0)this.prerelease=[p];else{let h=this.prerelease.length;for(;--h>=0;)typeof this.prerelease[h]=="number"&&(this.prerelease[h]++,h=-2);if(h===-1){if(l===this.prerelease.join(".")&&d===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(p)}}if(l){let h=[l,p];d===!1&&(h=[l]),i(this.prerelease[0],l)===0?isNaN(this.prerelease[1])&&(this.prerelease=h):this.prerelease=h}break}default:throw new Error(`invalid increment argument: ${u}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}}return Sh=o,Sh}var Th,xv;function ro(){if(xv)return Th;xv=1;let e=an();return Th=(t,n,r=!1)=>{if(t instanceof e)return t;try{return new e(t,n)}catch(s){if(!r)return null;throw s}},Th}var Ih,Ov;function UN(){if(Ov)return Ih;Ov=1;let e=ro();return Ih=(t,n)=>{let r=e(t,n);return r?r.version:null},Ih}var Eh,Sv;function DN(){if(Sv)return Eh;Sv=1;let e=ro();return Eh=(t,n)=>{let r=e(t.trim().replace(/^[=v]+/,""),n);return r?r.version:null},Eh}var Ah,Tv;function FN(){if(Tv)return Ah;Tv=1;let e=an();return Ah=(t,n,r,s,a)=>{typeof r=="string"&&(a=s,s=r,r=void 0);try{return new e(t instanceof e?t.version:t,r).inc(n,s,a).version}catch{return null}},Ah}var $h,Iv;function BN(){if(Iv)return $h;Iv=1;let e=ro();return $h=(t,n)=>{let r=e(t,null,!0),s=e(n,null,!0),a=r.compare(s);if(a===0)return null;let i=a>0,o=i?r:s,c=i?s:r,u=!!o.prerelease.length;if(c.prerelease.length&&!u){if(!c.patch&&!c.minor)return"major";if(c.compareMain(o)===0)return c.minor&&!c.patch?"minor":"patch"}let l=u?"pre":"";return r.major!==s.major?l+"major":r.minor!==s.minor?l+"minor":r.patch!==s.patch?l+"patch":"prerelease"},$h}var Ch,Ev;function ZN(){if(Ev)return Ch;Ev=1;let e=an();return Ch=(t,n)=>new e(t,n).major,Ch}var Nh,Av;function VN(){if(Av)return Nh;Av=1;let e=an();return Nh=(t,n)=>new e(t,n).minor,Nh}var Ph,$v;function qN(){if($v)return Ph;$v=1;let e=an();return Ph=(t,n)=>new e(t,n).patch,Ph}var jh,Cv;function HN(){if(Cv)return jh;Cv=1;let e=ro();return jh=(t,n)=>{let r=e(t,n);return r&&r.prerelease.length?r.prerelease:null},jh}var Rh,Nv;function gr(){if(Nv)return Rh;Nv=1;let e=an();return Rh=(t,n,r)=>new e(t,r).compare(new e(n,r)),Rh}var Mh,Pv;function WN(){if(Pv)return Mh;Pv=1;let e=gr();return Mh=(t,n,r)=>e(n,t,r),Mh}var Lh,jv;function JN(){if(jv)return Lh;jv=1;let e=gr();return Lh=(t,n)=>e(t,n,!0),Lh}var zh,Rv;function $y(){if(Rv)return zh;Rv=1;let e=an();return zh=(t,n,r)=>{let s=new e(t,r),a=new e(n,r);return s.compare(a)||s.compareBuild(a)},zh}var Uh,Mv;function GN(){if(Mv)return Uh;Mv=1;let e=$y();return Uh=(t,n)=>t.sort((r,s)=>e(r,s,n)),Uh}var Dh,Lv;function KN(){if(Lv)return Dh;Lv=1;let e=$y();return Dh=(t,n)=>t.sort((r,s)=>e(s,r,n)),Dh}var Fh,zv;function Sp(){if(zv)return Fh;zv=1;let e=gr();return Fh=(t,n,r)=>e(t,n,r)>0,Fh}var Bh,Uv;function Cy(){if(Uv)return Bh;Uv=1;let e=gr();return Bh=(t,n,r)=>e(t,n,r)<0,Bh}var Zh,Dv;function ax(){if(Dv)return Zh;Dv=1;let e=gr();return Zh=(t,n,r)=>e(t,n,r)===0,Zh}var Vh,Fv;function ix(){if(Fv)return Vh;Fv=1;let e=gr();return Vh=(t,n,r)=>e(t,n,r)!==0,Vh}var qh,Bv;function Ny(){if(Bv)return qh;Bv=1;let e=gr();return qh=(t,n,r)=>e(t,n,r)>=0,qh}var Hh,Zv;function Py(){if(Zv)return Hh;Zv=1;let e=gr();return Hh=(t,n,r)=>e(t,n,r)<=0,Hh}var Wh,Vv;function ox(){if(Vv)return Wh;Vv=1;let e=ax(),t=ix(),n=Sp(),r=Ny(),s=Cy(),a=Py();return Wh=(i,o,c,u)=>{switch(o){case"===":return typeof i=="object"&&(i=i.version),typeof c=="object"&&(c=c.version),i===c;case"!==":return typeof i=="object"&&(i=i.version),typeof c=="object"&&(c=c.version),i!==c;case"":case"=":case"==":return e(i,c,u);case"!=":return t(i,c,u);case">":return n(i,c,u);case">=":return r(i,c,u);case"<":return s(i,c,u);case"<=":return a(i,c,u);default:throw new TypeError(`Invalid operator: ${o}`)}},Wh}var Jh,qv;function XN(){if(qv)return Jh;qv=1;let e=an(),t=ro(),{safeRe:n,t:r}=Jc();return Jh=(s,a)=>{if(s instanceof e)return s;if(typeof s=="number"&&(s=String(s)),typeof s!="string")return null;a=a||{};let i=null;if(!a.rtl)i=s.match(a.includePrerelease?n[r.COERCEFULL]:n[r.COERCE]);else{let p=a.includePrerelease?n[r.COERCERTLFULL]:n[r.COERCERTL],h;for(;(h=p.exec(s))&&(!i||i.index+i[0].length!==s.length);)(!i||h.index+h[0].length!==i.index+i[0].length)&&(i=h),p.lastIndex=h.index+h[1].length+h[2].length;p.lastIndex=-1}if(i===null)return null;let o=i[2],c=i[3]||"0",u=i[4]||"0",l=a.includePrerelease&&i[5]?`-${i[5]}`:"",d=a.includePrerelease&&i[6]?`+${i[6]}`:"";return t(`${o}.${c}.${u}${l}${d}`,a)},Jh}var Gh,Hv;function YN(){if(Hv)return Gh;Hv=1;class e{constructor(){this.max=1e3,this.map=new Map}get(n){let r=this.map.get(n);if(r!==void 0)return this.map.delete(n),this.map.set(n,r),r}delete(n){return this.map.delete(n)}set(n,r){if(!this.delete(n)&&r!==void 0){if(this.map.size>=this.max){let s=this.map.keys().next().value;this.delete(s)}this.map.set(n,r)}return this}}return Gh=e,Gh}var Kh,Wv;function yr(){if(Wv)return Kh;Wv=1;let e=/\s+/g;class t{constructor(L,z){if(z=s(z),L instanceof t)return L.loose===!!z.loose&&L.includePrerelease===!!z.includePrerelease?L:new t(L.raw,z);if(L instanceof a)return this.raw=L.value,this.set=[[L]],this.formatted=void 0,this;if(this.options=z,this.loose=!!z.loose,this.includePrerelease=!!z.includePrerelease,this.raw=L.trim().replace(e," "),this.set=this.raw.split("||").map(ee=>this.parseRange(ee.trim())).filter(ee=>ee.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let ee=this.set[0];if(this.set=this.set.filter(oe=>!m(oe[0])),this.set.length===0)this.set=[ee];else if(this.set.length>1){for(let oe of this.set)if(oe.length===1&&v(oe[0])){this.set=[oe];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let L=0;L<this.set.length;L++){L>0&&(this.formatted+="||");let z=this.set[L];for(let ee=0;ee<z.length;ee++)ee>0&&(this.formatted+=" "),this.formatted+=z[ee].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(L){let z=((this.options.includePrerelease&&h)|(this.options.loose&&f))+":"+L,ee=r.get(z);if(ee)return ee;let oe=this.options.loose,ne=oe?c[u.HYPHENRANGELOOSE]:c[u.HYPHENRANGE];L=L.replace(ne,Ue(this.options.includePrerelease)),i("hyphen replace",L),L=L.replace(c[u.COMPARATORTRIM],l),i("comparator trim",L),L=L.replace(c[u.TILDETRIM],d),i("tilde trim",L),L=L.replace(c[u.CARETTRIM],p),i("caret trim",L);let ue=L.split(" ").map(Fe=>y(Fe,this.options)).join(" ").split(/\s+/).map(Fe=>Z(Fe,this.options));oe&&(ue=ue.filter(Fe=>(i("loose invalid filter",Fe,this.options),!!Fe.match(c[u.COMPARATORLOOSE])))),i("range list",ue);let Oe=new Map,Te=ue.map(Fe=>new a(Fe,this.options));for(let Fe of Te){if(m(Fe))return[Fe];Oe.set(Fe.value,Fe)}Oe.size>1&&Oe.has("")&&Oe.delete("");let De=[...Oe.values()];return r.set(z,De),De}intersects(L,z){if(!(L instanceof t))throw new TypeError("a Range is required");return this.set.some(ee=>g(ee,z)&&L.set.some(oe=>g(oe,z)&&ee.every(ne=>oe.every(ue=>ne.intersects(ue,z)))))}test(L){if(!L)return!1;if(typeof L=="string")try{L=new o(L,this.options)}catch{return!1}for(let z=0;z<this.set.length;z++)if(it(this.set[z],L,this.options))return!0;return!1}}Kh=t;let n=YN(),r=new n,s=Ay(),a=Tp(),i=Op(),o=an(),{safeRe:c,t:u,comparatorTrimReplace:l,tildeTrimReplace:d,caretTrimReplace:p}=Jc(),{FLAG_INCLUDE_PRERELEASE:h,FLAG_LOOSE:f}=xp(),m=B=>B.value==="<0.0.0-0",v=B=>B.value==="",g=(B,L)=>{let z=!0,ee=B.slice(),oe=ee.pop();for(;z&&ee.length;)z=ee.every(ne=>oe.intersects(ne,L)),oe=ee.pop();return z},y=(B,L)=>(B=B.replace(c[u.BUILD],""),i("comp",B,L),B=A(B,L),i("caret",B),B=x(B,L),i("tildes",B),B=w(B,L),i("xrange",B),B=E(B,L),i("stars",B),B),k=B=>!B||B.toLowerCase()==="x"||B==="*",x=(B,L)=>B.trim().split(/\s+/).map(z=>T(z,L)).join(" "),T=(B,L)=>{let z=L.loose?c[u.TILDELOOSE]:c[u.TILDE];return B.replace(z,(ee,oe,ne,ue,Oe)=>{i("tilde",B,ee,oe,ne,ue,Oe);let Te;return k(oe)?Te="":k(ne)?Te=`>=${oe}.0.0 <${+oe+1}.0.0-0`:k(ue)?Te=`>=${oe}.${ne}.0 <${oe}.${+ne+1}.0-0`:Oe?(i("replaceTilde pr",Oe),Te=`>=${oe}.${ne}.${ue}-${Oe} <${oe}.${+ne+1}.0-0`):Te=`>=${oe}.${ne}.${ue} <${oe}.${+ne+1}.0-0`,i("tilde return",Te),Te})},A=(B,L)=>B.trim().split(/\s+/).map(z=>I(z,L)).join(" "),I=(B,L)=>{i("caret",B,L);let z=L.loose?c[u.CARETLOOSE]:c[u.CARET],ee=L.includePrerelease?"-0":"";return B.replace(z,(oe,ne,ue,Oe,Te)=>{i("caret",B,oe,ne,ue,Oe,Te);let De;return k(ne)?De="":k(ue)?De=`>=${ne}.0.0${ee} <${+ne+1}.0.0-0`:k(Oe)?ne==="0"?De=`>=${ne}.${ue}.0${ee} <${ne}.${+ue+1}.0-0`:De=`>=${ne}.${ue}.0${ee} <${+ne+1}.0.0-0`:Te?(i("replaceCaret pr",Te),ne==="0"?ue==="0"?De=`>=${ne}.${ue}.${Oe}-${Te} <${ne}.${ue}.${+Oe+1}-0`:De=`>=${ne}.${ue}.${Oe}-${Te} <${ne}.${+ue+1}.0-0`:De=`>=${ne}.${ue}.${Oe}-${Te} <${+ne+1}.0.0-0`):(i("no pr"),ne==="0"?ue==="0"?De=`>=${ne}.${ue}.${Oe}${ee} <${ne}.${ue}.${+Oe+1}-0`:De=`>=${ne}.${ue}.${Oe}${ee} <${ne}.${+ue+1}.0-0`:De=`>=${ne}.${ue}.${Oe} <${+ne+1}.0.0-0`),i("caret return",De),De})},w=(B,L)=>(i("replaceXRanges",B,L),B.split(/\s+/).map(z=>P(z,L)).join(" ")),P=(B,L)=>{B=B.trim();let z=L.loose?c[u.XRANGELOOSE]:c[u.XRANGE];return B.replace(z,(ee,oe,ne,ue,Oe,Te)=>{i("xRange",B,ee,oe,ne,ue,Oe,Te);let De=k(ne),Fe=De||k(ue),Tt=Fe||k(Oe),b=Tt;return oe==="="&&b&&(oe=""),Te=L.includePrerelease?"-0":"",De?oe===">"||oe==="<"?ee="<0.0.0-0":ee="*":oe&&b?(Fe&&(ue=0),Oe=0,oe===">"?(oe=">=",Fe?(ne=+ne+1,ue=0,Oe=0):(ue=+ue+1,Oe=0)):oe==="<="&&(oe="<",Fe?ne=+ne+1:ue=+ue+1),oe==="<"&&(Te="-0"),ee=`${oe+ne}.${ue}.${Oe}${Te}`):Fe?ee=`>=${ne}.0.0${Te} <${+ne+1}.0.0-0`:Tt&&(ee=`>=${ne}.${ue}.0${Te} <${ne}.${+ue+1}.0-0`),i("xRange return",ee),ee})},E=(B,L)=>(i("replaceStars",B,L),B.trim().replace(c[u.STAR],"")),Z=(B,L)=>(i("replaceGTE0",B,L),B.trim().replace(c[L.includePrerelease?u.GTE0PRE:u.GTE0],"")),Ue=B=>(L,z,ee,oe,ne,ue,Oe,Te,De,Fe,Tt,b)=>(k(ee)?z="":k(oe)?z=`>=${ee}.0.0${B?"-0":""}`:k(ne)?z=`>=${ee}.${oe}.0${B?"-0":""}`:ue?z=`>=${z}`:z=`>=${z}${B?"-0":""}`,k(De)?Te="":k(Fe)?Te=`<${+De+1}.0.0-0`:k(Tt)?Te=`<${De}.${+Fe+1}.0-0`:b?Te=`<=${De}.${Fe}.${Tt}-${b}`:B?Te=`<${De}.${Fe}.${+Tt+1}-0`:Te=`<=${Te}`,`${z} ${Te}`.trim()),it=(B,L,z)=>{for(let ee=0;ee<B.length;ee++)if(!B[ee].test(L))return!1;if(L.prerelease.length&&!z.includePrerelease){for(let ee=0;ee<B.length;ee++)if(i(B[ee].semver),B[ee].semver!==a.ANY&&B[ee].semver.prerelease.length>0){let oe=B[ee].semver;if(oe.major===L.major&&oe.minor===L.minor&&oe.patch===L.patch)return!0}return!1}return!0};return Kh}var Xh,Jv;function Tp(){if(Jv)return Xh;Jv=1;let e=Symbol("SemVer ANY");class t{static get ANY(){return e}constructor(l,d){if(d=n(d),l instanceof t){if(l.loose===!!d.loose)return l;l=l.value}l=l.trim().split(/\s+/).join(" "),i("comparator",l,d),this.options=d,this.loose=!!d.loose,this.parse(l),this.semver===e?this.value="":this.value=this.operator+this.semver.version,i("comp",this)}parse(l){let d=this.options.loose?r[s.COMPARATORLOOSE]:r[s.COMPARATOR],p=l.match(d);if(!p)throw new TypeError(`Invalid comparator: ${l}`);this.operator=p[1]!==void 0?p[1]:"",this.operator==="="&&(this.operator=""),p[2]?this.semver=new o(p[2],this.options.loose):this.semver=e}toString(){return this.value}test(l){if(i("Comparator.test",l,this.options.loose),this.semver===e||l===e)return!0;if(typeof l=="string")try{l=new o(l,this.options)}catch{return!1}return a(l,this.operator,this.semver,this.options)}intersects(l,d){if(!(l instanceof t))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new c(l.value,d).test(this.value):l.operator===""?l.value===""?!0:new c(this.value,d).test(l.semver):(d=n(d),d.includePrerelease&&(this.value==="<0.0.0-0"||l.value==="<0.0.0-0")||!d.includePrerelease&&(this.value.startsWith("<0.0.0")||l.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&l.operator.startsWith(">")||this.operator.startsWith("<")&&l.operator.startsWith("<")||this.semver.version===l.semver.version&&this.operator.includes("=")&&l.operator.includes("=")||a(this.semver,"<",l.semver,d)&&this.operator.startsWith(">")&&l.operator.startsWith("<")||a(this.semver,">",l.semver,d)&&this.operator.startsWith("<")&&l.operator.startsWith(">")))}}Xh=t;let n=Ay(),{safeRe:r,t:s}=Jc(),a=ox(),i=Op(),o=an(),c=yr();return Xh}var Yh,Gv;function Ip(){if(Gv)return Yh;Gv=1;let e=yr();return Yh=(t,n,r)=>{try{n=new e(n,r)}catch{return!1}return n.test(t)},Yh}var Qh,Kv;function QN(){if(Kv)return Qh;Kv=1;let e=yr();return Qh=(t,n)=>new e(t,n).set.map(r=>r.map(s=>s.value).join(" ").trim().split(" ")),Qh}var ef,Xv;function eP(){if(Xv)return ef;Xv=1;let e=an(),t=yr();return ef=(n,r,s)=>{let a=null,i=null,o=null;try{o=new t(r,s)}catch{return null}return n.forEach(c=>{o.test(c)&&(!a||i.compare(c)===-1)&&(a=c,i=new e(a,s))}),a},ef}var tf,Yv;function tP(){if(Yv)return tf;Yv=1;let e=an(),t=yr();return tf=(n,r,s)=>{let a=null,i=null,o=null;try{o=new t(r,s)}catch{return null}return n.forEach(c=>{o.test(c)&&(!a||i.compare(c)===1)&&(a=c,i=new e(a,s))}),a},tf}var nf,Qv;function nP(){if(Qv)return nf;Qv=1;let e=an(),t=yr(),n=Sp();return nf=(r,s)=>{r=new t(r,s);let a=new e("0.0.0");if(r.test(a)||(a=new e("0.0.0-0"),r.test(a)))return a;a=null;for(let i=0;i<r.set.length;++i){let o=r.set[i],c=null;o.forEach(u=>{let l=new e(u.semver.version);switch(u.operator){case">":l.prerelease.length===0?l.patch++:l.prerelease.push(0),l.raw=l.format();case"":case">=":(!c||n(l,c))&&(c=l);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${u.operator}`)}}),c&&(!a||n(a,c))&&(a=c)}return a&&r.test(a)?a:null},nf}var rf,ew;function rP(){if(ew)return rf;ew=1;let e=yr();return rf=(t,n)=>{try{return new e(t,n).range||"*"}catch{return null}},rf}var sf,tw;function jy(){if(tw)return sf;tw=1;let e=an(),t=Tp(),{ANY:n}=t,r=yr(),s=Ip(),a=Sp(),i=Cy(),o=Py(),c=Ny();return sf=(u,l,d,p)=>{u=new e(u,p),l=new r(l,p);let h,f,m,v,g;switch(d){case">":h=a,f=o,m=i,v=">",g=">=";break;case"<":h=i,f=c,m=a,v="<",g="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(s(u,l,p))return!1;for(let y=0;y<l.set.length;++y){let k=l.set[y],x=null,T=null;if(k.forEach(A=>{A.semver===n&&(A=new t(">=0.0.0")),x=x||A,T=T||A,h(A.semver,x.semver,p)?x=A:m(A.semver,T.semver,p)&&(T=A)}),x.operator===v||x.operator===g||(!T.operator||T.operator===v)&&f(u,T.semver)||T.operator===g&&m(u,T.semver))return!1}return!0},sf}var af,nw;function sP(){if(nw)return af;nw=1;let e=jy();return af=(t,n,r)=>e(t,n,">",r),af}var of,rw;function aP(){if(rw)return of;rw=1;let e=jy();return of=(t,n,r)=>e(t,n,"<",r),of}var cf,sw;function iP(){if(sw)return cf;sw=1;let e=yr();return cf=(t,n,r)=>(t=new e(t,r),n=new e(n,r),t.intersects(n,r)),cf}var uf,aw;function oP(){if(aw)return uf;aw=1;let e=Ip(),t=gr();return uf=(n,r,s)=>{let a=[],i=null,o=null,c=n.sort((p,h)=>t(p,h,s));for(let p of c)e(p,r,s)?(o=p,i||(i=p)):(o&&a.push([i,o]),o=null,i=null);i&&a.push([i,null]);let u=[];for(let[p,h]of a)p===h?u.push(p):!h&&p===c[0]?u.push("*"):h?p===c[0]?u.push(`<=${h}`):u.push(`${p} - ${h}`):u.push(`>=${p}`);let l=u.join(" || "),d=typeof r.raw=="string"?r.raw:String(r);return l.length<d.length?l:r},uf}var lf,iw;function cP(){if(iw)return lf;iw=1;let e=yr(),t=Tp(),{ANY:n}=t,r=Ip(),s=gr(),a=(d,p,h={})=>{if(d===p)return!0;d=new e(d,h),p=new e(p,h);let f=!1;e:for(let m of d.set){for(let v of p.set){let g=c(m,v,h);if(f=f||g!==null,g)continue e}if(f)return!1}return!0},i=[new t(">=0.0.0-0")],o=[new t(">=0.0.0")],c=(d,p,h)=>{if(d===p)return!0;if(d.length===1&&d[0].semver===n){if(p.length===1&&p[0].semver===n)return!0;h.includePrerelease?d=i:d=o}if(p.length===1&&p[0].semver===n){if(h.includePrerelease)return!0;p=o}let f=new Set,m,v;for(let w of d)w.operator===">"||w.operator===">="?m=u(m,w,h):w.operator==="<"||w.operator==="<="?v=l(v,w,h):f.add(w.semver);if(f.size>1)return null;let g;if(m&&v&&(g=s(m.semver,v.semver,h),g>0||g===0&&(m.operator!==">="||v.operator!=="<=")))return null;for(let w of f){if(m&&!r(w,String(m),h)||v&&!r(w,String(v),h))return null;for(let P of p)if(!r(w,String(P),h))return!1;return!0}let y,k,x,T,A=v&&!h.includePrerelease&&v.semver.prerelease.length?v.semver:!1,I=m&&!h.includePrerelease&&m.semver.prerelease.length?m.semver:!1;A&&A.prerelease.length===1&&v.operator==="<"&&A.prerelease[0]===0&&(A=!1);for(let w of p){if(T=T||w.operator===">"||w.operator===">=",x=x||w.operator==="<"||w.operator==="<=",m){if(I&&w.semver.prerelease&&w.semver.prerelease.length&&w.semver.major===I.major&&w.semver.minor===I.minor&&w.semver.patch===I.patch&&(I=!1),w.operator===">"||w.operator===">="){if(y=u(m,w,h),y===w&&y!==m)return!1}else if(m.operator===">="&&!r(m.semver,String(w),h))return!1}if(v){if(A&&w.semver.prerelease&&w.semver.prerelease.length&&w.semver.major===A.major&&w.semver.minor===A.minor&&w.semver.patch===A.patch&&(A=!1),w.operator==="<"||w.operator==="<="){if(k=l(v,w,h),k===w&&k!==v)return!1}else if(v.operator==="<="&&!r(v.semver,String(w),h))return!1}if(!w.operator&&(v||m)&&g!==0)return!1}return!(m&&x&&!v&&g!==0||v&&T&&!m&&g!==0||I||A)},u=(d,p,h)=>{if(!d)return p;let f=s(d.semver,p.semver,h);return f>0?d:f<0||p.operator===">"&&d.operator===">="?p:d},l=(d,p,h)=>{if(!d)return p;let f=s(d.semver,p.semver,h);return f<0?d:f>0||p.operator==="<"&&d.operator==="<="?p:d};return lf=a,lf}var df,ow;function uP(){if(ow)return df;ow=1;let e=Jc(),t=xp(),n=an(),r=sx(),s=ro(),a=UN(),i=DN(),o=FN(),c=BN(),u=ZN(),l=VN(),d=qN(),p=HN(),h=gr(),f=WN(),m=JN(),v=$y(),g=GN(),y=KN(),k=Sp(),x=Cy(),T=ax(),A=ix(),I=Ny(),w=Py(),P=ox(),E=XN(),Z=Tp(),Ue=yr(),it=Ip(),B=QN(),L=eP(),z=tP(),ee=nP(),oe=rP(),ne=jy(),ue=sP(),Oe=aP(),Te=iP(),De=oP(),Fe=cP();return df={parse:s,valid:a,clean:i,inc:o,diff:c,major:u,minor:l,patch:d,prerelease:p,compare:h,rcompare:f,compareLoose:m,compareBuild:v,sort:g,rsort:y,gt:k,lt:x,eq:T,neq:A,gte:I,lte:w,cmp:P,coerce:E,Comparator:Z,Range:Ue,satisfies:it,toComparators:B,maxSatisfying:L,minSatisfying:z,minVersion:ee,validRange:oe,outside:ne,gtr:ue,ltr:Oe,intersects:Te,simplifyRange:De,subset:Fe,SemVer:n,re:e.re,src:e.src,tokens:e.t,SEMVER_SPEC_VERSION:t.SEMVER_SPEC_VERSION,RELEASE_TYPES:t.RELEASE_TYPES,compareIdentifiers:r.compareIdentifiers,rcompareIdentifiers:r.rcompareIdentifiers},df}uP();function pf(e){return`Invalid prompt identifier format: "${e}". Expected one of:
22
+ - "prompt-name" (for private prompts)
23
+ - "owner/prompt-name" (for prompts with explicit owner)
24
+ - "prompt-name:commit-hash" (with commit reference)
25
+ - "owner/prompt-name:commit-hash" (with owner and commit)`}var ym=class extends Error{constructor(t){super(t),Object.defineProperty(this,"status",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name="LangSmithConflictError",this.status=409}},_m=class extends Error{constructor(t){super(t),Object.defineProperty(this,"status",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name="LangSmithNotFoundError",this.status=404}};function cw(e){return e!=null&&typeof e=="object"&&"name"in e&&e?.name==="LangSmithNotFoundError"}async function se(e,t,n){let r;if(e.ok){n&&(r=await e.text());return}if(e.status===403)try{(await e.json())?.error==="org_scoped_key_requires_workspace"&&(r="This API key is org-scoped and requires workspace specification. Please provide 'workspaceId' parameter, or set LANGSMITH_WORKSPACE_ID environment variable.")}catch{let i=new Error(`${e.status} ${e.statusText}`);throw i.status=e?.status,i}if(r===void 0)try{r=await e.text()}catch{r=""}let s=`Failed to ${t}. Received status [${e.status}]: ${e.statusText}. Message: ${r}`;if(e.status===404)throw new _m(s);if(e.status===409)throw new ym(s);let a=new Error(s);throw a.status=e.status,a}var cx="ERR_CONFLICTING_ENDPOINTS",vm=class 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:cx}),this.name="ConflictingEndpointsError"}};function lP(e){return typeof e=="object"&&e!==null&&e.code===cx}function Ur(e){if(!e||e.split("/").length>2||e.startsWith("/")||e.endsWith("/")||e.split(":").length>2)throw new Error(pf(e));let[t,n]=e.split(":"),r=n||"latest";if(t.includes("/")){let[s,a]=t.split("/",2);if(!s||!a)throw new Error(pf(e));return[s,a,r]}else{if(!t)throw new Error(pf(e));return["-",t,r]}}var uw="[...]",dP={result:"[Circular]"},Rl=[],ui=[],pP=new TextEncoder;function hP(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function Ou(e){return pP.encode(e)}function ux(e){if(e&&typeof e=="object"&&e!==null){if(e instanceof Map)return Object.fromEntries(e);if(e instanceof Set)return Array.from(e);if(e instanceof Date)return e.toISOString();if(e instanceof RegExp)return e.toString();if(e instanceof Error)return{name:e.name,message:e.message}}else if(typeof e=="bigint")return e.toString();return e}function fP(e){return function(t,n){return ux(n)}}function On(e,t,n,r,s){try{let a=JSON.stringify(e,fP(n),r);return Ou(a)}catch(a){if(!a.message?.includes("Converting circular structure to JSON"))return console.warn(`[WARNING]: LangSmith received unserializable value.${t?`
26
+ Context: ${t}`:""}`),Ou("[Unserializable]");Rt("SUPPRESS_CIRCULAR_JSON_WARNINGS")!=="true"&&console.warn(`[WARNING]: LangSmith received circular JSON. This will decrease tracer performance. ${t?`
27
+ Context: ${t}`:""}`),typeof s>"u"&&(s=hP()),wm(e,"",0,[],void 0,0,s);let i;try{ui.length===0?i=JSON.stringify(e,n,r):i=JSON.stringify(e,mP(n),r)}catch{return Ou("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;Rl.length!==0;){let o=Rl.pop();o.length===4?Object.defineProperty(o[0],o[1],o[3]):o[0][o[1]]=o[2]}}return Ou(i)}}function hf(e,t,n,r){var s=Object.getOwnPropertyDescriptor(r,n);s.get!==void 0?s.configurable?(Object.defineProperty(r,n,{value:e}),Rl.push([r,n,t,s])):ui.push([t,n,e]):(r[n]=e,Rl.push([r,n,t]))}function wm(e,t,n,r,s,a,i){a+=1;var o;if(typeof e=="object"&&e!==null){for(o=0;o<r.length;o++)if(r[o]===e){hf(dP,e,t,s);return}if(typeof i.depthLimit<"u"&&a>i.depthLimit){hf(uw,e,t,s);return}if(typeof i.edgesLimit<"u"&&n+1>i.edgesLimit){hf(uw,e,t,s);return}if(r.push(e),Array.isArray(e))for(o=0;o<e.length;o++)wm(e[o],o,o,r,e,a,i);else{e=ux(e);var c=Object.keys(e);for(o=0;o<c.length;o++){var u=c[o];wm(e[u],u,o,r,e,a,i)}}r.pop()}}function mP(e){return e=typeof e<"u"?e:function(t,n){return n},function(t,n){if(ui.length>0)for(var r=0;r<ui.length;r++){var s=ui[r];if(s[1]===t&&s[0]===n){n=s[2],ui.splice(r,1);break}}return e.call(this,t,n)}}function lw(e){return typeof e=="string"&&e.length>0&&!e.includes("Z")&&!e.includes("+")&&!e.includes("-",10)?e+"Z":e}function mo(e){return{...e,start_time:lw(e.start_time),end_time:lw(e.end_time)}}function dw(e,t,n){if(n)return e;let r=ex(),s=t??tx(),a=e.extra??{},i=a.metadata;return e.extra={...a,runtime:{...r,...a?.runtime},metadata:{...s,...s.revision_id||"revision_id"in e&&e.revision_id?{revision_id:("revision_id"in e?e.revision_id:void 0)??s.revision_id}:{},...i}},e}var gP=e=>{let t=e?.toString()??Rt("TRACING_SAMPLING_RATE");if(t===void 0)return;let n=parseFloat(t);if(n<0||n>1)throw new Error(`LANGSMITH_TRACING_SAMPLING_RATE must be between 0 and 1 if set. Got: ${n}`);return n},yP=e=>{let t=e.replace("http://","").replace("https://","").split("/")[0].split(":")[0];return t==="localhost"||t==="127.0.0.1"||t==="::1"};async function _P(e){let t=[];for await(let n of e)t.push(n);return t}function Su(e){if(e!==void 0)return e.trim().replace(/^"(.*)"$/,"$1").replace(/^'(.*)'$/,"$1")}var vP=async e=>{if(e?.status===429){let t=parseInt(e.headers.get("retry-after")??"10",10)*1e3;if(t>0)return await new Promise(n=>setTimeout(n,t)),!0}return!1};function pw(e){return typeof e=="number"?Number(e.toFixed(4)):e}var wP=24*1024*1024,lx=1024*1024*1024,bP=1e4,kP=100,hw="https://api.smith.langchain.com",bm=class{constructor(t){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=t??lx}peek(){return this.items[0]}push(t){let n,r=new Promise(a=>{n=a}),s=On(t.item,`Serializing run with id: ${t.item.id}`).length;return this.sizeBytes+s>this.maxSizeBytes&&this.items.length>0?(console.warn(`AutoBatchQueue size limit (${this.maxSizeBytes} bytes) exceeded. Dropping run with id: ${t.item.id}. Current queue size: ${this.sizeBytes} bytes, attempted addition: ${s} bytes.`),n(),r):(this.items.push({action:t.action,payload:t.item,otelContext:t.otelContext,apiKey:t.apiKey,apiUrl:t.apiUrl,itemPromiseResolve:n,itemPromise:r,size:s}),this.sizeBytes+=s,r)}pop({upToSizeBytes:t,upToSize:n}){if(t<1)throw new Error("Number of bytes to pop off may not be less than 1.");let r=[],s=0;for(;s+(this.peek()?.size??0)<t&&this.items.length>0&&r.length<n;){let a=this.items.shift();a&&(r.push(a),s+=a.size,this.sizeBytes-=a.size)}if(r.length===0&&this.items.length>0){let a=this.items.shift();r.push(a),s+=a.size,this.sizeBytes-=a.size}return[r.map(a=>({action:a.action,item:a.payload,otelContext:a.otelContext,apiKey:a.apiKey,apiUrl:a.apiUrl,size:a.size})),()=>r.forEach(a=>a.itemPromiseResolve())]}},Si=class e{get _fetch(){return this.fetchImplementation||$C(this.debug)}constructor(t={}){Object.defineProperty(this,"apiKey",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"apiUrl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"webUrl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"workspaceId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"caller",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"batchIngestCaller",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"timeout_ms",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_tenantId",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"hideInputs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"hideOutputs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"omitTracedRuntimeInfo",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tracingSampleRate",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"filteredPostUuids",{enumerable:!0,configurable:!0,writable:!0,value:new Set}),Object.defineProperty(this,"autoBatchTracing",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"autoBatchQueue",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"autoBatchTimeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"autoBatchAggregationDelayMs",{enumerable:!0,configurable:!0,writable:!0,value:250}),Object.defineProperty(this,"batchSizeBytesLimit",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"batchSizeLimit",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"fetchOptions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"settings",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"blockOnRootRunFinalization",{enumerable:!0,configurable:!0,writable:!0,value:Rr("LANGSMITH_TRACING_BACKGROUND")==="false"}),Object.defineProperty(this,"traceBatchConcurrency",{enumerable:!0,configurable:!0,writable:!0,value:5}),Object.defineProperty(this,"_serverInfo",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_getServerInfoPromise",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"manualFlushMode",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"langSmithToOTELTranslator",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"fetchImplementation",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cachedLSEnvVarsForMetadata",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_promptCache",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"multipartStreamingDisabled",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_multipartDisabled",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_runCompressionDisabled",{enumerable:!0,configurable:!0,writable:!0,value:Rt("DISABLE_RUN_COMPRESSION")==="true"}),Object.defineProperty(this,"failedTracesDir",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"failedTracesMaxBytes",{enumerable:!0,configurable:!0,writable:!0,value:100*1024*1024}),Object.defineProperty(this,"debug",{enumerable:!0,configurable:!0,writable:!0,value:Rr("LANGSMITH_DEBUG")==="true"});let n=e.getDefaultClientConfig();if(this.tracingSampleRate=gP(t.tracingSamplingRate),this.apiUrl=Su(t.apiUrl??n.apiUrl)??"",this.apiUrl.endsWith("/")&&(this.apiUrl=this.apiUrl.slice(0,-1)),this.apiKey=Su(t.apiKey??n.apiKey),this.webUrl=Su(t.webUrl??n.webUrl),this.webUrl?.endsWith("/")&&(this.webUrl=this.webUrl.slice(0,-1)),this.workspaceId=Su(t.workspaceId??Rt("WORKSPACE_ID")),this.timeout_ms=t.timeout_ms??9e4,this.caller=new hv({...t.callerOptions??{},maxRetries:4,debug:t.debug??this.debug}),this.traceBatchConcurrency=t.traceBatchConcurrency??this.traceBatchConcurrency,this.traceBatchConcurrency<1)throw new Error("Trace batch concurrency must be positive.");this.debug=t.debug??this.debug,this.fetchImplementation=t.fetchImplementation,this.failedTracesDir=Rt("FAILED_TRACES_DIR")||void 0;let r=Rt("FAILED_TRACES_MAX_MB");if(r){let a=parseInt(r,10);Number.isFinite(a)&&a>0&&(this.failedTracesMaxBytes=a*1024*1024)}let s=t.maxIngestMemoryBytes??lx;this.batchIngestCaller=new hv({maxRetries:4,maxConcurrency:this.traceBatchConcurrency,maxQueueSizeBytes:s,...t.callerOptions??{},onFailedResponseHook:vP,debug:t.debug??this.debug}),this.hideInputs=t.hideInputs??t.anonymizer??n.hideInputs,this.hideOutputs=t.hideOutputs??t.anonymizer??n.hideOutputs,this.omitTracedRuntimeInfo=t.omitTracedRuntimeInfo??!1,this.autoBatchTracing=t.autoBatchTracing??this.autoBatchTracing,this.autoBatchQueue=new bm(s),this.blockOnRootRunFinalization=t.blockOnRootRunFinalization??this.blockOnRootRunFinalization,this.batchSizeBytesLimit=t.batchSizeBytesLimit,this.batchSizeLimit=t.batchSizeLimit,this.fetchOptions=t.fetchOptions||{},this.manualFlushMode=t.manualFlushMode??this.manualFlushMode,nx()&&(this.langSmithToOTELTranslator=new gm),this.cachedLSEnvVarsForMetadata=tx(),t.cache!==void 0&&t.disablePromptCache&&sl("Both 'cache' and 'disablePromptCache' were provided. The 'cache' parameter is deprecated and will be removed in a future version. Using 'cache' parameter value."),t.cache!==void 0?(sl("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."),t.cache===!1?this._promptCache=void 0:t.cache===!0?this._promptCache=nv:this._promptCache=t.cache):t.disablePromptCache||(this._promptCache=nv)}static getDefaultClientConfig(){let t=Rt("API_KEY"),n=Rt("ENDPOINT")??hw,r=Rt("HIDE_INPUTS")==="true",s=Rt("HIDE_OUTPUTS")==="true";return{apiUrl:n,apiKey:t,webUrl:void 0,hideInputs:r,hideOutputs:s}}getHostUrl(){return this.webUrl?this.webUrl:yP(this.apiUrl)?(this.webUrl="http://localhost:3000",this.webUrl):this.apiUrl.endsWith("/api/v1")?(this.webUrl=this.apiUrl.replace("/api/v1",""),this.webUrl):this.apiUrl.includes("/api")&&!this.apiUrl.split(".",1)[0].endsWith("api")?(this.webUrl=this.apiUrl.replace("/api",""),this.webUrl):this.apiUrl.split(".",1)[0].includes("dev")?(this.webUrl="https://dev.smith.langchain.com",this.webUrl):this.apiUrl.split(".",1)[0].includes("eu")?(this.webUrl="https://eu.smith.langchain.com",this.webUrl):this.apiUrl.split(".",1)[0].includes("beta")?(this.webUrl="https://beta.smith.langchain.com",this.webUrl):(this.webUrl="https://smith.langchain.com",this.webUrl)}get headers(){let t={"User-Agent":`langsmith-js/${Xk}`};return this.apiKey&&(t["x-api-key"]=`${this.apiKey}`),this.workspaceId&&(t["x-tenant-id"]=this.workspaceId),t}_getPlatformEndpointPath(t){return this.apiUrl.slice(-3)!=="/v1"&&this.apiUrl.slice(-4)!=="/v1/"?`/v1/platform/${t}`:`/platform/${t}`}async processInputs(t){return this.hideInputs===!1?t:this.hideInputs===!0?{}:typeof this.hideInputs=="function"?this.hideInputs(t):t}async processOutputs(t){return this.hideOutputs===!1?t:this.hideOutputs===!0?{}:typeof this.hideOutputs=="function"?this.hideOutputs(t):t}async prepareRunCreateOrUpdateInputs(t){let n={...t};return n.inputs!==void 0&&(n.inputs=await this.processInputs(n.inputs)),n.outputs!==void 0&&(n.outputs=await this.processOutputs(n.outputs)),n}async _getResponse(t,n){let r=n?.toString()??"",s=`${this.apiUrl}${t}?${r}`;return await this.caller.call(async()=>{let a=await this._fetch(s,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(a,`fetch ${t}`),a})}async _get(t,n){return(await this._getResponse(t,n)).json()}async*_getPaginated(t,n=new URLSearchParams,r){let s=Number(n.get("offset"))||0,a=Number(n.get("limit"))||100;for(;;){n.set("offset",String(s)),n.set("limit",String(a));let i=`${this.apiUrl}${t}?${n}`,o=await this.caller.call(async()=>{let u=await this._fetch(i,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(u,`fetch ${t}`),u}),c=r?r(await o.json()):await o.json();if(c.length===0||(yield c,c.length<a))break;s+=c.length}}async*_getCursorPaginatedList(t,n=null,r="POST",s="runs"){let a=n?{...n}:{};for(;;){let i=JSON.stringify(a),o=await(await this.caller.call(async()=>{let u=await this._fetch(`${this.apiUrl}${t}`,{method:r,headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:i});return await se(u,`fetch ${t}`),u})).json();if(!o||!o[s])break;yield o[s];let c=o.cursors;if(!c||!c.next)break;a.cursor=c.next}}_shouldSample(){return this.tracingSampleRate===void 0?!0:Math.random()<this.tracingSampleRate}_filterForSampling(t,n=!1){if(this.tracingSampleRate===void 0)return t;if(n){let r=[];for(let s of t)this.filteredPostUuids.has(s.trace_id)?s.id===s.trace_id&&this.filteredPostUuids.delete(s.trace_id):r.push(s);return r}else{let r=[];for(let s of t){let a=s.trace_id??s.id;this.filteredPostUuids.has(a)||(s.id===a?this._shouldSample()?r.push(s):this.filteredPostUuids.add(a):r.push(s))}return r}}async _getBatchSizeLimitBytes(){let t=await this._ensureServerInfo();return this.batchSizeBytesLimit??t?.batch_ingest_config?.size_limit_bytes??wP}async _getBatchSizeLimit(){let t=await this._ensureServerInfo();return this.batchSizeLimit??t?.batch_ingest_config?.size_limit??kP}async _getDatasetExamplesMultiPartSupport(){return(await this._ensureServerInfo()).instance_flags?.dataset_examples_multipart_enabled??!1}drainAutoBatchQueue({batchSizeLimitBytes:t,batchSizeLimit:n}){let r=[];for(;this.autoBatchQueue.items.length>0;){let[s,a]=this.autoBatchQueue.pop({upToSizeBytes:t,upToSize:n});if(!s.length){a();break}let i=s.reduce((u,l)=>{let d=l.apiUrl??this.apiUrl,p=l.apiKey??this.apiKey,h=l.apiKey===this.apiKey&&l.apiUrl===this.apiUrl?"default":`${d}|${p}`;return u[h]||(u[h]=[]),u[h].push(l),u},{}),o=[];for(let[u,l]of Object.entries(i)){let d=this._processBatch(l,{apiUrl:u==="default"?void 0:u.split("|")[0],apiKey:u==="default"?void 0:u.split("|")[1]});o.push(d)}let c=Promise.all(o).finally(a);r.push(c)}return Promise.all(r)}static async _writeTraceToFallbackDir(t,n,r,s,a){try{let i=typeof n=="string"?Buffer.from(n,"utf8"):Buffer.from(n),o=JSON.stringify({version:1,endpoint:s,headers:r,body_base64:i.toString("base64")}),c=`trace_${Date.now()}_${ea().slice(0,8)}.json`,u=lm.join(t,c);if(e._fallbackDirsCreated.has(t)||(await sN(t),e._fallbackDirsCreated.add(t)),a!==void 0&&a>0)try{let l=(await iN(t)).filter(p=>p.startsWith("trace_")&&p.endsWith(".json")),d=0;for(let p of l){let{size:h}=await oN(lm.join(t,p));d+=h}if(d>=a){console.warn(`Could not write trace to fallback dir ${t} as it's already over size limit (${d} bytes >= ${a} bytes). Increase LANGSMITH_FAILED_TRACES_MAX_MB if possible.`);return}}catch{}await aN(u,o),console.warn(`LangSmith trace upload failed; data saved to ${u} for later replay.`)}catch(i){console.error(`LangSmith tracing error: could not write trace to fallback dir ${t}:`,i)}}async _processBatch(t,n){if(!t.length)return;let r=t.reduce((s,a)=>s+(a.size??0),0);try{if(this.langSmithToOTELTranslator!==void 0)this._sendBatchToOTELTranslator(t);else{let s={runCreates:t.filter(i=>i.action==="create").map(i=>i.item),runUpdates:t.filter(i=>i.action==="update").map(i=>i.item)},a=await this._ensureServerInfo();if(!this._multipartDisabled&&(a?.batch_ingest_config?.use_multipart_endpoint??!0)){let i=!this._runCompressionDisabled&&a?.instance_flags?.gzip_body_enabled;try{await this.multipartIngestRuns(s,{...n,useGzip:i,sizeBytes:r})}catch(o){if(cw(o))this._multipartDisabled=!0,await this.batchIngestRuns(s,{...n,sizeBytes:r});else throw o}}else await this.batchIngestRuns(s,{...n,sizeBytes:r})}}catch(s){console.error("Error exporting batch:",s)}}_sendBatchToOTELTranslator(t){if(this.langSmithToOTELTranslator!==void 0){let n=new Map,r=[];for(let s of t)s.item.id&&s.otelContext&&(n.set(s.item.id,s.otelContext),s.action==="create"?r.push({operation:"post",id:s.item.id,trace_id:s.item.trace_id??s.item.id,run:s.item}):r.push({operation:"patch",id:s.item.id,trace_id:s.item.trace_id??s.item.id,run:s.item}));this.langSmithToOTELTranslator.exportBatch(r,n)}}async processRunOperation(t){clearTimeout(this.autoBatchTimeout),this.autoBatchTimeout=void 0,t.item=dw(t.item,this.cachedLSEnvVarsForMetadata,this.omitTracedRuntimeInfo);let n=this.autoBatchQueue.push(t);if(this.manualFlushMode)return n;let r=await this._getBatchSizeLimitBytes(),s=await this._getBatchSizeLimit();return(this.autoBatchQueue.sizeBytes>r||this.autoBatchQueue.items.length>s)&&this.drainAutoBatchQueue({batchSizeLimitBytes:r,batchSizeLimit:s}),this.autoBatchQueue.items.length>0&&(this.autoBatchTimeout=setTimeout(()=>{this.autoBatchTimeout=void 0,this.drainAutoBatchQueue({batchSizeLimitBytes:r,batchSizeLimit:s})},this.autoBatchAggregationDelayMs)),n}async _getServerInfo(){let t=await(await this.caller.call(async()=>{let n=await this._fetch(`${this.apiUrl}/info`,{method:"GET",headers:{Accept:"application/json"},signal:AbortSignal.timeout(bP),...this.fetchOptions});return await se(n,"get server info"),n})).json();return this.debug&&console.log(`
28
+ === LangSmith Server Configuration ===
29
+ `+JSON.stringify(t,null,2)+`
30
+ `),t}async _ensureServerInfo(){return this._getServerInfoPromise===void 0&&(this._getServerInfoPromise=(async()=>{if(this._serverInfo===void 0)try{this._serverInfo=await this._getServerInfo()}catch(t){console.warn(`[LANGSMITH]: Failed to fetch info on supported operations. Falling back to batch operations and default limits. Info: ${t.status??"Unspecified status code"} ${t.message}`)}return this._serverInfo??{}})()),this._getServerInfoPromise.then(t=>(this._serverInfo===void 0&&(this._getServerInfoPromise=void 0),t))}async _getSettings(){return this.settings||(this.settings=this._get("/settings")),await this.settings}async flush(){let t=await this._getBatchSizeLimitBytes(),n=await this._getBatchSizeLimit();await this.drainAutoBatchQueue({batchSizeLimitBytes:t,batchSizeLimit:n})}_cloneCurrentOTELContext(){let t=rx(),n=yN();if(this.langSmithToOTELTranslator!==void 0){let r=t.getActiveSpan();if(r)return t.setSpan(n.active(),r)}}async createRun(t,n){if(!this._filterForSampling([t]).length)return;let r={...this.headers,"Content-Type":"application/json"},s=t.project_name;delete t.project_name;let a=await this.prepareRunCreateOrUpdateInputs({session_name:s,...t,start_time:t.start_time??Date.now()});if(this.autoBatchTracing&&a.trace_id!==void 0&&a.dotted_order!==void 0){let c=this._cloneCurrentOTELContext();this.processRunOperation({action:"create",item:a,otelContext:c,apiKey:n?.apiKey,apiUrl:n?.apiUrl}).catch(console.error);return}let i=dw(a,this.cachedLSEnvVarsForMetadata,this.omitTracedRuntimeInfo);n?.apiKey!==void 0&&(r["x-api-key"]=n.apiKey),n?.workspaceId!==void 0&&(r["x-tenant-id"]=n.workspaceId);let o=On(i,`Creating run with id: ${i.id}`);await this.caller.call(async()=>{let c=await this._fetch(`${n?.apiUrl??this.apiUrl}/runs`,{method:"POST",headers:r,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:o});return await se(c,"create run",!0),c})}async batchIngestRuns({runCreates:t,runUpdates:n},r){if(t===void 0&&n===void 0)return;let s=await Promise.all(t?.map(c=>this.prepareRunCreateOrUpdateInputs(c))??[]),a=await Promise.all(n?.map(c=>this.prepareRunCreateOrUpdateInputs(c))??[]);if(s.length>0&&a.length>0){let c=s.reduce((l,d)=>(d.id&&(l[d.id]=d),l),{}),u=[];for(let l of a)l.id!==void 0&&c[l.id]?c[l.id]={...c[l.id],...l}:u.push(l);s=Object.values(c),a=u}let i={post:s,patch:a};if(!i.post.length&&!i.patch.length)return;let o={post:[],patch:[]};for(let c of["post","patch"]){let u=c,l=i[u].reverse(),d=l.pop();for(;d!==void 0;)o[u].push(d),d=l.pop()}if(o.post.length>0||o.patch.length>0){let c=o.post.map(u=>u.id).concat(o.patch.map(u=>u.id)).join(",");await this._postBatchIngestRuns(On(o,`Ingesting runs with ids: ${c}`),r)}}async _postBatchIngestRuns(t,n){let r={...this.headers,"Content-Type":"application/json",Accept:"application/json"};n?.apiKey!==void 0&&(r["x-api-key"]=n.apiKey),await this.batchIngestCaller.callWithOptions({sizeBytes:n?.sizeBytes},async()=>{let s=await this._fetch(`${n?.apiUrl??this.apiUrl}/runs/batch`,{method:"POST",headers:r,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:t});return await se(s,"batch create run",!0),s})}async multipartIngestRuns({runCreates:t,runUpdates:n},r){if(t===void 0&&n===void 0)return;let s={},a=[];for(let u of t??[]){let l=await this.prepareRunCreateOrUpdateInputs(u);l.id!==void 0&&l.attachments!==void 0&&(s[l.id]=l.attachments),delete l.attachments,a.push(l)}let i=[];for(let u of n??[])i.push(await this.prepareRunCreateOrUpdateInputs(u));if(a.find(u=>u.trace_id===void 0||u.dotted_order===void 0)!==void 0)throw new Error('Multipart ingest requires "trace_id" and "dotted_order" to be set when creating a run');if(i.find(u=>u.trace_id===void 0||u.dotted_order===void 0)!==void 0)throw new Error('Multipart ingest requires "trace_id" and "dotted_order" to be set when updating a run');if(a.length>0&&i.length>0){let u=a.reduce((d,p)=>(p.id&&(d[p.id]=p),d),{}),l=[];for(let d of i)d.id!==void 0&&u[d.id]?u[d.id]={...u[d.id],...d}:l.push(d);a=Object.values(u),i=l}if(a.length===0&&i.length===0)return;let o=[],c=[];for(let[u,l]of[["post",a],["patch",i]])for(let d of l){let{inputs:p,outputs:h,events:f,extra:m,error:v,serialized:g,attachments:y,...k}=d,x={inputs:p,outputs:h,events:f,extra:m,error:v,serialized:g},T=On(k,`Serializing for multipart ingestion of run with id: ${k.id}`);c.push({name:`${u}.${k.id}`,payload:new Blob([T],{type:`application/json; length=${T.length}`})});for(let[A,I]of Object.entries(x)){if(I===void 0)continue;let w=On(I,`Serializing ${A} for multipart ingestion of run with id: ${k.id}`);c.push({name:`${u}.${k.id}.${A}`,payload:new Blob([w],{type:`application/json; length=${w.length}`})})}if(k.id!==void 0){let A=s[k.id];if(A){delete s[k.id];for(let[I,w]of Object.entries(A)){let P,E;if(Array.isArray(w)?[P,E]=w:(P=w.mimeType,E=w.data),I.includes(".")){console.warn(`Skipping attachment '${I}' for run ${k.id}: Invalid attachment name. Attachment names must not contain periods ('.'). Please rename the attachment and try again.`);continue}c.push({name:`attachment.${k.id}.${I}`,payload:new Blob([E],{type:`${P}; length=${E.byteLength}`})})}}}o.push(`trace=${k.trace_id},id=${k.id}`)}await this._sendMultipartRequest(c,o.join("; "),r)}async _createNodeFetchBody(t,n){let r=[];for(let s of t)r.push(new Blob([`--${n}\r
31
+ `])),r.push(new Blob([`Content-Disposition: form-data; name="${s.name}"\r
32
+ `,`Content-Type: ${s.payload.type}\r
33
+ \r
34
+ `])),r.push(s.payload),r.push(new Blob([`\r
35
+ `]));return r.push(new Blob([`--${n}--\r
36
+ `])),await new Blob(r).arrayBuffer()}async _createMultipartStream(t,n){let r=new TextEncoder;return new ReadableStream({async start(s){let a=async i=>{typeof i=="string"?s.enqueue(r.encode(i)):s.enqueue(i)};for(let i of t){await a(`--${n}\r
37
+ `),await a(`Content-Disposition: form-data; name="${i.name}"\r
38
+ `),await a(`Content-Type: ${i.payload.type}\r
39
+ \r
40
+ `);let o=i.payload.stream().getReader();try{let c;for(;!(c=await o.read()).done;)s.enqueue(c.value)}finally{o.releaseLock()}await a(`\r
41
+ `)}await a(`--${n}--\r
42
+ `),s.close()}})}async _sendMultipartRequest(t,n,r){let s="----LangSmithFormBoundary"+Math.random().toString(36).slice(2),a=()=>this._createNodeFetchBody(t,s),i=()=>this._createMultipartStream(t,s),o=async c=>this.batchIngestCaller.callWithOptions({sizeBytes:r?.sizeBytes},async()=>{let u=await c(),l={...this.headers,"Content-Type":`multipart/form-data; boundary=${s}`};r?.apiKey!==void 0&&(l["x-api-key"]=r.apiKey);let d=u;r?.useGzip&&typeof u=="object"&&"pipeThrough"in u&&(d=u.pipeThrough(new CompressionStream("gzip")),l["Content-Encoding"]="gzip");let p=await this._fetch(`${r?.apiUrl??this.apiUrl}/runs/multipart`,{method:"POST",headers:l,body:d,duplex:"half",signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(p,"Failed to send multipart request",!0),p});try{let c,u=!1;AC()&&!this.multipartStreamingDisabled&&Qk()!=="bun"?(u=!0,c=await o(i)):c=await o(a),(!this.multipartStreamingDisabled||u)&&c.status===422&&(r?.apiUrl??this.apiUrl)!==hw&&(console.warn(`Streaming multipart upload to ${r?.apiUrl??this.apiUrl}/runs/multipart failed. This usually means the host does not support chunked uploads. Retrying with a buffered upload for operation "${n}".`),this.multipartStreamingDisabled=!0,c=await o(a))}catch(c){if(cw(c))throw c;if(console.warn(`${c.message.trim()}
43
+
44
+ Context: ${n}`),this.failedTracesDir){let u=await this._createNodeFetchBody(t,s).catch(()=>null);u&&await e._writeTraceToFallbackDir(this.failedTracesDir,u,{"Content-Type":`multipart/form-data; boundary=${s}`},"runs/multipart",this.failedTracesMaxBytes)}}}async updateRun(t,n,r){ve(t),n.inputs&&(n.inputs=await this.processInputs(n.inputs)),n.outputs&&(n.outputs=await this.processOutputs(n.outputs));let s={...n,id:t};if(!this._filterForSampling([s],!0).length)return;if(this.autoBatchTracing&&s.trace_id!==void 0&&s.dotted_order!==void 0){let o=this._cloneCurrentOTELContext();if(n.end_time!==void 0&&s.parent_run_id===void 0&&this.blockOnRootRunFinalization&&!this.manualFlushMode){await this.processRunOperation({action:"update",item:s,otelContext:o,apiKey:r?.apiKey,apiUrl:r?.apiUrl}).catch(console.error);return}else this.processRunOperation({action:"update",item:s,otelContext:o,apiKey:r?.apiKey,apiUrl:r?.apiUrl}).catch(console.error);return}let a={...this.headers,"Content-Type":"application/json"};r?.apiKey!==void 0&&(a["x-api-key"]=r.apiKey),r?.workspaceId!==void 0&&(a["x-tenant-id"]=r.workspaceId);let i=On(n,`Serializing payload to update run with id: ${t}`);await this.caller.call(async()=>{let o=await this._fetch(`${r?.apiUrl??this.apiUrl}/runs/${t}`,{method:"PATCH",headers:a,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:i});return await se(o,"update run",!0),o})}async readRun(t,{loadChildRuns:n}={loadChildRuns:!1}){ve(t);let r=mo(await this._get(`/runs/${t}`));return n&&(r=await this._loadChildRuns(r)),r}async getRunUrl({runId:t,run:n,projectOpts:r}){if(n!==void 0){let s;n.session_id?s=n.session_id:r?.projectName?s=(await this.readProject({projectName:r?.projectName})).id:r?.projectId?s=r?.projectId:s=(await this.readProject({projectName:Rt("PROJECT")||"default"})).id;let a=await this._getTenantId();return`${this.getHostUrl()}/o/${a}/projects/p/${s}/r/${n.id}?poll=true`}else if(t!==void 0){let s=await this.readRun(t);if(!s.app_path)throw new Error(`Run ${t} has no app_path`);return`${this.getHostUrl()}${s.app_path}`}else throw new Error("Must provide either runId or run")}async _loadChildRuns(t){let n=await _P(this.listRuns({isRoot:!1,projectId:t.session_id,traceId:t.trace_id})),r={},s={};n.sort((a,i)=>(a?.dotted_order??"").localeCompare(i?.dotted_order??""));for(let a of n){if(a.parent_run_id===null||a.parent_run_id===void 0)throw new Error(`Child run ${a.id} has no parent`);a.dotted_order?.startsWith(t.dotted_order??"")&&a.id!==t.id&&(a.parent_run_id in r||(r[a.parent_run_id]=[]),r[a.parent_run_id].push(a),s[a.id]=a)}t.child_runs=r[t.id]||[];for(let a in r)a!==t.id&&(s[a].child_runs=r[a]);return t}async*listRuns(t){let{projectId:n,projectName:r,parentRunId:s,traceId:a,referenceExampleId:i,startTime:o,executionOrder:c,isRoot:u,runType:l,error:d,id:p,query:h,filter:f,traceFilter:m,treeFilter:v,limit:g,select:y,order:k}=t,x=[];if(n&&(x=Array.isArray(n)?n:[n]),r){let w=Array.isArray(r)?r:[r],P=await Promise.all(w.map(E=>this.readProject({projectName:E}).then(Z=>Z.id)));x.push(...P)}let T=["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"],A={session:x.length?x:null,run_type:l,reference_example:i,query:h,filter:f,trace_filter:m,tree_filter:v,execution_order:c,parent_run:s,start_time:o?o.toISOString():null,error:d,id:p,limit:g,trace:a,select:y||T,is_root:u,order:k};A.select.includes("child_run_ids")&&sl("Deprecated: 'child_run_ids' in the listRuns select parameter is deprecated and will be removed in a future version.");let I=0;for await(let w of this._getCursorPaginatedList("/runs/query",A)){let P=w.map(mo);if(g){if(I>=g)break;if(P.length+I>g){yield*P.slice(0,g-I);break}I+=P.length,yield*P}else yield*P}}async*listGroupRuns(t){let{projectId:n,projectName:r,groupBy:s,filter:a,startTime:i,endTime:o,limit:c,offset:u}=t,l={session_id:n||(await this.readProject({projectName:r})).id,group_by:s,filter:a,start_time:i?i.toISOString():null,end_time:o?o.toISOString():null,limit:Number(c)||100},d=Number(u)||0,p="/runs/group",h=`${this.apiUrl}${p}`;for(;;){let f={...l,offset:d},m=Object.fromEntries(Object.entries(f).filter(([x,T])=>T!==void 0)),v=JSON.stringify(m),g=await(await this.caller.call(async()=>{let x=await this._fetch(h,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:v});return await se(x,`Failed to fetch ${p}`),x})).json(),{groups:y,total:k}=g;if(y.length===0)break;for(let x of y)yield x;if(d+=y.length,d>=k)break}}async*readThread(t){let{threadId:n,projectId:r,projectName:s,isRoot:a=!0,limit:i,filter:o,order:c="asc"}=t;if(!r&&!s)throw new Error("threadId requires projectId or projectName");let u=`eq(thread_id, ${JSON.stringify(n)})`,l=o?`and(${u}, ${o})`:u;yield*this.listRuns({projectId:r??void 0,projectName:s??void 0,isRoot:a,limit:i,filter:l,order:c})}async listThreads(t){let{projectId:n,projectName:r,limit:s,offset:a=0,filter:i,startTime:o,isRoot:c=!0}=t;if(!n&&!r)throw new Error("Either projectId or projectName must be provided");if(n&&r)throw new Error("Provide exactly one of projectId or projectName");let u=n??(await this.readProject({projectName:r})).id,l=o??new Date(Date.now()-1440*60*1e3),d={session:[u],is_root:c,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:l.toISOString()};i!=null&&(d.filter=i);let p=new Map;for await(let m of this._getCursorPaginatedList("/runs/query",d))for(let v of m){let g=mo(v),y=g.thread_id;if(y){let k=p.get(y)??[];k.push(g),p.set(y,k)}}let h=[];for(let[m,v]of p.entries()){v.sort((x,T)=>{let A=x,I=T,w=A.start_time??"",P=I.start_time??"";if(w!==P)return w.localeCompare(P);let E=A.dotted_order??"",Z=I.dotted_order??"";return E.localeCompare(Z)});let g=[...v.map(x=>x.start_time).filter(Boolean)].sort(),y=g.length?g[0]:"",k=g.length?g[g.length-1]:"";h.push({thread_id:m,runs:v,count:v.length,filter:"",total_tokens:0,total_cost:null,min_start_time:y,max_start_time:k,latency_p50:0,latency_p99:0,feedback_stats:null,first_inputs:"",last_outputs:"",last_error:null})}h.sort((m,v)=>{let g=m.max_start_time??"";return(v.max_start_time??"").localeCompare(g)});let f=a>0?h.slice(a):h;return s!==void 0?f.slice(0,s):f}async getRunStats({id:t,trace:n,parentRun:r,runType:s,projectNames:a,projectIds:i,referenceExampleIds:o,startTime:c,endTime:u,error:l,query:d,filter:p,traceFilter:h,treeFilter:f,isRoot:m,dataSourceType:v}){let g=i||[];a&&(g=[...i||[],...await Promise.all(a.map(x=>this.readProject({projectName:x}).then(T=>T.id)))]);let y=Object.fromEntries(Object.entries({id:t,trace:n,parent_run:r,run_type:s,session:g,reference_example:o,start_time:c,end_time:u,error:l,query:d,filter:p,trace_filter:h,tree_filter:f,is_root:m,data_source_type:v}).filter(([x,T])=>T!==void 0)),k=JSON.stringify(y);return await(await this.caller.call(async()=>{let x=await this._fetch(`${this.apiUrl}/runs/stats`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:k});return await se(x,"get run stats"),x})).json()}async shareRun(t,{shareId:n}={}){let r={run_id:t,share_token:n||ea()};ve(t);let s=JSON.stringify(r),a=await(await this.caller.call(async()=>{let i=await this._fetch(`${this.apiUrl}/runs/${t}/share`,{method:"PUT",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:s});return await se(i,"share run"),i})).json();if(a===null||!("share_token"in a))throw new Error("Invalid response from server");return`${this.getHostUrl()}/public/${a.share_token}/r`}async unshareRun(t){ve(t),await this.caller.call(async()=>{let n=await this._fetch(`${this.apiUrl}/runs/${t}/share`,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(n,"unshare run",!0),n})}async readRunSharedLink(t){ve(t);let n=await(await this.caller.call(async()=>{let r=await this._fetch(`${this.apiUrl}/runs/${t}/share`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(r,"read run shared link"),r})).json();if(!(n===null||!("share_token"in n)))return`${this.getHostUrl()}/public/${n.share_token}/r`}async listSharedRuns(t,{runIds:n}={}){let r=new URLSearchParams({share_token:t});if(n!==void 0)for(let s of n)r.append("id",s);return ve(t),(await(await this.caller.call(async()=>{let s=await this._fetch(`${this.apiUrl}/public/${t}/runs${r}`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(s,"list shared runs"),s})).json()).map(mo)}async readDatasetSharedSchema(t,n){if(!t&&!n)throw new Error("Either datasetId or datasetName must be given");t||(t=(await this.readDataset({datasetName:n})).id),ve(t);let r=await(await this.caller.call(async()=>{let s=await this._fetch(`${this.apiUrl}/datasets/${t}/share`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(s,"read dataset shared schema"),s})).json();return r.url=`${this.getHostUrl()}/public/${r.share_token}/d`,r}async shareDataset(t,n){if(!t&&!n)throw new Error("Either datasetId or datasetName must be given");t||(t=(await this.readDataset({datasetName:n})).id);let r={dataset_id:t};ve(t);let s=JSON.stringify(r),a=await(await this.caller.call(async()=>{let i=await this._fetch(`${this.apiUrl}/datasets/${t}/share`,{method:"PUT",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:s});return await se(i,"share dataset"),i})).json();return a.url=`${this.getHostUrl()}/public/${a.share_token}/d`,a}async unshareDataset(t){ve(t),await this.caller.call(async()=>{let n=await this._fetch(`${this.apiUrl}/datasets/${t}/share`,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(n,"unshare dataset",!0),n})}async readSharedDataset(t){return ve(t),await(await this.caller.call(async()=>{let n=await this._fetch(`${this.apiUrl}/public/${t}/datasets`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(n,"read shared dataset"),n})).json()}async listSharedExamples(t,n){let r={};n?.exampleIds&&(r.id=n.exampleIds);let s=new URLSearchParams;Object.entries(r).forEach(([o,c])=>{Array.isArray(c)?c.forEach(u=>s.append(o,u)):s.append(o,c)});let a=await this.caller.call(async()=>{let o=await this._fetch(`${this.apiUrl}/public/${t}/examples?${s.toString()}`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(o,"list shared examples"),o}),i=await a.json();if(!a.ok)throw"detail"in i?new Error(`Failed to list shared examples.
45
+ Status: ${a.status}
46
+ Message: ${Array.isArray(i.detail)?i.detail.join(`
47
+ `):"Unspecified error"}`):new Error(`Failed to list shared examples: ${a.status} ${a.statusText}`);return i.map(o=>({...o,_hostUrl:this.getHostUrl()}))}async createProject({projectName:t,description:n=null,metadata:r=null,upsert:s=!1,projectExtra:a=null,referenceDatasetId:i=null}){let o=s?"?upsert=true":"",c=`${this.apiUrl}/sessions${o}`,u=a||{};r&&(u.metadata=r);let l={name:t,extra:u,description:n};i!==null&&(l.reference_dataset_id=i);let d=JSON.stringify(l);return await(await this.caller.call(async()=>{let p=await this._fetch(c,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:d});return await se(p,"create project"),p})).json()}async updateProject(t,{name:n=null,description:r=null,metadata:s=null,projectExtra:a=null,endTime:i=null}){let o=`${this.apiUrl}/sessions/${t}`,c=a;s&&(c={...c||{},metadata:s});let u=JSON.stringify({name:n,extra:c,description:r,end_time:i?new Date(i).toISOString():null});return await(await this.caller.call(async()=>{let l=await this._fetch(o,{method:"PATCH",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:u});return await se(l,"update project"),l})).json()}async hasProject({projectId:t,projectName:n}){let r="/sessions",s=new URLSearchParams;if(t!==void 0&&n!==void 0)throw new Error("Must provide either projectName or projectId, not both");if(t!==void 0)ve(t),r+=`/${t}`;else if(n!==void 0)s.append("name",n);else throw new Error("Must provide projectName or projectId");let a=await this.caller.call(async()=>{let i=await this._fetch(`${this.apiUrl}${r}?${s}`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(i,"has project"),i});try{let i=await a.json();return a.ok?Array.isArray(i)?i.length>0:!0:!1}catch{return!1}}async readProject({projectId:t,projectName:n,includeStats:r}){let s="/sessions",a=new URLSearchParams;if(t!==void 0&&n!==void 0)throw new Error("Must provide either projectName or projectId, not both");if(t!==void 0)ve(t),s+=`/${t}`;else if(n!==void 0)a.append("name",n);else throw new Error("Must provide projectName or projectId");r!==void 0&&a.append("include_stats",r.toString());let i=await this._get(s,a),o;if(Array.isArray(i)){if(i.length===0)throw new Error(`Project[id=${t}, name=${n}] not found`);o=i[0]}else o=i;return o}async getProjectUrl({projectId:t,projectName:n}){if(t===void 0&&n===void 0)throw new Error("Must provide either projectName or projectId");let r=await this.readProject({projectId:t,projectName:n}),s=await this._getTenantId();return`${this.getHostUrl()}/o/${s}/projects/p/${r.id}`}async getDatasetUrl({datasetId:t,datasetName:n}){if(t===void 0&&n===void 0)throw new Error("Must provide either datasetName or datasetId");let r=await this.readDataset({datasetId:t,datasetName:n}),s=await this._getTenantId();return`${this.getHostUrl()}/o/${s}/datasets/${r.id}`}async _getTenantId(){if(this._tenantId!==null)return this._tenantId;let t=new URLSearchParams({limit:"1"});for await(let n of this._getPaginated("/sessions",t))return this._tenantId=n[0].tenant_id,n[0].tenant_id;throw new Error("No projects found to resolve tenant.")}async*listProjects({projectIds:t,name:n,nameContains:r,referenceDatasetId:s,referenceDatasetName:a,includeStats:i,datasetVersion:o,referenceFree:c,metadata:u}={}){let l=new URLSearchParams;if(t!==void 0)for(let d of t)l.append("id",d);if(n!==void 0&&l.append("name",n),r!==void 0&&l.append("name_contains",r),s!==void 0)l.append("reference_dataset",s);else if(a!==void 0){let d=await this.readDataset({datasetName:a});l.append("reference_dataset",d.id)}i!==void 0&&l.append("include_stats",i.toString()),o!==void 0&&l.append("dataset_version",o),c!==void 0&&l.append("reference_free",c.toString()),u!==void 0&&l.append("metadata",JSON.stringify(u));for await(let d of this._getPaginated("/sessions",l))yield*d}async deleteProject({projectId:t,projectName:n}){let r;if(t===void 0&&n===void 0)throw new Error("Must provide projectName or projectId");if(t!==void 0&&n!==void 0)throw new Error("Must provide either projectName or projectId, not both");t===void 0?r=(await this.readProject({projectName:n})).id:r=t,ve(r),await this.caller.call(async()=>{let s=await this._fetch(`${this.apiUrl}/sessions/${r}`,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(s,`delete session ${r} (${n})`,!0),s})}async uploadCsv({csvFile:t,fileName:n,inputKeys:r,outputKeys:s,description:a,dataType:i,name:o}){let c=`${this.apiUrl}/datasets/upload`,u=new FormData,l=new Blob([t],{type:"text/csv"});return u.append("file",l,n),r.forEach(d=>{u.append("input_keys",d)}),s.forEach(d=>{u.append("output_keys",d)}),a&&u.append("description",a),i&&u.append("data_type",i),o&&u.append("name",o),await(await this.caller.call(async()=>{let d=await this._fetch(c,{method:"POST",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:u});return await se(d,"upload CSV"),d})).json()}async createDataset(t,{description:n,dataType:r,inputsSchema:s,outputsSchema:a,metadata:i}={}){let o={name:t,description:n,extra:i?{metadata:i}:void 0};r&&(o.data_type=r),s&&(o.inputs_schema_definition=s),a&&(o.outputs_schema_definition=a);let c=JSON.stringify(o);return await(await this.caller.call(async()=>{let u=await this._fetch(`${this.apiUrl}/datasets`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:c});return await se(u,"create dataset"),u})).json()}async readDataset({datasetId:t,datasetName:n}){let r="/datasets",s=new URLSearchParams({limit:"1"});if(t&&n)throw new Error("Must provide either datasetName or datasetId, not both");if(t)ve(t),r+=`/${t}`;else if(n)s.append("name",n);else throw new Error("Must provide datasetName or datasetId");let a=await this._get(r,s),i;if(Array.isArray(a)){if(a.length===0)throw new Error(`Dataset[id=${t}, name=${n}] not found`);i=a[0]}else i=a;return i}async hasDataset({datasetId:t,datasetName:n}){try{return await this.readDataset({datasetId:t,datasetName:n}),!0}catch(r){if(r instanceof Error&&r.message.toLocaleLowerCase().includes("not found"))return!1;throw r}}async diffDatasetVersions({datasetId:t,datasetName:n,fromVersion:r,toVersion:s}){let a=t;if(a===void 0&&n===void 0)throw new Error("Must provide either datasetName or datasetId");if(a!==void 0&&n!==void 0)throw new Error("Must provide either datasetName or datasetId, not both");a===void 0&&(a=(await this.readDataset({datasetName:n})).id);let i=new URLSearchParams({from_version:typeof r=="string"?r:r.toISOString(),to_version:typeof s=="string"?s:s.toISOString()});return await this._get(`/datasets/${a}/versions/diff`,i)}async readDatasetOpenaiFinetuning({datasetId:t,datasetName:n}){let r="/datasets";if(t===void 0)if(n!==void 0)t=(await this.readDataset({datasetName:n})).id;else throw new Error("Must provide either datasetName or datasetId");return(await(await this._getResponse(`${r}/${t}/openai_ft`)).text()).trim().split(`
48
+ `).map(s=>JSON.parse(s))}async*listDatasets({limit:t=100,offset:n=0,datasetIds:r,datasetName:s,datasetNameContains:a,metadata:i}={}){let o="/datasets",c=new URLSearchParams({limit:t.toString(),offset:n.toString()});if(r!==void 0)for(let u of r)c.append("id",u);s!==void 0&&c.append("name",s),a!==void 0&&c.append("name_contains",a),i!==void 0&&c.append("metadata",JSON.stringify(i));for await(let u of this._getPaginated(o,c))yield*u}async updateDataset(t){let{datasetId:n,datasetName:r,...s}=t;if(!n&&!r)throw new Error("Must provide either datasetName or datasetId");let a=n??(await this.readDataset({datasetName:r})).id;ve(a);let i=JSON.stringify(s);return await(await this.caller.call(async()=>{let o=await this._fetch(`${this.apiUrl}/datasets/${a}`,{method:"PATCH",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:i});return await se(o,"update dataset"),o})).json()}async updateDatasetTag(t){let{datasetId:n,datasetName:r,asOf:s,tag:a}=t;if(!n&&!r)throw new Error("Must provide either datasetName or datasetId");let i=n??(await this.readDataset({datasetName:r})).id;ve(i);let o=JSON.stringify({as_of:typeof s=="string"?s:s.toISOString(),tag:a});await this.caller.call(async()=>{let c=await this._fetch(`${this.apiUrl}/datasets/${i}/tags`,{method:"PUT",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:o});return await se(c,"update dataset tags",!0),c})}async deleteDataset({datasetId:t,datasetName:n}){let r="/datasets",s=t;if(t!==void 0&&n!==void 0)throw new Error("Must provide either datasetName or datasetId, not both");if(n!==void 0&&(s=(await this.readDataset({datasetName:n})).id),s!==void 0)ve(s),r+=`/${s}`;else throw new Error("Must provide datasetName or datasetId");await this.caller.call(async()=>{let a=await this._fetch(this.apiUrl+r,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(a,`delete ${r}`,!0),a})}async indexDataset({datasetId:t,datasetName:n,tag:r}){let s=t;if(!s&&!n)throw new Error("Must provide either datasetName or datasetId");if(s&&n)throw new Error("Must provide either datasetName or datasetId, not both");s||(s=(await this.readDataset({datasetName:n})).id),ve(s);let a=JSON.stringify({tag:r});await(await this.caller.call(async()=>{let i=await this._fetch(`${this.apiUrl}/datasets/${s}/index`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:a});return await se(i,"index dataset"),i})).json()}async similarExamples(t,n,r,{filter:s}={}){let a={limit:r,inputs:t};s!==void 0&&(a.filter=s),ve(n);let i=JSON.stringify(a);return(await(await this.caller.call(async()=>{let o=await this._fetch(`${this.apiUrl}/datasets/${n}/search`,{headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,method:"POST",body:i});return await se(o,"fetch similar examples"),o})).json()).examples}async createExample(t,n,r){if(fw(t)&&(n!==void 0||r!==void 0))throw new Error("Cannot provide outputs or options when using ExampleCreate object");let s=n?r?.datasetId:t.dataset_id,a=n?r?.datasetName:t.dataset_name;if(s===void 0&&a===void 0)throw new Error("Must provide either datasetName or datasetId");if(s!==void 0&&a!==void 0)throw new Error("Must provide either datasetName or datasetId, not both");s===void 0&&(s=(await this.readDataset({datasetName:a})).id);let i=(n?r?.createdAt:t.created_at)||new Date,o;fw(t)?o=t:o={inputs:t,outputs:n,created_at:i?.toISOString(),id:r?.exampleId,metadata:r?.metadata,split:r?.split,source_run_id:r?.sourceRunId,use_source_run_io:r?.useSourceRunIO,use_source_run_attachments:r?.useSourceRunAttachments,attachments:r?.attachments};let c=await this._uploadExamplesMultipart(s,[o]);return await this.readExample(c.example_ids?.[0]??ea())}async createExamples(t){if(Array.isArray(t)){if(t.length===0)return[];let g=t,y=g[0].dataset_id,k=g[0].dataset_name;if(y===void 0&&k===void 0)throw new Error("Must provide either datasetName or datasetId");if(y!==void 0&&k!==void 0)throw new Error("Must provide either datasetName or datasetId, not both");y===void 0&&(y=(await this.readDataset({datasetName:k})).id);let x=await this._uploadExamplesMultipart(y,g);return await Promise.all(x.example_ids.map(T=>this.readExample(T)))}let{inputs:n,outputs:r,metadata:s,splits:a,sourceRunIds:i,useSourceRunIOs:o,useSourceRunAttachments:c,attachments:u,exampleIds:l,datasetId:d,datasetName:p}=t;if(n===void 0)throw new Error("Must provide inputs when using legacy parameters");let h=d,f=p;if(h===void 0&&f===void 0)throw new Error("Must provide either datasetName or datasetId");if(h!==void 0&&f!==void 0)throw new Error("Must provide either datasetName or datasetId, not both");h===void 0&&(h=(await this.readDataset({datasetName:f})).id);let m=n.map((g,y)=>({dataset_id:h,inputs:g,outputs:r?.[y],metadata:s?.[y],split:a?.[y],id:l?.[y],attachments:u?.[y],source_run_id:i?.[y],use_source_run_io:o?.[y],use_source_run_attachments:c?.[y]})),v=await this._uploadExamplesMultipart(h,m);return await Promise.all(v.example_ids.map(g=>this.readExample(g)))}async createLLMExample(t,n,r){return this.createExample({input:t},{output:n},r)}async createChatExample(t,n,r){let s=t.map(i=>fv(i)?mv(i):i),a=fv(n)?mv(n):n;return this.createExample({input:s},{output:a},r)}async readExample(t){ve(t);let n=`/examples/${t}`,r=await this._get(n),{attachment_urls:s,...a}=r,i=a;return s&&(i.attachments=Object.entries(s).reduce((o,[c,u])=>(o[c.slice(11)]={presigned_url:u.presigned_url,mime_type:u.mime_type},o),{})),i}async*listExamples({datasetId:t,datasetName:n,exampleIds:r,asOf:s,splits:a,inlineS3Urls:i,metadata:o,limit:c,offset:u,filter:l,includeAttachments:d}={}){let p;if(t!==void 0&&n!==void 0)throw new Error("Must provide either datasetName or datasetId, not both");if(t!==void 0)p=t;else if(n!==void 0)p=(await this.readDataset({datasetName:n})).id;else throw new Error("Must provide a datasetName or datasetId");let h=new URLSearchParams({dataset:p}),f=s?typeof s=="string"?s:s?.toISOString():void 0;f&&h.append("as_of",f);let m=i??!0;if(h.append("inline_s3_urls",m.toString()),r!==void 0)for(let g of r)h.append("id",g);if(a!==void 0)for(let g of a)h.append("splits",g);if(o!==void 0){let g=JSON.stringify(o);h.append("metadata",g)}c!==void 0&&h.append("limit",c.toString()),u!==void 0&&h.append("offset",u.toString()),l!==void 0&&h.append("filter",l),d===!0&&["attachment_urls","outputs","metadata"].forEach(g=>h.append("select",g));let v=0;for await(let g of this._getPaginated("/examples",h)){for(let y of g){let{attachment_urls:k,...x}=y,T=x;k&&(T.attachments=Object.entries(k).reduce((A,[I,w])=>(A[I.slice(11)]={presigned_url:w.presigned_url,mime_type:w.mime_type||void 0},A),{})),yield T,v++}if(c!==void 0&&v>=c)break}}async deleteExample(t){ve(t);let n=`/examples/${t}`;await this.caller.call(async()=>{let r=await this._fetch(this.apiUrl+n,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(r,`delete ${n}`,!0),r})}async deleteExamples(t,n){if(t.forEach(r=>ve(r)),n?.hardDelete){let r=this._getPlatformEndpointPath("datasets/examples/delete");await this.caller.call(async()=>{let s=await this._fetch(`${this.apiUrl}${r}`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},body:JSON.stringify({example_ids:t,hard_delete:!0}),signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(s,"hard delete examples",!0),s})}else{let r=new URLSearchParams;t.forEach(s=>r.append("example_ids",s)),await this.caller.call(async()=>{let s=await this._fetch(`${this.apiUrl}/examples?${r.toString()}`,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(s,"delete examples",!0),s})}}async updateExample(t,n){let r;n?r=t:r=t.id,ve(r);let s;n?s={id:r,...n}:s=t;let a;return s.dataset_id!==void 0?a=s.dataset_id:a=(await this.readExample(r)).dataset_id,this._updateExamplesMultipart(a,[s])}async updateExamples(t){let n;return t[0].dataset_id===void 0?n=(await this.readExample(t[0].id)).dataset_id:n=t[0].dataset_id,this._updateExamplesMultipart(n,t)}async readDatasetVersion({datasetId:t,datasetName:n,asOf:r,tag:s}){let a;if(t?a=t:a=(await this.readDataset({datasetName:n})).id,ve(a),r&&s||!r&&!s)throw new Error("Exactly one of asOf and tag must be specified.");let i=new URLSearchParams;return r!==void 0&&i.append("as_of",typeof r=="string"?r:r.toISOString()),s!==void 0&&i.append("tag",s),await(await this.caller.call(async()=>{let o=await this._fetch(`${this.apiUrl}/datasets/${a}/version?${i.toString()}`,{method:"GET",headers:{...this.headers},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(o,"read dataset version"),o})).json()}async listDatasetSplits({datasetId:t,datasetName:n,asOf:r}){let s;if(t===void 0&&n===void 0)throw new Error("Must provide dataset name or ID");if(t!==void 0&&n!==void 0)throw new Error("Must provide either datasetName or datasetId, not both");t===void 0?s=(await this.readDataset({datasetName:n})).id:s=t,ve(s);let a=new URLSearchParams,i=r?typeof r=="string"?r:r?.toISOString():void 0;return i&&a.append("as_of",i),await this._get(`/datasets/${s}/splits`,a)}async updateDatasetSplits({datasetId:t,datasetName:n,splitName:r,exampleIds:s,remove:a=!1}){let i;if(t===void 0&&n===void 0)throw new Error("Must provide dataset name or ID");if(t!==void 0&&n!==void 0)throw new Error("Must provide either datasetName or datasetId, not both");t===void 0?i=(await this.readDataset({datasetName:n})).id:i=t,ve(i);let o={split_name:r,examples:s.map(u=>(ve(u),u)),remove:a},c=JSON.stringify(o);await this.caller.call(async()=>{let u=await this._fetch(`${this.apiUrl}/datasets/${i}/splits`,{method:"PUT",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:c});return await se(u,"update dataset splits",!0),u})}async createFeedback(t,n,{score:r,value:s,correction:a,comment:i,sourceInfo:o,feedbackSourceType:c="api",sourceRunId:u,feedbackId:l,feedbackConfig:d,projectId:p,comparativeExperimentId:h,sessionId:f,startTime:m}){if(!t&&!p)throw new Error("One of runId or projectId must be provided");if(t&&p)throw new Error("Only one of runId or projectId can be provided");let v={type:c??"api",metadata:o??{}};u!==void 0&&v?.metadata!==void 0&&!v.metadata.__run&&(v.metadata.__run={run_id:u}),v?.metadata!==void 0&&v.metadata.__run?.run_id!==void 0&&ve(v.metadata.__run.run_id);let g={id:l??ak(),run_id:t,key:n,score:pw(r),value:s,correction:a,comment:i,feedback_source:v,comparative_experiment_id:h,feedbackConfig:d,session_id:f??p,start_time:m},y=JSON.stringify(g),k=`${this.apiUrl}/feedback`;return await this.caller.call(async()=>{let x=await this._fetch(k,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:y});return await se(x,"create feedback",!0),x}),g}async updateFeedback(t,{score:n,value:r,correction:s,comment:a}){let i={};n!=null&&(i.score=pw(n)),r!=null&&(i.value=r),s!=null&&(i.correction=s),a!=null&&(i.comment=a),ve(t);let o=JSON.stringify(i);await this.caller.call(async()=>{let c=await this._fetch(`${this.apiUrl}/feedback/${t}`,{method:"PATCH",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:o});return await se(c,"update feedback",!0),c})}async readFeedback(t){ve(t);let n=`/feedback/${t}`;return await this._get(n)}async deleteFeedback(t){ve(t);let n=`/feedback/${t}`;await this.caller.call(async()=>{let r=await this._fetch(this.apiUrl+n,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(r,`delete ${n}`,!0),r})}async*listFeedback({runIds:t,feedbackKeys:n,feedbackSourceTypes:r}={}){let s=new URLSearchParams;if(t)for(let a of t)ve(a),s.append("run",a);if(n)for(let a of n)s.append("key",a);if(r)for(let a of r)s.append("source",a);for await(let a of this._getPaginated("/feedback",s))yield*a}async createPresignedFeedbackToken(t,n,{expiration:r,feedbackConfig:s}={}){let a={run_id:t,feedback_key:n,feedback_config:s};r?typeof r=="string"?a.expires_at=r:(r?.hours||r?.minutes||r?.days)&&(a.expires_in=r):a.expires_in={hours:3};let i=JSON.stringify(a);return await(await this.caller.call(async()=>{let o=await this._fetch(`${this.apiUrl}/feedback/tokens`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:i});return await se(o,"create presigned feedback token"),o})).json()}async createComparativeExperiment({name:t,experimentIds:n,referenceDatasetId:r,createdAt:s,description:a,metadata:i,id:o}){if(n.length===0)throw new Error("At least one experiment is required");if(r||(r=(await this.readProject({projectId:n[0]})).reference_dataset_id),!r==null)throw new Error("A reference dataset is required");let c={id:o,name:t,experiment_ids:n,reference_dataset_id:r,description:a,created_at:(s??new Date)?.toISOString(),extra:{}};i&&(c.extra.metadata=i);let u=JSON.stringify(c);return(await this.caller.call(async()=>{let l=await this._fetch(`${this.apiUrl}/datasets/comparative`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:u});return await se(l,"create comparative experiment"),l})).json()}async*listPresignedFeedbackTokens(t){ve(t);let n=new URLSearchParams({run_id:t});for await(let r of this._getPaginated("/feedback/tokens",n))yield*r}_selectEvalResults(t){let n;return"results"in t?n=t.results:Array.isArray(t)?n=t:n=[t],n}async _logEvaluationFeedback(t,n,r){let s=this._selectEvalResults(t),a=[];for(let i of s){let o=r||{};i.evaluatorInfo&&(o={...i.evaluatorInfo,...o});let c=null;i.targetRunId?c=i.targetRunId:n&&(c=n.id),a.push(await this.createFeedback(c,i.key,{score:i.score,value:i.value,comment:i.comment,correction:i.correction,sourceInfo:o,sourceRunId:i.sourceRunId,feedbackConfig:i.feedbackConfig,feedbackSourceType:"model",sessionId:n?.session_id,startTime:n?.start_time}))}return[s,a]}async logEvaluationFeedback(t,n,r){let[s]=await this._logEvaluationFeedback(t,n,r);return s}async createFeedbackConfig(t){let{feedbackKey:n,feedbackConfig:r,isLowerScoreBetter:s=!1}=t,a={feedback_key:n,feedback_config:r,is_lower_score_better:s};return(await this.caller.call(async()=>{let i=await this._fetch(`${this.apiUrl}/feedback-configs`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:JSON.stringify(a)});return await se(i,"create feedback config"),i})).json()}async*listFeedbackConfigs(t={}){let{feedbackKeys:n,nameContains:r,limit:s}=t,a=new URLSearchParams;n&&n.forEach(o=>{a.append("key",o)}),r&&a.append("name_contains",r),a.append("limit",(s!==void 0?Math.min(s,100):100).toString());let i=0;for await(let o of this._getPaginated("/feedback-configs",a))if(yield*o,i+=o.length,s!==void 0&&i>=s)break}async updateFeedbackConfig(t,n={}){let{feedbackConfig:r,isLowerScoreBetter:s}=n,a={feedback_key:t};return r!==void 0&&(a.feedback_config=r),s!==void 0&&(a.is_lower_score_better=s),(await this.caller.call(async()=>{let i=await this._fetch(`${this.apiUrl}/feedback-configs`,{method:"PATCH",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:JSON.stringify(a)});return await se(i,"update feedback config"),i})).json()}async deleteFeedbackConfig(t){let n=new URLSearchParams({feedback_key:t});await this.caller.call(async()=>{let r=await this._fetch(`${this.apiUrl}/feedback-configs?${n}`,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(r,"delete feedback config",!0),r})}async*listAnnotationQueues(t={}){let{queueIds:n,name:r,nameContains:s,limit:a}=t,i=new URLSearchParams;n&&n.forEach((c,u)=>{ve(c,`queueIds[${u}]`),i.append("ids",c)}),r&&i.append("name",r),s&&i.append("name_contains",s),i.append("limit",(a!==void 0?Math.min(a,100):100).toString());let o=0;for await(let c of this._getPaginated("/annotation-queues",i))if(yield*c,o++,a!==void 0&&o>=a)break}async createAnnotationQueue(t){let{name:n,description:r,queueId:s,rubricInstructions:a,rubricItems:i}=t,o={name:n,description:r,id:s||ea(),rubric_instructions:a,rubric_items:i},c=JSON.stringify(Object.fromEntries(Object.entries(o).filter(([u,l])=>l!==void 0)));return(await this.caller.call(async()=>{let u=await this._fetch(`${this.apiUrl}/annotation-queues`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:c});return await se(u,"create annotation queue"),u})).json()}async readAnnotationQueue(t){return(await this.caller.call(async()=>{let n=await this._fetch(`${this.apiUrl}/annotation-queues/${ve(t,"queueId")}`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(n,"read annotation queue"),n})).json()}async updateAnnotationQueue(t,n){let{name:r,description:s,rubricInstructions:a,rubricItems:i}=n,o={};r!==void 0&&(o.name=r),s!==void 0&&(o.description=s),a!==void 0&&(o.rubric_instructions=a),i!==void 0&&(o.rubric_items=i);let c=JSON.stringify(o);await this.caller.call(async()=>{let u=await this._fetch(`${this.apiUrl}/annotation-queues/${ve(t,"queueId")}`,{method:"PATCH",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:c});return await se(u,"update annotation queue",!0),u})}async deleteAnnotationQueue(t){await this.caller.call(async()=>{let n=await this._fetch(`${this.apiUrl}/annotation-queues/${ve(t,"queueId")}`,{method:"DELETE",headers:{...this.headers,Accept:"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(n,"delete annotation queue",!0),n})}async addRunsToAnnotationQueue(t,n){let r=JSON.stringify(n.map((s,a)=>ve(s,`runIds[${a}]`).toString()));await this.caller.call(async()=>{let s=await this._fetch(`${this.apiUrl}/annotation-queues/${ve(t,"queueId")}/runs`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:r});return await se(s,"add runs to annotation queue",!0),s})}async getRunFromAnnotationQueue(t,n){let r=`/annotation-queues/${ve(t,"queueId")}/run`,s=await(await this.caller.call(async()=>{let a=await this._fetch(`${this.apiUrl}${r}/${n}`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(a,"get run from annotation queue"),a})).json();return mo(s)}async deleteRunFromAnnotationQueue(t,n){await this.caller.call(async()=>{let r=await this._fetch(`${this.apiUrl}/annotation-queues/${ve(t,"queueId")}/runs/${ve(n,"queueRunId")}`,{method:"DELETE",headers:{...this.headers,Accept:"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(r,"delete run from annotation queue",!0),r})}async getSizeFromAnnotationQueue(t){return(await this.caller.call(async()=>{let n=await this._fetch(`${this.apiUrl}/annotation-queues/${ve(t,"queueId")}/size`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(n,"get size from annotation queue"),n})).json()}async _currentTenantIsOwner(t){let n=await this._getSettings();return t=="-"||n.tenant_handle===t}async _ownerConflictError(t,n){let r=await this._getSettings();return new Error(`Cannot ${t} for another tenant.
49
+
50
+ Current tenant: ${r.tenant_handle}
51
+
52
+ Requested tenant: ${n}`)}async _getLatestCommitHash(t){let n=await(await this.caller.call(async()=>{let r=await this._fetch(`${this.apiUrl}/commits/${t}/?limit=1&offset=0`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(r,"get latest commit hash"),r})).json();if(n.commits.length!==0)return n.commits[0].commit_hash}async _likeOrUnlikePrompt(t,n){let[r,s,a]=Ur(t),i=JSON.stringify({like:n});return(await this.caller.call(async()=>{let o=await this._fetch(`${this.apiUrl}/likes/${r}/${s}`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:i});return await se(o,`${n?"like":"unlike"} prompt`),o})).json()}async _getPromptUrl(t){let[n,r,s]=Ur(t);if(await this._currentTenantIsOwner(n)){let a=await this._getSettings();return s!=="latest"?`${this.getHostUrl()}/prompts/${r}/${s.substring(0,8)}?organizationId=${a.id}`:`${this.getHostUrl()}/prompts/${r}?organizationId=${a.id}`}else return s!=="latest"?`${this.getHostUrl()}/hub/${n}/${r}/${s.substring(0,8)}`:`${this.getHostUrl()}/hub/${n}/${r}`}async promptExists(t){return!!await this.getPrompt(t)}async likePrompt(t){return this._likeOrUnlikePrompt(t,!0)}async unlikePrompt(t){return this._likeOrUnlikePrompt(t,!1)}async*listCommits(t){let[n,r,s]=Ur(t);for await(let a of this._getPaginated(`/commits/${n}/${r}/`,new URLSearchParams,i=>i.commits))yield*a}async*listPrompts(t){let n=new URLSearchParams;n.append("sort_field",t?.sortField??"updated_at"),n.append("sort_direction","desc"),n.append("is_archived",(!!t?.isArchived).toString()),t?.isPublic!==void 0&&n.append("is_public",t.isPublic.toString()),t?.query&&n.append("query",t.query);for await(let r of this._getPaginated("/repos",n,s=>s.repos))yield*r}async getPrompt(t){let[n,r,s]=Ur(t),a=await(await this.caller.call(async()=>{let i=await this._fetch(`${this.apiUrl}/repos/${n}/${r}`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return i?.status===404?null:(await se(i,"get prompt"),i)}))?.json();return a?.repo?a.repo:null}async createPrompt(t,n){let r=await this._getSettings();if(n?.isPublic&&!r.tenant_handle)throw new Error(`Cannot create a public prompt without first
53
+
54
+ creating a LangChain Hub handle.
55
+ You can add a handle by creating a public prompt at:
56
+
57
+ https://smith.langchain.com/prompts`);let[s,a,i]=Ur(t);if(!await this._currentTenantIsOwner(s))throw await this._ownerConflictError("create a prompt",s);let o={repo_handle:a,...n?.description&&{description:n.description},...n?.readme&&{readme:n.readme},...n?.tags&&{tags:n.tags},is_public:!!n?.isPublic},c=JSON.stringify(o),u=await this.caller.call(async()=>{let d=await this._fetch(`${this.apiUrl}/repos/`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:c});return await se(d,"create prompt"),d}),{repo:l}=await u.json();return l}async createCommit(t,n,r){if(!await this.promptExists(t))throw new Error("Prompt does not exist, you must create it first.");let[s,a,i]=Ur(t),o=r?.parentCommitHash==="latest"||!r?.parentCommitHash?await this._getLatestCommitHash(`${s}/${a}`):r?.parentCommitHash,c={manifest:JSON.parse(JSON.stringify(n)),parent_commit:o},u=JSON.stringify(c),l=await(await this.caller.call(async()=>{let d=await this._fetch(`${this.apiUrl}/commits/${s}/${a}`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:u});return await se(d,"create commit"),d})).json();return this._getPromptUrl(`${s}/${a}${l.commit_hash?`:${l.commit_hash}`:""}`)}async updateExamplesMultipart(t,n=[]){return this._updateExamplesMultipart(t,n)}async _updateExamplesMultipart(t,n=[]){if(!await this._getDatasetExamplesMultiPartSupport())throw new Error("Your LangSmith deployment does not allow using the multipart examples endpoint, please upgrade your deployment to the latest version.");let r=new FormData;for(let a of n){let i=a.id,o={...a.metadata&&{metadata:a.metadata},...a.split&&{split:a.split}},c=On(o,`Serializing body for example with id: ${i}`),u=new Blob([c],{type:"application/json"});if(r.append(i,u),a.inputs){let l=On(a.inputs,`Serializing inputs for example with id: ${i}`),d=new Blob([l],{type:"application/json"});r.append(`${i}.inputs`,d)}if(a.outputs){let l=On(a.outputs,`Serializing outputs whle updating example with id: ${i}`),d=new Blob([l],{type:"application/json"});r.append(`${i}.outputs`,d)}if(a.attachments)for(let[l,d]of Object.entries(a.attachments)){let p,h;Array.isArray(d)?[p,h]=d:(p=d.mimeType,h=d.data);let f=new Blob([h],{type:`${p}; length=${h.byteLength}`});r.append(`${i}.attachment.${l}`,f)}if(a.attachments_operations){let l=On(a.attachments_operations,`Serializing attachments while updating example with id: ${i}`),d=new Blob([l],{type:"application/json"});r.append(`${i}.attachments_operations`,d)}}let s=t??n[0]?.dataset_id;return(await this.caller.call(async()=>{let a=await this._fetch(`${this.apiUrl}${this._getPlatformEndpointPath(`datasets/${s}/examples`)}`,{method:"PATCH",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:r});return await se(a,"update examples"),a})).json()}async uploadExamplesMultipart(t,n=[]){return this._uploadExamplesMultipart(t,n)}async _uploadExamplesMultipart(t,n=[]){if(!await this._getDatasetExamplesMultiPartSupport())throw new Error("Your LangSmith deployment does not allow using the multipart examples endpoint, please upgrade your deployment to the latest version.");let r=new FormData;for(let s of n){let a=(s.id??ea()).toString(),i={created_at:s.created_at,...s.metadata&&{metadata:s.metadata},...s.split&&{split:s.split},...s.source_run_id&&{source_run_id:s.source_run_id},...s.use_source_run_io&&{use_source_run_io:s.use_source_run_io},...s.use_source_run_attachments&&{use_source_run_attachments:s.use_source_run_attachments}},o=On(i,`Serializing body for uploaded example with id: ${a}`),c=new Blob([o],{type:"application/json"});if(r.append(a,c),s.inputs){let u=On(s.inputs,`Serializing inputs for uploaded example with id: ${a}`),l=new Blob([u],{type:"application/json"});r.append(`${a}.inputs`,l)}if(s.outputs){let u=On(s.outputs,`Serializing outputs for uploaded example with id: ${a}`),l=new Blob([u],{type:"application/json"});r.append(`${a}.outputs`,l)}if(s.attachments)for(let[u,l]of Object.entries(s.attachments)){let d,p;Array.isArray(l)?[d,p]=l:(d=l.mimeType,p=l.data);let h=new Blob([p],{type:`${d}; length=${p.byteLength}`});r.append(`${a}.attachment.${u}`,h)}}return(await this.caller.call(async()=>{let s=await this._fetch(`${this.apiUrl}${this._getPlatformEndpointPath(`datasets/${t}/examples`)}`,{method:"POST",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:r});return await se(s,"upload examples"),s})).json()}async updatePrompt(t,n){if(!await this.promptExists(t))throw new Error("Prompt does not exist, you must create it first.");let[r,s]=Ur(t);if(!await this._currentTenantIsOwner(r))throw await this._ownerConflictError("update a prompt",r);let a={};if(n?.description!==void 0&&(a.description=n.description),n?.readme!==void 0&&(a.readme=n.readme),n?.tags!==void 0&&(a.tags=n.tags),n?.isPublic!==void 0&&(a.is_public=n.isPublic),n?.isArchived!==void 0&&(a.is_archived=n.isArchived),Object.keys(a).length===0)throw new Error("No valid update options provided");let i=JSON.stringify(a);return(await this.caller.call(async()=>{let o=await this._fetch(`${this.apiUrl}/repos/${r}/${s}`,{method:"PATCH",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:i});return await se(o,"update prompt"),o})).json()}async deletePrompt(t){if(!await this.promptExists(t))throw new Error("Prompt does not exist, you must create it first.");let[n,r,s]=Ur(t);if(!await this._currentTenantIsOwner(n))throw await this._ownerConflictError("delete a prompt",n);return(await this.caller.call(async()=>{let a=await this._fetch(`${this.apiUrl}/repos/${n}/${r}`,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(a,"delete prompt"),a})).json()}_getPromptCacheKey(t,n){return`${t}${n?":with_model":""}`}async _fetchPromptFromApi(t,n){let[r,s,a]=Ur(t),i=await(await this.caller.call(async()=>{let o=await this._fetch(`${this.apiUrl}/commits/${r}/${s}/${a}${n?.includeModel?"?include_model=true":""}`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(o,"pull prompt commit"),o})).json();return{owner:r,repo:s,commit_hash:i.commit_hash,manifest:i.manifest,examples:i.examples}}async pullPromptCommit(t,n){let r=this._fetchPromptFromApi.bind(this,t,n);if(!n?.skipCache&&this._promptCache){let s=this._getPromptCacheKey(t,n?.includeModel),a=this._promptCache.get(s,r);if(a)return a;let i=await r();return this._promptCache.set(s,i,r),i}return this._fetchPromptFromApi(t,n)}async _pullPrompt(t,n){let r=await this.pullPromptCommit(t,{includeModel:n?.includeModel,skipCache:n?.skipCache});return JSON.stringify(r.manifest)}async pushPrompt(t,n){return await this.promptExists(t)?n&&Object.keys(n).some(r=>r!=="object")&&await this.updatePrompt(t,{description:n?.description,readme:n?.readme,tags:n?.tags,isPublic:n?.isPublic}):await this.createPrompt(t,{description:n?.description,readme:n?.readme,tags:n?.tags,isPublic:n?.isPublic}),n?.object?await this.createCommit(t,n?.object,{parentCommitHash:n?.parentCommitHash}):await this._getPromptUrl(t)}async clonePublicDataset(t,n={}){let{sourceApiUrl:r=this.apiUrl,datasetName:s}=n,[a,i]=this.parseTokenOrUrl(t,r),o=new e({apiUrl:a,apiKey:"placeholder"}),c=await o.readSharedDataset(i),u=s||c.name;try{if(await this.hasDataset({datasetId:u})){console.log(`Dataset ${u} already exists in your tenant. Skipping.`);return}}catch{}let l=await o.listSharedExamples(i),d=await this.createDataset(u,{description:c.description,dataType:c.data_type||"kv",inputsSchema:c.inputs_schema_definition??void 0,outputsSchema:c.outputs_schema_definition??void 0});try{await this.createExamples({inputs:l.map(p=>p.inputs),outputs:l.flatMap(p=>p.outputs?[p.outputs]:[]),datasetId:d.id})}catch(p){throw console.error(`An error occurred while creating dataset ${u}. You should delete it manually.`),p}}parseTokenOrUrl(t,n,r=2,s="dataset"){try{return ve(t),[n,t]}catch{}try{let a=new URL(t).pathname.split("/").filter(i=>i!=="");if(a.length>=r){let i=a[a.length-r];return[n,i]}else throw new Error(`Invalid public ${s} URL: ${t}`)}catch{throw new Error(`Invalid public ${s} URL or token: ${t}`)}}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();await new Promise(t=>setTimeout(t,1)),await Promise.all([...this.autoBatchQueue.items.map(({itemPromise:t})=>t),this.batchIngestCaller.queue.onIdle()]),this.langSmithToOTELTranslator!==void 0&&await _N()?.DEFAULT_LANGSMITH_SPAN_PROCESSOR?.forceFlush()}};Object.defineProperty(Si,"_fallbackDirsCreated",{enumerable:!0,configurable:!0,writable:!0,value:new Set});function fw(e){return"dataset_id"in e||"dataset_name"in e}var xP=e=>!!["TRACING_V2","TRACING"].find(t=>Rt(t)==="true"),ws=Symbol.for("lc:context_variables"),ff=Symbol.for("langsmith:replica_trace_roots");function mw(e,t){if(ws in e)return e[ws][t]}function OP(e,t,n){let r=ws in e?e[ws]:{};r[t]=n,e[ws]=r}var SP="6ba7b810-9dad-11d1-80b4-00c04fd430c8";function gw(e){let t=Object.keys(e).sort().map(n=>`${n}:${e[n]??""}`).join("|");return sk(t,SP)}function TP(e){return e.replace(/[-:.]/g,"")}function dx(e,t=1){let n=t.toFixed(0).slice(0,3).padStart(3,"0");return`${new Date(e).toISOString().slice(0,-1)}${n}Z`}function px(e,t,n=1){let r=dx(e,n);return{dottedOrder:TP(r)+t,microsecondPrecisionDatestring:r}}var IP=new Set(["projectName","updates","reroot"]);function EP(e){let t={};for(let n of Object.keys(e))IP.has(n)&&(t[n]=e[n]);return t}var Ml=class e{constructor(t,n,r,s){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=t,this.tags=n,this.project_name=r,this.replicas=s}static fromHeader(t){let n=t.split(","),r={},s=[],a,i;for(let o of n){let[c,u]=o.split("="),l=decodeURIComponent(u);c==="langsmith-metadata"?r=JSON.parse(l):c==="langsmith-tags"?s=l.split(","):c==="langsmith-project"?a=l:c==="langsmith-replicas"&&(i=JSON.parse(l).map(d=>Array.isArray(d)?d:EP(d)))}return new e(r,s,a,i)}toHeader(){let t=[];return this.metadata&&Object.keys(this.metadata).length>0&&t.push(`langsmith-metadata=${encodeURIComponent(JSON.stringify(this.metadata))}`),this.tags&&this.tags.length>0&&t.push(`langsmith-tags=${encodeURIComponent(this.tags.join(","))}`),this.project_name&&t.push(`langsmith-project=${encodeURIComponent(this.project_name)}`),t.join(",")}},Ti=class e{constructor(t){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}),AP(t)){Object.assign(this,{...t});return}let n=e.getDefaultConfig(),{metadata:r,...s}=t,a=s.client??e.getSharedClient(),i={...r,...s?.extra?.metadata};if(s.extra={...s.extra,metadata:i},"id"in s&&s.id==null&&delete s.id,Object.assign(this,{...n,...s,client:a}),this.execution_order??=1,this.child_execution_order??=1,this.dotted_order||(this._serialized_start_time=dx(this.start_time,this.execution_order)),this.id||(this.id=YC(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=PP(this.replicas),!this.dotted_order){let{dottedOrder:o}=px(this.start_time,this.id,this.execution_order);this.parent_run?this.dotted_order=this.parent_run.dotted_order+"."+o:this.dotted_order=o}}set metadata(t){this.extra={...this.extra,metadata:{...this.extra?.metadata,...t}}}get metadata(){return this.extra?.metadata}static getDefaultConfig(){let t=Date.now();return{run_type:"chain",project_name:Zk(),child_runs:[],api_url:Rr("LANGCHAIN_ENDPOINT")??"http://localhost:1984",api_key:Rr("LANGCHAIN_API_KEY"),caller_options:{},start_time:t,serialized:{},inputs:{},extra:{}}}static getSharedClient(){return e.sharedClient||(e.sharedClient=new Si),e.sharedClient}createChild(t){let n=this.child_execution_order+1,r=this.replicas?.map(p=>{let{reroot:h,...f}=p;return f}),s=t.replicas??r,a=new e({...t,parent_run:this,project_name:this.project_name,replicas:s,client:this.client,tracingEnabled:this.tracingEnabled,execution_order:n,child_execution_order:n}),i=this.extra?.metadata??{},o=a.extra?.metadata??{};Object.keys(i).length>0&&(a.extra={...a.extra,metadata:{...i,...o}}),ws in this&&(a[ws]=this[ws]);let c=Symbol.for("lc:child_config"),u=t.extra?.[c]??this.extra[c];if(CP(u)){let p={...u},h=$P(p.callbacks)?p.callbacks.copy?.():void 0;h&&(Object.assign(h,{_parentRunId:a.id}),h.handlers?.find(hx)?.updateFromRunTree?.(a),p.callbacks=h),a.extra[c]=p}let l=new Set,d=this;for(;d!=null&&!l.has(d.id);)l.add(d.id),d.child_execution_order=Math.max(d.child_execution_order,n),d=d.parent_run;return this.child_runs.push(a),a}async end(t,n,r=Date.now(),s){this.outputs=this.outputs??t,this.error=this.error??n,this.end_time=this.end_time??r,s&&Object.keys(s).length>0&&(this.extra=this.extra?{...this.extra,metadata:{...this.extra.metadata,...s}}:{metadata:s})}_convertToCreate(t,n,r=!0){let s=t.extra??{};if(s?.runtime?.library===void 0&&(s.runtime||(s.runtime={}),n))for(let[o,c]of Object.entries(n))s.runtime[o]||(s.runtime[o]=c);let a=t.parent_run?.id??t.parent_run_id,i;return r?i=[]:i=t.child_runs.map(o=>this._convertToCreate(o,n,r)),{id:t.id,name:t.name,start_time:t._serialized_start_time??t.start_time,end_time:t.end_time,run_type:t.run_type,reference_example_id:t.reference_example_id,extra:s,serialized:t.serialized,error:t.error,inputs:t.inputs,outputs:t.outputs,session_name:t.project_name,child_runs:i,parent_run_id:a,trace_id:t.trace_id,dotted_order:t.dotted_order,tags:t.tags,attachments:t.attachments,events:t.events}}_sliceParentId(t,n){if(n.dotted_order){let r=n.dotted_order.split("."),s=null;for(let a=0;a<r.length;a++)if(r[a].slice(-36)===t){s=a;break}if(s!==null){let a=r.slice(s+1);n.dotted_order=a.join("."),a.length>0?n.trace_id=a[0].slice(-36):n.trace_id=n.id}}n.parent_run_id===t&&(n.parent_run_id=void 0)}_setReplicaTraceRoot(t,n){let r=mw(this,ff)??{};r[t]=n,OP(this,ff,r);for(let s of this.child_runs)s._setReplicaTraceRoot(t,n)}_remapForProject(t){let{projectName:n,runtimeEnv:r,excludeChildRuns:s=!0,reroot:a=!1,distributedParentId:i,apiUrl:o,apiKey:c,workspaceId:u}=t,l=this._convertToCreate(this,r,s);if(n===this.project_name)return{...l,session_name:n};if(a){if(i)this._sliceParentId(i,l);else if(l.parent_run_id=void 0,l.dotted_order){let y=l.dotted_order.split(".");y.length>0&&(l.dotted_order=y[y.length-1],l.trace_id=l.id)}let g=gw({projectName:n,apiUrl:o,apiKey:c,workspaceId:u});this._setReplicaTraceRoot(g,l.id)}let d;if(!a){let g=mw(this,ff)??{},y=gw({projectName:n,apiUrl:o,apiKey:c,workspaceId:u});if(d=g[y],d&&(l.trace_id=d,l.dotted_order)){let k=l.dotted_order.split("."),x=null;for(let T=0;T<k.length;T++)if(k[T].slice(-36)===d){x=T;break}if(x!==null){let T=k.slice(x);l.dotted_order=T.join(".")}}}let p=l.id,h=vu(p,n),f;l.trace_id?f=vu(l.trace_id,n):f=h;let m;l.parent_run_id&&(m=vu(l.parent_run_id,n));let v;return l.dotted_order&&(v=l.dotted_order.split(".").map(g=>{let y=g.slice(-36),k=vu(y,n);return g.slice(0,-36)+k}).join(".")),{...l,id:h,trace_id:f,parent_run_id:m,dotted_order:v,session_name:n}}async postRun(t=!0){this._awaitInputsOnPost&&(this.inputs=await this.inputs);try{let n=ex();if(this.replicas&&this.replicas.length>0)for(let{projectName:r,apiKey:s,apiUrl:a,workspaceId:i,reroot:o}of this.replicas){let c=this._remapForProject({projectName:r??this.project_name,runtimeEnv:n,excludeChildRuns:!0,reroot:o,distributedParentId:this.distributedParentId,apiUrl:a,apiKey:s,workspaceId:i});await this.client.createRun(c,{apiKey:s,apiUrl:a,workspaceId:i})}else{let r=this._convertToCreate(this,n,t);await this.client.createRun(r)}if(!t){sl("Posting with excludeChildRuns=false is deprecated and will be removed in a future version.");for(let r of this.child_runs)await r.postRun(!1)}this.child_runs=[]}catch(n){console.error(`Error in postRun for run ${this.id}:`,n)}}async patchRun(t){if(this.replicas&&this.replicas.length>0)for(let{projectName:n,apiKey:r,apiUrl:s,workspaceId:a,updates:i,reroot:o}of this.replicas){let c=this._remapForProject({projectName:n??this.project_name,runtimeEnv:void 0,excludeChildRuns:!0,reroot:o,distributedParentId:this.distributedParentId,apiUrl:s,apiKey:r,workspaceId:a}),u={id:c.id,name:c.name,run_type:c.run_type,start_time:c.start_time,outputs:c.outputs,error:c.error,parent_run_id:c.parent_run_id,session_name:c.session_name,reference_example_id:c.reference_example_id,end_time:c.end_time,dotted_order:c.dotted_order,trace_id:c.trace_id,events:c.events,tags:c.tags,extra:c.extra,attachments:this.attachments,...i};t?.excludeInputs||(u.inputs=c.inputs),await this.client.updateRun(c.id,u,{apiKey:r,apiUrl:s,workspaceId:a})}else try{let n={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};t?.excludeInputs||(n.inputs=this.inputs),await this.client.updateRun(this.id,n)}catch(n){console.error(`Error in patchRun for run ${this.id}`,n)}this.child_runs=[]}toJSON(){return this._convertToCreate(this,void 0,!1)}addEvent(t){this.events||(this.events=[]),typeof t=="string"?this.events.push({name:"event",time:new Date().toISOString(),message:t}):this.events.push({...t,time:t.time??new Date().toISOString()})}static fromRunnableConfig(t,n){let r=t?.callbacks,s,a,i,o=xP();if(r){let c=r?.getParentRunId?.()??"",u=r?.handlers?.find(l=>l?.name=="langchain_tracer");s=u?.getRun?.(c),a=u?.projectName,i=u?.client,o=o||!!u}return s?new e({name:s.name,id:s.id,trace_id:s.trace_id,dotted_order:s.dotted_order,client:i,tracingEnabled:o,project_name:a,tags:[...new Set((s?.tags??[]).concat(t?.tags??[]))],extra:{metadata:{...s?.extra?.metadata,...t?.metadata}}}).createChild(n):new e({...n,client:i,tracingEnabled:o,project_name:a})}static fromDottedOrder(t){return this.fromHeaders({"langsmith-trace":t})}static fromHeaders(t,n){let r="get"in t&&typeof t.get=="function"?{"langsmith-trace":t.get("langsmith-trace"),baggage:t.get("baggage")}:t,s=r["langsmith-trace"];if(!s||typeof s!="string")return;let a=s.trim(),i=a.split(".").map(l=>{let[d,p]=l.split("Z");return{strTime:d,time:Date.parse(d+"Z"),uuid:p}}),o=i[0].uuid,c={...n,name:n?.name??"parent",run_type:n?.run_type??"chain",start_time:n?.start_time??Date.now(),id:i.at(-1)?.uuid,trace_id:o,dotted_order:a};if(r.baggage&&typeof r.baggage=="string"){let l=Ml.fromHeader(r.baggage);c.metadata=l.metadata,c.tags=l.tags,c.project_name=l.project_name,c.replicas=l.replicas}let u=new e(c);return u.distributedParentId=u.id,u}toHeaders(t){let n={"langsmith-trace":this.dotted_order,baggage:new Ml(this.extra?.metadata,this.tags,this.project_name,this.replicas).toHeader()};if(t)for(let[r,s]of Object.entries(n))t.set(r,s);return n}};Object.defineProperty(Ti,"sharedClient",{enumerable:!0,configurable:!0,writable:!0,value:null});function AP(e){return e!=null&&typeof e.createChild=="function"&&typeof e.postRun=="function"}function hx(e){return typeof e=="object"&&e!=null&&typeof e.name=="string"&&e.name==="langchain_tracer"}function yw(e){return Array.isArray(e)&&e.some(t=>hx(t))}function $P(e){return typeof e=="object"&&e!=null&&Array.isArray(e.handlers)}function CP(e){let t=e?.callbacks;return e!=null&&typeof t=="object"&&(yw(t?.handlers)||yw(t))}function NP(){let e=Rr("LANGSMITH_RUNS_ENDPOINTS");if(!e)return[];try{let t=JSON.parse(e);if(Array.isArray(t)){let n=[];for(let r of t){if(typeof r!="object"||r===null){console.warn(`Invalid item type in LANGSMITH_RUNS_ENDPOINTS: expected object, got ${typeof r}`);continue}if(typeof r.api_url!="string"){console.warn(`Invalid api_url type in LANGSMITH_RUNS_ENDPOINTS: expected string, got ${typeof r.api_url}`);continue}if(typeof r.api_key!="string"){console.warn(`Invalid api_key type in LANGSMITH_RUNS_ENDPOINTS: expected string, got ${typeof r.api_key}`);continue}n.push({apiUrl:r.api_url.replace(/\/$/,""),apiKey:r.api_key})}return n}else if(typeof t=="object"&&t!==null){jP(t);let n=[];for(let[r,s]of Object.entries(t)){let a=r.replace(/\/$/,"");if(typeof s=="string")n.push({apiUrl:a,apiKey:s});else{console.warn(`Invalid value type in LANGSMITH_RUNS_ENDPOINTS for URL ${r}: expected string, got ${typeof s}`);continue}}return n}else return console.warn(`Invalid LANGSMITH_RUNS_ENDPOINTS \u2013 must be valid JSON array of objects with api_url and api_key properties, or object mapping url->apiKey, got ${typeof t}`),[]}catch(t){if(lP(t))throw t;return console.warn("Invalid LANGSMITH_RUNS_ENDPOINTS \u2013 must be valid JSON array of objects with api_url and api_key properties, or object mapping url->apiKey"),[]}}function PP(e){return e?e.map(t=>Array.isArray(t)?{projectName:t[0],updates:t[1]}:t):NP()}function jP(e){if(Object.keys(e).length>0&&Rt("ENDPOINT"))throw new vm}var RP=Q({BaseTracer:()=>rs,isBaseTracer:()=>Xa}),MP=e=>{if(e)return e.events=e.events??[],e.child_runs=e.child_runs??[],e};function km(e,t){if(e)return new Ti({...e,start_time:e._serialized_start_time??e.start_time,parent_run:km(t),child_runs:e.child_runs.map(n=>km(n)).filter(n=>n!==void 0),extra:{...e.extra,runtime:mk()},tracingEnabled:!1})}function mf(e,t){return e&&!Array.isArray(e)&&typeof e=="object"?e:{[t]:e}}function Xa(e){return typeof e._addRunToRunMap=="function"}var rs=class extends Ma{runMap=new Map;runTreeMap=new Map;usesRunTreeMap=!1;constructor(e){super(...arguments)}copy(){return this}getRunById(e){if(e!==void 0)return this.usesRunTreeMap?MP(this.runTreeMap.get(e)):this.runMap.get(e)}stringifyError(e){return e instanceof Error?e.message+(e?.stack?`
58
+
59
+ ${e.stack}`:""):typeof e=="string"?e:`${e}`}_addChildRun(e,t){e.child_runs.push(t)}_addRunToRunMap(e){let{dottedOrder:t,microsecondPrecisionDatestring:n}=px(new Date(e.start_time).getTime(),e.id,e.execution_order),r={...e},s=this.getRunById(r.parent_run_id);if(r.parent_run_id!==void 0?s?(this._addChildRun(s,r),s.child_execution_order=Math.max(s.child_execution_order,r.child_execution_order),r.trace_id=s.trace_id,s.dotted_order!==void 0&&(r.dotted_order=[s.dotted_order,t].join("."),r._serialized_start_time=n)):r.parent_run_id=void 0:(r.trace_id=r.id,r.dotted_order=t,r._serialized_start_time=n),this.usesRunTreeMap){let a=km(r,s);a!==void 0&&this.runTreeMap.set(r.id,a)}else this.runMap.set(r.id,r);return r}async _endTrace(e){let t=e.parent_run_id!==void 0&&this.getRunById(e.parent_run_id);t?t.child_execution_order=Math.max(t.child_execution_order,e.child_execution_order):await this.persistRun(e),await this.onRunUpdate?.(e),this.usesRunTreeMap?this.runTreeMap.delete(e.id):this.runMap.delete(e.id)}_getExecutionOrder(e){let t=e!==void 0&&this.getRunById(e);return t?t.child_execution_order+1:1}_createRunForLLMStart(e,t,n,r,s,a,i,o){let c=this._getExecutionOrder(r),u=Date.now(),l=i?{...s,metadata:i}:s,d={id:n,name:o??e.id[e.id.length-1],parent_run_id:r,start_time:u,serialized:e,events:[{name:"start",time:new Date(u).toISOString()}],inputs:{prompts:t},execution_order:c,child_runs:[],child_execution_order:c,run_type:"llm",extra:l??{},tags:a||[]};return this._addRunToRunMap(d)}async handleLLMStart(e,t,n,r,s,a,i,o){let c=this.getRunById(n)??this._createRunForLLMStart(e,t,n,r,s,a,i,o);return await this.onRunCreate?.(c),await this.onLLMStart?.(c),c}_createRunForChatModelStart(e,t,n,r,s,a,i,o){let c=this._getExecutionOrder(r),u=Date.now(),l=i?{...s,metadata:i}:s,d={id:n,name:o??e.id[e.id.length-1],parent_run_id:r,start_time:u,serialized:e,events:[{name:"start",time:new Date(u).toISOString()}],inputs:{messages:t},execution_order:c,child_runs:[],child_execution_order:c,run_type:"llm",extra:l??{},tags:a||[]};return this._addRunToRunMap(d)}async handleChatModelStart(e,t,n,r,s,a,i,o){let c=this.getRunById(n)??this._createRunForChatModelStart(e,t,n,r,s,a,i,o);return await this.onRunCreate?.(c),await this.onLLMStart?.(c),c}async handleLLMEnd(e,t,n,r,s){let a=this.getRunById(t);if(!a||a?.run_type!=="llm")throw new Error("No LLM run to end.");return a.end_time=Date.now(),a.outputs=e,a.events.push({name:"end",time:new Date(a.end_time).toISOString()}),a.extra={...a.extra,...s},await this.onLLMEnd?.(a),await this._endTrace(a),a}async handleLLMError(e,t,n,r,s){let a=this.getRunById(t);if(!a||a?.run_type!=="llm")throw new Error("No LLM run to end.");return a.end_time=Date.now(),a.error=this.stringifyError(e),a.events.push({name:"error",time:new Date(a.end_time).toISOString()}),a.extra={...a.extra,...s},await this.onLLMError?.(a),await this._endTrace(a),a}_createRunForChainStart(e,t,n,r,s,a,i,o,c){let u=this._getExecutionOrder(r),l=Date.now(),d={id:n,name:o??e.id[e.id.length-1],parent_run_id:r,start_time:l,serialized:e,events:[{name:"start",time:new Date(l).toISOString()}],inputs:t,execution_order:u,child_execution_order:u,run_type:i??"chain",child_runs:[],extra:a?{...c,metadata:a}:{...c},tags:s||[]};return this._addRunToRunMap(d)}async handleChainStart(e,t,n,r,s,a,i,o){let c=this.getRunById(n)??this._createRunForChainStart(e,t,n,r,s,a,i,o);return await this.onRunCreate?.(c),await this.onChainStart?.(c),c}async handleChainEnd(e,t,n,r,s){let a=this.getRunById(t);if(!a)throw new Error("No chain run to end.");return a.end_time=Date.now(),a.outputs=mf(e,"output"),a.events.push({name:"end",time:new Date(a.end_time).toISOString()}),s?.inputs!==void 0&&(a.inputs=mf(s.inputs,"input")),await this.onChainEnd?.(a),await this._endTrace(a),a}async handleChainError(e,t,n,r,s){let a=this.getRunById(t);if(!a)throw new Error("No chain run to end.");return a.end_time=Date.now(),a.error=this.stringifyError(e),a.events.push({name:"error",time:new Date(a.end_time).toISOString()}),s?.inputs!==void 0&&(a.inputs=mf(s.inputs,"input")),await this.onChainError?.(a),await this._endTrace(a),a}_createRunForToolStart(e,t,n,r,s,a,i){let o=this._getExecutionOrder(r),c=Date.now(),u={id:n,name:i??e.id[e.id.length-1],parent_run_id:r,start_time:c,serialized:e,events:[{name:"start",time:new Date(c).toISOString()}],inputs:{input:t},execution_order:o,child_execution_order:o,run_type:"tool",child_runs:[],extra:a?{metadata:a}:{},tags:s||[]};return this._addRunToRunMap(u)}async handleToolStart(e,t,n,r,s,a,i){let o=this.getRunById(n)??this._createRunForToolStart(e,t,n,r,s,a,i);return await this.onRunCreate?.(o),await this.onToolStart?.(o),o}async handleToolEnd(e,t){let n=this.getRunById(t);if(!n||n?.run_type!=="tool")throw new Error("No tool run to end");return n.end_time=Date.now(),n.outputs={output:e},n.events.push({name:"end",time:new Date(n.end_time).toISOString()}),await this.onToolEnd?.(n),await this._endTrace(n),n}async handleToolError(e,t){let n=this.getRunById(t);if(!n||n?.run_type!=="tool")throw new Error("No tool run to end");return n.end_time=Date.now(),n.error=this.stringifyError(e),n.events.push({name:"error",time:new Date(n.end_time).toISOString()}),await this.onToolError?.(n),await this._endTrace(n),n}async handleAgentAction(e,t){let n=this.getRunById(t);if(!n||n?.run_type!=="chain")return;let r=n;r.actions=r.actions||[],r.actions.push(e),r.events.push({name:"agent_action",time:new Date().toISOString(),kwargs:{action:e}}),await this.onAgentAction?.(n)}async handleAgentEnd(e,t){let n=this.getRunById(t);!n||n?.run_type!=="chain"||(n.events.push({name:"agent_end",time:new Date().toISOString(),kwargs:{action:e}}),await this.onAgentEnd?.(n))}_createRunForRetrieverStart(e,t,n,r,s,a,i){let o=this._getExecutionOrder(r),c=Date.now(),u={id:n,name:i??e.id[e.id.length-1],parent_run_id:r,start_time:c,serialized:e,events:[{name:"start",time:new Date(c).toISOString()}],inputs:{query:t},execution_order:o,child_execution_order:o,run_type:"retriever",child_runs:[],extra:a?{metadata:a}:{},tags:s||[]};return this._addRunToRunMap(u)}async handleRetrieverStart(e,t,n,r,s,a,i){let o=this.getRunById(n)??this._createRunForRetrieverStart(e,t,n,r,s,a,i);return await this.onRunCreate?.(o),await this.onRetrieverStart?.(o),o}async handleRetrieverEnd(e,t){let n=this.getRunById(t);if(!n||n?.run_type!=="retriever")throw new Error("No retriever run to end");return n.end_time=Date.now(),n.outputs={documents:e},n.events.push({name:"end",time:new Date(n.end_time).toISOString()}),await this.onRetrieverEnd?.(n),await this._endTrace(n),n}async handleRetrieverError(e,t){let n=this.getRunById(t);if(!n||n?.run_type!=="retriever")throw new Error("No retriever run to end");return n.end_time=Date.now(),n.error=this.stringifyError(e),n.events.push({name:"error",time:new Date(n.end_time).toISOString()}),await this.onRetrieverError?.(n),await this._endTrace(n),n}async handleText(e,t){let n=this.getRunById(t);!n||n?.run_type!=="chain"||(n.events.push({name:"text",time:new Date().toISOString(),kwargs:{text:e}}),await this.onText?.(n))}async handleLLMNewToken(e,t,n,r,s,a){let i=this.getRunById(n);if(!i||i?.run_type!=="llm")throw new Error('Invalid "runId" provided to "handleLLMNewToken" callback.');return i.events.push({name:"new_token",time:new Date().toISOString(),kwargs:{token:e,idx:t,chunk:a?.chunk}}),await this.onLLMNewToken?.(i,e,{chunk:a?.chunk}),i}},xm={exports:{}};xm.exports;var _w;function LP(){return _w||(_w=1,(function(e){let t=(s=0)=>a=>`\x1B[${38+s};5;${a}m`,n=(s=0)=>(a,i,o)=>`\x1B[${38+s};2;${a};${i};${o}m`;function r(){let s=new Map,a={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};a.color.gray=a.color.blackBright,a.bgColor.bgGray=a.bgColor.bgBlackBright,a.color.grey=a.color.blackBright,a.bgColor.bgGrey=a.bgColor.bgBlackBright;for(let[i,o]of Object.entries(a)){for(let[c,u]of Object.entries(o))a[c]={open:`\x1B[${u[0]}m`,close:`\x1B[${u[1]}m`},o[c]=a[c],s.set(u[0],u[1]);Object.defineProperty(a,i,{value:o,enumerable:!1})}return Object.defineProperty(a,"codes",{value:s,enumerable:!1}),a.color.close="\x1B[39m",a.bgColor.close="\x1B[49m",a.color.ansi256=t(),a.color.ansi16m=n(),a.bgColor.ansi256=t(10),a.bgColor.ansi16m=n(10),Object.defineProperties(a,{rgbToAnsi256:{value:(i,o,c)=>i===o&&o===c?i<8?16:i>248?231:Math.round((i-8)/247*24)+232:16+36*Math.round(i/255*5)+6*Math.round(o/255*5)+Math.round(c/255*5),enumerable:!1},hexToRgb:{value:i=>{let o=/(?<colorString>[a-f\d]{6}|[a-f\d]{3})/i.exec(i.toString(16));if(!o)return[0,0,0];let{colorString:c}=o.groups;c.length===3&&(c=c.split("").map(l=>l+l).join(""));let u=Number.parseInt(c,16);return[u>>16&255,u>>8&255,u&255]},enumerable:!1},hexToAnsi256:{value:i=>a.rgbToAnsi256(...a.hexToRgb(i)),enumerable:!1}}),a}Object.defineProperty(e,"exports",{enumerable:!0,get:r})})(xm)),xm.exports}var zP=LP(),fx=Ba(zP),UP=Q({ConsoleCallbackHandler:()=>Om});function Jt(e,t){return`${e.open}${t}${e.close}`}function Ln(e,t){try{return JSON.stringify(e,null,2)}catch{return t}}function vw(e){return typeof e=="string"?e.trim():e==null?e:Ln(e,e.toString())}function ss(e){if(!e.end_time)return"";let t=e.end_time-e.start_time;return t<1e3?`${t}ms`:`${(t/1e3).toFixed(2)}s`}var{color:ln}=fx,Om=class extends rs{name="console_callback_handler";persistRun(e){return Promise.resolve()}getParents(e){let t=[],n=e;for(;n.parent_run_id;){let r=this.runMap.get(n.parent_run_id);if(r)t.push(r),n=r;else break}return t}getBreadcrumbs(e){let t=[...this.getParents(e).reverse(),e].map((n,r,s)=>{let a=`${n.execution_order}:${n.run_type}:${n.name}`;return r===s.length-1?Jt(fx.bold,a):a}).join(" > ");return Jt(ln.grey,t)}onChainStart(e){let t=this.getBreadcrumbs(e);console.log(`${Jt(ln.green,"[chain/start]")} [${t}] Entering Chain run with input: ${Ln(e.inputs,"[inputs]")}`)}onChainEnd(e){let t=this.getBreadcrumbs(e);console.log(`${Jt(ln.cyan,"[chain/end]")} [${t}] [${ss(e)}] Exiting Chain run with output: ${Ln(e.outputs,"[outputs]")}`)}onChainError(e){let t=this.getBreadcrumbs(e);console.log(`${Jt(ln.red,"[chain/error]")} [${t}] [${ss(e)}] Chain run errored with error: ${Ln(e.error,"[error]")}`)}onLLMStart(e){let t=this.getBreadcrumbs(e),n="prompts"in e.inputs?{prompts:e.inputs.prompts.map(r=>r.trim())}:e.inputs;console.log(`${Jt(ln.green,"[llm/start]")} [${t}] Entering LLM run with input: ${Ln(n,"[inputs]")}`)}onLLMEnd(e){let t=this.getBreadcrumbs(e);console.log(`${Jt(ln.cyan,"[llm/end]")} [${t}] [${ss(e)}] Exiting LLM run with output: ${Ln(e.outputs,"[response]")}`)}onLLMError(e){let t=this.getBreadcrumbs(e);console.log(`${Jt(ln.red,"[llm/error]")} [${t}] [${ss(e)}] LLM run errored with error: ${Ln(e.error,"[error]")}`)}onToolStart(e){let t=this.getBreadcrumbs(e);console.log(`${Jt(ln.green,"[tool/start]")} [${t}] Entering Tool run with input: "${vw(e.inputs.input)}"`)}onToolEnd(e){let t=this.getBreadcrumbs(e);console.log(`${Jt(ln.cyan,"[tool/end]")} [${t}] [${ss(e)}] Exiting Tool run with output: "${vw(e.outputs?.output)}"`)}onToolError(e){let t=this.getBreadcrumbs(e);console.log(`${Jt(ln.red,"[tool/error]")} [${t}] [${ss(e)}] Tool run errored with error: ${Ln(e.error,"[error]")}`)}onRetrieverStart(e){let t=this.getBreadcrumbs(e);console.log(`${Jt(ln.green,"[retriever/start]")} [${t}] Entering Retriever run with input: ${Ln(e.inputs,"[inputs]")}`)}onRetrieverEnd(e){let t=this.getBreadcrumbs(e);console.log(`${Jt(ln.cyan,"[retriever/end]")} [${t}] [${ss(e)}] Exiting Retriever run with output: ${Ln(e.outputs,"[outputs]")}`)}onRetrieverError(e){let t=this.getBreadcrumbs(e);console.log(`${Jt(ln.red,"[retriever/error]")} [${t}] [${ss(e)}] Retriever run errored with error: ${Ln(e.error,"[error]")}`)}onAgentAction(e){let t=e,n=this.getBreadcrumbs(e);console.log(`${Jt(ln.blue,"[agent/action]")} [${n}] Agent selected action: ${Ln(t.actions[t.actions.length-1],"[action]")}`)}},gf,mx=()=>(gf===void 0&&(gf=new Si(dr("LANGCHAIN_CALLBACKS_BACKGROUND")==="false"?{blockOnRootRunFinalization:!0}:{})),gf),DP=class{getStore(){}run(e,t){return t()}},yf=Symbol.for("ls:tracing_async_local_storage"),FP=new DP,BP=class{getInstance(){return globalThis[yf]??FP}initializeGlobalInstance(e){globalThis[yf]===void 0&&(globalThis[yf]=e)}},ZP=new BP;function VP(e=!1){let t=ZP.getInstance().getStore();if(!e&&t===void 0)throw new Error(`Could not get the current run tree.
60
+
61
+ Please make sure you are calling this method within a traceable function and that tracing is enabled.`);return t}function Ry(e){return typeof e=="function"&&"langsmith:traceable"in e}var qP=Q({LangChainTracer:()=>Sm});function HP(e){let t;for(let n of e)for(let r of n)Qe.isInstance(r.message)&&r.message.usage_metadata!==void 0&&(t=ky(t,r.message.usage_metadata));return t}var Sm=class gx extends rs{name="langchain_tracer";projectName;exampleId;client;replicas;usesRunTreeMap=!0;constructor(t={}){super(t);let{exampleId:n,projectName:r,client:s,replicas:a}=t;this.projectName=r??Zk(),this.replicas=a,this.exampleId=n,this.client=s??mx();let i=gx.getTraceableRunTree();i&&this.updateFromRunTree(i)}async persistRun(t){}async onRunCreate(t){t.extra?.lc_defers_inputs||await this.getRunTreeWithTracingConfig(t.id)?.postRun()}async onRunUpdate(t){let n=this.getRunTreeWithTracingConfig(t.id);t.extra?.lc_defers_inputs?await n?.postRun():await n?.patchRun()}onLLMEnd(t){let n=t.outputs;if(n?.generations){let r=HP(n.generations);if(r!==void 0){t.extra=t.extra??{};let s=t.extra.metadata??{};s.usage_metadata=r,t.extra.metadata=s}}}getRun(t){return this.runTreeMap.get(t)}updateFromRunTree(t){this.runTreeMap.set(t.id,t);let n=t,r=new Set;for(;n.parent_run&&!(r.has(n.id)||(r.add(n.id),!n.parent_run));)n=n.parent_run;r.clear();let s=[n];for(;s.length>0;){let a=s.shift();!a||r.has(a.id)||(r.add(a.id),this.runTreeMap.set(a.id,a),a.child_runs&&s.push(...a.child_runs))}this.client=t.client??this.client,this.replicas=t.replicas??this.replicas,this.projectName=t.project_name??this.projectName,this.exampleId=t.reference_example_id??this.exampleId}getRunTreeWithTracingConfig(t){let n=this.runTreeMap.get(t);if(n)return new Ti({...n,client:this.client,project_name:this.projectName,replicas:this.replicas,reference_example_id:this.exampleId,tracingEnabled:!0})}static getTraceableRunTree(){try{return VP(!0)}catch{return}}},yx=Symbol.for("ls:tracing_async_local_storage"),Zo=Symbol.for("lc:context_variables"),WP=e=>{globalThis[yx]=e},tc=()=>globalThis[yx],la;function JP(){return new("default"in Kr?Kr.default:Kr)({autoStart:!0,concurrency:1})}function GP(){return typeof la>"u"&&(la=JP()),la}async function _t(e,t){if(t===!0){let n=tc();n!==void 0?await n.run(void 0,async()=>e()):await e()}else la=GP(),la.add(async()=>{let n=tc();n!==void 0?await n.run(void 0,async()=>e()):await e()})}async function KP(){let e=mx();await Promise.allSettled([typeof la<"u"?la.onIdle():Promise.resolve(),e.awaitPendingTraceBatches()])}var XP=Q({awaitAllCallbacks:()=>KP,consumeCallback:()=>_t}),YP=e=>!!["LANGSMITH_TRACING_V2","LANGCHAIN_TRACING_V2","LANGSMITH_TRACING","LANGCHAIN_TRACING"].find(t=>dr(t)==="true");function _x(e){let t=tc();if(t!==void 0)return t.getStore()?.[Zo]?.[e]}var QP=Symbol("lc:configure_hooks"),ej=()=>_x(QP)||[],tj=Q({BaseCallbackManager:()=>vx,BaseRunManager:()=>Kc,CallbackManager:()=>nn,CallbackManagerForChainRun:()=>bx,CallbackManagerForLLMRun:()=>Tm,CallbackManagerForRetrieverRun:()=>wx,CallbackManagerForToolRun:()=>kx,ensureHandler:()=>nc,parseCallbackConfigArg:()=>Gc});function Gc(e){return e?Array.isArray(e)||"name"in e?{callbacks:e}:e:{}}var vx=class{setHandler(e){return this.setHandlers([e])}},Kc=class{constructor(e,t,n,r,s,a,i,o){this.runId=e,this.handlers=t,this.inheritableHandlers=n,this.tags=r,this.inheritableTags=s,this.metadata=a,this.inheritableMetadata=i,this._parentRunId=o}get parentRunId(){return this._parentRunId}async handleText(e){await Promise.all(this.handlers.map(t=>_t(async()=>{try{await t.handleText?.(e,this.runId,this._parentRunId,this.tags)}catch(n){if((t.raiseError?console.error:console.warn)(`Error in handler ${t.constructor.name}, handleText: ${n}`),t.raiseError)throw n}},t.awaitHandlers)))}async handleCustomEvent(e,t,n,r,s){await Promise.all(this.handlers.map(a=>_t(async()=>{try{await a.handleCustomEvent?.(e,t,this.runId,this.tags,this.metadata)}catch(i){if((a.raiseError?console.error:console.warn)(`Error in handler ${a.constructor.name}, handleCustomEvent: ${i}`),a.raiseError)throw i}},a.awaitHandlers)))}},wx=class extends Kc{getChild(e){let t=new nn(this.runId);return t.setHandlers(this.inheritableHandlers),t.addTags(this.inheritableTags),t.addMetadata(this.inheritableMetadata),e&&t.addTags([e],!1),t}async handleRetrieverEnd(e){await Promise.all(this.handlers.map(t=>_t(async()=>{if(!t.ignoreRetriever)try{await t.handleRetrieverEnd?.(e,this.runId,this._parentRunId,this.tags)}catch(n){if((t.raiseError?console.error:console.warn)(`Error in handler ${t.constructor.name}, handleRetriever`),t.raiseError)throw n}},t.awaitHandlers)))}async handleRetrieverError(e){await Promise.all(this.handlers.map(t=>_t(async()=>{if(!t.ignoreRetriever)try{await t.handleRetrieverError?.(e,this.runId,this._parentRunId,this.tags)}catch(n){if((t.raiseError?console.error:console.warn)(`Error in handler ${t.constructor.name}, handleRetrieverError: ${n}`),t.raiseError)throw e}},t.awaitHandlers)))}},Tm=class extends Kc{async handleLLMNewToken(e,t,n,r,s,a){await Promise.all(this.handlers.map(i=>_t(async()=>{if(!i.ignoreLLM)try{await i.handleLLMNewToken?.(e,t??{prompt:0,completion:0},this.runId,this._parentRunId,this.tags,a)}catch(o){if((i.raiseError?console.error:console.warn)(`Error in handler ${i.constructor.name}, handleLLMNewToken: ${o}`),i.raiseError)throw o}},i.awaitHandlers)))}async handleLLMError(e,t,n,r,s){await Promise.all(this.handlers.map(a=>_t(async()=>{if(!a.ignoreLLM)try{await a.handleLLMError?.(e,this.runId,this._parentRunId,this.tags,s)}catch(i){if((a.raiseError?console.error:console.warn)(`Error in handler ${a.constructor.name}, handleLLMError: ${i}`),a.raiseError)throw i}},a.awaitHandlers)))}async handleLLMEnd(e,t,n,r,s){await Promise.all(this.handlers.map(a=>_t(async()=>{if(!a.ignoreLLM)try{await a.handleLLMEnd?.(e,this.runId,this._parentRunId,this.tags,s)}catch(i){if((a.raiseError?console.error:console.warn)(`Error in handler ${a.constructor.name}, handleLLMEnd: ${i}`),a.raiseError)throw i}},a.awaitHandlers)))}},bx=class extends Kc{getChild(e){let t=new nn(this.runId);return t.setHandlers(this.inheritableHandlers),t.addTags(this.inheritableTags),t.addMetadata(this.inheritableMetadata),e&&t.addTags([e],!1),t}async handleChainError(e,t,n,r,s){await Promise.all(this.handlers.map(a=>_t(async()=>{if(!a.ignoreChain)try{await a.handleChainError?.(e,this.runId,this._parentRunId,this.tags,s)}catch(i){if((a.raiseError?console.error:console.warn)(`Error in handler ${a.constructor.name}, handleChainError: ${i}`),a.raiseError)throw i}},a.awaitHandlers)))}async handleChainEnd(e,t,n,r,s){await Promise.all(this.handlers.map(a=>_t(async()=>{if(!a.ignoreChain)try{await a.handleChainEnd?.(e,this.runId,this._parentRunId,this.tags,s)}catch(i){if((a.raiseError?console.error:console.warn)(`Error in handler ${a.constructor.name}, handleChainEnd: ${i}`),a.raiseError)throw i}},a.awaitHandlers)))}async handleAgentAction(e){await Promise.all(this.handlers.map(t=>_t(async()=>{if(!t.ignoreAgent)try{await t.handleAgentAction?.(e,this.runId,this._parentRunId,this.tags)}catch(n){if((t.raiseError?console.error:console.warn)(`Error in handler ${t.constructor.name}, handleAgentAction: ${n}`),t.raiseError)throw n}},t.awaitHandlers)))}async handleAgentEnd(e){await Promise.all(this.handlers.map(t=>_t(async()=>{if(!t.ignoreAgent)try{await t.handleAgentEnd?.(e,this.runId,this._parentRunId,this.tags)}catch(n){if((t.raiseError?console.error:console.warn)(`Error in handler ${t.constructor.name}, handleAgentEnd: ${n}`),t.raiseError)throw n}},t.awaitHandlers)))}},kx=class extends Kc{getChild(e){let t=new nn(this.runId);return t.setHandlers(this.inheritableHandlers),t.addTags(this.inheritableTags),t.addMetadata(this.inheritableMetadata),e&&t.addTags([e],!1),t}async handleToolError(e){await Promise.all(this.handlers.map(t=>_t(async()=>{if(!t.ignoreAgent)try{await t.handleToolError?.(e,this.runId,this._parentRunId,this.tags)}catch(n){if((t.raiseError?console.error:console.warn)(`Error in handler ${t.constructor.name}, handleToolError: ${n}`),t.raiseError)throw n}},t.awaitHandlers)))}async handleToolEvent(e){await Promise.all(this.handlers.map(t=>_t(async()=>{if(!t.ignoreAgent)try{await t.handleToolEvent?.(e,this.runId,this._parentRunId,this.tags)}catch(n){if(t.raiseError)throw n}},t.awaitHandlers)))}async handleToolEnd(e){await Promise.all(this.handlers.map(t=>_t(async()=>{if(!t.ignoreAgent)try{await t.handleToolEnd?.(e,this.runId,this._parentRunId,this.tags)}catch(n){if((t.raiseError?console.error:console.warn)(`Error in handler ${t.constructor.name}, handleToolEnd: ${n}`),t.raiseError)throw n}},t.awaitHandlers)))}},nn=class bo extends vx{handlers=[];inheritableHandlers=[];tags=[];inheritableTags=[];metadata={};inheritableMetadata={};name="callback_manager";_parentRunId;constructor(t,n){super(),this.handlers=n?.handlers??this.handlers,this.inheritableHandlers=n?.inheritableHandlers??this.inheritableHandlers,this.tags=n?.tags??this.tags,this.inheritableTags=n?.inheritableTags??this.inheritableTags,this.metadata=n?.metadata??this.metadata,this.inheritableMetadata=n?.inheritableMetadata??this.inheritableMetadata,this._parentRunId=t}getParentRunId(){return this._parentRunId}async handleLLMStart(t,n,r=void 0,s=void 0,a=void 0,i=void 0,o=void 0,c=void 0){return Promise.all(n.map(async(u,l)=>{let d=l===0&&r?r:ls();return await Promise.all(this.handlers.map(p=>{if(!p.ignoreLLM)return Xa(p)&&p._createRunForLLMStart(t,[u],d,this._parentRunId,a,this.tags,this.metadata,c),_t(async()=>{try{await p.handleLLMStart?.(t,[u],d,this._parentRunId,a,this.tags,this.metadata,c)}catch(h){if((p.raiseError?console.error:console.warn)(`Error in handler ${p.constructor.name}, handleLLMStart: ${h}`),p.raiseError)throw h}},p.awaitHandlers)})),new Tm(d,this.handlers,this.inheritableHandlers,this.tags,this.inheritableTags,this.metadata,this.inheritableMetadata,this._parentRunId)}))}async handleChatModelStart(t,n,r=void 0,s=void 0,a=void 0,i=void 0,o=void 0,c=void 0){return Promise.all(n.map(async(u,l)=>{let d=l===0&&r?r:ls();return await Promise.all(this.handlers.map(p=>{if(!p.ignoreLLM)return Xa(p)&&p._createRunForChatModelStart(t,[u],d,this._parentRunId,a,this.tags,this.metadata,c),_t(async()=>{try{if(p.handleChatModelStart)await p.handleChatModelStart?.(t,[u],d,this._parentRunId,a,this.tags,this.metadata,c);else if(p.handleLLMStart){let h=xy(u);await p.handleLLMStart?.(t,[h],d,this._parentRunId,a,this.tags,this.metadata,c)}}catch(h){if((p.raiseError?console.error:console.warn)(`Error in handler ${p.constructor.name}, handleLLMStart: ${h}`),p.raiseError)throw h}},p.awaitHandlers)})),new Tm(d,this.handlers,this.inheritableHandlers,this.tags,this.inheritableTags,this.metadata,this.inheritableMetadata,this._parentRunId)}))}async handleChainStart(t,n,r=ls(),s=void 0,a=void 0,i=void 0,o=void 0,c=void 0,u=void 0){return await Promise.all(this.handlers.map(l=>{if(!l.ignoreChain)return Xa(l)&&l._createRunForChainStart(t,n,r,this._parentRunId,this.tags,this.metadata,s,o,u),_t(async()=>{try{await l.handleChainStart?.(t,n,r,this._parentRunId,this.tags,this.metadata,s,o,u)}catch(d){if((l.raiseError?console.error:console.warn)(`Error in handler ${l.constructor.name}, handleChainStart: ${d}`),l.raiseError)throw d}},l.awaitHandlers)})),new bx(r,this.handlers,this.inheritableHandlers,this.tags,this.inheritableTags,this.metadata,this.inheritableMetadata,this._parentRunId)}async handleToolStart(t,n,r=ls(),s=void 0,a=void 0,i=void 0,o=void 0,c=void 0){return await Promise.all(this.handlers.map(u=>{if(!u.ignoreAgent)return Xa(u)&&u._createRunForToolStart(t,n,r,this._parentRunId,this.tags,this.metadata,o),_t(async()=>{try{await u.handleToolStart?.(t,n,r,this._parentRunId,this.tags,this.metadata,o,c)}catch(l){if((u.raiseError?console.error:console.warn)(`Error in handler ${u.constructor.name}, handleToolStart: ${l}`),u.raiseError)throw l}},u.awaitHandlers)})),new kx(r,this.handlers,this.inheritableHandlers,this.tags,this.inheritableTags,this.metadata,this.inheritableMetadata,this._parentRunId)}async handleRetrieverStart(t,n,r=ls(),s=void 0,a=void 0,i=void 0,o=void 0){return await Promise.all(this.handlers.map(c=>{if(!c.ignoreRetriever)return Xa(c)&&c._createRunForRetrieverStart(t,n,r,this._parentRunId,this.tags,this.metadata,o),_t(async()=>{try{await c.handleRetrieverStart?.(t,n,r,this._parentRunId,this.tags,this.metadata,o)}catch(u){if((c.raiseError?console.error:console.warn)(`Error in handler ${c.constructor.name}, handleRetrieverStart: ${u}`),c.raiseError)throw u}},c.awaitHandlers)})),new wx(r,this.handlers,this.inheritableHandlers,this.tags,this.inheritableTags,this.metadata,this.inheritableMetadata,this._parentRunId)}async handleCustomEvent(t,n,r,s,a){await Promise.all(this.handlers.map(i=>_t(async()=>{if(!i.ignoreCustomEvent)try{await i.handleCustomEvent?.(t,n,r,this.tags,this.metadata)}catch(o){if((i.raiseError?console.error:console.warn)(`Error in handler ${i.constructor.name}, handleCustomEvent: ${o}`),i.raiseError)throw o}},i.awaitHandlers)))}addHandler(t,n=!0){this.handlers.push(t),n&&this.inheritableHandlers.push(t)}removeHandler(t){this.handlers=this.handlers.filter(n=>n!==t),this.inheritableHandlers=this.inheritableHandlers.filter(n=>n!==t)}setHandlers(t,n=!0){this.handlers=[],this.inheritableHandlers=[];for(let r of t)this.addHandler(r,n)}addTags(t,n=!0){this.removeTags(t),this.tags.push(...t),n&&this.inheritableTags.push(...t)}removeTags(t){this.tags=this.tags.filter(n=>!t.includes(n)),this.inheritableTags=this.inheritableTags.filter(n=>!t.includes(n))}addMetadata(t,n=!0){this.metadata={...this.metadata,...t},n&&(this.inheritableMetadata={...this.inheritableMetadata,...t})}removeMetadata(t){for(let n of Object.keys(t))delete this.metadata[n],delete this.inheritableMetadata[n]}copy(t=[],n=!0){let r=new bo(this._parentRunId);for(let s of this.handlers){let a=this.inheritableHandlers.includes(s);r.addHandler(s,a)}for(let s of this.tags){let a=this.inheritableTags.includes(s);r.addTags([s],a)}for(let s of Object.keys(this.metadata)){let a=Object.keys(this.inheritableMetadata).includes(s);r.addMetadata({[s]:this.metadata[s]},a)}for(let s of t)r.handlers.filter(a=>a.name==="console_callback_handler").some(a=>a.name===s.name)||r.addHandler(s,n);return r}static fromHandlers(t){class n extends Ma{name=ls();constructor(){super(),Object.assign(this,t)}}let r=new this;return r.addHandler(new n),r}static configure(t,n,r,s,a,i,o){return this._configureSync(t,n,r,s,a,i,o)}static _configureSync(t,n,r,s,a,i,o){let c;(t||n)&&(Array.isArray(t)||!t?(c=new bo,c.setHandlers(t?.map(nc)??[],!0)):c=t,c=c.copy(Array.isArray(n)?n.map(nc):n?.handlers,!1));let u=dr("LANGCHAIN_VERBOSE")==="true"||o?.verbose,l=Sm.getTraceableRunTree(),d=l?.tracingEnabled??YP();if(l?.tracingEnabled===!1&&c){let h=c.handlers.filter(f=>f.name==="langchain_tracer");for(let f of h)c.removeHandler(f)}let p=d||(dr("LANGCHAIN_TRACING")??!1);if(u||p){if(c||(c=new bo),u&&!c.handlers.some(h=>h.name===Om.prototype.name)){let h=new Om;c.addHandler(h,!0)}if(p&&!c.handlers.some(h=>h.name==="langchain_tracer")&&d){let h=new Sm;c.addHandler(h,!0)}d&&l&&c._parentRunId===void 0&&(c._parentRunId=l.id,c.handlers.find(h=>h.name==="langchain_tracer")?.updateFromRunTree(l))}for(let{contextVar:h,inheritable:f=!0,handlerClass:m,envVar:v}of ej()){let g=v&&dr(v)==="true"&&m,y,k=h!==void 0?_x(h):void 0;k&&Fk(k)?y=k:g&&(y=new m({})),y!==void 0&&(c||(c=new bo),c.handlers.some(x=>x.name===y.name)||c.addHandler(y,f))}return(r||s)&&c&&(c.addTags(r??[]),c.addTags(s??[],!1)),(a||i)&&c&&(c.addMetadata(a??{}),c.addMetadata(i??{},!1)),c}};function nc(e){return"name"in e?e:Ma.fromMethods(e)}var xx=class{getStore(){}run(e,t){return t()}enterWith(e){}},nj=new xx,ww=Symbol.for("lc:child_config"),rj=class{getInstance(){return tc()??nj}getRunnableConfig(){return this.getInstance().getStore()?.extra?.[ww]}runWithConfig(e,t,n){let r=nn._configureSync(e?.callbacks,void 0,e?.tags,void 0,e?.metadata),s=this.getInstance(),a=s.getStore(),i=r?.getParentRunId(),o=r?.handlers?.find(u=>u?.name==="langchain_tracer"),c;return o&&i?c=o.getRunTreeWithTracingConfig(i):n||(c=new Ti({name:"<runnable_lambda>",tracingEnabled:!1})),c&&(c.extra={...c.extra,[ww]:e}),a!==void 0&&a[Zo]!==void 0&&(c===void 0&&(c={}),c[Zo]=a[Zo]),s.run(c,t)}initializeGlobalInstance(e){tc()===void 0&&WP(e)}},zt=new rj,sj=Q({AsyncLocalStorageProviderSingleton:()=>zt,MockAsyncLocalStorage:()=>xx,_CONTEXT_VARIABLES_KEY:()=>Zo});async function rn(e){return nn._configureSync(e?.callbacks,void 0,e?.tags,void 0,e?.metadata)}function Fn(...e){let t={};for(let n of e.filter(r=>!!r))for(let r of Object.keys(n))if(r==="metadata")t[r]={...t[r],...n[r]};else if(r==="tags"){let s=t[r]??[];t[r]=[...new Set(s.concat(n[r]??[]))]}else if(r==="configurable")t[r]={...t[r],...n[r]};else if(r==="timeout")t.timeout===void 0?t.timeout=n.timeout:n.timeout!==void 0&&(t.timeout=Math.min(t.timeout,n.timeout));else if(r==="signal")t.signal===void 0?t.signal=n.signal:n.signal!==void 0&&("any"in AbortSignal?t.signal=AbortSignal.any([t.signal,n.signal]):t.signal=n.signal);else if(r==="callbacks"){let s=t.callbacks,a=n.callbacks;if(Array.isArray(a))if(!s)t.callbacks=a;else if(Array.isArray(s))t.callbacks=s.concat(a);else{let i=s.copy();for(let o of a)i.addHandler(nc(o),!0);t.callbacks=i}else if(a)if(!s)t.callbacks=a;else if(Array.isArray(s)){let i=a.copy();for(let o of s)i.addHandler(nc(o),!0);t.callbacks=i}else t.callbacks=new nn(a._parentRunId,{handlers:s.handlers.concat(a.handlers),inheritableHandlers:s.inheritableHandlers.concat(a.inheritableHandlers),tags:Array.from(new Set(s.tags.concat(a.tags))),inheritableTags:Array.from(new Set(s.inheritableTags.concat(a.inheritableTags))),metadata:{...s.metadata,...a.metadata}})}else{let s=r;t[s]=n[s]??t[s]}return t}var aj=new Set(["string","number","boolean"]);function Le(e){let t=zt.getRunnableConfig(),n={tags:[],metadata:{},recursionLimit:25,runId:void 0};if(t){let{runId:r,runName:s,...a}=t;n=Object.entries(a).reduce((i,[o,c])=>(c!==void 0&&(i[o]=c),i),n)}if(e&&(n=Object.entries(e).reduce((r,[s,a])=>(a!==void 0&&(r[s]=a),r),n)),n?.configurable)for(let r of Object.keys(n.configurable))aj.has(typeof n.configurable[r])&&!n.metadata?.[r]&&(n.metadata||(n.metadata={}),n.metadata[r]=n.configurable[r]);if(n.timeout!==void 0){if(n.timeout<=0)throw new Error("Timeout must be a positive number");let r=n.timeout,s=AbortSignal.timeout(r);n.metadata||(n.metadata={}),n.metadata.timeoutMs===void 0&&(n.metadata.timeoutMs=r),n.signal!==void 0?"any"in AbortSignal&&(n.signal=AbortSignal.any([n.signal,s])):n.signal=s,delete n.timeout}return n}function He(e={},{callbacks:t,maxConcurrency:n,recursionLimit:r,runName:s,configurable:a,runId:i}={}){let o=Le(e);return t!==void 0&&(delete o.runName,o.callbacks=t),r!==void 0&&(o.recursionLimit=r),n!==void 0&&(o.maxConcurrency=n),s!==void 0&&(o.runName=s),a!==void 0&&(o.configurable={...o.configurable,...a}),i!==void 0&&delete o.runId,o}function Yr(e){if(e)return{configurable:e.configurable,recursionLimit:e.recursionLimit,callbacks:e.callbacks,tags:e.tags,metadata:e.metadata,maxConcurrency:e.maxConcurrency,timeout:e.timeout,signal:e.signal,store:e.store}}async function Mr(e,t){if(t===void 0)return e;let n;return Promise.race([e.catch(r=>{if(!t?.aborted)throw r}),new Promise((r,s)=>{n=()=>{s(rc(t))},t.addEventListener("abort",n,{once:!0}),t.aborted&&s(rc(t))})]).finally(()=>t.removeEventListener("abort",n))}function rc(e){return e?.reason instanceof Error?e.reason:typeof e?.reason=="string"?new Error(e.reason):new Error("Aborted")}var ij=Q({AsyncGeneratorWithSetup:()=>La,IterableReadableStream:()=>vn,atee:()=>My,concat:()=>Is,pipeGeneratorWithSetup:()=>Ox}),vn=class Im extends ReadableStream{reader;ensureReader(){this.reader||(this.reader=this.getReader())}async next(){this.ensureReader();try{let t=await this.reader.read();return t.done?(this.reader.releaseLock(),{done:!0,value:void 0}):{done:!1,value:t.value}}catch(t){throw this.reader.releaseLock(),t}}async return(){if(this.ensureReader(),this.locked){let t=this.reader.cancel();this.reader.releaseLock(),await t}return{done:!0,value:void 0}}async throw(t){if(this.ensureReader(),this.locked){let n=this.reader.cancel();this.reader.releaseLock(),await n}throw t}[Symbol.asyncIterator](){return this}async[Symbol.asyncDispose](){await this.return()}static fromReadableStream(t){let n=t.getReader();return new Im({start(r){return s();function s(){return n.read().then(({done:a,value:i})=>{if(a){r.close();return}return r.enqueue(i),s()})}},cancel(){n.releaseLock()}})}static fromAsyncGenerator(t){return new Im({async pull(n){let{value:r,done:s}=await t.next();s&&n.close(),n.enqueue(r)},async cancel(n){await t.return(n)}})}};function My(e,t=2){let n=Array.from({length:t},()=>[]);return n.map(async function*(r){for(;;)if(r.length===0){let s=await e.next();for(let a of n)a.push(s)}else{if(r[0].done)return;yield r.shift().value}})}function Is(e,t){if(Array.isArray(e)&&Array.isArray(t))return e.concat(t);if(typeof e=="string"&&typeof t=="string"||typeof e=="number"&&typeof t=="number")return e+t;if("concat"in e&&typeof e.concat=="function")return e.concat(t);if(typeof e=="object"&&typeof t=="object"){let n={...e};for(let[r,s]of Object.entries(t))r in n&&!Array.isArray(n[r])?n[r]=Is(n[r],s):n[r]=s;return n}else throw new Error(`Cannot concat ${typeof e} and ${typeof t}`)}var La=class{generator;setup;config;signal;firstResult;firstResultUsed=!1;constructor(e){this.generator=e.generator,this.config=e.config,this.signal=e.signal??this.config?.signal,this.setup=new Promise((t,n)=>{zt.runWithConfig(Yr(e.config),async()=>{this.firstResult=this.signal?Mr(e.generator.next(),this.signal):e.generator.next(),e.startSetup?this.firstResult.then(e.startSetup).then(t,n):this.firstResult.then(r=>t(void 0),n)},!0)})}async next(...e){return this.signal?.throwIfAborted(),this.firstResultUsed?zt.runWithConfig(Yr(this.config),this.signal?async()=>Mr(this.generator.next(...e),this.signal):async()=>this.generator.next(...e),!0):(this.firstResultUsed=!0,this.firstResult)}async return(e){return this.generator.return(e)}async throw(e){return this.generator.throw(e)}[Symbol.asyncIterator](){return this}async[Symbol.asyncDispose](){await this.return()}};async function Ox(e,t,n,r,...s){let a=new La({generator:t,startSetup:n,signal:r}),i=await a.setup;return{output:e(a,i,...s),setup:i}}var oj=Object.prototype.hasOwnProperty;function Em(e,t){return oj.call(e,t)}function Am(e){if(Array.isArray(e)){let n=new Array(e.length);for(let r=0;r<n.length;r++)n[r]=""+r;return n}if(Object.keys)return Object.keys(e);let t=[];for(let n in e)Em(e,n)&&t.push(n);return t}function cr(e){switch(typeof e){case"object":return JSON.parse(JSON.stringify(e));case"undefined":return null;default:return e}}function $m(e){let t=0,n=e.length,r;for(;t<n;){if(r=e.charCodeAt(t),r>=48&&r<=57){t++;continue}return!1}return!0}function Za(e){return e.indexOf("/")===-1&&e.indexOf("~")===-1?e:e.replace(/~/g,"~0").replace(/\//g,"~1")}function cj(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}function Cm(e){if(e===void 0)return!0;if(e){if(Array.isArray(e)){for(let n=0,r=e.length;n<r;n++)if(Cm(e[n]))return!0}else if(typeof e=="object"){let n=Am(e),r=n.length;for(var t=0;t<r;t++)if(Cm(e[n[t]]))return!0}}return!1}function bw(e,t){let n=[e];for(let r in t){let s=typeof t[r]=="object"?JSON.stringify(t[r],null,2):t[r];typeof s<"u"&&n.push(`${r}: ${s}`)}return n.join(`
62
+ `)}var uj=class extends Error{constructor(e,t,n,r,s){super(bw(e,{name:t,index:n,operation:r,tree:s})),this.name=t,this.index=n,this.operation=r,this.tree=s,Object.setPrototypeOf(this,new.target.prototype),this.message=bw(e,{name:t,index:n,operation:r,tree:s})}},lj=Q({JsonPatchError:()=>dt,_areEquals:()=>sc,applyOperation:()=>da,applyPatch:()=>Ii,applyReducer:()=>hj,deepClone:()=>dj,getValueByPointer:()=>Ll,validate:()=>Sx,validator:()=>zl}),dt=uj,dj=cr,li={add:function(e,t,n){if(t==="__proto__"||t==="constructor")throw new TypeError("JSON-Patch: modifying `__proto__` or `constructor` prop is banned for security reasons");return e[t]=this.value,{newDocument:n}},remove:function(e,t,n){if(t==="__proto__"||t==="constructor")throw new TypeError("JSON-Patch: modifying `__proto__` or `constructor` prop is banned for security reasons");var r=e[t];return delete e[t],{newDocument:n,removed:r}},replace:function(e,t,n){if(t==="__proto__"||t==="constructor")throw new TypeError("JSON-Patch: modifying `__proto__` or `constructor` prop is banned for security reasons");var r=e[t];return e[t]=this.value,{newDocument:n,removed:r}},move:function(e,t,n){let r=Ll(n,this.path);r&&(r=cr(r));let s=da(n,{op:"remove",path:this.from}).removed;return da(n,{op:"add",path:this.path,value:s}),{newDocument:n,removed:r}},copy:function(e,t,n){let r=Ll(n,this.from);return da(n,{op:"add",path:this.path,value:cr(r)}),{newDocument:n}},test:function(e,t,n){return{newDocument:n,test:sc(e[t],this.value)}},_get:function(e,t,n){return this.value=e[t],{newDocument:n}}},pj={add:function(e,t,n){return $m(t)?e.splice(t,0,this.value):e[t]=this.value,{newDocument:n,index:t}},remove:function(e,t,n){return{newDocument:n,removed:e.splice(t,1)[0]}},replace:function(e,t,n){var r=e[t];return e[t]=this.value,{newDocument:n,removed:r}},move:li.move,copy:li.copy,test:li.test,_get:li._get};function Ll(e,t){if(t=="")return e;var n={op:"_get",path:t};return da(e,n),n.value}function da(e,t,n=!1,r=!0,s=!0,a=0){if(n&&(typeof n=="function"?n(t,0,e,t.path):zl(t,0)),t.path===""){let i={newDocument:e};if(t.op==="add")return i.newDocument=t.value,i;if(t.op==="replace")return i.newDocument=t.value,i.removed=e,i;if(t.op==="move"||t.op==="copy")return i.newDocument=Ll(e,t.from),t.op==="move"&&(i.removed=e),i;if(t.op==="test"){if(i.test=sc(e,t.value),i.test===!1)throw new dt("Test operation failed","TEST_OPERATION_FAILED",a,t,e);return i.newDocument=e,i}else{if(t.op==="remove")return i.removed=e,i.newDocument=null,i;if(t.op==="_get")return t.value=e,i;if(n)throw new dt("Operation `op` property is not one of operations defined in RFC-6902","OPERATION_OP_INVALID",a,t,e);return i}}else{r||(e=cr(e));let i=(t.path||"").split("/"),o=e,c=1,u=i.length,l,d,p;for(typeof n=="function"?p=n:p=zl;;){if(d=i[c],d&&d.indexOf("~")!=-1&&(d=cj(d)),s&&(d=="__proto__"||d=="prototype"&&c>0&&i[c-1]=="constructor"))throw new TypeError("JSON-Patch: modifying `__proto__` or `constructor/prototype` prop is banned for security reasons, if this was on purpose, please set `banPrototypeModifications` flag false and pass it to this function. More info in fast-json-patch README");if(n&&l===void 0&&(o[d]===void 0?l=i.slice(0,c).join("/"):c==u-1&&(l=t.path),l!==void 0&&p(t,0,e,l)),c++,Array.isArray(o)){if(d==="-")d=o.length;else{if(n&&!$m(d))throw new dt("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",a,t,e);$m(d)&&(d=~~d)}if(c>=u){if(n&&t.op==="add"&&d>o.length)throw new dt("The specified index MUST NOT be greater than the number of elements in the array","OPERATION_VALUE_OUT_OF_BOUNDS",a,t,e);let h=pj[t.op].call(t,o,d,e);if(h.test===!1)throw new dt("Test operation failed","TEST_OPERATION_FAILED",a,t,e);return h}}else if(c>=u){let h=li[t.op].call(t,o,d,e);if(h.test===!1)throw new dt("Test operation failed","TEST_OPERATION_FAILED",a,t,e);return h}if(o=o[d],n&&c<u&&(!o||typeof o!="object"))throw new dt("Cannot perform operation at the desired path","OPERATION_PATH_UNRESOLVABLE",a,t,e)}}}function Ii(e,t,n,r=!0,s=!0){if(n&&!Array.isArray(t))throw new dt("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY");r||(e=cr(e));let a=new Array(t.length);for(let i=0,o=t.length;i<o;i++)a[i]=da(e,t[i],n,!0,s,i),e=a[i].newDocument;return a.newDocument=e,a}function hj(e,t,n){let r=da(e,t);if(r.test===!1)throw new dt("Test operation failed","TEST_OPERATION_FAILED",n,t,e);return r.newDocument}function zl(e,t,n,r){if(typeof e!="object"||e===null||Array.isArray(e))throw new dt("Operation is not an object","OPERATION_NOT_AN_OBJECT",t,e,n);if(li[e.op]){if(typeof e.path!="string")throw new dt("Operation `path` property is not a string","OPERATION_PATH_INVALID",t,e,n);if(e.path.indexOf("/")!==0&&e.path.length>0)throw new dt('Operation `path` property must start with "/"',"OPERATION_PATH_INVALID",t,e,n);if((e.op==="move"||e.op==="copy")&&typeof e.from!="string")throw new dt("Operation `from` property is not present (applicable in `move` and `copy` operations)","OPERATION_FROM_REQUIRED",t,e,n);if((e.op==="add"||e.op==="replace"||e.op==="test")&&e.value===void 0)throw new dt("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_REQUIRED",t,e,n);if((e.op==="add"||e.op==="replace"||e.op==="test")&&Cm(e.value))throw new dt("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_CANNOT_CONTAIN_UNDEFINED",t,e,n);if(n){if(e.op=="add"){var s=e.path.split("/").length,a=r.split("/").length;if(s!==a+1&&s!==a)throw new dt("Cannot perform an `add` operation at the desired path","OPERATION_PATH_CANNOT_ADD",t,e,n)}else if(e.op==="replace"||e.op==="remove"||e.op==="_get"){if(e.path!==r)throw new dt("Cannot perform the operation at a path that does not exist","OPERATION_PATH_UNRESOLVABLE",t,e,n)}else if(e.op==="move"||e.op==="copy"){var i=Sx([{op:"_get",path:e.from,value:void 0}],n);if(i&&i.name==="OPERATION_PATH_UNRESOLVABLE")throw new dt("Cannot perform the operation from a path that does not exist","OPERATION_FROM_UNRESOLVABLE",t,e,n)}}}else throw new dt("Operation `op` property is not one of operations defined in RFC-6902","OPERATION_OP_INVALID",t,e,n)}function Sx(e,t,n){try{if(!Array.isArray(e))throw new dt("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY");if(t)Ii(cr(t),cr(e),n||!0);else{n=n||zl;for(var r=0;r<e.length;r++)n(e[r],r,t,void 0)}}catch(s){if(s instanceof dt)return s;throw s}}function sc(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){var n=Array.isArray(e),r=Array.isArray(t),s,a,i;if(n&&r){if(a=e.length,a!=t.length)return!1;for(s=a;s--!==0;)if(!sc(e[s],t[s]))return!1;return!0}if(n!=r)return!1;var o=Object.keys(e);if(a=o.length,a!==Object.keys(t).length)return!1;for(s=a;s--!==0;)if(!t.hasOwnProperty(o[s]))return!1;for(s=a;s--!==0;)if(i=o[s],!sc(e[i],t[i]))return!1;return!0}return e!==e&&t!==t}function Tx(e,t,n,r,s){if(t!==e){typeof t.toJSON=="function"&&(t=t.toJSON());for(var a=Am(t),i=Am(e),o=!1,c=i.length-1;c>=0;c--){var u=i[c],l=e[u];if(Em(t,u)&&!(t[u]===void 0&&l!==void 0&&Array.isArray(t)===!1)){var d=t[u];typeof l=="object"&&l!=null&&typeof d=="object"&&d!=null&&Array.isArray(l)===Array.isArray(d)?Tx(l,d,n,r+"/"+Za(u),s):l!==d&&(s&&n.push({op:"test",path:r+"/"+Za(u),value:cr(l)}),n.push({op:"replace",path:r+"/"+Za(u),value:cr(d)}))}else Array.isArray(e)===Array.isArray(t)?(s&&n.push({op:"test",path:r+"/"+Za(u),value:cr(l)}),n.push({op:"remove",path:r+"/"+Za(u)}),o=!0):(s&&n.push({op:"test",path:r,value:e}),n.push({op:"replace",path:r,value:t}))}if(!(!o&&a.length==i.length))for(var c=0;c<a.length;c++){var u=a[c];!Em(e,u)&&t[u]!==void 0&&n.push({op:"add",path:r+"/"+Za(u),value:cr(t[u])})}}}function Ep(e,t,n=!1){var r=[];return Tx(e,t,r,"",n),r}({...lj});var fj=Q({LogStreamCallbackHandler:()=>Pm,RunLog:()=>Ly,RunLogPatch:()=>Hr,isLogStreamHandler:()=>Ix}),Hr=class{ops;constructor(e){this.ops=e.ops??[]}concat(e){let t=this.ops.concat(e.ops),n=Ii({},t);return new Ly({ops:t,state:n[n.length-1].newDocument})}},Ly=class Nm extends Hr{state;constructor(t){super(t),this.state=t.state}concat(t){let n=this.ops.concat(t.ops),r=Ii(this.state,t.ops);return new Nm({ops:n,state:r[r.length-1].newDocument})}static fromRunLogPatch(t){let n=Ii({},t.ops);return new Nm({ops:t.ops,state:n[n.length-1].newDocument})}},Ix=e=>e.name==="log_stream_tracer";async function kw(e,t){if(t==="original")throw new Error("Do not assign inputs with original schema drop the key for now. When inputs are added to streamLog they should be added with standardized schema for streaming events.");let{inputs:n}=e;if(["retriever","llm","prompt"].includes(e.run_type))return n;if(!(Object.keys(n).length===1&&n?.input===""))return n.input}async function xw(e,t){let{outputs:n}=e;return t==="original"||["retriever","llm","prompt"].includes(e.run_type)?n:n!==void 0&&Object.keys(n).length===1&&n?.output!==void 0?n.output:n}function mj(e){return e!==void 0&&e.message!==void 0}var Pm=class extends rs{autoClose=!0;includeNames;includeTypes;includeTags;excludeNames;excludeTypes;excludeTags;_schemaFormat="original";rootId;keyMapByRunId={};counterMapByRunName={};transformStream;writer;receiveStream;name="log_stream_tracer";lc_prefer_streaming=!0;constructor(e){super({_awaitHandler:!0,...e}),this.autoClose=e?.autoClose??!0,this.includeNames=e?.includeNames,this.includeTypes=e?.includeTypes,this.includeTags=e?.includeTags,this.excludeNames=e?.excludeNames,this.excludeTypes=e?.excludeTypes,this.excludeTags=e?.excludeTags,this._schemaFormat=e?._schemaFormat??this._schemaFormat,this.transformStream=new TransformStream,this.writer=this.transformStream.writable.getWriter(),this.receiveStream=vn.fromReadableStream(this.transformStream.readable)}[Symbol.asyncIterator](){return this.receiveStream}async persistRun(e){}_includeRun(e){if(e.id===this.rootId)return!1;let t=e.tags??[],n=this.includeNames===void 0&&this.includeTags===void 0&&this.includeTypes===void 0;return this.includeNames!==void 0&&(n=n||this.includeNames.includes(e.name)),this.includeTypes!==void 0&&(n=n||this.includeTypes.includes(e.run_type)),this.includeTags!==void 0&&(n=n||t.find(r=>this.includeTags?.includes(r))!==void 0),this.excludeNames!==void 0&&(n=n&&!this.excludeNames.includes(e.name)),this.excludeTypes!==void 0&&(n=n&&!this.excludeTypes.includes(e.run_type)),this.excludeTags!==void 0&&(n=n&&t.every(r=>!this.excludeTags?.includes(r))),n}async*tapOutputIterable(e,t){for await(let n of t){if(e!==this.rootId){let r=this.keyMapByRunId[e];r&&await this.writer.write(new Hr({ops:[{op:"add",path:`/logs/${r}/streamed_output/-`,value:n}]}))}yield n}}async onRunCreate(e){if(this.rootId===void 0&&(this.rootId=e.id,await this.writer.write(new Hr({ops:[{op:"replace",path:"",value:{id:e.id,name:e.name,type:e.run_type,streamed_output:[],final_output:void 0,logs:{}}}]}))),!this._includeRun(e))return;this.counterMapByRunName[e.name]===void 0&&(this.counterMapByRunName[e.name]=0),this.counterMapByRunName[e.name]+=1;let t=this.counterMapByRunName[e.name];this.keyMapByRunId[e.id]=t===1?e.name:`${e.name}:${t}`;let n={id:e.id,name:e.name,type:e.run_type,tags:e.tags??[],metadata:e.extra?.metadata??{},start_time:new Date(e.start_time).toISOString(),streamed_output:[],streamed_output_str:[],final_output:void 0,end_time:void 0};this._schemaFormat==="streaming_events"&&(n.inputs=await kw(e,this._schemaFormat)),await this.writer.write(new Hr({ops:[{op:"add",path:`/logs/${this.keyMapByRunId[e.id]}`,value:n}]}))}async onRunUpdate(e){try{let t=this.keyMapByRunId[e.id];if(t===void 0)return;let n=[];this._schemaFormat==="streaming_events"&&n.push({op:"replace",path:`/logs/${t}/inputs`,value:await kw(e,this._schemaFormat)}),n.push({op:"add",path:`/logs/${t}/final_output`,value:await xw(e,this._schemaFormat)}),e.end_time!==void 0&&n.push({op:"add",path:`/logs/${t}/end_time`,value:new Date(e.end_time).toISOString()});let r=new Hr({ops:n});await this.writer.write(r)}finally{if(e.id===this.rootId){let t=new Hr({ops:[{op:"replace",path:"/final_output",value:await xw(e,this._schemaFormat)}]});await this.writer.write(t),this.autoClose&&await this.writer.close()}}}async onLLMNewToken(e,t,n){let r=this.keyMapByRunId[e.id];if(r===void 0)return;let s=e.inputs.messages!==void 0,a;s?mj(n?.chunk)?a=n?.chunk:a=new _n({id:`run-${e.id}`,content:t}):a=t;let i=new Hr({ops:[{op:"add",path:`/logs/${r}/streamed_output_str/-`,value:t},{op:"add",path:`/logs/${r}/streamed_output/-`,value:a}]});await this.writer.write(i)}},gj=Q({ChatGenerationChunk:()=>Qr,GenerationChunk:()=>Ei,RUN_KEY:()=>ac}),ac="__run",Ei=class Ex{text;generationInfo;constructor(t){this.text=t.text,this.generationInfo=t.generationInfo}concat(t){return new Ex({text:this.text+t.text,generationInfo:{...this.generationInfo,...t.generationInfo}})}},Qr=class Ax extends Ei{message;constructor(t){super(t),this.message=t.message}concat(t){return new Ax({text:this.text+t.text,generationInfo:{...this.generationInfo,...t.generationInfo},message:this.message.concat(t.message)})}},yj=Object.prototype.toString,_j=e=>yj.call(e)==="[object Error]",vj=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 wj(e){if(!(e&&_j(e)&&e.name==="TypeError"&&typeof e.message=="string"))return!1;let{message:t,stack:n}=e;return t==="Load failed"?n===void 0||"__sentry_captured__"in e:t.startsWith("error sending request for url")?!0:vj.has(t)}function bj(e){if(typeof e=="number"){if(e<0)throw new TypeError("Expected `retries` to be a non-negative number.");if(Number.isNaN(e))throw new TypeError("Expected `retries` to be a valid number or Infinity, got NaN.")}else if(e!==void 0)throw new TypeError("Expected `retries` to be a number or Infinity.")}function Tu(e,t,{min:n=0,allowInfinity:r=!1}={}){if(t!==void 0){if(typeof t!="number"||Number.isNaN(t))throw new TypeError(`Expected \`${e}\` to be a number${r?" or Infinity":""}.`);if(!r&&!Number.isFinite(t))throw new TypeError(`Expected \`${e}\` to be a finite number.`);if(t<n)throw new TypeError(`Expected \`${e}\` to be \u2265 ${n}.`)}}var kj=class extends Error{constructor(e){super(),e instanceof Error?(this.originalError=e,{message:e}=e):(this.originalError=new Error(e),this.originalError.stack=this.stack),this.name="AbortError",this.message=e}};function xj(e,t){let n=Math.max(1,e+1),r=t.randomize?Math.random()+1:1,s=Math.round(r*t.minTimeout*t.factor**(n-1));return s=Math.min(s,t.maxTimeout),s}function Ow(e,t){return Number.isFinite(t)?t-(performance.now()-e):t}async function Oj({error:e,attemptNumber:t,retriesConsumed:n,startTime:r,options:s}){let a=e instanceof Error?e:new TypeError(`Non-error was thrown: "${e}". You should only throw errors.`);if(a instanceof kj)throw a.originalError;let i=Number.isFinite(s.retries)?Math.max(0,s.retries-n):s.retries,o=s.maxRetryTime??Number.POSITIVE_INFINITY,c=Object.freeze({error:a,attemptNumber:t,retriesLeft:i,retriesConsumed:n});if(await s.onFailedAttempt(c),Ow(r,o)<=0)throw a;let u=await s.shouldConsumeRetry(c),l=Ow(r,o);if(l<=0||i<=0)throw a;if(a instanceof TypeError&&!wj(a)){if(u)throw a;return s.signal?.throwIfAborted(),!1}if(!await s.shouldRetry(c))throw a;if(!u)return s.signal?.throwIfAborted(),!1;let d=xj(n,s),p=Math.min(d,l);return p>0&&await new Promise((h,f)=>{let m=()=>{clearTimeout(v),s.signal?.removeEventListener("abort",m),f(s.signal.reason)},v=setTimeout(()=>{s.signal?.removeEventListener("abort",m),h()},p);s.unref&&v.unref?.(),s.signal?.addEventListener("abort",m,{once:!0})}),s.signal?.throwIfAborted(),!0}async function jm(e,t={}){if(t={...t},bj(t.retries),Object.hasOwn(t,"forever"))throw new Error("The `forever` option is no longer supported. For many use-cases, you can set `retries: Infinity` instead.");t.retries??=10,t.factor??=2,t.minTimeout??=1e3,t.maxTimeout??=Number.POSITIVE_INFINITY,t.maxRetryTime??=Number.POSITIVE_INFINITY,t.randomize??=!1,t.onFailedAttempt??=()=>{},t.shouldRetry??=()=>!0,t.shouldConsumeRetry??=()=>!0,Tu("factor",t.factor,{min:0,allowInfinity:!1}),Tu("minTimeout",t.minTimeout,{min:0,allowInfinity:!1}),Tu("maxTimeout",t.maxTimeout,{min:0,allowInfinity:!0}),Tu("maxRetryTime",t.maxRetryTime,{min:0,allowInfinity:!0}),t.factor>0||(t.factor=1),t.signal?.throwIfAborted();let n=0,r=0,s=performance.now();for(;!Number.isFinite(t.retries)||r<=t.retries;){n++;try{t.signal?.throwIfAborted();let a=await e(n);return t.signal?.throwIfAborted(),a}catch(a){await Oj({error:a,attemptNumber:n,retriesConsumed:r,startTime:s,options:t})&&r++}}throw new Error("Retry attempts exhausted without throwing an error.")}var Sj=Q({AsyncCaller:()=>Xc}),Tj=[400,401,402,403,404,405,406,407,409],Ij=e=>{if(typeof e!="object"||e===null)return;if("message"in e&&typeof e.message=="string"&&(e.message.startsWith("Cancel")||e.message.startsWith("AbortError"))||"name"in e&&typeof e.name=="string"&&e.name==="AbortError"||"code"in e&&typeof e.code=="string"&&e.code==="ECONNABORTED")throw e;let t="response"in e&&typeof e.response=="object"&&e.response!==null&&"status"in e.response&&typeof e.response.status=="number"?e.response.status:void 0,n="status"in e&&typeof e.status=="number"?e.status:void 0,r=t??n;if(r&&Tj.includes(+r))throw e;if(("error"in e&&typeof e.error=="object"&&e.error!==null&&"code"in e.error&&typeof e.error.code=="string"?e.error.code:void 0)==="insufficient_quota"){let s=new Error("message"in e&&typeof e.message=="string"?e.message:"Insufficient quota");throw s.name="InsufficientQuotaError",s}},Xc=class{maxConcurrency;maxRetries;onFailedAttempt;queue;constructor(e){this.maxConcurrency=e.maxConcurrency??1/0,this.maxRetries=e.maxRetries??6,this.onFailedAttempt=e.onFailedAttempt??Ij,this.queue=new("default"in Kr?Kr.default:Kr)({concurrency:this.maxConcurrency})}async call(e,...t){return this.queue.add(()=>jm(()=>e(...t).catch(n=>{throw n instanceof Error?n:new Error(n)}),{onFailedAttempt:({error:n})=>this.onFailedAttempt?.(n),retries:this.maxRetries,randomize:!0}),{throwOnTimeout:!0})}callWithOptions(e,t,...n){if(e.signal){let r;return Promise.race([this.call(t,...n),new Promise((s,a)=>{r=()=>{a(rc(e.signal))},e.signal?.addEventListener("abort",r,{once:!0})})]).finally(()=>{e.signal&&r&&e.signal.removeEventListener("abort",r)})}return this.call(t,...n)}fetch(...e){return this.call(()=>fetch(...e).then(t=>t.ok?t:Promise.reject(t)))}},Ej=Q({isSerializableSchema:()=>_a,isStandardJsonSchema:()=>zy,isStandardSchema:()=>$x});function $x(e){return(typeof e=="object"||typeof e=="function")&&e!==null&&"~standard"in e&&typeof e["~standard"]=="object"&&e["~standard"]!==null&&"validate"in e["~standard"]}function zy(e){return(typeof e=="object"||typeof e=="function")&&e!==null&&"~standard"in e&&typeof e["~standard"]=="object"&&e["~standard"]!==null&&"jsonSchema"in e["~standard"]}function _a(e){return $x(e)&&zy(e)}function so(e,t,n){function r(o,c){if(o._zod||Object.defineProperty(o,"_zod",{value:{def:c,constr:i,traits:new Set},enumerable:!1}),o._zod.traits.has(e))return;o._zod.traits.add(e),t(o,c);let u=i.prototype,l=Object.keys(u);for(let d=0;d<l.length;d++){let p=l[d];p in o||(o[p]=u[p].bind(o))}}let s=n?.Parent??Object;class a extends s{}Object.defineProperty(a,"name",{value:e});function i(o){var c;let u=n?.Parent?new a:this;r(u,o),(c=u._zod).deferred??(c.deferred=[]);for(let l of u._zod.deferred)l();return u}return Object.defineProperty(i,"init",{value:r}),Object.defineProperty(i,Symbol.hasInstance,{value:o=>n?.Parent&&o instanceof n.Parent?!0:o?._zod?.traits?.has(e)}),Object.defineProperty(i,"name",{value:e}),i}var Vo=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},Aj={};function Ap(e){return Aj}function $j(e){let t=Object.values(e).filter(n=>typeof n=="number");return Object.entries(e).filter(([n,r])=>t.indexOf(+n)===-1).map(([n,r])=>r)}function Cj(e,t){return typeof t=="bigint"?t.toString():t}function Nj(e){let t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}var Sw=Symbol("evaluating");function Rm(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==Sw)return r===void 0&&(r=Sw,r=n()),r},set(s){Object.defineProperty(e,t,{value:s})},configurable:!0})}function Cx(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function Nx(...e){let t={};for(let n of e){let r=Object.getOwnPropertyDescriptors(n);Object.assign(t,r)}return Object.defineProperties({},t)}var Px="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function Tw(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Pj(e){if(Tw(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!="function")return!0;let n=t.prototype;return!(Tw(n)===!1||Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)}function ur(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function jj(e){return{}}function Rj(e,t){if(!Pj(t))throw new Error("Invalid input to extend: expected a plain object");let n=e._zod.def.checks;if(n&&n.length>0){let s=e._zod.def.shape;for(let a in t)if(Object.getOwnPropertyDescriptor(s,a)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let r=Nx(e._zod.def,{get shape(){let s={...e._zod.def.shape,...t};return Cx(this,"shape",s),s}});return ur(e,r)}function Mj(e,t,n){let r=t._zod.def.checks;if(r&&r.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");let s=Nx(t._zod.def,{get shape(){let a=t._zod.def.shape,i={...a};for(let o in a)i[o]=e?new e({type:"optional",innerType:a[o]}):a[o];return Cx(this,"shape",i),i},checks:[]});return ur(t,s)}function Iu(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function Eu(e){return typeof e=="string"?e:e?.message}function $p(e,t,n){let r={...e,path:e.path??[]};if(!e.message){let s=Eu(e.inst?._zod.def?.error?.(e))??Eu(t?.error?.(e))??Eu(n.customError?.(e))??Eu(n.localeError?.(e))??"Invalid input";r.message=s}return delete r.inst,delete r.continue,t?.reportInput||delete r.input,r}var jx=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,Cj,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Lj=so("$ZodError",jx),Cp=so("$ZodError",jx,{Parent:Error});function zj(e){let t=[],n=e.map(r=>typeof r=="object"?r.key:r);for(let r of n)typeof r=="number"?t.push(`[${r}]`):typeof r=="symbol"?t.push(`[${JSON.stringify(String(r))}]`):/[^\w$]/.test(r)?t.push(`[${JSON.stringify(r)}]`):(t.length&&t.push("."),t.push(r));return t.join("")}function Uj(e){let t=[],n=[...e.issues].sort((r,s)=>(r.path??[]).length-(s.path??[]).length);for(let r of n)t.push(`\u2716 ${r.message}`),r.path?.length&&t.push(` \u2192 at ${zj(r.path)}`);return t.join(`
63
+ `)}var Dj=e=>(t,n,r,s)=>{let a=r?Object.assign(r,{async:!1}):{async:!1},i=t._zod.run({value:n,issues:[]},a);if(i instanceof Promise)throw new Vo;if(i.issues.length){let o=new(s?.Err??e)(i.issues.map(c=>$p(c,a,Ap())));throw Px(o,s?.callee),o}return i.value},Uy=Dj(Cp),Fj=e=>async(t,n,r,s)=>{let a=r?Object.assign(r,{async:!0}):{async:!0},i=t._zod.run({value:n,issues:[]},a);if(i instanceof Promise&&(i=await i),i.issues.length){let o=new(s?.Err??e)(i.issues.map(c=>$p(c,a,Ap())));throw Px(o,s?.callee),o}return i.value},Rx=Fj(Cp),Bj=e=>(t,n,r)=>{let s=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},s);if(a instanceof Promise)throw new Vo;return a.issues.length?{success:!1,error:new(e??Lj)(a.issues.map(i=>$p(i,s,Ap())))}:{success:!0,data:a.value}},Zj=Bj(Cp),Vj=e=>async(t,n,r)=>{let s=r?Object.assign(r,{async:!0}):{async:!0},a=t._zod.run({value:n,issues:[]},s);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new e(a.issues.map(i=>$p(i,s,Ap())))}:{success:!0,data:a.value}},qj=Vj(Cp),Hj={major:4,minor:3,patch:6},Dy=so("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Hj;let r=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&r.unshift(e);for(let s of r)for(let a of s._zod.onattach)a(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let s=(i,o,c)=>{let u=Iu(i),l;for(let d of o){if(d._zod.def.when){if(!d._zod.def.when(i))continue}else if(u)continue;let p=i.issues.length,h=d._zod.check(i);if(h instanceof Promise&&c?.async===!1)throw new Vo;if(l||h instanceof Promise)l=(l??Promise.resolve()).then(async()=>{await h,i.issues.length!==p&&(u||(u=Iu(i,p)))});else{if(i.issues.length===p)continue;u||(u=Iu(i,p))}}return l?l.then(()=>i):i},a=(i,o,c)=>{if(Iu(i))return i.aborted=!0,i;let u=s(o,r,c);if(u instanceof Promise){if(c.async===!1)throw new Vo;return u.then(l=>e._zod.parse(l,c))}return e._zod.parse(u,c)};e._zod.run=(i,o)=>{if(o.skipChecks)return e._zod.parse(i,o);if(o.direction==="backward"){let u=e._zod.parse({value:i.value,issues:[]},{...o,skipChecks:!0});return u instanceof Promise?u.then(l=>a(l,i,o)):a(u,i,o)}let c=e._zod.parse(i,o);if(c instanceof Promise){if(o.async===!1)throw new Vo;return c.then(u=>s(u,r,o))}return s(c,r,o)}}Rm(e,"~standard",()=>({validate:s=>{try{let a=Zj(e,s);return a.success?{value:a.data}:{issues:a.error?.issues}}catch{return qj(e,s).then(a=>a.success?{value:a.data}:{issues:a.error?.issues})}},vendor:"zod",version:1}))}),Wj=so("$ZodUnknown",(e,t)=>{Dy.init(e,t),e._zod.parse=n=>n}),Jj=so("$ZodNever",(e,t)=>{Dy.init(e,t),e._zod.parse=(n,r)=>(n.issues.push({expected:"never",code:"invalid_type",input:n.value,inst:e}),n)});function Iw(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}var Mx=so("$ZodOptional",(e,t)=>{Dy.init(e,t),e._zod.optin="optional",e._zod.optout="optional",Rm(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),Rm(e._zod,"pattern",()=>{let n=t.innerType._zod.pattern;return n?new RegExp(`^(${Nj(n.source)})?$`):void 0}),e._zod.parse=(n,r)=>{if(t.innerType._zod.optin==="optional"){let s=t.innerType._zod.run(n,r);return s instanceof Promise?s.then(a=>Iw(a,n.value)):Iw(s,n.value)}return n.value===void 0?n:t.innerType._zod.run(n,r)}}),Ew,Gj=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){let n=t[0];return this._map.set(e,n),n&&typeof n=="object"&&"id"in n&&this._idmap.set(n.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let t=this._map.get(e);return t&&typeof t=="object"&&"id"in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};delete n.id;let r={...n,...this._map.get(e)};return Object.keys(r).length?r:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function Kj(){return new Gj}(Ew=globalThis).__zod_globalRegistry??(Ew.__zod_globalRegistry=Kj());var mn=globalThis.__zod_globalRegistry;function Xj(e){return new e({type:"unknown"})}function Yj(e,t){return new e({type:"never",...jj()})}function Mm(e){let t=e?.target??"draft-2020-12";return t==="draft-4"&&(t="draft-04"),t==="draft-7"&&(t="draft-07"),{processors:e.processors??{},metadataRegistry:e?.metadata??mn,target:t,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:new Map,cycles:e?.cycles??"ref",reused:e?.reused??"inline",external:e?.external??void 0}}function st(e,t,n={path:[],schemaPath:[]}){var r;let s=e._zod.def,a=t.seen.get(e);if(a)return a.count++,n.schemaPath.includes(e)&&(a.cycle=n.path),a.schema;let i={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,i);let o=e._zod.toJSONSchema?.();if(o)i.schema=o;else{let u={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,i.schema,u);else{let d=i.schema,p=t.processors[s.type];if(!p)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${s.type}`);p(e,t,d,u)}let l=e._zod.parent;l&&(i.ref||(i.ref=l),st(l,t,u),t.seen.get(l).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&Object.assign(i.schema,c),t.io==="input"&&Kt(e)&&(delete i.schema.examples,delete i.schema.default),t.io==="input"&&i.schema._prefault&&((r=i.schema).default??(r.default=i.schema._prefault)),delete i.schema._prefault,t.seen.get(e).schema}function Lm(e,t){let n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");let r=new Map;for(let i of e.seen.entries()){let o=e.metadataRegistry.get(i[0])?.id;if(o){let c=r.get(o);if(c&&c!==i[0])throw new Error(`Duplicate schema id "${o}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(o,i[0])}}let s=i=>{let o=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){let l=e.external.registry.get(i[0])?.id,d=e.external.uri??(h=>h);if(l)return{ref:d(l)};let p=i[1].defId??i[1].schema.id??`schema${e.counter++}`;return i[1].defId=p,{defId:p,ref:`${d("__shared")}#/${o}/${p}`}}if(i[1]===n)return{ref:"#"};let c=`#/${o}/`,u=i[1].schema.id??`__schema${e.counter++}`;return{defId:u,ref:c+u}},a=i=>{if(i[1].schema.$ref)return;let o=i[1],{ref:c,defId:u}=s(i);o.def={...o.schema},u&&(o.defId=u);let l=o.schema;for(let d in l)delete l[d];l.$ref=c};if(e.cycles==="throw")for(let i of e.seen.entries()){let o=i[1];if(o.cycle)throw new Error(`Cycle detected: #/${o.cycle?.join("/")}/<root>
64
+
65
+ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let i of e.seen.entries()){let o=i[1];if(t===i[0]){a(i);continue}if(e.external){let c=e.external.registry.get(i[0])?.id;if(t!==i[0]&&c){a(i);continue}}if(e.metadataRegistry.get(i[0])?.id){a(i);continue}if(o.cycle){a(i);continue}if(o.count>1&&e.reused==="ref"){a(i);continue}}}function zm(e,t){let n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");let r=i=>{let o=e.seen.get(i);if(o.ref===null)return;let c=o.def??o.schema,u={...c},l=o.ref;if(o.ref=null,l){r(l);let p=e.seen.get(l),h=p.schema;if(h.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(c.allOf=c.allOf??[],c.allOf.push(h)):Object.assign(c,h),Object.assign(c,u),i._zod.parent===l)for(let f in c)f==="$ref"||f==="allOf"||f in u||delete c[f];if(h.$ref&&p.def)for(let f in c)f==="$ref"||f==="allOf"||f in p.def&&JSON.stringify(c[f])===JSON.stringify(p.def[f])&&delete c[f]}let d=i._zod.parent;if(d&&d!==l){r(d);let p=e.seen.get(d);if(p?.schema.$ref&&(c.$ref=p.schema.$ref,p.def))for(let h in c)h==="$ref"||h==="allOf"||h in p.def&&JSON.stringify(c[h])===JSON.stringify(p.def[h])&&delete c[h]}e.override({zodSchema:i,jsonSchema:c,path:o.path??[]})};for(let i of[...e.seen.entries()].reverse())r(i[0]);let s={};if(e.target==="draft-2020-12"?s.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?s.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?s.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){let i=e.external.registry.get(t)?.id;if(!i)throw new Error("Schema is missing an `id` property");s.$id=e.external.uri(i)}Object.assign(s,n.def??n.schema);let a=e.external?.defs??{};for(let i of e.seen.entries()){let o=i[1];o.def&&o.defId&&(a[o.defId]=o.def)}e.external||Object.keys(a).length>0&&(e.target==="draft-2020-12"?s.$defs=a:s.definitions=a);try{let i=JSON.parse(JSON.stringify(s));return Object.defineProperty(i,"~standard",{value:{...t["~standard"],jsonSchema:{input:Aw(t,"input",e.processors),output:Aw(t,"output",e.processors)}},enumerable:!1,writable:!1}),i}catch{throw new Error("Error converting schema to JSON.")}}function Kt(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);let r=e._zod.def;if(r.type==="transform")return!0;if(r.type==="array")return Kt(r.element,n);if(r.type==="set")return Kt(r.valueType,n);if(r.type==="lazy")return Kt(r.getter(),n);if(r.type==="promise"||r.type==="optional"||r.type==="nonoptional"||r.type==="nullable"||r.type==="readonly"||r.type==="default"||r.type==="prefault")return Kt(r.innerType,n);if(r.type==="intersection")return Kt(r.left,n)||Kt(r.right,n);if(r.type==="record"||r.type==="map")return Kt(r.keyType,n)||Kt(r.valueType,n);if(r.type==="pipe")return Kt(r.in,n)||Kt(r.out,n);if(r.type==="object"){for(let s in r.shape)if(Kt(r.shape[s],n))return!0;return!1}if(r.type==="union"){for(let s of r.options)if(Kt(s,n))return!0;return!1}if(r.type==="tuple"){for(let s of r.items)if(Kt(s,n))return!0;return!!(r.rest&&Kt(r.rest,n))}return!1}var Aw=(e,t,n={})=>r=>{let{libraryOptions:s,target:a}=r??{},i=Mm({...s??{},target:a,io:t,processors:n});return st(e,i),Lm(i,e),zm(i,e)},Qj={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},eR=(e,t,n,r)=>{let s=n;s.type="string";let{minimum:a,maximum:i,format:o,patterns:c,contentEncoding:u}=e._zod.bag;if(typeof a=="number"&&(s.minLength=a),typeof i=="number"&&(s.maxLength=i),o&&(s.format=Qj[o]??o,s.format===""&&delete s.format,o==="time"&&delete s.format),u&&(s.contentEncoding=u),c&&c.size>0){let l=[...c];l.length===1?s.pattern=l[0].source:l.length>1&&(s.allOf=[...l.map(d=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:d.source}))])}},tR=(e,t,n,r)=>{let s=n,{minimum:a,maximum:i,format:o,multipleOf:c,exclusiveMaximum:u,exclusiveMinimum:l}=e._zod.bag;typeof o=="string"&&o.includes("int")?s.type="integer":s.type="number",typeof l=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(s.minimum=l,s.exclusiveMinimum=!0):s.exclusiveMinimum=l),typeof a=="number"&&(s.minimum=a,typeof l=="number"&&t.target!=="draft-04"&&(l>=a?delete s.minimum:delete s.exclusiveMinimum)),typeof u=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(s.maximum=u,s.exclusiveMaximum=!0):s.exclusiveMaximum=u),typeof i=="number"&&(s.maximum=i,typeof u=="number"&&t.target!=="draft-04"&&(u<=i?delete s.maximum:delete s.exclusiveMaximum)),typeof c=="number"&&(s.multipleOf=c)},nR=(e,t,n,r)=>{n.type="boolean"},rR=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema")},sR=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema")},aR=(e,t,n,r)=>{t.target==="openapi-3.0"?(n.type="string",n.nullable=!0,n.enum=[null]):n.type="null"},iR=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema")},oR=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema")},cR=(e,t,n,r)=>{n.not={}},uR=(e,t,n,r)=>{},lR=(e,t,n,r)=>{},dR=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema")},pR=(e,t,n,r)=>{let s=e._zod.def,a=$j(s.entries);a.every(i=>typeof i=="number")&&(n.type="number"),a.every(i=>typeof i=="string")&&(n.type="string"),n.enum=a},hR=(e,t,n,r)=>{let s=e._zod.def,a=[];for(let i of s.values)if(i===void 0){if(t.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof i=="bigint"){if(t.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");a.push(Number(i))}else a.push(i);if(a.length!==0)if(a.length===1){let i=a[0];n.type=i===null?"null":typeof i,t.target==="draft-04"||t.target==="openapi-3.0"?n.enum=[i]:n.const=i}else a.every(i=>typeof i=="number")&&(n.type="number"),a.every(i=>typeof i=="string")&&(n.type="string"),a.every(i=>typeof i=="boolean")&&(n.type="boolean"),a.every(i=>i===null)&&(n.type="null"),n.enum=a},fR=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema")},mR=(e,t,n,r)=>{let s=n,a=e._zod.pattern;if(!a)throw new Error("Pattern not found in template literal");s.type="string",s.pattern=a.source},gR=(e,t,n,r)=>{let s=n,a={type:"string",format:"binary",contentEncoding:"binary"},{minimum:i,maximum:o,mime:c}=e._zod.bag;i!==void 0&&(a.minLength=i),o!==void 0&&(a.maxLength=o),c?c.length===1?(a.contentMediaType=c[0],Object.assign(s,a)):(Object.assign(s,a),s.anyOf=c.map(u=>({contentMediaType:u}))):Object.assign(s,a)},yR=(e,t,n,r)=>{n.type="boolean"},_R=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},vR=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Function types cannot be represented in JSON Schema")},wR=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},bR=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema")},kR=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema")},xR=(e,t,n,r)=>{let s=n,a=e._zod.def,{minimum:i,maximum:o}=e._zod.bag;typeof i=="number"&&(s.minItems=i),typeof o=="number"&&(s.maxItems=o),s.type="array",s.items=st(a.element,t,{...r,path:[...r.path,"items"]})},OR=(e,t,n,r)=>{let s=n,a=e._zod.def;s.type="object",s.properties={};let i=a.shape;for(let u in i)s.properties[u]=st(i[u],t,{...r,path:[...r.path,"properties",u]});let o=new Set(Object.keys(i)),c=new Set([...o].filter(u=>{let l=a.shape[u]._zod;return t.io==="input"?l.optin===void 0:l.optout===void 0}));c.size>0&&(s.required=Array.from(c)),a.catchall?._zod.def.type==="never"?s.additionalProperties=!1:a.catchall?a.catchall&&(s.additionalProperties=st(a.catchall,t,{...r,path:[...r.path,"additionalProperties"]})):t.io==="output"&&(s.additionalProperties=!1)},SR=(e,t,n,r)=>{let s=e._zod.def,a=s.inclusive===!1,i=s.options.map((o,c)=>st(o,t,{...r,path:[...r.path,a?"oneOf":"anyOf",c]}));a?n.oneOf=i:n.anyOf=i},TR=(e,t,n,r)=>{let s=e._zod.def,a=st(s.left,t,{...r,path:[...r.path,"allOf",0]}),i=st(s.right,t,{...r,path:[...r.path,"allOf",1]}),o=u=>"allOf"in u&&Object.keys(u).length===1,c=[...o(a)?a.allOf:[a],...o(i)?i.allOf:[i]];n.allOf=c},IR=(e,t,n,r)=>{let s=n,a=e._zod.def;s.type="array";let i=t.target==="draft-2020-12"?"prefixItems":"items",o=t.target==="draft-2020-12"||t.target==="openapi-3.0"?"items":"additionalItems",c=a.items.map((p,h)=>st(p,t,{...r,path:[...r.path,i,h]})),u=a.rest?st(a.rest,t,{...r,path:[...r.path,o,...t.target==="openapi-3.0"?[a.items.length]:[]]}):null;t.target==="draft-2020-12"?(s.prefixItems=c,u&&(s.items=u)):t.target==="openapi-3.0"?(s.items={anyOf:c},u&&s.items.anyOf.push(u),s.minItems=c.length,u||(s.maxItems=c.length)):(s.items=c,u&&(s.additionalItems=u));let{minimum:l,maximum:d}=e._zod.bag;typeof l=="number"&&(s.minItems=l),typeof d=="number"&&(s.maxItems=d)},ER=(e,t,n,r)=>{let s=n,a=e._zod.def;s.type="object";let i=a.keyType,o=i._zod.bag?.patterns;if(a.mode==="loose"&&o&&o.size>0){let u=st(a.valueType,t,{...r,path:[...r.path,"patternProperties","*"]});s.patternProperties={};for(let l of o)s.patternProperties[l.source]=u}else(t.target==="draft-07"||t.target==="draft-2020-12")&&(s.propertyNames=st(a.keyType,t,{...r,path:[...r.path,"propertyNames"]})),s.additionalProperties=st(a.valueType,t,{...r,path:[...r.path,"additionalProperties"]});let c=i._zod.values;if(c){let u=[...c].filter(l=>typeof l=="string"||typeof l=="number");u.length>0&&(s.required=u)}},AR=(e,t,n,r)=>{let s=e._zod.def,a=st(s.innerType,t,r),i=t.seen.get(e);t.target==="openapi-3.0"?(i.ref=s.innerType,n.nullable=!0):n.anyOf=[a,{type:"null"}]},$R=(e,t,n,r)=>{let s=e._zod.def;st(s.innerType,t,r);let a=t.seen.get(e);a.ref=s.innerType},CR=(e,t,n,r)=>{let s=e._zod.def;st(s.innerType,t,r);let a=t.seen.get(e);a.ref=s.innerType,n.default=JSON.parse(JSON.stringify(s.defaultValue))},NR=(e,t,n,r)=>{let s=e._zod.def;st(s.innerType,t,r);let a=t.seen.get(e);a.ref=s.innerType,t.io==="input"&&(n._prefault=JSON.parse(JSON.stringify(s.defaultValue)))},PR=(e,t,n,r)=>{let s=e._zod.def;st(s.innerType,t,r);let a=t.seen.get(e);a.ref=s.innerType;let i;try{i=s.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}n.default=i},jR=(e,t,n,r)=>{let s=e._zod.def,a=t.io==="input"?s.in._zod.def.type==="transform"?s.out:s.in:s.out;st(a,t,r);let i=t.seen.get(e);i.ref=a},RR=(e,t,n,r)=>{let s=e._zod.def;st(s.innerType,t,r);let a=t.seen.get(e);a.ref=s.innerType,n.readOnly=!0},MR=(e,t,n,r)=>{let s=e._zod.def;st(s.innerType,t,r);let a=t.seen.get(e);a.ref=s.innerType},LR=(e,t,n,r)=>{let s=e._zod.def;st(s.innerType,t,r);let a=t.seen.get(e);a.ref=s.innerType},zR=(e,t,n,r)=>{let s=e._zod.innerType;st(s,t,r);let a=t.seen.get(e);a.ref=s},$w={string:eR,number:tR,boolean:nR,bigint:rR,symbol:sR,null:aR,undefined:iR,void:oR,never:cR,any:uR,unknown:lR,date:dR,enum:pR,literal:hR,nan:fR,template_literal:mR,file:gR,success:yR,custom:_R,function:vR,transform:wR,map:bR,set:kR,array:xR,object:OR,union:SR,intersection:TR,tuple:IR,record:ER,nullable:AR,nonoptional:$R,default:CR,prefault:NR,catch:PR,pipe:jR,readonly:RR,promise:MR,optional:LR,lazy:zR};function Cw(e,t){if("_idmap"in e){let r=e,s=Mm({...t,processors:$w}),a={};for(let c of r._idmap.entries()){let[u,l]=c;st(l,s)}let i={},o={registry:r,uri:t?.uri,defs:a};s.external=o;for(let c of r._idmap.entries()){let[u,l]=c;Lm(s,l),i[u]=zm(s,l)}if(Object.keys(a).length>0){let c=s.target==="draft-2020-12"?"$defs":"definitions";i.__shared={[c]:a}}return{schemas:i}}let n=Mm({...t,processors:$w});return st(e,n),Lm(n,e),zm(n,e)}function at(e){if(typeof e!="object"||e===null)return!1;let t=e;if(!("_zod"in t))return!1;let n=t._zod;return typeof n=="object"&&n!==null&&"def"in n}function vt(e){if(typeof e!="object"||e===null)return!1;let t=e;if(!("_def"in t)||"_zod"in t)return!1;let n=t._def;return typeof n=="object"&&n!=null&&"typeName"in n}function UR(e){return at(e)&&console.warn("[WARNING] Attempting to use Zod 4 schema in a context where Zod 3 schema is expected. This may cause unexpected behavior."),vt(e)}function Nn(e){return!e||typeof e!="object"||Array.isArray(e)?!1:!!(at(e)||vt(e))}function Lx(e){return typeof e=="object"&&e!==null&&"_def"in e&&typeof e._def=="object"&&e._def!==null&&"typeName"in e._def&&e._def.typeName==="ZodLiteral"}function zx(e){return at(e)?typeof e=="object"&&e!==null&&"_zod"in e&&typeof e._zod=="object"&&e._zod!==null&&"def"in e._zod&&typeof e._zod.def=="object"&&e._zod.def!==null&&"type"in e._zod.def&&e._zod.def.type==="literal":!1}function DR(e){return!!(Lx(e)||zx(e))}async function Ux(e,t){if(at(e))try{return{success:!0,data:await Rx(e,t)}}catch(n){return{success:!1,error:n}}if(vt(e))return await e.safeParseAsync(t);throw new Error("Schema must be an instance of z3.ZodType or z4.$ZodType")}async function Np(e,t){if(at(e))return await Rx(e,t);if(vt(e))return await e.parseAsync(t);throw new Error("Schema must be an instance of z3.ZodType or z4.$ZodType")}function FR(e,t){if(at(e))try{return{success:!0,data:Uy(e,t)}}catch(n){return{success:!1,error:n}}if(vt(e))return e.safeParse(t);throw new Error("Schema must be an instance of z3.ZodType or z4.$ZodType")}function il(e,t){if(at(e))return Uy(e,t);if(vt(e))return e.parse(t);throw new Error("Schema must be an instance of z3.ZodType or z4.$ZodType")}function Ai(e){if(at(e))return mn.get(e)?.description;if(vt(e)||"description"in e&&typeof e.description=="string")return e.description}function BR(e){if(!Nn(e))return!1;if(vt(e)){let t=e._def;if(t.typeName==="ZodObject"){let n=e;return!n.shape||Object.keys(n.shape).length===0}if(t.typeName==="ZodRecord")return!0}if(at(e)){let t=e._zod.def;if(t.type==="object"){let n=e;return!n.shape||Object.keys(n.shape).length===0}if(t.type==="record")return!0}return typeof e=="object"&&e!==null&&!("shape"in e)}function Fy(e){return Nn(e)?vt(e)?e._def.typeName==="ZodString":at(e)?e._zod.def.type==="string":!1:!1}function By(e){return typeof e=="object"&&e!==null&&"_def"in e&&typeof e._def=="object"&&e._def!==null&&"typeName"in e._def&&e._def.typeName==="ZodObject"}function Cr(e){return at(e)?typeof e=="object"&&e!==null&&"_zod"in e&&typeof e._zod=="object"&&e._zod!==null&&"def"in e._zod&&typeof e._zod.def=="object"&&e._zod.def!==null&&"type"in e._zod.def&&e._zod.def.type==="object":!1}function Pp(e){return at(e)?typeof e=="object"&&e!==null&&"_zod"in e&&typeof e._zod=="object"&&e._zod!==null&&"def"in e._zod&&typeof e._zod.def=="object"&&e._zod.def!==null&&"type"in e._zod.def&&e._zod.def.type==="array":!1}function Dx(e){return at(e)?typeof e=="object"&&e!==null&&"_zod"in e&&typeof e._zod=="object"&&e._zod!==null&&"def"in e._zod&&typeof e._zod.def=="object"&&e._zod.def!==null&&"type"in e._zod.def&&e._zod.def.type==="optional":!1}function Fx(e){return at(e)?typeof e=="object"&&e!==null&&"_zod"in e&&typeof e._zod=="object"&&e._zod!==null&&"def"in e._zod&&typeof e._zod.def=="object"&&e._zod.def!==null&&"type"in e._zod.def&&e._zod.def.type==="nullable":!1}function zn(e){return!!(By(e)||Cr(e))}function ic(e){if(vt(e))return e.shape;if(at(e))return e._zod.def.shape;throw new Error("Schema must be an instance of z3.ZodObject or z4.$ZodObject")}function Bx(e,t){if(vt(e))return e.extend(t);if(at(e))return Rj(e,t);throw new Error("Schema must be an instance of z3.ZodObject or z4.$ZodObject")}function Zy(e){if(vt(e))return e.partial();if(at(e))return Mj(Mx,e);throw new Error("Schema must be an instance of z3.ZodObject or z4.$ZodObject")}function Ul(e,t=!1){if(vt(e))return e.strict();if(Cr(e)){let n=e._zod.def.shape;if(t)for(let[a,i]of Object.entries(e._zod.def.shape)){if(Cr(i))n[a]=Ul(i,t);else if(Pp(i)){let c=i._zod.def.element;Cr(c)&&(c=Ul(c,t)),n[a]=ur(i,{...i._zod.def,element:c})}else n[a]=i;let o=mn.get(i);o&&mn.add(n[a],o)}let r=ur(e,{...e._zod.def,shape:n,catchall:Yj(Jj)}),s=mn.get(e);return s&&mn.add(r,s),r}throw new Error("Schema must be an instance of z3.ZodObject or z4.$ZodObject")}function Um(e,t=!1){if(By(e))return e.passthrough();if(Cr(e)){let n=e._zod.def.shape;if(t)for(let[a,i]of Object.entries(e._zod.def.shape)){if(Cr(i))n[a]=Um(i,t);else if(Pp(i)){let c=i._zod.def.element;Cr(c)&&(c=Um(c,t)),n[a]=ur(i,{...i._zod.def,element:c})}else n[a]=i;let o=mn.get(i);o&&mn.add(n[a],o)}let r=ur(e,{...e._zod.def,shape:n,catchall:Xj(Wj)}),s=mn.get(e);return s&&mn.add(r,s),r}throw new Error("Schema must be an instance of z3.ZodObject or z4.$ZodObject")}function Zx(e){if(vt(e))try{let t=e.parse(void 0);return()=>t}catch{return}if(at(e))try{let t=Uy(e,void 0);return()=>t}catch{return}}function ZR(e){return vt(e)&&"typeName"in e._def&&e._def.typeName==="ZodEffects"}function VR(e){return at(e)&&e._zod.def.type==="pipe"}function Gs(e,t,n){let r=n.get(e);if(r!==void 0)return r;if(vt(e))return ZR(e)?Gs(e._def.schema,t,n):e;if(at(e)){let s=e;if(VR(e)&&(s=Gs(e._zod.def.in,t,n)),t){if(Cr(s)){let i={};for(let[o,c]of Object.entries(s._zod.def.shape))i[o]=Gs(c,t,n);s=ur(s,{...s._zod.def,shape:i})}else if(Pp(s)){let i=Gs(s._zod.def.element,t,n);s=ur(s,{...s._zod.def,element:i})}else if(Dx(s)){let i=Gs(s._zod.def.innerType,t,n);s=ur(s,{...s._zod.def,innerType:i})}else if(Fx(s)){let i=Gs(s._zod.def.innerType,t,n);s=ur(s,{...s._zod.def,innerType:i})}}let a=mn.get(e);return a&&mn.add(s,a),n.set(e,s),s}throw new Error("Schema must be an instance of z3.ZodType or z4.$ZodType")}function Vx(e,t=!1){return Gs(e,t,new WeakMap)}function qR(e,t){if(vt(e)){let n=ic(e),r={};for(let[s,a]of Object.entries(n))t(s,a)?r[s]=a.optional():r[s]=a;return e.extend(r)}if(at(e)){let n=ic(e),r={...e._zod.def.shape};for(let[i,o]of Object.entries(n))t(i,o)&&(r[i]=new Mx({type:"optional",innerType:o}));let s=ur(e,{...e._zod.def,shape:r}),a=mn.get(e);return a&&mn.add(s,a),s}throw new Error("Schema must be an instance of z3.ZodObject or z4.$ZodObject")}function qx(e){return e instanceof Error&&(e.constructor.name==="ZodError"||e.constructor.name==="$ZodError")}var HR=Symbol("Let zodToJsonSchema decide on which parser to use"),WR={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"},JR=e=>({...WR,...e}),GR=e=>{let t=JR(e),n=t.name!==void 0?[...t.basePath,t.definitionPath,t.name]:t.basePath;return{...t,flags:{hasReferencedOpenAiAnyType:!1},currentPath:n,propertyPath:void 0,seen:new Map(Object.entries(t.definitions).map(([r,s])=>[s._def,{def:s._def,path:[...t.basePath,t.definitionPath,r],jsonSchema:void 0}]))}},Hx=(e,t)=>{let n=0;for(;n<e.length&&n<t.length&&e[n]===t[n];n++);return[(e.length-n).toString(),...t.slice(n)].join("/")};function wn(e){if(e.target!=="openAi")return{};let t=[...e.basePath,e.definitionPath,e.openAiAnyTypeName];return e.flags.hasReferencedOpenAiAnyType=!0,{$ref:e.$refStrategy==="relative"?Hx(t,e.currentPath):t.join("/")}}function Wx(e,t,n,r){r?.errorMessages&&n&&(e.errorMessage={...e.errorMessage,[t]:n})}function Je(e,t,n,r,s){e[t]=n,Wx(e,t,r,s)}var Ze;(function(e){e.assertEqual=s=>{};function t(s){}e.assertIs=t;function n(s){throw new Error}e.assertNever=n,e.arrayToEnum=s=>{let a={};for(let i of s)a[i]=i;return a},e.getValidEnumValues=s=>{let a=e.objectKeys(s).filter(o=>typeof s[s[o]]!="number"),i={};for(let o of a)i[o]=s[o];return e.objectValues(i)},e.objectValues=s=>e.objectKeys(s).map(function(a){return s[a]}),e.objectKeys=typeof Object.keys=="function"?s=>Object.keys(s):s=>{let a=[];for(let i in s)Object.prototype.hasOwnProperty.call(s,i)&&a.push(i);return a},e.find=(s,a)=>{for(let i of s)if(a(i))return i},e.isInteger=typeof Number.isInteger=="function"?s=>Number.isInteger(s):s=>typeof s=="number"&&Number.isFinite(s)&&Math.floor(s)===s;function r(s,a=" | "){return s.map(i=>typeof i=="string"?`'${i}'`:i).join(a)}e.joinValues=r,e.jsonStringifyReplacer=(s,a)=>typeof a=="bigint"?a.toString():a})(Ze||(Ze={}));var Nw;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(Nw||(Nw={}));var re=Ze.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),ds=e=>{switch(typeof e){case"undefined":return re.undefined;case"string":return re.string;case"number":return Number.isNaN(e)?re.nan:re.number;case"boolean":return re.boolean;case"function":return re.function;case"bigint":return re.bigint;case"symbol":return re.symbol;case"object":return Array.isArray(e)?re.array:e===null?re.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?re.promise:typeof Map<"u"&&e instanceof Map?re.map:typeof Set<"u"&&e instanceof Set?re.set:typeof Date<"u"&&e instanceof Date?re.date:re.object;default:return re.unknown}},D=Ze.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"]),va=class Jx extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};let n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=t}format(t){let n=t||function(a){return a.message},r={_errors:[]},s=a=>{for(let i of a.issues)if(i.code==="invalid_union")i.unionErrors.map(s);else if(i.code==="invalid_return_type")s(i.returnTypeError);else if(i.code==="invalid_arguments")s(i.argumentsError);else if(i.path.length===0)r._errors.push(n(i));else{let o=r,c=0;for(;c<i.path.length;){let u=i.path[c];c===i.path.length-1?(o[u]=o[u]||{_errors:[]},o[u]._errors.push(n(i))):o[u]=o[u]||{_errors:[]},o=o[u],c++}}};return s(this),r}static assert(t){if(!(t instanceof Jx))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,Ze.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=n=>n.message){let n=Object.create(null),r=[];for(let s of this.issues)if(s.path.length>0){let a=s.path[0];n[a]=n[a]||[],n[a].push(t(s))}else r.push(t(s));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}};va.create=e=>new va(e);var Dm=(e,t)=>{let n;switch(e.code){case D.invalid_type:e.received===re.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case D.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,Ze.jsonStringifyReplacer)}`;break;case D.unrecognized_keys:n=`Unrecognized key(s) in object: ${Ze.joinValues(e.keys,", ")}`;break;case D.invalid_union:n="Invalid input";break;case D.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${Ze.joinValues(e.options)}`;break;case D.invalid_enum_value:n=`Invalid enum value. Expected ${Ze.joinValues(e.options)}, received '${e.received}'`;break;case D.invalid_arguments:n="Invalid function arguments";break;case D.invalid_return_type:n="Invalid function return type";break;case D.invalid_date:n="Invalid date";break;case D.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:Ze.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case D.too_small:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:n="Invalid input";break;case D.too_big:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?n=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:n="Invalid input";break;case D.custom:n="Invalid input";break;case D.invalid_intersection_types:n="Intersection results could not be merged";break;case D.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case D.not_finite:n="Number must be finite";break;default:n=t.defaultError,Ze.assertNever(e)}return{message:n}},KR=Dm;function XR(){return KR}var YR=e=>{let{data:t,path:n,errorMaps:r,issueData:s}=e,a=[...n,...s.path||[]],i={...s,path:a};if(s.message!==void 0)return{...s,path:a,message:s.message};let o="",c=r.filter(u=>!!u).slice().reverse();for(let u of c)o=u(i,{data:t,defaultError:o}).message;return{...s,path:a,message:o}};function H(e,t){let n=XR(),r=YR({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===Dm?void 0:Dm].filter(s=>!!s)});e.common.issues.push(r)}var mr=class Gx{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,n){let r=[];for(let s of n){if(s.status==="aborted")return we;s.status==="dirty"&&t.dirty(),r.push(s.value)}return{status:t.value,value:r}}static async mergeObjectAsync(t,n){let r=[];for(let s of n){let a=await s.key,i=await s.value;r.push({key:a,value:i})}return Gx.mergeObjectSync(t,r)}static mergeObjectSync(t,n){let r={};for(let s of n){let{key:a,value:i}=s;if(a.status==="aborted"||i.status==="aborted")return we;a.status==="dirty"&&t.dirty(),i.status==="dirty"&&t.dirty(),a.value!=="__proto__"&&(typeof i.value<"u"||s.alwaysSet)&&(r[a.value]=i.value)}return{status:t.value,value:r}}},we=Object.freeze({status:"aborted"}),Fm=e=>({status:"dirty",value:e}),Hn=e=>({status:"valid",value:e}),Pw=e=>e.status==="aborted",jw=e=>e.status==="dirty",$i=e=>e.status==="valid",Dl=e=>typeof Promise<"u"&&e instanceof Promise,ae;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(ae||(ae={}));var Es=class{constructor(e,t,n,r){this._cachedPath=[],this.parent=e,this.data=t,this._path=n,this._key=r}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}},Rw=(e,t)=>{if($i(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let n=new va(e.common.issues);return this._error=n,this._error}}};function $e(e){if(!e)return{};let{errorMap:t,invalid_type_error:n,required_error:r,description:s}=e;if(t&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:s}:{errorMap:(a,i)=>{let{message:o}=e;return a.code==="invalid_enum_value"?{message:o??i.defaultError}:typeof i.data>"u"?{message:o??r??i.defaultError}:a.code!=="invalid_type"?{message:i.defaultError}:{message:o??n??i.defaultError}},description:s}}var ze=class{get description(){return this._def.description}_getType(e){return ds(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:ds(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new mr,ctx:{common:e.parent.common,data:e.data,parsedType:ds(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let t=this._parse(e);if(Dl(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){let t=this._parse(e);return Promise.resolve(t)}parse(e,t){let n=this.safeParse(e,t);if(n.success)return n.data;throw n.error}safeParse(e,t){let n={common:{issues:[],async:t?.async??!1,contextualErrorMap:t?.errorMap},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:ds(e)},r=this._parseSync({data:e,path:n.path,parent:n});return Rw(n,r)}"~validate"(e){let t={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:ds(e)};if(!this["~standard"].async)try{let n=this._parseSync({data:e,path:[],parent:t});return $i(n)?{value:n.value}:{issues:t.common.issues}}catch(n){n?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),t.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:t}).then(n=>$i(n)?{value:n.value}:{issues:t.common.issues})}async parseAsync(e,t){let n=await this.safeParseAsync(e,t);if(n.success)return n.data;throw n.error}async safeParseAsync(e,t){let n={common:{issues:[],contextualErrorMap:t?.errorMap,async:!0},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:ds(e)},r=this._parse({data:e,path:n.path,parent:n}),s=await(Dl(r)?r:Promise.resolve(r));return Rw(n,s)}refine(e,t){let n=r=>typeof t=="string"||typeof t>"u"?{message:t}:typeof t=="function"?t(r):t;return this._refinement((r,s)=>{let a=e(r),i=()=>s.addIssue({code:D.custom,...n(r)});return typeof Promise<"u"&&a instanceof Promise?a.then(o=>o?!0:(i(),!1)):a?!0:(i(),!1)})}refinement(e,t){return this._refinement((n,r)=>e(n)?!0:(r.addIssue(typeof t=="function"?t(n,r):t),!1))}_refinement(e){return new Ni({schema:this,typeName:F.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,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:t=>this["~validate"](t)}}optional(){return bs.create(this,this._def)}nullable(){return Pi.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Ci.create(this)}promise(){return Zl.create(this,this._def)}or(e){return Fl.create([this,e],this._def)}and(e){return Bl.create(this,e,this._def)}transform(e){return new Ni({...$e(this._def),schema:this,typeName:F.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let t=typeof e=="function"?e:()=>e;return new Gm({...$e(this._def),innerType:this,defaultValue:t,typeName:F.ZodDefault})}brand(){return new b2({typeName:F.ZodBranded,type:this,...$e(this._def)})}catch(e){let t=typeof e=="function"?e:()=>e;return new Km({...$e(this._def),innerType:this,catchValue:t,typeName:F.ZodCatch})}describe(e){let t=this.constructor;return new t({...this._def,description:e})}pipe(e){return k2.create(this,e)}readonly(){return Xm.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},QR=/^c[^\s-]{8,}$/i,e2=/^[0-9a-z]+$/,t2=/^[0-9A-HJKMNP-TV-Z]{26}$/i,n2=/^[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,r2=/^[a-z0-9_-]{21}$/i,s2=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,a2=/^[-+]?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)?)??$/,i2=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,o2="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",_f,c2=/^(?:(?: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])$/,u2=/^(?:(?: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])$/,l2=/^(([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]))$/,d2=/^(([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])$/,p2=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,h2=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Kx="((\\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])))",f2=new RegExp(`^${Kx}$`);function Xx(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`);let n=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${n}`}function m2(e){return new RegExp(`^${Xx(e)}$`)}function g2(e){let t=`${Kx}T${Xx(e)}`,n=[];return n.push(e.local?"Z?":"Z"),e.offset&&n.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${n.join("|")})`,new RegExp(`^${t}$`)}function y2(e,t){return!!((t==="v4"||!t)&&c2.test(e)||(t==="v6"||!t)&&l2.test(e))}function _2(e,t){if(!s2.test(e))return!1;try{let[n]=e.split(".");if(!n)return!1;let r=n.replace(/-/g,"+").replace(/_/g,"/").padEnd(n.length+(4-n.length%4)%4,"="),s=JSON.parse(atob(r));return!(typeof s!="object"||s===null||"typ"in s&&s?.typ!=="JWT"||!s.alg||t&&s.alg!==t)}catch{return!1}}function v2(e,t){return!!((t==="v4"||!t)&&u2.test(e)||(t==="v6"||!t)&&d2.test(e))}var Bm=class ko extends ze{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==re.string){let s=this._getOrReturnCtx(t);return H(s,{code:D.invalid_type,expected:re.string,received:s.parsedType}),we}let n=new mr,r;for(let s of this._def.checks)if(s.kind==="min")t.data.length<s.value&&(r=this._getOrReturnCtx(t,r),H(r,{code:D.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="max")t.data.length>s.value&&(r=this._getOrReturnCtx(t,r),H(r,{code:D.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="length"){let a=t.data.length>s.value,i=t.data.length<s.value;(a||i)&&(r=this._getOrReturnCtx(t,r),a?H(r,{code:D.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):i&&H(r,{code:D.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),n.dirty())}else if(s.kind==="email")i2.test(t.data)||(r=this._getOrReturnCtx(t,r),H(r,{validation:"email",code:D.invalid_string,message:s.message}),n.dirty());else if(s.kind==="emoji")_f||(_f=new RegExp(o2,"u")),_f.test(t.data)||(r=this._getOrReturnCtx(t,r),H(r,{validation:"emoji",code:D.invalid_string,message:s.message}),n.dirty());else if(s.kind==="uuid")n2.test(t.data)||(r=this._getOrReturnCtx(t,r),H(r,{validation:"uuid",code:D.invalid_string,message:s.message}),n.dirty());else if(s.kind==="nanoid")r2.test(t.data)||(r=this._getOrReturnCtx(t,r),H(r,{validation:"nanoid",code:D.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid")QR.test(t.data)||(r=this._getOrReturnCtx(t,r),H(r,{validation:"cuid",code:D.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid2")e2.test(t.data)||(r=this._getOrReturnCtx(t,r),H(r,{validation:"cuid2",code:D.invalid_string,message:s.message}),n.dirty());else if(s.kind==="ulid")t2.test(t.data)||(r=this._getOrReturnCtx(t,r),H(r,{validation:"ulid",code:D.invalid_string,message:s.message}),n.dirty());else if(s.kind==="url")try{new URL(t.data)}catch{r=this._getOrReturnCtx(t,r),H(r,{validation:"url",code:D.invalid_string,message:s.message}),n.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(t.data)||(r=this._getOrReturnCtx(t,r),H(r,{validation:"regex",code:D.invalid_string,message:s.message}),n.dirty())):s.kind==="trim"?t.data=t.data.trim():s.kind==="includes"?t.data.includes(s.value,s.position)||(r=this._getOrReturnCtx(t,r),H(r,{code:D.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),n.dirty()):s.kind==="toLowerCase"?t.data=t.data.toLowerCase():s.kind==="toUpperCase"?t.data=t.data.toUpperCase():s.kind==="startsWith"?t.data.startsWith(s.value)||(r=this._getOrReturnCtx(t,r),H(r,{code:D.invalid_string,validation:{startsWith:s.value},message:s.message}),n.dirty()):s.kind==="endsWith"?t.data.endsWith(s.value)||(r=this._getOrReturnCtx(t,r),H(r,{code:D.invalid_string,validation:{endsWith:s.value},message:s.message}),n.dirty()):s.kind==="datetime"?g2(s).test(t.data)||(r=this._getOrReturnCtx(t,r),H(r,{code:D.invalid_string,validation:"datetime",message:s.message}),n.dirty()):s.kind==="date"?f2.test(t.data)||(r=this._getOrReturnCtx(t,r),H(r,{code:D.invalid_string,validation:"date",message:s.message}),n.dirty()):s.kind==="time"?m2(s).test(t.data)||(r=this._getOrReturnCtx(t,r),H(r,{code:D.invalid_string,validation:"time",message:s.message}),n.dirty()):s.kind==="duration"?a2.test(t.data)||(r=this._getOrReturnCtx(t,r),H(r,{validation:"duration",code:D.invalid_string,message:s.message}),n.dirty()):s.kind==="ip"?y2(t.data,s.version)||(r=this._getOrReturnCtx(t,r),H(r,{validation:"ip",code:D.invalid_string,message:s.message}),n.dirty()):s.kind==="jwt"?_2(t.data,s.alg)||(r=this._getOrReturnCtx(t,r),H(r,{validation:"jwt",code:D.invalid_string,message:s.message}),n.dirty()):s.kind==="cidr"?v2(t.data,s.version)||(r=this._getOrReturnCtx(t,r),H(r,{validation:"cidr",code:D.invalid_string,message:s.message}),n.dirty()):s.kind==="base64"?p2.test(t.data)||(r=this._getOrReturnCtx(t,r),H(r,{validation:"base64",code:D.invalid_string,message:s.message}),n.dirty()):s.kind==="base64url"?h2.test(t.data)||(r=this._getOrReturnCtx(t,r),H(r,{validation:"base64url",code:D.invalid_string,message:s.message}),n.dirty()):Ze.assertNever(s);return{status:n.value,value:t.data}}_regex(t,n,r){return this.refinement(s=>t.test(s),{validation:n,code:D.invalid_string,...ae.errToObj(r)})}_addCheck(t){return new ko({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...ae.errToObj(t)})}url(t){return this._addCheck({kind:"url",...ae.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...ae.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...ae.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...ae.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...ae.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...ae.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...ae.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...ae.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...ae.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...ae.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...ae.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...ae.errToObj(t)})}datetime(t){return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof t?.precision>"u"?null:t?.precision,offset:t?.offset??!1,local:t?.local??!1,...ae.errToObj(t?.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof t?.precision>"u"?null:t?.precision,...ae.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...ae.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...ae.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n?.position,...ae.errToObj(n?.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...ae.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...ae.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...ae.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...ae.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...ae.errToObj(n)})}nonempty(t){return this.min(1,ae.errToObj(t))}trim(){return new ko({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new ko({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new ko({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxLength(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}};Bm.create=e=>new Bm({checks:[],typeName:F.ZodString,coerce:e?.coerce??!1,...$e(e)});function w2(e,t){let n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,s=n>r?n:r,a=Number.parseInt(e.toFixed(s).replace(".","")),i=Number.parseInt(t.toFixed(s).replace(".",""));return a%i/10**s}var Mw=class Zm extends ze{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==re.number){let s=this._getOrReturnCtx(t);return H(s,{code:D.invalid_type,expected:re.number,received:s.parsedType}),we}let n,r=new mr;for(let s of this._def.checks)s.kind==="int"?Ze.isInteger(t.data)||(n=this._getOrReturnCtx(t,n),H(n,{code:D.invalid_type,expected:"integer",received:"float",message:s.message}),r.dirty()):s.kind==="min"?(s.inclusive?t.data<s.value:t.data<=s.value)&&(n=this._getOrReturnCtx(t,n),H(n,{code:D.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),r.dirty()):s.kind==="max"?(s.inclusive?t.data>s.value:t.data>=s.value)&&(n=this._getOrReturnCtx(t,n),H(n,{code:D.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),r.dirty()):s.kind==="multipleOf"?w2(t.data,s.value)!==0&&(n=this._getOrReturnCtx(t,n),H(n,{code:D.not_multiple_of,multipleOf:s.value,message:s.message}),r.dirty()):s.kind==="finite"?Number.isFinite(t.data)||(n=this._getOrReturnCtx(t,n),H(n,{code:D.not_finite,message:s.message}),r.dirty()):Ze.assertNever(s);return{status:r.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,ae.toString(n))}gt(t,n){return this.setLimit("min",t,!1,ae.toString(n))}lte(t,n){return this.setLimit("max",t,!0,ae.toString(n))}lt(t,n){return this.setLimit("max",t,!1,ae.toString(n))}setLimit(t,n,r,s){return new Zm({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:ae.toString(s)}]})}_addCheck(t){return new Zm({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:ae.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:ae.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:ae.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:ae.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:ae.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:ae.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:ae.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:ae.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:ae.toString(t)})}get minValue(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}get isInt(){return!!this._def.checks.find(t=>t.kind==="int"||t.kind==="multipleOf"&&Ze.isInteger(t.value))}get isFinite(){let t=null,n=null;for(let r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(t===null||r.value<t)&&(t=r.value)}return Number.isFinite(n)&&Number.isFinite(t)}};Mw.create=e=>new Mw({checks:[],typeName:F.ZodNumber,coerce:e?.coerce||!1,...$e(e)});var Lw=class Vm extends ze{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==re.bigint)return this._getInvalidInput(t);let n,r=new mr;for(let s of this._def.checks)s.kind==="min"?(s.inclusive?t.data<s.value:t.data<=s.value)&&(n=this._getOrReturnCtx(t,n),H(n,{code:D.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),r.dirty()):s.kind==="max"?(s.inclusive?t.data>s.value:t.data>=s.value)&&(n=this._getOrReturnCtx(t,n),H(n,{code:D.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),r.dirty()):s.kind==="multipleOf"?t.data%s.value!==BigInt(0)&&(n=this._getOrReturnCtx(t,n),H(n,{code:D.not_multiple_of,multipleOf:s.value,message:s.message}),r.dirty()):Ze.assertNever(s);return{status:r.value,value:t.data}}_getInvalidInput(t){let n=this._getOrReturnCtx(t);return H(n,{code:D.invalid_type,expected:re.bigint,received:n.parsedType}),we}gte(t,n){return this.setLimit("min",t,!0,ae.toString(n))}gt(t,n){return this.setLimit("min",t,!1,ae.toString(n))}lte(t,n){return this.setLimit("max",t,!0,ae.toString(n))}lt(t,n){return this.setLimit("max",t,!1,ae.toString(n))}setLimit(t,n,r,s){return new Vm({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:ae.toString(s)}]})}_addCheck(t){return new Vm({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:ae.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:ae.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:ae.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:ae.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:ae.toString(n)})}get minValue(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}};Lw.create=e=>new Lw({checks:[],typeName:F.ZodBigInt,coerce:e?.coerce??!1,...$e(e)});var zw=class extends ze{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==re.boolean){let t=this._getOrReturnCtx(e);return H(t,{code:D.invalid_type,expected:re.boolean,received:t.parsedType}),we}return Hn(e.data)}};zw.create=e=>new zw({typeName:F.ZodBoolean,coerce:e?.coerce||!1,...$e(e)});var Uw=class Yx extends ze{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==re.date){let s=this._getOrReturnCtx(t);return H(s,{code:D.invalid_type,expected:re.date,received:s.parsedType}),we}if(Number.isNaN(t.data.getTime())){let s=this._getOrReturnCtx(t);return H(s,{code:D.invalid_date}),we}let n=new mr,r;for(let s of this._def.checks)s.kind==="min"?t.data.getTime()<s.value&&(r=this._getOrReturnCtx(t,r),H(r,{code:D.too_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),n.dirty()):s.kind==="max"?t.data.getTime()>s.value&&(r=this._getOrReturnCtx(t,r),H(r,{code:D.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),n.dirty()):Ze.assertNever(s);return{status:n.value,value:new Date(t.data.getTime())}}_addCheck(t){return new Yx({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:ae.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:ae.toString(n)})}get minDate(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t!=null?new Date(t):null}};Uw.create=e=>new Uw({checks:[],coerce:e?.coerce||!1,typeName:F.ZodDate,...$e(e)});var Dw=class extends ze{_parse(e){if(this._getType(e)!==re.symbol){let t=this._getOrReturnCtx(e);return H(t,{code:D.invalid_type,expected:re.symbol,received:t.parsedType}),we}return Hn(e.data)}};Dw.create=e=>new Dw({typeName:F.ZodSymbol,...$e(e)});var Fw=class extends ze{_parse(e){if(this._getType(e)!==re.undefined){let t=this._getOrReturnCtx(e);return H(t,{code:D.invalid_type,expected:re.undefined,received:t.parsedType}),we}return Hn(e.data)}};Fw.create=e=>new Fw({typeName:F.ZodUndefined,...$e(e)});var Bw=class extends ze{_parse(e){if(this._getType(e)!==re.null){let t=this._getOrReturnCtx(e);return H(t,{code:D.invalid_type,expected:re.null,received:t.parsedType}),we}return Hn(e.data)}};Bw.create=e=>new Bw({typeName:F.ZodNull,...$e(e)});var qm=class extends ze{constructor(){super(...arguments),this._any=!0}_parse(e){return Hn(e.data)}};qm.create=e=>new qm({typeName:F.ZodAny,...$e(e)});var Zw=class extends ze{constructor(){super(...arguments),this._unknown=!0}_parse(e){return Hn(e.data)}};Zw.create=e=>new Zw({typeName:F.ZodUnknown,...$e(e)});var As=class extends ze{_parse(e){let t=this._getOrReturnCtx(e);return H(t,{code:D.invalid_type,expected:re.never,received:t.parsedType}),we}};As.create=e=>new As({typeName:F.ZodNever,...$e(e)});var Vw=class extends ze{_parse(e){if(this._getType(e)!==re.undefined){let t=this._getOrReturnCtx(e);return H(t,{code:D.invalid_type,expected:re.void,received:t.parsedType}),we}return Hn(e.data)}};Vw.create=e=>new Vw({typeName:F.ZodVoid,...$e(e)});var Ci=class ol extends ze{_parse(t){let{ctx:n,status:r}=this._processInputParams(t),s=this._def;if(n.parsedType!==re.array)return H(n,{code:D.invalid_type,expected:re.array,received:n.parsedType}),we;if(s.exactLength!==null){let i=n.data.length>s.exactLength.value,o=n.data.length<s.exactLength.value;(i||o)&&(H(n,{code:i?D.too_big:D.too_small,minimum:o?s.exactLength.value:void 0,maximum:i?s.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:s.exactLength.message}),r.dirty())}if(s.minLength!==null&&n.data.length<s.minLength.value&&(H(n,{code:D.too_small,minimum:s.minLength.value,type:"array",inclusive:!0,exact:!1,message:s.minLength.message}),r.dirty()),s.maxLength!==null&&n.data.length>s.maxLength.value&&(H(n,{code:D.too_big,maximum:s.maxLength.value,type:"array",inclusive:!0,exact:!1,message:s.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((i,o)=>s.type._parseAsync(new Es(n,i,n.path,o)))).then(i=>mr.mergeArray(r,i));let a=[...n.data].map((i,o)=>s.type._parseSync(new Es(n,i,n.path,o)));return mr.mergeArray(r,a)}get element(){return this._def.type}min(t,n){return new ol({...this._def,minLength:{value:t,message:ae.toString(n)}})}max(t,n){return new ol({...this._def,maxLength:{value:t,message:ae.toString(n)}})}length(t,n){return new ol({...this._def,exactLength:{value:t,message:ae.toString(n)}})}nonempty(t){return this.min(1,t)}};Ci.create=(e,t)=>new Ci({type:e,minLength:null,maxLength:null,exactLength:null,typeName:F.ZodArray,...$e(t)});function Ya(e){if(e instanceof es){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=bs.create(Ya(r))}return new es({...e._def,shape:()=>t})}else return e instanceof Ci?new Ci({...e._def,type:Ya(e.element)}):e instanceof bs?bs.create(Ya(e.unwrap())):e instanceof Pi?Pi.create(Ya(e.unwrap())):e instanceof oc?oc.create(e.items.map(t=>Ya(t))):e}var es=class er extends ze{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let t=this._def.shape(),n=Ze.objectKeys(t);return this._cached={shape:t,keys:n},this._cached}_parse(t){if(this._getType(t)!==re.object){let c=this._getOrReturnCtx(t);return H(c,{code:D.invalid_type,expected:re.object,received:c.parsedType}),we}let{status:n,ctx:r}=this._processInputParams(t),{shape:s,keys:a}=this._getCached(),i=[];if(!(this._def.catchall instanceof As&&this._def.unknownKeys==="strip"))for(let c in r.data)a.includes(c)||i.push(c);let o=[];for(let c of a){let u=s[c],l=r.data[c];o.push({key:{status:"valid",value:c},value:u._parse(new Es(r,l,r.path,c)),alwaysSet:c in r.data})}if(this._def.catchall instanceof As){let c=this._def.unknownKeys;if(c==="passthrough")for(let u of i)o.push({key:{status:"valid",value:u},value:{status:"valid",value:r.data[u]}});else if(c==="strict")i.length>0&&(H(r,{code:D.unrecognized_keys,keys:i}),n.dirty());else if(c!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let c=this._def.catchall;for(let u of i){let l=r.data[u];o.push({key:{status:"valid",value:u},value:c._parse(new Es(r,l,r.path,u)),alwaysSet:u in r.data})}}return r.common.async?Promise.resolve().then(async()=>{let c=[];for(let u of o){let l=await u.key,d=await u.value;c.push({key:l,value:d,alwaysSet:u.alwaysSet})}return c}).then(c=>mr.mergeObjectSync(n,c)):mr.mergeObjectSync(n,o)}get shape(){return this._def.shape()}strict(t){return ae.errToObj,new er({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,r)=>{let s=this._def.errorMap?.(n,r).message??r.defaultError;return n.code==="unrecognized_keys"?{message:ae.errToObj(t).message??s}:{message:s}}}:{}})}strip(){return new er({...this._def,unknownKeys:"strip"})}passthrough(){return new er({...this._def,unknownKeys:"passthrough"})}extend(t){return new er({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new er({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:F.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new er({...this._def,catchall:t})}pick(t){let n={};for(let r of Ze.objectKeys(t))t[r]&&this.shape[r]&&(n[r]=this.shape[r]);return new er({...this._def,shape:()=>n})}omit(t){let n={};for(let r of Ze.objectKeys(this.shape))t[r]||(n[r]=this.shape[r]);return new er({...this._def,shape:()=>n})}deepPartial(){return Ya(this)}partial(t){let n={};for(let r of Ze.objectKeys(this.shape)){let s=this.shape[r];t&&!t[r]?n[r]=s:n[r]=s.optional()}return new er({...this._def,shape:()=>n})}required(t){let n={};for(let r of Ze.objectKeys(this.shape))if(t&&!t[r])n[r]=this.shape[r];else{let s=this.shape[r];for(;s instanceof bs;)s=s._def.innerType;n[r]=s}return new er({...this._def,shape:()=>n})}keyof(){return eO(Ze.objectKeys(this.shape))}};es.create=(e,t)=>new es({shape:()=>e,unknownKeys:"strip",catchall:As.create(),typeName:F.ZodObject,...$e(t)});es.strictCreate=(e,t)=>new es({shape:()=>e,unknownKeys:"strict",catchall:As.create(),typeName:F.ZodObject,...$e(t)});es.lazycreate=(e,t)=>new es({shape:e,unknownKeys:"strip",catchall:As.create(),typeName:F.ZodObject,...$e(t)});var Fl=class extends ze{_parse(e){let{ctx:t}=this._processInputParams(e),n=this._def.options;function r(s){for(let i of s)if(i.result.status==="valid")return i.result;for(let i of s)if(i.result.status==="dirty")return t.common.issues.push(...i.ctx.common.issues),i.result;let a=s.map(i=>new va(i.ctx.common.issues));return H(t,{code:D.invalid_union,unionErrors:a}),we}if(t.common.async)return Promise.all(n.map(async s=>{let a={...t,common:{...t.common,issues:[]},parent:null};return{result:await s._parseAsync({data:t.data,path:t.path,parent:a}),ctx:a}})).then(r);{let s,a=[];for(let o of n){let c={...t,common:{...t.common,issues:[]},parent:null},u=o._parseSync({data:t.data,path:t.path,parent:c});if(u.status==="valid")return u;u.status==="dirty"&&!s&&(s={result:u,ctx:c}),c.common.issues.length&&a.push(c.common.issues)}if(s)return t.common.issues.push(...s.ctx.common.issues),s.result;let i=a.map(o=>new va(o));return H(t,{code:D.invalid_union,unionErrors:i}),we}}get options(){return this._def.options}};Fl.create=(e,t)=>new Fl({options:e,typeName:F.ZodUnion,...$e(t)});function Hm(e,t){let n=ds(e),r=ds(t);if(e===t)return{valid:!0,data:e};if(n===re.object&&r===re.object){let s=Ze.objectKeys(t),a=Ze.objectKeys(e).filter(o=>s.indexOf(o)!==-1),i={...e,...t};for(let o of a){let c=Hm(e[o],t[o]);if(!c.valid)return{valid:!1};i[o]=c.data}return{valid:!0,data:i}}else if(n===re.array&&r===re.array){if(e.length!==t.length)return{valid:!1};let s=[];for(let a=0;a<e.length;a++){let i=e[a],o=t[a],c=Hm(i,o);if(!c.valid)return{valid:!1};s.push(c.data)}return{valid:!0,data:s}}else return n===re.date&&r===re.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}var Bl=class extends ze{_parse(e){let{status:t,ctx:n}=this._processInputParams(e),r=(s,a)=>{if(Pw(s)||Pw(a))return we;let i=Hm(s.value,a.value);return i.valid?((jw(s)||jw(a))&&t.dirty(),{status:t.value,value:i.data}):(H(n,{code:D.invalid_intersection_types}),we)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([s,a])=>r(s,a)):r(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};Bl.create=(e,t,n)=>new Bl({left:e,right:t,typeName:F.ZodIntersection,...$e(n)});var oc=class Qx extends ze{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==re.array)return H(r,{code:D.invalid_type,expected:re.array,received:r.parsedType}),we;if(r.data.length<this._def.items.length)return H(r,{code:D.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),we;!this._def.rest&&r.data.length>this._def.items.length&&(H(r,{code:D.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());let s=[...r.data].map((a,i)=>{let o=this._def.items[i]||this._def.rest;return o?o._parse(new Es(r,a,r.path,i)):null}).filter(a=>!!a);return r.common.async?Promise.all(s).then(a=>mr.mergeArray(n,a)):mr.mergeArray(n,s)}get items(){return this._def.items}rest(t){return new Qx({...this._def,rest:t})}};oc.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new oc({items:e,typeName:F.ZodTuple,rest:null,...$e(t)})};var qw=class extends ze{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==re.map)return H(n,{code:D.invalid_type,expected:re.map,received:n.parsedType}),we;let r=this._def.keyType,s=this._def.valueType,a=[...n.data.entries()].map(([i,o],c)=>({key:r._parse(new Es(n,i,n.path,[c,"key"])),value:s._parse(new Es(n,o,n.path,[c,"value"]))}));if(n.common.async){let i=new Map;return Promise.resolve().then(async()=>{for(let o of a){let c=await o.key,u=await o.value;if(c.status==="aborted"||u.status==="aborted")return we;(c.status==="dirty"||u.status==="dirty")&&t.dirty(),i.set(c.value,u.value)}return{status:t.value,value:i}})}else{let i=new Map;for(let o of a){let c=o.key,u=o.value;if(c.status==="aborted"||u.status==="aborted")return we;(c.status==="dirty"||u.status==="dirty")&&t.dirty(),i.set(c.value,u.value)}return{status:t.value,value:i}}}};qw.create=(e,t,n)=>new qw({valueType:t,keyType:e,typeName:F.ZodMap,...$e(n)});var Hw=class Wm extends ze{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==re.set)return H(r,{code:D.invalid_type,expected:re.set,received:r.parsedType}),we;let s=this._def;s.minSize!==null&&r.data.size<s.minSize.value&&(H(r,{code:D.too_small,minimum:s.minSize.value,type:"set",inclusive:!0,exact:!1,message:s.minSize.message}),n.dirty()),s.maxSize!==null&&r.data.size>s.maxSize.value&&(H(r,{code:D.too_big,maximum:s.maxSize.value,type:"set",inclusive:!0,exact:!1,message:s.maxSize.message}),n.dirty());let a=this._def.valueType;function i(c){let u=new Set;for(let l of c){if(l.status==="aborted")return we;l.status==="dirty"&&n.dirty(),u.add(l.value)}return{status:n.value,value:u}}let o=[...r.data.values()].map((c,u)=>a._parse(new Es(r,c,r.path,u)));return r.common.async?Promise.all(o).then(c=>i(c)):i(o)}min(t,n){return new Wm({...this._def,minSize:{value:t,message:ae.toString(n)}})}max(t,n){return new Wm({...this._def,maxSize:{value:t,message:ae.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}};Hw.create=(e,t)=>new Hw({valueType:e,minSize:null,maxSize:null,typeName:F.ZodSet,...$e(t)});var Ww=class extends ze{get schema(){return this._def.getter()}_parse(e){let{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}};Ww.create=(e,t)=>new Ww({getter:e,typeName:F.ZodLazy,...$e(t)});var Jw=class extends ze{_parse(e){if(e.data!==this._def.value){let t=this._getOrReturnCtx(e);return H(t,{received:t.data,code:D.invalid_literal,expected:this._def.value}),we}return{status:"valid",value:e.data}}get value(){return this._def.value}};Jw.create=(e,t)=>new Jw({value:e,typeName:F.ZodLiteral,...$e(t)});function eO(e,t){return new Vy({values:e,typeName:F.ZodEnum,...$e(t)})}var Vy=class Jm extends ze{_parse(t){if(typeof t.data!="string"){let n=this._getOrReturnCtx(t),r=this._def.values;return H(n,{expected:Ze.joinValues(r),received:n.parsedType,code:D.invalid_type}),we}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){let n=this._getOrReturnCtx(t),r=this._def.values;return H(n,{received:n.data,code:D.invalid_enum_value,options:r}),we}return Hn(t.data)}get options(){return this._def.values}get enum(){let t={};for(let n of this._def.values)t[n]=n;return t}get Values(){let t={};for(let n of this._def.values)t[n]=n;return t}get Enum(){let t={};for(let n of this._def.values)t[n]=n;return t}extract(t,n=this._def){return Jm.create(t,{...this._def,...n})}exclude(t,n=this._def){return Jm.create(this.options.filter(r=>!t.includes(r)),{...this._def,...n})}};Vy.create=eO;var Gw=class extends ze{_parse(e){let t=Ze.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==re.string&&n.parsedType!==re.number){let r=Ze.objectValues(t);return H(n,{expected:Ze.joinValues(r),received:n.parsedType,code:D.invalid_type}),we}if(this._cache||(this._cache=new Set(Ze.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let r=Ze.objectValues(t);return H(n,{received:n.data,code:D.invalid_enum_value,options:r}),we}return Hn(e.data)}get enum(){return this._def.values}};Gw.create=(e,t)=>new Gw({values:e,typeName:F.ZodNativeEnum,...$e(t)});var Zl=class extends ze{unwrap(){return this._def.type}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==re.promise&&t.common.async===!1)return H(t,{code:D.invalid_type,expected:re.promise,received:t.parsedType}),we;let n=t.parsedType===re.promise?t.data:Promise.resolve(t.data);return Hn(n.then(r=>this._def.type.parseAsync(r,{path:t.path,errorMap:t.common.contextualErrorMap})))}};Zl.create=(e,t)=>new Zl({type:e,typeName:F.ZodPromise,...$e(t)});var Ni=class extends ze{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===F.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:t,ctx:n}=this._processInputParams(e),r=this._def.effect||null,s={addIssue:a=>{H(n,a),a.fatal?t.abort():t.dirty()},get path(){return n.path}};if(s.addIssue=s.addIssue.bind(s),r.type==="preprocess"){let a=r.transform(n.data,s);if(n.common.async)return Promise.resolve(a).then(async i=>{if(t.value==="aborted")return we;let o=await this._def.schema._parseAsync({data:i,path:n.path,parent:n});return o.status==="aborted"?we:o.status==="dirty"||t.value==="dirty"?Fm(o.value):o});{if(t.value==="aborted")return we;let i=this._def.schema._parseSync({data:a,path:n.path,parent:n});return i.status==="aborted"?we:i.status==="dirty"||t.value==="dirty"?Fm(i.value):i}}if(r.type==="refinement"){let a=i=>{let o=r.refinement(i,s);if(n.common.async)return Promise.resolve(o);if(o instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return i};if(n.common.async===!1){let i=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return i.status==="aborted"?we:(i.status==="dirty"&&t.dirty(),a(i.value),{status:t.value,value:i.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(i=>i.status==="aborted"?we:(i.status==="dirty"&&t.dirty(),a(i.value).then(()=>({status:t.value,value:i.value}))))}if(r.type==="transform")if(n.common.async===!1){let a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!$i(a))return we;let i=r.transform(a.value,s);if(i instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:i}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(a=>$i(a)?Promise.resolve(r.transform(a.value,s)).then(i=>({status:t.value,value:i})):we);Ze.assertNever(r)}};Ni.create=(e,t,n)=>new Ni({schema:e,typeName:F.ZodEffects,effect:t,...$e(n)});Ni.createWithPreprocess=(e,t,n)=>new Ni({schema:t,effect:{type:"preprocess",transform:e},typeName:F.ZodEffects,...$e(n)});var bs=class extends ze{_parse(e){return this._getType(e)===re.undefined?Hn(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};bs.create=(e,t)=>new bs({innerType:e,typeName:F.ZodOptional,...$e(t)});var Pi=class extends ze{_parse(e){return this._getType(e)===re.null?Hn(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Pi.create=(e,t)=>new Pi({innerType:e,typeName:F.ZodNullable,...$e(t)});var Gm=class extends ze{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return t.parsedType===re.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}};Gm.create=(e,t)=>new Gm({innerType:e,typeName:F.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...$e(t)});var Km=class extends ze{_parse(e){let{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},r=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return Dl(r)?r.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new va(n.common.issues)},input:n.data})})):{status:"valid",value:r.status==="valid"?r.value:this._def.catchValue({get error(){return new va(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};Km.create=(e,t)=>new Km({innerType:e,typeName:F.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...$e(t)});var Kw=class extends ze{_parse(e){if(this._getType(e)!==re.nan){let t=this._getOrReturnCtx(e);return H(t,{code:D.invalid_type,expected:re.nan,received:t.parsedType}),we}return{status:"valid",value:e.data}}};Kw.create=e=>new Kw({typeName:F.ZodNaN,...$e(e)});var b2=class extends ze{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return this._def.type._parse({data:n,path:t.path,parent:t})}unwrap(){return this._def.type}},k2=class tO extends ze{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.common.async)return(async()=>{let s=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?we:s.status==="dirty"?(n.dirty(),Fm(s.value)):this._def.out._parseAsync({data:s.value,path:r.path,parent:r})})();{let s=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?we:s.status==="dirty"?(n.dirty(),{status:"dirty",value:s.value}):this._def.out._parseSync({data:s.value,path:r.path,parent:r})}}static create(t,n){return new tO({in:t,out:n,typeName:F.ZodPipeline})}},Xm=class extends ze{_parse(e){let t=this._def.innerType._parse(e),n=r=>($i(r)&&(r.value=Object.freeze(r.value)),r);return Dl(t)?t.then(r=>n(r)):n(t)}unwrap(){return this._def.innerType}};Xm.create=(e,t)=>new Xm({innerType:e,typeName:F.ZodReadonly,...$e(t)});var F;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(F||(F={}));var jp=Bm.create,Xw=qm.create;As.create;Ci.create;var Rp=es.create;Fl.create;Bl.create;oc.create;Vy.create;Zl.create;bs.create;Pi.create;function x2(e,t){let n={type:"array"};return e.type?._def&&e.type?._def?.typeName!==F.ZodAny&&(n.items=qe(e.type._def,{...t,currentPath:[...t.currentPath,"items"]})),e.minLength&&Je(n,"minItems",e.minLength.value,e.minLength.message,t),e.maxLength&&Je(n,"maxItems",e.maxLength.value,e.maxLength.message,t),e.exactLength&&(Je(n,"minItems",e.exactLength.value,e.exactLength.message,t),Je(n,"maxItems",e.exactLength.value,e.exactLength.message,t)),n}function O2(e,t){let n={type:"integer",format:"int64"};if(!e.checks)return n;for(let r of e.checks)switch(r.kind){case"min":t.target==="jsonSchema7"?r.inclusive?Je(n,"minimum",r.value,r.message,t):Je(n,"exclusiveMinimum",r.value,r.message,t):(r.inclusive||(n.exclusiveMinimum=!0),Je(n,"minimum",r.value,r.message,t));break;case"max":t.target==="jsonSchema7"?r.inclusive?Je(n,"maximum",r.value,r.message,t):Je(n,"exclusiveMaximum",r.value,r.message,t):(r.inclusive||(n.exclusiveMaximum=!0),Je(n,"maximum",r.value,r.message,t));break;case"multipleOf":Je(n,"multipleOf",r.value,r.message,t);break}return n}function S2(){return{type:"boolean"}}function nO(e,t){return qe(e.type._def,t)}var T2=(e,t)=>qe(e.innerType._def,t);function rO(e,t,n){let r=n??t.dateStrategy;if(Array.isArray(r))return{anyOf:r.map(s=>rO(e,t,s))};switch(r){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return I2(e,t)}}var I2=(e,t)=>{let n={type:"integer",format:"unix-time"};if(t.target==="openApi3")return n;for(let r of e.checks)switch(r.kind){case"min":Je(n,"minimum",r.value,r.message,t);break;case"max":Je(n,"maximum",r.value,r.message,t);break}return n};function E2(e,t){return{...qe(e.innerType._def,t),default:e.defaultValue()}}function A2(e,t){return t.effectStrategy==="input"?qe(e.schema._def,t):wn(t)}function $2(e){return{type:"string",enum:Array.from(e.values)}}var C2=e=>"type"in e&&e.type==="string"?!1:"allOf"in e;function N2(e,t){let n=[qe(e.left._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),qe(e.right._def,{...t,currentPath:[...t.currentPath,"allOf","1"]})].filter(a=>!!a),r=t.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,s=[];return n.forEach(a=>{if(C2(a))s.push(...a.allOf),a.unevaluatedProperties===void 0&&(r=void 0);else{let i=a;if("additionalProperties"in a&&a.additionalProperties===!1){let{additionalProperties:o,...c}=a;i=c}else r=void 0;s.push(i)}}),s.length?{allOf:s,...r}:void 0}function P2(e,t){let n=typeof e.value;return n!=="bigint"&&n!=="number"&&n!=="boolean"&&n!=="string"?{type:Array.isArray(e.value)?"array":"object"}:t.target==="openApi3"?{type:n==="bigint"?"integer":n,enum:[e.value]}:{type:n==="bigint"?"integer":n,const:e.value}}var vf,Kn={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>(vf===void 0&&(vf=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),vf),uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function sO(e,t){let n={type:"string"};if(e.checks)for(let r of e.checks)switch(r.kind){case"min":Je(n,"minLength",typeof n.minLength=="number"?Math.max(n.minLength,r.value):r.value,r.message,t);break;case"max":Je(n,"maxLength",typeof n.maxLength=="number"?Math.min(n.maxLength,r.value):r.value,r.message,t);break;case"email":switch(t.emailStrategy){case"format:email":Xn(n,"email",r.message,t);break;case"format:idn-email":Xn(n,"idn-email",r.message,t);break;case"pattern:zod":Gt(n,Kn.email,r.message,t);break}break;case"url":Xn(n,"uri",r.message,t);break;case"uuid":Xn(n,"uuid",r.message,t);break;case"regex":Gt(n,r.regex,r.message,t);break;case"cuid":Gt(n,Kn.cuid,r.message,t);break;case"cuid2":Gt(n,Kn.cuid2,r.message,t);break;case"startsWith":Gt(n,RegExp(`^${wf(r.value,t)}`),r.message,t);break;case"endsWith":Gt(n,RegExp(`${wf(r.value,t)}$`),r.message,t);break;case"datetime":Xn(n,"date-time",r.message,t);break;case"date":Xn(n,"date",r.message,t);break;case"time":Xn(n,"time",r.message,t);break;case"duration":Xn(n,"duration",r.message,t);break;case"length":Je(n,"minLength",typeof n.minLength=="number"?Math.max(n.minLength,r.value):r.value,r.message,t),Je(n,"maxLength",typeof n.maxLength=="number"?Math.min(n.maxLength,r.value):r.value,r.message,t);break;case"includes":Gt(n,RegExp(wf(r.value,t)),r.message,t);break;case"ip":r.version!=="v6"&&Xn(n,"ipv4",r.message,t),r.version!=="v4"&&Xn(n,"ipv6",r.message,t);break;case"base64url":Gt(n,Kn.base64url,r.message,t);break;case"jwt":Gt(n,Kn.jwt,r.message,t);break;case"cidr":r.version!=="v6"&&Gt(n,Kn.ipv4Cidr,r.message,t),r.version!=="v4"&&Gt(n,Kn.ipv6Cidr,r.message,t);break;case"emoji":Gt(n,Kn.emoji(),r.message,t);break;case"ulid":Gt(n,Kn.ulid,r.message,t);break;case"base64":switch(t.base64Strategy){case"format:binary":Xn(n,"binary",r.message,t);break;case"contentEncoding:base64":Je(n,"contentEncoding","base64",r.message,t);break;case"pattern:zod":Gt(n,Kn.base64,r.message,t);break}break;case"nanoid":Gt(n,Kn.nanoid,r.message,t);break}return n}function wf(e,t){return t.patternStrategy==="escape"?R2(e):e}var j2=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function R2(e){let t="";for(let n=0;n<e.length;n++)j2.has(e[n])||(t+="\\"),t+=e[n];return t}function Xn(e,t,n,r){e.format||e.anyOf?.some(s=>s.format)?(e.anyOf||(e.anyOf=[]),e.format&&(e.anyOf.push({format:e.format,...e.errorMessage&&r.errorMessages&&{errorMessage:{format:e.errorMessage.format}}}),delete e.format,e.errorMessage&&(delete e.errorMessage.format,Object.keys(e.errorMessage).length===0&&delete e.errorMessage)),e.anyOf.push({format:t,...n&&r.errorMessages&&{errorMessage:{format:n}}})):Je(e,"format",t,n,r)}function Gt(e,t,n,r){e.pattern||e.allOf?.some(s=>s.pattern)?(e.allOf||(e.allOf=[]),e.pattern&&(e.allOf.push({pattern:e.pattern,...e.errorMessage&&r.errorMessages&&{errorMessage:{pattern:e.errorMessage.pattern}}}),delete e.pattern,e.errorMessage&&(delete e.errorMessage.pattern,Object.keys(e.errorMessage).length===0&&delete e.errorMessage)),e.allOf.push({pattern:Yw(t,r),...n&&r.errorMessages&&{errorMessage:{pattern:n}}})):Je(e,"pattern",Yw(t,r),n,r)}function Yw(e,t){if(!t.applyRegexFlags||!e.flags)return e.source;let n={i:e.flags.includes("i"),m:e.flags.includes("m"),s:e.flags.includes("s")},r=n.i?e.source.toLowerCase():e.source,s="",a=!1,i=!1,o=!1;for(let c=0;c<r.length;c++){if(a){s+=r[c],a=!1;continue}if(n.i){if(i){if(r[c].match(/[a-z]/)){o?(s+=r[c],s+=`${r[c-2]}-${r[c]}`.toUpperCase(),o=!1):r[c+1]==="-"&&r[c+2]?.match(/[a-z]/)?(s+=r[c],o=!0):s+=`${r[c]}${r[c].toUpperCase()}`;continue}}else if(r[c].match(/[a-z]/)){s+=`[${r[c]}${r[c].toUpperCase()}]`;continue}}if(n.m){if(r[c]==="^"){s+=`(^|(?<=[\r
66
+ ]))`;continue}else if(r[c]==="$"){s+=`($|(?=[\r
67
+ ]))`;continue}}if(n.s&&r[c]==="."){s+=i?`${r[c]}\r
68
+ `:`[${r[c]}\r
69
+ ]`;continue}s+=r[c],r[c]==="\\"?a=!0:i&&r[c]==="]"?i=!1:!i&&r[c]==="["&&(i=!0)}try{new RegExp(s)}catch{return console.warn(`Could not convert regex pattern at ${t.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return s}function aO(e,t){if(t.target==="openAi"&&console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead."),t.target==="openApi3"&&e.keyType?._def.typeName===F.ZodEnum)return{type:"object",required:e.keyType._def.values,properties:e.keyType._def.values.reduce((r,s)=>({...r,[s]:qe(e.valueType._def,{...t,currentPath:[...t.currentPath,"properties",s]})??wn(t)}),{}),additionalProperties:t.rejectedAdditionalProperties};let n={type:"object",additionalProperties:qe(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]})??t.allowedAdditionalProperties};if(t.target==="openApi3")return n;if(e.keyType?._def.typeName===F.ZodString&&e.keyType._def.checks?.length){let{type:r,...s}=sO(e.keyType._def,t);return{...n,propertyNames:s}}else{if(e.keyType?._def.typeName===F.ZodEnum)return{...n,propertyNames:{enum:e.keyType._def.values}};if(e.keyType?._def.typeName===F.ZodBranded&&e.keyType._def.type._def.typeName===F.ZodString&&e.keyType._def.type._def.checks?.length){let{type:r,...s}=nO(e.keyType._def,t);return{...n,propertyNames:s}}}return n}function M2(e,t){return t.mapStrategy==="record"?aO(e,t):{type:"array",maxItems:125,items:{type:"array",items:[qe(e.keyType._def,{...t,currentPath:[...t.currentPath,"items","items","0"]})||wn(t),qe(e.valueType._def,{...t,currentPath:[...t.currentPath,"items","items","1"]})||wn(t)],minItems:2,maxItems:2}}}function L2(e){let t=e.values,n=Object.keys(e.values).filter(s=>typeof t[t[s]]!="number").map(s=>t[s]),r=Array.from(new Set(n.map(s=>typeof s)));return{type:r.length===1?r[0]==="string"?"string":"number":["string","number"],enum:n}}function z2(e){return e.target==="openAi"?void 0:{not:wn({...e,currentPath:[...e.currentPath,"not"]})}}function U2(e){return e.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var Vl={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function D2(e,t){if(t.target==="openApi3")return Qw(e,t);let n=e.options instanceof Map?Array.from(e.options.values()):e.options;if(n.every(r=>r._def.typeName in Vl&&(!r._def.checks||!r._def.checks.length))){let r=n.reduce((s,a)=>{let i=Vl[a._def.typeName];return i&&!s.includes(i)?[...s,i]:s},[]);return{type:r.length>1?r:r[0]}}else if(n.every(r=>r._def.typeName==="ZodLiteral"&&!r.description)){let r=n.reduce((s,a)=>{let i=typeof a._def.value;switch(i){case"string":case"number":case"boolean":return[...s,i];case"bigint":return[...s,"integer"];case"object":return a._def.value===null?[...s,"null"]:s;default:return s}},[]);if(r.length===n.length){let s=r.filter((a,i,o)=>o.indexOf(a)===i);return{type:s.length>1?s:s[0],enum:n.reduce((a,i)=>a.includes(i._def.value)?a:[...a,i._def.value],[])}}}else if(n.every(r=>r._def.typeName==="ZodEnum"))return{type:"string",enum:n.reduce((r,s)=>[...r,...s._def.values.filter(a=>!r.includes(a))],[])};return Qw(e,t)}var Qw=(e,t)=>{let n=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((r,s)=>qe(r._def,{...t,currentPath:[...t.currentPath,"anyOf",`${s}`]})).filter(r=>!!r&&(!t.strictUnions||typeof r=="object"&&Object.keys(r).length>0));return n.length?{anyOf:n}:void 0};function F2(e,t){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return t.target==="openApi3"?{type:Vl[e.innerType._def.typeName],nullable:!0}:{type:[Vl[e.innerType._def.typeName],"null"]};if(t.target==="openApi3"){let r=qe(e.innerType._def,{...t,currentPath:[...t.currentPath]});return r&&"$ref"in r?{allOf:[r],nullable:!0}:r&&{...r,nullable:!0}}let n=qe(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return n&&{anyOf:[n,{type:"null"}]}}function B2(e,t){let n={type:"number"};if(!e.checks)return n;for(let r of e.checks)switch(r.kind){case"int":n.type="integer",Wx(n,"type",r.message,t);break;case"min":t.target==="jsonSchema7"?r.inclusive?Je(n,"minimum",r.value,r.message,t):Je(n,"exclusiveMinimum",r.value,r.message,t):(r.inclusive||(n.exclusiveMinimum=!0),Je(n,"minimum",r.value,r.message,t));break;case"max":t.target==="jsonSchema7"?r.inclusive?Je(n,"maximum",r.value,r.message,t):Je(n,"exclusiveMaximum",r.value,r.message,t):(r.inclusive||(n.exclusiveMaximum=!0),Je(n,"maximum",r.value,r.message,t));break;case"multipleOf":Je(n,"multipleOf",r.value,r.message,t);break}return n}function Z2(e,t){let n=t.target==="openAi",r={type:"object",properties:{}},s=[],a=e.shape();for(let o in a){let c=a[o];if(c===void 0||c._def===void 0)continue;let u=q2(c);u&&n&&(c._def.typeName==="ZodOptional"&&(c=c._def.innerType),c.isNullable()||(c=c.nullable()),u=!1);let l=qe(c._def,{...t,currentPath:[...t.currentPath,"properties",o],propertyPath:[...t.currentPath,"properties",o]});l!==void 0&&(r.properties[o]=l,u||s.push(o))}s.length&&(r.required=s);let i=V2(e,t);return i!==void 0&&(r.additionalProperties=i),r}function V2(e,t){if(e.catchall._def.typeName!=="ZodNever")return qe(e.catchall._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]});switch(e.unknownKeys){case"passthrough":return t.allowedAdditionalProperties;case"strict":return t.rejectedAdditionalProperties;case"strip":return t.removeAdditionalStrategy==="strict"?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}}function q2(e){try{return e.isOptional()}catch{return!0}}var H2=(e,t)=>{if(t.currentPath.toString()===t.propertyPath?.toString())return qe(e.innerType._def,t);let n=qe(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","1"]});return n?{anyOf:[{not:wn(t)},n]}:wn(t)},W2=(e,t)=>{if(t.pipeStrategy==="input")return qe(e.in._def,t);if(t.pipeStrategy==="output")return qe(e.out._def,t);let n=qe(e.in._def,{...t,currentPath:[...t.currentPath,"allOf","0"]});return{allOf:[n,qe(e.out._def,{...t,currentPath:[...t.currentPath,"allOf",n?"1":"0"]})].filter(r=>r!==void 0)}};function J2(e,t){return qe(e.type._def,t)}function G2(e,t){let n={type:"array",uniqueItems:!0,items:qe(e.valueType._def,{...t,currentPath:[...t.currentPath,"items"]})};return e.minSize&&Je(n,"minItems",e.minSize.value,e.minSize.message,t),e.maxSize&&Je(n,"maxItems",e.maxSize.value,e.maxSize.message,t),n}function K2(e,t){return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((n,r)=>qe(n._def,{...t,currentPath:[...t.currentPath,"items",`${r}`]})).reduce((n,r)=>r===void 0?n:[...n,r],[]),additionalItems:qe(e.rest._def,{...t,currentPath:[...t.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((n,r)=>qe(n._def,{...t,currentPath:[...t.currentPath,"items",`${r}`]})).reduce((n,r)=>r===void 0?n:[...n,r],[])}}function X2(e){return{not:wn(e)}}function Y2(e){return wn(e)}var Q2=(e,t)=>qe(e.innerType._def,t),eM=(e,t,n)=>{switch(t){case F.ZodString:return sO(e,n);case F.ZodNumber:return B2(e,n);case F.ZodObject:return Z2(e,n);case F.ZodBigInt:return O2(e,n);case F.ZodBoolean:return S2();case F.ZodDate:return rO(e,n);case F.ZodUndefined:return X2(n);case F.ZodNull:return U2(n);case F.ZodArray:return x2(e,n);case F.ZodUnion:case F.ZodDiscriminatedUnion:return D2(e,n);case F.ZodIntersection:return N2(e,n);case F.ZodTuple:return K2(e,n);case F.ZodRecord:return aO(e,n);case F.ZodLiteral:return P2(e,n);case F.ZodEnum:return $2(e);case F.ZodNativeEnum:return L2(e);case F.ZodNullable:return F2(e,n);case F.ZodOptional:return H2(e,n);case F.ZodMap:return M2(e,n);case F.ZodSet:return G2(e,n);case F.ZodLazy:return()=>e.getter()._def;case F.ZodPromise:return J2(e,n);case F.ZodNaN:case F.ZodNever:return z2(n);case F.ZodEffects:return A2(e,n);case F.ZodAny:return wn(n);case F.ZodUnknown:return Y2(n);case F.ZodDefault:return E2(e,n);case F.ZodBranded:return nO(e,n);case F.ZodReadonly:return Q2(e,n);case F.ZodCatch:return T2(e,n);case F.ZodPipeline:return W2(e,n);case F.ZodFunction:case F.ZodVoid:case F.ZodSymbol:return;default:return(r=>{})()}};function qe(e,t,n=!1){let r=t.seen.get(e);if(t.override){let o=t.override?.(e,t,r,n);if(o!==HR)return o}if(r&&!n){let o=tM(r,t);if(o!==void 0)return o}let s={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,s);let a=eM(e,e.typeName,t),i=typeof a=="function"?qe(a(),t):a;if(i&&nM(e,t,i),t.postProcess){let o=t.postProcess(i,e,t);return s.jsonSchema=i,o}return s.jsonSchema=i,i}var tM=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:Hx(t.currentPath,e.path)};case"none":case"seen":return e.path.length<t.currentPath.length&&e.path.every((n,r)=>t.currentPath[r]===n)?(console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`),wn(t)):t.$refStrategy==="seen"?wn(t):void 0}},nM=(e,t,n)=>(e.description&&(n.description=e.description,t.markdownDescription&&(n.markdownDescription=e.description)),n),rM=(e,t)=>{let n=GR(t),r=typeof t=="object"&&t.definitions?Object.entries(t.definitions).reduce((o,[c,u])=>({...o,[c]:qe(u._def,{...n,currentPath:[...n.basePath,n.definitionPath,c]},!0)??wn(n)}),{}):void 0,s=typeof t=="string"?t:t?.name,a=qe(e._def,n,!1)??wn(n);n.flags.hasReferencedOpenAiAnyType&&(r||(r={}),r[n.openAiAnyTypeName]||(r[n.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:n.$refStrategy==="relative"?"1":[...n.basePath,n.definitionPath,n.openAiAnyTypeName].join("/")}}));let i=s===void 0?r?{...a,[n.definitionPath]:r}:a:{$ref:[...n.$refStrategy==="relative"?[]:n.basePath,n.definitionPath,s].join("/"),[n.definitionPath]:{...r,[s]:a}};return n.target==="jsonSchema7"?i.$schema="http://json-schema.org/draft-07/schema#":(n.target==="jsonSchema2019-09"||n.target==="openAi")&&(i.$schema="https://json-schema.org/draft/2019-09/schema#"),n.target==="openAi"&&("anyOf"in i||"oneOf"in i||"allOf"in i||"type"in i&&Array.isArray(i.type))&&console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property."),i};function pa(e,t){let n=typeof e;if(n!==typeof t)return!1;if(Array.isArray(e)){if(!Array.isArray(t))return!1;let r=e.length;if(r!==t.length)return!1;for(let s=0;s<r;s++)if(!pa(e[s],t[s]))return!1;return!0}if(n==="object"){if(!e||!t)return e===t;let r=Object.keys(e),s=Object.keys(t);if(r.length!==s.length)return!1;for(let a of r)if(!pa(e[a],t[a]))return!1;return!0}return e===t}function nr(e){return encodeURI(sM(e))}function sM(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}var aM={prefixItems:!0,items:!0,allOf:!0,anyOf:!0,oneOf:!0},iM={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependentSchemas:!0},oM={id:!0,$id:!0,$ref:!0,$schema:!0,$anchor:!0,$vocabulary:!0,$comment:!0,default:!0,enum:!0,const:!0,required:!0,type:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0},cM=typeof self<"u"&&self.location&&self.location.origin!=="null"?new URL(self.location.origin+self.location.pathname+location.search):new URL("https://github.com/cfworker");function fs(e,t=Object.create(null),n=cM,r=""){if(e&&typeof e=="object"&&!Array.isArray(e)){let a=e.$id||e.id;if(a){let i=new URL(a,n.href);i.hash.length>1?t[i.href]=e:(i.hash="",r===""?n=i:fs(e,t,n))}}else if(e!==!0&&e!==!1)return t;let s=n.href+(r?"#"+r:"");if(t[s]!==void 0)throw new Error(`Duplicate schema URI "${s}".`);if(t[s]=e,e===!0||e===!1)return t;if(e.__absolute_uri__===void 0&&Object.defineProperty(e,"__absolute_uri__",{enumerable:!1,value:s}),e.$ref&&e.__absolute_ref__===void 0){let a=new URL(e.$ref,n.href);a.hash=a.hash,Object.defineProperty(e,"__absolute_ref__",{enumerable:!1,value:a.href})}if(e.$recursiveRef&&e.__absolute_recursive_ref__===void 0){let a=new URL(e.$recursiveRef,n.href);a.hash=a.hash,Object.defineProperty(e,"__absolute_recursive_ref__",{enumerable:!1,value:a.href})}if(e.$anchor){let a=new URL("#"+e.$anchor,n.href);t[a.href]=e}for(let a in e){if(oM[a])continue;let i=`${r}/${nr(a)}`,o=e[a];if(Array.isArray(o)){if(aM[a]){let c=o.length;for(let u=0;u<c;u++)fs(o[u],t,n,`${i}/${u}`)}}else if(iM[a])for(let c in o)fs(o[c],t,n,`${i}/${nr(c)}`);else fs(o,t,n,i)}return t}var uM=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,lM=[0,31,28,31,30,31,30,31,31,30,31,30,31],dM=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i,pM=/^(?=.{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,hM=/^(?:[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,fM=/^(?:(?:[^\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,mM=/^(?:(?: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,gM=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,yM=/^(?:\/(?:[^~/]|~0|~1)*)*$/,_M=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,vM=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,wM=e=>{if(e[0]==='"')return!1;let[t,n,...r]=e.split("@");return!t||!n||r.length!==0||t.length>64||n.length>253||t[0]==="."||t.endsWith(".")||t.includes("..")||!/^[a-z0-9.-]+$/i.test(n)||!/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+$/i.test(t)?!1:n.split(".").every(s=>/^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$/i.test(s))},bM=/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,kM=/^((([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,xM=e=>e.length>1&&e.length<80&&(/^P\d+([.,]\d+)?W$/.test(e)||/^P[\dYMDTHS]*(\d[.,]\d+)?[YMDHS]$/.test(e)&&/^P([.,\d]+Y)?([.,\d]+M)?([.,\d]+D)?(T([.,\d]+H)?([.,\d]+M)?([.,\d]+S)?)?$/.test(e));function wr(e){return e.test.bind(e)}var eb={date:iO,time:oO.bind(void 0,!1),"date-time":TM,duration:xM,uri:AM,"uri-reference":wr(hM),"uri-template":wr(fM),url:wr(mM),email:wM,hostname:wr(pM),ipv4:wr(bM),ipv6:wr(kM),regex:CM,uuid:wr(gM),"json-pointer":wr(yM),"json-pointer-uri-fragment":wr(_M),"relative-json-pointer":wr(vM)};function OM(e){return e%4===0&&(e%100!==0||e%400===0)}function iO(e){let t=e.match(uM);if(!t)return!1;let n=+t[1],r=+t[2],s=+t[3];return r>=1&&r<=12&&s>=1&&s<=(r==2&&OM(n)?29:lM[r])}function oO(e,t){let n=t.match(dM);if(!n)return!1;let r=+n[1],s=+n[2],a=+n[3],i=!!n[5];return(r<=23&&s<=59&&a<=59||r==23&&s==59&&a==60)&&(!e||i)}var SM=/t|\s/i;function TM(e){let t=e.split(SM);return t.length==2&&iO(t[0])&&oO(!0,t[1])}var IM=/\/|:/,EM=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function AM(e){return IM.test(e)&&EM.test(e)}var $M=/[^\\]\\Z/;function CM(e){if($M.test(e))return!1;try{return new RegExp(e,"u"),!0}catch{return!1}}function NM(e){let t=0,n=e.length,r=0,s;for(;r<n;)t++,s=e.charCodeAt(r++),s>=55296&&s<=56319&&r<n&&(s=e.charCodeAt(r),(s&64512)==56320&&r++);return t}function ot(e,t,n="2019-09",r=fs(t),s=!0,a=null,i="#",o="#",c=Object.create(null)){if(t===!0)return{valid:!0,errors:[]};if(t===!1)return{valid:!1,errors:[{instanceLocation:i,keyword:"false",keywordLocation:i,error:"False boolean schema."}]};let u=typeof e,l;switch(u){case"boolean":case"number":case"string":l=u;break;case"object":e===null?l="null":Array.isArray(e)?l="array":l="object";break;default:throw new Error(`Instances of "${u}" type are not supported.`)}let{$ref:d,$recursiveRef:p,$recursiveAnchor:h,type:f,const:m,enum:v,required:g,not:y,anyOf:k,allOf:x,oneOf:T,if:A,then:I,else:w,format:P,properties:E,patternProperties:Z,additionalProperties:Ue,unevaluatedProperties:it,minProperties:B,maxProperties:L,propertyNames:z,dependentRequired:ee,dependentSchemas:oe,dependencies:ne,prefixItems:ue,items:Oe,additionalItems:Te,unevaluatedItems:De,contains:Fe,minContains:Tt,maxContains:b,minItems:_,maxItems:C,uniqueItems:O,minimum:Ne,maximum:Xe,exclusiveMinimum:bt,exclusiveMaximum:mt,multipleOf:Ut,minLength:Mn,maxLength:gt,pattern:vr,__absolute_ref__:Fa,__absolute_recursive_ref__:du}=t,q=[];if(h===!0&&a===null&&(a=t),p==="#"){let he=a===null?r[du]:a,ce=`${o}/$recursiveRef`,Ae=ot(e,a===null?t:a,n,r,s,he,i,ce,c);Ae.valid||q.push({instanceLocation:i,keyword:"$recursiveRef",keywordLocation:ce,error:"A subschema had errors."},...Ae.errors)}if(d!==void 0){let he=r[Fa||d];if(he===void 0){let X=`Unresolved $ref "${d}".`;throw Fa&&Fa!==d&&(X+=` Absolute URI "${Fa}".`),X+=`
70
+ Known schemas:
71
+ - ${Object.keys(r).join(`
72
+ - `)}`,new Error(X)}let ce=`${o}/$ref`,Ae=ot(e,he,n,r,s,a,i,ce,c);if(Ae.valid||q.push({instanceLocation:i,keyword:"$ref",keywordLocation:ce,error:"A subschema had errors."},...Ae.errors),n==="4"||n==="7")return{valid:q.length===0,errors:q}}if(Array.isArray(f)){let he=f.length,ce=!1;for(let Ae=0;Ae<he;Ae++)if(l===f[Ae]||f[Ae]==="integer"&&l==="number"&&e%1===0&&e===e){ce=!0;break}ce||q.push({instanceLocation:i,keyword:"type",keywordLocation:`${o}/type`,error:`Instance type "${l}" is invalid. Expected "${f.join('", "')}".`})}else f==="integer"?(l!=="number"||e%1||e!==e)&&q.push({instanceLocation:i,keyword:"type",keywordLocation:`${o}/type`,error:`Instance type "${l}" is invalid. Expected "${f}".`}):f!==void 0&&l!==f&&q.push({instanceLocation:i,keyword:"type",keywordLocation:`${o}/type`,error:`Instance type "${l}" is invalid. Expected "${f}".`});if(m!==void 0&&(l==="object"||l==="array"?pa(e,m)||q.push({instanceLocation:i,keyword:"const",keywordLocation:`${o}/const`,error:`Instance does not match ${JSON.stringify(m)}.`}):e!==m&&q.push({instanceLocation:i,keyword:"const",keywordLocation:`${o}/const`,error:`Instance does not match ${JSON.stringify(m)}.`})),v!==void 0&&(l==="object"||l==="array"?v.some(he=>pa(e,he))||q.push({instanceLocation:i,keyword:"enum",keywordLocation:`${o}/enum`,error:`Instance does not match any of ${JSON.stringify(v)}.`}):v.some(he=>e===he)||q.push({instanceLocation:i,keyword:"enum",keywordLocation:`${o}/enum`,error:`Instance does not match any of ${JSON.stringify(v)}.`})),y!==void 0){let he=`${o}/not`;ot(e,y,n,r,s,a,i,he).valid&&q.push({instanceLocation:i,keyword:"not",keywordLocation:he,error:'Instance matched "not" schema.'})}let Hs=[];if(k!==void 0){let he=`${o}/anyOf`,ce=q.length,Ae=!1;for(let X=0;X<k.length;X++){let W=k[X],_e=Object.create(c),ye=ot(e,W,n,r,s,h===!0?a:null,i,`${he}/${X}`,_e);q.push(...ye.errors),Ae=Ae||ye.valid,ye.valid&&Hs.push(_e)}Ae?q.length=ce:q.splice(ce,0,{instanceLocation:i,keyword:"anyOf",keywordLocation:he,error:"Instance does not match any subschemas."})}if(x!==void 0){let he=`${o}/allOf`,ce=q.length,Ae=!0;for(let X=0;X<x.length;X++){let W=x[X],_e=Object.create(c),ye=ot(e,W,n,r,s,h===!0?a:null,i,`${he}/${X}`,_e);q.push(...ye.errors),Ae=Ae&&ye.valid,ye.valid&&Hs.push(_e)}Ae?q.length=ce:q.splice(ce,0,{instanceLocation:i,keyword:"allOf",keywordLocation:he,error:"Instance does not match every subschema."})}if(T!==void 0){let he=`${o}/oneOf`,ce=q.length,Ae=T.filter((X,W)=>{let _e=Object.create(c),ye=ot(e,X,n,r,s,h===!0?a:null,i,`${he}/${W}`,_e);return q.push(...ye.errors),ye.valid&&Hs.push(_e),ye.valid}).length;Ae===1?q.length=ce:q.splice(ce,0,{instanceLocation:i,keyword:"oneOf",keywordLocation:he,error:`Instance does not match exactly one subschema (${Ae} matches).`})}if((l==="object"||l==="array")&&Object.assign(c,...Hs),A!==void 0){let he=`${o}/if`;if(ot(e,A,n,r,s,a,i,he,c).valid){if(I!==void 0){let ce=ot(e,I,n,r,s,a,i,`${o}/then`,c);ce.valid||q.push({instanceLocation:i,keyword:"if",keywordLocation:he,error:'Instance does not match "then" schema.'},...ce.errors)}}else if(w!==void 0){let ce=ot(e,w,n,r,s,a,i,`${o}/else`,c);ce.valid||q.push({instanceLocation:i,keyword:"if",keywordLocation:he,error:'Instance does not match "else" schema.'},...ce.errors)}}if(l==="object"){if(g!==void 0)for(let X of g)X in e||q.push({instanceLocation:i,keyword:"required",keywordLocation:`${o}/required`,error:`Instance does not have required property "${X}".`});let he=Object.keys(e);if(B!==void 0&&he.length<B&&q.push({instanceLocation:i,keyword:"minProperties",keywordLocation:`${o}/minProperties`,error:`Instance does not have at least ${B} properties.`}),L!==void 0&&he.length>L&&q.push({instanceLocation:i,keyword:"maxProperties",keywordLocation:`${o}/maxProperties`,error:`Instance does not have at least ${L} properties.`}),z!==void 0){let X=`${o}/propertyNames`;for(let W in e){let _e=`${i}/${nr(W)}`,ye=ot(W,z,n,r,s,a,_e,X);ye.valid||q.push({instanceLocation:i,keyword:"propertyNames",keywordLocation:X,error:`Property name "${W}" does not match schema.`},...ye.errors)}}if(ee!==void 0){let X=`${o}/dependantRequired`;for(let W in ee)if(W in e){let _e=ee[W];for(let ye of _e)ye in e||q.push({instanceLocation:i,keyword:"dependentRequired",keywordLocation:X,error:`Instance has "${W}" but does not have "${ye}".`})}}if(oe!==void 0)for(let X in oe){let W=`${o}/dependentSchemas`;if(X in e){let _e=ot(e,oe[X],n,r,s,a,i,`${W}/${nr(X)}`,c);_e.valid||q.push({instanceLocation:i,keyword:"dependentSchemas",keywordLocation:W,error:`Instance has "${X}" but does not match dependant schema.`},..._e.errors)}}if(ne!==void 0){let X=`${o}/dependencies`;for(let W in ne)if(W in e){let _e=ne[W];if(Array.isArray(_e))for(let ye of _e)ye in e||q.push({instanceLocation:i,keyword:"dependencies",keywordLocation:X,error:`Instance has "${W}" but does not have "${ye}".`});else{let ye=ot(e,_e,n,r,s,a,i,`${X}/${nr(W)}`);ye.valid||q.push({instanceLocation:i,keyword:"dependencies",keywordLocation:X,error:`Instance has "${W}" but does not match dependant schema.`},...ye.errors)}}}let ce=Object.create(null),Ae=!1;if(E!==void 0){let X=`${o}/properties`;for(let W in E){if(!(W in e))continue;let _e=`${i}/${nr(W)}`,ye=ot(e[W],E[W],n,r,s,a,_e,`${X}/${nr(W)}`);if(ye.valid)c[W]=ce[W]=!0;else if(Ae=s,q.push({instanceLocation:i,keyword:"properties",keywordLocation:X,error:`Property "${W}" does not match schema.`},...ye.errors),Ae)break}}if(!Ae&&Z!==void 0){let X=`${o}/patternProperties`;for(let W in Z){let _e=new RegExp(W,"u"),ye=Z[W];for(let un in e){if(!_e.test(un))continue;let ME=`${i}/${nr(un)}`,e0=ot(e[un],ye,n,r,s,a,ME,`${X}/${nr(W)}`);e0.valid?c[un]=ce[un]=!0:(Ae=s,q.push({instanceLocation:i,keyword:"patternProperties",keywordLocation:X,error:`Property "${un}" matches pattern "${W}" but does not match associated schema.`},...e0.errors))}}}if(!Ae&&Ue!==void 0){let X=`${o}/additionalProperties`;for(let W in e){if(ce[W])continue;let _e=`${i}/${nr(W)}`,ye=ot(e[W],Ue,n,r,s,a,_e,X);ye.valid?c[W]=!0:(Ae=s,q.push({instanceLocation:i,keyword:"additionalProperties",keywordLocation:X,error:`Property "${W}" does not match additional properties schema.`},...ye.errors))}}else if(!Ae&&it!==void 0){let X=`${o}/unevaluatedProperties`;for(let W in e)if(!c[W]){let _e=`${i}/${nr(W)}`,ye=ot(e[W],it,n,r,s,a,_e,X);ye.valid?c[W]=!0:q.push({instanceLocation:i,keyword:"unevaluatedProperties",keywordLocation:X,error:`Property "${W}" does not match unevaluated properties schema.`},...ye.errors)}}}else if(l==="array"){C!==void 0&&e.length>C&&q.push({instanceLocation:i,keyword:"maxItems",keywordLocation:`${o}/maxItems`,error:`Array has too many items (${e.length} > ${C}).`}),_!==void 0&&e.length<_&&q.push({instanceLocation:i,keyword:"minItems",keywordLocation:`${o}/minItems`,error:`Array has too few items (${e.length} < ${_}).`});let he=e.length,ce=0,Ae=!1;if(ue!==void 0){let X=`${o}/prefixItems`,W=Math.min(ue.length,he);for(;ce<W;ce++){let _e=ot(e[ce],ue[ce],n,r,s,a,`${i}/${ce}`,`${X}/${ce}`);if(c[ce]=!0,!_e.valid&&(Ae=s,q.push({instanceLocation:i,keyword:"prefixItems",keywordLocation:X,error:"Items did not match schema."},..._e.errors),Ae))break}}if(Oe!==void 0){let X=`${o}/items`;if(Array.isArray(Oe)){let W=Math.min(Oe.length,he);for(;ce<W;ce++){let _e=ot(e[ce],Oe[ce],n,r,s,a,`${i}/${ce}`,`${X}/${ce}`);if(c[ce]=!0,!_e.valid&&(Ae=s,q.push({instanceLocation:i,keyword:"items",keywordLocation:X,error:"Items did not match schema."},..._e.errors),Ae))break}}else for(;ce<he;ce++){let W=ot(e[ce],Oe,n,r,s,a,`${i}/${ce}`,X);if(c[ce]=!0,!W.valid&&(Ae=s,q.push({instanceLocation:i,keyword:"items",keywordLocation:X,error:"Items did not match schema."},...W.errors),Ae))break}if(!Ae&&Te!==void 0){let W=`${o}/additionalItems`;for(;ce<he;ce++){let _e=ot(e[ce],Te,n,r,s,a,`${i}/${ce}`,W);c[ce]=!0,_e.valid||(Ae=s,q.push({instanceLocation:i,keyword:"additionalItems",keywordLocation:W,error:"Items did not match additional items schema."},..._e.errors))}}}if(Fe!==void 0)if(he===0&&Tt===void 0)q.push({instanceLocation:i,keyword:"contains",keywordLocation:`${o}/contains`,error:"Array is empty. It must contain at least one item matching the schema."});else if(Tt!==void 0&&he<Tt)q.push({instanceLocation:i,keyword:"minContains",keywordLocation:`${o}/minContains`,error:`Array has less items (${he}) than minContains (${Tt}).`});else{let X=`${o}/contains`,W=q.length,_e=0;for(let ye=0;ye<he;ye++){let un=ot(e[ye],Fe,n,r,s,a,`${i}/${ye}`,X);un.valid?(c[ye]=!0,_e++):q.push(...un.errors)}_e>=(Tt||0)&&(q.length=W),Tt===void 0&&b===void 0&&_e===0?q.splice(W,0,{instanceLocation:i,keyword:"contains",keywordLocation:X,error:"Array does not contain item matching schema."}):Tt!==void 0&&_e<Tt?q.push({instanceLocation:i,keyword:"minContains",keywordLocation:`${o}/minContains`,error:`Array must contain at least ${Tt} items matching schema. Only ${_e} items were found.`}):b!==void 0&&_e>b&&q.push({instanceLocation:i,keyword:"maxContains",keywordLocation:`${o}/maxContains`,error:`Array may contain at most ${b} items matching schema. ${_e} items were found.`})}if(!Ae&&De!==void 0){let X=`${o}/unevaluatedItems`;for(ce;ce<he;ce++){if(c[ce])continue;let W=ot(e[ce],De,n,r,s,a,`${i}/${ce}`,X);c[ce]=!0,W.valid||q.push({instanceLocation:i,keyword:"unevaluatedItems",keywordLocation:X,error:"Items did not match unevaluated items schema."},...W.errors)}}if(O)for(let X=0;X<he;X++){let W=e[X],_e=typeof W=="object"&&W!==null;for(let ye=0;ye<he;ye++){if(X===ye)continue;let un=e[ye];(W===un||_e&&typeof un=="object"&&un!==null&&pa(W,un))&&(q.push({instanceLocation:i,keyword:"uniqueItems",keywordLocation:`${o}/uniqueItems`,error:`Duplicate items at indexes ${X} and ${ye}.`}),X=Number.MAX_SAFE_INTEGER,ye=Number.MAX_SAFE_INTEGER)}}}else if(l==="number"){if(n==="4"?(Ne!==void 0&&(bt===!0&&e<=Ne||e<Ne)&&q.push({instanceLocation:i,keyword:"minimum",keywordLocation:`${o}/minimum`,error:`${e} is less than ${bt?"or equal to ":""} ${Ne}.`}),Xe!==void 0&&(mt===!0&&e>=Xe||e>Xe)&&q.push({instanceLocation:i,keyword:"maximum",keywordLocation:`${o}/maximum`,error:`${e} is greater than ${mt?"or equal to ":""} ${Xe}.`})):(Ne!==void 0&&e<Ne&&q.push({instanceLocation:i,keyword:"minimum",keywordLocation:`${o}/minimum`,error:`${e} is less than ${Ne}.`}),Xe!==void 0&&e>Xe&&q.push({instanceLocation:i,keyword:"maximum",keywordLocation:`${o}/maximum`,error:`${e} is greater than ${Xe}.`}),bt!==void 0&&e<=bt&&q.push({instanceLocation:i,keyword:"exclusiveMinimum",keywordLocation:`${o}/exclusiveMinimum`,error:`${e} is less than ${bt}.`}),mt!==void 0&&e>=mt&&q.push({instanceLocation:i,keyword:"exclusiveMaximum",keywordLocation:`${o}/exclusiveMaximum`,error:`${e} is greater than or equal to ${mt}.`})),Ut!==void 0){let he=e%Ut;Math.abs(0-he)>=11920929e-14&&Math.abs(Ut-he)>=11920929e-14&&q.push({instanceLocation:i,keyword:"multipleOf",keywordLocation:`${o}/multipleOf`,error:`${e} is not a multiple of ${Ut}.`})}}else if(l==="string"){let he=Mn===void 0&&gt===void 0?0:NM(e);Mn!==void 0&&he<Mn&&q.push({instanceLocation:i,keyword:"minLength",keywordLocation:`${o}/minLength`,error:`String is too short (${he} < ${Mn}).`}),gt!==void 0&&he>gt&&q.push({instanceLocation:i,keyword:"maxLength",keywordLocation:`${o}/maxLength`,error:`String is too long (${he} > ${gt}).`}),vr!==void 0&&!new RegExp(vr,"u").test(e)&&q.push({instanceLocation:i,keyword:"pattern",keywordLocation:`${o}/pattern`,error:"String does not match pattern."}),P!==void 0&&eb[P]&&!eb[P](e)&&q.push({instanceLocation:i,keyword:"format",keywordLocation:`${o}/format`,error:`String does not match format "${P}".`})}return{valid:q.length===0,errors:q}}var Ym=class{schema;draft;shortCircuit;lookup;constructor(t,n="2019-09",r=!0){this.schema=t,this.draft=n,this.shortCircuit=r,this.lookup=fs(t)}validate(t){return ot(t,this.schema,this.draft,this.lookup,this.shortCircuit)}addSchema(t,n){n&&(t={...t,$id:n}),fs(t,this.lookup)}},PM=Q({Validator:()=>Ym,deepCompareStrict:()=>pa,toJsonSchema:()=>At,validatesOnlyStrings:()=>qo});function At(e,t){if(zy(e)&&!at(e))return e["~standard"].jsonSchema.input({target:"draft-07"});if(at(e)){let n=Vx(e,!0);return Cr(n)?Cw(Ul(n,!0),t):Cw(e,t)}return vt(e)?rM(e):e}function qo(e){if(!e||typeof e!="object"||Object.keys(e).length===0||Array.isArray(e))return!1;if("type"in e)return typeof e.type=="string"?e.type==="string":Array.isArray(e.type)?e.type.every(t=>t==="string"):!1;if("enum"in e)return Array.isArray(e.enum)&&e.enum.length>0&&e.enum.every(t=>typeof t=="string");if("const"in e)return typeof e.const=="string";if("allOf"in e&&Array.isArray(e.allOf))return e.allOf.some(t=>qo(t));if("anyOf"in e&&Array.isArray(e.anyOf)||"oneOf"in e&&Array.isArray(e.oneOf)){let t="anyOf"in e?e.anyOf:e.oneOf;return t.length>0&&t.every(n=>qo(n))}if("not"in e)return!1;if("$ref"in e&&typeof e.$ref=="string"){let t=e.$ref,n=fs(e);return n[t]?qo(n[t]):!1}return!1}function qy(e){return e?e.lc_runnable:!1}var jM=class{includeNames;includeTypes;includeTags;excludeNames;excludeTypes;excludeTags;constructor(e){this.includeNames=e.includeNames,this.includeTypes=e.includeTypes,this.includeTags=e.includeTags,this.excludeNames=e.excludeNames,this.excludeTypes=e.excludeTypes,this.excludeTags=e.excludeTags}includeEvent(e,t){let n=this.includeNames===void 0&&this.includeTypes===void 0&&this.includeTags===void 0,r=e.tags??[];return this.includeNames!==void 0&&(n=n||this.includeNames.includes(e.name)),this.includeTypes!==void 0&&(n=n||this.includeTypes.includes(t)),this.includeTags!==void 0&&(n=n||r.some(s=>this.includeTags?.includes(s))),this.excludeNames!==void 0&&(n=n&&!this.excludeNames.includes(e.name)),this.excludeTypes!==void 0&&(n=n&&!this.excludeTypes.includes(t)),this.excludeTags!==void 0&&(n=n&&r.every(s=>!this.excludeTags?.includes(s))),n}},RM=e=>btoa(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"");function bf(e){return e.replace(/[^a-zA-Z-_0-9]/g,"_")}var MM=["*","_","`"];function LM(e){let t="";for(let[n,r]of Object.entries(e))t+=` classDef ${n} ${r};
73
+ `;return t}function zM(e,t,n){let{firstNode:r,lastNode:s,nodeColors:a,withStyles:i=!0,curveStyle:o="linear",wrapLabelNWords:c=9}=n??{},u=i?`%%{init: {'flowchart': {'curve': '${o}'}}}%%
74
+ graph TD;
75
+ `:`graph TD;
76
+ `;if(i){let f="default",m={[f]:"{0}({1})"};r!==void 0&&(m[r]="{0}([{1}]):::first"),s!==void 0&&(m[s]="{0}([{1}]):::last");for(let[v,g]of Object.entries(e)){let y=g.name.split(":").pop()??"",k=MM.some(T=>y.startsWith(T)&&y.endsWith(T))?`<p>${y}</p>`:y;Object.keys(g.metadata??{}).length&&(k+=`<hr/><small><em>${Object.entries(g.metadata??{}).map(([T,A])=>`${T} = ${A}`).join(`
77
+ `)}</em></small>`);let x=(m[v]??m[f]).replace("{0}",bf(v)).replace("{1}",k);u+=` ${x}
78
+ `}}let l={};for(let f of t){let m=f.source.split(":"),v=f.target.split(":"),g=m.filter((y,k)=>y===v[k]).join(":");l[g]||(l[g]=[]),l[g].push(f)}let d=new Set;function p(f){return[...f].sort((m,v)=>m.split(":").length-v.split(":").length)}function h(f,m){let v=f.length===1&&f[0].source===f[0].target;if(m&&!v){let y=m.split(":").pop();if(d.has(m))throw new Error(`Found duplicate subgraph '${y}' at '${m} -- 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.`);d.add(m),u+=` subgraph ${y}
79
+ `}let g=p(Object.keys(l).filter(y=>y.startsWith(`${m}:`)&&y!==m&&y.split(":").length===m.split(":").length+1));for(let y of g)h(l[y],y);for(let y of f){let{source:k,target:x,data:T,conditional:A}=y,I="";if(T!==void 0){let w=T,P=w.split(" ");P.length>c&&(w=Array.from({length:Math.ceil(P.length/c)},(E,Z)=>P.slice(Z*c,(Z+1)*c).join(" ")).join("&nbsp;<br>&nbsp;")),I=A?` -. &nbsp;${w}&nbsp; .-> `:` -- &nbsp;${w}&nbsp; --> `}else I=A?" -.-> ":" --> ";u+=` ${bf(k)}${I}${bf(x)};
80
+ `}m&&!v&&(u+=` end
81
+ `)}h(l[""]??[],"");for(let f in l)!f.includes(":")&&f!==""&&h(l[f],f);return i&&(u+=LM(a??{})),u}async function UM(e,t){let n=t?.backgroundColor??"white",r=t?.imageType??"png",s=RM(e);n!==void 0&&(/^#(?:[0-9a-fA-F]{3}){1,2}$/.test(n)||(n=`!${n}`));let a=`https://mermaid.ink/img/${s}?bgColor=${n}&type=${r}`,i=await fetch(a);if(!i.ok)throw new Error(["Failed to render the graph using the Mermaid.INK API.",`Status code: ${i.status}`,`Status text: ${i.statusText}`].join(`
82
+ `));return await i.blob()}var DM=Q({Graph:()=>cc});function FM(e,t){if(e!==void 0&&!Bo(e))return e;if(qy(t))try{let n=t.getName();return n=n.startsWith("Runnable")?n.slice(8):n,n}catch{return t.getName()}else return t.name??"UnknownSchema"}function BM(e){return qy(e.data)?{type:"runnable",data:{id:e.data.lc_id,name:e.data.getName()}}:{type:"schema",data:{...At(e.data.schema),title:e.data.name}}}var cc=class cO{nodes={};edges=[];constructor(t){this.nodes=t?.nodes??this.nodes,this.edges=t?.edges??this.edges}toJSON(){let t={};return Object.values(this.nodes).forEach((n,r)=>{t[n.id]=Bo(n.id)?r:n.id}),{nodes:Object.values(this.nodes).map(n=>({id:t[n.id],...BM(n)})),edges:this.edges.map(n=>{let r={source:t[n.source],target:t[n.target]};return typeof n.data<"u"&&(r.data=n.data),typeof n.conditional<"u"&&(r.conditional=n.conditional),r})}}addNode(t,n,r){if(n!==void 0&&this.nodes[n]!==void 0)throw new Error(`Node with id ${n} already exists`);let s=n??W$(),a={id:s,data:t,name:FM(n,t),metadata:r};return this.nodes[s]=a,a}removeNode(t){delete this.nodes[t.id],this.edges=this.edges.filter(n=>n.source!==t.id&&n.target!==t.id)}addEdge(t,n,r,s){if(this.nodes[t.id]===void 0)throw new Error(`Source node ${t.id} not in graph`);if(this.nodes[n.id]===void 0)throw new Error(`Target node ${n.id} not in graph`);let a={source:t.id,target:n.id,data:r,conditional:s};return this.edges.push(a),a}firstNode(){return tb(this)}lastNode(){return nb(this)}extend(t,n=""){let r=n;Object.values(t.nodes).map(c=>c.id).every(Bo)&&(r="");let s=c=>r?`${r}:${c}`:c;Object.entries(t.nodes).forEach(([c,u])=>{this.nodes[s(c)]={...u,id:s(c)}});let a=t.edges.map(c=>({...c,source:s(c.source),target:s(c.target)}));this.edges=[...this.edges,...a];let i=t.firstNode(),o=t.lastNode();return[i?{id:s(i.id),data:i.data}:void 0,o?{id:s(o.id),data:o.data}:void 0]}trimFirstNode(){let t=this.firstNode();t&&tb(this,[t.id])&&this.removeNode(t)}trimLastNode(){let t=this.lastNode();t&&nb(this,[t.id])&&this.removeNode(t)}reid(){let t=Object.fromEntries(Object.values(this.nodes).map(s=>[s.id,s.name])),n=new Map;Object.values(t).forEach(s=>{n.set(s,(n.get(s)||0)+1)});let r=s=>{let a=t[s];return Bo(s)&&n.get(a)===1?a:s};return new cO({nodes:Object.fromEntries(Object.entries(this.nodes).map(([s,a])=>[r(s),{...a,id:r(s)}])),edges:this.edges.map(s=>({...s,source:r(s.source),target:r(s.target)}))})}drawMermaid(t){let{withStyles:n,curveStyle:r,nodeColors:s={default:"fill:#f2f0ff,line-height:1.2",first:"fill-opacity:0",last:"fill:#bfb6fc"},wrapLabelNWords:a}=t??{},i=this.reid(),o=i.firstNode(),c=i.lastNode();return zM(i.nodes,i.edges,{firstNode:o?.id,lastNode:c?.id,withStyles:n,curveStyle:r,nodeColors:s,wrapLabelNWords:a})}async drawMermaidPng(t){return UM(this.drawMermaid(t),{backgroundColor:t?.backgroundColor})}};function tb(e,t=[]){let n=new Set(e.edges.filter(s=>!t.includes(s.source)).map(s=>s.target)),r=[];for(let s of Object.values(e.nodes))!t.includes(s.id)&&!n.has(s.id)&&r.push(s);return r.length===1?r[0]:void 0}function nb(e,t=[]){let n=new Set(e.edges.filter(s=>!t.includes(s.target)).map(s=>s.source)),r=[];for(let s of Object.values(e.nodes))!t.includes(s.id)&&!n.has(s.id)&&r.push(s);return r.length===1?r[0]:void 0}function Au({name:e,serialized:t}){return e!==void 0?e:t?.name!==void 0?t.name:t?.id!==void 0&&Array.isArray(t?.id)?t.id[t.id.length-1]:"Unnamed"}var ZM=e=>e.name==="event_stream_tracer",VM=class extends rs{autoClose=!0;includeNames;includeTypes;includeTags;excludeNames;excludeTypes;excludeTags;runInfoMap=new Map;tappedPromises=new Map;transformStream;writer;receiveStream;readableStreamClosed=!1;name="event_stream_tracer";lc_prefer_streaming=!0;constructor(e){super({_awaitHandler:!0,...e}),this.autoClose=e?.autoClose??!0,this.includeNames=e?.includeNames,this.includeTypes=e?.includeTypes,this.includeTags=e?.includeTags,this.excludeNames=e?.excludeNames,this.excludeTypes=e?.excludeTypes,this.excludeTags=e?.excludeTags,this.transformStream=new TransformStream({flush:()=>{this.readableStreamClosed=!0}}),this.writer=this.transformStream.writable.getWriter(),this.receiveStream=vn.fromReadableStream(this.transformStream.readable)}[Symbol.asyncIterator](){return this.receiveStream}async persistRun(e){}_includeRun(e){let t=e.tags??[],n=this.includeNames===void 0&&this.includeTags===void 0&&this.includeTypes===void 0;return this.includeNames!==void 0&&(n=n||this.includeNames.includes(e.name)),this.includeTypes!==void 0&&(n=n||this.includeTypes.includes(e.runType)),this.includeTags!==void 0&&(n=n||t.find(r=>this.includeTags?.includes(r))!==void 0),this.excludeNames!==void 0&&(n=n&&!this.excludeNames.includes(e.name)),this.excludeTypes!==void 0&&(n=n&&!this.excludeTypes.includes(e.runType)),this.excludeTags!==void 0&&(n=n&&t.every(r=>!this.excludeTags?.includes(r))),n}async*tapOutputIterable(e,t){let n=await t.next();if(n.done)return;let r=this.runInfoMap.get(e);if(r===void 0){yield n.value;return}function s(i,o){return i==="llm"&&typeof o=="string"?new Ei({text:o}):o}let a=this.tappedPromises.get(e);if(a===void 0){let i;a=new Promise(o=>{i=o}),this.tappedPromises.set(e,a);try{let o={event:`on_${r.runType}_stream`,run_id:e,name:r.name,tags:r.tags,metadata:r.metadata,data:{}};await this.send({...o,data:{chunk:s(r.runType,n.value)}},r),yield n.value;for await(let c of t)r.runType!=="tool"&&r.runType!=="retriever"&&await this.send({...o,data:{chunk:s(r.runType,c)}},r),yield c}finally{i?.()}}else{yield n.value;for await(let i of t)yield i}}async send(e,t){this.readableStreamClosed||this._includeRun(t)&&await this.writer.write(e)}async sendEndEvent(e,t){let n=this.tappedPromises.get(e.run_id);n!==void 0?n.then(()=>{this.send(e,t)}):await this.send(e,t)}async onLLMStart(e){let t=Au(e),n=e.inputs.messages!==void 0?"chat_model":"llm",r={tags:e.tags??[],metadata:e.extra?.metadata??{},name:t,runType:n,inputs:e.inputs};this.runInfoMap.set(e.id,r);let s=`on_${n}_start`;await this.send({event:s,data:{input:e.inputs},name:t,tags:e.tags??[],run_id:e.id,metadata:e.extra?.metadata??{}},r)}async onLLMNewToken(e,t,n){let r=this.runInfoMap.get(e.id),s,a;if(r===void 0)throw new Error(`onLLMNewToken: Run ID ${e.id} not found in run map.`);if(this.runInfoMap.size!==1){if(r.runType==="chat_model")a="on_chat_model_stream",n?.chunk===void 0?s=new _n({content:t,id:`run-${e.id}`}):s=n.chunk.message;else if(r.runType==="llm")a="on_llm_stream",n?.chunk===void 0?s=new Ei({text:t}):s=n.chunk;else throw new Error(`Unexpected run type ${r.runType}`);await this.send({event:a,data:{chunk:s},run_id:e.id,name:r.name,tags:r.tags,metadata:r.metadata},r)}}async onLLMEnd(e){let t=this.runInfoMap.get(e.id);this.runInfoMap.delete(e.id);let n;if(t===void 0)throw new Error(`onLLMEnd: Run ID ${e.id} not found in run map.`);let r=e.outputs?.generations,s;if(t.runType==="chat_model"){for(let a of r??[]){if(s!==void 0)break;s=a[0]?.message}n="on_chat_model_end"}else if(t.runType==="llm")s={generations:r?.map(a=>a.map(i=>({text:i.text,generationInfo:i.generationInfo}))),llmOutput:e.outputs?.llmOutput??{}},n="on_llm_end";else throw new Error(`onLLMEnd: Unexpected run type: ${t.runType}`);await this.sendEndEvent({event:n,data:{output:s,input:t.inputs},run_id:e.id,name:t.name,tags:t.tags,metadata:t.metadata},t)}async onChainStart(e){let t=Au(e),n=e.run_type??"chain",r={tags:e.tags??[],metadata:e.extra?.metadata??{},name:t,runType:e.run_type},s={};e.inputs.input===""&&Object.keys(e.inputs).length===1?(s={},r.inputs={}):e.inputs.input!==void 0?(s.input=e.inputs.input,r.inputs=e.inputs.input):(s.input=e.inputs,r.inputs=e.inputs),this.runInfoMap.set(e.id,r),await this.send({event:`on_${n}_start`,data:s,name:t,tags:e.tags??[],run_id:e.id,metadata:e.extra?.metadata??{}},r)}async onChainEnd(e){let t=this.runInfoMap.get(e.id);if(this.runInfoMap.delete(e.id),t===void 0)throw new Error(`onChainEnd: Run ID ${e.id} not found in run map.`);let n=`on_${e.run_type}_end`,r=e.inputs??t.inputs??{},s={output:e.outputs?.output??e.outputs,input:r};r.input&&Object.keys(r).length===1&&(s.input=r.input,t.inputs=r.input),await this.sendEndEvent({event:n,data:s,run_id:e.id,name:t.name,tags:t.tags,metadata:t.metadata??{}},t)}async onToolStart(e){let t=Au(e),n={tags:e.tags??[],metadata:e.extra?.metadata??{},name:t,runType:"tool",inputs:e.inputs??{}};this.runInfoMap.set(e.id,n),await this.send({event:"on_tool_start",data:{input:e.inputs??{}},name:t,run_id:e.id,tags:e.tags??[],metadata:e.extra?.metadata??{}},n)}async onToolEnd(e){let t=this.runInfoMap.get(e.id);if(this.runInfoMap.delete(e.id),t===void 0)throw new Error(`onToolEnd: Run ID ${e.id} not found in run map.`);if(t.inputs===void 0)throw new Error(`onToolEnd: Run ID ${e.id} is a tool call, and is expected to have traced inputs.`);let n=e.outputs?.output===void 0?e.outputs:e.outputs.output;await this.sendEndEvent({event:"on_tool_end",data:{output:n,input:t.inputs},run_id:e.id,name:t.name,tags:t.tags,metadata:t.metadata},t)}async onToolError(e){let t=this.runInfoMap.get(e.id);if(this.runInfoMap.delete(e.id),t===void 0)throw new Error(`onToolEnd: Run ID ${e.id} not found in run map.`);if(t.inputs===void 0)throw new Error(`onToolEnd: Run ID ${e.id} is a tool call, and is expected to have traced inputs.`);await this.sendEndEvent({event:"on_tool_error",data:{input:t.inputs,error:e.error},run_id:e.id,name:t.name,tags:t.tags,metadata:t.metadata},t)}async onRetrieverStart(e){let t=Au(e),n={tags:e.tags??[],metadata:e.extra?.metadata??{},name:t,runType:"retriever",inputs:{query:e.inputs.query}};this.runInfoMap.set(e.id,n),await this.send({event:"on_retriever_start",data:{input:{query:e.inputs.query}},name:t,tags:e.tags??[],run_id:e.id,metadata:e.extra?.metadata??{}},n)}async onRetrieverEnd(e){let t=this.runInfoMap.get(e.id);if(this.runInfoMap.delete(e.id),t===void 0)throw new Error(`onRetrieverEnd: Run ID ${e.id} not found in run map.`);await this.sendEndEvent({event:"on_retriever_end",data:{output:e.outputs?.documents??e.outputs,input:t.inputs},run_id:e.id,name:t.name,tags:t.tags,metadata:t.metadata},t)}async handleCustomEvent(e,t,n){let r=this.runInfoMap.get(n);if(r===void 0)throw new Error(`handleCustomEvent: Run ID ${n} not found in run map.`);await this.send({event:"on_custom_event",run_id:n,name:e,tags:r.tags,metadata:r.metadata,data:t},r)}async finish(){let e=[...this.tappedPromises.values()];Promise.all(e).finally(()=>{this.writer.close()})}},uO=class extends rs{name="RootListenersTracer";rootId;config;argOnStart;argOnEnd;argOnError;constructor({config:e,onStart:t,onEnd:n,onError:r}){super({_awaitHandler:!0}),this.config=e,this.argOnStart=t,this.argOnEnd=n,this.argOnError=r}persistRun(e){return Promise.resolve()}async onRunCreate(e){this.rootId||(this.rootId=e.id,this.argOnStart&&await this.argOnStart(e,this.config))}async onRunUpdate(e){e.id===this.rootId&&(e.error?this.argOnError&&await this.argOnError(e,this.config):this.argOnEnd&&await this.argOnEnd(e,this.config))}};function qM(e){let t=new TextEncoder,n=new ReadableStream({async start(r){for await(let s of e)r.enqueue(t.encode(`event: data
83
+ data: ${JSON.stringify(s)}
84
+
85
+ `));r.enqueue(t.encode(`event: end
86
+
87
+ `)),r.close()}});return vn.fromReadableStream(n)}function rb(e){return typeof e=="object"&&e!==null&&typeof e[Symbol.iterator]=="function"&&typeof e.next=="function"}var HM=e=>e!=null&&typeof e=="object"&&"next"in e&&typeof e.next=="function";function Qm(e){return typeof e=="object"&&e!==null&&typeof e[Symbol.asyncIterator]=="function"}function lO(e){return e!=null&&typeof e=="object"&&typeof e.next=="function"}async function WM(e,t){try{let n=await e.next();for(;!n.done;)await t?.(n.value),n=await e.next();return n.value}finally{await e.return?.(void 0)}}function*sb(e,t){for(;;){let{value:n,done:r}=zt.runWithConfig(Yr(e),t.next.bind(t),!0);if(r)break;yield n}}async function*eg(e,t){let n=t[Symbol.asyncIterator]();for(;;){let{value:r,done:s}=await zt.runWithConfig(Yr(e),n.next.bind(t),!0);if(s)break;yield r}}function Ot(e,t){return e&&!Array.isArray(e)&&!(e instanceof Date)&&typeof e=="object"?e:{[t]:e}}var je=class extends Bn{lc_runnable=!0;name;getName(e){let t=this.name??this.constructor.lc_name()??this.constructor.name;return e?`${t}${e}`:t}withRetry(e){return new Hy({bound:this,kwargs:{},config:{},maxAttemptNumber:e?.stopAfterAttempt,...e})}withConfig(e){return new $s({bound:this,config:e,kwargs:{}})}withFallbacks(e){let t=Array.isArray(e)?e:e.fallbacks;return new gO({runnable:this,fallbacks:t})}_getOptionsList(e,t=0){if(Array.isArray(e)&&e.length!==t)throw new Error(`Passed "options" must be an array with the same length as the inputs, but got ${e.length} options for ${t} inputs`);if(Array.isArray(e))return e.map(Le);if(t>1&&!Array.isArray(e)&&e.runId){console.warn("Provided runId will be used only for the first element of the batch.");let n=Object.fromEntries(Object.entries(e).filter(([r])=>r!=="runId"));return Array.from({length:t},(r,s)=>Le(s===0?e:n))}return Array.from({length:t},()=>Le(e))}async batch(e,t,n){let r=this._getOptionsList(t??{},e.length),s=new Xc({maxConcurrency:r[0]?.maxConcurrency??n?.maxConcurrency,onFailedAttempt:i=>{throw i}}),a=e.map((i,o)=>s.call(async()=>{try{return await this.invoke(i,r[o])}catch(c){if(n?.returnExceptions)return c;throw c}}));return Promise.all(a)}async*_streamIterator(e,t){yield this.invoke(e,t)}async stream(e,t){let n=Le(t),r=new La({generator:this._streamIterator(e,n),config:n});return await r.setup,vn.fromAsyncGenerator(r)}_separateRunnableConfigFromCallOptions(e){let t;e===void 0?t=Le(e):t=Le({callbacks:e.callbacks,tags:e.tags,metadata:e.metadata,runName:e.runName,configurable:e.configurable,recursionLimit:e.recursionLimit,maxConcurrency:e.maxConcurrency,runId:e.runId,timeout:e.timeout,signal:e.signal});let n={...e};return delete n.callbacks,delete n.tags,delete n.metadata,delete n.runName,delete n.configurable,delete n.recursionLimit,delete n.maxConcurrency,delete n.runId,delete n.timeout,delete n.signal,[t,n]}async _callWithConfig(e,t,n){let r=Le(n),s=await(await rn(r))?.handleChainStart(this.toJSON(),Ot(t,"input"),r.runId,r?.runType,void 0,void 0,r?.runName??this.getName());delete r.runId;let a;try{a=await Mr(e.call(this,t,r,s),r.signal)}catch(i){throw await s?.handleChainError(i),i}return await s?.handleChainEnd(Ot(a,"output")),a}async _batchWithConfig(e,t,n,r){let s=this._getOptionsList(n??{},t.length),a=await Promise.all(s.map(rn)),i=await Promise.all(a.map(async(c,u)=>{let l=await c?.handleChainStart(this.toJSON(),Ot(t[u],"input"),s[u].runId,s[u].runType,void 0,void 0,s[u].runName??this.getName());return delete s[u].runId,l})),o;try{o=await Mr(e.call(this,t,s,i,r),s?.[0]?.signal)}catch(c){throw await Promise.all(i.map(u=>u?.handleChainError(c))),c}return await Promise.all(i.map(c=>c?.handleChainEnd(Ot(o,"output")))),o}_concatOutputChunks(e,t){return Is(e,t)}async*_transformStreamWithConfig(e,t,n){let r,s=!0,a,i=!0,o=Le(n),c=await rn(o),u=this;async function*l(){for await(let p of e){if(s)if(r===void 0)r=p;else try{r=u._concatOutputChunks(r,p)}catch{r=void 0,s=!1}yield p}}let d;try{let p=await Ox(t.bind(this),l(),async()=>c?.handleChainStart(this.toJSON(),{input:""},o.runId,o.runType,void 0,void 0,o.runName??this.getName(),void 0,{lc_defers_inputs:!0}),o.signal,o);delete o.runId,d=p.setup;let h=d?.handlers.find(ZM),f=p.output;h!==void 0&&d!==void 0&&(f=h.tapOutputIterable(d.runId,f));let m=d?.handlers.find(Ix);m!==void 0&&d!==void 0&&(f=m.tapOutputIterable(d.runId,f));for await(let v of f)if(yield v,i)if(a===void 0)a=v;else try{a=this._concatOutputChunks(a,v)}catch{a=void 0,i=!1}}catch(p){throw await d?.handleChainError(p,void 0,void 0,void 0,{inputs:Ot(r,"input")}),p}await d?.handleChainEnd(a??{},void 0,void 0,void 0,{inputs:Ot(r,"input")})}getGraph(e){let t=new cc,n=t.addNode({name:`${this.getName()}Input`,schema:Xw()}),r=t.addNode(this),s=t.addNode({name:`${this.getName()}Output`,schema:Xw()});return t.addEdge(n,r),t.addEdge(r,s),t}pipe(e){return new Cs({first:this,last:Lt(e)})}pick(e){return this.pipe(new yO(e))}assign(e){return this.pipe(new Wy(new ao({steps:e})))}async*transform(e,t){let n;for await(let r of e)n===void 0?n=r:n=this._concatOutputChunks(n,r);yield*this._streamIterator(n,Le(t))}async*streamLog(e,t,n){let r=new Pm({...n,autoClose:!1,_schemaFormat:"original"}),s=Le(t);yield*this._streamLog(e,r,s)}async*_streamLog(e,t,n){let{callbacks:r}=n;if(r===void 0)n.callbacks=[t];else if(Array.isArray(r))n.callbacks=r.concat([t]);else{let o=r.copy();o.addHandler(t,!0),n.callbacks=o}let s=this.stream(e,n);async function a(){try{let o=await s;for await(let c of o){let u=new Hr({ops:[{op:"add",path:"/streamed_output/-",value:c}]});await t.writer.write(u)}}finally{await t.writer.close()}}let i=a();try{for await(let o of t)yield o}finally{await i}}streamEvents(e,t,n){let r;if(t.version==="v1")r=this._streamEventsV1(e,t,n);else if(t.version==="v2")r=this._streamEventsV2(e,t,n);else throw new Error('Only versions "v1" and "v2" of the schema are currently supported.');return t.encoding==="text/event-stream"?qM(r):vn.fromAsyncGenerator(r)}async*_streamEventsV2(e,t,n){let r=new VM({...n,autoClose:!1}),s=Le(t),a=s.runId??ls();s.runId=a;let i=s.callbacks;if(i===void 0)s.callbacks=[r];else if(Array.isArray(i))s.callbacks=i.concat(r);else{let h=i.copy();h.addHandler(r,!0),s.callbacks=h}let o=new AbortController,c=this;async function u(){let h;try{if(s.signal)if("any"in AbortSignal)h=AbortSignal.any([o.signal,s.signal]);else{let v=new AbortController;s.signal.addEventListener("abort",()=>v.abort(),{once:!0}),o.signal.addEventListener("abort",()=>v.abort(),{once:!0}),h=v.signal}else h=o.signal;let f=await c.stream(e,{...s,signal:h}),m=r.tapOutputIterable(a,f);for await(let v of m)if(o.signal.aborted)break}finally{await r.finish()}}let l=u(),d=!1,p;try{for await(let h of r){if(!d){h.data.input=e,d=!0,p=h.run_id,yield h;continue}h.run_id===p&&h.event.endsWith("_end")&&h.data?.input&&delete h.data.input,yield h}}finally{o.abort(),await l}}async*_streamEventsV1(e,t,n){let r,s=!1,a=Le(t),i=a.tags??[],o=a.metadata??{},c=a.runName??this.getName(),u=new Pm({...n,autoClose:!1,_schemaFormat:"streaming_events"}),l=new jM({...n}),d=this._streamLog(e,u,a);for await(let h of d){if(r?r=r.concat(h):r=Ly.fromRunLogPatch(h),r.state===void 0)throw new Error('Internal error: "streamEvents" state is missing. Please open a bug report.');if(!s){s=!0;let g={...r.state},y={run_id:g.id,event:`on_${g.type}_start`,name:c,tags:i,metadata:o,data:{input:e}};l.includeEvent(y,g.type)&&(yield y)}let f=h.ops.filter(g=>g.path.startsWith("/logs/")).map(g=>g.path.split("/")[2]),m=[...new Set(f)];for(let g of m){let y,k={},x=r.state.logs[g];if(x.end_time===void 0?x.streamed_output.length>0?y="stream":y="start":y="end",y==="start")x.inputs!==void 0&&(k.input=x.inputs);else if(y==="end")x.inputs!==void 0&&(k.input=x.inputs),k.output=x.final_output;else if(y==="stream"){let T=x.streamed_output.length;if(T!==1)throw new Error(`Expected exactly one chunk of streamed output, got ${T} instead. Encountered in: "${x.name}"`);k={chunk:x.streamed_output[0]},x.streamed_output=[]}yield{event:`on_${x.type}_${y}`,name:x.name,run_id:x.id,tags:x.tags,metadata:x.metadata,data:k}}let{state:v}=r;if(v.streamed_output.length>0){let g=v.streamed_output.length;if(g!==1)throw new Error(`Expected exactly one chunk of streamed output, got ${g} instead. Encountered in: "${v.name}"`);let y={chunk:v.streamed_output[0]};v.streamed_output=[];let k={event:`on_${v.type}_stream`,run_id:v.id,tags:i,metadata:o,name:c,data:y};l.includeEvent(k,v.type)&&(yield k)}}let p=r?.state;if(p!==void 0){let h={event:`on_${p.type}_end`,name:c,run_id:p.id,tags:i,metadata:o,data:{output:p.final_output}};l.includeEvent(h,p.type)&&(yield h)}}static isRunnable(e){return qy(e)}withListeners({onStart:e,onEnd:t,onError:n}){return new $s({bound:this,config:{},configFactories:[r=>({callbacks:[new uO({config:r,onStart:e,onEnd:t,onError:n})]})]})}asTool(e){return YM(this,e)}},$s=class dO extends je{static lc_name(){return"RunnableBinding"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;bound;config;kwargs;configFactories;constructor(t){super(t),this.bound=t.bound,this.kwargs=t.kwargs,this.config=t.config,this.configFactories=t.configFactories}getName(t){return this.bound.getName(t)}async _mergeConfig(...t){let n=Fn(this.config,...t);return Fn(n,...this.configFactories?await Promise.all(this.configFactories.map(async r=>await r(n))):[])}withConfig(t){return new this.constructor({bound:this.bound,kwargs:this.kwargs,config:{...this.config,...t}})}withRetry(t){return new Hy({bound:this.bound,kwargs:this.kwargs,config:this.config,maxAttemptNumber:t?.stopAfterAttempt,...t})}async invoke(t,n){return this.bound.invoke(t,await this._mergeConfig(n,this.kwargs))}async batch(t,n,r){let s=Array.isArray(n)?await Promise.all(n.map(async a=>this._mergeConfig(Le(a),this.kwargs))):await this._mergeConfig(Le(n),this.kwargs);return this.bound.batch(t,s,r)}_concatOutputChunks(t,n){return this.bound._concatOutputChunks(t,n)}async*_streamIterator(t,n){yield*this.bound._streamIterator(t,await this._mergeConfig(Le(n),this.kwargs))}async stream(t,n){return this.bound.stream(t,await this._mergeConfig(Le(n),this.kwargs))}async*transform(t,n){yield*this.bound.transform(t,await this._mergeConfig(Le(n),this.kwargs))}streamEvents(t,n,r){let s=this,a=async function*(){yield*s.bound.streamEvents(t,{...await s._mergeConfig(Le(n),s.kwargs),version:n.version},r)};return vn.fromAsyncGenerator(a())}static isRunnableBinding(t){return t.bound&&je.isRunnable(t.bound)}withListeners({onStart:t,onEnd:n,onError:r}){return new dO({bound:this.bound,kwargs:this.kwargs,config:this.config,configFactories:[s=>({callbacks:[new uO({config:s,onStart:t,onEnd:n,onError:r})]})]})}},JM=class pO extends je{static lc_name(){return"RunnableEach"}lc_serializable=!0;lc_namespace=["langchain_core","runnables"];bound;constructor(t){super(t),this.bound=t.bound}async invoke(t,n){return this._callWithConfig(this._invoke.bind(this),t,n)}async _invoke(t,n,r){return this.bound.batch(t,He(n,{callbacks:r?.getChild()}))}withListeners({onStart:t,onEnd:n,onError:r}){return new pO({bound:this.bound.withListeners({onStart:t,onEnd:n,onError:r})})}},Hy=class extends $s{static lc_name(){return"RunnableRetry"}lc_namespace=["langchain_core","runnables"];maxAttemptNumber=3;onFailedAttempt=()=>{};constructor(e){super(e),this.maxAttemptNumber=e.maxAttemptNumber??this.maxAttemptNumber,this.onFailedAttempt=e.onFailedAttempt??this.onFailedAttempt}_patchConfigForRetry(e,t,n){let r=e>1?`retry:attempt:${e}`:void 0;return He(t,{callbacks:n?.getChild(r)})}async _invoke(e,t,n){return jm(r=>super.invoke(e,this._patchConfigForRetry(r,t,n)),{onFailedAttempt:({error:r})=>this.onFailedAttempt(r,e),retries:Math.max(this.maxAttemptNumber-1,0),randomize:!0})}async invoke(e,t){return this._callWithConfig(this._invoke.bind(this),e,t)}async _batch(e,t,n,r){let s={};try{await jm(async a=>{let i=e.map((d,p)=>p).filter(d=>s[d.toString()]===void 0||s[d.toString()]instanceof Error),o=i.map(d=>e[d]),c=i.map(d=>this._patchConfigForRetry(a,t?.[d],n?.[d])),u=await super.batch(o,c,{...r,returnExceptions:!0}),l;for(let d=0;d<u.length;d+=1){let p=u[d],h=i[d];p instanceof Error&&l===void 0&&(l=p,l.input=o[d]),s[h.toString()]=p}if(l)throw l;return u},{onFailedAttempt:({error:a})=>this.onFailedAttempt(a,a.input),retries:Math.max(this.maxAttemptNumber-1,0),randomize:!0})}catch(a){if(r?.returnExceptions!==!0)throw a}return Object.keys(s).sort((a,i)=>parseInt(a,10)-parseInt(i,10)).map(a=>s[parseInt(a,10)])}async batch(e,t,n){return this._batchWithConfig(this._batch.bind(this),e,t,n)}},Cs=class xo extends je{static lc_name(){return"RunnableSequence"}first;middle=[];last;omitSequenceTags=!1;lc_serializable=!0;lc_namespace=["langchain_core","runnables"];constructor(t){super(t),this.first=t.first,this.middle=t.middle??this.middle,this.last=t.last,this.name=t.name,this.omitSequenceTags=t.omitSequenceTags??this.omitSequenceTags}get steps(){return[this.first,...this.middle,this.last]}async invoke(t,n){let r=Le(n),s=await(await rn(r))?.handleChainStart(this.toJSON(),Ot(t,"input"),r.runId,void 0,void 0,void 0,r?.runName);delete r.runId;let a=t,i;try{let o=[this.first,...this.middle];for(let c=0;c<o.length;c+=1)a=await Mr(o[c].invoke(a,He(r,{callbacks:s?.getChild(this.omitSequenceTags?void 0:`seq:step:${c+1}`)})),r.signal);if(r.signal?.aborted)throw rc(r.signal);i=await this.last.invoke(a,He(r,{callbacks:s?.getChild(this.omitSequenceTags?void 0:`seq:step:${this.steps.length}`)}))}catch(o){throw await s?.handleChainError(o),o}return await s?.handleChainEnd(Ot(i,"output")),i}async batch(t,n,r){let s=this._getOptionsList(n??{},t.length),a=await Promise.all(s.map(rn)),i=await Promise.all(a.map(async(c,u)=>{let l=await c?.handleChainStart(this.toJSON(),Ot(t[u],"input"),s[u].runId,void 0,void 0,void 0,s[u].runName);return delete s[u].runId,l})),o=t;try{for(let c=0;c<this.steps.length;c+=1)o=await Mr(this.steps[c].batch(o,i.map((u,l)=>{let d=u?.getChild(this.omitSequenceTags?void 0:`seq:step:${c+1}`);return He(s[l],{callbacks:d})}),r),s[0]?.signal)}catch(c){throw await Promise.all(i.map(u=>u?.handleChainError(c))),c}return await Promise.all(i.map(c=>c?.handleChainEnd(Ot(o,"output")))),o}_concatOutputChunks(t,n){return this.last._concatOutputChunks(t,n)}async*_streamIterator(t,n){let r=await rn(n),{runId:s,...a}=n??{},i=await r?.handleChainStart(this.toJSON(),Ot(t,"input"),s,void 0,void 0,void 0,a?.runName),o=[this.first,...this.middle,this.last],c=!0,u;async function*l(){yield t}try{let d=o[0].transform(l(),He(a,{callbacks:i?.getChild(this.omitSequenceTags?void 0:"seq:step:1")}));for(let p=1;p<o.length;p+=1)d=await o[p].transform(d,He(a,{callbacks:i?.getChild(this.omitSequenceTags?void 0:`seq:step:${p+1}`)}));for await(let p of d)if(n?.signal?.throwIfAborted(),yield p,c)if(u===void 0)u=p;else try{u=this._concatOutputChunks(u,p)}catch{u=void 0,c=!1}}catch(d){throw await i?.handleChainError(d),d}await i?.handleChainEnd(Ot(u,"output"))}getGraph(t){let n=new cc,r=null;return this.steps.forEach((s,a)=>{let i=s.getGraph(t);a!==0&&i.trimFirstNode(),a!==this.steps.length-1&&i.trimLastNode(),n.extend(i);let o=i.firstNode();if(!o)throw new Error(`Runnable ${s} has no first node`);r&&n.addEdge(r,o),r=i.lastNode()}),n}pipe(t){return xo.isRunnableSequence(t)?new xo({first:this.first,middle:this.middle.concat([this.last,t.first,...t.middle]),last:t.last,name:this.name??t.name}):new xo({first:this.first,middle:[...this.middle,this.last],last:Lt(t),name:this.name})}static isRunnableSequence(t){return Array.isArray(t.middle)&&je.isRunnable(t)}static from([t,...n],r){let s={};return typeof r=="string"?s.name=r:r!==void 0&&(s=r),new xo({...s,first:Lt(t),middle:n.slice(0,-1).map(Lt),last:Lt(n[n.length-1])})}},ao=class hO extends je{static lc_name(){return"RunnableMap"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;steps;getStepsKeys(){return Object.keys(this.steps)}constructor(t){super(t),this.steps={};for(let[n,r]of Object.entries(t.steps))this.steps[n]=Lt(r)}static from(t){return new hO({steps:t})}async invoke(t,n){let r=Le(n),s=await(await rn(r))?.handleChainStart(this.toJSON(),{input:t},r.runId,void 0,void 0,void 0,r?.runName);delete r.runId;let a={};try{let i=Object.entries(this.steps).map(async([o,c])=>{a[o]=await c.invoke(t,He(r,{callbacks:s?.getChild(`map:key:${o}`)}))});await Mr(Promise.all(i),r.signal)}catch(i){throw await s?.handleChainError(i),i}return await s?.handleChainEnd(a),a}async*_transform(t,n,r){let s={...this.steps},a=My(t,Object.keys(s).length),i=new Map(Object.entries(s).map(([o,c],u)=>{let l=c.transform(a[u],He(r,{callbacks:n?.getChild(`map:key:${o}`)}));return[o,l.next().then(d=>({key:o,gen:l,result:d}))]}));for(;i.size;){let{key:o,result:c,gen:u}=await Mr(Promise.race(i.values()),r?.signal);i.delete(o),c.done||(yield{[o]:c.value},i.set(o,u.next().then(l=>({key:o,gen:u,result:l}))))}}transform(t,n){return this._transformStreamWithConfig(t,this._transform.bind(this),n)}async stream(t,n){async function*r(){yield t}let s=Le(n),a=new La({generator:this.transform(r(),s),config:s});return await a.setup,vn.fromAsyncGenerator(a)}},GM=class fO extends je{lc_serializable=!1;lc_namespace=["langchain_core","runnables"];func;constructor(t){if(super(t),!Ry(t.func))throw new Error("RunnableTraceable requires a function that is wrapped in traceable higher-order function");this.func=t.func}async invoke(t,n){let[r]=this._getOptionsList(n??{},1),s=await rn(r);return Mr(this.func(He(r,{callbacks:s}),t),r?.signal)}async*_streamIterator(t,n){let[r]=this._getOptionsList(n??{},1),s=await this.invoke(t,n);if(Qm(s)){for await(let a of s)r?.signal?.throwIfAborted(),yield a;return}if(HM(s)){for(;;){r?.signal?.throwIfAborted();let a=s.next();if(a.done)break;yield a.value}return}yield s}static from(t){return new fO({func:t})}};function KM(e){if(Ry(e))throw new Error("RunnableLambda requires a function that is not wrapped in traceable higher-order function. This shouldn't happen.")}var _r=class mO extends je{static lc_name(){return"RunnableLambda"}lc_namespace=["langchain_core","runnables"];func;constructor(t){if(Ry(t.func))return GM.from(t.func);super(t),KM(t.func),this.func=t.func}static from(t){return new mO({func:t})}async _invoke(t,n,r){return new Promise((s,a)=>{let i=He(n,{callbacks:r?.getChild(),recursionLimit:(n?.recursionLimit??25)-1});zt.runWithConfig(Yr(i),async()=>{try{let o=await this.func(t,{...i});if(o&&je.isRunnable(o)){if(n?.recursionLimit===0)throw new Error("Recursion limit reached.");o=await o.invoke(t,{...i,recursionLimit:(i.recursionLimit??25)-1})}else if(Qm(o)){let c;for await(let u of eg(i,o))if(n?.signal?.throwIfAborted(),c===void 0)c=u;else try{c=this._concatOutputChunks(c,u)}catch{c=u}o=c}else if(rb(o)){let c;for(let u of sb(i,o))if(n?.signal?.throwIfAborted(),c===void 0)c=u;else try{c=this._concatOutputChunks(c,u)}catch{c=u}o=c}s(o)}catch(o){a(o)}})})}async invoke(t,n){return this._callWithConfig(this._invoke.bind(this),t,n)}async*_transform(t,n,r){let s;for await(let o of t)if(s===void 0)s=o;else try{s=this._concatOutputChunks(s,o)}catch{s=o}let a=He(r,{callbacks:n?.getChild(),recursionLimit:(r?.recursionLimit??25)-1}),i=await new Promise((o,c)=>{zt.runWithConfig(Yr(a),async()=>{try{o(await this.func(s,{...a,config:a}))}catch(u){c(u)}})});if(i&&je.isRunnable(i)){if(r?.recursionLimit===0)throw new Error("Recursion limit reached.");let o=await i.stream(s,a);for await(let c of o)yield c}else if(Qm(i))for await(let o of eg(a,i))r?.signal?.throwIfAborted(),yield o;else if(rb(i))for(let o of sb(a,i))r?.signal?.throwIfAborted(),yield o;else yield i}transform(t,n){return this._transformStreamWithConfig(t,this._transform.bind(this),n)}async stream(t,n){async function*r(){yield t}let s=Le(n),a=new La({generator:this.transform(r(),s),config:s});return await a.setup,vn.fromAsyncGenerator(a)}},XM=class extends ao{},gO=class extends je{static lc_name(){return"RunnableWithFallbacks"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;runnable;fallbacks;constructor(e){super(e),this.runnable=e.runnable,this.fallbacks=e.fallbacks}*runnables(){yield this.runnable;for(let e of this.fallbacks)yield e}async invoke(e,t){let n=Le(t),r=await rn(n),{runId:s,...a}=n,i=await r?.handleChainStart(this.toJSON(),Ot(e,"input"),s,void 0,void 0,void 0,a?.runName),o=He(a,{callbacks:i?.getChild()});return await zt.runWithConfig(o,async()=>{let c;for(let u of this.runnables()){n?.signal?.throwIfAborted();try{let l=await u.invoke(e,o);return await i?.handleChainEnd(Ot(l,"output")),l}catch(l){c===void 0&&(c=l)}}throw c===void 0?new Error("No error stored at end of fallback."):(await i?.handleChainError(c),c)})}async*_streamIterator(e,t){let n=Le(t),r=await rn(n),{runId:s,...a}=n,i=await r?.handleChainStart(this.toJSON(),Ot(e,"input"),s,void 0,void 0,void 0,a?.runName),o,c;for(let l of this.runnables()){n?.signal?.throwIfAborted();let d=He(a,{callbacks:i?.getChild()});try{c=eg(d,await l.stream(e,d));break}catch(p){o===void 0&&(o=p)}}if(c===void 0){let l=o??new Error("No error stored at end of fallback.");throw await i?.handleChainError(l),l}let u;try{for await(let l of c){yield l;try{u=u===void 0?u:this._concatOutputChunks(u,l)}catch{u=void 0}}}catch(l){throw await i?.handleChainError(l),l}await i?.handleChainEnd(Ot(u,"output"))}async batch(e,t,n){if(n?.returnExceptions)throw new Error("Not implemented.");let r=this._getOptionsList(t??{},e.length),s=await Promise.all(r.map(o=>rn(o))),a=await Promise.all(s.map(async(o,c)=>{let u=await o?.handleChainStart(this.toJSON(),Ot(e[c],"input"),r[c].runId,void 0,void 0,void 0,r[c].runName);return delete r[c].runId,u})),i;for(let o of this.runnables()){r[0].signal?.throwIfAborted();try{let c=await o.batch(e,a.map((u,l)=>He(r[l],{callbacks:u?.getChild()})),n);return await Promise.all(a.map((u,l)=>u?.handleChainEnd(Ot(c[l],"output")))),c}catch(c){i===void 0&&(i=c)}}throw i?(await Promise.all(a.map(o=>o?.handleChainError(i))),i):new Error("No error stored at end of fallbacks.")}};function Lt(e){if(typeof e=="function")return new _r({func:e});if(je.isRunnable(e))return e;if(!Array.isArray(e)&&typeof e=="object"){let t={};for(let[n,r]of Object.entries(e))t[n]=Lt(r);return new ao({steps:t})}else throw new Error(`Expected a Runnable, function or object.
88
+ Instead got an unsupported type.`)}var Wy=class extends je{static lc_name(){return"RunnableAssign"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;mapper;constructor(e){e instanceof ao&&(e={mapper:e}),super(e),this.mapper=e.mapper}async invoke(e,t){let n=await this.mapper.invoke(e,t);return{...e,...n}}async*_transform(e,t,n){let r=this.mapper.getStepsKeys(),[s,a]=My(e),i=this.mapper.transform(a,He(n,{callbacks:t?.getChild()})),o=i.next();for await(let c of s){if(typeof c!="object"||Array.isArray(c))throw new Error(`RunnableAssign can only be used with objects as input, got ${typeof c}`);let u=Object.fromEntries(Object.entries(c).filter(([l])=>!r.includes(l)));Object.keys(u).length>0&&(yield u)}yield(await o).value;for await(let c of i)yield c}transform(e,t){return this._transformStreamWithConfig(e,this._transform.bind(this),t)}async stream(e,t){async function*n(){yield e}let r=Le(t),s=new La({generator:this.transform(n(),r),config:r});return await s.setup,vn.fromAsyncGenerator(s)}},yO=class extends je{static lc_name(){return"RunnablePick"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;keys;constructor(e){(typeof e=="string"||Array.isArray(e))&&(e={keys:e}),super(e),this.keys=e.keys}async _pick(e){if(typeof this.keys=="string")return e[this.keys];{let t=this.keys.map(n=>[n,e[n]]).filter(n=>n[1]!==void 0);return t.length===0?void 0:Object.fromEntries(t)}}async invoke(e,t){return this._callWithConfig(this._pick.bind(this),e,t)}async*_transform(e){for await(let t of e){let n=await this._pick(t);n!==void 0&&(yield n)}}transform(e,t){return this._transformStreamWithConfig(e,this._transform.bind(this),t)}async stream(e,t){async function*n(){yield e}let r=Le(t),s=new La({generator:this.transform(n(),r),config:r});return await s.setup,vn.fromAsyncGenerator(s)}},tg=class extends $s{name;description;schema;constructor(e){let t=Cs.from([_r.from(async n=>{let r;if(Fo(n))try{r=await Np(this.schema,n.args)}catch{throw new Al("Received tool input did not match expected schema",JSON.stringify(n.args))}else r=n;return r}).withConfig({runName:`${e.name}:parse_input`}),e.bound]).withConfig({runName:e.name});super({bound:t,config:e.config??{}}),this.name=e.name,this.description=e.description,this.schema=e.schema}static lc_name(){return"RunnableToolLike"}};function YM(e,t){let n=t.name??e.getName(),r=t.description??Ai(t.schema);return Fy(t.schema)?new tg({name:n,description:r,schema:Rp({input:jp()}).transform(s=>s.input),bound:e}):new tg({name:n,description:r,schema:t.schema,bound:e})}var ql=(e,t)=>{let n=[...new Set(t?.map(s=>{if(typeof s=="string")return s;let a=new s({});if(!("getType"in a)||typeof a.getType!="function")throw new Error("Invalid type provided.");return a.getType()}))],r=e.getType();return n.some(s=>s===r)};function QM(e,t){return Array.isArray(e)?ab(e,t):_r.from(n=>ab(n,e))}function ab(e,t={}){let{includeNames:n,excludeNames:r,includeTypes:s,excludeTypes:a,includeIds:i,excludeIds:o}=t,c=[];for(let u of e)if(!(r&&u.name&&r.includes(u.name))){if(a&&ql(u,a)||o&&u.id&&o.includes(u.id))continue;s||i||n?(n&&u.name&&n.some(l=>l===u.name)||s&&ql(u,s)||i&&u.id&&i.some(l=>l===u.id))&&c.push(u):c.push(u)}return c}function eL(e){return Array.isArray(e)?ib(e):_r.from(ib)}function ib(e){if(!e.length)return[];let t=[];for(let n of e){let r=n,s=t.pop();if(!s)t.push(r);else if(r.getType()==="tool"||r.getType()!==s.getType())t.push(s,r);else{let a=Cl(s),i=Cl(r),o=a.concat(i);typeof a.content=="string"&&typeof i.content=="string"&&(o.content=`${a.content}
89
+ ${i.content}`),t.push(rL(o))}}return t}function tL(e,t){if(Array.isArray(e)){let n=e;if(!t)throw new Error("Options parameter is required when providing messages.");return ob(n,t)}else{let n=e;return _r.from(r=>ob(r,n)).withConfig({runName:"trim_messages"})}}async function ob(e,t){let{maxTokens:n,tokenCounter:r,strategy:s="last",allowPartial:a=!1,endOn:i,startOn:o,includeSystem:c=!1,textSplitter:u}=t;if(o&&s==="first")throw new Error("`startOn` should only be specified if `strategy` is 'last'.");if(c&&s==="first")throw new Error("`includeSystem` should only be specified if `strategy` is 'last'.");let l;"getNumTokens"in r?l=async p=>(await Promise.all(p.map(h=>r.getNumTokens(h.content)))).reduce((h,f)=>h+f,0):l=async p=>r(p);let d=vO;if(u&&("splitText"in u?d=u.splitText:d=async p=>u(p)),s==="first")return _O(e,{maxTokens:n,tokenCounter:l,textSplitter:d,partialStrategy:a?"first":void 0,endOn:i});if(s==="last")return nL(e,{maxTokens:n,tokenCounter:l,textSplitter:d,allowPartial:a,includeSystem:c,startOn:o,endOn:i});throw new Error(`Unrecognized strategy: '${s}'. Must be one of 'first' or 'last'.`)}async function _O(e,t){let{maxTokens:n,tokenCounter:r,textSplitter:s,partialStrategy:a,endOn:i}=t,o=[...e],c=0;for(let u=0;u<o.length;u+=1)if(await r(u>0?o.slice(0,-u):o)<=n){c=o.length-u;break}if(c<o.length&&a){let u=!1;if(Array.isArray(o[c].content)){let l=o[c];if(typeof l.content=="string")throw new Error("Expected content to be an array.");let d=l.content.length,p=a==="last"?[...l.content].reverse():l.content;for(let h=1;h<=d;h+=1){let f=a==="first"?p.slice(0,h):p.slice(-h),m=Object.fromEntries(Object.entries(l).filter(([y])=>y!=="type"&&!y.startsWith("lc_"))),v=Jy(l.getType(),{...m,content:f}),g=[...o.slice(0,c),v];if(await r(g)<=n)o=g,c+=1,u=!0;else break}u&&a==="last"&&(l.content=[...p].reverse())}if(!u){let l=o[c],d;if(Array.isArray(l.content)&&l.content.some(p=>typeof p=="string"||p.type==="text")?d=l.content.find(p=>p.type==="text"&&p.text)?.text:typeof l.content=="string"&&(d=l.content),d){let p=await s(d),h=p.length;a==="last"&&p.reverse();for(let f=0;f<h-1;f+=1)if(p.pop(),l.content=p.join(""),await r([...o.slice(0,c),l])<=n){a==="last"&&(l.content=[...p].reverse().join("")),o=[...o.slice(0,c),l],c+=1;break}}}}if(i){let u=Array.isArray(i)?i:[i];for(;c>0&&!ql(o[c-1],u);)c-=1}return o.slice(0,c)}async function nL(e,t){let{allowPartial:n=!1,includeSystem:r=!1,endOn:s,startOn:a,...i}=t,o=e.map(l=>{let d=Object.fromEntries(Object.entries(l).filter(([p])=>p!=="type"&&!p.startsWith("lc_")));return Jy(l.getType(),d,ec(l))});if(s){let l=Array.isArray(s)?s:[s];for(;o.length>0&&!ql(o[o.length-1],l);)o=o.slice(0,-1)}let c=r&&o[0]?.getType()==="system",u=c?o.slice(0,1).concat(o.slice(1).reverse()):o.reverse();return u=await _O(u,{...i,partialStrategy:n?"last":void 0,endOn:a}),c?[u[0],...u.slice(1).reverse()]:u.reverse()}var cb={human:{message:jn,messageChunk:Wc},ai:{message:Qe,messageChunk:_n},system:{message:jr,messageChunk:Ss},developer:{message:jr,messageChunk:Ss},tool:{message:Zn,messageChunk:Vc},function:{message:kp,messageChunk:Hc},generic:{message:ns,messageChunk:qc},remove:{message:ua,messageChunk:ua}};function Jy(e,t,n){let r,s;switch(e){case"human":n?r=new Wc(t):s=new jn(t);break;case"ai":if(n){let a={...t};"tool_calls"in a&&(a={...a,tool_call_chunks:a.tool_calls?.map(i=>({...i,type:"tool_call_chunk",index:void 0,args:JSON.stringify(i.args)}))}),r=new _n(a)}else s=new Qe(t);break;case"system":n?r=new Ss(t):s=new jr(t);break;case"developer":n?r=new Ss({...t,additional_kwargs:{...t.additional_kwargs,__openai_role__:"developer"}}):s=new jr({...t,additional_kwargs:{...t.additional_kwargs,__openai_role__:"developer"}});break;case"tool":if("tool_call_id"in t)n?r=new Vc(t):s=new Zn(t);else throw new Error("Can not convert ToolMessage to ToolMessageChunk if 'tool_call_id' field is not defined.");break;case"function":if(n)r=new Hc(t);else{if(!t.name)throw new Error("FunctionMessage must have a 'name' field");s=new kp(t)}break;case"generic":if("role"in t)n?r=new qc(t):s=new ns(t);else throw new Error("Can not convert ChatMessage to ChatMessageChunk if 'role' field is not defined.");break;default:throw new Error(`Unrecognized message type ${e}`)}if(n&&r)return r;if(s)return s;throw new Error(`Unrecognized message type ${e}`)}function rL(e){let t=e.getType(),n,r=Object.fromEntries(Object.entries(e).filter(([s])=>!["type","tool_call_chunks"].includes(s)&&!s.startsWith("lc_")));if(t in cb&&(n=Jy(t,r)),!n)throw new Error(`Unrecognized message chunk class ${t}. Supported classes are ${Object.keys(cb)}`);return n}function vO(e){let t=e.split(`
90
+ `);return Promise.resolve([...t.slice(0,-1).map(n=>`${n}
91
+ `),t[t.length-1]])}var sL=["tool_call","tool_call_chunk","invalid_tool_call","server_tool_call","server_tool_call_chunk","server_tool_call_result"],aL=["image","video","audio","text-plain","file"],iL=["text","reasoning",...sL,...aL],oL=Q({AIMessage:()=>Qe,AIMessageChunk:()=>_n,BaseMessage:()=>tn,BaseMessageChunk:()=>Fs,ChatMessage:()=>ns,ChatMessageChunk:()=>qc,DEFAULT_MERGE_IGNORE_KEYS:()=>Sk,FunctionMessage:()=>kp,FunctionMessageChunk:()=>Hc,HumanMessage:()=>jn,HumanMessageChunk:()=>Wc,KNOWN_BLOCK_TYPES:()=>iL,RemoveMessage:()=>ua,SystemMessage:()=>jr,SystemMessageChunk:()=>Ss,ToolMessage:()=>Zn,ToolMessageChunk:()=>Vc,_isMessageFieldWithRole:()=>Ek,_mergeDicts:()=>Vt,_mergeLists:()=>ki,_mergeObj:()=>Tk,_mergeStatus:()=>Ok,coerceMessageLikeToMessage:()=>$r,collapseToolCallChunks:()=>Rk,convertToChunk:()=>Cl,convertToOpenAIImageBlock:()=>wk,convertToProviderContentBlock:()=>my,defaultTextSplitter:()=>vO,defaultToolCallParser:()=>vy,filterMessages:()=>QM,getBufferString:()=>xy,iife:()=>jk,isAIMessage:()=>bp,isAIMessageChunk:()=>om,isBase64ContentBlock:()=>fy,isBaseMessage:()=>Mt,isBaseMessageChunk:()=>ec,isChatMessage:()=>k$,isChatMessageChunk:()=>x$,isDataContentBlock:()=>Pr,isDirectToolOutput:()=>_y,isFunctionMessage:()=>O$,isFunctionMessageChunk:()=>S$,isHumanMessage:()=>T$,isHumanMessageChunk:()=>I$,isIDContentBlock:()=>vk,isMessage:()=>xk,isOpenAIToolCallArray:()=>s$,isPlainTextContentBlock:()=>FA,isSystemMessage:()=>E$,isSystemMessageChunk:()=>A$,isToolMessage:()=>wy,isToolMessageChunk:()=>Ak,isURLContentBlock:()=>hy,mapChatMessagesToStoredMessages:()=>R$,mapStoredMessageToChatMessage:()=>Oy,mapStoredMessagesToChatMessages:()=>j$,mergeContent:()=>Xr,mergeMessageRuns:()=>eL,mergeResponseMetadata:()=>Ck,mergeUsageMetadata:()=>ky,parseBase64DataUrl:()=>Qo,parseMimeType:()=>im,trimMessages:()=>tL}),cL=Q({BaseChatMessageHistory:()=>wO,BaseListChatMessageHistory:()=>Gy,InMemoryChatMessageHistory:()=>uL}),wO=class extends Bn{async addMessages(e){for(let t of e)await this.addMessage(t)}},Gy=class extends Bn{addUserMessage(e){return this.addMessage(new jn(e))}addAIMessage(e){return this.addMessage(new Qe(e))}async addMessages(e){for(let t of e)await this.addMessage(t)}clear(){throw new Error("Not implemented.")}},uL=class extends Gy{lc_namespace=["langchain","stores","message","in_memory"];messages=[];constructor(e){super(...arguments),this.messages=e??[]}async getMessages(){return this.messages}async addMessage(e){this.messages.push(e)}async clear(){this.messages=[]}},ks=class{pageContent;metadata;id;constructor(e){this.pageContent=e.pageContent!==void 0?e.pageContent.toString():"",this.metadata=e.metadata??{},this.id=e.id}},bO=class extends je{lc_namespace=["langchain_core","documents","transformers"];invoke(e,t){return this.transformDocuments(e)}},lL=class extends bO{async transformDocuments(e){let t=[];for(let n of e){let r=await this._transformDocument(n);t.push(r)}return t}},dL=Q({BaseDocumentTransformer:()=>bO,Document:()=>ks,MappingDocumentTransformer:()=>lL}),pL=Q({BaseDocumentLoader:()=>kO}),kO=class{},hL=Q({LangSmithLoader:()=>fL}),fL=class extends kO{datasetId;datasetName;exampleIds;asOf;splits;inlineS3Urls;offset;limit;metadata;filter;contentKey;formatContent;client;constructor(e){if(super(),e.client&&e.clientConfig)throw new Error("client and clientConfig cannot both be provided.");this.client=e.client??new Si(e?.clientConfig),this.contentKey=e.contentKey?e.contentKey.split("."):[],this.formatContent=e.formatContent??mL,this.datasetId=e.datasetId,this.datasetName=e.datasetName,this.exampleIds=e.exampleIds,this.asOf=e.asOf,this.splits=e.splits,this.inlineS3Urls=e.inlineS3Urls,this.offset=e.offset,this.limit=e.limit,this.metadata=e.metadata,this.filter=e.filter}async load(){let e=[];for await(let t of this.client.listExamples({datasetId:this.datasetId,datasetName:this.datasetName,exampleIds:this.exampleIds,asOf:this.asOf,splits:this.splits,inlineS3Urls:this.inlineS3Urls,offset:this.offset,limit:this.limit,metadata:this.metadata,filter:this.filter})){let n=t.inputs;for(let a of this.contentKey)n=n[a];let r=this.formatContent(n),s=t;["created_at","modified_at"].forEach(a=>{a in s&&typeof s[a]=="object"&&(s[a]=s[a].toString())}),e.push({pageContent:r,metadata:s})}return e}};function mL(e){if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}var gL=Q({Embeddings:()=>Ky}),Ky=class{caller;constructor(e){this.caller=new Xc(e??{})}},Xy=class extends Bn{lc_namespace=["langchain_core","example_selectors","base"]},xO=class{async getPromptAsync(e,t){return this.getPrompt(e).partial(t?.partialVariables??{})}},yL=class extends xO{defaultPrompt;conditionals;constructor(e,t=[]){super(),this.defaultPrompt=e,this.conditionals=t}getPrompt(e){for(let[t,n]of this.conditionals)if(t(e))return n;return this.defaultPrompt}};function _L(e){return e._modelType()==="base_llm"}function vL(e){return e._modelType()==="base_chat_model"}function ub(e){return e.split(/\n| /).length}var wL=class OO extends Xy{examples=[];examplePrompt;getTextLength=ub;maxLength=2048;exampleTextLengths=[];constructor(t){super(t),this.examplePrompt=t.examplePrompt,this.maxLength=t.maxLength??2048,this.getTextLength=t.getTextLength??ub}async addExample(t){this.examples.push(t);let n=await this.examplePrompt.format(t);this.exampleTextLengths.push(this.getTextLength(n))}async calculateExampleTextLengths(t,n){if(t.length>0)return t;let{examples:r,examplePrompt:s}=n;return(await Promise.all(r.map(a=>s.format(a)))).map(a=>this.getTextLength(a))}async selectExamples(t){let n=Object.values(t).join(" "),r=this.maxLength-this.getTextLength(n),s=0,a=[];for(;r>0&&s<this.examples.length;){let i=r-this.exampleTextLengths[s];if(i<0)break;a.push(this.examples[s]),r=i,s+=1}return a}static async fromExamples(t,n){let r=new OO(n);return await Promise.all(t.map(s=>r.addExample(s))),r}};function kf(e){return Object.keys(e).sort().map(t=>e[t])}var bL=class SO extends Xy{vectorStoreRetriever;exampleKeys;inputKeys;constructor(t){if(super(t),this.exampleKeys=t.exampleKeys,this.inputKeys=t.inputKeys,t.vectorStore!==void 0)this.vectorStoreRetriever=t.vectorStore.asRetriever({k:t.k??4,filter:t.filter});else if(t.vectorStoreRetriever)this.vectorStoreRetriever=t.vectorStoreRetriever;else throw new Error('You must specify one of "vectorStore" and "vectorStoreRetriever".')}async addExample(t){let n=kf((this.inputKeys??Object.keys(t)).reduce((r,s)=>({...r,[s]:t[s]}),{})).join(" ");await this.vectorStoreRetriever.addDocuments([new ks({pageContent:n,metadata:t})])}async selectExamples(t){let n=kf((this.inputKeys??Object.keys(t)).reduce((s,a)=>({...s,[a]:t[a]}),{})).join(" "),r=(await this.vectorStoreRetriever.invoke(n)).map(s=>s.metadata);return this.exampleKeys?r.map(s=>this.exampleKeys.reduce((a,i)=>({...a,[i]:s[i]}),{})):r}static async fromExamples(t,n,r,s={}){let a=s.inputKeys??null,i=t.map(o=>kf(a?a.reduce((c,u)=>({...c,[u]:o[u]}),{}):o).join(" "));return new SO({vectorStore:await r.fromTexts(i,t,n,s),k:s.k??4,exampleKeys:s.exampleKeys,inputKeys:s.inputKeys})}},kL=Q({BaseExampleSelector:()=>Xy,BasePromptSelector:()=>xO,ConditionalPromptSelector:()=>yL,LengthBasedExampleSelector:()=>wL,SemanticSimilarityExampleSelector:()=>bL,isChatModel:()=>vL,isLLM:()=>_L}),ng="10f90ea3-90a4-4962-bf75-83a0f3c1c62a",xL=class extends Bn{lc_namespace=["langchain","recordmanagers"]},TO=class{uid;hash_;contentHash;metadataHash;pageContent;metadata;keyEncoder=dy;constructor(e){this.uid=e.uid,this.pageContent=e.pageContent,this.metadata=e.metadata}makeDefaultKeyEncoder(e){this.keyEncoder=e}calculateHashes(){let e=["hash_","content_hash","metadata_hash"];for(let n of e)if(n in this.metadata)throw new Error(`Metadata cannot contain key ${n} as it is reserved for internal use. Restricted keys: [${e.join(", ")}]`);let t=this._hashStringToUUID(this.pageContent);try{let n=this._hashNestedDictToUUID(this.metadata);this.contentHash=t,this.metadataHash=n}catch(n){throw new Error(`Failed to hash metadata: ${n}. Please use a dict that can be serialized using json.`)}this.hash_=this._hashStringToUUID(this.contentHash+this.metadataHash),this.uid||(this.uid=this.hash_)}toDocument(){return new ks({pageContent:this.pageContent,metadata:this.metadata})}static fromDocument(e,t){let n=new this({pageContent:e.pageContent,metadata:e.metadata,uid:t||e.uid});return n.calculateHashes(),n}_hashStringToUUID(e){return Nl(this.keyEncoder(e),ng)}_hashNestedDictToUUID(e){let t=JSON.stringify(e,Object.keys(e).sort());return Nl(this.keyEncoder(t),ng)}};function IO(e,t){let n=[],r=[];return t.forEach(s=>{r.push(s),r.length>=e&&(n.push(r),r=[])}),r.length>0&&n.push(r),n}function EO(e){let t=new Set,n=[];for(let r of e){if(!r.hash_)throw new Error("Hashed document does not have a hash");t.has(r.hash_)||(t.add(r.hash_),n.push(r))}return n}function AO(e){if(e===null)return t=>null;if(typeof e=="string")return t=>t.metadata[e];if(typeof e=="function")return e;throw new Error(`sourceIdKey should be null, a string or a function, got ${typeof e}`)}var $O=e=>"load"in e&&typeof e.load=="function"&&"loadAndSplit"in e&&typeof e.loadAndSplit=="function";async function OL(e){let{docsSource:t,recordManager:n,vectorStore:r,options:s}=e,{batchSize:a=100,cleanup:i,sourceIdKey:o,cleanupBatchSize:c=1e3,forceUpdate:u=!1}=s??{};if(i==="incremental"&&!o)throw new Error("sourceIdKey is required when cleanup mode is incremental. Please provide through 'options.sourceIdKey'.");let l=$O(t)?await t.load():t,d=AO(o??null),p=await n.getTime(),h=0,f=0,m=0,v=0,g=IO(a??100,l);for(let y of g){let k=EO(y.map(E=>TO.fromDocument(E))),x=k.map(E=>d(E));i==="incremental"&&k.forEach((E,Z)=>{if(x[Z]===null)throw new Error("sourceIdKey must be provided when cleanup is incremental")});let T=await n.exists(k.map(E=>E.uid)),A=[],I=[],w=[],P=new Set;if(k.forEach((E,Z)=>{if(T[Z])if(u)P.add(E.uid);else{w.push(E.uid);return}A.push(E.uid),I.push(E.toDocument())}),w.length>0&&(await n.update(w,{timeAtLeast:p}),v+=w.length),I.length>0&&(await r.addDocuments(I,{ids:A}),h+=I.length-P.size,m+=P.size),await n.update(k.map(E=>E.uid),{timeAtLeast:p,groupIds:x}),i==="incremental"){x.forEach(Z=>{if(!Z)throw new Error("Source id cannot be null")});let E=await n.listKeys({before:p,groupIds:x});E.length>0&&(await r.delete({ids:E}),await n.deleteKeys(E),f+=E.length)}}if(i==="full"){let y=await n.listKeys({before:p,limit:c});for(;y.length>0;)await r.delete({ids:y}),await n.deleteKeys(y),f+=y.length,y=await n.listKeys({before:p,limit:c})}return{numAdded:h,numDeleted:f,numUpdated:m,numSkipped:v}}var SL=Q({RecordManager:()=>xL,UUIDV5_NAMESPACE:()=>ng,_HashedDocument:()=>TO,_batch:()=>IO,_deduplicateInOrder:()=>EO,_getSourceIdAssigner:()=>AO,_isBaseDocumentLoader:()=>$O,index:()=>OL}),TL=Q({BasePromptValue:()=>Mp,ChatPromptValue:()=>Qy,ImagePromptValue:()=>CO,StringPromptValue:()=>Yy}),Mp=class extends Bn{},Yy=class extends Mp{static lc_name(){return"StringPromptValue"}lc_namespace=["langchain_core","prompt_values"];lc_serializable=!0;value;constructor(e){super({value:e}),this.value=e}toString(){return this.value}toChatMessages(){return[new jn(this.value)]}},Qy=class extends Mp{lc_namespace=["langchain_core","prompt_values"];lc_serializable=!0;static lc_name(){return"ChatPromptValue"}messages;constructor(e){Array.isArray(e)&&(e={messages:e}),super(e),this.messages=e.messages}toString(){return xy(this.messages)}toChatMessages(){return this.messages}},CO=class extends Mp{lc_namespace=["langchain_core","prompt_values"];lc_serializable=!0;static lc_name(){return"ImagePromptValue"}imageUrl;value;constructor(e){"imageUrl"in e||(e={imageUrl:e}),super(e),this.imageUrl=e.imageUrl}toString(){return this.imageUrl.url}toChatMessages(){return[new jn({content:[{type:"image_url",image_url:{detail:this.imageUrl.detail,url:this.imageUrl.url}}]})]}},go={},lb;function IL(){if(lb)return go;lb=1,go.byteLength=o,go.toByteArray=u,go.fromByteArray=p;for(var e=[],t=[],n=typeof Uint8Array<"u"?Uint8Array:Array,r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,a=r.length;s<a;++s)e[s]=r[s],t[r.charCodeAt(s)]=s;t[45]=62,t[95]=63;function i(h){var f=h.length;if(f%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var m=h.indexOf("=");m===-1&&(m=f);var v=m===f?0:4-m%4;return[m,v]}function o(h){var f=i(h),m=f[0],v=f[1];return(m+v)*3/4-v}function c(h,f,m){return(f+m)*3/4-m}function u(h){var f,m=i(h),v=m[0],g=m[1],y=new n(c(h,v,g)),k=0,x=g>0?v-4:v,T;for(T=0;T<x;T+=4)f=t[h.charCodeAt(T)]<<18|t[h.charCodeAt(T+1)]<<12|t[h.charCodeAt(T+2)]<<6|t[h.charCodeAt(T+3)],y[k++]=f>>16&255,y[k++]=f>>8&255,y[k++]=f&255;return g===2&&(f=t[h.charCodeAt(T)]<<2|t[h.charCodeAt(T+1)]>>4,y[k++]=f&255),g===1&&(f=t[h.charCodeAt(T)]<<10|t[h.charCodeAt(T+1)]<<4|t[h.charCodeAt(T+2)]>>2,y[k++]=f>>8&255,y[k++]=f&255),y}function l(h){return e[h>>18&63]+e[h>>12&63]+e[h>>6&63]+e[h&63]}function d(h,f,m){for(var v,g=[],y=f;y<m;y+=3)v=(h[y]<<16&16711680)+(h[y+1]<<8&65280)+(h[y+2]&255),g.push(l(v));return g.join("")}function p(h){for(var f,m=h.length,v=m%3,g=[],y=16383,k=0,x=m-v;k<x;k+=y)g.push(d(h,k,k+y>x?x:k+y));return v===1?(f=h[m-1],g.push(e[f>>2]+e[f<<4&63]+"==")):v===2&&(f=(h[m-2]<<8)+h[m-1],g.push(e[f>>10]+e[f>>4&63]+e[f<<2&63]+"=")),g.join("")}return go}var EL=IL(),AL=Ba(EL),$L=Object.defineProperty,CL=(e,t,n)=>t in e?$L(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,NL=(e,t,n)=>(CL(e,t+"",n),n);function PL(e,t){let n=Array.from({length:e.length},(r,s)=>({start:s,end:s+1}));for(;n.length>1;){let r=null;for(let s=0;s<n.length-1;s++){let a=e.slice(n[s].start,n[s+1].end),i=t.get(a.join(","));i!=null&&(r==null||i<r[0])&&(r=[i,s])}if(r!=null){let s=r[1];n[s]={start:n[s].start,end:n[s+1].end},n.splice(s+1,1)}else break}return n}function jL(e,t){return e.length===1?[t.get(e.join(","))]:PL(e,t).map(n=>t.get(e.slice(n.start,n.end).join(","))).filter(n=>n!=null)}function RL(e){return e.replace(/[\\^$*+?.()|[\]{}]/g,"\\$&")}var rg=class{specialTokens;inverseSpecialTokens;patStr;textEncoder=new TextEncoder;textDecoder=new TextDecoder("utf-8");rankMap=new Map;textMap=new Map;constructor(e,t){this.patStr=e.pat_str;let n=e.bpe_ranks.split(`
92
+ `).filter(Boolean).reduce((r,s)=>{let[a,i,...o]=s.split(" "),c=Number.parseInt(i,10);return o.forEach((u,l)=>r[u]=c+l),r},{});for(let[r,s]of Object.entries(n)){let a=AL.toByteArray(r);this.rankMap.set(a.join(","),s),this.textMap.set(s,a)}this.specialTokens={...e.special_tokens,...t},this.inverseSpecialTokens=Object.entries(this.specialTokens).reduce((r,[s,a])=>(r[a]=this.textEncoder.encode(s),r),{})}encode(e,t=[],n="all"){let r=new RegExp(this.patStr,"ug"),s=rg.specialTokenRegex(Object.keys(this.specialTokens)),a=[],i=new Set(t==="all"?Object.keys(this.specialTokens):t),o=new Set(n==="all"?Object.keys(this.specialTokens).filter(u=>!i.has(u)):n);if(o.size>0){let u=rg.specialTokenRegex([...o]),l=e.match(u);if(l!=null)throw new Error(`The text contains a special token that is not allowed: ${l[0]}`)}let c=0;for(;;){let u=null,l=c;for(;s.lastIndex=l,u=s.exec(e),!(u==null||i.has(u[0]));)l=u.index+1;let d=u?.index??e.length;for(let h of e.substring(c,d).matchAll(r)){let f=this.textEncoder.encode(h[0]),m=this.rankMap.get(f.join(","));if(m!=null){a.push(m);continue}a.push(...jL(f,this.rankMap))}if(u==null)break;let p=this.specialTokens[u[0]];a.push(p),c=u.index+u[0].length}return a}decode(e){let t=[],n=0;for(let a=0;a<e.length;++a){let i=e[a],o=this.textMap.get(i)??this.inverseSpecialTokens[i];o!=null&&(t.push(o),n+=o.length)}let r=new Uint8Array(n),s=0;for(let a of t)r.set(a,s),s+=a.length;return this.textDecoder.decode(r)}},NO=rg;NL(NO,"specialTokenRegex",e=>new RegExp(e.map(t=>RL(t)).join("|"),"g"));function ML(e){switch(e){case"gpt2":return"gpt2";case"code-cushman-001":case"code-cushman-002":case"code-davinci-001":case"code-davinci-002":case"cushman-codex":case"davinci-codex":case"davinci-002":case"text-davinci-002":case"text-davinci-003":return"p50k_base";case"code-davinci-edit-001":case"text-davinci-edit-001":return"p50k_edit";case"ada":case"babbage":case"babbage-002":case"code-search-ada-code-001":case"code-search-babbage-code-001":case"curie":case"davinci":case"text-ada-001":case"text-babbage-001":case"text-curie-001":case"text-davinci-001":case"text-search-ada-doc-001":case"text-search-babbage-doc-001":case"text-search-curie-doc-001":case"text-search-davinci-doc-001":case"text-similarity-ada-001":case"text-similarity-babbage-001":case"text-similarity-curie-001":case"text-similarity-davinci-001":return"r50k_base";case"gpt-3.5-turbo-instruct-0914":case"gpt-3.5-turbo-instruct":case"gpt-3.5-turbo-16k-0613":case"gpt-3.5-turbo-16k":case"gpt-3.5-turbo-0613":case"gpt-3.5-turbo-0301":case"gpt-3.5-turbo":case"gpt-4-32k-0613":case"gpt-4-32k-0314":case"gpt-4-32k":case"gpt-4-0613":case"gpt-4-0314":case"gpt-4":case"gpt-3.5-turbo-1106":case"gpt-35-turbo":case"gpt-4-1106-preview":case"gpt-4-vision-preview":case"gpt-3.5-turbo-0125":case"gpt-4-turbo":case"gpt-4-turbo-2024-04-09":case"gpt-4-turbo-preview":case"gpt-4-0125-preview":case"text-embedding-ada-002":case"text-embedding-3-small":case"text-embedding-3-large":return"cl100k_base";case"gpt-4o":case"gpt-4o-2024-05-13":case"gpt-4o-2024-08-06":case"gpt-4o-2024-11-20":case"gpt-4o-mini-2024-07-18":case"gpt-4o-mini":case"gpt-4o-search-preview":case"gpt-4o-search-preview-2025-03-11":case"gpt-4o-mini-search-preview":case"gpt-4o-mini-search-preview-2025-03-11":case"gpt-4o-audio-preview":case"gpt-4o-audio-preview-2024-12-17":case"gpt-4o-audio-preview-2024-10-01":case"gpt-4o-mini-audio-preview":case"gpt-4o-mini-audio-preview-2024-12-17":case"o1":case"o1-2024-12-17":case"o1-mini":case"o1-mini-2024-09-12":case"o1-preview":case"o1-preview-2024-09-12":case"o1-pro":case"o1-pro-2025-03-19":case"o3":case"o3-2025-04-16":case"o3-mini":case"o3-mini-2025-01-31":case"o4-mini":case"o4-mini-2025-04-16":case"chatgpt-4o-latest":case"gpt-4o-realtime":case"gpt-4o-realtime-preview-2024-10-01":case"gpt-4o-realtime-preview-2024-12-17":case"gpt-4o-mini-realtime-preview":case"gpt-4o-mini-realtime-preview-2024-12-17":case"gpt-4.1":case"gpt-4.1-2025-04-14":case"gpt-4.1-mini":case"gpt-4.1-mini-2025-04-14":case"gpt-4.1-nano":case"gpt-4.1-nano-2025-04-14":case"gpt-4.5-preview":case"gpt-4.5-preview-2025-02-27":case"gpt-5":case"gpt-5-2025-08-07":case"gpt-5-nano":case"gpt-5-nano-2025-08-07":case"gpt-5-mini":case"gpt-5-mini-2025-08-07":case"gpt-5-chat-latest":return"o200k_base";default:throw new Error("Unknown model")}}var LL=Q({encodingForModel:()=>e_,getEncoding:()=>PO}),$u={},zL=new Xc({});async function PO(e){return e in $u||($u[e]=zL.fetch(`https://tiktoken.pages.dev/js/${e}.json`).then(t=>t.json()).then(t=>new NO(t)).catch(t=>{throw delete $u[e],t})),await $u[e]}async function e_(e){return PO(ML(e))}var UL=Q({BaseLangChain:()=>n_,BaseLanguageModel:()=>r_,calculateMaxTokens:()=>FL,getEmbeddingContextSize:()=>DL,getModelContextSize:()=>jO,getModelNameForTiktoken:()=>Lp,isOpenAITool:()=>t_}),Lp=e=>e.startsWith("gpt-5")?"gpt-5":e.startsWith("gpt-3.5-turbo-16k")?"gpt-3.5-turbo-16k":e.startsWith("gpt-3.5-turbo-")?"gpt-3.5-turbo":e.startsWith("gpt-4-32k")?"gpt-4-32k":e.startsWith("gpt-4-")?"gpt-4":e.startsWith("gpt-4o")?"gpt-4o":e,DL=e=>e==="text-embedding-ada-002"?8191:2046,jO=e=>{switch(Lp(e)){case"gpt-5":case"gpt-5-turbo":case"gpt-5-turbo-preview":return 4e5;case"gpt-4o":case"gpt-4o-mini":case"gpt-4o-2024-05-13":case"gpt-4o-2024-08-06":return 128e3;case"gpt-4-turbo":case"gpt-4-turbo-preview":case"gpt-4-turbo-2024-04-09":case"gpt-4-0125-preview":case"gpt-4-1106-preview":return 128e3;case"gpt-4-32k":case"gpt-4-32k-0314":case"gpt-4-32k-0613":return 32768;case"gpt-4":case"gpt-4-0314":case"gpt-4-0613":return 8192;case"gpt-3.5-turbo-16k":case"gpt-3.5-turbo-16k-0613":return 16384;case"gpt-3.5-turbo":case"gpt-3.5-turbo-0301":case"gpt-3.5-turbo-0613":case"gpt-3.5-turbo-1106":case"gpt-3.5-turbo-0125":return 4096;case"text-davinci-003":case"text-davinci-002":return 4097;case"text-davinci-001":return 2049;case"text-curie-001":case"text-babbage-001":case"text-ada-001":return 2048;case"code-davinci-002":case"code-davinci-001":return 8e3;case"code-cushman-001":return 2048;case"claude-3-5-sonnet-20241022":case"claude-3-5-sonnet-20240620":case"claude-3-opus-20240229":case"claude-3-sonnet-20240229":case"claude-3-haiku-20240307":case"claude-2.1":return 2e5;case"claude-2.0":case"claude-instant-1.2":return 1e5;case"gemini-1.5-pro":case"gemini-1.5-pro-latest":case"gemini-1.5-flash":case"gemini-1.5-flash-latest":return 1e6;case"gemini-pro":case"gemini-pro-vision":return 32768;default:return 4097}};function t_(e){return typeof e!="object"||!e?!1:!!("type"in e&&e.type==="function"&&"function"in e&&typeof e.function=="object"&&e.function&&"name"in e.function&&"parameters"in e.function)}var FL=async({prompt:e,modelName:t})=>{let n;try{n=(await e_(Lp(t))).encode(e).length}catch{console.warn("Failed to calculate number of tokens, falling back to approximate count"),n=Math.ceil(e.length/4)}return jO(t)-n},BL=()=>!1,n_=class extends je{verbose;callbacks;tags;metadata;get lc_attributes(){return{callbacks:void 0,verbose:void 0}}constructor(e){super(e),this.verbose=e.verbose??BL(),this.callbacks=e.callbacks,this.tags=e.tags??[],this.metadata=e.metadata??{},this._addVersion("@langchain/core","1.1.33")}_addVersion(e,t){let n=this.metadata?.versions;this.metadata={...this.metadata,versions:{...typeof n=="object"&&n!==null?n:{},[e]:t}}}},r_=class extends n_{get callKeys(){return["stop","timeout","signal","tags","metadata","callbacks"]}caller;cache;constructor({callbacks:e,callbackManager:t,...n}){let{cache:r,...s}=n;super({callbacks:e??t,...s}),typeof r=="object"?this.cache=r:r?this.cache=zk.global():this.cache=void 0,this.caller=new Xc(n??{})}_encoding;async getNumTokens(e){let t;typeof e=="string"?t=e:t=e.map(r=>typeof r=="string"?r:r.type==="text"&&"text"in r?r.text:"").join("");let n=Math.ceil(t.length/4);if(!this._encoding)try{this._encoding=await e_("modelName"in this?Lp(this.modelName):"gpt2")}catch(r){console.warn("Failed to calculate number of tokens, falling back to approximate count",r)}if(this._encoding)try{n=this._encoding.encode(t).length}catch(r){console.warn("Failed to calculate number of tokens, falling back to approximate count",r)}return n}static _convertInputToPromptValue(e){return typeof e=="string"?new Yy(e):Array.isArray(e)?new Qy(e.map($r)):e}_identifyingParams(){return{}}_getSerializedCacheKeyParametersForCall({config:e,...t}){let n={...this._identifyingParams(),...t,_type:this._llmType(),_model:this._modelType()};return Object.entries(n).filter(([r,s])=>s!==void 0).map(([r,s])=>`${r}:${JSON.stringify(s)}`).sort().join(",")}serialize(){return{...this._identifyingParams(),_type:this._llmType(),_model:this._modelType()}}static async deserialize(e){throw new Error("Use .toJSON() instead")}get profile(){return{}}},uc=class extends je{static lc_name(){return"RunnablePassthrough"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;func;constructor(e){super(e),e&&(this.func=e.func)}async invoke(e,t){let n=Le(t);return this.func&&await this.func(e,n),this._callWithConfig(r=>Promise.resolve(r),e,n)}async*transform(e,t){let n=Le(t),r,s=!0;for await(let a of this._transformStreamWithConfig(e,i=>i,n))if(yield a,s)if(r===void 0)r=a;else try{r=Is(r,a)}catch{r=void 0,s=!1}this.func&&r!==void 0&&await this.func(r,n)}static assign(e){return new Wy(new ao({steps:e}))}},ZL=class extends je{static lc_name(){return"RouterRunnable"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;runnables;constructor(e){super(e),this.runnables=e.runnables}async invoke(e,t){let{key:n,input:r}=e,s=this.runnables[n];if(s===void 0)throw new Error(`No runnable associated with key "${n}".`);return s.invoke(r,Le(t))}async batch(e,t,n){let r=e.map(l=>l.key),s=e.map(l=>l.input);if(r.find(l=>this.runnables[l]===void 0)!==void 0)throw new Error("One or more keys do not have a corresponding runnable.");let a=r.map(l=>this.runnables[l]),i=this._getOptionsList(t??{},e.length),o=i[0]?.maxConcurrency??n?.maxConcurrency,c=o&&o>0?o:e.length,u=[];for(let l=0;l<s.length;l+=c){let d=s.slice(l,l+c).map((h,f)=>a[f].invoke(h,i[f])),p=await Promise.all(d);u.push(p)}return u.flat()}async stream(e,t){let{key:n,input:r}=e,s=this.runnables[n];if(s===void 0)throw new Error(`No runnable associated with key "${n}".`);return s.stream(r,t)}},VL=class extends je{static lc_name(){return"RunnableBranch"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;default;branches;constructor(e){super(e),this.branches=e.branches,this.default=e.default}static from(e){if(e.length<1)throw new Error("RunnableBranch requires at least one branch");let t=e.slice(0,-1).map(([r,s])=>[Lt(r),Lt(s)]),n=Lt(e[e.length-1]);return new this({branches:t,default:n})}async _invoke(e,t,n){let r;for(let s=0;s<this.branches.length;s+=1){let[a,i]=this.branches[s];if(await a.invoke(e,He(t,{callbacks:n?.getChild(`condition:${s+1}`)}))){r=await i.invoke(e,He(t,{callbacks:n?.getChild(`branch:${s+1}`)}));break}}return r||(r=await this.default.invoke(e,He(t,{callbacks:n?.getChild("branch:default")}))),r}async invoke(e,t={}){return this._callWithConfig(this._invoke,e,t)}async*_streamIterator(e,t){let n=await(await rn(t))?.handleChainStart(this.toJSON(),Ot(e,"input"),t?.runId,void 0,void 0,void 0,t?.runName),r,s=!0,a;try{for(let i=0;i<this.branches.length;i+=1){let[o,c]=this.branches[i];if(await o.invoke(e,He(t,{callbacks:n?.getChild(`condition:${i+1}`)}))){a=await c.stream(e,He(t,{callbacks:n?.getChild(`branch:${i+1}`)}));for await(let u of a)if(yield u,s)if(r===void 0)r=u;else try{r=Is(r,u)}catch{r=void 0,s=!1}break}}if(a===void 0){a=await this.default.stream(e,He(t,{callbacks:n?.getChild("branch:default")}));for await(let i of a)if(yield i,s)if(r===void 0)r=i;else try{r=Is(r,i)}catch{r=void 0,s=!1}}}catch(i){throw await n?.handleChainError(i),i}await n?.handleChainEnd(r??{})}},qL=class extends $s{runnable;inputMessagesKey;outputMessagesKey;historyMessagesKey;getMessageHistory;constructor(e){let t=_r.from((a,i)=>this._enterHistory(a,i??{})).withConfig({runName:"loadHistory"}),n=e.historyMessagesKey??e.inputMessagesKey;n&&(t=uc.assign({[n]:t}).withConfig({runName:"insertHistory"}));let r=t.pipe(e.runnable.withListeners({onEnd:(a,i)=>this._exitHistory(a,i??{})})).withConfig({runName:"RunnableWithMessageHistory"}),s=e.config??{};super({...e,config:s,bound:r}),this.runnable=e.runnable,this.getMessageHistory=e.getMessageHistory,this.inputMessagesKey=e.inputMessagesKey,this.outputMessagesKey=e.outputMessagesKey,this.historyMessagesKey=e.historyMessagesKey}_getInputMessages(e){let t;if(typeof e=="object"&&!Array.isArray(e)&&!Mt(e)){let n;this.inputMessagesKey?n=this.inputMessagesKey:Object.keys(e).length===1?n=Object.keys(e)[0]:n="input",Array.isArray(e[n])&&Array.isArray(e[n][0])?t=e[n][0]:t=e[n]}else t=e;if(typeof t=="string")return[new jn(t)];if(Array.isArray(t))return t;if(Mt(t))return[t];throw new Error(`Expected a string, BaseMessage, or array of BaseMessages.
93
+ Got ${JSON.stringify(t,null,2)}`)}_getOutputMessages(e){let t;if(!Array.isArray(e)&&!Mt(e)&&typeof e!="string"){let n;this.outputMessagesKey!==void 0?n=this.outputMessagesKey:Object.keys(e).length===1?n=Object.keys(e)[0]:n="output",e.generations!==void 0?t=e.generations[0][0].message:t=e[n]}else t=e;if(typeof t=="string")return[new Qe(t)];if(Array.isArray(t))return t;if(Mt(t))return[t];throw new Error(`Expected a string, BaseMessage, or array of BaseMessages. Received: ${JSON.stringify(t,null,2)}`)}async _enterHistory(e,t){let n=await(t?.configurable?.messageHistory).getMessages();return this.historyMessagesKey===void 0?n.concat(this._getInputMessages(e)):n}async _exitHistory(e,t){let n=t.configurable?.messageHistory,r;Array.isArray(e.inputs)&&Array.isArray(e.inputs[0])?r=e.inputs[0]:r=e.inputs;let s=this._getInputMessages(r);if(this.historyMessagesKey===void 0){let o=await n.getMessages();s=s.slice(o.length)}let a=e.outputs;if(!a)throw new Error(`Output values from 'Run' undefined. Run: ${JSON.stringify(e,null,2)}`);let i=this._getOutputMessages(a);await n.addMessages([...s,...i])}async _mergeConfig(...e){let t=await super._mergeConfig(...e);if(!t.configurable||!t.configurable.sessionId){let r={[this.inputMessagesKey??"input"]:"foo"};throw new Error(`sessionId is required. Pass it in as part of the config argument to .invoke() or .stream()
94
+ eg. chain.invoke(${JSON.stringify(r)}, ${JSON.stringify({configurable:{sessionId:"123"}})})`)}let{sessionId:n}=t.configurable;return t.configurable.messageHistory=await this.getMessageHistory(n),t}},HL=Q({RouterRunnable:()=>ZL,Runnable:()=>je,RunnableAssign:()=>Wy,RunnableBinding:()=>$s,RunnableBranch:()=>VL,RunnableEach:()=>JM,RunnableLambda:()=>_r,RunnableMap:()=>ao,RunnableParallel:()=>XM,RunnablePassthrough:()=>uc,RunnablePick:()=>yO,RunnableRetry:()=>Hy,RunnableSequence:()=>Cs,RunnableToolLike:()=>tg,RunnableWithFallbacks:()=>gO,RunnableWithMessageHistory:()=>qL,_coerceToRunnable:()=>Lt,ensureConfig:()=>Le,getCallbackManagerForConfig:()=>rn,mergeConfigs:()=>Fn,patchConfig:()=>He,pickRunnableConfigKeys:()=>Yr,raceWithSignal:()=>Mr}),WL=Q({applyPatch:()=>Ii,compare:()=>Ep}),zp=class extends je{parseResultWithPrompt(e,t,n){return this.parseResult(e,n)}_baseMessageToString(e){return typeof e.content=="string"?e.content:this._baseMessageContentToString(e.content)}_baseMessageContentToString(e){return JSON.stringify(e)}async invoke(e,t){return typeof e=="string"?this._callWithConfig(async(n,r)=>this.parseResult([{text:n}],r?.callbacks),e,{...t,runType:"parser"}):this._callWithConfig(async(n,r)=>this.parseResult([{message:n,text:this._baseMessageToString(n)}],r?.callbacks),e,{...t,runType:"parser"})}},io=class extends zp{parseResult(e,t){return this.parse(e[0].text,t)}async parseWithPrompt(e,t,n){return this.parse(e,n)}_type(){throw new Error("_type not implemented")}},pr=class extends Error{llmOutput;observation;sendToLLM;constructor(e,t,n,r=!1){if(super(e),this.llmOutput=t,this.observation=n,this.sendToLLM=r,r&&(n===void 0||t===void 0))throw new Error("Arguments 'observation' & 'llmOutput' are required if 'sendToLlm' is true");Zc(this,"OUTPUT_PARSING_FAILURE")}},Yc=class extends io{async*_transform(e){for await(let t of e)typeof t=="string"?yield this.parseResult([{text:t}]):yield this.parseResult([{message:t,text:this._baseMessageToString(t)}])}async*transform(e,t){yield*this._transformStreamWithConfig(e,this._transform.bind(this),{...t,runType:"parser"})}},Qc=class extends Yc{diff=!1;constructor(e){super(e),this.diff=e?.diff??this.diff}async*_transform(e){let t,n;for await(let r of e){if(typeof r!="string"&&typeof r.content!="string")throw new Error("Cannot handle non-string output.");let s;if(ec(r)){if(typeof r.content!="string")throw new Error("Cannot handle non-string message output.");s=new Qr({message:r,text:r.content})}else if(Mt(r)){if(typeof r.content!="string")throw new Error("Cannot handle non-string message output.");s=new Qr({message:Cl(r),text:r.content})}else s=new Ei({text:r});n===void 0?n=s:n=n.concat(s);let a=await this.parsePartialResult([n]);a!=null&&!pa(a,t)&&(this.diff?yield this._diff(t,a):yield a,t=a)}}getFormatInstructions(){return""}},JL=class extends Yc{static lc_name(){return"BytesOutputParser"}lc_namespace=["langchain_core","output_parsers","bytes"];lc_serializable=!0;textEncoder=new TextEncoder;parse(e){return Promise.resolve(this.textEncoder.encode(e))}getFormatInstructions(){return""}},eu=class extends Yc{re;async*_transform(e){let t="";for await(let n of e)if(typeof n=="string"?t+=n:t+=n.content,this.re){let r=[...t.matchAll(this.re)];if(r.length>1){let s=0;for(let a of r.slice(0,-1))yield[a[1]],s+=(a.index??0)+a[0].length;t=t.slice(s)}}else{let r=await this.parse(t);if(r.length>1){for(let s of r.slice(0,-1))yield[s];t=r[r.length-1]}}for(let n of await this.parse(t))yield[n]}},GL=class extends eu{static lc_name(){return"CommaSeparatedListOutputParser"}lc_namespace=["langchain_core","output_parsers","list"];lc_serializable=!0;async parse(e){try{return e.trim().split(",").map(t=>t.trim())}catch{throw new pr(`Could not parse output: ${e}`,e)}}getFormatInstructions(){return"Your response should be a list of comma separated values, eg: `foo, bar, baz`"}},KL=class extends eu{lc_namespace=["langchain_core","output_parsers","list"];length;separator;constructor({length:e,separator:t}){super(...arguments),this.length=e,this.separator=t||","}async parse(e){try{let t=e.trim().split(this.separator).map(n=>n.trim());if(this.length!==void 0&&t.length!==this.length)throw new pr(`Incorrect number of items. Expected ${this.length}, got ${t.length}.`);return t}catch(t){throw Object.getPrototypeOf(t)===pr.prototype?t:new pr(`Could not parse output: ${e}`)}}getFormatInstructions(){return`Your response should be a list of ${this.length===void 0?"":`${this.length} `}items separated by "${this.separator}" (eg: \`foo${this.separator} bar${this.separator} baz\`)`}},XL=class extends eu{static lc_name(){return"NumberedListOutputParser"}lc_namespace=["langchain_core","output_parsers","list"];lc_serializable=!0;getFormatInstructions(){return`Your response should be a numbered list with each item on a new line. For example:
95
+
96
+ 1. foo
97
+
98
+ 2. bar
99
+
100
+ 3. baz`}re=/\d+\.\s([^\n]+)/g;async parse(e){return[...e.matchAll(this.re)??[]].map(t=>t[1])}},YL=class extends eu{static lc_name(){return"NumberedListOutputParser"}lc_namespace=["langchain_core","output_parsers","list"];lc_serializable=!0;getFormatInstructions(){return`Your response should be a numbered list with each item on a new line. For example:
101
+
102
+ 1. foo
103
+
104
+ 2. bar
105
+
106
+ 3. baz`}re=/^\s*[-*]\s([^\n]+)$/gm;async parse(e){return[...e.matchAll(this.re)??[]].map(t=>t[1])}},QL=class extends Yc{static lc_name(){return"StrOutputParser"}lc_namespace=["langchain_core","output_parsers","string"];lc_serializable=!0;parse(e){return Promise.resolve(e)}getFormatInstructions(){return""}_textContentToString(e){return e.text}_imageUrlContentToString(e){throw new Error('Cannot coerce a multimodal "image_url" message part into a string.')}_messageContentToString(e){switch(e.type){case"text":case"text_delta":if("text"in e)return this._textContentToString(e);break;case"image_url":if("image_url"in e)return this._imageUrlContentToString(e);break;case"reasoning":case"thinking":case"redacted_thinking":return"";default:throw new Error(`Cannot coerce "${e.type}" message part into a string.`)}throw new Error(`Invalid content type: ${e.type}`)}_baseMessageContentToString(e){return e.reduce((t,n)=>t+this._messageContentToString(n),"")}},s_=class extends Qc{static lc_name(){return"JsonOutputParser"}lc_namespace=["langchain_core","output_parsers"];lc_serializable=!0;_concatOutputChunks(e,t){return this.diff?super._concatOutputChunks(e,t):t}_diff(e,t){if(t)return e?Ep(e,t):[{op:"replace",path:"",value:t}]}async parsePartialResult(e){return $l(e[0].text)}async parse(e){return $l(e,JSON.parse)}getFormatInstructions(){return""}_baseMessageToString(e){return e.text}},RO=class extends io{static lc_name(){return"StandardSchemaOutputParser"}lc_namespace=["langchain","output_parsers","standard_schema"];schema;constructor(e){super(),this.schema=e}static fromSerializableSchema(e){return new this(e)}async parse(e){try{let t=$l(e,JSON.parse),n=await this.schema["~standard"].validate(t);if(n.issues)throw new Error(`Validation failed: ${JSON.stringify(n.issues)}`);return n.value}catch(t){throw new pr(`Failed to parse. Text: "${e}". Error: ${t}`,e)}}getFormatInstructions(){return""}},a_=class extends io{static lc_name(){return"StructuredOutputParser"}lc_namespace=["langchain","output_parsers","structured"];toJSON(){return this.toJSONNotImplemented()}constructor(e){super(e),this.schema=e}static fromZodSchema(e){return new this(e)}static fromNamesAndDescriptions(e){let t=Rp(Object.fromEntries(Object.entries(e).map(([n,r])=>[n,jp().describe(r)])));return new this(t)}getFormatInstructions(){return`You must format your output as a JSON value that adheres to a given "JSON Schema" instance.
107
+
108
+ "JSON Schema" is a declarative language that allows you to annotate and validate JSON documents.
109
+
110
+ For example, the example "JSON Schema" instance {{"properties": {{"foo": {{"description": "a list of test words", "type": "array", "items": {{"type": "string"}}}}}}, "required": ["foo"]}}
111
+ would match an object with one required property, "foo". The "type" property specifies "foo" must be an "array", and the "description" property semantically describes it as "a list of test words". The items within "foo" must be strings.
112
+ Thus, the object {{"foo": ["bar", "baz"]}} is a well-formatted instance of this example "JSON Schema". The object {{"properties": {{"foo": ["bar", "baz"]}}}} is not well-formatted.
113
+
114
+ Your output will be parsed and type-checked according to the provided schema instance, so make sure all fields in your output match the schema exactly and there are no trailing commas!
115
+
116
+ Here is the JSON Schema instance your output must adhere to. Include the enclosing markdown codeblock:
117
+ \`\`\`json
118
+ ${JSON.stringify(At(this.schema))}
119
+ \`\`\`
120
+ `}async parse(e){try{let t=e.trim(),n=(t.match(/^```(?:json)?\s*([\s\S]*?)```/)?.[1]||t.match(/```json\s*([\s\S]*?)```/)?.[1]||t).replace(/"([^"\\]*(\\.[^"\\]*)*)"/g,(r,s)=>`"${s.replace(/\n/g,"\\n")}"`).replace(/\n/g,"");return await Np(this.schema,JSON.parse(n))}catch(t){throw new pr(`Failed to parse. Text: "${e}". Error: ${t}`,e)}}},MO=class extends a_{static lc_name(){return"JsonMarkdownStructuredOutputParser"}getFormatInstructions(e){let t=e?.interpolationDepth??1;if(t<1)throw new Error("f string interpolation depth must be at least 1");return`Return a markdown code snippet with a JSON object formatted to look like:
121
+ \`\`\`json
122
+ ${this._schemaToInstruction(At(this.schema)).replaceAll("{","{".repeat(t)).replaceAll("}","}".repeat(t))}
123
+ \`\`\``}_schemaToInstruction(e,t=2){let n=e;if("type"in n){let r=!1,s;if(Array.isArray(n.type)){let o=n.type.findIndex(c=>c==="null");o!==-1&&(r=!0,n.type.splice(o,1)),s=n.type.join(" | ")}else s=n.type;if(n.type==="object"&&n.properties){let o=n.description?` // ${n.description}`:"";return`{
124
+ ${Object.entries(n.properties).map(([c,u])=>{let l=n.required?.includes(c)?"":" (optional)";return`${" ".repeat(t)}"${c}": ${this._schemaToInstruction(u,t+2)}${l}`}).join(`
125
+ `)}
126
+ ${" ".repeat(t-2)}}${o}`}if(n.type==="array"&&n.items){let o=n.description?` // ${n.description}`:"";return`array[
127
+ ${" ".repeat(t)}${this._schemaToInstruction(n.items,t+2)}
128
+ ${" ".repeat(t-2)}] ${o}`}let a=r?" (nullable)":"",i=n.description?` // ${n.description}`:"";return`${s}${i}${a}`}if("anyOf"in n)return n.anyOf.map(r=>this._schemaToInstruction(r,t)).join(`
129
+ ${" ".repeat(t-2)}`);throw new Error("unsupported schema type")}static fromZodSchema(e){return new this(e)}static fromNamesAndDescriptions(e){let t=Rp(Object.fromEntries(Object.entries(e).map(([n,r])=>[n,jp().describe(r)])));return new this(t)}},e4=class extends io{structuredInputParser;constructor({inputSchema:e}){super(...arguments),this.structuredInputParser=new MO(e)}async parse(e){let t;try{t=await this.structuredInputParser.parse(e)}catch(n){throw new pr(`Failed to parse. Text: "${e}". Error: ${n}`,e)}return this.outputProcessor(t)}getFormatInstructions(){return this.structuredInputParser.getFormatInstructions()}},t4=function(){let e={};e.parser=function(b,_){return new n(b,_)},e.SAXParser=n,e.SAXStream=u,e.createStream=c,e.MAX_BUFFER_LENGTH=64*1024;let t=["comment","sgmlDecl","textNode","tagName","doctype","procInstName","procInstBody","entity","attribName","attribValue","cdata","script"];e.EVENTS=["text","processinginstruction","sgmldeclaration","doctype","comment","opentagstart","attribute","opentag","closetag","opencdata","cdata","closecdata","error","end","ready","script","opennamespace","closenamespace"];function n(b,_){if(!(this instanceof n))return new n(b,_);var C=this;s(C),C.q=C.c="",C.bufferCheckPosition=e.MAX_BUFFER_LENGTH,C.opt=_||{},C.opt.lowercase=C.opt.lowercase||C.opt.lowercasetags,C.looseCase=C.opt.lowercase?"toLowerCase":"toUpperCase",C.tags=[],C.closed=C.closedRoot=C.sawRoot=!1,C.tag=C.error=null,C.strict=!!b,C.noscript=!!(b||C.opt.noscript),C.state=w.BEGIN,C.strictEntities=C.opt.strictEntities,C.ENTITIES=C.strictEntities?Object.create(e.XML_ENTITIES):Object.create(e.ENTITIES),C.attribList=[],C.opt.xmlns&&(C.ns=Object.create(f)),C.trackPosition=C.opt.position!==!1,C.trackPosition&&(C.position=C.line=C.column=0),E(C,"onready")}Object.create||(Object.create=function(b){function _(){}return _.prototype=b,new _}),Object.keys||(Object.keys=function(b){var _=[];for(var C in b)b.hasOwnProperty(C)&&_.push(C);return _});function r(b){for(var _=Math.max(e.MAX_BUFFER_LENGTH,10),C=0,O=0,Ne=t.length;O<Ne;O++){var Xe=b[t[O]].length;if(Xe>_)switch(t[O]){case"textNode":Ue(b);break;case"cdata":Z(b,"oncdata",b.cdata),b.cdata="";break;case"script":Z(b,"onscript",b.script),b.script="";break;default:B(b,"Max buffer length exceeded: "+t[O])}C=Math.max(C,Xe)}b.bufferCheckPosition=e.MAX_BUFFER_LENGTH-C+b.position}function s(b){for(var _=0,C=t.length;_<C;_++)b[t[_]]=""}function a(b){Ue(b),b.cdata!==""&&(Z(b,"oncdata",b.cdata),b.cdata=""),b.script!==""&&(Z(b,"onscript",b.script),b.script="")}n.prototype={end:function(){L(this)},write:Tt,resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){a(this)}};var i=ReadableStream;i||(i=function(){});var o=e.EVENTS.filter(function(b){return b!=="error"&&b!=="end"});function c(b,_){return new u(b,_)}function u(b,_){if(!(this instanceof u))return new u(b,_);i.apply(this),this._parser=new n(b,_),this.writable=!0,this.readable=!0;var C=this;this._parser.onend=function(){C.emit("end")},this._parser.onerror=function(O){C.emit("error",O),C._parser.error=null},this._decoder=null,o.forEach(function(O){Object.defineProperty(C,"on"+O,{get:function(){return C._parser["on"+O]},set:function(Ne){if(!Ne)return C.removeAllListeners(O),C._parser["on"+O]=Ne,Ne;C.on(O,Ne)},enumerable:!0,configurable:!1})})}u.prototype=Object.create(i.prototype,{constructor:{value:u}}),u.prototype.write=function(b){return this._parser.write(b.toString()),this.emit("data",b),!0},u.prototype.end=function(b){return b&&b.length&&this.write(b),this._parser.end(),!0},u.prototype.on=function(b,_){var C=this;return!C._parser["on"+b]&&o.indexOf(b)!==-1&&(C._parser["on"+b]=function(){var O=arguments.length===1?[arguments[0]]:Array.apply(null,arguments);O.splice(0,0,b),C.emit.apply(C,O)}),i.prototype.on.call(C,b,_)};var l="[CDATA[",d="DOCTYPE",p="http://www.w3.org/XML/1998/namespace",h="http://www.w3.org/2000/xmlns/",f={xml:p,xmlns:h},m=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,v=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,g=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,y=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function k(b){return b===" "||b===`
130
+ `||b==="\r"||b===" "}function x(b){return b==='"'||b==="'"}function T(b){return b===">"||k(b)}function A(b,_){return b.test(_)}function I(b,_){return!A(b,_)}var w=0;e.STATE={BEGIN:w++,BEGIN_WHITESPACE:w++,TEXT:w++,TEXT_ENTITY:w++,OPEN_WAKA:w++,SGML_DECL:w++,SGML_DECL_QUOTED:w++,DOCTYPE:w++,DOCTYPE_QUOTED:w++,DOCTYPE_DTD:w++,DOCTYPE_DTD_QUOTED:w++,COMMENT_STARTING:w++,COMMENT:w++,COMMENT_ENDING:w++,COMMENT_ENDED:w++,CDATA:w++,CDATA_ENDING:w++,CDATA_ENDING_2:w++,PROC_INST:w++,PROC_INST_BODY:w++,PROC_INST_ENDING:w++,OPEN_TAG:w++,OPEN_TAG_SLASH:w++,ATTRIB:w++,ATTRIB_NAME:w++,ATTRIB_NAME_SAW_WHITE:w++,ATTRIB_VALUE:w++,ATTRIB_VALUE_QUOTED:w++,ATTRIB_VALUE_CLOSED:w++,ATTRIB_VALUE_UNQUOTED:w++,ATTRIB_VALUE_ENTITY_Q:w++,ATTRIB_VALUE_ENTITY_U:w++,CLOSE_TAG:w++,CLOSE_TAG_SAW_WHITE:w++,SCRIPT:w++,SCRIPT_ENDING:w++},e.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},e.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(e.ENTITIES).forEach(function(b){var _=e.ENTITIES[b],C=typeof _=="number"?String.fromCharCode(_):_;e.ENTITIES[b]=C});for(var P in e.STATE)e.STATE[e.STATE[P]]=P;w=e.STATE;function E(b,_,C){b[_]&&b[_](C)}function Z(b,_,C){b.textNode&&Ue(b),E(b,_,C)}function Ue(b){b.textNode=it(b.opt,b.textNode),b.textNode&&E(b,"ontext",b.textNode),b.textNode=""}function it(b,_){return b.trim&&(_=_.trim()),b.normalize&&(_=_.replace(/\s+/g," ")),_}function B(b,_){return Ue(b),b.trackPosition&&(_+=`
131
+ Line: `+b.line+`
132
+ Column: `+b.column+`
133
+ Char: `+b.c),_=new Error(_),b.error=_,E(b,"onerror",_),b}function L(b){return b.sawRoot&&!b.closedRoot&&z(b,"Unclosed root tag"),b.state!==w.BEGIN&&b.state!==w.BEGIN_WHITESPACE&&b.state!==w.TEXT&&B(b,"Unexpected end"),Ue(b),b.c="",b.closed=!0,E(b,"onend"),n.call(b,b.strict,b.opt),b}function z(b,_){if(typeof b!="object"||!(b instanceof n))throw new Error("bad call to strictFail");b.strict&&B(b,_)}function ee(b){b.strict||(b.tagName=b.tagName[b.looseCase]());var _=b.tags[b.tags.length-1]||b,C=b.tag={name:b.tagName,attributes:{}};b.opt.xmlns&&(C.ns=_.ns),b.attribList.length=0,Z(b,"onopentagstart",C)}function oe(b,_){var C=b.indexOf(":")<0?["",b]:b.split(":"),O=C[0],Ne=C[1];return _&&b==="xmlns"&&(O="xmlns",Ne=""),{prefix:O,local:Ne}}function ne(b){if(b.strict||(b.attribName=b.attribName[b.looseCase]()),b.attribList.indexOf(b.attribName)!==-1||b.tag.attributes.hasOwnProperty(b.attribName)){b.attribName=b.attribValue="";return}if(b.opt.xmlns){var _=oe(b.attribName,!0),C=_.prefix,O=_.local;if(C==="xmlns")if(O==="xml"&&b.attribValue!==p)z(b,"xml: prefix must be bound to "+p+`
134
+ Actual: `+b.attribValue);else if(O==="xmlns"&&b.attribValue!==h)z(b,"xmlns: prefix must be bound to "+h+`
135
+ Actual: `+b.attribValue);else{var Ne=b.tag,Xe=b.tags[b.tags.length-1]||b;Ne.ns===Xe.ns&&(Ne.ns=Object.create(Xe.ns)),Ne.ns[O]=b.attribValue}b.attribList.push([b.attribName,b.attribValue])}else b.tag.attributes[b.attribName]=b.attribValue,Z(b,"onattribute",{name:b.attribName,value:b.attribValue});b.attribName=b.attribValue=""}function ue(b,_){if(b.opt.xmlns){var C=b.tag,O=oe(b.tagName);C.prefix=O.prefix,C.local=O.local,C.uri=C.ns[O.prefix]||"",C.prefix&&!C.uri&&(z(b,"Unbound namespace prefix: "+JSON.stringify(b.tagName)),C.uri=O.prefix);var Ne=b.tags[b.tags.length-1]||b;C.ns&&Ne.ns!==C.ns&&Object.keys(C.ns).forEach(function(Hs){Z(b,"onopennamespace",{prefix:Hs,uri:C.ns[Hs]})});for(var Xe=0,bt=b.attribList.length;Xe<bt;Xe++){var mt=b.attribList[Xe],Ut=mt[0],Mn=mt[1],gt=oe(Ut,!0),vr=gt.prefix,Fa=gt.local,du=vr===""?"":C.ns[vr]||"",q={name:Ut,value:Mn,prefix:vr,local:Fa,uri:du};vr&&vr!=="xmlns"&&!du&&(z(b,"Unbound namespace prefix: "+JSON.stringify(vr)),q.uri=vr),b.tag.attributes[Ut]=q,Z(b,"onattribute",q)}b.attribList.length=0}b.tag.isSelfClosing=!!_,b.sawRoot=!0,b.tags.push(b.tag),Z(b,"onopentag",b.tag),_||(!b.noscript&&b.tagName.toLowerCase()==="script"?b.state=w.SCRIPT:b.state=w.TEXT,b.tag=null,b.tagName=""),b.attribName=b.attribValue="",b.attribList.length=0}function Oe(b){if(!b.tagName){z(b,"Weird empty close tag."),b.textNode+="</>",b.state=w.TEXT;return}if(b.script){if(b.tagName!=="script"){b.script+="</"+b.tagName+">",b.tagName="",b.state=w.SCRIPT;return}Z(b,"onscript",b.script),b.script=""}var _=b.tags.length,C=b.tagName;b.strict||(C=C[b.looseCase]());for(var O=C;_--&&b.tags[_].name!==O;)z(b,"Unexpected close tag");if(_<0){z(b,"Unmatched closing tag: "+b.tagName),b.textNode+="</"+b.tagName+">",b.state=w.TEXT;return}b.tagName=C;for(var Ne=b.tags.length;Ne-- >_;){var Xe=b.tag=b.tags.pop();b.tagName=b.tag.name,Z(b,"onclosetag",b.tagName);var bt={};for(var mt in Xe.ns)bt[mt]=Xe.ns[mt];var Ut=b.tags[b.tags.length-1]||b;b.opt.xmlns&&Xe.ns!==Ut.ns&&Object.keys(Xe.ns).forEach(function(Mn){var gt=Xe.ns[Mn];Z(b,"onclosenamespace",{prefix:Mn,uri:gt})})}_===0&&(b.closedRoot=!0),b.tagName=b.attribValue=b.attribName="",b.attribList.length=0,b.state=w.TEXT}function Te(b){var _=b.entity,C=_.toLowerCase(),O,Ne="";return b.ENTITIES[_]?b.ENTITIES[_]:b.ENTITIES[C]?b.ENTITIES[C]:(_=C,_.charAt(0)==="#"&&(_.charAt(1)==="x"?(_=_.slice(2),O=parseInt(_,16),Ne=O.toString(16)):(_=_.slice(1),O=parseInt(_,10),Ne=O.toString(10))),_=_.replace(/^0+/,""),isNaN(O)||Ne.toLowerCase()!==_?(z(b,"Invalid character entity"),"&"+b.entity+";"):String.fromCodePoint(O))}function De(b,_){_==="<"?(b.state=w.OPEN_WAKA,b.startTagPosition=b.position):k(_)||(z(b,"Non-whitespace before first tag."),b.textNode=_,b.state=w.TEXT)}function Fe(b,_){var C="";return _<b.length&&(C=b.charAt(_)),C}function Tt(b){var _=this;if(this.error)throw this.error;if(_.closed)return B(_,"Cannot write after close. Assign an onready handler.");if(b===null)return L(_);typeof b=="object"&&(b=b.toString());for(var C=0,O="";O=Fe(b,C++),_.c=O,!!O;)switch(_.trackPosition&&(_.position++,O===`
136
+ `?(_.line++,_.column=0):_.column++),_.state){case w.BEGIN:if(_.state=w.BEGIN_WHITESPACE,O==="\uFEFF")continue;De(_,O);continue;case w.BEGIN_WHITESPACE:De(_,O);continue;case w.TEXT:if(_.sawRoot&&!_.closedRoot){for(var Ne=C-1;O&&O!=="<"&&O!=="&";)O=Fe(b,C++),O&&_.trackPosition&&(_.position++,O===`
137
+ `?(_.line++,_.column=0):_.column++);_.textNode+=b.substring(Ne,C-1)}O==="<"&&!(_.sawRoot&&_.closedRoot&&!_.strict)?(_.state=w.OPEN_WAKA,_.startTagPosition=_.position):(!k(O)&&(!_.sawRoot||_.closedRoot)&&z(_,"Text data outside of root node."),O==="&"?_.state=w.TEXT_ENTITY:_.textNode+=O);continue;case w.SCRIPT:O==="<"?_.state=w.SCRIPT_ENDING:_.script+=O;continue;case w.SCRIPT_ENDING:O==="/"?_.state=w.CLOSE_TAG:(_.script+="<"+O,_.state=w.SCRIPT);continue;case w.OPEN_WAKA:if(O==="!")_.state=w.SGML_DECL,_.sgmlDecl="";else if(!k(O))if(A(m,O))_.state=w.OPEN_TAG,_.tagName=O;else if(O==="/")_.state=w.CLOSE_TAG,_.tagName="";else if(O==="?")_.state=w.PROC_INST,_.procInstName=_.procInstBody="";else{if(z(_,"Unencoded <"),_.startTagPosition+1<_.position){var Xe=_.position-_.startTagPosition;O=new Array(Xe).join(" ")+O}_.textNode+="<"+O,_.state=w.TEXT}continue;case w.SGML_DECL:(_.sgmlDecl+O).toUpperCase()===l?(Z(_,"onopencdata"),_.state=w.CDATA,_.sgmlDecl="",_.cdata=""):_.sgmlDecl+O==="--"?(_.state=w.COMMENT,_.comment="",_.sgmlDecl=""):(_.sgmlDecl+O).toUpperCase()===d?(_.state=w.DOCTYPE,(_.doctype||_.sawRoot)&&z(_,"Inappropriately located doctype declaration"),_.doctype="",_.sgmlDecl=""):O===">"?(Z(_,"onsgmldeclaration",_.sgmlDecl),_.sgmlDecl="",_.state=w.TEXT):(x(O)&&(_.state=w.SGML_DECL_QUOTED),_.sgmlDecl+=O);continue;case w.SGML_DECL_QUOTED:O===_.q&&(_.state=w.SGML_DECL,_.q=""),_.sgmlDecl+=O;continue;case w.DOCTYPE:O===">"?(_.state=w.TEXT,Z(_,"ondoctype",_.doctype),_.doctype=!0):(_.doctype+=O,O==="["?_.state=w.DOCTYPE_DTD:x(O)&&(_.state=w.DOCTYPE_QUOTED,_.q=O));continue;case w.DOCTYPE_QUOTED:_.doctype+=O,O===_.q&&(_.q="",_.state=w.DOCTYPE);continue;case w.DOCTYPE_DTD:_.doctype+=O,O==="]"?_.state=w.DOCTYPE:x(O)&&(_.state=w.DOCTYPE_DTD_QUOTED,_.q=O);continue;case w.DOCTYPE_DTD_QUOTED:_.doctype+=O,O===_.q&&(_.state=w.DOCTYPE_DTD,_.q="");continue;case w.COMMENT:O==="-"?_.state=w.COMMENT_ENDING:_.comment+=O;continue;case w.COMMENT_ENDING:O==="-"?(_.state=w.COMMENT_ENDED,_.comment=it(_.opt,_.comment),_.comment&&Z(_,"oncomment",_.comment),_.comment=""):(_.comment+="-"+O,_.state=w.COMMENT);continue;case w.COMMENT_ENDED:O!==">"?(z(_,"Malformed comment"),_.comment+="--"+O,_.state=w.COMMENT):_.state=w.TEXT;continue;case w.CDATA:O==="]"?_.state=w.CDATA_ENDING:_.cdata+=O;continue;case w.CDATA_ENDING:O==="]"?_.state=w.CDATA_ENDING_2:(_.cdata+="]"+O,_.state=w.CDATA);continue;case w.CDATA_ENDING_2:O===">"?(_.cdata&&Z(_,"oncdata",_.cdata),Z(_,"onclosecdata"),_.cdata="",_.state=w.TEXT):O==="]"?_.cdata+="]":(_.cdata+="]]"+O,_.state=w.CDATA);continue;case w.PROC_INST:O==="?"?_.state=w.PROC_INST_ENDING:k(O)?_.state=w.PROC_INST_BODY:_.procInstName+=O;continue;case w.PROC_INST_BODY:if(!_.procInstBody&&k(O))continue;O==="?"?_.state=w.PROC_INST_ENDING:_.procInstBody+=O;continue;case w.PROC_INST_ENDING:O===">"?(Z(_,"onprocessinginstruction",{name:_.procInstName,body:_.procInstBody}),_.procInstName=_.procInstBody="",_.state=w.TEXT):(_.procInstBody+="?"+O,_.state=w.PROC_INST_BODY);continue;case w.OPEN_TAG:A(v,O)?_.tagName+=O:(ee(_),O===">"?ue(_):O==="/"?_.state=w.OPEN_TAG_SLASH:(k(O)||z(_,"Invalid character in tag name"),_.state=w.ATTRIB));continue;case w.OPEN_TAG_SLASH:O===">"?(ue(_,!0),Oe(_)):(z(_,"Forward-slash in opening tag not followed by >"),_.state=w.ATTRIB);continue;case w.ATTRIB:if(k(O))continue;O===">"?ue(_):O==="/"?_.state=w.OPEN_TAG_SLASH:A(m,O)?(_.attribName=O,_.attribValue="",_.state=w.ATTRIB_NAME):z(_,"Invalid attribute name");continue;case w.ATTRIB_NAME:O==="="?_.state=w.ATTRIB_VALUE:O===">"?(z(_,"Attribute without value"),_.attribValue=_.attribName,ne(_),ue(_)):k(O)?_.state=w.ATTRIB_NAME_SAW_WHITE:A(v,O)?_.attribName+=O:z(_,"Invalid attribute name");continue;case w.ATTRIB_NAME_SAW_WHITE:if(O==="=")_.state=w.ATTRIB_VALUE;else{if(k(O))continue;z(_,"Attribute without value"),_.tag.attributes[_.attribName]="",_.attribValue="",Z(_,"onattribute",{name:_.attribName,value:""}),_.attribName="",O===">"?ue(_):A(m,O)?(_.attribName=O,_.state=w.ATTRIB_NAME):(z(_,"Invalid attribute name"),_.state=w.ATTRIB)}continue;case w.ATTRIB_VALUE:if(k(O))continue;x(O)?(_.q=O,_.state=w.ATTRIB_VALUE_QUOTED):(z(_,"Unquoted attribute value"),_.state=w.ATTRIB_VALUE_UNQUOTED,_.attribValue=O);continue;case w.ATTRIB_VALUE_QUOTED:if(O!==_.q){O==="&"?_.state=w.ATTRIB_VALUE_ENTITY_Q:_.attribValue+=O;continue}ne(_),_.q="",_.state=w.ATTRIB_VALUE_CLOSED;continue;case w.ATTRIB_VALUE_CLOSED:k(O)?_.state=w.ATTRIB:O===">"?ue(_):O==="/"?_.state=w.OPEN_TAG_SLASH:A(m,O)?(z(_,"No whitespace between attributes"),_.attribName=O,_.attribValue="",_.state=w.ATTRIB_NAME):z(_,"Invalid attribute name");continue;case w.ATTRIB_VALUE_UNQUOTED:if(!T(O)){O==="&"?_.state=w.ATTRIB_VALUE_ENTITY_U:_.attribValue+=O;continue}ne(_),O===">"?ue(_):_.state=w.ATTRIB;continue;case w.CLOSE_TAG:if(_.tagName)O===">"?Oe(_):A(v,O)?_.tagName+=O:_.script?(_.script+="</"+_.tagName,_.tagName="",_.state=w.SCRIPT):(k(O)||z(_,"Invalid tagname in closing tag"),_.state=w.CLOSE_TAG_SAW_WHITE);else{if(k(O))continue;I(m,O)?_.script?(_.script+="</"+O,_.state=w.SCRIPT):z(_,"Invalid tagname in closing tag."):_.tagName=O}continue;case w.CLOSE_TAG_SAW_WHITE:if(k(O))continue;O===">"?Oe(_):z(_,"Invalid characters in closing tag");continue;case w.TEXT_ENTITY:case w.ATTRIB_VALUE_ENTITY_Q:case w.ATTRIB_VALUE_ENTITY_U:var bt,mt;switch(_.state){case w.TEXT_ENTITY:bt=w.TEXT,mt="textNode";break;case w.ATTRIB_VALUE_ENTITY_Q:bt=w.ATTRIB_VALUE_QUOTED,mt="attribValue";break;case w.ATTRIB_VALUE_ENTITY_U:bt=w.ATTRIB_VALUE_UNQUOTED,mt="attribValue";break}if(O===";")if(_.opt.unparsedEntities){var Ut=Te(_);_.entity="",_.state=bt,_.write(Ut)}else _[mt]+=Te(_),_.entity="",_.state=bt;else A(_.entity.length?y:g,O)?_.entity+=O:(z(_,"Invalid character in entity name"),_[mt]+="&"+_.entity+O,_.entity="",_.state=bt);continue;default:throw new Error(_,"Unknown state: "+_.state)}return _.position>=_.bufferCheckPosition&&r(_),_}return String.fromCodePoint||(function(){var b=String.fromCharCode,_=Math.floor,C=function(){var O=16384,Ne=[],Xe,bt,mt=-1,Ut=arguments.length;if(!Ut)return"";for(var Mn="";++mt<Ut;){var gt=Number(arguments[mt]);if(!isFinite(gt)||gt<0||gt>1114111||_(gt)!==gt)throw RangeError("Invalid code point: "+gt);gt<=65535?Ne.push(gt):(gt-=65536,Xe=(gt>>10)+55296,bt=gt%1024+56320,Ne.push(Xe,bt)),(mt+1===Ut||Ne.length>O)&&(Mn+=b.apply(null,Ne),Ne.length=0)}return Mn};Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:C,configurable:!0,writable:!0}):String.fromCodePoint=C})(),e},n4=t4(),sg=`The output should be formatted as a XML file.
138
+ 1. Output should conform to the tags below.
139
+ 2. If tags are not given, make them on your own.
140
+ 3. Remember to always open and close all the tags.
141
+
142
+ As an example, for the tags ["foo", "bar", "baz"]:
143
+ 1. String "<foo>
144
+ <bar>
145
+ <baz></baz>
146
+ </bar>
147
+ </foo>" is a well-formatted instance of the schema.
148
+ 2. String "<foo>
149
+ <bar>
150
+ </foo>" is a badly-formatted instance.
151
+ 3. String "<foo>
152
+ <tag>
153
+ </tag>
154
+ </foo>" is a badly-formatted instance.
155
+
156
+ Here are the output tags:
157
+ \`\`\`
158
+ {tags}
159
+ \`\`\``,r4=class extends Qc{tags;constructor(e){super(e),this.tags=e?.tags}static lc_name(){return"XMLOutputParser"}lc_namespace=["langchain_core","output_parsers"];lc_serializable=!0;_diff(e,t){if(t)return e?Ep(e,t):[{op:"replace",path:"",value:t}]}async parsePartialResult(e){return ag(e[0].text)}async parse(e){return ag(e)}getFormatInstructions(){return this.tags&&this.tags.length>0?sg.replace("{tags}",this.tags?.join(", ")??""):sg}},s4=e=>e.split(`
160
+ `).map(t=>t.replace(/^\s+/,"")).join(`
161
+ `).trim(),LO=e=>{if(Object.keys(e).length===0)return{};let t={};return e.children.length>0?(t[e.name]=e.children.map(LO),t):(t[e.name]=e.text??void 0,t)};function ag(e){let t=s4(e),n=n4.parser(!0),r={},s=[];n.onopentag=o=>{let c={name:o.name,attributes:o.attributes,children:[],text:"",isSelfClosing:o.isSelfClosing};s.length>0?s[s.length-1].children.push(c):r=c,o.isSelfClosing||s.push(c)},n.onclosetag=()=>{if(s.length>0){let o=s.pop();s.length===0&&o&&(r=o)}},n.ontext=o=>{if(s.length>0){let c=s[s.length-1];c.text+=o}},n.onattribute=o=>{if(s.length>0){let c=s[s.length-1];c.attributes[o.name]=o.value}};let a=/```(xml)?(.*)```/s.exec(t),i=a?a[2]:t;return n.write(i).close(),r&&r.name==="?xml"&&(r=r.children[0]),LO(r)}var a4=Q({AsymmetricStructuredOutputParser:()=>e4,BaseCumulativeTransformOutputParser:()=>Qc,BaseLLMOutputParser:()=>zp,BaseOutputParser:()=>io,BaseTransformOutputParser:()=>Yc,BytesOutputParser:()=>JL,CommaSeparatedListOutputParser:()=>GL,CustomListOutputParser:()=>KL,JsonMarkdownStructuredOutputParser:()=>MO,JsonOutputParser:()=>s_,ListOutputParser:()=>eu,MarkdownListOutputParser:()=>YL,NumberedListOutputParser:()=>XL,OutputParserException:()=>pr,StandardSchemaOutputParser:()=>RO,StringOutputParser:()=>QL,StructuredOutputParser:()=>a_,XMLOutputParser:()=>r4,XML_FORMAT_INSTRUCTIONS:()=>sg,parseJsonMarkdown:()=>$l,parsePartialJson:()=>xi,parseXMLMarkdown:()=>ag}),i4=Q({extendInteropZodObject:()=>Bx,getInteropZodDefaultGetter:()=>Zx,getInteropZodObjectShape:()=>ic,getSchemaDescription:()=>Ai,interopParse:()=>il,interopParseAsync:()=>Np,interopSafeParse:()=>FR,interopSafeParseAsync:()=>Ux,interopZodObjectMakeFieldsOptional:()=>qR,interopZodObjectPartial:()=>Zy,interopZodObjectPassthrough:()=>Um,interopZodObjectStrict:()=>Ul,interopZodTransformInputSchema:()=>Vx,isInteropZodError:()=>qx,isInteropZodLiteral:()=>DR,isInteropZodObject:()=>zn,isInteropZodSchema:()=>Nn,isShapelessZodSchema:()=>BR,isSimpleStringZodSchema:()=>Fy,isZodArrayV4:()=>Pp,isZodLiteralV3:()=>Lx,isZodLiteralV4:()=>zx,isZodNullableV4:()=>Fx,isZodObjectV3:()=>By,isZodObjectV4:()=>Cr,isZodOptionalV4:()=>Dx,isZodSchema:()=>UR,isZodSchemaV3:()=>vt,isZodSchemaV4:()=>at});function Up(e,t){if(e.function===void 0)return;let n;if(t?.partial)try{n=xi(e.function.arguments??"{}")}catch{return}else try{n=JSON.parse(e.function.arguments)}catch(s){throw new pr([`Function "${e.function.name}" arguments:`,"",e.function.arguments,"","are not valid JSON.",`Error: ${s.message}`].join(`
162
+ `))}let r={name:e.function.name,args:n,type:"tool_call"};return t?.returnId&&(r.id=e.id),r}function zO(e){if(e.id===void 0)throw new Error('All OpenAI tool calls must have an "id" field.');return{id:e.id,type:"function",function:{name:e.name,arguments:JSON.stringify(e.args)}}}function Ho(e,t){return{name:e.function?.name,args:e.function?.arguments,id:e.id,error:t,type:"invalid_tool_call"}}var UO=class extends Qc{static lc_name(){return"JsonOutputToolsParser"}returnId=!1;lc_namespace=["langchain","output_parsers","openai_tools"];lc_serializable=!0;constructor(e){super(e),this.returnId=e?.returnId??this.returnId}_diff(){throw new Error("Not supported.")}async parse(){throw new Error("Not implemented.")}async parseResult(e){return await this.parsePartialResult(e,!1)}async parsePartialResult(e,t=!0){let n=e[0].message,r;if(bp(n)&&n.tool_calls?.length?r=n.tool_calls.map(a=>{let{id:i,...o}=a;return this.returnId?{id:i,...o}:o}):n.additional_kwargs.tool_calls!==void 0&&(r=JSON.parse(JSON.stringify(n.additional_kwargs.tool_calls)).map(a=>Up(a,{returnId:this.returnId,partial:t}))),!r)return[];let s=[];for(let a of r)if(a!==void 0){let i={type:a.name,args:a.args,id:a.id};s.push(i)}return s}},DO=class extends UO{static lc_name(){return"JsonOutputKeyToolsParser"}lc_namespace=["langchain","output_parsers","openai_tools"];lc_serializable=!0;returnId=!1;keyName;returnSingle=!1;zodSchema;serializableSchema;constructor(e){super(e),this.keyName=e.keyName,this.returnSingle=e.returnSingle??this.returnSingle,"zodSchema"in e&&(this.zodSchema=e.zodSchema),"serializableSchema"in e&&(this.serializableSchema=e.serializableSchema)}async _validateResult(e){if(this.serializableSchema!==void 0){let n=await this.serializableSchema["~standard"].validate(e);if(n.issues)throw new pr(`Failed to parse. Text: "${JSON.stringify(e,null,2)}". Error: ${JSON.stringify(n.issues)}`,JSON.stringify(e,null,2));return n.value}if(this.zodSchema===void 0)return e;let t=await Ux(this.zodSchema,e);if(t.success)return t.data;throw new pr(`Failed to parse. Text: "${JSON.stringify(e,null,2)}". Error: ${JSON.stringify(t.error?.issues)}`,JSON.stringify(e,null,2))}async parsePartialResult(e){let t=(await super.parsePartialResult(e)).filter(r=>r.type===this.keyName),n=t;if(t.length)return this.returnId||(n=t.map(r=>r.args)),this.returnSingle?n[0]:n}async parseResult(e){let t=(await super.parsePartialResult(e,!1)).filter(r=>r.type===this.keyName),n=t;if(t.length)return this.returnId||(n=t.map(r=>r.args)),this.returnSingle?this._validateResult(n[0]):await Promise.all(n.map(r=>this._validateResult(r)))}},o4=Q({assembleStructuredOutputPipeline:()=>i_,createContentParser:()=>ig,createFunctionCallingParser:()=>FO});function ig(e){return Nn(e)?a_.fromZodSchema(e):_a(e)?RO.fromSerializableSchema(e):new s_}function FO(e,t,n){let r=n??DO;return Nn(e)?new r({returnSingle:!0,keyName:t,zodSchema:e}):_a(e)?new r({returnSingle:!0,keyName:t,serializableSchema:e}):new r({returnSingle:!0,keyName:t})}function i_(e,t,n,r){if(!n){let c=e.pipe(t);return r?c.withConfig({runName:r}):c}let s=uc.assign({parsed:(c,u)=>t.invoke(c.raw,u)}),a=uc.assign({parsed:()=>null}),i=s.withFallbacks({fallbacks:[a]}),o=Cs.from([{raw:e},i]);return r?o.withConfig({runName:r}):o}var c4=e=>e();function xf(e){let t=e.constructor;return new t({...e,content:e.contentBlocks,response_metadata:{...e.response_metadata,output_version:"v1"}})}var u4=Q({BaseChatModel:()=>za,SimpleChatModel:()=>l4});function Of(e){let t=[];for(let n of e){let r=n;if(Array.isArray(n.content))for(let s=0;s<n.content.length;s++){let a=n.content[s];(hy(a)||fy(a))&&r===n&&(r=new n.constructor({...r,content:[...n.content.slice(0,s),wk(a),...n.content.slice(s+1)]}))}t.push(r)}return t}var za=class Ks extends r_{lc_namespace=["langchain","chat_models",this._llmType()];disableStreaming=!1;outputVersion;get callKeys(){return[...super.callKeys,"outputVersion"]}constructor(t){super(t),this.outputVersion=c4(()=>{let n=t.outputVersion??dr("LC_OUTPUT_VERSION");return n&&["v0","v1"].includes(n)?n:"v0"})}_separateRunnableConfigFromCallOptionsCompat(t){let[n,r]=super._separateRunnableConfigFromCallOptions(t);return r.signal=n.signal,[n,r]}async invoke(t,n){let r=Ks._convertInputToPromptValue(t);return(await this.generatePrompt([r],n,n?.callbacks)).generations[0][0].message}async*_streamResponseChunks(t,n,r){throw new Error("Not implemented.")}async*_streamIterator(t,n){if(this._streamResponseChunks===Ks.prototype._streamResponseChunks||this.disableStreaming)yield this.invoke(t,n);else{let r=Ks._convertInputToPromptValue(t).toChatMessages(),[s,a]=this._separateRunnableConfigFromCallOptionsCompat(n),i={...s.metadata,...this.getLsParams(a)},o=await nn.configure(s.callbacks,this.callbacks,s.tags,this.tags,i,this.metadata,{verbose:this.verbose}),c={options:a,invocation_params:this?.invocationParams(a),batch_size:1},u=a.outputVersion??this.outputVersion,l=await o?.handleChatModelStart(this.toJSON(),[Of(r)],s.runId,void 0,c,void 0,void 0,s.runName),d,p;try{for await(let h of this._streamResponseChunks(r,a,l?.[0])){if(a.signal?.throwIfAborted(),h.message.id==null){let f=l?.at(0)?.runId;f!=null&&h.message._updateId(`run-${f}`)}h.message.response_metadata={...h.generationInfo,...h.message.response_metadata},u==="v1"?yield xf(h.message):yield h.message,d?d=d.concat(h):d=h,om(h.message)&&h.message.usage_metadata!==void 0&&(p={tokenUsage:{promptTokens:h.message.usage_metadata.input_tokens,completionTokens:h.message.usage_metadata.output_tokens,totalTokens:h.message.usage_metadata.total_tokens}})}a.signal?.throwIfAborted()}catch(h){throw await Promise.all((l??[]).map(f=>f?.handleLLMError(h))),h}await Promise.all((l??[]).map(h=>h?.handleLLMEnd({generations:[[d]],llmOutput:p})))}}getLsParams(t){let n=this.getName().startsWith("Chat")?this.getName().replace("Chat",""):this.getName();return{ls_model_type:"chat",ls_stop:t.stop,ls_provider:n}}async _generateUncached(t,n,r,s){let a=t.map(d=>d.map($r)),i;if(s!==void 0&&s.length===a.length)i=s;else{let d={...r.metadata,...this.getLsParams(n)},p=await nn.configure(r.callbacks,this.callbacks,r.tags,this.tags,d,this.metadata,{verbose:this.verbose}),h={options:n,invocation_params:this?.invocationParams(n),batch_size:1};i=await p?.handleChatModelStart(this.toJSON(),a.map(Of),r.runId,void 0,h,void 0,void 0,r.runName)}let o=n.outputVersion??this.outputVersion,c=[],u=[];if(i?.[0].handlers.find(Ty)&&!this.disableStreaming&&a.length===1&&this._streamResponseChunks!==Ks.prototype._streamResponseChunks)try{let d=await this._streamResponseChunks(a[0],n,i?.[0]),p,h;for await(let f of d){if(n.signal?.aborted){let m=p?.message;throw new am("Model invocation was aborted.",m)}if(f.message.id==null){let m=i?.at(0)?.runId;m!=null&&f.message._updateId(`run-${m}`)}p===void 0?p=f:p=Is(p,f),om(f.message)&&f.message.usage_metadata!==void 0&&(h={tokenUsage:{promptTokens:f.message.usage_metadata.input_tokens,completionTokens:f.message.usage_metadata.output_tokens,totalTokens:f.message.usage_metadata.total_tokens}})}if(n.signal?.aborted){let f=p?.message;throw new am("Model invocation was aborted.",f)}if(p===void 0)throw new Error("Received empty response from chat model call.");c.push([p]),await i?.[0].handleLLMEnd({generations:c,llmOutput:h})}catch(d){throw await i?.[0].handleLLMError(d),d}else{let d=await Promise.allSettled(a.map(async(p,h)=>{let f=await this._generate(p,{...n,promptIndex:h},i?.[h]);if(o==="v1")for(let m of f.generations)m.message=xf(m.message);return f}));await Promise.all(d.map(async(p,h)=>{if(p.status==="fulfilled"){let f=p.value;for(let m of f.generations){if(m.message.id==null){let v=i?.at(0)?.runId;v!=null&&m.message._updateId(`run-${v}`)}m.message.response_metadata={...m.generationInfo,...m.message.response_metadata}}return f.generations.length===1&&(f.generations[0].message.response_metadata={...f.llmOutput,...f.generations[0].message.response_metadata}),c[h]=f.generations,u[h]=f.llmOutput,i?.[h]?.handleLLMEnd({generations:[f.generations],llmOutput:f.llmOutput})}else return await i?.[h]?.handleLLMError(p.reason),Promise.reject(p.reason)}))}let l={generations:c,llmOutput:u.length?this._combineLLMOutput?.(...u):void 0};return Object.defineProperty(l,ac,{value:i?{runIds:i?.map(d=>d.runId)}:void 0,configurable:!0}),l}async _generateCached({messages:t,cache:n,llmStringKey:r,parsedOptions:s,handledOptions:a}){let i=t.map(v=>v.map($r)),o={...a.metadata,...this.getLsParams(s)},c=await nn.configure(a.callbacks,this.callbacks,a.tags,this.tags,o,this.metadata,{verbose:this.verbose}),u={options:s,invocation_params:this?.invocationParams(s),batch_size:1},l=await c?.handleChatModelStart(this.toJSON(),i.map(Of),a.runId,void 0,u,void 0,void 0,a.runName),d=[],p=(await Promise.allSettled(i.map(async(v,g)=>{let y=Ks._convertInputToPromptValue(v).toString(),k=await n.lookup(y,r);return k==null&&d.push(g),k}))).map((v,g)=>({result:v,runManager:l?.[g]})).filter(({result:v})=>v.status==="fulfilled"&&v.value!=null||v.status==="rejected"),h=s.outputVersion??this.outputVersion,f=[];await Promise.all(p.map(async({result:v,runManager:g},y)=>{if(v.status==="fulfilled"){let k=v.value;return f[y]=k.map(x=>("message"in x&&Mt(x.message)&&bp(x.message)&&(x.message.usage_metadata={input_tokens:0,output_tokens:0,total_tokens:0},h==="v1"&&(x.message=xf(x.message))),x.generationInfo={...x.generationInfo,tokenUsage:{}},x)),k.length&&await g?.handleLLMNewToken(k[0].text),g?.handleLLMEnd({generations:[k]},void 0,void 0,void 0,{cached:!0})}else return await g?.handleLLMError(v.reason,void 0,void 0,void 0,{cached:!0}),Promise.reject(v.reason)}));let m={generations:f,missingPromptIndices:d,startedRunManagers:l};return Object.defineProperty(m,ac,{value:l?{runIds:l?.map(v=>v.runId)}:void 0,configurable:!0}),m}async generate(t,n,r){let s;Array.isArray(n)?s={stop:n}:s=n;let a=t.map(f=>f.map($r)),[i,o]=this._separateRunnableConfigFromCallOptionsCompat(s);if(i.callbacks=i.callbacks??r,!this.cache)return this._generateUncached(a,o,i);let{cache:c}=this,u=this._getSerializedCacheKeyParametersForCall(o),{generations:l,missingPromptIndices:d,startedRunManagers:p}=await this._generateCached({messages:a,cache:c,llmStringKey:u,parsedOptions:o,handledOptions:i}),h={};if(d.length>0){let f=await this._generateUncached(d.map(m=>a[m]),o,i,p!==void 0?d.map(m=>p?.[m]):void 0);await Promise.all(f.generations.map(async(m,v)=>{let g=d[v];l[g]=m;let y=Ks._convertInputToPromptValue(a[g]).toString();return c.update(y,u,m)})),h=f.llmOutput??{}}return{generations:l,llmOutput:h}}invocationParams(t){return{}}_modelType(){return"base_chat_model"}async generatePrompt(t,n,r){let s=t.map(a=>a.toChatMessages());return this.generate(s,n,r)}withStructuredOutput(t,n){if(typeof this.bindTools!="function")throw new Error('Chat model must implement ".bindTools()" to use withStructuredOutput.');if(n?.strict)throw new Error('"strict" mode is not supported for this model by default.');let r=t,s=n?.name,a=Ai(r)??"A function available to call.",i=n?.method,o=n?.includeRaw;if(i==="jsonMode")throw new Error('Base withStructuredOutput implementation only supports "functionCalling" as a method.');let c=s??"extract";!Nn(r)&&!_a(r)&&"name"in r&&(c=r.name);let u=Nn(r)||_a(r)?At(r):r,l=[{type:"function",function:{name:c,description:a,parameters:u}}];return i_(this.bindTools(l),_r.from(d=>{if(!_n.isInstance(d))throw new Error("Input is not an AIMessageChunk.");if(!d.tool_calls||d.tool_calls.length===0)throw new Error("No tool calls found in the response.");let p=d.tool_calls.find(h=>h.name===c);if(!p)throw new Error(`No tool call found with name ${c}.`);return p.args}),o,o?"StructuredOutputRunnable":"StructuredOutput")}},l4=class extends za{async _generate(e,t,n){let r=new Qe(await this._call(e,t,n));if(typeof r.content!="string")throw new Error("Cannot generate with a simple chat model when output is not a string.");return{generations:[{text:r.content,message:r}]}}},d4=Q({BaseLLM:()=>BO,LLM:()=>o_}),BO=class Oo extends r_{lc_namespace=["langchain","llms",this._llmType()];async invoke(t,n){let r=Oo._convertInputToPromptValue(t);return(await this.generatePrompt([r],n,n?.callbacks)).generations[0][0].text}async*_streamResponseChunks(t,n,r){throw new Error("Not implemented.")}_separateRunnableConfigFromCallOptionsCompat(t){let[n,r]=super._separateRunnableConfigFromCallOptions(t);return r.signal=n.signal,[n,r]}async*_streamIterator(t,n){if(this._streamResponseChunks===Oo.prototype._streamResponseChunks)yield this.invoke(t,n);else{let r=Oo._convertInputToPromptValue(t),[s,a]=this._separateRunnableConfigFromCallOptionsCompat(n),i=await nn.configure(s.callbacks,this.callbacks,s.tags,this.tags,s.metadata,this.metadata,{verbose:this.verbose}),o={options:a,invocation_params:this?.invocationParams(a),batch_size:1},c=await i?.handleLLMStart(this.toJSON(),[r.toString()],s.runId,void 0,o,void 0,void 0,s.runName),u=new Ei({text:""});try{for await(let l of this._streamResponseChunks(r.toString(),a,c?.[0]))u?u=u.concat(l):u=l,typeof l.text=="string"&&(yield l.text)}catch(l){throw await Promise.all((c??[]).map(d=>d?.handleLLMError(l))),l}await Promise.all((c??[]).map(l=>l?.handleLLMEnd({generations:[[u]]})))}}async generatePrompt(t,n,r){let s=t.map(a=>a.toString());return this.generate(s,n,r)}invocationParams(t){return{}}_flattenLLMResult(t){let n=[];for(let r=0;r<t.generations.length;r+=1){let s=t.generations[r];if(r===0)n.push({generations:[s],llmOutput:t.llmOutput});else{let a=t.llmOutput?{...t.llmOutput,tokenUsage:{}}:void 0;n.push({generations:[s],llmOutput:a})}}return n}async _generateUncached(t,n,r,s){let a;if(s!==void 0&&s.length===t.length)a=s;else{let u=await nn.configure(r.callbacks,this.callbacks,r.tags,this.tags,r.metadata,this.metadata,{verbose:this.verbose}),l={options:n,invocation_params:this?.invocationParams(n),batch_size:t.length};a=await u?.handleLLMStart(this.toJSON(),t,r.runId,void 0,l,void 0,void 0,r?.runName)}let i=!!a?.[0].handlers.find(Ty),o;if(i&&t.length===1&&this._streamResponseChunks!==Oo.prototype._streamResponseChunks)try{let u=await this._streamResponseChunks(t[0],n,a?.[0]),l;for await(let d of u)l===void 0?l=d:l=Is(l,d);if(l===void 0)throw new Error("Received empty response from chat model call.");o={generations:[[l]],llmOutput:{}},await a?.[0].handleLLMEnd(o)}catch(u){throw await a?.[0].handleLLMError(u),u}else{try{o=await this._generate(t,n,a?.[0])}catch(l){throw await Promise.all((a??[]).map(d=>d?.handleLLMError(l))),l}let u=this._flattenLLMResult(o);await Promise.all((a??[]).map((l,d)=>l?.handleLLMEnd(u[d])))}let c=a?.map(u=>u.runId)||void 0;return Object.defineProperty(o,ac,{value:c?{runIds:c}:void 0,configurable:!0}),o}async _generateCached({prompts:t,cache:n,llmStringKey:r,parsedOptions:s,handledOptions:a,runId:i}){let o=await nn.configure(a.callbacks,this.callbacks,a.tags,this.tags,a.metadata,this.metadata,{verbose:this.verbose}),c={options:s,invocation_params:this?.invocationParams(s),batch_size:t.length},u=await o?.handleLLMStart(this.toJSON(),t,i,void 0,c,void 0,void 0,a?.runName),l=[],d=(await Promise.allSettled(t.map(async(f,m)=>{let v=await n.lookup(f,r);return v==null&&l.push(m),v}))).map((f,m)=>({result:f,runManager:u?.[m]})).filter(({result:f})=>f.status==="fulfilled"&&f.value!=null||f.status==="rejected"),p=[];await Promise.all(d.map(async({result:f,runManager:m},v)=>{if(f.status==="fulfilled"){let g=f.value;return p[v]=g.map(y=>(y.generationInfo={...y.generationInfo,tokenUsage:{}},y)),g.length&&await m?.handleLLMNewToken(g[0].text),m?.handleLLMEnd({generations:[g]},void 0,void 0,void 0,{cached:!0})}else return await m?.handleLLMError(f.reason,void 0,void 0,void 0,{cached:!0}),Promise.reject(f.reason)}));let h={generations:p,missingPromptIndices:l,startedRunManagers:u};return Object.defineProperty(h,ac,{value:u?{runIds:u?.map(f=>f.runId)}:void 0,configurable:!0}),h}async generate(t,n,r){if(!Array.isArray(t))throw new Error("Argument 'prompts' is expected to be a string[]");let s;Array.isArray(n)?s={stop:n}:s=n;let[a,i]=this._separateRunnableConfigFromCallOptionsCompat(s);if(a.callbacks=a.callbacks??r,!this.cache)return this._generateUncached(t,i,a);let{cache:o}=this,c=this._getSerializedCacheKeyParametersForCall(i),{generations:u,missingPromptIndices:l,startedRunManagers:d}=await this._generateCached({prompts:t,cache:o,llmStringKey:c,parsedOptions:i,handledOptions:a,runId:a.runId}),p={};if(l.length>0){let h=await this._generateUncached(l.map(f=>t[f]),i,a,d!==void 0?l.map(f=>d?.[f]):void 0);await Promise.all(h.generations.map(async(f,m)=>{let v=l[m];return u[v]=f,o.update(t[v],c,f)})),p=h.llmOutput??{}}return{generations:u,llmOutput:p}}_identifyingParams(){return{}}_modelType(){return"base_llm"}},o_=class extends BO{async _generate(e,t,n){return{generations:await Promise.all(e.map((r,s)=>this._call(r,{...t,promptIndex:s},n).then(a=>[{text:a}])))}}},p4=Q({}),h4=Q({BaseMemory:()=>f4,getInputValue:()=>m4,getOutputValue:()=>g4,getPromptInputKey:()=>y4}),f4=class{},ZO=(e,t)=>{if(t!==void 0)return e[t];let n=Object.keys(e);if(n.length===1)return e[n[0]]},m4=(e,t)=>{let n=ZO(e,t);if(!n){let r=Object.keys(e);throw new Error(`input values have ${r.length} keys, you must specify an input key or pass only 1 key as input`)}return n},g4=(e,t)=>{let n=ZO(e,t);if(!n&&n!==""){let r=Object.keys(e);throw new Error(`output values have ${r.length} keys, you must specify an output key or pass only 1 key as output`)}return n};function y4(e,t){let n=Object.keys(e).filter(r=>!t.includes(r)&&r!=="stop");if(n.length!==1)throw new Error(`One input key expected, but got ${n.length}`);return n[0]}var VO=class extends zp{static lc_name(){return"OutputFunctionsParser"}lc_namespace=["langchain","output_parsers","openai_functions"];lc_serializable=!0;argsOnly=!0;constructor(e){super(),this.argsOnly=e?.argsOnly??this.argsOnly}async parseResult(e){if("message"in e[0]){let t=e[0].message.additional_kwargs.function_call;if(!t)throw new Error(`No function_call in message ${JSON.stringify(e)}`);if(!t.arguments)throw new Error(`No arguments in function_call ${JSON.stringify(e)}`);return this.argsOnly?t.arguments:JSON.stringify(t)}else throw new Error(`No message in generations ${JSON.stringify(e)}`)}},qO=class extends Qc{static lc_name(){return"JsonOutputFunctionsParser"}lc_namespace=["langchain","output_parsers","openai_functions"];lc_serializable=!0;outputParser;argsOnly=!0;constructor(e){super(e),this.argsOnly=e?.argsOnly??this.argsOnly,this.outputParser=new VO(e)}_diff(e,t){if(t)return Ep(e??{},t)}async parsePartialResult(e){let t=e[0];if(!t.message)return;let{message:n}=t,r=n.additional_kwargs.function_call;if(r)return this.argsOnly?xi(r.arguments):{...r,arguments:xi(r.arguments)}}async parseResult(e){let t=await this.outputParser.parseResult(e);if(!t)throw new Error(`No result from "OutputFunctionsParser" ${JSON.stringify(e)}`);return this.parse(t)}async parse(e){let t=JSON.parse(e);return this.argsOnly||(t.arguments=JSON.parse(t.arguments)),t}getFormatInstructions(){return""}},_4=class extends zp{static lc_name(){return"JsonKeyOutputFunctionsParser"}lc_namespace=["langchain","output_parsers","openai_functions"];lc_serializable=!0;outputParser=new qO;attrName;get lc_aliases(){return{attrName:"key_name"}}constructor(e){super(e),this.attrName=e.attrName}async parseResult(e){return(await this.outputParser.parseResult(e))[this.attrName]}},v4=Q({JsonKeyOutputFunctionsParser:()=>_4,JsonOutputFunctionsParser:()=>qO,OutputFunctionsParser:()=>VO}),w4=Q({JsonOutputKeyToolsParser:()=>DO,JsonOutputToolsParser:()=>UO,convertLangChainToolCallToOpenAI:()=>zO,makeInvalidToolCall:()=>Ho,parseToolCall:()=>Up}),tu=class extends je{lc_serializable=!0;lc_namespace=["langchain_core","prompts",this._getPromptType()];get lc_attributes(){return{partialVariables:void 0}}inputVariables;outputParser;partialVariables;metadata;tags;constructor(e){super(e);let{inputVariables:t}=e;if(t.includes("stop"))throw new Error("Cannot have an input variable named 'stop', as it is used internally, please rename.");Object.assign(this,e)}async mergePartialAndUserVariables(e){let t=this.partialVariables??{},n={};for(let[r,s]of Object.entries(t))typeof s=="string"?n[r]=s:n[r]=await s();return{...n,...e}}async invoke(e,t){let n={...this.metadata,...t?.metadata},r=[...this.tags??[],...t?.tags??[]];return this._callWithConfig(s=>this.formatPromptValue(s),e,{...t,tags:r,metadata:n,runType:"prompt"})}},lc=class extends tu{async formatPromptValue(e){return new Yy(await this.format(e))}},b4=Object.prototype.toString,oo=Array.isArray||function(e){return b4.call(e)==="[object Array]"};function c_(e){return typeof e=="function"}function k4(e){return oo(e)?"array":typeof e}function Sf(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function db(e,t){return e!=null&&typeof e=="object"&&t in e}function x4(e,t){return e!=null&&typeof e!="object"&&e.hasOwnProperty&&e.hasOwnProperty(t)}var O4=RegExp.prototype.test;function S4(e,t){return O4.call(e,t)}var T4=/\S/;function I4(e){return!S4(T4,e)}var E4={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;","`":"&#x60;","=":"&#x3D;"};function A4(e){return String(e).replace(/[&<>"'`=\/]/g,function(t){return E4[t]})}var $4=/\s*/,C4=/\s+/,pb=/\s*=/,N4=/\s*\}/,P4=/#|\^|\/|>|\{|&|=|!/;function j4(e,t){if(!e)return[];var n=!1,r=[],s=[],a=[],i=!1,o=!1,c="",u=0;function l(){if(i&&!o)for(;a.length;)delete s[a.pop()];else a=[];i=!1,o=!1}var d,p,h;function f(w){if(typeof w=="string"&&(w=w.split(C4,2)),!oo(w)||w.length!==2)throw new Error("Invalid tags: "+w);d=new RegExp(Sf(w[0])+"\\s*"),p=new RegExp("\\s*"+Sf(w[1])),h=new RegExp("\\s*"+Sf("}"+w[1]))}f(t||bn.tags);for(var m=new nu(e),v,g,y,k,x,T;!m.eos();){if(v=m.pos,y=m.scanUntil(d),y)for(var A=0,I=y.length;A<I;++A)k=y.charAt(A),I4(k)?(a.push(s.length),c+=k):(o=!0,n=!0,c+=" "),s.push(["text",k,v,v+1]),v+=1,k===`
163
+ `&&(l(),c="",u=0,n=!1);if(!m.scan(d))break;if(i=!0,g=m.scan(P4)||"name",m.scan($4),g==="="?(y=m.scanUntil(pb),m.scan(pb),m.scanUntil(p)):g==="{"?(y=m.scanUntil(h),m.scan(N4),m.scanUntil(p),g="&"):y=m.scanUntil(p),!m.scan(p))throw new Error("Unclosed tag at "+m.pos);if(g==">"?x=[g,y,v,m.pos,c,u,n]:x=[g,y,v,m.pos],u++,s.push(x),g==="#"||g==="^")r.push(x);else if(g==="/"){if(T=r.pop(),!T)throw new Error('Unopened section "'+y+'" at '+v);if(T[1]!==y)throw new Error('Unclosed section "'+T[1]+'" at '+v)}else g==="name"||g==="{"||g==="&"?o=!0:g==="="&&f(y)}if(l(),T=r.pop(),T)throw new Error('Unclosed section "'+T[1]+'" at '+m.pos);return M4(R4(s))}function R4(e){for(var t=[],n,r,s=0,a=e.length;s<a;++s)n=e[s],n&&(n[0]==="text"&&r&&r[0]==="text"?(r[1]+=n[1],r[3]=n[3]):(t.push(n),r=n));return t}function M4(e){for(var t=[],n=t,r=[],s,a,i=0,o=e.length;i<o;++i)switch(s=e[i],s[0]){case"#":case"^":n.push(s),r.push(s),n=s[4]=[];break;case"/":a=r.pop(),a[5]=s[2],n=r.length>0?r[r.length-1][4]:t;break;default:n.push(s)}return t}function nu(e){this.string=e,this.tail=e,this.pos=0}nu.prototype.eos=function(){return this.tail===""};nu.prototype.scan=function(e){var t=this.tail.match(e);if(!t||t.index!==0)return"";var n=t[0];return this.tail=this.tail.substring(n.length),this.pos+=n.length,n};nu.prototype.scanUntil=function(e){var t=this.tail.search(e),n;switch(t){case-1:n=this.tail,this.tail="";break;case 0:n="";break;default:n=this.tail.substring(0,t),this.tail=this.tail.substring(t)}return this.pos+=n.length,n};function ji(e,t){this.view=e,this.cache={".":this.view},this.parent=t}ji.prototype.push=function(e){return new ji(e,this)};ji.prototype.lookup=function(e){var t=this.cache,n;if(t.hasOwnProperty(e))n=t[e];else{for(var r=this,s,a,i,o=!1;r;){if(e.indexOf(".")>0)for(s=r.view,a=e.split("."),i=0;s!=null&&i<a.length;)i===a.length-1&&(o=db(s,a[i])||x4(s,a[i])),s=s[a[i++]];else s=r.view[e],o=db(r.view,e);if(o){n=s;break}r=r.parent}t[e]=n}return c_(n)&&(n=n.call(this.view)),n};function on(){this.templateCache={_cache:{},set:function(e,t){this._cache[e]=t},get:function(e){return this._cache[e]},clear:function(){this._cache={}}}}on.prototype.clearCache=function(){typeof this.templateCache<"u"&&this.templateCache.clear()};on.prototype.parse=function(e,t){var n=this.templateCache,r=e+":"+(t||bn.tags).join(":"),s=typeof n<"u",a=s?n.get(r):void 0;return a==null&&(a=j4(e,t),s&&n.set(r,a)),a};on.prototype.render=function(e,t,n,r){var s=this.getConfigTags(r),a=this.parse(e,s),i=t instanceof ji?t:new ji(t,void 0);return this.renderTokens(a,i,n,e,r)};on.prototype.renderTokens=function(e,t,n,r,s){for(var a="",i,o,c,u=0,l=e.length;u<l;++u)c=void 0,i=e[u],o=i[0],o==="#"?c=this.renderSection(i,t,n,r,s):o==="^"?c=this.renderInverted(i,t,n,r,s):o===">"?c=this.renderPartial(i,t,n,s):o==="&"?c=this.unescapedValue(i,t):o==="name"?c=this.escapedValue(i,t,s):o==="text"&&(c=this.rawValue(i)),c!==void 0&&(a+=c);return a};on.prototype.renderSection=function(e,t,n,r,s){var a=this,i="",o=t.lookup(e[1]);function c(d){return a.render(d,t,n,s)}if(o){if(oo(o))for(var u=0,l=o.length;u<l;++u)i+=this.renderTokens(e[4],t.push(o[u]),n,r,s);else if(typeof o=="object"||typeof o=="string"||typeof o=="number")i+=this.renderTokens(e[4],t.push(o),n,r,s);else if(c_(o)){if(typeof r!="string")throw new Error("Cannot use higher-order sections without the original template");o=o.call(t.view,r.slice(e[3],e[5]),c),o!=null&&(i+=o)}else i+=this.renderTokens(e[4],t,n,r,s);return i}};on.prototype.renderInverted=function(e,t,n,r,s){var a=t.lookup(e[1]);if(!a||oo(a)&&a.length===0)return this.renderTokens(e[4],t,n,r,s)};on.prototype.indentPartial=function(e,t,n){for(var r=t.replace(/[^ \t]/g,""),s=e.split(`
164
+ `),a=0;a<s.length;a++)s[a].length&&(a>0||!n)&&(s[a]=r+s[a]);return s.join(`
165
+ `)};on.prototype.renderPartial=function(e,t,n,r){if(n){var s=this.getConfigTags(r),a=c_(n)?n(e[1]):n[e[1]];if(a!=null){var i=e[6],o=e[5],c=e[4],u=a;o==0&&c&&(u=this.indentPartial(a,c,i));var l=this.parse(u,s);return this.renderTokens(l,t,n,u,r)}}};on.prototype.unescapedValue=function(e,t){var n=t.lookup(e[1]);if(n!=null)return n};on.prototype.escapedValue=function(e,t,n){var r=this.getConfigEscape(n)||bn.escape,s=t.lookup(e[1]);if(s!=null)return typeof s=="number"&&r===bn.escape?String(s):r(s)};on.prototype.rawValue=function(e){return e[1]};on.prototype.getConfigTags=function(e){return oo(e)?e:e&&typeof e=="object"?e.tags:void 0};on.prototype.getConfigEscape=function(e){if(e&&typeof e=="object"&&!oo(e))return e.escape};var bn={name:"mustache.js",version:"4.2.0",tags:["{{","}}"],clearCache:void 0,escape:void 0,parse:void 0,render:void 0,Scanner:void 0,Context:void 0,Writer:void 0,set templateCache(e){dc.templateCache=e},get templateCache(){return dc.templateCache}},dc=new on;bn.clearCache=function(){return dc.clearCache()};bn.parse=function(e,t){return dc.parse(e,t)};bn.render=function(e,t,n,r){if(typeof e!="string")throw new TypeError('Invalid template! Template should be a "string" but "'+k4(e)+'" was given as the first argument for mustache#render(template, view, partials)');return dc.render(e,t,n,r)};bn.escape=A4;bn.Scanner=nu;bn.Context=ji;bn.Writer=on;function HO(){bn.escape=e=>e}var pc=e=>{let t=e.split(""),n=[],r=(a,i)=>{for(let o=i;o<t.length;o+=1)if(a.includes(t[o]))return o;return-1},s=0;for(;s<t.length;)if(t[s]==="{"&&s+1<t.length&&t[s+1]==="{")n.push({type:"literal",text:"{"}),s+=2;else if(t[s]==="}"&&s+1<t.length&&t[s+1]==="}")n.push({type:"literal",text:"}"}),s+=2;else if(t[s]==="{"){let a=r("}",s);if(a<0)throw new Error("Unclosed '{' in template.");n.push({type:"variable",name:t.slice(s+1,a).join("")}),s=a+1}else{if(t[s]==="}")throw new Error("Single '}' in template.");{let a=r("{}",s),i=(a<0?t.slice(s):t.slice(s,a)).join("");n.push({type:"literal",text:i}),s=a<0?t.length:a}}return n},WO=(e,t=[])=>{let n=[];for(let r of e)if(r[0]==="name"){let s=r[1].includes(".")?r[1].split(".")[0]:r[1];n.push({type:"variable",name:s})}else if(["#","&","^",">"].includes(r[0])){if(n.push({type:"variable",name:r[1]}),r[0]==="#"&&r.length>4&&Array.isArray(r[4])){let s=[...t,r[1]],a=WO(r[4],s);n.push(...a)}}else n.push({type:"literal",text:r[1]});return n},Hl=e=>(HO(),WO(bn.parse(e))),JO=(e,t)=>pc(e).reduce((n,r)=>{if(r.type==="variable"){if(r.name in t)return n+(typeof t[r.name]=="string"?t[r.name]:JSON.stringify(t[r.name]));throw new Error(`(f-string) Missing value for input ${r.name}`)}return n+r.text},""),GO=(e,t)=>(HO(),bn.render(e,t)),Wl={"f-string":JO,mustache:GO},KO={"f-string":pc,mustache:Hl},lr=(e,t,n)=>{try{return Wl[t](e,n)}catch(r){throw Zc(r,"INVALID_PROMPT_INPUT")}},Jl=(e,t)=>KO[t](e),ru=(e,t,n)=>{if(!(t in Wl)){let r=Object.keys(Wl);throw new Error(`Invalid template format. Got \`${t}\`;
166
+ should be one of ${r}`)}try{let r=Object.fromEntries(n.map(s=>[s,"foo"]));Array.isArray(e)?e.forEach(s=>{if(s.type==="text"&&"text"in s&&typeof s.text=="string")lr(s.text,t,r);else if(s.type==="image_url"){if(typeof s.image_url=="string")lr(s.image_url,t,r);else if(typeof s.image_url=="object"&&s.image_url!==null&&"url"in s.image_url&&typeof s.image_url.url=="string"){let a=s.image_url.url;lr(a,t,r)}}else throw new Error(`Invalid message template received. ${JSON.stringify(s,null,2)}`)}):lr(e,t,r)}catch(r){throw new Error(`Invalid prompt schema: ${r.message}`)}},xs=class So extends lc{static lc_name(){return"PromptTemplate"}template;templateFormat="f-string";validateTemplate=!0;additionalContentFields;constructor(t){if(super(t),t.templateFormat==="mustache"&&t.validateTemplate===void 0&&(this.validateTemplate=!1),Object.assign(this,t),this.validateTemplate){if(this.templateFormat==="mustache")throw new Error("Mustache templates cannot be validated.");let n=this.inputVariables;this.partialVariables&&(n=n.concat(Object.keys(this.partialVariables))),ru(this.template,this.templateFormat,n)}}_getPromptType(){return"prompt"}async format(t){let n=await this.mergePartialAndUserVariables(t);return lr(this.template,this.templateFormat,n)}static fromExamples(t,n,r,s=`
167
+
168
+ `,a=""){return new So({inputVariables:r,template:[a,...t,n].join(s)})}static fromTemplate(t,n){let{templateFormat:r="f-string",...s}=n??{},a=new Set;return Jl(t,r).forEach(i=>{i.type==="variable"&&a.add(i.name)}),new So({inputVariables:[...a],templateFormat:r,template:t,...s})}async partial(t){let n=this.inputVariables.filter(s=>!(s in t)),r={...this.partialVariables??{},...t};return new So({...this,inputVariables:n,partialVariables:r})}serialize(){if(this.outputParser!==void 0)throw new Error("Cannot serialize a prompt template with an output parser");return{_type:this._getPromptType(),input_variables:this.inputVariables,template:this.template,template_format:this.templateFormat}}static async deserialize(t){if(!t.template)throw new Error("Prompt template must have a template");return new So({inputVariables:t.input_variables,template:t.template,templateFormat:t.template_format})}},cl=class XO extends tu{static lc_name(){return"ImagePromptTemplate"}lc_namespace=["langchain_core","prompts","image"];template;templateFormat="f-string";validateTemplate=!0;additionalContentFields;constructor(t){if(super(t),this.template=t.template,this.templateFormat=t.templateFormat??this.templateFormat,this.validateTemplate=t.validateTemplate??this.validateTemplate,this.additionalContentFields=t.additionalContentFields,this.validateTemplate){let n=this.inputVariables;this.partialVariables&&(n=n.concat(Object.keys(this.partialVariables))),ru([{type:"image_url",image_url:this.template}],this.templateFormat,n)}}_getPromptType(){return"prompt"}async partial(t){let n=this.inputVariables.filter(s=>!(s in t)),r={...this.partialVariables??{},...t};return new XO({...this,inputVariables:n,partialVariables:r})}async format(t){let n={};for(let[i,o]of Object.entries(this.template))typeof o=="string"?n[i]=lr(o,this.templateFormat,t):n[i]=o;let r=t.url||n.url,s=t.detail||n.detail;if(!r)throw new Error("Must provide either an image URL.");if(typeof r!="string")throw new Error("url must be a string.");let a={url:r};return s&&(a.detail=s),a}async formatPromptValue(t){return new CO(await this.format(t))}},og=class extends je{lc_namespace=["langchain_core","prompts","dict"];lc_serializable=!0;template;templateFormat;inputVariables;static lc_name(){return"DictPromptTemplate"}constructor(e){let t=e.templateFormat??"f-string",n=cg(e.template,t);super({inputVariables:n,...e}),this.template=e.template,this.templateFormat=t,this.inputVariables=n}async format(e){return ug(this.template,e,this.templateFormat)}async invoke(e){return await this._callWithConfig(this.format.bind(this),e,{runType:"prompt"})}};function cg(e,t){let n=[];for(let r of Object.values(e))if(typeof r=="string")Jl(r,t).forEach(s=>{s.type==="variable"&&n.push(s.name)});else if(Array.isArray(r))for(let s of r)typeof s=="string"?Jl(s,t).forEach(a=>{a.type==="variable"&&n.push(a.name)}):typeof s=="object"&&n.push(...cg(s,t));else typeof r=="object"&&r!==null&&n.push(...cg(r,t));return Array.from(new Set(n))}function ug(e,t,n){let r={};for(let[s,a]of Object.entries(e))if(typeof a=="string")r[s]=lr(a,n,t);else if(Array.isArray(a)){let i=[];for(let o of a)typeof o=="string"?i.push(lr(o,n,t)):typeof o=="object"&&i.push(ug(o,t,n));r[s]=i}else typeof a=="object"&&a!==null?r[s]=ug(a,t,n):r[s]=a;return r}var Dp=class extends je{lc_namespace=["langchain_core","prompts","chat"];lc_serializable=!0;async invoke(e,t){return this._callWithConfig(n=>this.formatMessages(n),e,{...t,runType:"prompt"})}},lg=class extends Dp{static lc_name(){return"MessagesPlaceholder"}variableName;optional;constructor(e){typeof e=="string"&&(e={variableName:e}),super(e),this.variableName=e.variableName,this.optional=e.optional??!1}get inputVariables(){return[this.variableName]}async formatMessages(e){let t=e[this.variableName];if(this.optional&&!t)return[];if(!t){let r=new Error(`Field "${this.variableName}" in prompt uses a MessagesPlaceholder, which expects an array of BaseMessages as an input value. Received: undefined`);throw r.name="InputFormatError",r}let n;try{Array.isArray(t)?n=t.map($r):n=[$r(t)]}catch(r){let s=typeof t=="string"?t:JSON.stringify(t,null,2),a=new Error([`Field "${this.variableName}" in prompt uses a MessagesPlaceholder, which expects an array of BaseMessages or coerceable values as input.`,`Received value: ${s}`,`Additional message: ${r.message}`].join(`
169
+
170
+ `));throw a.name="InputFormatError",a.lc_error_code=r.lc_error_code,a}return n}},YO=class extends Dp{prompt;constructor(e){"prompt"in e||(e={prompt:e}),super(e),this.prompt=e.prompt}get inputVariables(){return this.prompt.inputVariables}async formatMessages(e){return[await this.format(e)]}},u_=class extends tu{constructor(e){super(e)}async format(e){return(await this.formatPromptValue(e)).toString()}async formatPromptValue(e){return new Qy(await this.formatMessages(e))}},QO=class extends YO{static lc_name(){return"ChatMessagePromptTemplate"}role;constructor(e,t){"prompt"in e||(e={prompt:e,role:t}),super(e),this.role=e.role}async format(e){return new ns(await this.prompt.format(e),this.role)}static fromTemplate(e,t,n){return new this(xs.fromTemplate(e,{templateFormat:n?.templateFormat}),t)}};function L4(e){return e===null||typeof e!="object"||Array.isArray(e)?!1:Object.keys(e).length===1&&"text"in e&&typeof e.text=="string"}function z4(e){return e===null||typeof e!="object"||Array.isArray(e)?!1:"image_url"in e&&(typeof e.image_url=="string"||typeof e.image_url=="object"&&e.image_url!==null&&"url"in e.image_url&&typeof e.image_url.url=="string")}var l_=class extends Dp{lc_namespace=["langchain_core","prompts","chat"];lc_serializable=!0;inputVariables=[];additionalOptions={};prompt;messageClass;static _messageClass(){throw new Error("Can not invoke _messageClass from inside _StringImageMessagePromptTemplate")}chatMessageClass;constructor(e,t){if("prompt"in e||(e={prompt:e}),super(e),this.prompt=e.prompt,Array.isArray(this.prompt)){let n=[];this.prompt.forEach(r=>{"inputVariables"in r&&(n=n.concat(r.inputVariables))}),this.inputVariables=n}else this.inputVariables=this.prompt.inputVariables;this.additionalOptions=t??this.additionalOptions}createMessage(e){let t=this.constructor;if(t._messageClass())return new(t._messageClass())({content:e});if(t.chatMessageClass){let n=t.chatMessageClass();return new n({content:e,role:this.getRoleFromMessageClass(n.lc_name())})}else throw new Error("No message class defined")}getRoleFromMessageClass(e){switch(e){case"HumanMessage":return"human";case"AIMessage":return"ai";case"SystemMessage":return"system";case"ChatMessage":return"chat";default:throw new Error("Invalid message class name")}}static fromTemplate(e,t){if(typeof e=="string")return new this(xs.fromTemplate(e,t));let n=[];for(let r of e)if(typeof r=="string")n.push(xs.fromTemplate(r,t));else if(r!==null)if(L4(r)){let s="";typeof r.text=="string"&&(s=r.text??"");let a={...t,additionalContentFields:r};n.push(xs.fromTemplate(s,a))}else if(z4(r)){let s=r.image_url??"",a,i=[];if(typeof s=="string"){let o;t?.templateFormat==="mustache"?o=Hl(s):o=pc(s);let c=o.flatMap(u=>u.type==="variable"?[u.name]:[]);if((c?.length??0)>0){if(c.length>1)throw new Error(`Only one format variable allowed per image template.
171
+ Got: ${c}
172
+ From: ${s}`);i=[c[0]]}else i=[];s={url:s},a=new cl({template:s,inputVariables:i,templateFormat:t?.templateFormat,additionalContentFields:r})}else if(typeof s=="object"){if("url"in s){let o;t?.templateFormat==="mustache"?o=Hl(s.url):o=pc(s.url),i=o.flatMap(c=>c.type==="variable"?[c.name]:[])}else i=[];a=new cl({template:s,inputVariables:i,templateFormat:t?.templateFormat,additionalContentFields:r})}else throw new Error("Invalid image template");n.push(a)}else typeof r=="object"&&n.push(new og({template:r,templateFormat:t?.templateFormat}));return new this({prompt:n,additionalOptions:t})}async format(e){if(this.prompt instanceof lc){let t=await this.prompt.format(e);return this.createMessage(t)}else{let t=[];for(let n of this.prompt){let r={};if(!("inputVariables"in n))throw new Error(`Prompt ${n} does not have inputVariables defined.`);for(let s of n.inputVariables)r||(r={[s]:e[s]}),r={...r,[s]:e[s]};if(n instanceof lc){let s=await n.format(r),a;"additionalContentFields"in n&&(a=n.additionalContentFields),s!==""&&t.push({...a,type:"text",text:s})}else if(n instanceof cl){let s=await n.format(r),a;"additionalContentFields"in n&&(a=n.additionalContentFields),t.push({...a,type:"image_url",image_url:s})}else if(n instanceof og){let s=await n.format(r),a;"additionalContentFields"in n&&(a=n.additionalContentFields),t.push({...a,...s})}}return this.createMessage(t)}}async formatMessages(e){return[await this.format(e)]}},d_=class extends l_{static _messageClass(){return jn}static lc_name(){return"HumanMessagePromptTemplate"}},eS=class extends l_{static _messageClass(){return Qe}static lc_name(){return"AIMessagePromptTemplate"}},p_=class extends l_{static _messageClass(){return jr}static lc_name(){return"SystemMessagePromptTemplate"}};function U4(e){return typeof e.formatMessages=="function"}function D4(e,t){if(U4(e)||Mt(e))return e;if(Array.isArray(e)&&e[0]==="placeholder"){let s=e[1];if(t?.templateFormat==="mustache"&&typeof s=="string"&&s.slice(0,2)==="{{"&&s.slice(-2)==="}}")return new lg({variableName:s.slice(2,-2),optional:!0});if(typeof s=="string"&&s[0]==="{"&&s[s.length-1]==="}")return new lg({variableName:s.slice(1,-1),optional:!0});throw new Error(`Invalid placeholder template for format ${t?.templateFormat??'"f-string"'}: "${e[1]}". Expected a variable name surrounded by ${t?.templateFormat==="mustache"?"double":"single"} curly braces.`)}let n=$r(e),r;if(typeof n.content=="string"?r=n.content:r=n.content.map(s=>"text"in s?{...s,text:s.text}:"image_url"in s?{...s,image_url:s.image_url}:s),n._getType()==="human")return d_.fromTemplate(r,t);if(n._getType()==="ai")return eS.fromTemplate(r,t);if(n._getType()==="system")return p_.fromTemplate(r,t);if(ns.isInstance(n))return QO.fromTemplate(n.content,n.role,t);throw new Error(`Could not coerce message prompt template from input. Received message type: "${n._getType()}".`)}function F4(e){return e.constructor.lc_name()==="MessagesPlaceholder"}var Fp=class ul extends u_{static lc_name(){return"ChatPromptTemplate"}get lc_aliases(){return{promptMessages:"messages"}}promptMessages;validateTemplate=!0;templateFormat="f-string";constructor(t){if(super(t),t.templateFormat==="mustache"&&t.validateTemplate===void 0&&(this.validateTemplate=!1),Object.assign(this,t),this.validateTemplate){let n=new Set;for(let o of this.promptMessages)if(!(o instanceof tn))for(let c of o.inputVariables)n.add(c);let r=this.inputVariables,s=new Set(this.partialVariables?r.concat(Object.keys(this.partialVariables)):r),a=new Set([...s].filter(o=>!n.has(o)));if(a.size>0)throw new Error(`Input variables \`${[...a]}\` are not used in any of the prompt messages.`);let i=new Set([...n].filter(o=>!s.has(o)));if(i.size>0)throw new Error(`Input variables \`${[...i]}\` are used in prompt messages but not in the prompt template.`)}}_getPromptType(){return"chat"}async _parseImagePrompts(t,n){return typeof t.content=="string"||(t.content=await Promise.all(t.content.map(async r=>{if(r.type!=="image_url")return r;let s="";typeof r.image_url=="string"?s=r.image_url:typeof r.image_url=="object"&&r.image_url!==null&&"url"in r.image_url&&typeof r.image_url.url=="string"&&(s=r.image_url.url);let a=await xs.fromTemplate(s,{templateFormat:this.templateFormat}).format(n);return typeof r.image_url=="object"&&r.image_url!==null&&"url"in r.image_url?r.image_url.url=a:r.image_url=a,r}))),t}async formatMessages(t){let n=await this.mergePartialAndUserVariables(t),r=[];for(let s of this.promptMessages)if(s instanceof tn)r.push(await this._parseImagePrompts(s,n));else{let a;this.templateFormat==="mustache"?a={...n}:a=s.inputVariables.reduce((o,c)=>{if(!(c in n)&&!(F4(s)&&s.optional))throw Zc(new Error(`Missing value for input variable \`${c.toString()}\``),"INVALID_PROMPT_INPUT");return o[c]=n[c],o},{});let i=await s.formatMessages(a);r=r.concat(i)}return r}async partial(t){let n=this.inputVariables.filter(s=>!(s in t)),r={...this.partialVariables??{},...t};return new ul({...this,inputVariables:n,partialVariables:r})}static fromTemplate(t,n){let r=new d_({prompt:xs.fromTemplate(t,n)});return this.fromMessages([r])}static fromMessages(t,n){let r=t.reduce((i,o)=>i.concat(o instanceof ul?o.promptMessages:[D4(o,n)]),[]),s=t.reduce((i,o)=>o instanceof ul?Object.assign(i,o.partialVariables):i,Object.create(null)),a=new Set;for(let i of r)if(!(i instanceof tn))for(let o of i.inputVariables)o in s||a.add(o);return new this({...n,inputVariables:[...a],promptMessages:r,partialVariables:s,templateFormat:n?.templateFormat})}},B4=class dg extends lc{lc_serializable=!1;examples;exampleSelector;examplePrompt;suffix="";exampleSeparator=`
173
+
174
+ `;prefix="";templateFormat="f-string";validateTemplate=!0;constructor(t){if(super(t),Object.assign(this,t),this.examples!==void 0&&this.exampleSelector!==void 0)throw new Error("Only one of 'examples' and 'example_selector' should be provided");if(this.examples===void 0&&this.exampleSelector===void 0)throw new Error("One of 'examples' and 'example_selector' should be provided");if(this.validateTemplate){let n=this.inputVariables;this.partialVariables&&(n=n.concat(Object.keys(this.partialVariables))),ru(this.prefix+this.suffix,this.templateFormat,n)}}_getPromptType(){return"few_shot"}static lc_name(){return"FewShotPromptTemplate"}async getExamples(t){if(this.examples!==void 0)return this.examples;if(this.exampleSelector!==void 0)return this.exampleSelector.selectExamples(t);throw new Error("One of 'examples' and 'example_selector' should be provided")}async partial(t){let n=this.inputVariables.filter(s=>!(s in t)),r={...this.partialVariables??{},...t};return new dg({...this,inputVariables:n,partialVariables:r})}async format(t){let n=await this.mergePartialAndUserVariables(t),r=await this.getExamples(n),s=await Promise.all(r.map(a=>this.examplePrompt.format(a)));return lr([this.prefix,...s,this.suffix].join(this.exampleSeparator),this.templateFormat,n)}serialize(){if(this.exampleSelector||!this.examples)throw new Error("Serializing an example selector is not currently supported");if(this.outputParser!==void 0)throw new Error("Serializing an output parser is not currently supported");return{_type:this._getPromptType(),input_variables:this.inputVariables,example_prompt:this.examplePrompt.serialize(),example_separator:this.exampleSeparator,suffix:this.suffix,prefix:this.prefix,template_format:this.templateFormat,examples:this.examples}}static async deserialize(t){let{example_prompt:n}=t;if(!n)throw new Error("Missing example prompt");let r=await xs.deserialize(n),s;if(Array.isArray(t.examples))s=t.examples;else throw new Error("Invalid examples format. Only list or string are supported.");return new dg({inputVariables:t.input_variables,examplePrompt:r,examples:s,exampleSeparator:t.example_separator,prefix:t.prefix,suffix:t.suffix,templateFormat:t.template_format})}},Z4=class tS extends u_{lc_serializable=!0;examples;exampleSelector;examplePrompt;suffix="";exampleSeparator=`
175
+
176
+ `;prefix="";templateFormat="f-string";validateTemplate=!0;_getPromptType(){return"few_shot_chat"}static lc_name(){return"FewShotChatMessagePromptTemplate"}constructor(t){if(super(t),this.examples=t.examples,this.examplePrompt=t.examplePrompt,this.exampleSeparator=t.exampleSeparator??`
177
+
178
+ `,this.exampleSelector=t.exampleSelector,this.prefix=t.prefix??"",this.suffix=t.suffix??"",this.templateFormat=t.templateFormat??"f-string",this.validateTemplate=t.validateTemplate??!0,this.examples!==void 0&&this.exampleSelector!==void 0)throw new Error("Only one of 'examples' and 'example_selector' should be provided");if(this.examples===void 0&&this.exampleSelector===void 0)throw new Error("One of 'examples' and 'example_selector' should be provided");if(this.validateTemplate){let n=this.inputVariables;this.partialVariables&&(n=n.concat(Object.keys(this.partialVariables))),ru(this.prefix+this.suffix,this.templateFormat,n)}}async getExamples(t){if(this.examples!==void 0)return this.examples;if(this.exampleSelector!==void 0)return this.exampleSelector.selectExamples(t);throw new Error("One of 'examples' and 'example_selector' should be provided")}async formatMessages(t){let n=await this.mergePartialAndUserVariables(t),r=await this.getExamples(n);r=r.map(a=>{let i={};return this.examplePrompt.inputVariables.forEach(o=>{i[o]=a[o]}),i});let s=[];for(let a of r){let i=await this.examplePrompt.formatMessages(a);s.push(...i)}return s}async format(t){let n=await this.mergePartialAndUserVariables(t),r=await this.getExamples(n),s=(await Promise.all(r.map(a=>this.examplePrompt.formatMessages(a)))).flat().map(a=>a.content);return lr([this.prefix,...s,this.suffix].join(this.exampleSeparator),this.templateFormat,n)}async partial(t){let n=this.inputVariables.filter(s=>!(s in t)),r={...this.partialVariables??{},...t};return new tS({...this,inputVariables:n,partialVariables:r})}},V4=class ll extends tu{static lc_name(){return"PipelinePromptTemplate"}pipelinePrompts;finalPrompt;constructor(t){super({...t,inputVariables:[]}),this.pipelinePrompts=t.pipelinePrompts,this.finalPrompt=t.finalPrompt,this.inputVariables=this.computeInputValues()}computeInputValues(){let t=this.pipelinePrompts.map(r=>r.name),n=this.pipelinePrompts.map(r=>r.prompt.inputVariables.filter(s=>!t.includes(s))).flat();return[...new Set(n)]}static extractRequiredInputValues(t,n){return n.reduce((r,s)=>(r[s]=t[s],r),{})}async formatPipelinePrompts(t){let n=await this.mergePartialAndUserVariables(t);for(let{name:r,prompt:s}of this.pipelinePrompts){let a=ll.extractRequiredInputValues(n,s.inputVariables);s instanceof Fp?n[r]=await s.formatMessages(a):n[r]=await s.format(a)}return ll.extractRequiredInputValues(n,this.finalPrompt.inputVariables)}async formatPromptValue(t){return this.finalPrompt.formatPromptValue(await this.formatPipelinePrompts(t))}async format(t){return this.finalPrompt.format(await this.formatPipelinePrompts(t))}async partial(t){let n={...this};return n.inputVariables=this.inputVariables.filter(r=>!(r in t)),n.partialVariables={...this.partialVariables??{},...t},new ll(n)}serialize(){throw new Error("Not implemented.")}_getPromptType(){return"pipeline"}};function hb(e){return typeof e=="object"&&e!=null&&"withStructuredOutput"in e&&typeof e.withStructuredOutput=="function"}function q4(e){return typeof e=="object"&&e!=null&&"lc_id"in e&&Array.isArray(e.lc_id)&&e.lc_id.join("/")==="langchain_core/runnables/RunnableBinding"}var H4=class nS extends Fp{schema;method;lc_namespace=["langchain_core","prompts","structured"];get lc_aliases(){return{...super.lc_aliases,schema:"schema_"}}constructor(t){super(t),this.schema=t.schema,this.method=t.method}pipe(t){if(hb(t))return super.pipe(t.withStructuredOutput(this.schema));if(q4(t)&&hb(t.bound))return super.pipe(new $s({bound:t.bound.withStructuredOutput(this.schema,...this.method?[{method:this.method}]:[]),kwargs:t.kwargs??{},config:t.config,configFactories:t.configFactories}));throw new Error('Structured prompts need to be piped to a language model that supports the "withStructuredOutput()" method.')}static fromMessagesAndSchema(t,n,r){return nS.fromMessages(t,{schema:n,method:r})}},W4=Q({AIMessagePromptTemplate:()=>eS,BaseChatPromptTemplate:()=>u_,BaseMessagePromptTemplate:()=>Dp,BaseMessageStringPromptTemplate:()=>YO,BasePromptTemplate:()=>tu,BaseStringPromptTemplate:()=>lc,ChatMessagePromptTemplate:()=>QO,ChatPromptTemplate:()=>Fp,DEFAULT_FORMATTER_MAPPING:()=>Wl,DEFAULT_PARSER_MAPPING:()=>KO,DictPromptTemplate:()=>og,FewShotChatMessagePromptTemplate:()=>Z4,FewShotPromptTemplate:()=>B4,HumanMessagePromptTemplate:()=>d_,ImagePromptTemplate:()=>cl,MessagesPlaceholder:()=>lg,PipelinePromptTemplate:()=>V4,PromptTemplate:()=>xs,StructuredPrompt:()=>H4,SystemMessagePromptTemplate:()=>p_,checkValidTemplate:()=>ru,interpolateFString:()=>JO,interpolateMustache:()=>GO,parseFString:()=>pc,parseMustache:()=>Hl,parseTemplate:()=>Jl,renderTemplate:()=>lr}),J4=Q({BaseDocumentCompressor:()=>G4}),G4=class{static isBaseDocumentCompressor(e){return e?.compressDocuments!==void 0}},K4=Q({BaseRetriever:()=>h_}),h_=class extends je{callbacks;tags;metadata;verbose;constructor(e){super(e),this.callbacks=e?.callbacks,this.tags=e?.tags??[],this.metadata=e?.metadata??{},this.verbose=e?.verbose??!1}_getRelevantDocuments(e,t){throw new Error("Not implemented!")}async invoke(e,t){let n=Le(Gc(t)),r=await(await nn.configure(n.callbacks,this.callbacks,n.tags,this.tags,n.metadata,this.metadata,{verbose:this.verbose}))?.handleRetrieverStart(this.toJSON(),e,n.runId,void 0,void 0,void 0,n.runName);try{let s=await this._getRelevantDocuments(e,r);return await r?.handleRetrieverEnd(s),s}catch(s){throw await r?.handleRetrieverError(s),s}}},X4=Q({BaseStore:()=>rS,InMemoryStore:()=>Y4}),rS=class extends Bn{},Y4=class extends rS{lc_namespace=["langchain","storage"];store={};async mget(e){return e.map(t=>this.store[t])}async mset(e){for(let[t,n]of e)this.store[t]=n}async mdelete(e){for(let t of e)delete this.store[t]}async*yieldKeys(e){let t=Object.keys(this.store);for(let n of t)(e===void 0||n.startsWith(e))&&(yield n)}},ms={and:"and",or:"or",not:"not"},Pe={eq:"eq",ne:"ne",lt:"lt",gt:"gt",lte:"lte",gte:"gte"},sS=class{},f_=class{accept(e){if(this.exprName==="Operation")return e.visitOperation(this);if(this.exprName==="Comparison")return e.visitComparison(this);if(this.exprName==="StructuredQuery")return e.visitStructuredQuery(this);throw new Error("Unknown Expression type")}},m_=class extends f_{},Q4=class extends m_{exprName="Comparison";constructor(e,t,n){super(),this.comparator=e,this.attribute=t,this.value=n}},ez=class extends m_{exprName="Operation";constructor(e,t){super(),this.operator=e,this.args=t}},tz=class extends f_{exprName="StructuredQuery";constructor(e,t){super(),this.query=e,this.filter=t}};function aS(e){return e&&typeof e=="object"&&!Array.isArray(e)}function ir(e){return e?typeof e=="string"&&e.length>0||typeof e=="function"?!1:aS(e)&&Object.keys(e).length===0:!0}function iS(e){if(typeof e=="number")return e%1===0;if(typeof e=="string"){let t=parseInt(e,10);return!Number.isNaN(t)&&t%1===0&&t.toString()===e}return!1}function oS(e){if(typeof e=="number")return e%1!==0;if(typeof e=="string"){let t=parseFloat(e);return!Number.isNaN(t)&&t%1!==0&&t.toString()===e}return!1}function cS(e){return typeof e=="string"&&(Number.isNaN(parseFloat(e))||parseFloat(e).toString()!==e)}function uS(e){return typeof e=="boolean"}function g_(e){let t;if(cS(e))t=e;else if(iS(e))t=parseInt(e,10);else if(oS(e))t=parseFloat(e);else if(uS(e))t=!!e;else throw new Error("Unsupported value type");return t}var y_=class extends sS{},nz=class extends y_{allowedOperators;allowedComparators;constructor(e){super(),this.allowedOperators=e?.allowedOperators??[ms.and,ms.or],this.allowedComparators=e?.allowedComparators??[Pe.eq,Pe.ne,Pe.gt,Pe.gte,Pe.lt,Pe.lte]}formatFunction(e){if(e in Pe){if(this.allowedComparators.length>0&&this.allowedComparators.indexOf(e)===-1)throw new Error(`Comparator ${e} not allowed. Allowed comparators: ${this.allowedComparators.join(", ")}`)}else if(e in ms){if(this.allowedOperators.length>0&&this.allowedOperators.indexOf(e)===-1)throw new Error(`Operator ${e} not allowed. Allowed operators: ${this.allowedOperators.join(", ")}`)}else throw new Error("Unknown comparator or operator");return`$${e}`}visitOperation(e){let t=e.args?.map(n=>n.accept(this));return{[this.formatFunction(e.operator)]:t}}visitComparison(e){return{[e.attribute]:{[this.formatFunction(e.comparator)]:g_(e.value)}}}visitStructuredQuery(e){let t={};return e.filter&&(t={filter:e.filter.accept(this)}),t}mergeFilters(e,t,n="and",r=!1){if(!(ir(e)&&ir(t))){if(ir(e)||n==="replace")return ir(t)?void 0:t;if(ir(t))return r?e:n==="and"?void 0:e;if(n==="and")return{$and:[e,t]};if(n==="or")return{$or:[e,t]};throw new Error("Unknown merge type")}}},rz=class extends y_{allowedOperators=[ms.and,ms.or];allowedComparators=[Pe.eq,Pe.ne,Pe.gt,Pe.gte,Pe.lt,Pe.lte];formatFunction(){throw new Error("Not implemented")}getAllowedComparatorsForType(e){switch(e){case"string":return[Pe.eq,Pe.ne,Pe.gt,Pe.gte,Pe.lt,Pe.lte];case"number":return[Pe.eq,Pe.ne,Pe.gt,Pe.gte,Pe.lt,Pe.lte];case"boolean":return[Pe.eq,Pe.ne];default:throw new Error(`Unsupported data type: ${e}`)}}getComparatorFunction(e){switch(e){case Pe.eq:return(t,n)=>t===n;case Pe.ne:return(t,n)=>t!==n;case Pe.gt:return(t,n)=>t>n;case Pe.gte:return(t,n)=>t>=n;case Pe.lt:return(t,n)=>t<n;case Pe.lte:return(t,n)=>t<=n;default:throw new Error("Unknown comparator")}}getOperatorFunction(e){switch(e){case ms.and:return(t,n)=>t&&n;case ms.or:return(t,n)=>t||n;default:throw new Error("Unknown operator")}}visitOperation(e){let{operator:t,args:n}=e;if(this.allowedOperators.includes(t)){let r=this.getOperatorFunction(t);return s=>n?n.reduce((a,i)=>{let o=i.accept(this);if(typeof o=="function")return r(a,o(s));throw new Error("Filter is not a function")},!0):!0}else throw new Error("Operator not allowed")}visitComparison(e){let{comparator:t,attribute:n,value:r}=e,s=[Pe.ne];if(this.allowedComparators.includes(t)){if(!this.getAllowedComparatorsForType(typeof r).includes(t))throw new Error(`'${t}' comparator not allowed to be used with ${typeof r}`);let a=this.getComparatorFunction(t);return i=>{let o=i.metadata[n];return o===void 0?!!s.includes(t):a(o,g_(r))}}else throw new Error("Comparator not allowed")}visitStructuredQuery(e){if(!e.filter)return{};let t=e.filter?.accept(this);if(typeof t!="function")throw new Error("Structured query filter is not a function");return{filter:t}}mergeFilters(e,t,n="and"){if(!(ir(e)&&ir(t))){if(ir(e)||n==="replace")return ir(t)?void 0:t;if(ir(t))return n==="and"?void 0:e;if(n==="and")return r=>e(r)&&t(r);if(n==="or")return r=>e(r)||t(r);throw new Error("Unknown merge type")}}},sz=Q({BaseTranslator:()=>y_,BasicTranslator:()=>nz,Comparators:()=>Pe,Comparison:()=>Q4,Expression:()=>f_,FilterDirective:()=>m_,FunctionalTranslator:()=>rz,Operation:()=>ez,Operators:()=>ms,StructuredQuery:()=>tz,Visitor:()=>sS,castValue:()=>g_,isBoolean:()=>uS,isFilterEmpty:()=>ir,isFloat:()=>oS,isInt:()=>iS,isObject:()=>aS,isString:()=>cS});function hc(e){return tn.isInstance(e)?e.constructor.name||e.type:typeof e}function Bp(e,t){return function(n,r){let{isNot:s,utils:a}=this;if(!t(n))return{pass:!1,message:()=>`${a.matcherHint(`toBe${e}`,void 0,void 0)}
179
+
180
+ Expected: ${s?"not ":""}${e}
181
+ Received: ${hc(n)}`,actual:hc(n),expected:e};if(r===void 0)return{pass:!0,message:()=>`${a.matcherHint(`toBe${e}`,void 0,void 0)}
182
+
183
+ Expected: not ${e}
184
+ Received: ${e}`};let i=n;return typeof r=="string"?{pass:i.content===r,message:()=>`${a.matcherHint(`toBe${e}`,void 0,void 0)}
185
+
186
+ Expected: ${e} with content ${a.printExpected(r)}
187
+ Received: ${e} with content ${a.printReceived(i.content)}`,actual:i.content,expected:r}:{pass:Object.entries(r).every(([o,c])=>this.equals(i[o],c)),message:()=>{let o={};for(let c of Object.keys(r))o[c]=i[c];return`${a.matcherHint(`toBe${e}`,void 0,void 0)}
188
+
189
+ Expected: ${e} matching ${a.printExpected(r)}
190
+ Received: ${e} with ${a.printReceived(o)}`},actual:(()=>{let o={};for(let c of Object.keys(r))o[c]=i[c];return o})(),expected:r}}}var lS=Bp("HumanMessage",jn.isInstance),dS=Bp("AIMessage",Qe.isInstance),pS=Bp("SystemMessage",jr.isInstance),hS=Bp("ToolMessage",Zn.isInstance);function fS(e,t){let{isNot:n,utils:r}=this;if(!Qe.isInstance(e))return{pass:!1,message:()=>`${r.matcherHint("toHaveToolCalls")}
191
+
192
+ Expected: AIMessage
193
+ Received: ${hc(e)}`};let s=e.tool_calls??[];if(s.length!==t.length)return{pass:!1,message:()=>`${r.matcherHint("toHaveToolCalls")}
194
+
195
+ Expected ${n?"not ":""}${t.length} tool call(s), received ${s.length}`,actual:s.length,expected:t.length};let a=t.filter(i=>!s.some(o=>Object.entries(i).every(([c,u])=>this.equals(o[c],u))));return a.length>0?{pass:!1,message:()=>`${r.matcherHint("toHaveToolCalls")}
196
+
197
+ Could not find matching tool call(s) for:
198
+ ${r.printExpected(a)}
199
+ Received tool calls: ${r.printReceived(s.map(i=>({name:i.name,id:i.id,args:i.args})))}`,actual:s.map(i=>({name:i.name,id:i.id,args:i.args})),expected:t}:{pass:!0,message:()=>`${r.matcherHint("toHaveToolCalls")}
200
+
201
+ Expected AIMessage not to have matching tool calls`}}function mS(e,t){let{isNot:n,utils:r}=this;if(!Qe.isInstance(e))return{pass:!1,message:()=>`${r.matcherHint("toHaveToolCallCount")}
202
+
203
+ Expected: AIMessage
204
+ Received: ${hc(e)}`};let s=e.tool_calls?.length??0;return{pass:s===t,message:()=>`${r.matcherHint("toHaveToolCallCount")}
205
+
206
+ Expected ${n?"not ":""}${t} tool call(s)
207
+ Received: ${s}`,actual:s,expected:t}}function gS(e,t){let{isNot:n,utils:r}=this;if(!Qe.isInstance(e))return{pass:!1,message:()=>`${r.matcherHint("toContainToolCall")}
208
+
209
+ Expected: AIMessage
210
+ Received: ${hc(e)}`};let s=e.tool_calls??[];return{pass:s.some(a=>Object.entries(t).every(([i,o])=>this.equals(a[i],o))),message:()=>`${r.matcherHint("toContainToolCall")}
211
+
212
+ Expected AIMessage ${n?"not ":""}to contain a tool call matching ${r.printExpected(t)}
213
+ Received tool calls: ${r.printReceived(s.map(a=>({name:a.name,id:a.id})))}`,actual:s.map(a=>({name:a.name,id:a.id})),expected:t}}function yS(e,t){let{isNot:n,utils:r}=this;if(!Array.isArray(e))return{pass:!1,message:()=>`${r.matcherHint("toHaveToolMessages")}
214
+
215
+ Expected an array of messages
216
+ Received: ${typeof e}`};let s=e.filter(Zn.isInstance);if(s.length!==t.length)return{pass:!1,message:()=>`${r.matcherHint("toHaveToolMessages")}
217
+
218
+ Expected ${n?"not ":""}${t.length} tool message(s), found ${s.length}`,actual:s.length,expected:t.length};for(let a=0;a<t.length;a++)if(!Object.entries(t[a]).every(([i,o])=>this.equals(s[a][i],o)))return{pass:!1,message:()=>{let i={};for(let o of Object.keys(t[a]))i[o]=s[a][o];return`${r.matcherHint("toHaveToolMessages")}
219
+
220
+ Tool message at index ${a} did not match:
221
+ Expected: ${r.printExpected(t[a])}
222
+ Received: ${r.printReceived(i)}`},actual:s[a],expected:t[a]};return{pass:!0,message:()=>`${r.matcherHint("toHaveToolMessages")}
223
+
224
+ Expected messages not to contain matching tool messages`}}function _S(e,t){let{isNot:n,utils:r}=this,s=e?.__interrupt__;if(!(Array.isArray(s)&&s.length>0))return{pass:!1,message:()=>`${r.matcherHint("toHaveBeenInterrupted")}
225
+
226
+ Expected result ${n?"not ":""}to have been interrupted
227
+ Received __interrupt__: ${r.printReceived(s)}`};if(t===void 0)return{pass:!0,message:()=>`${r.matcherHint("toHaveBeenInterrupted")}
228
+
229
+ Expected result not to have been interrupted
230
+ Received ${s.length} interrupt(s)`};let a=s[0]?.value;return{pass:this.equals(a,t),message:()=>`${r.matcherHint("toHaveBeenInterrupted")}
231
+
232
+ Expected interrupt value: ${r.printExpected(t)}
233
+ Received interrupt value: ${r.printReceived(a)}`,actual:a,expected:t}}function vS(e,t){let{isNot:n,utils:r}=this,s=e?.structuredResponse;return s===void 0?{pass:!1,message:()=>`${r.matcherHint("toHaveStructuredResponse")}
234
+
235
+ Expected result ${n?"not ":""}to have a structured response
236
+ Received structuredResponse: undefined`}:t===void 0?{pass:!0,message:()=>`${r.matcherHint("toHaveStructuredResponse")}
237
+
238
+ Expected result not to have a structured response`}:{pass:Object.entries(t).every(([a,i])=>this.equals(s[a],i)),message:()=>`${r.matcherHint("toHaveStructuredResponse")}
239
+
240
+ Expected structured response: ${r.printExpected(t)}
241
+ Received structured response: ${r.printReceived(s)}`,actual:s,expected:t}}var az={toBeHumanMessage:lS,toBeAIMessage:dS,toBeSystemMessage:pS,toBeToolMessage:hS,toHaveToolCalls:fS,toHaveToolCallCount:mS,toContainToolCall:gS,toHaveToolMessages:yS,toHaveBeenInterrupted:_S,toHaveStructuredResponse:vS};function iz(e){return e.map(t=>t.text).filter(Boolean).join("-")}var fb=0;function oz(){return fb+=1,`fake_tc_${fb}`}var wS=class bS extends za{queue=[];_alwaysThrowError;_structuredResponseValue;_tools=[];_callIndex=0;_calls=[];get calls(){return this._calls}get callCount(){return this._calls.length}constructor(){super({})}_llmType(){return"fake-model-builder"}_combineLLMOutput(){return[]}respond(t){return typeof t=="function"?this.queue.push({kind:"factory",factory:t}):tn.isInstance(t)?this.queue.push({kind:"message",message:t}):this.queue.push({kind:"error",error:t}),this}respondWithTools(t){return this.queue.push({kind:"toolCalls",toolCalls:t.map(n=>({name:n.name,args:n.args,id:n.id??oz(),type:"tool_call"}))}),this}alwaysThrow(t){return this._alwaysThrowError=t,this}structuredResponse(t){return this._structuredResponseValue=t,this}bindTools(t){let n=[...this._tools,...t],r=new bS;return r.queue=this.queue,r._alwaysThrowError=this._alwaysThrowError,r._structuredResponseValue=this._structuredResponseValue,r._tools=n,r._calls=this._calls,r._callIndex=this._callIndex,r.withConfig({})}withStructuredOutput(t,n){let{_structuredResponseValue:r}=this;return _r.from(async()=>r)}async _generate(t,n,r){this._calls.push({messages:[...t],options:n});let s=this._callIndex;if(this._callIndex+=1,this._alwaysThrowError)throw this._alwaysThrowError;let a=this.queue[s];if(!a)throw new Error(`FakeModel: no response queued for invocation ${s} (${this.queue.length} total queued).`);if(a.kind==="error")throw a.error;if(a.kind==="factory"){let o=a.factory(t);if(!tn.isInstance(o))throw o;return{generations:[{text:"",message:o}]}}if(a.kind==="message")return{generations:[{text:"",message:a.message}]};let i=iz(t);return{generations:[{text:i,message:new Qe({content:i,id:s.toString(),tool_calls:a.toolCalls.length>0?a.toolCalls.map(o=>({...o,type:"tool_call"})):void 0})}],llmOutput:{}}}};function cz(){return new wS}var uz=Q({FakeBuiltModel:()=>wS,fakeModel:()=>cz,langchainMatchers:()=>az,toBeAIMessage:()=>dS,toBeHumanMessage:()=>lS,toBeSystemMessage:()=>pS,toBeToolMessage:()=>hS,toContainToolCall:()=>gS,toHaveBeenInterrupted:()=>_S,toHaveStructuredResponse:()=>vS,toHaveToolCallCount:()=>mS,toHaveToolCalls:()=>fS,toHaveToolMessages:()=>yS});function __(e){return e!==void 0&&Array.isArray(e.lc_namespace)}function v_(e){return e!==void 0&&je.isRunnable(e)&&"lc_name"in e.constructor&&typeof e.constructor.lc_name=="function"&&e.constructor.lc_name()==="RunnableToolLike"}function w_(e){return!!e&&typeof e=="object"&&"name"in e&&"schema"in e&&(Nn(e.schema)||e.schema!=null&&typeof e.schema=="object"&&"type"in e.schema&&typeof e.schema.type=="string"&&["null","boolean","object","array","number","string"].includes(e.schema.type))}function su(e){return w_(e)||v_(e)||__(e)}var lz=Q({BaseToolkit:()=>dz,DynamicStructuredTool:()=>OS,DynamicTool:()=>xS,StructuredTool:()=>Zp,Tool:()=>kS,ToolInputParsingException:()=>Al,isLangChainTool:()=>su,isRunnableToolLike:()=>v_,isStructuredTool:()=>__,isStructuredToolParams:()=>w_,tool:()=>pz}),Zp=class extends n_{extras;returnDirect=!1;verboseParsingErrors=!1;get lc_namespace(){return["langchain","tools"]}responseFormat="content";defaultConfig;constructor(e){super(e??{}),this.verboseParsingErrors=e?.verboseParsingErrors??this.verboseParsingErrors,this.responseFormat=e?.responseFormat??this.responseFormat,this.defaultConfig=e?.defaultConfig??this.defaultConfig,this.metadata=e?.metadata??this.metadata,this.extras=e?.extras??this.extras}async invoke(e,t){let n,r=Le(Fn(this.defaultConfig,t));return Fo(e)?(n=e.args,r={...r,toolCall:e}):n=e,this.call(n,r)}async call(e,t,n){let r=Fo(e)?e.args:e,s;if(Nn(this.schema))try{s=await Np(this.schema,r)}catch(h){let f="Received tool input did not match expected schema";throw this.verboseParsingErrors&&(f=`${f}
242
+ Details: ${h.message}`),qx(h)&&(f=`${f}
243
+
244
+ ${Uj(h)}`),new Al(f,JSON.stringify(e))}else{let h=ot(r,this.schema);if(!h.valid){let f="Received tool input did not match expected schema";throw this.verboseParsingErrors&&(f=`${f}
245
+ Details: ${h.errors.map(m=>`${m.keywordLocation}: ${m.error}`).join(`
246
+ `)}`),new Al(f,JSON.stringify(e))}s=r}let a=Gc(t),i=nn.configure(a.callbacks,this.callbacks,a.tags||n,this.tags,a.metadata,this.metadata,{verbose:this.verbose}),o;Fo(e)&&(o=e.id),!o&&o$(a)&&(o=a.toolCall.id);let c=await i?.handleToolStart(this.toJSON(),typeof e=="string"?e:JSON.stringify(e),a.runId,void 0,void 0,void 0,a.runName,o);delete a.runId;let u;try{let h=await this._call(s,c,a);u=lO(h)?await WM(h,async f=>{try{await c?.handleToolEvent(f)}catch(m){await c?.handleToolError(m)}}):h}catch(h){throw await c?.handleToolError(h),h}let l,d;if(this.responseFormat==="content_and_artifact")if(Array.isArray(u)&&u.length===2)[l,d]=u;else throw new Error(`Tool response format is "content_and_artifact" but the output was not a two-tuple.
247
+ Result: ${JSON.stringify(u)}`);else l=u;let p=hz({content:l,artifact:d,toolCallId:o,name:this.name,metadata:this.metadata});return await c?.handleToolEnd(p),p}},kS=class extends Zp{schema=Rp({input:jp().optional()}).transform(e=>e.input);constructor(e){super(e)}call(e,t){let n=typeof e=="string"||e==null?{input:e}:e;return super.call(n,t)}},xS=class extends kS{static lc_name(){return"DynamicTool"}name;description;func;constructor(e){super(e),this.name=e.name,this.description=e.description,this.func=e.func,this.returnDirect=e.returnDirect??this.returnDirect}async call(e,t){let n=Gc(t);return n.runName===void 0&&(n.runName=this.name),super.call(e,n)}_call(e,t,n){return this.func(e,t,n)}},OS=class extends Zp{static lc_name(){return"DynamicStructuredTool"}description;func;schema;constructor(e){super(e),this.name=e.name,this.description=e.description,this.func=e.func,this.returnDirect=e.returnDirect??this.returnDirect,this.schema=e.schema}async call(e,t,n){let r=Gc(t);return r.runName===void 0&&(r.runName=this.name),super.call(e,r,n)}_call(e,t,n){return this.func(e,t,n)}},dz=class{getTools(){return this.tools}};function pz(e,t){let n=Fy(t.schema),r=qo(t.schema);if(!t.schema||n||r)return new xS({...t,description:t.description??t.schema?.description??`${t.name} tool`,func:async(i,o,c)=>new Promise((u,l)=>{let d=He(c,{callbacks:o?.getChild()});zt.runWithConfig(Yr(d),async()=>{try{u(e(i,d))}catch(p){l(p)}})})});let s=t.schema,a=t.description??t.schema.description??`${t.name} tool`;return new OS({...t,description:a,schema:s,func:async(i,o,c)=>new Promise((u,l)=>{let d,p=()=>{c?.signal&&d&&c.signal.removeEventListener("abort",d)};c?.signal&&(d=()=>{p(),l(rc(c.signal))},c.signal.addEventListener("abort",d,{once:!0}));let h=He(c,{callbacks:o?.getChild()});zt.runWithConfig(Yr(h),async()=>{try{let f=await e(i,h);if(lO(f)){u(f);return}if(c?.signal?.aborted){p();return}p(),u(f)}catch(f){p(),l(f)}})})})}function hz(e){let{content:t,artifact:n,toolCallId:r,metadata:s}=e;return r&&!_y(t)?typeof t=="string"||Array.isArray(t)&&t.every(a=>typeof a=="object")?new Zn({status:"success",content:t,artifact:n,tool_call_id:r,name:e.name,metadata:s}):new Zn({status:"success",content:fz(t),artifact:n,tool_call_id:r,name:e.name,metadata:s}):t}function fz(e){try{return JSON.stringify(e)??""}catch{return`${e}`}}var mz=Q({RunCollectorCallbackHandler:()=>gz}),gz=class extends rs{name="run_collector";exampleId;tracedRuns;constructor({exampleId:e}={}){super({_awaitHandler:!0}),this.exampleId=e,this.tracedRuns=[]}async persistRun(e){let t={...e};t.reference_example_id=this.exampleId,this.tracedRuns.push(t)}},yz=Q({}),_z=Q({chunkArray:()=>vz}),vz=(e,t)=>e.reduce((n,r,s)=>{let a=Math.floor(s/t);return n[a]=(n[a]||[]).concat([r]),n},[]),wz=Q({context:()=>bz});function bz(e,...t){let n=e.raw,r="";for(let s=0;s<n.length;s++){let a=n[s].replace(/\\\n[ \t]*/g,"").replace(/\\`/g,"`").replace(/\\\$/g,"$").replace(/\\\{/g,"{");if(r+=a,s<t.length){let i=kz(t[s],r);r+=typeof i=="string"?i:JSON.stringify(i)}}return r=xz(r),r=r.trim(),r=r.replace(/\\n/g,`
248
+ `),r}function kz(e,t){if(typeof e!="string"||!e.includes(`
249
+ `))return e;let n=t.slice(t.lastIndexOf(`
250
+ `)+1).match(/^(\s+)/);if(n){let r=n[1];return e.replace(/\n/g,`
251
+ ${r}`)}return e}function xz(e){let t=e.split(`
252
+ `),n=null;for(let r of t){let s=r.match(/^(\s+)\S+/);if(s){let a=s[1].length;n===null?n=a:n=Math.min(n,a)}}return n===null?e:t.map(r=>r[0]===" "||r[0]===" "?r.slice(n):r).join(`
253
+ `)}var Oz=Q({EventStreamContentType:()=>Sz,convertEventStreamToIterableReadableDataStream:()=>Iz,getBytes:()=>SS,getLines:()=>TS,getMessages:()=>IS}),Sz="text/event-stream";async function SS(e,t){if(e instanceof ReadableStream){let n=e.getReader();for(;;){let r=await n.read();if(r.done){t(new Uint8Array,!0);break}t(r.value)}}else try{for await(let n of e)t(new Uint8Array(n));t(new Uint8Array,!0)}catch(n){throw new Error(["Parsing event source stream failed.","Ensure your implementation of fetch returns a web or Node readable stream.",`Error: ${n.message}`].join(`
254
+ `))}}var di=(function(e){return e[e.NewLine=10]="NewLine",e[e.CarriageReturn=13]="CarriageReturn",e[e.Space=32]="Space",e[e.Colon=58]="Colon",e})(di||{});function TS(e){let t,n,r,s=!1;return function(a,i){if(i){e(a,0,!0);return}t===void 0?(t=a,n=0,r=-1):t=Tz(t,a);let o=t.length,c=0;for(;n<o;){s&&(t[n]===di.NewLine&&(c=++n),s=!1);let u=-1;for(;n<o&&u===-1;++n)switch(t[n]){case di.Colon:r===-1&&(r=n-c);break;case di.CarriageReturn:s=!0;case di.NewLine:u=n;break}if(u===-1)break;e(t.subarray(c,u),r),c=n,r=-1}c===o?t=void 0:c!==0&&(t=t.subarray(c),n-=c)}}function IS(e,t,n){let r=Tf(),s=new TextDecoder;return function(a,i,o){if(o){Ez(r)||(e?.(r),r=Tf());return}if(a.length===0)e?.(r),r=Tf();else if(i>0){let c=s.decode(a.subarray(0,i)),u=i+(a[i+1]===di.Space?2:1),l=s.decode(a.subarray(u));switch(c){case"data":r.data=r.data?r.data+`
255
+ `+l:l;break;case"event":r.event=l;break;case"id":t?.(r.id=l);break;case"retry":{let d=parseInt(l,10);Number.isNaN(d)||n?.(r.retry=d);break}}}}}function Tz(e,t){let n=new Uint8Array(e.length+t.length);return n.set(e),n.set(t,e.length),n}function Tf(){return{data:"",event:"",id:"",retry:void 0}}function Iz(e,t){let n=new ReadableStream({async start(r){let s=IS(a=>{if(a.event==="error")throw new Error(a.data??"Unspecified event streaming error.");a.event==="metadata"?t?.(a):a.data&&r.enqueue(a.data)});await SS(e,TS((a,i,o)=>{s(a,i,o),o&&r.close()}))}});return vn.fromReadableStream(n)}function Ez(e){return e.data===""&&e.event===""&&e.id===""&&e.retry===void 0}var Az=Q({}),$z=Q({convertToOpenAIFunction:()=>ES,convertToOpenAITool:()=>AS,isLangChainTool:()=>su,isRunnableToolLike:()=>v_,isStructuredTool:()=>__,isStructuredToolParams:()=>w_});function ES(e,t){let n=typeof t=="number"?void 0:t;return{name:e.name,description:e.description,parameters:At(e.schema),...n?.strict!==void 0?{strict:n.strict}:{}}}function AS(e,t){let n=typeof t=="number"?void 0:t,r;return su(e)?r={type:"function",function:ES(e)}:r=e,n?.strict!==void 0&&(r.function.strict=n.strict),r}function $S(e,t){let n=0,r=0,s=0;for(let a=0;a<e.length;a++)n+=e[a]*t[a],r+=e[a]*e[a],s+=t[a]*t[a];return n/(Math.sqrt(r)*Math.sqrt(s))}function Cz(e,t){let n=0;for(let r=0;r<e.length;r++)n+=e[r]*t[r];return n}function Nz(e,t){let n=0;for(let r=0;r<e.length;r++)n+=(e[r]-t[r])*(e[r]-t[r]);return n}function Pz(e,t){return Math.sqrt(Nz(e,t))}var jz=Q({cosineSimilarity:()=>pg,euclideanDistance:()=>Lz,innerProduct:()=>Mz,matrixFunc:()=>Vp,maximalMarginalRelevance:()=>zz,normalize:()=>Rz});function Vp(e,t,n){if(e.length===0||e[0].length===0||t.length===0||t[0].length===0)return[[]];if(e[0].length!==t[0].length)throw new Error(`Number of columns in X and Y must be the same. X has shape ${[e.length,e[0].length]} and Y has shape ${[t.length,t[0].length]}.`);return e.map(r=>t.map(s=>n(r,s)).map(s=>Number.isNaN(s)?0:s))}function Rz(e,t=!1){let n=Uz(e);return e.map(r=>r.map(s=>t?1-s/n:s/n))}function pg(e,t){return Vp(e,t,$S)}function Mz(e,t){return Vp(e,t,Cz)}function Lz(e,t){return Vp(e,t,Pz)}function zz(e,t,n=.5,r=4){if(Math.min(r,t.length)<=0)return[];let s=pg(Array.isArray(e[0])?e:[e],t)[0],a=CS(s).maxIndex,i=[t[a]],o=[a];for(;o.length<Math.min(r,t.length);){let c=-1/0,u=-1,l=pg(t,i);s.forEach((d,p)=>{if(o.includes(p))return;let h=Math.max(...l[p]),f=n*d-(1-n)*h;f>c&&(c=f,u=p)}),i.push(t[u]),o.push(u)}return o}function CS(e){if(e.length===0)return{maxIndex:-1,maxValue:NaN};let t=e[0],n=0;for(let r=1;r<e.length;r+=1)e[r]>t&&(n=r,t=e[r]);return{maxIndex:n,maxValue:t}}function Uz(e){return e.reduce((t,n)=>Math.max(t,CS(n).maxValue),0)}var Dz=Q({isCloudMetadata:()=>hg,isLocalhost:()=>fg,isPrivateIp:()=>MS,isSafeUrl:()=>Jz,isSameOrigin:()=>Gz,validateSafeUrl:()=>LS}),Fz=["10.0.0.0/8","172.16.0.0/12","192.168.0.0/16","127.0.0.0/8","169.254.0.0/16","0.0.0.0/8","::1/128","fc00::/7","fe80::/10","ff00::/8"],Bz=["169.254.169.254","169.254.170.2","100.100.100.200"],Zz=["metadata.google.internal","metadata","instance-data"],Vz=["localhost","localhost.localdomain"],qz=/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/;function NS(e){return qz.test(e)}function qp(e){return RS(e)!==null}function PS(e){return NS(e)||qp(e)}function jS(e){if(NS(e))return e.split(".").map(t=>parseInt(t,10));if(qp(e)){let t=RS(e);if(!t)return null;let n=t.split(":"),r=[];for(let s of n)r.push(parseInt(s,16));return r}return null}function RS(e){if(!e||typeof e!="string"||!e.includes(":")||!/^[0-9a-fA-F:]+$/.test(e))return null;let t=e;if(t.includes("::")){let r=t.split("::");if(r.length>2)return null;let[s,a]=r,i=s?s.split(":"):[],o=a?a.split(":"):[],c=8-(i.length+o.length);if(c<0)return null;let u=Array(c).fill("0");t=[...i,...u,...o].filter(l=>l!=="").join(":")}let n=t.split(":");if(n.length!==8)return null;for(let r of n)if(r.length===0||r.length>4||!/^[0-9a-fA-F]+$/.test(r))return null;return n.map(r=>r.padStart(4,"0").toLowerCase()).join(":")}function Hz(e){let[t,n]=e.split("/");if(!t||!n)return null;let r=jS(t);if(!r)return null;let s=parseInt(n,10);if(isNaN(s))return null;let a=qp(t);return a&&s>128||!a&&s>32?null:{addr:r,prefixLen:s,isIpv6:a}}function Wz(e,t){let n=jS(e);if(!n)return!1;let r=Hz(t);if(!r)return!1;let s=qp(e);if(s!==r.isIpv6)return!1;let{addr:a,prefixLen:i}=r;if(s)for(let o=0;o<Math.ceil(i/16);o++){let c=65535<<16-Math.min(16,i-o*16)&65535;if((n[o]&c)!==(a[o]&c))return!1}else for(let o=0;o<Math.ceil(i/8);o++){let c=255<<8-Math.min(8,i-o*8)&255;if((n[o]&c)!==(a[o]&c))return!1}return!0}function MS(e){if(!PS(e))return!1;for(let t of Fz)if(Wz(e,t))return!0;return!1}function hg(e,t){if(Bz.includes(t||""))return!0;let n=e.toLowerCase();return!!Zz.includes(n)}function fg(e,t){if(t&&(t==="127.0.0.1"||t==="::1"||t==="0.0.0.0"||t.startsWith("127.")))return!0;let n=e.toLowerCase();return!!Vz.includes(n)}function LS(e,t){let n=t?.allowPrivate??!1,r=t?.allowHttp??!1;try{let s;try{s=new URL(e)}catch{throw new Error(`Invalid URL: ${e}`)}let a=s.hostname;if(!a)throw new Error("URL missing hostname.");if(hg(a))throw new Error(`URL points to cloud metadata endpoint: ${a}`);if(fg(a)){if(!n)throw new Error(`URL points to localhost: ${a}`);return e}let i=s.protocol;if(i!=="http:"&&i!=="https:")throw new Error(`Invalid URL scheme: ${i}. Only http and https are allowed.`);if(i==="http:"&&!r)throw new Error("HTTP scheme not allowed. Use HTTPS or set allowHttp: true.");if(PS(a)){let o=a;if(fg(a,o)){if(!n)throw new Error(`URL points to localhost: ${a}`);return e}if(hg(a,o))throw new Error(`URL resolves to cloud metadata IP: ${o} (${a})`);if(MS(o)&&!n)throw new Error(`URL resolves to private IP: ${o} (${a}). Set allowPrivate: true to allow.`);return e}return e}catch(s){throw s&&typeof s=="object"&&"message"in s?s:new Error(`URL validation failed: ${s}`)}}function Jz(e,t){try{return LS(e,t),!0}catch{return!1}}function Gz(e,t){try{return new URL(e).origin===new URL(t).origin}catch{return!1}}var Kz=Q({SaveableVectorStore:()=>Xz,VectorStore:()=>b_,VectorStoreRetriever:()=>dl}),dl=class extends h_{static lc_name(){return"VectorStoreRetriever"}get lc_namespace(){return["langchain_core","vectorstores"]}vectorStore;k=4;searchType="similarity";searchKwargs;filter;_vectorstoreType(){return this.vectorStore._vectorstoreType()}constructor(e){super(e),this.vectorStore=e.vectorStore,this.k=e.k??this.k,this.searchType=e.searchType??this.searchType,this.filter=e.filter,e.searchType==="mmr"&&(this.searchKwargs=e.searchKwargs)}async _getRelevantDocuments(e,t){if(this.searchType==="mmr"){if(typeof this.vectorStore.maxMarginalRelevanceSearch!="function")throw new Error(`The vector store backing this retriever, ${this._vectorstoreType()} does not support max marginal relevance search.`);return this.vectorStore.maxMarginalRelevanceSearch(e,{k:this.k,filter:this.filter,...this.searchKwargs},t?.getChild("vectorstore"))}return this.vectorStore.similaritySearch(e,this.k,this.filter,t?.getChild("vectorstore"))}async addDocuments(e,t){return this.vectorStore.addDocuments(e,t)}},b_=class extends Bn{lc_namespace=["langchain","vectorstores",this._vectorstoreType()];embeddings;constructor(e,t){super(t),this.embeddings=e}async delete(e){throw new Error("Not implemented.")}async similaritySearch(e,t=4,n=void 0,r=void 0){return(await this.similaritySearchVectorWithScore(await this.embeddings.embedQuery(e),t,n)).map(s=>s[0])}async similaritySearchWithScore(e,t=4,n=void 0,r=void 0){return this.similaritySearchVectorWithScore(await this.embeddings.embedQuery(e),t,n)}static fromTexts(e,t,n,r){throw new Error("the Langchain vectorstore implementation you are using forgot to override this, please report a bug")}static fromDocuments(e,t,n){throw new Error("the Langchain vectorstore implementation you are using forgot to override this, please report a bug")}asRetriever(e,t,n,r,s,a){if(typeof e=="number")return new dl({vectorStore:this,k:e,filter:t,tags:[...r??[],this._vectorstoreType()],metadata:s,verbose:a,callbacks:n});{let i={vectorStore:this,k:e?.k,filter:e?.filter,tags:[...e?.tags??[],this._vectorstoreType()],metadata:e?.metadata,verbose:e?.verbose,callbacks:e?.callbacks,searchType:e?.searchType};return e?.searchType==="mmr"?new dl({...i,searchKwargs:e.searchKwargs}):new dl({...i})}}},Xz=class extends b_{static load(e,t){throw new Error("Not implemented")}},Yz=class extends za{_combineLLMOutput(){return[]}_llmType(){return"fake"}async _generate(e,t,n){if(t?.stop?.length)return{generations:[{message:new Qe(t.stop[0]),text:t.stop[0]}]};let r=e.map(s=>typeof s.content=="string"?s.content:JSON.stringify(s.content,null,2)).join(`
256
+ `);return await n?.handleLLMNewToken(r),{generations:[{message:new Qe(r),text:r}],llmOutput:{}}}},Qz=class zS extends za{sleep=50;responses=[];chunks=[];toolStyle="openai";thrownErrorString;tools=[];constructor({sleep:t=50,responses:n=[],chunks:r=[],toolStyle:s="openai",thrownErrorString:a,...i}){super(i),this.sleep=t,this.responses=n,this.chunks=r,this.toolStyle=s,this.thrownErrorString=a}_llmType(){return"fake"}bindTools(t){let n=[...this.tools,...t],r=n.map(i=>{switch(this.toolStyle){case"openai":return{type:"function",function:{name:i.name,description:i.description,parameters:At(i.schema)}};case"anthropic":return{name:i.name,description:i.description,input_schema:At(i.schema)};case"bedrock":return{toolSpec:{name:i.name,description:i.description,inputSchema:At(i.schema)}};case"google":return{name:i.name,description:i.description,parameters:At(i.schema)};default:throw new Error(`Unsupported tool style: ${this.toolStyle}`)}}),s=this.toolStyle==="google"?[{functionDeclarations:r}]:r,a=new zS({sleep:this.sleep,responses:this.responses,chunks:this.chunks,toolStyle:this.toolStyle,thrownErrorString:this.thrownErrorString});return a.tools=n,a.withConfig({tools:s})}async _generate(t,n,r){if(this.thrownErrorString)throw new Error(this.thrownErrorString);return{generations:[{text:"",message:new Qe({content:this.responses?.[0]?.content??t[0].content??"",tool_calls:this.chunks?.[0]?.tool_calls})}]}}async*_streamResponseChunks(t,n,r){if(this.thrownErrorString)throw new Error(this.thrownErrorString);if(this.chunks?.length){for(let i of this.chunks){let o=new Qr({message:new _n({content:i.content,tool_calls:i.tool_calls,additional_kwargs:i.additional_kwargs??{}}),text:i.content?.toString()??""});if(n.signal?.aborted)break;yield o,await r?.handleLLMNewToken(i.content,void 0,void 0,void 0,void 0,{chunk:o})}return}let s=this.responses?.[0]??new Qe(typeof t[0].content=="string"?t[0].content:""),a=typeof s.content=="string"?s.content:"";for(let i of a){await new Promise(c=>setTimeout(c,this.sleep));let o=new Qr({message:new _n({content:i}),text:i});if(n.signal?.aborted)break;yield o,await r?.handleLLMNewToken(i,void 0,void 0,void 0,void 0,{chunk:o})}}},e9=class US extends za{static lc_name(){return"FakeListChatModel"}lc_serializable=!0;responses;i=0;sleep;emitCustomEvent=!1;generationInfo;tools=[];toolStyle="openai";constructor(t){super(t);let{responses:n,sleep:r,emitCustomEvent:s,generationInfo:a}=t;this.responses=n,this.sleep=r,this.emitCustomEvent=s??this.emitCustomEvent,this.generationInfo=a}_combineLLMOutput(){return[]}_llmType(){return"fake-list"}async _generate(t,n,r){if(await this._sleepIfRequested(),n?.thrownErrorString)throw new Error(n.thrownErrorString);if(this.emitCustomEvent&&await r?.handleCustomEvent("some_test_event",{someval:!0}),n?.stop?.length)return{generations:[this._formatGeneration(n.stop[0])]};{let s=this._currentResponse();return this._incrementResponse(),{generations:[this._formatGeneration(s)],llmOutput:{}}}}_formatGeneration(t){return{message:new Qe(t),text:t}}async*_streamResponseChunks(t,n,r){let s=this._currentResponse();this._incrementResponse(),this.emitCustomEvent&&await r?.handleCustomEvent("some_test_event",{someval:!0});let a=[...s];for(let i=0;i<a.length;i++){let o=a[i],c=i===a.length-1;if(await this._sleepIfRequested(),n?.thrownErrorString)throw new Error(n.thrownErrorString);let u=this._createResponseChunk(o,c?this.generationInfo:void 0);if(n.signal?.aborted)break;yield u,r?.handleLLMNewToken(o)}}async _sleepIfRequested(){this.sleep!==void 0&&await this._sleep()}async _sleep(){return new Promise(t=>{setTimeout(()=>t(),this.sleep)})}_createResponseChunk(t,n){return new Qr({message:new _n({content:t}),text:t,generationInfo:n})}_currentResponse(){return this.responses[this.i]}_incrementResponse(){this.i<this.responses.length-1?this.i+=1:this.i=0}bindTools(t){let n=[...this.tools,...t],r=n.map(i=>{switch(this.toolStyle){case"openai":return{type:"function",function:{name:i.name,description:i.description,parameters:At(i.schema)}};case"anthropic":return{name:i.name,description:i.description,input_schema:At(i.schema)};case"bedrock":return{toolSpec:{name:i.name,description:i.description,inputSchema:At(i.schema)}};case"google":return{name:i.name,description:i.description,parameters:At(i.schema)};default:throw new Error(`Unsupported tool style: ${this.toolStyle}`)}}),s=this.toolStyle==="google"?[{functionDeclarations:r}]:r,a=new US({responses:this.responses,sleep:this.sleep,emitCustomEvent:this.emitCustomEvent,generationInfo:this.generationInfo});return a.tools=n,a.toolStyle=this.toolStyle,a.i=this.i,a.withConfig({tools:s})}withStructuredOutput(t,n){return _r.from(async r=>{let s=await this.invoke(r);if(s.tool_calls?.[0]?.args)return s.tool_calls[0].args;if(typeof s.content=="string")return JSON.parse(s.content);throw new Error("No structured output found")})}},t9=class extends Ky{vectorSize;constructor(e){super(e??{}),this.vectorSize=e?.vectorSize??4}async embedDocuments(e){return Promise.all(e.map(t=>this.embedQuery(t)))}async embedQuery(e){let t=e;t=t.toLowerCase().replaceAll(/[^a-z ]/g,"");let n=t.length%this.vectorSize,r=n===0?0:this.vectorSize-n,s=t.length+r;t=t.padEnd(s," ");let a=t.length/this.vectorSize,i=[];for(let o=0;o<t.length;o+=a)i.push(t.slice(o,o+a));return i.map(o=>{let c=0;for(let u=0;u<o.length;u+=1)c+=o===" "?0:o.charCodeAt(u);return c%26/26})}},n9=class extends Ky{constructor(e){super(e??{})}embedDocuments(e){return Promise.resolve(e.map(()=>[.1,.2,.3,.4]))}embedQuery(e){return Promise.resolve([.1,.2,.3,.4])}},r9=class extends o_{response;thrownErrorString;constructor(e){super(e),this.response=e.response,this.thrownErrorString=e.thrownErrorString}_llmType(){return"fake"}async _call(e,t,n){if(this.thrownErrorString)throw new Error(this.thrownErrorString);let r=this.response??e;return await n?.handleLLMNewToken(r),r}},s9=class extends o_{sleep=50;responses;thrownErrorString;constructor(e){super(e),this.sleep=e.sleep??this.sleep,this.responses=e.responses,this.thrownErrorString=e.thrownErrorString}_llmType(){return"fake"}async _call(e){if(this.thrownErrorString)throw new Error(this.thrownErrorString);let t=this.responses?.[0];return this.responses=this.responses?.slice(1),t??e}async*_streamResponseChunks(e,t,n){if(this.thrownErrorString)throw new Error(this.thrownErrorString);let r=this.responses?.[0];this.responses=this.responses?.slice(1);for(let s of r??e)await new Promise(a=>setTimeout(a,this.sleep)),yield{text:s,generationInfo:{}},await n?.handleLLMNewToken(s)}},a9=class extends wO{lc_namespace=["langchain_core","message","fake"];messages=[];constructor(){super()}async getMessages(){return this.messages}async addMessage(e){this.messages.push(e)}async addUserMessage(e){this.messages.push(new jn(e))}async addAIMessage(e){this.messages.push(new Qe(e))}async clear(){this.messages=[]}},i9=class extends Gy{lc_namespace=["langchain_core","message","fake"];messages=[];constructor(){super()}async addMessage(e){this.messages.push(e)}async getMessages(){return this.messages}},o9=class extends rs{name="fake_tracer";runs=[];constructor(){super()}persistRun(e){return this.runs.push(e),Promise.resolve()}},c9=class extends io{lc_namespace=["tests","fake"];getFormatInstructions(){return""}async parse(e){return e.split(",").map(t=>t.trim())}},u9=class extends h_{lc_namespace=["test","fake"];output=[new ks({pageContent:"foo"}),new ks({pageContent:"bar"})];constructor(e){super(),this.output=e?.output??this.output}async _getRelevantDocuments(e){return this.output}},l9=class extends je{lc_namespace=["tests","fake"];returnOptions;constructor(e){super(e),this.returnOptions=e.returnOptions}async invoke(e,t){return this.returnOptions?t??{}:{input:e}}},d9=class extends Zp{name;description;schema;constructor(e){super(e),this.name=e.name,this.description=e.description,this.schema=e.schema}async _call(e,t){return JSON.stringify(e)}},p9=class extends rs{runPromiseResolver;runPromise;name="single_run_extractor";constructor(){super(),this.runPromise=new Promise(e=>{this.runPromiseResolver=e})}async persistRun(e){this.runPromiseResolver(e)}async extract(){return this.runPromise}},h9=class DS extends b_{memoryVectors=[];similarity;_vectorstoreType(){return"memory"}constructor(t,{similarity:n,...r}={}){super(t,r),this.similarity=n??$S}async addDocuments(t){let n=t.map(({pageContent:r})=>r);return this.addVectors(await this.embeddings.embedDocuments(n),t)}async addVectors(t,n){let r=t.map((s,a)=>({content:n[a].pageContent,embedding:s,metadata:n[a].metadata}));this.memoryVectors=this.memoryVectors.concat(r)}async similaritySearchVectorWithScore(t,n,r){let s=i=>r?r(new ks({metadata:i.metadata,pageContent:i.content})):!0,a=this.memoryVectors.filter(s);return a.map((i,o)=>({similarity:this.similarity(t,i.embedding),index:o})).sort((i,o)=>i.similarity>o.similarity?-1:0).slice(0,n).map(i=>[new ks({metadata:a[i.index].metadata,pageContent:a[i.index].content}),i.similarity])}static async fromTexts(t,n,r,s){let a=[];for(let i=0;i<t.length;i+=1){let o=Array.isArray(n)?n[i]:n,c=new ks({pageContent:t[i],metadata:o});a.push(c)}return DS.fromDocuments(a,r,s)}static async fromDocuments(t,n,r){let s=new this(n,r);return await s.addDocuments(t),s}static async fromExistingIndex(t,n){return new this(t,n)}},f9=Q({FakeChatMessageHistory:()=>a9,FakeChatModel:()=>Yz,FakeEmbeddings:()=>n9,FakeLLM:()=>r9,FakeListChatMessageHistory:()=>i9,FakeListChatModel:()=>e9,FakeRetriever:()=>u9,FakeRunnable:()=>l9,FakeSplitIntoListParser:()=>c9,FakeStreamingChatModel:()=>Qz,FakeStreamingLLM:()=>s9,FakeTool:()=>d9,FakeTracer:()=>o9,FakeVectorStore:()=>h9,SingleRunExtractor:()=>p9,SyntheticEmbeddings:()=>t9}),m9=Q({agents:()=>MA,caches:()=>M$,callbacks__base:()=>Y$,callbacks__manager:()=>tj,callbacks__promises:()=>XP,chat_history:()=>cL,document_loaders__base:()=>pL,document_loaders__langsmith:()=>hL,documents:()=>dL,embeddings:()=>gL,errors:()=>DA,example_selectors:()=>kL,index:()=>RA,indexing:()=>SL,language_models__base:()=>UL,language_models__chat_models:()=>u4,language_models__llms:()=>d4,language_models__profile:()=>p4,language_models__structured_output:()=>o4,load__serializable:()=>CA,memory:()=>h4,messages:()=>oL,messages__tool:()=>i$,output_parsers:()=>a4,output_parsers__openai_functions:()=>v4,output_parsers__openai_tools:()=>w4,outputs:()=>gj,prompt_values:()=>TL,prompts:()=>W4,retrievers:()=>K4,retrievers__document_compressors:()=>J4,runnables:()=>HL,runnables__graph:()=>DM,singletons:()=>sj,stores:()=>X4,structured_query:()=>sz,testing:()=>uz,tools:()=>lz,tracers__base:()=>RP,tracers__console:()=>UP,tracers__log_stream:()=>fj,tracers__run_collector:()=>mz,tracers__tracer_langchain:()=>qP,types__stream:()=>yz,utils__async_caller:()=>Sj,utils__chunk_array:()=>_z,utils__context:()=>wz,utils__env:()=>PA,utils__event_source_parse:()=>Oz,utils__format:()=>Az,utils__function_calling:()=>$z,utils__hash:()=>zA,utils__json_patch:()=>WL,utils__json_schema:()=>PM,utils__math:()=>jz,utils__ssrf:()=>Dz,utils__standard_schema:()=>Ej,utils__stream:()=>ij,utils__testing:()=>f9,utils__tiktoken:()=>LL,utils__types:()=>i4,vectorstores:()=>Kz}),g9=50;function y9(e){let t={};for(let n=e;n&&n.prototype;n=Object.getPrototypeOf(n))Object.assign(t,Reflect.get(n.prototype,"lc_aliases"));return Object.entries(t).reduce((n,[r,s])=>(n[s]=r,n),{})}async function pl(e){let{optionalImportsMap:t,optionalImportEntrypoints:n,importMap:r,secretsMap:s,secretsFromEnv:a,path:i,depth:o,maxDepth:c}=this,u=i.join(".");if(o>c)throw new Error(`Maximum recursion depth (${c}) exceeded during deserialization. This may indicate a malicious payload or you may need to increase maxDepth.`);if(typeof e!="object"||e==null)return e;if(Array.isArray(e))return Promise.all(e.map((p,h)=>pl.call({...this,path:[...i,`${h}`],depth:o+1},p)));let l=e;if(uk(l))return sm(l);if("lc"in l&&"type"in l&&"id"in l&&l.lc===1&&l.type==="secret"){let[p]=l.id;if(p in s)return s[p];if(a){let h=dr(p);if(h)return h}throw new Error(`Missing secret "${p}" at ${u}`)}if("lc"in l&&"type"in l&&"id"in l&&l.lc===1&&l.type==="not_implemented"){let p=JSON.stringify(l);throw new Error(`Trying to load an object that doesn't implement serialization: ${u} -> ${p}`)}if("lc"in l&&"type"in l&&"id"in l&&"kwargs"in l&&l.lc===1&&l.type==="constructor"){let p=l,h=JSON.stringify(p),[f,...m]=p.id.slice().reverse(),v=m.reverse(),g={langchain_core:m9,langchain:r},y=null,k=[v.join("/")];v[0]==="langchain_community"&&k.push(["langchain",...v.slice(1)].join("/"));let x=k.find(I=>I in t);if(jA.concat(n).includes(v.join("/"))||x)if(x!==void 0)y=await t[x];else throw new Error(`Missing key "${v.join("/")}" for ${u} in load(optionalImportsMap={})`);else{let I;if(v[0]==="langchain"||v[0]==="langchain_core")I=g[v[0]],v.shift();else throw new Error(`Invalid namespace: ${u} -> ${h}`);if(v.length===0)throw new Error(`Invalid namespace: ${u} -> ${h}`);let w;do{if(w=v.join("__"),w in I)break;v.pop()}while(v.length>0);w in I&&(y=I[w])}if(typeof y!="object"||y===null)throw new Error(`Invalid namespace: ${u} -> ${h}`);let T=y[f]??Object.values(y).find(I=>typeof I=="function"&&_p(I)===f);if(typeof T!="function")throw new Error(`Invalid identifer: ${u} -> ${h}`);let A=new T(ok(await pl.call({...this,path:[...i,"kwargs"],depth:o+1},p.kwargs),TA,y9(T)));return Object.defineProperty(A.constructor,"name",{value:f}),A}let d={};for(let[p,h]of Object.entries(l))d[p]=await pl.call({...this,path:[...i,p],depth:o+1},h);return d}async function _9(e,t){let n=JSON.parse(e),r={optionalImportsMap:{},optionalImportEntrypoints:[],secretsMap:{},secretsFromEnv:!1,importMap:{},path:["$"],depth:0,maxDepth:g9};return pl.call(r,n)}function v9(e){return e!==null&&e.lc===1&&e.type==="constructor"&&Array.isArray(e.id)}async function mg(e){if(e&&typeof e=="object"){if(Array.isArray(e))return await Promise.all(e.map(t=>mg(t)));{let t={};for(let[n,r]of Object.entries(e))t[n]=await mg(r);if(t.lc===2&&t.type==="undefined")return;if(t.lc===2&&t.type==="constructor"&&Array.isArray(t.id))try{let n=t.id[t.id.length-1],r;switch(n){case"Set":r=Set;break;case"Map":r=Map;break;case"RegExp":r=RegExp;break;case"Error":r=Error;break;default:return t}return t.method?r[t.method](...t.args||[]):new r(...t.args||[])}catch{return t}else if(v9(t))return _9(JSON.stringify(t));return t}}return e}function If(e,t,n,r){return{lc:2,type:"constructor",id:[e.name],method:t??null,args:n??[],kwargs:r??{}}}function w9(e){return e===void 0?{lc:2,type:"undefined"}:e instanceof Set||e instanceof Map?If(e.constructor,void 0,[Array.from(e)]):e instanceof RegExp?If(RegExp,void 0,[e.source,e.flags]):e instanceof Error?If(e.constructor,void 0,[e.message]):e?.lg_name==="Send"?{node:e.node,args:e.args}:e}var b9=class{_dumps(e){return new TextEncoder().encode(yA(e,(t,n)=>w9(n)))}async dumpsTyped(e){return e instanceof Uint8Array?["bytes",e]:["json",this._dumps(e)]}async _loads(e){let t=JSON.parse(e);return mg(t)}async loadsTyped(e,t){if(e==="bytes")return typeof t=="string"?new TextEncoder().encode(t):t;if(e==="json")return this._loads(typeof t=="string"?t:new TextDecoder().decode(t));throw new Error(`Unknown serialization type: ${e}`)}};function FS(e){if(typeof e!="object"||e===null)return e;let t=Array.isArray(e)?[]:{};for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=FS(e[n]));return t}function BS(){return{v:4,id:ik(-2),ts:new Date().toISOString(),channel_values:{},channel_versions:{},versions_seen:{}}}function Gl(e){return{v:e.v,id:e.id,ts:e.ts,channel_values:{...e.channel_values},channel_versions:{...e.channel_versions},versions_seen:FS(e.versions_seen)}}function ZS(e,t){return typeof e=="number"&&typeof t=="number"?Math.sign(e-t):String(e).localeCompare(String(t))}function k9(...e){return e.reduce((t,n,r)=>r===0?n:ZS(t,n)>=0?t:n)}var x9={[pA]:-1,[nl]:-2,[hA]:-3,[fA]:-4},yo=class extends Error{constructor(e){super(e),this.name="InvalidNamespaceError"}};function O9(e){if(e.length===0)throw new yo("Namespace cannot be empty.");for(let t of e){if(typeof t!="string")throw new yo(`Invalid namespace label '${t}' found in ${e}. Namespace labels must be strings, but got ${typeof t}.`);if(t.includes("."))throw new yo(`Invalid namespace label '${t}' found in ${e}. Namespace labels cannot contain periods ('.').`);if(t==="")throw new yo(`Namespace labels cannot be empty strings. Got ${t} in ${e}`)}if(e[0]==="langgraph")throw new yo(`Root label for namespace cannot be "langgraph". Got: ${e}`)}var S9=class{async get(e,t){return(await this.batch([{namespace:e,key:t}]))[0]}async search(e,t={}){let{filter:n,limit:r=10,offset:s=0,query:a}=t;return(await this.batch([{namespacePrefix:e,filter:n,limit:r,offset:s,query:a}]))[0]}async put(e,t,n,r){O9(e),await this.batch([{namespace:e,key:t,value:n,index:r}])}async delete(e,t){await this.batch([{namespace:e,key:t,value:null}])}async listNamespaces(e={}){let{prefix:t,suffix:n,maxDepth:r,limit:s=100,offset:a=0}=e,i=[];return t&&i.push({matchType:"prefix",path:t}),n&&i.push({matchType:"suffix",path:n}),(await this.batch([{matchConditions:i.length?i:void 0,maxDepth:r,limit:s,offset:a}]))[0]}start(){}stop(){}},T9=e=>"lg_name"in e&&e.lg_name==="AsyncBatchedStore"?e.store:e,I9=class extends S9{lg_name="AsyncBatchedStore";store;queue=new Map;nextKey=0;running=!1;processingTask=null;constructor(e){super(),this.store=T9(e)}get isRunning(){return this.running}async batch(e){throw new Error("The `batch` method is not implemented on `AsyncBatchedStore`.\n Instead, it calls the `batch` method on the wrapped store.\n If you are seeing this error, something is wrong.")}async get(e,t){return this.enqueueOperation({namespace:e,key:t})}async search(e,t){let{filter:n,limit:r=10,offset:s=0,query:a}=t||{};return this.enqueueOperation({namespacePrefix:e,filter:n,limit:r,offset:s,query:a})}async put(e,t,n){return this.enqueueOperation({namespace:e,key:t,value:n})}async delete(e,t){return this.enqueueOperation({namespace:e,key:t,value:null})}start(){this.running||(this.running=!0,this.processingTask=this.processBatchQueue())}async stop(){this.running=!1,this.processingTask&&await this.processingTask}enqueueOperation(e){return new Promise((t,n)=>{let r=this.nextKey;this.nextKey+=1,this.queue.set(r,{operation:e,resolve:t,reject:n})})}async processBatchQueue(){for(;this.running;){if(await new Promise(t=>{setTimeout(t,0)}),this.queue.size===0)continue;let e=new Map(this.queue);this.queue.clear();try{let t=Array.from(e.values()).map(({operation:r})=>r),n=await this.store.batch(t);e.forEach(({resolve:r},s)=>{let a=Array.from(e.keys()).indexOf(s);r(n[a])})}catch(t){e.forEach(({reject:n})=>{n(t)})}}}toJSON(){return{queue:this.queue,nextKey:this.nextKey,running:this.running,store:"[LangGraphStore]"}}},E9=class{serde=new b9;constructor(e){this.serde=e||this.serde}};function VS(e){return e!=null&&e.lg_is_channel===!0}var Bs=class{ValueType;UpdateType;lg_is_channel=!0;consume(){return!1}finish(){return!1}isAvailable(){try{return this.get(),!0}catch(e){if(e.name===$t.unminifiable_name)return!1;throw e}}equals(e){return this===e}},gg=Symbol.for("LG_IS_ONLY_BASE_CHANNEL");function k_(e){if(e[gg]===!0)return e;let t={};for(let n in e){if(!Object.prototype.hasOwnProperty.call(e,n))continue;let r=e[n];VS(r)&&(t[n]=r)}return Object.assign(t,{[gg]:!0}),t}function Kl(e,t){let n=k_(e),r={};for(let s in n){if(!Object.prototype.hasOwnProperty.call(n,s))continue;let a=t.channel_values[s];r[s]=n[s].fromCheckpoint(a)}return Object.assign(r,{[gg]:!0}),r}function ta(e,t,n,r){let s;if(t===void 0)s=e.channel_values;else{s={};for(let a in t)if(Object.prototype.hasOwnProperty.call(t,a))try{s[a]=t[a].checkpoint()}catch(i){if(i.name!==$t.unminifiable_name)throw i}}return{v:4,id:r?.id??ik(n),ts:new Date().toISOString(),channel_values:s,channel_versions:e.channel_versions,versions_seen:e.versions_seen}}var A9=e=>e!=null&&e.lc_graph_name==="BinaryOperatorAggregate",Xl=class qS extends Bs{lc_graph_name="BinaryOperatorAggregate";value;operator;initialValueFactory;constructor(t,n){super(),this.operator=t,this.initialValueFactory=n,this.value=n?.()}fromCheckpoint(t){let n=new qS(this.operator,this.initialValueFactory);return typeof t<"u"&&(n.value=t),n}update(t){let n=t;if(!n.length)return!1;if(this.value===void 0){let s=n[0],[a,i]=em(s);a?this.value=i:this.value=s,n=n.slice(1)}let r=!1;for(let s of n)if(HE(s)){if(r)throw new et("Can receive only one Overwrite value per step.");let[,a]=em(s);this.value=a,r=!0;continue}else!r&&this.value!==void 0&&(this.value=this.operator(this.value,s));return!0}get(){if(this.value===void 0)throw new $t;return this.value}checkpoint(){if(this.value===void 0)throw new $t;return this.value}isAvailable(){return this.value!==void 0}equals(t){return this===t?!0:A9(t)?this.operator===t.operator:!1}},Hp=class HS extends Bs{lc_graph_name="LastValue";value=[];constructor(t){super(),this.initialValueFactory=t,t&&(this.value=[t()])}fromCheckpoint(t){let n=new HS(this.initialValueFactory);return typeof t<"u"&&(n.value=[t]),n}update(t){if(t.length===0)return!1;if(t.length!==1)throw new et("LastValue can only receive one value per step.",{lc_error_code:"INVALID_CONCURRENT_GRAPH_UPDATE"});return this.value=[t[t.length-1]],!0}get(){if(this.value.length===0)throw new $t;return this.value[0]}checkpoint(){if(this.value.length===0)throw new $t;return this.value[0]}isAvailable(){return this.value.length!==0}},$9=class WS extends Bs{lc_graph_name="LastValueAfterFinish";value=[];finished=!1;fromCheckpoint(t){let n=new WS;if(typeof t<"u"){let[r,s]=t;n.value=[r],n.finished=s}return n}update(t){return t.length===0?!1:(this.finished=!1,this.value=[t[t.length-1]],!0)}get(){if(this.value.length===0||!this.finished)throw new $t;return this.value[0]}checkpoint(){if(this.value.length!==0)return[this.value[0],this.finished]}consume(){return this.finished?(this.finished=!1,this.value=[],!0):!1}finish(){return!this.finished&&this.value.length>0?(this.finished=!0,!0):!1}isAvailable(){return this.value.length!==0&&this.finished}},yg=class{lc_graph_name="AnnotationRoot";spec;constructor(e){this.spec=e}static isInstance(e){return typeof e=="object"&&e!==null&&"lc_graph_name"in e&&e.lc_graph_name==="AnnotationRoot"}},Bt=function(e){return e?JS(e):new Hp};Bt.Root=e=>new yg(e);function JS(e){return typeof e=="object"&&e&&"reducer"in e&&e.reducer?new Xl(e.reducer,e.default):typeof e=="object"&&e&&"value"in e&&e.value?new Xl(e.value,e.default):new Hp}var C9=["tags","metadata","callbacks","configurable"],N9=["tags","metadata","callbacks","runName","maxConcurrency","recursionLimit","configurable","runId","outputKeys","streamMode","store","writer","interrupt","context","interruptBefore","interruptAfter","checkpointDuring","durability","signal"],P9=25;function GS(...e){let t={tags:[],metadata:{},callbacks:void 0,recursionLimit:P9,configurable:{}},n=zt.getRunnableConfig();if(n!==void 0){for(let[r,s]of Object.entries(n))if(s!==void 0)if(C9.includes(r)){let a;Array.isArray(s)?a=[...s]:typeof s=="object"?r==="callbacks"&&"copy"in s&&typeof s.copy=="function"?a=s.copy():a={...s}:a=s,t[r]=a}else t[r]=s}for(let r of e)if(r!==void 0)for(let[s,a]of Object.entries(r))a!==void 0&&N9.includes(s)&&(t[s]=a);for(let[r,s]of Object.entries(t.configurable))t.metadata=t.metadata??{},!r.startsWith("__")&&(typeof s=="string"||typeof s=="number"||typeof s=="boolean")&&!(r in t.metadata)&&(t.metadata[r]=s);return t}function j9(){return zt.getRunnableConfig()}function Ef(e){return e.split(St).filter(t=>!t.match(/^\d+$/)).map(t=>t.split(Gr)[0]).join(St)}function R9(e){let t=e.split(St);for(;t.length>1&&t[t.length-1].match(/^\d+$/);)t.pop();return t.slice(0,-1).join(St)}var Ua=class extends je{lc_namespace=["langgraph"];func;tags;config;trace=!0;recurse=!0;constructor(e){super(),this.name=e.name??e.func.name,this.func=e.func,this.config=e.tags?{tags:e.tags}:void 0,this.trace=e.trace??this.trace,this.recurse=e.recurse??this.recurse}async _tracedInvoke(e,t,n){return new Promise((r,s)=>{let a=He(t,{callbacks:n?.getChild()});zt.runWithConfig(a,async()=>{try{r(await this.func(e,a))}catch(i){s(i)}})})}async invoke(e,t){let n,r=GS(t),s=Fn(this.config,r);return this.trace?n=await this._callWithConfig(this._tracedInvoke,e,s):n=await zt.runWithConfig(s,async()=>this.func(e,s)),je.isRunnable(n)&&this.recurse?await zt.runWithConfig(s,async()=>n.invoke(e,s)):n}};function*as(e,t){if(t===void 0)yield*e;else for(let n of e)yield[t,n]}async function ps(e){let t=[];for await(let n of await e)t.push(n);return t}function To(e){let t=[];for(let n of e)t.push(n);return t}function Va(e,t){return e?"configurable"in e?{...e,configurable:{...e.configurable,...t}}:{...e,configurable:t}:{configurable:t}}function M9(e){return typeof e=="object"&&e?.[Symbol.for("LG_SKIP_WRITE")]!==void 0}var ha={[Symbol.for("LG_PASSTHROUGH")]:!0};function Cu(e){return typeof e=="object"&&e?.[Symbol.for("LG_PASSTHROUGH")]!==void 0}var Af=Symbol("IS_WRITER"),Qt=class _g extends Ua{writes;constructor(t,n){let r=`ChannelWrite<${t.map(s=>yn(s)?s.node:"channel"in s?s.channel:"...").join(",")}>`;super({writes:t,name:r,tags:n,trace:!1,func:async(s,a)=>this._write(s,a??{})}),this.writes=t}async _write(t,n){let r=this.writes.map(s=>$f(s)&&Cu(s.value)?{mapper:s.mapper,value:t}:hl(s)&&Cu(s.value)?{channel:s.channel,value:t,skipNone:s.skipNone,mapper:s.mapper}:s);return await _g.doWrite(n,r),t}static async doWrite(t,n){for(let a of n){if(hl(a)){if(a.channel===$n)throw new et("Cannot write to the reserved channel TASKS");if(Cu(a.value))throw new et("PASSTHROUGH value must be replaced")}if($f(a)&&Cu(a.value))throw new et("PASSTHROUGH value must be replaced")}let r=[];for(let a of n)if(yn(a))r.push([$n,a]);else if($f(a)){let i=await a.mapper.invoke(a.value,t);i!=null&&i.length>0&&r.push(...i)}else if(hl(a)){let i=a.mapper!==void 0?await a.mapper.invoke(a.value,t):a.value;if(M9(i)||a.skipNone&&i===void 0)continue;r.push([a.channel,i])}else throw new Error(`Invalid write entry: ${JSON.stringify(a)}`);let s=t.configurable?.[ys];s(r)}static isWriter(t){return t instanceof _g||Af in t&&!!t[Af]}static registerWriter(t){return Object.defineProperty(t,Af,{value:!0})}};function hl(e){return e!==void 0&&typeof e.channel=="string"}function $f(e){return e!==void 0&&!hl(e)&&je.isRunnable(e.mapper)}var L9=class KS extends Ua{lc_graph_name="ChannelRead";channel;fresh=!1;mapper;constructor(t,n,r=!1){super({trace:!1,func:(s,a)=>KS.doRead(a,this.channel,this.fresh,this.mapper)}),this.fresh=r,this.mapper=n,this.channel=t,this.name=Array.isArray(t)?`ChannelRead<${t.join(",")}>`:`ChannelRead<${t}>`}static doRead(t,n,r,s){let a=t.configurable?.[ca];if(!a)throw new Error("Runnable is not configured with a read function. Make sure to call in the context of a Pregel process");return s?s(a(n,r)):a(n,r)}},qa=new uc,fc=class Io extends $s{lc_graph_name="PregelNode";channels;triggers=[];mapper;writers=[];bound=qa;kwargs={};metadata={};tags=[];retryPolicy;cachePolicy;subgraphs;ends;constructor(t){let{channels:n,triggers:r,mapper:s,writers:a,bound:i,kwargs:o,metadata:c,retryPolicy:u,cachePolicy:l,tags:d,subgraphs:p,ends:h}=t,f=[...t.config?.tags?t.config.tags:[],...d??[]];super({...t,bound:t.bound??qa,config:{...t.config?t.config:{},tags:f}}),this.channels=n,this.triggers=r,this.mapper=s,this.writers=a??this.writers,this.bound=i??this.bound,this.kwargs=o??this.kwargs,this.metadata=c??this.metadata,this.tags=f,this.retryPolicy=u,this.cachePolicy=l,this.subgraphs=p,this.ends=h}getWriters(){let t=[...this.writers];for(;t.length>1&&t[t.length-1]instanceof Qt&&t[t.length-2]instanceof Qt;){let n=t.slice(-2),r=n[0].writes.concat(n[1].writes);t[t.length-2]=new Qt(r,n[0].config?.tags),t.pop()}return t}getNode(){let t=this.getWriters();if(!(this.bound===qa&&t.length===0))return this.bound===qa&&t.length===1?t[0]:this.bound===qa?new Cs({first:t[0],middle:t.slice(1,t.length-1),last:t[t.length-1],omitSequenceTags:!0}):t.length>0?new Cs({first:this.bound,middle:t.slice(0,t.length-1),last:t[t.length-1],omitSequenceTags:!0}):this.bound}join(t){if(!Array.isArray(t))throw new Error("channels must be a list");if(typeof this.channels!="object")throw new Error("all channels must be named when using .join()");return new Io({channels:{...this.channels,...Object.fromEntries(t.map(n=>[n,n]))},triggers:this.triggers,mapper:this.mapper,writers:this.writers,bound:this.bound,kwargs:this.kwargs,config:this.config,retryPolicy:this.retryPolicy,cachePolicy:this.cachePolicy})}pipe(t){return Qt.isWriter(t)?new Io({channels:this.channels,triggers:this.triggers,mapper:this.mapper,writers:[...this.writers,t],bound:this.bound,config:this.config,kwargs:this.kwargs,retryPolicy:this.retryPolicy,cachePolicy:this.cachePolicy}):this.bound===qa?new Io({channels:this.channels,triggers:this.triggers,mapper:this.mapper,writers:this.writers,bound:Lt(t),config:this.config,kwargs:this.kwargs,retryPolicy:this.retryPolicy,cachePolicy:this.cachePolicy}):new Io({channels:this.channels,triggers:this.triggers,mapper:this.mapper,writers:this.writers,bound:this.bound.pipe(t),config:this.config,kwargs:this.kwargs,retryPolicy:this.retryPolicy,cachePolicy:this.cachePolicy})}};function z9(e){return"steps"in e&&Array.isArray(e.steps)}function x_(e){return"lg_is_pregel"in e&&e.lg_is_pregel===!0}function XS(e){let t=[e];for(let n of t){if(x_(n))return n;z9(n)&&t.push(...n.steps)}}var U=e=>BigInt(e),Ye=(e,t=0)=>new DataView(e.buffer,e.byteOffset+t,e.byteLength-t),YS=U("0x9E3779B1"),QS=U("0x85EBCA77"),U9=U("0xC2B2AE3D"),Ns=U("0x9E3779B185EBCA87"),wa=U("0xC2B2AE3D27D4EB4F"),eT=U("0x165667B19E3779F9"),O_=U("0x85EBCA77C2B2AE63"),D9=U("0x27D4EB2F165667C5"),F9=U("0x165667919E3779F9"),B9=U("0x9FB21C651E98DF25"),Z9=e=>{let t=e.length;if(t%2!==0)throw new Error("String should have an even number of characters");let n=t/2,r=new Uint8Array(n),s=0,a=0;for(;a<n;){let i=e.slice(s,s+=2);r[a]=Number.parseInt(i,16),a+=1}return Ye(r)},xr=Z9("b8fe6c3923a44bbe7c01812cf721ad1cded46de9839097db7240a4a4b7b3671fcb79e64eccc0e578825ad07dccff7221b8084674f743248ee03590e6813a264c3c2852bb91c300cb88d0658b1b532ea371644897a20df94e3819ef46a9deacd8a8fa763fe39c343ff9dcbbc7c70b4f1d8a51e04bcdb45931c89f7ec9d9787364eac5ac8334d3ebc3c581a0fffa1363eb170ddd51b7f0da49d316552629d4689e2b16be587d47a1fc8ff8b8d17ad031ce45cb3a8f95160428afd7fbcabb4b407e"),vi=(U(1)<<U(128))-U(1),Ie=(U(1)<<U(64))-U(1),Yl=(U(1)<<U(32))-U(1),Wr=64,tT=Wr/8,V9=8,Nu=4;function Ri(e){if(!e)throw new Error("Assert failed")}function q9(e){let t=new DataView(new ArrayBuffer(8));return t.setBigUint64(0,e,!0),t.getBigUint64(0,!1)}function H9(e){let t=e;return t=(t&U(65535))<<U(16)|(t&U(4294901760))>>U(16),t=(t&U(16711935))<<U(8)|(t&U(4278255360))>>U(8),t}function W9(e,t){return(e&Yl)*(t&Yl)&Ie}function J9(e,t){return(e<<t|e>>U(32)-t)&Yl}function nT(e,t,n){for(let r=0;r<tT;r+=1){let s=t.getBigUint64(r*8,!0),a=s^n.getBigUint64(r*8,!0);e[r^1]+=s,e[r]+=W9(a,a>>U(32))}return e}function mb(e,t,n,r){for(let s=0;s<r;s+=1)nT(e,Ye(t,s*Wr),Ye(n,s*8));return e}function G9(e,t){for(let n=0;n<tT;n+=1){let r=t.getBigUint64(n*8,!0),s=e[n];s=vg(s,U(47)),s^=r,s*=YS,e[n]=s&Ie}return e}function Pu(e,t){return rT(e[0]^t.getBigUint64(0,!0),e[1]^t.getBigUint64(V9,!0))}function gb(e,t,n){let r=n;return r+=Pu(e.slice(0),Ye(t,0*Nu)),r+=Pu(e.slice(2),Ye(t,4*Nu)),r+=Pu(e.slice(4),Ye(t,8*Nu)),r+=Pu(e.slice(6),Ye(t,12*Nu)),Er(r&Ie)}function K9(e,t,n,r,s){let a=e,i=Math.floor((n.byteLength-Wr)/8),o=Wr*i,c=Math.floor((t.byteLength-1)/o);for(let u=0;u<c;u+=1)a=mb(a,Ye(t,u*o),n,i),a=s(a,Ye(n,n.byteLength-Wr));{let u=Math.floor((t.byteLength-1-o*c)/Wr);a=mb(a,Ye(t,c*o),n,u),a=r(a,Ye(t,t.byteLength-Wr),Ye(n,n.byteLength-Wr-7))}return a}function X9(e,t){let n=new BigUint64Array([U9,Ns,wa,eT,O_,QS,D9,YS]);Ri(e.byteLength>128),n=K9(n,e,t,nT,G9),Ri(n.length*8===64);{let r=gb(n,Ye(t,11),U(e.byteLength)*Ns&Ie);return gb(n,Ye(t,t.byteLength-Wr-11),~(U(e.byteLength)*wa)&Ie)<<U(64)|r}}function rT(e,t){let n=e*t&vi;return n&Ie^n>>U(64)}function yb(e,t,n){return rT((e.getBigUint64(0,!0)^t.getBigUint64(0,!0)+n)&Ie,(e.getBigUint64(8,!0)^t.getBigUint64(8,!0)-n)&Ie)}function fl(e,t,n,r,s){let a=e&Ie,i=e>>U(64)&Ie;return a+=yb(t,r,s),a^=n.getBigUint64(0,!0)+n.getBigUint64(8,!0),a&=Ie,i+=yb(n,Ye(r,16),s),i^=t.getBigUint64(0,!0)+t.getBigUint64(8,!0),i&=Ie,i<<U(64)|a}function Er(e){let t=e;return t^=t>>U(37),t*=F9,t&=Ie,t^=t>>U(32),t}function Ql(e){let t=e;return t^=t>>U(33),t*=wa,t&=Ie,t^=t>>U(29),t*=eT,t&=Ie,t^=t>>U(32),t}function Y9(e,t,n){let r=e.byteLength;Ri(r>0&&r<=3);let s=U(e.getUint8(r-1))|U(r<<8)|U(e.getUint8(0)<<16)|U(e.getUint8(r>>1)<<24),a=(s^(U(t.getUint32(0,!0))^U(t.getUint32(4,!0)))+n)&Ie,i=(U(t.getUint32(8,!0))^U(t.getUint32(12,!0)))-n;return(Ql((J9(H9(s),U(13))^i)&Ie)&Ie)<<U(64)|Ql(a)}function vg(e,t){return e^e>>t}function Q9(e,t,n){let r=e.byteLength;Ri(r>=4&&r<=8);{let s=e.getUint32(0,!0),a=e.getUint32(r-4,!0),i=((U(s)|U(a)<<U(32))^(t.getBigUint64(16,!0)^t.getBigUint64(24,!0))+n&Ie)*(Ns+(U(r)<<U(2)))&vi;return i+=(i&Ie)<<U(65),i&=vi,i^=i>>U(67),vg(vg(i&Ie,U(35))*B9&Ie,U(28))|Er(i>>U(64))<<U(64)}}function e5(e,t,n){let r=e.byteLength;Ri(r>=9&&r<=16);{let s=(t.getBigUint64(32,!0)^t.getBigUint64(40,!0))+n&Ie,a=(t.getBigUint64(48,!0)^t.getBigUint64(56,!0))-n&Ie,i=e.getBigUint64(0,!0),o=e.getBigUint64(r-8,!0),c=(i^o^s)*Ns,u=(c&Ie)+(U(r-1)<<U(54));c=c&(vi^Ie)|u,o^=a,c+=o+(o&Yl)*(QS-U(1))<<U(64),c&=vi,c^=q9(c>>U(64));let l=(c&Ie)*wa;return l+=(c>>U(64))*wa<<U(64),l&=vi,Er(l&Ie)|Er(l>>U(64))<<U(64)}}function t5(e,t){let n=e.byteLength;return Ri(n<=16),n>8?e5(e,xr,t):n>=4?Q9(e,xr,t):n>0?Y9(e,xr,t):Ql(t^xr.getBigUint64(64,!0)^xr.getBigUint64(72,!0))|Ql(t^xr.getBigUint64(80,!0)^xr.getBigUint64(88,!0))<<U(64)}function wg(e){return~e+U(1)&Ie}function n5(e,t,n){let r=U(e.byteLength)*Ns&Ie,s=U(e.byteLength-1)/U(32);for(;s>=0;){let o=Number(s);r=fl(r,Ye(e,16*o),Ye(e,e.byteLength-16*(o+1)),Ye(t,32*o),n),s-=U(1)}let a=r+(r>>U(64))&Ie;a=Er(a);let i=(r&Ie)*Ns+(r>>U(64))*O_+(U(e.byteLength)-n&Ie)*wa;return i&=Ie,i=wg(Er(i)),a|i<<U(64)}function r5(e,t,n){let r=U(e.byteLength)*Ns&Ie;for(let i=32;i<160;i+=32)r=fl(r,Ye(e,i-32),Ye(e,i-16),Ye(t,i-32),n);r=Er(r&Ie)|Er(r>>U(64))<<U(64);for(let i=160;i<=e.byteLength;i+=32)r=fl(r,Ye(e,i-32),Ye(e,i-16),Ye(t,3+i-160),n);r=fl(r,Ye(e,e.byteLength-16),Ye(e,e.byteLength-32),Ye(t,103),wg(n));let s=r+(r>>U(64))&Ie;s=Er(s);let a=(r&Ie)*Ns+(r>>U(64))*O_+(U(e.byteLength)-n&Ie)*wa;return a&=Ie,a=wg(Er(a)),s|a<<U(64)}function Xs(e,t=U(0)){let n=new TextEncoder,r=Ye(typeof e=="string"?n.encode(e):e),s=r.byteLength,a=i=>i.toString(16).padStart(32,"0");return s<=16?a(t5(r,t)):s<=128?a(n5(r,xr,t)):s<=240?a(r5(r,xr,t)):a(X9(r,xr))}function sT(e){return/^[0-9a-f]{32}$/.test(e)}function wi(e,t,n=!0,r=!1){try{return e[t].get()}catch(s){if(s.name===$t.unminifiable_name){if(r)return s;if(n)return null}throw s}}function ba(e,t,n=!0){if(Array.isArray(t)){let r={};for(let s of t)try{r[s]=wi(e,s,!n)}catch(a){if(a.name===$t.unminifiable_name)continue}return r}else return wi(e,t)}function*s5(e,t){if(e.graph===Tr.PARENT)throw new et("There is no parent graph.");if(e.goto){let n;Array.isArray(e.goto)?n=e.goto:n=[e.goto];for(let r of n)if(yn(r))yield[Dn,$n,r];else if(typeof r=="string")yield[Dn,`branch:to:${r}`,"__start__"];else throw new Error(`In Command.send, expected Send or string, got ${typeof r}`)}if(e.resume)if(typeof e.resume=="object"&&Object.keys(e.resume).length&&Object.keys(e.resume).every(sT))for(let[n,r]of Object.entries(e.resume)){let s=t.filter(a=>a[0]===n&&a[1]===gn).map(a=>a[2]).slice(0,1)??[];s.push(r),yield[n,gn,s]}else yield[Dn,gn,e.resume];if(e.update){if(typeof e.update!="object"||!e.update)throw new Error("Expected cmd.update to be a dict mapping channel names to update values");if(Array.isArray(e.update))for(let[n,r]of e.update)yield[Dn,n,r];else for(let[n,r]of Object.entries(e.update))yield[Dn,n,r]}}function*aT(e,t){if(t!=null)if(Array.isArray(e)&&typeof t=="object"&&!Array.isArray(t))for(let n in t)e.includes(n)&&(yield[n,t[n]]);else{if(Array.isArray(e))throw new Error('Input chunk must be an object when "inputChannels" is an array');yield[e,t]}}function*Cf(e,t,n){Array.isArray(e)?(t===!0||t.find(([r,s])=>e.includes(r)))&&(yield ba(n,e)):(t===!0||t.some(([r,s])=>r===e))&&(yield wi(n,e))}function*a5(e,t,n){let r=t.filter(([o,c])=>(o.config===void 0||!o.config.tags?.includes(yt))&&c[0][0]!==fn&&c[0][0]!==Be);if(!r.length)return;let s;r.some(([o])=>o.writes.some(([c,u])=>c===bi))?s=r.flatMap(([o])=>o.writes.filter(([c,u])=>c===bi).map(([c,u])=>[o.name,u])):Array.isArray(e)?s=r.flatMap(([o])=>{let{writes:c}=o,u={};for(let[l]of c)e.includes(l)&&(u[l]=(u[l]||0)+1);return Object.values(u).some(l=>l>1)?c.filter(([l])=>e.includes(l)).map(([l,d])=>[o.name,{[l]:d}]):[[o.name,Object.fromEntries(c.filter(([l])=>e.includes(l)))]]}):s=r.flatMap(([o])=>o.writes.filter(([c,u])=>c===e).map(([c,u])=>[o.name,u]));let a={};for(let[o,c]of s)o in a||(a[o]=[]),a[o].push(c);let i={};for(let o in a)if(a[o].length===1){let[c]=a[o];i[o]=c}else i[o]=a[o];n&&(i.__metadata__={cached:n}),yield i}function S_(e){let t=typeof e[We];if(t==="number")return 0;if(t==="string")return"";for(let n in e){if(!Object.prototype.hasOwnProperty.call(e,n))continue;let r=typeof e[n];if(r==="number")return 0;if(r==="string")return"";break}}function ml(e,t){if(Object.keys(e).length>0){let n=S_(t);return Object.fromEntries(Object.entries(t).filter(([r,s])=>s>(e[r]??n)))}else return t}function i5(e,t){return e&&!Array.isArray(e)&&!(e instanceof Date)&&typeof e=="object"?e:{[t]:e}}function ar(e,t){return e===null?{configurable:t}:e?.configurable===void 0?{...e,configurable:t}:{...e,configurable:{...e.configurable,...t}}}function Ws(e,t){let n=t?.parents??{};return Object.keys(n).length>0?ar(e,{[Un]:{...n,[e.configurable?.checkpoint_ns??""]:e.configurable?.checkpoint_id}}):e}function ed(...e){let t=[...new Set(e.filter(Boolean))];if(t.length===0)return{signal:void 0,dispose:void 0};if(t.length===1)return{signal:t[0],dispose:void 0};let n=new AbortController,r=()=>{let a=t.find(i=>i.aborted)?.reason;n.abort(a),t.forEach(i=>i.removeEventListener("abort",r))};t.forEach(a=>a.addEventListener("abort",r,{once:!0}));let s=t.find(a=>a.aborted);return s&&n.abort(s.reason),{signal:n.signal,dispose:()=>{t.forEach(a=>a.removeEventListener("abort",r))}}}var o5=(e,t)=>{if(!(!e&&!t))return e?t?Array.isArray(e)&&Array.isArray(t)?[...e,...t]:Array.isArray(e)?[...e,t]:Array.isArray(t)?[e,...t]:[e,t]:e:t},c5=class{func;name;input;retry;cache;callbacks;__lg_type="call";constructor({func:e,name:t,input:n,retry:r,cache:s,callbacks:a}){this.func=e,this.name=t,this.input=n,this.retry=r,this.cache=s,this.callbacks=a}};function u5(e){return typeof e=="object"&&e!==null&&"__lg_type"in e&&e.__lg_type==="call"}function l5(e,t){return new Cs({name:e,first:new Ua({func:n=>t(...n),name:e,trace:!1,recurse:!1}),last:new Qt([{channel:bi,value:ha}],[yt])})}var d5=e=>e!==void 0?e+1:1;function p5(e,t){if(t==null)return!1;for(let n of e)if(t[n])return!0;return!1}function h5(e){let t;for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t==null?t=e[n]:t=k9(t,e[n]));return t}function ju(e,t,n){let r=S_(e.channel_versions),s=e.versions_seen[Be]??{},a=!1;if((e.channel_versions[We]??r)>(s[We]??r))a=!0;else for(let o in e.channel_versions)if(Object.prototype.hasOwnProperty.call(e.channel_versions,o)&&e.channel_versions[o]>(s[o]??r)){a=!0;break}let i=n.some(o=>t==="*"?!o.config?.tags?.includes(yt):t.includes(o.name));return a&&i}function gl(e,t,n,r,s=!1){let a=new Set;if(Array.isArray(r))a=new Set(r.filter(o=>n.writes.some(([c,u])=>c===o)));else{for(let[o]of n.writes)if(o===r){a=new Set([o]);break}a=a||new Set}let i;if(s&&a.size>0){let o=Object.fromEntries(Object.entries(t).filter(([l,d])=>a.has(l))),c=ta(e,o,-1),u=Kl(o,c);En(Gl(c),u,[n],void 0,void 0),i=ba({...t,...u},r)}else i=ba(t,r);return i}function Nf(e,t,n){for(let[r,s]of n)if([An,$n].includes(r)&&s!=null){if(!yn(s))throw new et(`Invalid packet type, expected SendProtocol, got ${JSON.stringify(s)}`);if(!(s.node in t))throw new et(`Invalid node name "${s.node}" in Send packet`)}e(n)}var f5=new Set([cy,An,gn,Be,bi,fn]);function En(e,t,n,r,s){n.sort((p,h)=>{let f=p.path?.slice(0,3)||[],m=h.path?.slice(0,3)||[];for(let v=0;v<Math.min(f.length,m.length);v+=1){if(f[v]<m[v])return-1;if(f[v]>m[v])return 1}return f.length-m.length});let a=n.some(p=>p.triggers.length>0),i=k_(t);for(let p of n){e.versions_seen[p.name]??={};for(let h of p.triggers)h in e.channel_versions&&(e.versions_seen[p.name][h]=e.channel_versions[h])}let o=h5(e.channel_versions),c=new Set(n.flatMap(p=>p.triggers).filter(p=>!VE.includes(p))),u=!1;for(let p of c)p in i&&i[p].consume()&&r!==void 0&&(e.channel_versions[p]=r(o),u=!0);let l={};for(let p of n)for(let[h,f]of p.writes)f5.has(h)||h in i&&(l[h]??=[],l[h].push(f));o!=null&&r!=null&&(o=u?r(o):o);let d=new Set;for(let[p,h]of Object.entries(l))if(p in i){let f=i[p],m;try{m=f.update(h)}catch(v){if(v.name===et.unminifiable_name){let g=new et(`Invalid update for channel "${p}" with values ${JSON.stringify(h)}: ${v.message}`);throw g.lc_error_code=v.lc_error_code,g}else throw v}m&&r!==void 0&&(e.channel_versions[p]=r(o),f.isAvailable()&&d.add(p))}if(a)for(let p in i){if(!Object.prototype.hasOwnProperty.call(i,p))continue;let h=i[p];h.isAvailable()&&!d.has(p)&&h.update([])&&r!==void 0&&(e.channel_versions[p]=r(o),h.isAvailable()&&d.add(p))}if(a&&!p5(d,s))for(let p in i){if(!Object.prototype.hasOwnProperty.call(i,p))continue;let h=i[p];h.finish()&&r!==void 0&&(e.channel_versions[p]=r(o),h.isAvailable()&&d.add(p))}return d}function*m5(e,t,n){if(n.updatedChannels!=null&&n.triggerToNodes!=null){let r=new Set;for(let s of n.updatedChannels){let a=n.triggerToNodes[s];for(let i of a??[])r.add(i)}yield*[...r].sort();return}if(!(()=>{for(let r in e.channel_versions)if(e.channel_versions[r]!==null)return!1;return!0})())for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&(yield r)}function pi(e,t,n,r,s,a,i){let o={},c=r[$n];if(c?.isAvailable()){let u=c.get().length;for(let l=0;l<u;l+=1){let d=bg([An,l],e,t,n,r,s,a,i);d!==void 0&&(o[d.id]=d)}}for(let u of m5(e,n,i)){let l=bg([Qu,u],e,t,n,r,s,a,i);l!==void 0&&(o[l.id]=l)}return o}function bg(e,t,n,r,s,a,i,o){let{step:c,checkpointer:u,manager:l}=o,d=a.configurable??{},p=d.checkpoint_ns??"";if(e[0]===An&&u5(e[e.length-1])){let h=e[e.length-1],f=l5(h.name,h.func),m=[An],v=p===""?h.name:`${p}${St}${h.name}`,g=ii(JSON.stringify([v,c.toString(),h.name,An,e[1],e[2]]),t.id),y=`${v}${Gr}${g}`,k=[...e.slice(0,3),!0],x={langgraph_step:c,langgraph_node:h.name,langgraph_triggers:m,langgraph_path:k,langgraph_checkpoint_ns:y};if(i){let T=[];return{name:h.name,input:h.input,proc:f,writes:T,config:He(Fn(a,{metadata:x,store:o.store??a.store}),{runName:h.name,callbacks:l?.getChild(`graph:step:${c}`),configurable:{[Do]:g,[ys]:A=>Nf(I=>T.push(...I),r,A),[ca]:(A,I=!1)=>gl(t,s,{name:h.name,writes:T,triggers:m,path:k},A,I),[wt]:u??d[wt],[Un]:{...d[Un],[p]:t.id},[_s]:Pf({pendingWrites:n??[],taskId:g,currentTaskInput:h.input,resumeMap:a.configurable?.[Xu],namespaceHash:Xs(y)}),[Yu]:t.channel_values[rh],checkpoint_id:void 0,checkpoint_ns:y}}),triggers:m,retry_policy:h.retry,cache_key:h.cache?{key:Xs((h.cache.keyFunc??JSON.stringify)([h.input])),ns:[nh,h.name??"__dynamic__"],ttl:h.cache.ttl}:void 0,id:g,path:k,writers:[]}}else return{id:g,name:h.name,interrupts:[],path:k}}else if(e[0]===An){let h=typeof e[1]=="number"?e[1]:parseInt(e[1],10);if(!s[$n]?.isAvailable())return;let f=s[$n].get();if(h<0||h>=f.length)return;let m=Qf(f[h])&&!yn(f[h])?new Xo(f[h].node,f[h].args):f[h];if(!Qf(m)){console.warn(`Ignoring invalid packet ${JSON.stringify(m)} in pending sends.`);return}if(!(m.node in r)){console.warn(`Ignoring unknown node name ${m.node} in pending sends.`);return}let v=[An],g=p===""?m.node:`${p}${St}${m.node}`,y=ii(JSON.stringify([g,c.toString(),m.node,An,h.toString()]),t.id),k=`${g}${Gr}${y}`,x={langgraph_step:c,langgraph_node:m.node,langgraph_triggers:v,langgraph_path:e.slice(0,3),langgraph_checkpoint_ns:k};if(i){let T=r[m.node],A=T.getNode();if(A!==void 0){T.metadata!==void 0&&(x={...x,...T.metadata});let I=[];return{name:m.node,input:m.args,proc:A,subgraphs:T.subgraphs,writes:I,config:He(Fn(a,{metadata:x,tags:T.tags,store:o.store??a.store}),{runName:m.node,callbacks:l?.getChild(`graph:step:${c}`),configurable:{[Do]:y,[ys]:w=>Nf(P=>I.push(...P),r,w),[ca]:(w,P=!1)=>gl(t,s,{name:m.node,writes:I,triggers:v,path:e},w,P),[wt]:u??d[wt],[Un]:{...d[Un],[p]:t.id},[_s]:Pf({pendingWrites:n??[],taskId:y,currentTaskInput:m.args,resumeMap:a.configurable?.[Xu],namespaceHash:Xs(k)}),[Yu]:t.channel_values[rh],checkpoint_id:void 0,checkpoint_ns:k}}),triggers:v,retry_policy:T.retryPolicy,cache_key:T.cachePolicy?{key:Xs((T.cachePolicy.keyFunc??JSON.stringify)([m.args])),ns:[nh,T.name??"__dynamic__",m.node],ttl:T.cachePolicy.ttl}:void 0,id:y,path:e,writers:T.getWriters()}}}else return{id:y,name:m.node,interrupts:[],path:e}}else if(e[0]===Qu){let h=e[1].toString(),f=r[h];if(f===void 0)return;if(n?.length){let y=p===""?h:`${p}${St}${h}`,k=ii(JSON.stringify([y,c.toString(),h,Qu,h]),t.id);if(n.some(x=>x[0]===k&&x[1]!==fn))return}let m=S_(t.channel_versions);if(m===void 0)return;let v=t.versions_seen[h]??{},g=f.triggers.find(y=>s[y].isAvailable()?(t.channel_versions[y]??m)>(v[y]??m):!1);if(g!==void 0){let y=g5(f,s,i);if(y===void 0)return;let k=p===""?h:`${p}${St}${h}`,x=ii(JSON.stringify([k,c.toString(),h,Qu,[g]]),t.id),T=`${k}${Gr}${x}`,A={langgraph_step:c,langgraph_node:h,langgraph_triggers:[g],langgraph_path:e,langgraph_checkpoint_ns:T};if(i){let I=f.getNode();if(I!==void 0){f.metadata!==void 0&&(A={...A,...f.metadata});let w=[];return{name:h,input:y,proc:I,subgraphs:f.subgraphs,writes:w,config:He(Fn(a,{metadata:A,tags:f.tags,store:o.store??a.store}),{runName:h,callbacks:l?.getChild(`graph:step:${c}`),configurable:{[Do]:x,[ys]:P=>Nf(E=>{w.push(...E)},r,P),[ca]:(P,E=!1)=>gl(t,s,{name:h,writes:w,triggers:[g],path:e},P,E),[wt]:u??d[wt],[Un]:{...d[Un],[p]:t.id},[_s]:Pf({pendingWrites:n??[],taskId:x,currentTaskInput:y,resumeMap:a.configurable?.[Xu],namespaceHash:Xs(T)}),[Yu]:t.channel_values[rh],checkpoint_id:void 0,checkpoint_ns:T}}),triggers:[g],retry_policy:f.retryPolicy,cache_key:f.cachePolicy?{key:Xs((f.cachePolicy.keyFunc??JSON.stringify)([y])),ns:[nh,f.name??"__dynamic__",h],ttl:f.cachePolicy.ttl}:void 0,id:x,path:e,writers:f.getWriters()}}}else return{id:x,name:h,interrupts:[],path:e}}}}function g5(e,t,n){let r;if(typeof e.channels=="object"&&!Array.isArray(e.channels)){r={};for(let[s,a]of Object.entries(e.channels))if(e.triggers.includes(a))try{r[s]=wi(t,a,!1)}catch(i){if(i.name===$t.unminifiable_name)return;throw i}else if(a in t)try{r[s]=wi(t,a,!1)}catch(i){if(i.name===$t.unminifiable_name)continue;throw i}}else if(Array.isArray(e.channels)){let s=!1;for(let a of e.channels)try{r=wi(t,a,!1),s=!0;break}catch(i){if(i.name===$t.unminifiable_name)continue;throw i}if(!s)return}else throw new Error(`Invalid channels type, expected list or dict, got ${e.channels}`);return n&&e.mapper!==void 0&&(r=e.mapper(r)),r}function y5(e,t){if(typeof e.args!="object"||e.args===null)return e;let n={};for(let[r,s]of Object.entries(e.args)){let a=t[r];(!a||a.lc_graph_name!=="UntrackedValue")&&(n[r]=s)}return new Xo(e.node,n)}function Pf({pendingWrites:e,taskId:t,currentTaskInput:n,resumeMap:r,namespaceHash:s}){let a=e.find(([o,c])=>o===Dn&&c===gn)?.[2],i={callCounter:0,interruptCounter:-1,resume:(()=>{let o=e.filter(([c,u])=>c===t&&u===gn).flatMap(([c,u,l])=>l);if(r!=null&&s in r){let c=r[s];o.push(c)}return o})(),nullResume:a,subgraphCounter:0,currentTaskInput:n,consumeNullResume:()=>{if(i.nullResume)return delete i.nullResume,e.splice(e.findIndex(([o,c])=>o===Dn&&c===gn),1),a}};return i}var mc={blue:{start:"\x1B[34m",end:"\x1B[0m"},green:{start:"\x1B[32m",end:"\x1B[0m"},yellow:{start:"\x1B[33;1m",end:"\x1B[0m"}},gc=(e,t)=>`${e.start}${t}${e.end}`;function*_b(e){for(let{id:t,name:n,input:r,config:s,triggers:a,writes:i}of e)s?.tags?.includes(yt)||(yield{id:t,name:n,input:r,triggers:a,interrupts:i.filter(([o,c])=>o===t&&c===Be).map(([,o])=>o)})}function _5(e){return typeof e!="object"||e===null?!1:"$writes"in e&&Array.isArray(e.$writes)}function iT(e){let t={};for(let[n,r]of e){let s=String(n);if(s in t){let a=_5(t[s])?t[s].$writes:[t[s]];a.push(r),t[s]={$writes:a}}else t[s]=r}return t}function*v5(e,t){for(let[{id:n,name:r,config:s},a]of e)s?.tags?.includes(yt)||(yield{id:n,name:r,result:iT(a.filter(([i])=>Array.isArray(t)?t.includes(i):i===t)),interrupts:a.filter(i=>i[0]===Be).map(i=>i[1])})}function*w5(e,t,n,r,s,a,i,o){function c(d){let p={};return d.callbacks!=null&&(p.callbacks=d.callbacks),d.configurable!=null&&(p.configurable=d.configurable),d.maxConcurrency!=null&&(p.max_concurrency=d.maxConcurrency),d.metadata!=null&&(p.metadata=d.metadata),d.recursionLimit!=null&&(p.recursion_limit=d.recursionLimit),d.runId!=null&&(p.run_id=d.runId),d.runName!=null&&(p.run_name=d.runName),d.tags!=null&&(p.tags=d.tags),p}let u=e.configurable?.checkpoint_ns,l={};for(let d of s){if(!(d.subgraphs?.length?d.subgraphs:[d.proc]).find(XS))continue;let p=`${d.name}:${d.id}`;u&&(p=`${u}|${p}`),l[d.id]={configurable:{thread_id:e.configurable?.thread_id,checkpoint_ns:p}}}yield{config:c(e),values:ba(t,n),metadata:r,next:s.map(d=>d.name),tasks:oT(s,a,l,o),parentConfig:i?c(i):void 0}}function oT(e,t,n,r){return e.map(s=>{let a=t.find(([u,l])=>u===s.id&&l===fn)?.[2],i=t.filter(([u,l])=>u===s.id&&l===Be).map(([,,u])=>u),o=(()=>{if(a||i.length||!t.length)return;let u=t.findIndex(([l,d])=>l===s.id&&d===bi);if(u>=0)return t[u][2];if(typeof r=="string")return t.find(([l,d])=>l===s.id&&d===r)?.[2];if(Array.isArray(r)){let l=t.filter(([d,p])=>d===s.id&&r.includes(p)).map(([,d,p])=>[d,p]);return l.length?iT(l):void 0}})();if(a)return{id:s.id,name:s.name,path:s.path,error:a,interrupts:i,result:o};let c=n?.[s.id];return{id:s.id,name:s.name,path:s.path,interrupts:i,...c!==void 0?{state:c}:{},result:o}})}function b5(e,t,n){console.log([`${gc(mc.blue,`[${e}:checkpoint]`)}`,`\x1B[1m State at the end of step ${e}:\x1B[0m
257
+ `,JSON.stringify(ba(t,n),null,2)].join(""))}function cT(e,t){let n=t.length;console.log([`${gc(mc.blue,`[${e}:tasks]`)}`,`\x1B[1m Starting step ${e} with ${n} task${n===1?"":"s"}:\x1B[0m
258
+ `,t.map(r=>`- ${gc(mc.green,String(r.name))} -> ${JSON.stringify(r.input,null,2)}`).join(`
259
+ `)].join(""))}function k5(e,t,n){let r={};for(let[s,a]of t)n.includes(s)&&(r[s]||(r[s]=[]),r[s].push(a));console.log([`${gc(mc.blue,`[${e}:writes]`)}`,`\x1B[1m Finished step ${e} with writes to ${Object.keys(r).length} channel${Object.keys(r).length!==1?"s":""}:\x1B[0m
260
+ `,Object.entries(r).map(([s,a])=>`- ${gc(mc.yellow,s)} -> ${a.map(i=>JSON.stringify(i)).join(", ")}`).join(`
261
+ `)].join(""))}var vb=class extends vn{_abortController;_innerReader;constructor(e,t){let n=e.getReader(),r=t??new AbortController;super({start(s){return a();function a(){return n.read().then(({done:i,value:o})=>{if(i){s.close();return}return s.enqueue(o),a()})}}}),this._abortController=r,this._innerReader=n}async cancel(e){this._abortController.abort(e),this._innerReader.releaseLock()}get signal(){return this._abortController.signal}},uT=class extends vn{modes;controller;passthroughFn;_closed=!1;get closed(){return this._closed}constructor(e){let t,n=new Promise(r=>{t=r});super({start:r=>{t(r)}}),n.then(r=>{this.controller=r}),this.passthroughFn=e.passthroughFn,this.modes=e.modes}push(e){this.passthroughFn?.(e),this.controller.enqueue(e)}close(){try{this.controller.close()}catch{}finally{this._closed=!0}}error(e){this.controller.error(e)}},x5=class extends Ma{name="StreamToolsHandler";streamFn;runs={};constructor(e){super(),this.streamFn=e}handleToolStart(e,t,n,r,s,a,i,o){if(!a||s&&s.includes(yt))return;let c=a.langgraph_checkpoint_ns?.split("|")??[],u={ns:c,toolCallId:o,toolName:i??"unknown",input:t};this.runs[n]=u,this.streamFn([c,"tools",{event:"on_tool_start",toolCallId:u.toolCallId,name:u.toolName,input:t}])}handleToolEvent(e,t){let n=this.runs[t];n&&this.streamFn([n.ns,"tools",{event:"on_tool_event",toolCallId:n.toolCallId,name:n.toolName,data:e}])}handleToolEnd(e,t){let n=this.runs[t];delete this.runs[t],n&&this.streamFn([n.ns,"tools",{event:"on_tool_end",toolCallId:n.toolCallId,name:n.toolName,output:e}])}handleToolError(e,t){let n=this.runs[t];delete this.runs[t],n&&this.streamFn([n.ns,"tools",{event:"on_tool_error",toolCallId:n.toolCallId,name:n.toolName,error:e}])}};function O5(e){return JSON.stringify(e,function(t,n){let r=this[t];if(r!=null&&typeof r=="object"&&"toDict"in r&&typeof r.toDict=="function"){let{type:s,data:a}=r.toDict();return{...a,type:s}}return n})}function S5(e){return e instanceof Error?{error:e.name,message:e.message}:{error:"Error",message:JSON.stringify(e)}}function T_(e){return typeof e!="object"||e==null?!1:"configurable"in e&&typeof e.configurable=="object"&&e.configurable!=null}function jf(e){return!T_(e)||!e.configurable.thread_id?null:{thread_id:e.configurable.thread_id,checkpoint_ns:e.configurable.checkpoint_ns||"",checkpoint_id:e.configurable.checkpoint_id||null,checkpoint_map:e.configurable.checkpoint_map||null}}function wb(e){if(T_(e)){let t=Object.fromEntries(Object.entries(e.configurable).filter(([r])=>!r.startsWith("__"))),n={...e,configurable:t};return delete n.callbacks,n}return e}function bb(e){let t={...e,checkpoint:jf(e.config),parent_checkpoint:jf(e.parentConfig),config:wb(e.config),parent_config:wb(e.parentConfig),tasks:e.tasks.map(n=>{if(T_(n.state)){let r=jf(n.state);if(r!=null){let s={...n,checkpoint:r};return delete s.state,s}}return n})};return delete t.parentConfig,t}function T5(e){let t=new TextEncoder;return new ReadableStream({async start(n){let r=s=>{n.enqueue(t.encode(`event: ${s.event}
262
+ data: ${O5(s.data)}
263
+
264
+ `))};try{for await(let s of e){let[a,i,o]=s,c=o;if(i==="debug"){let u=o;u.type==="checkpoint"&&(c={...u,payload:bb(u.payload)})}i==="checkpoints"&&(c=bb(o)),r({event:a?.length?`${i}|${a.join("|")}`:i,data:c})}}catch(s){r({event:"error",data:S5(s)})}n.close()}})}var Ru=Symbol.for("INPUT_DONE"),Rf=Symbol.for("INPUT_RESUMING"),I5=25;function E5(...e){return new uT({passthroughFn:t=>{for(let n of e)n.modes.has(t[1])&&n.push(t)},modes:new Set(e.flatMap(t=>Array.from(t.modes)))})}var A5=class extends E9{cache;queue=Promise.resolve();constructor(e){super(),this.cache=e}async get(e){return this.enqueueOperation("get",e)}async set(e){return this.enqueueOperation("set",e)}async clear(e){return this.enqueueOperation("clear",e)}async stop(){await this.queue}enqueueOperation(e,...t){let n=this.queue.then(()=>this.cache[e](...t));return this.queue=n.then(()=>{},()=>{}),n}},$5=class lT{input;output;config;checkpointer;checkpointerGetNextVersion;channels;checkpoint;checkpointIdSaved;checkpointConfig;checkpointMetadata;checkpointNamespace;checkpointPendingWrites=[];checkpointPreviousVersions;step;stop;durability;outputKeys;streamKeys;nodes;skipDoneTasks;prevCheckpointConfig;updatedChannels;status="pending";tasks={};stream;checkpointerPromises=[];isNested;_checkpointerChainedPromise=Promise.resolve();store;cache;manager;interruptAfter;interruptBefore;toInterrupt=[];debug=!1;triggerToNodes;get isResuming(){let t=!1;if(We in this.checkpoint.channel_versions)t=!0;else for(let o in this.checkpoint.channel_versions)if(Object.prototype.hasOwnProperty.call(this.checkpoint.channel_versions,o)){t=!0;break}let n=this.config.configurable?.[us]!==void 0&&this.config.configurable?.[us],r=this.input===null||this.input===void 0,s=Ft(this.input)&&this.input.resume!=null,a=this.input===Rf,i=!this.isNested&&this.config.metadata?.run_id!==void 0&&this.checkpointMetadata?.run_id!==void 0&&this.config.metadata.run_id===this.checkpointMetadata?.run_id;return t&&(n||r||s||a||i)}constructor(t){this.input=t.input,this.checkpointer=t.checkpointer,this.checkpointer!==void 0?this.checkpointerGetNextVersion=this.checkpointer.getNextVersion.bind(this.checkpointer):this.checkpointerGetNextVersion=d5,this.checkpoint=t.checkpoint,this.checkpointMetadata=t.checkpointMetadata,this.checkpointPreviousVersions=t.checkpointPreviousVersions,this.channels=t.channels,this.checkpointPendingWrites=t.checkpointPendingWrites,this.step=t.step,this.stop=t.stop,this.config=t.config,this.checkpointConfig=t.checkpointConfig,this.isNested=t.isNested,this.manager=t.manager,this.outputKeys=t.outputKeys,this.streamKeys=t.streamKeys,this.nodes=t.nodes,this.skipDoneTasks=t.skipDoneTasks,this.store=t.store,this.cache=t.cache?new A5(t.cache):void 0,this.stream=t.stream,this.checkpointNamespace=t.checkpointNamespace,this.prevCheckpointConfig=t.prevCheckpointConfig,this.interruptAfter=t.interruptAfter,this.interruptBefore=t.interruptBefore,this.durability=t.durability,this.debug=t.debug,this.triggerToNodes=t.triggerToNodes}static async initialize(t){let{config:n,stream:r}=t;r!==void 0&&n.configurable?.[Il]!==void 0&&(r=E5(r,n.configurable[Il]));let s=n.configurable?!("checkpoint_id"in n.configurable):!0,a=n.configurable?.[_s];n.configurable&&a&&(a.subgraphCounter>0&&(n=ar(n,{[Sr]:[n.configurable[Sr],a.subgraphCounter.toString()].join(St)})),a.subgraphCounter+=1);let i=ca in(n.configurable??{});!i&&n.configurable?.checkpoint_ns!==void 0&&n.configurable?.checkpoint_ns!==""&&(n=ar(n,{checkpoint_ns:"",checkpoint_id:void 0}));let o=n;n.configurable?.[Un]!==void 0&&n.configurable?.[Un]?.[n.configurable?.checkpoint_ns]&&(o=ar(n,{checkpoint_id:n.configurable[Un][n.configurable?.checkpoint_ns]}));let c=n.configurable?.checkpoint_ns?.split(St)??[],u=await t.checkpointer?.getTuple(o)??{config:n,checkpoint:BS(),metadata:{source:"input",step:-2,parents:{}},pendingWrites:[]};o={...n,...u.config,configurable:{checkpoint_ns:"",...n.configurable,...u.config.configurable}};let l=u.parentConfig,d=Gl(u.checkpoint),p={...u.metadata},h=u.pendingWrites??[],f=Kl(t.channelSpecs,d),m=(p.step??0)+1,v=m+(n.recursionLimit??I5)+1,g={...d.channel_versions},y=t.store?new I9(t.store):void 0;return y&&await y.start(),new lT({input:t.input,config:n,checkpointer:t.checkpointer,checkpoint:d,checkpointMetadata:p,checkpointConfig:o,prevCheckpointConfig:l,checkpointNamespace:c,channels:f,isNested:i,manager:t.manager,skipDoneTasks:s,step:m,stop:v,checkpointPreviousVersions:g,checkpointPendingWrites:h,outputKeys:t.outputKeys??[],streamKeys:t.streamKeys??[],nodes:t.nodes,stream:r,store:y,cache:t.cache,interruptAfter:t.interruptAfter,interruptBefore:t.interruptBefore,durability:t.durability,debug:t.debug,triggerToNodes:t.triggerToNodes})}_checkpointerPutAfterPrevious(t){this._checkpointerChainedPromise=this._checkpointerChainedPromise.then(()=>this.checkpointer?.put(t.config,t.checkpoint,t.metadata,t.newVersions)),this.checkpointerPromises.push(this._checkpointerChainedPromise)}putWrites(t,n){let r=n;if(r.length===0)return;r.every(([c])=>c in x9)&&(r=Array.from(new Map(r.map(c=>[c[0],c])).values()));let s=!1;for(let c in this.channels)if(Object.prototype.hasOwnProperty.call(this.channels,c)&&this.channels[c].lc_graph_name==="UntrackedValue"){s=!0;break}let a=r;s&&(a=r.filter(([c])=>{let u=this.channels[c];return!u||u.lc_graph_name!=="UntrackedValue"}).map(([c,u])=>c===$n&&yn(u)?[c,y5(u,this.channels)]:[c,u])),this.checkpointPendingWrites=this.checkpointPendingWrites.filter(c=>c[0]!==t);for(let[c,u]of a)this.checkpointPendingWrites.push([t,c,u]);let i=ar(this.checkpointConfig,{[Sr]:this.config.configurable?.checkpoint_ns??"",[Yf]:this.checkpoint.id});if(this.durability!=="exit"&&this.checkpointer!=null&&this.checkpointerPromises.push(this.checkpointer.putWrites(i,a,t)),this.tasks&&this._outputWrites(t,r),!n.length||!this.cache||!this.tasks)return;let o=this.tasks[t];o==null||o.cache_key==null||n[0][0]===fn||n[0][0]===Be||this.cache.set([{key:[o.cache_key.ns,o.cache_key.key],value:o.writes,ttl:o.cache_key.ttl}])}_outputWrites(t,n,r=!1){let s=this.tasks[t];if(s!==void 0){if(s.config!==void 0&&(s.config.tags??[]).includes(yt))return;if(n.length>0)if(n[0][0]===Be){if(s.path?.[0]===An&&s.path?.[s.path.length-1]===!0)return;let a=n.filter(i=>i[0]===Be).flatMap(i=>i[1]);this._emit([["updates",{[Be]:a}],["values",{[Be]:a}]])}else n[0][0]!==fn&&this._emit(To(as(a5(this.outputKeys,[[s,n]],r),"updates")));r||this._emit(To(as(v5([[s,n]],this.streamKeys),"tasks")))}}async _matchCachedWrites(){if(!this.cache)return[];let t=[],n=([i,o])=>`ns:${i.join(",")}|key:${o}`,r=[],s={};for(let i of Object.values(this.tasks))i.cache_key!=null&&!i.writes.length&&(r.push([i.cache_key.ns,i.cache_key.key]),s[n([i.cache_key.ns,i.cache_key.key])]=i);if(r.length===0)return[];let a=await this.cache.get(r);for(let{key:i,value:o}of a){let c=s[n(i)];c!=null&&(c.writes.push(...o),t.push({task:c,result:o}))}return t}async tick(t){this.store&&!this.store.isRunning&&await this.store?.start();let{inputKeys:n=[]}=t;if(this.status!=="pending")throw new Error(`Cannot tick when status is no longer "pending". Current status: "${this.status}"`);if(![Ru,Rf].includes(this.input))await this._first(n);else{if(this.toInterrupt.length>0)throw this.status="interrupt_before",new yi;if(Object.values(this.tasks).every(s=>s.writes.length>0)){let s=Object.values(this.tasks).flatMap(i=>i.writes);this.updatedChannels=En(this.checkpoint,this.channels,Object.values(this.tasks),this.checkpointerGetNextVersion,this.triggerToNodes);let a=await ps(as(Cf(this.outputKeys,s,this.channels),"values"));if(this._emit(a),this.checkpointPendingWrites=[],await this._putCheckpoint({source:"loop"}),ju(this.checkpoint,this.interruptAfter,Object.values(this.tasks)))throw this.status="interrupt_after",new yi;this.config.configurable?.[us]!==void 0&&delete this.config.configurable?.[us]}else return!1}if(this.step>this.stop)return this.status="out_of_steps",!1;if(this.tasks=pi(this.checkpoint,this.checkpointPendingWrites,this.nodes,this.channels,this.config,!0,{step:this.step,checkpointer:this.checkpointer,isResuming:this.isResuming,manager:this.manager,store:this.store,stream:this.stream,triggerToNodes:this.triggerToNodes,updatedChannels:this.updatedChannels}),this.checkpointer&&this._emit(await ps(as(w5(this.checkpointConfig,this.channels,this.streamKeys,this.checkpointMetadata,Object.values(this.tasks),this.checkpointPendingWrites,this.prevCheckpointConfig,this.outputKeys),"checkpoints"))),Object.values(this.tasks).length===0)return this.status="done",!1;if(this.skipDoneTasks&&this.checkpointPendingWrites.length>0){for(let[s,a,i]of this.checkpointPendingWrites){if(a===fn||a===Be||a===gn)continue;let o=Object.values(this.tasks).find(c=>c.id===s);o&&o.writes.push([a,i])}for(let s of Object.values(this.tasks))s.writes.length>0&&this._outputWrites(s.id,s.writes,!0)}if(Object.values(this.tasks).every(s=>s.writes.length>0))return this.tick({inputKeys:n});if(ju(this.checkpoint,this.interruptBefore,Object.values(this.tasks)))throw this.status="interrupt_before",new yi;let r=await ps(as(_b(Object.values(this.tasks)),"tasks"));return this._emit(r),!0}async finishAndHandleError(t){this.durability==="exit"&&(!this.isNested||typeof t<"u"||this.checkpointNamespace.every(r=>!r.includes(Gr)))&&(this._putCheckpoint(this.checkpointMetadata),this._flushPendingWrites());let n=this._suppressInterrupt(t);return(n||t===void 0)&&(this.output=ba(this.channels,this.outputKeys)),n&&(this.tasks!==void 0&&this.checkpointPendingWrites.length>0&&Object.values(this.tasks).some(r=>r.writes.length>0)&&(this.updatedChannels=En(this.checkpoint,this.channels,Object.values(this.tasks),this.checkpointerGetNextVersion,this.triggerToNodes),this._emit(To(as(Cf(this.outputKeys,Object.values(this.tasks).flatMap(r=>r.writes),this.channels),"values")))),ai(t)&&!t.interrupts.length&&this._emit([["updates",{[Be]:[]}],["values",{[Be]:[]}]])),n}async acceptPush(t,n,r){if(this.interruptAfter?.length>0&&ju(this.checkpoint,this.interruptAfter,[t])){this.toInterrupt.push(t);return}let s=bg([An,t.path??[],n,t.id,r],this.checkpoint,this.checkpointPendingWrites,this.nodes,this.channels,t.config??{},!0,{step:this.step,checkpointer:this.checkpointer,manager:this.manager,store:this.store,stream:this.stream});if(!s)return;if(this.interruptBefore?.length>0&&ju(this.checkpoint,this.interruptBefore,[s])){this.toInterrupt.push(s);return}this._emit(To(as(_b([s]),"tasks"))),this.debug&&cT(this.step,[s]),this.tasks[s.id]=s,this.skipDoneTasks&&this._matchWrites({[s.id]:s});let a=await this._matchCachedWrites();for(let{task:i}of a)this._outputWrites(i.id,i.writes,!0);return s}_suppressInterrupt(t){return ai(t)&&!this.isNested}async _first(t){let{configurable:n}=this.config,r=n?.[_s];if(r&&r.nullResume!==void 0&&this.putWrites(Dn,[[gn,r.nullResume]]),Ft(this.input)){let i=this.input.resume!=null;if(this.input.resume!=null&&typeof this.input.resume=="object"&&Object.keys(this.input.resume).every(sT)&&(this.config.configurable??={},this.config.configurable[Xu]=this.input.resume),i&&this.checkpointer==null)throw new Error("Cannot use Command(resume=...) without checkpointer");let o={};for(let[c,u,l]of s5(this.input,this.checkpointPendingWrites))o[c]??=[],o[c].push([u,l]);if(Object.keys(o).length===0)throw new k0("Received empty Command input");for(let[c,u]of Object.entries(o))this.putWrites(c,u)}let s=(this.checkpointPendingWrites??[]).filter(i=>i[0]===Dn).map(i=>i.slice(1));s.length>0&&En(this.checkpoint,this.channels,[{name:Vr,writes:s,triggers:[]}],this.checkpointerGetNextVersion,this.triggerToNodes);let a=Ft(this.input)&&s.length>0;if(this.isResuming||a){for(let o in this.channels)if(Object.prototype.hasOwnProperty.call(this.channels,o)&&this.checkpoint.channel_versions[o]!==void 0){let c=this.checkpoint.channel_versions[o];this.checkpoint.versions_seen[Be]={...this.checkpoint.versions_seen[Be],[o]:c}}let i=await ps(as(Cf(this.outputKeys,!0,this.channels),"values"));this._emit(i)}if(this.isResuming)this.input=Rf;else if(a)await this._putCheckpoint({source:"input"}),this.input=Ru;else{let i=await ps(aT(t,this.input));if(i.length>0){let o=pi(this.checkpoint,this.checkpointPendingWrites,this.nodes,this.channels,this.config,!0,{step:this.step});this.updatedChannels=En(this.checkpoint,this.channels,Object.values(o).concat([{name:Vr,writes:i,triggers:[]}]),this.checkpointerGetNextVersion,this.triggerToNodes),await this._putCheckpoint({source:"input"}),this.input=Ru}else if(us in(this.config.configurable??{}))this.input=Ru;else throw new k0(`Received no input writes for ${JSON.stringify(t,null,2)}`)}this.isNested||(this.config=ar(this.config,{[us]:this.isResuming}))}_emit(t){for(let[n,r]of t)if(this.stream.modes.has(n)&&this.stream.push([this.checkpointNamespace,n,r]),(n==="checkpoints"||n==="tasks")&&this.stream.modes.has("debug")){let s=n==="checkpoints"?this.step-1:this.step,a=new Date().toISOString(),i=n==="checkpoints"?"checkpoint":typeof r=="object"&&r!=null&&"result"in r?"task_result":"task";this.stream.push([this.checkpointNamespace,"debug",{step:s,type:i,timestamp:a,payload:r}])}}_putCheckpoint(t){let n=this.checkpointMetadata===t,r=this.checkpointer!=null&&(this.durability!=="exit"||n),s=a=>{this.prevCheckpointConfig=this.checkpointConfig?.configurable?.checkpoint_id?this.checkpointConfig:void 0,this.checkpointConfig=ar(this.checkpointConfig,{[Sr]:this.config.configurable?.checkpoint_ns??""});let i={...this.checkpoint.channel_versions},o=ml(this.checkpointPreviousVersions,i);this.checkpointPreviousVersions=i,this._checkpointerPutAfterPrevious({config:{...this.checkpointConfig},checkpoint:Gl(a),metadata:{...this.checkpointMetadata},newVersions:o}),this.checkpointConfig={...this.checkpointConfig,configurable:{...this.checkpointConfig.configurable,checkpoint_id:this.checkpoint.id}}};n||(this.checkpointMetadata={...t,step:this.step,parents:this.config.configurable?.[Un]??{}}),this.checkpoint=ta(this.checkpoint,r?this.channels:void 0,this.step,n?{id:this.checkpoint.id}:void 0),r&&s(this.checkpoint),n||(this.step+=1)}_flushPendingWrites(){if(this.checkpointer==null||this.checkpointPendingWrites.length===0)return;let t=ar(this.checkpointConfig,{[Sr]:this.config.configurable?.checkpoint_ns??"",[Yf]:this.checkpoint.id}),n={};for(let[r,s,a]of this.checkpointPendingWrites)n[r]??=[],n[r].push([s,a]);for(let[r,s]of Object.entries(n))this.checkpointerPromises.push(this.checkpointer.putWrites(t,s,r))}_matchWrites(t){for(let[n,r,s]of this.checkpointPendingWrites){if(r===fn||r===Be||r===gn)continue;let a=Object.values(t).find(i=>i.id===n);a&&a.writes.push([r,s])}for(let n of Object.values(t))n.writes.length>0&&this._outputWrites(n.id,n.writes,!0)}};function C5(e){return Mt(e?.message)}var N5=class extends Ma{name="StreamMessagesHandler";streamFn;metadatas={};seen={};emittedChatModelRunIds={};stableMessageIdMap={};lc_prefer_streaming=!0;constructor(e){super(),this.streamFn=e}_emit(e,t,n,r=!1){if(r&&t.id!==void 0&&this.seen[t.id]!==void 0)return;let s=t.id;n!=null&&(wy(t)?s??=`run-${n}-tool-${t.tool_call_id}`:((s==null||s===`run-${n}`)&&(s=this.stableMessageIdMap[n]??s??`run-${n}`),this.stableMessageIdMap[n]??=s)),s!==t.id&&(t.id=s,t.lc_kwargs.id=s),t.id!=null&&(this.seen[t.id]=t),this.streamFn([e[0],"messages",[t,e[1]]])}handleChatModelStart(e,t,n,r,s,a,i,o){i&&(!a||!a.includes(ZE)&&!a.includes("nostream"))&&(this.metadatas[n]=[i.langgraph_checkpoint_ns.split("|"),{tags:a,name:o,...i}])}handleLLMNewToken(e,t,n,r,s,a){let i=a?.chunk;this.emittedChatModelRunIds[n]=!0,this.metadatas[n]!==void 0&&(C5(i)?this._emit(this.metadatas[n],i.message,n):this._emit(this.metadatas[n],new _n({content:e}),n))}handleLLMEnd(e,t){if(this.metadatas[t]!==void 0){if(!this.emittedChatModelRunIds[t]){let n=e.generations?.[0]?.[0];Mt(n?.message)&&this._emit(this.metadatas[t],n?.message,t,!0),delete this.emittedChatModelRunIds[t]}delete this.metadatas[t],delete this.stableMessageIdMap[t]}}handleLLMError(e,t){delete this.metadatas[t]}handleChainStart(e,t,n,r,s,a,i,o){if(a!==void 0&&o===a.langgraph_node&&(s===void 0||!s.includes(yt))&&(this.metadatas[n]=[a.langgraph_checkpoint_ns.split("|"),{tags:s,name:o,...a}],typeof t=="object")){for(let c of Object.values(t))if((Mt(c)||ec(c))&&c.id!==void 0)this.seen[c.id]=c;else if(Array.isArray(c))for(let u of c)(Mt(u)||ec(u))&&u.id!==void 0&&(this.seen[u.id]=u)}}handleChainEnd(e,t){let n=this.metadatas[t];if(delete this.metadatas[t],n!==void 0){if(Mt(e))this._emit(n,e,t,!0);else if(Array.isArray(e))for(let r of e)Mt(r)&&this._emit(n,r,t,!0);else if(e!=null&&typeof e=="object"){for(let r of Object.values(e))if(Mt(r))this._emit(n,r,t,!0);else if(Array.isArray(r))for(let s of r)Mt(s)&&this._emit(n,s,t,!0)}}}handleChainError(e,t){delete this.metadatas[t]}},P5=500,j5=2,R5=128e3,M5=3,L5=[400,401,402,403,404,405,406,407,409],z5=e=>{if(e.message.startsWith("Cancel")||e.message.startsWith("AbortError")||e.name==="AbortError"||e.name==="GraphValueError"||e?.code==="ECONNABORTED")return!1;let t=e?.response?.status??e?.status;return!(t&&L5.includes(+t)||e?.error?.code==="insufficient_quota")};async function dT(e,t,n,r){let s=e.retry_policy??t,a=s!==void 0?s.initialInterval??P5:0,i=0,o,c,{config:u}=e;for(n&&(u=ar(u,n)),u={...u,signal:r};!r?.aborted;){e.writes.splice(0,e.writes.length),o=void 0;try{c=await e.proc.invoke(e.input,u);break}catch(l){if(o=l,o.pregelTaskId=e.id,JE(o)){let h=u?.configurable?.checkpoint_ns,f=o.command;if(f.graph===h){for(let m of e.writers)await m.invoke(f,u);o=void 0;break}else if(f.graph===Tr.PARENT){let m=R9(h);o.command=new Tr({...o.command,graph:m})}}if(tl(o)||s===void 0||(i+=1,i>=(s.maxAttempts??M5))||!(s.retryOn??z5)(o))break;a=Math.min(s.maxInterval??R5,a*(s.backoffFactor??j5));let d=s.jitter?Math.floor(a+Math.random()*1e3):a;await new Promise(h=>setTimeout(h,d));let p=o.name??o.constructor.unminifiable_name??o.constructor.name;(s?.logWarning??!0)&&console.log(`Retrying task "${String(e.name)}" after ${a.toFixed(2)}ms (attempt ${i}) after ${p}: ${o}`),u=ar(u,{[us]:!0})}}return{task:e,result:c,error:o,signalAborted:r?.aborted}}var kg=Symbol.for("promiseAdded");function U5(){let e={next:()=>{},wait:Promise.resolve(kg)};function t(n){e.next=()=>{e.wait=new Promise(t),n(kg)}}return e.wait=new Promise(t),e}var D5=class{nodeFinished;loop;constructor({loop:e,nodeFinished:t}){this.loop=e,this.nodeFinished=t}async tick(e={}){let{timeout:t,retryPolicy:n,onStepWrite:r,maxConcurrency:s}=e,a=new Set,i,o=new AbortController,c=o.signal,u=t?AbortSignal.timeout(t):void 0,l=Object.values(this.loop.tasks).filter(f=>f.writes.length===0),{signals:d,disposeCombinedSignal:p}=this._initializeAbortSignals({exceptionSignal:c,stepTimeoutSignal:u,signal:e.signal}),h=this._executeTasksWithRetry(l,{signals:d,retryPolicy:n,maxConcurrency:s});for await(let{task:f,error:m,signalAborted:v}of h)this._commit(f,m),ai(m)||tl(m)&&!ai(i)?i=m:m&&(a.size===0||!v)&&(o.abort(),a.add(m));if(p?.(),r?.(this.loop.step,Object.values(this.loop.tasks).map(f=>f.writes).flat()),a.size===1)throw Array.from(a)[0];if(a.size>1)throw new AggregateError(Array.from(a),`Multiple errors occurred during superstep ${this.loop.step}. See the "errors" field of this exception for more details.`);if(ai(i)||tl(i)&&this.loop.isNested)throw i}_initializeAbortSignals({exceptionSignal:e,stepTimeoutSignal:t,signal:n}){let r=this.loop.config.configurable?.[_0]??{},s=r.externalAbortSignal??n,a=t??r.timeoutAbortSignal,{signal:i,dispose:o}=ed(s,a,e),c={externalAbortSignal:s,timeoutAbortSignal:a,composedAbortSignal:i};return this.loop.config=ar(this.loop.config,{[_0]:c}),{signals:c,disposeCombinedSignal:o}}async*_executeTasksWithRetry(e,t){let{retryPolicy:n,maxConcurrency:r,signals:s}=t??{},a=U5(),i={},o={executingTasksMap:i,barrier:a,retryPolicy:n,scheduleTask:async(p,h,f)=>this.loop.acceptPush(p,h,f)};if(s?.composedAbortSignal?.aborted)throw new Error("Abort");let c=0,u,l=ed(s?.externalAbortSignal,s?.timeoutAbortSignal),d=l.signal?new Promise((p,h)=>{u=()=>h(new Error("Abort")),l.signal?.addEventListener("abort",u,{once:!0})}):void 0;for(;(c===0||Object.keys(i).length>0)&&e.length;){for(;Object.values(i).length<(r??e.length)&&c<e.length;c+=1){let h=e[c];i[h.id]=dT(h,n,{[oy]:pT?.bind(o,this,h)},s?.composedAbortSignal).catch(f=>({task:h,error:f,signalAborted:s?.composedAbortSignal?.aborted}))}let p=await Promise.race([...Object.values(i),...d?[d]:[],a.wait]);p!==kg&&(yield p,u!=null&&(l.signal?.removeEventListener("abort",u),l.dispose?.()),delete i[p.task.id])}}_commit(e,t){if(t!==void 0)if(ai(t)){if(t.interrupts.length){let n=t.interrupts.map(s=>[Be,s]),r=e.writes.filter(s=>s[0]===gn);r.length&&n.push(...r),this.loop.putWrites(e.id,n)}}else tl(t)&&e.writes.length?this.loop.putWrites(e.id,e.writes):this.loop.putWrites(e.id,[[fn,{message:t.message,name:t.name}]]);else this.nodeFinished&&(e.config?.tags==null||!e.config.tags.includes(yt))&&this.nodeFinished(String(e.name)),e.writes.length===0&&e.writes.push([cy,null]),this.loop.putWrites(e.id,e.writes)}};async function pT(e,t,n,r,s,a={}){let i=t.config?.configurable?.[_s];if(!i)throw new Error(`BUG: No scratchpad found on task ${t.name}__${t.id}`);let o=i.callCounter;i.callCounter+=1;let c=new c5({func:n,name:r,input:s,cache:a.cache,retry:a.retry,callbacks:a.callbacks}),u=await this.scheduleTask(t,o,c);if(!u)return;let l=this.executingTasksMap[u.id];if(l!==void 0)return l;if(u.writes.length>0){let d=u.writes.filter(([h])=>h===bi),p=u.writes.filter(([h])=>h===fn);if(d.length>0){if(d.length===1)return Promise.resolve(d[0][1]);throw new Error(`BUG: multiple returns found for task ${u.name}__${u.id}`)}if(p.length>0){if(p.length===1){let h=p[0][1],f=h instanceof Error?h:new Error(String(h));return Promise.reject(f)}throw new Error(`BUG: multiple errors found for task ${u.name}__${u.id}`)}return}else{let d=dT(u,a.retry,{[oy]:pT.bind(this,e,u)});return this.executingTasksMap[u.id]=d,this.barrier.next(),d.then(({result:p,error:h})=>h?Promise.reject(h):p)}}var Dr=class extends Error{constructor(e){super(e),this.name="GraphValidationError"}};function F5({nodes:e,channels:t,inputChannels:n,outputChannels:r,streamChannels:s,interruptAfterNodes:a,interruptBeforeNodes:i}){if(!t)throw new Dr("Channels not provided");let o=new Set,c=new Set;for(let[u,l]of Object.entries(e)){if(u===Be)throw new Dr(`"Node name ${Be} is reserved"`);if(l.constructor===fc)l.triggers.forEach(d=>o.add(d));else throw new Dr(`Invalid node type ${typeof l}, expected PregelNode`)}for(let u of o)if(!(u in t))throw new Dr(`Subscribed channel '${String(u)}' not in channels`);if(Array.isArray(n)){if(n.every(u=>!o.has(u)))throw new Dr(`None of the input channels ${n} are subscribed to by any node`)}else if(!o.has(n))throw new Dr(`Input channel ${String(n)} is not subscribed to by any node`);Array.isArray(r)?r.forEach(u=>c.add(u)):c.add(r),s&&!Array.isArray(s)?c.add(s):Array.isArray(s)&&s.forEach(u=>c.add(u));for(let u of c)if(!(u in t))throw new Dr(`Output channel '${String(u)}' not in channels`);if(a&&a!=="*"){for(let u of a)if(!(u in e))throw new Dr(`Node ${String(u)} not in nodes`)}if(i&&i!=="*"){for(let u of i)if(!(u in e))throw new Dr(`Node ${String(u)} not in nodes`)}}function kb(e,t){if(Array.isArray(e)){for(let n of e)if(!(n in t))throw new Error(`Key ${String(n)} not found in channels`)}else if(!(e in t))throw new Error(`Key ${String(e)} not found in channels`)}var B5=class hT extends Bs{lc_graph_name="Topic";unique=!1;accumulate=!1;seen;values;constructor(t){super(),this.unique=t?.unique??this.unique,this.accumulate=t?.accumulate??this.accumulate,this.seen=new Set,this.values=[]}fromCheckpoint(t){let n=new hT({unique:this.unique,accumulate:this.accumulate});return typeof t<"u"&&(n.seen=new Set(t[0]),n.values=t[1]),n}update(t){let n=!1;this.accumulate||(n=this.values.length>0,this.values=[]);let r=t.flat();if(r.length>0)if(this.unique)for(let s of r)this.seen.has(s)||(n=!0,this.seen.add(s),this.values.push(s));else n=!0,this.values.push(...r);return n}get(){if(this.values.length===0)throw new $t;return this.values}checkpoint(){return[[...this.seen],this.values]}isAvailable(){return this.values.length!==0}};function Z5(e){let t=zt.getRunnableConfig();if(!t)throw new Error("Called interrupt() outside the context of a graph.");let n=t.configurable;if(!n)throw new Error("No configurable found in config");if(!n[wt])throw new el("No checkpointer set",{lc_error_code:"MISSING_CHECKPOINTER"});let r=n[_s];r.interruptCounter+=1;let s=r.interruptCounter;if(r.resume.length>0&&s<r.resume.length)return n[ys]?.([[gn,r.resume]]),r.resume[s];if(r.nullResume!==void 0){if(r.resume.length!==s)throw new Error(`Resume length mismatch: ${r.resume.length} !== ${s}`);let i=r.consumeNullResume();return r.resume.push(i),n[ys]?.([[gn,r.resume]]),i}let a=n[Sr]?.split(St);throw new yi([{id:a?Xs(a.join(St)):void 0,value:e}])}var V5=class{static subscribeTo(e,t){let{key:n,tags:r}={key:void 0,tags:void 0,...t??{}};if(Array.isArray(e)&&n!==void 0)throw new Error("Can't specify a key when subscribing to multiple channels");let s;return typeof e=="string"?n?s={[n]:e}:s=[e]:s=Object.fromEntries(e.map(a=>[a,a])),new fc({channels:s,triggers:Array.isArray(e)?e:[e],tags:r})}static writeTo(e,t){let n=[];for(let r of e)n.push({channel:r,value:ha,skipNone:!1});for(let[r,s]of Object.entries(t??{}))je.isRunnable(s)||typeof s=="function"?n.push({channel:r,value:ha,skipNone:!0,mapper:Lt(s)}):n.push({channel:r,value:s,skipNone:!1});return new Qt(n)}},q5=class extends je{lc_namespace=["langgraph","pregel"];invoke(e,t){throw new Error("Not implemented")}withConfig(e){return super.withConfig(e)}stream(e,t){return super.stream(e,t)}},H5=class extends q5{static lc_name(){return"LangGraph"}lc_namespace=["langgraph","pregel"];lg_is_pregel=!0;nodes;channels;inputChannels;outputChannels;autoValidate=!0;streamMode=["values"];streamChannels;interruptAfter;interruptBefore;stepTimeout;debug=!1;checkpointer;retryPolicy;config;store;cache;userInterrupt;triggerToNodes={};constructor(e){super(e);let{streamMode:t}=e;if(t!=null&&!Array.isArray(t)&&(t=[t]),this.nodes=e.nodes,this.channels=e.channels,$n in this.channels&&"lc_graph_name"in this.channels[$n]&&this.channels[$n].lc_graph_name!=="Topic")throw new Error(`Channel '${$n}' is reserved and cannot be used in the graph.`);this.channels[$n]=new B5({accumulate:!1}),this.autoValidate=e.autoValidate??this.autoValidate,this.streamMode=t??this.streamMode,this.inputChannels=e.inputChannels,this.outputChannels=e.outputChannels,this.streamChannels=e.streamChannels??this.streamChannels,this.interruptAfter=e.interruptAfter,this.interruptBefore=e.interruptBefore,this.stepTimeout=e.stepTimeout??this.stepTimeout,this.debug=e.debug??this.debug,this.checkpointer=e.checkpointer,this.retryPolicy=e.retryPolicy,this.config=e.config,this.store=e.store,this.cache=e.cache,this.name=e.name,this.triggerToNodes=e.triggerToNodes??this.triggerToNodes,this.userInterrupt=e.userInterrupt,this.autoValidate&&this.validate()}withConfig(e){let t=Fn(this.config,e);return new this.constructor({...this,config:t})}validate(){F5({nodes:this.nodes,channels:this.channels,outputChannels:this.outputChannels,inputChannels:this.inputChannels,streamChannels:this.streamChannels,interruptAfterNodes:this.interruptAfter,interruptBeforeNodes:this.interruptBefore});for(let[e,t]of Object.entries(this.nodes))for(let n of t.triggers)this.triggerToNodes[n]??=[],this.triggerToNodes[n].push(e);return this}get streamChannelsList(){return Array.isArray(this.streamChannels)?this.streamChannels:this.streamChannels?[this.streamChannels]:Object.keys(this.channels)}get streamChannelsAsIs(){return this.streamChannels?this.streamChannels:Object.keys(this.channels)}async getGraphAsync(e){return this.getGraph(e)}*getSubgraphs(e,t){for(let[n,r]of Object.entries(this.nodes)){if(e!==void 0&&!e.startsWith(n))continue;let s=r.subgraphs?.length?r.subgraphs:[r.bound];for(let a of s){let i=XS(a);if(i!==void 0){if(n===e){yield[n,i];return}if(e===void 0&&(yield[n,i]),t){let o=e;e!==void 0&&(o=e.slice(n.length+1));for(let[c,u]of i.getSubgraphs(o,t))yield[`${n}${St}${c}`,u]}}}}}async*getSubgraphsAsync(e,t){yield*this.getSubgraphs(e,t)}async _prepareStateSnapshot({config:e,saved:t,subgraphCheckpointer:n,applyPendingWrites:r=!1}){if(t===void 0)return{values:{},next:[],config:e,tasks:[]};let s=Kl(this.channels,t.checkpoint);if(t.pendingWrites?.length){let d=t.pendingWrites.filter(([p,h])=>p===Dn).map(([p,h,f])=>[String(h),f]);d.length>0&&En(t.checkpoint,s,[{name:Vr,writes:d,triggers:[]}],void 0,this.triggerToNodes)}let a=Object.values(pi(t.checkpoint,t.pendingWrites,this.nodes,s,t.config,!0,{step:(t.metadata?.step??-1)+1,store:this.store})),i=await ps(this.getSubgraphsAsync()),o=t.config.configurable?.checkpoint_ns??"",c={};for(let d of a){let p=i.find(([f])=>f===d.name);if(!p)continue;let h=`${String(d.name)}${Gr}${d.id}`;if(o&&(h=`${o}${St}${h}`),n===void 0){let f={configurable:{thread_id:t.config.configurable?.thread_id,checkpoint_ns:h}};c[d.id]=f}else{let f={configurable:{[wt]:n,thread_id:t.config.configurable?.thread_id,checkpoint_ns:h}},m=p[1];c[d.id]=await m.getState(f,{subgraphs:!0})}}if(r&&t.pendingWrites?.length){let d=Object.fromEntries(a.map(h=>[h.id,h]));for(let[h,f,m]of t.pendingWrites)[fn,Be,nl].includes(f)||h in d&&d[h].writes.push([String(f),m]);let p=a.filter(h=>h.writes.length>0);p.length>0&&En(t.checkpoint,s,p,void 0,this.triggerToNodes)}let u=t?.metadata;u&&t?.config?.configurable?.thread_id&&(u={...u,thread_id:t.config.configurable.thread_id});let l=a.filter(d=>d.writes.length===0).map(d=>d.name);return{values:ba(s,this.streamChannelsAsIs),next:l,tasks:oT(a,t?.pendingWrites??[],c,this.streamChannelsAsIs),metadata:u,config:Ws(t.config,t.metadata),createdAt:t.checkpoint.ts,parentConfig:t.parentConfig}}async getState(e,t){let n=e.configurable?.[wt]??this.checkpointer;if(!n)throw new el("No checkpointer set",{lc_error_code:"MISSING_CHECKPOINTER"});let r=e.configurable?.checkpoint_ns??"";if(r!==""&&e.configurable?.[wt]===void 0){let i=Ef(r);for await(let[o,c]of this.getSubgraphsAsync(i,!0))if(o===i)return await c.getState(Va(e,{[wt]:n}),{subgraphs:t?.subgraphs});throw new Error(`Subgraph with namespace "${i}" not found.`)}let s=Fn(this.config,e),a=await n.getTuple(e);return await this._prepareStateSnapshot({config:s,saved:a,subgraphCheckpointer:t?.subgraphs?n:void 0,applyPendingWrites:!e.configurable?.checkpoint_id})}async*getStateHistory(e,t){let n=e.configurable?.[wt]??this.checkpointer;if(!n)throw new el("No checkpointer set",{lc_error_code:"MISSING_CHECKPOINTER"});let r=e.configurable?.checkpoint_ns??"";if(r!==""&&e.configurable?.[wt]===void 0){let a=Ef(r);for await(let[i,o]of this.getSubgraphsAsync(a,!0))if(i===a){yield*o.getStateHistory(Va(e,{[wt]:n}),t);return}throw new Error(`Subgraph with namespace "${a}" not found.`)}let s=Fn(this.config,e,{configurable:{checkpoint_ns:r}});for await(let a of n.list(s,t))yield this._prepareStateSnapshot({config:a.config,saved:a})}async bulkUpdateState(e,t){let n=e.configurable?.[wt]??this.checkpointer;if(!n)throw new el("No checkpointer set",{lc_error_code:"MISSING_CHECKPOINTER"});if(t.length===0)throw new Error("No supersteps provided");if(t.some(i=>i.updates.length===0))throw new Error("No updates provided");let r=e.configurable?.checkpoint_ns??"";if(r!==""&&e.configurable?.[wt]===void 0){let i=Ef(r);for await(let[,o]of this.getSubgraphsAsync(i,!0))return await o.bulkUpdateState(Va(e,{[wt]:n}),t);throw new Error(`Subgraph "${i}" not found`)}let s=async(i,o)=>{let c=this.config?Fn(this.config,i):i,u=await n.getTuple(c),l=u!==void 0?Gl(u.checkpoint):BS(),d={...u?.checkpoint.channel_versions},p=u?.metadata?.step??-1,h=Va(c,{checkpoint_ns:c.configurable?.checkpoint_ns??""}),f=c.metadata??{};u?.config.configurable&&(h=Va(c,u.config.configurable),f={...u.metadata,...f});let{values:m,asNode:v}=o[0];if(m==null&&v===void 0){if(o.length>1)throw new et("Cannot create empty checkpoint with multiple updates");return Ws(await n.put(h,ta(l,void 0,p),{source:"update",step:p+1,parents:u?.metadata?.parents??{}},{}),u?u.metadata:void 0)}let g=Kl(this.channels,l);if(m===null&&v===Re){if(o.length>1)throw new et("Cannot apply multiple updates when clearing state");if(u){let I=pi(l,u.pendingWrites||[],this.nodes,g,u.config,!0,{step:(u.metadata?.step??-1)+1,checkpointer:n,store:this.store}),w=(u.pendingWrites||[]).filter(P=>P[0]===Dn).map(P=>P.slice(1));w.length>0&&En(l,g,[{name:Vr,writes:w,triggers:[]}],n.getNextVersion.bind(n),this.triggerToNodes);for(let[P,E,Z]of u.pendingWrites||[])[fn,Be,nl].includes(E)||P in I&&I[P].writes.push([E,Z]);En(l,g,Object.values(I),n.getNextVersion.bind(n),this.triggerToNodes)}return Ws(await n.put(h,ta(l,g,p),{...f,source:"update",step:p+1,parents:u?.metadata?.parents??{}},ml(d,l.channel_versions)),u?u.metadata:void 0)}if(v===DE){if(o.length>1)throw new et("Cannot copy checkpoint with multiple updates");if(u==null)throw new et("Cannot copy a non-existent checkpoint");let I=E=>!Array.isArray(E)||E.length===0?!1:E.every(Z=>Array.isArray(Z)&&Z.length===2),w=ta(l,void 0,p),P=await n.put(u.parentConfig??Va(u.config,{checkpoint_id:void 0}),w,{source:"fork",step:p+1,parents:u.metadata?.parents??{}},{});if(I(m)){let E=pi(w,u.pendingWrites,this.nodes,g,P,!1,{step:p+2}),Z=Object.values(E).reduce((it,{name:B,id:L})=>(it[B]??=[],it[B].push({id:L}),it),{}),Ue=m.reduce((it,B)=>{let[L,z]=B;it[z]??=[];let ee=it[z].length,oe=Z[z]?.[ee]?.id;return it[z].push({values:L,asNode:z,taskId:oe}),it},{});return s(Ws(P,u.metadata),Object.values(Ue).flat())}return Ws(P,u.metadata)}if(v===Vr){if(o.length>1)throw new et("Cannot apply multiple updates when updating as input");let I=await ps(aT(this.inputChannels,m));if(I.length===0)throw new et(`Received no input writes for ${JSON.stringify(this.inputChannels,null,2)}`);En(l,g,[{name:Vr,writes:I,triggers:[]}],n.getNextVersion.bind(this.checkpointer),this.triggerToNodes);let w=u?.metadata?.step!=null?u.metadata.step+1:-1,P=await n.put(h,ta(l,g,w),{source:"input",step:w,parents:u?.metadata?.parents??{}},ml(d,l.channel_versions));return await n.putWrites(P,I,ii(Vr,l.id)),Ws(P,u?u.metadata:void 0)}if(c.configurable?.checkpoint_id===void 0&&u?.pendingWrites!==void 0&&u.pendingWrites.length>0){let I=pi(l,u.pendingWrites,this.nodes,g,u.config,!0,{store:this.store,checkpointer:this.checkpointer,step:(u.metadata?.step??-1)+1}),w=(u.pendingWrites??[]).filter(E=>E[0]===Dn).map(E=>E.slice(1));w.length>0&&En(u.checkpoint,g,[{name:Vr,writes:w,triggers:[]}],void 0,this.triggerToNodes);for(let[E,Z,Ue]of u.pendingWrites)[fn,Be,nl].includes(Z)||I[E]===void 0||I[E].writes.push([Z,Ue]);let P=Object.values(I).filter(E=>E.writes.length>0);P.length>0&&En(l,g,P,void 0,this.triggerToNodes)}let y=Object.values(l.versions_seen).map(I=>Object.values(I)).flat().find(I=>!!I),k=[];if(o.length===1){let{values:I,asNode:w,taskId:P}=o[0];if(w===void 0&&Object.keys(this.nodes).length===1)[w]=Object.keys(this.nodes);else if(w===void 0&&y===void 0)typeof this.inputChannels=="string"&&this.nodes[this.inputChannels]!==void 0&&(w=this.inputChannels);else if(w===void 0){let E=Object.entries(l.versions_seen).map(([Z,Ue])=>Object.values(Ue).map(it=>[it,Z])).flat().filter(([Z,Ue])=>Ue!==Be).sort(([Z],[Ue])=>ZS(Z,Ue));E&&(E.length===1?w=E[0][1]:E[E.length-1][0]!==E[E.length-2][0]&&(w=E[E.length-1][1]))}if(w===void 0)throw new et('Ambiguous update, specify "asNode"');k.push({values:I,asNode:w,taskId:P})}else for(let{asNode:I,values:w,taskId:P}of o){if(I==null)throw new et('"asNode" is required when applying multiple updates');k.push({values:w,asNode:I,taskId:P})}let x=[];for(let{asNode:I,values:w,taskId:P}of k){if(this.nodes[I]===void 0)throw new et(`Node "${I.toString()}" does not exist`);let E=this.nodes[I].getWriters();if(!E.length)throw new et(`No writers found for node "${I.toString()}"`);x.push({name:I,input:w,proc:E.length>1?Cs.from(E,{omitSequenceTags:!0}):E[0],writes:[],triggers:[Be],id:P??ii(Be,l.id),writers:[]})}for(let I of x)await I.proc.invoke(I.input,He({...c,store:c?.store??this.store},{runName:c.runName??`${this.getName()}UpdateState`,configurable:{[ys]:w=>I.writes.push(...w),[ca]:(w,P=!1)=>gl(l,g,I,w,P)}}));for(let I of x){let w=I.writes.filter(P=>P[0]!==An);u!==void 0&&w.length>0&&await n.putWrites(h,w,I.id)}En(l,g,x,n.getNextVersion.bind(this.checkpointer),this.triggerToNodes);let T=ml(d,l.channel_versions),A=await n.put(h,ta(l,g,p+1),{source:"update",step:p+1,parents:u?.metadata?.parents??{}},T);for(let I of x){let w=I.writes.filter(P=>P[0]===An);w.length>0&&await n.putWrites(A,w,I.id)}return Ws(A,u?u.metadata:void 0)},a=e;for(let{updates:i}of t)a=await s(a,i);return a}async updateState(e,t,n){return this.bulkUpdateState(e,[{updates:[{values:t,asNode:n}]}])}_defaults(e){let{debug:t,streamMode:n,inputKeys:r,outputKeys:s,interruptAfter:a,interruptBefore:i,...o}=e,c=!0,u=t!==void 0?t:this.debug,l=s;l===void 0?l=this.streamChannelsAsIs:kb(l,this.channels);let d=r;d===void 0?d=this.inputChannels:kb(d,this.channels);let p=i??this.interruptBefore??[],h=a??this.interruptAfter??[],f;n!==void 0?(f=Array.isArray(n)?n:[n],c=typeof n=="string"):(e.configurable?.[Do]!==void 0?f=["values"]:f=this.streamMode,c=!0);let m;if(this.checkpointer===!1)m=void 0;else if(e!==void 0&&e.configurable?.[wt]!==void 0)m=e.configurable[wt];else{if(this.checkpointer===!0)throw new Error("checkpointer: true cannot be used for root graphs.");m=this.checkpointer}let v=e.store??this.store,g=e.cache??this.cache;if(e.durability!=null&&e.checkpointDuring!=null)throw new Error("Cannot use both `durability` and `checkpointDuring` at the same time.");let y=(()=>{if(e.checkpointDuring!=null)return e.checkpointDuring===!1?"exit":"async"})(),k=e.durability??y??e?.configurable?.[Y1]??"async";return[u,f,d,l,o,p,h,m,v,c,g,k]}async stream(e,t){let n=new AbortController,r={recursionLimit:this.config?.recursionLimit,...t,signal:ed(t?.signal,n.signal).signal},s=await super.stream(e,r);return new vb(t?.encoding==="text/event-stream"?T5(s):s,n)}streamEvents(e,t,n){let r=new AbortController,s={recursionLimit:this.config?.recursionLimit,...t,callbacks:o5(this.config?.callbacks,t?.callbacks),signal:ed(t?.signal,r.signal).signal};return new vb(super.streamEvents(e,s,n),r)}async _validateInput(e){return e}async _validateContext(e){return e}async*_streamIterator(e,t){let n="version"in(t??{})?void 0:t?.encoding??void 0,r=t?.subgraphs,s=GS(this.config,t);if(s.recursionLimit===void 0||s.recursionLimit<1)throw new Error('Passed "recursionLimit" must be at least 1.');if(this.checkpointer!==void 0&&this.checkpointer!==!1&&s.configurable===void 0)throw new Error('Checkpointer requires one or more of the following "configurable" keys: "thread_id", "checkpoint_ns", "checkpoint_id"');let a=await this._validateInput(e),{runId:i,...o}=s,[c,u,,l,d,p,h,f,m,v,g,y]=this._defaults(o);typeof d.context<"u"?d.context=await this._validateContext(d.context):d.configurable=await this._validateContext(d.configurable);let k=new uT({modes:new Set(u)});if(this.checkpointer===!0){d.configurable??={};let P=d.configurable[Sr]??"";d.configurable[Sr]=P.split(St).map(E=>E.split(Gr)[0]).join(St)}if(u.includes("messages")){let P=new N5(Z=>k.push(Z)),{callbacks:E}=d;if(E===void 0)d.callbacks=[P];else if(Array.isArray(E))d.callbacks=E.concat(P);else{let Z=E.copy();Z.addHandler(P,!0),d.callbacks=Z}}if(u.includes("tools")){let P=new x5(Z=>k.push(Z)),{callbacks:E}=d;if(E===void 0)d.callbacks=[P];else if(Array.isArray(E))d.callbacks=E.concat(P);else{let Z=E.copy();Z.addHandler(P,!0),d.callbacks=Z}}d.writer??=P=>{if(!u.includes("custom"))return;let E=j9()?.configurable?.[Sr]?.split(St).slice(0,-1);k.push([E??[],"custom",P])},d.interrupt??=this.userInterrupt??Z5;let x=await(await rn(d))?.handleChainStart(this.toJSON(),i5(e,"input"),i,void 0,void 0,void 0,d?.runName??this.getName()),T=k_(this.channels),A,I,w=(async()=>{try{A=await $5.initialize({input:a,config:d,checkpointer:f,nodes:this.nodes,channelSpecs:T,outputKeys:l,streamKeys:this.streamChannelsAsIs,store:m,cache:g,stream:k,interruptAfter:h,interruptBefore:p,manager:x,debug:this.debug,triggerToNodes:this.triggerToNodes,durability:y});let P=new D5({loop:A,nodeFinished:d.configurable?.[BE]});t?.subgraphs&&(A.config.configurable={...A.config.configurable,[Il]:A.stream}),await this._runLoop({loop:A,runner:P,debug:c,config:d}),y==="sync"&&await Promise.all(A?.checkpointerPromises??[])}catch(P){I=P}finally{try{A&&(await A.store?.stop(),await A.cache?.stop()),await Promise.all(A?.checkpointerPromises??[])}catch(P){I=I??P}I?k.error(I):k.close()}})();try{for await(let P of k){if(P===void 0)throw new Error("Data structure error.");let[E,Z,Ue]=P;if(u.includes(Z)){if(n==="text/event-stream"){r?yield[E,Z,Ue]:yield[null,Z,Ue];continue}r&&!v?yield[E,Z,Ue]:v?r?yield[E,Ue]:yield Ue:yield[Z,Ue]}}}catch(P){throw await x?.handleChainError(I),P}finally{await w}await x?.handleChainEnd(A?.output??{},i,void 0,void 0,void 0)}async invoke(e,t){let n=t?.streamMode??"values",r={...t,outputKeys:t?.outputKeys??this.outputChannels,streamMode:n,encoding:void 0},s=[],a=await this.stream(e,r),i=[],o;for await(let c of a)n==="values"?Q1(c)?i.push(c[Be]):o=c:s.push(c);if(n==="values"){if(i.length>0){let c=i.flat(1);if(o==null)return{[Be]:c};if(typeof o=="object")return{...o,[Be]:c}}return o}return s}async _runLoop(e){let{loop:t,runner:n,debug:r,config:s}=e,a;try{for(;await t.tick({inputKeys:this.inputChannels});){for(let{task:i}of await t._matchCachedWrites())t._outputWrites(i.id,i.writes,!0);r&&b5(t.checkpointMetadata.step,t.channels,this.streamChannelsList),r&&cT(t.step,Object.values(t.tasks)),await n.tick({timeout:this.stepTimeout,retryPolicy:this.retryPolicy,onStepWrite:(i,o)=>{r&&k5(i,o,this.streamChannelsList)},maxConcurrency:s.maxConcurrency,signal:s.signal})}if(t.status==="out_of_steps")throw new WE([`Recursion limit of ${s.recursionLimit} reached`,"without hitting a stop condition. You can increase the",'limit by setting the "recursionLimit" config key.'].join(" "),{lc_error_code:"GRAPH_RECURSION_LIMIT"})}catch(i){if(a=i,!await t.finishAndHandleError(a))throw i}finally{a===void 0&&await t.finishAndHandleError()}}async clearCache(){await this.cache?.clear([])}},Mi=class fT extends Bs{lc_graph_name="EphemeralValue";guard;value=[];constructor(t=!0){super(),this.guard=t}fromCheckpoint(t){let n=new fT(this.guard);return typeof t<"u"&&(n.value=[t]),n}update(t){if(t.length===0){let n=this.value.length>0;return this.value=[],n}if(t.length!==1&&this.guard)throw new et("EphemeralValue can only receive one value per step.");return this.value=[t[t.length-1]],!0}get(){if(this.value.length===0)throw new $t;return this.value[0]}checkpoint(){if(this.value.length===0)throw new $t;return this.value[0]}isAvailable(){return this.value.length!==0}};function Ce(e,t,n){function r(o,c){var u;Object.defineProperty(o,"_zod",{value:o._zod??{},enumerable:!1}),(u=o._zod).traits??(u.traits=new Set),o._zod.traits.add(e),t(o,c);for(let l in i.prototype)l in o||Object.defineProperty(o,l,{value:i.prototype[l].bind(o)});o._zod.constr=i,o._zod.def=c}let s=n?.Parent??Object;class a extends s{}Object.defineProperty(a,"name",{value:e});function i(o){var c;let u=n?.Parent?new a:this;r(u,o),(c=u._zod).deferred??(c.deferred=[]);for(let l of u._zod.deferred)l();return u}return Object.defineProperty(i,"init",{value:r}),Object.defineProperty(i,Symbol.hasInstance,{value:o=>n?.Parent&&o instanceof n.Parent?!0:o?._zod?.traits?.has(e)}),Object.defineProperty(i,"name",{value:e}),i}var yc=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},W5={};function ka(e){return W5}function J5(e,t){return typeof t=="bigint"?t.toString():t}function I_(e){return e==null}function E_(e){let t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function pt(e,t,n){Object.defineProperty(e,t,{get(){{let r=n();return e[t]=r,r}},set(r){Object.defineProperty(e,t,{value:r})},configurable:!0})}var mT=Error.captureStackTrace?Error.captureStackTrace:(...e)=>{};function xb(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Ob(e){if(xb(e)===!1)return!1;let t=e.constructor;if(t===void 0)return!0;let n=t.prototype;return!(xb(n)===!1||Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)}function G5(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function Zs(e){let t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function Wo(e,t=0){for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function K5(e,t){return t.map(n=>{var r;return(r=n).path??(r.path=[]),n.path.unshift(e),n})}function Mu(e){return typeof e=="string"?e:e?.message}function xa(e,t,n){let r={...e,path:e.path??[]};if(!e.message){let s=Mu(e.inst?._zod.def?.error?.(e))??Mu(t?.error?.(e))??Mu(n.customError?.(e))??Mu(n.localeError?.(e))??"Invalid input";r.message=s}return delete r.inst,delete r.continue,t?.reportInput||delete r.input,r}function A_(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function _c(...e){let[t,n,r]=e;return typeof t=="string"?{message:t,code:"custom",input:n,inst:r}:{...t}}var gT=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),Object.defineProperty(e,"message",{get(){return JSON.stringify(t,J5,2)},enumerable:!0}),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},yT=Ce("$ZodError",gT),_T=Ce("$ZodError",gT,{Parent:Error});function X5(e,t=n=>n.message){let n={},r=[];for(let s of e.issues)s.path.length>0?(n[s.path[0]]=n[s.path[0]]||[],n[s.path[0]].push(t(s))):r.push(t(s));return{formErrors:r,fieldErrors:n}}function Y5(e,t){let n=t||function(a){return a.message},r={_errors:[]},s=a=>{for(let i of a.issues)if(i.code==="invalid_union"&&i.errors.length)i.errors.map(o=>s({issues:o}));else if(i.code==="invalid_key")s({issues:i.issues});else if(i.code==="invalid_element")s({issues:i.issues});else if(i.path.length===0)r._errors.push(n(i));else{let o=r,c=0;for(;c<i.path.length;){let u=i.path[c];c===i.path.length-1?(o[u]=o[u]||{_errors:[]},o[u]._errors.push(n(i))):o[u]=o[u]||{_errors:[]},o=o[u],c++}}};return s(e),r}var Q5=e=>(t,n,r,s)=>{let a=r?Object.assign(r,{async:!1}):{async:!1},i=t._zod.run({value:n,issues:[]},a);if(i instanceof Promise)throw new yc;if(i.issues.length){let o=new(s?.Err??e)(i.issues.map(c=>xa(c,a,ka())));throw mT(o,s?.callee),o}return i.value},eU=e=>async(t,n,r,s)=>{let a=r?Object.assign(r,{async:!0}):{async:!0},i=t._zod.run({value:n,issues:[]},a);if(i instanceof Promise&&(i=await i),i.issues.length){let o=new(s?.Err??e)(i.issues.map(c=>xa(c,a,ka())));throw mT(o,s?.callee),o}return i.value},vT=e=>(t,n,r)=>{let s=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},s);if(a instanceof Promise)throw new yc;return a.issues.length?{success:!1,error:new(e??yT)(a.issues.map(i=>xa(i,s,ka())))}:{success:!0,data:a.value}},tU=vT(_T),wT=e=>async(t,n,r)=>{let s=r?Object.assign(r,{async:!0}):{async:!0},a=t._zod.run({value:n,issues:[]},s);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new e(a.issues.map(i=>xa(i,s,ka())))}:{success:!0,data:a.value}},nU=wT(_T),co=Ce("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),rU=Ce("$ZodCheckMaxLength",(e,t)=>{var n;co.init(e,t),(n=e._zod.def).when??(n.when=r=>{let s=r.value;return!I_(s)&&s.length!==void 0}),e._zod.onattach.push(r=>{let s=r._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<s&&(r._zod.bag.maximum=t.maximum)}),e._zod.check=r=>{let s=r.value;if(s.length<=t.maximum)return;let a=A_(s);r.issues.push({origin:a,code:"too_big",maximum:t.maximum,inclusive:!0,input:s,inst:e,continue:!t.abort})}}),sU=Ce("$ZodCheckMinLength",(e,t)=>{var n;co.init(e,t),(n=e._zod.def).when??(n.when=r=>{let s=r.value;return!I_(s)&&s.length!==void 0}),e._zod.onattach.push(r=>{let s=r._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>s&&(r._zod.bag.minimum=t.minimum)}),e._zod.check=r=>{let s=r.value;if(s.length>=t.minimum)return;let a=A_(s);r.issues.push({origin:a,code:"too_small",minimum:t.minimum,inclusive:!0,input:s,inst:e,continue:!t.abort})}}),aU=Ce("$ZodCheckLengthEquals",(e,t)=>{var n;co.init(e,t),(n=e._zod.def).when??(n.when=r=>{let s=r.value;return!I_(s)&&s.length!==void 0}),e._zod.onattach.push(r=>{let s=r._zod.bag;s.minimum=t.length,s.maximum=t.length,s.length=t.length}),e._zod.check=r=>{let s=r.value,a=s.length;if(a===t.length)return;let i=A_(s),o=a>t.length;r.issues.push({origin:i,...o?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:r.value,inst:e,continue:!t.abort})}}),iU=Ce("$ZodCheckOverwrite",(e,t)=>{co.init(e,t),e._zod.check=n=>{n.value=t.tx(n.value)}}),oU={major:4,minor:0,patch:0},cn=Ce("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=oU;let r=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&r.unshift(e);for(let s of r)for(let a of s._zod.onattach)a(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let s=(a,i,o)=>{let c=Wo(a),u;for(let l of i){if(l._zod.def.when){if(!l._zod.def.when(a))continue}else if(c)continue;let d=a.issues.length,p=l._zod.check(a);if(p instanceof Promise&&o?.async===!1)throw new yc;if(u||p instanceof Promise)u=(u??Promise.resolve()).then(async()=>{await p,a.issues.length!==d&&(c||(c=Wo(a,d)))});else{if(a.issues.length===d)continue;c||(c=Wo(a,d))}}return u?u.then(()=>a):a};e._zod.run=(a,i)=>{let o=e._zod.parse(a,i);if(o instanceof Promise){if(i.async===!1)throw new yc;return o.then(c=>s(c,r,i))}return s(o,r,i)}}e["~standard"]={validate:s=>{try{let a=tU(e,s);return a.success?{value:a.data}:{issues:a.error?.issues}}catch{return nU(e,s).then(a=>a.success?{value:a.data}:{issues:a.error?.issues})}},vendor:"zod",version:1}}),cU=Ce("$ZodAny",(e,t)=>{cn.init(e,t),e._zod.parse=n=>n});function Sb(e,t,n){e.issues.length&&t.issues.push(...K5(n,e.issues)),t.value[n]=e.value}var uU=Ce("$ZodArray",(e,t)=>{cn.init(e,t),e._zod.parse=(n,r)=>{let s=n.value;if(!Array.isArray(s))return n.issues.push({expected:"array",code:"invalid_type",input:s,inst:e}),n;n.value=Array(s.length);let a=[];for(let i=0;i<s.length;i++){let o=s[i],c=t.element._zod.run({value:o,issues:[]},r);c instanceof Promise?a.push(c.then(u=>Sb(u,n,i))):Sb(c,n,i)}return a.length?Promise.all(a).then(()=>n):n}});function Tb(e,t,n,r){for(let s of e)if(s.issues.length===0)return t.value=s.value,t;return t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map(s=>s.issues.map(a=>xa(a,r,ka())))}),t}var lU=Ce("$ZodUnion",(e,t)=>{cn.init(e,t),pt(e._zod,"optin",()=>t.options.some(n=>n._zod.optin==="optional")?"optional":void 0),pt(e._zod,"optout",()=>t.options.some(n=>n._zod.optout==="optional")?"optional":void 0),pt(e._zod,"values",()=>{if(t.options.every(n=>n._zod.values))return new Set(t.options.flatMap(n=>Array.from(n._zod.values)))}),pt(e._zod,"pattern",()=>{if(t.options.every(n=>n._zod.pattern)){let n=t.options.map(r=>r._zod.pattern);return new RegExp(`^(${n.map(r=>E_(r.source)).join("|")})$`)}}),e._zod.parse=(n,r)=>{let s=!1,a=[];for(let i of t.options){let o=i._zod.run({value:n.value,issues:[]},r);if(o instanceof Promise)a.push(o),s=!0;else{if(o.issues.length===0)return o;a.push(o)}}return s?Promise.all(a).then(i=>Tb(i,n,e,r)):Tb(a,n,e,r)}}),dU=Ce("$ZodIntersection",(e,t)=>{cn.init(e,t),e._zod.parse=(n,r)=>{let s=n.value,a=t.left._zod.run({value:s,issues:[]},r),i=t.right._zod.run({value:s,issues:[]},r);return a instanceof Promise||i instanceof Promise?Promise.all([a,i]).then(([o,c])=>Ib(n,o,c)):Ib(n,a,i)}});function xg(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(Ob(e)&&Ob(t)){let n=Object.keys(t),r=Object.keys(e).filter(a=>n.indexOf(a)!==-1),s={...e,...t};for(let a of r){let i=xg(e[a],t[a]);if(!i.valid)return{valid:!1,mergeErrorPath:[a,...i.mergeErrorPath]};s[a]=i.data}return{valid:!0,data:s}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;r<e.length;r++){let s=e[r],a=t[r],i=xg(s,a);if(!i.valid)return{valid:!1,mergeErrorPath:[r,...i.mergeErrorPath]};n.push(i.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function Ib(e,t,n){if(t.issues.length&&e.issues.push(...t.issues),n.issues.length&&e.issues.push(...n.issues),Wo(e))return e;let r=xg(t.value,n.value);if(!r.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(r.mergeErrorPath)}`);return e.value=r.data,e}var pU=Ce("$ZodTransform",(e,t)=>{cn.init(e,t),e._zod.parse=(n,r)=>{let s=t.transform(n.value,n);if(r.async)return(s instanceof Promise?s:Promise.resolve(s)).then(a=>(n.value=a,n));if(s instanceof Promise)throw new yc;return n.value=s,n}}),hU=Ce("$ZodOptional",(e,t)=>{cn.init(e,t),e._zod.optin="optional",e._zod.optout="optional",pt(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),pt(e._zod,"pattern",()=>{let n=t.innerType._zod.pattern;return n?new RegExp(`^(${E_(n.source)})?$`):void 0}),e._zod.parse=(n,r)=>t.innerType._zod.optin==="optional"?t.innerType._zod.run(n,r):n.value===void 0?n:t.innerType._zod.run(n,r)}),fU=Ce("$ZodNullable",(e,t)=>{cn.init(e,t),pt(e._zod,"optin",()=>t.innerType._zod.optin),pt(e._zod,"optout",()=>t.innerType._zod.optout),pt(e._zod,"pattern",()=>{let n=t.innerType._zod.pattern;return n?new RegExp(`^(${E_(n.source)}|null)$`):void 0}),pt(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(n,r)=>n.value===null?n:t.innerType._zod.run(n,r)}),mU=Ce("$ZodDefault",(e,t)=>{cn.init(e,t),e._zod.optin="optional",pt(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(n.value===void 0)return n.value=t.defaultValue,n;let s=t.innerType._zod.run(n,r);return s instanceof Promise?s.then(a=>Eb(a,t)):Eb(s,t)}});function Eb(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var gU=Ce("$ZodPrefault",(e,t)=>{cn.init(e,t),e._zod.optin="optional",pt(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>(n.value===void 0&&(n.value=t.defaultValue),t.innerType._zod.run(n,r))}),yU=Ce("$ZodNonOptional",(e,t)=>{cn.init(e,t),pt(e._zod,"values",()=>{let n=t.innerType._zod.values;return n?new Set([...n].filter(r=>r!==void 0)):void 0}),e._zod.parse=(n,r)=>{let s=t.innerType._zod.run(n,r);return s instanceof Promise?s.then(a=>Ab(a,e)):Ab(s,e)}});function Ab(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}var _U=Ce("$ZodCatch",(e,t)=>{cn.init(e,t),e._zod.optin="optional",pt(e._zod,"optout",()=>t.innerType._zod.optout),pt(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{let s=t.innerType._zod.run(n,r);return s instanceof Promise?s.then(a=>(n.value=a.value,a.issues.length&&(n.value=t.catchValue({...n,error:{issues:a.issues.map(i=>xa(i,r,ka()))},input:n.value}),n.issues=[]),n)):(n.value=s.value,s.issues.length&&(n.value=t.catchValue({...n,error:{issues:s.issues.map(a=>xa(a,r,ka()))},input:n.value}),n.issues=[]),n)}}),vU=Ce("$ZodPipe",(e,t)=>{cn.init(e,t),pt(e._zod,"values",()=>t.in._zod.values),pt(e._zod,"optin",()=>t.in._zod.optin),pt(e._zod,"optout",()=>t.out._zod.optout),e._zod.parse=(n,r)=>{let s=t.in._zod.run(n,r);return s instanceof Promise?s.then(a=>$b(a,t,r)):$b(s,t,r)}});function $b(e,t,n){return Wo(e)?e:t.out._zod.run({value:e.value,issues:e.issues},n)}var wU=Ce("$ZodReadonly",(e,t)=>{cn.init(e,t),pt(e._zod,"propValues",()=>t.innerType._zod.propValues),pt(e._zod,"values",()=>t.innerType._zod.values),pt(e._zod,"optin",()=>t.innerType._zod.optin),pt(e._zod,"optout",()=>t.innerType._zod.optout),e._zod.parse=(n,r)=>{let s=t.innerType._zod.run(n,r);return s instanceof Promise?s.then(Cb):Cb(s)}});function Cb(e){return e.value=Object.freeze(e.value),e}var bU=Ce("$ZodCustom",(e,t)=>{co.init(e,t),cn.init(e,t),e._zod.parse=(n,r)=>n,e._zod.check=n=>{let r=n.value,s=t.fn(r);if(s instanceof Promise)return s.then(a=>Nb(a,n,r,e));Nb(s,n,r,e)}});function Nb(e,t,n,r){if(!e){let s={code:"custom",input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(s.params=r._zod.def.params),t.issues.push(_c(s))}}var kU=class{constructor(){this._map=new Map,this._idmap=new Map}add(e,...t){let n=t[0];if(this._map.set(e,n),n&&typeof n=="object"&&"id"in n){if(this._idmap.has(n.id))throw new Error(`ID ${n.id} already exists in the registry`);this._idmap.set(n.id,e)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(e){let t=this._map.get(e);return t&&typeof t=="object"&&"id"in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};return delete n.id,{...n,...this._map.get(e)}}return this._map.get(e)}has(e){return this._map.has(e)}};function xU(){return new kU}var Lu=xU();function OU(e){return new e({type:"any"})}function SU(e,t){return new rU({check:"max_length",...Zs(t),maximum:e})}function Pb(e,t){return new sU({check:"min_length",...Zs(t),minimum:e})}function TU(e,t){return new aU({check:"length_equals",...Zs(t),length:e})}function IU(e){return new iU({check:"overwrite",tx:e})}function EU(e,t,n){return new e({type:"array",element:t,...Zs(n)})}function AU(e,t,n){let r=Zs(n);return r.abort??(r.abort=!0),new e({type:"custom",check:"custom",fn:t,...r})}function $U(e,t,n){return new e({type:"custom",check:"custom",fn:t,...Zs(n)})}var CU=(e,t)=>{yT.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:n=>Y5(e,n)},flatten:{value:n=>X5(e,n)},addIssue:{value:n=>e.issues.push(n)},addIssues:{value:n=>e.issues.push(...n)},isEmpty:{get(){return e.issues.length===0}}})},Wp=Ce("ZodError",CU,{Parent:Error}),NU=Q5(Wp),PU=eU(Wp),jU=vT(Wp),RU=wT(Wp),kn=Ce("ZodType",(e,t)=>(cn.init(e,t),e.def=t,Object.defineProperty(e,"_def",{value:t}),e.check=(...n)=>e.clone({...t,checks:[...t.checks??[],...n.map(r=>typeof r=="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]}),e.clone=(n,r)=>G5(e,n,r),e.brand=()=>e,e.register=((n,r)=>(n.add(e,r),e)),e.parse=(n,r)=>NU(e,n,r,{callee:e.parse}),e.safeParse=(n,r)=>jU(e,n,r),e.parseAsync=async(n,r)=>PU(e,n,r,{callee:e.parseAsync}),e.safeParseAsync=async(n,r)=>RU(e,n,r),e.spa=e.safeParseAsync,e.refine=(n,r)=>e.check(aD(n,r)),e.superRefine=n=>e.check(iD(n)),e.overwrite=n=>e.check(IU(n)),e.optional=()=>jb(e),e.nullable=()=>Rb(e),e.nullish=()=>jb(Rb(e)),e.nonoptional=n=>YU(e,n),e.array=()=>zU(e),e.or=n=>DU([e,n]),e.and=n=>BU(e,n),e.transform=n=>Mb(e,VU(n)),e.default=n=>JU(e,n),e.prefault=n=>KU(e,n),e.catch=n=>eD(e,n),e.pipe=n=>Mb(e,n),e.readonly=()=>rD(e),e.describe=n=>{let r=e.clone();return Lu.add(r,{description:n}),r},Object.defineProperty(e,"description",{get(){return Lu.get(e)?.description},configurable:!0}),e.meta=(...n)=>{if(n.length===0)return Lu.get(e);let r=e.clone();return Lu.add(r,n[0]),r},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e)),MU=Ce("ZodAny",(e,t)=>{cU.init(e,t),kn.init(e,t)});function zu(){return OU(MU)}var LU=Ce("ZodArray",(e,t)=>{uU.init(e,t),kn.init(e,t),e.element=t.element,e.min=(n,r)=>e.check(Pb(n,r)),e.nonempty=n=>e.check(Pb(1,n)),e.max=(n,r)=>e.check(SU(n,r)),e.length=(n,r)=>e.check(TU(n,r)),e.unwrap=()=>e.element});function zU(e,t){return EU(LU,e,t)}var UU=Ce("ZodUnion",(e,t)=>{lU.init(e,t),kn.init(e,t),e.options=t.options});function DU(e,t){return new UU({type:"union",options:e,...Zs(t)})}var FU=Ce("ZodIntersection",(e,t)=>{dU.init(e,t),kn.init(e,t)});function BU(e,t){return new FU({type:"intersection",left:e,right:t})}var ZU=Ce("ZodTransform",(e,t)=>{pU.init(e,t),kn.init(e,t),e._zod.parse=(n,r)=>{n.addIssue=a=>{if(typeof a=="string")n.issues.push(_c(a,n.value,t));else{let i=a;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=n.value),i.inst??(i.inst=e),i.continue??(i.continue=!0),n.issues.push(_c(i))}};let s=t.transform(n.value,n);return s instanceof Promise?s.then(a=>(n.value=a,n)):(n.value=s,n)}});function VU(e){return new ZU({type:"transform",transform:e})}var qU=Ce("ZodOptional",(e,t)=>{hU.init(e,t),kn.init(e,t),e.unwrap=()=>e._zod.def.innerType});function jb(e){return new qU({type:"optional",innerType:e})}var HU=Ce("ZodNullable",(e,t)=>{fU.init(e,t),kn.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Rb(e){return new HU({type:"nullable",innerType:e})}var WU=Ce("ZodDefault",(e,t)=>{mU.init(e,t),kn.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function JU(e,t){return new WU({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():t}})}var GU=Ce("ZodPrefault",(e,t)=>{gU.init(e,t),kn.init(e,t),e.unwrap=()=>e._zod.def.innerType});function KU(e,t){return new GU({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():t}})}var XU=Ce("ZodNonOptional",(e,t)=>{yU.init(e,t),kn.init(e,t),e.unwrap=()=>e._zod.def.innerType});function YU(e,t){return new XU({type:"nonoptional",innerType:e,...Zs(t)})}var QU=Ce("ZodCatch",(e,t)=>{_U.init(e,t),kn.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function eD(e,t){return new QU({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}var tD=Ce("ZodPipe",(e,t)=>{vU.init(e,t),kn.init(e,t),e.in=t.in,e.out=t.out});function Mb(e,t){return new tD({type:"pipe",in:e,out:t})}var nD=Ce("ZodReadonly",(e,t)=>{wU.init(e,t),kn.init(e,t)});function rD(e){return new nD({type:"readonly",innerType:e})}var bT=Ce("ZodCustom",(e,t)=>{bU.init(e,t),kn.init(e,t)});function sD(e){let t=new co({check:"custom"});return t._zod.check=e,t}function kT(e,t){return AU(bT,(()=>!0),t)}function aD(e,t={}){return $U(bT,e,t)}function iD(e){let t=sD(n=>(n.addIssue=r=>{if(typeof r=="string")n.issues.push(_c(r,n.value,t._zod.def));else{let s=r;s.fatal&&(s.continue=!1),s.code??(s.code="custom"),s.input??(s.input=n.value),s.inst??(s.inst=t),s.continue??(s.continue=!t._zod.def.abort),n.issues.push(_c(s))}},e(n.value,n)));return t}var xT=class{path;ends;constructor(e){je.isRunnable(e.path)?this.path=e.path:this.path=Lt(e.path),this.ends=Array.isArray(e.pathMap)?e.pathMap.reduce((t,n)=>(t[n]=n,t),{}):e.pathMap}run(e,t){return Qt.registerWriter(new Ua({name:"<branch_run>",trace:!1,func:async(n,r)=>{try{return await this._route(n,r,e,t)}catch(s){throw s.name===tk.unminifiable_name&&console.warn(`[WARN]: 'NodeInterrupt' thrown in conditional edge. This is likely a bug in your graph implementation.
265
+ NodeInterrupt should only be thrown inside a node, not in edge conditions.`),s}}}))}async _route(e,t,n,r){let s=await this.path.invoke(r?r(t):e,t);Array.isArray(s)||(s=[s]);let a;if(this.ends?a=s.map(i=>yn(i)?i:this.ends[i]):a=s,a.some(i=>!i))throw new Error("Branch condition returned unknown or null destination");if(a.filter(yn).some(i=>i.node===Re))throw new et("Cannot send a packet to the END node");return await n(a,t)??e}},oD=class{nodes;edges;branches;entryPoint;compiled=!1;constructor(){this.nodes={},this.edges=new Set,this.branches={}}warnIfCompiled(e){this.compiled&&console.warn(e)}get allEdges(){return this.edges}addNode(...e){function t(r){return r.length>=1&&typeof r[0]!="string"}let n=t(e)?Array.isArray(e[0])?e[0]:Object.entries(e[0]):[[e[0],e[1],e[2]]];if(n.length===0)throw new Error("No nodes provided in `addNode`");for(let[r,s,a]of n){for(let o of[St,Gr])if(r.includes(o))throw new Error(`"${o}" is a reserved character and is not allowed in node names.`);if(this.warnIfCompiled("Adding a node to a graph that has already been compiled. This will not be reflected in the compiled graph."),r in this.nodes)throw new Error(`Node \`${r}\` already present.`);if(r===Re)throw new Error(`Node \`${r}\` is reserved.`);let i=Lt(s);this.nodes[r]={runnable:i,metadata:a?.metadata,subgraphs:x_(i)?[i]:a?.subgraphs,ends:a?.ends}}return this}addEdge(e,t){if(this.warnIfCompiled("Adding an edge to a graph that has already been compiled. This will not be reflected in the compiled graph."),e===Re)throw new Error("END cannot be a start node");if(t===We)throw new Error("START cannot be an end node");if(Array.from(this.edges).some(([n])=>n===e)&&!("channels"in this))throw new Error(`Already found path for ${e}. For multiple edges, use StateGraph.`);return this.edges.add([e,t]),this}addConditionalEdges(e,t,n){let r=typeof e=="object"?e:{source:e,path:t,pathMap:n};this.warnIfCompiled("Adding an edge to a graph that has already been compiled. This will not be reflected in the compiled graph."),je.isRunnable(r.path)||(r.path=Lt(r.path));let s=r.path.getName()==="RunnableLambda"?"condition":r.path.getName();if(this.branches[r.source]&&this.branches[r.source][s])throw new Error(`Condition \`${s}\` already present for node \`${e}\``);return this.branches[r.source]??={},this.branches[r.source][s]=new xT(r),this}setEntryPoint(e){return this.warnIfCompiled("Setting the entry point of a graph that has already been compiled. This will not be reflected in the compiled graph."),this.addEdge(We,e)}setFinishPoint(e){return this.warnIfCompiled("Setting a finish point of a graph that has already been compiled. This will not be reflected in the compiled graph."),this.addEdge(e,Re)}compile({checkpointer:e,interruptBefore:t,interruptAfter:n,name:r}={}){this.validate([...Array.isArray(t)?t:[],...Array.isArray(n)?n:[]]);let s=new OT({builder:this,checkpointer:e,interruptAfter:n,interruptBefore:t,autoValidate:!1,nodes:{},channels:{[We]:new Mi,[Re]:new Mi},inputChannels:We,outputChannels:Re,streamChannels:[],streamMode:"values",name:r});for(let[a,i]of Object.entries(this.nodes))s.attachNode(a,i);for(let[a,i]of this.edges)s.attachEdge(a,i);for(let[a,i]of Object.entries(this.branches))for(let[o,c]of Object.entries(i))s.attachBranch(a,o,c);return s.validate()}validate(e){let t=new Set([...this.allEdges].map(([r,s])=>r));for(let[r]of Object.entries(this.branches))t.add(r);for(let r of t)if(r!==We&&!(r in this.nodes))throw new Error(`Found edge starting at unknown node \`${r}\``);let n=new Set([...this.allEdges].map(([r,s])=>s));for(let[r,s]of Object.entries(this.branches))for(let a of Object.values(s))if(a.ends!=null)for(let i of Object.values(a.ends))n.add(i);else{n.add(Re);for(let i of Object.keys(this.nodes))i!==r&&n.add(i)}for(let r of Object.values(this.nodes))for(let s of r.ends??[])n.add(s);for(let r of Object.keys(this.nodes))if(!n.has(r))throw new GE([`Node \`${r}\` is not reachable.`,"","If you are returning Command objects from your node,",'make sure you are passing names of potential destination nodes as an "ends" array','into ".addNode(..., { ends: ["node1", "node2"] })".'].join(`
266
+ `),{lc_error_code:"UNREACHABLE_NODE"});for(let r of n)if(r!==Re&&!(r in this.nodes))throw new Error(`Found edge ending at unknown node \`${r}\``);if(e){for(let r of e)if(!(r in this.nodes))throw new Error(`Interrupt node \`${r}\` is not present`)}this.compiled=!0}},OT=class extends H5{builder;constructor({builder:e,...t}){super(t),this.builder=e}attachNode(e,t){this.channels[e]=new Mi,this.nodes[e]=new fc({channels:[],triggers:[],metadata:t.metadata,subgraphs:t.subgraphs,ends:t.ends}).pipe(t.runnable).pipe(new Qt([{channel:e,value:ha}],[yt])),this.streamChannels.push(e)}attachEdge(e,t){if(t===Re){if(e===We)throw new Error("Cannot have an edge from START to END");this.nodes[e].writers.push(new Qt([{channel:Re,value:ha}],[yt]))}else this.nodes[t].triggers.push(e),this.nodes[t].channels.push(e)}attachBranch(e,t,n){e===We&&!this.nodes[We]&&(this.nodes[We]=V5.subscribeTo(We,{tags:[yt]})),this.nodes[e].pipe(n.run(s=>new Qt(s.map(a=>yn(a)?a:{channel:a===Re?Re:`branch:${e}:${t}:${a}`,value:ha}),[yt])));let r=n.ends?Object.values(n.ends):Object.keys(this.nodes);for(let s of r)if(s!==Re){let a=`branch:${e}:${t}:${s}`;this.channels[a]=new Mi,this.nodes[s].triggers.push(a),this.nodes[s].channels.push(a)}}async getGraphAsync(e){let t=e?.xray,n=new cc,r={[We]:n.addNode({schema:zu()},We)},s={},a={};t&&(a=Object.fromEntries((await ps(this.getSubgraphsAsync())).filter(c=>Lb(c[1]))));function i(c,u,l,d=!1){if(u===Re&&s[Re]===void 0&&(s[Re]=n.addNode({schema:zu()},Re)),r[c]!==void 0){if(s[u]===void 0)throw new Error(`End node ${u} not found!`);return n.addEdge(r[c],s[u],l!==u?l:void 0,d)}}for(let[c,u]of Object.entries(this.builder.nodes)){let l=Dt(c),d=u.runnable,p=u.metadata??{};if(this.interruptBefore?.includes(c)&&this.interruptAfter?.includes(c)?p.__interrupt="before,after":this.interruptBefore?.includes(c)?p.__interrupt="before":this.interruptAfter?.includes(c)&&(p.__interrupt="after"),t){let h=typeof t=="number"?t-1:t,f=a[c]!==void 0?await a[c].getGraphAsync({...e,xray:h}):d.getGraph(e);if(f.trimFirstNode(),f.trimLastNode(),Object.keys(f.nodes).length>1){let m=function(k){return k?k.lc_runnable:!1},v=function(k,x){if(k!==void 0&&!tm(k))return k;if(m(x))try{let T=x.getName();return T=T.startsWith("Runnable")?T.slice(8):T,T}catch{return x.getName()}else return x.name??"UnknownSchema"},[g,y]=n.extend(f,l);if(g===void 0)throw new Error(`Could not extend subgraph "${c}" due to missing entrypoint.`);y!==void 0&&(r[l]={name:v(y.id,y.data),...y}),s[l]={name:v(g.id,g.data),...g}}else{let m=n.addNode(d,l,p);r[l]=m,s[l]=m}}else{let h=n.addNode(d,l,p);r[l]=h,s[l]=h}}let o=[...this.builder.allEdges].sort(([c],[u])=>c<u?-1:u>c?1:0);for(let[c,u]of o)i(Dt(c),Dt(u));for(let[c,u]of Object.entries(this.builder.branches)){let l={...Object.fromEntries(Object.keys(this.builder.nodes).filter(d=>d!==c).map(d=>[Dt(d),Dt(d)])),[Re]:Re};for(let d of Object.values(u)){let p;d.ends!==void 0?p=d.ends:p=l;for(let[h,f]of Object.entries(p))i(Dt(c),Dt(f),h,!0)}}for(let[c,u]of Object.entries(this.builder.nodes))if(u.ends!==void 0)for(let l of u.ends)i(Dt(c),Dt(l),void 0,!0);return n}getGraph(e){let t=e?.xray,n=new cc,r={[We]:n.addNode({schema:zu()},We)},s={},a={};t&&(a=Object.fromEntries(To(this.getSubgraphs()).filter(c=>Lb(c[1]))));function i(c,u,l,d=!1){return u===Re&&s[Re]===void 0&&(s[Re]=n.addNode({schema:zu()},Re)),n.addEdge(r[c],s[u],l!==u?l:void 0,d)}for(let[c,u]of Object.entries(this.builder.nodes)){let l=Dt(c),d=u.runnable,p=u.metadata??{};if(this.interruptBefore?.includes(c)&&this.interruptAfter?.includes(c)?p.__interrupt="before,after":this.interruptBefore?.includes(c)?p.__interrupt="before":this.interruptAfter?.includes(c)&&(p.__interrupt="after"),t){let h=typeof t=="number"?t-1:t,f=a[c]!==void 0?a[c].getGraph({...e,xray:h}):d.getGraph(e);if(f.trimFirstNode(),f.trimLastNode(),Object.keys(f.nodes).length>1){let m=function(k){return k?k.lc_runnable:!1},v=function(k,x){if(k!==void 0&&!tm(k))return k;if(m(x))try{let T=x.getName();return T=T.startsWith("Runnable")?T.slice(8):T,T}catch{return x.getName()}else return x.name??"UnknownSchema"},[g,y]=n.extend(f,l);if(g===void 0)throw new Error(`Could not extend subgraph "${c}" due to missing entrypoint.`);y!==void 0&&(r[l]={name:v(y.id,y.data),...y}),s[l]={name:v(g.id,g.data),...g}}else{let m=n.addNode(d,l,p);r[l]=m,s[l]=m}}else{let h=n.addNode(d,l,p);r[l]=h,s[l]=h}}let o=[...this.builder.allEdges].sort(([c],[u])=>c<u?-1:u>c?1:0);for(let[c,u]of o)i(Dt(c),Dt(u));for(let[c,u]of Object.entries(this.builder.branches)){let l={...Object.fromEntries(Object.keys(this.builder.nodes).filter(d=>d!==c).map(d=>[Dt(d),Dt(d)])),[Re]:Re};for(let d of Object.values(u)){let p;d.ends!==void 0?p=d.ends:p=l;for(let[h,f]of Object.entries(p))i(Dt(c),Dt(f),h,!0)}}return n}};function Lb(e){return typeof e.attachNode=="function"&&typeof e.attachEdge=="function"}function Dt(e){return e==="subgraph"?`"${e}"`:e}function Eo(e){return typeof e=="object"&&e!==null&&"~standard"in e&&typeof e["~standard"]=="object"&&e["~standard"]!==null&&"validate"in e["~standard"]}function cD(e){return typeof e=="object"&&e!==null&&"~standard"in e&&typeof e["~standard"]=="object"&&e["~standard"]!==null&&"jsonSchema"in e["~standard"]}function Ha(e){if(cD(e))try{return e["~standard"].jsonSchema.input({target:"draft-07"})}catch{return}}function Wa(e){if(e!=null&&Eo(e))try{let t=e["~standard"].validate(void 0);if(t&&typeof t=="object"&&!("then"in t&&typeof t.then=="function")){let n=t;if(!n.issues){let r=n.value;return()=>r}}}catch{}}var Mf=Symbol.for("langgraph.channel.missing"),uD=class ST extends Bs{lc_graph_name="UntrackedValue";guard;_value=Mf;initialValueFactory;constructor(t){super(),this.guard=t?.guard??!0,this.initialValueFactory=t?.initialValueFactory,this.initialValueFactory&&(this._value=this.initialValueFactory())}fromCheckpoint(t){return new ST({guard:this.guard,initialValueFactory:this.initialValueFactory})}update(t){if(t.length===0)return!1;if(t.length!==1&&this.guard)throw new et("UntrackedValue(guard=true) can receive only one value per step. Use guard=false if you want to store any one of multiple values.",{lc_error_code:"INVALID_CONCURRENT_GRAPH_UPDATE"});return this._value=t[t.length-1],!0}get(){if(this._value===Mf)throw new $t;return this._value}checkpoint(){}isAvailable(){return this._value!==Mf}},ra=(e,t)=>e.size===t.size&&[...e].every(n=>t.has(n)),lD=class TT extends Bs{lc_graph_name="NamedBarrierValue";names;seen;constructor(t){super(),this.names=t,this.seen=new Set}fromCheckpoint(t){let n=new TT(this.names);return typeof t<"u"&&(n.seen=new Set(t)),n}update(t){let n=!1;for(let r of t)if(this.names.has(r))this.seen.has(r)||(this.seen.add(r),n=!0);else throw new et(`Value ${JSON.stringify(r)} not in names ${JSON.stringify(this.names)}`);return n}get(){if(!ra(this.names,this.seen))throw new $t}checkpoint(){return[...this.seen]}consume(){return this.seen&&this.names&&ra(this.seen,this.names)?(this.seen=new Set,!0):!1}isAvailable(){return!!this.names&&ra(this.names,this.seen)}},dD=class IT extends Bs{lc_graph_name="NamedBarrierValueAfterFinish";names;seen;finished;constructor(t){super(),this.names=t,this.seen=new Set,this.finished=!1}fromCheckpoint(t){let n=new IT(this.names);if(typeof t<"u"){let[r,s]=t;n.seen=new Set(r),n.finished=s}return n}update(t){let n=!1;for(let r of t)if(this.names.has(r)&&!this.seen.has(r))this.seen.add(r),n=!0;else if(!this.names.has(r))throw new et(`Value ${JSON.stringify(r)} not in names ${JSON.stringify(this.names)}`);return n}get(){if(!this.finished||!ra(this.names,this.seen))throw new $t}checkpoint(){return[[...this.seen],this.finished]}consume(){return this.finished&&this.seen&&this.names&&ra(this.seen,this.names)?(this.seen=new Set,this.finished=!1,!0):!1}finish(){return!this.finished&&this.names&&ra(this.names,this.seen)?(this.finished=!0,!0):!1}isAvailable(){return this.finished&&!!this.names&&ra(this.names,this.seen)}},Lf=Symbol.for("langgraph.state.reduced_value"),Qa=class{[Lf]=!0;valueSchema;inputSchema;reducer;jsonSchemaExtra;constructor(e,t){this.reducer=t.reducer,this.jsonSchemaExtra=t.jsonSchemaExtra,this.valueSchema=e,this.inputSchema="inputSchema"in t?t.inputSchema:e,this.jsonSchemaExtra=t.jsonSchemaExtra}static isInstance(e){return typeof e=="object"&&e!==null&&Lf in e&&e[Lf]===!0}},zb=Symbol.for("langgraph.state.untracked_value"),_o=class{[zb]=!0;schema;guard;constructor(e,t){this.schema=e,this.guard=t?.guard??!0}static isInstance(e){return typeof e=="object"&&e!==null&&zb in e}},zf=Symbol.for("langgraph.state.state_schema"),sa=class{[zf]=!0;constructor(e){this.fields=e}getChannels(){let e={};for(let[t,n]of Object.entries(this.fields))if(Qa.isInstance(n)){let r=Wa(n.valueSchema);e[t]=new Xl(n.reducer,r)}else if(_o.isInstance(n)){let r=n.schema?Wa(n.schema):void 0;e[t]=new uD({guard:n.guard,initialValueFactory:r})}else if(Eo(n))e[t]=new Hp(Wa(n));else throw new Error(`Invalid state field "${t}": must be a schema, ReducedValue, UntrackedValue, or ManagedValue`);return e}getJsonSchema(){let e={},t=[];for(let[n,r]of Object.entries(this.fields)){let s;if(Qa.isInstance(r)?(s=Ha(r.valueSchema),r.jsonSchemaExtra&&(s={...s??{},...r.jsonSchemaExtra})):_o.isInstance(r)?s=r.schema?Ha(r.schema):void 0:Eo(r)&&(s=Ha(r)),s){e[n]=s;let a=!1;Qa.isInstance(r)?a=Wa(r.valueSchema)!==void 0:_o.isInstance(r)?a=r.schema?Wa(r.schema)!==void 0:!1:a=Wa(r)!==void 0,a||t.push(n)}}return{type:"object",properties:e,required:t.length>0?t:void 0}}getInputJsonSchema(){let e={};for(let[t,n]of Object.entries(this.fields)){let r;Qa.isInstance(n)?r=Ha(n.inputSchema):_o.isInstance(n)?r=n.schema?Ha(n.schema):void 0:Eo(n)&&(r=Ha(n)),r&&(e[t]=r)}return{type:"object",properties:e}}getChannelKeys(){return Object.entries(this.fields).map(([e])=>e)}getAllKeys(){return Object.keys(this.fields)}async validateInput(e){if(e==null||typeof e!="object")return e;let t={};for(let[n,r]of Object.entries(e)){let s=this.fields[n];if(s===void 0){t[n]=r;continue}let a;if(Qa.isInstance(s)?a=s.inputSchema:_o.isInstance(s)?a=s.schema:Eo(s)&&(a=s),a){let i=await a["~standard"].validate(r);if(i.issues)throw new Error(`Validation failed for field "${n}": ${JSON.stringify(i.issues)}`);t[n]=i.value}else t[n]=r}return t}static isInstance(e){return typeof e=="object"&&e!==null&&zf in e&&e[zf]===!0}},pD="__remove_all__";function uo(e,t){let n=Array.isArray(e)?e:[e],r=Array.isArray(t)?t:[t],s=n.map($r),a=r.map($r);for(let l of s)(l.id===null||l.id===void 0)&&(l.id=ea(),l.lc_kwargs.id=l.id);let i;for(let l=0;l<a.length;l+=1){let d=a[l];(d.id===null||d.id===void 0)&&(d.id=ea(),d.lc_kwargs.id=d.id),ua.isInstance(d)&&d.id===pD&&(i=l)}if(i!=null)return a.slice(i+1);let o=[...s],c=new Map(o.map((l,d)=>[l.id,d])),u=new Set;for(let l of a){let d=c.get(l.id);if(d!==void 0)ua.isInstance(l)?u.add(l.id):(u.delete(l.id),o[d]=l);else{if(ua.isInstance(l))throw new Error(`Attempting to delete a message with an ID that doesn't exist ('${l.id}')`);c.set(l.id,o.length),o.push(l)}}return o.filter(l=>!u.has(l.id))}var hD=kT().default(()=>[]),fD=kT();new Qa(hD,{inputSchema:fD,reducer:uo,jsonSchemaExtra:{langgraph_type:"messages",description:"A list of chat messages"}});var mD="lg:",gD=class{_map=new Map;_extensionCache=new Map;get(e){return this._map.get(e)}extend(e,t){let n=this.get(e);this._map.set(e,t(n))}remove(e){return this._map.delete(e),this}has(e){return this._map.has(e)}getChannelsForSchema(e){let t={},n=ic(e);for(let[r,s]of Object.entries(n)){let a=this.get(s);a?.reducer?t[r]=new Xl(a.reducer.fn,a.default):t[r]=new Hp(a?.default)}return t}getExtendedChannelSchemas(e,t){if(Object.keys(t).length===0)return e;let n=Object.entries(t).filter(([,a])=>a===!0).sort(([a],[i])=>a.localeCompare(i)).map(([a,i])=>`${a}:${i}`).join("|"),r=this._extensionCache.get(n)??new Map;if(r.has(e))return r.get(e);let s=e;if(t.withReducerSchema||t.withJsonSchemaExtrasAsDescription){let a=Object.entries(ic(e)).map(([i,o])=>{let c=this.get(o),u=t.withReducerSchema?c?.reducer?.schema??o:o;if(t.withJsonSchemaExtrasAsDescription&&c?.jsonSchemaExtra){let l=Ai(u)??Ai(o),d=JSON.stringify({...c.jsonSchemaExtra,description:l});u=u.describe(`${mD}${d}`)}return[i,u]});s=Bx(e,Object.fromEntries(a)),vt(s)&&(s._def.unknownKeys="strip")}return t.asPartial&&(s=Zy(s)),r.set(e,s),this._extensionCache.set(n,r),s}},td=new gD;function yD(e,t){if(t.reducer&&!t.default){let n=Zx(e);n!=null&&(t.default=n)}if(t.reducer){let n=Object.assign(e,{lg_reducer_schema:t.reducer?.schema??e});return td.extend(n,()=>t),n}else return td.extend(e,()=>t),e}function ei(e){return e==null?!1:!!(sa.isInstance(e)||zn(e)||typeof e=="object"&&"lc_graph_name"in e&&e.lc_graph_name==="AnnotationRoot"||typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).length>0&&Object.values(e).every(t=>typeof t=="function"||VS(t)))}function _D(e){if(typeof e!="object"||e==null)return!1;let t=e,n="state"in t&&ei(t.state),r="stateSchema"in t&&ei(t.stateSchema),s="input"in t&&ei(t.input);return!(!n&&!r&&!s||"input"in t&&t.input!=null&&!ei(t.input)||"output"in t&&t.output!=null&&!ei(t.output))}var gs="__root__",nd=Symbol.for("langgraph.state.partial"),ET=class extends oD{channels={};waitingEdges=new Set;_schemaDefinition;_schemaRuntimeDefinition;_inputDefinition;_inputRuntimeDefinition;_outputDefinition;_outputRuntimeDefinition;_schemaDefinitions=new Map;_metaRegistry=td;_configSchema;_configRuntimeSchema;_interrupt;_writer;constructor(e,t){super();let n=this._normalizeToStateGraphInit(e,t),r=n.state??n.stateSchema??n.input;if(!r)throw new sh;let s=this._getChannelsFromSchema(r);this._schemaDefinition=s,sa.isInstance(r)?this._schemaRuntimeDefinition=r:zn(r)&&(this._schemaRuntimeDefinition=r),n.input?sa.isInstance(n.input)?this._inputRuntimeDefinition=n.input:zn(n.input)?this._inputRuntimeDefinition=n.input:this._inputRuntimeDefinition=nd:this._inputRuntimeDefinition=nd,n.output?sa.isInstance(n.output)?this._outputRuntimeDefinition=n.output:zn(n.output)?this._outputRuntimeDefinition=n.output:this._outputRuntimeDefinition=this._schemaRuntimeDefinition:this._outputRuntimeDefinition=this._schemaRuntimeDefinition;let a=n.input?this._getChannelsFromSchema(n.input):s,i=n.output?this._getChannelsFromSchema(n.output):s;this._inputDefinition=a,this._outputDefinition=i,this._addSchema(this._schemaDefinition),this._addSchema(this._inputDefinition),this._addSchema(this._outputDefinition),n.context&&zn(n.context)&&(this._configRuntimeSchema=n.context),this._interrupt=n.interrupt,this._writer=n.writer}_normalizeToStateGraphInit(e,t){if(_D(e)){if(zn(t)||yg.isInstance(t))return{...e,context:t};let n=t;return{...e,input:e.input??n?.input,output:e.output??n?.output,context:e.context??n?.context,interrupt:e.interrupt??n?.interrupt,writer:e.writer??n?.writer,nodes:e.nodes??n?.nodes}}if(ei(e)){if(zn(t)||yg.isInstance(t))return{state:e,context:t};let n=t;return{state:e,input:n?.input,output:n?.output,context:n?.context,interrupt:n?.interrupt,writer:n?.writer,nodes:n?.nodes}}if(bD(e))return{state:vD(e.channels)};throw new sh}_getChannelsFromSchema(e){if(sa.isInstance(e))return e.getChannels();if(zn(e))return this._metaRegistry.getChannelsForSchema(e);if(typeof e=="object"&&"lc_graph_name"in e&&e.lc_graph_name==="AnnotationRoot")return e.spec;if(typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).length>0)return e;throw new sh("Invalid schema type. Expected StateSchema, Zod object, AnnotationRoot, or StateDefinition.")}get allEdges(){return new Set([...this.edges,...Array.from(this.waitingEdges).flatMap(([e,t])=>e.map(n=>[n,t]))])}_addSchema(e){if(!this._schemaDefinitions.has(e)){this._schemaDefinitions.set(e,e);for(let[t,n]of Object.entries(e)){let r;if(typeof n=="function"?r=n():r=n,this.channels[t]!==void 0){if(!this.channels[t].equals(r)&&r.lc_graph_name!=="LastValue")throw new Error(`Channel "${t}" already exists with a different type.`)}else this.channels[t]=r}}}addNode(...e){function t(r){return r.length>=1&&typeof r[0]!="string"}let n=t(e)?Array.isArray(e[0])?e[0]:Object.entries(e[0]).map(([r,s])=>[r,s]):[[e[0],e[1],e[2]]];if(n.length===0)throw new Error("No nodes provided in `addNode`");for(let[r,s,a]of n){if(r in this.channels)throw new Error(`${r} is already being used as a state attribute (a.k.a. a channel), cannot also be used as a node name.`);for(let l of[St,Gr])if(r.includes(l))throw new Error(`"${l}" is a reserved character and is not allowed in node names.`);if(this.warnIfCompiled("Adding a node to a graph that has already been compiled. This will not be reflected in the compiled graph."),r in this.nodes)throw new Error(`Node \`${r}\` already present.`);if(r===Re||r===We)throw new Error(`Node \`${r}\` is reserved.`);let i=this._schemaDefinition;a?.input!==void 0&&(i=this._getChannelsFromSchema(a.input)),this._addSchema(i);let o;je.isRunnable(s)?o=s:typeof s=="function"?o=new Ua({func:s,name:r,trace:!1}):o=Lt(s);let c=a?.cachePolicy;typeof c=="boolean"&&(c=c?{}:void 0);let u={runnable:o,retryPolicy:a?.retryPolicy,cachePolicy:c,metadata:a?.metadata,input:i??this._schemaDefinition,subgraphs:x_(o)?[o]:a?.subgraphs,ends:a?.ends,defer:a?.defer};this.nodes[r]=u}return this}addEdge(e,t){if(typeof e=="string")return super.addEdge(e,t);this.compiled&&console.warn("Adding an edge to a graph that has already been compiled. This will not be reflected in the compiled graph.");for(let n of e){if(n===Re)throw new Error("END cannot be a start node");if(!Object.keys(this.nodes).some(r=>r===n))throw new Error(`Need to add a node named "${n}" first`)}if(t===Re)throw new Error("END cannot be an end node");if(!Object.keys(this.nodes).some(n=>n===t))throw new Error(`Need to add a node named "${t}" first`);return this.waitingEdges.add([e,t]),this}addSequence(e){let t=Array.isArray(e)?e:Object.entries(e);if(t.length===0)throw new Error("Sequence requires at least one node.");let n;for(let[r,s,a]of t){if(r in this.nodes)throw new Error(`Node names must be unique: node with the name "${r}" already exists.`);let i=r;this.addNode(i,s,a),n!=null&&this.addEdge(n,i),n=i}return this}compile({checkpointer:e,store:t,cache:n,interruptBefore:r,interruptAfter:s,name:a,description:i}={}){this.validate([...Array.isArray(r)?r:[],...Array.isArray(s)?s:[]]);let o=Object.keys(this._schemaDefinitions.get(this._outputDefinition)),c=o.length===1&&o[0]===gs?gs:o,u=Object.keys(this.channels),l=u.length===1&&u[0]===gs?gs:u,d=this._interrupt,p=new wD({builder:this,checkpointer:e,interruptAfter:s,interruptBefore:r,autoValidate:!1,nodes:{},channels:{...this.channels,[We]:new Mi},inputChannels:We,outputChannels:c,streamChannels:l,streamMode:"updates",store:t,cache:n,name:a,description:i,userInterrupt:d});p.attachNode(We);for(let[h,f]of Object.entries(this.nodes))p.attachNode(h,f);p.attachBranch(We,v0,Ub(),{withReader:!1});for(let[h]of Object.entries(this.nodes))p.attachBranch(h,v0,Ub(),{withReader:!1});for(let[h,f]of this.edges)p.attachEdge(h,f);for(let[h,f]of this.waitingEdges)p.attachEdge(h,f);for(let[h,f]of Object.entries(this.branches))for(let[m,v]of Object.entries(f))p.attachBranch(h,m,v);return p.validate()}};function vD(e){let t={};for(let[n,r]of Object.entries(e))t[n]=JS(r);return t}var wD=class extends OT{description;_metaRegistry=td;constructor({description:e,...t}){super(t),this.description=e}attachNode(e,t){let n;e===We?n=Object.entries(this.builder._schemaDefinitions.get(this.builder._inputDefinition)).map(([o])=>o):n=Object.keys(this.builder.channels);function r(o){if(Ft(o))return o.graph===Tr.PARENT?null:o._updateAsTuples();if(Array.isArray(o)&&o.length>0&&o.some(c=>Ft(c))){let c=[];for(let u of o)if(Ft(u)){if(u.graph===Tr.PARENT)continue;c.push(...u._updateAsTuples())}else c.push([gs,u]);return c}else if(o!=null)return[[gs,o]];return null}let s=e;function a(o){if(o){if(Ft(o))return o.graph===Tr.PARENT?null:o._updateAsTuples().filter(([c])=>n.includes(c));if(Array.isArray(o)&&o.length>0&&o.some(Ft)){let c=[];for(let u of o)if(Ft(u)){if(u.graph===Tr.PARENT)continue;c.push(...u._updateAsTuples().filter(([l])=>n.includes(l)))}else{let l=a(u);l&&c.push(...l??[])}return c}else{if(typeof o=="object"&&!Array.isArray(o))return Object.entries(o).filter(([c])=>n.includes(c));{let c=Array.isArray(o)?"array":typeof o;throw new et(`Expected node "${s.toString()}" to return an object or an array containing at least one Command object, received ${c}`,{lc_error_code:"INVALID_GRAPH_NODE_RETURN_VALUE"})}}}else return null}let i=[{value:ha,mapper:new Ua({func:n.length&&n[0]===gs?r:a,trace:!1,recurse:!1})}];if(e===We)this.nodes[e]=new fc({tags:[yt],triggers:[We],channels:[We],writers:[new Qt(i,[yt])]});else{let o=t?.input??this.builder._schemaDefinition,c=Object.fromEntries(Object.keys(this.builder._schemaDefinitions.get(o)).map(d=>[d,d])),u=Object.keys(c).length===1&&gs in c,l=`branch:to:${e}`;this.channels[l]=t?.defer?new $9:new Mi(!1),this.nodes[e]=new fc({triggers:[l],channels:u?Object.keys(c):c,writers:[new Qt(i,[yt])],mapper:u?void 0:d=>Object.fromEntries(Object.entries(d).filter(([p])=>p in c)),bound:t?.runnable,metadata:t?.metadata,retryPolicy:t?.retryPolicy,cachePolicy:t?.cachePolicy,subgraphs:t?.subgraphs,ends:t?.ends})}}attachEdge(e,t){if(t!==Re){if(typeof e=="string")this.nodes[e].writers.push(new Qt([{channel:`branch:to:${t}`,value:null}],[yt]));else if(Array.isArray(e)){let n=`join:${e.join("+")}:${t}`;this.channels[n]=this.builder.nodes[t].defer?new dD(new Set(e)):new lD(new Set(e)),this.nodes[t].triggers.push(n);for(let r of e)this.nodes[r].writers.push(new Qt([{channel:n,value:r}],[yt]))}}}attachBranch(e,t,n,r={withReader:!0}){let s=async(a,i)=>{let o=a.filter(u=>u!==Re);if(!o.length)return;let c=o.map(u=>yn(u)?u:{channel:u===Re?u:`branch:to:${u}`,value:e});await Qt.doWrite({...i,tags:(i.tags??[]).concat([yt])},c)};this.nodes[e].writers.push(n.run(s,r.withReader?a=>L9.doRead(a,this.streamChannels??this.outputChannels,!0):void 0))}async _validateInput(e){if(e==null)return e;let t=this.builder._inputRuntimeDefinition,n=this.builder._schemaRuntimeDefinition;if(sa.isInstance(t)){if(Ft(e)){let s=e;return e.update&&(s.update=await t.validateInput(Array.isArray(e.update)?Object.fromEntries(e.update):e.update)),s}return await t.validateInput(e)}if(t===nd&&sa.isInstance(n)){if(Ft(e)){let s=e;return e.update&&(s.update=await n.validateInput(Array.isArray(e.update)?Object.fromEntries(e.update):e.update)),s}return await n.validateInput(e)}let r=(()=>{let s=a=>{if(a!=null)return this._metaRegistry.getExtendedChannelSchemas(a,{withReducerSchema:!0})};if(zn(t))return s(t);if(t===nd)return zn(n)?Zy(s(n)):void 0})();if(Ft(e)){let s=e;return e.update&&r!=null&&(s.update=il(r,e.update)),s}return r!=null?il(r,e):e}isInterrupted(e){return Q1(e)}async _validateContext(e){let t=this.builder._configRuntimeSchema;return zn(t)&&il(t,e),e}};function bD(e){return typeof e=="object"&&e!==null&&e.channels!==void 0}function kD(e){if(yn(e))return[e];let t=[];Ft(e)?t.push(e):Array.isArray(e)&&t.push(...e.filter(Ft));let n=[];for(let r of t){if(r.graph===Tr.PARENT)throw new nk(r);yn(r.goto)||typeof r.goto=="string"?n.push(r.goto):Array.isArray(r.goto)&&n.push(...r.goto)}return n}function Ub(){return new xT({path:new Ua({func:kD,tags:[yt],trace:!1,recurse:!1,name:"<control_branch>"})})}var Me;(function(e){e.assertEqual=s=>{};function t(s){}e.assertIs=t;function n(s){throw new Error}e.assertNever=n,e.arrayToEnum=s=>{let a={};for(let i of s)a[i]=i;return a},e.getValidEnumValues=s=>{let a=e.objectKeys(s).filter(o=>typeof s[s[o]]!="number"),i={};for(let o of a)i[o]=s[o];return e.objectValues(i)},e.objectValues=s=>e.objectKeys(s).map(function(a){return s[a]}),e.objectKeys=typeof Object.keys=="function"?s=>Object.keys(s):s=>{let a=[];for(let i in s)Object.prototype.hasOwnProperty.call(s,i)&&a.push(i);return a},e.find=(s,a)=>{for(let i of s)if(a(i))return i},e.isInteger=typeof Number.isInteger=="function"?s=>Number.isInteger(s):s=>typeof s=="number"&&Number.isFinite(s)&&Math.floor(s)===s;function r(s,a=" | "){return s.map(i=>typeof i=="string"?`'${i}'`:i).join(a)}e.joinValues=r,e.jsonStringifyReplacer=(s,a)=>typeof a=="bigint"?a.toString():a})(Me||(Me={}));var Og;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(Og||(Og={}));var J=Me.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Jr=e=>{switch(typeof e){case"undefined":return J.undefined;case"string":return J.string;case"number":return Number.isNaN(e)?J.nan:J.number;case"boolean":return J.boolean;case"function":return J.function;case"bigint":return J.bigint;case"symbol":return J.symbol;case"object":return Array.isArray(e)?J.array:e===null?J.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?J.promise:typeof Map<"u"&&e instanceof Map?J.map:typeof Set<"u"&&e instanceof Set?J.set:typeof Date<"u"&&e instanceof Date?J.date:J.object;default:return J.unknown}},R=Me.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"]),xD=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),hr=class AT extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};let n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=t}format(t){let n=t||function(a){return a.message},r={_errors:[]},s=a=>{for(let i of a.issues)if(i.code==="invalid_union")i.unionErrors.map(s);else if(i.code==="invalid_return_type")s(i.returnTypeError);else if(i.code==="invalid_arguments")s(i.argumentsError);else if(i.path.length===0)r._errors.push(n(i));else{let o=r,c=0;for(;c<i.path.length;){let u=i.path[c];c===i.path.length-1?(o[u]=o[u]||{_errors:[]},o[u]._errors.push(n(i))):o[u]=o[u]||{_errors:[]},o=o[u],c++}}};return s(this),r}static assert(t){if(!(t instanceof AT))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,Me.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=n=>n.message){let n={},r=[];for(let s of this.issues)if(s.path.length>0){let a=s.path[0];n[a]=n[a]||[],n[a].push(t(s))}else r.push(t(s));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}};hr.create=e=>new hr(e);var Li=(e,t)=>{let n;switch(e.code){case R.invalid_type:e.received===J.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case R.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,Me.jsonStringifyReplacer)}`;break;case R.unrecognized_keys:n=`Unrecognized key(s) in object: ${Me.joinValues(e.keys,", ")}`;break;case R.invalid_union:n="Invalid input";break;case R.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${Me.joinValues(e.options)}`;break;case R.invalid_enum_value:n=`Invalid enum value. Expected ${Me.joinValues(e.options)}, received '${e.received}'`;break;case R.invalid_arguments:n="Invalid function arguments";break;case R.invalid_return_type:n="Invalid function return type";break;case R.invalid_date:n="Invalid date";break;case R.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:Me.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case R.too_small:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:n="Invalid input";break;case R.too_big:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?n=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:n="Invalid input";break;case R.custom:n="Invalid input";break;case R.invalid_intersection_types:n="Intersection results could not be merged";break;case R.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case R.not_finite:n="Number must be finite";break;default:n=t.defaultError,Me.assertNever(e)}return{message:n}},$T=Li;function OD(e){$T=e}function rd(){return $T}var sd=e=>{let{data:t,path:n,errorMaps:r,issueData:s}=e,a=[...n,...s.path||[]],i={...s,path:a};if(s.message!==void 0)return{...s,path:a,message:s.message};let o="",c=r.filter(u=>!!u).slice().reverse();for(let u of c)o=u(i,{data:t,defaultError:o}).message;return{...s,path:a,message:o}},SD=[];function V(e,t){let n=rd(),r=sd({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===Li?void 0:Li].filter(s=>!!s)});e.common.issues.push(r)}var qt=class e{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,n){let r=[];for(let s of n){if(s.status==="aborted")return fe;s.status==="dirty"&&t.dirty(),r.push(s.value)}return{status:t.value,value:r}}static async mergeObjectAsync(t,n){let r=[];for(let s of n){let a=await s.key,i=await s.value;r.push({key:a,value:i})}return e.mergeObjectSync(t,r)}static mergeObjectSync(t,n){let r={};for(let s of n){let{key:a,value:i}=s;if(a.status==="aborted"||i.status==="aborted")return fe;a.status==="dirty"&&t.dirty(),i.status==="dirty"&&t.dirty(),a.value!=="__proto__"&&(typeof i.value<"u"||s.alwaysSet)&&(r[a.value]=i.value)}return{status:t.value,value:r}}},fe=Object.freeze({status:"aborted"}),ad=e=>({status:"dirty",value:e}),sn=e=>({status:"valid",value:e}),Sg=e=>e.status==="aborted",Tg=e=>e.status==="dirty",Oa=e=>e.status==="valid",vc=e=>typeof Promise<"u"&&e instanceof Promise,ie;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(ie||(ie={}));var Vn=class{constructor(t,n,r,s){this._cachedPath=[],this.parent=t,this.data=n,this._path=r,this._key=s}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}},Db=(e,t)=>{if(Oa(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let n=new hr(e.common.issues);return this._error=n,this._error}}};function xe(e){if(!e)return{};let{errorMap:t,invalid_type_error:n,required_error:r,description:s}=e;if(t&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:s}:{errorMap:(a,i)=>{let{message:o}=e;return a.code==="invalid_enum_value"?{message:o??i.defaultError}:typeof i.data>"u"?{message:o??r??i.defaultError}:a.code!=="invalid_type"?{message:i.defaultError}:{message:o??n??i.defaultError}},description:s}}var Ee=class{get description(){return this._def.description}_getType(e){return Jr(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:Jr(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new qt,ctx:{common:e.parent.common,data:e.data,parsedType:Jr(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let t=this._parse(e);if(vc(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){let t=this._parse(e);return Promise.resolve(t)}parse(e,t){let n=this.safeParse(e,t);if(n.success)return n.data;throw n.error}safeParse(e,t){let n={common:{issues:[],async:t?.async??!1,contextualErrorMap:t?.errorMap},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Jr(e)},r=this._parseSync({data:e,path:n.path,parent:n});return Db(n,r)}"~validate"(e){let t={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Jr(e)};if(!this["~standard"].async)try{let n=this._parseSync({data:e,path:[],parent:t});return Oa(n)?{value:n.value}:{issues:t.common.issues}}catch(n){n?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),t.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:t}).then(n=>Oa(n)?{value:n.value}:{issues:t.common.issues})}async parseAsync(e,t){let n=await this.safeParseAsync(e,t);if(n.success)return n.data;throw n.error}async safeParseAsync(e,t){let n={common:{issues:[],contextualErrorMap:t?.errorMap,async:!0},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Jr(e)},r=this._parse({data:e,path:n.path,parent:n}),s=await(vc(r)?r:Promise.resolve(r));return Db(n,s)}refine(e,t){let n=r=>typeof t=="string"||typeof t>"u"?{message:t}:typeof t=="function"?t(r):t;return this._refinement((r,s)=>{let a=e(r),i=()=>s.addIssue({code:R.custom,...n(r)});return typeof Promise<"u"&&a instanceof Promise?a.then(o=>o?!0:(i(),!1)):a?!0:(i(),!1)})}refinement(e,t){return this._refinement((n,r)=>e(n)?!0:(r.addIssue(typeof t=="function"?t(n,r):t),!1))}_refinement(e){return new Pn({schema:this,typeName:me.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,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:t=>this["~validate"](t)}}optional(){return Nr.create(this,this._def)}nullable(){return Rs.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return $a.create(this)}promise(){return js.create(this,this._def)}or(e){return bc.create([this,e],this._def)}and(e){return kc.create(this,e,this._def)}transform(e){return new Pn({...xe(this._def),schema:this,typeName:me.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let t=typeof e=="function"?e:()=>e;return new Oc({...xe(this._def),innerType:this,defaultValue:t,typeName:me.ZodDefault})}brand(){return new Tc({typeName:me.ZodBranded,type:this,...xe(this._def)})}catch(e){let t=typeof e=="function"?e:()=>e;return new Sc({...xe(this._def),innerType:this,catchValue:t,typeName:me.ZodCatch})}describe(e){let t=this.constructor;return new t({...this._def,description:e})}pipe(e){return Ic.create(this,e)}readonly(){return Ec.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},TD=/^c[^\s-]{8,}$/i,ID=/^[0-9a-z]+$/,ED=/^[0-9A-HJKMNP-TV-Z]{26}$/i,AD=/^[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,$D=/^[a-z0-9_-]{21}$/i,CD=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,ND=/^[-+]?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)?)??$/,PD=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,jD="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Uf,RD=/^(?:(?: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])$/,MD=/^(?:(?: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])$/,LD=/^(([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]))$/,zD=/^(([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])$/,UD=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,DD=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,CT="((\\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])))",FD=new RegExp(`^${CT}$`);function NT(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`);let n=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${n}`}function BD(e){return new RegExp(`^${NT(e)}$`)}function PT(e){let t=`${CT}T${NT(e)}`,n=[];return n.push(e.local?"Z?":"Z"),e.offset&&n.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${n.join("|")})`,new RegExp(`^${t}$`)}function ZD(e,t){return!!((t==="v4"||!t)&&RD.test(e)||(t==="v6"||!t)&&LD.test(e))}function VD(e,t){if(!CD.test(e))return!1;try{let[n]=e.split(".");if(!n)return!1;let r=n.replace(/-/g,"+").replace(/_/g,"/").padEnd(n.length+(4-n.length%4)%4,"="),s=JSON.parse(atob(r));return!(typeof s!="object"||s===null||"typ"in s&&s?.typ!=="JWT"||!s.alg||t&&s.alg!==t)}catch{return!1}}function qD(e,t){return!!((t==="v4"||!t)&&MD.test(e)||(t==="v6"||!t)&&zD.test(e))}var zi=class Ao extends Ee{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==J.string){let s=this._getOrReturnCtx(t);return V(s,{code:R.invalid_type,expected:J.string,received:s.parsedType}),fe}let n=new qt,r;for(let s of this._def.checks)if(s.kind==="min")t.data.length<s.value&&(r=this._getOrReturnCtx(t,r),V(r,{code:R.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="max")t.data.length>s.value&&(r=this._getOrReturnCtx(t,r),V(r,{code:R.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="length"){let a=t.data.length>s.value,i=t.data.length<s.value;(a||i)&&(r=this._getOrReturnCtx(t,r),a?V(r,{code:R.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):i&&V(r,{code:R.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),n.dirty())}else if(s.kind==="email")PD.test(t.data)||(r=this._getOrReturnCtx(t,r),V(r,{validation:"email",code:R.invalid_string,message:s.message}),n.dirty());else if(s.kind==="emoji")Uf||(Uf=new RegExp(jD,"u")),Uf.test(t.data)||(r=this._getOrReturnCtx(t,r),V(r,{validation:"emoji",code:R.invalid_string,message:s.message}),n.dirty());else if(s.kind==="uuid")AD.test(t.data)||(r=this._getOrReturnCtx(t,r),V(r,{validation:"uuid",code:R.invalid_string,message:s.message}),n.dirty());else if(s.kind==="nanoid")$D.test(t.data)||(r=this._getOrReturnCtx(t,r),V(r,{validation:"nanoid",code:R.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid")TD.test(t.data)||(r=this._getOrReturnCtx(t,r),V(r,{validation:"cuid",code:R.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid2")ID.test(t.data)||(r=this._getOrReturnCtx(t,r),V(r,{validation:"cuid2",code:R.invalid_string,message:s.message}),n.dirty());else if(s.kind==="ulid")ED.test(t.data)||(r=this._getOrReturnCtx(t,r),V(r,{validation:"ulid",code:R.invalid_string,message:s.message}),n.dirty());else if(s.kind==="url")try{new URL(t.data)}catch{r=this._getOrReturnCtx(t,r),V(r,{validation:"url",code:R.invalid_string,message:s.message}),n.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(t.data)||(r=this._getOrReturnCtx(t,r),V(r,{validation:"regex",code:R.invalid_string,message:s.message}),n.dirty())):s.kind==="trim"?t.data=t.data.trim():s.kind==="includes"?t.data.includes(s.value,s.position)||(r=this._getOrReturnCtx(t,r),V(r,{code:R.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),n.dirty()):s.kind==="toLowerCase"?t.data=t.data.toLowerCase():s.kind==="toUpperCase"?t.data=t.data.toUpperCase():s.kind==="startsWith"?t.data.startsWith(s.value)||(r=this._getOrReturnCtx(t,r),V(r,{code:R.invalid_string,validation:{startsWith:s.value},message:s.message}),n.dirty()):s.kind==="endsWith"?t.data.endsWith(s.value)||(r=this._getOrReturnCtx(t,r),V(r,{code:R.invalid_string,validation:{endsWith:s.value},message:s.message}),n.dirty()):s.kind==="datetime"?PT(s).test(t.data)||(r=this._getOrReturnCtx(t,r),V(r,{code:R.invalid_string,validation:"datetime",message:s.message}),n.dirty()):s.kind==="date"?FD.test(t.data)||(r=this._getOrReturnCtx(t,r),V(r,{code:R.invalid_string,validation:"date",message:s.message}),n.dirty()):s.kind==="time"?BD(s).test(t.data)||(r=this._getOrReturnCtx(t,r),V(r,{code:R.invalid_string,validation:"time",message:s.message}),n.dirty()):s.kind==="duration"?ND.test(t.data)||(r=this._getOrReturnCtx(t,r),V(r,{validation:"duration",code:R.invalid_string,message:s.message}),n.dirty()):s.kind==="ip"?ZD(t.data,s.version)||(r=this._getOrReturnCtx(t,r),V(r,{validation:"ip",code:R.invalid_string,message:s.message}),n.dirty()):s.kind==="jwt"?VD(t.data,s.alg)||(r=this._getOrReturnCtx(t,r),V(r,{validation:"jwt",code:R.invalid_string,message:s.message}),n.dirty()):s.kind==="cidr"?qD(t.data,s.version)||(r=this._getOrReturnCtx(t,r),V(r,{validation:"cidr",code:R.invalid_string,message:s.message}),n.dirty()):s.kind==="base64"?UD.test(t.data)||(r=this._getOrReturnCtx(t,r),V(r,{validation:"base64",code:R.invalid_string,message:s.message}),n.dirty()):s.kind==="base64url"?DD.test(t.data)||(r=this._getOrReturnCtx(t,r),V(r,{validation:"base64url",code:R.invalid_string,message:s.message}),n.dirty()):Me.assertNever(s);return{status:n.value,value:t.data}}_regex(t,n,r){return this.refinement(s=>t.test(s),{validation:n,code:R.invalid_string,...ie.errToObj(r)})}_addCheck(t){return new Ao({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...ie.errToObj(t)})}url(t){return this._addCheck({kind:"url",...ie.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...ie.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...ie.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...ie.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...ie.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...ie.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...ie.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...ie.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...ie.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...ie.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...ie.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...ie.errToObj(t)})}datetime(t){return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof t?.precision>"u"?null:t?.precision,offset:t?.offset??!1,local:t?.local??!1,...ie.errToObj(t?.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof t?.precision>"u"?null:t?.precision,...ie.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...ie.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...ie.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n?.position,...ie.errToObj(n?.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...ie.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...ie.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...ie.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...ie.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...ie.errToObj(n)})}nonempty(t){return this.min(1,ie.errToObj(t))}trim(){return new Ao({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Ao({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Ao({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxLength(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}};zi.create=e=>new zi({checks:[],typeName:me.ZodString,coerce:e?.coerce??!1,...xe(e)});function HD(e,t){let n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,s=n>r?n:r,a=Number.parseInt(e.toFixed(s).replace(".","")),i=Number.parseInt(t.toFixed(s).replace(".",""));return a%i/10**s}var wc=class Ig extends Ee{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==J.number){let s=this._getOrReturnCtx(t);return V(s,{code:R.invalid_type,expected:J.number,received:s.parsedType}),fe}let n,r=new qt;for(let s of this._def.checks)s.kind==="int"?Me.isInteger(t.data)||(n=this._getOrReturnCtx(t,n),V(n,{code:R.invalid_type,expected:"integer",received:"float",message:s.message}),r.dirty()):s.kind==="min"?(s.inclusive?t.data<s.value:t.data<=s.value)&&(n=this._getOrReturnCtx(t,n),V(n,{code:R.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),r.dirty()):s.kind==="max"?(s.inclusive?t.data>s.value:t.data>=s.value)&&(n=this._getOrReturnCtx(t,n),V(n,{code:R.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),r.dirty()):s.kind==="multipleOf"?HD(t.data,s.value)!==0&&(n=this._getOrReturnCtx(t,n),V(n,{code:R.not_multiple_of,multipleOf:s.value,message:s.message}),r.dirty()):s.kind==="finite"?Number.isFinite(t.data)||(n=this._getOrReturnCtx(t,n),V(n,{code:R.not_finite,message:s.message}),r.dirty()):Me.assertNever(s);return{status:r.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,ie.toString(n))}gt(t,n){return this.setLimit("min",t,!1,ie.toString(n))}lte(t,n){return this.setLimit("max",t,!0,ie.toString(n))}lt(t,n){return this.setLimit("max",t,!1,ie.toString(n))}setLimit(t,n,r,s){return new Ig({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:ie.toString(s)}]})}_addCheck(t){return new Ig({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:ie.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:ie.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:ie.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:ie.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:ie.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:ie.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:ie.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:ie.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:ie.toString(t)})}get minValue(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}get isInt(){return!!this._def.checks.find(t=>t.kind==="int"||t.kind==="multipleOf"&&Me.isInteger(t.value))}get isFinite(){let t=null,n=null;for(let r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(t===null||r.value<t)&&(t=r.value)}return Number.isFinite(n)&&Number.isFinite(t)}};wc.create=e=>new wc({checks:[],typeName:me.ZodNumber,coerce:e?.coerce||!1,...xe(e)});var Sa=class e extends Ee{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==J.bigint)return this._getInvalidInput(t);let n,r=new qt;for(let s of this._def.checks)s.kind==="min"?(s.inclusive?t.data<s.value:t.data<=s.value)&&(n=this._getOrReturnCtx(t,n),V(n,{code:R.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),r.dirty()):s.kind==="max"?(s.inclusive?t.data>s.value:t.data>=s.value)&&(n=this._getOrReturnCtx(t,n),V(n,{code:R.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),r.dirty()):s.kind==="multipleOf"?t.data%s.value!==BigInt(0)&&(n=this._getOrReturnCtx(t,n),V(n,{code:R.not_multiple_of,multipleOf:s.value,message:s.message}),r.dirty()):Me.assertNever(s);return{status:r.value,value:t.data}}_getInvalidInput(t){let n=this._getOrReturnCtx(t);return V(n,{code:R.invalid_type,expected:J.bigint,received:n.parsedType}),fe}gte(t,n){return this.setLimit("min",t,!0,ie.toString(n))}gt(t,n){return this.setLimit("min",t,!1,ie.toString(n))}lte(t,n){return this.setLimit("max",t,!0,ie.toString(n))}lt(t,n){return this.setLimit("max",t,!1,ie.toString(n))}setLimit(t,n,r,s){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:ie.toString(s)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:ie.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:ie.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:ie.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:ie.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:ie.toString(n)})}get minValue(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}};Sa.create=e=>new Sa({checks:[],typeName:me.ZodBigInt,coerce:e?.coerce??!1,...xe(e)});var Ta=class extends Ee{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==J.boolean){let n=this._getOrReturnCtx(t);return V(n,{code:R.invalid_type,expected:J.boolean,received:n.parsedType}),fe}return sn(t.data)}};Ta.create=e=>new Ta({typeName:me.ZodBoolean,coerce:e?.coerce||!1,...xe(e)});var Ia=class e extends Ee{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==J.date){let s=this._getOrReturnCtx(t);return V(s,{code:R.invalid_type,expected:J.date,received:s.parsedType}),fe}if(Number.isNaN(t.data.getTime())){let s=this._getOrReturnCtx(t);return V(s,{code:R.invalid_date}),fe}let n=new qt,r;for(let s of this._def.checks)s.kind==="min"?t.data.getTime()<s.value&&(r=this._getOrReturnCtx(t,r),V(r,{code:R.too_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),n.dirty()):s.kind==="max"?t.data.getTime()>s.value&&(r=this._getOrReturnCtx(t,r),V(r,{code:R.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),n.dirty()):Me.assertNever(s);return{status:n.value,value:new Date(t.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:ie.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:ie.toString(n)})}get minDate(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t!=null?new Date(t):null}};Ia.create=e=>new Ia({checks:[],coerce:e?.coerce||!1,typeName:me.ZodDate,...xe(e)});var Ui=class extends Ee{_parse(t){if(this._getType(t)!==J.symbol){let n=this._getOrReturnCtx(t);return V(n,{code:R.invalid_type,expected:J.symbol,received:n.parsedType}),fe}return sn(t.data)}};Ui.create=e=>new Ui({typeName:me.ZodSymbol,...xe(e)});var Ea=class extends Ee{_parse(t){if(this._getType(t)!==J.undefined){let n=this._getOrReturnCtx(t);return V(n,{code:R.invalid_type,expected:J.undefined,received:n.parsedType}),fe}return sn(t.data)}};Ea.create=e=>new Ea({typeName:me.ZodUndefined,...xe(e)});var Aa=class extends Ee{_parse(t){if(this._getType(t)!==J.null){let n=this._getOrReturnCtx(t);return V(n,{code:R.invalid_type,expected:J.null,received:n.parsedType}),fe}return sn(t.data)}};Aa.create=e=>new Aa({typeName:me.ZodNull,...xe(e)});var Ps=class extends Ee{constructor(){super(...arguments),this._any=!0}_parse(t){return sn(t.data)}};Ps.create=e=>new Ps({typeName:me.ZodAny,...xe(e)});var fa=class extends Ee{constructor(){super(...arguments),this._unknown=!0}_parse(e){return sn(e.data)}};fa.create=e=>new fa({typeName:me.ZodUnknown,...xe(e)});var ts=class extends Ee{_parse(e){let t=this._getOrReturnCtx(e);return V(t,{code:R.invalid_type,expected:J.never,received:t.parsedType}),fe}};ts.create=e=>new ts({typeName:me.ZodNever,...xe(e)});var Di=class extends Ee{_parse(t){if(this._getType(t)!==J.undefined){let n=this._getOrReturnCtx(t);return V(n,{code:R.invalid_type,expected:J.void,received:n.parsedType}),fe}return sn(t.data)}};Di.create=e=>new Di({typeName:me.ZodVoid,...xe(e)});var $a=class yl extends Ee{_parse(t){let{ctx:n,status:r}=this._processInputParams(t),s=this._def;if(n.parsedType!==J.array)return V(n,{code:R.invalid_type,expected:J.array,received:n.parsedType}),fe;if(s.exactLength!==null){let i=n.data.length>s.exactLength.value,o=n.data.length<s.exactLength.value;(i||o)&&(V(n,{code:i?R.too_big:R.too_small,minimum:o?s.exactLength.value:void 0,maximum:i?s.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:s.exactLength.message}),r.dirty())}if(s.minLength!==null&&n.data.length<s.minLength.value&&(V(n,{code:R.too_small,minimum:s.minLength.value,type:"array",inclusive:!0,exact:!1,message:s.minLength.message}),r.dirty()),s.maxLength!==null&&n.data.length>s.maxLength.value&&(V(n,{code:R.too_big,maximum:s.maxLength.value,type:"array",inclusive:!0,exact:!1,message:s.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((i,o)=>s.type._parseAsync(new Vn(n,i,n.path,o)))).then(i=>qt.mergeArray(r,i));let a=[...n.data].map((i,o)=>s.type._parseSync(new Vn(n,i,n.path,o)));return qt.mergeArray(r,a)}get element(){return this._def.type}min(t,n){return new yl({...this._def,minLength:{value:t,message:ie.toString(n)}})}max(t,n){return new yl({...this._def,maxLength:{value:t,message:ie.toString(n)}})}length(t,n){return new yl({...this._def,exactLength:{value:t,message:ie.toString(n)}})}nonempty(t){return this.min(1,t)}};$a.create=(e,t)=>new $a({type:e,minLength:null,maxLength:null,exactLength:null,typeName:me.ZodArray,...xe(t)});function ti(e){if(e instanceof qn){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=Nr.create(ti(r))}return new qn({...e._def,shape:()=>t})}else return e instanceof $a?new $a({...e._def,type:ti(e.element)}):e instanceof Nr?Nr.create(ti(e.unwrap())):e instanceof Rs?Rs.create(ti(e.unwrap())):e instanceof Lr?Lr.create(e.items.map(t=>ti(t))):e}var qn=class tr extends Ee{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let t=this._def.shape(),n=Me.objectKeys(t);return this._cached={shape:t,keys:n},this._cached}_parse(t){if(this._getType(t)!==J.object){let c=this._getOrReturnCtx(t);return V(c,{code:R.invalid_type,expected:J.object,received:c.parsedType}),fe}let{status:n,ctx:r}=this._processInputParams(t),{shape:s,keys:a}=this._getCached(),i=[];if(!(this._def.catchall instanceof ts&&this._def.unknownKeys==="strip"))for(let c in r.data)a.includes(c)||i.push(c);let o=[];for(let c of a){let u=s[c],l=r.data[c];o.push({key:{status:"valid",value:c},value:u._parse(new Vn(r,l,r.path,c)),alwaysSet:c in r.data})}if(this._def.catchall instanceof ts){let c=this._def.unknownKeys;if(c==="passthrough")for(let u of i)o.push({key:{status:"valid",value:u},value:{status:"valid",value:r.data[u]}});else if(c==="strict")i.length>0&&(V(r,{code:R.unrecognized_keys,keys:i}),n.dirty());else if(c!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let c=this._def.catchall;for(let u of i){let l=r.data[u];o.push({key:{status:"valid",value:u},value:c._parse(new Vn(r,l,r.path,u)),alwaysSet:u in r.data})}}return r.common.async?Promise.resolve().then(async()=>{let c=[];for(let u of o){let l=await u.key,d=await u.value;c.push({key:l,value:d,alwaysSet:u.alwaysSet})}return c}).then(c=>qt.mergeObjectSync(n,c)):qt.mergeObjectSync(n,o)}get shape(){return this._def.shape()}strict(t){return ie.errToObj,new tr({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,r)=>{let s=this._def.errorMap?.(n,r).message??r.defaultError;return n.code==="unrecognized_keys"?{message:ie.errToObj(t).message??s}:{message:s}}}:{}})}strip(){return new tr({...this._def,unknownKeys:"strip"})}passthrough(){return new tr({...this._def,unknownKeys:"passthrough"})}extend(t){return new tr({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new tr({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:me.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new tr({...this._def,catchall:t})}pick(t){let n={};for(let r of Me.objectKeys(t))t[r]&&this.shape[r]&&(n[r]=this.shape[r]);return new tr({...this._def,shape:()=>n})}omit(t){let n={};for(let r of Me.objectKeys(this.shape))t[r]||(n[r]=this.shape[r]);return new tr({...this._def,shape:()=>n})}deepPartial(){return ti(this)}partial(t){let n={};for(let r of Me.objectKeys(this.shape)){let s=this.shape[r];t&&!t[r]?n[r]=s:n[r]=s.optional()}return new tr({...this._def,shape:()=>n})}required(t){let n={};for(let r of Me.objectKeys(this.shape))if(t&&!t[r])n[r]=this.shape[r];else{let s=this.shape[r];for(;s instanceof Nr;)s=s._def.innerType;n[r]=s}return new tr({...this._def,shape:()=>n})}keyof(){return RT(Me.objectKeys(this.shape))}};qn.create=(e,t)=>new qn({shape:()=>e,unknownKeys:"strip",catchall:ts.create(),typeName:me.ZodObject,...xe(t)});qn.strictCreate=(e,t)=>new qn({shape:()=>e,unknownKeys:"strict",catchall:ts.create(),typeName:me.ZodObject,...xe(t)});qn.lazycreate=(e,t)=>new qn({shape:e,unknownKeys:"strip",catchall:ts.create(),typeName:me.ZodObject,...xe(t)});var bc=class extends Ee{_parse(e){let{ctx:t}=this._processInputParams(e),n=this._def.options;function r(s){for(let i of s)if(i.result.status==="valid")return i.result;for(let i of s)if(i.result.status==="dirty")return t.common.issues.push(...i.ctx.common.issues),i.result;let a=s.map(i=>new hr(i.ctx.common.issues));return V(t,{code:R.invalid_union,unionErrors:a}),fe}if(t.common.async)return Promise.all(n.map(async s=>{let a={...t,common:{...t.common,issues:[]},parent:null};return{result:await s._parseAsync({data:t.data,path:t.path,parent:a}),ctx:a}})).then(r);{let s,a=[];for(let o of n){let c={...t,common:{...t.common,issues:[]},parent:null},u=o._parseSync({data:t.data,path:t.path,parent:c});if(u.status==="valid")return u;u.status==="dirty"&&!s&&(s={result:u,ctx:c}),c.common.issues.length&&a.push(c.common.issues)}if(s)return t.common.issues.push(...s.ctx.common.issues),s.result;let i=a.map(o=>new hr(o));return V(t,{code:R.invalid_union,unionErrors:i}),fe}}get options(){return this._def.options}};bc.create=(e,t)=>new bc({options:e,typeName:me.ZodUnion,...xe(t)});var cs=e=>e instanceof Ca?cs(e.schema):e instanceof Pn?cs(e.innerType()):e instanceof xc?[e.value]:e instanceof au?e.options:e instanceof Na?Me.objectValues(e.enum):e instanceof Oc?cs(e._def.innerType):e instanceof Ea?[void 0]:e instanceof Aa?[null]:e instanceof Nr?[void 0,...cs(e.unwrap())]:e instanceof Rs?[null,...cs(e.unwrap())]:e instanceof Tc||e instanceof Ec?cs(e.unwrap()):e instanceof Sc?cs(e._def.innerType):[],id=class e extends Ee{_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==J.object)return V(n,{code:R.invalid_type,expected:J.object,received:n.parsedType}),fe;let r=this.discriminator,s=n.data[r],a=this.optionsMap.get(s);return a?n.common.async?a._parseAsync({data:n.data,path:n.path,parent:n}):a._parseSync({data:n.data,path:n.path,parent:n}):(V(n,{code:R.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),fe)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){let s=new Map;for(let a of n){let i=cs(a.shape[t]);if(!i.length)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let o of i){if(s.has(o))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(o)}`);s.set(o,a)}}return new e({typeName:me.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:s,...xe(r)})}};function Eg(e,t){let n=Jr(e),r=Jr(t);if(e===t)return{valid:!0,data:e};if(n===J.object&&r===J.object){let s=Me.objectKeys(t),a=Me.objectKeys(e).filter(o=>s.indexOf(o)!==-1),i={...e,...t};for(let o of a){let c=Eg(e[o],t[o]);if(!c.valid)return{valid:!1};i[o]=c.data}return{valid:!0,data:i}}else if(n===J.array&&r===J.array){if(e.length!==t.length)return{valid:!1};let s=[];for(let a=0;a<e.length;a++){let i=e[a],o=t[a],c=Eg(i,o);if(!c.valid)return{valid:!1};s.push(c.data)}return{valid:!0,data:s}}else return n===J.date&&r===J.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}var kc=class extends Ee{_parse(e){let{status:t,ctx:n}=this._processInputParams(e),r=(s,a)=>{if(Sg(s)||Sg(a))return fe;let i=Eg(s.value,a.value);return i.valid?((Tg(s)||Tg(a))&&t.dirty(),{status:t.value,value:i.data}):(V(n,{code:R.invalid_intersection_types}),fe)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([s,a])=>r(s,a)):r(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};kc.create=(e,t,n)=>new kc({left:e,right:t,typeName:me.ZodIntersection,...xe(n)});var Lr=class e extends Ee{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==J.array)return V(r,{code:R.invalid_type,expected:J.array,received:r.parsedType}),fe;if(r.data.length<this._def.items.length)return V(r,{code:R.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),fe;!this._def.rest&&r.data.length>this._def.items.length&&(V(r,{code:R.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());let s=[...r.data].map((a,i)=>{let o=this._def.items[i]||this._def.rest;return o?o._parse(new Vn(r,a,r.path,i)):null}).filter(a=>!!a);return r.common.async?Promise.all(s).then(a=>qt.mergeArray(n,a)):qt.mergeArray(n,s)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};Lr.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Lr({items:e,typeName:me.ZodTuple,rest:null,...xe(t)})};var jT=class Ag extends Ee{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==J.object)return V(r,{code:R.invalid_type,expected:J.object,received:r.parsedType}),fe;let s=[],a=this._def.keyType,i=this._def.valueType;for(let o in r.data)s.push({key:a._parse(new Vn(r,o,r.path,o)),value:i._parse(new Vn(r,r.data[o],r.path,o)),alwaysSet:o in r.data});return r.common.async?qt.mergeObjectAsync(n,s):qt.mergeObjectSync(n,s)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof Ee?new Ag({keyType:t,valueType:n,typeName:me.ZodRecord,...xe(r)}):new Ag({keyType:zi.create(),valueType:t,typeName:me.ZodRecord,...xe(n)})}},Fi=class extends Ee{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==J.map)return V(r,{code:R.invalid_type,expected:J.map,received:r.parsedType}),fe;let s=this._def.keyType,a=this._def.valueType,i=[...r.data.entries()].map(([o,c],u)=>({key:s._parse(new Vn(r,o,r.path,[u,"key"])),value:a._parse(new Vn(r,c,r.path,[u,"value"]))}));if(r.common.async){let o=new Map;return Promise.resolve().then(async()=>{for(let c of i){let u=await c.key,l=await c.value;if(u.status==="aborted"||l.status==="aborted")return fe;(u.status==="dirty"||l.status==="dirty")&&n.dirty(),o.set(u.value,l.value)}return{status:n.value,value:o}})}else{let o=new Map;for(let c of i){let u=c.key,l=c.value;if(u.status==="aborted"||l.status==="aborted")return fe;(u.status==="dirty"||l.status==="dirty")&&n.dirty(),o.set(u.value,l.value)}return{status:n.value,value:o}}}};Fi.create=(e,t,n)=>new Fi({valueType:t,keyType:e,typeName:me.ZodMap,...xe(n)});var Bi=class e extends Ee{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==J.set)return V(r,{code:R.invalid_type,expected:J.set,received:r.parsedType}),fe;let s=this._def;s.minSize!==null&&r.data.size<s.minSize.value&&(V(r,{code:R.too_small,minimum:s.minSize.value,type:"set",inclusive:!0,exact:!1,message:s.minSize.message}),n.dirty()),s.maxSize!==null&&r.data.size>s.maxSize.value&&(V(r,{code:R.too_big,maximum:s.maxSize.value,type:"set",inclusive:!0,exact:!1,message:s.maxSize.message}),n.dirty());let a=this._def.valueType;function i(c){let u=new Set;for(let l of c){if(l.status==="aborted")return fe;l.status==="dirty"&&n.dirty(),u.add(l.value)}return{status:n.value,value:u}}let o=[...r.data.values()].map((c,u)=>a._parse(new Vn(r,c,r.path,u)));return r.common.async?Promise.all(o).then(c=>i(c)):i(o)}min(t,n){return new e({...this._def,minSize:{value:t,message:ie.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:ie.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}};Bi.create=(e,t)=>new Bi({valueType:e,minSize:null,maxSize:null,typeName:me.ZodSet,...xe(t)});var od=class e extends Ee{constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==J.function)return V(n,{code:R.invalid_type,expected:J.function,received:n.parsedType}),fe;function r(o,c){return sd({data:o,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,rd(),Li].filter(u=>!!u),issueData:{code:R.invalid_arguments,argumentsError:c}})}function s(o,c){return sd({data:o,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,rd(),Li].filter(u=>!!u),issueData:{code:R.invalid_return_type,returnTypeError:c}})}let a={errorMap:n.common.contextualErrorMap},i=n.data;if(this._def.returns instanceof js){let o=this;return sn(async function(...c){let u=new hr([]),l=await o._def.args.parseAsync(c,a).catch(p=>{throw u.addIssue(r(c,p)),u}),d=await Reflect.apply(i,this,l);return await o._def.returns._def.type.parseAsync(d,a).catch(p=>{throw u.addIssue(s(d,p)),u})})}else{let o=this;return sn(function(...c){let u=o._def.args.safeParse(c,a);if(!u.success)throw new hr([r(c,u.error)]);let l=Reflect.apply(i,this,u.data),d=o._def.returns.safeParse(l,a);if(!d.success)throw new hr([s(l,d.error)]);return d.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:Lr.create(t).rest(fa.create())})}returns(t){return new e({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,n,r){return new e({args:t||Lr.create([]).rest(fa.create()),returns:n||fa.create(),typeName:me.ZodFunction,...xe(r)})}},Ca=class extends Ee{get schema(){return this._def.getter()}_parse(t){let{ctx:n}=this._processInputParams(t);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}};Ca.create=(e,t)=>new Ca({getter:e,typeName:me.ZodLazy,...xe(t)});var xc=class extends Ee{_parse(e){if(e.data!==this._def.value){let t=this._getOrReturnCtx(e);return V(t,{received:t.data,code:R.invalid_literal,expected:this._def.value}),fe}return{status:"valid",value:e.data}}get value(){return this._def.value}};xc.create=(e,t)=>new xc({value:e,typeName:me.ZodLiteral,...xe(t)});function RT(e,t){return new au({values:e,typeName:me.ZodEnum,...xe(t)})}var au=class $g extends Ee{_parse(t){if(typeof t.data!="string"){let n=this._getOrReturnCtx(t),r=this._def.values;return V(n,{expected:Me.joinValues(r),received:n.parsedType,code:R.invalid_type}),fe}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){let n=this._getOrReturnCtx(t),r=this._def.values;return V(n,{received:n.data,code:R.invalid_enum_value,options:r}),fe}return sn(t.data)}get options(){return this._def.values}get enum(){let t={};for(let n of this._def.values)t[n]=n;return t}get Values(){let t={};for(let n of this._def.values)t[n]=n;return t}get Enum(){let t={};for(let n of this._def.values)t[n]=n;return t}extract(t,n=this._def){return $g.create(t,{...this._def,...n})}exclude(t,n=this._def){return $g.create(this.options.filter(r=>!t.includes(r)),{...this._def,...n})}};au.create=RT;var Na=class extends Ee{_parse(t){let n=Me.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==J.string&&r.parsedType!==J.number){let s=Me.objectValues(n);return V(r,{expected:Me.joinValues(s),received:r.parsedType,code:R.invalid_type}),fe}if(this._cache||(this._cache=new Set(Me.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let s=Me.objectValues(n);return V(r,{received:r.data,code:R.invalid_enum_value,options:s}),fe}return sn(t.data)}get enum(){return this._def.values}};Na.create=(e,t)=>new Na({values:e,typeName:me.ZodNativeEnum,...xe(t)});var js=class extends Ee{unwrap(){return this._def.type}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==J.promise&&n.common.async===!1)return V(n,{code:R.invalid_type,expected:J.promise,received:n.parsedType}),fe;let r=n.parsedType===J.promise?n.data:Promise.resolve(n.data);return sn(r.then(s=>this._def.type.parseAsync(s,{path:n.path,errorMap:n.common.contextualErrorMap})))}};js.create=(e,t)=>new js({type:e,typeName:me.ZodPromise,...xe(t)});var Pn=class extends Ee{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===me.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){let{status:n,ctx:r}=this._processInputParams(t),s=this._def.effect||null,a={addIssue:i=>{V(r,i),i.fatal?n.abort():n.dirty()},get path(){return r.path}};if(a.addIssue=a.addIssue.bind(a),s.type==="preprocess"){let i=s.transform(r.data,a);if(r.common.async)return Promise.resolve(i).then(async o=>{if(n.value==="aborted")return fe;let c=await this._def.schema._parseAsync({data:o,path:r.path,parent:r});return c.status==="aborted"?fe:c.status==="dirty"||n.value==="dirty"?ad(c.value):c});{if(n.value==="aborted")return fe;let o=this._def.schema._parseSync({data:i,path:r.path,parent:r});return o.status==="aborted"?fe:o.status==="dirty"||n.value==="dirty"?ad(o.value):o}}if(s.type==="refinement"){let i=o=>{let c=s.refinement(o,a);if(r.common.async)return Promise.resolve(c);if(c instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return o};if(r.common.async===!1){let o=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return o.status==="aborted"?fe:(o.status==="dirty"&&n.dirty(),i(o.value),{status:n.value,value:o.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(o=>o.status==="aborted"?fe:(o.status==="dirty"&&n.dirty(),i(o.value).then(()=>({status:n.value,value:o.value}))))}if(s.type==="transform")if(r.common.async===!1){let i=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!Oa(i))return fe;let o=s.transform(i.value,a);if(o instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:o}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(i=>Oa(i)?Promise.resolve(s.transform(i.value,a)).then(o=>({status:n.value,value:o})):fe);Me.assertNever(s)}};Pn.create=(e,t,n)=>new Pn({schema:e,typeName:me.ZodEffects,effect:t,...xe(n)});Pn.createWithPreprocess=(e,t,n)=>new Pn({schema:t,effect:{type:"preprocess",transform:e},typeName:me.ZodEffects,...xe(n)});var Nr=class extends Ee{_parse(e){return this._getType(e)===J.undefined?sn(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Nr.create=(e,t)=>new Nr({innerType:e,typeName:me.ZodOptional,...xe(t)});var Rs=class extends Ee{_parse(e){return this._getType(e)===J.null?sn(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Rs.create=(e,t)=>new Rs({innerType:e,typeName:me.ZodNullable,...xe(t)});var Oc=class extends Ee{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return t.parsedType===J.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}};Oc.create=(e,t)=>new Oc({innerType:e,typeName:me.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...xe(t)});var Sc=class extends Ee{_parse(e){let{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},r=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return vc(r)?r.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new hr(n.common.issues)},input:n.data})})):{status:"valid",value:r.status==="valid"?r.value:this._def.catchValue({get error(){return new hr(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};Sc.create=(e,t)=>new Sc({innerType:e,typeName:me.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...xe(t)});var Zi=class extends Ee{_parse(t){if(this._getType(t)!==J.nan){let n=this._getOrReturnCtx(t);return V(n,{code:R.invalid_type,expected:J.nan,received:n.parsedType}),fe}return{status:"valid",value:t.data}}};Zi.create=e=>new Zi({typeName:me.ZodNaN,...xe(e)});var WD=Symbol("zod_brand"),Tc=class extends Ee{_parse(t){let{ctx:n}=this._processInputParams(t),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}},Ic=class e extends Ee{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.common.async)return(async()=>{let s=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?fe:s.status==="dirty"?(n.dirty(),ad(s.value)):this._def.out._parseAsync({data:s.value,path:r.path,parent:r})})();{let s=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?fe:s.status==="dirty"?(n.dirty(),{status:"dirty",value:s.value}):this._def.out._parseSync({data:s.value,path:r.path,parent:r})}}static create(t,n){return new e({in:t,out:n,typeName:me.ZodPipeline})}},Ec=class extends Ee{_parse(e){let t=this._def.innerType._parse(e),n=r=>(Oa(r)&&(r.value=Object.freeze(r.value)),r);return vc(t)?t.then(r=>n(r)):n(t)}unwrap(){return this._def.innerType}};Ec.create=(e,t)=>new Ec({innerType:e,typeName:me.ZodReadonly,...xe(t)});function Fb(e,t){let n=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof n=="string"?{message:n}:n}function $_(e,t={},n){return e?Ps.create().superRefine((r,s)=>{let a=e(r);if(a instanceof Promise)return a.then(i=>{if(!i){let o=Fb(t,r),c=o.fatal??n??!0;s.addIssue({code:"custom",...o,fatal:c})}});if(!a){let i=Fb(t,r),o=i.fatal??n??!0;s.addIssue({code:"custom",...i,fatal:o})}}):Ps.create()}var JD={object:qn.lazycreate},me;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(me||(me={}));var GD=(e,t={message:`Input not instance of ${e.name}`})=>$_(n=>n instanceof e,t),dn=zi.create,Jo=wc.create,KD=Zi.create,XD=Sa.create,MT=Ta.create,YD=Ia.create,QD=Ui.create,e3=Ea.create,t3=Aa.create,n3=Ps.create,r3=fa.create,s3=ts.create,a3=Di.create,hi=$a.create,hs=qn.create,i3=qn.strictCreate,o3=bc.create,c3=id.create,u3=kc.create,l3=Lr.create,d3=jT.create,p3=Fi.create,h3=Bi.create,f3=od.create,m3=Ca.create,$o=xc.create,g3=au.create,y3=Na.create,_3=js.create,Bb=Pn.create,v3=Nr.create,w3=Rs.create,b3=Pn.createWithPreprocess,k3=Ic.create,x3=()=>dn().optional(),O3=()=>Jo().optional(),S3=()=>MT().optional(),T3={string:(e=>zi.create({...e,coerce:!0})),number:(e=>wc.create({...e,coerce:!0})),boolean:(e=>Ta.create({...e,coerce:!0})),bigint:(e=>Sa.create({...e,coerce:!0})),date:(e=>Ia.create({...e,coerce:!0}))},I3=fe,or=Object.freeze(Object.defineProperty({__proto__:null,BRAND:WD,DIRTY:ad,EMPTY_PATH:SD,INVALID:fe,NEVER:I3,OK:sn,ParseStatus:qt,Schema:Ee,ZodAny:Ps,ZodArray:$a,ZodBigInt:Sa,ZodBoolean:Ta,ZodBranded:Tc,ZodCatch:Sc,ZodDate:Ia,ZodDefault:Oc,ZodDiscriminatedUnion:id,ZodEffects:Pn,ZodEnum:au,ZodError:hr,get ZodFirstPartyTypeKind(){return me},ZodFunction:od,ZodIntersection:kc,ZodIssueCode:R,ZodLazy:Ca,ZodLiteral:xc,ZodMap:Fi,ZodNaN:Zi,ZodNativeEnum:Na,ZodNever:ts,ZodNull:Aa,ZodNullable:Rs,ZodNumber:wc,ZodObject:qn,ZodOptional:Nr,ZodParsedType:J,ZodPipeline:Ic,ZodPromise:js,ZodReadonly:Ec,ZodRecord:jT,ZodSchema:Ee,ZodSet:Bi,ZodString:zi,ZodSymbol:Ui,ZodTransformer:Pn,ZodTuple:Lr,ZodType:Ee,ZodUndefined:Ea,ZodUnion:bc,ZodUnknown:fa,ZodVoid:Di,addIssueToContext:V,any:n3,array:hi,bigint:XD,boolean:MT,coerce:T3,custom:$_,date:YD,datetimeRegex:PT,defaultErrorMap:Li,discriminatedUnion:c3,effect:Bb,enum:g3,function:f3,getErrorMap:rd,getParsedType:Jr,instanceof:GD,intersection:u3,isAborted:Sg,isAsync:vc,isDirty:Tg,isValid:Oa,late:JD,lazy:m3,literal:$o,makeIssue:sd,map:p3,nan:KD,nativeEnum:y3,never:s3,null:t3,nullable:w3,number:Jo,object:hs,get objectUtil(){return Og},oboolean:S3,onumber:O3,optional:v3,ostring:x3,pipeline:k3,preprocess:b3,promise:_3,quotelessJson:xD,record:d3,set:h3,setErrorMap:OD,strictObject:i3,string:dn,symbol:QD,transformer:Bb,tuple:l3,undefined:e3,union:o3,unknown:r3,get util(){return Me},void:a3},Symbol.toStringTag,{value:"Module"}));Bt.Root({messages:Bt({reducer:uo,default:()=>[]})});var E3={reducer:{fn:uo},jsonSchemaExtra:{langgraph_type:"messages"},default:()=>[]};hs({messages:yD($_(),E3)});async function A3(e,t,n){if(n===void 0)throw new Error(["Unable to dispatch a custom event without a parent run id.",'"dispatchCustomEvent" can only be called from within an existing run (e.g.,',"inside a tool or a RunnableLambda).",`
267
+
268
+ If you continue to see this error, please import from "@langchain/core/callbacks/dispatch/web"`,"and explicitly pass in a config parameter.",`
269
+
270
+ Or, if you are calling this from a custom tool, ensure you're using the "tool" helper constructor as documented here:`,`
271
+ |`,`
272
+ \u2514-> https://js.langchain.com/docs/how_to/custom_tools#tool-function`,`
273
+ `].join(" "));let r=await rn(n),s=r?.getParentRunId();r!==void 0&&s!==void 0&&await r.handleCustomEvent?.(e,t,s)}function Uu(e,t){return e.lc_error_code=t,e.message=`${e.message}
274
+
275
+ Troubleshooting URL: https://docs.langchain.com/oss/javascript/langchain/errors/${t}/
276
+ `,e}function ge(e,t,n,r,s){if(typeof t=="function"?e!==t||!0:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return t.set(e,n),n}function S(e,t,n,r){if(n==="a"&&!r)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return n==="m"?r:n==="a"?r.call(e):r?r.value:t.get(e)}var LT=function(){let{crypto:e}=globalThis;if(e?.randomUUID)return LT=e.randomUUID.bind(e),e.randomUUID();let t=new Uint8Array(1),n=e?()=>e.getRandomValues(t)[0]:()=>Math.random()*255&255;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,r=>(+r^n()&15>>+r/4).toString(16))};function Cg(e){return typeof e=="object"&&e!==null&&("name"in e&&e.name==="AbortError"||"message"in e&&String(e.message).includes("FetchRequestCanceledException"))}var Ng=e=>{if(e instanceof Error)return e;if(typeof e=="object"&&e!==null){try{if(Object.prototype.toString.call(e)==="[object Error]"){let t=new Error(e.message,e.cause?{cause:e.cause}:{});return e.stack&&(t.stack=e.stack),e.cause&&!t.cause&&(t.cause=e.cause),e.name&&(t.name=e.name),t}}catch{}try{return new Error(JSON.stringify(e))}catch{}}return new Error(e)},le=class extends Error{},Ht=class e extends le{constructor(t,n,r,s){super(`${e.makeMessage(t,n,r)}`),this.status=t,this.headers=s,this.requestID=s?.get("x-request-id"),this.error=n;let a=n;this.code=a?.code,this.param=a?.param,this.type=a?.type}static makeMessage(t,n,r){let s=n?.message?typeof n.message=="string"?n.message:JSON.stringify(n.message):n?JSON.stringify(n):r;return t&&s?`${t} ${s}`:t?`${t} status code (no body)`:s||"(no status code or body)"}static generate(t,n,r,s){if(!t||!s)return new Vi({message:r,cause:Ng(n)});let a=n?.error;return t===400?new cd(t,a,r,s):t===401?new ud(t,a,r,s):t===403?new ld(t,a,r,s):t===404?new dd(t,a,r,s):t===409?new pd(t,a,r,s):t===422?new hd(t,a,r,s):t===429?new fd(t,a,r,s):t>=500?new md(t,a,r,s):new e(t,a,r,s)}},en=class extends Ht{constructor({message:t}={}){super(void 0,void 0,t||"Request was aborted.",void 0)}},Vi=class extends Ht{constructor({message:t,cause:n}){super(void 0,void 0,t||"Connection error.",void 0),n&&(this.cause=n)}},qi=class extends Vi{constructor({message:t}={}){super({message:t??"Request timed out."})}},cd=class extends Ht{},ud=class extends Ht{},ld=class extends Ht{},dd=class extends Ht{},pd=class extends Ht{},hd=class extends Ht{},fd=class extends Ht{},md=class extends Ht{},gd=class extends le{constructor(){super("Could not parse response content as the length limit was reached")}},yd=class extends le{constructor(){super("Could not parse response content as the request was rejected by the content filter")}},aa=class extends Error{constructor(t){super(t)}},$3=/^[a-z][a-z0-9+.-]*:/i,C3=e=>$3.test(e),pn=e=>(pn=Array.isArray,pn(e)),Zb=pn;function zT(e){return typeof e!="object"?{}:e??{}}function Vb(e){if(!e)return!0;for(let t in e)return!1;return!0}function N3(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Df(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}var P3=(e,t)=>{if(typeof t!="number"||!Number.isInteger(t))throw new le(`${e} must be an integer`);if(t<0)throw new le(`${e} must be a positive integer`);return t},j3=e=>{try{return JSON.parse(e)}catch{return}},iu=e=>new Promise(t=>setTimeout(t,e)),ni="6.31.0",R3=()=>typeof window<"u"&&typeof window.document<"u"&&typeof navigator<"u";function M3(){return typeof Deno<"u"&&Deno.build!=null?"deno":typeof EdgeRuntime<"u"?"edge":Object.prototype.toString.call(typeof globalThis.process<"u"?globalThis.process:0)==="[object process]"?"node":"unknown"}var L3=()=>{let e=M3();if(e==="deno")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":ni,"X-Stainless-OS":Hb(Deno.build.os),"X-Stainless-Arch":qb(Deno.build.arch),"X-Stainless-Runtime":"deno","X-Stainless-Runtime-Version":typeof Deno.version=="string"?Deno.version:Deno.version?.deno??"unknown"};if(typeof EdgeRuntime<"u")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":ni,"X-Stainless-OS":"Unknown","X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":"edge","X-Stainless-Runtime-Version":globalThis.process.version};if(e==="node")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":ni,"X-Stainless-OS":Hb(globalThis.process.platform??"unknown"),"X-Stainless-Arch":qb(globalThis.process.arch??"unknown"),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":globalThis.process.version??"unknown"};let t=z3();return t?{"X-Stainless-Lang":"js","X-Stainless-Package-Version":ni,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${t.browser}`,"X-Stainless-Runtime-Version":t.version}:{"X-Stainless-Lang":"js","X-Stainless-Package-Version":ni,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}};function z3(){if(typeof navigator>"u"||!navigator)return null;let e=[{key:"edge",pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"chrome",pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"firefox",pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"safari",pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}];for(let{key:t,pattern:n}of e){let r=n.exec(navigator.userAgent);if(r){let s=r[1]||0,a=r[2]||0,i=r[3]||0;return{browser:t,version:`${s}.${a}.${i}`}}}return null}var qb=e=>e==="x32"?"x32":e==="x86_64"||e==="x64"?"x64":e==="arm"?"arm":e==="aarch64"||e==="arm64"?"arm64":e?`other:${e}`:"unknown",Hb=e=>(e=e.toLowerCase(),e.includes("ios")?"iOS":e==="android"?"Android":e==="darwin"?"MacOS":e==="win32"?"Windows":e==="freebsd"?"FreeBSD":e==="openbsd"?"OpenBSD":e==="linux"?"Linux":e?`Other:${e}`:"Unknown"),Wb,U3=()=>Wb??(Wb=L3());function D3(){if(typeof fetch<"u")return fetch;throw new Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new OpenAI({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function UT(...e){let t=globalThis.ReadableStream;if(typeof t>"u")throw new Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new t(...e)}function DT(e){let t=Symbol.asyncIterator in e?e[Symbol.asyncIterator]():e[Symbol.iterator]();return UT({start(){},async pull(n){let{done:r,value:s}=await t.next();r?n.close():n.enqueue(s)},async cancel(){await t.return?.()}})}function FT(e){if(e[Symbol.asyncIterator])return e;let t=e.getReader();return{async next(){try{let n=await t.read();return n?.done&&t.releaseLock(),n}catch(n){throw t.releaseLock(),n}},async return(){let n=t.cancel();return t.releaseLock(),await n,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function F3(e){if(e===null||typeof e!="object")return;if(e[Symbol.asyncIterator]){await e[Symbol.asyncIterator]().return?.();return}let t=e.getReader(),n=t.cancel();t.releaseLock(),await n}var B3=({headers:e,body:t})=>({bodyHeaders:{"content-type":"application/json"},body:JSON.stringify(t)}),BT="RFC3986",ZT=e=>String(e),Jb={RFC1738:e=>String(e).replace(/%20/g,"+"),RFC3986:ZT},Z3="RFC1738",Pg=(e,t)=>(Pg=Object.hasOwn??Function.prototype.call.bind(Object.prototype.hasOwnProperty),Pg(e,t)),br=(()=>{let e=[];for(let t=0;t<256;++t)e.push("%"+((t<16?"0":"")+t.toString(16)).toUpperCase());return e})(),Ff=1024,V3=(e,t,n,r,s)=>{if(e.length===0)return e;let a=e;if(typeof e=="symbol"?a=Symbol.prototype.toString.call(e):typeof e!="string"&&(a=String(e)),n==="iso-8859-1")return escape(a).replace(/%u[0-9a-f]{4}/gi,function(o){return"%26%23"+parseInt(o.slice(2),16)+"%3B"});let i="";for(let o=0;o<a.length;o+=Ff){let c=a.length>=Ff?a.slice(o,o+Ff):a,u=[];for(let l=0;l<c.length;++l){let d=c.charCodeAt(l);if(d===45||d===46||d===95||d===126||d>=48&&d<=57||d>=65&&d<=90||d>=97&&d<=122||s===Z3&&(d===40||d===41)){u[u.length]=c.charAt(l);continue}if(d<128){u[u.length]=br[d];continue}if(d<2048){u[u.length]=br[192|d>>6]+br[128|d&63];continue}if(d<55296||d>=57344){u[u.length]=br[224|d>>12]+br[128|d>>6&63]+br[128|d&63];continue}l+=1,d=65536+((d&1023)<<10|c.charCodeAt(l)&1023),u[u.length]=br[240|d>>18]+br[128|d>>12&63]+br[128|d>>6&63]+br[128|d&63]}i+=u.join("")}return i};function q3(e){return!e||typeof e!="object"?!1:!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))}function Gb(e,t){if(pn(e)){let n=[];for(let r=0;r<e.length;r+=1)n.push(t(e[r]));return n}return t(e)}var VT={brackets(e){return String(e)+"[]"},comma:"comma",indices(e,t){return String(e)+"["+t+"]"},repeat(e){return String(e)}},qT=function(e,t){Array.prototype.push.apply(e,pn(t)?t:[t])},Kb,xt={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:V3,encodeValuesOnly:!1,format:BT,formatter:ZT,indices:!1,serializeDate(e){return(Kb??(Kb=Function.prototype.call.bind(Date.prototype.toISOString)))(e)},skipNulls:!1,strictNullHandling:!1};function H3(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"||typeof e=="symbol"||typeof e=="bigint"}var Bf={};function HT(e,t,n,r,s,a,i,o,c,u,l,d,p,h,f,m,v,g){let y=e,k=g,x=0,T=!1;for(;(k=k.get(Bf))!==void 0&&!T;){let E=k.get(e);if(x+=1,typeof E<"u"){if(E===x)throw new RangeError("Cyclic object value");T=!0}typeof k.get(Bf)>"u"&&(x=0)}if(typeof u=="function"?y=u(t,y):y instanceof Date?y=p?.(y):n==="comma"&&pn(y)&&(y=Gb(y,function(E){return E instanceof Date?p?.(E):E})),y===null){if(a)return c&&!m?c(t,xt.encoder,v,"key",h):t;y=""}if(H3(y)||q3(y)){if(c){let E=m?t:c(t,xt.encoder,v,"key",h);return[f?.(E)+"="+f?.(c(y,xt.encoder,v,"value",h))]}return[f?.(t)+"="+f?.(String(y))]}let A=[];if(typeof y>"u")return A;let I;if(n==="comma"&&pn(y))m&&c&&(y=Gb(y,c)),I=[{value:y.length>0?y.join(",")||null:void 0}];else if(pn(u))I=u;else{let E=Object.keys(y);I=l?E.sort(l):E}let w=o?String(t).replace(/\./g,"%2E"):String(t),P=r&&pn(y)&&y.length===1?w+"[]":w;if(s&&pn(y)&&y.length===0)return P+"[]";for(let E=0;E<I.length;++E){let Z=I[E],Ue=typeof Z=="object"&&typeof Z.value<"u"?Z.value:y[Z];if(i&&Ue===null)continue;let it=d&&o?Z.replace(/\./g,"%2E"):Z,B=pn(y)?typeof n=="function"?n(P,it):P:P+(d?"."+it:"["+it+"]");g.set(e,x);let L=new WeakMap;L.set(Bf,g),qT(A,HT(Ue,B,n,r,s,a,i,o,n==="comma"&&m&&pn(y)?null:c,u,l,d,p,h,f,m,v,L))}return A}function W3(e=xt){if(typeof e.allowEmptyArrays<"u"&&typeof e.allowEmptyArrays!="boolean")throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof e.encodeDotInKeys<"u"&&typeof e.encodeDotInKeys!="boolean")throw new TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if(e.encoder!==null&&typeof e.encoder<"u"&&typeof e.encoder!="function")throw new TypeError("Encoder has to be a function.");let t=e.charset||xt.charset;if(typeof e.charset<"u"&&e.charset!=="utf-8"&&e.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");let n=BT;if(typeof e.format<"u"){if(!Pg(Jb,e.format))throw new TypeError("Unknown format option provided.");n=e.format}let r=Jb[n],s=xt.filter;(typeof e.filter=="function"||pn(e.filter))&&(s=e.filter);let a;if(e.arrayFormat&&e.arrayFormat in VT?a=e.arrayFormat:"indices"in e?a=e.indices?"indices":"repeat":a=xt.arrayFormat,"commaRoundTrip"in e&&typeof e.commaRoundTrip!="boolean")throw new TypeError("`commaRoundTrip` must be a boolean, or absent");let i=typeof e.allowDots>"u"?e.encodeDotInKeys?!0:xt.allowDots:!!e.allowDots;return{addQueryPrefix:typeof e.addQueryPrefix=="boolean"?e.addQueryPrefix:xt.addQueryPrefix,allowDots:i,allowEmptyArrays:typeof e.allowEmptyArrays=="boolean"?!!e.allowEmptyArrays:xt.allowEmptyArrays,arrayFormat:a,charset:t,charsetSentinel:typeof e.charsetSentinel=="boolean"?e.charsetSentinel:xt.charsetSentinel,commaRoundTrip:!!e.commaRoundTrip,delimiter:typeof e.delimiter>"u"?xt.delimiter:e.delimiter,encode:typeof e.encode=="boolean"?e.encode:xt.encode,encodeDotInKeys:typeof e.encodeDotInKeys=="boolean"?e.encodeDotInKeys:xt.encodeDotInKeys,encoder:typeof e.encoder=="function"?e.encoder:xt.encoder,encodeValuesOnly:typeof e.encodeValuesOnly=="boolean"?e.encodeValuesOnly:xt.encodeValuesOnly,filter:s,format:n,formatter:r,serializeDate:typeof e.serializeDate=="function"?e.serializeDate:xt.serializeDate,skipNulls:typeof e.skipNulls=="boolean"?e.skipNulls:xt.skipNulls,sort:typeof e.sort=="function"?e.sort:null,strictNullHandling:typeof e.strictNullHandling=="boolean"?e.strictNullHandling:xt.strictNullHandling}}function J3(e,t={}){let n=e,r=W3(t),s,a;typeof r.filter=="function"?(a=r.filter,n=a("",n)):pn(r.filter)&&(a=r.filter,s=a);let i=[];if(typeof n!="object"||n===null)return"";let o=VT[r.arrayFormat],c=o==="comma"&&r.commaRoundTrip;s||(s=Object.keys(n)),r.sort&&s.sort(r.sort);let u=new WeakMap;for(let p=0;p<s.length;++p){let h=s[p];r.skipNulls&&n[h]===null||qT(i,HT(n[h],h,o,c,r.allowEmptyArrays,r.strictNullHandling,r.skipNulls,r.encodeDotInKeys,r.encode?r.encoder:null,r.filter,r.sort,r.allowDots,r.serializeDate,r.format,r.formatter,r.encodeValuesOnly,r.charset,u))}let l=i.join(r.delimiter),d=r.addQueryPrefix===!0?"?":"";return r.charsetSentinel&&(r.charset==="iso-8859-1"?d+="utf8=%26%2310003%3B&":d+="utf8=%E2%9C%93&"),l.length>0?d+l:""}function G3(e){return J3(e,{arrayFormat:"brackets"})}function K3(e){let t=0;for(let s of e)t+=s.length;let n=new Uint8Array(t),r=0;for(let s of e)n.set(s,r),r+=s.length;return n}var Xb;function C_(e){let t;return(Xb??(t=new globalThis.TextEncoder,Xb=t.encode.bind(t)))(e)}var Yb;function Qb(e){let t;return(Yb??(t=new globalThis.TextDecoder,Yb=t.decode.bind(t)))(e)}var Sn,Tn,Hi=class{constructor(){Sn.set(this,void 0),Tn.set(this,void 0),ge(this,Sn,new Uint8Array),ge(this,Tn,null)}decode(t){if(t==null)return[];let n=t instanceof ArrayBuffer?new Uint8Array(t):typeof t=="string"?C_(t):t;ge(this,Sn,K3([S(this,Sn,"f"),n]));let r=[],s;for(;(s=X3(S(this,Sn,"f"),S(this,Tn,"f")))!=null;){if(s.carriage&&S(this,Tn,"f")==null){ge(this,Tn,s.index);continue}if(S(this,Tn,"f")!=null&&(s.index!==S(this,Tn,"f")+1||s.carriage)){r.push(Qb(S(this,Sn,"f").subarray(0,S(this,Tn,"f")-1))),ge(this,Sn,S(this,Sn,"f").subarray(S(this,Tn,"f"))),ge(this,Tn,null);continue}let a=S(this,Tn,"f")!==null?s.preceding-1:s.preceding,i=Qb(S(this,Sn,"f").subarray(0,a));r.push(i),ge(this,Sn,S(this,Sn,"f").subarray(s.index)),ge(this,Tn,null)}return r}flush(){return S(this,Sn,"f").length?this.decode(`
277
+ `):[]}};Sn=new WeakMap,Tn=new WeakMap;Hi.NEWLINE_CHARS=new Set([`
278
+ `,"\r"]);Hi.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function X3(e,t){for(let n=t??0;n<e.length;n++){if(e[n]===10)return{preceding:n,index:n+1,carriage:!1};if(e[n]===13)return{preceding:n,index:n+1,carriage:!0}}return null}function Y3(e){for(let t=0;t<e.length-1;t++){if(e[t]===10&&e[t+1]===10||e[t]===13&&e[t+1]===13)return t+2;if(e[t]===13&&e[t+1]===10&&t+3<e.length&&e[t+2]===13&&e[t+3]===10)return t+4}return-1}var _d={off:0,error:200,warn:300,info:400,debug:500},e1=(e,t,n)=>{if(e){if(N3(_d,e))return e;Pt(n).warn(`${t} was set to ${JSON.stringify(e)}, expected one of ${JSON.stringify(Object.keys(_d))}`)}};function Co(){}function Du(e,t,n){return!t||_d[e]>_d[n]?Co:t[e].bind(t)}var Q3={error:Co,warn:Co,info:Co,debug:Co},t1=new WeakMap;function Pt(e){let t=e.logger,n=e.logLevel??"off";if(!t)return Q3;let r=t1.get(t);if(r&&r[0]===n)return r[1];let s={error:Du("error",t,n),warn:Du("warn",t,n),info:Du("info",t,n),debug:Du("debug",t,n)};return t1.set(t,[n,s]),s}var Ys=e=>(e.options&&(e.options={...e.options},delete e.options.headers),e.headers&&(e.headers=Object.fromEntries((e.headers instanceof Headers?[...e.headers]:Object.entries(e.headers)).map(([t,n])=>[t,t.toLowerCase()==="authorization"||t.toLowerCase()==="cookie"||t.toLowerCase()==="set-cookie"?"***":n]))),"retryOfRequestLogID"in e&&(e.retryOfRequestLogID&&(e.retryOf=e.retryOfRequestLogID),delete e.retryOfRequestLogID),e),vo,Pa=class e{constructor(t,n,r){this.iterator=t,vo.set(this,void 0),this.controller=n,ge(this,vo,r)}static fromSSEResponse(t,n,r,s){let a=!1,i=r?Pt(r):console;async function*o(){if(a)throw new le("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");a=!0;let c=!1;try{for await(let u of eF(t,n))if(!c){if(u.data.startsWith("[DONE]")){c=!0;continue}if(u.event===null||!u.event.startsWith("thread.")){let l;try{l=JSON.parse(u.data)}catch(d){throw i.error("Could not parse message into JSON:",u.data),i.error("From chunk:",u.raw),d}if(l&&l.error)throw new Ht(void 0,l.error,void 0,t.headers);yield s?{event:u.event,data:l}:l}else{let l;try{l=JSON.parse(u.data)}catch(d){throw console.error("Could not parse message into JSON:",u.data),console.error("From chunk:",u.raw),d}if(u.event=="error")throw new Ht(void 0,l.error,l.message,void 0);yield{event:u.event,data:l}}}c=!0}catch(u){if(Cg(u))return;throw u}finally{c||n.abort()}}return new e(o,n,r)}static fromReadableStream(t,n,r){let s=!1;async function*a(){let o=new Hi,c=FT(t);for await(let u of c)for(let l of o.decode(u))yield l;for(let u of o.flush())yield u}async function*i(){if(s)throw new le("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");s=!0;let o=!1;try{for await(let c of a())o||c&&(yield JSON.parse(c));o=!0}catch(c){if(Cg(c))return;throw c}finally{o||n.abort()}}return new e(i,n,r)}[(vo=new WeakMap,Symbol.asyncIterator)](){return this.iterator()}tee(){let t=[],n=[],r=this.iterator(),s=a=>({next:()=>{if(a.length===0){let i=r.next();t.push(i),n.push(i)}return a.shift()}});return[new e(()=>s(t),this.controller,S(this,vo,"f")),new e(()=>s(n),this.controller,S(this,vo,"f"))]}toReadableStream(){let t=this,n;return UT({async start(){n=t[Symbol.asyncIterator]()},async pull(r){try{let{value:s,done:a}=await n.next();if(a)return r.close();let i=C_(JSON.stringify(s)+`
279
+ `);r.enqueue(i)}catch(s){r.error(s)}},async cancel(){await n.return?.()}})}};async function*eF(e,t){if(!e.body)throw t.abort(),typeof globalThis.navigator<"u"&&globalThis.navigator.product==="ReactNative"?new le("The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api"):new le("Attempted to iterate over a response with no body");let n=new jg,r=new Hi,s=FT(e.body);for await(let a of tF(s))for(let i of r.decode(a)){let o=n.decode(i);o&&(yield o)}for(let a of r.flush()){let i=n.decode(a);i&&(yield i)}}async function*tF(e){let t=new Uint8Array;for await(let n of e){if(n==null)continue;let r=n instanceof ArrayBuffer?new Uint8Array(n):typeof n=="string"?C_(n):n,s=new Uint8Array(t.length+r.length);s.set(t),s.set(r,t.length),t=s;let a;for(;(a=Y3(t))!==-1;)yield t.slice(0,a),t=t.slice(a)}t.length>0&&(yield t)}var jg=class{constructor(){this.event=null,this.data=[],this.chunks=[]}decode(t){if(t.endsWith("\r")&&(t=t.substring(0,t.length-1)),!t){if(!this.event&&!this.data.length)return null;let a={event:this.event,data:this.data.join(`
280
+ `),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],a}if(this.chunks.push(t),t.startsWith(":"))return null;let[n,r,s]=nF(t,":");return s.startsWith(" ")&&(s=s.substring(1)),n==="event"?this.event=s:n==="data"&&this.data.push(s),null}};function nF(e,t){let n=e.indexOf(t);return n!==-1?[e.substring(0,n),t,e.substring(n+t.length)]:[e,"",""]}async function WT(e,t){let{response:n,requestLogID:r,retryOfRequestLogID:s,startTime:a}=t,i=await(async()=>{if(t.options.stream)return Pt(e).debug("response",n.status,n.url,n.headers,n.body),t.options.__streamClass?t.options.__streamClass.fromSSEResponse(n,t.controller,e,t.options.__synthesizeEventData):Pa.fromSSEResponse(n,t.controller,e,t.options.__synthesizeEventData);if(n.status===204)return null;if(t.options.__binaryResponse)return n;let o=n.headers.get("content-type")?.split(";")[0]?.trim();if(o?.includes("application/json")||o?.endsWith("+json")){if(n.headers.get("content-length")==="0")return;let c=await n.json();return JT(c,n)}return await n.text()})();return Pt(e).debug(`[${r}] response parsed`,Ys({retryOfRequestLogID:s,url:n.url,status:n.status,body:i,durationMs:Date.now()-a})),i}function JT(e,t){return!e||typeof e!="object"||Array.isArray(e)?e:Object.defineProperty(e,"_request_id",{value:t.headers.get("x-request-id"),enumerable:!1})}var No,vd=class e extends Promise{constructor(t,n,r=WT){super(s=>{s(null)}),this.responsePromise=n,this.parseResponse=r,No.set(this,void 0),ge(this,No,t)}_thenUnwrap(t){return new e(S(this,No,"f"),this.responsePromise,async(n,r)=>JT(t(await this.parseResponse(n,r),r),r.response))}asResponse(){return this.responsePromise.then(t=>t.response)}async withResponse(){let[t,n]=await Promise.all([this.parse(),this.asResponse()]);return{data:t,response:n,request_id:n.headers.get("x-request-id")}}parse(){return this.parsedPromise||(this.parsedPromise=this.responsePromise.then(t=>this.parseResponse(S(this,No,"f"),t))),this.parsedPromise}then(t,n){return this.parse().then(t,n)}catch(t){return this.parse().catch(t)}finally(t){return this.parse().finally(t)}};No=new WeakMap;var Fu,Ac=class{constructor(t,n,r,s){Fu.set(this,void 0),ge(this,Fu,t),this.options=s,this.response=n,this.body=r}hasNextPage(){return this.getPaginatedItems().length?this.nextPageRequestOptions()!=null:!1}async getNextPage(){let t=this.nextPageRequestOptions();if(!t)throw new le("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.");return await S(this,Fu,"f").requestAPIList(this.constructor,t)}async*iterPages(){let t=this;for(yield t;t.hasNextPage();)t=await t.getNextPage(),yield t}async*[(Fu=new WeakMap,Symbol.asyncIterator)](){for await(let t of this.iterPages())for(let n of t.getPaginatedItems())yield n}},Rg=class extends vd{constructor(t,n,r){super(t,n,async(s,a)=>new r(s,a.response,await WT(s,a),a.options))}async*[Symbol.asyncIterator](){let t=await this;for await(let n of t)yield n}},Wi=class extends Ac{constructor(t,n,r,s){super(t,n,r,s),this.data=r.data||[],this.object=r.object}getPaginatedItems(){return this.data??[]}nextPageRequestOptions(){return null}},ct=class extends Ac{constructor(t,n,r,s){super(t,n,r,s),this.data=r.data||[],this.has_more=r.has_more||!1}getPaginatedItems(){return this.data??[]}hasNextPage(){return this.has_more===!1?!1:super.hasNextPage()}nextPageRequestOptions(){let t=this.getPaginatedItems(),n=t[t.length-1]?.id;return n?{...this.options,query:{...zT(this.options.query),after:n}}:null}},ja=class extends Ac{constructor(t,n,r,s){super(t,n,r,s),this.data=r.data||[],this.has_more=r.has_more||!1,this.last_id=r.last_id||""}getPaginatedItems(){return this.data??[]}hasNextPage(){return this.has_more===!1?!1:super.hasNextPage()}nextPageRequestOptions(){let t=this.last_id;return t?{...this.options,query:{...zT(this.options.query),after:t}}:null}},GT=()=>{if(typeof File>"u"){let{process:e}=globalThis,t=typeof e?.versions?.node=="string"&&parseInt(e.versions.node.split("."))<20;throw new Error("`File` is not defined as a global, which is required for file uploads."+(t?" Update to Node 20 LTS or newer, or set `globalThis.File` to `import('node:buffer').File`.":""))}};function Go(e,t,n){return GT(),new File(e,t??"unknown_file",n)}function _l(e){return(typeof e=="object"&&e!==null&&("name"in e&&e.name&&String(e.name)||"url"in e&&e.url&&String(e.url)||"filename"in e&&e.filename&&String(e.filename)||"path"in e&&e.path&&String(e.path))||"").split(/[\\/]/).pop()||void 0}var N_=e=>e!=null&&typeof e=="object"&&typeof e[Symbol.asyncIterator]=="function",Jp=async(e,t)=>Mg(e.body)?{...e,body:await KT(e.body,t)}:e,Ar=async(e,t)=>({...e,body:await KT(e.body,t)}),n1=new WeakMap;function rF(e){let t=typeof e=="function"?e:e.fetch,n=n1.get(t);if(n)return n;let r=(async()=>{try{let s="Response"in t?t.Response:(await t("data:,")).constructor,a=new FormData;return a.toString()!==await new s(a).text()}catch{return!0}})();return n1.set(t,r),r}var KT=async(e,t)=>{if(!await rF(t))throw new TypeError("The provided fetch function does not support file uploads with the current global FormData class.");let n=new FormData;return await Promise.all(Object.entries(e||{}).map(([r,s])=>Lg(n,r,s))),n},XT=e=>e instanceof Blob&&"name"in e,sF=e=>typeof e=="object"&&e!==null&&(e instanceof Response||N_(e)||XT(e)),Mg=e=>{if(sF(e))return!0;if(Array.isArray(e))return e.some(Mg);if(e&&typeof e=="object"){for(let t in e)if(Mg(e[t]))return!0}return!1},Lg=async(e,t,n)=>{if(n!==void 0){if(n==null)throw new TypeError(`Received null for "${t}"; to pass null in FormData, you must use the string 'null'`);if(typeof n=="string"||typeof n=="number"||typeof n=="boolean")e.append(t,String(n));else if(n instanceof Response)e.append(t,Go([await n.blob()],_l(n)));else if(N_(n))e.append(t,Go([await new Response(DT(n)).blob()],_l(n)));else if(XT(n))e.append(t,n,_l(n));else if(Array.isArray(n))await Promise.all(n.map(r=>Lg(e,t+"[]",r)));else if(typeof n=="object")await Promise.all(Object.entries(n).map(([r,s])=>Lg(e,`${t}[${r}]`,s)));else throw new TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${n} instead`)}},YT=e=>e!=null&&typeof e=="object"&&typeof e.size=="number"&&typeof e.type=="string"&&typeof e.text=="function"&&typeof e.slice=="function"&&typeof e.arrayBuffer=="function",aF=e=>e!=null&&typeof e=="object"&&typeof e.name=="string"&&typeof e.lastModified=="number"&&YT(e),iF=e=>e!=null&&typeof e=="object"&&typeof e.url=="string"&&typeof e.blob=="function";async function oF(e,t,n){if(GT(),e=await e,aF(e))return e instanceof File?e:Go([await e.arrayBuffer()],e.name);if(iF(e)){let s=await e.blob();return t||(t=new URL(e.url).pathname.split(/[\\/]/).pop()),Go(await zg(s),t,n)}let r=await zg(e);if(t||(t=_l(e)),!n?.type){let s=r.find(a=>typeof a=="object"&&"type"in a&&a.type);typeof s=="string"&&(n={...n,type:s})}return Go(r,t,n)}async function zg(e){let t=[];if(typeof e=="string"||ArrayBuffer.isView(e)||e instanceof ArrayBuffer)t.push(e);else if(YT(e))t.push(e instanceof Blob?e:await e.arrayBuffer());else if(N_(e))for await(let n of e)t.push(...await zg(n));else{let n=e?.constructor?.name;throw new Error(`Unexpected data type: ${typeof e}${n?`; constructor: ${n}`:""}${cF(e)}`)}return t}function cF(e){return typeof e!="object"||e===null?"":`; props: [${Object.getOwnPropertyNames(e).map(t=>`"${t}"`).join(", ")}]`}var te=class{constructor(t){this._client=t}};function QT(e){return e.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g,encodeURIComponent)}var r1=Object.freeze(Object.create(null)),uF=(e=QT)=>function(t,...n){if(t.length===1)return t[0];let r=!1,s=[],a=t.reduce((u,l,d)=>{/[?#]/.test(l)&&(r=!0);let p=n[d],h=(r?encodeURIComponent:e)(""+p);return d!==n.length&&(p==null||typeof p=="object"&&p.toString===Object.getPrototypeOf(Object.getPrototypeOf(p.hasOwnProperty??r1)??r1)?.toString)&&(h=p+"",s.push({start:u.length+l.length,length:h.length,error:`Value of type ${Object.prototype.toString.call(p).slice(8,-1)} is not a valid path parameter`})),u+l+(d===n.length?"":h)},""),i=a.split(/[?#]/,1)[0],o=/(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi,c;for(;(c=o.exec(i))!==null;)s.push({start:c.index,length:c[0].length,error:`Value "${c[0]}" can't be safely passed as a path parameter`});if(s.sort((u,l)=>u.start-l.start),s.length>0){let u=0,l=s.reduce((d,p)=>{let h=" ".repeat(p.start-u),f="^".repeat(p.length);return u=p.start+p.length,d+h+f},"");throw new le(`Path parameters result in path with invalid segments:
281
+ ${s.map(d=>d.error).join(`
282
+ `)}
283
+ ${a}
284
+ ${l}`)}return a},N=uF(QT),eI=class extends te{list(e,t={},n){return this._client.getAPIList(N`/chat/completions/${e}/messages`,ct,{query:t,...n})}};function wd(e){return e!==void 0&&"function"in e&&e.function!==void 0}function lF(e,t){let n={...e};return Object.defineProperties(n,{$brand:{value:"auto-parseable-response-format",enumerable:!1},$parseRaw:{value:t,enumerable:!1}}),n}function P_(e){return e?.$brand==="auto-parseable-response-format"}function ou(e){return e?.$brand==="auto-parseable-tool"}function dF(e,t){return!t||!tI(t)?{...e,choices:e.choices.map(n=>(nI(n.message.tool_calls),{...n,message:{...n.message,parsed:null,...n.message.tool_calls?{tool_calls:n.message.tool_calls}:void 0}}))}:j_(e,t)}function j_(e,t){let n=e.choices.map(r=>{if(r.finish_reason==="length")throw new gd;if(r.finish_reason==="content_filter")throw new yd;return nI(r.message.tool_calls),{...r,message:{...r.message,...r.message.tool_calls?{tool_calls:r.message.tool_calls?.map(s=>hF(t,s))??void 0}:void 0,parsed:r.message.content&&!r.message.refusal?pF(t,r.message.content):null}}});return{...e,choices:n}}function pF(e,t){return e.response_format?.type!=="json_schema"?null:e.response_format?.type==="json_schema"?"$parseRaw"in e.response_format?e.response_format.$parseRaw(t):JSON.parse(t):null}function hF(e,t){let n=e.tools?.find(r=>wd(r)&&r.function?.name===t.function.name);return{...t,function:{...t.function,parsed_arguments:ou(n)?n.$parseRaw(t.function.arguments):n?.function.strict?JSON.parse(t.function.arguments):null}}}function fF(e,t){if(!e||!("tools"in e)||!e.tools)return!1;let n=e.tools?.find(r=>wd(r)&&r.function?.name===t.function.name);return wd(n)&&(ou(n)||n?.function.strict||!1)}function tI(e){return P_(e.response_format)?!0:e.tools?.some(t=>ou(t)||t.type==="function"&&t.function.strict===!0)??!1}function nI(e){for(let t of e||[])if(t.type!=="function")throw new le(`Currently only \`function\` tool calls are supported; Received \`${t.type}\``)}function mF(e){for(let t of e??[]){if(t.type!=="function")throw new le(`Currently only \`function\` tool types support auto-parsing; Received \`${t.type}\``);if(t.function.strict!==!0)throw new le(`The \`${t.function.name}\` tool is not marked with \`strict: true\`. Only strict function tools can be auto-parsed`)}}var bd=e=>e?.role==="assistant",rI=e=>e?.role==="tool",Ug,vl,wl,Po,jo,bl,Ro,Br,Mo,kd,xd,ri,sI,$c=class{constructor(){Ug.add(this),this.controller=new AbortController,vl.set(this,void 0),wl.set(this,()=>{}),Po.set(this,()=>{}),jo.set(this,void 0),bl.set(this,()=>{}),Ro.set(this,()=>{}),Br.set(this,{}),Mo.set(this,!1),kd.set(this,!1),xd.set(this,!1),ri.set(this,!1),ge(this,vl,new Promise((t,n)=>{ge(this,wl,t,"f"),ge(this,Po,n,"f")})),ge(this,jo,new Promise((t,n)=>{ge(this,bl,t,"f"),ge(this,Ro,n,"f")})),S(this,vl,"f").catch(()=>{}),S(this,jo,"f").catch(()=>{})}_run(t){setTimeout(()=>{t().then(()=>{this._emitFinal(),this._emit("end")},S(this,Ug,"m",sI).bind(this))},0)}_connected(){this.ended||(S(this,wl,"f").call(this),this._emit("connect"))}get ended(){return S(this,Mo,"f")}get errored(){return S(this,kd,"f")}get aborted(){return S(this,xd,"f")}abort(){this.controller.abort()}on(t,n){return(S(this,Br,"f")[t]||(S(this,Br,"f")[t]=[])).push({listener:n}),this}off(t,n){let r=S(this,Br,"f")[t];if(!r)return this;let s=r.findIndex(a=>a.listener===n);return s>=0&&r.splice(s,1),this}once(t,n){return(S(this,Br,"f")[t]||(S(this,Br,"f")[t]=[])).push({listener:n,once:!0}),this}emitted(t){return new Promise((n,r)=>{ge(this,ri,!0),t!=="error"&&this.once("error",r),this.once(t,n)})}async done(){ge(this,ri,!0),await S(this,jo,"f")}_emit(t,...n){if(S(this,Mo,"f"))return;t==="end"&&(ge(this,Mo,!0),S(this,bl,"f").call(this));let r=S(this,Br,"f")[t];if(r&&(S(this,Br,"f")[t]=r.filter(s=>!s.once),r.forEach(({listener:s})=>s(...n))),t==="abort"){let s=n[0];!S(this,ri,"f")&&!r?.length&&Promise.reject(s),S(this,Po,"f").call(this,s),S(this,Ro,"f").call(this,s),this._emit("end");return}if(t==="error"){let s=n[0];!S(this,ri,"f")&&!r?.length&&Promise.reject(s),S(this,Po,"f").call(this,s),S(this,Ro,"f").call(this,s),this._emit("end")}}_emitFinal(){}};vl=new WeakMap,wl=new WeakMap,Po=new WeakMap,jo=new WeakMap,bl=new WeakMap,Ro=new WeakMap,Br=new WeakMap,Mo=new WeakMap,kd=new WeakMap,xd=new WeakMap,ri=new WeakMap,Ug=new WeakSet,sI=function(e){if(ge(this,kd,!0),e instanceof Error&&e.name==="AbortError"&&(e=new en),e instanceof en)return ge(this,xd,!0),this._emit("abort",e);if(e instanceof le)return this._emit("error",e);if(e instanceof Error){let t=new le(e.message);return t.cause=e,this._emit("error",t)}return this._emit("error",new le(String(e)))};function gF(e){return typeof e.parse=="function"}var Yt,Dg,Od,Fg,Bg,Zg,aI,iI,yF=10,Sd=class extends $c{constructor(){super(...arguments),Yt.add(this),this._chatCompletions=[],this.messages=[]}_addChatCompletion(t){this._chatCompletions.push(t),this._emit("chatCompletion",t);let n=t.choices[0]?.message;return n&&this._addMessage(n),t}_addMessage(t,n=!0){if("content"in t||(t.content=null),this.messages.push(t),n){if(this._emit("message",t),rI(t)&&t.content)this._emit("functionToolCallResult",t.content);else if(bd(t)&&t.tool_calls)for(let r of t.tool_calls)r.type==="function"&&this._emit("functionToolCall",r.function)}}async finalChatCompletion(){await this.done();let t=this._chatCompletions[this._chatCompletions.length-1];if(!t)throw new le("stream ended without producing a ChatCompletion");return t}async finalContent(){return await this.done(),S(this,Yt,"m",Dg).call(this)}async finalMessage(){return await this.done(),S(this,Yt,"m",Od).call(this)}async finalFunctionToolCall(){return await this.done(),S(this,Yt,"m",Fg).call(this)}async finalFunctionToolCallResult(){return await this.done(),S(this,Yt,"m",Bg).call(this)}async totalUsage(){return await this.done(),S(this,Yt,"m",Zg).call(this)}allChatCompletions(){return[...this._chatCompletions]}_emitFinal(){let t=this._chatCompletions[this._chatCompletions.length-1];t&&this._emit("finalChatCompletion",t);let n=S(this,Yt,"m",Od).call(this);n&&this._emit("finalMessage",n);let r=S(this,Yt,"m",Dg).call(this);r&&this._emit("finalContent",r);let s=S(this,Yt,"m",Fg).call(this);s&&this._emit("finalFunctionToolCall",s);let a=S(this,Yt,"m",Bg).call(this);a!=null&&this._emit("finalFunctionToolCallResult",a),this._chatCompletions.some(i=>i.usage)&&this._emit("totalUsage",S(this,Yt,"m",Zg).call(this))}async _createChatCompletion(t,n,r){let s=r?.signal;s&&(s.aborted&&this.controller.abort(),s.addEventListener("abort",()=>this.controller.abort())),S(this,Yt,"m",aI).call(this,n);let a=await t.chat.completions.create({...n,stream:!1},{...r,signal:this.controller.signal});return this._connected(),this._addChatCompletion(j_(a,n))}async _runChatCompletion(t,n,r){for(let s of n.messages)this._addMessage(s,!1);return await this._createChatCompletion(t,n,r)}async _runTools(t,n,r){let s="tool",{tool_choice:a="auto",stream:i,...o}=n,c=typeof a!="string"&&a.type==="function"&&a?.function?.name,{maxChatCompletions:u=yF}=r||{},l=n.tools.map(h=>{if(ou(h)){if(!h.$callback)throw new le("Tool given to `.runTools()` that does not have an associated function");return{type:"function",function:{function:h.$callback,name:h.function.name,description:h.function.description||"",parameters:h.function.parameters,parse:h.$parseRaw,strict:!0}}}return h}),d={};for(let h of l)h.type==="function"&&(d[h.function.name||h.function.function.name]=h.function);let p="tools"in n?l.map(h=>h.type==="function"?{type:"function",function:{name:h.function.name||h.function.function.name,parameters:h.function.parameters,description:h.function.description,strict:h.function.strict}}:h):void 0;for(let h of n.messages)this._addMessage(h,!1);for(let h=0;h<u;++h){let f=(await this._createChatCompletion(t,{...o,tool_choice:a,tools:p,messages:[...this.messages]},r)).choices[0]?.message;if(!f)throw new le("missing message in ChatCompletion response");if(!f.tool_calls?.length)return;for(let m of f.tool_calls){if(m.type!=="function")continue;let v=m.id,{name:g,arguments:y}=m.function,k=d[g];if(k){if(c&&c!==g){let I=`Invalid tool_call: ${JSON.stringify(g)}. ${JSON.stringify(c)} requested. Please try again`;this._addMessage({role:s,tool_call_id:v,content:I});continue}}else{let I=`Invalid tool_call: ${JSON.stringify(g)}. Available options are: ${Object.keys(d).map(w=>JSON.stringify(w)).join(", ")}. Please try again`;this._addMessage({role:s,tool_call_id:v,content:I});continue}let x;try{x=gF(k)?await k.parse(y):y}catch(I){let w=I instanceof Error?I.message:String(I);this._addMessage({role:s,tool_call_id:v,content:w});continue}let T=await k.function(x,this),A=S(this,Yt,"m",iI).call(this,T);if(this._addMessage({role:s,tool_call_id:v,content:A}),c)return}}}};Yt=new WeakSet,Dg=function(){return S(this,Yt,"m",Od).call(this).content??null},Od=function(){let e=this.messages.length;for(;e-- >0;){let t=this.messages[e];if(bd(t))return{...t,content:t.content??null,refusal:t.refusal??null}}throw new le("stream ended without producing a ChatCompletionMessage with role=assistant")},Fg=function(){for(let e=this.messages.length-1;e>=0;e--){let t=this.messages[e];if(bd(t)&&t?.tool_calls?.length)return t.tool_calls.filter(n=>n.type==="function").at(-1)?.function}},Bg=function(){for(let e=this.messages.length-1;e>=0;e--){let t=this.messages[e];if(rI(t)&&t.content!=null&&typeof t.content=="string"&&this.messages.some(n=>n.role==="assistant"&&n.tool_calls?.some(r=>r.type==="function"&&r.id===t.tool_call_id)))return t.content}},Zg=function(){let e={completion_tokens:0,prompt_tokens:0,total_tokens:0};for(let{usage:t}of this._chatCompletions)t&&(e.completion_tokens+=t.completion_tokens,e.prompt_tokens+=t.prompt_tokens,e.total_tokens+=t.total_tokens);return e},aI=function(e){if(e.n!=null&&e.n>1)throw new le("ChatCompletion convenience helpers only support n=1 at this time. To use n>1, please use chat.completions.create() directly.")},iI=function(e){return typeof e=="string"?e:e===void 0?"undefined":JSON.stringify(e)};var Vg=class e extends Sd{static runTools(t,n,r){let s=new e,a={...r,headers:{...r?.headers,"X-Stainless-Helper-Method":"runTools"}};return s._run(()=>s._runTools(t,n,a)),s}_addMessage(t,n=!0){super._addMessage(t,n),bd(t)&&t.content&&this._emit("content",t.content)}},oI=1,cI=2,uI=4,lI=8,dI=16,pI=32,hI=64,fI=128,mI=256,gI=fI|mI,yI=dI|pI|gI|hI,_I=oI|cI|yI,vI=uI|lI,_F=_I|vI,Et={STR:oI,NUM:cI,ARR:uI,OBJ:lI,NULL:dI,BOOL:pI,NAN:hI,INFINITY:fI,MINUS_INFINITY:mI,INF:gI,SPECIAL:yI,ATOM:_I,COLLECTION:vI,ALL:_F},qg=class extends Error{},Hg=class extends Error{};function vF(e,t=Et.ALL){if(typeof e!="string")throw new TypeError(`expecting str, got ${typeof e}`);if(!e.trim())throw new Error(`${e} is empty`);return wF(e.trim(),t)}var wF=(e,t)=>{let n=e.length,r=0,s=p=>{throw new qg(`${p} at position ${r}`)},a=p=>{throw new Hg(`${p} at position ${r}`)},i=()=>(d(),r>=n&&s("Unexpected end of input"),e[r]==='"'?o():e[r]==="{"?c():e[r]==="["?u():e.substring(r,r+4)==="null"||Et.NULL&t&&n-r<4&&"null".startsWith(e.substring(r))?(r+=4,null):e.substring(r,r+4)==="true"||Et.BOOL&t&&n-r<4&&"true".startsWith(e.substring(r))?(r+=4,!0):e.substring(r,r+5)==="false"||Et.BOOL&t&&n-r<5&&"false".startsWith(e.substring(r))?(r+=5,!1):e.substring(r,r+8)==="Infinity"||Et.INFINITY&t&&n-r<8&&"Infinity".startsWith(e.substring(r))?(r+=8,1/0):e.substring(r,r+9)==="-Infinity"||Et.MINUS_INFINITY&t&&1<n-r&&n-r<9&&"-Infinity".startsWith(e.substring(r))?(r+=9,-1/0):e.substring(r,r+3)==="NaN"||Et.NAN&t&&n-r<3&&"NaN".startsWith(e.substring(r))?(r+=3,NaN):l()),o=()=>{let p=r,h=!1;for(r++;r<n&&(e[r]!=='"'||h&&e[r-1]==="\\");)h=e[r]==="\\"?!h:!1,r++;if(e.charAt(r)=='"')try{return JSON.parse(e.substring(p,++r-Number(h)))}catch(f){a(String(f))}else if(Et.STR&t)try{return JSON.parse(e.substring(p,r-Number(h))+'"')}catch{return JSON.parse(e.substring(p,e.lastIndexOf("\\"))+'"')}s("Unterminated string literal")},c=()=>{r++,d();let p={};try{for(;e[r]!=="}";){if(d(),r>=n&&Et.OBJ&t)return p;let h=o();d(),r++;try{let f=i();Object.defineProperty(p,h,{value:f,writable:!0,enumerable:!0,configurable:!0})}catch(f){if(Et.OBJ&t)return p;throw f}d(),e[r]===","&&r++}}catch{if(Et.OBJ&t)return p;s("Expected '}' at end of object")}return r++,p},u=()=>{r++;let p=[];try{for(;e[r]!=="]";)p.push(i()),d(),e[r]===","&&r++}catch{if(Et.ARR&t)return p;s("Expected ']' at end of array")}return r++,p},l=()=>{if(r===0){e==="-"&&Et.NUM&t&&s("Not sure what '-' is");try{return JSON.parse(e)}catch(h){if(Et.NUM&t)try{return e[e.length-1]==="."?JSON.parse(e.substring(0,e.lastIndexOf("."))):JSON.parse(e.substring(0,e.lastIndexOf("e")))}catch{}a(String(h))}}let p=r;for(e[r]==="-"&&r++;e[r]&&!",]}".includes(e[r]);)r++;r==n&&!(Et.NUM&t)&&s("Unterminated number literal");try{return JSON.parse(e.substring(p,r))}catch{e.substring(p,r)==="-"&&Et.NUM&t&&s("Not sure what '-' is");try{return JSON.parse(e.substring(p,e.lastIndexOf("e")))}catch(h){a(String(h))}}},d=()=>{for(;r<n&&`
285
+ \r `.includes(e[r]);)r++};return i()},s1=e=>vF(e,Et.ALL^Et.NUM),kt,Fr,Ja,is,Zf,Bu,Vf,qf,Hf,Zu,Wf,a1,Td=class e extends Sd{constructor(t){super(),kt.add(this),Fr.set(this,void 0),Ja.set(this,void 0),is.set(this,void 0),ge(this,Fr,t),ge(this,Ja,[])}get currentChatCompletionSnapshot(){return S(this,is,"f")}static fromReadableStream(t){let n=new e(null);return n._run(()=>n._fromReadableStream(t)),n}static createChatCompletion(t,n,r){let s=new e(n);return s._run(()=>s._runChatCompletion(t,{...n,stream:!0},{...r,headers:{...r?.headers,"X-Stainless-Helper-Method":"stream"}})),s}async _createChatCompletion(t,n,r){super._createChatCompletion;let s=r?.signal;s&&(s.aborted&&this.controller.abort(),s.addEventListener("abort",()=>this.controller.abort())),S(this,kt,"m",Zf).call(this);let a=await t.chat.completions.create({...n,stream:!0},{...r,signal:this.controller.signal});this._connected();for await(let i of a)S(this,kt,"m",Vf).call(this,i);if(a.controller.signal?.aborted)throw new en;return this._addChatCompletion(S(this,kt,"m",Zu).call(this))}async _fromReadableStream(t,n){let r=n?.signal;r&&(r.aborted&&this.controller.abort(),r.addEventListener("abort",()=>this.controller.abort())),S(this,kt,"m",Zf).call(this),this._connected();let s=Pa.fromReadableStream(t,this.controller),a;for await(let i of s)a&&a!==i.id&&this._addChatCompletion(S(this,kt,"m",Zu).call(this)),S(this,kt,"m",Vf).call(this,i),a=i.id;if(s.controller.signal?.aborted)throw new en;return this._addChatCompletion(S(this,kt,"m",Zu).call(this))}[(Fr=new WeakMap,Ja=new WeakMap,is=new WeakMap,kt=new WeakSet,Zf=function(){this.ended||ge(this,is,void 0)},Bu=function(t){let n=S(this,Ja,"f")[t.index];return n||(n={content_done:!1,refusal_done:!1,logprobs_content_done:!1,logprobs_refusal_done:!1,done_tool_calls:new Set,current_tool_call_index:null},S(this,Ja,"f")[t.index]=n,n)},Vf=function(t){if(this.ended)return;let n=S(this,kt,"m",a1).call(this,t);this._emit("chunk",t,n);for(let r of t.choices){let s=n.choices[r.index];r.delta.content!=null&&s.message?.role==="assistant"&&s.message?.content&&(this._emit("content",r.delta.content,s.message.content),this._emit("content.delta",{delta:r.delta.content,snapshot:s.message.content,parsed:s.message.parsed})),r.delta.refusal!=null&&s.message?.role==="assistant"&&s.message?.refusal&&this._emit("refusal.delta",{delta:r.delta.refusal,snapshot:s.message.refusal}),r.logprobs?.content!=null&&s.message?.role==="assistant"&&this._emit("logprobs.content.delta",{content:r.logprobs?.content,snapshot:s.logprobs?.content??[]}),r.logprobs?.refusal!=null&&s.message?.role==="assistant"&&this._emit("logprobs.refusal.delta",{refusal:r.logprobs?.refusal,snapshot:s.logprobs?.refusal??[]});let a=S(this,kt,"m",Bu).call(this,s);s.finish_reason&&(S(this,kt,"m",Hf).call(this,s),a.current_tool_call_index!=null&&S(this,kt,"m",qf).call(this,s,a.current_tool_call_index));for(let i of r.delta.tool_calls??[])a.current_tool_call_index!==i.index&&(S(this,kt,"m",Hf).call(this,s),a.current_tool_call_index!=null&&S(this,kt,"m",qf).call(this,s,a.current_tool_call_index)),a.current_tool_call_index=i.index;for(let i of r.delta.tool_calls??[]){let o=s.message.tool_calls?.[i.index];o?.type&&(o?.type==="function"?this._emit("tool_calls.function.arguments.delta",{name:o.function?.name,index:i.index,arguments:o.function.arguments,parsed_arguments:o.function.parsed_arguments,arguments_delta:i.function?.arguments??""}):o?.type)}}},qf=function(t,n){if(S(this,kt,"m",Bu).call(this,t).done_tool_calls.has(n))return;let r=t.message.tool_calls?.[n];if(!r)throw new Error("no tool call snapshot");if(!r.type)throw new Error("tool call snapshot missing `type`");if(r.type==="function"){let s=S(this,Fr,"f")?.tools?.find(a=>wd(a)&&a.function.name===r.function.name);this._emit("tool_calls.function.arguments.done",{name:r.function.name,index:n,arguments:r.function.arguments,parsed_arguments:ou(s)?s.$parseRaw(r.function.arguments):s?.function.strict?JSON.parse(r.function.arguments):null})}else r.type},Hf=function(t){let n=S(this,kt,"m",Bu).call(this,t);if(t.message.content&&!n.content_done){n.content_done=!0;let r=S(this,kt,"m",Wf).call(this);this._emit("content.done",{content:t.message.content,parsed:r?r.$parseRaw(t.message.content):null})}t.message.refusal&&!n.refusal_done&&(n.refusal_done=!0,this._emit("refusal.done",{refusal:t.message.refusal})),t.logprobs?.content&&!n.logprobs_content_done&&(n.logprobs_content_done=!0,this._emit("logprobs.content.done",{content:t.logprobs.content})),t.logprobs?.refusal&&!n.logprobs_refusal_done&&(n.logprobs_refusal_done=!0,this._emit("logprobs.refusal.done",{refusal:t.logprobs.refusal}))},Zu=function(){if(this.ended)throw new le("stream has ended, this shouldn't happen");let t=S(this,is,"f");if(!t)throw new le("request ended without sending any chunks");return ge(this,is,void 0),ge(this,Ja,[]),bF(t,S(this,Fr,"f"))},Wf=function(){let t=S(this,Fr,"f")?.response_format;return P_(t)?t:null},a1=function(t){var n,r,s,a;let i=S(this,is,"f"),{choices:o,...c}=t;i?Object.assign(i,c):i=ge(this,is,{...c,choices:[]});for(let{delta:u,finish_reason:l,index:d,logprobs:p=null,...h}of t.choices){let f=i.choices[d];if(f||(f=i.choices[d]={finish_reason:l,index:d,message:{},logprobs:p,...h}),p)if(!f.logprobs)f.logprobs=Object.assign({},p);else{let{content:T,refusal:A,...I}=p;Object.assign(f.logprobs,I),T&&((n=f.logprobs).content??(n.content=[]),f.logprobs.content.push(...T)),A&&((r=f.logprobs).refusal??(r.refusal=[]),f.logprobs.refusal.push(...A))}if(l&&(f.finish_reason=l,S(this,Fr,"f")&&tI(S(this,Fr,"f")))){if(l==="length")throw new gd;if(l==="content_filter")throw new yd}if(Object.assign(f,h),!u)continue;let{content:m,refusal:v,function_call:g,role:y,tool_calls:k,...x}=u;if(Object.assign(f.message,x),v&&(f.message.refusal=(f.message.refusal||"")+v),y&&(f.message.role=y),g&&(f.message.function_call?(g.name&&(f.message.function_call.name=g.name),g.arguments&&((s=f.message.function_call).arguments??(s.arguments=""),f.message.function_call.arguments+=g.arguments)):f.message.function_call=g),m&&(f.message.content=(f.message.content||"")+m,!f.message.refusal&&S(this,kt,"m",Wf).call(this)&&(f.message.parsed=s1(f.message.content))),k){f.message.tool_calls||(f.message.tool_calls=[]);for(let{index:T,id:A,type:I,function:w,...P}of k){let E=(a=f.message.tool_calls)[T]??(a[T]={});Object.assign(E,P),A&&(E.id=A),I&&(E.type=I),w&&(E.function??(E.function={name:w.name??"",arguments:""})),w?.name&&(E.function.name=w.name),w?.arguments&&(E.function.arguments+=w.arguments,fF(S(this,Fr,"f"),E)&&(E.function.parsed_arguments=s1(E.function.arguments)))}}}return i},Symbol.asyncIterator)](){let t=[],n=[],r=!1;return this.on("chunk",s=>{let a=n.shift();a?a.resolve(s):t.push(s)}),this.on("end",()=>{r=!0;for(let s of n)s.resolve(void 0);n.length=0}),this.on("abort",s=>{r=!0;for(let a of n)a.reject(s);n.length=0}),this.on("error",s=>{r=!0;for(let a of n)a.reject(s);n.length=0}),{next:async()=>t.length?{value:t.shift(),done:!1}:r?{value:void 0,done:!0}:new Promise((s,a)=>n.push({resolve:s,reject:a})).then(s=>s?{value:s,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}toReadableStream(){return new Pa(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}};function bF(e,t){let{id:n,choices:r,created:s,model:a,system_fingerprint:i,...o}=e,c={...o,id:n,choices:r.map(({message:u,finish_reason:l,index:d,logprobs:p,...h})=>{if(!l)throw new le(`missing finish_reason for choice ${d}`);let{content:f=null,function_call:m,tool_calls:v,...g}=u,y=u.role;if(!y)throw new le(`missing role for choice ${d}`);if(m){let{arguments:k,name:x}=m;if(k==null)throw new le(`missing function_call.arguments for choice ${d}`);if(!x)throw new le(`missing function_call.name for choice ${d}`);return{...h,message:{content:f,function_call:{arguments:k,name:x},role:y,refusal:u.refusal??null},finish_reason:l,index:d,logprobs:p}}return v?{...h,index:d,finish_reason:l,logprobs:p,message:{...g,role:y,content:f,refusal:u.refusal??null,tool_calls:v.map((k,x)=>{let{function:T,type:A,id:I,...w}=k,{arguments:P,name:E,...Z}=T||{};if(I==null)throw new le(`missing choices[${d}].tool_calls[${x}].id
286
+ ${Vu(e)}`);if(A==null)throw new le(`missing choices[${d}].tool_calls[${x}].type
287
+ ${Vu(e)}`);if(E==null)throw new le(`missing choices[${d}].tool_calls[${x}].function.name
288
+ ${Vu(e)}`);if(P==null)throw new le(`missing choices[${d}].tool_calls[${x}].function.arguments
289
+ ${Vu(e)}`);return{...w,id:I,type:A,function:{...Z,name:E,arguments:P}}})}}:{...h,message:{...g,content:f,role:y,refusal:u.refusal??null},finish_reason:l,index:d,logprobs:p}}),created:s,model:a,object:"chat.completion",...i?{system_fingerprint:i}:{}};return dF(c,t)}function Vu(e){return JSON.stringify(e)}var Wg=class e extends Td{static fromReadableStream(t){let n=new e(null);return n._run(()=>n._fromReadableStream(t)),n}static runTools(t,n,r){let s=new e(n),a={...r,headers:{...r?.headers,"X-Stainless-Helper-Method":"runTools"}};return s._run(()=>s._runTools(t,n,a)),s}},R_=class extends te{constructor(){super(...arguments),this.messages=new eI(this._client)}create(e,t){return this._client.post("/chat/completions",{body:e,...t,stream:e.stream??!1})}retrieve(e,t){return this._client.get(N`/chat/completions/${e}`,t)}update(e,t,n){return this._client.post(N`/chat/completions/${e}`,{body:t,...n})}list(e={},t){return this._client.getAPIList("/chat/completions",ct,{query:e,...t})}delete(e,t){return this._client.delete(N`/chat/completions/${e}`,t)}parse(e,t){return mF(e.tools),this._client.chat.completions.create(e,{...t,headers:{...t?.headers,"X-Stainless-Helper-Method":"chat.completions.parse"}})._thenUnwrap(n=>j_(n,e))}runTools(e,t){return e.stream?Wg.runTools(this._client,e,t):Vg.runTools(this._client,e,t)}stream(e,t){return Td.createChatCompletion(this._client,e,t)}};R_.Messages=eI;var Cc=class extends te{constructor(){super(...arguments),this.completions=new R_(this._client)}};Cc.Completions=R_;var wI=Symbol("brand.privateNullableHeaders");function*kF(e){if(!e)return;if(wI in e){let{values:r,nulls:s}=e;yield*r.entries();for(let a of s)yield[a,null];return}let t=!1,n;e instanceof Headers?n=e.entries():Zb(e)?n=e:(t=!0,n=Object.entries(e??{}));for(let r of n){let s=r[0];if(typeof s!="string")throw new TypeError("expected header name to be a string");let a=Zb(r[1])?r[1]:[r[1]],i=!1;for(let o of a)o!==void 0&&(t&&!i&&(i=!0,yield[s,null]),yield[s,o])}}var G=e=>{let t=new Headers,n=new Set;for(let r of e){let s=new Set;for(let[a,i]of kF(r)){let o=a.toLowerCase();s.has(o)||(t.delete(a),s.add(o)),i===null?(t.delete(a),n.add(o)):(t.append(a,i),n.delete(o))}}return{[wI]:!0,values:t,nulls:n}},Id=class extends te{create(t,n){return this._client.post("/audio/speech",{body:t,...n,headers:G([{Accept:"application/octet-stream"},n?.headers]),__binaryResponse:!0})}},Ed=class extends te{create(t,n){return this._client.post("/audio/transcriptions",Ar({body:t,...n,stream:t.stream??!1,__metadata:{model:t.model}},this._client))}},Ad=class extends te{create(t,n){return this._client.post("/audio/translations",Ar({body:t,...n,__metadata:{model:t.model}},this._client))}},Ra=class extends te{constructor(){super(...arguments),this.transcriptions=new Ed(this._client),this.translations=new Ad(this._client),this.speech=new Id(this._client)}};Ra.Transcriptions=Ed;Ra.Translations=Ad;Ra.Speech=Id;var $d=class extends te{create(t,n){return this._client.post("/batches",{body:t,...n})}retrieve(t,n){return this._client.get(N`/batches/${t}`,n)}list(t={},n){return this._client.getAPIList("/batches",ct,{query:t,...n})}cancel(t,n){return this._client.post(N`/batches/${t}/cancel`,n)}},Cd=class extends te{create(t,n){return this._client.post("/assistants",{body:t,...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}retrieve(t,n){return this._client.get(N`/assistants/${t}`,{...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}update(t,n,r){return this._client.post(N`/assistants/${t}`,{body:n,...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}list(t={},n){return this._client.getAPIList("/assistants",ct,{query:t,...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}delete(t,n){return this._client.delete(N`/assistants/${t}`,{...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}},bI=class extends te{create(e,t){return this._client.post("/realtime/sessions",{body:e,...t,headers:G([{"OpenAI-Beta":"assistants=v2"},t?.headers])})}},Nd=class extends te{create(t,n){return this._client.post("/realtime/transcription_sessions",{body:t,...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}},Gp=class extends te{constructor(){super(...arguments),this.sessions=new bI(this._client),this.transcriptionSessions=new Nd(this._client)}};Gp.Sessions=bI;Gp.TranscriptionSessions=Nd;var Pd=class extends te{create(t,n){return this._client.post("/chatkit/sessions",{body:t,...n,headers:G([{"OpenAI-Beta":"chatkit_beta=v1"},n?.headers])})}cancel(t,n){return this._client.post(N`/chatkit/sessions/${t}/cancel`,{...n,headers:G([{"OpenAI-Beta":"chatkit_beta=v1"},n?.headers])})}},kI=class extends te{retrieve(e,t){return this._client.get(N`/chatkit/threads/${e}`,{...t,headers:G([{"OpenAI-Beta":"chatkit_beta=v1"},t?.headers])})}list(e={},t){return this._client.getAPIList("/chatkit/threads",ja,{query:e,...t,headers:G([{"OpenAI-Beta":"chatkit_beta=v1"},t?.headers])})}delete(e,t){return this._client.delete(N`/chatkit/threads/${e}`,{...t,headers:G([{"OpenAI-Beta":"chatkit_beta=v1"},t?.headers])})}listItems(e,t={},n){return this._client.getAPIList(N`/chatkit/threads/${e}/items`,ja,{query:t,...n,headers:G([{"OpenAI-Beta":"chatkit_beta=v1"},n?.headers])})}},Ji=class extends te{constructor(){super(...arguments),this.sessions=new Pd(this._client),this.threads=new kI(this._client)}};Ji.Sessions=Pd;Ji.Threads=kI;var jd=class extends te{create(t,n,r){return this._client.post(N`/threads/${t}/messages`,{body:n,...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}retrieve(t,n,r){let{thread_id:s}=n;return this._client.get(N`/threads/${s}/messages/${t}`,{...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}update(t,n,r){let{thread_id:s,...a}=n;return this._client.post(N`/threads/${s}/messages/${t}`,{body:a,...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}list(t,n={},r){return this._client.getAPIList(N`/threads/${t}/messages`,ct,{query:n,...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}delete(t,n,r){let{thread_id:s}=n;return this._client.delete(N`/threads/${s}/messages/${t}`,{...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}},Rd=class extends te{retrieve(t,n,r){let{thread_id:s,run_id:a,...i}=n;return this._client.get(N`/threads/${s}/runs/${a}/steps/${t}`,{query:i,...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}list(t,n,r){let{thread_id:s,...a}=n;return this._client.getAPIList(N`/threads/${s}/runs/${t}/steps`,ct,{query:a,...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}},xF=e=>{if(typeof Buffer<"u"){let t=Buffer.from(e,"base64");return Array.from(new Float32Array(t.buffer,t.byteOffset,t.length/Float32Array.BYTES_PER_ELEMENT))}else{let t=atob(e),n=t.length,r=new Uint8Array(n);for(let s=0;s<n;s++)r[s]=t.charCodeAt(s);return Array.from(new Float32Array(r.buffer))}},Ga=e=>{if(typeof globalThis.process<"u")return globalThis.process.env?.[e]?.trim()??void 0;if(typeof globalThis.Deno<"u")return globalThis.Deno.env?.get?.(e)?.trim()},jt,ia,Jg,Or,kl,sr,oa,fi,na,Md,In,xl,Ol,Ko,Lo,zo,i1,o1,c1,u1,l1,d1,p1,ma=class extends $c{constructor(){super(...arguments),jt.add(this),Jg.set(this,[]),Or.set(this,{}),kl.set(this,{}),sr.set(this,void 0),oa.set(this,void 0),fi.set(this,void 0),na.set(this,void 0),Md.set(this,void 0),In.set(this,void 0),xl.set(this,void 0),Ol.set(this,void 0),Ko.set(this,void 0)}[(Jg=new WeakMap,Or=new WeakMap,kl=new WeakMap,sr=new WeakMap,oa=new WeakMap,fi=new WeakMap,na=new WeakMap,Md=new WeakMap,In=new WeakMap,xl=new WeakMap,Ol=new WeakMap,Ko=new WeakMap,jt=new WeakSet,Symbol.asyncIterator)](){let t=[],n=[],r=!1;return this.on("event",s=>{let a=n.shift();a?a.resolve(s):t.push(s)}),this.on("end",()=>{r=!0;for(let s of n)s.resolve(void 0);n.length=0}),this.on("abort",s=>{r=!0;for(let a of n)a.reject(s);n.length=0}),this.on("error",s=>{r=!0;for(let a of n)a.reject(s);n.length=0}),{next:async()=>t.length?{value:t.shift(),done:!1}:r?{value:void 0,done:!0}:new Promise((s,a)=>n.push({resolve:s,reject:a})).then(s=>s?{value:s,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}static fromReadableStream(t){let n=new ia;return n._run(()=>n._fromReadableStream(t)),n}async _fromReadableStream(t,n){let r=n?.signal;r&&(r.aborted&&this.controller.abort(),r.addEventListener("abort",()=>this.controller.abort())),this._connected();let s=Pa.fromReadableStream(t,this.controller);for await(let a of s)S(this,jt,"m",Lo).call(this,a);if(s.controller.signal?.aborted)throw new en;return this._addRun(S(this,jt,"m",zo).call(this))}toReadableStream(){return new Pa(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}static createToolAssistantStream(t,n,r,s){let a=new ia;return a._run(()=>a._runToolAssistantStream(t,n,r,{...s,headers:{...s?.headers,"X-Stainless-Helper-Method":"stream"}})),a}async _createToolAssistantStream(t,n,r,s){let a=s?.signal;a&&(a.aborted&&this.controller.abort(),a.addEventListener("abort",()=>this.controller.abort()));let i={...r,stream:!0},o=await t.submitToolOutputs(n,i,{...s,signal:this.controller.signal});this._connected();for await(let c of o)S(this,jt,"m",Lo).call(this,c);if(o.controller.signal?.aborted)throw new en;return this._addRun(S(this,jt,"m",zo).call(this))}static createThreadAssistantStream(t,n,r){let s=new ia;return s._run(()=>s._threadAssistantStream(t,n,{...r,headers:{...r?.headers,"X-Stainless-Helper-Method":"stream"}})),s}static createAssistantStream(t,n,r,s){let a=new ia;return a._run(()=>a._runAssistantStream(t,n,r,{...s,headers:{...s?.headers,"X-Stainless-Helper-Method":"stream"}})),a}currentEvent(){return S(this,xl,"f")}currentRun(){return S(this,Ol,"f")}currentMessageSnapshot(){return S(this,sr,"f")}currentRunStepSnapshot(){return S(this,Ko,"f")}async finalRunSteps(){return await this.done(),Object.values(S(this,Or,"f"))}async finalMessages(){return await this.done(),Object.values(S(this,kl,"f"))}async finalRun(){if(await this.done(),!S(this,oa,"f"))throw Error("Final run was not received.");return S(this,oa,"f")}async _createThreadAssistantStream(t,n,r){let s=r?.signal;s&&(s.aborted&&this.controller.abort(),s.addEventListener("abort",()=>this.controller.abort()));let a={...n,stream:!0},i=await t.createAndRun(a,{...r,signal:this.controller.signal});this._connected();for await(let o of i)S(this,jt,"m",Lo).call(this,o);if(i.controller.signal?.aborted)throw new en;return this._addRun(S(this,jt,"m",zo).call(this))}async _createAssistantStream(t,n,r,s){let a=s?.signal;a&&(a.aborted&&this.controller.abort(),a.addEventListener("abort",()=>this.controller.abort()));let i={...r,stream:!0},o=await t.create(n,i,{...s,signal:this.controller.signal});this._connected();for await(let c of o)S(this,jt,"m",Lo).call(this,c);if(o.controller.signal?.aborted)throw new en;return this._addRun(S(this,jt,"m",zo).call(this))}static accumulateDelta(t,n){for(let[r,s]of Object.entries(n)){if(!t.hasOwnProperty(r)){t[r]=s;continue}let a=t[r];if(a==null){t[r]=s;continue}if(r==="index"||r==="type"){t[r]=s;continue}if(typeof a=="string"&&typeof s=="string")a+=s;else if(typeof a=="number"&&typeof s=="number")a+=s;else if(Df(a)&&Df(s))a=this.accumulateDelta(a,s);else if(Array.isArray(a)&&Array.isArray(s)){if(a.every(i=>typeof i=="string"||typeof i=="number")){a.push(...s);continue}for(let i of s){if(!Df(i))throw new Error(`Expected array delta entry to be an object but got: ${i}`);let o=i.index;if(o==null)throw console.error(i),new Error("Expected array delta entry to have an `index` property");if(typeof o!="number")throw new Error(`Expected array delta entry \`index\` property to be a number but got ${o}`);let c=a[o];c==null?a.push(i):a[o]=this.accumulateDelta(c,i)}continue}else throw Error(`Unhandled record type: ${r}, deltaValue: ${s}, accValue: ${a}`);t[r]=a}return t}_addRun(t){return t}async _threadAssistantStream(t,n,r){return await this._createThreadAssistantStream(n,t,r)}async _runAssistantStream(t,n,r,s){return await this._createAssistantStream(n,t,r,s)}async _runToolAssistantStream(t,n,r,s){return await this._createToolAssistantStream(n,t,r,s)}};ia=ma,Lo=function(e){if(!this.ended)switch(ge(this,xl,e),S(this,jt,"m",c1).call(this,e),e.event){case"thread.created":break;case"thread.run.created":case"thread.run.queued":case"thread.run.in_progress":case"thread.run.requires_action":case"thread.run.completed":case"thread.run.incomplete":case"thread.run.failed":case"thread.run.cancelling":case"thread.run.cancelled":case"thread.run.expired":S(this,jt,"m",p1).call(this,e);break;case"thread.run.step.created":case"thread.run.step.in_progress":case"thread.run.step.delta":case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":S(this,jt,"m",o1).call(this,e);break;case"thread.message.created":case"thread.message.in_progress":case"thread.message.delta":case"thread.message.completed":case"thread.message.incomplete":S(this,jt,"m",i1).call(this,e);break;case"error":throw new Error("Encountered an error event in event processing - errors should be processed earlier")}},zo=function(){if(this.ended)throw new le("stream has ended, this shouldn't happen");if(!S(this,oa,"f"))throw Error("Final run has not been received");return S(this,oa,"f")},i1=function(e){let[t,n]=S(this,jt,"m",l1).call(this,e,S(this,sr,"f"));ge(this,sr,t),S(this,kl,"f")[t.id]=t;for(let r of n){let s=t.content[r.index];s?.type=="text"&&this._emit("textCreated",s.text)}switch(e.event){case"thread.message.created":this._emit("messageCreated",e.data);break;case"thread.message.in_progress":break;case"thread.message.delta":if(this._emit("messageDelta",e.data.delta,t),e.data.delta.content)for(let r of e.data.delta.content){if(r.type=="text"&&r.text){let s=r.text,a=t.content[r.index];if(a&&a.type=="text")this._emit("textDelta",s,a.text);else throw Error("The snapshot associated with this text delta is not text or missing")}if(r.index!=S(this,fi,"f")){if(S(this,na,"f"))switch(S(this,na,"f").type){case"text":this._emit("textDone",S(this,na,"f").text,S(this,sr,"f"));break;case"image_file":this._emit("imageFileDone",S(this,na,"f").image_file,S(this,sr,"f"));break}ge(this,fi,r.index)}ge(this,na,t.content[r.index])}break;case"thread.message.completed":case"thread.message.incomplete":if(S(this,fi,"f")!==void 0){let r=e.data.content[S(this,fi,"f")];if(r)switch(r.type){case"image_file":this._emit("imageFileDone",r.image_file,S(this,sr,"f"));break;case"text":this._emit("textDone",r.text,S(this,sr,"f"));break}}S(this,sr,"f")&&this._emit("messageDone",e.data),ge(this,sr,void 0)}},o1=function(e){let t=S(this,jt,"m",u1).call(this,e);switch(ge(this,Ko,t),e.event){case"thread.run.step.created":this._emit("runStepCreated",e.data);break;case"thread.run.step.delta":let n=e.data.delta;if(n.step_details&&n.step_details.type=="tool_calls"&&n.step_details.tool_calls&&t.step_details.type=="tool_calls")for(let r of n.step_details.tool_calls)r.index==S(this,Md,"f")?this._emit("toolCallDelta",r,t.step_details.tool_calls[r.index]):(S(this,In,"f")&&this._emit("toolCallDone",S(this,In,"f")),ge(this,Md,r.index),ge(this,In,t.step_details.tool_calls[r.index]),S(this,In,"f")&&this._emit("toolCallCreated",S(this,In,"f")));this._emit("runStepDelta",e.data.delta,t);break;case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":ge(this,Ko,void 0),e.data.step_details.type=="tool_calls"&&S(this,In,"f")&&(this._emit("toolCallDone",S(this,In,"f")),ge(this,In,void 0)),this._emit("runStepDone",e.data,t);break}},c1=function(e){S(this,Jg,"f").push(e),this._emit("event",e)},u1=function(e){switch(e.event){case"thread.run.step.created":return S(this,Or,"f")[e.data.id]=e.data,e.data;case"thread.run.step.delta":let t=S(this,Or,"f")[e.data.id];if(!t)throw Error("Received a RunStepDelta before creation of a snapshot");let n=e.data;if(n.delta){let r=ia.accumulateDelta(t,n.delta);S(this,Or,"f")[e.data.id]=r}return S(this,Or,"f")[e.data.id];case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":case"thread.run.step.in_progress":S(this,Or,"f")[e.data.id]=e.data;break}if(S(this,Or,"f")[e.data.id])return S(this,Or,"f")[e.data.id];throw new Error("No snapshot available")},l1=function(e,t){let n=[];switch(e.event){case"thread.message.created":return[e.data,n];case"thread.message.delta":if(!t)throw Error("Received a delta with no existing snapshot (there should be one from message creation)");let r=e.data;if(r.delta.content)for(let s of r.delta.content)if(s.index in t.content){let a=t.content[s.index];t.content[s.index]=S(this,jt,"m",d1).call(this,s,a)}else t.content[s.index]=s,n.push(s);return[t,n];case"thread.message.in_progress":case"thread.message.completed":case"thread.message.incomplete":if(t)return[t,n];throw Error("Received thread message event with no existing snapshot")}throw Error("Tried to accumulate a non-message event")},d1=function(e,t){return ia.accumulateDelta(t,e)},p1=function(e){switch(ge(this,Ol,e.data),e.event){case"thread.run.created":break;case"thread.run.queued":break;case"thread.run.in_progress":break;case"thread.run.requires_action":case"thread.run.cancelled":case"thread.run.failed":case"thread.run.completed":case"thread.run.expired":case"thread.run.incomplete":ge(this,oa,e.data),S(this,In,"f")&&(this._emit("toolCallDone",S(this,In,"f")),ge(this,In,void 0));break}};var M_=class extends te{constructor(){super(...arguments),this.steps=new Rd(this._client)}create(e,t,n){let{include:r,...s}=t;return this._client.post(N`/threads/${e}/runs`,{query:{include:r},body:s,...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers]),stream:t.stream??!1,__synthesizeEventData:!0})}retrieve(e,t,n){let{thread_id:r}=t;return this._client.get(N`/threads/${r}/runs/${e}`,{...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}update(e,t,n){let{thread_id:r,...s}=t;return this._client.post(N`/threads/${r}/runs/${e}`,{body:s,...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}list(e,t={},n){return this._client.getAPIList(N`/threads/${e}/runs`,ct,{query:t,...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}cancel(e,t,n){let{thread_id:r}=t;return this._client.post(N`/threads/${r}/runs/${e}/cancel`,{...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}async createAndPoll(e,t,n){let r=await this.create(e,t,n);return await this.poll(r.id,{thread_id:e},n)}createAndStream(e,t,n){return ma.createAssistantStream(e,this._client.beta.threads.runs,t,n)}async poll(e,t,n){let r=G([n?.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":n?.pollIntervalMs?.toString()??void 0}]);for(;;){let{data:s,response:a}=await this.retrieve(e,t,{...n,headers:{...n?.headers,...r}}).withResponse();switch(s.status){case"queued":case"in_progress":case"cancelling":let i=5e3;if(n?.pollIntervalMs)i=n.pollIntervalMs;else{let o=a.headers.get("openai-poll-after-ms");if(o){let c=parseInt(o);isNaN(c)||(i=c)}}await iu(i);break;case"requires_action":case"incomplete":case"cancelled":case"completed":case"failed":case"expired":return s}}}stream(e,t,n){return ma.createAssistantStream(e,this._client.beta.threads.runs,t,n)}submitToolOutputs(e,t,n){let{thread_id:r,...s}=t;return this._client.post(N`/threads/${r}/runs/${e}/submit_tool_outputs`,{body:s,...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers]),stream:t.stream??!1,__synthesizeEventData:!0})}async submitToolOutputsAndPoll(e,t,n){let r=await this.submitToolOutputs(e,t,n);return await this.poll(r.id,t,n)}submitToolOutputsStream(e,t,n){return ma.createToolAssistantStream(e,this._client.beta.threads.runs,t,n)}};M_.Steps=Rd;var Gi=class extends te{constructor(){super(...arguments),this.runs=new M_(this._client),this.messages=new jd(this._client)}create(t={},n){return this._client.post("/threads",{body:t,...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}retrieve(t,n){return this._client.get(N`/threads/${t}`,{...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}update(t,n,r){return this._client.post(N`/threads/${t}`,{body:n,...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}delete(t,n){return this._client.delete(N`/threads/${t}`,{...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}createAndRun(t,n){return this._client.post("/threads/runs",{body:t,...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers]),stream:t.stream??!1,__synthesizeEventData:!0})}async createAndRunPoll(t,n){let r=await this.createAndRun(t,n);return await this.runs.poll(r.id,{thread_id:r.thread_id},n)}createAndRunStream(t,n){return ma.createThreadAssistantStream(t,this._client.beta.threads,n)}};Gi.Runs=M_;Gi.Messages=jd;var Ms=class extends te{constructor(){super(...arguments),this.realtime=new Gp(this._client),this.chatkit=new Ji(this._client),this.assistants=new Cd(this._client),this.threads=new Gi(this._client)}};Ms.Realtime=Gp;Ms.ChatKit=Ji;Ms.Assistants=Cd;Ms.Threads=Gi;var Ld=class extends te{create(t,n){return this._client.post("/completions",{body:t,...n,stream:t.stream??!1})}},xI=class extends te{retrieve(e,t,n){let{container_id:r}=t;return this._client.get(N`/containers/${r}/files/${e}/content`,{...n,headers:G([{Accept:"application/binary"},n?.headers]),__binaryResponse:!0})}},L_=class extends te{constructor(){super(...arguments),this.content=new xI(this._client)}create(e,t,n){return this._client.post(N`/containers/${e}/files`,Jp({body:t,...n},this._client))}retrieve(e,t,n){let{container_id:r}=t;return this._client.get(N`/containers/${r}/files/${e}`,n)}list(e,t={},n){return this._client.getAPIList(N`/containers/${e}/files`,ct,{query:t,...n})}delete(e,t,n){let{container_id:r}=t;return this._client.delete(N`/containers/${r}/files/${e}`,{...n,headers:G([{Accept:"*/*"},n?.headers])})}};L_.Content=xI;var Nc=class extends te{constructor(){super(...arguments),this.files=new L_(this._client)}create(t,n){return this._client.post("/containers",{body:t,...n})}retrieve(t,n){return this._client.get(N`/containers/${t}`,n)}list(t={},n){return this._client.getAPIList("/containers",ct,{query:t,...n})}delete(t,n){return this._client.delete(N`/containers/${t}`,{...n,headers:G([{Accept:"*/*"},n?.headers])})}};Nc.Files=L_;var zd=class extends te{create(t,n,r){let{include:s,...a}=n;return this._client.post(N`/conversations/${t}/items`,{query:{include:s},body:a,...r})}retrieve(t,n,r){let{conversation_id:s,...a}=n;return this._client.get(N`/conversations/${s}/items/${t}`,{query:a,...r})}list(t,n={},r){return this._client.getAPIList(N`/conversations/${t}/items`,ja,{query:n,...r})}delete(t,n,r){let{conversation_id:s}=n;return this._client.delete(N`/conversations/${s}/items/${t}`,r)}},Pc=class extends te{constructor(){super(...arguments),this.items=new zd(this._client)}create(t={},n){return this._client.post("/conversations",{body:t,...n})}retrieve(t,n){return this._client.get(N`/conversations/${t}`,n)}update(t,n,r){return this._client.post(N`/conversations/${t}`,{body:n,...r})}delete(t,n){return this._client.delete(N`/conversations/${t}`,n)}};Pc.Items=zd;var Ud=class extends te{create(t,n){let r=!!t.encoding_format,s=r?t.encoding_format:"base64";r&&Pt(this._client).debug("embeddings/user defined encoding_format:",t.encoding_format);let a=this._client.post("/embeddings",{body:{...t,encoding_format:s},...n});return r?a:(Pt(this._client).debug("embeddings/decoding base64 embeddings from base64"),a._thenUnwrap(i=>(i&&i.data&&i.data.forEach(o=>{let c=o.embedding;o.embedding=xF(c)}),i)))}},Dd=class extends te{retrieve(t,n,r){let{eval_id:s,run_id:a}=n;return this._client.get(N`/evals/${s}/runs/${a}/output_items/${t}`,r)}list(t,n,r){let{eval_id:s,...a}=n;return this._client.getAPIList(N`/evals/${s}/runs/${t}/output_items`,ct,{query:a,...r})}},jc=class extends te{constructor(){super(...arguments),this.outputItems=new Dd(this._client)}create(t,n,r){return this._client.post(N`/evals/${t}/runs`,{body:n,...r})}retrieve(t,n,r){let{eval_id:s}=n;return this._client.get(N`/evals/${s}/runs/${t}`,r)}list(t,n={},r){return this._client.getAPIList(N`/evals/${t}/runs`,ct,{query:n,...r})}delete(t,n,r){let{eval_id:s}=n;return this._client.delete(N`/evals/${s}/runs/${t}`,r)}cancel(t,n,r){let{eval_id:s}=n;return this._client.post(N`/evals/${s}/runs/${t}`,r)}};jc.OutputItems=Dd;var Rc=class extends te{constructor(){super(...arguments),this.runs=new jc(this._client)}create(t,n){return this._client.post("/evals",{body:t,...n})}retrieve(t,n){return this._client.get(N`/evals/${t}`,n)}update(t,n,r){return this._client.post(N`/evals/${t}`,{body:n,...r})}list(t={},n){return this._client.getAPIList("/evals",ct,{query:t,...n})}delete(t,n){return this._client.delete(N`/evals/${t}`,n)}};Rc.Runs=jc;var OI=class extends te{create(e,t){return this._client.post("/files",Ar({body:e,...t},this._client))}retrieve(e,t){return this._client.get(N`/files/${e}`,t)}list(e={},t){return this._client.getAPIList("/files",ct,{query:e,...t})}delete(e,t){return this._client.delete(N`/files/${e}`,t)}content(e,t){return this._client.get(N`/files/${e}/content`,{...t,headers:G([{Accept:"application/binary"},t?.headers]),__binaryResponse:!0})}async waitForProcessing(e,{pollInterval:t=5e3,maxWait:n=1800*1e3}={}){let r=new Set(["processed","error","deleted"]),s=Date.now(),a=await this.retrieve(e);for(;!a.status||!r.has(a.status);)if(await iu(t),a=await this.retrieve(e),Date.now()-s>n)throw new qi({message:`Giving up on waiting for file ${e} to finish processing after ${n} milliseconds.`});return a}},Fd=class extends te{},SI=class extends te{run(e,t){return this._client.post("/fine_tuning/alpha/graders/run",{body:e,...t})}validate(e,t){return this._client.post("/fine_tuning/alpha/graders/validate",{body:e,...t})}},Mc=class extends te{constructor(){super(...arguments),this.graders=new SI(this._client)}};Mc.Graders=SI;var Bd=class extends te{create(t,n,r){return this._client.getAPIList(N`/fine_tuning/checkpoints/${t}/permissions`,Wi,{body:n,method:"post",...r})}retrieve(t,n={},r){return this._client.get(N`/fine_tuning/checkpoints/${t}/permissions`,{query:n,...r})}list(t,n={},r){return this._client.getAPIList(N`/fine_tuning/checkpoints/${t}/permissions`,ja,{query:n,...r})}delete(t,n,r){let{fine_tuned_model_checkpoint:s}=n;return this._client.delete(N`/fine_tuning/checkpoints/${s}/permissions/${t}`,r)}},z_=class extends te{constructor(){super(...arguments),this.permissions=new Bd(this._client)}};z_.Permissions=Bd;var Zd=class extends te{list(t,n={},r){return this._client.getAPIList(N`/fine_tuning/jobs/${t}/checkpoints`,ct,{query:n,...r})}},Lc=class extends te{constructor(){super(...arguments),this.checkpoints=new Zd(this._client)}create(t,n){return this._client.post("/fine_tuning/jobs",{body:t,...n})}retrieve(t,n){return this._client.get(N`/fine_tuning/jobs/${t}`,n)}list(t={},n){return this._client.getAPIList("/fine_tuning/jobs",ct,{query:t,...n})}cancel(t,n){return this._client.post(N`/fine_tuning/jobs/${t}/cancel`,n)}listEvents(t,n={},r){return this._client.getAPIList(N`/fine_tuning/jobs/${t}/events`,ct,{query:n,...r})}pause(t,n){return this._client.post(N`/fine_tuning/jobs/${t}/pause`,n)}resume(t,n){return this._client.post(N`/fine_tuning/jobs/${t}/resume`,n)}};Lc.Checkpoints=Zd;var Ls=class extends te{constructor(){super(...arguments),this.methods=new Fd(this._client),this.jobs=new Lc(this._client),this.checkpoints=new z_(this._client),this.alpha=new Mc(this._client)}};Ls.Methods=Fd;Ls.Jobs=Lc;Ls.Checkpoints=z_;Ls.Alpha=Mc;var Vd=class extends te{},zc=class extends te{constructor(){super(...arguments),this.graderModels=new Vd(this._client)}};zc.GraderModels=Vd;var qd=class extends te{createVariation(t,n){return this._client.post("/images/variations",Ar({body:t,...n},this._client))}edit(t,n){return this._client.post("/images/edits",Ar({body:t,...n,stream:t.stream??!1},this._client))}generate(t,n){return this._client.post("/images/generations",{body:t,...n,stream:t.stream??!1})}},Hd=class extends te{retrieve(t,n){return this._client.get(N`/models/${t}`,n)}list(t){return this._client.getAPIList("/models",Wi,t)}delete(t,n){return this._client.delete(N`/models/${t}`,n)}},Wd=class extends te{create(t,n){return this._client.post("/moderations",{body:t,...n})}},Jd=class extends te{accept(t,n,r){return this._client.post(N`/realtime/calls/${t}/accept`,{body:n,...r,headers:G([{Accept:"*/*"},r?.headers])})}hangup(t,n){return this._client.post(N`/realtime/calls/${t}/hangup`,{...n,headers:G([{Accept:"*/*"},n?.headers])})}refer(t,n,r){return this._client.post(N`/realtime/calls/${t}/refer`,{body:n,...r,headers:G([{Accept:"*/*"},r?.headers])})}reject(t,n={},r){return this._client.post(N`/realtime/calls/${t}/reject`,{body:n,...r,headers:G([{Accept:"*/*"},r?.headers])})}},Gd=class extends te{create(t,n){return this._client.post("/realtime/client_secrets",{body:t,...n})}},Ki=class extends te{constructor(){super(...arguments),this.clientSecrets=new Gd(this._client),this.calls=new Jd(this._client)}};Ki.ClientSecrets=Gd;Ki.Calls=Jd;function OF(e,t){return!t||!TF(t)?{...e,output_parsed:null,output:e.output.map(n=>n.type==="function_call"?{...n,parsed_arguments:null}:n.type==="message"?{...n,content:n.content.map(r=>({...r,parsed:null}))}:n)}:TI(e,t)}function TI(e,t){let n=e.output.map(s=>{if(s.type==="function_call")return{...s,parsed_arguments:AF(t,s)};if(s.type==="message"){let a=s.content.map(i=>i.type==="output_text"?{...i,parsed:SF(t,i.text)}:i);return{...s,content:a}}return s}),r=Object.assign({},e,{output:n});return Object.getOwnPropertyDescriptor(e,"output_text")||Gg(r),Object.defineProperty(r,"output_parsed",{enumerable:!0,get(){for(let s of r.output)if(s.type==="message"){for(let a of s.content)if(a.type==="output_text"&&a.parsed!==null)return a.parsed}return null}}),r}function SF(e,t){return e.text?.format?.type!=="json_schema"?null:"$parseRaw"in e.text?.format?(e.text?.format).$parseRaw(t):JSON.parse(t)}function TF(e){return!!P_(e.text?.format)}function IF(e){return e?.$brand==="auto-parseable-tool"}function EF(e,t){return e.find(n=>n.type==="function"&&n.name===t)}function AF(e,t){let n=EF(e.tools??[],t.name);return{...t,...t,parsed_arguments:IF(n)?n.$parseRaw(t.arguments):n?.strict?JSON.parse(t.arguments):null}}function Gg(e){let t=[];for(let n of e.output)if(n.type==="message")for(let r of n.content)r.type==="output_text"&&t.push(r.text);e.output_text=t.join("")}var Ka,qu,os,Hu,h1,f1,m1,g1,Kg=class e extends $c{constructor(t){super(),Ka.add(this),qu.set(this,void 0),os.set(this,void 0),Hu.set(this,void 0),ge(this,qu,t)}static createResponse(t,n,r){let s=new e(n);return s._run(()=>s._createOrRetrieveResponse(t,n,{...r,headers:{...r?.headers,"X-Stainless-Helper-Method":"stream"}})),s}async _createOrRetrieveResponse(t,n,r){let s=r?.signal;s&&(s.aborted&&this.controller.abort(),s.addEventListener("abort",()=>this.controller.abort())),S(this,Ka,"m",h1).call(this);let a,i=null;"response_id"in n?(a=await t.responses.retrieve(n.response_id,{stream:!0},{...r,signal:this.controller.signal,stream:!0}),i=n.starting_after??null):a=await t.responses.create({...n,stream:!0},{...r,signal:this.controller.signal}),this._connected();for await(let o of a)S(this,Ka,"m",f1).call(this,o,i);if(a.controller.signal?.aborted)throw new en;return S(this,Ka,"m",m1).call(this)}[(qu=new WeakMap,os=new WeakMap,Hu=new WeakMap,Ka=new WeakSet,h1=function(){this.ended||ge(this,os,void 0)},f1=function(t,n){if(this.ended)return;let r=(a,i)=>{(n==null||i.sequence_number>n)&&this._emit(a,i)},s=S(this,Ka,"m",g1).call(this,t);switch(r("event",t),t.type){case"response.output_text.delta":{let a=s.output[t.output_index];if(!a)throw new le(`missing output at index ${t.output_index}`);if(a.type==="message"){let i=a.content[t.content_index];if(!i)throw new le(`missing content at index ${t.content_index}`);if(i.type!=="output_text")throw new le(`expected content to be 'output_text', got ${i.type}`);r("response.output_text.delta",{...t,snapshot:i.text})}break}case"response.function_call_arguments.delta":{let a=s.output[t.output_index];if(!a)throw new le(`missing output at index ${t.output_index}`);a.type==="function_call"&&r("response.function_call_arguments.delta",{...t,snapshot:a.arguments});break}default:r(t.type,t);break}},m1=function(){if(this.ended)throw new le("stream has ended, this shouldn't happen");let t=S(this,os,"f");if(!t)throw new le("request ended without sending any events");ge(this,os,void 0);let n=$F(t,S(this,qu,"f"));return ge(this,Hu,n),n},g1=function(t){let n=S(this,os,"f");if(!n){if(t.type!=="response.created")throw new le(`When snapshot hasn't been set yet, expected 'response.created' event, got ${t.type}`);return n=ge(this,os,t.response),n}switch(t.type){case"response.output_item.added":{n.output.push(t.item);break}case"response.content_part.added":{let r=n.output[t.output_index];if(!r)throw new le(`missing output at index ${t.output_index}`);let s=r.type,a=t.part;s==="message"&&a.type!=="reasoning_text"?r.content.push(a):s==="reasoning"&&a.type==="reasoning_text"&&(r.content||(r.content=[]),r.content.push(a));break}case"response.output_text.delta":{let r=n.output[t.output_index];if(!r)throw new le(`missing output at index ${t.output_index}`);if(r.type==="message"){let s=r.content[t.content_index];if(!s)throw new le(`missing content at index ${t.content_index}`);if(s.type!=="output_text")throw new le(`expected content to be 'output_text', got ${s.type}`);s.text+=t.delta}break}case"response.function_call_arguments.delta":{let r=n.output[t.output_index];if(!r)throw new le(`missing output at index ${t.output_index}`);r.type==="function_call"&&(r.arguments+=t.delta);break}case"response.reasoning_text.delta":{let r=n.output[t.output_index];if(!r)throw new le(`missing output at index ${t.output_index}`);if(r.type==="reasoning"){let s=r.content?.[t.content_index];if(!s)throw new le(`missing content at index ${t.content_index}`);if(s.type!=="reasoning_text")throw new le(`expected content to be 'reasoning_text', got ${s.type}`);s.text+=t.delta}break}case"response.completed":{ge(this,os,t.response);break}}return n},Symbol.asyncIterator)](){let t=[],n=[],r=!1;return this.on("event",s=>{let a=n.shift();a?a.resolve(s):t.push(s)}),this.on("end",()=>{r=!0;for(let s of n)s.resolve(void 0);n.length=0}),this.on("abort",s=>{r=!0;for(let a of n)a.reject(s);n.length=0}),this.on("error",s=>{r=!0;for(let a of n)a.reject(s);n.length=0}),{next:async()=>t.length?{value:t.shift(),done:!1}:r?{value:void 0,done:!0}:new Promise((s,a)=>n.push({resolve:s,reject:a})).then(s=>s?{value:s,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}async finalResponse(){await this.done();let t=S(this,Hu,"f");if(!t)throw new le("stream ended without producing a ChatCompletion");return t}};function $F(e,t){return OF(e,t)}var Kd=class extends te{list(t,n={},r){return this._client.getAPIList(N`/responses/${t}/input_items`,ct,{query:n,...r})}},Xd=class extends te{count(t={},n){return this._client.post("/responses/input_tokens",{body:t,...n})}},Xi=class extends te{constructor(){super(...arguments),this.inputItems=new Kd(this._client),this.inputTokens=new Xd(this._client)}create(t,n){return this._client.post("/responses",{body:t,...n,stream:t.stream??!1})._thenUnwrap(r=>("object"in r&&r.object==="response"&&Gg(r),r))}retrieve(t,n={},r){return this._client.get(N`/responses/${t}`,{query:n,...r,stream:n?.stream??!1})._thenUnwrap(s=>("object"in s&&s.object==="response"&&Gg(s),s))}delete(t,n){return this._client.delete(N`/responses/${t}`,{...n,headers:G([{Accept:"*/*"},n?.headers])})}parse(t,n){return this._client.responses.create(t,n)._thenUnwrap(r=>TI(r,t))}stream(t,n){return Kg.createResponse(this._client,t,n)}cancel(t,n){return this._client.post(N`/responses/${t}/cancel`,n)}compact(t,n){return this._client.post("/responses/compact",{body:t,...n})}};Xi.InputItems=Kd;Xi.InputTokens=Xd;var II=class extends te{retrieve(e,t){return this._client.get(N`/skills/${e}/content`,{...t,headers:G([{Accept:"application/binary"},t?.headers]),__binaryResponse:!0})}},Yd=class extends te{retrieve(t,n,r){let{skill_id:s}=n;return this._client.get(N`/skills/${s}/versions/${t}/content`,{...r,headers:G([{Accept:"application/binary"},r?.headers]),__binaryResponse:!0})}},Uc=class extends te{constructor(){super(...arguments),this.content=new Yd(this._client)}create(t,n={},r){return this._client.post(N`/skills/${t}/versions`,Jp({body:n,...r},this._client))}retrieve(t,n,r){let{skill_id:s}=n;return this._client.get(N`/skills/${s}/versions/${t}`,r)}list(t,n={},r){return this._client.getAPIList(N`/skills/${t}/versions`,ct,{query:n,...r})}delete(t,n,r){let{skill_id:s}=n;return this._client.delete(N`/skills/${s}/versions/${t}`,r)}};Uc.Content=Yd;var Yi=class extends te{constructor(){super(...arguments),this.content=new II(this._client),this.versions=new Uc(this._client)}create(t={},n){return this._client.post("/skills",Jp({body:t,...n},this._client))}retrieve(t,n){return this._client.get(N`/skills/${t}`,n)}update(t,n,r){return this._client.post(N`/skills/${t}`,{body:n,...r})}list(t={},n){return this._client.getAPIList("/skills",ct,{query:t,...n})}delete(t,n){return this._client.delete(N`/skills/${t}`,n)}};Yi.Content=II;Yi.Versions=Uc;var Qd=class extends te{create(t,n,r){return this._client.post(N`/uploads/${t}/parts`,Ar({body:n,...r},this._client))}},Dc=class extends te{constructor(){super(...arguments),this.parts=new Qd(this._client)}create(t,n){return this._client.post("/uploads",{body:t,...n})}cancel(t,n){return this._client.post(N`/uploads/${t}/cancel`,n)}complete(t,n,r){return this._client.post(N`/uploads/${t}/complete`,{body:n,...r})}};Dc.Parts=Qd;var CF=async e=>{let t=await Promise.allSettled(e),n=t.filter(s=>s.status==="rejected");if(n.length){for(let s of n)console.error(s.reason);throw new Error(`${n.length} promise(s) failed - see the above errors`)}let r=[];for(let s of t)s.status==="fulfilled"&&r.push(s.value);return r},ep=class extends te{create(t,n,r){return this._client.post(N`/vector_stores/${t}/file_batches`,{body:n,...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}retrieve(t,n,r){let{vector_store_id:s}=n;return this._client.get(N`/vector_stores/${s}/file_batches/${t}`,{...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}cancel(t,n,r){let{vector_store_id:s}=n;return this._client.post(N`/vector_stores/${s}/file_batches/${t}/cancel`,{...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}async createAndPoll(t,n,r){let s=await this.create(t,n);return await this.poll(t,s.id,r)}listFiles(t,n,r){let{vector_store_id:s,...a}=n;return this._client.getAPIList(N`/vector_stores/${s}/file_batches/${t}/files`,ct,{query:a,...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}async poll(t,n,r){let s=G([r?.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":r?.pollIntervalMs?.toString()??void 0}]);for(;;){let{data:a,response:i}=await this.retrieve(n,{vector_store_id:t},{...r,headers:s}).withResponse();switch(a.status){case"in_progress":let o=5e3;if(r?.pollIntervalMs)o=r.pollIntervalMs;else{let c=i.headers.get("openai-poll-after-ms");if(c){let u=parseInt(c);isNaN(u)||(o=u)}}await iu(o);break;case"failed":case"cancelled":case"completed":return a}}}async uploadAndPoll(t,{files:n,fileIds:r=[]},s){if(n==null||n.length==0)throw new Error("No `files` provided to process. If you've already uploaded files you should use `.createAndPoll()` instead");let a=s?.maxConcurrency??5,i=Math.min(a,n.length),o=this._client,c=n.values(),u=[...r];async function l(p){for(let h of p){let f=await o.files.create({file:h,purpose:"assistants"},s);u.push(f.id)}}let d=Array(i).fill(c).map(l);return await CF(d),await this.createAndPoll(t,{file_ids:u})}},tp=class extends te{create(t,n,r){return this._client.post(N`/vector_stores/${t}/files`,{body:n,...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}retrieve(t,n,r){let{vector_store_id:s}=n;return this._client.get(N`/vector_stores/${s}/files/${t}`,{...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}update(t,n,r){let{vector_store_id:s,...a}=n;return this._client.post(N`/vector_stores/${s}/files/${t}`,{body:a,...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}list(t,n={},r){return this._client.getAPIList(N`/vector_stores/${t}/files`,ct,{query:n,...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}delete(t,n,r){let{vector_store_id:s}=n;return this._client.delete(N`/vector_stores/${s}/files/${t}`,{...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}async createAndPoll(t,n,r){let s=await this.create(t,n,r);return await this.poll(t,s.id,r)}async poll(t,n,r){let s=G([r?.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":r?.pollIntervalMs?.toString()??void 0}]);for(;;){let a=await this.retrieve(n,{vector_store_id:t},{...r,headers:s}).withResponse(),i=a.data;switch(i.status){case"in_progress":let o=5e3;if(r?.pollIntervalMs)o=r.pollIntervalMs;else{let c=a.response.headers.get("openai-poll-after-ms");if(c){let u=parseInt(c);isNaN(u)||(o=u)}}await iu(o);break;case"failed":case"completed":return i}}}async upload(t,n,r){let s=await this._client.files.create({file:n,purpose:"assistants"},r);return this.create(t,{file_id:s.id},r)}async uploadAndPoll(t,n,r){let s=await this.upload(t,n,r);return await this.poll(t,s.id,r)}content(t,n,r){let{vector_store_id:s}=n;return this._client.getAPIList(N`/vector_stores/${s}/files/${t}/content`,Wi,{...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}},Qi=class extends te{constructor(){super(...arguments),this.files=new tp(this._client),this.fileBatches=new ep(this._client)}create(t,n){return this._client.post("/vector_stores",{body:t,...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}retrieve(t,n){return this._client.get(N`/vector_stores/${t}`,{...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}update(t,n,r){return this._client.post(N`/vector_stores/${t}`,{body:n,...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}list(t={},n){return this._client.getAPIList("/vector_stores",ct,{query:t,...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}delete(t,n){return this._client.delete(N`/vector_stores/${t}`,{...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}search(t,n,r){return this._client.getAPIList(N`/vector_stores/${t}/search`,Wi,{body:n,method:"post",...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}};Qi.Files=tp;Qi.FileBatches=ep;var np=class extends te{create(t,n){return this._client.post("/videos",Ar({body:t,...n},this._client))}retrieve(t,n){return this._client.get(N`/videos/${t}`,n)}list(t={},n){return this._client.getAPIList("/videos",ja,{query:t,...n})}delete(t,n){return this._client.delete(N`/videos/${t}`,n)}createCharacter(t,n){return this._client.post("/videos/characters",Ar({body:t,...n},this._client))}downloadContent(t,n={},r){return this._client.get(N`/videos/${t}/content`,{query:n,...r,headers:G([{Accept:"application/binary"},r?.headers]),__binaryResponse:!0})}edit(t,n){return this._client.post("/videos/edits",Ar({body:t,...n},this._client))}extend(t,n){return this._client.post("/videos/extensions",Ar({body:t,...n},this._client))}getCharacter(t,n){return this._client.get(N`/videos/characters/${t}`,n)}remix(t,n,r){return this._client.post(N`/videos/${t}/remix`,Jp({body:n,...r},this._client))}},si,EI,Sl,rp=class extends te{constructor(){super(...arguments),si.add(this)}async unwrap(t,n,r=this._client.webhookSecret,s=300){return await this.verifySignature(t,n,r,s),JSON.parse(t)}async verifySignature(t,n,r=this._client.webhookSecret,s=300){if(typeof crypto>"u"||typeof crypto.subtle.importKey!="function"||typeof crypto.subtle.verify!="function")throw new Error("Webhook signature verification is only supported when the `crypto` global is defined");S(this,si,"m",EI).call(this,r);let a=G([n]).values,i=S(this,si,"m",Sl).call(this,a,"webhook-signature"),o=S(this,si,"m",Sl).call(this,a,"webhook-timestamp"),c=S(this,si,"m",Sl).call(this,a,"webhook-id"),u=parseInt(o,10);if(isNaN(u))throw new aa("Invalid webhook timestamp format");let l=Math.floor(Date.now()/1e3);if(l-u>s)throw new aa("Webhook timestamp is too old");if(u>l+s)throw new aa("Webhook timestamp is too new");let d=i.split(" ").map(m=>m.startsWith("v1,")?m.substring(3):m),p=r.startsWith("whsec_")?Buffer.from(r.replace("whsec_",""),"base64"):Buffer.from(r,"utf-8"),h=c?`${c}.${o}.${t}`:`${o}.${t}`,f=await crypto.subtle.importKey("raw",p,{name:"HMAC",hash:"SHA-256"},!1,["verify"]);for(let m of d)try{let v=Buffer.from(m,"base64");if(await crypto.subtle.verify("HMAC",f,v,new TextEncoder().encode(h)))return}catch{continue}throw new aa("The given webhook signature does not match the expected signature")}};si=new WeakSet,EI=function(e){if(typeof e!="string"||e.length===0)throw new Error("The webhook secret must either be set using the env var, OPENAI_WEBHOOK_SECRET, on the client class, OpenAI({ webhookSecret: '123' }), or passed to this function")},Sl=function(e,t){if(!e)throw new Error("Headers are required");let n=e.get(t);if(n==null)throw new Error(`Missing required header: ${t}`);return n};var Xg,U_,Tl,AI,be=class{constructor({baseURL:t=Ga("OPENAI_BASE_URL"),apiKey:n=Ga("OPENAI_API_KEY"),organization:r=Ga("OPENAI_ORG_ID")??null,project:s=Ga("OPENAI_PROJECT_ID")??null,webhookSecret:a=Ga("OPENAI_WEBHOOK_SECRET")??null,...i}={}){if(Xg.add(this),Tl.set(this,void 0),this.completions=new Ld(this),this.chat=new Cc(this),this.embeddings=new Ud(this),this.files=new OI(this),this.images=new qd(this),this.audio=new Ra(this),this.moderations=new Wd(this),this.models=new Hd(this),this.fineTuning=new Ls(this),this.graders=new zc(this),this.vectorStores=new Qi(this),this.webhooks=new rp(this),this.beta=new Ms(this),this.batches=new $d(this),this.uploads=new Dc(this),this.responses=new Xi(this),this.realtime=new Ki(this),this.conversations=new Pc(this),this.evals=new Rc(this),this.containers=new Nc(this),this.skills=new Yi(this),this.videos=new np(this),n===void 0)throw new le("Missing credentials. Please pass an `apiKey`, or set the `OPENAI_API_KEY` environment variable.");let o={apiKey:n,organization:r,project:s,webhookSecret:a,...i,baseURL:t||"https://api.openai.com/v1"};if(!o.dangerouslyAllowBrowser&&R3())throw new le(`It looks like you're running in a browser-like environment.
290
+
291
+ This is disabled by default, as it risks exposing your secret API credentials to attackers.
292
+ If you understand the risks and have appropriate mitigations in place,
293
+ you can set the \`dangerouslyAllowBrowser\` option to \`true\`, e.g.,
294
+
295
+ new OpenAI({ apiKey, dangerouslyAllowBrowser: true });
296
+
297
+ https://help.openai.com/en/articles/5112595-best-practices-for-api-key-safety
298
+ `);this.baseURL=o.baseURL,this.timeout=o.timeout??U_.DEFAULT_TIMEOUT,this.logger=o.logger??console;let c="warn";this.logLevel=c,this.logLevel=e1(o.logLevel,"ClientOptions.logLevel",this)??e1(Ga("OPENAI_LOG"),"process.env['OPENAI_LOG']",this)??c,this.fetchOptions=o.fetchOptions,this.maxRetries=o.maxRetries??2,this.fetch=o.fetch??D3(),ge(this,Tl,B3),this._options=o,this.apiKey=typeof n=="string"?n:"Missing Key",this.organization=r,this.project=s,this.webhookSecret=a}withOptions(t){return new this.constructor({...this._options,baseURL:this.baseURL,maxRetries:this.maxRetries,timeout:this.timeout,logger:this.logger,logLevel:this.logLevel,fetch:this.fetch,fetchOptions:this.fetchOptions,apiKey:this.apiKey,organization:this.organization,project:this.project,webhookSecret:this.webhookSecret,...t})}defaultQuery(){return this._options.defaultQuery}validateHeaders({values:t,nulls:n}){}async authHeaders(t){return G([{Authorization:`Bearer ${this.apiKey}`}])}stringifyQuery(t){return G3(t)}getUserAgent(){return`${this.constructor.name}/JS ${ni}`}defaultIdempotencyKey(){return`stainless-node-retry-${LT()}`}makeStatusError(t,n,r,s){return Ht.generate(t,n,r,s)}async _callApiKey(){let t=this._options.apiKey;if(typeof t!="function")return!1;let n;try{n=await t()}catch(r){throw r instanceof le?r:new le(`Failed to get token from 'apiKey' function: ${r.message}`,{cause:r})}if(typeof n!="string"||!n)throw new le(`Expected 'apiKey' function argument to return a string but it returned ${n}`);return this.apiKey=n,!0}buildURL(t,n,r){let s=!S(this,Xg,"m",AI).call(this)&&r||this.baseURL,a=C3(t)?new URL(t):new URL(s+(s.endsWith("/")&&t.startsWith("/")?t.slice(1):t)),i=this.defaultQuery(),o=Object.fromEntries(a.searchParams);return(!Vb(i)||!Vb(o))&&(n={...o,...i,...n}),typeof n=="object"&&n&&!Array.isArray(n)&&(a.search=this.stringifyQuery(n)),a.toString()}async prepareOptions(t){await this._callApiKey()}async prepareRequest(t,{url:n,options:r}){}get(t,n){return this.methodRequest("get",t,n)}post(t,n){return this.methodRequest("post",t,n)}patch(t,n){return this.methodRequest("patch",t,n)}put(t,n){return this.methodRequest("put",t,n)}delete(t,n){return this.methodRequest("delete",t,n)}methodRequest(t,n,r){return this.request(Promise.resolve(r).then(s=>({method:t,path:n,...s})))}request(t,n=null){return new vd(this,this.makeRequest(t,n,void 0))}async makeRequest(t,n,r){let s=await t,a=s.maxRetries??this.maxRetries;n==null&&(n=a),await this.prepareOptions(s);let{req:i,url:o,timeout:c}=await this.buildRequest(s,{retryCount:a-n});await this.prepareRequest(i,{url:o,options:s});let u="log_"+(Math.random()*(1<<24)|0).toString(16).padStart(6,"0"),l=r===void 0?"":`, retryOf: ${r}`,d=Date.now();if(Pt(this).debug(`[${u}] sending request`,Ys({retryOfRequestLogID:r,method:s.method,url:o,options:s,headers:i.headers})),s.signal?.aborted)throw new en;let p=new AbortController,h=await this.fetchWithTimeout(o,i,c,p).catch(Ng),f=Date.now();if(h instanceof globalThis.Error){let g=`retrying, ${n} attempts remaining`;if(s.signal?.aborted)throw new en;let y=Cg(h)||/timed? ?out/i.test(String(h)+("cause"in h?String(h.cause):""));if(n)return Pt(this).info(`[${u}] connection ${y?"timed out":"failed"} - ${g}`),Pt(this).debug(`[${u}] connection ${y?"timed out":"failed"} (${g})`,Ys({retryOfRequestLogID:r,url:o,durationMs:f-d,message:h.message})),this.retryRequest(s,n,r??u);throw Pt(this).info(`[${u}] connection ${y?"timed out":"failed"} - error; no more retries left`),Pt(this).debug(`[${u}] connection ${y?"timed out":"failed"} (error; no more retries left)`,Ys({retryOfRequestLogID:r,url:o,durationMs:f-d,message:h.message})),y?new qi:new Vi({cause:h})}let m=[...h.headers.entries()].filter(([g])=>g==="x-request-id").map(([g,y])=>", "+g+": "+JSON.stringify(y)).join(""),v=`[${u}${l}${m}] ${i.method} ${o} ${h.ok?"succeeded":"failed"} with status ${h.status} in ${f-d}ms`;if(!h.ok){let g=await this.shouldRetry(h);if(n&&g){let A=`retrying, ${n} attempts remaining`;return await F3(h.body),Pt(this).info(`${v} - ${A}`),Pt(this).debug(`[${u}] response error (${A})`,Ys({retryOfRequestLogID:r,url:h.url,status:h.status,headers:h.headers,durationMs:f-d})),this.retryRequest(s,n,r??u,h.headers)}let y=g?"error; no more retries left":"error; not retryable";Pt(this).info(`${v} - ${y}`);let k=await h.text().catch(A=>Ng(A).message),x=j3(k),T=x?void 0:k;throw Pt(this).debug(`[${u}] response error (${y})`,Ys({retryOfRequestLogID:r,url:h.url,status:h.status,headers:h.headers,message:T,durationMs:Date.now()-d})),this.makeStatusError(h.status,x,T,h.headers)}return Pt(this).info(v),Pt(this).debug(`[${u}] response start`,Ys({retryOfRequestLogID:r,url:h.url,status:h.status,headers:h.headers,durationMs:f-d})),{response:h,options:s,controller:p,requestLogID:u,retryOfRequestLogID:r,startTime:d}}getAPIList(t,n,r){return this.requestAPIList(n,r&&"then"in r?r.then(s=>({method:"get",path:t,...s})):{method:"get",path:t,...r})}requestAPIList(t,n){let r=this.makeRequest(n,null,void 0);return new Rg(this,r,t)}async fetchWithTimeout(t,n,r,s){let{signal:a,method:i,...o}=n||{},c=this._makeAbort(s);a&&a.addEventListener("abort",c,{once:!0});let u=setTimeout(c,r),l=globalThis.ReadableStream&&o.body instanceof globalThis.ReadableStream||typeof o.body=="object"&&o.body!==null&&Symbol.asyncIterator in o.body,d={signal:s.signal,...l?{duplex:"half"}:{},method:"GET",...o};i&&(d.method=i.toUpperCase());try{return await this.fetch.call(void 0,t,d)}finally{clearTimeout(u)}}async shouldRetry(t){let n=t.headers.get("x-should-retry");return n==="true"?!0:n==="false"?!1:t.status===408||t.status===409||t.status===429||t.status>=500}async retryRequest(t,n,r,s){let a,i=s?.get("retry-after-ms");if(i){let c=parseFloat(i);Number.isNaN(c)||(a=c)}let o=s?.get("retry-after");if(o&&!a){let c=parseFloat(o);Number.isNaN(c)?a=Date.parse(o)-Date.now():a=c*1e3}if(a===void 0){let c=t.maxRetries??this.maxRetries;a=this.calculateDefaultRetryTimeoutMillis(n,c)}return await iu(a),this.makeRequest(t,n-1,r)}calculateDefaultRetryTimeoutMillis(t,n){let r=n-t,s=Math.min(.5*Math.pow(2,r),8),a=1-Math.random()*.25;return s*a*1e3}async buildRequest(t,{retryCount:n=0}={}){let r={...t},{method:s,path:a,query:i,defaultBaseURL:o}=r,c=this.buildURL(a,i,o);"timeout"in r&&P3("timeout",r.timeout),r.timeout=r.timeout??this.timeout;let{bodyHeaders:u,body:l}=this.buildBody({options:r}),d=await this.buildHeaders({options:t,method:s,bodyHeaders:u,retryCount:n});return{req:{method:s,headers:d,...r.signal&&{signal:r.signal},...globalThis.ReadableStream&&l instanceof globalThis.ReadableStream&&{duplex:"half"},...l&&{body:l},...this.fetchOptions??{},...r.fetchOptions??{}},url:c,timeout:r.timeout}}async buildHeaders({options:t,method:n,bodyHeaders:r,retryCount:s}){let a={};this.idempotencyHeader&&n!=="get"&&(t.idempotencyKey||(t.idempotencyKey=this.defaultIdempotencyKey()),a[this.idempotencyHeader]=t.idempotencyKey);let i=G([a,{Accept:"application/json","User-Agent":this.getUserAgent(),"X-Stainless-Retry-Count":String(s),...t.timeout?{"X-Stainless-Timeout":String(Math.trunc(t.timeout/1e3))}:{},...U3(),"OpenAI-Organization":this.organization,"OpenAI-Project":this.project},await this.authHeaders(t),this._options.defaultHeaders,r,t.headers]);return this.validateHeaders(i),i.values}_makeAbort(t){return()=>t.abort()}buildBody({options:{body:t,headers:n}}){if(!t)return{bodyHeaders:void 0,body:void 0};let r=G([n]);return ArrayBuffer.isView(t)||t instanceof ArrayBuffer||t instanceof DataView||typeof t=="string"&&r.values.has("content-type")||globalThis.Blob&&t instanceof globalThis.Blob||t instanceof FormData||t instanceof URLSearchParams||globalThis.ReadableStream&&t instanceof globalThis.ReadableStream?{bodyHeaders:void 0,body:t}:typeof t=="object"&&(Symbol.asyncIterator in t||Symbol.iterator in t&&"next"in t&&typeof t.next=="function")?{bodyHeaders:void 0,body:DT(t)}:typeof t=="object"&&r.values.get("content-type")==="application/x-www-form-urlencoded"?{bodyHeaders:{"content-type":"application/x-www-form-urlencoded"},body:this.stringifyQuery(t)}:S(this,Tl,"f").call(this,{body:t,headers:r})}};U_=be,Tl=new WeakMap,Xg=new WeakSet,AI=function(){return this.baseURL!=="https://api.openai.com/v1"};be.OpenAI=U_;be.DEFAULT_TIMEOUT=6e5;be.OpenAIError=le;be.APIError=Ht;be.APIConnectionError=Vi;be.APIConnectionTimeoutError=qi;be.APIUserAbortError=en;be.NotFoundError=dd;be.ConflictError=pd;be.RateLimitError=fd;be.BadRequestError=cd;be.AuthenticationError=ud;be.InternalServerError=md;be.PermissionDeniedError=ld;be.UnprocessableEntityError=hd;be.InvalidWebhookSignatureError=aa;be.toFile=oF;be.Completions=Ld;be.Chat=Cc;be.Embeddings=Ud;be.Files=OI;be.Images=qd;be.Audio=Ra;be.Moderations=Wd;be.Models=Hd;be.FineTuning=Ls;be.Graders=zc;be.VectorStores=Qi;be.Webhooks=rp;be.Beta=Ms;be.Batches=$d;be.Uploads=Dc;be.Responses=Xi;be.Realtime=Ki;be.Conversations=Pc;be.Evals=Rc;be.Containers=Nc;be.Skills=Yi;be.Videos=np;function NF(e){return!!(String(e).includes("context_length_exceeded")||"message"in e&&typeof e.message=="string"&&(e.message.includes("Input tokens exceed the configured limit")||e.message.includes("exceeds the context window")))}function D_(e){if(!e||typeof e!="object")return e;let t;return e.constructor.name===qi.name&&"message"in e&&typeof e.message=="string"?(t=new Error(e.message),t.name="TimeoutError"):e.constructor.name===en.name&&"message"in e&&typeof e.message=="string"?(t=new Error(e.message),t.name="AbortError"):NF(e)?t=yk.fromError(e):"status"in e&&e.status===400&&"message"in e&&typeof e.message=="string"&&e.message.includes("tool_calls")?t=Uu(e,"INVALID_TOOL_RESULTS"):"status"in e&&e.status===401?t=Uu(e,"MODEL_AUTHENTICATION"):"status"in e&&e.status===429?t=Uu(e,"MODEL_RATE_LIMIT"):"status"in e&&e.status===404?t=Uu(e,"MODEL_NOT_FOUND"):t=e,t}var ga=e=>e();function cu(e){return e?!!(/^o\d/.test(e??"")||e.startsWith("gpt-5")&&!e.startsWith("gpt-5-chat")):!1}function PF(e){return e.role!=="system"&&e.role!=="developer"&&e.role!=="assistant"&&e.role!=="user"&&e.role!=="function"&&e.role!=="tool"&&console.warn(`Unknown message role: ${e.role}`),e.role}function y1(e){return e.metadata?.filename??e.metadata?.name??e.metadata?.title}function sp(e){let t=e.metadata?.filename??e.metadata?.name??e.metadata?.title;if(!t)throw new Error("a filename or name or title is needed via meta-data for OpenAI when working with multimodal blocks");return t}function uu(e){let t=e._getType();switch(t){case"system":return"system";case"ai":return"assistant";case"human":return"user";case"function":return"function";case"tool":return"tool";case"generic":if(!ns.isInstance(e))throw new Error("Invalid generic chat message");return PF(e);default:throw new Error(`Unknown message type: ${t}`)}}function jF(e){return!!(e.includes("gpt-5.2-pro")||e.includes("gpt-5.4-pro")||e.includes("codex"))}function RF(e){let{azureOpenAIApiDeploymentName:t,azureOpenAIApiInstanceName:n,azureOpenAIApiKey:r,azureOpenAIBasePath:s,baseURL:a,azureADTokenProvider:i,azureOpenAIEndpoint:o}=e;if((r||i)&&s&&t)return`${s}/${t}`;if((r||i)&&o&&t)return`${o}/openai/deployments/${t}`;if(r||i){if(!n)throw new Error("azureOpenAIApiInstanceName is required when using azureOpenAIApiKey");if(!t)throw new Error("azureOpenAIApiDeploymentName is a required parameter when using azureOpenAIApiKey");return`https://${n}.openai.azure.com/openai/deployments/${t}`}return a}function _1(e){return typeof Headers<"u"&&e!==null&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Headers]"}function MF(e){let t=ga(()=>{if(_1(e))return e;if(Array.isArray(e))return new Headers(e);if(typeof e=="object"&&e!==null&&"values"in e&&_1(e.values))return e.values;if(typeof e=="object"&&e!==null){let n=Object.entries(e).filter(([,r])=>typeof r=="string").map(([r,s])=>[r,s]);return new Headers(n)}return new Headers});return Object.fromEntries(t.entries())}function LF(){let e=ly();return(e==="node"||e==="deno")&&(e=`(${e}/${process.version}; ${process.platform}; ${process.arch})`),e}function zF(e,t=!1,n="1.0.0"){let r=MF(e),s=LF(),a=`langchainjs${t?"-azure":""}-openai`;return{...r,"User-Agent":r["User-Agent"]?`${a}/${n} (${s})${r["User-Agent"]}`:`${a}/${n} (${s})`}}function UF(e,t){let n;return su(e)?n=AS(e):n=e,t?.strict!==void 0&&(n.function.strict=t.strict),n}function DF(e){return e.anyOf!==void 0&&Array.isArray(e.anyOf)}function FF(e){let t=["namespace functions {",""];for(let n of e)n.description&&t.push(`// ${n.description}`),Object.keys(n.parameters.properties??{}).length>0?(t.push(`type ${n.name} = (_: {`),t.push($I(n.parameters,0)),t.push("}) => any;")):t.push(`type ${n.name} = () => any;`),t.push("");return t.push("} // namespace functions"),t.join(`
299
+ `)}function $I(e,t){let n=[];for(let[r,s]of Object.entries(e.properties??{}))s.description&&t<2&&n.push(`// ${s.description}`),e.required?.includes(r)?n.push(`${r}: ${ap(s,t)},`):n.push(`${r}?: ${ap(s,t)},`);return n.map(r=>" ".repeat(t)+r).join(`
300
+ `)}function ap(e,t){if(DF(e))return e.anyOf.map(n=>ap(n,t)).join(" | ");switch(e.type){case"string":return e.enum?e.enum.map(n=>`"${n}"`).join(" | "):"string";case"number":return e.enum?e.enum.map(n=>`${n}`).join(" | "):"number";case"integer":return e.enum?e.enum.map(n=>`${n}`).join(" | "):"number";case"boolean":return"boolean";case"null":return"null";case"object":return["{",$I(e,t+2),"}"].join(`
301
+ `);case"array":return e.items?`${ap(e.items,t)}[]`:"any[]";default:return""}}function CI(e){if(e)return e==="any"||e==="required"?"required":e==="auto"?"auto":e==="none"?"none":typeof e=="string"?{type:"function",function:{name:e}}:e}function F_(e){return"type"in e&&e.type!=="function"}function BF(e){return typeof e=="object"&&e!==null&&"extras"in e&&typeof e.extras=="object"&&e.extras!==null&&"providerToolDefinition"in e.extras&&typeof e.extras.providerToolDefinition=="object"&&e.extras.providerToolDefinition!==null}function ZF(e){return e!=null&&typeof e=="object"&&"type"in e&&e.type!=="function"}function ip(e){return typeof e=="object"&&e!==null&&"metadata"in e&&typeof e.metadata=="object"&&e.metadata!==null&&"customTool"in e.metadata&&typeof e.metadata.customTool=="object"&&e.metadata.customTool!==null}function NI(e){return"type"in e&&e.type==="custom"&&"custom"in e&&typeof e.custom=="object"&&e.custom!==null}function VF(e){if(e.type==="custom_tool_call")return{...e,type:"tool_call",call_id:e.id,id:e.call_id,name:e.name,isCustomTool:!0,args:{input:e.input}}}function qF(e){if(e.type==="computer_call")return{...e,type:"tool_call",call_id:e.id,id:e.call_id,name:"computer_use",isComputerTool:!0,args:{action:e.action}}}function HF(e){return typeof e=="object"&&e!==null&&"type"in e&&e.type==="tool_call"&&"isComputerTool"in e&&e.isComputerTool===!0}function WF(e){return typeof e=="object"&&e!==null&&"type"in e&&e.type==="tool_call"&&"isCustomTool"in e&&e.isCustomTool===!0}function JF(e){let t=()=>{if(e.custom.format){if(e.custom.format.type==="grammar")return{type:"grammar",definition:e.custom.format.grammar.definition,syntax:e.custom.format.grammar.syntax};if(e.custom.format.type==="text")return{type:"text"}}};return{type:"custom",name:e.custom.name,description:e.custom.description,format:t()}}function GF(e){let t=()=>{if(e.format){if(e.format.type==="grammar")return{type:"grammar",grammar:{definition:e.format.definition,syntax:e.format.syntax}};if(e.format.type==="text")return{type:"text"}}};return{type:"custom",custom:{name:e.name,description:e.description,format:t()}}}function $(e,t,n){function r(o,c){if(o._zod||Object.defineProperty(o,"_zod",{value:{def:c,constr:i,traits:new Set},enumerable:!1}),o._zod.traits.has(e))return;o._zod.traits.add(e),t(o,c);let u=i.prototype,l=Object.keys(u);for(let d=0;d<l.length;d++){let p=l[d];p in o||(o[p]=u[p].bind(o))}}let s=n?.Parent??Object;class a extends s{}Object.defineProperty(a,"name",{value:e});function i(o){var c;let u=n?.Parent?new a:this;r(u,o),(c=u._zod).deferred??(c.deferred=[]);for(let l of u._zod.deferred)l();return u}return Object.defineProperty(i,"init",{value:r}),Object.defineProperty(i,Symbol.hasInstance,{value:o=>n?.Parent&&o instanceof n.Parent?!0:o?._zod?.traits?.has(e)}),Object.defineProperty(i,"name",{value:e}),i}var Os=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},op=class extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}},PI={};function zs(e){return PI}function jI(e){let t=Object.values(e).filter(n=>typeof n=="number");return Object.entries(e).filter(([n,r])=>t.indexOf(+n)===-1).map(([n,r])=>r)}function Yg(e,t){return typeof t=="bigint"?t.toString():t}function B_(e){return{get value(){{let t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function Z_(e){return e==null}function V_(e){let t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function KF(e,t){let n=(e.toString().split(".")[1]||"").length,r=t.toString(),s=(r.split(".")[1]||"").length;if(s===0&&/\d?e-\d?/.test(r)){let c=r.match(/\d?e-(\d?)/);c?.[1]&&(s=Number.parseInt(c[1]))}let a=n>s?n:s,i=Number.parseInt(e.toFixed(a).replace(".","")),o=Number.parseInt(t.toFixed(a).replace(".",""));return i%o/10**a}var v1=Symbol("evaluating");function Ke(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==v1)return r===void 0&&(r=v1,r=n()),r},set(s){Object.defineProperty(e,t,{value:s})},configurable:!0})}function Da(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function Vs(...e){let t={};for(let n of e){let r=Object.getOwnPropertyDescriptors(n);Object.assign(t,r)}return Object.defineProperties({},t)}function w1(e){return JSON.stringify(e)}function XF(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var RI="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function cp(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var YF=B_(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let e=Function;return new e(""),!0}catch{return!1}});function eo(e){if(cp(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!="function")return!0;let n=t.prototype;return!(cp(n)===!1||Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)}function MI(e){return eo(e)?{...e}:Array.isArray(e)?[...e]:e}var QF=new Set(["string","number","symbol"]);function to(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function qs(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function de(e){let t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function e6(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var t6={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function n6(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");let s=Vs(e._zod.def,{get shape(){let a={};for(let i in t){if(!(i in n.shape))throw new Error(`Unrecognized key: "${i}"`);t[i]&&(a[i]=n.shape[i])}return Da(this,"shape",a),a},checks:[]});return qs(e,s)}function r6(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");let s=Vs(e._zod.def,{get shape(){let a={...e._zod.def.shape};for(let i in t){if(!(i in n.shape))throw new Error(`Unrecognized key: "${i}"`);t[i]&&delete a[i]}return Da(this,"shape",a),a},checks:[]});return qs(e,s)}function s6(e,t){if(!eo(t))throw new Error("Invalid input to extend: expected a plain object");let n=e._zod.def.checks;if(n&&n.length>0){let s=e._zod.def.shape;for(let a in t)if(Object.getOwnPropertyDescriptor(s,a)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let r=Vs(e._zod.def,{get shape(){let s={...e._zod.def.shape,...t};return Da(this,"shape",s),s}});return qs(e,r)}function a6(e,t){if(!eo(t))throw new Error("Invalid input to safeExtend: expected a plain object");let n=Vs(e._zod.def,{get shape(){let r={...e._zod.def.shape,...t};return Da(this,"shape",r),r}});return qs(e,n)}function i6(e,t){let n=Vs(e._zod.def,{get shape(){let r={...e._zod.def.shape,...t._zod.def.shape};return Da(this,"shape",r),r},get catchall(){return t._zod.def.catchall},checks:[]});return qs(e,n)}function o6(e,t,n){let r=t._zod.def.checks;if(r&&r.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");let s=Vs(t._zod.def,{get shape(){let a=t._zod.def.shape,i={...a};if(n)for(let o in n){if(!(o in a))throw new Error(`Unrecognized key: "${o}"`);n[o]&&(i[o]=e?new e({type:"optional",innerType:a[o]}):a[o])}else for(let o in a)i[o]=e?new e({type:"optional",innerType:a[o]}):a[o];return Da(this,"shape",i),i},checks:[]});return qs(t,s)}function c6(e,t,n){let r=Vs(t._zod.def,{get shape(){let s=t._zod.def.shape,a={...s};if(n)for(let i in n){if(!(i in a))throw new Error(`Unrecognized key: "${i}"`);n[i]&&(a[i]=new e({type:"nonoptional",innerType:s[i]}))}else for(let i in s)a[i]=new e({type:"nonoptional",innerType:s[i]});return Da(this,"shape",a),a}});return qs(t,r)}function mi(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function gi(e,t){return t.map(n=>{var r;return(r=n).path??(r.path=[]),n.path.unshift(e),n})}function Wu(e){return typeof e=="string"?e:e?.message}function Us(e,t,n){let r={...e,path:e.path??[]};if(!e.message){let s=Wu(e.inst?._zod.def?.error?.(e))??Wu(t?.error?.(e))??Wu(n.customError?.(e))??Wu(n.localeError?.(e))??"Invalid input";r.message=s}return delete r.inst,delete r.continue,t?.reportInput||delete r.input,r}function q_(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function Fc(...e){let[t,n,r]=e;return typeof t=="string"?{message:t,code:"custom",input:n,inst:r}:{...t}}var LI=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,Yg,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},zI=$("$ZodError",LI),H_=$("$ZodError",LI,{Parent:Error});function u6(e,t=n=>n.message){let n={},r=[];for(let s of e.issues)s.path.length>0?(n[s.path[0]]=n[s.path[0]]||[],n[s.path[0]].push(t(s))):r.push(t(s));return{formErrors:r,fieldErrors:n}}function l6(e,t=n=>n.message){let n={_errors:[]},r=s=>{for(let a of s.issues)if(a.code==="invalid_union"&&a.errors.length)a.errors.map(i=>r({issues:i}));else if(a.code==="invalid_key")r({issues:a.issues});else if(a.code==="invalid_element")r({issues:a.issues});else if(a.path.length===0)n._errors.push(t(a));else{let i=n,o=0;for(;o<a.path.length;){let c=a.path[o];o===a.path.length-1?(i[c]=i[c]||{_errors:[]},i[c]._errors.push(t(a))):i[c]=i[c]||{_errors:[]},i=i[c],o++}}};return r(e),n}var Kp=e=>(t,n,r,s)=>{let a=r?Object.assign(r,{async:!1}):{async:!1},i=t._zod.run({value:n,issues:[]},a);if(i instanceof Promise)throw new Os;if(i.issues.length){let o=new(s?.Err??e)(i.issues.map(c=>Us(c,a,zs())));throw RI(o,s?.callee),o}return i.value},d6=Kp(H_),W_=e=>async(t,n,r,s)=>{let a=r?Object.assign(r,{async:!0}):{async:!0},i=t._zod.run({value:n,issues:[]},a);if(i instanceof Promise&&(i=await i),i.issues.length){let o=new(s?.Err??e)(i.issues.map(c=>Us(c,a,zs())));throw RI(o,s?.callee),o}return i.value},Xp=e=>(t,n,r)=>{let s=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},s);if(a instanceof Promise)throw new Os;return a.issues.length?{success:!1,error:new(e??zI)(a.issues.map(i=>Us(i,s,zs())))}:{success:!0,data:a.value}},p6=Xp(H_),Yp=e=>async(t,n,r)=>{let s=r?Object.assign(r,{async:!0}):{async:!0},a=t._zod.run({value:n,issues:[]},s);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new e(a.issues.map(i=>Us(i,s,zs())))}:{success:!0,data:a.value}},h6=Yp(H_),f6=e=>(t,n,r)=>{let s=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return Kp(e)(t,n,s)},m6=e=>(t,n,r)=>Kp(e)(t,n,r),g6=e=>async(t,n,r)=>{let s=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return W_(e)(t,n,s)},y6=e=>async(t,n,r)=>W_(e)(t,n,r),_6=e=>(t,n,r)=>{let s=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return Xp(e)(t,n,s)},v6=e=>(t,n,r)=>Xp(e)(t,n,r),w6=e=>async(t,n,r)=>{let s=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return Yp(e)(t,n,s)},b6=e=>async(t,n,r)=>Yp(e)(t,n,r),k6=/^[cC][^\s-]{8,}$/,x6=/^[0-9a-z]+$/,O6=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,S6=/^[0-9a-vA-V]{20}$/,T6=/^[A-Za-z0-9]{27}$/,I6=/^[a-zA-Z0-9_-]{21}$/,E6=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,A6=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,b1=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,$6=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,C6="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function N6(){return new RegExp(C6,"u")}var P6=/^(?:(?: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])$/,j6=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,R6=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,M6=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,L6=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,UI=/^[A-Za-z0-9_-]*$/,z6=/^\+[1-9]\d{6,14}$/,DI="(?:(?:\\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])))",U6=new RegExp(`^${DI}$`);function FI(e){let t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function D6(e){return new RegExp(`^${FI(e)}$`)}function F6(e){let t=FI({precision:e.precision}),n=["Z"];e.local&&n.push(""),e.offset&&n.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let r=`${t}(?:${n.join("|")})`;return new RegExp(`^${DI}T(?:${r})$`)}var B6=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},Z6=/^-?\d+$/,BI=/^-?\d+(?:\.\d+)?$/,V6=/^[^A-Z]*$/,q6=/^[^a-z]*$/,xn=$("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),ZI={number:"number",bigint:"bigint",object:"date"},VI=$("$ZodCheckLessThan",(e,t)=>{xn.init(e,t);let n=ZI[typeof t.value];e._zod.onattach.push(r=>{let s=r._zod.bag,a=(t.inclusive?s.maximum:s.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<a&&(t.inclusive?s.maximum=t.value:s.exclusiveMaximum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:n,code:"too_big",maximum:typeof t.value=="object"?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),qI=$("$ZodCheckGreaterThan",(e,t)=>{xn.init(e,t);let n=ZI[typeof t.value];e._zod.onattach.push(r=>{let s=r._zod.bag,a=(t.inclusive?s.minimum:s.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>a&&(t.inclusive?s.minimum=t.value:s.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:n,code:"too_small",minimum:typeof t.value=="object"?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),H6=$("$ZodCheckMultipleOf",(e,t)=>{xn.init(e,t),e._zod.onattach.push(n=>{var r;(r=n._zod.bag).multipleOf??(r.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof n.value=="bigint"?n.value%t.value===BigInt(0):KF(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),W6=$("$ZodCheckNumberFormat",(e,t)=>{xn.init(e,t),t.format=t.format||"float64";let n=t.format?.includes("int"),r=n?"int":"number",[s,a]=t6[t.format];e._zod.onattach.push(i=>{let o=i._zod.bag;o.format=t.format,o.minimum=s,o.maximum=a,n&&(o.pattern=Z6)}),e._zod.check=i=>{let o=i.value;if(n){if(!Number.isInteger(o)){i.issues.push({expected:r,format:t.format,code:"invalid_type",continue:!1,input:o,inst:e});return}if(!Number.isSafeInteger(o)){o>0?i.issues.push({input:o,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!t.abort}):i.issues.push({input:o,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}o<s&&i.issues.push({origin:"number",input:o,code:"too_small",minimum:s,inclusive:!0,inst:e,continue:!t.abort}),o>a&&i.issues.push({origin:"number",input:o,code:"too_big",maximum:a,inclusive:!0,inst:e,continue:!t.abort})}}),J6=$("$ZodCheckMaxLength",(e,t)=>{var n;xn.init(e,t),(n=e._zod.def).when??(n.when=r=>{let s=r.value;return!Z_(s)&&s.length!==void 0}),e._zod.onattach.push(r=>{let s=r._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<s&&(r._zod.bag.maximum=t.maximum)}),e._zod.check=r=>{let s=r.value;if(s.length<=t.maximum)return;let a=q_(s);r.issues.push({origin:a,code:"too_big",maximum:t.maximum,inclusive:!0,input:s,inst:e,continue:!t.abort})}}),G6=$("$ZodCheckMinLength",(e,t)=>{var n;xn.init(e,t),(n=e._zod.def).when??(n.when=r=>{let s=r.value;return!Z_(s)&&s.length!==void 0}),e._zod.onattach.push(r=>{let s=r._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>s&&(r._zod.bag.minimum=t.minimum)}),e._zod.check=r=>{let s=r.value;if(s.length>=t.minimum)return;let a=q_(s);r.issues.push({origin:a,code:"too_small",minimum:t.minimum,inclusive:!0,input:s,inst:e,continue:!t.abort})}}),K6=$("$ZodCheckLengthEquals",(e,t)=>{var n;xn.init(e,t),(n=e._zod.def).when??(n.when=r=>{let s=r.value;return!Z_(s)&&s.length!==void 0}),e._zod.onattach.push(r=>{let s=r._zod.bag;s.minimum=t.length,s.maximum=t.length,s.length=t.length}),e._zod.check=r=>{let s=r.value,a=s.length;if(a===t.length)return;let i=q_(s),o=a>t.length;r.issues.push({origin:i,...o?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:r.value,inst:e,continue:!t.abort})}}),Qp=$("$ZodCheckStringFormat",(e,t)=>{var n,r;xn.init(e,t),e._zod.onattach.push(s=>{let a=s._zod.bag;a.format=t.format,t.pattern&&(a.patterns??(a.patterns=new Set),a.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=s=>{t.pattern.lastIndex=0,!t.pattern.test(s.value)&&s.issues.push({origin:"string",code:"invalid_format",format:t.format,input:s.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),X6=$("$ZodCheckRegex",(e,t)=>{Qp.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:"string",code:"invalid_format",format:"regex",input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Y6=$("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=V6),Qp.init(e,t)}),Q6=$("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=q6),Qp.init(e,t)}),eB=$("$ZodCheckIncludes",(e,t)=>{xn.init(e,t);let n=to(t.includes),r=new RegExp(typeof t.position=="number"?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push(s=>{let a=s._zod.bag;a.patterns??(a.patterns=new Set),a.patterns.add(r)}),e._zod.check=s=>{s.value.includes(t.includes,t.position)||s.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:s.value,inst:e,continue:!t.abort})}}),tB=$("$ZodCheckStartsWith",(e,t)=>{xn.init(e,t);let n=new RegExp(`^${to(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.onattach.push(r=>{let s=r._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(n)}),e._zod.check=r=>{r.value.startsWith(t.prefix)||r.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:r.value,inst:e,continue:!t.abort})}}),nB=$("$ZodCheckEndsWith",(e,t)=>{xn.init(e,t);let n=new RegExp(`.*${to(t.suffix)}$`);t.pattern??(t.pattern=n),e._zod.onattach.push(r=>{let s=r._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(n)}),e._zod.check=r=>{r.value.endsWith(t.suffix)||r.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:r.value,inst:e,continue:!t.abort})}}),rB=$("$ZodCheckOverwrite",(e,t)=>{xn.init(e,t),e._zod.check=n=>{n.value=t.tx(n.value)}}),Qg=class{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}let n=t.split(`
302
+ `).filter(a=>a),r=Math.min(...n.map(a=>a.length-a.trimStart().length)),s=n.map(a=>a.slice(r)).map(a=>" ".repeat(this.indent*2)+a);for(let a of s)this.content.push(a)}compile(){let t=Function,n=this?.args,r=[...(this?.content??[""]).map(s=>` ${s}`)];return new t(...n,r.join(`
303
+ `))}},sB={major:4,minor:3,patch:6},ht=$("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=sB;let r=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&r.unshift(e);for(let s of r)for(let a of s._zod.onattach)a(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let s=(i,o,c)=>{let u=mi(i),l;for(let d of o){if(d._zod.def.when){if(!d._zod.def.when(i))continue}else if(u)continue;let p=i.issues.length,h=d._zod.check(i);if(h instanceof Promise&&c?.async===!1)throw new Os;if(l||h instanceof Promise)l=(l??Promise.resolve()).then(async()=>{await h,i.issues.length!==p&&(u||(u=mi(i,p)))});else{if(i.issues.length===p)continue;u||(u=mi(i,p))}}return l?l.then(()=>i):i},a=(i,o,c)=>{if(mi(i))return i.aborted=!0,i;let u=s(o,r,c);if(u instanceof Promise){if(c.async===!1)throw new Os;return u.then(l=>e._zod.parse(l,c))}return e._zod.parse(u,c)};e._zod.run=(i,o)=>{if(o.skipChecks)return e._zod.parse(i,o);if(o.direction==="backward"){let u=e._zod.parse({value:i.value,issues:[]},{...o,skipChecks:!0});return u instanceof Promise?u.then(l=>a(l,i,o)):a(u,i,o)}let c=e._zod.parse(i,o);if(c instanceof Promise){if(o.async===!1)throw new Os;return c.then(u=>s(u,r,o))}return s(c,r,o)}}Ke(e,"~standard",()=>({validate:s=>{try{let a=p6(e,s);return a.success?{value:a.data}:{issues:a.error?.issues}}catch{return h6(e,s).then(a=>a.success?{value:a.data}:{issues:a.error?.issues})}},vendor:"zod",version:1}))}),J_=$("$ZodString",(e,t)=>{ht.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??B6(e._zod.bag),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value=="string"||n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),ut=$("$ZodStringFormat",(e,t)=>{Qp.init(e,t),J_.init(e,t)}),aB=$("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=A6),ut.init(e,t)}),iB=$("$ZodUUID",(e,t)=>{if(t.version){let n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(n===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=b1(n))}else t.pattern??(t.pattern=b1());ut.init(e,t)}),oB=$("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=$6),ut.init(e,t)}),cB=$("$ZodURL",(e,t)=>{ut.init(e,t),e._zod.check=n=>{try{let r=n.value.trim(),s=new URL(r);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(s.hostname)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(s.protocol.endsWith(":")?s.protocol.slice(0,-1):s.protocol)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})),t.normalize?n.value=s.href:n.value=r;return}catch{n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort})}}}),uB=$("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=N6()),ut.init(e,t)}),lB=$("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=I6),ut.init(e,t)}),dB=$("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=k6),ut.init(e,t)}),pB=$("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=x6),ut.init(e,t)}),hB=$("$ZodULID",(e,t)=>{t.pattern??(t.pattern=O6),ut.init(e,t)}),fB=$("$ZodXID",(e,t)=>{t.pattern??(t.pattern=S6),ut.init(e,t)}),mB=$("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=T6),ut.init(e,t)}),gB=$("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=F6(t)),ut.init(e,t)}),yB=$("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=U6),ut.init(e,t)}),_B=$("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=D6(t)),ut.init(e,t)}),vB=$("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=E6),ut.init(e,t)}),wB=$("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=P6),ut.init(e,t),e._zod.bag.format="ipv4"}),bB=$("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=j6),ut.init(e,t),e._zod.bag.format="ipv6",e._zod.check=n=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:"invalid_format",format:"ipv6",input:n.value,inst:e,continue:!t.abort})}}}),kB=$("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=R6),ut.init(e,t)}),xB=$("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=M6),ut.init(e,t),e._zod.check=n=>{let r=n.value.split("/");try{if(r.length!==2)throw new Error;let[s,a]=r;if(!a)throw new Error;let i=Number(a);if(`${i}`!==a)throw new Error;if(i<0||i>128)throw new Error;new URL(`http://[${s}]`)}catch{n.issues.push({code:"invalid_format",format:"cidrv6",input:n.value,inst:e,continue:!t.abort})}}});function HI(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}var OB=$("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=L6),ut.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=n=>{HI(n.value)||n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}});function SB(e){if(!UI.test(e))return!1;let t=e.replace(/[-_]/g,r=>r==="-"?"+":"/"),n=t.padEnd(Math.ceil(t.length/4)*4,"=");return HI(n)}var TB=$("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=UI),ut.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=n=>{SB(n.value)||n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),IB=$("$ZodE164",(e,t)=>{t.pattern??(t.pattern=z6),ut.init(e,t)});function EB(e,t=null){try{let n=e.split(".");if(n.length!==3)return!1;let[r]=n;if(!r)return!1;let s=JSON.parse(atob(r));return!("typ"in s&&s?.typ!=="JWT"||!s.alg||t&&(!("alg"in s)||s.alg!==t))}catch{return!1}}var AB=$("$ZodJWT",(e,t)=>{ut.init(e,t),e._zod.check=n=>{EB(n.value,t.alg)||n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),WI=$("$ZodNumber",(e,t)=>{ht.init(e,t),e._zod.pattern=e._zod.bag.pattern??BI,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}let s=n.value;if(typeof s=="number"&&!Number.isNaN(s)&&Number.isFinite(s))return n;let a=typeof s=="number"?Number.isNaN(s)?"NaN":Number.isFinite(s)?void 0:"Infinity":void 0;return n.issues.push({expected:"number",code:"invalid_type",input:s,inst:e,...a?{received:a}:{}}),n}}),$B=$("$ZodNumberFormat",(e,t)=>{W6.init(e,t),WI.init(e,t)}),CB=$("$ZodUnknown",(e,t)=>{ht.init(e,t),e._zod.parse=n=>n}),NB=$("$ZodNever",(e,t)=>{ht.init(e,t),e._zod.parse=(n,r)=>(n.issues.push({expected:"never",code:"invalid_type",input:n.value,inst:e}),n)});function k1(e,t,n){e.issues.length&&t.issues.push(...gi(n,e.issues)),t.value[n]=e.value}var PB=$("$ZodArray",(e,t)=>{ht.init(e,t),e._zod.parse=(n,r)=>{let s=n.value;if(!Array.isArray(s))return n.issues.push({expected:"array",code:"invalid_type",input:s,inst:e}),n;n.value=Array(s.length);let a=[];for(let i=0;i<s.length;i++){let o=s[i],c=t.element._zod.run({value:o,issues:[]},r);c instanceof Promise?a.push(c.then(u=>k1(u,n,i))):k1(c,n,i)}return a.length?Promise.all(a).then(()=>n):n}});function up(e,t,n,r,s){if(e.issues.length){if(s&&!(n in r))return;t.issues.push(...gi(n,e.issues))}e.value===void 0?n in r&&(t.value[n]=void 0):t.value[n]=e.value}function JI(e){let t=Object.keys(e.shape);for(let r of t)if(!e.shape?.[r]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${r}": expected a Zod schema`);let n=e6(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function GI(e,t,n,r,s,a){let i=[],o=s.keySet,c=s.catchall._zod,u=c.def.type,l=c.optout==="optional";for(let d in t){if(o.has(d))continue;if(u==="never"){i.push(d);continue}let p=c.run({value:t[d],issues:[]},r);p instanceof Promise?e.push(p.then(h=>up(h,n,d,t,l))):up(p,n,d,t,l)}return i.length&&n.issues.push({code:"unrecognized_keys",keys:i,input:t,inst:a}),e.length?Promise.all(e).then(()=>n):n}var jB=$("$ZodObject",(e,t)=>{if(ht.init(e,t),!Object.getOwnPropertyDescriptor(t,"shape")?.get){let i=t.shape;Object.defineProperty(t,"shape",{get:()=>{let o={...i};return Object.defineProperty(t,"shape",{value:o}),o}})}let n=B_(()=>JI(t));Ke(e._zod,"propValues",()=>{let i=t.shape,o={};for(let c in i){let u=i[c]._zod;if(u.values){o[c]??(o[c]=new Set);for(let l of u.values)o[c].add(l)}}return o});let r=cp,s=t.catchall,a;e._zod.parse=(i,o)=>{a??(a=n.value);let c=i.value;if(!r(c))return i.issues.push({expected:"object",code:"invalid_type",input:c,inst:e}),i;i.value={};let u=[],l=a.shape;for(let d of a.keys){let p=l[d],h=p._zod.optout==="optional",f=p._zod.run({value:c[d],issues:[]},o);f instanceof Promise?u.push(f.then(m=>up(m,i,d,c,h))):up(f,i,d,c,h)}return s?GI(u,c,i,o,n.value,e):u.length?Promise.all(u).then(()=>i):i}}),RB=$("$ZodObjectJIT",(e,t)=>{jB.init(e,t);let n=e._zod.parse,r=B_(()=>JI(t)),s=d=>{let p=new Qg(["shape","payload","ctx"]),h=r.value,f=y=>{let k=w1(y);return`shape[${k}]._zod.run({ value: input[${k}], issues: [] }, ctx)`};p.write("const input = payload.value;");let m=Object.create(null),v=0;for(let y of h.keys)m[y]=`key_${v++}`;p.write("const newResult = {};");for(let y of h.keys){let k=m[y],x=w1(y),T=d[y]?._zod?.optout==="optional";p.write(`const ${k} = ${f(y)};`),T?p.write(`
304
+ if (${k}.issues.length) {
305
+ if (${x} in input) {
306
+ payload.issues = payload.issues.concat(${k}.issues.map(iss => ({
307
+ ...iss,
308
+ path: iss.path ? [${x}, ...iss.path] : [${x}]
309
+ })));
310
+ }
311
+ }
312
+
313
+ if (${k}.value === undefined) {
314
+ if (${x} in input) {
315
+ newResult[${x}] = undefined;
316
+ }
317
+ } else {
318
+ newResult[${x}] = ${k}.value;
319
+ }
320
+
321
+ `):p.write(`
322
+ if (${k}.issues.length) {
323
+ payload.issues = payload.issues.concat(${k}.issues.map(iss => ({
324
+ ...iss,
325
+ path: iss.path ? [${x}, ...iss.path] : [${x}]
326
+ })));
327
+ }
328
+
329
+ if (${k}.value === undefined) {
330
+ if (${x} in input) {
331
+ newResult[${x}] = undefined;
332
+ }
333
+ } else {
334
+ newResult[${x}] = ${k}.value;
335
+ }
336
+
337
+ `)}p.write("payload.value = newResult;"),p.write("return payload;");let g=p.compile();return(y,k)=>g(d,y,k)},a,i=cp,o=!PI.jitless,c=o&&YF.value,u=t.catchall,l;e._zod.parse=(d,p)=>{l??(l=r.value);let h=d.value;return i(h)?o&&c&&p?.async===!1&&p.jitless!==!0?(a||(a=s(t.shape)),d=a(d,p),u?GI([],h,d,p,l,e):d):n(d,p):(d.issues.push({expected:"object",code:"invalid_type",input:h,inst:e}),d)}});function x1(e,t,n,r){for(let a of e)if(a.issues.length===0)return t.value=a.value,t;let s=e.filter(a=>!mi(a));return s.length===1?(t.value=s[0].value,s[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map(a=>a.issues.map(i=>Us(i,r,zs())))}),t)}var MB=$("$ZodUnion",(e,t)=>{ht.init(e,t),Ke(e._zod,"optin",()=>t.options.some(s=>s._zod.optin==="optional")?"optional":void 0),Ke(e._zod,"optout",()=>t.options.some(s=>s._zod.optout==="optional")?"optional":void 0),Ke(e._zod,"values",()=>{if(t.options.every(s=>s._zod.values))return new Set(t.options.flatMap(s=>Array.from(s._zod.values)))}),Ke(e._zod,"pattern",()=>{if(t.options.every(s=>s._zod.pattern)){let s=t.options.map(a=>a._zod.pattern);return new RegExp(`^(${s.map(a=>V_(a.source)).join("|")})$`)}});let n=t.options.length===1,r=t.options[0]._zod.run;e._zod.parse=(s,a)=>{if(n)return r(s,a);let i=!1,o=[];for(let c of t.options){let u=c._zod.run({value:s.value,issues:[]},a);if(u instanceof Promise)o.push(u),i=!0;else{if(u.issues.length===0)return u;o.push(u)}}return i?Promise.all(o).then(c=>x1(c,s,e,a)):x1(o,s,e,a)}}),LB=$("$ZodIntersection",(e,t)=>{ht.init(e,t),e._zod.parse=(n,r)=>{let s=n.value,a=t.left._zod.run({value:s,issues:[]},r),i=t.right._zod.run({value:s,issues:[]},r);return a instanceof Promise||i instanceof Promise?Promise.all([a,i]).then(([o,c])=>O1(n,o,c)):O1(n,a,i)}});function ey(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(eo(e)&&eo(t)){let n=Object.keys(t),r=Object.keys(e).filter(a=>n.indexOf(a)!==-1),s={...e,...t};for(let a of r){let i=ey(e[a],t[a]);if(!i.valid)return{valid:!1,mergeErrorPath:[a,...i.mergeErrorPath]};s[a]=i.data}return{valid:!0,data:s}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;r<e.length;r++){let s=e[r],a=t[r],i=ey(s,a);if(!i.valid)return{valid:!1,mergeErrorPath:[r,...i.mergeErrorPath]};n.push(i.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function O1(e,t,n){let r=new Map,s;for(let o of t.issues)if(o.code==="unrecognized_keys"){s??(s=o);for(let c of o.keys)r.has(c)||r.set(c,{}),r.get(c).l=!0}else e.issues.push(o);for(let o of n.issues)if(o.code==="unrecognized_keys")for(let c of o.keys)r.has(c)||r.set(c,{}),r.get(c).r=!0;else e.issues.push(o);let a=[...r].filter(([,o])=>o.l&&o.r).map(([o])=>o);if(a.length&&s&&e.issues.push({...s,keys:a}),mi(e))return e;let i=ey(t.value,n.value);if(!i.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(i.mergeErrorPath)}`);return e.value=i.data,e}var zB=$("$ZodRecord",(e,t)=>{ht.init(e,t),e._zod.parse=(n,r)=>{let s=n.value;if(!eo(s))return n.issues.push({expected:"record",code:"invalid_type",input:s,inst:e}),n;let a=[],i=t.keyType._zod.values;if(i){n.value={};let o=new Set;for(let u of i)if(typeof u=="string"||typeof u=="number"||typeof u=="symbol"){o.add(typeof u=="number"?u.toString():u);let l=t.valueType._zod.run({value:s[u],issues:[]},r);l instanceof Promise?a.push(l.then(d=>{d.issues.length&&n.issues.push(...gi(u,d.issues)),n.value[u]=d.value})):(l.issues.length&&n.issues.push(...gi(u,l.issues)),n.value[u]=l.value)}let c;for(let u in s)o.has(u)||(c=c??[],c.push(u));c&&c.length>0&&n.issues.push({code:"unrecognized_keys",input:s,inst:e,keys:c})}else{n.value={};for(let o of Reflect.ownKeys(s)){if(o==="__proto__")continue;let c=t.keyType._zod.run({value:o,issues:[]},r);if(c instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof o=="string"&&BI.test(o)&&c.issues.length){let l=t.keyType._zod.run({value:Number(o),issues:[]},r);if(l instanceof Promise)throw new Error("Async schemas not supported in object keys currently");l.issues.length===0&&(c=l)}if(c.issues.length){t.mode==="loose"?n.value[o]=s[o]:n.issues.push({code:"invalid_key",origin:"record",issues:c.issues.map(l=>Us(l,r,zs())),input:o,path:[o],inst:e});continue}let u=t.valueType._zod.run({value:s[o],issues:[]},r);u instanceof Promise?a.push(u.then(l=>{l.issues.length&&n.issues.push(...gi(o,l.issues)),n.value[c.value]=l.value})):(u.issues.length&&n.issues.push(...gi(o,u.issues)),n.value[c.value]=u.value)}}return a.length?Promise.all(a).then(()=>n):n}}),UB=$("$ZodEnum",(e,t)=>{ht.init(e,t);let n=jI(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=new RegExp(`^(${n.filter(s=>QF.has(typeof s)).map(s=>typeof s=="string"?to(s):s.toString()).join("|")})$`),e._zod.parse=(s,a)=>{let i=s.value;return r.has(i)||s.issues.push({code:"invalid_value",values:n,input:i,inst:e}),s}}),DB=$("$ZodLiteral",(e,t)=>{if(ht.init(e,t),t.values.length===0)throw new Error("Cannot create literal schema with no valid values");let n=new Set(t.values);e._zod.values=n,e._zod.pattern=new RegExp(`^(${t.values.map(r=>typeof r=="string"?to(r):r?to(r.toString()):String(r)).join("|")})$`),e._zod.parse=(r,s)=>{let a=r.value;return n.has(a)||r.issues.push({code:"invalid_value",values:t.values,input:a,inst:e}),r}}),FB=$("$ZodTransform",(e,t)=>{ht.init(e,t),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new op(e.constructor.name);let s=t.transform(n.value,n);if(r.async)return(s instanceof Promise?s:Promise.resolve(s)).then(a=>(n.value=a,n));if(s instanceof Promise)throw new Os;return n.value=s,n}});function S1(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}var KI=$("$ZodOptional",(e,t)=>{ht.init(e,t),e._zod.optin="optional",e._zod.optout="optional",Ke(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),Ke(e._zod,"pattern",()=>{let n=t.innerType._zod.pattern;return n?new RegExp(`^(${V_(n.source)})?$`):void 0}),e._zod.parse=(n,r)=>{if(t.innerType._zod.optin==="optional"){let s=t.innerType._zod.run(n,r);return s instanceof Promise?s.then(a=>S1(a,n.value)):S1(s,n.value)}return n.value===void 0?n:t.innerType._zod.run(n,r)}}),BB=$("$ZodExactOptional",(e,t)=>{KI.init(e,t),Ke(e._zod,"values",()=>t.innerType._zod.values),Ke(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(n,r)=>t.innerType._zod.run(n,r)}),ZB=$("$ZodNullable",(e,t)=>{ht.init(e,t),Ke(e._zod,"optin",()=>t.innerType._zod.optin),Ke(e._zod,"optout",()=>t.innerType._zod.optout),Ke(e._zod,"pattern",()=>{let n=t.innerType._zod.pattern;return n?new RegExp(`^(${V_(n.source)}|null)$`):void 0}),Ke(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(n,r)=>n.value===null?n:t.innerType._zod.run(n,r)}),VB=$("$ZodDefault",(e,t)=>{ht.init(e,t),e._zod.optin="optional",Ke(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);if(n.value===void 0)return n.value=t.defaultValue,n;let s=t.innerType._zod.run(n,r);return s instanceof Promise?s.then(a=>T1(a,t)):T1(s,t)}});function T1(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var qB=$("$ZodPrefault",(e,t)=>{ht.init(e,t),e._zod.optin="optional",Ke(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>(r.direction==="backward"||n.value===void 0&&(n.value=t.defaultValue),t.innerType._zod.run(n,r))}),HB=$("$ZodNonOptional",(e,t)=>{ht.init(e,t),Ke(e._zod,"values",()=>{let n=t.innerType._zod.values;return n?new Set([...n].filter(r=>r!==void 0)):void 0}),e._zod.parse=(n,r)=>{let s=t.innerType._zod.run(n,r);return s instanceof Promise?s.then(a=>I1(a,e)):I1(s,e)}});function I1(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}var WB=$("$ZodCatch",(e,t)=>{ht.init(e,t),Ke(e._zod,"optin",()=>t.innerType._zod.optin),Ke(e._zod,"optout",()=>t.innerType._zod.optout),Ke(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);let s=t.innerType._zod.run(n,r);return s instanceof Promise?s.then(a=>(n.value=a.value,a.issues.length&&(n.value=t.catchValue({...n,error:{issues:a.issues.map(i=>Us(i,r,zs()))},input:n.value}),n.issues=[]),n)):(n.value=s.value,s.issues.length&&(n.value=t.catchValue({...n,error:{issues:s.issues.map(a=>Us(a,r,zs()))},input:n.value}),n.issues=[]),n)}}),JB=$("$ZodPipe",(e,t)=>{ht.init(e,t),Ke(e._zod,"values",()=>t.in._zod.values),Ke(e._zod,"optin",()=>t.in._zod.optin),Ke(e._zod,"optout",()=>t.out._zod.optout),Ke(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(n,r)=>{if(r.direction==="backward"){let a=t.out._zod.run(n,r);return a instanceof Promise?a.then(i=>Ju(i,t.in,r)):Ju(a,t.in,r)}let s=t.in._zod.run(n,r);return s instanceof Promise?s.then(a=>Ju(a,t.out,r)):Ju(s,t.out,r)}});function Ju(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}var GB=$("$ZodReadonly",(e,t)=>{ht.init(e,t),Ke(e._zod,"propValues",()=>t.innerType._zod.propValues),Ke(e._zod,"values",()=>t.innerType._zod.values),Ke(e._zod,"optin",()=>t.innerType?._zod?.optin),Ke(e._zod,"optout",()=>t.innerType?._zod?.optout),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);let s=t.innerType._zod.run(n,r);return s instanceof Promise?s.then(E1):E1(s)}});function E1(e){return e.value=Object.freeze(e.value),e}var KB=$("$ZodCustom",(e,t)=>{xn.init(e,t),ht.init(e,t),e._zod.parse=(n,r)=>n,e._zod.check=n=>{let r=n.value,s=t.fn(r);if(s instanceof Promise)return s.then(a=>A1(a,n,r,e));A1(s,n,r,e)}});function A1(e,t,n,r){if(!e){let s={code:"custom",input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(s.params=r._zod.def.params),t.issues.push(Fc(s))}}var $1,ty=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(t,...n){let r=n[0];return this._map.set(t,r),r&&typeof r=="object"&&"id"in r&&this._idmap.set(r.id,t),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(t){let n=this._map.get(t);return n&&typeof n=="object"&&"id"in n&&this._idmap.delete(n.id),this._map.delete(t),this}get(t){let n=t._zod.parent;if(n){let r={...this.get(n)??{}};delete r.id;let s={...r,...this._map.get(t)};return Object.keys(s).length?s:void 0}return this._map.get(t)}has(t){return this._map.has(t)}};function XB(){return new ty}($1=globalThis).__zod_globalRegistry??($1.__zod_globalRegistry=XB());var Uo=globalThis.__zod_globalRegistry;function YB(e,t){return new e({type:"string",...de(t)})}function QB(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...de(t)})}function C1(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...de(t)})}function eZ(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...de(t)})}function tZ(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...de(t)})}function nZ(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...de(t)})}function rZ(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...de(t)})}function sZ(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...de(t)})}function aZ(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...de(t)})}function iZ(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...de(t)})}function oZ(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...de(t)})}function cZ(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...de(t)})}function uZ(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...de(t)})}function lZ(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...de(t)})}function dZ(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...de(t)})}function pZ(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...de(t)})}function hZ(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...de(t)})}function fZ(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...de(t)})}function mZ(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...de(t)})}function gZ(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...de(t)})}function yZ(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...de(t)})}function _Z(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...de(t)})}function vZ(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...de(t)})}function wZ(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...de(t)})}function bZ(e,t){return new e({type:"string",format:"date",check:"string_format",...de(t)})}function kZ(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...de(t)})}function xZ(e,t){return new e({type:"string",format:"duration",check:"string_format",...de(t)})}function OZ(e,t){return new e({type:"number",checks:[],...de(t)})}function SZ(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...de(t)})}function TZ(e){return new e({type:"unknown"})}function IZ(e,t){return new e({type:"never",...de(t)})}function N1(e,t){return new VI({check:"less_than",...de(t),value:e,inclusive:!1})}function Jf(e,t){return new VI({check:"less_than",...de(t),value:e,inclusive:!0})}function P1(e,t){return new qI({check:"greater_than",...de(t),value:e,inclusive:!1})}function Gf(e,t){return new qI({check:"greater_than",...de(t),value:e,inclusive:!0})}function j1(e,t){return new H6({check:"multiple_of",...de(t),value:e})}function XI(e,t){return new J6({check:"max_length",...de(t),maximum:e})}function lp(e,t){return new G6({check:"min_length",...de(t),minimum:e})}function YI(e,t){return new K6({check:"length_equals",...de(t),length:e})}function EZ(e,t){return new X6({check:"string_format",format:"regex",...de(t),pattern:e})}function AZ(e){return new Y6({check:"string_format",format:"lowercase",...de(e)})}function $Z(e){return new Q6({check:"string_format",format:"uppercase",...de(e)})}function CZ(e,t){return new eB({check:"string_format",format:"includes",...de(t),includes:e})}function NZ(e,t){return new tB({check:"string_format",format:"starts_with",...de(t),prefix:e})}function PZ(e,t){return new nB({check:"string_format",format:"ends_with",...de(t),suffix:e})}function lo(e){return new rB({check:"overwrite",tx:e})}function jZ(e){return lo(t=>t.normalize(e))}function RZ(){return lo(e=>e.trim())}function MZ(){return lo(e=>e.toLowerCase())}function LZ(){return lo(e=>e.toUpperCase())}function zZ(){return lo(e=>XF(e))}function UZ(e,t,n){return new e({type:"array",element:t,...de(n)})}function DZ(e,t,n){return new e({type:"custom",check:"custom",fn:t,...de(n)})}function FZ(e){let t=BZ(n=>(n.addIssue=r=>{if(typeof r=="string")n.issues.push(Fc(r,n.value,t._zod.def));else{let s=r;s.fatal&&(s.continue=!1),s.code??(s.code="custom"),s.input??(s.input=n.value),s.inst??(s.inst=t),s.continue??(s.continue=!t._zod.def.abort),n.issues.push(Fc(s))}},e(n.value,n)));return t}function BZ(e,t){let n=new xn({check:"custom",...de(t)});return n._zod.check=e,n}function dp(e){let t=e?.target??"draft-2020-12";return t==="draft-4"&&(t="draft-04"),t==="draft-7"&&(t="draft-07"),{processors:e.processors??{},metadataRegistry:e?.metadata??Uo,target:t,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:new Map,cycles:e?.cycles??"ref",reused:e?.reused??"inline",external:e?.external??void 0}}function nt(e,t,n={path:[],schemaPath:[]}){var r;let s=e._zod.def,a=t.seen.get(e);if(a)return a.count++,n.schemaPath.includes(e)&&(a.cycle=n.path),a.schema;let i={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,i);let o=e._zod.toJSONSchema?.();if(o)i.schema=o;else{let u={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,i.schema,u);else{let d=i.schema,p=t.processors[s.type];if(!p)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${s.type}`);p(e,t,d,u)}let l=e._zod.parent;l&&(i.ref||(i.ref=l),nt(l,t,u),t.seen.get(l).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&Object.assign(i.schema,c),t.io==="input"&&Xt(e)&&(delete i.schema.examples,delete i.schema.default),t.io==="input"&&i.schema._prefault&&((r=i.schema).default??(r.default=i.schema._prefault)),delete i.schema._prefault,t.seen.get(e).schema}function pp(e,t){let n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");let r=new Map;for(let i of e.seen.entries()){let o=e.metadataRegistry.get(i[0])?.id;if(o){let c=r.get(o);if(c&&c!==i[0])throw new Error(`Duplicate schema id "${o}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(o,i[0])}}let s=i=>{let o=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){let l=e.external.registry.get(i[0])?.id,d=e.external.uri??(h=>h);if(l)return{ref:d(l)};let p=i[1].defId??i[1].schema.id??`schema${e.counter++}`;return i[1].defId=p,{defId:p,ref:`${d("__shared")}#/${o}/${p}`}}if(i[1]===n)return{ref:"#"};let c=`#/${o}/`,u=i[1].schema.id??`__schema${e.counter++}`;return{defId:u,ref:c+u}},a=i=>{if(i[1].schema.$ref)return;let o=i[1],{ref:c,defId:u}=s(i);o.def={...o.schema},u&&(o.defId=u);let l=o.schema;for(let d in l)delete l[d];l.$ref=c};if(e.cycles==="throw")for(let i of e.seen.entries()){let o=i[1];if(o.cycle)throw new Error(`Cycle detected: #/${o.cycle?.join("/")}/<root>
338
+
339
+ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let i of e.seen.entries()){let o=i[1];if(t===i[0]){a(i);continue}if(e.external){let c=e.external.registry.get(i[0])?.id;if(t!==i[0]&&c){a(i);continue}}if(e.metadataRegistry.get(i[0])?.id){a(i);continue}if(o.cycle){a(i);continue}if(o.count>1&&e.reused==="ref"){a(i);continue}}}function hp(e,t){let n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");let r=i=>{let o=e.seen.get(i);if(o.ref===null)return;let c=o.def??o.schema,u={...c},l=o.ref;if(o.ref=null,l){r(l);let p=e.seen.get(l),h=p.schema;if(h.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(c.allOf=c.allOf??[],c.allOf.push(h)):Object.assign(c,h),Object.assign(c,u),i._zod.parent===l)for(let f in c)f==="$ref"||f==="allOf"||f in u||delete c[f];if(h.$ref&&p.def)for(let f in c)f==="$ref"||f==="allOf"||f in p.def&&JSON.stringify(c[f])===JSON.stringify(p.def[f])&&delete c[f]}let d=i._zod.parent;if(d&&d!==l){r(d);let p=e.seen.get(d);if(p?.schema.$ref&&(c.$ref=p.schema.$ref,p.def))for(let h in c)h==="$ref"||h==="allOf"||h in p.def&&JSON.stringify(c[h])===JSON.stringify(p.def[h])&&delete c[h]}e.override({zodSchema:i,jsonSchema:c,path:o.path??[]})};for(let i of[...e.seen.entries()].reverse())r(i[0]);let s={};if(e.target==="draft-2020-12"?s.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?s.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?s.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){let i=e.external.registry.get(t)?.id;if(!i)throw new Error("Schema is missing an `id` property");s.$id=e.external.uri(i)}Object.assign(s,n.def??n.schema);let a=e.external?.defs??{};for(let i of e.seen.entries()){let o=i[1];o.def&&o.defId&&(a[o.defId]=o.def)}e.external||Object.keys(a).length>0&&(e.target==="draft-2020-12"?s.$defs=a:s.definitions=a);try{let i=JSON.parse(JSON.stringify(s));return Object.defineProperty(i,"~standard",{value:{...t["~standard"],jsonSchema:{input:fp(t,"input",e.processors),output:fp(t,"output",e.processors)}},enumerable:!1,writable:!1}),i}catch{throw new Error("Error converting schema to JSON.")}}function Xt(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);let r=e._zod.def;if(r.type==="transform")return!0;if(r.type==="array")return Xt(r.element,n);if(r.type==="set")return Xt(r.valueType,n);if(r.type==="lazy")return Xt(r.getter(),n);if(r.type==="promise"||r.type==="optional"||r.type==="nonoptional"||r.type==="nullable"||r.type==="readonly"||r.type==="default"||r.type==="prefault")return Xt(r.innerType,n);if(r.type==="intersection")return Xt(r.left,n)||Xt(r.right,n);if(r.type==="record"||r.type==="map")return Xt(r.keyType,n)||Xt(r.valueType,n);if(r.type==="pipe")return Xt(r.in,n)||Xt(r.out,n);if(r.type==="object"){for(let s in r.shape)if(Xt(r.shape[s],n))return!0;return!1}if(r.type==="union"){for(let s of r.options)if(Xt(s,n))return!0;return!1}if(r.type==="tuple"){for(let s of r.items)if(Xt(s,n))return!0;return!!(r.rest&&Xt(r.rest,n))}return!1}var ZZ=(e,t={})=>n=>{let r=dp({...n,processors:t});return nt(e,r),pp(r,e),hp(r,e)},fp=(e,t,n={})=>r=>{let{libraryOptions:s,target:a}=r??{},i=dp({...s??{},target:a,io:t,processors:n});return nt(e,i),pp(i,e),hp(i,e)},VZ={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},QI=(e,t,n,r)=>{let s=n;s.type="string";let{minimum:a,maximum:i,format:o,patterns:c,contentEncoding:u}=e._zod.bag;if(typeof a=="number"&&(s.minLength=a),typeof i=="number"&&(s.maxLength=i),o&&(s.format=VZ[o]??o,s.format===""&&delete s.format,o==="time"&&delete s.format),u&&(s.contentEncoding=u),c&&c.size>0){let l=[...c];l.length===1?s.pattern=l[0].source:l.length>1&&(s.allOf=[...l.map(d=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:d.source}))])}},eE=(e,t,n,r)=>{let s=n,{minimum:a,maximum:i,format:o,multipleOf:c,exclusiveMaximum:u,exclusiveMinimum:l}=e._zod.bag;typeof o=="string"&&o.includes("int")?s.type="integer":s.type="number",typeof l=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(s.minimum=l,s.exclusiveMinimum=!0):s.exclusiveMinimum=l),typeof a=="number"&&(s.minimum=a,typeof l=="number"&&t.target!=="draft-04"&&(l>=a?delete s.minimum:delete s.exclusiveMinimum)),typeof u=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(s.maximum=u,s.exclusiveMaximum=!0):s.exclusiveMaximum=u),typeof i=="number"&&(s.maximum=i,typeof u=="number"&&t.target!=="draft-04"&&(u<=i?delete s.maximum:delete s.exclusiveMaximum)),typeof c=="number"&&(s.multipleOf=c)},qZ=(e,t,n,r)=>{n.type="boolean"},HZ=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema")},WZ=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema")},JZ=(e,t,n,r)=>{t.target==="openapi-3.0"?(n.type="string",n.nullable=!0,n.enum=[null]):n.type="null"},GZ=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema")},KZ=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema")},tE=(e,t,n,r)=>{n.not={}},XZ=(e,t,n,r)=>{},nE=(e,t,n,r)=>{},YZ=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema")},rE=(e,t,n,r)=>{let s=e._zod.def,a=jI(s.entries);a.every(i=>typeof i=="number")&&(n.type="number"),a.every(i=>typeof i=="string")&&(n.type="string"),n.enum=a},sE=(e,t,n,r)=>{let s=e._zod.def,a=[];for(let i of s.values)if(i===void 0){if(t.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof i=="bigint"){if(t.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");a.push(Number(i))}else a.push(i);if(a.length!==0)if(a.length===1){let i=a[0];n.type=i===null?"null":typeof i,t.target==="draft-04"||t.target==="openapi-3.0"?n.enum=[i]:n.const=i}else a.every(i=>typeof i=="number")&&(n.type="number"),a.every(i=>typeof i=="string")&&(n.type="string"),a.every(i=>typeof i=="boolean")&&(n.type="boolean"),a.every(i=>i===null)&&(n.type="null"),n.enum=a},QZ=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema")},e8=(e,t,n,r)=>{let s=n,a=e._zod.pattern;if(!a)throw new Error("Pattern not found in template literal");s.type="string",s.pattern=a.source},t8=(e,t,n,r)=>{let s=n,a={type:"string",format:"binary",contentEncoding:"binary"},{minimum:i,maximum:o,mime:c}=e._zod.bag;i!==void 0&&(a.minLength=i),o!==void 0&&(a.maxLength=o),c?c.length===1?(a.contentMediaType=c[0],Object.assign(s,a)):(Object.assign(s,a),s.anyOf=c.map(u=>({contentMediaType:u}))):Object.assign(s,a)},n8=(e,t,n,r)=>{n.type="boolean"},aE=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},r8=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Function types cannot be represented in JSON Schema")},iE=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},s8=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema")},a8=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema")},oE=(e,t,n,r)=>{let s=n,a=e._zod.def,{minimum:i,maximum:o}=e._zod.bag;typeof i=="number"&&(s.minItems=i),typeof o=="number"&&(s.maxItems=o),s.type="array",s.items=nt(a.element,t,{...r,path:[...r.path,"items"]})},cE=(e,t,n,r)=>{let s=n,a=e._zod.def;s.type="object",s.properties={};let i=a.shape;for(let u in i)s.properties[u]=nt(i[u],t,{...r,path:[...r.path,"properties",u]});let o=new Set(Object.keys(i)),c=new Set([...o].filter(u=>{let l=a.shape[u]._zod;return t.io==="input"?l.optin===void 0:l.optout===void 0}));c.size>0&&(s.required=Array.from(c)),a.catchall?._zod.def.type==="never"?s.additionalProperties=!1:a.catchall?a.catchall&&(s.additionalProperties=nt(a.catchall,t,{...r,path:[...r.path,"additionalProperties"]})):t.io==="output"&&(s.additionalProperties=!1)},uE=(e,t,n,r)=>{let s=e._zod.def,a=s.inclusive===!1,i=s.options.map((o,c)=>nt(o,t,{...r,path:[...r.path,a?"oneOf":"anyOf",c]}));a?n.oneOf=i:n.anyOf=i},lE=(e,t,n,r)=>{let s=e._zod.def,a=nt(s.left,t,{...r,path:[...r.path,"allOf",0]}),i=nt(s.right,t,{...r,path:[...r.path,"allOf",1]}),o=u=>"allOf"in u&&Object.keys(u).length===1,c=[...o(a)?a.allOf:[a],...o(i)?i.allOf:[i]];n.allOf=c},i8=(e,t,n,r)=>{let s=n,a=e._zod.def;s.type="array";let i=t.target==="draft-2020-12"?"prefixItems":"items",o=t.target==="draft-2020-12"||t.target==="openapi-3.0"?"items":"additionalItems",c=a.items.map((p,h)=>nt(p,t,{...r,path:[...r.path,i,h]})),u=a.rest?nt(a.rest,t,{...r,path:[...r.path,o,...t.target==="openapi-3.0"?[a.items.length]:[]]}):null;t.target==="draft-2020-12"?(s.prefixItems=c,u&&(s.items=u)):t.target==="openapi-3.0"?(s.items={anyOf:c},u&&s.items.anyOf.push(u),s.minItems=c.length,u||(s.maxItems=c.length)):(s.items=c,u&&(s.additionalItems=u));let{minimum:l,maximum:d}=e._zod.bag;typeof l=="number"&&(s.minItems=l),typeof d=="number"&&(s.maxItems=d)},dE=(e,t,n,r)=>{let s=n,a=e._zod.def;s.type="object";let i=a.keyType,o=i._zod.bag?.patterns;if(a.mode==="loose"&&o&&o.size>0){let u=nt(a.valueType,t,{...r,path:[...r.path,"patternProperties","*"]});s.patternProperties={};for(let l of o)s.patternProperties[l.source]=u}else(t.target==="draft-07"||t.target==="draft-2020-12")&&(s.propertyNames=nt(a.keyType,t,{...r,path:[...r.path,"propertyNames"]})),s.additionalProperties=nt(a.valueType,t,{...r,path:[...r.path,"additionalProperties"]});let c=i._zod.values;if(c){let u=[...c].filter(l=>typeof l=="string"||typeof l=="number");u.length>0&&(s.required=u)}},pE=(e,t,n,r)=>{let s=e._zod.def,a=nt(s.innerType,t,r),i=t.seen.get(e);t.target==="openapi-3.0"?(i.ref=s.innerType,n.nullable=!0):n.anyOf=[a,{type:"null"}]},hE=(e,t,n,r)=>{let s=e._zod.def;nt(s.innerType,t,r);let a=t.seen.get(e);a.ref=s.innerType},fE=(e,t,n,r)=>{let s=e._zod.def;nt(s.innerType,t,r);let a=t.seen.get(e);a.ref=s.innerType,n.default=JSON.parse(JSON.stringify(s.defaultValue))},mE=(e,t,n,r)=>{let s=e._zod.def;nt(s.innerType,t,r);let a=t.seen.get(e);a.ref=s.innerType,t.io==="input"&&(n._prefault=JSON.parse(JSON.stringify(s.defaultValue)))},gE=(e,t,n,r)=>{let s=e._zod.def;nt(s.innerType,t,r);let a=t.seen.get(e);a.ref=s.innerType;let i;try{i=s.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}n.default=i},yE=(e,t,n,r)=>{let s=e._zod.def,a=t.io==="input"?s.in._zod.def.type==="transform"?s.out:s.in:s.out;nt(a,t,r);let i=t.seen.get(e);i.ref=a},_E=(e,t,n,r)=>{let s=e._zod.def;nt(s.innerType,t,r);let a=t.seen.get(e);a.ref=s.innerType,n.readOnly=!0},o8=(e,t,n,r)=>{let s=e._zod.def;nt(s.innerType,t,r);let a=t.seen.get(e);a.ref=s.innerType},G_=(e,t,n,r)=>{let s=e._zod.def;nt(s.innerType,t,r);let a=t.seen.get(e);a.ref=s.innerType},c8=(e,t,n,r)=>{let s=e._zod.innerType;nt(s,t,r);let a=t.seen.get(e);a.ref=s},R1={string:QI,number:eE,boolean:qZ,bigint:HZ,symbol:WZ,null:JZ,undefined:GZ,void:KZ,never:tE,any:XZ,unknown:nE,date:YZ,enum:rE,literal:sE,nan:QZ,template_literal:e8,file:t8,success:n8,custom:aE,function:r8,transform:iE,map:s8,set:a8,array:oE,object:cE,union:uE,intersection:lE,tuple:i8,record:dE,nullable:pE,nonoptional:hE,default:fE,prefault:mE,catch:gE,pipe:yE,readonly:_E,promise:o8,optional:G_,lazy:c8};function u8(e,t){if("_idmap"in e){let r=e,s=dp({...t,processors:R1}),a={};for(let c of r._idmap.entries()){let[u,l]=c;nt(l,s)}let i={},o={registry:r,uri:t?.uri,defs:a};s.external=o;for(let c of r._idmap.entries()){let[u,l]=c;pp(s,l),i[u]=hp(s,l)}if(Object.keys(a).length>0){let c=s.target==="draft-2020-12"?"$defs":"definitions";i.__shared={[c]:a}}return{schemas:i}}let n=dp({...t,processors:R1});return nt(e,n),pp(n,e),hp(n,e)}var l8=$("ZodISODateTime",(e,t)=>{gB.init(e,t),lt.init(e,t)});function d8(e){return wZ(l8,e)}var p8=$("ZodISODate",(e,t)=>{yB.init(e,t),lt.init(e,t)});function h8(e){return bZ(p8,e)}var f8=$("ZodISOTime",(e,t)=>{_B.init(e,t),lt.init(e,t)});function m8(e){return kZ(f8,e)}var g8=$("ZodISODuration",(e,t)=>{vB.init(e,t),lt.init(e,t)});function y8(e){return xZ(g8,e)}var _8=(e,t)=>{zI.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:n=>l6(e,n)},flatten:{value:n=>u6(e,n)},addIssue:{value:n=>{e.issues.push(n),e.message=JSON.stringify(e.issues,Yg,2)}},addIssues:{value:n=>{e.issues.push(...n),e.message=JSON.stringify(e.issues,Yg,2)}},isEmpty:{get(){return e.issues.length===0}}})},Wn=$("ZodError",_8,{Parent:Error}),v8=Kp(Wn),w8=W_(Wn),b8=Xp(Wn),k8=Yp(Wn),x8=f6(Wn),O8=m6(Wn),S8=g6(Wn),T8=y6(Wn),I8=_6(Wn),E8=v6(Wn),A8=w6(Wn),$8=b6(Wn),ft=$("ZodType",(e,t)=>(ht.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:fp(e,"input"),output:fp(e,"output")}}),e.toJSONSchema=ZZ(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.check=(...n)=>e.clone(Vs(t,{checks:[...t.checks??[],...n.map(r=>typeof r=="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]}),{parent:!0}),e.with=e.check,e.clone=(n,r)=>qs(e,n,r),e.brand=()=>e,e.register=((n,r)=>(n.add(e,r),e)),e.parse=(n,r)=>v8(e,n,r,{callee:e.parse}),e.safeParse=(n,r)=>b8(e,n,r),e.parseAsync=async(n,r)=>w8(e,n,r,{callee:e.parseAsync}),e.safeParseAsync=async(n,r)=>k8(e,n,r),e.spa=e.safeParseAsync,e.encode=(n,r)=>x8(e,n,r),e.decode=(n,r)=>O8(e,n,r),e.encodeAsync=async(n,r)=>S8(e,n,r),e.decodeAsync=async(n,r)=>T8(e,n,r),e.safeEncode=(n,r)=>I8(e,n,r),e.safeDecode=(n,r)=>E8(e,n,r),e.safeEncodeAsync=async(n,r)=>A8(e,n,r),e.safeDecodeAsync=async(n,r)=>$8(e,n,r),e.refine=(n,r)=>e.check(xV(n,r)),e.superRefine=n=>e.check(OV(n)),e.overwrite=n=>e.check(lo(n)),e.optional=()=>U1(e),e.exactOptional=()=>lV(e),e.nullable=()=>D1(e),e.nullish=()=>U1(D1(e)),e.nonoptional=n=>gV(e,n),e.array=()=>lu(e),e.or=n=>eh([e,n]),e.and=n=>rV(e,n),e.transform=n=>F1(e,cV(n)),e.default=n=>hV(e,n),e.prefault=n=>mV(e,n),e.catch=n=>_V(e,n),e.pipe=n=>F1(e,n),e.readonly=()=>bV(e),e.describe=n=>{let r=e.clone();return Uo.add(r,{description:n}),r},Object.defineProperty(e,"description",{get(){return Uo.get(e)?.description},configurable:!0}),e.meta=(...n)=>{if(n.length===0)return Uo.get(e);let r=e.clone();return Uo.add(r,n[0]),r},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=n=>n(e),e)),vE=$("_ZodString",(e,t)=>{J_.init(e,t),ft.init(e,t),e._zod.processJSONSchema=(r,s,a)=>QI(e,r,s);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...r)=>e.check(EZ(...r)),e.includes=(...r)=>e.check(CZ(...r)),e.startsWith=(...r)=>e.check(NZ(...r)),e.endsWith=(...r)=>e.check(PZ(...r)),e.min=(...r)=>e.check(lp(...r)),e.max=(...r)=>e.check(XI(...r)),e.length=(...r)=>e.check(YI(...r)),e.nonempty=(...r)=>e.check(lp(1,...r)),e.lowercase=r=>e.check(AZ(r)),e.uppercase=r=>e.check($Z(r)),e.trim=()=>e.check(RZ()),e.normalize=(...r)=>e.check(jZ(...r)),e.toLowerCase=()=>e.check(MZ()),e.toUpperCase=()=>e.check(LZ()),e.slugify=()=>e.check(zZ())}),C8=$("ZodString",(e,t)=>{J_.init(e,t),vE.init(e,t),e.email=n=>e.check(QB(N8,n)),e.url=n=>e.check(sZ(P8,n)),e.jwt=n=>e.check(vZ(J8,n)),e.emoji=n=>e.check(aZ(j8,n)),e.guid=n=>e.check(C1(M1,n)),e.uuid=n=>e.check(eZ(Gu,n)),e.uuidv4=n=>e.check(tZ(Gu,n)),e.uuidv6=n=>e.check(nZ(Gu,n)),e.uuidv7=n=>e.check(rZ(Gu,n)),e.nanoid=n=>e.check(iZ(R8,n)),e.guid=n=>e.check(C1(M1,n)),e.cuid=n=>e.check(oZ(M8,n)),e.cuid2=n=>e.check(cZ(L8,n)),e.ulid=n=>e.check(uZ(z8,n)),e.base64=n=>e.check(gZ(q8,n)),e.base64url=n=>e.check(yZ(H8,n)),e.xid=n=>e.check(lZ(U8,n)),e.ksuid=n=>e.check(dZ(D8,n)),e.ipv4=n=>e.check(pZ(F8,n)),e.ipv6=n=>e.check(hZ(B8,n)),e.cidrv4=n=>e.check(fZ(Z8,n)),e.cidrv6=n=>e.check(mZ(V8,n)),e.e164=n=>e.check(_Z(W8,n)),e.datetime=n=>e.check(d8(n)),e.date=n=>e.check(h8(n)),e.time=n=>e.check(m8(n)),e.duration=n=>e.check(y8(n))});function Cn(e){return YB(C8,e)}var lt=$("ZodStringFormat",(e,t)=>{ut.init(e,t),vE.init(e,t)}),N8=$("ZodEmail",(e,t)=>{oB.init(e,t),lt.init(e,t)}),M1=$("ZodGUID",(e,t)=>{aB.init(e,t),lt.init(e,t)}),Gu=$("ZodUUID",(e,t)=>{iB.init(e,t),lt.init(e,t)}),P8=$("ZodURL",(e,t)=>{cB.init(e,t),lt.init(e,t)}),j8=$("ZodEmoji",(e,t)=>{uB.init(e,t),lt.init(e,t)}),R8=$("ZodNanoID",(e,t)=>{lB.init(e,t),lt.init(e,t)}),M8=$("ZodCUID",(e,t)=>{dB.init(e,t),lt.init(e,t)}),L8=$("ZodCUID2",(e,t)=>{pB.init(e,t),lt.init(e,t)}),z8=$("ZodULID",(e,t)=>{hB.init(e,t),lt.init(e,t)}),U8=$("ZodXID",(e,t)=>{fB.init(e,t),lt.init(e,t)}),D8=$("ZodKSUID",(e,t)=>{mB.init(e,t),lt.init(e,t)}),F8=$("ZodIPv4",(e,t)=>{wB.init(e,t),lt.init(e,t)}),B8=$("ZodIPv6",(e,t)=>{bB.init(e,t),lt.init(e,t)}),Z8=$("ZodCIDRv4",(e,t)=>{kB.init(e,t),lt.init(e,t)}),V8=$("ZodCIDRv6",(e,t)=>{xB.init(e,t),lt.init(e,t)}),q8=$("ZodBase64",(e,t)=>{OB.init(e,t),lt.init(e,t)}),H8=$("ZodBase64URL",(e,t)=>{TB.init(e,t),lt.init(e,t)}),W8=$("ZodE164",(e,t)=>{IB.init(e,t),lt.init(e,t)}),J8=$("ZodJWT",(e,t)=>{AB.init(e,t),lt.init(e,t)}),wE=$("ZodNumber",(e,t)=>{WI.init(e,t),ft.init(e,t),e._zod.processJSONSchema=(r,s,a)=>eE(e,r,s),e.gt=(r,s)=>e.check(P1(r,s)),e.gte=(r,s)=>e.check(Gf(r,s)),e.min=(r,s)=>e.check(Gf(r,s)),e.lt=(r,s)=>e.check(N1(r,s)),e.lte=(r,s)=>e.check(Jf(r,s)),e.max=(r,s)=>e.check(Jf(r,s)),e.int=r=>e.check(L1(r)),e.safe=r=>e.check(L1(r)),e.positive=r=>e.check(P1(0,r)),e.nonnegative=r=>e.check(Gf(0,r)),e.negative=r=>e.check(N1(0,r)),e.nonpositive=r=>e.check(Jf(0,r)),e.multipleOf=(r,s)=>e.check(j1(r,s)),e.step=(r,s)=>e.check(j1(r,s)),e.finite=()=>e;let n=e._zod.bag;e.minValue=Math.max(n.minimum??Number.NEGATIVE_INFINITY,n.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(n.maximum??Number.POSITIVE_INFINITY,n.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function Zt(e){return OZ(wE,e)}var G8=$("ZodNumberFormat",(e,t)=>{$B.init(e,t),wE.init(e,t)});function L1(e){return SZ(G8,e)}var K8=$("ZodUnknown",(e,t)=>{CB.init(e,t),ft.init(e,t),e._zod.processJSONSchema=(n,r,s)=>nE()});function z1(){return TZ(K8)}var X8=$("ZodNever",(e,t)=>{NB.init(e,t),ft.init(e,t),e._zod.processJSONSchema=(n,r,s)=>tE(e,n,r)});function Y8(e){return IZ(X8,e)}var Q8=$("ZodArray",(e,t)=>{PB.init(e,t),ft.init(e,t),e._zod.processJSONSchema=(n,r,s)=>oE(e,n,r,s),e.element=t.element,e.min=(n,r)=>e.check(lp(n,r)),e.nonempty=n=>e.check(lp(1,n)),e.max=(n,r)=>e.check(XI(n,r)),e.length=(n,r)=>e.check(YI(n,r)),e.unwrap=()=>e.element});function lu(e,t){return UZ(Q8,e,t)}var eV=$("ZodObject",(e,t)=>{RB.init(e,t),ft.init(e,t),e._zod.processJSONSchema=(n,r,s)=>cE(e,n,r,s),Ke(e,"shape",()=>t.shape),e.keyof=()=>K_(Object.keys(e._zod.def.shape)),e.catchall=n=>e.clone({...e._zod.def,catchall:n}),e.passthrough=()=>e.clone({...e._zod.def,catchall:z1()}),e.loose=()=>e.clone({...e._zod.def,catchall:z1()}),e.strict=()=>e.clone({...e._zod.def,catchall:Y8()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=n=>s6(e,n),e.safeExtend=n=>a6(e,n),e.merge=n=>i6(e,n),e.pick=n=>n6(e,n),e.omit=n=>r6(e,n),e.partial=(...n)=>o6(bE,e,n[0]),e.required=(...n)=>c6(kE,e,n[0])});function Wt(e,t){let n={type:"object",shape:e??{},...de(t)};return new eV(n)}var tV=$("ZodUnion",(e,t)=>{MB.init(e,t),ft.init(e,t),e._zod.processJSONSchema=(n,r,s)=>uE(e,n,r,s),e.options=t.options});function eh(e,t){return new tV({type:"union",options:e,...de(t)})}var nV=$("ZodIntersection",(e,t)=>{LB.init(e,t),ft.init(e,t),e._zod.processJSONSchema=(n,r,s)=>lE(e,n,r,s)});function rV(e,t){return new nV({type:"intersection",left:e,right:t})}var sV=$("ZodRecord",(e,t)=>{zB.init(e,t),ft.init(e,t),e._zod.processJSONSchema=(n,r,s)=>dE(e,n,r,s),e.keyType=t.keyType,e.valueType=t.valueType});function aV(e,t,n){return new sV({type:"record",keyType:e,valueType:t,...de(n)})}var ny=$("ZodEnum",(e,t)=>{UB.init(e,t),ft.init(e,t),e._zod.processJSONSchema=(r,s,a)=>rE(e,r,s),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(r,s)=>{let a={};for(let i of r)if(n.has(i))a[i]=t.entries[i];else throw new Error(`Key ${i} not found in enum`);return new ny({...t,checks:[],...de(s),entries:a})},e.exclude=(r,s)=>{let a={...t.entries};for(let i of r)if(n.has(i))delete a[i];else throw new Error(`Key ${i} not found in enum`);return new ny({...t,checks:[],...de(s),entries:a})}});function K_(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map(r=>[r,r])):e;return new ny({type:"enum",entries:n,...de(t)})}var iV=$("ZodLiteral",(e,t)=>{DB.init(e,t),ft.init(e,t),e._zod.processJSONSchema=(n,r,s)=>sE(e,n,r),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function Rn(e,t){return new iV({type:"literal",values:Array.isArray(e)?e:[e],...de(t)})}var oV=$("ZodTransform",(e,t)=>{FB.init(e,t),ft.init(e,t),e._zod.processJSONSchema=(n,r,s)=>iE(e,n),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new op(e.constructor.name);n.addIssue=a=>{if(typeof a=="string")n.issues.push(Fc(a,n.value,t));else{let i=a;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=n.value),i.inst??(i.inst=e),n.issues.push(Fc(i))}};let s=t.transform(n.value,n);return s instanceof Promise?s.then(a=>(n.value=a,n)):(n.value=s,n)}});function cV(e){return new oV({type:"transform",transform:e})}var bE=$("ZodOptional",(e,t)=>{KI.init(e,t),ft.init(e,t),e._zod.processJSONSchema=(n,r,s)=>G_(e,n,r,s),e.unwrap=()=>e._zod.def.innerType});function U1(e){return new bE({type:"optional",innerType:e})}var uV=$("ZodExactOptional",(e,t)=>{BB.init(e,t),ft.init(e,t),e._zod.processJSONSchema=(n,r,s)=>G_(e,n,r,s),e.unwrap=()=>e._zod.def.innerType});function lV(e){return new uV({type:"optional",innerType:e})}var dV=$("ZodNullable",(e,t)=>{ZB.init(e,t),ft.init(e,t),e._zod.processJSONSchema=(n,r,s)=>pE(e,n,r,s),e.unwrap=()=>e._zod.def.innerType});function D1(e){return new dV({type:"nullable",innerType:e})}var pV=$("ZodDefault",(e,t)=>{VB.init(e,t),ft.init(e,t),e._zod.processJSONSchema=(n,r,s)=>fE(e,n,r,s),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function hV(e,t){return new pV({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():MI(t)}})}var fV=$("ZodPrefault",(e,t)=>{qB.init(e,t),ft.init(e,t),e._zod.processJSONSchema=(n,r,s)=>mE(e,n,r,s),e.unwrap=()=>e._zod.def.innerType});function mV(e,t){return new fV({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():MI(t)}})}var kE=$("ZodNonOptional",(e,t)=>{HB.init(e,t),ft.init(e,t),e._zod.processJSONSchema=(n,r,s)=>hE(e,n,r,s),e.unwrap=()=>e._zod.def.innerType});function gV(e,t){return new kE({type:"nonoptional",innerType:e,...de(t)})}var yV=$("ZodCatch",(e,t)=>{WB.init(e,t),ft.init(e,t),e._zod.processJSONSchema=(n,r,s)=>gE(e,n,r,s),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function _V(e,t){return new yV({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}var vV=$("ZodPipe",(e,t)=>{JB.init(e,t),ft.init(e,t),e._zod.processJSONSchema=(n,r,s)=>yE(e,n,r,s),e.in=t.in,e.out=t.out});function F1(e,t){return new vV({type:"pipe",in:e,out:t})}var wV=$("ZodReadonly",(e,t)=>{GB.init(e,t),ft.init(e,t),e._zod.processJSONSchema=(n,r,s)=>_E(e,n,r,s),e.unwrap=()=>e._zod.def.innerType});function bV(e){return new wV({type:"readonly",innerType:e})}var kV=$("ZodCustom",(e,t)=>{KB.init(e,t),ft.init(e,t),e._zod.processJSONSchema=(n,r,s)=>aE(e,n)});function xV(e,t={}){return DZ(kV,e,t)}function OV(e){return FZ(e)}var SV=Symbol("Let zodToJsonSchema decide on which parser to use"),B1={name:void 0,$refStrategy:"root",effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",nullableStrategy:"from-target",removeAdditionalStrategy:"passthrough",definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref"},TV=e=>typeof e=="string"?{...B1,basePath:["#"],definitions:{},name:e}:{...B1,basePath:["#"],definitions:{},...e},ry=e=>"_def"in e?e._def:e;function IV(e){if(!e)return!0;for(let t in e)return!1;return!0}var EV=e=>{let t=TV(e),n=t.name!==void 0?[...t.basePath,t.definitionPath,t.name]:t.basePath;return{...t,currentPath:n,propertyPath:void 0,seenRefs:new Set,seen:new Map(Object.entries(t.definitions).map(([r,s])=>[ry(s),{def:ry(s),path:[...t.basePath,t.definitionPath,r],jsonSchema:void 0}]))}};function xE(e,t,n,r){r?.errorMessages&&n&&(e.errorMessage={...e.errorMessage,[t]:n})}function Ge(e,t,n,r,s){e[t]=n,xE(e,t,r,s)}var Bc;(function(e){e.assertEqual=s=>{};function t(s){}e.assertIs=t;function n(s){throw new Error}e.assertNever=n,e.arrayToEnum=s=>{let a={};for(let i of s)a[i]=i;return a},e.getValidEnumValues=s=>{let a=e.objectKeys(s).filter(o=>typeof s[s[o]]!="number"),i={};for(let o of a)i[o]=s[o];return e.objectValues(i)},e.objectValues=s=>e.objectKeys(s).map(function(a){return s[a]}),e.objectKeys=typeof Object.keys=="function"?s=>Object.keys(s):s=>{let a=[];for(let i in s)Object.prototype.hasOwnProperty.call(s,i)&&a.push(i);return a},e.find=(s,a)=>{for(let i of s)if(a(i))return i},e.isInteger=typeof Number.isInteger=="function"?s=>Number.isInteger(s):s=>typeof s=="number"&&Number.isFinite(s)&&Math.floor(s)===s;function r(s,a=" | "){return s.map(i=>typeof i=="string"?`'${i}'`:i).join(a)}e.joinValues=r,e.jsonStringifyReplacer=(s,a)=>typeof a=="bigint"?a.toString():a})(Bc||(Bc={}));var Z1;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(Z1||(Z1={}));Bc.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]);Bc.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"]);var mp=class e extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};let n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=t}format(t){let n=t||function(a){return a.message},r={_errors:[]},s=a=>{for(let i of a.issues)if(i.code==="invalid_union")i.unionErrors.map(s);else if(i.code==="invalid_return_type")s(i.returnTypeError);else if(i.code==="invalid_arguments")s(i.argumentsError);else if(i.path.length===0)r._errors.push(n(i));else{let o=r,c=0;for(;c<i.path.length;){let u=i.path[c];c===i.path.length-1?(o[u]=o[u]||{_errors:[]},o[u]._errors.push(n(i))):o[u]=o[u]||{_errors:[]},o=o[u],c++}}};return s(this),r}static assert(t){if(!(t instanceof e))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,Bc.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=n=>n.message){let n=Object.create(null),r=[];for(let s of this.issues)if(s.path.length>0){let a=s.path[0];n[a]=n[a]||[],n[a].push(t(s))}else r.push(t(s));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}};mp.create=e=>new mp(e);var V1;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(V1||(V1={}));var ke;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(ke||(ke={}));function AV(){return{}}function $V(e,t){let n={type:"array"};return e.type?._def?.typeName!==ke.ZodAny&&(n.items=Ve(e.type._def,{...t,currentPath:[...t.currentPath,"items"]})),e.minLength&&Ge(n,"minItems",e.minLength.value,e.minLength.message,t),e.maxLength&&Ge(n,"maxItems",e.maxLength.value,e.maxLength.message,t),e.exactLength&&(Ge(n,"minItems",e.exactLength.value,e.exactLength.message,t),Ge(n,"maxItems",e.exactLength.value,e.exactLength.message,t)),n}function CV(e,t){let n={type:"integer",format:"int64"};if(!e.checks)return n;for(let r of e.checks)switch(r.kind){case"min":t.target==="jsonSchema7"?r.inclusive?Ge(n,"minimum",r.value,r.message,t):Ge(n,"exclusiveMinimum",r.value,r.message,t):(r.inclusive||(n.exclusiveMinimum=!0),Ge(n,"minimum",r.value,r.message,t));break;case"max":t.target==="jsonSchema7"?r.inclusive?Ge(n,"maximum",r.value,r.message,t):Ge(n,"exclusiveMaximum",r.value,r.message,t):(r.inclusive||(n.exclusiveMaximum=!0),Ge(n,"maximum",r.value,r.message,t));break;case"multipleOf":Ge(n,"multipleOf",r.value,r.message,t);break}return n}function NV(){return{type:"boolean"}}function PV(e,t){return Ve(e.type._def,t)}var jV=(e,t)=>Ve(e.innerType._def,t);function OE(e,t,n){let r=n??t.dateStrategy;if(Array.isArray(r))return{anyOf:r.map((s,a)=>OE(e,t,s))};switch(r){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return RV(e,t)}}var RV=(e,t)=>{let n={type:"integer",format:"unix-time"};if(t.target==="openApi3")return n;for(let r of e.checks)switch(r.kind){case"min":Ge(n,"minimum",r.value,r.message,t);break;case"max":Ge(n,"maximum",r.value,r.message,t);break}return n};function MV(e,t){return{...Ve(e.innerType._def,t),default:e.defaultValue()}}function LV(e,t,n){return t.effectStrategy==="input"?Ve(e.schema._def,t,n):{}}function zV(e){return{type:"string",enum:[...e.values]}}var UV=e=>"type"in e&&e.type==="string"?!1:"allOf"in e;function DV(e,t){let n=[Ve(e.left._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),Ve(e.right._def,{...t,currentPath:[...t.currentPath,"allOf","1"]})].filter(a=>!!a),r=t.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,s=[];return n.forEach(a=>{if(UV(a))s.push(...a.allOf),a.unevaluatedProperties===void 0&&(r=void 0);else{let i=a;if("additionalProperties"in a&&a.additionalProperties===!1){let{additionalProperties:o,...c}=a;i=c}else r=void 0;s.push(i)}}),s.length?{allOf:s,...r}:void 0}function FV(e,t){let n=typeof e.value;return n!=="bigint"&&n!=="number"&&n!=="boolean"&&n!=="string"?{type:Array.isArray(e.value)?"array":"object"}:t.target==="openApi3"?{type:n==="bigint"?"integer":n,enum:[e.value]}:{type:n==="bigint"?"integer":n,const:e.value}}var Kf,Js={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>(Kf===void 0&&(Kf=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),Kf),base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/};function SE(e,t){let n={type:"string"};function r(s){return t.patternStrategy==="escape"?BV(s):s}if(e.checks)for(let s of e.checks)switch(s.kind){case"min":Ge(n,"minLength",typeof n.minLength=="number"?Math.max(n.minLength,s.value):s.value,s.message,t);break;case"max":Ge(n,"maxLength",typeof n.maxLength=="number"?Math.min(n.maxLength,s.value):s.value,s.message,t);break;case"email":switch(t.emailStrategy){case"format:email":Yn(n,"email",s.message,t);break;case"format:idn-email":Yn(n,"idn-email",s.message,t);break;case"pattern:zod":Qn(n,Js.email,s.message,t);break}break;case"url":Yn(n,"uri",s.message,t);break;case"uuid":Yn(n,"uuid",s.message,t);break;case"regex":Qn(n,s.regex,s.message,t);break;case"cuid":Qn(n,Js.cuid,s.message,t);break;case"cuid2":Qn(n,Js.cuid2,s.message,t);break;case"startsWith":Qn(n,RegExp(`^${r(s.value)}`),s.message,t);break;case"endsWith":Qn(n,RegExp(`${r(s.value)}$`),s.message,t);break;case"datetime":Yn(n,"date-time",s.message,t);break;case"date":Yn(n,"date",s.message,t);break;case"time":Yn(n,"time",s.message,t);break;case"duration":Yn(n,"duration",s.message,t);break;case"length":Ge(n,"minLength",typeof n.minLength=="number"?Math.max(n.minLength,s.value):s.value,s.message,t),Ge(n,"maxLength",typeof n.maxLength=="number"?Math.min(n.maxLength,s.value):s.value,s.message,t);break;case"includes":{Qn(n,RegExp(r(s.value)),s.message,t);break}case"ip":{s.version!=="v6"&&Yn(n,"ipv4",s.message,t),s.version!=="v4"&&Yn(n,"ipv6",s.message,t);break}case"emoji":Qn(n,Js.emoji,s.message,t);break;case"ulid":{Qn(n,Js.ulid,s.message,t);break}case"base64":{switch(t.base64Strategy){case"format:binary":{Yn(n,"binary",s.message,t);break}case"contentEncoding:base64":{Ge(n,"contentEncoding","base64",s.message,t);break}case"pattern:zod":{Qn(n,Js.base64,s.message,t);break}}break}case"nanoid":Qn(n,Js.nanoid,s.message,t)}return n}var BV=e=>Array.from(e).map(t=>/[a-zA-Z0-9]/.test(t)?t:`\\${t}`).join(""),Yn=(e,t,n,r)=>{e.format||e.anyOf?.some(s=>s.format)?(e.anyOf||(e.anyOf=[]),e.format&&(e.anyOf.push({format:e.format,...e.errorMessage&&r.errorMessages&&{errorMessage:{format:e.errorMessage.format}}}),delete e.format,e.errorMessage&&(delete e.errorMessage.format,Object.keys(e.errorMessage).length===0&&delete e.errorMessage)),e.anyOf.push({format:t,...n&&r.errorMessages&&{errorMessage:{format:n}}})):Ge(e,"format",t,n,r)},Qn=(e,t,n,r)=>{e.pattern||e.allOf?.some(s=>s.pattern)?(e.allOf||(e.allOf=[]),e.pattern&&(e.allOf.push({pattern:e.pattern,...e.errorMessage&&r.errorMessages&&{errorMessage:{pattern:e.errorMessage.pattern}}}),delete e.pattern,e.errorMessage&&(delete e.errorMessage.pattern,Object.keys(e.errorMessage).length===0&&delete e.errorMessage)),e.allOf.push({pattern:q1(t,r),...n&&r.errorMessages&&{errorMessage:{pattern:n}}})):Ge(e,"pattern",q1(t,r),n,r)},q1=(e,t)=>{let n=typeof e=="function"?e():e;if(!t.applyRegexFlags||!n.flags)return n.source;let r={i:n.flags.includes("i"),m:n.flags.includes("m"),s:n.flags.includes("s")},s=r.i?n.source.toLowerCase():n.source,a="",i=!1,o=!1,c=!1;for(let u=0;u<s.length;u++){if(i){a+=s[u],i=!1;continue}if(r.i){if(o){if(s[u].match(/[a-z]/)){c?(a+=s[u],a+=`${s[u-2]}-${s[u]}`.toUpperCase(),c=!1):s[u+1]==="-"&&s[u+2]?.match(/[a-z]/)?(a+=s[u],c=!0):a+=`${s[u]}${s[u].toUpperCase()}`;continue}}else if(s[u].match(/[a-z]/)){a+=`[${s[u]}${s[u].toUpperCase()}]`;continue}}if(r.m){if(s[u]==="^"){a+=`(^|(?<=[\r
340
+ ]))`;continue}else if(s[u]==="$"){a+=`($|(?=[\r
341
+ ]))`;continue}}if(r.s&&s[u]==="."){a+=o?`${s[u]}\r
342
+ `:`[${s[u]}\r
343
+ ]`;continue}a+=s[u],s[u]==="\\"?i=!0:o&&s[u]==="]"?o=!1:!o&&s[u]==="["&&(o=!0)}try{let u=new RegExp(a)}catch{return console.warn(`Could not convert regex pattern at ${t.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),n.source}return a};function TE(e,t){if(t.target==="openApi3"&&e.keyType?._def.typeName===ke.ZodEnum)return{type:"object",required:e.keyType._def.values,properties:e.keyType._def.values.reduce((r,s)=>({...r,[s]:Ve(e.valueType._def,{...t,currentPath:[...t.currentPath,"properties",s]})??{}}),{}),additionalProperties:!1};let n={type:"object",additionalProperties:Ve(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]})??{}};if(t.target==="openApi3")return n;if(e.keyType?._def.typeName===ke.ZodString&&e.keyType._def.checks?.length){let r=Object.entries(SE(e.keyType._def,t)).reduce((s,[a,i])=>a==="type"?s:{...s,[a]:i},{});return{...n,propertyNames:r}}else if(e.keyType?._def.typeName===ke.ZodEnum)return{...n,propertyNames:{enum:e.keyType._def.values}};return n}function ZV(e,t){if(t.mapStrategy==="record")return TE(e,t);let n=Ve(e.keyType._def,{...t,currentPath:[...t.currentPath,"items","items","0"]})||{},r=Ve(e.valueType._def,{...t,currentPath:[...t.currentPath,"items","items","1"]})||{};return{type:"array",maxItems:125,items:{type:"array",items:[n,r],minItems:2,maxItems:2}}}function VV(e){let t=e.values,n=Object.keys(e.values).filter(s=>typeof t[t[s]]!="number").map(s=>t[s]),r=Array.from(new Set(n.map(s=>typeof s)));return{type:r.length===1?r[0]==="string"?"string":"number":["string","number"],enum:n}}function qV(){return{not:{}}}function HV(e){return e.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var gp={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function WV(e,t){if(t.target==="openApi3")return H1(e,t);let n=e.options instanceof Map?Array.from(e.options.values()):e.options;if(n.every(r=>r._def.typeName in gp&&(!r._def.checks||!r._def.checks.length))){let r=n.reduce((s,a)=>{let i=gp[a._def.typeName];return i&&!s.includes(i)?[...s,i]:s},[]);return{type:r.length>1?r:r[0]}}else if(n.every(r=>r._def.typeName==="ZodLiteral"&&!r.description)){let r=n.reduce((s,a)=>{let i=typeof a._def.value;switch(i){case"string":case"number":case"boolean":return[...s,i];case"bigint":return[...s,"integer"];case"object":if(a._def.value===null)return[...s,"null"];default:return s}},[]);if(r.length===n.length){let s=r.filter((a,i,o)=>o.indexOf(a)===i);return{type:s.length>1?s:s[0],enum:n.reduce((a,i)=>a.includes(i._def.value)?a:[...a,i._def.value],[])}}}else if(n.every(r=>r._def.typeName==="ZodEnum"))return{type:"string",enum:n.reduce((r,s)=>[...r,...s._def.values.filter(a=>!r.includes(a))],[])};return H1(e,t)}var H1=(e,t)=>{let n=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((r,s)=>Ve(r._def,{...t,currentPath:[...t.currentPath,"anyOf",`${s}`]})).filter(r=>!!r&&(!t.strictUnions||typeof r=="object"&&Object.keys(r).length>0));return n.length?{anyOf:n}:void 0};function JV(e,t){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return t.target==="openApi3"||t.nullableStrategy==="property"?{type:gp[e.innerType._def.typeName],nullable:!0}:{type:[gp[e.innerType._def.typeName],"null"]};if(t.target==="openApi3"){let r=Ve(e.innerType._def,{...t,currentPath:[...t.currentPath]});return r&&"$ref"in r?{allOf:[r],nullable:!0}:r&&{...r,nullable:!0}}let n=Ve(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return n&&{anyOf:[n,{type:"null"}]}}function GV(e,t){let n={type:"number"};if(!e.checks)return n;for(let r of e.checks)switch(r.kind){case"int":n.type="integer",xE(n,"type",r.message,t);break;case"min":t.target==="jsonSchema7"?r.inclusive?Ge(n,"minimum",r.value,r.message,t):Ge(n,"exclusiveMinimum",r.value,r.message,t):(r.inclusive||(n.exclusiveMinimum=!0),Ge(n,"minimum",r.value,r.message,t));break;case"max":t.target==="jsonSchema7"?r.inclusive?Ge(n,"maximum",r.value,r.message,t):Ge(n,"exclusiveMaximum",r.value,r.message,t):(r.inclusive||(n.exclusiveMaximum=!0),Ge(n,"maximum",r.value,r.message,t));break;case"multipleOf":Ge(n,"multipleOf",r.value,r.message,t);break}return n}function KV(e,t){return t.removeAdditionalStrategy==="strict"?e.catchall._def.typeName==="ZodNever"?e.unknownKeys!=="strict":Ve(e.catchall._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]})??!0:e.catchall._def.typeName==="ZodNever"?e.unknownKeys==="passthrough":Ve(e.catchall._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]})??!0}function XV(e,t){let n={type:"object",...Object.entries(e.shape()).reduce((r,[s,a])=>{if(a===void 0||a._def===void 0)return r;let i=[...t.currentPath,"properties",s],o=Ve(a._def,{...t,currentPath:i,propertyPath:i});if(o===void 0)return r;if(t.openaiStrictMode&&a.isOptional()&&!a.isNullable()&&typeof a._def?.defaultValue>"u")throw new Error(`Zod field at \`${i.join("/")}\` uses \`.optional()\` without \`.nullable()\` which is not supported by the API. See: https://platform.openai.com/docs/guides/structured-outputs?api-mode=responses#all-fields-must-be-required`);return{properties:{...r.properties,[s]:o},required:a.isOptional()&&!t.openaiStrictMode?r.required:[...r.required,s]}},{properties:{},required:[]}),additionalProperties:KV(e,t)};return n.required.length||delete n.required,n}var YV=(e,t)=>{if(t.propertyPath&&t.currentPath.slice(0,t.propertyPath.length).toString()===t.propertyPath.toString())return Ve(e.innerType._def,{...t,currentPath:t.currentPath});let n=Ve(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","1"]});return n?{anyOf:[{not:{}},n]}:{}},QV=(e,t)=>{if(t.pipeStrategy==="input")return Ve(e.in._def,t);if(t.pipeStrategy==="output")return Ve(e.out._def,t);let n=Ve(e.in._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),r=Ve(e.out._def,{...t,currentPath:[...t.currentPath,"allOf",n?"1":"0"]});return{allOf:[n,r].filter(s=>s!==void 0)}};function eq(e,t){return Ve(e.type._def,t)}function tq(e,t){let n={type:"array",uniqueItems:!0,items:Ve(e.valueType._def,{...t,currentPath:[...t.currentPath,"items"]})};return e.minSize&&Ge(n,"minItems",e.minSize.value,e.minSize.message,t),e.maxSize&&Ge(n,"maxItems",e.maxSize.value,e.maxSize.message,t),n}function nq(e,t){return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((n,r)=>Ve(n._def,{...t,currentPath:[...t.currentPath,"items",`${r}`]})).reduce((n,r)=>r===void 0?n:[...n,r],[]),additionalItems:Ve(e.rest._def,{...t,currentPath:[...t.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((n,r)=>Ve(n._def,{...t,currentPath:[...t.currentPath,"items",`${r}`]})).reduce((n,r)=>r===void 0?n:[...n,r],[])}}function rq(){return{not:{}}}function sq(){return{}}var aq=(e,t)=>Ve(e.innerType._def,t);function Ve(e,t,n=!1){let r=t.seen.get(e);if(t.override){let i=t.override?.(e,t,r,n);if(i!==SV)return i}if(r&&!n){let i=iq(r,t);if(i!==void 0)return"$ref"in i&&t.seenRefs.add(i.$ref),i}let s={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,s);let a=cq(e,e.typeName,t,n);return a&&uq(e,t,a),s.jsonSchema=a,a}var iq=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"extract-to-root":let n=e.path.slice(t.basePath.length+1).join("_");return n!==t.name&&t.nameStrategy==="duplicate-ref"&&(t.definitions[n]=e.def),{$ref:[...t.basePath,t.definitionPath,n].join("/")};case"relative":return{$ref:oq(t.currentPath,e.path)};case"none":case"seen":return e.path.length<t.currentPath.length&&e.path.every((r,s)=>t.currentPath[s]===r)?(console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`),{}):t.$refStrategy==="seen"?{}:void 0}},oq=(e,t)=>{let n=0;for(;n<e.length&&n<t.length&&e[n]===t[n];n++);return[(e.length-n).toString(),...t.slice(n)].join("/")},cq=(e,t,n,r)=>{switch(t){case ke.ZodString:return SE(e,n);case ke.ZodNumber:return GV(e,n);case ke.ZodObject:return XV(e,n);case ke.ZodBigInt:return CV(e,n);case ke.ZodBoolean:return NV();case ke.ZodDate:return OE(e,n);case ke.ZodUndefined:return rq();case ke.ZodNull:return HV(n);case ke.ZodArray:return $V(e,n);case ke.ZodUnion:case ke.ZodDiscriminatedUnion:return WV(e,n);case ke.ZodIntersection:return DV(e,n);case ke.ZodTuple:return nq(e,n);case ke.ZodRecord:return TE(e,n);case ke.ZodLiteral:return FV(e,n);case ke.ZodEnum:return zV(e);case ke.ZodNativeEnum:return VV(e);case ke.ZodNullable:return JV(e,n);case ke.ZodOptional:return YV(e,n);case ke.ZodMap:return ZV(e,n);case ke.ZodSet:return tq(e,n);case ke.ZodLazy:return Ve(e.getter()._def,n);case ke.ZodPromise:return eq(e,n);case ke.ZodNaN:case ke.ZodNever:return qV();case ke.ZodEffects:return LV(e,n,r);case ke.ZodAny:return AV();case ke.ZodUnknown:return sq();case ke.ZodDefault:return MV(e,n);case ke.ZodBranded:return PV(e,n);case ke.ZodReadonly:return aq(e,n);case ke.ZodCatch:return jV(e,n);case ke.ZodPipeline:return QV(e,n);case ke.ZodFunction:case ke.ZodVoid:case ke.ZodSymbol:return;default:return(s=>{})()}},uq=(e,t,n)=>(e.description&&(n.description=e.description,t.markdownDescription&&(n.markdownDescription=e.description)),n),lq=(e,t)=>{let n=EV(t),r=typeof t=="string"?t:t?.nameStrategy==="title"?void 0:t?.name,s=Ve(e._def,r===void 0?n:{...n,currentPath:[...n.basePath,n.definitionPath,r]},!1)??{},a=typeof t=="object"&&t.name!==void 0&&t.nameStrategy==="title"?t.name:void 0;a!==void 0&&(s.title=a);let i=(()=>{if(IV(n.definitions))return;let c={},u=new Set;for(let l=0;l<500;l++){let d=Object.entries(n.definitions).filter(([p])=>!u.has(p));if(d.length===0)break;for(let[p,h]of d)c[p]=Ve(ry(h),{...n,currentPath:[...n.basePath,n.definitionPath,p]},!0)??{},u.add(p)}return c})(),o=r===void 0?i?{...s,[n.definitionPath]:i}:s:n.nameStrategy==="duplicate-ref"?{...s,...i||n.seenRefs.size?{[n.definitionPath]:{...i,...n.seenRefs.size?{[r]:s}:void 0}}:void 0}:{$ref:[...n.$refStrategy==="relative"?[]:n.basePath,n.definitionPath,r].join("/"),[n.definitionPath]:{...i,[r]:s}};return n.target==="jsonSchema7"?o.$schema="http://json-schema.org/draft-07/schema#":n.target==="jsonSchema2019-09"&&(o.$schema="https://json-schema.org/draft/2019-09/schema#"),o};function dq(e){if(e.type!=="object")throw new Error(`Root schema must have type: 'object' but got type: ${e.type?`'${e.type}'`:"undefined"}`);let t=structuredClone(e);return Zr(t,[],t)}function sy(e){if(typeof e=="boolean")return!1;if(e.type==="null")return!0;for(let t of e.oneOf??[])if(sy(t))return!0;for(let t of e.anyOf??[])if(sy(t))return!0;return!1}function Zr(e,t,n){if(typeof e=="boolean")throw new TypeError(`Expected object schema but got boolean; path=${t.join("/")}`);if(!Qs(e))throw new TypeError(`Expected ${JSON.stringify(e)} to be an object; path=${t.join("/")}`);let r=e.$defs;if(Qs(r))for(let[d,p]of Object.entries(r))Zr(p,[...t,"$defs",d],n);let s=e.definitions;if(Qs(s))for(let[d,p]of Object.entries(s))Zr(p,[...t,"definitions",d],n);e.type==="object"&&!("additionalProperties"in e)&&(e.additionalProperties=!1);let a=e.required??[],i=e.properties;if(Qs(i)){for(let[d,p]of Object.entries(i))if(!sy(p)&&!a.includes(d))throw new Error(`Zod field at \`${[...t,"properties",d].join("/")}\` uses \`.optional()\` without \`.nullable()\` which is not supported by the API. See: https://platform.openai.com/docs/guides/structured-outputs?api-mode=responses#all-fields-must-be-required`);e.required=Object.keys(i),e.properties=Object.fromEntries(Object.entries(i).map(([d,p])=>[d,Zr(p,[...t,"properties",d],n)]))}let o=e.items;Qs(o)&&(e.items=Zr(o,[...t,"items"],n));let c=e.anyOf;Array.isArray(c)&&(e.anyOf=c.map((d,p)=>Zr(d,[...t,"anyOf",String(p)],n)));let u=e.allOf;if(Array.isArray(u))if(u.length===1){let d=Zr(u[0],[...t,"allOf","0"],n);Object.assign(e,d),delete e.allOf}else e.allOf=u.map((d,p)=>Zr(d,[...t,"allOf",String(p)],n));e.default===null&&delete e.default;let l=e.$ref;if(l&&hq(e,1)){if(typeof l!="string")throw new TypeError(`Received non-string $ref - ${l}; path=${t.join("/")}`);let d=pq(n,l);if(typeof d=="boolean")throw new Error(`Expected \`$ref: ${l}\` to resolve to an object schema but got boolean`);if(!Qs(d))throw new Error(`Expected \`$ref: ${l}\` to resolve to an object but got ${JSON.stringify(d)}`);return Object.assign(e,{...d,...e}),delete e.$ref,Zr(e,t,n)}return e}function pq(e,t){if(!t.startsWith("#/"))throw new Error(`Unexpected $ref format ${JSON.stringify(t)}; Does not start with #/`);let n=t.slice(2).split("/"),r=e;for(let s of n){if(!Qs(r))throw new Error(`encountered non-object entry while resolving ${t} - ${JSON.stringify(r)}`);let a=r[s];if(a===void 0)throw new Error(`Key ${s} not found while resolving ${t}`);r=a}return r}function Qs(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function hq(e,t){let n=0;for(let r in e)if(n++,n>t)return!0;return!1}function fq(e,t){return lq(e,{openaiStrictMode:!0,name:t.name,nameStrategy:"duplicate-ref",$refStrategy:"extract-to-root",nullableStrategy:"property"})}function mq(e){return dq(u8(e,{target:"draft-7"}))}function gq(e){return"_zod"in e}function yq(e,t,n){return lF({type:"json_schema",json_schema:{...n,name:t,strict:!0,schema:gq(e)?mq(e):fq(e,{name:t})}},r=>e.parse(JSON.parse(r)))}var W1=["jsonSchema","functionCalling","jsonMode"];function _q(e,t){if(typeof t<"u"&&!W1.includes(t))throw new Error(`Invalid method: ${t}. Supported methods are: ${W1.join(", ")}`);let n=!e.startsWith("gpt-3")&&!e.startsWith("gpt-4-")&&e!=="gpt-4";if(n&&!t)return"jsonSchema";if(!n&&t==="jsonSchema")throw new Error(`JSON Schema is not supported for model "${e}". Please use a different method, e.g. "functionCalling" or "jsonMode".`);return t??"functionCalling"}function vq(e,t){let n={...e};return Object.defineProperties(n,{$brand:{value:"auto-parseable-response-format",enumerable:!1},$parseRaw:{value:t,enumerable:!1}}),n}function wq(e,t,n){if(vt(e))return yq(e,t,n);if(at(e))return vq({type:"json_schema",json_schema:{...n,name:t,strict:!0,schema:At(e,{cycles:"ref",reused:"ref",override(r){r.jsonSchema.title=t}})}},r=>d6(e,JSON.parse(r)));throw new Error("Unsupported schema response format")}function bq(e,t){if(t&&typeof t=="object"&&"images"in t&&Array.isArray(t.images)){let n=t.images.filter(r=>typeof r?.image_url?.url=="string").map(r=>({type:"image",url:r.image_url.url}));return[{type:"text",text:e},...n]}return e}var kq={"gpt-4o-2024-11-20":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.3-codex":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-codex":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-pro":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:272e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4o-mini":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"text-embedding-ada-002":{maxInputTokens:8192,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1536,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-chat-latest":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"codex-mini-latest":{maxInputTokens:2e5,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.1-codex-max":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4o-2024-05-13":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:4096,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.2-chat-latest":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.2-codex":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o3-deep-research":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},o1:{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.1":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o4-mini-deep-research":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.3-codex-spark":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},o3:{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"text-embedding-3-small":{maxInputTokens:8191,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1536,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4.1-nano":{maxInputTokens:1047576,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32768,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"text-embedding-3-large":{maxInputTokens:8191,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:3072,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-3.5-turbo":{maxInputTokens:16385,imageInputs:!1,audioInputs:!1,pdfInputs:!1,videoInputs:!1,maxOutputTokens:4096,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!1,imageUrlInputs:!1,pdfToolMessage:!1,imageToolMessage:!1,toolChoice:!0},"gpt-5.1-codex-mini":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.2":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4.1":{maxInputTokens:1047576,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32768,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o3-pro":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4-turbo":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:4096,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o4-mini":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4.1-mini":{maxInputTokens:1047576,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32768,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.4":{maxInputTokens:105e4,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o1-preview":{maxInputTokens:128e3,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32768,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.4-pro":{maxInputTokens:105e4,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o1-pro":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.1-codex":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.2-pro":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o3-mini":{maxInputTokens:2e5,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4o-2024-08-06":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-mini":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.1-chat-latest":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4":{maxInputTokens:8192,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:8192,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-nano":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o1-mini":{maxInputTokens:128e3,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:65536,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4o":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0}};function X_(e,t){return typeof e=="string"?{model:e,...t??{}}:e??t}var Y_=class extends za{temperature;topP;frequencyPenalty;presencePenalty;n;logitBias;model="gpt-3.5-turbo";modelKwargs;stop;stopSequences;user;timeout;streaming=!1;streamUsage=!0;maxTokens;logprobs;topLogprobs;apiKey;organization;__includeRawResponse;client;clientConfig;supportsStrictToolCalling;audio;modalities;reasoning;zdrEnabled;service_tier;promptCacheKey;promptCacheRetention;verbosity;defaultOptions;_llmType(){return"openai"}static lc_name(){return"ChatOpenAI"}get callKeys(){return[...super.callKeys,"options","function_call","functions","tools","tool_choice","promptIndex","response_format","seed","reasoning","reasoning_effort","service_tier"]}lc_serializable=!0;get lc_secrets(){return{apiKey:"OPENAI_API_KEY",organization:"OPENAI_ORGANIZATION"}}get lc_aliases(){return{apiKey:"openai_api_key",modelName:"model"}}get lc_serializable_keys(){return["configuration","logprobs","topLogprobs","prefixMessages","supportsStrictToolCalling","modalities","audio","temperature","maxTokens","topP","frequencyPenalty","presencePenalty","n","logitBias","user","streaming","streamUsage","model","modelName","modelKwargs","stop","stopSequences","timeout","apiKey","cache","maxConcurrency","maxRetries","verbose","callbacks","tags","metadata","disableStreaming","zdrEnabled","reasoning","promptCacheKey","promptCacheRetention","verbosity"]}getLsParams(e){let t=this.invocationParams(e);return{ls_provider:"openai",ls_model_name:this.model,ls_model_type:"chat",ls_temperature:t.temperature??void 0,ls_max_tokens:t.max_tokens??void 0,ls_stop:e.stop}}_identifyingParams(){return{model_name:this.model,...this.invocationParams(),...this.clientConfig}}identifyingParams(){return this._identifyingParams()}constructor(e){super(e??{});let t=typeof e?.configuration?.apiKey=="string"||typeof e?.configuration?.apiKey=="function"?e?.configuration?.apiKey:void 0;this.apiKey=e?.apiKey??t??dr("OPENAI_API_KEY"),this.organization=e?.configuration?.organization??dr("OPENAI_ORGANIZATION"),this.model=e?.model??e?.modelName??this.model,this.modelKwargs=e?.modelKwargs??{},this.timeout=e?.timeout,this.temperature=e?.temperature??this.temperature,this.topP=e?.topP??this.topP,this.frequencyPenalty=e?.frequencyPenalty??this.frequencyPenalty,this.presencePenalty=e?.presencePenalty??this.presencePenalty,this.logprobs=e?.logprobs,this.topLogprobs=e?.topLogprobs,this.n=e?.n??this.n,this.logitBias=e?.logitBias,this.stop=e?.stopSequences??e?.stop,this.stopSequences=this.stop,this.user=e?.user,this.__includeRawResponse=e?.__includeRawResponse,this.audio=e?.audio,this.modalities=e?.modalities,this.reasoning=e?.reasoning,this.maxTokens=e?.maxCompletionTokens??e?.maxTokens,this.promptCacheKey=e?.promptCacheKey??this.promptCacheKey,this.promptCacheRetention=e?.promptCacheRetention??this.promptCacheRetention,this.verbosity=e?.verbosity??this.verbosity,this.disableStreaming=e?.disableStreaming===!0,this.streaming=e?.streaming===!0,this.disableStreaming&&(this.streaming=!1),e?.streaming===!1&&(this.disableStreaming=!0),this.streamUsage=e?.streamUsage??this.streamUsage,this.disableStreaming&&(this.streamUsage=!1),this.clientConfig={apiKey:this.apiKey,organization:this.organization,dangerouslyAllowBrowser:!0,...e?.configuration},e?.supportsStrictToolCalling!==void 0&&(this.supportsStrictToolCalling=e.supportsStrictToolCalling),e?.service_tier!==void 0&&(this.service_tier=e.service_tier),this.zdrEnabled=e?.zdrEnabled??!1,this._addVersion("@langchain/openai","1.3.0")}_getReasoningParams(e){if(!cu(this.model))return;let t;return this.reasoning!==void 0&&(t={...t,...this.reasoning}),e?.reasoning!==void 0&&(t={...t,...e.reasoning}),e?.reasoningEffort!==void 0&&t?.effort===void 0&&(t={...t,effort:e.reasoningEffort}),t}_getResponseFormat(e){return e&&e.type==="json_schema"&&e.json_schema.schema&&Nn(e.json_schema.schema)?wq(e.json_schema.schema,e.json_schema.name,{description:e.json_schema.description}):e}_combineCallOptions(e){return{...this.defaultOptions,...e??{}}}_getClientOptions(e){if(!this.client){let t=RF({baseURL:this.clientConfig.baseURL}),n={...this.clientConfig,baseURL:t,timeout:this.timeout,maxRetries:0};n.baseURL||delete n.baseURL,n.defaultHeaders=zF(n.defaultHeaders),this.client=new be(n)}return{...this.clientConfig,...e}}_convertChatOpenAIToolToCompletionsTool(e,t){return ip(e)?GF(e.metadata.customTool):t_(e)?t?.strict!==void 0?{...e,function:{...e.function,strict:t.strict}}:e:UF(e,t)}bindTools(e,t){let n;return t?.strict!==void 0?n=t.strict:this.supportsStrictToolCalling!==void 0&&(n=this.supportsStrictToolCalling),this.withConfig({tools:e.map(r=>{if(F_(r)||ip(r))return r;if(BF(r))return r.extras.providerToolDefinition;let s=this._convertChatOpenAIToolToCompletionsTool(r,{strict:n});return su(r)&&r.extras?.defer_loading===!0?{...s,defer_loading:!0}:s}),...t})}async stream(e,t){return super.stream(e,this._combineCallOptions(t))}async invoke(e,t){return super.invoke(e,this._combineCallOptions(t))}_combineLLMOutput(...e){return e.reduce((t,n)=>(n&&n.tokenUsage&&(t.tokenUsage.completionTokens+=n.tokenUsage.completionTokens??0,t.tokenUsage.promptTokens+=n.tokenUsage.promptTokens??0,t.tokenUsage.totalTokens+=n.tokenUsage.totalTokens??0),t),{tokenUsage:{completionTokens:0,promptTokens:0,totalTokens:0}})}async getNumTokensFromMessages(e){let t=0,n=0,r=0;this.model==="gpt-3.5-turbo-0301"?(n=4,r=-1):(n=3,r=1);let s=await Promise.all(e.map(async a=>{let[i,o]=await Promise.all([this.getNumTokens(a.content),this.getNumTokens(uu(a))]),c=a.name!==void 0?r+await this.getNumTokens(a.name):0,u=i+n+o+c,l=a;if(l._getType()==="function"&&(u-=2),l.additional_kwargs?.function_call&&(u+=3),l?.additional_kwargs.function_call?.name&&(u+=await this.getNumTokens(l.additional_kwargs.function_call?.name)),l.additional_kwargs.function_call?.arguments)try{u+=await this.getNumTokens(JSON.stringify(JSON.parse(l.additional_kwargs.function_call?.arguments)))}catch(d){console.error("Error parsing function arguments",d,JSON.stringify(l.additional_kwargs.function_call)),u+=await this.getNumTokens(l.additional_kwargs.function_call?.arguments)}return t+=u,u}));return t+=3,{totalCount:t,countPerMessage:s}}async _getNumTokensFromGenerations(e){return(await Promise.all(e.map(async t=>t.message.additional_kwargs?.function_call?(await this.getNumTokensFromMessages([t.message])).countPerMessage[0]:await this.getNumTokens(t.message.content)))).reduce((t,n)=>t+n,0)}async _getEstimatedTokenCountFromPrompt(e,t,n){let r=(await this.getNumTokensFromMessages(e)).totalCount;if(t&&n!=="auto"){let s=FF(t);r+=await this.getNumTokens(s),r+=9}return t&&e.find(s=>s._getType()==="system")&&(r-=4),n==="none"?r+=1:typeof n=="object"&&(r+=await this.getNumTokens(n.name)+4),r}async moderateContent(e,t){let n=this._getClientOptions(t?.options),r={input:e,model:t?.model??"omni-moderation-latest"};return this.caller.call(async()=>{try{return await this.client.moderations.create(r,n)}catch(s){throw D_(s)}})}get profile(){return kq[this.model]??{}}_getStructuredOutputMethod(e){let t={...e};if(!this.model.startsWith("gpt-3")&&!this.model.startsWith("gpt-4-")&&this.model!=="gpt-4"){if(t?.method===void 0)return"jsonSchema"}else t.method==="jsonSchema"&&console.warn(`[WARNING]: JSON Schema is not supported for model "${this.model}". Falling back to tool calling.`);return t.method}withStructuredOutput(e,t){let n,r,{schema:s,name:a,includeRaw:i}={...t,schema:e};if(t?.strict!==void 0&&t.method==="jsonMode")throw new Error("Argument `strict` is only supported for `method` = 'function_calling'");let o=_q(this.model,t?.method);if(o==="jsonMode"){r=ig(s);let c=At(s);n=this.withConfig({outputVersion:"v0",response_format:{type:"json_object"},ls_structured_output_format:{kwargs:{method:"json_mode"},schema:{title:a??"extract",...c}}})}else if(o==="jsonSchema"){let c=At(s),u={name:a??"extract",description:Ai(c),schema:Nn(s)?s:c,strict:t?.strict};if(n=this.withConfig({outputVersion:"v0",response_format:{type:"json_schema",json_schema:u},ls_structured_output_format:{kwargs:{method:"json_schema"},schema:{title:u.name,description:u.description,...c}}}),Nn(s)||_a(s)){let l=ig(s);r=_r.from(async d=>"parsed"in d.additional_kwargs?d.additional_kwargs.parsed:l.invoke(d.content))}else r=new s_}else{let c=a??"extract",u=At(s),l;Nn(s)||_a(s)?l={name:c,description:u.description,parameters:u}:typeof s.name=="string"&&typeof s.parameters=="object"&&s.parameters!=null?(l=s,c=s.name):(c=s.title??c,l={name:c,description:s.description??"",parameters:s}),n=this.withConfig({outputVersion:"v0",tools:[{type:"function",function:l}],tool_choice:{type:"function",function:{name:c}},ls_structured_output_format:{kwargs:{method:"function_calling"},schema:{title:c,...u}},...t?.strict!==void 0?{strict:t.strict}:{}}),r=FO(s,c)}return i_(n,r,i)}},IE={providerName:"ChatOpenAI",fromStandardTextBlock(e){return{type:"text",text:e.text}},fromStandardImageBlock(e){if(e.source_type==="url")return{type:"image_url",image_url:{url:e.url,...e.metadata?.detail?{detail:e.metadata.detail}:{}}};if(e.source_type==="base64")return{type:"image_url",image_url:{url:`data:${e.mime_type??""};base64,${e.data}`,...e.metadata?.detail?{detail:e.metadata.detail}:{}}};throw new Error(`Image content blocks with source_type ${e.source_type} are not supported for ChatOpenAI`)},fromStandardAudioBlock(e){if(e.source_type==="url"){let t=Qo({dataUrl:e.url});if(!t)throw new Error(`URL audio blocks with source_type ${e.source_type} must be formatted as a data URL for ChatOpenAI`);let n=t.mime_type||e.mime_type||"",r;try{r=im(n)}catch{throw new Error(`Audio blocks with source_type ${e.source_type} must have mime type of audio/wav or audio/mp3`)}if(r.type!=="audio"||r.subtype!=="wav"&&r.subtype!=="mp3")throw new Error(`Audio blocks with source_type ${e.source_type} must have mime type of audio/wav or audio/mp3`);return{type:"input_audio",input_audio:{format:r.subtype,data:t.data}}}if(e.source_type==="base64"){let t;try{t=im(e.mime_type??"")}catch{throw new Error(`Audio blocks with source_type ${e.source_type} must have mime type of audio/wav or audio/mp3`)}if(t.type!=="audio"||t.subtype!=="wav"&&t.subtype!=="mp3")throw new Error(`Audio blocks with source_type ${e.source_type} must have mime type of audio/wav or audio/mp3`);return{type:"input_audio",input_audio:{format:t.subtype,data:e.data}}}throw new Error(`Audio content blocks with source_type ${e.source_type} are not supported for ChatOpenAI`)},fromStandardFileBlock(e){if(e.source_type==="url"){let t=Qo({dataUrl:e.url}),n=sp(e);if(!t)throw new Error(`URL file blocks with source_type ${e.source_type} must be formatted as a data URL for ChatOpenAI`);return{type:"file",file:{file_data:e.url,...e.metadata?.filename||e.metadata?.name?{filename:n}:{}}}}if(e.source_type==="base64"){let t=sp(e);return{type:"file",file:{file_data:`data:${e.mime_type??""};base64,${e.data}`,...e.metadata?.filename||e.metadata?.name||e.metadata?.title?{filename:t}:{}}}}if(e.source_type==="id")return{type:"file",file:{file_id:e.id}};throw new Error(`File content blocks with source_type ${e.source_type} are not supported for ChatOpenAI`)}},xq=({message:e,rawResponse:t,includeRawResponse:n})=>{let r=e.tool_calls;switch(e.role){case"assistant":{let s=[],a=[];for(let c of r??[])try{s.push(Up(c,{returnId:!0}))}catch(u){a.push(Ho(c,u.message))}let i={function_call:e.function_call,tool_calls:r};n!==void 0&&(i.__raw_response=t);let o={model_provider:"openai",model_name:t.model,...t.system_fingerprint?{usage:{...t.usage},system_fingerprint:t.system_fingerprint}:{}};return e.audio&&(i.audio=e.audio),new Qe({content:bq(e.content||"",t.choices?.[0]?.message),tool_calls:s,invalid_tool_calls:a,additional_kwargs:i,response_metadata:o,id:t.id})}default:return new ns(e.content||"",e.role??"unknown")}},Oq=({delta:e,rawResponse:t,includeRawResponse:n,defaultRole:r})=>{let s=e.role??r,a=e.content??"",i;e.function_call?i={function_call:e.function_call}:e.tool_calls?i={tool_calls:e.tool_calls}:i={},n&&(i.__raw_response=t),e.audio&&(i.audio={...e.audio,index:t.choices[0].index});let o={model_provider:"openai",usage:{...t.usage}};if(s==="user")return new Wc({content:a,response_metadata:o});if(s==="assistant"){let c=[];if(Array.isArray(e.tool_calls))for(let u of e.tool_calls)c.push({name:u.function?.name,args:u.function?.arguments,id:u.id,index:u.index,type:"tool_call_chunk"});return new _n({content:a,tool_call_chunks:c,additional_kwargs:i,id:t.id,response_metadata:o})}else return s==="system"?new Ss({content:a,response_metadata:o}):s==="developer"?new Ss({content:a,response_metadata:o,additional_kwargs:{__openai_role__:"developer"}}):s==="function"?new Hc({content:a,additional_kwargs:i,name:e.name,response_metadata:o}):s==="tool"?new Vc({content:a,additional_kwargs:i,tool_call_id:e.tool_call_id,response_metadata:o}):new qc({content:a,role:s,response_metadata:o})},Sq=e=>{if(e.type==="image"){if(e.url)return{type:"image_url",image_url:{url:e.url}};if(e.data)return{type:"image_url",image_url:{url:`data:${e.mimeType};base64,${e.data}`}}}if(e.type==="audio"&&e.data){let t=jk(()=>{let[,n]=e.mimeType.split("/");return n==="wav"||n==="mp3"?n:"wav"});return{type:"input_audio",input_audio:{data:e.data.toString(),format:t}}}if(e.type==="file"){if(e.data){let t=sp(e);return{type:"file",file:{file_data:`data:${e.mimeType};base64,${e.data}`,filename:t}}}if(e.fileId)return{type:"file",file:{file_id:e.fileId}}}},Tq=({message:e,model:t})=>{let n=uu(e);if(n==="system"&&cu(t)&&(n="developer"),n==="developer")return{role:"developer",content:e.contentBlocks.filter(s=>s.type==="text")};if(n==="system")return{role:"system",content:e.contentBlocks.filter(s=>s.type==="text")};if(n==="assistant")return{role:"assistant",content:e.contentBlocks.filter(s=>s.type==="text")};if(n==="tool"&&Zn.isInstance(e))return{role:"tool",tool_call_id:e.tool_call_id,content:e.contentBlocks.filter(s=>s.type==="text")};if(n==="function")return{role:"function",name:e.name??"",content:e.contentBlocks.filter(s=>s.type==="text").join("")};function*r(s){for(let a of s){a.type==="text"&&(yield{type:"text",text:a.text});let i=Sq(a);i&&(yield i)}}return{role:"user",content:Array.from(r(e.contentBlocks))}},J1=({messages:e,model:t})=>e.flatMap(n=>{if("output_version"in n.response_metadata&&n.response_metadata?.output_version==="v1")return Tq({message:n});let r=uu(n);r==="system"&&cu(t)&&(r="developer");let s=typeof n.content=="string"?n.content:n.content.flatMap(i=>Pr(i)?my(i,IE):typeof i=="object"&&i!==null&&"type"in i&&i.type==="tool_use"?[]:i),a={role:r,content:s};return n.name!=null&&(a.name=n.name),n.additional_kwargs.function_call!=null&&(a.function_call=n.additional_kwargs.function_call),Qe.isInstance(n)&&n.tool_calls?.length?a.tool_calls=n.tool_calls.map(zO):(n.additional_kwargs.tool_calls!=null&&(a.tool_calls=n.additional_kwargs.tool_calls),Zn.isInstance(n)&&n.tool_call_id!=null&&(a.tool_call_id=n.tool_call_id)),n.additional_kwargs.audio&&typeof n.additional_kwargs.audio=="object"&&"id"in n.additional_kwargs.audio?[a,{role:"assistant",audio:{id:n.additional_kwargs.audio.id}}]:a}),Iq=class extends Y_{constructor(e,t){super(X_(e,t))}invocationParams(e,t){let n;e?.strict!==void 0?n=e.strict:this.supportsStrictToolCalling!==void 0&&(n=this.supportsStrictToolCalling);let r={};e?.stream_options!==void 0?r={stream_options:e.stream_options}:this.streamUsage&&(this.streaming||t?.streaming)&&(r={stream_options:{include_usage:!0}});let s={model:this.model,temperature:this.temperature,top_p:this.topP,frequency_penalty:this.frequencyPenalty,presence_penalty:this.presencePenalty,logprobs:this.logprobs,top_logprobs:this.topLogprobs,n:this.n,logit_bias:this.logitBias,stop:e?.stop??this.stopSequences,user:this.user,stream:this.streaming,functions:e?.functions,function_call:e?.function_call,tools:e?.tools?.length?e.tools.map(i=>this._convertChatOpenAIToolToCompletionsTool(i,{strict:n})):void 0,tool_choice:CI(e?.tool_choice),response_format:this._getResponseFormat(e?.response_format),seed:e?.seed,...r,parallel_tool_calls:e?.parallel_tool_calls,...this.audio||e?.audio?{audio:this.audio||e?.audio}:{},...this.modalities||e?.modalities?{modalities:this.modalities||e?.modalities}:{},...this.modelKwargs,prompt_cache_key:e?.promptCacheKey??this.promptCacheKey,prompt_cache_retention:e?.promptCacheRetention??this.promptCacheRetention,verbosity:e?.verbosity??this.verbosity};e?.prediction!==void 0&&(s.prediction=e.prediction),this.service_tier!==void 0&&(s.service_tier=this.service_tier),e?.service_tier!==void 0&&(s.service_tier=e.service_tier);let a=this._getReasoningParams(e);return a!==void 0&&a.effort!==void 0&&(s.reasoning_effort=a.effort),cu(s.model)?s.max_completion_tokens=this.maxTokens===-1?void 0:this.maxTokens:s.max_tokens=this.maxTokens===-1?void 0:this.maxTokens,s}async _generate(e,t,n){t.signal?.throwIfAborted();let r={},s=this.invocationParams(t),a=J1({messages:e,model:this.model});if(s.stream){let i=this._streamResponseChunks(e,t,n),o={};for await(let h of i){h.message.response_metadata={...h.generationInfo,...h.message.response_metadata};let f=h.generationInfo?.completion??0;o[f]===void 0?o[f]=h:o[f]=o[f].concat(h)}let c=Object.entries(o).sort(([h],[f])=>parseInt(h,10)-parseInt(f,10)).map(([h,f])=>f),{functions:u,function_call:l}=this.invocationParams(t),d=await this._getEstimatedTokenCountFromPrompt(e,u,l),p=await this._getNumTokensFromGenerations(c);return r.input_tokens=d,r.output_tokens=p,r.total_tokens=d+p,{generations:c,llmOutput:{estimatedTokenUsage:{promptTokens:r.input_tokens,completionTokens:r.output_tokens,totalTokens:r.total_tokens}}}}else{let i=await this.completionWithRetry({...s,stream:!1,messages:a},{signal:t?.signal,...t?.options}),{completion_tokens:o,prompt_tokens:c,total_tokens:u,prompt_tokens_details:l,completion_tokens_details:d}=i?.usage??{};o&&(r.output_tokens=(r.output_tokens??0)+o),c&&(r.input_tokens=(r.input_tokens??0)+c),u&&(r.total_tokens=(r.total_tokens??0)+u),(l?.audio_tokens!==null||l?.cached_tokens!==null)&&(r.input_token_details={...l?.audio_tokens!==null&&{audio:l?.audio_tokens},...l?.cached_tokens!==null&&{cache_read:l?.cached_tokens}}),(d?.audio_tokens!==null||d?.reasoning_tokens!==null)&&(r.output_token_details={...d?.audio_tokens!==null&&{audio:d?.audio_tokens},...d?.reasoning_tokens!==null&&{reasoning:d?.reasoning_tokens}});let p=[];for(let h of i?.choices??[]){let f={text:h.message?.content??"",message:this._convertCompletionsMessageToBaseMessage(h.message??{role:"assistant"},i)};f.generationInfo={...h.finish_reason?{finish_reason:h.finish_reason}:{},...h.logprobs?{logprobs:h.logprobs}:{}},bp(f.message)&&(f.message.usage_metadata=r),f.message=new Qe(Object.fromEntries(Object.entries(f.message).filter(([m])=>!m.startsWith("lc_")))),p.push(f)}return{generations:p,llmOutput:{tokenUsage:{promptTokens:r.input_tokens,completionTokens:r.output_tokens,totalTokens:r.total_tokens}}}}}async*_streamResponseChunks(e,t,n){let r=J1({messages:e,model:this.model}),s={...this.invocationParams(t,{streaming:!0}),messages:r,stream:!0},a,i=await this.completionWithRetry(s,t),o;for await(let c of i){if(t.signal?.aborted)return;let u=c?.choices?.[0];if(c.usage&&(o=c.usage),!u)continue;let{delta:l}=u;if(!l)continue;let d=this._convertCompletionsDeltaToBaseMessageChunk(l,c,a);a=l.role??a;let p={prompt:t.promptIndex??0,completion:u.index??0};if(typeof d.content!="string"){console.log("[WARNING]: Received non-string content from OpenAI. This is currently not supported.");continue}let h={...p};u.finish_reason!=null&&(h.finish_reason=u.finish_reason,h.system_fingerprint=c.system_fingerprint,h.model_name=c.model,h.service_tier=c.service_tier),this.logprobs&&(h.logprobs=u.logprobs);let f=new Qr({message:d,text:d.content,generationInfo:h});yield f,await n?.handleLLMNewToken(f.text??"",p,void 0,void 0,void 0,{chunk:f})}if(o){let c={...o.prompt_tokens_details?.audio_tokens!==null&&{audio:o.prompt_tokens_details?.audio_tokens},...o.prompt_tokens_details?.cached_tokens!==null&&{cache_read:o.prompt_tokens_details?.cached_tokens}},u={...o.completion_tokens_details?.audio_tokens!==null&&{audio:o.completion_tokens_details?.audio_tokens},...o.completion_tokens_details?.reasoning_tokens!==null&&{reasoning:o.completion_tokens_details?.reasoning_tokens}},l=new Qr({message:new _n({content:"",response_metadata:{usage:{...o}},usage_metadata:{input_tokens:o.prompt_tokens,output_tokens:o.completion_tokens,total_tokens:o.total_tokens,...Object.keys(c).length>0&&{input_token_details:c},...Object.keys(u).length>0&&{output_token_details:u}}}),text:""});yield l,await n?.handleLLMNewToken(l.text??"",{prompt:0,completion:0},void 0,void 0,void 0,{chunk:l})}if(t.signal?.aborted)throw new Error("AbortError")}async completionWithRetry(e,t){let n=this._getClientOptions(t),r=e.response_format&&e.response_format.type==="json_schema";return this.caller.call(async()=>{try{return r&&!e.stream?await this.client.chat.completions.parse(e,n):await this.client.chat.completions.create(e,n)}catch(s){throw D_(s)}})}_convertCompletionsDeltaToBaseMessageChunk(e,t,n){return Oq({delta:e,rawResponse:t,includeRawResponse:this.__includeRawResponse,defaultRole:n})}_convertCompletionsMessageToBaseMessage(e,t){return xq({message:e,rawResponse:t,includeRawResponse:this.__includeRawResponse})}},yp="__openai_function_call_ids__";function EE(e){return e.type==="url_citation"?{type:"citation",source:"url_citation",url:e.url,title:e.title,startIndex:e.start_index,endIndex:e.end_index}:e.type==="file_citation"?{type:"citation",source:"file_citation",title:e.filename,startIndex:e.index,file_id:e.file_id}:e.type==="container_file_citation"?{type:"citation",source:"container_file_citation",title:e.filename,startIndex:e.start_index,endIndex:e.end_index,file_id:e.file_id,container_id:e.container_id}:e.type==="file_path"?{type:"citation",source:"file_path",startIndex:e.index,file_id:e.file_id}:{type:"non_standard",value:e}}function Eq(e){if(e.type==="url_citation"||e.type==="file_citation"||e.type==="container_file_citation"||e.type==="file_path")return e;if(e.type==="citation"){let t=e;if(t.source==="url_citation")return{type:"url_citation",url:t.url??"",title:t.title??"",start_index:t.startIndex??0,end_index:t.endIndex??0};if(t.source==="file_citation")return{type:"file_citation",file_id:t.file_id??"",filename:t.title??"",index:t.startIndex??0};if(t.source==="container_file_citation")return{type:"container_file_citation",file_id:t.file_id??"",filename:t.title??"",container_id:t.container_id??"",start_index:t.startIndex??0,end_index:t.endIndex??0};if(t.source==="file_path")return{type:"file_path",file_id:t.file_id??"",index:t.startIndex??0}}return e.type==="non_standard"?e.value:e}var AE=e=>{let t={...e?.input_tokens_details?.cached_tokens!=null&&{cache_read:e?.input_tokens_details?.cached_tokens}},n={...e?.output_tokens_details?.reasoning_tokens!=null&&{reasoning:e?.output_tokens_details?.reasoning_tokens}};return{input_tokens:e?.input_tokens??0,output_tokens:e?.output_tokens??0,total_tokens:e?.total_tokens??0,input_token_details:t,output_token_details:n}},$E=e=>{if(e.error){let c=new Error(e.error.message);throw c.name=e.error.code,c}let t,n=[],r=[],s=[],a=e.output.map(c=>{if(c.type==="function_call"&&"parsed_arguments"in c){let u={...c};return delete u.parsed_arguments,u}return c}),i={model_provider:"openai",model:e.model,created_at:e.created_at,id:e.id,incomplete_details:e.incomplete_details,metadata:e.metadata,object:e.object,output:a,status:e.status,user:e.user,service_tier:e.service_tier,model_name:e.model},o={};for(let c of e.output)if(c.type==="message")t=c.id,n.push(...c.content.flatMap(u=>u.type==="output_text"?("parsed"in u&&u.parsed!=null&&(o.parsed=u.parsed),{type:"text",text:u.text,annotations:u.annotations.map(EE)}):u.type==="refusal"?(o.refusal=u.refusal,[]):u));else if(c.type==="function_call"){let u={function:{name:c.name,arguments:c.arguments},id:c.call_id};try{r.push(Up(u,{returnId:!0}))}catch(l){let d;typeof l=="object"&&l!=null&&"message"in l&&typeof l.message=="string"&&(d=l.message),s.push(Ho(u,d))}o[yp]??={},c.id&&(o[yp][c.call_id]=c.id)}else if(c.type==="reasoning"){o.reasoning=c;let u=c.summary?.map(l=>l.text).filter(Boolean).join("");u&&n.push({type:"reasoning",reasoning:u})}else if(c.type==="custom_tool_call"){let u=VF(c);u?r.push(u):s.push(Ho(c,"Malformed custom tool call"))}else if(c.type==="computer_call"){let u=qF(c);u?r.push(u):s.push(Ho(c,"Malformed computer call"))}else c.type==="image_generation_call"?(c.result&&n.push({type:"image",mimeType:"image/png",data:c.result,id:c.id,metadata:{status:c.status}}),o.tool_outputs??=[],o.tool_outputs.push(c)):(o.tool_outputs??=[],o.tool_outputs.push(c));return new Qe({id:t,content:n,tool_calls:r,invalid_tool_calls:s,usage_metadata:AE(e.usage),additional_kwargs:o,response_metadata:i})},Aq=e=>{let t=(e.summary.length>1?e.summary.reduce((n,r)=>{let s=n[n.length-1];return s.index===r.index?s.text+=r.text:n.push(r),n},[{...e.summary[0]}]):e.summary).map(n=>Object.fromEntries(Object.entries(n).filter(([r])=>r!=="index")));return{...e,summary:t}},$q=e=>{let t=[],n={},r,s=[],a={model_provider:"openai"},i={},o;if(e.type==="response.output_text.delta")t.push({type:"text",text:e.delta,index:e.content_index});else if(e.type==="response.output_text.annotation.added")t.push({type:"text",text:"",annotations:[EE(e.annotation)],index:e.content_index});else if(e.type==="response.output_item.added"&&e.item.type==="message")o=e.item.id;else if(e.type==="response.output_item.added"&&e.item.type==="function_call")s.push({type:"tool_call_chunk",name:e.item.name,args:e.item.arguments,id:e.item.call_id,index:e.output_index}),i[yp]={[e.item.call_id]:e.item.id};else if(e.type==="response.output_item.done"&&e.item.type==="computer_call")s.push({type:"tool_call_chunk",name:"computer_use",args:JSON.stringify({action:e.item.action}),id:e.item.call_id,index:e.output_index}),i.tool_outputs=[e.item];else if(e.type==="response.output_item.done"&&e.item.type==="image_generation_call")e.item.result&&t.push({type:"image",mimeType:"image/png",data:e.item.result,id:e.item.id,metadata:{status:e.item.status}}),i.tool_outputs=[e.item];else if(e.type==="response.output_item.done"&&["web_search_call","file_search_call","code_interpreter_call","shell_call","local_shell_call","mcp_call","mcp_list_tools","mcp_approval_request","custom_tool_call","tool_search_call","tool_search_output"].includes(e.item.type))i.tool_outputs=[e.item];else if(e.type==="response.created")a.id=e.response.id,a.model_name=e.response.model,a.model=e.response.model;else if(e.type==="response.completed"){let c=$E(e.response);r=AE(e.response.usage),e.response.text?.format?.type==="json_schema"&&(i.parsed??=JSON.parse(c.text));for(let[u,l]of Object.entries(e.response))u!=="id"&&(u==="output"?a[u]=c.response_metadata.output:a[u]=l)}else if(e.type==="response.function_call_arguments.delta"||e.type==="response.custom_tool_call_input.delta")s.push({type:"tool_call_chunk",args:e.delta,index:e.output_index});else if(e.type==="response.web_search_call.completed"||e.type==="response.file_search_call.completed")n={tool_outputs:{id:e.item_id,type:e.type.replace("response.","").replace(".completed",""),status:"completed"}};else if(e.type==="response.refusal.done")i.refusal=e.refusal;else if(e.type==="response.output_item.added"&&"item"in e&&e.item.type==="reasoning"){let c=e.item.summary?e.item.summary.map((l,d)=>({...l,index:d})):void 0;i.reasoning={id:e.item.id,type:e.item.type,...c?{summary:c}:{}};let u=e.item.summary?.map(l=>l.text).filter(Boolean).join("");u&&t.push({type:"reasoning",reasoning:u})}else if(e.type==="response.reasoning_summary_part.added")i.reasoning={type:"reasoning",summary:[{...e.part,index:e.summary_index}]},e.part.text&&t.push({type:"reasoning",reasoning:e.part.text});else if(e.type==="response.reasoning_summary_text.delta")i.reasoning={type:"reasoning",summary:[{text:e.delta,type:"summary_text",index:e.summary_index}]},e.delta&&t.push({type:"reasoning",reasoning:e.delta});else return e.type,null;return new Qr({text:t.map(c=>c.text).join(""),message:new _n({id:o,content:t,tool_call_chunks:s,usage_metadata:r,additional_kwargs:i,response_metadata:a}),generationInfo:n})},Cq=e=>{let t=Qe.isInstance(e)&&e.response_metadata?.model_provider==="openai";function*n(){let r=ga(()=>{try{let g=uu(e);return g==="system"||g==="developer"||g==="assistant"||g==="user"?g:"assistant"}catch{return"assistant"}}),s,a=new Set,i=new Set,o=new Map,c=new Map;function*u(){if(!s)return;let g=s.content;(typeof g=="string"&&g.length>0||Array.isArray(g)&&g.length>0)&&(yield s),s=void 0}let l=g=>{s||(s={type:"message",role:r,content:[]}),typeof s.content=="string"?s.content=s.content.length>0?[{type:"input_text",text:s.content},...g]:[...g]:s.content.push(...g)},d=g=>{if(typeof g=="string")return g;try{return JSON.stringify(g??{})}catch{return"{}"}},p=g=>{let y=ga(()=>{let k=g.metadata?.detail;return k==="low"||k==="high"||k==="auto"?k:"auto"});if(g.fileId)return{type:"input_image",detail:y,file_id:g.fileId};if(g.url)return{type:"input_image",detail:y,image_url:g.url};if(g.data){let k=typeof g.data=="string"?g.data:Buffer.from(g.data).toString("base64");return{type:"input_image",detail:y,image_url:`data:${g.mimeType??"image/png"};base64,${k}`}}},h=g=>{if(g.fileId){let y=y1(g);return{type:"input_file",file_id:g.fileId,...y?{filename:y}:{}}}if(g.url){let y=y1(g);return{...y?{filename:y}:{},type:"input_file",file_url:g.url}}if(g.data){let y=sp(g),k=typeof g.data=="string"?g.data:Buffer.from(g.data).toString("base64");return{type:"input_file",file_data:`data:${g.mimeType??"application/octet-stream"};base64,${k}`,...y?{filename:y}:{}}}},f=g=>{let y=ga(()=>{if(Array.isArray(g.summary)){let T=g.summary?.map(A=>A?.text).filter(A=>typeof A=="string")??[];if(T.length>0)return T}return g.reasoning?[g.reasoning]:[]}),k=y.length>0?y.map(T=>({type:"summary_text",text:T})):[{type:"summary_text",text:""}],x={type:"reasoning",id:g.id??"",summary:k};return g.reasoning&&(x.content=[{type:"reasoning_text",text:g.reasoning}]),x},m=g=>({type:"function_call",name:g.name??"",call_id:g.id??"",arguments:d(g.args)}),v=g=>{let y=d(g.output),k=g.status==="success"?"completed":g.status==="error"?"incomplete":void 0;return{type:"function_call_output",call_id:g.toolCallId??"",output:y,...k?{status:k}:{}}};for(let g of e.contentBlocks)if(g.type==="text")l([{type:"input_text",text:g.text}]);else if(g.type!=="invalid_tool_call"){if(g.type==="reasoning")yield*u(),yield f(g);else if(g.type==="tool_call"){yield*u();let y=g.id??"";y&&(a.add(y),o.delete(y)),yield m(g)}else if(g.type==="tool_call_chunk"){if(g.id){let y=o.get(g.id)??{name:g.name,args:[]};g.name&&(y.name=g.name),g.args&&y.args.push(g.args),o.set(g.id,y)}}else if(g.type==="server_tool_call"){yield*u();let y=g.id??"";y&&(i.add(y),c.delete(y)),yield m(g)}else if(g.type==="server_tool_call_chunk"){if(g.id){let y=c.get(g.id)??{name:g.name,args:[]};g.name&&(y.name=g.name),g.args&&y.args.push(g.args),c.set(g.id,y)}}else if(g.type==="server_tool_call_result")yield*u(),yield v(g);else if(g.type!=="audio")if(g.type==="file"){let y=h(g);y&&l([y])}else if(g.type==="image"){let y=p(g);y&&l([y])}else if(g.type==="video"){let y=h(g);y&&l([y])}else g.type==="text-plain"?g.text&&l([{type:"input_text",text:g.text}]):g.type==="non_standard"&&t&&(yield*u(),yield g.value)}yield*u();for(let[g,y]of o){if(!g||a.has(g))continue;let k=y.args.join("");!y.name&&!k||(yield{type:"function_call",call_id:g,name:y.name??"",arguments:k})}for(let[g,y]of c){if(!g||i.has(g))continue;let k=y.args.join("");!y.name&&!k||(yield{type:"function_call",call_id:g,name:y.name??"",arguments:k})}}return Array.from(n())},G1=({messages:e,zdrEnabled:t,model:n})=>e.flatMap(r=>{let s=r.response_metadata;if(s?.output_version==="v1")return Cq(r);let a=r.additional_kwargs,i=uu(r);if(i==="system"&&cu(n)&&(i="developer"),i==="function")throw new Error("Function messages are not supported in Responses API");if(i==="tool"){let o=r;if(a?.type==="computer_call_output")return{type:"computer_call_output",output:(()=>{if(typeof o.content=="string")return{type:"input_image",image_url:o.content};if(Array.isArray(o.content)){let u=o.content.find(p=>p.type==="input_image");if(u)return u;let l=o.content.find(p=>p.type==="computer_screenshot");if(l)return l;let d=o.content.find(p=>p.type==="image_url");if(d)return{type:"input_image",image_url:typeof d.image_url=="string"?d.image_url:d.image_url.url}}throw new Error("Invalid computer call output")})(),call_id:o.tool_call_id};if(o.additional_kwargs?.customTool)return{type:"custom_tool_call_output",call_id:o.tool_call_id,output:o.content};let c=Array.isArray(o.content)&&o.content.every(u=>typeof u=="object"&&u!==null&&"type"in u&&(u.type==="input_file"||u.type==="input_image"||u.type==="input_text"));return{type:"function_call_output",call_id:o.tool_call_id,id:o.id?.startsWith("fc_")?o.id:void 0,output:c?o.content:typeof o.content!="string"?JSON.stringify(o.content):o.content}}if(i==="assistant"){if(!t&&s?.output!=null&&Array.isArray(s?.output)&&s?.output.length>0&&s?.output.every(f=>"type"in f))return s?.output;let o=[],c=a?.reasoning,u=!!c?.encrypted_content;if(c&&(!t||u)){let f=Aq(c);o.push(f)}let{content:l}=r;a?.refusal&&(typeof l=="string"&&(l=[{type:"output_text",text:l,annotations:[]}]),l=[...l,{type:"refusal",refusal:a.refusal}]),(typeof l=="string"||l.length>0)&&o.push({type:"message",role:"assistant",...r.id&&!t&&r.id.startsWith("msg_")?{id:r.id}:{},content:ga(()=>typeof l=="string"?l:l.flatMap(f=>{if(f.type==="text"){let m=f;return{type:"output_text",text:m.text,annotations:(m.annotations??[]).map(Eq)}}return f.type==="output_text"||f.type==="refusal"?f:[]}))});let d=a?.[yp];Qe.isInstance(r)&&r.tool_calls?.length?o.push(...r.tool_calls.map(f=>WF(f)?{type:"custom_tool_call",id:f.call_id,call_id:f.id??"",input:f.args.input,name:f.name}:HF(f)?{type:"computer_call",id:f.call_id,call_id:f.id??"",action:f.args.action}:{type:"function_call",name:f.name,arguments:JSON.stringify(f.args),call_id:f.id,...t?{}:{id:d?.[f.id]}})):a?.tool_calls&&o.push(...a.tool_calls.map(f=>({type:"function_call",name:f.function.name,call_id:f.id,arguments:f.function.arguments,...t?{}:{id:d?.[f.id]}})));let p=s?.output?.length?s?.output:a.tool_outputs,h=["computer_call","mcp_call","code_interpreter_call","image_generation_call","shell_call","local_shell_call"];if(p!=null){let f=p?.filter(m=>h.includes(m.type));f.length>0&&o.push(...f)}return o}if(i==="user"||i==="system"||i==="developer"){if(typeof r.content=="string")return{type:"message",role:i,content:r.content};let o=[],c=r.content.flatMap(u=>(u.type==="mcp_approval_response"&&o.push({type:"mcp_approval_response",approval_request_id:u.approval_request_id,approve:u.approve}),Pr(u)?my(u,IE):u.type==="text"?{type:"input_text",text:u.text}:u.type==="image_url"?{type:"input_image",image_url:ga(()=>{if(typeof u.image_url=="string")return u.image_url;if(typeof u.image_url=="object"&&u.image_url!==null&&"url"in u.image_url)return u.image_url.url}),detail:ga(()=>{if(typeof u.image_url=="string")return"auto";if(typeof u.image_url=="object"&&u.image_url!==null&&"detail"in u.image_url)return u.image_url.detail})}:u.type==="input_text"||u.type==="input_image"||u.type==="input_file"?u:[]));return c.length>0&&o.push({type:"message",role:i,content:c}),o}return console.warn(`Unsupported role found when converting to OpenAI Responses API: ${i}`),[]}),Nq=class extends Y_{constructor(e,t){super(X_(e,t))}invocationParams(e){let t;e?.strict!==void 0&&(t=e.strict),t===void 0&&this.supportsStrictToolCalling!==void 0&&(t=this.supportsStrictToolCalling);let n={model:this.model,temperature:this.temperature,top_p:this.topP,user:this.user,service_tier:this.service_tier,stream:this.streaming,previous_response_id:e?.previous_response_id,truncation:e?.truncation,include:e?.include,tools:e?.tools?.length?this._reduceChatOpenAITools(e.tools,{stream:this.streaming,strict:t}):void 0,tool_choice:ZF(e?.tool_choice)?e?.tool_choice:(()=>{let s=CI(e?.tool_choice);if(typeof s=="object"&&"type"in s){if(s.type==="function")return{type:"function",name:s.function.name};if(s.type==="allowed_tools")return{type:"allowed_tools",mode:s.allowed_tools.mode,tools:s.allowed_tools.tools};if(s.type==="custom")return{type:"custom",name:s.custom.name}}})(),text:(()=>{if(e?.text)return e.text;let s=this._getResponseFormat(e?.response_format);return s?.type==="json_schema"?s.json_schema.schema!=null?{format:{type:"json_schema",schema:s.json_schema.schema,description:s.json_schema.description,name:s.json_schema.name,strict:s.json_schema.strict},verbosity:e?.verbosity}:void 0:{format:s,verbosity:e?.verbosity}})(),parallel_tool_calls:e?.parallel_tool_calls,max_output_tokens:this.maxTokens===-1?void 0:this.maxTokens,prompt_cache_key:e?.promptCacheKey??this.promptCacheKey,prompt_cache_retention:e?.promptCacheRetention??this.promptCacheRetention,...this.zdrEnabled?{store:!1}:{},...this.modelKwargs},r=this._getReasoningParams(e);return r!==void 0&&(n.reasoning=r),n}async _generate(e,t,n){t.signal?.throwIfAborted();let r=this.invocationParams(t);if(r.stream){let s=this._streamResponseChunks(e,t,n),a;for await(let i of s)i.message.response_metadata={...i.generationInfo,...i.message.response_metadata},a=a?.concat(i)??i;return{generations:a?[a]:[],llmOutput:{estimatedTokenUsage:a?.message?.usage_metadata}}}else{let s=await this.completionWithRetry({input:G1({messages:e,zdrEnabled:this.zdrEnabled??!1,model:this.model}),...r,stream:!1},{signal:t?.signal,...t?.options});return{generations:[{text:s.output_text,message:$E(s)}],llmOutput:{id:s.id,estimatedTokenUsage:s.usage?{promptTokens:s.usage.input_tokens,completionTokens:s.usage.output_tokens,totalTokens:s.usage.total_tokens}:void 0}}}}async*_streamResponseChunks(e,t,n){let r=await this.completionWithRetry({...this.invocationParams(t),input:G1({messages:e,zdrEnabled:this.zdrEnabled??!1,model:this.model}),stream:!0},t);for await(let s of r){if(t.signal?.aborted)return;let a=$q(s);a!=null&&(yield a,await n?.handleLLMNewToken(a.text||"",{prompt:t.promptIndex??0,completion:0},void 0,void 0,void 0,{chunk:a}))}}async completionWithRetry(e,t){return this.caller.call(async()=>{let n=this._getClientOptions(t);try{return e.text?.format?.type==="json_schema"&&!e.stream?await this.client.responses.parse(e,n):await this.client.responses.create(e,n)}catch(r){throw D_(r)}})}_reduceChatOpenAITools(e,t){let n=[];for(let r of e)if(F_(r))r.type==="image_generation"&&t?.stream&&(r.partial_images=1),n.push(r);else if(ip(r)){let s=r.metadata.customTool;n.push({type:"custom",name:s.name,description:s.description,format:s.format})}else if(t_(r)){let s={};for(let[a,i]of Object.entries(r))a!=="type"&&a!=="function"&&(s[a]=i);n.push({type:"function",name:r.function.name,parameters:r.function.parameters,description:r.function.description,strict:t?.strict??null,...s})}else NI(r)&&n.push(JF(r));return n}},Pq=class CE extends Y_{useResponsesApi=!1;responses;completions;get lc_serializable_keys(){return[...super.lc_serializable_keys,"useResponsesApi"]}get callKeys(){return[...super.callKeys,"useResponsesApi"]}fields;constructor(t,n){let r=X_(t,n);super(r),this.fields=r,this.useResponsesApi=r?.useResponsesApi??!1,this.responses=r?.responses??new Nq(r),this.completions=r?.completions??new Iq(r)}_useResponsesApi(t){let n=t?.tools?.some(F_),r=t?.previous_response_id!=null||t?.text!=null||t?.truncation!=null||t?.include!=null||t?.reasoning?.summary!=null||this.reasoning?.summary!=null,s=t?.tools?.some(NI)||t?.tools?.some(ip);return this.useResponsesApi||n||r||s||jF(this.model)}getLsParams(t){let n=this._combineCallOptions(t);return this._useResponsesApi(t)?this.responses.getLsParams(n):this.completions.getLsParams(n)}invocationParams(t){let n=this._combineCallOptions(t);return this._useResponsesApi(t)?this.responses.invocationParams(n):this.completions.invocationParams(n)}async _generate(t,n,r){return this._useResponsesApi(n)?this.responses._generate(t,n,r):this.completions._generate(t,n,r)}async*_streamResponseChunks(t,n,r){if(this._useResponsesApi(n)){yield*this.responses._streamResponseChunks(t,this._combineCallOptions(n),r);return}yield*this.completions._streamResponseChunks(t,this._combineCallOptions(n),r)}withConfig(t){let n=new CE(this.fields);return n.defaultOptions={...this.defaultOptions,...t},n}},jq=Wt({type:Rn("screenshot")}),Rq=Wt({type:Rn("click"),x:Zt(),y:Zt(),button:K_(["left","right","wheel","back","forward"]).default("left")}),Mq=Wt({type:Rn("double_click"),x:Zt(),y:Zt(),button:K_(["left","right","wheel","back","forward"]).default("left")}),Lq=Wt({type:Rn("drag"),path:lu(Wt({x:Zt(),y:Zt()}))}),zq=Wt({type:Rn("keypress"),keys:lu(Cn())}),Uq=Wt({type:Rn("move"),x:Zt(),y:Zt()}),Dq=Wt({type:Rn("scroll"),x:Zt(),y:Zt(),scroll_x:Zt(),scroll_y:Zt()}),Fq=Wt({type:Rn("type"),text:Cn()}),Bq=Wt({type:Rn("wait"),duration:Zt().optional()}),Zq=eh([jq,Rq,Mq,Lq,zq,Uq,Dq,Fq,Bq]);Wt({action:Zq});var Vq=Wt({type:Rn("exec"),command:lu(Cn()),env:aV(Cn(),Cn()).optional(),working_directory:Cn().optional(),timeout_ms:Zt().optional(),user:Cn().optional()});eh([Vq]);Wt({commands:lu(Cn()).describe("Array of shell commands to execute"),timeout_ms:Zt().optional().describe("Optional timeout in milliseconds for the commands"),max_output_length:Zt().optional().describe("Optional maximum number of characters to return from each command")});var qq=Wt({type:Rn("create_file"),path:Cn(),diff:Cn()}),Hq=Wt({type:Rn("update_file"),path:Cn(),diff:Cn()}),Wq=Wt({type:Rn("delete_file"),path:Cn()});eh([qq,Hq,Wq]);var NE={advanced:"gpt-5.2",default:"gpt-5-mini"},Jq={default:"text-embedding-ada-002"},Xf=new Map,Ku=null,Gq=()=>{let e=X1.getDefault().helperServices;if(!e?.aiModels?.url)throw new Error("AI Models Service URL is not defined in the portal's helper services.");return e.aiModels.url},Kq=async e=>{let t=Gq();Xf.size===0&&(Ku||(Ku=(async()=>{try{let r=await fetch(`${t}/models`);if(!r.ok)throw new Error("Failed to fetch AI service discovery data.");(await r.json()).models.forEach(s=>Xf.set(s.name,s))}catch(r){throw Ku=null,r}})()),await Ku);let n=Xf.get(e);if(!n)throw new Error(`Model '${e}' is not available in the discovery service.`);return n.endpoint},Xq=async(e="default")=>await Kq(NE[e]),K1=(e,t)=>t;Bt.Root({userInput:Bt(),messages:Bt({reducer:uo,default:()=>[]}),pendingIntents:Bt({default:()=>[],reducer:K1}),currentIntent:Bt({default:()=>"none",reducer:K1})});var ay=async(e,t)=>{await A3("trace_message",e,t)},Yq=e=>async(t,n)=>{let r=new Headers(n?.headers);return r.delete("Authorization"),r.delete("api-key"),e&&e.length>0&&(r.set("X-Esri-Authorization",`Bearer ${e}`),r.set("X-Esri-Request-Source","MapsSDK")),await fetch(t,{...n,headers:r})},Qq=async(e="default",t=0)=>{let n=X1.getDefault(),r=await zE.getCredential(`${n.url}/sharing`),s=NE[e],a=await Xq(e);return new Pq({modelName:s,apiKey:"dummy-key",...e!=="default"&&{temperature:t},configuration:{baseURL:a,fetch:Yq(r.token)}})},e7=(e,t)=>{let n=p_.fromTemplate(e);return Fp.fromMessages([n,...t])},t7=async e=>{let{promptText:t,modelTier:n,temperature:r,messages:s}=e,a=e7(t,s??[]),i=await Qq(n,r);return a.pipe(i)},n7=async e=>{let{promptText:t,modelTier:n="default",temperature:r=0,messages:s,inputVariables:a}=e,i=await(await t7({promptText:t,modelTier:n,temperature:r,messages:s})).invoke(a??{});if(typeof i=="string")return i;let o=i.content;return typeof o=="string"?o:JSON.stringify(o)},r7=hs({id:dn().min(1),name:dn().min(1),description:dn().min(1)});hi(r7);var s7="0.1",wo=1536,a7="openai",i7=Jq.default,o7=`Name: {name}
344
+ Title: {title}
345
+ Description: {description}`,c7=`Name: {name}
346
+ Alias: {alias}
347
+ Description: {description}`;hs({schemaVersion:$o(s7),modified:Jo().int().nonnegative(),embeddings:hs({modelProvider:$o(a7),model:$o(i7),dimensions:$o(wo),templates:hs({layer:dn().default(o7),field:dn().default(c7)})}),layers:hi(hs({id:dn().min(1),name:dn().min(1),title:dn().catch(""),description:dn().catch(""),vector:hi(Jo()).length(wo,{message:`Layer vector must be exactly ${wo} dimensions`}),fields:hi(hs({name:dn().min(1),alias:dn().catch(""),description:dn().catch(""),vector:hi(Jo()).length(wo,{message:`Field vector must be exactly ${wo} dimensions`})}))})).default([])});var u7=or.object({name:or.string(),description:or.string(),valueType:or.string(),alias:or.string()});or.object({fields:or.array(u7)});or.object({title:or.string(),description:or.string(),name:or.string().nullable()});async function Q_(e,t){let n=Object.entries(e).find(([r])=>r.endsWith(`/${t}.md`));if(!n)throw new Error(`Prompt not found: ${t}
348
+ Available prompts:
349
+ ${Object.keys(e).join(`
350
+ `)}`);return await n[1]()}var PE=Object.assign({"./prompts/solutions_assistant_description.md":()=>import("./3GCRHDDW.js").then(e=>e.default),"./prompts/solutions_assistant_prompts.md":()=>import("./4ALX6WAT.js").then(e=>e.default)}),jE=Bt.Root({messages:Bt({reducer:uo,default:()=>[]}),outputMessage:Bt({reducer:(e="",t)=>typeof t=="string"&&t.trim()?e?`${e}
351
+
352
+ ${t}`:t:e,default:()=>""})}),l7=async(e,t)=>{await ay({text:"Solutions Assistant: answering your question"},t);let n=await Q_(PE,"solutions_assistant_prompts");return{outputMessage:await n7({promptText:n,modelTier:"default",messages:e.messages})}},d7=()=>new ET(jE).addNode("assistantLLM",l7).addEdge(We,"assistantLLM").addEdge("assistantLLM",Re),p7=await Q_(PE,"solutions_assistant_description"),h7={id:"solutionsAssistantAgent",name:"Solutions Assistant Agent",description:p7,createGraph:d7,workspace:jE},f7=Object.assign({"./prompts/explorer-prompts.md":()=>import("./GV3BOKA2.js").then(e=>e.default),"./prompts/solutions_explorer_description.md":()=>import("./NNOZ6KRO.js").then(e=>e.default)});function m7(e){return e&&e.helperServices.aiAssistantServices?`${e.helperServices.aiAssistantServices.url}/skills/doc_ai_assistant/chat`:null}var g7=e=>new Promise(t=>setTimeout(t,e)),RE=Bt.Root({messages:Bt({reducer:uo,default:()=>[]}),outputMessage:Bt({reducer:(e="",t)=>typeof t=="string"&&t.trim()?e?`${e}
353
+
354
+ ${t}`:t:e,default:()=>""}),solutionResponse:Bt({reducer:(e,t)=>t??null,default:()=>null}),documentSkillUrl:Bt({reducer:(e,t)=>t??null,default:()=>null})}),y7=()=>new ET(RE).addNode("initializeAgent",v7).addNode("askSolutionsQuestions",_7).addEdge(We,"initializeAgent").addEdge("initializeAgent","askSolutionsQuestions").addConditionalEdges("askSolutionsQuestions",e=>e.solutionResponse?.hasMore===!1?"done":"continue",{done:Re,continue:"askSolutionsQuestions"}),_7=async(e,t)=>{t&&(t.recursionLimit=100),e.solutionResponse?.conversationId||await ay({text:"Calling the documentation assistant"},t);let n={message:e.messages[e.messages.length-1].content,conversationId:t?.configurable?.context?.convoId,context:{kind:"DocAIAssistantRequest",filters:{persona:{persona:"solutions"}}}};e.solutionResponse?.conversationId&&e.solutionResponse.hasMore&&(n={conversationId:e.solutionResponse.conversationId,ackSequenceNumber:e.solutionResponse.ackSequenceNumber,inquiryId:e.solutionResponse.inquiryId}),e.solutionResponse?.conversationId&&e.solutionResponse.hasMore&&await g7(1500);let r=e.documentSkillUrl,s=await fetch(r,{method:"POST",headers:{"Content-Type":"application/json",token:t?.configurable?.context?.token},body:JSON.stringify(n)});if(!s.ok)throw new Error(`HTTP ${s.status} calling ${r}`);let a=await s.json();t&&t.configurable&&(t.configurable.context.convoId=a.conversationId);let i={message:a.message,conversationId:a.conversationId,hasMore:a.hasMore,ackSequenceNumber:a.sequenceNumber,inquiryId:a.inquiryId},o=a.context&&a.context.results?a.context.results[0].reply??"":"";return o!==""&&a.context&&a.context.results&&a.context.results[0].followupQuestions&&t&&t.configurable&&(t.configurable.context.assistantRef.value.suggestedPrompts=a.context.results[0].followupQuestions),a.context&&a.context.results&&a.context.results[0].status.currentStatusMessage&&await ay({text:a.context.results[0].status.currentStatusMessage},t),{outputMessage:o,solutionResponse:i}},v7=async(e,t)=>{let n=null;return e.documentSkillUrl===null&&t?.configurable?.context?.portal&&(n=m7(t.configurable.context.portal)),{documentSkillUrl:n}},w7=await Q_(f7,"solutions_explorer_description"),b7={id:"solutionsExplorerAgent",name:"Solutions Explorer Agent",description:w7,createGraph:y7,workspace:RE},k7="https://links.esri.com/solutions/agol-organizational-account",x7="https://links.esri.com/solutions/configure-assistants",iy=class extends u0{constructor(){super(),this.open=!1,this.userFirstName="",this._conversationId=void 0,this._orgSettings={aiAssistantsEnabled:!1,blockBetaApps:!0,colocateCompute:!1},this._translations=p0({name:"arcgis-solutions-assistant",blocking:!0}),this._assistantRef=o0(),this._configContextConsumer=h0({context:f0,subscribe:!0,callback:t=>{t?.userSession&&!this.userFirstName&&this._loadUserFirstName(),t?.authentication?.PortalSubset?.orgSettings&&(this._orgSettings=t?.authentication?.PortalSubset?.orgSettings)}}),this.closeAssistant=r0(),this._handleSignIn=()=>{this._configContextConsumer.value?.authentication?.signIn("aiOpen")},this._checkURLOpenParameter=()=>{this.open=this._configContextConsumer.value?.authentication?.SignInParam==="aiOpen"||this.open}}static{this.properties={open:5,userFirstName:1,_conversationId:16,_orgSettings:16,_translations:16}}static{this.styles=UE}get _telemetry(){return this._configContextConsumer.value?.telemetrySession}loaded(){this._checkURLOpenParameter()}load(){this._configContextConsumer.value?.portalURL&&(LE.portalUrl=this._configContextConsumer.value.portalURL)}firstUpdated(t){this._loadUserFirstName()}willUpdate(t){this._configContextConsumer.value?.userSession?.token&&this._configContextConsumer.value?.authentication?.CanUseAI}_renderNoSign(){return po`<calcite-notice open scale=m icon=effects kind=info><div slot=message>${this._translations.signInMessage}</div><calcite-link @click=${this._handleSignIn} slot=link title=${this._translations.signInMessage??l0} class="padding-top-10">${this._translations.signIn}</calcite-link></calcite-notice>`}_renderNoPermission(){return po`<calcite-notice open scale=m icon=effects kind=info><div slot=title>${this._translations.noPermissionTitle}</div><div slot=message class="padding-top-10">${y0(this._translations.noPermissionMessage.replace("{{orgUrl}}",k7).replace("{{configAI}}",x7))}</div></calcite-notice>`}render(){let t=Object.values(this._translations.defaultFollowUpQuestions);return po`<calcite-dialog class="chat-panel" .open=${this.open} .heading=${this._translations.solutionAssistantTitle} placement=bottom-start @calciteDialogClose=${()=>{this.closeAssistant.emit(!0),this.open=!1}}>${this._configContextConsumer.value?.userSession?.token?this._configContextConsumer.value?.authentication?.CanUseAI?po`<calcite-button appearance=transparent class="icon-color-background" id=newChatButton icon-end=speech-bubble-plus kind=neutral label="New conversation" @click=${()=>{this._conversationId=void 0,this._assistantRef.value&&(this._assistantRef.value.suggestedPrompts=[]),this._assistantRef.value?.clearChatHistory()}} scale=l slot=header-actions-end></calcite-button><calcite-tooltip placement=bottom reference-element=newChatButton><span>${this._translations.tooltips.newConversation}</span></calcite-tooltip><arcgis-assistant reference-element copy-enabled feedback-enabled heading description .suggestedPrompts=${t} @arcgisSubmit=${n=>{console.log("arcgis submit: ",n.detail);let r=Date.now(),s=g0(r),a=n.detail||"Unknown";this._telemetry?.logEvent({category:m0.ASSISTANT,action:"Chat",dimensions:[a],metrics:[s]})}} @arcgisFeedback=${n=>{n.detail}} ${c0(this._assistantRef)}><arcgis-assistant-agent .agent=${b7} .context=${{token:this._configContextConsumer.value?.userSession?.token,convoId:this._conversationId,portal:this._configContextConsumer.value?.authentication.Portal,assistantRef:this._assistantRef}}></arcgis-assistant-agent><arcgis-assistant-agent .agent=${h7}></arcgis-assistant-agent></arcgis-assistant><div slot=footer class="width-100"><div class="disclaimer-div padding-top-10" slot=footer><calcite-icon icon=information scale=s></calcite-icon>${this._translations.disclaimerMessage}<a href=https://links.esri.com/solutions/security-concern target=_blank>${this._translations.reportConcern}</a></div></div>`:this._renderNoPermission():this._renderNoSign()}</calcite-dialog>`}async _loadUserFirstName(){try{let t=await this._configContextConsumer.value?.userSession?.getUser();if(t?.fullName){let n=t.fullName.split(" ")[0];this.userFirstName=n}}catch{}}};d0("arcgis-solutions-assistant",iy);return iy},"config","identity/IdentityManager","portal/Portal","core/reactiveUtils","layers/FeatureLayer","request",a)