@esri/solutions-components 5.1.0-next.144 → 5.1.0-next.145
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cdn/{LEK4P4OY.js → 25NZZKXC.js} +1 -1
- package/dist/cdn/2BIUOM64.js +2 -0
- package/dist/cdn/{S5AQVTR2.js → 2PUK3PST.js} +1 -1
- package/dist/cdn/{KUGXNF5Y.js → 2UMMLVCR.js} +1 -1
- package/dist/cdn/{LYAXTCCM.js → 34CZ4EWR.js} +4 -3
- package/dist/cdn/{SOLCNPHW.js → 3DCFUYKP.js} +1 -1
- package/dist/cdn/{65L2LQGD.js → 3JQ2RXVJ.js} +1 -1
- package/dist/cdn/3V2UWENT.js +2 -0
- package/dist/cdn/{7WD3GNG4.js → 4JVDUPVW.js} +1 -1
- package/dist/cdn/{BNRFT546.js → 5DEYOM7D.js} +1 -1
- package/dist/cdn/{WLM4HMMF.js → 5LF6C3S5.js} +1 -1
- package/dist/cdn/{4JGB6WLL.js → 5NQNJZTE.js} +1 -1
- package/dist/cdn/{4MAZNAHZ.js → 5OFQVDNK.js} +1 -1
- package/dist/cdn/{NV2DLQDN.js → 6MOTC6CE.js} +1 -1
- package/dist/cdn/{PUCDO65D.js → 6T35OGRG.js} +1 -1
- package/dist/cdn/{FVOCVCEE.js → 72X4E4QW.js} +1 -1
- package/dist/cdn/{Y77RX7KL.js → 7ADKNWWI.js} +1 -1
- package/dist/cdn/{DKEYOEI7.js → 7CLM77HQ.js} +1 -1
- package/dist/cdn/{IFONVCBL.js → A27DLHRU.js} +1 -1
- package/dist/cdn/{3UKDJZ2D.js → AE5HNAOV.js} +1 -1
- package/dist/cdn/{YQWQG523.js → AOWNMC3W.js} +1 -1
- package/dist/cdn/{U4RHWD57.js → AZN2E5DL.js} +1 -1
- package/dist/cdn/BMMIXOTR.js +2 -0
- package/dist/cdn/{6Z3DXRF6.js → BQE6IVEF.js} +1 -1
- package/dist/cdn/{EDZIFJZR.js → C5ZH23YO.js} +1 -1
- package/dist/cdn/{7GXMCAWQ.js → CVRBLJ5O.js} +1 -1
- package/dist/cdn/{ENG5BCAV.js → DXQQQNOF.js} +1 -1
- package/dist/cdn/{BGLTC5SO.js → F26SXWZ5.js} +1 -1
- package/dist/cdn/{4RLG6MXK.js → G3F52QRW.js} +1 -1
- package/dist/cdn/{IEOFEUZI.js → G3FTF6WH.js} +1 -1
- package/dist/cdn/{AHB7W7RI.js → GJD7AOUI.js} +1 -1
- package/dist/cdn/{RRD4QUQS.js → HLKEBN2O.js} +1 -1
- package/dist/cdn/{J3HJC4SO.js → HPWNNMVU.js} +2 -2
- package/dist/cdn/{ZCSF2MJ5.js → I7XBRB6B.js} +1 -1
- package/dist/cdn/{SGQBWAPU.js → IDEOFV22.js} +1 -1
- package/dist/cdn/{FW2HWQC7.js → IEC46RE7.js} +1 -1
- package/dist/cdn/{ULFPP7PF.js → IEN3TA4W.js} +1 -1
- package/dist/cdn/{LKZFKOG4.js → KDNGZ47C.js} +1 -1
- package/dist/cdn/{7FJTZ7VA.js → L3UI7EZZ.js} +1 -1
- package/dist/cdn/{MC5ARLKZ.js → L6P26BYB.js} +1 -1
- package/dist/cdn/{YLC2EM5A.js → LCV5GKUD.js} +2 -2
- package/dist/cdn/{X6JL6SAH.js → LJY6BB64.js} +1 -1
- package/dist/cdn/{MT5J66WR.js → LL647FJR.js} +1 -1
- package/dist/cdn/{KSQHSNTW.js → M4II4TSX.js} +1 -1
- package/dist/cdn/{5YXQ4UXZ.js → MEZL3ZHS.js} +24 -23
- package/dist/cdn/MHVLVLRA.js +2 -0
- package/dist/cdn/{UOGZGAJD.js → MIH5YMTN.js} +1 -1
- package/dist/cdn/{K4TDKKPB.js → MPCJZCL5.js} +1 -1
- package/dist/cdn/MZ73EAAV.js +29 -0
- package/dist/cdn/{C4OXBZJK.js → NIYB3TEW.js} +1 -1
- package/dist/cdn/{TX3LBQ6V.js → NOXANMDF.js} +1 -1
- package/dist/cdn/{QHDEVLC3.js → P4XNRWG7.js} +1 -1
- package/dist/cdn/{EPOIEXNS.js → PBGG3TGN.js} +1 -1
- package/dist/cdn/{H2UL463J.js → PBMTIFFX.js} +1 -1
- package/dist/cdn/{VBJSVR6T.js → PECGJO2P.js} +1 -1
- package/dist/cdn/{FILMKUOU.js → PNESECPO.js} +1 -1
- package/dist/cdn/{Z23BVIGQ.js → QFZK4TD4.js} +1 -1
- package/dist/cdn/QGCF64WY.js +2 -0
- package/dist/cdn/{5LIR6BQY.js → QKJJHBMB.js} +1 -1
- package/dist/cdn/{ZCPVOS4Q.js → QQXQAU33.js} +1 -1
- package/dist/cdn/{56XVVIG7.js → RIHOGDUV.js} +1 -1
- package/dist/cdn/{AGB374BK.js → RUQ4RO4T.js} +1 -1
- package/dist/cdn/{MVF7I3RU.js → UKQPYE7U.js} +1 -1
- package/dist/cdn/{BVSSQNES.js → ULUJKWT5.js} +1 -1
- package/dist/cdn/{U6JZYJ4D.js → UM3P3Q52.js} +1 -1
- package/dist/cdn/VO53567V.js +2 -0
- package/dist/cdn/WKS3TKDC.js +2 -0
- package/dist/cdn/WUKFT5AY.js +4 -0
- package/dist/cdn/{QQEYWBVV.js → XGWDWPRK.js} +1 -1
- package/dist/cdn/{XXGM7HGO.js → XGYNSCTA.js} +1 -1
- package/dist/cdn/{DNPN62O5.js → Y4KGXRSD.js} +1 -1
- package/dist/cdn/{SSIUWTQX.js → Y6QJCLML.js} +1 -1
- package/dist/cdn/{WGS5W6W5.js → YVIEKHQQ.js} +1 -1
- package/dist/cdn/{I22C4HE4.js → ZHXREM2D.js} +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/index.js +1 -1
- package/dist/chunks/converter.js +633 -367
- package/dist/chunks/deployFlowController.js +46 -0
- package/dist/chunks/designSolution.js +4 -3
- package/dist/chunks/explainValidationFailure.js +32 -0
- package/dist/chunks/solution-builder-assistant.js +157 -71
- package/dist/chunks/updateDesign.js +1 -1
- package/dist/components/arcgis-solutions-assistant/customElement.js +334 -248
- package/dist/components/solution-builder-assistant/customElement.js +3 -2
- package/dist/components/solution-deploying-dialog/customElement.js +12 -12
- package/dist/components/solution-details-panel/customElement.js +112 -102
- package/dist/docs/api.json +1 -1
- package/dist/docs/docs.json +1 -1
- package/dist/docs/web-types.json +1 -1
- package/dist/solutions-components_commit.txt +6 -6
- package/package.json +1 -1
- package/dist/cdn/5MPYPIR2.js +0 -2
- package/dist/cdn/CGCNGFBL.js +0 -2
- package/dist/cdn/FE2GEHNL.js +0 -2
- package/dist/cdn/GLQZHYJP.js +0 -4
- package/dist/cdn/LYK2CASU.js +0 -2
- package/dist/cdn/S6U6SXMD.js +0 -2
- package/dist/cdn/SYZEWVHU.js +0 -2
|
@@ -18,7 +18,7 @@ Right ${t}`)}}var bt=class vk extends Ce{static isInstance(t){if(!super.isInstan
|
|
|
18
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(r!=null&&i===void 0){let[n,a]=Mc(r);t.tool_calls=n??[],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){if(t.tool_calls){let a=t.tool_calls.filter(o=>!t.contentBlocks?.some(s=>s.type==="tool_call"&&s.id===o.id&&s.name===o.name));t.contentBlocks.push(...a.map(o=>({type:"tool_call",id:o.id,name:o.name,args:o.args})))}let n=t.contentBlocks.filter(a=>a.type==="tool_call").filter(a=>!t.tool_calls?.some(o=>o.id===a.id&&o.name===a.name));n.length>0&&(t.tool_calls=[...t.tool_calls??[],...n.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=Lh(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(r=>!e.some(i=>i.id===r.id&&i.name===r.name));e.push(...t.map(r=>({type:"tool_call",id:r.id,name:r.name,args:r.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 Wo(e){return e._getType()==="ai"}function zc(e){return e._getType()==="ai"}var Qe=class extends bt{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 r=rd(e.tool_call_chunks??[]);t={...e,tool_call_chunks:r.tool_call_chunks,tool_calls:r.tool_calls,invalid_tool_calls:r.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=Lh(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(r=>r.type==="tool_call").map(r=>r.id);for(let r of this.tool_calls)r.id&&!t.includes(r.id)&&e.push({...r,type:"tool_call",id:r.id,name:r.name,args:r.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:Pt(this.content,e.content),additional_kwargs:Ke(this.additional_kwargs,e.additional_kwargs),response_metadata:td(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 i=Oi(this.tool_call_chunks,e.tool_call_chunks);i!==void 0&&i.length>0&&(t.tool_call_chunks=i)}if(this.tool_calls!==void 0||e.tool_calls!==void 0){let i=Oi(this.tool_calls,e.tool_calls);i!==void 0&&i.length>0&&(t.tool_calls=i)}(this.usage_metadata!==void 0||e.usage_metadata!==void 0)&&(t.usage_metadata=Ko(this.usage_metadata,e.usage_metadata));let r=this.constructor;return new r(t)}static isInstance(e){return super.isInstance(e)&&e.type==="ai"}};var nn=class Fk extends Ce{static lc_name(){return"ChatMessage"}type="generic";role;static _chatMessageClass(){return Fk}constructor(t,r){(typeof t=="string"||Array.isArray(t))&&(t={content:t,role:r}),super(t),this.role=t.role}static isInstance(t){return super.isInstance(t)&&t.type==="generic"}get _printableFields(){return{...super._printableFields,role:this.role}}},Aa=class extends bt{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:Pt(this.content,e.content),additional_kwargs:Ke(this.additional_kwargs,e.additional_kwargs),response_metadata:Ke(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 Bk(e){return e._getType()==="generic"}function Vk(e){return e._getType()==="generic"}var Ca=class extends Ce{static lc_name(){return"FunctionMessage"}type="function";name;constructor(e){super(e),this.name=e.name}},Oa=class extends bt{static lc_name(){return"FunctionMessageChunk"}type="function";concat(e){let t=this.constructor;return new t({content:Pt(this.content,e.content),additional_kwargs:Ke(this.additional_kwargs,e.additional_kwargs),response_metadata:Ke(this.response_metadata,e.response_metadata),name:this.name??"",id:this.id??e.id})}};function Zk(e){return e._getType()==="function"}function Hk(e){return e._getType()==="function"}var rt=class extends Ce{static lc_name(){return"HumanMessage"}type="human";constructor(e){super(e)}static isInstance(e){return super.isInstance(e)&&e.type==="human"}},Pa=class extends bt{static lc_name(){return"HumanMessageChunk"}type="human";constructor(e){super(e)}concat(e){let t=this.constructor;return new t({content:Pt(this.content,e.content),additional_kwargs:Ke(this.additional_kwargs,e.additional_kwargs),response_metadata:Ke(this.response_metadata,e.response_metadata),id:this.id??e.id})}static isInstance(e){return super.isInstance(e)&&e.type==="human"}};function Gk(e){return e.getType()==="human"}function Jk(e){return e.getType()==="human"}var an=class extends Ce{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"}};var Gt=class nd extends Ce{static lc_name(){return"SystemMessage"}type="system";constructor(t){super(t)}concat(t){if(typeof t=="string")return new nd({content:Pt(this.content,t),additional_kwargs:this.additional_kwargs,response_metadata:this.response_metadata,id:this.id,name:this.name});if(nd.isInstance(t))return new nd({content:Pt(this.content,t.content),additional_kwargs:{...this.additional_kwargs,...t.additional_kwargs},response_metadata:{...this.response_metadata,...t.response_metadata},id:this.id??t.id,name:this.name??t.name});throw new Error("Unexpected chunk type for system message")}static isInstance(t){return super.isInstance(t)&&t.type==="system"}},oi=class extends bt{static lc_name(){return"SystemMessageChunk"}type="system";constructor(e){super(e)}concat(e){let t=this.constructor;return new t({content:Pt(this.content,e.content),additional_kwargs:Ke(this.additional_kwargs,e.additional_kwargs),response_metadata:Ke(this.response_metadata,e.response_metadata),id:this.id??e.id})}static isInstance(e){return super.isInstance(e)&&e.type==="system"}};function Kk(e){return e._getType()==="system"}function Wk(e){return e._getType()==="system"}function hj(e){return e.isCustomTool===!0}var qk=e=>e();function gj(e){return Pi(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 _j(e){return typeof e=="object"&&e!=null&&e.lc===1&&Array.isArray(e.id)&&e.kwargs!=null&&typeof e.kwargs=="object"}function Fh(e){let t,r;if(_j(e)){let i=e.id.at(-1);i==="HumanMessage"||i==="HumanMessageChunk"?t="user":i==="AIMessage"||i==="AIMessageChunk"?t="assistant":i==="SystemMessage"||i==="SystemMessageChunk"?t="system":i==="FunctionMessage"||i==="FunctionMessageChunk"?t="function":i==="ToolMessage"||i==="ToolMessageChunk"?t="tool":t="unknown",r=e.kwargs}else{let{type:i,...n}=e;t=i,r=n}if(t==="human"||t==="user")return new rt(r);if(t==="ai"||t==="assistant"){let{tool_calls:i,...n}=r;if(!Array.isArray(i))return new Ee(r);let a=i.map(gj);return new Ee({...n,tool_calls:a})}else{if(t==="system")return new Gt(r);if(t==="developer")return new Gt({...r,additional_kwargs:{...r.additional_kwargs,__openai_role__:"developer"}});if(t==="tool"&&"tool_call_id"in r)return new gt({...r,content:r.content,tool_call_id:r.tool_call_id,name:r.name});if(t==="remove"&&"id"in r&&typeof r.id=="string")return new an({...r,id:r.id});throw ii(new Error(`Unable to coerce message from array: only human, AI, system, developer, or tool message coercion is currently supported.
|
|
19
19
|
|
|
20
20
|
Received: ${JSON.stringify(e,null,2)}`),"MESSAGE_COERCION_FAILURE")}}function It(e){if(typeof e=="string")return new rt(e);if(We(e))return e;if(Array.isArray(e)){let[t,r]=e;return Fh({type:t,content:r})}else if(ed(e)){let{role:t,...r}=e;return Fh({...r,type:t})}else return Fh(e)}function yj(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 qo(e,t="Human",r="AI"){let i=[];for(let n of e){let a;if(n.type==="human")a=t;else if(n.type==="ai")a=r;else if(n.type==="system")a="System";else if(n.type==="tool")a="Tool";else if(n.type==="generic")a=n.role;else throw new Error(`Got unsupported message type: ${n.type}`);let o=n.name?`${n.name}, `:"",s=typeof n.content=="string"?n.content:Array.isArray(n.content)?n.content.map(yj).filter(Boolean).join(""):"",c=`${a}: ${o}${s}`;if(n.type==="ai"){let u=n;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))}i.push(c)}return i.join(`
|
|
21
|
-
`)}function vj(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 Dc(e){let t=vj(e);switch(t.type){case"human":return new rt(t.data);case"ai":return new Ee(t.data);case"system":return new Gt(t.data);case"function":if(t.data.name===void 0)throw new Error("Name must be defined for function messages");return new Ca(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 gt(t.data);case"generic":if(t.data.role===void 0)throw new Error("Role must be defined for chat messages");return new nn(t.data);default:throw new Error(`Got unexpected type: ${t.type}`)}}function Xk(e){return e.map(Dc)}function Yk(e){return e.map(t=>t.toDict())}function Na(e){let t=e._getType();if(t==="human")return new Pa({...e});if(t==="ai"){let r={...e};return"tool_calls"in r&&(r={...r,tool_call_chunks:r.tool_calls?.map(i=>({...i,type:"tool_call_chunk",index:void 0,args:JSON.stringify(i.args)}))}),new Qe({...r})}else{if(t==="system")return new oi({...e});if(t==="function")return new Oa({...e});if(nn.isInstance(e))return new Aa({...e});throw new Error("Unknown message type.")}}function rd(e){let t=e.reduce((n,a)=>{let o=n.findIndex(([s])=>"id"in a&&a.id&&"index"in a&&a.index!==void 0?a.id===s.id&&a.index===s.index:"id"in a&&a.id?a.id===s.id:"index"in a&&a.index!==void 0?a.index===s.index:!1);return o!==-1?n[o].push(a):n.push([a]),n},[]),r=[],i=[];for(let n of t){let a=null,o=n.some(hj),s=n[0]?.name??"",c=n.map(f=>f.args||"").join(""),u=o?c:c.trim(),l=u.length?u:"{}",d=n.find(f=>f.id)?.id??n[0]?.id;if(o&&d){r.push({name:s,args:{input:u},id:d,type:"tool_call"});continue}try{if(a=Cn(l),!d||a===null||typeof a!="object"||Array.isArray(a))throw new Error("Malformed tool call chunk args.");r.push({name:s,args:a,id:d,type:"tool_call"})}catch{i.push({name:s,args:l,id:d,error:"Malformed args.",type:"invalid_tool_call"})}}return{tool_call_chunks:e,tool_calls:r,invalid_tool_calls:i}}var Qk=A({BaseCache:()=>t$,InMemoryCache:()=>Bh,defaultHashKeyEncoder:()=>e$,deserializeStoredGeneration:()=>bj,serializeGeneration:()=>wj}),e$=(...e)=>Vo(e.join("_"));function bj(e){return e.message!==void 0?{text:e.text,message:Dc(e.message)}:{text:e.text}}function wj(e){let t={text:e.text};return e.message!==void 0&&(t.message=e.message.toDict()),t}var t$=class{keyEncoder=e$;makeDefaultKeyEncoder(e){this.keyEncoder=e}},xj=new Map,Bh=class r$ extends t${cache;constructor(t){super(),this.cache=t??new Map}lookup(t,r){return Promise.resolve(this.cache.get(this.keyEncoder(t,r))??null)}async update(t,r,i){this.cache.set(this.keyEncoder(t,r),i)}static global(){return new r$(xj)}};var n$="ffffffff-ffff-ffff-ffff-ffffffffffff";var i$="00000000-0000-0000-0000-000000000000";var a$=/^(?:[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 Ni(e){return typeof e=="string"&&a$.test(e)}function Ra(e){if(!Ni(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 Et=[];for(let e=0;e<256;++e)Et.push((e+256).toString(16).slice(1));function wr(e,t=0){return(Et[e[t+0]]+Et[e[t+1]]+Et[e[t+2]]+Et[e[t+3]]+"-"+Et[e[t+4]]+Et[e[t+5]]+"-"+Et[e[t+6]]+Et[e[t+7]]+"-"+Et[e[t+8]]+Et[e[t+9]]+"-"+Et[e[t+10]]+Et[e[t+11]]+Et[e[t+12]]+Et[e[t+13]]+Et[e[t+14]]+Et[e[t+15]]).toLowerCase()}function o$(e,t=0){let r=wr(e,t);if(!Ni(r))throw TypeError("Stringified UUID is invalid");return r}var Sj=new Uint8Array(16);function Ri(){return crypto.getRandomValues(Sj)}var Uc={};function id(e,t,r){let i,n=e?._v6??!1;if(e){let a=Object.keys(e);a.length===1&&a[0]==="_v6"&&(e=void 0)}if(e)i=s$(e.random??e.rng?.()??Ri(),e.msecs,e.nsecs,e.clockseq,e.node,t,r);else{let a=Date.now(),o=Ri();kj(Uc,a,o),i=s$(o,Uc.msecs,Uc.nsecs,n?void 0:Uc.clockseq,n?void 0:Uc.node,t,r)}return t??wr(i)}function kj(e,t,r){return e.msecs??=-1/0,e.nsecs??=0,t===e.msecs?(e.nsecs++,e.nsecs>=1e4&&(e.node=void 0,e.nsecs=0)):t>e.msecs?e.nsecs=0:t<e.msecs&&(e.node=void 0),e.node||(e.node=r.slice(10,16),e.node[0]|=1,e.clockseq=(r[8]<<8|r[9])&16383),e.msecs=t,e}function s$(e,t,r,i,n,a,o=0){if(e.length<16)throw new Error("Random bytes length must be >= 16");if(!a)a=new Uint8Array(16),o=0;else if(o<0||o+16>a.length)throw new RangeError(`UUID byte range ${o}:${o+15} is out of buffer bounds`);t??=Date.now(),r??=0,i??=(e[8]<<8|e[9])&16383,n??=e.slice(10,16),t+=122192928e5;let s=((t&268435455)*1e4+r)%4294967296;a[o++]=s>>>24&255,a[o++]=s>>>16&255,a[o++]=s>>>8&255,a[o++]=s&255;let c=t/4294967296*1e4&268435455;a[o++]=c>>>8&255,a[o++]=c&255,a[o++]=c>>>24&15|16,a[o++]=c>>>16&255,a[o++]=i>>>8|128,a[o++]=i&255;for(let u=0;u<6;++u)a[o++]=n[u];return a}function c$(e,t,r){return!t&&!e&&crypto.randomUUID?crypto.randomUUID():$j(e,t,r)}function $j(e,t,r){e=e||{};let i=e.random??e.rng?.()??Ri();if(i.length<16)throw new Error("Random bytes length must be >= 16");if(i[6]=i[6]&15|64,i[8]=i[8]&63|128,t){if(r=r||0,r<0||r+16>t.length)throw new RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let n=0;n<16;++n)t[r+n]=i[n];return t}return wr(i)}function Ij(e,t,r,i){switch(e){case 0:return t&r^~t&i;case 1:return t^r^i;case 2:return t&r^t&i^r&i;case 3:return t^r^i}}function Vh(e,t){return e<<t|e>>>32-t}function u$(e){let t=[1518500249,1859775393,2400959708,3395469782],r=[1732584193,4023233417,2562383102,271733878,3285377520],i=new Uint8Array(e.length+1);i.set(e),i[e.length]=128,e=i;let n=e.length/4+2,a=Math.ceil(n/16),o=new Array(a);for(let s=0;s<a;++s){let c=new Uint32Array(16);for(let u=0;u<16;++u)c[u]=e[s*64+u*4]<<24|e[s*64+u*4+1]<<16|e[s*64+u*4+2]<<8|e[s*64+u*4+3];o[s]=c}o[a-1][14]=(e.length-1)*8/2**32,o[a-1][14]=Math.floor(o[a-1][14]),o[a-1][15]=(e.length-1)*8&4294967295;for(let s=0;s<a;++s){let c=new Uint32Array(80);for(let m=0;m<16;++m)c[m]=o[s][m];for(let m=16;m<80;++m)c[m]=Vh(c[m-3]^c[m-8]^c[m-14]^c[m-16],1);let u=r[0],l=r[1],d=r[2],f=r[3],p=r[4];for(let m=0;m<80;++m){let g=Math.floor(m/20),y=Vh(u,5)+Ij(g,l,d,f)+p+t[g]+c[m]>>>0;p=f,f=d,d=Vh(l,30)>>>0,l=u,u=y}r[0]=r[0]+u>>>0,r[1]=r[1]+l>>>0,r[2]=r[2]+d>>>0,r[3]=r[3]+f>>>0,r[4]=r[4]+p>>>0}return Uint8Array.of(r[0]>>24,r[0]>>16,r[0]>>8,r[0],r[1]>>24,r[1]>>16,r[1]>>8,r[1],r[2]>>24,r[2]>>16,r[2]>>8,r[2],r[3]>>24,r[3]>>16,r[3]>>8,r[3],r[4]>>24,r[4]>>16,r[4]>>8,r[4])}function Ej(e){e=unescape(encodeURIComponent(e));let t=new Uint8Array(e.length);for(let r=0;r<e.length;++r)t[r]=e.charCodeAt(r);return t}var l$="6ba7b810-9dad-11d1-80b4-00c04fd430c8",d$="6ba7b811-9dad-11d1-80b4-00c04fd430c8";function f$(e,t,r,i,n,a){let o=typeof r=="string"?Ej(r):r,s=typeof i=="string"?Ra(i):i;if(typeof i=="string"&&(i=Ra(i)),i?.length!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let c=new Uint8Array(16+o.length);if(c.set(s),c.set(o,s.length),c=t(c),c[6]=c[6]&15|e,c[8]=c[8]&63|128,n){if(a??=0,a<0||a+16>n.length)throw new RangeError(`UUID byte range ${a}:${a+15} is out of buffer bounds`);for(let u=0;u<16;++u)n[a+u]=c[u];return n}return wr(c)}function ad(e,t,r,i){return f$(80,u$,e,t,r,i)}ad.DNS=l$;ad.URL=d$;function p$(e){let t=Tj(typeof e=="string"?Ra(e):e);return typeof e=="string"?wr(t):t}function Tj(e){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 m$(e,t,r){e??={},r??=0;let i=id({...e,_v6:!0},new Uint8Array(16));if(i=p$(i),t){if(r<0||r+16>t.length)throw new RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let n=0;n<16;n++)t[r+n]=i[n];return t}return wr(i)}var Zh={};function g$(e,t,r){let i;if(e)i=h$(e.random??e.rng?.()??Ri(),e.msecs,e.seq,t,r);else{let n=Date.now(),a=Ri();Aj(Zh,n,a),i=h$(a,Zh.msecs,Zh.seq,t,r)}return t??wr(i)}function Aj(e,t,r){return e.msecs??=-1/0,e.seq??=0,t>e.msecs?(e.seq=r[6]<<23|r[7]<<16|r[8]<<8|r[9],e.msecs=t):(e.seq=e.seq+1|0,e.seq===0&&e.msecs++),e}function h$(e,t,r,i,n=0){if(e.length<16)throw new Error("Random bytes length must be >= 16");if(!i)i=new Uint8Array(16),n=0;else if(n<0||n+16>i.length)throw new RangeError(`UUID byte range ${n}:${n+15} is out of buffer bounds`);return t??=Date.now(),r??=e[6]*127<<24|e[7]<<16|e[8]<<8|e[9],i[n++]=t/1099511627776&255,i[n++]=t/4294967296&255,i[n++]=t/16777216&255,i[n++]=t/65536&255,i[n++]=t/256&255,i[n++]=t&255,i[n++]=112|r>>>28&15,i[n++]=r>>>20&255,i[n++]=128|r>>>14&63,i[n++]=r>>>6&255,i[n++]=r<<2&255|e[10]&3,i[n++]=e[11],i[n++]=e[12],i[n++]=e[13],i[n++]=e[14],i[n++]=e[15],i}function _$(e){if(!Ni(e))throw TypeError("Invalid UUID");return parseInt(e.slice(14,15),16)}var y$=A({MAX:()=>Cj,NIL:()=>Oj,parse:()=>Pj,stringify:()=>Nj,v1:()=>Rj,v4:()=>Hh,v5:()=>od,v6:()=>Mj,v7:()=>zr,validate:()=>Xo,version:()=>jj}),Cj=n$,Oj=i$,Pj=Ra,Nj=o$,Rj=id,Hh=c$,od=ad,Mj=m$,zr=g$,Xo=Ni,jj=_$;var v$=A({BaseCallbackHandler:()=>xr,callbackHandlerPrefersChatModelStreamEvents:()=>Gh,callbackHandlerPrefersStreaming:()=>Lc,isBaseCallbackHandler:()=>Jh}),zj=class{};function Lc(e){return"lc_prefer_streaming"in e&&e.lc_prefer_streaming}function Gh(e){return"lc_prefer_chat_model_stream_events"in e&&e.lc_prefer_chat_model_stream_events}var xr=class extends zj{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,Bo(this.constructor)]}lc_kwargs;ignoreLLM=!1;ignoreChain=!1;ignoreAgent=!1;ignoreRetriever=!1;ignoreCustomEvent=!1;raiseError=!1;awaitHandlers=Ht("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 ut.prototype.toJSON.call(this)}toJSONNotImplemented(){return ut.prototype.toJSONNotImplemented.call(this)}static fromMethods(e){class t extends xr{name=zr();constructor(){super(),Object.assign(this,e)}}return new t}},Jh=e=>{let t=e;return t!==void 0&&typeof t.copy=="function"&&typeof t.name=="string"&&typeof t.awaitHandlers=="boolean"};var b$=/^(?:[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 Dj(e){return typeof e=="string"&&b$.test(e)}var Fc=Dj;function Uj(e){if(!Fc(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 sd=Uj;var Tt=[];for(let e=0;e<256;++e)Tt.push((e+256).toString(16).slice(1));function Yo(e,t=0){return(Tt[e[t+0]]+Tt[e[t+1]]+Tt[e[t+2]]+Tt[e[t+3]]+"-"+Tt[e[t+4]]+Tt[e[t+5]]+"-"+Tt[e[t+6]]+Tt[e[t+7]]+"-"+Tt[e[t+8]]+Tt[e[t+9]]+"-"+Tt[e[t+10]]+Tt[e[t+11]]+Tt[e[t+12]]+Tt[e[t+13]]+Tt[e[t+14]]+Tt[e[t+15]]).toLowerCase()}var Lj=new Uint8Array(16);function Qo(){return crypto.getRandomValues(Lj)}function Fj(e,t,r){return!t&&!e&&crypto.randomUUID?crypto.randomUUID():Bj(e,t,r)}function Bj(e,t,r){e=e||{};let i=e.random??e.rng?.()??Qo();if(i.length<16)throw new Error("Random bytes length must be >= 16");if(i[6]=i[6]&15|64,i[8]=i[8]&63|128,t){if(r=r||0,r<0||r+16>t.length)throw new RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let n=0;n<16;++n)t[r+n]=i[n];return t}return Yo(i)}var Ma=Fj;function Vj(e,t,r,i){switch(e){case 0:return t&r^~t&i;case 1:return t^r^i;case 2:return t&r^t&i^r&i;case 3:return t^r^i}}function Kh(e,t){return e<<t|e>>>32-t}function Zj(e){let t=[1518500249,1859775393,2400959708,3395469782],r=[1732584193,4023233417,2562383102,271733878,3285377520],i=new Uint8Array(e.length+1);i.set(e),i[e.length]=128,e=i;let n=e.length/4+2,a=Math.ceil(n/16),o=new Array(a);for(let s=0;s<a;++s){let c=new Uint32Array(16);for(let u=0;u<16;++u)c[u]=e[s*64+u*4]<<24|e[s*64+u*4+1]<<16|e[s*64+u*4+2]<<8|e[s*64+u*4+3];o[s]=c}o[a-1][14]=(e.length-1)*8/2**32,o[a-1][14]=Math.floor(o[a-1][14]),o[a-1][15]=(e.length-1)*8&4294967295;for(let s=0;s<a;++s){let c=new Uint32Array(80);for(let m=0;m<16;++m)c[m]=o[s][m];for(let m=16;m<80;++m)c[m]=Kh(c[m-3]^c[m-8]^c[m-14]^c[m-16],1);let u=r[0],l=r[1],d=r[2],f=r[3],p=r[4];for(let m=0;m<80;++m){let g=Math.floor(m/20),y=Kh(u,5)+Vj(g,l,d,f)+p+t[g]+c[m]>>>0;p=f,f=d,d=Kh(l,30)>>>0,l=u,u=y}r[0]=r[0]+u>>>0,r[1]=r[1]+l>>>0,r[2]=r[2]+d>>>0,r[3]=r[3]+f>>>0,r[4]=r[4]+p>>>0}return Uint8Array.of(r[0]>>24,r[0]>>16,r[0]>>8,r[0],r[1]>>24,r[1]>>16,r[1]>>8,r[1],r[2]>>24,r[2]>>16,r[2]>>8,r[2],r[3]>>24,r[3]>>16,r[3]>>8,r[3],r[4]>>24,r[4]>>16,r[4]>>8,r[4])}var w$=Zj;function Hj(e){e=unescape(encodeURIComponent(e));let t=new Uint8Array(e.length);for(let r=0;r<e.length;++r)t[r]=e.charCodeAt(r);return t}var Wh="6ba7b810-9dad-11d1-80b4-00c04fd430c8",qh="6ba7b811-9dad-11d1-80b4-00c04fd430c8";function Xh(e,t,r,i,n,a){let o=typeof r=="string"?Hj(r):r,s=typeof i=="string"?sd(i):i;if(typeof i=="string"&&(i=sd(i)),i?.length!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let c=new Uint8Array(16+o.length);if(c.set(s),c.set(o,s.length),c=t(c),c[6]=c[6]&15|e,c[8]=c[8]&63|128,n){if(a??=0,a<0||a+16>n.length)throw new RangeError(`UUID byte range ${a}:${a+15} is out of buffer bounds`);for(let u=0;u<16;++u)n[a+u]=c[u];return n}return Yo(c)}function Yh(e,t,r,i){return Xh(80,w$,e,t,r,i)}Yh.DNS=Wh;Yh.URL=qh;var Qh=Yh;var eg={};function Gj(e,t,r){let i;if(e)i=x$(e.random??e.rng?.()??Qo(),e.msecs,e.seq,t,r);else{let n=Date.now(),a=Qo();Jj(eg,n,a),i=x$(a,eg.msecs,eg.seq,t,r)}return t??Yo(i)}function Jj(e,t,r){return e.msecs??=-1/0,e.seq??=0,t>e.msecs?(e.seq=r[6]<<23|r[7]<<16|r[8]<<8|r[9],e.msecs=t):(e.seq=e.seq+1|0,e.seq===0&&e.msecs++),e}function x$(e,t,r,i,n=0){if(e.length<16)throw new Error("Random bytes length must be >= 16");if(!i)i=new Uint8Array(16),n=0;else if(n<0||n+16>i.length)throw new RangeError(`UUID byte range ${n}:${n+15} is out of buffer bounds`);return t??=Date.now(),r??=e[6]*127<<24|e[7]<<16|e[8]<<8|e[9],i[n++]=t/1099511627776&255,i[n++]=t/4294967296&255,i[n++]=t/16777216&255,i[n++]=t/65536&255,i[n++]=t/256&255,i[n++]=t&255,i[n++]=112|r>>>28&15,i[n++]=r>>>20&255,i[n++]=128|r>>>14&63,i[n++]=r>>>6&255,i[n++]=r<<2&255|e[10]&3,i[n++]=e[11],i[n++]=e[12],i[n++]=e[13],i[n++]=e[14],i[n++]=e[15],i}var es=Gj;var S$="gen_ai.operation.name",k$="gen_ai.system",tg="gen_ai.request.model",$$="gen_ai.response.model",rg="gen_ai.usage.input_tokens",ng="gen_ai.usage.output_tokens",ig="gen_ai.usage.total_tokens",I$="gen_ai.request.max_tokens",E$="gen_ai.request.temperature",T$="gen_ai.request.top_p",A$="gen_ai.request.frequency_penalty",C$="gen_ai.request.presence_penalty",O$="gen_ai.response.finish_reasons",P$="gen_ai.prompt",N$="gen_ai.completion",R$="gen_ai.request.extra_query",M$="gen_ai.request.extra_body",j$="gen_ai.serialized.name",z$="gen_ai.serialized.signature",D$="gen_ai.serialized.doc",U$="gen_ai.response.id",L$="gen_ai.response.service_tier",F$="gen_ai.response.system_fingerprint",B$="gen_ai.usage.input_token_details",V$="gen_ai.usage.output_token_details",Z$="langsmith.trace.session_id",H$="langsmith.trace.session_name",G$="langsmith.span.kind",J$="langsmith.trace.name",K$="langsmith.metadata",ag="langsmith.span.tags";var W$="langsmith.request.streaming",q$="langsmith.request.headers";var og="langsmith.usage_metadata";var qj=(...e)=>fetch(...e),Xj,X$=Symbol.for("ls:fetch_implementation");var Y$=()=>globalThis[X$]===void 0?!0:Xj??!1,Q$=e=>async(...t)=>{if(e||Fe("DEBUG")==="true"){let[i,n]=t;console.log(`\u2192 ${n?.method||"GET"} ${i}`)}let r=await(globalThis[X$]??qj)(...t);return(e||Fe("DEBUG")==="true")&&console.log(`\u2190 ${r.status} ${r.statusText} ${r.url}`),r};var Bc=()=>Fe("PROJECT")??wt("LANGCHAIN_SESSION")??"default";var eI={};function ja(e){eI[e]||(console.warn(e),eI[e]=!0)}var N=e=>BigInt(e),iI=N("0x9E3779B1"),aI=N("0x85EBCA77"),Yj=N("0xC2B2AE3D"),Mi=N("0x9E3779B185EBCA87"),za=N("0xC2B2AE3D27D4EB4F"),oI=N("0x165667B19E3779F9"),lg=N("0x85EBCA77C2B2AE63"),Qj=N("0x27D4EB2F165667C5"),e4=N("0x165667919E3779F9"),t4=N("0x9FB21C651E98DF25");function r4(e){let t=new Uint8Array(e.length/2);for(let r=0;r<e.length;r+=2)t[r/2]=parseInt(e.substring(r,r+2),16);return t}var On=r4("b8fe6c3923a44bbe7c01812cf721ad1cded46de9839097db7240a4a4b7b3671fcb79e64eccc0e578825ad07dccff7221b8084674f743248ee03590e6813a264c3c2852bb91c300cb88d0658b1b532ea371644897a20df94e3819ef46a9deacd8a8fa763fe39c343ff9dcbbc7c70b4f1d8a51e04bcdb45931c89f7ec9d9787364eac5ac8334d3ebc3c581a0fffa1363eb170ddd51b7f0da49d316552629d4689e2b16be587d47a1fc8ff8b8d17ad031ce45cb3a8f95160428afd7fbcabb4b407e"),rs=(N(1)<<N(128))-N(1),_e=(N(1)<<N(64))-N(1),dd=(N(1)<<N(32))-N(1),si=64,sI=si/8,n4=8,cd=4;function Be(e,t=0){return new Uint8Array(e.buffer,e.byteOffset+t,e.length-t)}function Ge(e,t=0){return new DataView(e.buffer,e.byteOffset+t).getBigUint64(0,!0)}function ts(e,t=0){return new DataView(e.buffer,e.byteOffset+t).getUint32(0,!0)}function sg(e,t=0){return e[t]}var i4=e=>(e&N(255))<<N(56)|(e&N(65280))<<N(40)|(e&N(16711680))<<N(24)|(e&N(4278190080))<<N(8)|(e&N(0xff00000000))>>N(8)|(e&N(0xff0000000000))>>N(24)|(e&N(0xff000000000000))>>N(40)|(e&N(0xff00000000000000))>>N(56),a4=e=>(e=(e&N(65535))<<N(16)|(e&N(4294901760))>>N(16),e=(e&N(16711935))<<N(8)|(e&N(4278255360))>>N(8),e),o4=(e,t)=>(e&dd)*(t&dd)&_e,ns=e=>{if(!e)throw new Error("Assert failed")};function s4(e,t){return(e<<t|e>>N(32)-t)&dd}function cI(e,t,r){for(let i=0;i<sI;i++){let n=Ge(t,i*8),a=n^Ge(r,i*8);e[i^1]+=n,e[i]+=o4(a,a>>N(32))}return e}function tI(e,t,r,i){for(let n=0;n<i;n++)cI(e,Be(t,n*si),Be(r,n*8));return e}function c4(e,t){for(let r=0;r<sI;r++){let i=Ge(t,r*8),n=e[r];n=cg(n,N(47)),n^=i,n*=iI,e[r]=n&_e}return e}function ud(e,t){return uI(e[0]^Ge(t,0),e[1]^Ge(t,n4))}function rI(e,t,r){let i=r;return i+=ud(e.slice(0),Be(t,0*cd)),i+=ud(e.slice(2),Be(t,4*cd)),i+=ud(e.slice(4),Be(t,8*cd)),i+=ud(e.slice(6),Be(t,12*cd)),Pn(i&_e)}function u4(e,t,r,i,n){let a=Math.floor((r.byteLength-si)/8),o=si*a,s=Math.floor((t.byteLength-1)/o);for(let c=0;c<s;c++)e=tI(e,Be(t,c*o),r,a),e=n(e,Be(r,r.byteLength-si));{let c=Math.floor((t.byteLength-1-o*s)/si);e=tI(e,Be(t,s*o),r,c),e=i(e,Be(t,t.byteLength-si),Be(r,r.byteLength-si-7))}return e}function l4(e,t,r){let i=new BigUint64Array([Yj,Mi,za,oI,lg,aI,Qj,iI]);ns(e.length>128),i=u4(i,e,t,cI,c4),ns(i.length*8==64);{let n=rI(i,Be(t,11),N(e.byteLength)*Mi&_e);return rI(i,Be(t,t.byteLength-si-11),~(N(e.byteLength)*za)&_e)<<N(64)|n}}function uI(e,t){let r=e*t&rs;return r&_e^r>>N(64)}function nI(e,t,r){return uI((Ge(e,0)^Ge(t,0)+r)&_e,(Ge(e,8)^Ge(t,8)-r)&_e)}function ld(e,t,r,i,n){let a=e&_e,o=e>>N(64)&_e;return a+=nI(t,i,n),a^=Ge(r,0)+Ge(r,8),a&=_e,o+=nI(r,Be(i,16),n),o^=Ge(t,0)+Ge(t,8),o&=_e,o<<N(64)|a}function Pn(e){return e^=e>>N(37),e*=e4,e&=_e,e^=e>>N(32),e}function fd(e){return e^=e>>N(33),e*=za,e&=_e,e^=e>>N(29),e*=oI,e&=_e,e^=e>>N(32),e}function d4(e,t,r){let i=e.byteLength;ns(i>0&&i<=3);let n=N(sg(e,i-1))|N(i<<8)|N(sg(e,0)<<16)|N(sg(e,i>>1)<<24),a=(N(ts(t,0))^N(ts(t,4)))+r,o=(n^a)&_e,s=(N(ts(t,8))^N(ts(t,12)))-r,c=(s4(a4(n),N(13))^s)&_e;return(fd(c)&_e)<<N(64)|fd(o)}function cg(e,t){return e^e>>t}function f4(e,t,r){let i=e.byteLength;ns(i>=4&&i<=8);{let n=ts(e,0),a=ts(e,i-4),o=N(n)|N(a)<<N(32),s=(Ge(t,16)^Ge(t,24))+r&_e,u=(o^s)*(Mi+(N(i)<<N(2)))&rs;return u+=(u&_e)<<N(65),u&=rs,u^=u>>N(67),cg(cg(u&_e,N(35))*t4&_e,N(28))|Pn(u>>N(64))<<N(64)}}function p4(e,t,r){let i=e.byteLength;ns(i>=9&&i<=16);{let n=(Ge(t,32)^Ge(t,40))+r&_e,a=(Ge(t,48)^Ge(t,56))-r&_e,o=Ge(e),s=Ge(e,i-8),c=(o^s^n)*Mi,u=(c&_e)+(N(i-1)<<N(54));c=c&(rs^_e)|u,s^=a,c+=s+(s&dd)*(aI-N(1))<<N(64),c&=rs,c^=i4(c>>N(64));let l=(c&_e)*za;return l+=(c>>N(64))*za<<N(64),l&=rs,Pn(l&_e)|Pn(l>>N(64))<<N(64)}}function m4(e,t){let r=e.byteLength;return ns(r<=16),r>8?p4(e,On,t):r>=4?f4(e,On,t):r>0?d4(e,On,t):fd(t^Ge(On,64)^Ge(On,72))|fd(t^Ge(On,80)^Ge(On,88))<<N(64)}function ug(e){return~e+N(1)&_e}function h4(e,t,r){let i=N(e.byteLength)*Mi&_e,n=N(e.byteLength-1)/N(32);for(;n>=0;){let s=Number(n);i=ld(i,Be(e,16*s),Be(e,e.byteLength-16*(s+1)),Be(t,32*s),r),n--}let a=i+(i>>N(64))&_e;a=Pn(a);let o=(i&_e)*Mi+(i>>N(64))*lg+(N(e.byteLength)-r&_e)*za;return o&=_e,o=ug(Pn(o)),a|o<<N(64)}function g4(e,t,r){let i=N(e.byteLength)*Mi&_e;for(let o=32;o<160;o+=32)i=ld(i,Be(e,o-32),Be(e,o-16),Be(t,o-32),r);i=Pn(i&_e)|Pn(i>>N(64))<<N(64);for(let o=160;o<=e.byteLength;o+=32)i=ld(i,Be(e,o-32),Be(e,o-16),Be(t,3+o-160),r);i=ld(i,Be(e,e.byteLength-16),Be(e,e.byteLength-32),Be(t,103),ug(r));let n=i+(i>>N(64))&_e;n=Pn(n);let a=(i&_e)*Mi+(i>>N(64))*lg+(N(e.byteLength)-r&_e)*za;return a&=_e,a=ug(Pn(a)),n|a<<N(64)}function lI(e,t=N(0)){let r=e.byteLength;return r<=16?m4(e,t):r<=128?h4(e,On,t):r<=240?g4(e,On,t):l4(e,On,t)}function dI(e){let t=new Uint8Array(16),r=new DataView(t.buffer),i=e&_e,n=e>>N(64);return r.setBigUint64(0,n,!1),r.setBigUint64(8,i,!1),t}var fI=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function pe(e,t){if(!fI.test(e)){let r=t!==void 0?`Invalid UUID for ${t}: ${e}`:`Invalid UUID: ${e}`;throw new Error(r)}return e}function pd(e){let t=typeof e=="string"?Date.parse(e):e;return es({msecs:t,seq:0})}function _4(e){if(!fI.test(e))return null;let t=e[14];return parseInt(t,16)}function y4(e){let t=e.replace(/-/g,""),r=new Uint8Array(16);for(let i=0;i<16;i++)r[i]=parseInt(t.slice(i*2,i*2+2),16);return r}function v4(e){let t=Array.from(e).map(r=>r.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 b4=new TextEncoder;function w4(e){let t=b4.encode(e),r=lI(t);return dI(r)}function Vc(e,t){let r=`${e}:${t}`,i=w4(r),n=new Uint8Array(16);if(_4(e)===7){let o=y4(e);n.set(o.slice(0,6),0)}else{let o=Date.now();n[0]=o/1099511627776&255,n[1]=o/4294967296&255,n[2]=o/16777216&255,n[3]=o/65536&255,n[4]=o/256&255,n[5]=o&255}return n[6]=112|i[0]&15,n[7]=i[1],n[8]=128|i[2]&63,n.set(i.slice(3,10),9),v4(n)}var Da={join:(...e)=>e.join("/"),dirname:e=>e.split("/").slice(0,-1).join("/")};async function pI(e){}async function md(e,t){}async function mI(e){return[]}async function hI(e){return{size:0}}function is(e){return!1}function hd(e){return""}function x4(e,t){return t===null?!1:Date.now()-e.createdAt>t*1e3}var gd=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,r){if(this.maxSize===0)return;let i=this.cache.get(t);if(!i){this._metrics.misses+=1;return}return this.cache.delete(t),this.cache.set(t,{...i,refreshFunc:r}),this._metrics.hits+=1,i.value}set(t,r,i){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 n={value:r,createdAt:Date.now(),refreshFunc:i};this.cache.delete(t),this.cache.set(t,n)}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 r={};for(let[a,o]of this.cache.entries())r[a]=o.value;let i=Da.dirname(t);is(i)||void 0;let n=`${t}.tmp`;try{JSON.stringify({entries:r},null,2)}catch(a){throw is(n)&&void 0,a}}load(t){if(!is(t))return 0;let r;try{let a=hd(t);r=JSON.parse(a).entries??null}catch{return 0}if(!r)return 0;let i=0,n=Date.now();for(let[a,o]of Object.entries(r)){if(this.cache.size>=this.maxSize)break;let s={value:o,createdAt:n};this.cache.set(a,s),i+=1}return i}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[r,i]of this.cache.entries())x4(i,this.ttlSeconds)&&t.push([r,i]);return t}async refreshStaleEntries(){let t=this.getStaleEntries();if(t.length!==0){for(let[r,i]of t)if(i.refreshFunc!==void 0)try{let n=await i.refreshFunc();this.set(r,n,i.refreshFunc),this._metrics.refreshes+=1}catch(n){this._metrics.refreshErrors+=1,console.warn(`Failed to refresh cache entry ${r}:`,n)}}}configure(t){this.stop(),this.refreshIntervalSeconds=t.refreshIntervalSeconds??60,this.maxSize=t.maxSize??100,this.ttlSeconds=t.ttlSeconds??300}},_d=new gd;var yd="0.7.3";var Rn,S4=()=>typeof window<"u"&&typeof window.document<"u",k4=()=>typeof globalThis=="object"&&globalThis.constructor&&globalThis.constructor.name==="DedicatedWorkerGlobalScope",$4=()=>typeof window<"u"&&window.name==="nodejs"||typeof navigator<"u"&&navigator.userAgent.includes("jsdom"),vI=()=>typeof Deno<"u",I4=()=>typeof process<"u"&&typeof process.versions<"u"&&typeof process.versions.node<"u"&&!vI(),Zc=()=>Rn||(typeof Bun<"u"?Rn="bun":S4()?Rn="browser":I4()?Rn="node":k4()?Rn="webworker":$4()?Rn="jsdom":vI()?Rn="deno":Rn="other",Rn),dg;function vd(){if(dg===void 0){let e=Zc(),t=T4();dg={library:"langsmith",runtime:e,sdk:"langsmith-js",sdk_version:yd,...t}}return dg}function pg(){let e=E4(),t={},r=["LANGCHAIN_API_KEY","LANGCHAIN_ENDPOINT","LANGCHAIN_TRACING_V2","LANGCHAIN_PROJECT","LANGCHAIN_SESSION","LANGSMITH_API_KEY","LANGSMITH_ENDPOINT","LANGSMITH_TRACING_V2","LANGSMITH_CONFIG_FILE","LANGSMITH_PROJECT","LANGSMITH_SESSION"];for(let[i,n]of Object.entries(e))typeof n=="string"&&!r.includes(i)&&!i.toLowerCase().includes("key")&&!i.toLowerCase().includes("secret")&&!i.toLowerCase().includes("token")&&(i==="LANGCHAIN_REVISION_ID"?t.revision_id=n:t[i]=n);return t}function E4(){let e={};try{if(typeof process<"u"&&process.env)for(let[t,r]of Object.entries(process.env))(t.startsWith("LANGCHAIN_")||t.startsWith("LANGSMITH_"))&&r!=null&&((t.toLowerCase().includes("key")||t.toLowerCase().includes("secret")||t.toLowerCase().includes("token"))&&typeof r=="string"?e[t]=r.slice(0,2)+"*".repeat(r.length-4)+r.slice(-2):e[t]=r)}catch{}return e}function wt(e){try{return typeof process<"u"?process.env?.[e]:void 0}catch{return}}function Fe(e){return wt(`LANGSMITH_${e}`)||wt(`LANGCHAIN_${e}`)}var fg;function T4(){if(fg!==void 0)return fg;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 r of e){let i=wt(r);i!==void 0&&(t[r]=i)}return fg=t,t}function _I(){return wt("OTEL_ENABLED")==="true"||Fe("OTEL_ENABLED")==="true"}var yI=new Set(["langsmith","otel"]);function bd(e){if(e!==void 0)return e;let t=Fe("TRACING_MODE");if(t!==void 0&&t!==""){let r=t.toLowerCase();if(!yI.has(r))throw new Error(`Invalid LANGSMITH_TRACING_MODE=${JSON.stringify(t)}. Must be one of: ${[...yI].sort().join(", ")}`);return _I()&&console.warn("Both LANGSMITH_TRACING_MODE and the legacy OTEL_ENABLED / LANGSMITH_OTEL_ENABLED env vars are set. LANGSMITH_TRACING_MODE takes precedence."),r}return _I()?"otel":"langsmith"}var gg=class{constructor(){Object.defineProperty(this,"hasWarned",{enumerable:!0,configurable:!0,writable:!0,value:!1})}startActiveSpan(t,...r){!this.hasWarned&&bd()==="otel"&&(console.warn('OTel tracing mode is active (via LANGSMITH_TRACING_MODE, OTEL_ENABLED, or LANGSMITH_OTEL_ENABLED), but the required OTEL instances have not been initialized. Please add:\n```\nimport { initializeOTEL } from "langsmith/experimental/otel/setup";\ninitializeOTEL();\n```\nat the beginning of your code.'),this.hasWarned=!0);let i;if(r.length===1&&typeof r[0]=="function"?i=r[0]:r.length===2&&typeof r[1]=="function"?i=r[1]:r.length===3&&typeof r[2]=="function"&&(i=r[2]),typeof i=="function")return i()}},_g=class{constructor(){Object.defineProperty(this,"mockTracer",{enumerable:!0,configurable:!0,writable:!0,value:new gg})}getTracer(t,r){return this.mockTracer}getActiveSpan(){}setSpan(t,r){return t}getSpan(t){}setSpanContext(t,r){return t}getTracerProvider(){}setGlobalTracerProvider(t){return!1}},yg=class{active(){return{}}with(t,r){return r()}},mg=Symbol.for("ls:otel_trace"),hg=Symbol.for("ls:otel_context"),bI=Symbol.for("ls:otel_get_default_otlp_tracer_provider"),A4=new _g,C4=new yg,vg=class{getTraceInstance(){return globalThis[mg]??A4}getContextInstance(){return globalThis[hg]??C4}initializeGlobalInstances(t){globalThis[mg]===void 0&&(globalThis[mg]=t.trace),globalThis[hg]===void 0&&(globalThis[hg]=t.context)}setDefaultOTLPTracerComponents(t){globalThis[bI]=t}getDefaultOTLPTracerComponents(){return globalThis[bI]??void 0}},bg=new vg;function wd(){return bg.getTraceInstance()}function wI(){return bg.getContextInstance()}function xI(){return bg.getDefaultOTLPTracerComponents()}var O4={llm:"chat",tool:"execute_tool",retriever:"embeddings",embedding:"embeddings",prompt:"chat"};function P4(e){return O4[e]||e}function N4(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}var xd=class{constructor(){Object.defineProperty(this,"spans",{enumerable:!0,configurable:!0,writable:!0,value:new Map})}exportBatch(t,r){for(let i of t)try{if(!i.run)continue;if(i.operation==="post"){let n=this.createSpanForRun(i,i.run,r.get(i.id));n&&!i.run.end_time&&this.spans.set(i.id,n)}else this.updateSpanForRun(i,i.run)}catch(n){console.error(`Error processing operation ${i.id}:`,n)}}createSpanForRun(t,r,i){let n=i&&wd().getSpan(i);if(n)try{return this.finishSpanSetup(n,r,t)}catch(a){console.error(`Failed to create span for run ${t.id}:`,a);return}}finishSpanSetup(t,r,i){return this.setSpanAttributes(t,r,i),r.error?(t.setStatus({code:2}),t.recordException(new Error(r.error))):t.setStatus({code:1}),r.end_time&&t.end(new Date(r.end_time)),t}updateSpanForRun(t,r){try{let i=this.spans.get(t.id);if(!i){console.debug(`No span found for run ${t.id} during update`);return}this.setSpanAttributes(i,r,t),r.error?(i.setStatus({code:2}),i.recordException(new Error(r.error))):i.setStatus({code:1});let n=r.end_time;n&&(i.end(new Date(n)),this.spans.delete(t.id))}catch(i){console.error(`Failed to update span for run ${t.id}:`,i)}}extractModelName(t){if(t.extra?.metadata){let r=t.extra.metadata;if(r.ls_model_name)return r.ls_model_name;if(r.invocation_params){let i=r.invocation_params;if(i.model)return i.model;if(i.model_name)return i.model_name}}}setSpanAttributes(t,r,i){if("run_type"in r&&r.run_type){t.setAttribute(G$,r.run_type);let s=P4(r.run_type||"chain");t.setAttribute(S$,s)}"name"in r&&r.name&&t.setAttribute(J$,r.name),"session_id"in r&&r.session_id&&t.setAttribute(Z$,r.session_id),"session_name"in r&&r.session_name&&t.setAttribute(H$,r.session_name),this.setGenAiSystem(t,r);let n=this.extractModelName(r);n&&t.setAttribute(tg,n),r.extra?.metadata?.usage_metadata&&typeof r.extra.metadata.usage_metadata=="object"&&t.setAttribute(og,JSON.stringify(r.extra.metadata.usage_metadata)),"prompt_tokens"in r&&typeof r.prompt_tokens=="number"&&t.setAttribute(rg,r.prompt_tokens),"completion_tokens"in r&&typeof r.completion_tokens=="number"&&t.setAttribute(ng,r.completion_tokens),"total_tokens"in r&&typeof r.total_tokens=="number"&&t.setAttribute(ig,r.total_tokens),this.setInvocationParameters(t,r);let a=r.extra?.metadata||{};for(let[s,c]of Object.entries(a))c!=null&&t.setAttribute(`${K$}.${s}`,N4(c)?String(c):JSON.stringify(c));let o=r.tags;if(o&&Array.isArray(o)?t.setAttribute(ag,o.join(", ")):o&&t.setAttribute(ag,String(o)),"serialized"in r&&typeof r.serialized=="object"){let s=r.serialized;s.name&&t.setAttribute(j$,String(s.name)),s.signature&&t.setAttribute(z$,String(s.signature)),s.doc&&t.setAttribute(D$,String(s.doc))}this.setIOAttributes(t,i)}setGenAiSystem(t,r){let i="langchain",n=this.extractModelName(r);if(n){let a=n.toLowerCase();a.includes("anthropic")||a.startsWith("claude")?i="anthropic":a.includes("bedrock")?i="aws.bedrock":a.includes("azure")&&a.includes("openai")?i="az.ai.openai":a.includes("azure")&&a.includes("inference")?i="az.ai.inference":a.includes("cohere")?i="cohere":a.includes("deepseek")?i="deepseek":a.includes("gemini")?i="gemini":a.includes("groq")?i="groq":a.includes("watson")||a.includes("ibm")?i="ibm.watsonx.ai":a.includes("mistral")?i="mistral_ai":a.includes("gpt")||a.includes("openai")?i="openai":a.includes("perplexity")||a.includes("sonar")?i="perplexity":a.includes("vertex")?i="vertex_ai":(a.includes("xai")||a.includes("grok"))&&(i="xai")}t.setAttribute(k$,i)}setInvocationParameters(t,r){if(!r.extra?.metadata?.invocation_params)return;let i=r.extra.metadata.invocation_params;i.max_tokens!==void 0&&t.setAttribute(I$,i.max_tokens),i.temperature!==void 0&&t.setAttribute(E$,i.temperature),i.top_p!==void 0&&t.setAttribute(T$,i.top_p),i.frequency_penalty!==void 0&&t.setAttribute(A$,i.frequency_penalty),i.presence_penalty!==void 0&&t.setAttribute(C$,i.presence_penalty)}setIOAttributes(t,r){if(r.run.inputs)try{let i=r.run.inputs;typeof i=="object"&&i!==null&&(i.model&&Array.isArray(i.messages)&&t.setAttribute(tg,i.model),i.stream!==void 0&&t.setAttribute(W$,i.stream),i.extra_headers&&t.setAttribute(q$,JSON.stringify(i.extra_headers)),i.extra_query&&t.setAttribute(R$,JSON.stringify(i.extra_query)),i.extra_body&&t.setAttribute(M$,JSON.stringify(i.extra_body))),t.setAttribute(P$,JSON.stringify(i))}catch(i){console.debug(`Failed to process inputs for run ${r.id}`,i)}if(r.run.outputs)try{let i=r.run.outputs,n=this.getUnifiedRunTokens(i);if(n&&(t.setAttribute(rg,n[0]),t.setAttribute(ng,n[1]),t.setAttribute(ig,n[0]+n[1])),i&&typeof i=="object"){if(i.model&&t.setAttribute($$,String(i.model)),i.id&&t.setAttribute(U$,i.id),i.choices&&Array.isArray(i.choices)){let a=i.choices.map(o=>o.finish_reason).filter(o=>o).map(String);a.length>0&&t.setAttribute(O$,a.join(", "))}if(i.service_tier&&t.setAttribute(L$,i.service_tier),i.system_fingerprint&&t.setAttribute(F$,i.system_fingerprint),i.usage_metadata&&typeof i.usage_metadata=="object"){let a=i.usage_metadata;t.setAttribute(og,JSON.stringify(a)),a.input_token_details&&t.setAttribute(B$,JSON.stringify(a.input_token_details)),a.output_token_details&&t.setAttribute(V$,JSON.stringify(a.output_token_details))}}t.setAttribute(N$,JSON.stringify(i))}catch(i){console.debug(`Failed to process outputs for run ${r.id}`,i)}}getUnifiedRunTokens(t){if(!t)return null;let r=this.extractUnifiedRunTokens(t.usage_metadata);if(r)return r;let i=Object.keys(t);for(let o of i){let s=t[o];if(!(!s||typeof s!="object")&&(r=this.extractUnifiedRunTokens(s.usage_metadata),r||s.lc===1&&s.kwargs&&typeof s.kwargs=="object"&&(r=this.extractUnifiedRunTokens(s.kwargs.usage_metadata),r)))return r}let n=t.generations||[];if(!Array.isArray(n))return null;let a=Array.isArray(n[0])?n.flat():n;for(let o of a)if(typeof o=="object"&&o.message&&typeof o.message=="object"&&o.message.kwargs&&typeof o.message.kwargs=="object"&&(r=this.extractUnifiedRunTokens(o.message.kwargs.usage_metadata),r))return r;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]}};var R4=Object.prototype.toString,M4=e=>R4.call(e)==="[object Error]",j4=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 wg(e){if(!(e&&M4(e)&&e.name==="TypeError"&&typeof e.message=="string"))return!1;let{message:r,stack:i}=e;return r==="Load failed"?i===void 0||"__sentry_captured__"in e:r.startsWith("error sending request for url")?!0:j4.has(r)}function z4(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 Sd(e,t,{min:r=0,allowInfinity:i=!1}={}){if(t!==void 0){if(typeof t!="number"||Number.isNaN(t))throw new TypeError(`Expected \`${e}\` to be a number${i?" or Infinity":""}.`);if(!i&&!Number.isFinite(t))throw new TypeError(`Expected \`${e}\` to be a finite number.`);if(t<r)throw new TypeError(`Expected \`${e}\` to be \u2265 ${r}.`)}}var xg=class extends Error{constructor(t){super(),t instanceof Error?(this.originalError=t,{message:t}=t):(this.originalError=new Error(t),this.originalError.stack=this.stack),this.name="AbortError",this.message=t}};function D4(e,t){let r=Math.max(1,e+1),i=t.randomize?Math.random()+1:1,n=Math.round(i*t.minTimeout*t.factor**(r-1));return n=Math.min(n,t.maxTimeout),n}function SI(e,t){return Number.isFinite(t)?t-(performance.now()-e):t}async function U4({error:e,attemptNumber:t,retriesConsumed:r,startTime:i,options:n}){let a=e instanceof Error?e:new TypeError(`Non-error was thrown: "${e}". You should only throw errors.`);if(a instanceof xg)throw a.originalError;let o=Number.isFinite(n.retries)?Math.max(0,n.retries-r):n.retries,s=n.maxRetryTime??Number.POSITIVE_INFINITY,c=Object.freeze({error:a,attemptNumber:t,retriesLeft:o,retriesConsumed:r});if(await n.onFailedAttempt(c),SI(i,s)<=0)throw a;let u=await n.shouldConsumeRetry(c),l=SI(i,s);if(l<=0||o<=0)throw a;if(a instanceof TypeError&&!wg(a)){if(u)throw a;return n.signal?.throwIfAborted(),!1}if(!await n.shouldRetry(c))throw a;if(!u)return n.signal?.throwIfAborted(),!1;let d=D4(r,n),f=Math.min(d,l);return f>0&&await new Promise((p,m)=>{let g=()=>{clearTimeout(y),n.signal?.removeEventListener("abort",g),m(n.signal.reason)},y=setTimeout(()=>{n.signal?.removeEventListener("abort",g),p()},f);n.unref&&y.unref?.(),n.signal?.addEventListener("abort",g,{once:!0})}),n.signal?.throwIfAborted(),!0}async function Sg(e,t={}){if(t={...t},z4(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,Sd("factor",t.factor,{min:0,allowInfinity:!1}),Sd("minTimeout",t.minTimeout,{min:0,allowInfinity:!1}),Sd("maxTimeout",t.maxTimeout,{min:0,allowInfinity:!0}),Sd("maxRetryTime",t.maxRetryTime,{min:0,allowInfinity:!0}),t.factor>0||(t.factor=1),t.signal?.throwIfAborted();let r=0,i=0,n=performance.now();for(;!Number.isFinite(t.retries)||i<=t.retries;){r++;try{t.signal?.throwIfAborted();let a=await e(r);return t.signal?.throwIfAborted(),a}catch(a){await U4({error:a,attemptNumber:r,retriesConsumed:i,startTime:n,options:t})&&i++}}throw new Error("Retry attempts exhausted without throwing an error.")}var Ad=Al(Td(),1),NI="default"in Ad.default?Ad.default.default:Ad.default;var K4=[408,425,429,500,502,503,504],Gc=class{constructor(t){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=t.maxConcurrency??1/0,this.maxRetries=t.maxRetries??6,this.maxQueueSizeBytes=t.maxQueueSizeBytes,this.queue=new NI({concurrency:this.maxConcurrency}),this.onFailedResponseHook=t?.onFailedResponseHook}call(t,...r){return this.callWithOptions({},t,...r)}callWithOptions(t,r,...i){let n=t.sizeBytes??0;if(this.maxQueueSizeBytes!==void 0&&n>0&&this.queueSizeBytes+n>this.maxQueueSizeBytes)return Promise.reject(new Error(`Queue size limit (${this.maxQueueSizeBytes} bytes) exceeded. Current queue size: ${this.queueSizeBytes} bytes, attempted addition: ${n} bytes.`));n>0&&(this.queueSizeBytes+=n);let a=this.onFailedResponseHook,o=this.queue.add(()=>Sg(()=>r(...i).catch(s=>{throw s instanceof Error?s:new Error(s)}),{async onFailedAttempt({error:s}){if(typeof s!="object"||s==null)throw s;let c="message"in s&&typeof s.message=="string"?s.message:void 0;if(c?.startsWith("Cancel")||c?.startsWith("TimeoutError")||c?.startsWith("AbortError")||"name"in s&&s.name==="TimeoutError"||"code"in s&&s.code==="ECONNABORTED")throw s;let u="response"in s?s.response:void 0;if(a&&await a(u))return;let l=u?.status??("status"in s?s.status:void 0);if(l!=null&&(typeof l=="number"||typeof l=="string")&&!K4.includes(+l))throw s},retries:this.maxRetries,randomize:!0}),{throwOnTimeout:!0});return n>0&&(o=o.finally(()=>{this.queueSizeBytes-=n})),t.signal?Promise.race([o,new Promise((s,c)=>{t.signal?.addEventListener("abort",()=>{c(new Error("AbortError"))})})]):o}};function Cg(e){return typeof e?._getType=="function"}function Og(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}function Od(e){return`Invalid prompt identifier format: "${e}". Expected one of:
|
|
21
|
+
`)}function vj(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 Dc(e){let t=vj(e);switch(t.type){case"human":return new rt(t.data);case"ai":return new Ee(t.data);case"system":return new Gt(t.data);case"function":if(t.data.name===void 0)throw new Error("Name must be defined for function messages");return new Ca(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 gt(t.data);case"generic":if(t.data.role===void 0)throw new Error("Role must be defined for chat messages");return new nn(t.data);default:throw new Error(`Got unexpected type: ${t.type}`)}}function Xk(e){return e.map(Dc)}function Yk(e){return e.map(t=>t.toDict())}function Na(e){let t=e._getType();if(t==="human")return new Pa({...e});if(t==="ai"){let r={...e};return"tool_calls"in r&&(r={...r,tool_call_chunks:r.tool_calls?.map(i=>({...i,type:"tool_call_chunk",index:void 0,args:JSON.stringify(i.args)}))}),new Qe({...r})}else{if(t==="system")return new oi({...e});if(t==="function")return new Oa({...e});if(nn.isInstance(e))return new Aa({...e});throw new Error("Unknown message type.")}}function rd(e){let t=e.reduce((n,a)=>{let o=n.findIndex(([s])=>"id"in a&&a.id&&"index"in a&&a.index!==void 0?a.id===s.id&&a.index===s.index:"id"in a&&a.id?a.id===s.id:"index"in a&&a.index!==void 0?a.index===s.index:!1);return o!==-1?n[o].push(a):n.push([a]),n},[]),r=[],i=[];for(let n of t){let a=null,o=n.some(hj),s=n[0]?.name??"",c=n.map(f=>f.args||"").join(""),u=o?c:c.trim(),l=u.length?u:"{}",d=n.find(f=>f.id)?.id??n[0]?.id;if(o&&d){r.push({name:s,args:{input:u},id:d,type:"tool_call"});continue}try{if(a=Cn(l),!d||a===null||typeof a!="object"||Array.isArray(a))throw new Error("Malformed tool call chunk args.");r.push({name:s,args:a,id:d,type:"tool_call"})}catch{i.push({name:s,args:l,id:d,error:"Malformed args.",type:"invalid_tool_call"})}}return{tool_call_chunks:e,tool_calls:r,invalid_tool_calls:i}}var Qk=A({BaseCache:()=>t$,InMemoryCache:()=>Bh,defaultHashKeyEncoder:()=>e$,deserializeStoredGeneration:()=>bj,serializeGeneration:()=>wj}),e$=(...e)=>Vo(e.join("_"));function bj(e){return e.message!==void 0?{text:e.text,message:Dc(e.message)}:{text:e.text}}function wj(e){let t={text:e.text};return e.message!==void 0&&(t.message=e.message.toDict()),t}var t$=class{keyEncoder=e$;makeDefaultKeyEncoder(e){this.keyEncoder=e}},xj=new Map,Bh=class r$ extends t${cache;constructor(t){super(),this.cache=t??new Map}lookup(t,r){return Promise.resolve(this.cache.get(this.keyEncoder(t,r))??null)}async update(t,r,i){this.cache.set(this.keyEncoder(t,r),i)}static global(){return new r$(xj)}};var n$="ffffffff-ffff-ffff-ffff-ffffffffffff";var i$="00000000-0000-0000-0000-000000000000";var a$=/^(?:[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 Ni(e){return typeof e=="string"&&a$.test(e)}function Ra(e){if(!Ni(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 Et=[];for(let e=0;e<256;++e)Et.push((e+256).toString(16).slice(1));function wr(e,t=0){return(Et[e[t+0]]+Et[e[t+1]]+Et[e[t+2]]+Et[e[t+3]]+"-"+Et[e[t+4]]+Et[e[t+5]]+"-"+Et[e[t+6]]+Et[e[t+7]]+"-"+Et[e[t+8]]+Et[e[t+9]]+"-"+Et[e[t+10]]+Et[e[t+11]]+Et[e[t+12]]+Et[e[t+13]]+Et[e[t+14]]+Et[e[t+15]]).toLowerCase()}function o$(e,t=0){let r=wr(e,t);if(!Ni(r))throw TypeError("Stringified UUID is invalid");return r}var Sj=new Uint8Array(16);function Ri(){return crypto.getRandomValues(Sj)}var Uc={};function id(e,t,r){let i,n=e?._v6??!1;if(e){let a=Object.keys(e);a.length===1&&a[0]==="_v6"&&(e=void 0)}if(e)i=s$(e.random??e.rng?.()??Ri(),e.msecs,e.nsecs,e.clockseq,e.node,t,r);else{let a=Date.now(),o=Ri();kj(Uc,a,o),i=s$(o,Uc.msecs,Uc.nsecs,n?void 0:Uc.clockseq,n?void 0:Uc.node,t,r)}return t??wr(i)}function kj(e,t,r){return e.msecs??=-1/0,e.nsecs??=0,t===e.msecs?(e.nsecs++,e.nsecs>=1e4&&(e.node=void 0,e.nsecs=0)):t>e.msecs?e.nsecs=0:t<e.msecs&&(e.node=void 0),e.node||(e.node=r.slice(10,16),e.node[0]|=1,e.clockseq=(r[8]<<8|r[9])&16383),e.msecs=t,e}function s$(e,t,r,i,n,a,o=0){if(e.length<16)throw new Error("Random bytes length must be >= 16");if(!a)a=new Uint8Array(16),o=0;else if(o<0||o+16>a.length)throw new RangeError(`UUID byte range ${o}:${o+15} is out of buffer bounds`);t??=Date.now(),r??=0,i??=(e[8]<<8|e[9])&16383,n??=e.slice(10,16),t+=122192928e5;let s=((t&268435455)*1e4+r)%4294967296;a[o++]=s>>>24&255,a[o++]=s>>>16&255,a[o++]=s>>>8&255,a[o++]=s&255;let c=t/4294967296*1e4&268435455;a[o++]=c>>>8&255,a[o++]=c&255,a[o++]=c>>>24&15|16,a[o++]=c>>>16&255,a[o++]=i>>>8|128,a[o++]=i&255;for(let u=0;u<6;++u)a[o++]=n[u];return a}function c$(e,t,r){return!t&&!e&&crypto.randomUUID?crypto.randomUUID():$j(e,t,r)}function $j(e,t,r){e=e||{};let i=e.random??e.rng?.()??Ri();if(i.length<16)throw new Error("Random bytes length must be >= 16");if(i[6]=i[6]&15|64,i[8]=i[8]&63|128,t){if(r=r||0,r<0||r+16>t.length)throw new RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let n=0;n<16;++n)t[r+n]=i[n];return t}return wr(i)}function Ij(e,t,r,i){switch(e){case 0:return t&r^~t&i;case 1:return t^r^i;case 2:return t&r^t&i^r&i;case 3:return t^r^i}}function Vh(e,t){return e<<t|e>>>32-t}function u$(e){let t=[1518500249,1859775393,2400959708,3395469782],r=[1732584193,4023233417,2562383102,271733878,3285377520],i=new Uint8Array(e.length+1);i.set(e),i[e.length]=128,e=i;let n=e.length/4+2,a=Math.ceil(n/16),o=new Array(a);for(let s=0;s<a;++s){let c=new Uint32Array(16);for(let u=0;u<16;++u)c[u]=e[s*64+u*4]<<24|e[s*64+u*4+1]<<16|e[s*64+u*4+2]<<8|e[s*64+u*4+3];o[s]=c}o[a-1][14]=(e.length-1)*8/2**32,o[a-1][14]=Math.floor(o[a-1][14]),o[a-1][15]=(e.length-1)*8&4294967295;for(let s=0;s<a;++s){let c=new Uint32Array(80);for(let m=0;m<16;++m)c[m]=o[s][m];for(let m=16;m<80;++m)c[m]=Vh(c[m-3]^c[m-8]^c[m-14]^c[m-16],1);let u=r[0],l=r[1],d=r[2],f=r[3],p=r[4];for(let m=0;m<80;++m){let g=Math.floor(m/20),y=Vh(u,5)+Ij(g,l,d,f)+p+t[g]+c[m]>>>0;p=f,f=d,d=Vh(l,30)>>>0,l=u,u=y}r[0]=r[0]+u>>>0,r[1]=r[1]+l>>>0,r[2]=r[2]+d>>>0,r[3]=r[3]+f>>>0,r[4]=r[4]+p>>>0}return Uint8Array.of(r[0]>>24,r[0]>>16,r[0]>>8,r[0],r[1]>>24,r[1]>>16,r[1]>>8,r[1],r[2]>>24,r[2]>>16,r[2]>>8,r[2],r[3]>>24,r[3]>>16,r[3]>>8,r[3],r[4]>>24,r[4]>>16,r[4]>>8,r[4])}function Ej(e){e=unescape(encodeURIComponent(e));let t=new Uint8Array(e.length);for(let r=0;r<e.length;++r)t[r]=e.charCodeAt(r);return t}var l$="6ba7b810-9dad-11d1-80b4-00c04fd430c8",d$="6ba7b811-9dad-11d1-80b4-00c04fd430c8";function f$(e,t,r,i,n,a){let o=typeof r=="string"?Ej(r):r,s=typeof i=="string"?Ra(i):i;if(typeof i=="string"&&(i=Ra(i)),i?.length!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let c=new Uint8Array(16+o.length);if(c.set(s),c.set(o,s.length),c=t(c),c[6]=c[6]&15|e,c[8]=c[8]&63|128,n){if(a??=0,a<0||a+16>n.length)throw new RangeError(`UUID byte range ${a}:${a+15} is out of buffer bounds`);for(let u=0;u<16;++u)n[a+u]=c[u];return n}return wr(c)}function ad(e,t,r,i){return f$(80,u$,e,t,r,i)}ad.DNS=l$;ad.URL=d$;function p$(e){let t=Tj(typeof e=="string"?Ra(e):e);return typeof e=="string"?wr(t):t}function Tj(e){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 m$(e,t,r){e??={},r??=0;let i=id({...e,_v6:!0},new Uint8Array(16));if(i=p$(i),t){if(r<0||r+16>t.length)throw new RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let n=0;n<16;n++)t[r+n]=i[n];return t}return wr(i)}var Zh={};function g$(e,t,r){let i;if(e)i=h$(e.random??e.rng?.()??Ri(),e.msecs,e.seq,t,r);else{let n=Date.now(),a=Ri();Aj(Zh,n,a),i=h$(a,Zh.msecs,Zh.seq,t,r)}return t??wr(i)}function Aj(e,t,r){return e.msecs??=-1/0,e.seq??=0,t>e.msecs?(e.seq=r[6]<<23|r[7]<<16|r[8]<<8|r[9],e.msecs=t):(e.seq=e.seq+1|0,e.seq===0&&e.msecs++),e}function h$(e,t,r,i,n=0){if(e.length<16)throw new Error("Random bytes length must be >= 16");if(!i)i=new Uint8Array(16),n=0;else if(n<0||n+16>i.length)throw new RangeError(`UUID byte range ${n}:${n+15} is out of buffer bounds`);return t??=Date.now(),r??=e[6]*127<<24|e[7]<<16|e[8]<<8|e[9],i[n++]=t/1099511627776&255,i[n++]=t/4294967296&255,i[n++]=t/16777216&255,i[n++]=t/65536&255,i[n++]=t/256&255,i[n++]=t&255,i[n++]=112|r>>>28&15,i[n++]=r>>>20&255,i[n++]=128|r>>>14&63,i[n++]=r>>>6&255,i[n++]=r<<2&255|e[10]&3,i[n++]=e[11],i[n++]=e[12],i[n++]=e[13],i[n++]=e[14],i[n++]=e[15],i}function _$(e){if(!Ni(e))throw TypeError("Invalid UUID");return parseInt(e.slice(14,15),16)}var y$=A({MAX:()=>Cj,NIL:()=>Oj,parse:()=>Pj,stringify:()=>Nj,v1:()=>Rj,v4:()=>Hh,v5:()=>od,v6:()=>Mj,v7:()=>zr,validate:()=>Xo,version:()=>jj}),Cj=n$,Oj=i$,Pj=Ra,Nj=o$,Rj=id,Hh=c$,od=ad,Mj=m$,zr=g$,Xo=Ni,jj=_$;var v$=A({BaseCallbackHandler:()=>xr,callbackHandlerPrefersChatModelStreamEvents:()=>Gh,callbackHandlerPrefersStreaming:()=>Lc,isBaseCallbackHandler:()=>Jh}),zj=class{};function Lc(e){return"lc_prefer_streaming"in e&&e.lc_prefer_streaming}function Gh(e){return"lc_prefer_chat_model_stream_events"in e&&e.lc_prefer_chat_model_stream_events}var xr=class extends zj{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,Bo(this.constructor)]}lc_kwargs;ignoreLLM=!1;ignoreChain=!1;ignoreAgent=!1;ignoreRetriever=!1;ignoreCustomEvent=!1;raiseError=!1;awaitHandlers=Ht("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 ut.prototype.toJSON.call(this)}toJSONNotImplemented(){return ut.prototype.toJSONNotImplemented.call(this)}static fromMethods(e){class t extends xr{name=zr();constructor(){super(),Object.assign(this,e)}}return new t}},Jh=e=>{let t=e;return t!==void 0&&typeof t.copy=="function"&&typeof t.name=="string"&&typeof t.awaitHandlers=="boolean"};var b$=/^(?:[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 Dj(e){return typeof e=="string"&&b$.test(e)}var Fc=Dj;function Uj(e){if(!Fc(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 sd=Uj;var Tt=[];for(let e=0;e<256;++e)Tt.push((e+256).toString(16).slice(1));function Yo(e,t=0){return(Tt[e[t+0]]+Tt[e[t+1]]+Tt[e[t+2]]+Tt[e[t+3]]+"-"+Tt[e[t+4]]+Tt[e[t+5]]+"-"+Tt[e[t+6]]+Tt[e[t+7]]+"-"+Tt[e[t+8]]+Tt[e[t+9]]+"-"+Tt[e[t+10]]+Tt[e[t+11]]+Tt[e[t+12]]+Tt[e[t+13]]+Tt[e[t+14]]+Tt[e[t+15]]).toLowerCase()}var Lj=new Uint8Array(16);function Qo(){return crypto.getRandomValues(Lj)}function Fj(e,t,r){return!t&&!e&&crypto.randomUUID?crypto.randomUUID():Bj(e,t,r)}function Bj(e,t,r){e=e||{};let i=e.random??e.rng?.()??Qo();if(i.length<16)throw new Error("Random bytes length must be >= 16");if(i[6]=i[6]&15|64,i[8]=i[8]&63|128,t){if(r=r||0,r<0||r+16>t.length)throw new RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let n=0;n<16;++n)t[r+n]=i[n];return t}return Yo(i)}var Ma=Fj;function Vj(e,t,r,i){switch(e){case 0:return t&r^~t&i;case 1:return t^r^i;case 2:return t&r^t&i^r&i;case 3:return t^r^i}}function Kh(e,t){return e<<t|e>>>32-t}function Zj(e){let t=[1518500249,1859775393,2400959708,3395469782],r=[1732584193,4023233417,2562383102,271733878,3285377520],i=new Uint8Array(e.length+1);i.set(e),i[e.length]=128,e=i;let n=e.length/4+2,a=Math.ceil(n/16),o=new Array(a);for(let s=0;s<a;++s){let c=new Uint32Array(16);for(let u=0;u<16;++u)c[u]=e[s*64+u*4]<<24|e[s*64+u*4+1]<<16|e[s*64+u*4+2]<<8|e[s*64+u*4+3];o[s]=c}o[a-1][14]=(e.length-1)*8/2**32,o[a-1][14]=Math.floor(o[a-1][14]),o[a-1][15]=(e.length-1)*8&4294967295;for(let s=0;s<a;++s){let c=new Uint32Array(80);for(let m=0;m<16;++m)c[m]=o[s][m];for(let m=16;m<80;++m)c[m]=Kh(c[m-3]^c[m-8]^c[m-14]^c[m-16],1);let u=r[0],l=r[1],d=r[2],f=r[3],p=r[4];for(let m=0;m<80;++m){let g=Math.floor(m/20),y=Kh(u,5)+Vj(g,l,d,f)+p+t[g]+c[m]>>>0;p=f,f=d,d=Kh(l,30)>>>0,l=u,u=y}r[0]=r[0]+u>>>0,r[1]=r[1]+l>>>0,r[2]=r[2]+d>>>0,r[3]=r[3]+f>>>0,r[4]=r[4]+p>>>0}return Uint8Array.of(r[0]>>24,r[0]>>16,r[0]>>8,r[0],r[1]>>24,r[1]>>16,r[1]>>8,r[1],r[2]>>24,r[2]>>16,r[2]>>8,r[2],r[3]>>24,r[3]>>16,r[3]>>8,r[3],r[4]>>24,r[4]>>16,r[4]>>8,r[4])}var w$=Zj;function Hj(e){e=unescape(encodeURIComponent(e));let t=new Uint8Array(e.length);for(let r=0;r<e.length;++r)t[r]=e.charCodeAt(r);return t}var Wh="6ba7b810-9dad-11d1-80b4-00c04fd430c8",qh="6ba7b811-9dad-11d1-80b4-00c04fd430c8";function Xh(e,t,r,i,n,a){let o=typeof r=="string"?Hj(r):r,s=typeof i=="string"?sd(i):i;if(typeof i=="string"&&(i=sd(i)),i?.length!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let c=new Uint8Array(16+o.length);if(c.set(s),c.set(o,s.length),c=t(c),c[6]=c[6]&15|e,c[8]=c[8]&63|128,n){if(a??=0,a<0||a+16>n.length)throw new RangeError(`UUID byte range ${a}:${a+15} is out of buffer bounds`);for(let u=0;u<16;++u)n[a+u]=c[u];return n}return Yo(c)}function Yh(e,t,r,i){return Xh(80,w$,e,t,r,i)}Yh.DNS=Wh;Yh.URL=qh;var Qh=Yh;var eg={};function Gj(e,t,r){let i;if(e)i=x$(e.random??e.rng?.()??Qo(),e.msecs,e.seq,t,r);else{let n=Date.now(),a=Qo();Jj(eg,n,a),i=x$(a,eg.msecs,eg.seq,t,r)}return t??Yo(i)}function Jj(e,t,r){return e.msecs??=-1/0,e.seq??=0,t>e.msecs?(e.seq=r[6]<<23|r[7]<<16|r[8]<<8|r[9],e.msecs=t):(e.seq=e.seq+1|0,e.seq===0&&e.msecs++),e}function x$(e,t,r,i,n=0){if(e.length<16)throw new Error("Random bytes length must be >= 16");if(!i)i=new Uint8Array(16),n=0;else if(n<0||n+16>i.length)throw new RangeError(`UUID byte range ${n}:${n+15} is out of buffer bounds`);return t??=Date.now(),r??=e[6]*127<<24|e[7]<<16|e[8]<<8|e[9],i[n++]=t/1099511627776&255,i[n++]=t/4294967296&255,i[n++]=t/16777216&255,i[n++]=t/65536&255,i[n++]=t/256&255,i[n++]=t&255,i[n++]=112|r>>>28&15,i[n++]=r>>>20&255,i[n++]=128|r>>>14&63,i[n++]=r>>>6&255,i[n++]=r<<2&255|e[10]&3,i[n++]=e[11],i[n++]=e[12],i[n++]=e[13],i[n++]=e[14],i[n++]=e[15],i}var es=Gj;var S$="gen_ai.operation.name",k$="gen_ai.system",tg="gen_ai.request.model",$$="gen_ai.response.model",rg="gen_ai.usage.input_tokens",ng="gen_ai.usage.output_tokens",ig="gen_ai.usage.total_tokens",I$="gen_ai.request.max_tokens",E$="gen_ai.request.temperature",T$="gen_ai.request.top_p",A$="gen_ai.request.frequency_penalty",C$="gen_ai.request.presence_penalty",O$="gen_ai.response.finish_reasons",P$="gen_ai.prompt",N$="gen_ai.completion",R$="gen_ai.request.extra_query",M$="gen_ai.request.extra_body",j$="gen_ai.serialized.name",z$="gen_ai.serialized.signature",D$="gen_ai.serialized.doc",U$="gen_ai.response.id",L$="gen_ai.response.service_tier",F$="gen_ai.response.system_fingerprint",B$="gen_ai.usage.input_token_details",V$="gen_ai.usage.output_token_details",Z$="langsmith.trace.session_id",H$="langsmith.trace.session_name",G$="langsmith.span.kind",J$="langsmith.trace.name",K$="langsmith.metadata",ag="langsmith.span.tags";var W$="langsmith.request.streaming",q$="langsmith.request.headers";var og="langsmith.usage_metadata";var qj=(...e)=>fetch(...e),Xj,X$=Symbol.for("ls:fetch_implementation");var Y$=()=>globalThis[X$]===void 0?!0:Xj??!1,Q$=e=>async(...t)=>{if(e||Fe("DEBUG")==="true"){let[i,n]=t;console.log(`\u2192 ${n?.method||"GET"} ${i}`)}let r=await(globalThis[X$]??qj)(...t);return(e||Fe("DEBUG")==="true")&&console.log(`\u2190 ${r.status} ${r.statusText} ${r.url}`),r};var Bc=()=>Fe("PROJECT")??wt("LANGCHAIN_SESSION")??"default";var eI={};function ja(e){eI[e]||(console.warn(e),eI[e]=!0)}var N=e=>BigInt(e),iI=N("0x9E3779B1"),aI=N("0x85EBCA77"),Yj=N("0xC2B2AE3D"),Mi=N("0x9E3779B185EBCA87"),za=N("0xC2B2AE3D27D4EB4F"),oI=N("0x165667B19E3779F9"),lg=N("0x85EBCA77C2B2AE63"),Qj=N("0x27D4EB2F165667C5"),e4=N("0x165667919E3779F9"),t4=N("0x9FB21C651E98DF25");function r4(e){let t=new Uint8Array(e.length/2);for(let r=0;r<e.length;r+=2)t[r/2]=parseInt(e.substring(r,r+2),16);return t}var On=r4("b8fe6c3923a44bbe7c01812cf721ad1cded46de9839097db7240a4a4b7b3671fcb79e64eccc0e578825ad07dccff7221b8084674f743248ee03590e6813a264c3c2852bb91c300cb88d0658b1b532ea371644897a20df94e3819ef46a9deacd8a8fa763fe39c343ff9dcbbc7c70b4f1d8a51e04bcdb45931c89f7ec9d9787364eac5ac8334d3ebc3c581a0fffa1363eb170ddd51b7f0da49d316552629d4689e2b16be587d47a1fc8ff8b8d17ad031ce45cb3a8f95160428afd7fbcabb4b407e"),rs=(N(1)<<N(128))-N(1),_e=(N(1)<<N(64))-N(1),dd=(N(1)<<N(32))-N(1),si=64,sI=si/8,n4=8,cd=4;function Be(e,t=0){return new Uint8Array(e.buffer,e.byteOffset+t,e.length-t)}function Ge(e,t=0){return new DataView(e.buffer,e.byteOffset+t).getBigUint64(0,!0)}function ts(e,t=0){return new DataView(e.buffer,e.byteOffset+t).getUint32(0,!0)}function sg(e,t=0){return e[t]}var i4=e=>(e&N(255))<<N(56)|(e&N(65280))<<N(40)|(e&N(16711680))<<N(24)|(e&N(4278190080))<<N(8)|(e&N(0xff00000000))>>N(8)|(e&N(0xff0000000000))>>N(24)|(e&N(0xff000000000000))>>N(40)|(e&N(0xff00000000000000))>>N(56),a4=e=>(e=(e&N(65535))<<N(16)|(e&N(4294901760))>>N(16),e=(e&N(16711935))<<N(8)|(e&N(4278255360))>>N(8),e),o4=(e,t)=>(e&dd)*(t&dd)&_e,ns=e=>{if(!e)throw new Error("Assert failed")};function s4(e,t){return(e<<t|e>>N(32)-t)&dd}function cI(e,t,r){for(let i=0;i<sI;i++){let n=Ge(t,i*8),a=n^Ge(r,i*8);e[i^1]+=n,e[i]+=o4(a,a>>N(32))}return e}function tI(e,t,r,i){for(let n=0;n<i;n++)cI(e,Be(t,n*si),Be(r,n*8));return e}function c4(e,t){for(let r=0;r<sI;r++){let i=Ge(t,r*8),n=e[r];n=cg(n,N(47)),n^=i,n*=iI,e[r]=n&_e}return e}function ud(e,t){return uI(e[0]^Ge(t,0),e[1]^Ge(t,n4))}function rI(e,t,r){let i=r;return i+=ud(e.slice(0),Be(t,0*cd)),i+=ud(e.slice(2),Be(t,4*cd)),i+=ud(e.slice(4),Be(t,8*cd)),i+=ud(e.slice(6),Be(t,12*cd)),Pn(i&_e)}function u4(e,t,r,i,n){let a=Math.floor((r.byteLength-si)/8),o=si*a,s=Math.floor((t.byteLength-1)/o);for(let c=0;c<s;c++)e=tI(e,Be(t,c*o),r,a),e=n(e,Be(r,r.byteLength-si));{let c=Math.floor((t.byteLength-1-o*s)/si);e=tI(e,Be(t,s*o),r,c),e=i(e,Be(t,t.byteLength-si),Be(r,r.byteLength-si-7))}return e}function l4(e,t,r){let i=new BigUint64Array([Yj,Mi,za,oI,lg,aI,Qj,iI]);ns(e.length>128),i=u4(i,e,t,cI,c4),ns(i.length*8==64);{let n=rI(i,Be(t,11),N(e.byteLength)*Mi&_e);return rI(i,Be(t,t.byteLength-si-11),~(N(e.byteLength)*za)&_e)<<N(64)|n}}function uI(e,t){let r=e*t&rs;return r&_e^r>>N(64)}function nI(e,t,r){return uI((Ge(e,0)^Ge(t,0)+r)&_e,(Ge(e,8)^Ge(t,8)-r)&_e)}function ld(e,t,r,i,n){let a=e&_e,o=e>>N(64)&_e;return a+=nI(t,i,n),a^=Ge(r,0)+Ge(r,8),a&=_e,o+=nI(r,Be(i,16),n),o^=Ge(t,0)+Ge(t,8),o&=_e,o<<N(64)|a}function Pn(e){return e^=e>>N(37),e*=e4,e&=_e,e^=e>>N(32),e}function fd(e){return e^=e>>N(33),e*=za,e&=_e,e^=e>>N(29),e*=oI,e&=_e,e^=e>>N(32),e}function d4(e,t,r){let i=e.byteLength;ns(i>0&&i<=3);let n=N(sg(e,i-1))|N(i<<8)|N(sg(e,0)<<16)|N(sg(e,i>>1)<<24),a=(N(ts(t,0))^N(ts(t,4)))+r,o=(n^a)&_e,s=(N(ts(t,8))^N(ts(t,12)))-r,c=(s4(a4(n),N(13))^s)&_e;return(fd(c)&_e)<<N(64)|fd(o)}function cg(e,t){return e^e>>t}function f4(e,t,r){let i=e.byteLength;ns(i>=4&&i<=8);{let n=ts(e,0),a=ts(e,i-4),o=N(n)|N(a)<<N(32),s=(Ge(t,16)^Ge(t,24))+r&_e,u=(o^s)*(Mi+(N(i)<<N(2)))&rs;return u+=(u&_e)<<N(65),u&=rs,u^=u>>N(67),cg(cg(u&_e,N(35))*t4&_e,N(28))|Pn(u>>N(64))<<N(64)}}function p4(e,t,r){let i=e.byteLength;ns(i>=9&&i<=16);{let n=(Ge(t,32)^Ge(t,40))+r&_e,a=(Ge(t,48)^Ge(t,56))-r&_e,o=Ge(e),s=Ge(e,i-8),c=(o^s^n)*Mi,u=(c&_e)+(N(i-1)<<N(54));c=c&(rs^_e)|u,s^=a,c+=s+(s&dd)*(aI-N(1))<<N(64),c&=rs,c^=i4(c>>N(64));let l=(c&_e)*za;return l+=(c>>N(64))*za<<N(64),l&=rs,Pn(l&_e)|Pn(l>>N(64))<<N(64)}}function m4(e,t){let r=e.byteLength;return ns(r<=16),r>8?p4(e,On,t):r>=4?f4(e,On,t):r>0?d4(e,On,t):fd(t^Ge(On,64)^Ge(On,72))|fd(t^Ge(On,80)^Ge(On,88))<<N(64)}function ug(e){return~e+N(1)&_e}function h4(e,t,r){let i=N(e.byteLength)*Mi&_e,n=N(e.byteLength-1)/N(32);for(;n>=0;){let s=Number(n);i=ld(i,Be(e,16*s),Be(e,e.byteLength-16*(s+1)),Be(t,32*s),r),n--}let a=i+(i>>N(64))&_e;a=Pn(a);let o=(i&_e)*Mi+(i>>N(64))*lg+(N(e.byteLength)-r&_e)*za;return o&=_e,o=ug(Pn(o)),a|o<<N(64)}function g4(e,t,r){let i=N(e.byteLength)*Mi&_e;for(let o=32;o<160;o+=32)i=ld(i,Be(e,o-32),Be(e,o-16),Be(t,o-32),r);i=Pn(i&_e)|Pn(i>>N(64))<<N(64);for(let o=160;o<=e.byteLength;o+=32)i=ld(i,Be(e,o-32),Be(e,o-16),Be(t,3+o-160),r);i=ld(i,Be(e,e.byteLength-16),Be(e,e.byteLength-32),Be(t,103),ug(r));let n=i+(i>>N(64))&_e;n=Pn(n);let a=(i&_e)*Mi+(i>>N(64))*lg+(N(e.byteLength)-r&_e)*za;return a&=_e,a=ug(Pn(a)),n|a<<N(64)}function lI(e,t=N(0)){let r=e.byteLength;return r<=16?m4(e,t):r<=128?h4(e,On,t):r<=240?g4(e,On,t):l4(e,On,t)}function dI(e){let t=new Uint8Array(16),r=new DataView(t.buffer),i=e&_e,n=e>>N(64);return r.setBigUint64(0,n,!1),r.setBigUint64(8,i,!1),t}var fI=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function pe(e,t){if(!fI.test(e)){let r=t!==void 0?`Invalid UUID for ${t}: ${e}`:`Invalid UUID: ${e}`;throw new Error(r)}return e}function pd(e){let t=typeof e=="string"?Date.parse(e):e;return es({msecs:t,seq:0})}function _4(e){if(!fI.test(e))return null;let t=e[14];return parseInt(t,16)}function y4(e){let t=e.replace(/-/g,""),r=new Uint8Array(16);for(let i=0;i<16;i++)r[i]=parseInt(t.slice(i*2,i*2+2),16);return r}function v4(e){let t=Array.from(e).map(r=>r.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 b4=new TextEncoder;function w4(e){let t=b4.encode(e),r=lI(t);return dI(r)}function Vc(e,t){let r=`${e}:${t}`,i=w4(r),n=new Uint8Array(16);if(_4(e)===7){let o=y4(e);n.set(o.slice(0,6),0)}else{let o=Date.now();n[0]=o/1099511627776&255,n[1]=o/4294967296&255,n[2]=o/16777216&255,n[3]=o/65536&255,n[4]=o/256&255,n[5]=o&255}return n[6]=112|i[0]&15,n[7]=i[1],n[8]=128|i[2]&63,n.set(i.slice(3,10),9),v4(n)}var Da={join:(...e)=>e.join("/"),dirname:e=>e.split("/").slice(0,-1).join("/")};async function pI(e){}async function md(e,t){}async function mI(e){return[]}async function hI(e){return{size:0}}function is(e){return!1}function hd(e){return""}function x4(e,t){return t===null?!1:Date.now()-e.createdAt>t*1e3}var gd=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,r){if(this.maxSize===0)return;let i=this.cache.get(t);if(!i){this._metrics.misses+=1;return}return this.cache.delete(t),this.cache.set(t,{...i,refreshFunc:r}),this._metrics.hits+=1,i.value}set(t,r,i){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 n={value:r,createdAt:Date.now(),refreshFunc:i};this.cache.delete(t),this.cache.set(t,n)}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 r={};for(let[a,o]of this.cache.entries())r[a]=o.value;let i=Da.dirname(t);is(i)||void 0;let n=`${t}.tmp`;try{JSON.stringify({entries:r},null,2)}catch(a){throw is(n)&&void 0,a}}load(t){if(!is(t))return 0;let r;try{let a=hd(t);r=JSON.parse(a).entries??null}catch{return 0}if(!r)return 0;let i=0,n=Date.now();for(let[a,o]of Object.entries(r)){if(this.cache.size>=this.maxSize)break;let s={value:o,createdAt:n};this.cache.set(a,s),i+=1}return i}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[r,i]of this.cache.entries())x4(i,this.ttlSeconds)&&t.push([r,i]);return t}async refreshStaleEntries(){let t=this.getStaleEntries();if(t.length!==0){for(let[r,i]of t)if(i.refreshFunc!==void 0)try{let n=await i.refreshFunc();this.set(r,n,i.refreshFunc),this._metrics.refreshes+=1}catch(n){this._metrics.refreshErrors+=1,console.warn(`Failed to refresh cache entry ${r}:`,n)}}}configure(t){this.stop(),this.refreshIntervalSeconds=t.refreshIntervalSeconds??60,this.maxSize=t.maxSize??100,this.ttlSeconds=t.ttlSeconds??300}},_d=new gd;var yd="0.7.4";var Rn,S4=()=>typeof window<"u"&&typeof window.document<"u",k4=()=>typeof globalThis=="object"&&globalThis.constructor&&globalThis.constructor.name==="DedicatedWorkerGlobalScope",$4=()=>typeof window<"u"&&window.name==="nodejs"||typeof navigator<"u"&&navigator.userAgent.includes("jsdom"),vI=()=>typeof Deno<"u",I4=()=>typeof process<"u"&&typeof process.versions<"u"&&typeof process.versions.node<"u"&&!vI(),Zc=()=>Rn||(typeof Bun<"u"?Rn="bun":S4()?Rn="browser":I4()?Rn="node":k4()?Rn="webworker":$4()?Rn="jsdom":vI()?Rn="deno":Rn="other",Rn),dg;function vd(){if(dg===void 0){let e=Zc(),t=T4();dg={library:"langsmith",runtime:e,sdk:"langsmith-js",sdk_version:yd,...t}}return dg}function pg(){let e=E4(),t={},r=["LANGCHAIN_API_KEY","LANGCHAIN_ENDPOINT","LANGCHAIN_TRACING_V2","LANGCHAIN_PROJECT","LANGCHAIN_SESSION","LANGSMITH_API_KEY","LANGSMITH_ENDPOINT","LANGSMITH_TRACING_V2","LANGSMITH_CONFIG_FILE","LANGSMITH_PROJECT","LANGSMITH_SESSION"];for(let[i,n]of Object.entries(e))typeof n=="string"&&!r.includes(i)&&!i.toLowerCase().includes("key")&&!i.toLowerCase().includes("secret")&&!i.toLowerCase().includes("token")&&(i==="LANGCHAIN_REVISION_ID"?t.revision_id=n:t[i]=n);return t}function E4(){let e={};try{if(typeof process<"u"&&process.env)for(let[t,r]of Object.entries(process.env))(t.startsWith("LANGCHAIN_")||t.startsWith("LANGSMITH_"))&&r!=null&&((t.toLowerCase().includes("key")||t.toLowerCase().includes("secret")||t.toLowerCase().includes("token"))&&typeof r=="string"?e[t]=r.slice(0,2)+"*".repeat(r.length-4)+r.slice(-2):e[t]=r)}catch{}return e}function wt(e){try{return typeof process<"u"?process.env?.[e]:void 0}catch{return}}function Fe(e){return wt(`LANGSMITH_${e}`)||wt(`LANGCHAIN_${e}`)}var fg;function T4(){if(fg!==void 0)return fg;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 r of e){let i=wt(r);i!==void 0&&(t[r]=i)}return fg=t,t}function _I(){return wt("OTEL_ENABLED")==="true"||Fe("OTEL_ENABLED")==="true"}var yI=new Set(["langsmith","otel"]);function bd(e){if(e!==void 0)return e;let t=Fe("TRACING_MODE");if(t!==void 0&&t!==""){let r=t.toLowerCase();if(!yI.has(r))throw new Error(`Invalid LANGSMITH_TRACING_MODE=${JSON.stringify(t)}. Must be one of: ${[...yI].sort().join(", ")}`);return _I()&&console.warn("Both LANGSMITH_TRACING_MODE and the legacy OTEL_ENABLED / LANGSMITH_OTEL_ENABLED env vars are set. LANGSMITH_TRACING_MODE takes precedence."),r}return _I()?"otel":"langsmith"}var gg=class{constructor(){Object.defineProperty(this,"hasWarned",{enumerable:!0,configurable:!0,writable:!0,value:!1})}startActiveSpan(t,...r){!this.hasWarned&&bd()==="otel"&&(console.warn('OTel tracing mode is active (via LANGSMITH_TRACING_MODE, OTEL_ENABLED, or LANGSMITH_OTEL_ENABLED), but the required OTEL instances have not been initialized. Please add:\n```\nimport { initializeOTEL } from "langsmith/experimental/otel/setup";\ninitializeOTEL();\n```\nat the beginning of your code.'),this.hasWarned=!0);let i;if(r.length===1&&typeof r[0]=="function"?i=r[0]:r.length===2&&typeof r[1]=="function"?i=r[1]:r.length===3&&typeof r[2]=="function"&&(i=r[2]),typeof i=="function")return i()}},_g=class{constructor(){Object.defineProperty(this,"mockTracer",{enumerable:!0,configurable:!0,writable:!0,value:new gg})}getTracer(t,r){return this.mockTracer}getActiveSpan(){}setSpan(t,r){return t}getSpan(t){}setSpanContext(t,r){return t}getTracerProvider(){}setGlobalTracerProvider(t){return!1}},yg=class{active(){return{}}with(t,r){return r()}},mg=Symbol.for("ls:otel_trace"),hg=Symbol.for("ls:otel_context"),bI=Symbol.for("ls:otel_get_default_otlp_tracer_provider"),A4=new _g,C4=new yg,vg=class{getTraceInstance(){return globalThis[mg]??A4}getContextInstance(){return globalThis[hg]??C4}initializeGlobalInstances(t){globalThis[mg]===void 0&&(globalThis[mg]=t.trace),globalThis[hg]===void 0&&(globalThis[hg]=t.context)}setDefaultOTLPTracerComponents(t){globalThis[bI]=t}getDefaultOTLPTracerComponents(){return globalThis[bI]??void 0}},bg=new vg;function wd(){return bg.getTraceInstance()}function wI(){return bg.getContextInstance()}function xI(){return bg.getDefaultOTLPTracerComponents()}var O4={llm:"chat",tool:"execute_tool",retriever:"embeddings",embedding:"embeddings",prompt:"chat"};function P4(e){return O4[e]||e}function N4(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}var xd=class{constructor(){Object.defineProperty(this,"spans",{enumerable:!0,configurable:!0,writable:!0,value:new Map})}exportBatch(t,r){for(let i of t)try{if(!i.run)continue;if(i.operation==="post"){let n=this.createSpanForRun(i,i.run,r.get(i.id));n&&!i.run.end_time&&this.spans.set(i.id,n)}else this.updateSpanForRun(i,i.run)}catch(n){console.error(`Error processing operation ${i.id}:`,n)}}createSpanForRun(t,r,i){let n=i&&wd().getSpan(i);if(n)try{return this.finishSpanSetup(n,r,t)}catch(a){console.error(`Failed to create span for run ${t.id}:`,a);return}}finishSpanSetup(t,r,i){return this.setSpanAttributes(t,r,i),r.error?(t.setStatus({code:2}),t.recordException(new Error(r.error))):t.setStatus({code:1}),r.end_time&&t.end(new Date(r.end_time)),t}updateSpanForRun(t,r){try{let i=this.spans.get(t.id);if(!i){console.debug(`No span found for run ${t.id} during update`);return}this.setSpanAttributes(i,r,t),r.error?(i.setStatus({code:2}),i.recordException(new Error(r.error))):i.setStatus({code:1});let n=r.end_time;n&&(i.end(new Date(n)),this.spans.delete(t.id))}catch(i){console.error(`Failed to update span for run ${t.id}:`,i)}}extractModelName(t){if(t.extra?.metadata){let r=t.extra.metadata;if(r.ls_model_name)return r.ls_model_name;if(r.invocation_params){let i=r.invocation_params;if(i.model)return i.model;if(i.model_name)return i.model_name}}}setSpanAttributes(t,r,i){if("run_type"in r&&r.run_type){t.setAttribute(G$,r.run_type);let s=P4(r.run_type||"chain");t.setAttribute(S$,s)}"name"in r&&r.name&&t.setAttribute(J$,r.name),"session_id"in r&&r.session_id&&t.setAttribute(Z$,r.session_id),"session_name"in r&&r.session_name&&t.setAttribute(H$,r.session_name),this.setGenAiSystem(t,r);let n=this.extractModelName(r);n&&t.setAttribute(tg,n),r.extra?.metadata?.usage_metadata&&typeof r.extra.metadata.usage_metadata=="object"&&t.setAttribute(og,JSON.stringify(r.extra.metadata.usage_metadata)),"prompt_tokens"in r&&typeof r.prompt_tokens=="number"&&t.setAttribute(rg,r.prompt_tokens),"completion_tokens"in r&&typeof r.completion_tokens=="number"&&t.setAttribute(ng,r.completion_tokens),"total_tokens"in r&&typeof r.total_tokens=="number"&&t.setAttribute(ig,r.total_tokens),this.setInvocationParameters(t,r);let a=r.extra?.metadata||{};for(let[s,c]of Object.entries(a))c!=null&&t.setAttribute(`${K$}.${s}`,N4(c)?String(c):JSON.stringify(c));let o=r.tags;if(o&&Array.isArray(o)?t.setAttribute(ag,o.join(", ")):o&&t.setAttribute(ag,String(o)),"serialized"in r&&typeof r.serialized=="object"){let s=r.serialized;s.name&&t.setAttribute(j$,String(s.name)),s.signature&&t.setAttribute(z$,String(s.signature)),s.doc&&t.setAttribute(D$,String(s.doc))}this.setIOAttributes(t,i)}setGenAiSystem(t,r){let i="langchain",n=this.extractModelName(r);if(n){let a=n.toLowerCase();a.includes("anthropic")||a.startsWith("claude")?i="anthropic":a.includes("bedrock")?i="aws.bedrock":a.includes("azure")&&a.includes("openai")?i="az.ai.openai":a.includes("azure")&&a.includes("inference")?i="az.ai.inference":a.includes("cohere")?i="cohere":a.includes("deepseek")?i="deepseek":a.includes("gemini")?i="gemini":a.includes("groq")?i="groq":a.includes("watson")||a.includes("ibm")?i="ibm.watsonx.ai":a.includes("mistral")?i="mistral_ai":a.includes("gpt")||a.includes("openai")?i="openai":a.includes("perplexity")||a.includes("sonar")?i="perplexity":a.includes("vertex")?i="vertex_ai":(a.includes("xai")||a.includes("grok"))&&(i="xai")}t.setAttribute(k$,i)}setInvocationParameters(t,r){if(!r.extra?.metadata?.invocation_params)return;let i=r.extra.metadata.invocation_params;i.max_tokens!==void 0&&t.setAttribute(I$,i.max_tokens),i.temperature!==void 0&&t.setAttribute(E$,i.temperature),i.top_p!==void 0&&t.setAttribute(T$,i.top_p),i.frequency_penalty!==void 0&&t.setAttribute(A$,i.frequency_penalty),i.presence_penalty!==void 0&&t.setAttribute(C$,i.presence_penalty)}setIOAttributes(t,r){if(r.run.inputs)try{let i=r.run.inputs;typeof i=="object"&&i!==null&&(i.model&&Array.isArray(i.messages)&&t.setAttribute(tg,i.model),i.stream!==void 0&&t.setAttribute(W$,i.stream),i.extra_headers&&t.setAttribute(q$,JSON.stringify(i.extra_headers)),i.extra_query&&t.setAttribute(R$,JSON.stringify(i.extra_query)),i.extra_body&&t.setAttribute(M$,JSON.stringify(i.extra_body))),t.setAttribute(P$,JSON.stringify(i))}catch(i){console.debug(`Failed to process inputs for run ${r.id}`,i)}if(r.run.outputs)try{let i=r.run.outputs,n=this.getUnifiedRunTokens(i);if(n&&(t.setAttribute(rg,n[0]),t.setAttribute(ng,n[1]),t.setAttribute(ig,n[0]+n[1])),i&&typeof i=="object"){if(i.model&&t.setAttribute($$,String(i.model)),i.id&&t.setAttribute(U$,i.id),i.choices&&Array.isArray(i.choices)){let a=i.choices.map(o=>o.finish_reason).filter(o=>o).map(String);a.length>0&&t.setAttribute(O$,a.join(", "))}if(i.service_tier&&t.setAttribute(L$,i.service_tier),i.system_fingerprint&&t.setAttribute(F$,i.system_fingerprint),i.usage_metadata&&typeof i.usage_metadata=="object"){let a=i.usage_metadata;t.setAttribute(og,JSON.stringify(a)),a.input_token_details&&t.setAttribute(B$,JSON.stringify(a.input_token_details)),a.output_token_details&&t.setAttribute(V$,JSON.stringify(a.output_token_details))}}t.setAttribute(N$,JSON.stringify(i))}catch(i){console.debug(`Failed to process outputs for run ${r.id}`,i)}}getUnifiedRunTokens(t){if(!t)return null;let r=this.extractUnifiedRunTokens(t.usage_metadata);if(r)return r;let i=Object.keys(t);for(let o of i){let s=t[o];if(!(!s||typeof s!="object")&&(r=this.extractUnifiedRunTokens(s.usage_metadata),r||s.lc===1&&s.kwargs&&typeof s.kwargs=="object"&&(r=this.extractUnifiedRunTokens(s.kwargs.usage_metadata),r)))return r}let n=t.generations||[];if(!Array.isArray(n))return null;let a=Array.isArray(n[0])?n.flat():n;for(let o of a)if(typeof o=="object"&&o.message&&typeof o.message=="object"&&o.message.kwargs&&typeof o.message.kwargs=="object"&&(r=this.extractUnifiedRunTokens(o.message.kwargs.usage_metadata),r))return r;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]}};var R4=Object.prototype.toString,M4=e=>R4.call(e)==="[object Error]",j4=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 wg(e){if(!(e&&M4(e)&&e.name==="TypeError"&&typeof e.message=="string"))return!1;let{message:r,stack:i}=e;return r==="Load failed"?i===void 0||"__sentry_captured__"in e:r.startsWith("error sending request for url")?!0:j4.has(r)}function z4(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 Sd(e,t,{min:r=0,allowInfinity:i=!1}={}){if(t!==void 0){if(typeof t!="number"||Number.isNaN(t))throw new TypeError(`Expected \`${e}\` to be a number${i?" or Infinity":""}.`);if(!i&&!Number.isFinite(t))throw new TypeError(`Expected \`${e}\` to be a finite number.`);if(t<r)throw new TypeError(`Expected \`${e}\` to be \u2265 ${r}.`)}}var xg=class extends Error{constructor(t){super(),t instanceof Error?(this.originalError=t,{message:t}=t):(this.originalError=new Error(t),this.originalError.stack=this.stack),this.name="AbortError",this.message=t}};function D4(e,t){let r=Math.max(1,e+1),i=t.randomize?Math.random()+1:1,n=Math.round(i*t.minTimeout*t.factor**(r-1));return n=Math.min(n,t.maxTimeout),n}function SI(e,t){return Number.isFinite(t)?t-(performance.now()-e):t}async function U4({error:e,attemptNumber:t,retriesConsumed:r,startTime:i,options:n}){let a=e instanceof Error?e:new TypeError(`Non-error was thrown: "${e}". You should only throw errors.`);if(a instanceof xg)throw a.originalError;let o=Number.isFinite(n.retries)?Math.max(0,n.retries-r):n.retries,s=n.maxRetryTime??Number.POSITIVE_INFINITY,c=Object.freeze({error:a,attemptNumber:t,retriesLeft:o,retriesConsumed:r});if(await n.onFailedAttempt(c),SI(i,s)<=0)throw a;let u=await n.shouldConsumeRetry(c),l=SI(i,s);if(l<=0||o<=0)throw a;if(a instanceof TypeError&&!wg(a)){if(u)throw a;return n.signal?.throwIfAborted(),!1}if(!await n.shouldRetry(c))throw a;if(!u)return n.signal?.throwIfAborted(),!1;let d=D4(r,n),f=Math.min(d,l);return f>0&&await new Promise((p,m)=>{let g=()=>{clearTimeout(y),n.signal?.removeEventListener("abort",g),m(n.signal.reason)},y=setTimeout(()=>{n.signal?.removeEventListener("abort",g),p()},f);n.unref&&y.unref?.(),n.signal?.addEventListener("abort",g,{once:!0})}),n.signal?.throwIfAborted(),!0}async function Sg(e,t={}){if(t={...t},z4(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,Sd("factor",t.factor,{min:0,allowInfinity:!1}),Sd("minTimeout",t.minTimeout,{min:0,allowInfinity:!1}),Sd("maxTimeout",t.maxTimeout,{min:0,allowInfinity:!0}),Sd("maxRetryTime",t.maxRetryTime,{min:0,allowInfinity:!0}),t.factor>0||(t.factor=1),t.signal?.throwIfAborted();let r=0,i=0,n=performance.now();for(;!Number.isFinite(t.retries)||i<=t.retries;){r++;try{t.signal?.throwIfAborted();let a=await e(r);return t.signal?.throwIfAborted(),a}catch(a){await U4({error:a,attemptNumber:r,retriesConsumed:i,startTime:n,options:t})&&i++}}throw new Error("Retry attempts exhausted without throwing an error.")}var Ad=Al(Td(),1),NI="default"in Ad.default?Ad.default.default:Ad.default;var K4=[408,425,429,500,502,503,504],Gc=class{constructor(t){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=t.maxConcurrency??1/0,this.maxRetries=t.maxRetries??6,this.maxQueueSizeBytes=t.maxQueueSizeBytes,this.queue=new NI({concurrency:this.maxConcurrency}),this.onFailedResponseHook=t?.onFailedResponseHook}call(t,...r){return this.callWithOptions({},t,...r)}callWithOptions(t,r,...i){let n=t.sizeBytes??0;if(this.maxQueueSizeBytes!==void 0&&n>0&&this.queueSizeBytes+n>this.maxQueueSizeBytes)return Promise.reject(new Error(`Queue size limit (${this.maxQueueSizeBytes} bytes) exceeded. Current queue size: ${this.queueSizeBytes} bytes, attempted addition: ${n} bytes.`));n>0&&(this.queueSizeBytes+=n);let a=this.onFailedResponseHook,o=this.queue.add(()=>Sg(()=>r(...i).catch(s=>{throw s instanceof Error?s:new Error(s)}),{async onFailedAttempt({error:s}){if(typeof s!="object"||s==null)throw s;let c="message"in s&&typeof s.message=="string"?s.message:void 0;if(c?.startsWith("Cancel")||c?.startsWith("TimeoutError")||c?.startsWith("AbortError")||"name"in s&&s.name==="TimeoutError"||"code"in s&&s.code==="ECONNABORTED")throw s;let u="response"in s?s.response:void 0;if(a&&await a(u))return;let l=u?.status??("status"in s?s.status:void 0);if(l!=null&&(typeof l=="number"||typeof l=="string")&&!K4.includes(+l))throw s},retries:this.maxRetries,randomize:!0}),{throwOnTimeout:!0});return n>0&&(o=o.finally(()=>{this.queueSizeBytes-=n})),t.signal?Promise.race([o,new Promise((s,c)=>{t.signal?.addEventListener("abort",()=>{c(new Error("AbortError"))})})]):o}};function Cg(e){return typeof e?._getType=="function"}function Og(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}function Od(e){return`Invalid prompt identifier format: "${e}". Expected one of:
|
|
22
22
|
- "prompt-name" (for private prompts)
|
|
23
23
|
- "owner/prompt-name" (for prompts with explicit owner)
|
|
24
24
|
- "prompt-name:commit-hash" (with commit reference)
|
|
@@ -146,7 +146,7 @@ Message: ${Array.isArray(o.detail)?o.detail.join(`
|
|
|
146
146
|
creating a LangChain Hub handle.
|
|
147
147
|
You can add a handle by creating a public prompt at:
|
|
148
148
|
|
|
149
|
-
https://smith.langchain.com/prompts`);let[n,a,o]=Rt(t);if(!await this._currentTenantIsOwner(n))throw await this._ownerConflictError("create a prompt",n);let s={repo_handle:a,...r?.description&&{description:r.description},...r?.readme&&{readme:r.readme},...r?.tags&&{tags:r.tags},is_public:!!r?.isPublic},c=JSON.stringify(s),u=await this.caller.call(async()=>{let d=await this._fetch(`${this.apiUrl}/repos/`,{method:"POST",headers:{...this._mergedHeaders,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:c});return await Y(d,"create prompt"),d}),{repo:l}=await u.json();return l}async createCommit(t,r,i){if(!await this.promptExists(t))throw new Error("Prompt does not exist, you must create it first.");let[n,a,o]=Rt(t),s=i?.parentCommitHash==="latest"||!i?.parentCommitHash?await this._getLatestCommitHash(`${n}/${a}`):i?.parentCommitHash,c={manifest:JSON.parse(JSON.stringify(r)),parent_commit:s,...i?.description!==void 0&&{description:i.description}},u=JSON.stringify(c),d=await(await this.caller.call(async()=>{let f=await this._fetch(`${this.apiUrl}/commits/${n}/${a}`,{method:"POST",headers:{...this._mergedHeaders,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:u});return await Y(f,"create commit"),f})).json();return this._getPromptUrl(`${n}/${a}${d.commit_hash?`:${d.commit_hash}`:""}`)}async updateExamplesMultipart(t,r=[]){return this._updateExamplesMultipart(t,r)}async _updateExamplesMultipart(t,r=[]){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 i=new FormData;for(let o of r){let s=o.id,c={...o.metadata&&{metadata:o.metadata},...o.split&&{split:o.split}},u=Mt(c,`Serializing body for example with id: ${s}`),l=new Blob([u],{type:"application/json"});if(i.append(s,l),o.inputs){let d=Mt(o.inputs,`Serializing inputs for example with id: ${s}`),f=new Blob([d],{type:"application/json"});i.append(`${s}.inputs`,f)}if(o.outputs){let d=Mt(o.outputs,`Serializing outputs whle updating example with id: ${s}`),f=new Blob([d],{type:"application/json"});i.append(`${s}.outputs`,f)}if(o.attachments)for(let[d,f]of Object.entries(o.attachments)){let p,m;Array.isArray(f)?[p,m]=f:(p=f.mimeType,m=f.data);let g=new Blob([m],{type:`${p}; length=${m.byteLength}`});i.append(`${s}.attachment.${d}`,g)}if(o.attachments_operations){let d=Mt(o.attachments_operations,`Serializing attachments while updating example with id: ${s}`),f=new Blob([d],{type:"application/json"});i.append(`${s}.attachments_operations`,f)}}let n=t??r[0]?.dataset_id;return(await this.caller.call(async()=>{let o=await this._fetch(`${this.apiUrl}${this._getPlatformEndpointPath(`datasets/${n}/examples`)}`,{method:"PATCH",headers:this._mergedHeaders,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:i});return await Y(o,"update examples"),o})).json()}async uploadExamplesMultipart(t,r=[]){return this._uploadExamplesMultipart(t,r)}async _uploadExamplesMultipart(t,r=[]){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 i=new FormData;for(let a of r){let o=(a.id??Ma()).toString(),s={created_at:a.created_at,...a.metadata&&{metadata:a.metadata},...a.split&&{split:a.split},...a.source_run_id&&{source_run_id:a.source_run_id},...a.use_source_run_io&&{use_source_run_io:a.use_source_run_io},...a.use_source_run_attachments&&{use_source_run_attachments:a.use_source_run_attachments}},c=Mt(s,`Serializing body for uploaded example with id: ${o}`),u=new Blob([c],{type:"application/json"});if(i.append(o,u),a.inputs){let l=Mt(a.inputs,`Serializing inputs for uploaded example with id: ${o}`),d=new Blob([l],{type:"application/json"});i.append(`${o}.inputs`,d)}if(a.outputs){let l=Mt(a.outputs,`Serializing outputs for uploaded example with id: ${o}`),d=new Blob([l],{type:"application/json"});i.append(`${o}.outputs`,d)}if(a.attachments)for(let[l,d]of Object.entries(a.attachments)){let f,p;Array.isArray(d)?[f,p]=d:(f=d.mimeType,p=d.data);let m=new Blob([p],{type:`${f}; length=${p.byteLength}`});i.append(`${o}.attachment.${l}`,m)}}return(await this.caller.call(async()=>{let a=await this._fetch(`${this.apiUrl}${this._getPlatformEndpointPath(`datasets/${t}/examples`)}`,{method:"POST",headers:this._mergedHeaders,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:i});return await Y(a,"upload examples"),a})).json()}async updatePrompt(t,r){if(!await this.promptExists(t))throw new Error("Prompt does not exist, you must create it first.");let[i,n]=Rt(t);if(!await this._currentTenantIsOwner(i))throw await this._ownerConflictError("update a prompt",i);let a={};if(r?.description!==void 0&&(a.description=r.description),r?.readme!==void 0&&(a.readme=r.readme),r?.tags!==void 0&&(a.tags=r.tags),r?.isPublic!==void 0&&(a.is_public=r.isPublic),r?.isArchived!==void 0&&(a.is_archived=r.isArchived),Object.keys(a).length===0)throw new Error("No valid update options provided");let o=JSON.stringify(a);return(await this.caller.call(async()=>{let c=await this._fetch(`${this.apiUrl}/repos/${i}/${n}`,{method:"PATCH",headers:{...this._mergedHeaders,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:o});return await Y(c,"update prompt"),c})).json()}async deletePrompt(t){if(!await this.promptExists(t))throw new Error("Prompt does not exist, you must create it first.");let[r,i,n]=Rt(t);if(!await this._currentTenantIsOwner(r))throw await this._ownerConflictError("delete a prompt",r);return(await this.caller.call(async()=>{let o=await this._fetch(`${this.apiUrl}/repos/${r}/${i}`,{method:"DELETE",headers:this._mergedHeaders,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await Y(o,"delete prompt"),o})).json()}_getPromptCacheKey(t,r){return`${t}${r?":with_model":""}`}async _fetchPromptFromApi(t,r){let[i,n,a]=Rt(t),s=await(await this.caller.call(async()=>{let c=await this._fetch(`${this.apiUrl}/commits/${i}/${n}/${a}${r?.includeModel?"?include_model=true":""}`,{method:"GET",headers:this._mergedHeaders,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await Y(c,"pull prompt commit"),c})).json();return{owner:i,repo:n,commit_hash:s.commit_hash,manifest:s.manifest,examples:s.examples,hub_model_config:s.model_config,hub_model_provider:s.model_provider}}async pullPromptCommit(t,r){gz(t,r?.dangerouslyPullPublicPrompt);let i=this._fetchPromptFromApi.bind(this,t,r);if(!r?.skipCache&&this._promptCache){let n=this._getPromptCacheKey(t,r?.includeModel),a=this._promptCache.get(n,i);if(a)return a;let o=await i();return this._promptCache.set(n,o,i),o}return this._fetchPromptFromApi(t,r)}async _pullPrompt(t,r){let i=await this.pullPromptCommit(t,{includeModel:r?.includeModel,skipCache:r?.skipCache,dangerouslyPullPublicPrompt:r?.dangerouslyPullPublicPrompt});return JSON.stringify(i.manifest)}async pushPrompt(t,r){return await this.promptExists(t)?r&&Object.keys(r).some(n=>n!=="object")&&await this.updatePrompt(t,{description:r?.description,readme:r?.readme,tags:r?.tags,isPublic:r?.isPublic}):await this.createPrompt(t,{description:r?.description,readme:r?.readme,tags:r?.tags,isPublic:r?.isPublic}),r?.object?await this.createCommit(t,r?.object,{parentCommitHash:r?.parentCommitHash,description:r?.commitDescription}):await this._getPromptUrl(t)}async agentExists(t){let[r,i]=Rt(t);return this._repoExists(r,i)}async skillExists(t){let[r,i]=Rt(t);return this._repoExists(r,i)}async pullAgent(t,r){return await this._pullDirectory(t,"agent",r?.version)}async pullSkill(t,r){return await this._pullDirectory(t,"skill",r?.version)}async pushAgent(t,r){return this._pushDirectory(t,"agent",r)}async pushSkill(t,r){return this._pushDirectory(t,"skill",r)}async deleteAgent(t){return this._deleteDirectory(t)}async deleteSkill(t){return this._deleteDirectory(t)}async*listAgents(t){yield*this._listReposByType("agent",t)}async*listSkills(t){yield*this._listReposByType("skill",t)}async*_listReposByType(t,r){let i=new URLSearchParams;i.append("repo_type",t),i.append("is_archived",(!!r?.isArchived).toString()),r?.isPublic!==void 0&&i.append("is_public",r.isPublic.toString()),r?.query&&i.append("query",r.query);for await(let n of this._getPaginated("/repos",i,a=>a.repos))yield*n}async _pullDirectory(t,r,i){let[n,a,o]=Rt(t),s=i??(o!=="latest"?o:void 0),c=new URL(`${this.apiUrl}/v1/platform/hub/repos/${n}/${a}/directories`);return c.searchParams.set("repo_type",r),s&&c.searchParams.set("commit",s),await(await this.caller.call(async()=>{let l=await this._fetch(c.toString(),{method:"GET",headers:this._mergedHeaders,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await Y(l,"pull directory"),l})).json()}async _pushDirectory(t,r,i){if(i.parentCommit!==void 0&&(i.parentCommit.length<8||i.parentCommit.length>64))throw new Error("parent_commit must be 8-64 characters");let[n,a]=Rt(t);if(!await this._currentTenantIsOwner(n))throw await this._ownerConflictError(`push ${r}`,n);if(await this._repoExists(n,a))(i.description!==void 0||i.readme!==void 0||i.tags!==void 0||i.isPublic!==void 0)&&await this._updateRepoMetadata(n,a,i);else{let l=/^[a-z][a-z0-9-_]*$/;if(!l.test(a))throw new Error(`Invalid repo_handle ${JSON.stringify(a)}: must match ${l}`);await this._createRepo(a,r,i)}let o={files:i.files};i.parentCommit&&(o.parent_commit=i.parentCommit);let u=(await(await this.caller.call(async()=>{let l=await this._fetch(`${this.apiUrl}/v1/platform/hub/repos/${n}/${a}/directories/commits`,{method:"POST",headers:{...this._mergedHeaders,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:JSON.stringify(o)});return await Y(l,`push ${r}`),l})).json()).commit.commit_hash;return`${this.getHostUrl()}/context/${a}/${u.slice(0,8)}`}async _deleteDirectory(t){let[r,i]=Rt(t);if(!await this._currentTenantIsOwner(r))throw await this._ownerConflictError("delete",r);await this.caller.call(async()=>{let n=await this._fetch(`${this.apiUrl}/v1/platform/hub/repos/${r}/${i}/directories`,{method:"DELETE",headers:this._mergedHeaders,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await Y(n,"delete directory"),n})}async _repoExists(t,r){try{return await this.caller.call(async()=>{let i=await this._fetch(`${this.apiUrl}/repos/${t}/${r}`,{method:"GET",headers:this._mergedHeaders,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await Y(i,"check repo exists"),i}),!0}catch(i){if(Pd(i))return!1;throw i}}async _createRepo(t,r,i){let n={repo_handle:t,repo_type:r,is_public:!!i.isPublic};i.description!==void 0&&(n.description=i.description),i.readme!==void 0&&(n.readme=i.readme),i.tags!==void 0&&(n.tags=i.tags);try{await this.caller.call(async()=>{let a=await this._fetch(`${this.apiUrl}/repos/`,{method:"POST",headers:{...this._mergedHeaders,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:JSON.stringify(n)});return await Y(a,`create ${r}`),a})}catch(a){if(RI(a))return;throw a}}async _updateRepoMetadata(t,r,i){let n={};i.description!==void 0&&(n.description=i.description),i.readme!==void 0&&(n.readme=i.readme),i.tags!==void 0&&(n.tags=i.tags),i.isPublic!==void 0&&(n.is_public=i.isPublic),Object.keys(n).length!==0&&await this.caller.call(async()=>{let a=await this._fetch(`${this.apiUrl}/repos/${t}/${r}`,{method:"PATCH",headers:{...this._mergedHeaders,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:JSON.stringify(n)});return await Y(a,"update repo metadata"),a})}async clonePublicDataset(t,r={}){let{sourceApiUrl:i=this.apiUrl,datasetName:n}=r,[a,o]=this.parseTokenOrUrl(t,i),s=new e({apiUrl:a,apiKey:"placeholder"}),c=await s.readSharedDataset(o),u=n||c.name;try{if(await this.hasDataset({datasetId:u})){console.log(`Dataset ${u} already exists in your tenant. Skipping.`);return}}catch{}let l=await s.listSharedExamples(o),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(f=>f.inputs),outputs:l.flatMap(f=>f.outputs?[f.outputs]:[]),datasetId:d.id})}catch(f){throw console.error(`An error occurred while creating dataset ${u}. You should delete it manually.`),f}}parseTokenOrUrl(t,r,i=2,n="dataset"){try{return pe(t),[r,t]}catch{}try{let o=new URL(t).pathname.split("/").filter(s=>s!=="");if(o.length>=i){let s=o[o.length-i];return[r,s]}else throw new Error(`Invalid public ${n} URL: ${t}`)}catch{throw new Error(`Invalid public ${n} 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();for(await new Promise(t=>setTimeout(t,1));this._pendingDrains.size>0;)await Promise.all([...this._pendingDrains]);await Promise.all([...this.autoBatchQueue.items.map(({itemPromise:t})=>t),this.batchIngestCaller.queue.onIdle()]),this.langSmithToOTELTranslator!==void 0&&await xI()?.DEFAULT_LANGSMITH_SPAN_PROCESSOR?.forceFlush()}toString(){let t=[`apiUrl=${JSON.stringify(this.apiUrl)}`];return this.webUrl!==void 0&&t.push(`webUrl=${JSON.stringify(this.webUrl)}`),this.workspaceId!==void 0&&t.push(`workspaceId=${JSON.stringify(this.workspaceId)}`),`[LangSmithClient ${t.join(" ")}]`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}};Object.defineProperty(Nn,"_fallbackDirsCreated",{enumerable:!0,configurable:!0,writable:!0,value:new Set});function WI(e){return"dataset_id"in e||"dataset_name"in e}var XI=e=>e!==void 0?e:!!["TRACING_V2","TRACING"].find(r=>Fe(r)==="true");var Mn=Symbol.for("lc:context_variables");var zd=Symbol.for("langsmith:replica_trace_roots");function Lg(e,t){if(Mn in e)return e[Mn][t]}function YI(e,t,r){let i=Mn in e?e[Mn]:{};i[t]=r,e[Mn]=i}var Jc=36,kz="6ba7b810-9dad-11d1-80b4-00c04fd430c8";function QI(e){let r=Object.keys(e).sort().map(i=>`${i}:${e[i]??""}`).join("|");return Qh(r,kz)}function $z(e){return e.replace(/[-:.]/g,"")}function tE(e,t=1){let r=t.toFixed(0).slice(0,3).padStart(3,"0");return`${new Date(e).toISOString().slice(0,-1)}${r}Z`}function Fg(e,t,r=1){let i=tE(e,r);return{dottedOrder:$z(i)+t,microsecondPrecisionDatestring:i}}var Iz=new Set(["projectName","updates","reroot"]);function Ez(e){let t={};for(let r of Object.keys(e))Iz.has(r)&&(t[r]=e[r]);return t}var Dd=class e{constructor(t,r,i,n){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=r,this.project_name=i,this.replicas=n}static fromHeader(t){let r=t.split(","),i={},n=[],a,o;for(let s of r){let[c,u]=s.split("="),l=decodeURIComponent(u);c==="langsmith-metadata"?i=JSON.parse(l):c==="langsmith-tags"?n=l.split(","):c==="langsmith-project"?a=l:c==="langsmith-replicas"&&(o=JSON.parse(l).map(f=>Array.isArray(f)?f:Ez(f)))}return new e(i,n,a,o)}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(",")}},on=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}),rE(t)){Object.assign(this,{...t});return}let r=e.getDefaultConfig(),{metadata:i,...n}=t,a=n.client??e.getSharedClient(),o={...i,...n?.extra?.metadata};if(n.extra={...n.extra,metadata:o},"id"in n&&n.id==null&&delete n.id,Object.assign(this,{...r,...n,client:a}),this.execution_order??=1,this.child_execution_order??=1,this.dotted_order||(this._serialized_start_time=tE(this.start_time,this.execution_order)),this.id||(this.id=pd(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=Oz(this.replicas),!this.dotted_order){let{dottedOrder:s}=Fg(this.start_time,this.id,this.execution_order);this.parent_run?this.dotted_order=this.parent_run.dotted_order+"."+s:this.dotted_order=s}}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:Bc(),child_runs:[],api_url:wt("LANGCHAIN_ENDPOINT")??"http://localhost:1984",api_key:wt("LANGCHAIN_API_KEY"),caller_options:{},start_time:t,serialized:{},inputs:{},extra:{}}}static getSharedClient(){return e.sharedClient||(e.sharedClient=new Nn),e.sharedClient}createChild(t){let r=this.child_execution_order+1,i=this.replicas?.map(f=>{let{reroot:p,...m}=f;return m}),n=t.replicas??i,a=new e({...t,parent_run:this,project_name:this.project_name,replicas:n,client:this.client,tracingEnabled:this.tracingEnabled,execution_order:r,child_execution_order:r}),o=this.extra?.metadata??{},s=a.extra?.metadata??{};Object.keys(o).length>0&&(a.extra={...a.extra,metadata:{...o,...s}}),Mn in this&&(a[Mn]=this[Mn]);let c=Symbol.for("lc:child_config"),u=t.extra?.[c]??this.extra[c];if(Az(u)){let f={...u},p=Tz(f.callbacks)?f.callbacks.copy?.():void 0;p&&(Object.assign(p,{_parentRunId:a.id}),p.handlers?.find(nE)?.updateFromRunTree?.(a),f.callbacks=p),a.extra[c]=f}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,r),d=d.parent_run;return this.child_runs.push(a),a}async end(t,r,i=Date.now(),n){this.outputs=this.outputs??t,this.error=this.error??r,this.end_time=this.end_time??i,n&&Object.keys(n).length>0&&(this.extra=this.extra?{...this.extra,metadata:{...this.extra.metadata,...n}}:{metadata:n})}_convertToCreate(t,r,i=!0){let n=t.extra??{};if(n?.runtime?.library===void 0&&(n.runtime||(n.runtime={}),r))for(let[s,c]of Object.entries(r))n.runtime[s]||(n.runtime[s]=c);let a=t.parent_run?.id??t.parent_run_id,o;return i?o=[]:o=t.child_runs.map(s=>this._convertToCreate(s,r,i)),{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:n,serialized:t.serialized,error:t.error,inputs:t.inputs,outputs:t.outputs,session_name:t.project_name,child_runs:o,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,r){if(r.dotted_order){let i=r.dotted_order.split("."),n=null;for(let a=0;a<i.length;a++)if(i[a].slice(-Jc)===t){n=a;break}if(n!==null){let a=i.slice(n+1);r.dotted_order=a.join("."),a.length>0?r.trace_id=a[0].slice(-Jc):r.trace_id=r.id}}r.parent_run_id===t&&(r.parent_run_id=void 0)}_setReplicaTraceRoot(t,r){let i=Lg(this,zd)??{};i[t]=r,YI(this,zd,i);for(let n of this.child_runs)n._setReplicaTraceRoot(t,r)}_remapForProject(t){let{projectName:r,runtimeEnv:i,excludeChildRuns:n=!0,reroot:a=!1,distributedParentId:o,apiUrl:s,apiKey:c,workspaceId:u}=t,l=this._convertToCreate(this,i,n);if(r===this.project_name)return{...l,session_name:r};if(a){if(o)this._sliceParentId(o,l);else if(l.parent_run_id=void 0,l.dotted_order){let w=l.dotted_order.split(".");w.length>0&&(l.dotted_order=w[w.length-1],l.trace_id=l.id)}let b=QI({projectName:r,apiUrl:s,apiKey:c,workspaceId:u});this._setReplicaTraceRoot(b,l.id)}let d;if(!a){let b=Lg(this,zd)??{},w=QI({projectName:r,apiUrl:s,apiKey:c,workspaceId:u});if(d=b[w],d&&(l.trace_id=d,l.dotted_order)){let x=l.dotted_order.split("."),$=null;for(let E=0;E<x.length;E++)if(x[E].slice(-Jc)===d){$=E;break}if($!==null){let E=x.slice($);l.dotted_order=E.join(".")}}}let f=l.id,p=Vc(f,r),m;l.trace_id?m=Vc(l.trace_id,r):m=p;let g;l.parent_run_id&&(g=Vc(l.parent_run_id,r));let y;return l.dotted_order&&(y=l.dotted_order.split(".").map(x=>{let $=x.slice(-Jc),E=Vc($,r);return x.slice(0,-Jc)+E}).join(".")),{...l,id:p,trace_id:m,parent_run_id:g,dotted_order:y,session_name:r}}async postRun(t=!0){this._awaitInputsOnPost&&(this.inputs=await this.inputs);try{let r=vd();if(this.replicas&&this.replicas.length>0)for(let{projectName:i,apiKey:n,apiUrl:a,workspaceId:o,reroot:s,client:c}of this.replicas){let u=this._remapForProject({projectName:i??this.project_name,runtimeEnv:r,excludeChildRuns:!0,reroot:s,distributedParentId:this.distributedParentId,apiUrl:a,apiKey:n,workspaceId:o});await(c??this.client).createRun(u,{apiKey:n,apiUrl:a,workspaceId:o})}else{let i=this._convertToCreate(this,r,t);await this.client.createRun(i)}if(!t){ja("Posting with excludeChildRuns=false is deprecated and will be removed in a future version.");for(let i of this.child_runs)await i.postRun(!1)}this.child_runs=[]}catch(r){console.error(`Error in postRun for run ${this.id}:`,r)}}async patchRun(t){if(this.replicas&&this.replicas.length>0)for(let{projectName:r,apiKey:i,apiUrl:n,workspaceId:a,updates:o,reroot:s,client:c}of this.replicas){let u=this._remapForProject({projectName:r??this.project_name,runtimeEnv:void 0,excludeChildRuns:!0,reroot:s,distributedParentId:this.distributedParentId,apiUrl:n,apiKey:i,workspaceId:a}),l={id:u.id,name:u.name,run_type:u.run_type,start_time:u.start_time,outputs:u.outputs,error:u.error,parent_run_id:u.parent_run_id,session_name:u.session_name,reference_example_id:u.reference_example_id,end_time:u.end_time,dotted_order:u.dotted_order,trace_id:u.trace_id,events:u.events,tags:u.tags,extra:u.extra,attachments:this.attachments,...o};t?.excludeInputs||(l.inputs=u.inputs),await(c??this.client).updateRun(u.id,l,{apiKey:i,apiUrl:n,workspaceId:a})}else try{let r={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||(r.inputs=this.inputs),await this.client.updateRun(this.id,r)}catch(r){console.error(`Error in patchRun for run ${this.id}`,r)}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,r){let i=t?.callbacks,n,a,o,s=XI();if(i){let u=i?.getParentRunId?.()??"",l=i?.handlers?.find(d=>d?.name=="langchain_tracer");n=l?.getRun?.(u),a=l?.projectName,o=l?.client,s=s||!!l}return n?new e({name:n.name,id:n.id,trace_id:n.trace_id,dotted_order:n.dotted_order,client:o,tracingEnabled:s,project_name:a,tags:[...new Set((n?.tags??[]).concat(t?.tags??[]))],extra:{metadata:{...n?.extra?.metadata,...t?.metadata}}}).createChild(r):new e({...r,client:o,tracingEnabled:s,project_name:a})}static fromDottedOrder(t){return this.fromHeaders({"langsmith-trace":t})}static fromHeaders(t,r){let i="get"in t&&typeof t.get=="function"?{"langsmith-trace":t.get("langsmith-trace"),baggage:t.get("baggage")}:t,n=i["langsmith-trace"];if(!n||typeof n!="string")return;let a=n.trim(),o=a.split(".").map(l=>{let[d,f]=l.split("Z");return{strTime:d,time:Date.parse(d+"Z"),uuid:f}}),s=o[0].uuid,c={...r,name:r?.name??"parent",run_type:r?.run_type??"chain",start_time:r?.start_time??Date.now(),id:o.at(-1)?.uuid,trace_id:s,dotted_order:a};if(i.baggage&&typeof i.baggage=="string"){let l=Dd.fromHeader(i.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 r={"langsmith-trace":this.dotted_order,baggage:new Dd(this.extra?.metadata,this.tags,this.project_name,this.replicas).toHeader()};if(t)for(let[i,n]of Object.entries(r))t.set(i,n);return r}};Object.defineProperty(on,"sharedClient",{enumerable:!0,configurable:!0,writable:!0,value:null});function rE(e){return e!=null&&typeof e.createChild=="function"&&typeof e.postRun=="function"}function nE(e){return typeof e=="object"&&e!=null&&typeof e.name=="string"&&e.name==="langchain_tracer"}function eE(e){return Array.isArray(e)&&e.some(t=>nE(t))}function Tz(e){return typeof e=="object"&&e!=null&&Array.isArray(e.handlers)}function Az(e){let t=e?.callbacks;return e!=null&&typeof t=="object"&&(eE(t?.handlers)||eE(t))}function Cz(){let e=wt("LANGSMITH_RUNS_ENDPOINTS");if(!e)return[];try{let t=JSON.parse(e);if(Array.isArray(t)){let r=[];for(let i of t){if(typeof i!="object"||i===null){console.warn(`Invalid item type in LANGSMITH_RUNS_ENDPOINTS: expected object, got ${typeof i}`);continue}if(typeof i.api_url!="string"){console.warn(`Invalid api_url type in LANGSMITH_RUNS_ENDPOINTS: expected string, got ${typeof i.api_url}`);continue}if(typeof i.api_key!="string"){console.warn(`Invalid api_key type in LANGSMITH_RUNS_ENDPOINTS: expected string, got ${typeof i.api_key}`);continue}r.push({apiUrl:i.api_url.replace(/\/$/,""),apiKey:i.api_key})}return r}else if(typeof t=="object"&&t!==null){Pz(t);let r=[];for(let[i,n]of Object.entries(t)){let a=i.replace(/\/$/,"");if(typeof n=="string")r.push({apiUrl:a,apiKey:n});else{console.warn(`Invalid value type in LANGSMITH_RUNS_ENDPOINTS for URL ${i}: expected string, got ${typeof n}`);continue}}return r}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(jI(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 Oz(e){return e?e.map(t=>Array.isArray(t)?{projectName:t[0],updates:t[1]}:t):Cz()}function Pz(e){if(Object.keys(e).length>0&&Fe("ENDPOINT"))throw new Cd}var iE=A({BaseTracer:()=>At,isBaseTracer:()=>Ua}),Nz=e=>{if(e)return e.events=e.events??[],e.child_runs=e.child_runs??[],e};function Vg(e,t){if(e)return new on({...e,start_time:e._serialized_start_time??e.start_time,parent_run:Vg(t),child_runs:e.child_runs.map(r=>Vg(r)).filter(r=>r!==void 0),extra:{...e.extra,runtime:Nh()},tracingEnabled:!1})}function Bg(e,t){return e&&!Array.isArray(e)&&typeof e=="object"?e:{[t]:e}}function Ua(e){return typeof e._addRunToRunMap=="function"}var At=class extends xr{runMap=new Map;runTreeMap=new Map;usesRunTreeMap=!1;constructor(e){super(...arguments)}copy(){return this}getRunById(e){if(e!==void 0)return this.usesRunTreeMap?Nz(this.runTreeMap.get(e)):this.runMap.get(e)}stringifyError(e){return e instanceof Error?e.message+(e?.stack?`
|
|
149
|
+
https://smith.langchain.com/prompts`);let[n,a,o]=Rt(t);if(!await this._currentTenantIsOwner(n))throw await this._ownerConflictError("create a prompt",n);let s={repo_handle:a,...r?.description&&{description:r.description},...r?.readme&&{readme:r.readme},...r?.tags&&{tags:r.tags},is_public:!!r?.isPublic},c=JSON.stringify(s),u=await this.caller.call(async()=>{let d=await this._fetch(`${this.apiUrl}/repos/`,{method:"POST",headers:{...this._mergedHeaders,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:c});return await Y(d,"create prompt"),d}),{repo:l}=await u.json();return l}async createCommit(t,r,i){if(!await this.promptExists(t))throw new Error("Prompt does not exist, you must create it first.");let[n,a,o]=Rt(t),s=i?.parentCommitHash==="latest"||!i?.parentCommitHash?await this._getLatestCommitHash(`${n}/${a}`):i?.parentCommitHash,c={manifest:JSON.parse(JSON.stringify(r)),parent_commit:s,...i?.description!==void 0&&{description:i.description}},u=JSON.stringify(c),d=await(await this.caller.call(async()=>{let f=await this._fetch(`${this.apiUrl}/commits/${n}/${a}`,{method:"POST",headers:{...this._mergedHeaders,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:u});return await Y(f,"create commit"),f})).json();return this._getPromptUrl(`${n}/${a}${d.commit_hash?`:${d.commit_hash}`:""}`)}async updateExamplesMultipart(t,r=[]){return this._updateExamplesMultipart(t,r)}async _updateExamplesMultipart(t,r=[]){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 i=new FormData;for(let o of r){let s=o.id,c={...o.metadata&&{metadata:o.metadata},...o.split&&{split:o.split}},u=Mt(c,`Serializing body for example with id: ${s}`),l=new Blob([u],{type:"application/json"});if(i.append(s,l),o.inputs){let d=Mt(o.inputs,`Serializing inputs for example with id: ${s}`),f=new Blob([d],{type:"application/json"});i.append(`${s}.inputs`,f)}if(o.outputs){let d=Mt(o.outputs,`Serializing outputs whle updating example with id: ${s}`),f=new Blob([d],{type:"application/json"});i.append(`${s}.outputs`,f)}if(o.attachments)for(let[d,f]of Object.entries(o.attachments)){let p,m;Array.isArray(f)?[p,m]=f:(p=f.mimeType,m=f.data);let g=new Blob([m],{type:`${p}; length=${m.byteLength}`});i.append(`${s}.attachment.${d}`,g)}if(o.attachments_operations){let d=Mt(o.attachments_operations,`Serializing attachments while updating example with id: ${s}`),f=new Blob([d],{type:"application/json"});i.append(`${s}.attachments_operations`,f)}}let n=t??r[0]?.dataset_id;return(await this.caller.call(async()=>{let o=await this._fetch(`${this.apiUrl}${this._getPlatformEndpointPath(`datasets/${n}/examples`)}`,{method:"PATCH",headers:this._mergedHeaders,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:i});return await Y(o,"update examples"),o})).json()}async uploadExamplesMultipart(t,r=[]){return this._uploadExamplesMultipart(t,r)}async _uploadExamplesMultipart(t,r=[]){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 i=new FormData;for(let a of r){let o=(a.id??Ma()).toString(),s={created_at:a.created_at,...a.metadata&&{metadata:a.metadata},...a.split&&{split:a.split},...a.source_run_id&&{source_run_id:a.source_run_id},...a.use_source_run_io&&{use_source_run_io:a.use_source_run_io},...a.use_source_run_attachments&&{use_source_run_attachments:a.use_source_run_attachments}},c=Mt(s,`Serializing body for uploaded example with id: ${o}`),u=new Blob([c],{type:"application/json"});if(i.append(o,u),a.inputs){let l=Mt(a.inputs,`Serializing inputs for uploaded example with id: ${o}`),d=new Blob([l],{type:"application/json"});i.append(`${o}.inputs`,d)}if(a.outputs){let l=Mt(a.outputs,`Serializing outputs for uploaded example with id: ${o}`),d=new Blob([l],{type:"application/json"});i.append(`${o}.outputs`,d)}if(a.attachments)for(let[l,d]of Object.entries(a.attachments)){let f,p;Array.isArray(d)?[f,p]=d:(f=d.mimeType,p=d.data);let m=new Blob([p],{type:`${f}; length=${p.byteLength}`});i.append(`${o}.attachment.${l}`,m)}}return(await this.caller.call(async()=>{let a=await this._fetch(`${this.apiUrl}${this._getPlatformEndpointPath(`datasets/${t}/examples`)}`,{method:"POST",headers:this._mergedHeaders,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:i});return await Y(a,"upload examples"),a})).json()}async updatePrompt(t,r){if(!await this.promptExists(t))throw new Error("Prompt does not exist, you must create it first.");let[i,n]=Rt(t);if(!await this._currentTenantIsOwner(i))throw await this._ownerConflictError("update a prompt",i);let a={};if(r?.description!==void 0&&(a.description=r.description),r?.readme!==void 0&&(a.readme=r.readme),r?.tags!==void 0&&(a.tags=r.tags),r?.isPublic!==void 0&&(a.is_public=r.isPublic),r?.isArchived!==void 0&&(a.is_archived=r.isArchived),Object.keys(a).length===0)throw new Error("No valid update options provided");let o=JSON.stringify(a);return(await this.caller.call(async()=>{let c=await this._fetch(`${this.apiUrl}/repos/${i}/${n}`,{method:"PATCH",headers:{...this._mergedHeaders,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:o});return await Y(c,"update prompt"),c})).json()}async deletePrompt(t){if(!await this.promptExists(t))throw new Error("Prompt does not exist, you must create it first.");let[r,i,n]=Rt(t);if(!await this._currentTenantIsOwner(r))throw await this._ownerConflictError("delete a prompt",r);return(await this.caller.call(async()=>{let o=await this._fetch(`${this.apiUrl}/repos/${r}/${i}`,{method:"DELETE",headers:this._mergedHeaders,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await Y(o,"delete prompt"),o})).json()}_getPromptCacheKey(t,r){return`${t}${r?":with_model":""}`}async _fetchPromptFromApi(t,r){let[i,n,a]=Rt(t),s=await(await this.caller.call(async()=>{let c=await this._fetch(`${this.apiUrl}/commits/${i}/${n}/${a}${r?.includeModel?"?include_model=true":""}`,{method:"GET",headers:this._mergedHeaders,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await Y(c,"pull prompt commit"),c})).json();return{owner:i,repo:n,commit_hash:s.commit_hash,manifest:s.manifest,examples:s.examples,hub_model_config:s.model_config,hub_model_provider:s.model_provider}}async pullPromptCommit(t,r){gz(t,r?.dangerouslyPullPublicPrompt);let i=this._fetchPromptFromApi.bind(this,t,r);if(!r?.skipCache&&this._promptCache){let n=this._getPromptCacheKey(t,r?.includeModel),a=this._promptCache.get(n,i);if(a)return a;let o=await i();return this._promptCache.set(n,o,i),o}return this._fetchPromptFromApi(t,r)}async _pullPrompt(t,r){let i=await this.pullPromptCommit(t,{includeModel:r?.includeModel,skipCache:r?.skipCache,dangerouslyPullPublicPrompt:r?.dangerouslyPullPublicPrompt});return JSON.stringify(i.manifest)}async pushPrompt(t,r){return await this.promptExists(t)?r&&Object.keys(r).some(n=>n!=="object")&&await this.updatePrompt(t,{description:r?.description,readme:r?.readme,tags:r?.tags,isPublic:r?.isPublic}):await this.createPrompt(t,{description:r?.description,readme:r?.readme,tags:r?.tags,isPublic:r?.isPublic}),r?.object?await this.createCommit(t,r?.object,{parentCommitHash:r?.parentCommitHash,description:r?.commitDescription}):await this._getPromptUrl(t)}async agentExists(t){let[r,i]=Rt(t);return this._repoExists(r,i)}async skillExists(t){let[r,i]=Rt(t);return this._repoExists(r,i)}async pullAgent(t,r){return await this._pullDirectory(t,"agent",r?.version)}async pullSkill(t,r){return await this._pullDirectory(t,"skill",r?.version)}async pushAgent(t,r){return this._pushDirectory(t,"agent",r)}async pushSkill(t,r){return this._pushDirectory(t,"skill",r)}async deleteAgent(t){return this._deleteDirectory(t)}async deleteSkill(t){return this._deleteDirectory(t)}async*listAgents(t){yield*this._listReposByType("agent",t)}async*listSkills(t){yield*this._listReposByType("skill",t)}async*_listReposByType(t,r){let i=new URLSearchParams;i.append("repo_type",t),i.append("is_archived",(!!r?.isArchived).toString()),r?.isPublic!==void 0&&i.append("is_public",r.isPublic.toString()),r?.query&&i.append("query",r.query);for await(let n of this._getPaginated("/repos",i,a=>a.repos))yield*n}async _pullDirectory(t,r,i){let[n,a,o]=Rt(t),s=i??(o!=="latest"?o:void 0),c=new URL(`${this.apiUrl}/v1/platform/hub/repos/${n}/${a}/directories`);return c.searchParams.set("repo_type",r),s&&c.searchParams.set("commit",s),await(await this.caller.call(async()=>{let l=await this._fetch(c.toString(),{method:"GET",headers:this._mergedHeaders,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await Y(l,"pull directory"),l})).json()}async _pushDirectory(t,r,i){if(i.parentCommit!==void 0&&(i.parentCommit.length<8||i.parentCommit.length>64))throw new Error("parent_commit must be 8-64 characters");let[n,a]=Rt(t);if(!await this._currentTenantIsOwner(n))throw await this._ownerConflictError(`push ${r}`,n);if(await this._repoExists(n,a))(i.description!==void 0||i.readme!==void 0||i.tags!==void 0||i.isPublic!==void 0)&&await this._updateRepoMetadata(n,a,i);else{let f=/^[a-z][a-z0-9-_]*$/;if(!f.test(a))throw new Error(`Invalid repo_handle ${JSON.stringify(a)}: must match ${f}`);await this._createRepo(a,r,i)}let o={files:i.files};i.parentCommit&&(o.parent_commit=i.parentCommit);let u=(await(await this.caller.call(async()=>{let f=await this._fetch(`${this.apiUrl}/v1/platform/hub/repos/${n}/${a}/directories/commits`,{method:"POST",headers:{...this._mergedHeaders,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:JSON.stringify(o)});return await Y(f,`push ${r}`),f})).json()).commit.commit_hash,l=await this._getSettings(),d=new URLSearchParams({organizationId:l.id});return`${this.getHostUrl()}/context/${a}/${u.slice(0,8)}?${d.toString()}`}async _deleteDirectory(t){let[r,i]=Rt(t);if(!await this._currentTenantIsOwner(r))throw await this._ownerConflictError("delete",r);await this.caller.call(async()=>{let n=await this._fetch(`${this.apiUrl}/v1/platform/hub/repos/${r}/${i}/directories`,{method:"DELETE",headers:this._mergedHeaders,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await Y(n,"delete directory"),n})}async _repoExists(t,r){try{return await this.caller.call(async()=>{let i=await this._fetch(`${this.apiUrl}/repos/${t}/${r}`,{method:"GET",headers:this._mergedHeaders,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await Y(i,"check repo exists"),i}),!0}catch(i){if(Pd(i))return!1;throw i}}async _createRepo(t,r,i){let n={repo_handle:t,repo_type:r,is_public:!!i.isPublic};i.description!==void 0&&(n.description=i.description),i.readme!==void 0&&(n.readme=i.readme),i.tags!==void 0&&(n.tags=i.tags);try{await this.caller.call(async()=>{let a=await this._fetch(`${this.apiUrl}/repos/`,{method:"POST",headers:{...this._mergedHeaders,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:JSON.stringify(n)});return await Y(a,`create ${r}`),a})}catch(a){if(RI(a))return;throw a}}async _updateRepoMetadata(t,r,i){let n={};i.description!==void 0&&(n.description=i.description),i.readme!==void 0&&(n.readme=i.readme),i.tags!==void 0&&(n.tags=i.tags),i.isPublic!==void 0&&(n.is_public=i.isPublic),Object.keys(n).length!==0&&await this.caller.call(async()=>{let a=await this._fetch(`${this.apiUrl}/repos/${t}/${r}`,{method:"PATCH",headers:{...this._mergedHeaders,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:JSON.stringify(n)});return await Y(a,"update repo metadata"),a})}async clonePublicDataset(t,r={}){let{sourceApiUrl:i=this.apiUrl,datasetName:n}=r,[a,o]=this.parseTokenOrUrl(t,i),s=new e({apiUrl:a,apiKey:"placeholder"}),c=await s.readSharedDataset(o),u=n||c.name;try{if(await this.hasDataset({datasetId:u})){console.log(`Dataset ${u} already exists in your tenant. Skipping.`);return}}catch{}let l=await s.listSharedExamples(o),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(f=>f.inputs),outputs:l.flatMap(f=>f.outputs?[f.outputs]:[]),datasetId:d.id})}catch(f){throw console.error(`An error occurred while creating dataset ${u}. You should delete it manually.`),f}}parseTokenOrUrl(t,r,i=2,n="dataset"){try{return pe(t),[r,t]}catch{}try{let o=new URL(t).pathname.split("/").filter(s=>s!=="");if(o.length>=i){let s=o[o.length-i];return[r,s]}else throw new Error(`Invalid public ${n} URL: ${t}`)}catch{throw new Error(`Invalid public ${n} 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();for(await new Promise(t=>setTimeout(t,1));this._pendingDrains.size>0;)await Promise.all([...this._pendingDrains]);await Promise.all([...this.autoBatchQueue.items.map(({itemPromise:t})=>t),this.batchIngestCaller.queue.onIdle()]),this.langSmithToOTELTranslator!==void 0&&await xI()?.DEFAULT_LANGSMITH_SPAN_PROCESSOR?.forceFlush()}toString(){let t=[`apiUrl=${JSON.stringify(this.apiUrl)}`];return this.webUrl!==void 0&&t.push(`webUrl=${JSON.stringify(this.webUrl)}`),this.workspaceId!==void 0&&t.push(`workspaceId=${JSON.stringify(this.workspaceId)}`),`[LangSmithClient ${t.join(" ")}]`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}};Object.defineProperty(Nn,"_fallbackDirsCreated",{enumerable:!0,configurable:!0,writable:!0,value:new Set});function WI(e){return"dataset_id"in e||"dataset_name"in e}var XI=e=>e!==void 0?e:!!["TRACING_V2","TRACING"].find(r=>Fe(r)==="true");var Mn=Symbol.for("lc:context_variables");var zd=Symbol.for("langsmith:replica_trace_roots");function Lg(e,t){if(Mn in e)return e[Mn][t]}function YI(e,t,r){let i=Mn in e?e[Mn]:{};i[t]=r,e[Mn]=i}var Jc=36,kz="6ba7b810-9dad-11d1-80b4-00c04fd430c8";function QI(e){let r=Object.keys(e).sort().map(i=>`${i}:${e[i]??""}`).join("|");return Qh(r,kz)}function $z(e){return e.replace(/[-:.]/g,"")}function tE(e,t=1){let r=t.toFixed(0).slice(0,3).padStart(3,"0");return`${new Date(e).toISOString().slice(0,-1)}${r}Z`}function Fg(e,t,r=1){let i=tE(e,r);return{dottedOrder:$z(i)+t,microsecondPrecisionDatestring:i}}var Iz=new Set(["projectName","updates","reroot"]);function Ez(e){let t={};for(let r of Object.keys(e))Iz.has(r)&&(t[r]=e[r]);return t}var Dd=class e{constructor(t,r,i,n){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=r,this.project_name=i,this.replicas=n}static fromHeader(t){let r=t.split(","),i={},n=[],a,o;for(let s of r){let[c,u]=s.split("="),l=decodeURIComponent(u);c==="langsmith-metadata"?i=JSON.parse(l):c==="langsmith-tags"?n=l.split(","):c==="langsmith-project"?a=l:c==="langsmith-replicas"&&(o=JSON.parse(l).map(f=>Array.isArray(f)?f:Ez(f)))}return new e(i,n,a,o)}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(",")}},on=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}),rE(t)){Object.assign(this,{...t});return}let r=e.getDefaultConfig(),{metadata:i,...n}=t,a=n.client??e.getSharedClient(),o={...i,...n?.extra?.metadata};if(n.extra={...n.extra,metadata:o},"id"in n&&n.id==null&&delete n.id,Object.assign(this,{...r,...n,client:a}),this.execution_order??=1,this.child_execution_order??=1,this.dotted_order||(this._serialized_start_time=tE(this.start_time,this.execution_order)),this.id||(this.id=pd(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=Oz(this.replicas),!this.dotted_order){let{dottedOrder:s}=Fg(this.start_time,this.id,this.execution_order);this.parent_run?this.dotted_order=this.parent_run.dotted_order+"."+s:this.dotted_order=s}}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:Bc(),child_runs:[],api_url:wt("LANGCHAIN_ENDPOINT")??"http://localhost:1984",api_key:wt("LANGCHAIN_API_KEY"),caller_options:{},start_time:t,serialized:{},inputs:{},extra:{}}}static getSharedClient(){return e.sharedClient||(e.sharedClient=new Nn),e.sharedClient}createChild(t){let r=this.child_execution_order+1,i=this.replicas?.map(f=>{let{reroot:p,...m}=f;return m}),n=t.replicas??i,a=new e({...t,parent_run:this,project_name:this.project_name,replicas:n,client:this.client,tracingEnabled:this.tracingEnabled,execution_order:r,child_execution_order:r}),o=this.extra?.metadata??{},s=a.extra?.metadata??{};Object.keys(o).length>0&&(a.extra={...a.extra,metadata:{...o,...s}}),Mn in this&&(a[Mn]=this[Mn]);let c=Symbol.for("lc:child_config"),u=t.extra?.[c]??this.extra[c];if(Az(u)){let f={...u},p=Tz(f.callbacks)?f.callbacks.copy?.():void 0;p&&(Object.assign(p,{_parentRunId:a.id}),p.handlers?.find(nE)?.updateFromRunTree?.(a),f.callbacks=p),a.extra[c]=f}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,r),d=d.parent_run;return this.child_runs.push(a),a}async end(t,r,i=Date.now(),n){this.outputs=this.outputs??t,this.error=this.error??r,this.end_time=this.end_time??i,n&&Object.keys(n).length>0&&(this.extra=this.extra?{...this.extra,metadata:{...this.extra.metadata,...n}}:{metadata:n})}_convertToCreate(t,r,i=!0){let n=t.extra??{};if(n?.runtime?.library===void 0&&(n.runtime||(n.runtime={}),r))for(let[s,c]of Object.entries(r))n.runtime[s]||(n.runtime[s]=c);let a=t.parent_run?.id??t.parent_run_id,o;return i?o=[]:o=t.child_runs.map(s=>this._convertToCreate(s,r,i)),{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:n,serialized:t.serialized,error:t.error,inputs:t.inputs,outputs:t.outputs,session_name:t.project_name,child_runs:o,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,r){if(r.dotted_order){let i=r.dotted_order.split("."),n=null;for(let a=0;a<i.length;a++)if(i[a].slice(-Jc)===t){n=a;break}if(n!==null){let a=i.slice(n+1);r.dotted_order=a.join("."),a.length>0?r.trace_id=a[0].slice(-Jc):r.trace_id=r.id}}r.parent_run_id===t&&(r.parent_run_id=void 0)}_setReplicaTraceRoot(t,r){let i=Lg(this,zd)??{};i[t]=r,YI(this,zd,i);for(let n of this.child_runs)n._setReplicaTraceRoot(t,r)}_remapForProject(t){let{projectName:r,runtimeEnv:i,excludeChildRuns:n=!0,reroot:a=!1,distributedParentId:o,apiUrl:s,apiKey:c,workspaceId:u}=t,l=this._convertToCreate(this,i,n);if(r===this.project_name)return{...l,session_name:r};if(a){if(o)this._sliceParentId(o,l);else if(l.parent_run_id=void 0,l.dotted_order){let w=l.dotted_order.split(".");w.length>0&&(l.dotted_order=w[w.length-1],l.trace_id=l.id)}let b=QI({projectName:r,apiUrl:s,apiKey:c,workspaceId:u});this._setReplicaTraceRoot(b,l.id)}let d;if(!a){let b=Lg(this,zd)??{},w=QI({projectName:r,apiUrl:s,apiKey:c,workspaceId:u});if(d=b[w],d&&(l.trace_id=d,l.dotted_order)){let x=l.dotted_order.split("."),$=null;for(let E=0;E<x.length;E++)if(x[E].slice(-Jc)===d){$=E;break}if($!==null){let E=x.slice($);l.dotted_order=E.join(".")}}}let f=l.id,p=Vc(f,r),m;l.trace_id?m=Vc(l.trace_id,r):m=p;let g;l.parent_run_id&&(g=Vc(l.parent_run_id,r));let y;return l.dotted_order&&(y=l.dotted_order.split(".").map(x=>{let $=x.slice(-Jc),E=Vc($,r);return x.slice(0,-Jc)+E}).join(".")),{...l,id:p,trace_id:m,parent_run_id:g,dotted_order:y,session_name:r}}async postRun(t=!0){this._awaitInputsOnPost&&(this.inputs=await this.inputs);try{let r=vd();if(this.replicas&&this.replicas.length>0)for(let{projectName:i,apiKey:n,apiUrl:a,workspaceId:o,reroot:s,client:c}of this.replicas){let u=this._remapForProject({projectName:i??this.project_name,runtimeEnv:r,excludeChildRuns:!0,reroot:s,distributedParentId:this.distributedParentId,apiUrl:a,apiKey:n,workspaceId:o});await(c??this.client).createRun(u,{apiKey:n,apiUrl:a,workspaceId:o})}else{let i=this._convertToCreate(this,r,t);await this.client.createRun(i)}if(!t){ja("Posting with excludeChildRuns=false is deprecated and will be removed in a future version.");for(let i of this.child_runs)await i.postRun(!1)}this.child_runs=[]}catch(r){console.error(`Error in postRun for run ${this.id}:`,r)}}async patchRun(t){if(this.replicas&&this.replicas.length>0)for(let{projectName:r,apiKey:i,apiUrl:n,workspaceId:a,updates:o,reroot:s,client:c}of this.replicas){let u=this._remapForProject({projectName:r??this.project_name,runtimeEnv:void 0,excludeChildRuns:!0,reroot:s,distributedParentId:this.distributedParentId,apiUrl:n,apiKey:i,workspaceId:a}),l={id:u.id,name:u.name,run_type:u.run_type,start_time:u.start_time,outputs:u.outputs,error:u.error,parent_run_id:u.parent_run_id,session_name:u.session_name,reference_example_id:u.reference_example_id,end_time:u.end_time,dotted_order:u.dotted_order,trace_id:u.trace_id,events:u.events,tags:u.tags,extra:u.extra,attachments:this.attachments,...o};t?.excludeInputs||(l.inputs=u.inputs),await(c??this.client).updateRun(u.id,l,{apiKey:i,apiUrl:n,workspaceId:a})}else try{let r={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||(r.inputs=this.inputs),await this.client.updateRun(this.id,r)}catch(r){console.error(`Error in patchRun for run ${this.id}`,r)}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,r){let i=t?.callbacks,n,a,o,s=XI();if(i){let u=i?.getParentRunId?.()??"",l=i?.handlers?.find(d=>d?.name=="langchain_tracer");n=l?.getRun?.(u),a=l?.projectName,o=l?.client,s=s||!!l}return n?new e({name:n.name,id:n.id,trace_id:n.trace_id,dotted_order:n.dotted_order,client:o,tracingEnabled:s,project_name:a,tags:[...new Set((n?.tags??[]).concat(t?.tags??[]))],extra:{metadata:{...n?.extra?.metadata,...t?.metadata}}}).createChild(r):new e({...r,client:o,tracingEnabled:s,project_name:a})}static fromDottedOrder(t){return this.fromHeaders({"langsmith-trace":t})}static fromHeaders(t,r){let i="get"in t&&typeof t.get=="function"?{"langsmith-trace":t.get("langsmith-trace"),baggage:t.get("baggage")}:t,n=i["langsmith-trace"];if(!n||typeof n!="string")return;let a=n.trim(),o=a.split(".").map(l=>{let[d,f]=l.split("Z");return{strTime:d,time:Date.parse(d+"Z"),uuid:f}}),s=o[0].uuid,c={...r,name:r?.name??"parent",run_type:r?.run_type??"chain",start_time:r?.start_time??Date.now(),id:o.at(-1)?.uuid,trace_id:s,dotted_order:a};if(i.baggage&&typeof i.baggage=="string"){let l=Dd.fromHeader(i.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 r={"langsmith-trace":this.dotted_order,baggage:new Dd(this.extra?.metadata,this.tags,this.project_name,this.replicas).toHeader()};if(t)for(let[i,n]of Object.entries(r))t.set(i,n);return r}};Object.defineProperty(on,"sharedClient",{enumerable:!0,configurable:!0,writable:!0,value:null});function rE(e){return e!=null&&typeof e.createChild=="function"&&typeof e.postRun=="function"}function nE(e){return typeof e=="object"&&e!=null&&typeof e.name=="string"&&e.name==="langchain_tracer"}function eE(e){return Array.isArray(e)&&e.some(t=>nE(t))}function Tz(e){return typeof e=="object"&&e!=null&&Array.isArray(e.handlers)}function Az(e){let t=e?.callbacks;return e!=null&&typeof t=="object"&&(eE(t?.handlers)||eE(t))}function Cz(){let e=wt("LANGSMITH_RUNS_ENDPOINTS");if(!e)return[];try{let t=JSON.parse(e);if(Array.isArray(t)){let r=[];for(let i of t){if(typeof i!="object"||i===null){console.warn(`Invalid item type in LANGSMITH_RUNS_ENDPOINTS: expected object, got ${typeof i}`);continue}if(typeof i.api_url!="string"){console.warn(`Invalid api_url type in LANGSMITH_RUNS_ENDPOINTS: expected string, got ${typeof i.api_url}`);continue}if(typeof i.api_key!="string"){console.warn(`Invalid api_key type in LANGSMITH_RUNS_ENDPOINTS: expected string, got ${typeof i.api_key}`);continue}r.push({apiUrl:i.api_url.replace(/\/$/,""),apiKey:i.api_key})}return r}else if(typeof t=="object"&&t!==null){Pz(t);let r=[];for(let[i,n]of Object.entries(t)){let a=i.replace(/\/$/,"");if(typeof n=="string")r.push({apiUrl:a,apiKey:n});else{console.warn(`Invalid value type in LANGSMITH_RUNS_ENDPOINTS for URL ${i}: expected string, got ${typeof n}`);continue}}return r}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(jI(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 Oz(e){return e?e.map(t=>Array.isArray(t)?{projectName:t[0],updates:t[1]}:t):Cz()}function Pz(e){if(Object.keys(e).length>0&&Fe("ENDPOINT"))throw new Cd}var iE=A({BaseTracer:()=>At,isBaseTracer:()=>Ua}),Nz=e=>{if(e)return e.events=e.events??[],e.child_runs=e.child_runs??[],e};function Vg(e,t){if(e)return new on({...e,start_time:e._serialized_start_time??e.start_time,parent_run:Vg(t),child_runs:e.child_runs.map(r=>Vg(r)).filter(r=>r!==void 0),extra:{...e.extra,runtime:Nh()},tracingEnabled:!1})}function Bg(e,t){return e&&!Array.isArray(e)&&typeof e=="object"?e:{[t]:e}}function Ua(e){return typeof e._addRunToRunMap=="function"}var At=class extends xr{runMap=new Map;runTreeMap=new Map;usesRunTreeMap=!1;constructor(e){super(...arguments)}copy(){return this}getRunById(e){if(e!==void 0)return this.usesRunTreeMap?Nz(this.runTreeMap.get(e)):this.runMap.get(e)}stringifyError(e){return e instanceof Error?e.message+(e?.stack?`
|
|
150
150
|
|
|
151
151
|
${e.stack}`:""):typeof e=="string"?e:`${e}`}_addChildRun(e,t){e.child_runs.push(t)}_addRunToRunMap(e){let{dottedOrder:t,microsecondPrecisionDatestring:r}=Fg(new Date(e.start_time).getTime(),e.id,e.execution_order),i={...e},n=this.getRunById(i.parent_run_id);if(i.parent_run_id!==void 0?n?(this._addChildRun(n,i),n.child_execution_order=Math.max(n.child_execution_order,i.child_execution_order),i.trace_id=n.trace_id,n.dotted_order!==void 0&&(i.dotted_order=[n.dotted_order,t].join("."),i._serialized_start_time=r)):i.parent_run_id=void 0:(i.trace_id=i.id,i.dotted_order=t,i._serialized_start_time=r),this.usesRunTreeMap){let a=Vg(i,n);a!==void 0&&this.runTreeMap.set(i.id,a)}else this.runMap.set(i.id,i);return i}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,r,i,n,a,o,s){let c=this._getExecutionOrder(i),u=Date.now(),l=o?{...n,metadata:o}:n,d={id:r,name:s??e.id[e.id.length-1],parent_run_id:i,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,r,i,n,a,o,s){let c=this.getRunById(r)??this._createRunForLLMStart(e,t,r,i,n,a,o,s);return await this.onRunCreate?.(c),await this.onLLMStart?.(c),c}_createRunForChatModelStart(e,t,r,i,n,a,o,s){let c=this._getExecutionOrder(i),u=Date.now(),l=o?{...n,metadata:o}:n,d={id:r,name:s??e.id[e.id.length-1],parent_run_id:i,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,r,i,n,a,o,s){let c=this.getRunById(r)??this._createRunForChatModelStart(e,t,r,i,n,a,o,s);return await this.onRunCreate?.(c),await this.onLLMStart?.(c),c}async handleLLMEnd(e,t,r,i,n){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,...n},await this.onLLMEnd?.(a),await this._endTrace(a),a}async handleLLMError(e,t,r,i,n){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,...n},await this.onLLMError?.(a),await this._endTrace(a),a}_createRunForChainStart(e,t,r,i,n,a,o,s,c){let u=this._getExecutionOrder(i),l=Date.now(),d={id:r,name:s??e.id[e.id.length-1],parent_run_id:i,start_time:l,serialized:e,events:[{name:"start",time:new Date(l).toISOString()}],inputs:t,execution_order:u,child_execution_order:u,run_type:o??"chain",child_runs:[],extra:a?{...c,metadata:a}:{...c},tags:n||[]};return this._addRunToRunMap(d)}async handleChainStart(e,t,r,i,n,a,o,s){let c=this.getRunById(r)??this._createRunForChainStart(e,t,r,i,n,a,o,s);return await this.onRunCreate?.(c),await this.onChainStart?.(c),c}async handleChainEnd(e,t,r,i,n){let a=this.getRunById(t);if(!a)throw new Error("No chain run to end.");return a.end_time=Date.now(),a.outputs=Bg(e,"output"),a.events.push({name:"end",time:new Date(a.end_time).toISOString()}),n?.inputs!==void 0&&(a.inputs=Bg(n.inputs,"input")),await this.onChainEnd?.(a),await this._endTrace(a),a}async handleChainError(e,t,r,i,n){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()}),n?.inputs!==void 0&&(a.inputs=Bg(n.inputs,"input")),await this.onChainError?.(a),await this._endTrace(a),a}_createRunForToolStart(e,t,r,i,n,a,o){let s=this._getExecutionOrder(i),c=Date.now(),u={id:r,name:o??e.id[e.id.length-1],parent_run_id:i,start_time:c,serialized:e,events:[{name:"start",time:new Date(c).toISOString()}],inputs:{input:t},execution_order:s,child_execution_order:s,run_type:"tool",child_runs:[],extra:a?{metadata:a}:{},tags:n||[]};return this._addRunToRunMap(u)}async handleToolStart(e,t,r,i,n,a,o){let s=this.getRunById(r)??this._createRunForToolStart(e,t,r,i,n,a,o);return await this.onRunCreate?.(s),await this.onToolStart?.(s),s}async handleToolEnd(e,t){let r=this.getRunById(t);if(!r||r?.run_type!=="tool")throw new Error("No tool run to end");return r.end_time=Date.now(),r.outputs={output:e},r.events.push({name:"end",time:new Date(r.end_time).toISOString()}),await this.onToolEnd?.(r),await this._endTrace(r),r}async handleToolError(e,t){let r=this.getRunById(t);if(!r||r?.run_type!=="tool")throw new Error("No tool run to end");return r.end_time=Date.now(),r.error=this.stringifyError(e),r.events.push({name:"error",time:new Date(r.end_time).toISOString()}),await this.onToolError?.(r),await this._endTrace(r),r}async handleAgentAction(e,t){let r=this.getRunById(t);if(!r||r?.run_type!=="chain")return;let i=r;i.actions=i.actions||[],i.actions.push(e),i.events.push({name:"agent_action",time:new Date().toISOString(),kwargs:{action:e}}),await this.onAgentAction?.(r)}async handleAgentEnd(e,t){let r=this.getRunById(t);!r||r?.run_type!=="chain"||(r.events.push({name:"agent_end",time:new Date().toISOString(),kwargs:{action:e}}),await this.onAgentEnd?.(r))}_createRunForRetrieverStart(e,t,r,i,n,a,o){let s=this._getExecutionOrder(i),c=Date.now(),u={id:r,name:o??e.id[e.id.length-1],parent_run_id:i,start_time:c,serialized:e,events:[{name:"start",time:new Date(c).toISOString()}],inputs:{query:t},execution_order:s,child_execution_order:s,run_type:"retriever",child_runs:[],extra:a?{metadata:a}:{},tags:n||[]};return this._addRunToRunMap(u)}async handleRetrieverStart(e,t,r,i,n,a,o){let s=this.getRunById(r)??this._createRunForRetrieverStart(e,t,r,i,n,a,o);return await this.onRunCreate?.(s),await this.onRetrieverStart?.(s),s}async handleRetrieverEnd(e,t){let r=this.getRunById(t);if(!r||r?.run_type!=="retriever")throw new Error("No retriever run to end");return r.end_time=Date.now(),r.outputs={documents:e},r.events.push({name:"end",time:new Date(r.end_time).toISOString()}),await this.onRetrieverEnd?.(r),await this._endTrace(r),r}async handleRetrieverError(e,t){let r=this.getRunById(t);if(!r||r?.run_type!=="retriever")throw new Error("No retriever run to end");return r.end_time=Date.now(),r.error=this.stringifyError(e),r.events.push({name:"error",time:new Date(r.end_time).toISOString()}),await this.onRetrieverError?.(r),await this._endTrace(r),r}async handleText(e,t){let r=this.getRunById(t);!r||r?.run_type!=="chain"||(r.events.push({name:"text",time:new Date().toISOString(),kwargs:{text:e}}),await this.onText?.(r))}async handleLLMNewToken(e,t,r,i,n,a){let o=this.getRunById(r);if(!o||o?.run_type!=="llm")throw new Error('Invalid "runId" provided to "handleLLMNewToken" callback.');return o.events.push({name:"new_token",time:new Date().toISOString(),kwargs:{token:e,idx:t,chunk:a?.chunk}}),await this.onLLMNewToken?.(o,e,{chunk:a?.chunk}),o}};var oE=A({ConsoleCallbackHandler:()=>Ud}),sE={bold:{open:"\x1B[1m",close:"\x1B[22m"},color:{grey:{open:"\x1B[90m",close:"\x1B[39m"},green:{open:"\x1B[32m",close:"\x1B[39m"},cyan:{open:"\x1B[36m",close:"\x1B[39m"},red:{open:"\x1B[31m",close:"\x1B[39m"},blue:{open:"\x1B[34m",close:"\x1B[39m"}}};function Kt(e,t){return`${e.open}${t}${e.close}`}function Ur(e,t){try{return JSON.stringify(e,null,2)}catch{return t}}function aE(e){return typeof e=="string"?e.trim():e==null?e:Ur(e,e.toString())}function zi(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:or}=sE,Ud=class extends At{name="console_callback_handler";persistRun(e){return Promise.resolve()}getParents(e){let t=[],r=e;for(;r.parent_run_id;){let i=this.runMap.get(r.parent_run_id);if(i)t.push(i),r=i;else break}return t}getBreadcrumbs(e){let t=[...this.getParents(e).reverse(),e].map((r,i,n)=>{let a=`${r.execution_order}:${r.run_type}:${r.name}`;return i===n.length-1?Kt(sE.bold,a):a}).join(" > ");return Kt(or.grey,t)}onChainStart(e){let t=this.getBreadcrumbs(e);console.log(`${Kt(or.green,"[chain/start]")} [${t}] Entering Chain run with input: ${Ur(e.inputs,"[inputs]")}`)}onChainEnd(e){let t=this.getBreadcrumbs(e);console.log(`${Kt(or.cyan,"[chain/end]")} [${t}] [${zi(e)}] Exiting Chain run with output: ${Ur(e.outputs,"[outputs]")}`)}onChainError(e){let t=this.getBreadcrumbs(e);console.log(`${Kt(or.red,"[chain/error]")} [${t}] [${zi(e)}] Chain run errored with error: ${Ur(e.error,"[error]")}`)}onLLMStart(e){let t=this.getBreadcrumbs(e),r="prompts"in e.inputs?{prompts:e.inputs.prompts.map(i=>i.trim())}:e.inputs;console.log(`${Kt(or.green,"[llm/start]")} [${t}] Entering LLM run with input: ${Ur(r,"[inputs]")}`)}onLLMEnd(e){let t=this.getBreadcrumbs(e);console.log(`${Kt(or.cyan,"[llm/end]")} [${t}] [${zi(e)}] Exiting LLM run with output: ${Ur(e.outputs,"[response]")}`)}onLLMError(e){let t=this.getBreadcrumbs(e);console.log(`${Kt(or.red,"[llm/error]")} [${t}] [${zi(e)}] LLM run errored with error: ${Ur(e.error,"[error]")}`)}onToolStart(e){let t=this.getBreadcrumbs(e);console.log(`${Kt(or.green,"[tool/start]")} [${t}] Entering Tool run with input: "${aE(e.inputs.input)}"`)}onToolEnd(e){let t=this.getBreadcrumbs(e);console.log(`${Kt(or.cyan,"[tool/end]")} [${t}] [${zi(e)}] Exiting Tool run with output: "${aE(e.outputs?.output)}"`)}onToolError(e){let t=this.getBreadcrumbs(e);console.log(`${Kt(or.red,"[tool/error]")} [${t}] [${zi(e)}] Tool run errored with error: ${Ur(e.error,"[error]")}`)}onRetrieverStart(e){let t=this.getBreadcrumbs(e);console.log(`${Kt(or.green,"[retriever/start]")} [${t}] Entering Retriever run with input: ${Ur(e.inputs,"[inputs]")}`)}onRetrieverEnd(e){let t=this.getBreadcrumbs(e);console.log(`${Kt(or.cyan,"[retriever/end]")} [${t}] [${zi(e)}] Exiting Retriever run with output: ${Ur(e.outputs,"[outputs]")}`)}onRetrieverError(e){let t=this.getBreadcrumbs(e);console.log(`${Kt(or.red,"[retriever/error]")} [${t}] [${zi(e)}] Retriever run errored with error: ${Ur(e.error,"[error]")}`)}onAgentAction(e){let t=e,r=this.getBreadcrumbs(e);console.log(`${Kt(or.blue,"[agent/action]")} [${r}] Agent selected action: ${Ur(t.actions[t.actions.length-1],"[action]")}`)}};var Zg,Ld=()=>(Zg===void 0&&(Zg=new Nn(Ht("LANGCHAIN_CALLBACKS_BACKGROUND")==="false"?{blockOnRootRunFinalization:!0}:{})),Zg);var Gg=class{getStore(){}run(t,r){return r()}},Hg=Symbol.for("ls:tracing_async_local_storage"),Rz=new Gg,Jg=class{getInstance(){return globalThis[Hg]??Rz}initializeGlobalInstance(t){globalThis[Hg]===void 0&&(globalThis[Hg]=t)}},Mz=new Jg;function cE(e=!1){let t=Mz.getInstance().getStore();if(!e&&t===void 0)throw new Error(`Could not get the current run tree.
|
|
152
152
|
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import d from"./
|
|
2
|
+
import d from"./JCQQIAIE.js";import c from"./M536RNIN.js";import a from"./4AFANEZZ.js";import{a as T}from"./ONARC6AZ.js";import{a as S}from"./7VD3Y4IF.js";import{a as y}from"./LHG6NOEP.js";import{b as x}from"./CVHXDPJO.js";import"./RMEDO4JC.js";import"./ISFTCFSJ.js";import{G as f,I as r,h as $,i as n,q as b}from"./FFF5HUPM.js";import"./QPIMTXPL.js";export default $arcgis.t(([d,,{a:u,b:w,e:C,f:I},{c:h,e:m,f:e,g:L,h:_,j:D,l:k}])=>{var E=$`calcite-modal{--calcite-modal-content-padding: 0}.instant-apps-language-translator__header{display:flex;justify-content:space-between;width:100%}.instant-apps-language-translator__header-text{font-size:18px}.instant-apps-language-translator__saving-indicator{display:flex;align-items:center;font-size:14.5px;color:var(--calcite-color-brand)}.instant-apps-language-translator__writing-icon{display:flex;justify-content:center;align-items:center;margin-right:5px}.instant-apps-language-translator__close-button{width:175px}.instant-apps-language-translator__header-tip{padding:20px;max-width:45vw}.instant-apps-language-translator__top-bar{display:flex;width:100%;position:sticky;top:-2%;background:var(--calcite-color-foreground-1);z-index:1}.instant-apps-language-translator__top-bar calcite-label{--calcite-label-margin-bottom: 0;font-weight:var(--calcite-font-weight-medium)}.instant-apps-language-translator__top-bar-section{box-sizing:border-box;display:flex;align-items:center;width:50%;padding:.5%}.instant-apps-language-translator__user-lang-text{font-weight:var(--calcite-font-weight-medium)}.instant-apps-language-translator__top-bar-section:first-child{display:flex;justify-content:space-between}.instant-apps-language-translator__top-bar-section:nth-child(2) calcite-select{width:255px}.instant-apps-language-translator__collapse-search-container{display:flex;justify-content:space-between}.instant-apps-language-translator__collapse-search-container calcite-input{width:300px;margin-left:30px}.instant-apps-language-translator__primary-content{display:flex;align-items:center}.instant-apps-language-translator__primary-content .instant-apps-language-translator__close-button,.instant-apps-language-translator__primary-content .instant-apps-language-translator__saving-indicator,.instant-apps-language-translator__primary-content .instant-apps-language-translator__last-auto-save{margin-right:20px}.ck.ck-reset.ck-editor.ck-rounded-corners{margin-top:10px!important;margin-left:55px!important}.ck-editor__editable{height:70px!important;font-size:.875rem!important;line-height:1.375!important}.ck.ck-editor__editable_inline>:first-child,.ck.ck-editor__editable_inline>:last-child{--ck-spacing-large: .5rem !important}:host:dir(rtl) .instant-apps-language-translator__primary-content .instant-apps-language-translator__close-button,:host:dir(rtl) .instant-apps-language-translator__primary-content .instant-apps-language-translator__saving-indicator,:host:dir(rtl) .instant-apps-language-translator__primary-content .instant-apps-language-translator__last-auto-save{margin-right:unset;margin-left:20px}`,l="instant-apps-language-translator",i={header:`${l}__header`,headerText:`${l}__header-text`,savingIndicator:`${l}__saving-indicator`,closeButton:`${l}__close-button`,headerTip:`${l}__header-tip`,topBar:`${l}__top-bar`,topBarSection:`${l}__top-bar-section`,collapseSearchContainer:`${l}__collapse-search-container`,userLangText:`${l}__user-lang-text`,primaryContent:`${l}__primary-content`,lastAutoSave:`${l}__last-auto-save`},v=class extends f{constructor(){super(),this._messages=y({name:"instant-apps-language-translator",blocking:!0}),this.saving=!1,this.isCollapse=!0,this.open=!1,this.translatorDataUpdated=b(),this.listenOn(window,"translatorItemDataUpdated",this.handleT9nItemUpdate)}static{this.properties={saving:16,isCollapse:16,portalItem:0,appSettings:0,locales:0,open:5,userLocaleInputOnChangeCallback:0,translatedLocaleInputOnChangeCallback:0}}static{this.styles=E}async batchWriteToPortalItemResource(a){e.set("saving",!0);try{let t=await this.getPortalItemResource();if(!t){e.set("saving",!1);return}let s=Date.now();e.set("lastSave",s);let o=[JSON.stringify({...a,lastSave:s})],p={type:"application/json"},c=new Blob(o,p);return await t.update(c),setTimeout(()=>e.set("saving",!1),1500),this.translatorDataUpdated.emit(),Promise.resolve()}catch(t){return console.error("Error writing to portal item resource: ",t),e.set("saving",!1),await Promise.reject(new Error("Failed to batch write to portal item resource"))}}async getPortalItemResource(){return e.get("portalItemResource")}async getTranslationData(){return e.get("portalItemResourceT9n")}async setTranslationData(a){e.set("portalItemResourceT9n",a)}load(){k()}willUpdate(a){(a.has("locales")||a.has("appSettings"))&&(this.initUIData(),this.initSelectLanguage())}async loaded(){await this.initialize()}handleT9nItemUpdate(){this.translatorDataUpdated.emit()}async initialize(){this.initUIData(),await this.initPortalItemResourceT9nData(),this.initSelectLanguage()}initUIData(){let{appSettings:a,locales:t}=this,s=L(a,t);e.set("uiData",s)}initSelectLanguage(){let a=this.locales?.[0]?.locale??d.getLocale(),t=e.get("currentLanguage");this.locales.filter(s=>s.locale===t).length===0&&e.set("currentLanguage",a)}async initPortalItemResourceT9nData(){try{let a=await I(this.portalItem);e.set("portalItemResource",a);let t=await C(a);e.set("lastSave",t.lastSave),e.set("portalItemResourceT9n",t??{})}catch{}}handleExpandCollapseAll(){this.isCollapse=!this.isCollapse;let a=new Map(m.uiData);_().forEach(t=>a.get(t).expanded=this.isCollapse),e.set("uiData",a)}onSuggestionSelect(a){let t=a.detail,s=new Map(m.uiData),o=_(),p=c=>{let g=s.get(c);if(c===t){g.selected=!0;return}g.selected=!1};o.forEach(p),e.set("uiData",s)}close(){this.open=!1}handleLanguageSelection(a){let t=a.target.value;e.set("currentLanguage",t)}render(){return n`${this.renderDialog()}${this.renderPopoverTip()}`}renderDialog(){return n`<calcite-dialog .open=${this.open} scale=l placement=cover @calciteDialogClose=${this.close}>${this.renderHeader()}${this.renderContent()}${this.renderPrimaryContent()}</calcite-dialog>`}renderPopoverTip(){return n`<calcite-popover label reference-element=headerTip placement=trailing auto-close closable><div class=${r(i.headerTip)}>${this._messages.headerTip}</div></calcite-popover>`}renderHeader(){return n`<header class=${r(i.header)} slot=header-content>${this.renderHeaderText()}</header>`}renderHeaderText(){return n`<div class=${r(i.headerText)}><span>${this._messages.header}</span><calcite-button id=headerTip appearance=transparent><calcite-icon .icon=${h.Popover} scale=s></calcite-icon></calcite-button></div>`}renderSavingIndicator(){return n`<div class=${r(i.savingIndicator)}><calcite-loader .label=${this._messages.saving} inline></calcite-loader><span>${this._messages.saving}</span></div>`}renderContent(){return n`<div>${this.renderTopBar()}<slot name=language-translator-content></slot></div>`}renderTopBar(){return n`<div class=${r(i.topBar)}>${this.renderLeadingTopBarSection()}${this.renderTrailingTopBarSection()}</div>`}renderLeadingTopBarSection(){return n`<div class=${r(i.topBarSection)}>${this.renderUserLocale()}${this.renderCollapseSearchContainer()}</div>`}renderUserLocale(){let a=this._messages.languages,t=w(),s=a?.[t];return n`<div class=${r(i.userLangText)}>${s}</div>`}renderCollapseSearchContainer(){return n`<div class=${r(i.collapseSearchContainer)}>${this.renderExpandCollapseButton()}${this.renderSearch()}</div>`}renderExpandCollapseButton(){let{isCollapse:a,_messages:t}=this,s=a?t?.collapseAll:t?.expandAll;return n`<slot name=primary-custom-action></slot><slot name=secondary-custom-action></slot><calcite-button @click=${this.handleExpandCollapseAll} appearance=transparent .iconStart=${h.ExpandCollapse}>${s}</calcite-button>`}renderSearch(){return n`<instant-apps-language-translator-search @suggestionSelected=${this.onSuggestionSelect} .t9nPlaceholder=${this._messages.searchPlaceholder}></instant-apps-language-translator-search>`}renderTrailingTopBarSection(){return n`<div class=${r(i.topBarSection)}>${this.renderLanguageSelection()}<slot name=translation-custom-action></slot></div>`}renderLanguageSelection(){return n`<calcite-label layout=inline>${this._messages.translatedLanguage}<calcite-select label @calciteSelectChange=${this.handleLanguageSelection}>${this.renderTranslatedLangOptions()}</calcite-select></calcite-label>`}renderTranslatedLangOptions(){let a=e.get("uiData")?.get("locales"),t=D(a),s=Object.keys(u.partial);return S(t,o=>`translated-lang-option-${o}`,o=>{let p=s.includes(o)?"partial":"full",c=u[p],{language:g,translated:B}=c[o],P=`${g} - ${B}`;return n`<calcite-option .value=${o}>${P}</calcite-option>`})}renderPrimaryContent(){return n`<div class=${r(i.primaryContent)} slot=footer-end>${e.get("saving")?this.renderSavingIndicator():null}${e.get("lastSave")?T("last-save",n`<span class=${r(i.lastAutoSave)}>${this._messages.lastAutoSave} ${d.formatDate(e.get("lastSave"))}</span>`):null}<calcite-button @click=${()=>this.open=!1} class=${r(i.closeButton)}>${this._messages.close}</calcite-button></div>`}};x("instant-apps-language-translator",v);return v},"intl",a,c,d)
|