@arcgis/ai-components 5.2.0-next.98 → 6.0.0-next.0
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/agent-utils/BaseAgent.d.ts +18 -34
- package/dist/agent-utils/BaseAgent.js +53 -54
- package/dist/agent-utils/FunctionAgent.d.ts +11 -17
- package/dist/agent-utils/FunctionAgent.js +24 -60
- package/dist/agent-utils/LLMAgent.d.ts +18 -24
- package/dist/agent-utils/LLMAgent.js +71 -106
- package/dist/agent-utils/SkillAgent.d.ts +66 -0
- package/dist/agent-utils/SkillAgent.js +37 -0
- package/dist/agent-utils/WorkflowAgent.d.ts +10 -16
- package/dist/agent-utils/WorkflowAgent.js +19 -55
- package/dist/agent-utils/createSchema.d.ts +12 -0
- package/dist/agent-utils/createSchema.js +8 -0
- package/dist/agent-utils/middlewares/humanInTheLoop.d.ts +1 -1
- package/dist/agent-utils/middlewares/trace.js +8 -8
- package/dist/agent-utils/tools/FunctionTool.d.ts +8 -9
- package/dist/agent-utils/tools/FunctionTool.js +21 -52
- package/dist/agent-utils/types.d.ts +30 -34
- package/dist/agent-utils/workflows/BaseWorkflow.d.ts +6 -7
- package/dist/agent-utils/workflows/ConditionalWorkflow.d.ts +2 -2
- package/dist/agent-utils/workflows/ConditionalWorkflow.js +14 -29
- package/dist/agent-utils/workflows/LoopWorkflow.d.ts +3 -7
- package/dist/agent-utils/workflows/LoopWorkflow.js +14 -29
- package/dist/agent-utils/workflows/ParallelWorkflow.d.ts +2 -6
- package/dist/agent-utils/workflows/ParallelWorkflow.js +69 -78
- package/dist/agent-utils/workflows/RouterWorkflow.d.ts +3 -3
- package/dist/agent-utils/workflows/RouterWorkflow.js +30 -47
- package/dist/agent-utils/workflows/SequentialWorkflow.d.ts +1 -1
- package/dist/agent-utils/workflows/SequentialWorkflow.js +15 -27
- package/dist/agent-utils/workflows/SwitchWorkflow.d.ts +3 -3
- package/dist/agent-utils/workflows/SwitchWorkflow.js +30 -49
- package/dist/agentic-workflow/jsonTypes.d.ts +116 -46
- package/dist/agents/agents/arcgisKnowledge/graph/arcgisKnowledgeGraph.d.ts +8 -0
- package/dist/{chunks → agents/agents/arcgisKnowledge/graph}/arcgisKnowledgeGraph.js +21 -29
- package/dist/agents/agents/dataExploration/dataExplorationAgent.d.ts +18 -0
- package/dist/agents/agents/dataExploration/dataExplorationAgent.js +17 -0
- package/dist/agents/agents/dataExplorationGraph/graph/dataExplorationGraph.d.ts +8 -0
- package/dist/{chunks → agents/agents/dataExplorationGraph/graph}/dataExplorationGraph.js +39 -46
- package/dist/agents/agents/help/helpAgent.d.ts +8 -0
- package/dist/agents/agents/help/helpAgent.js +32 -0
- package/dist/agents/agents/helpGraph/graph/helpGraph.d.ts +8 -0
- package/dist/{chunks → agents/agents/helpGraph/graph}/helpGraph.js +23 -32
- package/dist/agents/agents/layerStyling/context/layerStylingContext.d.ts +11 -0
- package/dist/agents/agents/layerStyling/context/layerStylingContext.js +5 -0
- package/dist/agents/agents/layerStyling/graph/layerStylingGraph.d.ts +8 -0
- package/dist/{chunks → agents/agents/layerStyling/graph}/layerStylingGraph.js +31 -40
- package/dist/agents/agents/navigation/navigationAgent.d.ts +18 -0
- package/dist/agents/agents/navigation/navigationAgent.js +25 -0
- package/dist/agents/agents/navigationGraph/graph/navigationGraph.d.ts +8 -0
- package/dist/{chunks → agents/agents/navigationGraph/graph}/navigationGraph.js +116 -122
- package/dist/agents/tools/filter/setFeatureEffect/adapter.js +54 -41
- package/dist/agents/tools/navigation/goToAddress/adapter.js +39 -31
- package/dist/agents/tools/query/getStatistics/adapter.js +60 -56
- package/dist/agents/tools/query/getTopFeatures/adapter.js +120 -92
- package/dist/agents/tools/query/queryFeatures/adapter.js +47 -43
- package/dist/agents/tools/shared/resolveToolArtifact.d.ts +24 -0
- package/dist/agents/tools/shared/resolveToolArtifact.js +20 -0
- package/dist/agents/tools/shared/types.d.ts +22 -0
- package/dist/agents/tools/shared/types.js +6 -0
- package/dist/cdn/25CQLMB4.js +2 -0
- package/dist/cdn/{COH3QXWG.js → 2FUTKTNO.js} +2 -2
- package/dist/cdn/{5MK44FNO.js → 2GSHUAQ2.js} +1 -1
- package/dist/cdn/2UKFCF2J.js +150 -0
- package/dist/cdn/{MWYBF3F3.js → 2XXM52PS.js} +5 -5
- package/dist/cdn/{YEZ3AMNX.js → 2ZH5JNHL.js} +1 -1
- package/dist/cdn/34HKOU3T.js +2 -0
- package/dist/cdn/37EJSNE3.js +2 -0
- package/dist/cdn/3HV6OXCZ.js +2 -0
- package/dist/cdn/3WS4DSWD.js +2 -0
- package/dist/cdn/43OJZMBB.js +2 -0
- package/dist/cdn/46DT6BIG.js +68 -0
- package/dist/cdn/4BRIOLDJ.js +2 -0
- package/dist/cdn/4KFTUBFL.js +2 -0
- package/dist/cdn/{7SRLZQVC.js → 4OLV5LA7.js} +1 -1
- package/dist/cdn/4ZPGFIE2.js +2 -0
- package/dist/cdn/645SDZBB.js +2 -0
- package/dist/cdn/{LLUGJKAQ.js → 6GQCLDLJ.js} +1 -1
- package/dist/cdn/6JCDY4FL.js +2 -0
- package/dist/cdn/74CVYM72.js +19 -0
- package/dist/cdn/7DRHB24Z.js +2 -0
- package/dist/cdn/7GQCNR4P.js +11 -0
- package/dist/cdn/7OQA4GCM.js +2 -0
- package/dist/cdn/A3KIOUWB.js +2 -0
- package/dist/cdn/AAUVOBPS.js +2 -0
- package/dist/cdn/AMFZY5QK.js +18 -0
- package/dist/cdn/B2JRBDJZ.js +2 -0
- package/dist/cdn/B4C7NIB5.js +23 -0
- package/dist/cdn/BIEX4MVV.js +9 -0
- package/dist/cdn/BKKLQUK2.js +2 -0
- package/dist/cdn/CADNOKIK.js +2 -0
- package/dist/cdn/CFAC4FN3.js +2 -0
- package/dist/cdn/DQRKGYR3.js +2 -0
- package/dist/cdn/DWMZ23QK.js +2 -0
- package/dist/cdn/DXCDVRGL.js +2 -0
- package/dist/cdn/DYSPEU7W.js +2 -0
- package/dist/cdn/{5WYRJMBW.js → ENVTUTY6.js} +1 -1
- package/dist/cdn/EOSKJPQV.js +2 -0
- package/dist/cdn/EU6YSCZL.js +2 -0
- package/dist/cdn/EXIA3APU.js +75 -0
- package/dist/cdn/F7VQ3WH2.js +2 -0
- package/dist/cdn/FBIPIDP7.js +2 -0
- package/dist/cdn/FFWPUYGD.js +6 -0
- package/dist/cdn/FX4LV2S3.js +2 -0
- package/dist/cdn/{5HBAJ57P.js → FXRZCD5Y.js} +1 -1
- package/dist/cdn/GEFFWUB2.js +2 -0
- package/dist/cdn/GMZUN5SF.js +2 -0
- package/dist/cdn/{C4FEETBZ.js → GOET2CH4.js} +1 -1
- package/dist/cdn/GVFJHADC.js +2 -0
- package/dist/cdn/H7WJUUJT.js +2 -0
- package/dist/cdn/HWNPZ4CF.js +2 -0
- package/dist/cdn/I5OBL24F.js +2 -0
- package/dist/cdn/I7PHDOEQ.js +2 -0
- package/dist/cdn/{HHFNQR6Z.js → IEAHAC6B.js} +1 -1
- package/dist/cdn/ISDNOFHU.js +3 -0
- package/dist/cdn/J37GSI7C.js +2 -0
- package/dist/cdn/JZS6ZSWH.js +2 -0
- package/dist/cdn/KEBMHD4R.js +9 -0
- package/dist/cdn/KJZVYKWL.js +2 -0
- package/dist/cdn/KKXOSV62.js +2 -0
- package/dist/cdn/KPHHXMRK.js +2 -0
- package/dist/cdn/LCI5MEDN.js +2 -0
- package/dist/cdn/LVSIZRTB.js +2 -0
- package/dist/cdn/M7TMD2HP.js +41 -0
- package/dist/cdn/MHUEU6MR.js +2 -0
- package/dist/cdn/MPWEXYYB.js +2 -0
- package/dist/cdn/MQSOVP27.js +2 -0
- package/dist/cdn/NN6MELJ7.js +2 -0
- package/dist/cdn/O62IJLTZ.js +2 -0
- package/dist/cdn/OFM2S6U7.js +2 -0
- package/dist/cdn/{VXFQANGJ.js → OJP56R5R.js} +1 -1
- package/dist/cdn/{BL273EGZ.js → OT5ECP4V.js} +2 -0
- package/dist/cdn/OVIQ5NSE.js +2 -0
- package/dist/cdn/OYHYHALE.js +2 -0
- package/dist/cdn/{VOKXKU7M.js → Q6PCXSZT.js} +10 -10
- package/dist/cdn/QJOO6IIX.js +119 -0
- package/dist/cdn/QQPVN5MG.js +2 -0
- package/dist/cdn/QUZTFUWM.js +1 -0
- package/dist/cdn/RBRHDEOB.js +2 -0
- package/dist/cdn/REE4K4J7.js +2 -0
- package/dist/cdn/RFKOCMMT.js +2 -0
- package/dist/cdn/RKHDRUX5.js +2 -0
- package/dist/cdn/SBIYXWXZ.js +2 -0
- package/dist/cdn/T2FKFOHE.js +2 -0
- package/dist/cdn/{KWD2ECTM.js → TGI7QCB2.js} +1 -1
- package/dist/cdn/TPMZRJEC.js +2 -0
- package/dist/cdn/TRZJYWEB.js +33 -0
- package/dist/cdn/TTPTZBCM.js +2 -0
- package/dist/cdn/U3ZTF2BC.js +2 -0
- package/dist/cdn/U53SVXZK.js +3 -0
- package/dist/cdn/UALF45Q2.js +2 -0
- package/dist/cdn/{K2R6XVK3.js → UPSFL6U3.js} +1 -1
- package/dist/cdn/UYEF3IKE.js +44 -0
- package/dist/cdn/V6AQFRUC.js +2 -0
- package/dist/cdn/V7ERVXIO.js +2 -0
- package/dist/cdn/VIJVRJHL.js +2 -0
- package/dist/cdn/VVWKEN53.js +8 -0
- package/dist/cdn/W3OJTTVX.js +2 -0
- package/dist/cdn/W3ZLMBEE.js +155 -0
- package/dist/cdn/W6TS2TIE.js +2 -0
- package/dist/cdn/WB5AFS42.js +2 -0
- package/dist/cdn/WC6SHIEX.js +2 -0
- package/dist/cdn/WSIZ2OTL.js +2 -0
- package/dist/cdn/WVMQ3I6F.js +2 -0
- package/dist/cdn/XI4BPYGB.js +2 -0
- package/dist/cdn/{Z5W4V7RC.js → XJUYG2M3.js} +1 -1
- package/dist/cdn/XPSPAZUD.js +2 -0
- package/dist/cdn/XQ3NBBQ3.js +2 -0
- package/dist/cdn/{HHUQXL3R.js → YAUQJ6NV.js} +1 -1
- package/dist/cdn/YD3DLETZ.js +2 -0
- package/dist/cdn/YKKIJTJY.js +2 -0
- package/dist/cdn/YO3L3XIH.js +2 -0
- package/dist/cdn/YOQCQAKT.js +2 -0
- package/dist/cdn/ZBBI5M2X.js +14 -0
- package/dist/cdn/{KITIP6J2.js → ZBRZU4XB.js} +1 -1
- package/dist/cdn/ZCNCYKXW.js +14 -0
- package/dist/cdn/ZESTW6HJ.js +2 -0
- package/dist/cdn/ZKDCEL6K.js +2 -0
- package/dist/cdn/{6ECRQVHY.js → ZMMUAYDN.js} +1 -1
- package/dist/cdn/ZQTCPJUV.js +2 -0
- package/dist/cdn/ZS5P7NRI.js +2 -0
- package/dist/cdn/agent-utils/BaseAgent.js +2 -0
- package/dist/cdn/agent-utils/FunctionAgent.js +2 -0
- package/dist/cdn/agent-utils/LLMAgent.js +2 -0
- package/dist/cdn/agent-utils/SkillAgent.js +2 -0
- package/dist/cdn/agent-utils/WorkflowAgent.js +2 -0
- package/dist/cdn/agent-utils/createSchema.js +2 -0
- package/dist/cdn/agent-utils/middlewares/humanInTheLoop.js +1 -2
- package/dist/cdn/agent-utils/middlewares/middleware.js +1 -1
- package/dist/cdn/agent-utils/middlewares/trace.js +1 -1
- package/dist/cdn/agent-utils/tools/FunctionTool.js +2 -0
- package/dist/cdn/agent-utils/workflows/ConditionalWorkflow.js +2 -0
- package/dist/cdn/agent-utils/workflows/LoopWorkflow.js +2 -0
- package/dist/cdn/agent-utils/workflows/ParallelWorkflow.js +6 -0
- package/dist/cdn/agent-utils/workflows/RouterWorkflow.js +2 -0
- package/dist/cdn/agent-utils/workflows/SequentialWorkflow.js +2 -0
- package/dist/cdn/agent-utils/workflows/SwitchWorkflow.js +2 -0
- package/dist/cdn/assets/agents/t9n/messages.ar.json +1 -0
- package/dist/cdn/assets/agents/t9n/messages.bg.json +1 -0
- package/dist/cdn/assets/agents/t9n/messages.ca.json +1 -0
- package/dist/cdn/assets/agents/t9n/messages.cs.json +1 -0
- package/dist/cdn/assets/agents/t9n/messages.da.json +1 -0
- package/dist/cdn/assets/agents/t9n/messages.de.json +1 -0
- package/dist/cdn/assets/agents/t9n/messages.el.json +1 -0
- package/dist/cdn/assets/agents/t9n/messages.en.json +1 -0
- package/dist/cdn/assets/agents/t9n/messages.es.json +1 -0
- package/dist/cdn/assets/agents/t9n/messages.et.json +1 -0
- package/dist/cdn/assets/agents/t9n/messages.fi.json +1 -0
- package/dist/cdn/assets/agents/t9n/messages.fr.json +1 -0
- package/dist/cdn/assets/agents/t9n/messages.he.json +1 -0
- package/dist/cdn/assets/agents/t9n/messages.hr.json +1 -0
- package/dist/cdn/assets/agents/t9n/messages.hu.json +1 -0
- package/dist/cdn/assets/agents/t9n/messages.id.json +1 -0
- package/dist/cdn/assets/agents/t9n/messages.it.json +1 -0
- package/dist/cdn/assets/agents/t9n/messages.ja.json +1 -0
- package/dist/cdn/assets/agents/t9n/messages.ko.json +1 -0
- package/dist/cdn/assets/agents/t9n/messages.lt.json +1 -0
- package/dist/cdn/assets/agents/t9n/messages.lv.json +1 -0
- package/dist/cdn/assets/agents/t9n/messages.nl.json +1 -0
- package/dist/cdn/assets/agents/t9n/messages.no.json +1 -0
- package/dist/cdn/assets/agents/t9n/messages.pl.json +1 -0
- package/dist/cdn/assets/agents/t9n/messages.pt-BR.json +1 -0
- package/dist/cdn/assets/agents/t9n/messages.pt-PT.json +1 -0
- package/dist/cdn/assets/agents/t9n/messages.ro.json +1 -0
- package/dist/cdn/assets/agents/t9n/messages.ru.json +1 -0
- package/dist/cdn/assets/agents/t9n/messages.sk.json +1 -0
- package/dist/cdn/assets/agents/t9n/messages.sl.json +1 -0
- package/dist/cdn/assets/agents/t9n/messages.sr.json +1 -0
- package/dist/cdn/assets/agents/t9n/messages.sv.json +1 -0
- package/dist/cdn/assets/agents/t9n/messages.th.json +1 -0
- package/dist/cdn/assets/agents/t9n/messages.tr.json +1 -0
- package/dist/cdn/assets/agents/t9n/messages.uk.json +1 -0
- package/dist/cdn/assets/agents/t9n/messages.vi.json +1 -0
- package/dist/cdn/assets/agents/t9n/messages.zh-CN.json +1 -0
- package/dist/cdn/assets/agents/t9n/messages.zh-TW.json +1 -0
- package/dist/cdn/assets/assistant/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.en.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.en.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.en.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.ar.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.bg.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.bs.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.ca.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.cs.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.da.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.de.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.el.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.es.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.et.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.fi.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.fr.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.he.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.hr.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.hu.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.id.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.it.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.ja.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.ko.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.lt.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.lv.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.nl.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.no.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.pl.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.pt-BR.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.pt-PT.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.ro.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.ru.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.sk.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.sl.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.sr.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.sv.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.th.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.tr.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.uk.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.vi.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.zh-CN.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.zh-HK.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.zh-TW.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.ar.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.bg.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.bs.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.ca.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.cs.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.da.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.de.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.el.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.es.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.et.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.fi.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.fr.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.he.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.hr.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.hu.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.id.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.it.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.ja.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.ko.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.lt.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.lv.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.nl.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.no.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.pl.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.pt-BR.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.pt-PT.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.ro.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.ru.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.sk.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.sl.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.sr.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.sv.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.th.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.tr.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.uk.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.vi.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.zh-CN.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.zh-HK.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.zh-TW.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.ar.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.bg.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.bs.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.ca.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.cs.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.da.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.de.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.el.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.es.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.et.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.fi.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.fr.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.he.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.hr.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.hu.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.id.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.it.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.ja.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.ko.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.lt.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.lv.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.nl.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.no.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.pl.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.pt-BR.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.pt-PT.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.ro.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.ru.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.sk.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.sl.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.sr.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.sv.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.th.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.tr.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.uk.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.vi.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.zh-CN.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.zh-HK.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.zh-TW.json +1 -0
- package/dist/cdn/assets/orchestrator/t9n/messages.ar.json +1 -0
- package/dist/cdn/assets/orchestrator/t9n/messages.bg.json +1 -0
- package/dist/cdn/assets/orchestrator/t9n/messages.ca.json +1 -0
- package/dist/cdn/assets/orchestrator/t9n/messages.cs.json +1 -0
- package/dist/cdn/assets/orchestrator/t9n/messages.da.json +1 -0
- package/dist/cdn/assets/orchestrator/t9n/messages.de.json +1 -0
- package/dist/cdn/assets/orchestrator/t9n/messages.el.json +1 -0
- package/dist/cdn/assets/orchestrator/t9n/messages.en.json +1 -0
- package/dist/cdn/assets/orchestrator/t9n/messages.es.json +1 -0
- package/dist/cdn/assets/orchestrator/t9n/messages.et.json +1 -0
- package/dist/cdn/assets/orchestrator/t9n/messages.fi.json +1 -0
- package/dist/cdn/assets/orchestrator/t9n/messages.fr.json +1 -0
- package/dist/cdn/assets/orchestrator/t9n/messages.he.json +1 -0
- package/dist/cdn/assets/orchestrator/t9n/messages.hr.json +1 -0
- package/dist/cdn/assets/orchestrator/t9n/messages.hu.json +1 -0
- package/dist/cdn/assets/orchestrator/t9n/messages.id.json +1 -0
- package/dist/cdn/assets/orchestrator/t9n/messages.it.json +1 -0
- package/dist/cdn/assets/orchestrator/t9n/messages.ja.json +1 -0
- package/dist/cdn/assets/orchestrator/t9n/messages.ko.json +1 -0
- package/dist/cdn/assets/orchestrator/t9n/messages.lt.json +1 -0
- package/dist/cdn/assets/orchestrator/t9n/messages.lv.json +1 -0
- package/dist/cdn/assets/orchestrator/t9n/messages.nl.json +1 -0
- package/dist/cdn/assets/orchestrator/t9n/messages.no.json +1 -0
- package/dist/cdn/assets/orchestrator/t9n/messages.pl.json +1 -0
- package/dist/cdn/assets/orchestrator/t9n/messages.pt-BR.json +1 -0
- package/dist/cdn/assets/orchestrator/t9n/messages.pt-PT.json +1 -0
- package/dist/cdn/assets/orchestrator/t9n/messages.ro.json +1 -0
- package/dist/cdn/assets/orchestrator/t9n/messages.ru.json +1 -0
- package/dist/cdn/assets/orchestrator/t9n/messages.sk.json +1 -0
- package/dist/cdn/assets/orchestrator/t9n/messages.sl.json +1 -0
- package/dist/cdn/assets/orchestrator/t9n/messages.sr.json +1 -0
- package/dist/cdn/assets/orchestrator/t9n/messages.sv.json +1 -0
- package/dist/cdn/assets/orchestrator/t9n/messages.th.json +1 -0
- package/dist/cdn/assets/orchestrator/t9n/messages.tr.json +1 -0
- package/dist/cdn/assets/orchestrator/t9n/messages.uk.json +1 -0
- package/dist/cdn/assets/orchestrator/t9n/messages.vi.json +1 -0
- package/dist/cdn/assets/orchestrator/t9n/messages.zh-CN.json +1 -0
- package/dist/cdn/assets/orchestrator/t9n/messages.zh-TW.json +1 -0
- package/dist/cdn/index.js +1 -1
- package/dist/cdn/main.css +1 -1
- package/dist/cdn/orchestrator/embeddings/getEmbeddings.js +2 -0
- package/dist/cdn/orchestrator/models/chatModel.js +2 -0
- package/dist/cdn/orchestrator/models/prompts.js +2 -0
- package/dist/cdn/orchestrator/signals.js +2 -0
- package/dist/cdn/orchestrator/state/runtime.js +2 -0
- package/dist/chunks/BaseWorkflow.js +52 -49
- package/dist/chunks/SKILL.js +5 -0
- package/dist/chunks/SKILL2.js +5 -0
- package/dist/chunks/SKILL3.js +22 -0
- package/dist/chunks/SKILL4.js +5 -0
- package/dist/chunks/adapter.js +20 -2156
- package/dist/chunks/adapter2.js +1129 -0
- package/dist/chunks/aiFactory.js +21 -0
- package/dist/chunks/aiUtilityService.js +29 -0
- package/dist/chunks/arcgisToolRegistry.js +92 -0
- package/dist/chunks/createSkillAgent.js +235 -0
- package/dist/chunks/fetchUtils.js +46 -0
- package/dist/chunks/getPrompt.js +32 -0
- package/dist/chunks/helpState.js +17 -0
- package/dist/chunks/intent_prompt.js +2 -0
- package/dist/chunks/layerQueryToolCalling.js +67 -0
- package/dist/chunks/layerStylingState.js +907 -0
- package/dist/chunks/localization.js +21 -0
- package/dist/chunks/modelConfig.js +12 -0
- package/dist/chunks/modelPricing.js +59 -0
- package/dist/chunks/navigationState.js +27 -0
- package/dist/chunks/observationSnapshot.js +110 -0
- package/dist/chunks/reducers.js +5 -0
- package/dist/chunks/requireAgentServices.js +11 -0
- package/dist/chunks/resolveGeometryFilter.js +149 -0
- package/dist/chunks/{baseAgentState.js → runtime2.js} +7 -6
- package/dist/chunks/runtimeSpans.js +103 -0
- package/dist/chunks/schema.js +45 -0
- package/dist/chunks/state.js +34 -23
- package/dist/chunks/textFormatters.js +8 -0
- package/dist/chunks/toolCallResponse.js +10 -23
- package/dist/chunks/utils.js +2 -2
- package/dist/chunks/utils2.js +15 -39
- package/dist/chunks/utils3.js +41 -10
- package/dist/chunks/webmapSchema.js +56 -0
- package/dist/components/arcgis-assistant/customElement.d.ts +54 -6
- package/dist/components/arcgis-assistant/customElement.js +268 -235
- package/dist/components/arcgis-assistant/types.d.ts +109 -1
- package/dist/components/arcgis-assistant-agent/customElement.d.ts +2 -2
- package/dist/components/arcgis-assistant-agent/customElement.js +330 -331
- package/dist/components/arcgis-assistant-chat-entry/customElement.d.ts +15 -4
- package/dist/components/arcgis-assistant-chat-entry/customElement.js +344 -45
- package/dist/components/arcgis-assistant-chat-entry/index.js +3 -0
- package/dist/components/arcgis-assistant-data-exploration-agent/customElement.js +24 -19
- package/dist/components/arcgis-assistant-help-agent/customElement.js +14 -18
- package/dist/components/arcgis-assistant-interrupt/customElement.d.ts +4 -2
- package/dist/components/arcgis-assistant-interrupt/customElement.js +49 -15
- package/dist/components/arcgis-assistant-interrupt/index.js +1 -1
- package/dist/components/arcgis-assistant-knowledge-agent/customElement.d.ts +1 -1
- package/dist/components/arcgis-assistant-knowledge-agent/customElement.js +19 -25
- package/dist/components/arcgis-assistant-layer-styling-agent/customElement.js +13 -19
- package/dist/components/arcgis-assistant-message-block/customElement.d.ts +1 -1
- package/dist/components/arcgis-assistant-message-log/customElement.js +4 -4
- package/dist/components/arcgis-assistant-message-text/customElement.js +1 -1
- package/dist/components/arcgis-assistant-navigation-agent/customElement.js +24 -19
- package/dist/components/arcgis-assistant-observation-inspector/customElement.d.ts +18 -0
- package/dist/components/arcgis-assistant-observation-inspector/customElement.js +90 -0
- package/dist/components/arcgis-assistant-observation-inspector/index.d.ts +1 -0
- package/dist/components/arcgis-assistant-observation-inspector/index.js +14 -0
- package/dist/components/arcgis-assistant-observation-latency/customElement.d.ts +15 -0
- package/dist/components/arcgis-assistant-observation-latency/customElement.js +65 -0
- package/dist/components/arcgis-assistant-observation-latency/index.d.ts +1 -0
- package/dist/components/arcgis-assistant-observation-latency/index.js +5 -0
- package/dist/components/arcgis-assistant-observation-panel/customElement.d.ts +28 -0
- package/dist/components/arcgis-assistant-observation-panel/customElement.js +68 -0
- package/dist/components/arcgis-assistant-observation-panel/index.d.ts +1 -0
- package/dist/components/arcgis-assistant-observation-panel/index.js +7 -0
- package/dist/components/arcgis-assistant-observation-panel/support/modelPricing.d.ts +34 -0
- package/dist/components/arcgis-assistant-observation-panel/support/observationSnapshot.d.ts +63 -0
- package/dist/components/arcgis-assistant-observation-panel/support/runtimeSpans.d.ts +36 -0
- package/dist/components/arcgis-assistant-observation-run/customElement.d.ts +21 -0
- package/dist/components/arcgis-assistant-observation-run/customElement.js +43 -0
- package/dist/components/arcgis-assistant-observation-run/index.d.ts +1 -0
- package/dist/components/arcgis-assistant-observation-run/index.js +7 -0
- package/dist/components/arcgis-assistant-observation-usage/customElement.d.ts +22 -0
- package/dist/components/arcgis-assistant-observation-usage/customElement.js +82 -0
- package/dist/components/arcgis-assistant-observation-usage/index.d.ts +1 -0
- package/dist/components/arcgis-assistant-observation-usage/index.js +5 -0
- package/dist/components/assistant/assistant-agents/types.d.ts +19 -0
- package/dist/docs/api.json +1 -1
- package/dist/docs/docs.json +1 -1
- package/dist/docs/vscode.html-custom-data.json +1 -1
- package/dist/docs/web-types.json +1 -1
- package/dist/index.d.ts +20 -0
- package/dist/loader.js +11 -6
- package/dist/orchestrator/embeddings/cosineSimilarity.d.ts +12 -0
- package/dist/orchestrator/embeddings/cosineSimilarity.js +18 -0
- package/dist/orchestrator/embeddings/getEmbeddings.d.ts +7 -0
- package/dist/orchestrator/embeddings/getEmbeddings.js +12 -0
- package/dist/orchestrator/embeddings/webmapEmbeddings.d.ts +15 -0
- package/dist/orchestrator/embeddings/webmapEmbeddings.js +141 -0
- package/dist/orchestrator/embeddings/webmapSchema.d.ts +50 -0
- package/dist/orchestrator/models/chatModel.d.ts +22 -0
- package/dist/orchestrator/models/chatModel.js +19 -0
- package/dist/orchestrator/models/modelConfig.d.ts +2 -0
- package/dist/orchestrator/models/prompts.d.ts +105 -0
- package/dist/orchestrator/models/prompts.js +46 -0
- package/dist/orchestrator/orchestrator/orchestrator.d.ts +75 -0
- package/dist/orchestrator/orchestrator/orchestrator.js +977 -0
- package/dist/orchestrator/orchestrator/orchestratorEvents.d.ts +127 -33
- package/dist/orchestrator/orchestrator/orchestratorEvents.js +2 -0
- package/dist/orchestrator/providers/arcgis/aiFactory.d.ts +17 -0
- package/dist/orchestrator/registry/agentRegistry.d.ts +10 -0
- package/dist/orchestrator/services/fieldSearch.d.ts +17 -0
- package/dist/orchestrator/services/layerSearch.d.ts +18 -0
- package/dist/orchestrator/signals.d.ts +66 -0
- package/dist/orchestrator/signals.js +12 -0
- package/dist/orchestrator/state/runtime.d.ts +31 -0
- package/dist/orchestrator/state/runtime.js +8 -0
- package/dist/orchestrator/state/types.d.ts +67 -0
- package/dist/orchestrator/state/types.js +2 -0
- package/dist/orchestrator/types.d.ts +305 -0
- package/dist/orchestrator/types.js +2 -0
- package/dist/types/lumina.d.ts +27 -2
- package/dist/types/preact.d.ts +32 -2
- package/dist/types/react.d.ts +37 -2
- package/dist/types/stencil.d.ts +27 -2
- package/dist/utils/index.d.ts +167 -37
- package/dist/utils/index.js +40 -113
- package/package.json +36 -13
- package/dist/agent-utils/index.d.ts +0 -177
- package/dist/agent-utils/index.js +0 -167
- package/dist/agentic-workflow/AgenticWorkflowRuntime.d.ts +0 -24
- package/dist/agentic-workflow/Edge.d.ts +0 -16
- package/dist/agentic-workflow/WebAgent.d.ts +0 -39
- package/dist/agentic-workflow/nodes/AgentNode.d.ts +0 -28
- package/dist/agentic-workflow/nodes/BaseNode.d.ts +0 -35
- package/dist/agentic-workflow/nodes/EndMessageNode.d.ts +0 -25
- package/dist/agentic-workflow/nodes/StartNode.d.ts +0 -21
- package/dist/agentic-workflow/nodes/tools/ArcgisTool.d.ts +0 -21
- package/dist/agentic-workflow/types.d.ts +0 -29
- package/dist/cdn/2EY3BQQX.js +0 -2
- package/dist/cdn/2O4DON37.js +0 -2
- package/dist/cdn/3UEKINYC.js +0 -2
- package/dist/cdn/4OGR5QKS.js +0 -2
- package/dist/cdn/4WIDLQUH.js +0 -2
- package/dist/cdn/5FL5BTTX.js +0 -66
- package/dist/cdn/5X7EG7D2.js +0 -2
- package/dist/cdn/5ZFUGNRN.js +0 -2
- package/dist/cdn/6HF36IKA.js +0 -2
- package/dist/cdn/6KN5LUAV.js +0 -36
- package/dist/cdn/6OOZSZRJ.js +0 -2
- package/dist/cdn/6P44KOKX.js +0 -2
- package/dist/cdn/6YYPVU7H.js +0 -3
- package/dist/cdn/7BCQMK6D.js +0 -2
- package/dist/cdn/7V6OSTFC.js +0 -2
- package/dist/cdn/7VAQUCBU.js +0 -9
- package/dist/cdn/7VUSIGEM.js +0 -2
- package/dist/cdn/7ZFAFKJT.js +0 -2
- package/dist/cdn/AA4FBYKK.js +0 -2
- package/dist/cdn/ACJTJLZN.js +0 -2
- package/dist/cdn/AI6DYOKR.js +0 -181
- package/dist/cdn/ANRQWYU2.js +0 -2
- package/dist/cdn/APFZY4PI.js +0 -2
- package/dist/cdn/ASR3I43T.js +0 -14
- package/dist/cdn/B2JDVLA6.js +0 -2
- package/dist/cdn/B2T7D57Y.js +0 -2
- package/dist/cdn/CCC6LBMY.js +0 -2
- package/dist/cdn/CJMUJXPL.js +0 -2
- package/dist/cdn/CP5BVGJU.js +0 -2
- package/dist/cdn/CZM4URK7.js +0 -2
- package/dist/cdn/D5UFYQHN.js +0 -44
- package/dist/cdn/EKWM5K4K.js +0 -2
- package/dist/cdn/EWLXNGKH.js +0 -208
- package/dist/cdn/EYOWRGDP.js +0 -2
- package/dist/cdn/F5NIRETW.js +0 -2
- package/dist/cdn/FG647IP6.js +0 -2
- package/dist/cdn/FUF3NAU7.js +0 -2
- package/dist/cdn/G2EGT3CF.js +0 -6
- package/dist/cdn/G7OMHU2B.js +0 -2
- package/dist/cdn/GFEOVHJK.js +0 -2
- package/dist/cdn/HAEFC2SJ.js +0 -2
- package/dist/cdn/HDACNIZF.js +0 -2
- package/dist/cdn/HNADFHYH.js +0 -2
- package/dist/cdn/IBZ2NEAO.js +0 -2
- package/dist/cdn/IC3LG6TH.js +0 -18
- package/dist/cdn/J6SZIQJA.js +0 -2
- package/dist/cdn/JCOA24UH.js +0 -3
- package/dist/cdn/JKIESH74.js +0 -2
- package/dist/cdn/JO5ETMPS.js +0 -2
- package/dist/cdn/LNCT4S4I.js +0 -22
- package/dist/cdn/MX7OEO5Z.js +0 -156
- package/dist/cdn/MXTXJKFE.js +0 -2
- package/dist/cdn/MY47B3CE.js +0 -3
- package/dist/cdn/NEZXHUAL.js +0 -2
- package/dist/cdn/NSHLOFIY.js +0 -2
- package/dist/cdn/NZSOJ726.js +0 -2
- package/dist/cdn/O4NVW75A.js +0 -2
- package/dist/cdn/OAKRPM7D.js +0 -2
- package/dist/cdn/OE3GW5LE.js +0 -2
- package/dist/cdn/PUHRBGKB.js +0 -2
- package/dist/cdn/Q57QWN5W.js +0 -2
- package/dist/cdn/QNNGPA3Q.js +0 -2
- package/dist/cdn/R2PQVY4O.js +0 -2
- package/dist/cdn/RBE55SWR.js +0 -2
- package/dist/cdn/RHYNE5OE.js +0 -2
- package/dist/cdn/RLEHNAIA.js +0 -2
- package/dist/cdn/SXM4NUT5.js +0 -2
- package/dist/cdn/SZ2QSSB3.js +0 -2
- package/dist/cdn/T4RIGOXB.js +0 -2
- package/dist/cdn/U2D53TAX.js +0 -14
- package/dist/cdn/UAANWCMU.js +0 -44
- package/dist/cdn/UDRKUVZP.js +0 -2
- package/dist/cdn/UHZG7SKO.js +0 -2
- package/dist/cdn/V52XWEGV.js +0 -11
- package/dist/cdn/V6HOUZPZ.js +0 -2
- package/dist/cdn/VLLZ2FFU.js +0 -2
- package/dist/cdn/WGO5SER7.js +0 -6
- package/dist/cdn/WJXXOKGA.js +0 -9
- package/dist/cdn/WKTQVBFJ.js +0 -2
- package/dist/cdn/WSWB3B7B.js +0 -2
- package/dist/cdn/Y7XD7ZRD.js +0 -2
- package/dist/cdn/YLVJA4ZE.js +0 -2
- package/dist/cdn/YWN57GH4.js +0 -2
- package/dist/cdn/ZDV4K4WG.js +0 -2
- package/dist/cdn/ZOEMBHRF.js +0 -2
- package/dist/cdn/agent-utils/index.js +0 -2
- package/dist/chunks/generateLayerDescriptions.js +0 -417
- package/dist/chunks/index.js +0 -11
- package/dist/chunks/orchestrator.js +0 -778
- package/dist/chunks/types.js +0 -59
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import{d as Sa}from"./AMFZY5QK.js";import{A as wa,C as va,D as Is,E as ba,F as Ca,H as xa,J as Ia,b as na,c as sa,d as Cs,e as ca,f as la,g as ua,h as xs,i as ha,j as pa,l as fa,m as da,q as ma,u as ga,v as tn,w as _a,y as ya,z as Yt}from"./EXIA3APU.js";import{$ as Qe,D as zt,Da as ka,E as Ss,Ea,M as de,N as vr,O as Qo,P as Jt,S as Zo,X as ks,_ as ea,a as Ao,aa as ta,b as To,ba as Es,c as Po,da as X,e as Wo,ea as ra,f as wr,ha as Tt,j as Ko,ja as en,k as qo,l as zo,ma as $e,o as Zr,p as Jo,qa as ia,r as Yo,u as Xo,ua as oa,va as aa}from"./TRZJYWEB.js";import{o as ut}from"./2XXM52PS.js";import{$a as be,Ba as At,Ia as Do,J as ae,La as lt,Na as jo,Oa as $o,P as ys,Pa as Kt,Qa as Lo,R as Ye,S as ws,Sa as Ho,T as No,Ta as Uo,Ua as Fo,V as It,Va as Bo,Wa as qt,Xa as bs,Y as Ro,Ya as Y,Za as Vo,a as O,ab as Go,b as yo,bb as Xe,c as _r,ca as vs,d as yr,e as wo,fa as ne,g as _s,h as vo,i as bo,ia as Vt,j as So,k as ko,l as Eo,m as Co,n as xe,o as xo,q as Io,r as Oo,ra as Gt,va as Wt,wa as Mo}from"./2UKFCF2J.js";function Aa(e,t){if(e!=null){if(typeof e!="number"||Number.isNaN(e)||e<=0)throw new Error(`${t} must be greater than 0`);return e}}function ht(e){if(e==null)return;let t=typeof e=="number"?{runTimeout:e}:e,r=t.refreshOn??"auto";if(r!=="auto"&&r!=="heartbeat")throw new Error('refreshOn must be "auto" or "heartbeat"');let n=Aa(t.runTimeout,"runTimeout"),s=Aa(t.idleTimeout,"idleTimeout");if(!(n===void 0&&s===void 0))return{runTimeout:n,idleTimeout:s,refreshOn:r}}var G="__start__",W="__end__",He="__input__";var pt="__error__",Sr="__error_source_node__",rn="__pregel_ns_writes";function Ta(){let e=typeof process<"u"?process.env?.LANGGRAPH_DELTA_MAX_SUPERSTEPS_SINCE_SNAPSHOT:void 0;if(e!==void 0&&e!==""){let t=Number.parseInt(e,10);if(Number.isFinite(t)&&t>0)return t}return 5e3}var ie="__pregel_send",Ue="__pregel_call",ce="__pregel_read",Se="__pregel_checkpointer",Nt="__pregel_resuming",Xt="__pregel_task_id",kr="__pregel_stream",Hu="__pregel_resume_value",Rt="__pregel_resume_map",le="__pregel_scratchpad",ft="__pregel_previous",Uu="__pregel_durability",dt="checkpoint_id",we="checkpoint_ns",Oa="__pregel_node_finished",Er="__pregel_node_error",oe="checkpoint_map",nn="__pregel_replay_state",Na="__pregel_abort_signals",U="__interrupt__",ue="__resume__",Cr="__no_writes__",mt="__return__",gt="__previous__",q="langsmith:hidden";var Ts="__self__",Fe="__pregel_tasks",he="__pregel_push",sn="__pregel_pull",pe="00000000-0000-0000-0000-000000000000",Ra=[q,He,U,ue,pt,Sr,Cr,ie,ce,Se,Uu,kr,Nt,Xt,Ue,Hu,le,ft,oe,we,dt,nn],As=Symbol.for("langgraph.command"),Ma=class{[As];constructor(e){this[As]=e}};function on(e){let t=e;return t!=null&&typeof t.node=="string"&&t.args!==void 0}var Ot=class{lg_name="Send";node;args;timeout;constructor(e,t,r){this.node=e,this.args=br(t),this.timeout=ht(r?.timeout)}toJSON(){return{lg_name:this.lg_name,node:this.node,args:this.args,timeout:this.timeout}}};function Q(e){return e instanceof Ot}var Le="__overwrite__",Fu=class{lg_name="Overwrite";[Le];constructor(e){this[Le]=e}get value(){return this[Le]}toJSON(){return{[Le]:this[Le]}}static isInstance(e){return!e||typeof e!="object"?!1:"__overwrite__"in e||"lg_name"in e&&e.lg_name==="Overwrite"}};function Ie(e){if(typeof e=="object"&&e!==null){if("__overwrite__"in e)return[!0,e[Le]];let t=e;if(t.type==="__overwrite__"&&"value"in t)return[!0,t.value]}return[!1,void 0]}function Mt(e){return Ie(e)[0]}function Pt(e){return!e||typeof e!="object"||!("__interrupt__"in e)?!1:Array.isArray(e[U])}var me=class extends Ma{lg_name="Command";lc_direct_tool_output=!0;graph;update;resume;goto=[];static PARENT="__parent__";constructor(e){super(e),this.resume=e.resume,this.graph=e.graph,this.update=e.update,e.goto&&(this.goto=Array.isArray(e.goto)?br(e.goto):[br(e.goto)])}_updateAsTuples(){return this.update&&typeof this.update=="object"&&!Array.isArray(this.update)?Object.entries(this.update):Array.isArray(this.update)&&this.update.every(e=>Array.isArray(e)&&e.length===2&&typeof e[0]=="string")?this.update:[["__root__",this.update]]}toJSON(){let e;return typeof this.goto=="string"?e=this.goto:Q(this.goto)?e=this.goto.toJSON():e=this.goto?.map(t=>typeof t=="string"?t:t.toJSON()),{lg_name:this.lg_name,update:this.update,resume:this.resume,goto:e}}};function te(e){return typeof e!="object"||e==null?!1:"lg_name"in e&&e.lg_name==="Command"}function Bu(e){let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function br(e,t=new Map){if(e!=null&&typeof e=="object"){if(t.has(e))return t.get(e);let r;if(Array.isArray(e))r=[],t.set(e,r),e.forEach((n,s)=>{r[s]=br(n,t)});else if(e instanceof me||e instanceof Ot||!Bu(e))r=e,t.set(e,r);else if(te(e))r=new me(e),t.set(e,r);else if(on(e))r=new Ot(e.node,e.args,e.timeout!==void 0?{timeout:e.timeout}:void 0),t.set(e,r);else if("lc_serializable"in e&&e.lc_serializable)r=e,t.set(e,r);else{r={},t.set(e,r);for(let[n,s]of Object.entries(e))r[n]=br(s,t)}return r}return e}var ke=class extends Error{lc_error_code;constructor(e,t){let r=e??"";t?.lc_error_code&&(r=`${r}
|
|
3
|
+
|
|
4
|
+
Troubleshooting URL: https://docs.langchain.com/oss/javascript/langgraph/${t.lc_error_code}/
|
|
5
|
+
`),super(r),this.lc_error_code=t?.lc_error_code}},an=class extends ke{get is_bubble_up(){return!0}},Os=class extends ke{constructor(e,t){super(e,t),this.name="GraphRecursionError"}static get unminifiable_name(){return"GraphRecursionError"}},Dt=class extends ke{constructor(e,t){super(e,t),this.name="GraphValueError"}static get unminifiable_name(){return"GraphValueError"}},cn=class extends an{reason;constructor(e="shutdown",t){super(`Graph drained: ${e}`,t),this.name="GraphDrained",this.reason=e}static get unminifiable_name(){return"GraphDrained"}};function ln(e){return e!==void 0&&e.name===cn.unminifiable_name}var Ze=class extends an{interrupts;constructor(e,t){super(JSON.stringify(e,null,2),t),this.name="GraphInterrupt",this.interrupts=e??[]}static get unminifiable_name(){return"GraphInterrupt"}},un=class extends Ze{constructor(e,t){super([{value:e}],t),this.name="NodeInterrupt"}static get unminifiable_name(){return"NodeInterrupt"}},hn=class{node;error;constructor(e,t){this.node=e,this.error=t}static get unminifiable_name(){return"NodeError"}};function Vu(e){return e!=null&&typeof e=="object"&&e.constructor!=null&&e.constructor.unminifiable_name===hn.unminifiable_name}var pn=class extends an{command;constructor(e){super(),this.name="ParentCommand",this.command=e}static get unminifiable_name(){return"ParentCommand"}};function Ns(e){return e!==void 0&&e.name===pn.unminifiable_name}function _t(e){return e!==void 0&&e.is_bubble_up===!0}function et(e){return e!==void 0&&[Ze.unminifiable_name,un.unminifiable_name].includes(e.name)}var fn=class extends ke{node;kind;timeout;elapsed;runTimeout;idleTimeout;constructor(e,t){let{node:r,elapsed:n,kind:s,runTimeout:i,idleTimeout:o}=e,a,c;if(s==="idle"){if(o===void 0)throw new Error("idleTimeout is required when kind='idle'");c=o,a=`Node "${r}" exceeded its idle timeout of ${o}ms without making progress (elapsed: ${n}ms).`}else{if(i===void 0)throw new Error("runTimeout is required when kind='run'");c=i,a=`Node "${r}" exceeded its run timeout of ${i}ms (elapsed: ${n}ms).`}super(a,t),this.name="NodeTimeoutError",this.node=r,this.kind=s,this.timeout=c,this.elapsed=n,this.runTimeout=i,this.idleTimeout=o}static get unminifiable_name(){return"NodeTimeoutError"}};function Gu(e){return e!==void 0&&e.name===fn.unminifiable_name}var dn=class extends ke{constructor(e,t){super(e,t),this.name="EmptyInputError"}static get unminifiable_name(){return"EmptyInputError"}},$=class extends ke{constructor(e,t){let r=Error.stackTraceLimit;Error.stackTraceLimit=0,super(e,t),Error.stackTraceLimit=r,this.name="EmptyChannelError"}static get unminifiable_name(){return"EmptyChannelError"}},M=class extends ke{constructor(e,t){super(e,t),this.name="InvalidUpdateError"}static get unminifiable_name(){return"InvalidUpdateError"}},Wu=class extends ke{constructor(e,t){super(e,t),this.name="MultipleSubgraphError"}static get unminifiable_name(){return"MultipleSubgraphError"}},Rs=class extends ke{constructor(e,t){super(e,t),this.name="UnreachableNodeError"}static get unminifiable_name(){return"UnreachableNodeError"}},Ku=class extends ke{constructor(e,t){super(e,t),this.name="RemoteException"}static get unminifiable_name(){return"RemoteException"}},xr=class extends ke{constructor(e,t){super(e,t),this.name="StateGraphInputError",this.message="Invalid StateGraph input. Make sure to pass a valid StateDefinition, Annotation.Root, or Zod schema."}static get unminifiable_name(){return"StateGraphInputError"}},qu=()=>(globalThis[Symbol.for("LG_CHECKPOINT_SEEN_NS_SET")]===void 0&&(globalThis[Symbol.for("LG_CHECKPOINT_SEEN_NS_SET")]=new Set),globalThis[Symbol.for("LG_CHECKPOINT_SEEN_NS_SET")]);var Ms=0,Ir=0;function Ar(e){let t=Date.now();return t<=Ms?(Ir+=1,Ir>=1e4&&(Ir=0,t=Ms+1)):Ir=0,Ms=t,wo({clockseq:e,msecs:t,nsecs:Ir})}function Be(e,t){let r=t.replace(/-/g,"").match(/.{2}/g).map(n=>parseInt(n,16));return yr(e,new Uint8Array(r))}var Tr="__pregel_tasks",Ps="__error__",jt="__scheduled__",Ds="__interrupt__",js="__resume__",Qt=class{lg_name="DeltaSnapshot";value;constructor(e){this.value=e}};function $s(e){return e!=null&&typeof e=="object"&&e.lg_name==="DeltaSnapshot"}var Pa="[...]",zu="[Circular]",mn=[],Zt=[];function Ju(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function Da(e,t,r,n){typeof n>"u"&&(n=Ju()),Hs(e,"",0,[],void 0,0,n);var s;try{Zt.length===0?s=JSON.stringify(e,t,r):s=JSON.stringify(e,Yu(t),r)}catch{return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;mn.length!==0;){var i=mn.pop();i.length===4?Object.defineProperty(i[0],i[1],i[3]):i[0][i[1]]=i[2]}}return s}function Ls(e,t,r,n){var s=Object.getOwnPropertyDescriptor(n,r);s.get!==void 0?s.configurable?(Object.defineProperty(n,r,{value:e}),mn.push([n,r,t,s])):Zt.push([t,r,e]):(n[r]=e,mn.push([n,r,t]))}function Hs(e,t,r,n,s,i,o){i+=1;var a;if(typeof e=="object"&&e!==null){for(a=0;a<n.length;a++)if(n[a]===e){Ls(zu,e,t,s);return}if(typeof o.depthLimit<"u"&&i>o.depthLimit){Ls(Pa,e,t,s);return}if(typeof o.edgesLimit<"u"&&r+1>o.edgesLimit){Ls(Pa,e,t,s);return}if(n.push(e),Array.isArray(e))for(a=0;a<e.length;a++)Hs(e[a],a,a,n,e,i,o);else{var c=Object.keys(e);for(a=0;a<c.length;a++){var l=c[a];Hs(e[l],l,a,n,e,i,o)}}n.pop()}}function Yu(e){return e=typeof e<"u"?e:function(t,r){return r},function(t,r){if(Zt.length>0)for(var n=0;n<Zt.length;n++){var s=Zt[n];if(s[1]===t&&s[0]===r){r=s[2],Zt.splice(n,1);break}}return e.call(this,t,r)}}var ja=[];var $a=O({});var La=O({});var Ha=O({BaseChatMessageHistory:()=>Us,BaseListChatMessageHistory:()=>gn,InMemoryChatMessageHistory:()=>Xu}),Us=class extends xe{async addMessages(e){for(let t of e)await this.addMessage(t)}},gn=class extends xe{addUserMessage(e){return this.addMessage(new Gt(e))}addAIMessage(e){return this.addMessage(new ne(e))}async addMessages(e){for(let t of e)await this.addMessage(t)}clear(){throw new Error("Not implemented.")}},Xu=class extends gn{lc_namespace=["langchain","stores","message","in_memory"];messages=[];constructor(e){super(...arguments),this.messages=e??[]}async getMessages(){return this.messages}async addMessage(e){this.messages.push(e)}async clear(){this.messages=[]}};var ve=class{pageContent;metadata;id;constructor(e){this.pageContent=e.pageContent!==void 0?e.pageContent.toString():"",this.metadata=e.metadata??{},this.id=e.id}};var Fs=class extends X{lc_namespace=["langchain_core","documents","transformers"];invoke(e,t){return this.transformDocuments(e)}},Ua=class extends Fs{async transformDocuments(e){let t=[];for(let r of e){let n=await this._transformDocument(r);t.push(n)}return t}};var Fa=O({BaseDocumentTransformer:()=>Fs,Document:()=>ve,MappingDocumentTransformer:()=>Ua});var Ba=O({BaseDocumentLoader:()=>Bs}),Bs=class{};var Va=O({LangSmithLoader:()=>Qu}),Qu=class extends Bs{datasetId;datasetName;exampleIds;asOf;splits;inlineS3Urls;offset;limit;metadata;filter;contentKey;formatContent;client;constructor(e){if(super(),e.client&&e.clientConfig)throw new Error("client and clientConfig cannot both be provided.");this.client=e.client??new jo(e?.clientConfig),this.contentKey=e.contentKey?e.contentKey.split("."):[],this.formatContent=e.formatContent??Zu,this.datasetId=e.datasetId,this.datasetName=e.datasetName,this.exampleIds=e.exampleIds,this.asOf=e.asOf,this.splits=e.splits,this.inlineS3Urls=e.inlineS3Urls,this.offset=e.offset,this.limit=e.limit,this.metadata=e.metadata,this.filter=e.filter}async load(){let e=[];for await(let t of this.client.listExamples({datasetId:this.datasetId,datasetName:this.datasetName,exampleIds:this.exampleIds,asOf:this.asOf,splits:this.splits,inlineS3Urls:this.inlineS3Urls,offset:this.offset,limit:this.limit,metadata:this.metadata,filter:this.filter})){let r=t.inputs;for(let i of this.contentKey)r=r[i];let n=this.formatContent(r),s=t;["created_at","modified_at"].forEach(i=>{i in s&&typeof s[i]=="object"&&(s[i]=s[i].toString())}),e.push({pageContent:n,metadata:s})}return e}};function Zu(e){if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}var er=class extends xe{lc_namespace=["langchain_core","example_selectors","base"]};var Vs=class{async getPromptAsync(e,t){return this.getPrompt(e).partial(t?.partialVariables??{})}},Ga=class extends Vs{defaultPrompt;conditionals;constructor(e,t=[]){super(),this.defaultPrompt=e,this.conditionals=t}getPrompt(e){for(let[t,r]of this.conditionals)if(t(e))return r;return this.defaultPrompt}};function Wa(e){return e._modelType()==="base_llm"}function Ka(e){return e._modelType()==="base_chat_model"}function qa(e){return e.split(/\n| /).length}var za=class Ja extends er{examples=[];examplePrompt;getTextLength=qa;maxLength=2048;exampleTextLengths=[];constructor(t){super(t),this.examplePrompt=t.examplePrompt,this.maxLength=t.maxLength??2048,this.getTextLength=t.getTextLength??qa}async addExample(t){this.examples.push(t);let r=await this.examplePrompt.format(t);this.exampleTextLengths.push(this.getTextLength(r))}async calculateExampleTextLengths(t,r){if(t.length>0)return t;let{examples:n,examplePrompt:s}=r;return(await Promise.all(n.map(i=>s.format(i)))).map(i=>this.getTextLength(i))}async selectExamples(t){let r=Object.values(t).join(" "),n=this.maxLength-this.getTextLength(r),s=0,i=[];for(;n>0&&s<this.examples.length;){let o=n-this.exampleTextLengths[s];if(o<0)break;i.push(this.examples[s]),n=o,s+=1}return i}static async fromExamples(t,r){let n=new Ja(r);return await Promise.all(t.map(s=>n.addExample(s))),n}};function Gs(e){return Object.keys(e).sort().map(t=>e[t])}var Ya=class Xa extends er{vectorStoreRetriever;exampleKeys;inputKeys;constructor(t){if(super(t),this.exampleKeys=t.exampleKeys,this.inputKeys=t.inputKeys,t.vectorStore!==void 0)this.vectorStoreRetriever=t.vectorStore.asRetriever({k:t.k??4,filter:t.filter});else if(t.vectorStoreRetriever)this.vectorStoreRetriever=t.vectorStoreRetriever;else throw new Error('You must specify one of "vectorStore" and "vectorStoreRetriever".')}async addExample(t){let r=Gs((this.inputKeys??Object.keys(t)).reduce((n,s)=>({...n,[s]:t[s]}),{})).join(" ");await this.vectorStoreRetriever.addDocuments([new ve({pageContent:r,metadata:t})])}async selectExamples(t){let r=Gs((this.inputKeys??Object.keys(t)).reduce((s,i)=>({...s,[i]:t[i]}),{})).join(" "),n=(await this.vectorStoreRetriever.invoke(r)).map(s=>s.metadata);return this.exampleKeys?n.map(s=>this.exampleKeys.reduce((i,o)=>({...i,[o]:s[o]}),{})):n}static async fromExamples(t,r,n,s={}){let i=s.inputKeys??null,o=t.map(c=>Gs(i?i.reduce((l,u)=>({...l,[u]:c[u]}),{}):c).join(" ")),a=await n.fromTexts(o,t,r,s);return new Xa({vectorStore:a,k:s.k??4,exampleKeys:s.exampleKeys,inputKeys:s.inputKeys})}};var Qa=O({BaseExampleSelector:()=>er,BasePromptSelector:()=>Vs,ConditionalPromptSelector:()=>Ga,LengthBasedExampleSelector:()=>za,SemanticSimilarityExampleSelector:()=>Ya,isChatModel:()=>Ka,isLLM:()=>Wa});var Or="10f90ea3-90a4-4962-bf75-83a0f3c1c62a",Za=class extends xe{lc_namespace=["langchain","recordmanagers"]};var Ws=class{uid;hash_;contentHash;metadataHash;pageContent;metadata;keyEncoder=Ao;constructor(e){this.uid=e.uid,this.pageContent=e.pageContent,this.metadata=e.metadata}makeDefaultKeyEncoder(e){this.keyEncoder=e}calculateHashes(){let e=["hash_","content_hash","metadata_hash"];for(let r of e)if(r in this.metadata)throw new Error(`Metadata cannot contain key ${r} as it is reserved for internal use. Restricted keys: [${e.join(", ")}]`);let t=this._hashStringToUUID(this.pageContent);try{let r=this._hashNestedDictToUUID(this.metadata);this.contentHash=t,this.metadataHash=r}catch(r){throw new Error(`Failed to hash metadata: ${r}. Please use a dict that can be serialized using json.`)}this.hash_=this._hashStringToUUID(this.contentHash+this.metadataHash),this.uid||(this.uid=this.hash_)}toDocument(){return new ve({pageContent:this.pageContent,metadata:this.metadata})}static fromDocument(e,t){let r=new this({pageContent:e.pageContent,metadata:e.metadata,uid:t||e.uid});return r.calculateHashes(),r}_hashStringToUUID(e){return yr(this.keyEncoder(e),Or)}_hashNestedDictToUUID(e){let t=JSON.stringify(e,Object.keys(e).sort());return yr(this.keyEncoder(t),Or)}};function Ks(e,t){let r=[],n=[];return t.forEach(s=>{n.push(s),n.length>=e&&(r.push(n),n=[])}),n.length>0&&r.push(n),r}function qs(e){let t=new Set,r=[];for(let n of e){if(!n.hash_)throw new Error("Hashed document does not have a hash");t.has(n.hash_)||(t.add(n.hash_),r.push(n))}return r}function zs(e){if(e===null)return t=>null;if(typeof e=="string")return t=>t.metadata[e];if(typeof e=="function")return e;throw new Error(`sourceIdKey should be null, a string or a function, got ${typeof e}`)}var Js=e=>"load"in e&&typeof e.load=="function"&&"loadAndSplit"in e&&typeof e.loadAndSplit=="function";async function ec(e){let{docsSource:t,recordManager:r,vectorStore:n,options:s}=e,{batchSize:i=100,cleanup:o,sourceIdKey:a,cleanupBatchSize:c=1e3,forceUpdate:l=!1}=s??{};if(o==="incremental"&&!a)throw new Error("sourceIdKey is required when cleanup mode is incremental. Please provide through 'options.sourceIdKey'.");let u=Js(t)?await t.load():t,h=zs(a??null),p=await r.getTime(),f=0,d=0,m=0,g=0,_=Ks(i??100,u);for(let y of _){let S=qs(y.map(C=>Ws.fromDocument(C))),w=S.map(C=>h(C));o==="incremental"&&S.forEach((C,H)=>{if(w[H]===null)throw new Error("sourceIdKey must be provided when cleanup is incremental")});let x=await r.exists(S.map(C=>C.uid)),A=[],k=[],b=[],I=new Set;if(S.forEach((C,H)=>{if(x[H])if(l)I.add(C.uid);else{b.push(C.uid);return}A.push(C.uid),k.push(C.toDocument())}),b.length>0&&(await r.update(b,{timeAtLeast:p}),g+=b.length),k.length>0&&(await n.addDocuments(k,{ids:A}),f+=k.length-I.size,m+=I.size),await r.update(S.map(C=>C.uid),{timeAtLeast:p,groupIds:w}),o==="incremental"){w.forEach(H=>{if(!H)throw new Error("Source id cannot be null")});let C=await r.listKeys({before:p,groupIds:w});C.length>0&&(await n.delete({ids:C}),await r.deleteKeys(C),d+=C.length)}}if(o==="full"){let y=await r.listKeys({before:p,limit:c});for(;y.length>0;)await n.delete({ids:y}),await r.deleteKeys(y),d+=y.length,y=await r.listKeys({before:p,limit:c})}return{numAdded:f,numDeleted:d,numUpdated:m,numSkipped:g}}var tc=O({RecordManager:()=>Za,UUIDV5_NAMESPACE:()=>Or,_HashedDocument:()=>Ws,_batch:()=>Ks,_deduplicateInOrder:()=>qs,_getSourceIdAssigner:()=>zs,_isBaseDocumentLoader:()=>Js,index:()=>ec});var rc=O({});var nc=O({});var sc=O({BaseMemory:()=>eh,getInputValue:()=>th,getOutputValue:()=>rh,getPromptInputKey:()=>nh}),eh=class{},ic=(e,t)=>{if(t!==void 0)return e[t];let r=Object.keys(e);if(r.length===1)return e[r[0]]},th=(e,t)=>{let r=ic(e,t);if(!r){let n=Object.keys(e);throw new Error(`input values have ${n.length} keys, you must specify an input key or pass only 1 key as input`)}return r},rh=(e,t)=>{let r=ic(e,t);if(!r&&r!==""){let n=Object.keys(e);throw new Error(`output values have ${n.length} keys, you must specify an output key or pass only 1 key as output`)}return r};function nh(e,t){let r=Object.keys(e).filter(n=>!t.includes(n)&&n!=="stop");if(r.length!==1)throw new Error(`One input key expected, but got ${r.length}`);return r[0]}var Ys=class extends xs{static lc_name(){return"OutputFunctionsParser"}lc_namespace=["langchain","output_parsers","openai_functions"];lc_serializable=!0;argsOnly=!0;constructor(e){super(),this.argsOnly=e?.argsOnly??this.argsOnly}async parseResult(e){if("message"in e[0]){let t=e[0].message.additional_kwargs.function_call;if(!t)throw new Error(`No function_call in message ${JSON.stringify(e)}`);if(!t.arguments)throw new Error(`No arguments in function_call ${JSON.stringify(e)}`);return this.argsOnly?t.arguments:JSON.stringify(t)}else throw new Error(`No message in generations ${JSON.stringify(e)}`)}},Xs=class extends pa{static lc_name(){return"JsonOutputFunctionsParser"}lc_namespace=["langchain","output_parsers","openai_functions"];lc_serializable=!0;outputParser;argsOnly=!0;constructor(e){super(e),this.argsOnly=e?.argsOnly??this.argsOnly,this.outputParser=new Ys(e)}_diff(e,t){if(t)return Ko(e??{},t)}async parsePartialResult(e){let t=e[0];if(!t.message)return;let{message:r}=t,n=r.additional_kwargs.function_call;if(n)return this.argsOnly?vs(n.arguments):{...n,arguments:vs(n.arguments)}}async parseResult(e){let t=await this.outputParser.parseResult(e);if(!t)throw new Error(`No result from "OutputFunctionsParser" ${JSON.stringify(e)}`);return this.parse(t)}async parse(e){let t=JSON.parse(e);return this.argsOnly||(t.arguments=JSON.parse(t.arguments)),t}getFormatInstructions(){return""}},oc=class extends xs{static lc_name(){return"JsonKeyOutputFunctionsParser"}lc_namespace=["langchain","output_parsers","openai_functions"];lc_serializable=!0;outputParser=new Xs;attrName;get lc_aliases(){return{attrName:"key_name"}}constructor(e){super(e),this.attrName=e.attrName}async parseResult(e){return(await this.outputParser.parseResult(e))[this.attrName]}};var ac=O({JsonKeyOutputFunctionsParser:()=>oc,JsonOutputFunctionsParser:()=>Xs,OutputFunctionsParser:()=>Ys});var cc=O({BaseDocumentCompressor:()=>sh}),sh=class{static isBaseDocumentCompressor(e){return e?.compressDocuments!==void 0}};var lc=O({BaseRetriever:()=>Nr}),Nr=class extends X{callbacks;tags;metadata;verbose;constructor(e){super(e),this.callbacks=e?.callbacks,this.tags=e?.tags??[],this.metadata=e?.metadata??{},this.verbose=e?.verbose??!1}_getRelevantDocuments(e,t){throw new Error("Not implemented!")}async invoke(e,t){let r=Go(Bo(t)),n=await(await qt.configure(r.callbacks,this.callbacks,r.tags,this.tags,r.metadata,this.metadata,{verbose:this.verbose}))?.handleRetrieverStart(this.toJSON(),e,r.runId,void 0,void 0,void 0,r.runName);try{let s=await this._getRelevantDocuments(e,n);return await n?.handleRetrieverEnd(s),s}catch(s){throw await n?.handleRetrieverError(s),s}}};var uc=O({BaseStore:()=>hc,InMemoryStore:()=>ih}),hc=class extends xe{},ih=class extends hc{lc_namespace=["langchain","storage"];store={};async mget(e){return e.map(t=>this.store[t])}async mset(e){for(let[t,r]of e)this.store[t]=r}async mdelete(e){for(let t of e)delete this.store[t]}async*yieldKeys(e){let t=Object.keys(this.store);for(let r of t)(e===void 0||r.startsWith(e))&&(yield r)}};var Ae={and:"and",or:"or",not:"not"},j={eq:"eq",ne:"ne",lt:"lt",gt:"gt",lte:"lte",gte:"gte"},_n=class{},yn=class{accept(e){if(this.exprName==="Operation")return e.visitOperation(this);if(this.exprName==="Comparison")return e.visitComparison(this);if(this.exprName==="StructuredQuery")return e.visitStructuredQuery(this);throw new Error("Unknown Expression type")}},wn=class extends yn{},pc=class extends wn{comparator;attribute;value;exprName="Comparison";constructor(e,t,r){super(),this.comparator=e,this.attribute=t,this.value=r}},fc=class extends wn{operator;args;exprName="Operation";constructor(e,t){super(),this.operator=e,this.args=t}},dc=class extends yn{query;filter;exprName="StructuredQuery";constructor(e,t){super(),this.query=e,this.filter=t}};function Qs(e){return e&&typeof e=="object"&&!Array.isArray(e)}function ge(e){return e?typeof e=="string"&&e.length>0||typeof e=="function"?!1:Qs(e)&&Object.keys(e).length===0:!0}function Zs(e){if(typeof e=="number")return e%1===0;if(typeof e=="string"){let t=parseInt(e,10);return!Number.isNaN(t)&&t%1===0&&t.toString()===e}return!1}function ei(e){if(typeof e=="number")return e%1!==0;if(typeof e=="string"){let t=parseFloat(e);return!Number.isNaN(t)&&t%1!==0&&t.toString()===e}return!1}function ti(e){return typeof e=="string"&&(Number.isNaN(parseFloat(e))||parseFloat(e).toString()!==e)}function ri(e){return typeof e=="boolean"}function tr(e){let t;if(ti(e))t=e;else if(Zs(e))t=parseInt(e,10);else if(ei(e))t=parseFloat(e);else if(ri(e))t=!!e;else throw new Error("Unsupported value type");return t}var Rr=class extends _n{},mc=class extends Rr{allowedOperators;allowedComparators;constructor(e){super(),this.allowedOperators=e?.allowedOperators??[Ae.and,Ae.or],this.allowedComparators=e?.allowedComparators??[j.eq,j.ne,j.gt,j.gte,j.lt,j.lte]}formatFunction(e){if(e in j){if(this.allowedComparators.length>0&&this.allowedComparators.indexOf(e)===-1)throw new Error(`Comparator ${e} not allowed. Allowed comparators: ${this.allowedComparators.join(", ")}`)}else if(e in Ae){if(this.allowedOperators.length>0&&this.allowedOperators.indexOf(e)===-1)throw new Error(`Operator ${e} not allowed. Allowed operators: ${this.allowedOperators.join(", ")}`)}else throw new Error("Unknown comparator or operator");return`$${e}`}visitOperation(e){let t=e.args?.map(r=>r.accept(this));return{[this.formatFunction(e.operator)]:t}}visitComparison(e){return{[e.attribute]:{[this.formatFunction(e.comparator)]:tr(e.value)}}}visitStructuredQuery(e){let t={};return e.filter&&(t={filter:e.filter.accept(this)}),t}mergeFilters(e,t,r="and",n=!1){if(!(ge(e)&&ge(t))){if(ge(e)||r==="replace")return ge(t)?void 0:t;if(ge(t))return n?e:r==="and"?void 0:e;if(r==="and")return{$and:[e,t]};if(r==="or")return{$or:[e,t]};throw new Error("Unknown merge type")}}};var gc=class extends Rr{allowedOperators=[Ae.and,Ae.or];allowedComparators=[j.eq,j.ne,j.gt,j.gte,j.lt,j.lte];formatFunction(){throw new Error("Not implemented")}getAllowedComparatorsForType(e){switch(e){case"string":return[j.eq,j.ne,j.gt,j.gte,j.lt,j.lte];case"number":return[j.eq,j.ne,j.gt,j.gte,j.lt,j.lte];case"boolean":return[j.eq,j.ne];default:throw new Error(`Unsupported data type: ${e}`)}}getComparatorFunction(e){switch(e){case j.eq:return(t,r)=>t===r;case j.ne:return(t,r)=>t!==r;case j.gt:return(t,r)=>t>r;case j.gte:return(t,r)=>t>=r;case j.lt:return(t,r)=>t<r;case j.lte:return(t,r)=>t<=r;default:throw new Error("Unknown comparator")}}getOperatorFunction(e){switch(e){case Ae.and:return(t,r)=>t&&r;case Ae.or:return(t,r)=>t||r;default:throw new Error("Unknown operator")}}visitOperation(e){let{operator:t,args:r}=e;if(this.allowedOperators.includes(t)){let n=this.getOperatorFunction(t);return s=>r?r.reduce((i,o)=>{let a=o.accept(this);if(typeof a=="function")return n(i,a(s));throw new Error("Filter is not a function")},!0):!0}else throw new Error("Operator not allowed")}visitComparison(e){let{comparator:t,attribute:r,value:n}=e,s=[j.ne];if(this.allowedComparators.includes(t)){if(!this.getAllowedComparatorsForType(typeof n).includes(t))throw new Error(`'${t}' comparator not allowed to be used with ${typeof n}`);let i=this.getComparatorFunction(t);return o=>{let a=o.metadata[r];return a===void 0?!!s.includes(t):i(a,tr(n))}}else throw new Error("Comparator not allowed")}visitStructuredQuery(e){if(!e.filter)return{};let t=e.filter?.accept(this);if(typeof t!="function")throw new Error("Structured query filter is not a function");return{filter:t}}mergeFilters(e,t,r="and"){if(!(ge(e)&&ge(t))){if(ge(e)||r==="replace")return ge(t)?void 0:t;if(ge(t))return r==="and"?void 0:e;if(r==="and")return n=>e(n)&&t(n);if(r==="or")return n=>e(n)||t(n);throw new Error("Unknown merge type")}}};var _c=O({BaseTranslator:()=>Rr,BasicTranslator:()=>mc,Comparators:()=>j,Comparison:()=>pc,Expression:()=>yn,FilterDirective:()=>wn,FunctionalTranslator:()=>gc,Operation:()=>fc,Operators:()=>Ae,StructuredQuery:()=>dc,Visitor:()=>_n,castValue:()=>tr,isBoolean:()=>ri,isFilterEmpty:()=>ge,isFloat:()=>ei,isInt:()=>Zs,isObject:()=>Qs,isString:()=>ti});function Mr(e){if(e==null||typeof e!="object")return!1;let t=e;return typeof t.text<"u"&&typeof t.toolCalls<"u"&&typeof t.reasoning<"u"&&typeof t.usage<"u"&&typeof t.output<"u"&&typeof t[Symbol.asyncIterator]=="function"}function yc(e,t,r){return e==null?!1:Object.entries(t).every(([n,s])=>r(e[n],s))}function wc(e,t,r){return e==null?!1:yc(e,t,r)}function vc(e){return e.content.find(t=>t.type==="text")?.text}function oh(e,t,r){if(t.id!==void 0&&e.id!==t.id||t.text!==void 0&&vc(e)!==t.text)return!1;if(t.toolCalls!==void 0){let n=e.tool_calls??[];if(n.length!==t.toolCalls.length)return!1;for(let s=0;s<t.toolCalls.length;s++){let i=n[s],o=t.toolCalls[s];if(i?.name!==o.name||!r(i.args,o.args))return!1}}return!(t.usage!==void 0&&!wc(e.usage_metadata,t.usage,r)||t.responseMetadata!==void 0&&!yc(e.response_metadata,t.responseMetadata,r))}function Pr(e,t,r){return{pass:!1,message:()=>`${r.matcherHint(t)}
|
|
6
|
+
|
|
7
|
+
Expected: ChatModelStream (return value of model.streamEvents("Hello"))
|
|
8
|
+
Received: ${r.printReceived(e)}`,actual:e,expected:"ChatModelStream"}}function Dr(e,t){return t?!e:e}async function ah(e,t){let{isNot:r,utils:n}=this,s="toHaveStreamText";if(!Mr(e))return Pr(e,s,n);let i=await e.text;return{pass:Dr(i===t,r),message:()=>`${n.matcherHint(s,void 0,void 0,{isNot:r})}
|
|
9
|
+
|
|
10
|
+
Expected stream text: ${r?"not ":""}${n.printExpected(t)}
|
|
11
|
+
Received stream text: ${n.printReceived(i)}`,actual:i,expected:t}}async function ch(e,t){let{isNot:r,utils:n}=this,s="toHaveStreamReasoning";if(!Mr(e))return Pr(e,s,n);let i=await e.reasoning;return{pass:Dr(i===t,r),message:()=>`${n.matcherHint(s,void 0,void 0,{isNot:r})}
|
|
12
|
+
|
|
13
|
+
Expected stream reasoning: ${r?"not ":""}${n.printExpected(t)}
|
|
14
|
+
Received stream reasoning: ${n.printReceived(i)}`,actual:i,expected:t}}async function lh(e,t){let{isNot:r,utils:n}=this,s="toHaveStreamToolCalls";if(!Mr(e))return Pr(e,s,n);let i=await e.toolCalls,o=i.length===t.length&&t.every((a,c)=>{let l=i[c];return l?.name===a.name&&this.equals(l.args,a.args)});return o=Dr(o,r),{pass:o,message:()=>`${n.matcherHint(s,void 0,void 0,{isNot:r})}
|
|
15
|
+
|
|
16
|
+
Expected stream tool calls: ${n.printExpected(t)}
|
|
17
|
+
Received stream tool calls: ${n.printReceived(i.map(a=>({name:a.name,args:a.args})))}`,actual:i.map(a=>({name:a.name,args:a.args})),expected:t}}async function uh(e,t){let{isNot:r,utils:n}=this,s="toHaveStreamUsage";if(!Mr(e))return Pr(e,s,n);let i=await e.usage;return{pass:Dr(wc(i,t,this.equals),r),message:()=>`${n.matcherHint(s,void 0,void 0,{isNot:r})}
|
|
18
|
+
|
|
19
|
+
Expected stream usage: ${n.printExpected(t)}
|
|
20
|
+
Received stream usage: ${n.printReceived(i)}`,actual:i,expected:t}}async function hh(e,t){let{isNot:r,utils:n}=this,s="toHaveStreamOutput";if(!Mr(e))return Pr(e,s,n);let i=await e.output;return{pass:Dr(oh(i,t,this.equals),r),message:()=>`${n.matcherHint(s,void 0,void 0,{isNot:r})}
|
|
21
|
+
|
|
22
|
+
Expected stream output: ${n.printExpected(t)}
|
|
23
|
+
Received stream output: ${n.printReceived({id:i.id,text:vc(i),tool_calls:i.tool_calls?.map(o=>({name:o.name,args:o.args})),usage_metadata:i.usage_metadata,response_metadata:i.response_metadata})}`,actual:i,expected:t}}var rr={toHaveStreamText:ah,toHaveStreamReasoning:ch,toHaveStreamToolCalls:lh,toHaveStreamUsage:uh,toHaveStreamOutput:hh};function jr(e){return ae.isInstance(e)?e.constructor.name||e.type:typeof e}function vn(e,t){return function(r,n){let{isNot:s,utils:i}=this;if(!t(r))return{pass:!1,message:()=>`${i.matcherHint(`toBe${e}`,void 0,void 0)}
|
|
24
|
+
|
|
25
|
+
Expected: ${s?"not ":""}${e}
|
|
26
|
+
Received: ${jr(r)}`,actual:jr(r),expected:e};if(n===void 0)return{pass:!0,message:()=>`${i.matcherHint(`toBe${e}`,void 0,void 0)}
|
|
27
|
+
|
|
28
|
+
Expected: not ${e}
|
|
29
|
+
Received: ${e}`};let o=r;return typeof n=="string"?{pass:o.content===n,message:()=>`${i.matcherHint(`toBe${e}`,void 0,void 0)}
|
|
30
|
+
|
|
31
|
+
Expected: ${e} with content ${i.printExpected(n)}
|
|
32
|
+
Received: ${e} with content ${i.printReceived(o.content)}`,actual:o.content,expected:n}:{pass:Object.entries(n).every(([a,c])=>this.equals(o[a],c)),message:()=>{let a={};for(let c of Object.keys(n))a[c]=o[c];return`${i.matcherHint(`toBe${e}`,void 0,void 0)}
|
|
33
|
+
|
|
34
|
+
Expected: ${e} matching ${i.printExpected(n)}
|
|
35
|
+
Received: ${e} with ${i.printReceived(a)}`},actual:(()=>{let a={};for(let c of Object.keys(n))a[c]=o[c];return a})(),expected:n}}}var ni=vn("HumanMessage",Gt.isInstance),si=vn("AIMessage",ne.isInstance),ii=vn("SystemMessage",Mo.isInstance),oi=vn("ToolMessage",It.isInstance);function ai(e,t){let{isNot:r,utils:n}=this;if(!ne.isInstance(e))return{pass:!1,message:()=>`${n.matcherHint("toHaveToolCalls")}
|
|
36
|
+
|
|
37
|
+
Expected: AIMessage
|
|
38
|
+
Received: ${jr(e)}`};let s=e.tool_calls??[];if(s.length!==t.length)return{pass:!1,message:()=>`${n.matcherHint("toHaveToolCalls")}
|
|
39
|
+
|
|
40
|
+
Expected ${r?"not ":""}${t.length} tool call(s), received ${s.length}`,actual:s.length,expected:t.length};let i=t.filter(o=>!s.some(a=>Object.entries(o).every(([c,l])=>this.equals(a[c],l))));return i.length>0?{pass:!1,message:()=>`${n.matcherHint("toHaveToolCalls")}
|
|
41
|
+
|
|
42
|
+
Could not find matching tool call(s) for:
|
|
43
|
+
${n.printExpected(i)}
|
|
44
|
+
Received tool calls: ${n.printReceived(s.map(o=>({name:o.name,id:o.id,args:o.args})))}`,actual:s.map(o=>({name:o.name,id:o.id,args:o.args})),expected:t}:{pass:!0,message:()=>`${n.matcherHint("toHaveToolCalls")}
|
|
45
|
+
|
|
46
|
+
Expected AIMessage not to have matching tool calls`}}function ci(e,t){let{isNot:r,utils:n}=this;if(!ne.isInstance(e))return{pass:!1,message:()=>`${n.matcherHint("toHaveToolCallCount")}
|
|
47
|
+
|
|
48
|
+
Expected: AIMessage
|
|
49
|
+
Received: ${jr(e)}`};let s=e.tool_calls?.length??0;return{pass:s===t,message:()=>`${n.matcherHint("toHaveToolCallCount")}
|
|
50
|
+
|
|
51
|
+
Expected ${r?"not ":""}${t} tool call(s)
|
|
52
|
+
Received: ${s}`,actual:s,expected:t}}function li(e,t){let{isNot:r,utils:n}=this;if(!ne.isInstance(e))return{pass:!1,message:()=>`${n.matcherHint("toContainToolCall")}
|
|
53
|
+
|
|
54
|
+
Expected: AIMessage
|
|
55
|
+
Received: ${jr(e)}`};let s=e.tool_calls??[];return{pass:s.some(i=>Object.entries(t).every(([o,a])=>this.equals(i[o],a))),message:()=>`${n.matcherHint("toContainToolCall")}
|
|
56
|
+
|
|
57
|
+
Expected AIMessage ${r?"not ":""}to contain a tool call matching ${n.printExpected(t)}
|
|
58
|
+
Received tool calls: ${n.printReceived(s.map(i=>({name:i.name,id:i.id})))}`,actual:s.map(i=>({name:i.name,id:i.id})),expected:t}}function ui(e,t){let{isNot:r,utils:n}=this;if(!Array.isArray(e))return{pass:!1,message:()=>`${n.matcherHint("toHaveToolMessages")}
|
|
59
|
+
|
|
60
|
+
Expected an array of messages
|
|
61
|
+
Received: ${typeof e}`};let s=e.filter(It.isInstance);if(s.length!==t.length)return{pass:!1,message:()=>`${n.matcherHint("toHaveToolMessages")}
|
|
62
|
+
|
|
63
|
+
Expected ${r?"not ":""}${t.length} tool message(s), found ${s.length}`,actual:s.length,expected:t.length};for(let i=0;i<t.length;i++)if(!Object.entries(t[i]).every(([o,a])=>this.equals(s[i][o],a)))return{pass:!1,message:()=>{let o={};for(let a of Object.keys(t[i]))o[a]=s[i][a];return`${n.matcherHint("toHaveToolMessages")}
|
|
64
|
+
|
|
65
|
+
Tool message at index ${i} did not match:
|
|
66
|
+
Expected: ${n.printExpected(t[i])}
|
|
67
|
+
Received: ${n.printReceived(o)}`},actual:s[i],expected:t[i]};return{pass:!0,message:()=>`${n.matcherHint("toHaveToolMessages")}
|
|
68
|
+
|
|
69
|
+
Expected messages not to contain matching tool messages`}}function hi(e,t){let{isNot:r,utils:n}=this,s=e?.__interrupt__;if(!(Array.isArray(s)&&s.length>0))return{pass:!1,message:()=>`${n.matcherHint("toHaveBeenInterrupted")}
|
|
70
|
+
|
|
71
|
+
Expected result ${r?"not ":""}to have been interrupted
|
|
72
|
+
Received __interrupt__: ${n.printReceived(s)}`};if(t===void 0)return{pass:!0,message:()=>`${n.matcherHint("toHaveBeenInterrupted")}
|
|
73
|
+
|
|
74
|
+
Expected result not to have been interrupted
|
|
75
|
+
Received ${s.length} interrupt(s)`};let i=s[0]?.value;return{pass:this.equals(i,t),message:()=>`${n.matcherHint("toHaveBeenInterrupted")}
|
|
76
|
+
|
|
77
|
+
Expected interrupt value: ${n.printExpected(t)}
|
|
78
|
+
Received interrupt value: ${n.printReceived(i)}`,actual:i,expected:t}}function pi(e,t){let{isNot:r,utils:n}=this,s=e?.structuredResponse;return s===void 0?{pass:!1,message:()=>`${n.matcherHint("toHaveStructuredResponse")}
|
|
79
|
+
|
|
80
|
+
Expected result ${r?"not ":""}to have a structured response
|
|
81
|
+
Received structuredResponse: undefined`}:t===void 0?{pass:!0,message:()=>`${n.matcherHint("toHaveStructuredResponse")}
|
|
82
|
+
|
|
83
|
+
Expected result not to have a structured response`}:{pass:Object.entries(t).every(([i,o])=>this.equals(s[i],o)),message:()=>`${n.matcherHint("toHaveStructuredResponse")}
|
|
84
|
+
|
|
85
|
+
Expected structured response: ${n.printExpected(t)}
|
|
86
|
+
Received structured response: ${n.printReceived(s)}`,actual:s,expected:t}}var bc={toBeHumanMessage:ni,toBeAIMessage:si,toBeSystemMessage:ii,toBeToolMessage:oi,toHaveToolCalls:ai,toHaveToolCallCount:ci,toContainToolCall:li,toHaveToolMessages:ui,toHaveBeenInterrupted:hi,toHaveStructuredResponse:pi,...rr};function ph(e){return e.map(t=>t.text).filter(Boolean).join("-")}var Sc=0;function fh(){return Sc+=1,`fake_tc_${Sc}`}var fi=class kc extends Yt{queue=[];_alwaysThrowError;_structuredResponseValue;_tools=[];_state={callIndex:0,calls:[]};get calls(){return this._state.calls}get callCount(){return this._state.calls.length}constructor(){super({})}_llmType(){return"fake-model-builder"}_combineLLMOutput(){return[]}respond(t){return typeof t=="function"?this.queue.push({kind:"factory",factory:t}):ae.isInstance(t)?this.queue.push({kind:"message",message:t}):this.queue.push({kind:"error",error:t}),this}respondWithTools(t){return this.queue.push({kind:"toolCalls",toolCalls:t.map(r=>({name:r.name,args:r.args,id:r.id??fh(),type:"tool_call"}))}),this}alwaysThrow(t){return this._alwaysThrowError=t,this}structuredResponse(t){return this._structuredResponseValue=t,this}bindTools(t){let r=[...this._tools,...t],n=new kc;return n.queue=this.queue,n._alwaysThrowError=this._alwaysThrowError,n._structuredResponseValue=this._structuredResponseValue,n._tools=r,n._state=this._state,n.withConfig({})}withStructuredOutput(t,r){let{_structuredResponseValue:n}=this;return en.from(async()=>n)}async _generate(t,r,n){this._state.calls.push({messages:[...t],options:r});let s=this._state.callIndex;if(this._state.callIndex+=1,this._alwaysThrowError)throw this._alwaysThrowError;let i=this.queue[s];if(!i)throw new Error(`FakeModel: no response queued for invocation ${s} (${this.queue.length} total queued).`);if(i.kind==="error")throw i.error;if(i.kind==="factory"){let a=i.factory(t);if(!ae.isInstance(a))throw a;return{generations:[{text:"",message:a}]}}if(i.kind==="message")return{generations:[{text:"",message:i.message}]};let o=ph(t);return{generations:[{text:o,message:new ne({content:o,id:s.toString(),tool_calls:i.toolCalls.length>0?i.toolCalls.map(a=>({...a,type:"tool_call"})):void 0})}],llmOutput:{}}}};function Ec(){return new fi}function bn(e){return{async*[Symbol.asyncIterator](){for(let t of e)yield t}}}function Sn(e="test-model"){let t=$r(e),r=t[t.length-1];return t[t.length-1]={...r,usage:{prompt_tokens:10,completion_tokens:2,total_tokens:12}},t}function $r(e="test-model"){return[{id:"chatcmpl-text",model:e,choices:[{index:0,delta:{role:"assistant",content:"Hello"},finish_reason:null}]},{id:"chatcmpl-text",model:e,choices:[{index:0,delta:{content:" world"},finish_reason:null}]},{id:"chatcmpl-text",model:e,choices:[{index:0,delta:{},finish_reason:"stop"}]}]}function kn(e="test-model"){return[{id:"chatcmpl-reason",model:e,choices:[{index:0,delta:{role:"assistant",reasoning_content:"Let me reason..."},finish_reason:null}]},{id:"chatcmpl-reason",model:e,choices:[{index:0,delta:{content:"Answer."},finish_reason:null}]},{id:"chatcmpl-reason",model:e,choices:[{index:0,delta:{},finish_reason:"stop"}]}]}function En(e="test-model"){return[{id:"chatcmpl-tools",model:e,choices:[{index:0,delta:{role:"assistant",content:"Let me search."},finish_reason:null}]},{id:"chatcmpl-tools",model:e,choices:[{index:0,delta:{tool_calls:[{index:0,id:"call_abc",type:"function",function:{name:"web_search",arguments:'{"query"'}}]},finish_reason:null}]},{id:"chatcmpl-tools",model:e,choices:[{index:0,delta:{tool_calls:[{index:0,function:{arguments:':"weather"}'}}]},finish_reason:null}]},{id:"chatcmpl-tools",model:e,choices:[{index:0,delta:{},finish_reason:"tool_calls"}]}]}function Cn(e){let t=new TextEncoder;return new Response(new ReadableStream({start(r){for(let n of e)r.enqueue(t.encode(`data: ${JSON.stringify(n)}
|
|
87
|
+
|
|
88
|
+
`));r.close()}}),{status:200,headers:{"Content-Type":"text/event-stream"}})}var Cc=O({FakeBuiltModel:()=>fi,asAsyncIterable:()=>bn,fakeModel:()=>Ec,langchainMatchers:()=>bc,openAIReasoningTextChunks:()=>kn,openAITextOnlyChunks:()=>$r,openAITextOnlyChunksWithUsage:()=>Sn,openAIToolCallChunks:()=>En,sseResponseFromOpenAIChunks:()=>Cn,streamMatchers:()=>rr,toBeAIMessage:()=>si,toBeHumanMessage:()=>ni,toBeSystemMessage:()=>ii,toBeToolMessage:()=>oi,toContainToolCall:()=>li,toHaveBeenInterrupted:()=>hi,toHaveStructuredResponse:()=>pi,toHaveToolCallCount:()=>ci,toHaveToolCalls:()=>ai,toHaveToolMessages:()=>ui});var xc=O({RunCollectorCallbackHandler:()=>dh}),dh=class extends Kt{name="run_collector";exampleId;tracedRuns;constructor({exampleId:e}={}){super({_awaitHandler:!0}),this.exampleId=e,this.tracedRuns=[]}async persistRun(e){let t={...e};t.reference_example_id=this.exampleId,this.tracedRuns.push(t)}};var Ic=O({});var Ac=O({context:()=>mh});function mh(e,...t){let r=e.raw,n="";for(let s=0;s<r.length;s++){let i=r[s].replace(/\\\n[ \t]*/g,"").replace(/\\`/g,"`").replace(/\\\$/g,"$").replace(/\\\{/g,"{");if(n+=i,s<t.length){let o=gh(t[s],n);n+=typeof o=="string"?o:JSON.stringify(o)}}return n=_h(n),n=n.trim(),n=n.replace(/\\n/g,`
|
|
89
|
+
`),n}function gh(e,t){if(typeof e!="string"||!e.includes(`
|
|
90
|
+
`))return e;let r=t.slice(t.lastIndexOf(`
|
|
91
|
+
`)+1).match(/^(\s+)/);if(r){let n=r[1];return e.replace(/\n/g,`
|
|
92
|
+
${n}`)}return e}function _h(e){let t=e.split(`
|
|
93
|
+
`),r=null;for(let n of t){let s=n.match(/^(\s+)\S+/);if(s){let i=s[1].length;r===null?r=i:r=Math.min(r,i)}}return r===null?e:t.map(n=>n[0]===" "||n[0]===" "?n.slice(r):n).join(`
|
|
94
|
+
`)}var Tc=O({EventStreamContentType:()=>yh,convertEventStreamToIterableReadableDataStream:()=>vh,getBytes:()=>Oc,getLines:()=>Nc,getMessages:()=>Rc}),yh="text/event-stream";async function Oc(e,t){if(e instanceof ReadableStream){let r=e.getReader();for(;;){let n=await r.read();if(n.done){t(new Uint8Array,!0);break}t(n.value)}}else try{for await(let r of e)t(new Uint8Array(r));t(new Uint8Array,!0)}catch(r){throw new Error(["Parsing event source stream failed.","Ensure your implementation of fetch returns a web or Node readable stream.",`Error: ${r.message}`].join(`
|
|
95
|
+
`))}}function Nc(e){let t,r,n,s=!1;return function(o,a){if(a){e(o,0,!0);return}t===void 0?(t=o,r=0,n=-1):t=wh(t,o);let c=t.length,l=0;for(;r<c;){s&&(t[r]===10&&(l=++r),s=!1);let u=-1;for(;r<c&&u===-1;++r)switch(t[r]){case 58:n===-1&&(n=r-l);break;case 13:s=!0;case 10:u=r;break}if(u===-1)break;e(t.subarray(l,u),n),l=r,n=-1}l===c?t=void 0:l!==0&&(t=t.subarray(l),r-=l)}}function Rc(e,t,r){let n=di(),s=new TextDecoder;return function(o,a,c){if(c){bh(n)||(e?.(n),n=di());return}if(o.length===0)e?.(n),n=di();else if(a>0){let l=s.decode(o.subarray(0,a)),u=a+(o[a+1]===32?2:1),h=s.decode(o.subarray(u));switch(l){case"data":n.data=n.data?n.data+`
|
|
96
|
+
`+h:h;break;case"event":n.event=h;break;case"id":t?.(n.id=h);break;case"retry":{let p=parseInt(h,10);Number.isNaN(p)||r?.(n.retry=p);break}}}}}function wh(e,t){let r=new Uint8Array(e.length+t.length);return r.set(e),r.set(t,e.length),r}function di(){return{data:"",event:"",id:"",retry:void 0}}function vh(e,t){let r=new ReadableStream({async start(n){let s=Rc(o=>{if(o.event==="error")throw new Error(o.data??"Unspecified event streaming error.");o.event==="metadata"?t?.(o):o.data&&n.enqueue(o.data)});await Oc(e,Nc((o,a,c)=>{s(o,a,c),c&&n.close()}))}});return wr.fromReadableStream(r)}function bh(e){return e.data===""&&e.event===""&&e.id===""&&e.retry===void 0}var Mc=O({});function xn(e,t){let r=0,n=0,s=0;for(let i=0;i<e.length;i++)r+=e[i]*t[i],n+=e[i]*e[i],s+=t[i]*t[i];return r/(Math.sqrt(n)*Math.sqrt(s))}function Pc(e,t){let r=0;for(let n=0;n<e.length;n++)r+=e[n]*t[n];return r}function Sh(e,t){let r=0;for(let n=0;n<e.length;n++)r+=(e[n]-t[n])*(e[n]-t[n]);return r}function Dc(e,t){return Math.sqrt(Sh(e,t))}var jc=O({cosineSimilarity:()=>mi,euclideanDistance:()=>Ch,innerProduct:()=>Eh,matrixFunc:()=>In,maximalMarginalRelevance:()=>xh,normalize:()=>kh});function In(e,t,r){if(e.length===0||e[0].length===0||t.length===0||t[0].length===0)return[[]];if(e[0].length!==t[0].length)throw new Error(`Number of columns in X and Y must be the same. X has shape ${[e.length,e[0].length]} and Y has shape ${[t.length,t[0].length]}.`);return e.map(n=>t.map(s=>r(n,s)).map(s=>Number.isNaN(s)?0:s))}function kh(e,t=!1){let r=Ih(e);return e.map(n=>n.map(s=>t?1-s/r:s/r))}function mi(e,t){return In(e,t,xn)}function Eh(e,t){return In(e,t,Pc)}function Ch(e,t){return In(e,t,Dc)}function xh(e,t,r=.5,n=4){if(Math.min(n,t.length)<=0)return[];let s=mi(Array.isArray(e[0])?e:[e],t)[0],i=$c(s).maxIndex,o=[t[i]],a=[i];for(;a.length<Math.min(n,t.length);){let c=-1/0,l=-1,u=mi(t,o);s.forEach((h,p)=>{if(a.includes(p))return;let f=Math.max(...u[p]),d=r*h-(1-r)*f;d>c&&(c=d,l=p)}),o.push(t[l]),a.push(l)}return a}function $c(e){if(e.length===0)return{maxIndex:-1,maxValue:NaN};let t=e[0],r=0;for(let n=1;n<e.length;n+=1)e[n]>t&&(r=n,t=e[n]);return{maxIndex:r,maxValue:t}}function Ih(e){return e.reduce((t,r)=>Math.max(t,$c(r).maxValue),0)}var Lc=O({isCloudMetadata:()=>gi,isLocalhost:()=>_i,isPrivateIp:()=>Vc,isSafeUrl:()=>Dh,isSameOrigin:()=>jh,validateSafeUrl:()=>Gc}),Ah=["10.0.0.0/8","172.16.0.0/12","192.168.0.0/16","127.0.0.0/8","169.254.0.0/16","0.0.0.0/8","::1/128","fc00::/7","fe80::/10","ff00::/8"],Th=["169.254.169.254","169.254.170.2","100.100.100.200"],Oh=["metadata.google.internal","metadata","instance-data"],Nh=["localhost","localhost.localdomain"],Rh=/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/;function Hc(e){return Rh.test(e)}function An(e){return Bc(e)!==null}function Uc(e){return Hc(e)||An(e)}function Fc(e){if(Hc(e))return e.split(".").map(t=>parseInt(t,10));if(An(e)){let t=Bc(e);if(!t)return null;let r=t.split(":"),n=[];for(let s of r)n.push(parseInt(s,16));return n}return null}function Bc(e){if(!e||typeof e!="string"||!e.includes(":")||!/^[0-9a-fA-F:]+$/.test(e))return null;let t=e;if(t.includes("::")){let n=t.split("::");if(n.length>2)return null;let[s,i]=n,o=s?s.split(":"):[],a=i?i.split(":"):[],c=8-(o.length+a.length);if(c<0)return null;let l=Array(c).fill("0");t=[...o,...l,...a].filter(u=>u!=="").join(":")}let r=t.split(":");if(r.length!==8)return null;for(let n of r)if(n.length===0||n.length>4||!/^[0-9a-fA-F]+$/.test(n))return null;return r.map(n=>n.padStart(4,"0").toLowerCase()).join(":")}function Mh(e){let[t,r]=e.split("/");if(!t||!r)return null;let n=Fc(t);if(!n)return null;let s=parseInt(r,10);if(isNaN(s))return null;let i=An(t);return i&&s>128||!i&&s>32?null:{addr:n,prefixLen:s,isIpv6:i}}function Ph(e,t){let r=Fc(e);if(!r)return!1;let n=Mh(t);if(!n)return!1;let s=An(e);if(s!==n.isIpv6)return!1;let{addr:i,prefixLen:o}=n;if(s)for(let a=0;a<Math.ceil(o/16);a++){let c=65535<<16-Math.min(16,o-a*16)&65535;if((r[a]&c)!==(i[a]&c))return!1}else for(let a=0;a<Math.ceil(o/8);a++){let c=255<<8-Math.min(8,o-a*8)&255;if((r[a]&c)!==(i[a]&c))return!1}return!0}function Vc(e){if(!Uc(e))return!1;for(let t of Ah)if(Ph(e,t))return!0;return!1}function gi(e,t){if(Th.includes(t||""))return!0;let r=e.toLowerCase();return!!Oh.includes(r)}function _i(e,t){if(t&&(t==="127.0.0.1"||t==="::1"||t==="0.0.0.0"||t.startsWith("127.")))return!0;let r=e.toLowerCase();return!!Nh.includes(r)}function Gc(e,t){let r=t?.allowPrivate??!1,n=t?.allowHttp??!1;try{let s;try{s=new URL(e)}catch{throw new Error(`Invalid URL: ${e}`)}let i=s.hostname;if(!i)throw new Error("URL missing hostname.");if(gi(i))throw new Error(`URL points to cloud metadata endpoint: ${i}`);if(_i(i)){if(!r)throw new Error(`URL points to localhost: ${i}`);return e}let o=s.protocol;if(o!=="http:"&&o!=="https:")throw new Error(`Invalid URL scheme: ${o}. Only http and https are allowed.`);if(o==="http:"&&!n)throw new Error("HTTP scheme not allowed. Use HTTPS or set allowHttp: true.");if(Uc(i)){let a=i;if(_i(i,a)){if(!r)throw new Error(`URL points to localhost: ${i}`);return e}if(gi(i,a))throw new Error(`URL resolves to cloud metadata IP: ${a} (${i})`);if(Vc(a)&&!r)throw new Error(`URL resolves to private IP: ${a} (${i}). Set allowPrivate: true to allow.`);return e}return e}catch(s){throw s&&typeof s=="object"&&"message"in s?s:new Error(`URL validation failed: ${s}`)}}function Dh(e,t){try{return Gc(e,t),!0}catch{return!1}}function jh(e,t){try{return new URL(e).origin===new URL(t).origin}catch{return!1}}var Wc=O({SaveableVectorStore:()=>$h,VectorStore:()=>On,VectorStoreRetriever:()=>Tn}),Tn=class extends Nr{static lc_name(){return"VectorStoreRetriever"}get lc_namespace(){return["langchain_core","vectorstores"]}vectorStore;k=4;searchType="similarity";searchKwargs;filter;_vectorstoreType(){return this.vectorStore._vectorstoreType()}constructor(e){super(e),this.vectorStore=e.vectorStore,this.k=e.k??this.k,this.searchType=e.searchType??this.searchType,this.filter=e.filter,e.searchType==="mmr"&&(this.searchKwargs=e.searchKwargs)}async _getRelevantDocuments(e,t){if(this.searchType==="mmr"){if(typeof this.vectorStore.maxMarginalRelevanceSearch!="function")throw new Error(`The vector store backing this retriever, ${this._vectorstoreType()} does not support max marginal relevance search.`);return this.vectorStore.maxMarginalRelevanceSearch(e,{k:this.k,filter:this.filter,...this.searchKwargs},t?.getChild("vectorstore"))}return this.vectorStore.similaritySearch(e,this.k,this.filter,t?.getChild("vectorstore"))}async addDocuments(e,t){return this.vectorStore.addDocuments(e,t)}},On=class extends xe{lc_namespace=["langchain","vectorstores",this._vectorstoreType()];embeddings;constructor(e,t){super(t),this.embeddings=e}async delete(e){throw new Error("Not implemented.")}async similaritySearch(e,t=4,r=void 0,n=void 0){return(await this.similaritySearchVectorWithScore(await this.embeddings.embedQuery(e),t,r)).map(s=>s[0])}async similaritySearchWithScore(e,t=4,r=void 0,n=void 0){return this.similaritySearchVectorWithScore(await this.embeddings.embedQuery(e),t,r)}static fromTexts(e,t,r,n){throw new Error("the Langchain vectorstore implementation you are using forgot to override this, please report a bug")}static fromDocuments(e,t,r){throw new Error("the Langchain vectorstore implementation you are using forgot to override this, please report a bug")}asRetriever(e,t,r,n,s,i){if(typeof e=="number")return new Tn({vectorStore:this,k:e,filter:t,tags:[...n??[],this._vectorstoreType()],metadata:s,verbose:i,callbacks:r});{let o={vectorStore:this,k:e?.k,filter:e?.filter,tags:[...e?.tags??[],this._vectorstoreType()],metadata:e?.metadata,verbose:e?.verbose,callbacks:e?.callbacks,searchType:e?.searchType};return e?.searchType==="mmr"?new Tn({...o,searchKwargs:e.searchKwargs}):new Tn({...o})}}},$h=class extends On{static load(e,t){throw new Error("Not implemented")}};var Kc=class extends Yt{_combineLLMOutput(){return[]}_llmType(){return"fake"}async _generate(e,t,r){if(t?.stop?.length)return{generations:[{message:new ne(t.stop[0]),text:t.stop[0]}]};let n=e.map(s=>typeof s.content=="string"?s.content:JSON.stringify(s.content,null,2)).join(`
|
|
97
|
+
`);return await r?.handleLLMNewToken(n),{generations:[{message:new ne(n),text:n}],llmOutput:{}}}},qc=class zc extends Yt{sleep=50;responses=[];chunks=[];toolStyle="openai";thrownErrorString;tools=[];constructor({sleep:t=50,responses:r=[],chunks:n=[],toolStyle:s="openai",thrownErrorString:i,...o}){super(o),this.sleep=t,this.responses=r,this.chunks=n,this.toolStyle=s,this.thrownErrorString=i}_llmType(){return"fake"}bindTools(t){let r=[...this.tools,...t],n=r.map(o=>{switch(this.toolStyle){case"openai":return{type:"function",function:{name:o.name,description:o.description,parameters:Qe(o.schema)}};case"anthropic":return{name:o.name,description:o.description,input_schema:Qe(o.schema)};case"bedrock":return{toolSpec:{name:o.name,description:o.description,inputSchema:Qe(o.schema)}};case"google":return{name:o.name,description:o.description,parameters:Qe(o.schema)};default:throw new Error(`Unsupported tool style: ${this.toolStyle}`)}}),s=this.toolStyle==="google"?[{functionDeclarations:n}]:n,i=new zc({sleep:this.sleep,responses:this.responses,chunks:this.chunks,toolStyle:this.toolStyle,thrownErrorString:this.thrownErrorString});return i.tools=r,i.withConfig({tools:s})}async _generate(t,r,n){if(this.thrownErrorString)throw new Error(this.thrownErrorString);return{generations:[{text:"",message:new ne({content:this.responses?.[0]?.content??t[0].content??"",tool_calls:this.chunks?.[0]?.tool_calls})}]}}async*_streamResponseChunks(t,r,n){if(this.thrownErrorString)throw new Error(this.thrownErrorString);if(this.chunks?.length){for(let o of this.chunks){let a=new Zr({message:new Vt({content:o.content,tool_calls:o.tool_calls,additional_kwargs:o.additional_kwargs??{}}),text:o.content?.toString()??""});if(r.signal?.aborted)break;yield a,await n?.handleLLMNewToken(o.content,void 0,void 0,void 0,void 0,{chunk:a})}return}let s=this.responses?.[0]??new ne(typeof t[0].content=="string"?t[0].content:""),i=typeof s.content=="string"?s.content:"";for(let o of i){await new Promise(c=>setTimeout(c,this.sleep));let a=new Zr({message:new Vt({content:o}),text:o});if(r.signal?.aborted)break;yield a,await n?.handleLLMNewToken(o,void 0,void 0,void 0,void 0,{chunk:a})}}},Jc=class Yc extends Yt{static lc_name(){return"FakeListChatModel"}lc_serializable=!0;responses;i=0;sleep;emitCustomEvent=!1;generationInfo;tools=[];toolStyle="openai";constructor(t){super(t);let{responses:r,sleep:n,emitCustomEvent:s,generationInfo:i}=t;this.responses=r,this.sleep=n,this.emitCustomEvent=s??this.emitCustomEvent,this.generationInfo=i}_combineLLMOutput(){return[]}_llmType(){return"fake-list"}async _generate(t,r,n){if(await this._sleepIfRequested(),r?.thrownErrorString)throw new Error(r.thrownErrorString);if(this.emitCustomEvent&&await n?.handleCustomEvent("some_test_event",{someval:!0}),r?.stop?.length)return{generations:[this._formatGeneration(r.stop[0])]};{let s=this._currentResponse();return this._incrementResponse(),{generations:[this._formatGeneration(s)],llmOutput:{}}}}_formatGeneration(t){return{message:new ne(t),text:t}}async*_streamResponseChunks(t,r,n){let s=this._currentResponse();this._incrementResponse(),this.emitCustomEvent&&await n?.handleCustomEvent("some_test_event",{someval:!0});let i=[...s];for(let o=0;o<i.length;o++){let a=i[o],c=o===i.length-1;if(await this._sleepIfRequested(),r?.thrownErrorString)throw new Error(r.thrownErrorString);let l=this._createResponseChunk(a,c?this.generationInfo:void 0);if(r.signal?.aborted)break;yield l,n?.handleLLMNewToken(a)}}async _sleepIfRequested(){this.sleep!==void 0&&await this._sleep()}async _sleep(){return new Promise(t=>{setTimeout(()=>t(),this.sleep)})}_createResponseChunk(t,r){return new Zr({message:new Vt({content:t}),text:t,generationInfo:r})}_currentResponse(){return this.responses[this.i]}_incrementResponse(){this.i<this.responses.length-1?this.i+=1:this.i=0}bindTools(t){let r=[...this.tools,...t],n=r.map(o=>{switch(this.toolStyle){case"openai":return{type:"function",function:{name:o.name,description:o.description,parameters:Qe(o.schema)}};case"anthropic":return{name:o.name,description:o.description,input_schema:Qe(o.schema)};case"bedrock":return{toolSpec:{name:o.name,description:o.description,inputSchema:Qe(o.schema)}};case"google":return{name:o.name,description:o.description,parameters:Qe(o.schema)};default:throw new Error(`Unsupported tool style: ${this.toolStyle}`)}}),s=this.toolStyle==="google"?[{functionDeclarations:n}]:n,i=new Yc({responses:this.responses,sleep:this.sleep,emitCustomEvent:this.emitCustomEvent,generationInfo:this.generationInfo});return i.tools=r,i.toolStyle=this.toolStyle,i.i=this.i,i.withConfig({tools:s})}withStructuredOutput(t,r){return en.from(async n=>{let s=await this.invoke(n);if(s.tool_calls?.[0]?.args)return s.tool_calls[0].args;if(typeof s.content=="string")return JSON.parse(s.content);throw new Error("No structured output found")})}};var Xc=class extends Cs{vectorSize;constructor(e){super(e??{}),this.vectorSize=e?.vectorSize??4}async embedDocuments(e){return Promise.all(e.map(t=>this.embedQuery(t)))}async embedQuery(e){let t=e;t=t.toLowerCase().replaceAll(/[^a-z ]/g,"");let r=t.length%this.vectorSize,n=r===0?0:this.vectorSize-r,s=t.length+n;t=t.padEnd(s," ");let i=t.length/this.vectorSize,o=[];for(let a=0;a<t.length;a+=i)o.push(t.slice(a,a+i));return o.map(a=>{let c=0;for(let l=0;l<a.length;l+=1)c+=a===" "?0:a.charCodeAt(l);return c%26/26})}},Qc=class extends Cs{constructor(e){super(e??{})}embedDocuments(e){return Promise.resolve(e.map(()=>[.1,.2,.3,.4]))}embedQuery(e){return Promise.resolve([.1,.2,.3,.4])}};var Zc=class extends Is{response;thrownErrorString;constructor(e){super(e),this.response=e.response,this.thrownErrorString=e.thrownErrorString}_llmType(){return"fake"}async _call(e,t,r){if(this.thrownErrorString)throw new Error(this.thrownErrorString);let n=this.response??e;return await r?.handleLLMNewToken(n),n}},el=class extends Is{sleep=50;responses;thrownErrorString;constructor(e){super(e),this.sleep=e.sleep??this.sleep,this.responses=e.responses,this.thrownErrorString=e.thrownErrorString}_llmType(){return"fake"}async _call(e){if(this.thrownErrorString)throw new Error(this.thrownErrorString);let t=this.responses?.[0];return this.responses=this.responses?.slice(1),t??e}async*_streamResponseChunks(e,t,r){if(this.thrownErrorString)throw new Error(this.thrownErrorString);let n=this.responses?.[0];this.responses=this.responses?.slice(1);for(let s of n??e)await new Promise(i=>setTimeout(i,this.sleep)),yield{text:s,generationInfo:{}},await r?.handleLLMNewToken(s)}};var tl=class extends Us{lc_namespace=["langchain_core","message","fake"];messages=[];constructor(){super()}async getMessages(){return this.messages}async addMessage(e){this.messages.push(e)}async addUserMessage(e){this.messages.push(new Gt(e))}async addAIMessage(e){this.messages.push(new ne(e))}async clear(){this.messages=[]}},rl=class extends gn{lc_namespace=["langchain_core","message","fake"];messages=[];constructor(){super()}async addMessage(e){this.messages.push(e)}async getMessages(){return this.messages}},nl=class extends Kt{name="fake_tracer";runs=[];constructor(){super()}persistRun(e){return this.runs.push(e),Promise.resolve()}};var sl=class extends ha{lc_namespace=["tests","fake"];getFormatInstructions(){return""}async parse(e){return e.split(",").map(t=>t.trim())}};var il=class extends Nr{lc_namespace=["test","fake"];output=[new ve({pageContent:"foo"}),new ve({pageContent:"bar"})];constructor(e){super(),this.output=e?.output??this.output}async _getRelevantDocuments(e){return this.output}};var ol=class extends X{lc_namespace=["tests","fake"];returnOptions;constructor(e){super(e),this.returnOptions=e.returnOptions}async invoke(e,t){return this.returnOptions?t??{}:{input:e}}};var al=class extends Ea{name;description;schema;constructor(e){super(e),this.name=e.name,this.description=e.description,this.schema=e.schema}async _call(e,t){return JSON.stringify(e)}};var cl=class extends Kt{runPromiseResolver;runPromise;name="single_run_extractor";constructor(){super(),this.runPromise=new Promise(e=>{this.runPromiseResolver=e})}async persistRun(e){this.runPromiseResolver(e)}async extract(){return this.runPromise}};var ll=class ul extends On{memoryVectors=[];similarity;_vectorstoreType(){return"memory"}constructor(t,{similarity:r,...n}={}){super(t,n),this.similarity=r??xn}async addDocuments(t){let r=t.map(({pageContent:n})=>n);return this.addVectors(await this.embeddings.embedDocuments(r),t)}async addVectors(t,r){let n=t.map((s,i)=>({content:r[i].pageContent,embedding:s,metadata:r[i].metadata}));this.memoryVectors=this.memoryVectors.concat(n)}async similaritySearchVectorWithScore(t,r,n){let s=o=>n?n(new ve({metadata:o.metadata,pageContent:o.content})):!0,i=this.memoryVectors.filter(s);return i.map((o,a)=>({similarity:this.similarity(t,o.embedding),index:a})).sort((o,a)=>o.similarity>a.similarity?-1:0).slice(0,r).map(o=>[new ve({metadata:i[o.index].metadata,pageContent:i[o.index].content}),o.similarity])}static async fromTexts(t,r,n,s){let i=[];for(let o=0;o<t.length;o+=1){let a=Array.isArray(r)?r[o]:r,c=new ve({pageContent:t[o],metadata:a});i.push(c)}return ul.fromDocuments(i,n,s)}static async fromDocuments(t,r,n){let s=new this(r,n);return await s.addDocuments(t),s}static async fromExistingIndex(t,r){return new this(t,r)}};var hl=O({FakeChatMessageHistory:()=>tl,FakeChatModel:()=>Kc,FakeEmbeddings:()=>Qc,FakeLLM:()=>Zc,FakeListChatMessageHistory:()=>rl,FakeListChatModel:()=>Jc,FakeRetriever:()=>il,FakeRunnable:()=>ol,FakeSplitIntoListParser:()=>sl,FakeStreamingChatModel:()=>qc,FakeStreamingLLM:()=>el,FakeTool:()=>al,FakeTracer:()=>nl,FakeVectorStore:()=>ll,SingleRunExtractor:()=>cl,SyntheticEmbeddings:()=>Xc,asAsyncIterable:()=>bn,openAIReasoningTextChunks:()=>kn,openAITextOnlyChunks:()=>$r,openAITextOnlyChunksWithUsage:()=>Sn,openAIToolCallChunks:()=>En,sseResponseFromOpenAIChunks:()=>Cn,streamMatchers:()=>rr});var pl=O({agents:()=>La,caches:()=>Po,callbacks__base:()=>Do,callbacks__manager:()=>Fo,callbacks__promises:()=>Uo,chat_history:()=>Ha,document_loaders__base:()=>Ba,document_loaders__langsmith:()=>Va,documents:()=>Fa,embeddings:()=>sa,errors:()=>Oo,example_selectors:()=>Qa,index:()=>$a,indexing:()=>tc,language_models__base:()=>aa,language_models__chat_models:()=>ya,language_models__compat:()=>_a,language_models__event:()=>rc,language_models__llms:()=>va,language_models__openai_completions_stream:()=>wa,language_models__profile:()=>nc,language_models__stream:()=>ga,language_models__structured_output:()=>ma,load__serializable:()=>Eo,memory:()=>sc,messages:()=>na,messages__tool:()=>No,output_parsers:()=>fa,output_parsers__openai_functions:()=>ac,output_parsers__openai_tools:()=>ba,outputs:()=>zo,prompt_values:()=>ia,prompts:()=>Sa,retrievers:()=>lc,retrievers__document_compressors:()=>cc,runnables:()=>la,runnables__graph:()=>ta,singletons:()=>Vo,stores:()=>uc,structured_query:()=>_c,testing:()=>Cc,tools:()=>ka,tracers__base:()=>$o,tracers__console:()=>Lo,tracers__log_stream:()=>qo,tracers__run_collector:()=>xc,tracers__tracer_langchain:()=>Ho,types__stream:()=>Ic,utils__async_caller:()=>Jo,utils__chunk_array:()=>Ca,utils__context:()=>Ac,utils__env:()=>xo,utils__event_source_parse:()=>Tc,utils__format:()=>Mc,utils__function_calling:()=>xa,utils__gateway:()=>Ia,utils__hash:()=>To,utils__json_patch:()=>ua,utils__json_schema:()=>ea,utils__math:()=>jc,utils__ssrf:()=>Lc,utils__standard_schema:()=>Yo,utils__stream:()=>Wo,utils__testing:()=>hl,utils__tiktoken:()=>oa,utils__types:()=>da,utils__uuid:()=>yo,vectorstores:()=>Wc});var Lh=50;function Hh(e){let t={};for(let r=e;r&&r.prototype;r=Object.getPrototypeOf(r))Object.assign(t,Reflect.get(r.prototype,"lc_aliases"));return Object.entries(t).reduce((r,[n,s])=>(r[s]=n,r),{})}async function Nn(e){let{optionalImportsMap:t,optionalImportEntrypoints:r,importMap:n,secretsMap:s,secretsFromEnv:i,path:o,depth:a,maxDepth:c}=this,l=o.join(".");if(a>c)throw new Error(`Maximum recursion depth (${c}) exceeded during deserialization. This may indicate a malicious payload or you may need to increase maxDepth.`);if(typeof e!="object"||e==null)return e;if(Array.isArray(e))return Promise.all(e.map((p,f)=>Nn.call({...this,path:[...o,`${f}`],depth:a+1},p)));let u=e;if(So(u))return ko(u);if("lc"in u&&"type"in u&&"id"in u&&u.lc===1&&u.type==="secret"){let[p]=u.id;if(p in s)return s[p];if(i){let f=Io(p);if(f)return f}throw new Error(`Missing secret "${p}" at ${l}`)}if("lc"in u&&"type"in u&&"id"in u&&u.lc===1&&u.type==="not_implemented"){let p=JSON.stringify(u);throw new Error(`Trying to load an object that doesn't implement serialization: ${l} -> ${p}`)}if("lc"in u&&"type"in u&&"id"in u&&"kwargs"in u&&u.lc===1&&u.type==="constructor"){let p=u,f=JSON.stringify(p),[d,...m]=p.id.slice().reverse(),g=m.reverse(),_={langchain_core:pl,langchain:n},y=null,S=[g.join("/")];g[0]==="langchain_community"&&S.push(["langchain",...g.slice(1)].join("/"));let w=S.find(k=>k in t);if(ja.concat(r).includes(g.join("/"))||w)if(w!==void 0)y=await t[w];else throw new Error(`Missing key "${g.join("/")}" for ${l} in load(optionalImportsMap={})`);else{let k;if(g[0]==="langchain"||g[0]==="langchain_core")k=_[g[0]],g.shift();else throw new Error(`Invalid namespace: ${l} -> ${f}`);if(g.length===0)throw new Error(`Invalid namespace: ${l} -> ${f}`);let b;do{if(b=g.join("__"),b in k)break;g.pop()}while(g.length>0);b in k&&(y=k[b])}if(typeof y!="object"||y===null)throw new Error(`Invalid namespace: ${l} -> ${f}`);let x=y[d]??Object.values(y).find(k=>typeof k=="function"&&Co(k)===d);if(typeof x!="function")throw new Error(`Invalid identifer: ${l} -> ${f}`);let A=new x(bo(await Nn.call({...this,path:[...o,"kwargs"],depth:a+1},p.kwargs),vo,Hh(x)));return Object.defineProperty(A.constructor,"name",{value:d}),A}let h={};for(let[p,f]of Object.entries(u))h[p]=await Nn.call({...this,path:[...o,p],depth:a+1},f);return h}async function fl(e,t){let r=JSON.parse(e),n={optionalImportsMap:t?.optionalImportsMap??{},optionalImportEntrypoints:t?.optionalImportEntrypoints??[],secretsMap:t?.secretsMap??{},secretsFromEnv:t?.secretsFromEnv??!1,importMap:t?.importMap??{},path:["$"],depth:0,maxDepth:t?.maxDepth??Lh};return Nn.call(n,r)}function Uh(e){return e!==null&&e.lc===1&&e.type==="constructor"&&Array.isArray(e.id)}function Fh(e){return e.lc===2&&e.type==="undefined"}function Bh(e){return e.lc===2&&e.type==="delta_snapshot"&&Object.prototype.hasOwnProperty.call(e,"value")}function Vh(e){return e.lc===2&&e.type==="constructor"}function Lr(e,t){return Array.isArray(e.id)&&e.id.length===1&&e.id[0]===t}function Hr(e){return e.method===void 0||e.method===null}function yi(e){return Array.isArray(e.args)&&e.args.length===1&&Array.isArray(e.args[0])}function Gh(e){return e.every(t=>typeof t=="number"&&Number.isInteger(t)&&t>=0&&t<=255)}function Wh(e){if(Lr(e,"Set")&&Hr(e))return yi(e)?new Set(e.args[0]):void 0;if(Lr(e,"Map")&&Hr(e))return!yi(e)||!e.args[0].every(t=>Array.isArray(t)&&t.length===2)?void 0:new Map(e.args[0]);if(Lr(e,"RegExp")&&Hr(e)){if(!Array.isArray(e.args)||e.args.length!==2||typeof e.args[0]!="string"||typeof e.args[1]!="string")return;try{return new RegExp(e.args[0],e.args[1])}catch{return}}if(Lr(e,"Error")&&Hr(e))return!Array.isArray(e.args)||e.args.length!==1||typeof e.args[0]!="string"?void 0:new Error(e.args[0]);if(Lr(e,"Uint8Array")&&(Hr(e)||e.method==="from"))return!yi(e)||!Gh(e.args[0])?void 0:new Uint8Array(e.args[0])}async function wi(e){if(e&&typeof e=="object"){if(Array.isArray(e))return await Promise.all(e.map(t=>wi(t)));{let t={};for(let[r,n]of Object.entries(e))t[r]=await wi(n);return Fh(t)?void 0:Bh(t)?new Qt(t.value):Vh(t)?Wh(t)??t:Uh(t)?fl(JSON.stringify(t)):t}}return e}function Rn(e,t,r,n){return{lc:2,type:"constructor",id:[e.name],method:t??null,args:r??[],kwargs:n??{}}}function Kh(e){return e===void 0?{lc:2,type:"undefined"}:e instanceof Qt?{lc:2,type:"delta_snapshot",value:e.value}:e instanceof Set||e instanceof Map?Rn(e.constructor,void 0,[Array.from(e)]):e instanceof RegExp?Rn(RegExp,void 0,[e.source,e.flags]):e instanceof Error?Rn(Error,void 0,[e.message]):e?.lg_name==="Send"?{node:e.node,args:e.args,...e.timeout!==void 0?{timeout:e.timeout}:{}}:e instanceof Uint8Array?Rn(Uint8Array,"from",[Array.from(e)]):e}var Mn=class{_dumps(e){return new TextEncoder().encode(Da(e,(t,r)=>Kh(r)))}async dumpsTyped(e){return e instanceof Uint8Array?["bytes",e]:["json",this._dumps(e)]}async _loads(e){return wi(JSON.parse(e))}async loadsTyped(e,t){if(e==="bytes")return typeof t=="string"?new TextEncoder().encode(t):t;if(e==="json")return this._loads(typeof t=="string"?t:new TextDecoder().decode(t));throw new Error(`Unknown serialization type: ${e}`)}};function vi(e){if(typeof e!="object"||e===null)return e;let t=Array.isArray(e)?[]:{};for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=vi(e[r]));return t}function $t(){return{v:4,id:Ar(0),ts:new Date().toISOString(),channel_values:{},channel_versions:{},versions_seen:{}}}function Te(e){return{v:e.v,id:e.id,ts:e.ts,channel_values:{...e.channel_values??{}},channel_versions:{...e.channel_versions??{}},versions_seen:vi(e.versions_seen??{})}}var Pn=class{serde=new Mn;constructor(e){this.serde=e||this.serde}toJSON(){return`[${this.constructor.name}]`}async get(e){let t=await this.getTuple(e);return t?t.checkpoint:void 0}async getDeltaChannelHistory(e){let{config:t,channels:r}=e;if(r.length===0)return{};let n={},s={},i=new Set(r);for(let c of r)n[c]=[];let o=(await this.getTuple(t))?.parentConfig;for(;o!=null&&i.size>0;){let c=await this.getTuple(o);if(c===void 0)break;if(c.pendingWrites&&c.pendingWrites.length>0){let l={};for(let u of c.pendingWrites){let h=u[1];i.has(h)&&(l[h]??=[]).push(u)}for(let u of Object.keys(l)){let h=l[u];h.sort((p,f)=>p[0]<f[0]?-1:p[0]>f[0]?1:0);for(let p=h.length-1;p>=0;p-=1)n[u].push(h[p])}}for(let l of Array.from(i))Object.prototype.hasOwnProperty.call(c.checkpoint.channel_values,l)&&(s[l]=c.checkpoint.channel_values[l],i.delete(l));o=c.parentConfig}let a={};for(let c of r){let l={writes:n[c].slice().reverse()};Object.prototype.hasOwnProperty.call(s,c)&&(l.seed=s[c]),a[c]=l}return a}getNextVersion(e){if(typeof e=="string")throw new Error("Please override this method to use string versions.");return e!==void 0&&typeof e=="number"?e+1:1}};function Dn(e,t){return typeof e=="number"&&typeof t=="number"?Math.sign(e-t):String(e).localeCompare(String(t))}function Ur(...e){return e.reduce((t,r,n)=>n===0?r:Dn(t,r)>=0?t:r)}var Fr={[Ps]:-1,[jt]:-2,[Ds]:-3,[js]:-4},bi=new Set(["thread_id","checkpoint_id","checkpoint_ns","checkpoint_map","langgraph_step","langgraph_node","langgraph_triggers","langgraph_path","langgraph_checkpoint_ns"]);function jn(e){return e.configurable?.checkpoint_id||e.configurable?.thread_ts||""}var qh=new Set(["__proto__","constructor","prototype"]);function se(e,t,r={}){let{allowEmpty:n=!1}=r;if(typeof t!="string"){let s=t===null?"null":t===void 0?"undefined":Array.isArray(t)?"array":typeof t;throw new Error(`Invalid configurable value for key "${e}": expected a string identifier (got ${s}). This guard protects MemorySaver from prototype pollution.`)}if(!n&&t==="")throw new Error(`Invalid configurable value for key "${e}": empty string is not permitted as an in-memory storage key.`);if(qh.has(t))throw new Error(`Invalid configurable value for key "${e}": value "${t}" is reserved (would mutate Object.prototype). This guard protects MemorySaver from prototype pollution.`)}function nr(e,t,r){return JSON.stringify([e,t,r])}function zh(e){let[t,r,n]=JSON.parse(e);return{threadId:t,checkpointNamespace:r,checkpointId:n}}var dl=class extends Pn{storage=Object.create(null);writes=Object.create(null);constructor(e){super(e)}async _migratePendingSends(e,t,r,n){let s=e,i=nr(t,r,n),o=await Promise.all(Object.values(this.writes[i]??{}).filter(([a,c])=>c===Tr).map(async([a,c,l])=>await this.serde.loadsTyped("json",l)));s.channel_values??={},s.channel_values[Tr]=o,s.channel_versions??={},s.channel_versions[Tr]=Object.keys(s.channel_versions).length>0?Ur(...Object.values(s.channel_versions)):this.getNextVersion(void 0)}async getTuple(e){let t=e.configurable?.thread_id,r=e.configurable?.checkpoint_ns??"",n=jn(e);if(t!==void 0&&se("thread_id",t),se("checkpoint_ns",r,{allowEmpty:!0}),n&&se("checkpoint_id",n),n){let s=this.storage[t]?.[r]?.[n];if(s!==void 0){let[i,o,a]=s,c=nr(t,r,n),l=await this.serde.loadsTyped("json",i);l.v<4&&a!==void 0&&await this._migratePendingSends(l,t,r,a);let u=await Promise.all(Object.values(this.writes[c]||{}).map(async([p,f,d])=>[p,f,await this.serde.loadsTyped("json",d)])),h={config:e,checkpoint:l,metadata:await this.serde.loadsTyped("json",o),pendingWrites:u};return a!==void 0&&(h.parentConfig={configurable:{thread_id:t,checkpoint_ns:r,checkpoint_id:a}}),h}}else{let s=this.storage[t]?.[r];if(s!==void 0){n=Object.keys(s).sort((p,f)=>f.localeCompare(p))[0];let[i,o,a]=s[n],c=nr(t,r,n),l=await this.serde.loadsTyped("json",i);l.v<4&&a!==void 0&&await this._migratePendingSends(l,t,r,a);let u=await Promise.all(Object.values(this.writes[c]||{}).map(async([p,f,d])=>[p,f,await this.serde.loadsTyped("json",d)])),h={config:{configurable:{thread_id:t,checkpoint_id:n,checkpoint_ns:r}},checkpoint:l,metadata:await this.serde.loadsTyped("json",o),pendingWrites:u};return a!==void 0&&(h.parentConfig={configurable:{thread_id:t,checkpoint_ns:r,checkpoint_id:a}}),h}}}async*list(e,t){let{before:r,limit:n,filter:s}=t??{};e.configurable?.thread_id!==void 0&&se("thread_id",e.configurable.thread_id),e.configurable?.checkpoint_ns!==void 0&&se("checkpoint_ns",e.configurable.checkpoint_ns,{allowEmpty:!0}),e.configurable?.checkpoint_id&&se("checkpoint_id",e.configurable.checkpoint_id),r?.configurable?.checkpoint_id&&se("checkpoint_id",r.configurable.checkpoint_id);let i=e.configurable?.thread_id?[e.configurable?.thread_id]:Object.keys(this.storage),o=e.configurable?.checkpoint_ns,a=e.configurable?.checkpoint_id;for(let c of i)for(let l of Object.keys(this.storage[c]??{})){if(o!==void 0&&l!==o)continue;let u=this.storage[c]?.[l]??{},h=Object.entries(u).sort((p,f)=>f[0].localeCompare(p[0]));for(let[p,[f,d,m]]of h){if(a&&p!==a||r&&r.configurable?.checkpoint_id&&p>=r.configurable.checkpoint_id)continue;let g=await this.serde.loadsTyped("json",d);if(s&&!Object.entries(s).every(([A,k])=>g[A]===k))continue;if(n!==void 0){if(n<=0)break;n-=1}let _=nr(c,l,p),y=Object.values(this.writes[_]||{}),S=await Promise.all(y.map(async([A,k,b])=>[A,k,await this.serde.loadsTyped("json",b)])),w=await this.serde.loadsTyped("json",f);w.v<4&&m!==void 0&&await this._migratePendingSends(w,c,l,m);let x={config:{configurable:{thread_id:c,checkpoint_ns:l,checkpoint_id:p}},checkpoint:w,metadata:g,pendingWrites:S};m!==void 0&&(x.parentConfig={configurable:{thread_id:c,checkpoint_ns:l,checkpoint_id:m}}),yield x}}}async put(e,t,r){let n=Te(t),s=e.configurable?.thread_id,i=e.configurable?.checkpoint_ns??"";if(s===void 0)throw new Error('Failed to put checkpoint. The passed RunnableConfig is missing a required "thread_id" field in its "configurable" property. When using a checkpointer, you must pass a "thread_id" so the checkpointer knows which conversation thread to persist state for. Example: graph.stream(input, { configurable: { thread_id: "my-thread-id" } })');se("thread_id",s),se("checkpoint_ns",i,{allowEmpty:!0}),se("checkpoint_id",t.id),this.storage[s]||(this.storage[s]=Object.create(null)),this.storage[s][i]||(this.storage[s][i]=Object.create(null));let[[,o],[,a]]=await Promise.all([this.serde.dumpsTyped(n),this.serde.dumpsTyped(r)]);return this.storage[s][i][t.id]=[o,a,e.configurable?.checkpoint_id],{configurable:{thread_id:s,checkpoint_ns:i,checkpoint_id:t.id}}}async putWrites(e,t,r){let n=e.configurable?.thread_id,s=e.configurable?.checkpoint_ns,i=e.configurable?.checkpoint_id;if(n===void 0)throw new Error('Failed to put writes. The passed RunnableConfig is missing a required "thread_id" field in its "configurable" property. When using a checkpointer, you must pass a "thread_id" so the checkpointer knows which conversation thread to persist state for. Example: graph.stream(input, { configurable: { thread_id: "my-thread-id" } })');if(i===void 0)throw new Error('Failed to put writes. The passed RunnableConfig is missing a required "checkpoint_id" field in its "configurable" property.');se("thread_id",n),se("checkpoint_ns",s,{allowEmpty:!0}),se("checkpoint_id",i),se("task_id",r);let o=nr(n,s,i),a=this.writes[o];this.writes[o]===void 0&&(this.writes[o]=Object.create(null)),await Promise.all(t.map(async([c,l],u)=>{let[,h]=await this.serde.dumpsTyped(l),p=[r,Fr[c]||u],f=`${p[0]},${p[1]}`;p[1]>=0&&a&&f in a||(this.writes[o][f]=[r,c,h])}))}async deleteThread(e){se("thread_id",e),delete this.storage[e];for(let t of Object.keys(this.writes))zh(t).threadId===e&&delete this.writes[t]}async getDeltaChannelHistory(e){let{config:t,channels:r}=e;if(r.length===0)return{};let n=t.configurable?.thread_id,s=t.configurable?.checkpoint_ns??"",i=jn(t);n!==void 0&&se("thread_id",n),se("checkpoint_ns",s,{allowEmpty:!0});let o=this.storage[n]?.[s]??{},a=[],c=(i?o[i]:void 0)?.[2];for(;c!==void 0;){let f=o[c];if(f===void 0)break;a.push(c),c=f[2]}let l={},u={},h=new Set(r);for(let f of r)l[f]=[];for(let f of a){if(h.size===0)break;let d=o[f],m=d!==void 0?await this.serde.loadsTyped("json",d[0]):void 0,g={},_=new Set;if(m!==void 0)for(let w of h)Object.prototype.hasOwnProperty.call(m.channel_values,w)&&m.channel_values[w]!==void 0&&(g[w]=m.channel_values[w],_.add(w));let y=nr(n,s,f),S=Object.entries(this.writes[y]??{});S.sort(([w],[x])=>{let[A,k]=w.split(","),[b,I]=x.split(",");return A!==b?A<b?1:-1:Number(I)-Number(k)});for(let[,[w,x,A]]of S)h.has(x)&&l[x].push([w,x,await this.serde.loadsTyped("json",A)]);for(let w of _)u[w]=g[w],h.delete(w)}let p={};for(let f of r){let d={writes:l[f].slice().reverse()};Object.prototype.hasOwnProperty.call(u,f)&&(d.seed=u[f]),p[f]=d}return p}};var sr=class extends Error{constructor(e){super(e),this.name="InvalidNamespaceError"}};function Jh(e){if(e.length===0)throw new sr("Namespace cannot be empty.");for(let t of e){if(typeof t!="string")throw new sr(`Invalid namespace label '${t}' found in ${e}. Namespace labels must be strings, but got ${typeof t}.`);if(t.includes("."))throw new sr(`Invalid namespace label '${t}' found in ${e}. Namespace labels cannot contain periods ('.').`);if(t==="")throw new sr(`Namespace labels cannot be empty strings. Got ${t} in ${e}`)}if(e[0]==="langgraph")throw new sr(`Root label for namespace cannot be "langgraph". Got: ${e}`)}var ir=class{async get(e,t){return(await this.batch([{namespace:e,key:t}]))[0]}async search(e,t={}){let{filter:r,limit:n=10,offset:s=0,query:i}=t;return(await this.batch([{namespacePrefix:e,filter:r,limit:n,offset:s,query:i}]))[0]}async put(e,t,r,n){Jh(e),await this.batch([{namespace:e,key:t,value:r,index:n}])}async delete(e,t){await this.batch([{namespace:e,key:t,value:null}])}async listNamespaces(e={}){let{prefix:t,suffix:r,maxDepth:n,limit:s=100,offset:i=0}=e,o=[];return t&&o.push({matchType:"prefix",path:t}),r&&o.push({matchType:"suffix",path:r}),(await this.batch([{matchConditions:o.length?o:void 0,maxDepth:n,limit:s,offset:i}]))[0]}start(){}stop(){}};var Yh=e=>"lg_name"in e&&e.lg_name==="AsyncBatchedStore"?e.store:e,$n=class extends ir{lg_name="AsyncBatchedStore";store;queue=new Map;nextKey=0;running=!1;processingTask=null;constructor(e){super(),this.store=Yh(e)}get isRunning(){return this.running}async batch(e){throw new Error("The `batch` method is not implemented on `AsyncBatchedStore`.\n Instead, it calls the `batch` method on the wrapped store.\n If you are seeing this error, something is wrong.")}async get(e,t){return this.enqueueOperation({namespace:e,key:t})}async search(e,t){let{filter:r,limit:n=10,offset:s=0,query:i}=t||{};return this.enqueueOperation({namespacePrefix:e,filter:r,limit:n,offset:s,query:i})}async put(e,t,r){return this.enqueueOperation({namespace:e,key:t,value:r})}async delete(e,t){return this.enqueueOperation({namespace:e,key:t,value:null})}start(){this.running||(this.running=!0,this.processingTask=this.processBatchQueue())}async stop(){this.running=!1,this.processingTask&&await this.processingTask}enqueueOperation(e){return new Promise((t,r)=>{let n=this.nextKey;this.nextKey+=1,this.queue.set(n,{operation:e,resolve:t,reject:r})})}async processBatchQueue(){for(;this.running;){if(await new Promise(t=>{setTimeout(t,0)}),this.queue.size===0)continue;let e=new Map(this.queue);this.queue.clear();try{let t=Array.from(e.values()).map(({operation:n})=>n),r=await this.store.batch(t);e.forEach(({resolve:n},s)=>{n(r[Array.from(e.keys()).indexOf(s)])})}catch(t){e.forEach(({reject:r})=>{r(t)})}}}toJSON(){return{queue:this.queue,nextKey:this.nextKey,running:this.running,store:"[LangGraphStore]"}}};function Br(e){if(!e)return[];let t=[],r=[],n=0;for(;n<e.length;){let s=e[n];if(s==="["){r.length&&(t.push(r.join("")),r=[]);let i=1,o=["["];for(n+=1;n<e.length&&i>0;)e[n]==="["?i+=1:e[n]==="]"&&(i-=1),o.push(e[n]),n+=1;t.push(o.join(""));continue}else if(s==="{"){r.length&&(t.push(r.join("")),r=[]);let i=1,o=["{"];for(n+=1;n<e.length&&i>0;)e[n]==="{"?i+=1:e[n]==="}"&&(i-=1),o.push(e[n]),n+=1;t.push(o.join(""));continue}else s==="."?r.length&&(t.push(r.join("")),r=[]):r.push(s);n+=1}return r.length&&t.push(r.join("")),t}function Xh(e){return typeof e=="object"&&e!==null&&Object.keys(e).every(t=>t==="$eq"||t==="$ne"||t==="$gt"||t==="$gte"||t==="$lt"||t==="$lte"||t==="$in"||t==="$nin")}function ml(e,t){return Xh(t)?Object.keys(t).filter(r=>r.startsWith("$")).every(r=>{let n=t[r];switch(r){case"$eq":return e===n;case"$ne":return e!==n;case"$gt":return Number(e)>Number(n);case"$gte":return Number(e)>=Number(n);case"$lt":return Number(e)<Number(n);case"$lte":return Number(e)<=Number(n);case"$in":return Array.isArray(n)?n.includes(e):!1;case"$nin":return Array.isArray(n)?!n.includes(e):!0;default:return!1}}):e===t}function gl(e,t){if(!t||t==="$")return[JSON.stringify(e,null,2)];let r=Array.isArray(t)?t:Br(t);function n(s,i,o){if(o>=i.length)return typeof s=="string"||typeof s=="number"||typeof s=="boolean"?[String(s)]:s==null?[]:Array.isArray(s)||typeof s=="object"?[JSON.stringify(s,null,2)]:[];let a=i[o],c=[];if(o===0&&a==="$"&&c.push(JSON.stringify(s,null,2)),a.startsWith("[")&&a.endsWith("]")){if(!Array.isArray(s))return[];let l=a.slice(1,-1);if(l==="*")for(let u of s)c.push(...n(u,i,o+1));else try{let u=parseInt(l,10);u<0&&(u=s.length+u),u>=0&&u<s.length&&c.push(...n(s[u],i,o+1))}catch{return[]}}else if(a.startsWith("{")&&a.endsWith("}")){if(typeof s!="object"||s===null)return[];let l=a.slice(1,-1).split(",").map(u=>u.trim());for(let u of l){let h=Br(u);if(h.length){let p=s;for(let f of h)if(p&&typeof p=="object"&&f in p)p=p[f];else{p=void 0;break}p!==void 0&&(typeof p=="string"||typeof p=="number"||typeof p=="boolean"?c.push(String(p)):(Array.isArray(p)||typeof p=="object")&&c.push(JSON.stringify(p,null,2)))}}}else if(a==="*"){if(Array.isArray(s))for(let l of s)c.push(...n(l,i,o+1));else if(typeof s=="object"&&s!==null)for(let l of Object.values(s))c.push(...n(l,i,o+1))}else typeof s=="object"&&s!==null&&a in s&&c.push(...n(s[a],i,o+1));return c}return n(e,r,0)}var _l=class extends ir{data=new Map;vectors=new Map;_indexConfig;constructor(e){super(),e?.index&&(this._indexConfig={...e.index,__tokenizedFields:(e.index.fields??["$"]).map(t=>[t,t==="$"?[t]:Br(t)])})}async batch(e){let t=[],r=new Map,n=new Map;for(let s=0;s<e.length;s+=1){let i=e[s];if("key"in i&&"namespace"in i&&!("value"in i))t.push(this.getOperation(i));else if("namespacePrefix"in i){let o=this.filterItems(i);n.set(s,[i,o]),t.push(null)}else if("value"in i){let o=`${i.namespace.join(":")}:${i.key}`;r.set(o,i),t.push(null)}else"matchConditions"in i&&t.push(this.listNamespacesOperation(i))}if(n.size>0)if(this._indexConfig?.embeddings){let s=new Set;for(let[a]of n.values())a.query&&s.add(a.query);let i=s.size>0?await Promise.all(Array.from(s).map(a=>this._indexConfig.embeddings.embedQuery(a))):[],o=Object.fromEntries(Array.from(s).map((a,c)=>[a,i[c]]));for(let[a,[c,l]]of n.entries())if(c.query&&o[c.query]){let u=o[c.query];t[a]=this.scoreResults(l,u,c.offset??0,c.limit??10)}else t[a]=this.paginateResults(l.map(u=>({...u,score:void 0})),c.offset??0,c.limit??10)}else for(let[s,[i,o]]of n.entries())t[s]=this.paginateResults(o.map(a=>({...a,score:void 0})),i.offset??0,i.limit??10);if(r.size>0&&this._indexConfig?.embeddings){let s=this.extractTexts(Array.from(r.values()));if(Object.keys(s).length>0){let i=await this._indexConfig.embeddings.embedDocuments(Object.keys(s));this.insertVectors(s,i)}}for(let s of r.values())this.putOperation(s);return t}getOperation(e){let t=e.namespace.join(":");return this.data.get(t)?.get(e.key)??null}putOperation(e){let t=e.namespace.join(":");this.data.has(t)||this.data.set(t,new Map);let r=this.data.get(t);if(e.value===null)r.delete(e.key);else{let n=new Date;if(r.has(e.key)){let s=r.get(e.key);s.value=e.value,s.updatedAt=n}else r.set(e.key,{value:e.value,key:e.key,namespace:e.namespace,createdAt:n,updatedAt:n})}}listNamespacesOperation(e){let t=Array.from(this.data.keys()).map(r=>r.split(":"));return e.matchConditions&&e.matchConditions.length>0&&(t=t.filter(r=>e.matchConditions.every(n=>this.doesMatch(n,r)))),e.maxDepth!==void 0&&(t=Array.from(new Set(t.map(r=>r.slice(0,e.maxDepth).join(":")))).map(r=>r.split(":"))),t.sort((r,n)=>r.join(":").localeCompare(n.join(":"))),t.slice(e.offset??0,(e.offset??0)+(e.limit??t.length))}doesMatch(e,t){let{matchType:r,path:n}=e;if(r==="prefix")return n.length>t.length?!1:n.every((s,i)=>{let o=t[i];return s==="*"||o===s});if(r==="suffix")return n.length>t.length?!1:n.every((s,i)=>{let o=t[t.length-n.length+i];return s==="*"||o===s});throw new Error(`Unsupported match type: ${r}`)}filterItems(e){let t=[];for(let[n,s]of this.data.entries())n.startsWith(e.namespacePrefix.join(":"))&&t.push(...s.values());let r=t;return e.filter&&(r=t.filter(n=>Object.entries(e.filter).every(([s,i])=>ml(n.value[s],i)))),r}scoreResults(e,t,r=0,n=10){let s=[],i=[],o=[];for(let u of e){let h=this.getVectors(u);if(h.length)for(let p of h)s.push(u),i.push(p);else o.push(u)}let a=this.cosineSimilarity(t,i).map((u,h)=>[u,s[h]]).sort((u,h)=>h[0]-u[0]),c=new Set,l=[];for(let[u,h]of a){let p=`${h.namespace.join(":")}:${h.key}`;if(c.has(p))continue;let f=c.size;if(f>=r+n)break;if(f<r){c.add(p);continue}c.add(p),l.push([u,h])}if(o.length&&l.length<n)for(let u of o.slice(0,n-l.length)){let h=`${u.namespace.join(":")}:${u.key}`;c.has(h)||(c.add(h),l.push([void 0,u]))}return l.map(([u,h])=>({...h,score:u}))}paginateResults(e,t,r){return e.slice(t,t+r)}extractTexts(e){if(!e.length||!this._indexConfig)return{};let t={};for(let r of e)if(r.value!==null&&r.index!==!1){let n=r.index===null||r.index===void 0?this._indexConfig.__tokenizedFields??[]:r.index.map(s=>[s,Br(s)]);for(let[s,i]of n){let o=gl(r.value,i);o.length&&(o.length>1?o.forEach((a,c)=>{t[a]||(t[a]=[]),t[a].push([r.namespace,r.key,`${s}.${c}`])}):(t[o[0]]||(t[o[0]]=[]),t[o[0]].push([r.namespace,r.key,s])))}}return t}insertVectors(e,t){for(let[r,n]of Object.entries(e)){let s=t.shift();if(!s)throw new Error(`No embedding found for text: ${r}`);for(let[i,o,a]of n){let c=i.join(":");this.vectors.has(c)||this.vectors.set(c,new Map);let l=this.vectors.get(c);l.has(o)||l.set(o,new Map),l.get(o).set(a,s)}}}getVectors(e){let t=e.namespace.join(":"),r=e.key;if(!this.vectors.has(t))return[];let n=this.vectors.get(t);if(!n.has(r))return[];let s=n.get(r),i=Array.from(s.values());return i.length?i:[]}cosineSimilarity(e,t){if(!t.length)return[];let r=t.map(i=>i.reduce((o,a,c)=>o+a*e[c],0)),n=Math.sqrt(e.reduce((i,o)=>i+o*o,0)),s=t.map(i=>Math.sqrt(i.reduce((o,a)=>o+a*a,0)));return r.map((i,o)=>{let a=s[o];return n&&a?i/(n*a):0})}get indexConfig(){return this._indexConfig}};var Ln=class{serde=new Mn;constructor(e){this.serde=e||this.serde}};var Qh=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function Ee(e){return e!=null&&e.lc_graph_name==="DeltaChannel"}function ki(e){return e!=null&&e.lg_is_channel===!0}var z=class{ValueType;UpdateType;lg_is_channel=!0;consume(){return!1}finish(){return!1}isAvailable(){try{return this.get(),!0}catch(e){if(e.name===$.unminifiable_name)return!1;throw e}}equals(e){return this===e}},Si=Symbol.for("LG_IS_ONLY_BASE_CHANNEL");function or(e){if(e[Si]===!0)return e;let t={};for(let r in e){if(!Object.prototype.hasOwnProperty.call(e,r))continue;let n=e[r];ki(n)&&(t[r]=n)}return Object.assign(t,{[Si]:!0}),t}function Hn(e,t){let r=or(e),n={};for(let s in r){if(!Object.prototype.hasOwnProperty.call(r,s))continue;let i=t.channel_values[s];n[s]=r[s].fromCheckpoint(i)}return Object.assign(n,{[Si]:!0}),n}function Ei(e,t){if(!Qh.test(t))throw new TypeError(`Invalid task id for exit delta: ${t}`);let r=t.toLowerCase().split("-");return`${String(e).padStart(8,"0")}-${r[1]}-${r[2]}-${r[3]}-${r[4]}`}function Un(e,t){let r=new Set,n=Ta();for(let s in e){if(!Object.prototype.hasOwnProperty.call(e,s))continue;let i=e[s];if(!Ee(i)||!i.isAvailable())continue;let[o,a]=t[s]??[0,0];(o>=i.snapshotFrequency||a>=n)&&r.add(s)}return r}function Oe(e,t,r,n){let s=n?.channelsToSnapshot??new Set,{updatedChannels:i,getNextVersion:o}=n??{},a,c=e.channel_versions;if(t===void 0)a=e.channel_values;else{a={},c={...e.channel_versions};for(let l in t){if(!Object.prototype.hasOwnProperty.call(t,l))continue;let u=t[l];if(s.has(l)){o!==void 0&&(i===void 0||!i.has(l))&&(c[l]=o(c[l])),a[l]=new Qt(u.get());continue}if(!Ee(u))try{a[l]=u.checkpoint()}catch(h){if(h.name!==$.unminifiable_name)throw h}}}return{v:4,id:n?.id??Ar(r),ts:new Date().toISOString(),channel_values:a,channel_versions:c,versions_seen:e.versions_seen}}async function ar(e,t,r){let n=Hn(e,t),{saver:s,config:i}=r??{},o=or(e),a=[];for(let l in o)Object.prototype.hasOwnProperty.call(o,l)&&Ee(o[l])&&!Object.prototype.hasOwnProperty.call(t.channel_values,l)&&a.push(l);if(a.length===0||s===void 0||i===void 0)return n;let c=await s.getDeltaChannelHistory({config:i,channels:a});for(let l of a){let u=c[l];if(u===void 0)continue;let h=o[l].fromCheckpoint(u.seed);h.replayWrites(u.writes),n[l]=h}return n}var Zh=e=>e!=null&&e.lc_graph_name==="BinaryOperatorAggregate",tt=class yl extends z{lc_graph_name="BinaryOperatorAggregate";value;operator;initialValueFactory;constructor(t,r){super(),this.operator=t,this.initialValueFactory=r,this.value=r?.()}fromCheckpoint(t){let r=new yl(this.operator,this.initialValueFactory);return typeof t<"u"&&(r.value=t),r}update(t){let r=t;if(!r.length)return!1;if(this.value===void 0){let s=r[0],[i,o]=Ie(s);i?this.value=o:this.value=s,r=r.slice(1)}let n=!1;for(let s of r)if(Mt(s)){if(n)throw new M("Can receive only one Overwrite value per step.");let[,i]=Ie(s);this.value=i,n=!0;continue}else!n&&this.value!==void 0&&(this.value=this.operator(this.value,s));return!0}get(){if(this.value===void 0)throw new $;return this.value}checkpoint(){if(this.value===void 0)throw new $;return this.value}isAvailable(){return this.value!==void 0}equals(t){return this===t?!0:Zh(t)?this.operator===t.operator:!1}};var Ne=class wl extends z{lc_graph_name="LastValue";value=[];constructor(t){super(),this.initialValueFactory=t,t&&(this.value=[t()])}fromCheckpoint(t){let r=new wl(this.initialValueFactory);return typeof t<"u"&&(r.value=[t]),r}update(t){if(t.length===0)return!1;if(t.length!==1)throw new M("LastValue can only receive one value per step.",{lc_error_code:"INVALID_CONCURRENT_GRAPH_UPDATE"});return this.value=[t[t.length-1]],!0}get(){if(this.value.length===0)throw new $;return this.value[0]}checkpoint(){if(this.value.length===0)throw new $;return this.value[0]}isAvailable(){return this.value.length!==0}},Ci=class vl extends z{lc_graph_name="LastValueAfterFinish";value=[];finished=!1;fromCheckpoint(t){let r=new vl;if(typeof t<"u"){let[n,s]=t;r.value=[n],r.finished=s}return r}update(t){return t.length===0?!1:(this.finished=!1,this.value=[t[t.length-1]],!0)}get(){if(this.value.length===0||!this.finished)throw new $;return this.value[0]}checkpoint(){if(this.value.length!==0)return[this.value[0],this.finished]}consume(){return this.finished?(this.finished=!1,this.value=[],!0):!1}finish(){return!this.finished&&this.value.length>0?(this.finished=!0,!0):!1}isAvailable(){return this.value.length!==0&&this.finished}};var Fn=class{lc_graph_name="AnnotationRoot";spec;constructor(e){this.spec=e}static isInstance(e){return typeof e=="object"&&e!==null&&"lc_graph_name"in e&&e.lc_graph_name==="AnnotationRoot"}},Vr=function(e){return e?Bn(e):new Ne};Vr.Root=e=>new Fn(e);function Bn(e){return typeof e=="object"&&e&&"reducer"in e&&e.reducer?new tt(e.reducer,e.default):typeof e=="object"&&e&&"value"in e&&e.value?new tt(e.value,e.default):new Ne}var ep=["tags","metadata","callbacks","configurable"],tp=["tags","metadata","callbacks","runName","maxConcurrency","recursionLimit","configurable","runId","outputKeys","streamMode","store","writer","interrupt","context","interruptBefore","interruptAfter","checkpointDuring","durability","signal","heartbeat","executionInfo","serverInfo","control"],rp=25,np=new Set(["thread_id","checkpoint_id","checkpoint_ns","task_id","run_id","assistant_id","graph_id"]);function sp(e,t){if(!e)return t;let r=t??{};for(let n of np){if(n in r)continue;let s=e[n];s!==void 0&&(r[n]=s)}return r}function bl(e){if(e==null||e.length===0)return;let t=e.filter(r=>!r.startsWith("seq:step"));return t.length>0?t:void 0}function ip(e,t){if(t===void 0)return e;if(e===void 0)return Array.isArray(t)?[...t]:t.copy();if(Array.isArray(t)){if(Array.isArray(e))return e.concat(t);let n=e.copy();for(let s of t)n.addHandler(bs(s),!0);return n}if(Array.isArray(e)){let n=t.copy();for(let s of e)n.addHandler(bs(s),!0);return n}let r=n=>n.filter((s,i)=>n.findIndex(o=>o===s||o.name==="StreamMessagesHandler"&&s.name==="StreamMessagesHandler")===i);return new qt(t._parentRunId,{handlers:r(e.handlers.concat(t.handlers)),inheritableHandlers:r(e.inheritableHandlers.concat(t.inheritableHandlers)),tags:Array.from(new Set(e.tags.concat(t.tags))),inheritableTags:Array.from(new Set(e.inheritableTags.concat(t.inheritableTags))),metadata:{...e.metadata,...t.metadata},inheritableMetadata:{...e.inheritableMetadata,...t.inheritableMetadata}})}function op(e){let t;for(let i=e.length-1;i>=0;i-=1)if(e[i]!==void 0){t=e[i];break}let r=t?.configurable?.thread_id!==void 0,n=e.some(i=>i?.configurable?.[ce]!==void 0),s=Y.getRunnableConfig()?.configurable?.[ce]!==void 0;return r&&!n&&!s}function cr(...e){let t={tags:[],metadata:{},callbacks:void 0,recursionLimit:rp,configurable:{}},r=op(e),n=Y.getRunnableConfig();if(n!==void 0){for(let[s,i]of Object.entries(n))if(i!==void 0){if(s==="configurable"&&r)continue;if(ep.includes(s)){let o;Array.isArray(i)?o=[...i]:typeof i=="object"?s==="callbacks"&&"copy"in i&&typeof i.copy=="function"?o=i.copy():o={...i}:o=i,t[s]=o}else t[s]=i}}for(let s of e)if(s!==void 0)for(let[i,o]of Object.entries(s))o===void 0||!tp.includes(i)||(i==="configurable"?t.configurable={...t.configurable,...o}:i==="metadata"?t.metadata={...t.metadata,...o}:i==="tags"?t.tags=[...t.tags??[],...o]:i==="callbacks"?t.callbacks=ip(t.callbacks,o):t[i]=o);return t.metadata=sp(t.configurable,t.metadata)??{},t}function ap(e){let t=e??Y.getRunnableConfig();if(t===void 0)throw new Error(["Config not retrievable. This is likely because you are running in an environment without support for AsyncLocalStorage.","If you're running `getStore` in such environment, pass the `config` from the node function directly."].join(`
|
|
98
|
+
`));return t?.store}function cp(e){let t=e??Y.getRunnableConfig();if(t===void 0)throw new Error(["Config not retrievable. This is likely because you are running in an environment without support for AsyncLocalStorage.","If you're running `getWriter` in such environment, pass the `config` from the node function directly."].join(`
|
|
99
|
+
`));return t?.writer||t?.configurable?.writer}function Vn(){return Y.getRunnableConfig()}function lp(e){let t=e??Y.getRunnableConfig();if(t===void 0)throw new Error(["Config not retrievable. This is likely because you are running in an environment without support for AsyncLocalStorage.","If you're running `getCurrentTaskInput` in such environment, pass the `config` from the node function directly."].join(`
|
|
100
|
+
`));if(t.configurable?.__pregel_scratchpad?.currentTaskInput===void 0)throw new Error("BUG: internal scratchpad not initialized.");return t.configurable[le].currentTaskInput}function Gn(e){return e.split("|").filter(t=>!t.match(/^\d+$/)).map(t=>t.split(":")[0]).join("|")}function Sl(e){let t=e.split("|");for(;t.length>1&&t[t.length-1].match(/^\d+$/);)t.pop();return t.slice(0,-1).join("|")}var xi=class{#e=void 0;requestDrain(e="shutdown"){this.#e=e}get drainRequested(){return this.#e!==void 0}get drainReason(){return this.#e}};var Ii=["values","updates","messages","tools","custom","tasks"];function lr(e){if(e==null||typeof e!="object")return!1;let t=e;return typeof t.id=="string"&&("source"in t||typeof t.step=="number")&&!("values"in t)&&!("config"in t)}function up(e){if(!Array.isArray(e)||e.length!==2)return{data:e};let[t,r]=e;if(r==null||typeof r!="object")return{data:e};let n=r,s=typeof n.langgraph_node=="string"?n.langgraph_node:void 0,i=typeof n.run_id=="string"?n.run_id:void 0;return{data:i!=null&&t!=null&&typeof t=="object"?{...t,run_id:i}:t,node:s}}function Ai({namespace:e,mode:t,payload:r,seq:n}){let s=Date.now(),i={type:"event"};switch(t){case"messages":{let{data:o,node:a}=up(r);return[{...i,seq:n,method:"messages",params:{namespace:e,timestamp:s,...a?{node:a}:{},data:o}}]}case"tools":return[{...i,seq:n,method:"tools",params:{namespace:e,timestamp:s,data:hp(r)}}];case"checkpoints":return lr(r)?[{...i,seq:n,method:"checkpoints",params:{namespace:e,timestamp:s,data:r}}]:[];case"values":return[{...i,seq:n,method:"values",params:{namespace:e,timestamp:s,data:r}}];case"updates":{let o=pp(r);return[{...i,seq:n,method:"updates",params:{namespace:e,timestamp:s,...typeof o.node=="string"?{node:o.node}:{},data:o}}]}case"custom":{let o=typeof r=="object"&&r!==null&&!Array.isArray(r)&&"name"in r?r:{payload:r};return[{...i,seq:n,method:"custom",params:{namespace:e,timestamp:s,data:o}}]}case"tasks":return[{...i,seq:n,method:"tasks",params:{namespace:e,timestamp:s,data:r}}];default:return[]}}function hp(e){if(typeof e!="object"||e===null)return{event:"tool-error",tool_call_id:"",message:"Unexpected tools payload shape"};let t=e,r=String(t.toolCallId??"");switch(t.event){case"on_tool_start":return{event:"tool-started",tool_call_id:r,tool_name:String(t.name??"unknown"),input:t.input};case"on_tool_event":return{event:"tool-output-delta",tool_call_id:r,delta:typeof t.data=="string"?t.data:JSON.stringify(t.data??"")};case"on_tool_end":return{event:"tool-finished",tool_call_id:r,output:t.output};case"on_tool_error":{let n=t.error;return{event:"tool-error",tool_call_id:r,message:typeof n=="object"&&n!==null&&"message"in n&&typeof n.message=="string"?n.message:String(n??"unknown error")}}default:return{event:"tool-error",tool_call_id:"",message:`Unknown tool event: ${String(t.event)}`}}}function pp(e){if(typeof e!="object"||e===null)return{values:{}};let t=Object.entries(e);if(t.length===0)return{values:{}};let[r,n]=t[0];return{node:r,values:typeof n=="object"&&n!==null?n:{value:n}}}var Ti=Symbol.for("langgraph.stream_channel"),Ce=class Oi{[Ti]=!0;channelName;#e=[];#t=[];#n=!1;#i;#s;constructor(t){this.channelName=t}static local(){return new Oi}static remote(t){return new Oi(t)}static isInstance(t){return typeof t=="object"&&t!==null&&Ti in t&&t[Ti]===!0}push(t){this.#e.push(t),this.#r(),this.#s?.(t)}iterate(t=0){let r=t;return{next:async()=>{for(;;){if(r<this.#e.length)return{value:this.#e[r++],done:!1};if(this.#n){if(this.#i)throw this.#i;return{value:void 0,done:!0}}await new Promise(n=>this.#t.push(n))}}}}toAsyncIterable(t=0){return{[Symbol.asyncIterator]:()=>this.iterate(t)}}toEventStream(t={}){let r=new TextEncoder,n=this.iterate(t.startAt),s=t.event??this.channelName,i=t.serialize??(o=>JSON.stringify(o)??"null");return new ReadableStream({async pull(o){try{let a=await n.next();if(a.done){o.close();return}let c=[];s!=null&&c.push(`event: ${s}`);for(let l of i(a.value).split(/\r\n|\r|\n/))c.push(`data: ${l}`);o.enqueue(r.encode(`${c.join(`
|
|
101
|
+
`)}
|
|
102
|
+
|
|
103
|
+
`))}catch(a){o.error(a)}},async cancel(){await n.return?.()}})}get(t){if(t<0||t>=this.#e.length)throw new RangeError(`StreamChannel index ${t} out of bounds (size=${this.#e.length})`);return this.#e[t]}get size(){return this.#e.length}get done(){return this.#n}close(){this.#n=!0,this.#r()}fail(t){this.#i=t,this.#n=!0,this.#r()}_wire(t){this.#s=t}_close(){this.close()}_fail(t){this.fail(t)}[Symbol.asyncIterator](){return this.iterate()}#r(){let t=this.#t.splice(0);for(let r of t)r()}};function kl(e){return Ce.isInstance(e)}var fp="custom:";function dp(e){return`${fp}${e}`}function mp(e){return e!=null&&(typeof e=="object"||typeof e=="function")&&typeof e.then=="function"}var Wn=Symbol("resolveValues"),Ni=Symbol("rejectValues"),El=class{_events=Ce.local();_discoveries=Ce.local();#e=0;#t=!1;#n;#i=!1;#s=[];#r=[];#a=[];#o=new Map;#l=new Map;#c=[];#u=[];register(e,t){this.#o.set(J(e),t)}addTransformer(e){let t=this._events.size;this.#r.push(e),e.onRegister&&e.onRegister({push:(r,n)=>this.push(r,n)});for(let r=0;r<t;r+=1)e.process(this._events.get(r));this.#t&&(this.#n!==void 0?e.fail?.(this.#n):e.finalize?.())}wireChannels(e){for(let[t,r]of Object.entries(e)){if(kl(r)){if(this.#a.push(r),typeof r.channelName!="string")continue;let n=dp(r.channelName);r._wire(s=>{this._events.push({type:"event",seq:this.#e++,method:n,params:{namespace:this.#s,timestamp:Date.now(),data:s}})});continue}mp(r)&&this.#u.push({name:t,promise:Promise.resolve(r)})}}push(e,t){t.method==="values"&&this.#l.set(J(e),t.params.data);let r=this.#s;this.#s=e;let n=!0;for(let s of this.#r)s.process(t)||(n=!1);this.#s=r,n&&this._events.push({...t,seq:this.#e++})}close(){this.#t=!0;for(let[r,n]of this.#l.entries()){let s=r?r.split("\0"):[];this.#o.get(J(s))?.[Wn](n)}let e=[];for(let r of this.#r){let n=r.finalize?.();n!=null&&typeof n.then=="function"&&e.push(n)}for(let r of this.#a)r._close();let t=this.#u;t.length===0&&e.length===0?(this._events.close(),this._discoveries.close()):Promise.allSettled([...e,...t.map(async({name:r,promise:n})=>{try{let s=await n;this._events.done||this._events.push({type:"event",seq:this.#e++,method:"custom",params:{namespace:[],timestamp:Date.now(),data:{name:r,payload:s}}})}catch{}})]).then(()=>{this._events.close(),this._discoveries.close()});for(let r of this.#o.values())r[Wn](void 0)}fail(e){this.#t=!0,this.#n=e;for(let t of this.#r)t.fail?.(e);for(let t of this.#a)t._fail(e);this._events.fail(e),this._discoveries.fail(e);for(let t of this.#o.values())t[Ni](e)}markInterrupted(e){this.#i=!0,this.#c.push(...e)}get interrupted(){return this.#i}get interrupts(){return this.#c}subscribeEvents(e,t=0){let r=this._events.iterate(t);return{async next(){for(;;){let n=await r.next();if(n.done||Ve(n.value.params.namespace,e))return n}}}}};async function Cl(e,t){let r=0;try{for await(let n of e){let[s,i,o]=n;if(i==="values"&&Pt(o)){let c=o[U];t.markInterrupted(c.map(l=>({interruptId:l.id??"",payload:l.value})))}let a=Ai({namespace:s,mode:i,payload:o,seq:r});r+=a.length;for(let c of a)t.push(s,c)}}catch(n){t.fail(n);return}t.close()}function J(e){return e.join("\0")}function Ve(e,t){if(t.length>e.length)return!1;for(let r=0;r<t.length;r+=1)if(e[r]!==t[r])return!1;return!0}function Kn(e,t,r=0){return{[Symbol.asyncIterator](){let n=e.iterate(r);return{async next(){for(;;){let s=await n.next();if(s.done)return{value:void 0,done:!0};if(Ve(s.value.namespace,t))return{value:s.value,done:!1}}}}}}}var xl="root";function gp(e){if(e.length===0)return xl;let t=e[e.length-1],r=t.indexOf(":");return r===-1?t:t.slice(0,r)}function _p(e){if(e instanceof Error)return e.message;if(typeof e=="string")return e;try{return JSON.stringify(e)}catch{return String(e)}}function Ge(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function yp(e){if(!Ge(e)||e.event!=="started")return;let t=e.cause;if(Ge(t)&&typeof t.type=="string")return t}function wp(e){if(Ge(e)&&"result"in e&&typeof e.name=="string"&&typeof e.id=="string"&&!e.name.startsWith("__"))return{name:e.name,id:e.id}}function Ri(e={}){let t=e.rootGraphName??xl,r=e.initialStatus??"running",n=e.emitRootOnRegister??!0,s=e.getGraphName??gp,i=e.serializeError??_p,o=e.getTerminalStatusOverride,a=Ce.local(),c=new Map,l=new Map,u=new Map,h=new Map,p=new Set,f=[],d,m=0,g=!1,_=E=>{if(E.length===0)return t;let T=u.get(J(E));return typeof T=="string"&&T.length>0?T:s(E)},y=(E,T)=>{let N=J(E);if(u.has(N))return;let R=(Ge(T)&&Ge(T.metadata)?T.metadata:void 0)?.lc_agent_name;u.set(N,typeof R=="string"?R:void 0)},S=E=>{if(!Ge(E))return;let T=E.id;if(typeof T!="string")return;let N=E.input,R;if(Ge(N)&&Ge(N.tool_call)){let B=N.tool_call.id;typeof B=="string"&&(R=B)}else if(Array.isArray(N)){for(let B of N)if(Ge(B)&&typeof B.id=="string"){R=B.id;break}}R!=null&&h.set(T,R)},w=E=>{if(E.length===0)return;let T=u.get(J(E));if(typeof T!="string"||T.length===0)return;let N=E[E.length-1],R=N.indexOf(":");if(R===-1)return;let B=N.slice(R+1);if(B.length===0)return;let xt=h.get(B);if(!(typeof xt!="string"||xt.length===0))return{type:"toolCall",tool_call_id:xt}},x=E=>l.get(J(E))??w(E),A=(E,T,N)=>{let R=J(E),B=c.get(R),xt=B?.graphName??_(E);if(B!=null&&B.status===T&&B.graphName===xt&&N?.error==null)return;B==null?(B={namespace:E,graphName:xt,status:T},c.set(R,B)):B.status=T;let go={event:T,graph_name:xt,...N?.cause!=null?{cause:N.cause}:{},...N?.error!=null?{error:N.error}:{}},_o=Date.now();if(a.push({namespace:E,timestamp:_o,...go}),!(E.length===0&&!n)&&d!=null){m+=1;try{d.push(E,{type:"event",seq:0,method:"lifecycle",params:{namespace:E,timestamp:_o,data:go}})}finally{m-=1}}},k=E=>{let T=J(E),N=c.get(T);return N==null&&(N={namespace:E,graphName:_(E),status:void 0},c.set(T,N)),N},b=()=>{if(f.length===0)return;let E=f.splice(0,f.length);for(let T of E){let N=J(T.namespace),R=c.get(N);R==null||R.status!=="started"||A(T.namespace,"completed")}},I=E=>{let T=J(E.namespace),N=c.get(T);N==null||N.status!=="started"||f.some(R=>J(R.namespace)===T)||f.push(E)},C=(E,T)=>{for(let N=f.length-1;N>=0;N-=1){let R=f[N];R.source.type==="node"&&R.source.node===T&&J(R.source.parent)===J(E)&&f.splice(N,1)}},H=E=>{for(let T=1;T<=E.length;T+=1){let N=E.slice(0,T),R=J(N);if(c.has(R))continue;k(N);let B=x(N);A(N,"started",B!=null?{cause:B}:void 0)}},D=()=>p.size>0?"interrupted":"completed",L=E=>{for(let T of c.values())T.namespace.length!==0&&T.status==="started"&&A(T.namespace,E);A([],E),a.close()},V=async()=>{if(o==null)return D();try{return await o()??D()}catch{return D()}},ye=(E,T)=>{let N=`${T}:`;for(let R of c.values()){if(R.namespace.length!==E.length+1||R.status!=="started"||!Ve(R.namespace,E))continue;let B=R.namespace[R.namespace.length-1];if(B===T||B.startsWith(N))return R.namespace}},Je=(E,T)=>{let N=[...E,`${T.name}:${T.id}`];return c.get(J(N))?.status==="started"?N:void 0};return{__native:!0,init(){return{_lifecycleLog:a,lifecycle:Kn(a,[],0)}},onRegister(E){d=E,k([]),n&&A([],r)},process(E){let T=E.params.namespace;if(m>0)return!0;let N=E.method==="tasks"?wp(E.params.data):void 0;if(N!=null?C(T,N.name):E.method==="tasks"&&(y(T,E.params.data),S(E.params.data)),b(),E.method==="lifecycle"){let R=yp(E.params.data);return R!=null&&l.set(J(T),R),H(T),!1}if(H(T),E.method==="input"&&Ge(E.params.data)&&E.params.data.event==="requested"){let R=E.params.data.id;typeof R=="string"&&p.add(R)}if(N!=null){let R=Je(T,N);R!=null&&I({namespace:R,source:{type:"task"}})}if(E.method==="updates"){let R=E.params.node;if(typeof R=="string"&&!R.startsWith("__")){let B=ye(T,R);B!=null&&I({namespace:B,source:{type:"node",parent:T,node:R}})}}return!0},finalize(){if(!g){if(g=!0,b(),o==null){L(D());return}return V().then(L).catch(E=>{a.fail(E)})}},fail(E){if(g)return;g=!0;let T=i(E);for(let N of c.values())N.namespace.length!==0&&N.status==="started"&&A(N.namespace,"failed");A([],"failed",{error:T}),a.fail(E)}}}function ur(e){let t=e;return typeof t.run_id=="string"?`run:${t.run_id}`:e.event==="message-start"&&typeof t.id=="string"?`message:${t.id}`:"__default__"}function Gr(e,t){let r=Ce.local(),n=new Map,s=new Set;return{init:()=>({messages:r.toAsyncIterable()}),process(i){if(i.method!=="messages"||!Ve(i.params.namespace,e)||i.params.namespace.length!==e.length+1||t!==void 0&&i.params.node!==t)return!0;let o=i.params.data;switch(o.event){case"message-start":{let a=ur(o);if(o.role==="tool"){s.add(a);break}let c=Ce.local(),l=Object.assign(new tn(c.toAsyncIterable()),{namespace:i.params.namespace,node:i.params.node});n.set(a,{source:c,stream:l}),c.push(o),r.push(l);break}case"content-block-start":case"content-block-delta":case"content-block-finish":if(s.has(ur(o)))break;n.get(ur(o))?.source.push(o);break;case"message-finish":{let a=ur(o);if(s.delete(a))break;let c=n.get(a);c&&(c.source.push(o),c.source.close(),n.delete(a));break}case"error":if(s.has(ur(o)))break;n.get(ur(o))?.source.push(o);break}return!0},finalize(){for(let[i,o]of n)o.source.push({event:"message-finish"}),o.source.close(),n.delete(i);s.clear(),r.close()},fail(i){for(let[o,a]of n)a.source.fail(i),n.delete(o);s.clear(),r.fail(i)}}}function Wr(e,t,r=0){let n=t.length+1;return{[Symbol.asyncIterator](){let s=e.iterate(r);return{async next(){for(;;){let i=await s.next();if(i.done)return{value:void 0,done:!0};let{ns:o,stream:a}=i.value;if(o.length===n&&Ve(o,t))return{value:a,done:!1}}}}}}}function Mi(e,t){let{createStream:r}=t,n=new Set;return{__native:!0,init(){return{_discoveries:e._discoveries,subgraphs:Wr(e._discoveries,[],0)}},process(s){let i=s.params.namespace;if(i.length===0)return!0;let o=i.slice(0,1),a=J(o);if(n.has(a))return!0;n.add(a);let c=r(o,e._discoveries.size,e._events.size);return e.register(o,c),e._discoveries.push({ns:o,stream:c}),!0}}}function Pi(e){let t=Ce.local();return{init:()=>({_valuesLog:t}),process(r){return r.method!=="values"||r.params.namespace.length!==e.length||!Ve(r.params.namespace,e)||t.push(r.params.data),!0},finalize(){t.close()},fail(r){t.fail(r)}}}function qn(e){return"__native"in e&&e.__native===!0}var Il=Symbol("setValuesLog"),Al=Symbol("setMessagesIterable"),Di=Symbol("setLifecycleIterable"),ji=Symbol("setSubgraphsIterable"),vp={[Symbol.asyncIterator](){return{next:()=>Promise.resolve({value:void 0,done:!0})}}},$i=class{path;extensions;_mux;#e;#t;#n;#i;#s;#r;#a;#o;#l;#c;constructor(e,t,r=0,n=0,s,i){this.path=e,this._mux=t,this.#t=r,this.#e=n,this.extensions=s??{},this.#n=i??new AbortController,this.#r=new Promise((o,a)=>{this.#i=o,this.#s=a}),this.#r.catch(()=>{})}[Symbol.asyncIterator](){return this._mux.subscribeEvents(this.path,this.#e)}get subgraphs(){return this.#c?this.#c:Wr(this._mux._discoveries,this.path,this.#t)}get values(){let e=this.#a,t=this.#r,r=this._mux,n=this.#e,s=this.path,i=e?e.toAsyncIterable():{[Symbol.asyncIterator]:()=>{let o=r.subscribeEvents(s,n);return{async next(){for(;;){let a=await o.next();if(a.done)return{value:void 0,done:!0};if(a.value.method==="values"&&a.value.params.namespace.length===s.length)return{value:a.value.params.data,done:!1}}}}}};return{[Symbol.asyncIterator]:()=>i[Symbol.asyncIterator](),then:t.then.bind(t)}}get messages(){if(this.#o)return this.#o;let e=Gr(this.path),t=e.init();return this._mux.addTransformer(e),this.#o=t.messages,this.#o}get lifecycle(){return this.#l??vp}messagesFrom(e){let t=Gr(this.path,e),r=t.init();return this._mux.addTransformer(t),r.messages}get output(){return this.#r}get interrupted(){return this._mux.interrupted}get interrupts(){return this._mux.interrupts}abort(e){this.#n.abort(e)}get signal(){return this.#n.signal}[Wn](e){this.#i?.(e),this.#i=void 0}[Ni](e){this.#s?.(e),this.#s=void 0}[Il](e){this.#a=e}[Al](e){this.#o=e}[Di](e){this.#l=e}[ji](e){this.#c=e}},Tl=class extends $i{name;index;constructor(e,t,r=0,n=0,s,i){super(e,t,r,n,s,i);let o=e[e.length-1]??"",a=o.lastIndexOf(":");if(a>=0){this.name=o.slice(0,a);let c=o.slice(a+1);this.index=/^\d+$/.test(c)?Number(c):0}else this.name=o,this.index=0}};function Li(e,t=[],r){let{abortController:n}=r instanceof AbortController?{abortController:r}:r??{},s=new El,i=Ri(),o=i.init(),a=o._lifecycleLog,c=Mi(s,{createStream:(_,y,S)=>{let w=new Tl(_,s,y,S);return w[ji](Wr(s._discoveries,_,y)),w[Di](Kn(a,_,a.size)),w}}),l=c.init();s.addTransformer(c),s.addTransformer(i);let u=Pi([]),h=Gr([]);s.addTransformer(u),s.addTransformer(h);let p={},f=[];for(let _ of t){let y=_();s.addTransformer(y);let S=y.init();qn(y)?f.push(S):Object.assign(p,S),typeof S=="object"&&S!==null&&!qn(y)&&s.wireChannels(S)}let d=new $i([],s,0,0,p,n);for(let _ of f)Object.assign(d,_);let m=u.init();d[Il](m._valuesLog);let g=h.init();return d[Al](g.messages),d[Di](o.lifecycle),d[ji](l.subgraphs),s.register([],d),Cl(e,s).catch(_=>{}),d}var v=e=>BigInt(e),F=(e,t=0)=>new DataView(e.buffer,e.byteOffset+t,e.byteLength-t),Ml=v("0x9E3779B1"),Pl=v("0x85EBCA77"),bp=v("0xC2B2AE3D"),yt=v("0x9E3779B185EBCA87"),Lt=v("0xC2B2AE3D27D4EB4F"),Dl=v("0x165667B19E3779F9"),Fi=v("0x85EBCA77C2B2AE63"),Sp=v("0x27D4EB2F165667C5"),kp=v("0x165667919E3779F9"),Ep=v("0x9FB21C651E98DF25"),Cp=e=>{let t=e.length;if(t%2!==0)throw new Error("String should have an even number of characters");let r=t/2,n=new Uint8Array(r),s=0,i=0;for(;i<r;){let o=e.slice(s,s+=2);n[i]=Number.parseInt(o,16),i+=1}return F(n)},We=Cp("b8fe6c3923a44bbe7c01812cf721ad1cded46de9839097db7240a4a4b7b3671fcb79e64eccc0e578825ad07dccff7221b8084674f743248ee03590e6813a264c3c2852bb91c300cb88d0658b1b532ea371644897a20df94e3819ef46a9deacd8a8fa763fe39c343ff9dcbbc7c70b4f1d8a51e04bcdb45931c89f7ec9d9787364eac5ac8334d3ebc3c581a0fffa1363eb170ddd51b7f0da49d316552629d4689e2b16be587d47a1fc8ff8b8d17ad031ce45cb3a8f95160428afd7fbcabb4b407e"),hr=(v(1)<<v(128))-v(1),P=(v(1)<<v(64))-v(1),Xn=(v(1)<<v(32))-v(1),rt=64,jl=rt/8,xp=8,zn=4;function pr(e){if(!e)throw new Error("Assert failed")}function Ip(e){let t=new DataView(new ArrayBuffer(8));return t.setBigUint64(0,e,!0),t.getBigUint64(0,!1)}function Ap(e){let t=e;return t=(t&v(65535))<<v(16)|(t&v(4294901760))>>v(16),t=(t&v(16711935))<<v(8)|(t&v(4278255360))>>v(8),t}function Tp(e,t){return(e&Xn)*(t&Xn)&P}function Op(e,t){return(e<<t|e>>v(32)-t)&Xn}function $l(e,t,r){for(let n=0;n<jl;n+=1){let s=t.getBigUint64(n*8,!0),i=s^r.getBigUint64(n*8,!0);e[n^1]+=s,e[n]+=Tp(i,i>>v(32))}return e}function Ol(e,t,r,n){for(let s=0;s<n;s+=1)$l(e,F(t,s*rt),F(r,s*8));return e}function Np(e,t){for(let r=0;r<jl;r+=1){let n=t.getBigUint64(r*8,!0),s=e[r];s=Hi(s,v(47)),s^=n,s*=Ml,e[r]=s&P}return e}function Jn(e,t){return Ll(e[0]^t.getBigUint64(0,!0),e[1]^t.getBigUint64(xp,!0))}function Nl(e,t,r){let n=r;return n+=Jn(e.slice(0),F(t,0*zn)),n+=Jn(e.slice(2),F(t,4*zn)),n+=Jn(e.slice(4),F(t,8*zn)),n+=Jn(e.slice(6),F(t,12*zn)),Ke(n&P)}function Rp(e,t,r,n,s){let i=e,o=Math.floor((r.byteLength-rt)/8),a=rt*o,c=Math.floor((t.byteLength-1)/a);for(let l=0;l<c;l+=1)i=Ol(i,F(t,l*a),r,o),i=s(i,F(r,r.byteLength-rt));{let l=Math.floor((t.byteLength-1-a*c)/rt);i=Ol(i,F(t,c*a),r,l),i=n(i,F(t,t.byteLength-rt),F(r,r.byteLength-rt-7))}return i}function Mp(e,t){let r=new BigUint64Array([bp,yt,Lt,Dl,Fi,Pl,Sp,Ml]);pr(e.byteLength>128),r=Rp(r,e,t,$l,Np),pr(r.length*8===64);{let n=Nl(r,F(t,11),v(e.byteLength)*yt&P);return Nl(r,F(t,t.byteLength-rt-11),~(v(e.byteLength)*Lt)&P)<<v(64)|n}}function Ll(e,t){let r=e*t&hr;return r&P^r>>v(64)}function Rl(e,t,r){return Ll((e.getBigUint64(0,!0)^t.getBigUint64(0,!0)+r)&P,(e.getBigUint64(8,!0)^t.getBigUint64(8,!0)-r)&P)}function Yn(e,t,r,n,s){let i=e&P,o=e>>v(64)&P;return i+=Rl(t,n,s),i^=r.getBigUint64(0,!0)+r.getBigUint64(8,!0),i&=P,o+=Rl(r,F(n,16),s),o^=t.getBigUint64(0,!0)+t.getBigUint64(8,!0),o&=P,o<<v(64)|i}function Ke(e){let t=e;return t^=t>>v(37),t*=kp,t&=P,t^=t>>v(32),t}function Qn(e){let t=e;return t^=t>>v(33),t*=Lt,t&=P,t^=t>>v(29),t*=Dl,t&=P,t^=t>>v(32),t}function Pp(e,t,r){let n=e.byteLength;pr(n>0&&n<=3);let s=v(e.getUint8(n-1))|v(n<<8)|v(e.getUint8(0)<<16)|v(e.getUint8(n>>1)<<24),i=(s^(v(t.getUint32(0,!0))^v(t.getUint32(4,!0)))+r)&P,o=(v(t.getUint32(8,!0))^v(t.getUint32(12,!0)))-r;return(Qn((Op(Ap(s),v(13))^o)&P)&P)<<v(64)|Qn(i)}function Hi(e,t){return e^e>>t}function Dp(e,t,r){let n=e.byteLength;pr(n>=4&&n<=8);{let s=e.getUint32(0,!0),i=e.getUint32(n-4,!0),o=((v(s)|v(i)<<v(32))^(t.getBigUint64(16,!0)^t.getBigUint64(24,!0))+r&P)*(yt+(v(n)<<v(2)))&hr;return o+=(o&P)<<v(65),o&=hr,o^=o>>v(67),Hi(Hi(o&P,v(35))*Ep&P,v(28))|Ke(o>>v(64))<<v(64)}}function jp(e,t,r){let n=e.byteLength;pr(n>=9&&n<=16);{let s=(t.getBigUint64(32,!0)^t.getBigUint64(40,!0))+r&P,i=(t.getBigUint64(48,!0)^t.getBigUint64(56,!0))-r&P,o=e.getBigUint64(0,!0),a=e.getBigUint64(n-8,!0),c=(o^a^s)*yt,l=(c&P)+(v(n-1)<<v(54));c=c&(hr^P)|l,a^=i,c+=a+(a&Xn)*(Pl-v(1))<<v(64),c&=hr,c^=Ip(c>>v(64));let u=(c&P)*Lt;return u+=(c>>v(64))*Lt<<v(64),u&=hr,Ke(u&P)|Ke(u>>v(64))<<v(64)}}function $p(e,t){let r=e.byteLength;return pr(r<=16),r>8?jp(e,We,t):r>=4?Dp(e,We,t):r>0?Pp(e,We,t):Qn(t^We.getBigUint64(64,!0)^We.getBigUint64(72,!0))|Qn(t^We.getBigUint64(80,!0)^We.getBigUint64(88,!0))<<v(64)}function Ui(e){return~e+v(1)&P}function Lp(e,t,r){let n=v(e.byteLength)*yt&P,s=v(e.byteLength-1)/v(32);for(;s>=0;){let a=Number(s);n=Yn(n,F(e,16*a),F(e,e.byteLength-16*(a+1)),F(t,32*a),r),s-=v(1)}let i=n+(n>>v(64))&P;i=Ke(i);let o=(n&P)*yt+(n>>v(64))*Fi+(v(e.byteLength)-r&P)*Lt;return o&=P,o=Ui(Ke(o)),i|o<<v(64)}function Hp(e,t,r){let n=v(e.byteLength)*yt&P;for(let o=32;o<160;o+=32)n=Yn(n,F(e,o-32),F(e,o-16),F(t,o-32),r);n=Ke(n&P)|Ke(n>>v(64))<<v(64);for(let o=160;o<=e.byteLength;o+=32)n=Yn(n,F(e,o-32),F(e,o-16),F(t,3+o-160),r);n=Yn(n,F(e,e.byteLength-16),F(e,e.byteLength-32),F(t,103),Ui(r));let s=n+(n>>v(64))&P;s=Ke(s);let i=(n&P)*yt+(n>>v(64))*Fi+(v(e.byteLength)-r&P)*Lt;return i&=P,i=Ui(Ke(i)),s|i<<v(64)}function qe(e,t=v(0)){let r=new TextEncoder,n=F(typeof e=="string"?r.encode(e):e),s=n.byteLength,i=o=>o.toString(16).padStart(32,"0");return s<=16?i($p(n,t)):s<=128?i(Lp(n,We,t)):s<=240?i(Hp(n,We,t)):i(Mp(n,We))}function Zn(e){return/^[0-9a-f]{32}$/.test(e)}function Bi(e){let t=Y.getRunnableConfig();if(!t)throw new Error("Called interrupt() outside the context of a graph.");let r=t.configurable;if(!r)throw new Error("No configurable found in config");if(!r.__pregel_checkpointer)throw new Dt("No checkpointer set",{lc_error_code:"MISSING_CHECKPOINTER"});let n=r[le];n.interruptCounter+=1;let s=n.interruptCounter;if(n.resume.length>0&&s<n.resume.length)return r[ie]?.([[ue,n.resume]]),n.resume[s];if(n.nullResume!==void 0){if(n.resume.length!==s)throw new Error(`Resume length mismatch: ${n.resume.length} !== ${s}`);let o=n.consumeNullResume();return n.resume.push(o),r[ie]?.([[ue,n.resume]]),o}let i=r[we]?.split("|");throw new Ze([{id:i?qe(i.join("|")):void 0,value:e}])}var re=class extends X{lc_namespace=["langgraph"];func;tags;config;trace=!0;recurse=!0;constructor(e){super(),this.name=e.name??e.func.name,this.func=e.func,this.config=e.tags?{tags:e.tags}:void 0,this.trace=e.trace??this.trace,this.recurse=e.recurse??this.recurse}async _tracedInvoke(e,t,r){return new Promise((n,s)=>{let i=Xe(t,{callbacks:r?.getChild()});Y.runWithConfig(i,async()=>{try{n(await this.func(e,i))}catch(o){s(o)}})})}async invoke(e,t){let r,n=cr(t),s=be(this.config,n);return this.trace?r=await this._callWithConfig(this._tracedInvoke,e,s):r=await Y.runWithConfig(s,async()=>this.func(e,s)),X.isRunnable(r)&&this.recurse?await Y.runWithConfig(s,async()=>r.invoke(e,s)):r}};function*ze(e,t){if(t===void 0)yield*e;else for(let r of e)yield[t,r]}async function Re(e){let t=[];for await(let r of await e)t.push(r);return t}function wt(e){let t=[];for(let r of e)t.push(r);return t}function Ht(e,t){return e?"configurable"in e?{...e,configurable:{...e.configurable,...t}}:{...e,configurable:t}:{configurable:t}}function Vi(e){return e!=null&&typeof e=="function"&&e instanceof Object.getPrototypeOf(async function*(){}).constructor}function Gi(e){return e!=null&&typeof e=="function"&&e instanceof Object.getPrototypeOf(function*(){}).constructor}function Up(e){return typeof e=="object"&&e?.[Symbol.for("LG_SKIP_WRITE")]!==void 0}var _e={[Symbol.for("LG_PASSTHROUGH")]:!0};function es(e){return typeof e=="object"&&e?.[Symbol.for("LG_PASSTHROUGH")]!==void 0}var Wi=Symbol("IS_WRITER"),K=class qi extends re{writes;constructor(t,r){let n=`ChannelWrite<${t.map(s=>Q(s)?s.node:"channel"in s?s.channel:"...").join(",")}>`;super({writes:t,name:n,tags:r,trace:!1,func:async(s,i)=>this._write(s,i??{})}),this.writes=t}async _write(t,r){let n=this.writes.map(s=>Ki(s)&&es(s.value)?{mapper:s.mapper,value:t}:ts(s)&&es(s.value)?{channel:s.channel,value:t,skipNone:s.skipNone,mapper:s.mapper}:s);return await qi.doWrite(r,n),t}static async doWrite(t,r){for(let i of r){if(ts(i)){if(i.channel==="__pregel_tasks")throw new M("Cannot write to the reserved channel TASKS");if(es(i.value))throw new M("PASSTHROUGH value must be replaced")}if(Ki(i)&&es(i.value))throw new M("PASSTHROUGH value must be replaced")}let n=[];for(let i of r)if(Q(i))n.push([Fe,i]);else if(Ki(i)){let o=await i.mapper.invoke(i.value,t);o!=null&&o.length>0&&n.push(...o)}else if(ts(i)){let o=i.mapper!==void 0?await i.mapper.invoke(i.value,t):i.value;if(Up(o)||i.skipNone&&o===void 0)continue;n.push([i.channel,o])}else throw new Error(`Invalid write entry: ${JSON.stringify(i)}`);let s=t.configurable?.[ie];s(n)}static isWriter(t){return t instanceof qi||Wi in t&&!!t[Wi]}static registerWriter(t){return Object.defineProperty(t,Wi,{value:!0})}};function ts(e){return e!==void 0&&typeof e.channel=="string"}function Ki(e){return e!==void 0&&!ts(e)&&X.isRunnable(e.mapper)}var Hl=class Ul extends re{lc_graph_name="ChannelRead";channel;fresh=!1;mapper;constructor(t,r,n=!1){super({trace:!1,func:(s,i)=>Ul.doRead(i,this.channel,this.fresh,this.mapper)}),this.fresh=n,this.mapper=r,this.channel=t,this.name=Array.isArray(t)?`ChannelRead<${t.join(",")}>`:`ChannelRead<${t}>`}static doRead(t,r,n,s){let i=t.configurable?.[ce];if(!i)throw new Error("Runnable is not configured with a read function. Make sure to call in the context of a Pregel process");return s?s(i(r,n)):i(r,n)}},fr=new ca,Me=class Kr extends ra{lc_graph_name="PregelNode";channels;triggers=[];mapper;writers=[];bound=fr;kwargs={};metadata={};tags=[];retryPolicy;cachePolicy;timeout;subgraphs;ends;isErrorHandler;errorHandlerNode;constructor(t){let{channels:r,triggers:n,mapper:s,writers:i,bound:o,kwargs:a,metadata:c,retryPolicy:l,cachePolicy:u,timeout:h,tags:p,subgraphs:f,ends:d,isErrorHandler:m,errorHandlerNode:g}=t,_=[...t.config?.tags?t.config.tags:[],...p??[]];super({...t,bound:t.bound??fr,config:{...t.config?t.config:{},tags:_}}),this.channels=r,this.triggers=n,this.mapper=s,this.writers=i??this.writers,this.bound=o??this.bound,this.kwargs=a??this.kwargs,this.metadata=c??this.metadata,this.tags=_,this.retryPolicy=l,this.cachePolicy=u,this.timeout=h,this.subgraphs=f,this.ends=d,this.isErrorHandler=m,this.errorHandlerNode=g}getWriters(){let t=[...this.writers];for(;t.length>1&&t[t.length-1]instanceof K&&t[t.length-2]instanceof K;){let r=t.slice(-2),n=r[0].writes.concat(r[1].writes);t[t.length-2]=new K(n,r[0].config?.tags),t.pop()}return t}getNode(){let t=this.getWriters();if(!(this.bound===fr&&t.length===0))return this.bound===fr&&t.length===1?t[0]:this.bound===fr?new Tt({first:t[0],middle:t.slice(1,t.length-1),last:t[t.length-1],omitSequenceTags:!0}):t.length>0?new Tt({first:this.bound,middle:t.slice(0,t.length-1),last:t[t.length-1],omitSequenceTags:!0}):this.bound}join(t){if(!Array.isArray(t))throw new Error("channels must be a list");if(typeof this.channels!="object")throw new Error("all channels must be named when using .join()");return new Kr({channels:{...this.channels,...Object.fromEntries(t.map(r=>[r,r]))},triggers:this.triggers,mapper:this.mapper,writers:this.writers,bound:this.bound,kwargs:this.kwargs,config:this.config,retryPolicy:this.retryPolicy,cachePolicy:this.cachePolicy,timeout:this.timeout})}pipe(t){return K.isWriter(t)?new Kr({channels:this.channels,triggers:this.triggers,mapper:this.mapper,writers:[...this.writers,t],bound:this.bound,config:this.config,kwargs:this.kwargs,retryPolicy:this.retryPolicy,cachePolicy:this.cachePolicy,timeout:this.timeout}):this.bound===fr?new Kr({channels:this.channels,triggers:this.triggers,mapper:this.mapper,writers:this.writers,bound:$e(t),config:this.config,kwargs:this.kwargs,retryPolicy:this.retryPolicy,cachePolicy:this.cachePolicy,timeout:this.timeout}):new Kr({channels:this.channels,triggers:this.triggers,mapper:this.mapper,writers:this.writers,bound:this.bound.pipe(t),config:this.config,kwargs:this.kwargs,retryPolicy:this.retryPolicy,cachePolicy:this.cachePolicy,timeout:this.timeout})}};function Fp(e){return"steps"in e&&Array.isArray(e.steps)}function qr(e){return"lg_is_pregel"in e&&e.lg_is_pregel===!0}function rs(e){let t=[e];for(let r of t){if(qr(r))return r;Fp(r)&&t.push(...r.steps)}}function Ut(e,t,r=!0,n=!1){try{return e[t].get()}catch(s){if(s.name===$.unminifiable_name){if(n)return s;if(r)return null}throw s}}function Pe(e,t,r=!0){if(Array.isArray(t)){let n={};for(let s of t)try{n[s]=Ut(e,s,!r)}catch(i){if(i.name===$.unminifiable_name)continue}return n}else return Ut(e,t)}function*Fl(e,t){if(e.graph===me.PARENT)throw new M("There is no parent graph.");if(e.goto){let r;Array.isArray(e.goto)?r=e.goto:r=[e.goto];for(let n of r)if(Q(n))yield[pe,Fe,n];else if(typeof n=="string")yield[pe,`branch:to:${n}`,"__start__"];else throw new Error(`In Command.send, expected Send or string, got ${typeof n}`)}if(e.resume)if(typeof e.resume=="object"&&Object.keys(e.resume).length&&Object.keys(e.resume).every(Zn))for(let[r,n]of Object.entries(e.resume)){let s=t.filter(i=>i[0]===r&&i[1]==="__resume__").map(i=>i[2]).slice(0,1)??[];s.push(n),yield[r,ue,s]}else yield[pe,ue,e.resume];if(e.update){if(typeof e.update!="object"||!e.update)throw new Error("Expected cmd.update to be a dict mapping channel names to update values");if(Array.isArray(e.update))for(let[r,n]of e.update)yield[pe,r,n];else for(let[r,n]of Object.entries(e.update))yield[pe,r,n]}}function*ns(e,t){if(t!=null)if(Array.isArray(e)&&typeof t=="object"&&!Array.isArray(t))for(let r in t)e.includes(r)&&(yield[r,t[r]]);else{if(Array.isArray(e))throw new Error('Input chunk must be an object when "inputChannels" is an array');yield[e,t]}}function*ss(e,t,r){Array.isArray(e)?(t===!0||t.find(([n,s])=>e.includes(n)))&&(yield Pe(r,e)):(t===!0||t.some(([n,s])=>n===e))&&(yield Ut(r,e))}function*Bl(e,t,r){let n=t.filter(([a,c])=>(a.config===void 0||!a.config.tags?.includes("langsmith:hidden"))&&c[0][0]!=="__error__"&&c[0][0]!=="__interrupt__");if(!n.length)return;let s;n.some(([a])=>a.writes.some(([c,l])=>c==="__return__"))?s=n.flatMap(([a])=>a.writes.filter(([c,l])=>c===mt).map(([c,l])=>[a.name,l])):Array.isArray(e)?s=n.flatMap(([a])=>{let{writes:c}=a,l={};for(let[u]of c)e.includes(u)&&(l[u]=(l[u]||0)+1);return Object.values(l).some(u=>u>1)?c.filter(([u])=>e.includes(u)).map(([u,h])=>[a.name,{[u]:h}]):[[a.name,Object.fromEntries(c.filter(([u])=>e.includes(u)))]]}):s=n.flatMap(([a])=>a.writes.filter(([c,l])=>c===e).map(([c,l])=>[a.name,l]));let i={};for(let[a,c]of s)a in i||(i[a]=[]),i[a].push(c);let o={};for(let a in i)if(i[a].length===1){let[c]=i[a];o[a]=c}else o[a]=i[a];r&&(o.__metadata__={cached:r}),yield o}function is(e){let t=typeof e[G];if(t==="number")return 0;if(t==="string")return"";for(let r in e){if(!Object.prototype.hasOwnProperty.call(e,r))continue;let n=typeof e[r];if(n==="number")return 0;if(n==="string")return"";break}}function dr(e,t){if(Object.keys(e).length>0){let r=is(t);return Object.fromEntries(Object.entries(t).filter(([n,s])=>s>(e[n]??r)))}else return t}function Vl(e,t){return e&&!Array.isArray(e)&&!(e instanceof Date)&&typeof e=="object"?e:{[t]:e}}function Z(e,t){return e===null?{configurable:t}:e?.configurable===void 0?{...e,configurable:t}:{...e,configurable:{...e.configurable,...t}}}function vt(e,t){let r=t?.parents??{};return Object.keys(r).length>0?Z(e,{[oe]:{...r,[e.configurable?.checkpoint_ns??""]:e.configurable?.checkpoint_id}}):e}function bt(...e){let t=[...new Set(e.filter(Boolean))];if(t.length===0)return{signal:void 0,dispose:void 0};if(t.length===1)return{signal:t[0],dispose:void 0};let r=new AbortController,n=()=>{let i=t.find(o=>o.aborted)?.reason;r.abort(i),t.forEach(o=>o.removeEventListener("abort",n))};t.forEach(i=>i.addEventListener("abort",n,{once:!0}));let s=t.find(i=>i.aborted);return s&&r.abort(s.reason),{signal:r.signal,dispose:()=>{t.forEach(i=>i.removeEventListener("abort",n))}}}var Gl=class{func;name;input;retry;cache;timeout;callbacks;__lg_type="call";constructor({func:e,name:t,input:r,retry:n,cache:s,timeout:i,callbacks:o}){this.func=e,this.name=t,this.input=r,this.retry=n,this.cache=s,this.timeout=i,this.callbacks=o}};function Wl(e){return typeof e=="object"&&e!==null&&"__lg_type"in e&&e.__lg_type==="call"}function Kl(e,t){return new Tt({name:e,first:new re({func:r=>t(...r),name:e,trace:!1,recurse:!1}),last:new K([{channel:mt,value:_e}],[q])})}function ql(e,t){return new re({func:(r,n)=>t(r,n),name:e,trace:!1,recurse:!1})}function zl({func:e,name:t,cache:r,retry:n,timeout:s},...i){let o=Y.getRunnableConfig();if(typeof o.configurable?.__pregel_call=="function")return o.configurable[Ue](e,t,i,{retry:n,cache:r,timeout:s,callbacks:o.callbacks});throw new Error("Async local storage not initialized. Please call initializeAsyncLocalStorageSingleton() before using this function.")}var Jl=e=>e!==void 0?e+1:1;function Bp(e,t){if(t==null)return!1;for(let r of e)if(t[r])return!0;return!1}function Vp(e){let t;for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t==null?t=e[r]:t=Ur(t,e[r]));return t}function zr(e,t,r){let n=is(e.channel_versions),s=e.versions_seen.__interrupt__??{},i=!1;if((e.channel_versions.__start__??n)>(s.__start__??n))i=!0;else for(let a in e.channel_versions)if(Object.prototype.hasOwnProperty.call(e.channel_versions,a)&&e.channel_versions[a]>(s[a]??n)){i=!0;break}let o=r.some(a=>t==="*"?!a.config?.tags?.includes(q):t.includes(a.name));return i&&o}function mr(e,t,r,n,s=!1){let i=new Set;if(Array.isArray(n))i=new Set(n.filter(a=>r.writes.some(([c,l])=>c===a)));else{for(let[a]of r.writes)if(a===n){i=new Set([a]);break}i=i||new Set}let o;if(s&&i.size>0){let a=Object.fromEntries(Object.entries(t).filter(([h,p])=>i.has(h))),c=new Set;for(let h in a){if(!Object.prototype.hasOwnProperty.call(a,h))continue;let p=a[h];Ee(p)&&p.isAvailable()&&c.add(h)}let l=Oe(e,a,-1,{channelsToSnapshot:c}),u=Hn(a,l);fe(Te(l),u,[r],void 0,void 0),o=Pe({...t,...u},n)}else o=Pe(t,n);return o}function os(e,t,r){for(let[n,s]of r)if(["__pregel_push","__pregel_tasks"].includes(n)&&s!=null){if(!Q(s))throw new M(`Invalid packet type, expected SendProtocol, got ${JSON.stringify(s)}`);if(!(s.node in t))throw new M(`Invalid node name "${s.node}" in Send packet`)}e(r)}var Gp=new Set([Cr,he,ue,U,mt,pt,Sr]),Wp=new Set(Ra);function fe(e,t,r,n,s){let i=new Map;for(let d of r)i.set(d,d.path?.slice(0,3)||[]);r.sort((d,m)=>{let g=i.get(d),_=i.get(m);for(let y=0;y<Math.min(g.length,_.length);y+=1){if(g[y]<_[y])return-1;if(g[y]>_[y])return 1}return g.length-_.length});let o=or(t),a=!1,c=new Set;for(let d of r){d.triggers.length>0&&(a=!0),e.versions_seen[d.name]??={};for(let m of d.triggers)m in e.channel_versions&&(e.versions_seen[d.name][m]=e.channel_versions[m]),Wp.has(m)||c.add(m)}let l=Vp(e.channel_versions),u=!1;for(let d of c)d in o&&o[d].consume()&&n!==void 0&&(e.channel_versions[d]=n(l),u=!0);let h={},p={};for(let d of r){let m=d.id??"";for(let[g,_]of d.writes)Gp.has(g)||g in o&&(h[g]??=[],h[g].push(_),p[g]??=[],p[g].push(m))}for(let[d,m]of Object.entries(h)){if(m.length<2||o[d]?.lc_graph_name!=="DeltaChannel")continue;let g=p[d],_=m.map((y,S)=>({val:y,taskId:g[S]}));_.sort((y,S)=>y.taskId<S.taskId?-1:y.taskId>S.taskId?1:0),h[d]=_.map(y=>y.val)}l!=null&&n!=null&&(l=u?n(l):l);let f=new Set;for(let[d,m]of Object.entries(h))if(d in o){let g=o[d],_;try{_=g.update(m)}catch(y){if(y.name===M.unminifiable_name){let S=new M(`Invalid update for channel "${d}" with values ${JSON.stringify(m)}: ${y.message}`);throw S.lc_error_code=y.lc_error_code,S}else throw y}_&&n!==void 0&&(e.channel_versions[d]=n(l),g.isAvailable()&&f.add(d))}if(a)for(let d in o){if(!Object.prototype.hasOwnProperty.call(o,d))continue;let m=o[d];m.isAvailable()&&!f.has(d)&&m.update([])&&n!==void 0&&(e.channel_versions[d]=n(l),m.isAvailable()&&f.add(d))}if(a&&!Bp(f,s))for(let d in o){if(!Object.prototype.hasOwnProperty.call(o,d))continue;let m=o[d];m.finish()&&n!==void 0&&(e.channel_versions[d]=n(l),m.isAvailable()&&f.add(d))}return f}function*Kp(e,t,r){if(r.updatedChannels!=null&&r.triggerToNodes!=null){let n=new Set;for(let s of r.updatedChannels){let i=r.triggerToNodes[s];for(let o of i??[])n.add(o)}yield*[...n].sort();return}if(!(()=>{for(let n in e.channel_versions)if(e.channel_versions[n]!==null)return!1;return!0})())for(let n in t)Object.prototype.hasOwnProperty.call(t,n)&&(yield n)}function qp(e){let t,r=new Map,n=new Set;if(e)for(let[s,i,o]of e){if(s==="00000000-0000-0000-0000-000000000000"&&i==="__resume__"&&t===void 0&&(t=o),i==="__resume__"&&s!=="00000000-0000-0000-0000-000000000000"){let a=r.get(s);a||(a=[],r.set(s,a)),a.push(o)}i!=="__error__"&&n.add(s)}return{nullResume:t,resumeByTaskId:r,successfulWriteTaskIds:n}}function St(e,t,r,n,s,i,o){let a={},c=o.pendingWritesIndex?o:{...o,pendingWritesIndex:qp(t)},l=n[Fe];if(l?.isAvailable()){let u=l.get().length;for(let h=0;h<u;h+=1){let p=cs([he,h],e,t,r,n,s,i,c);p!==void 0&&(a[p.id]=p)}}for(let u of Kp(e,r,c)){let h=cs([sn,u],e,t,r,n,s,i,c);h!==void 0&&(a[h.id]=h)}return a}function cs(e,t,r,n,s,i,o,a){let{step:c,checkpointer:l,manager:u}=a,h=i.configurable??{},p=h.checkpoint_ns??"";if(e[0]==="__pregel_push"&&Wl(e[e.length-1])){let f=e[e.length-1],d=Kl(f.name,f.func),m=[he],g=p===""?f.name:`${p}|${f.name}`,_=Be(JSON.stringify([g,c.toString(),f.name,he,e[1],e[2]]),t.id),y=`${g}:${_}`,S=[...e.slice(0,3),!0],w={langgraph_step:c,langgraph_node:f.name,langgraph_triggers:m,langgraph_path:S,langgraph_checkpoint_ns:y,checkpoint_ns:y};if(o){let x=[],A={checkpointId:t.id,checkpointNs:y,taskId:_,threadId:h.thread_id,runId:i.runId!=null?String(i.runId):void 0,nodeAttempt:1};return{name:f.name,input:f.input,proc:d,writes:x,config:{...Xe(be(i,{metadata:w,store:a.store??i.store}),{runName:f.name,callbacks:u?.getChild(`graph:step:${c}`),configurable:{[Xt]:_,[ie]:k=>os(b=>x.push(...b),n,k),[ce]:(k,b=!1)=>mr(t,s,{name:f.name,writes:x,triggers:m,path:S},k,b),[Se]:l??h.__pregel_checkpointer,[oe]:{...h[oe],[p]:t.id},[le]:as({pendingWrites:r??[],taskId:_,currentTaskInput:f.input,resumeMap:i.configurable?.[Rt],namespaceHash:qe(y),pendingWritesIndex:a.pendingWritesIndex}),[ft]:t.channel_values[gt],checkpoint_id:void 0,checkpoint_ns:y}}),executionInfo:A},triggers:m,retry_policy:f.retry,cache_key:f.cache?{key:qe((f.cache.keyFunc??JSON.stringify)([f.input])),ns:[rn,f.name??"__dynamic__"],ttl:f.cache.ttl}:void 0,id:_,path:S,writers:[],timeout:f.timeout}}else return{id:_,name:f.name,interrupts:[],path:S}}else if(e[0]==="__pregel_push"){let f=typeof e[1]=="number"?e[1]:parseInt(e[1],10);if(!s.__pregel_tasks?.isAvailable())return;let d=s[Fe].get();if(f<0||f>=d.length)return;let m=on(d[f])&&!Q(d[f])?new Ot(d[f].node,d[f].args,d[f].timeout!==void 0?{timeout:d[f].timeout}:void 0):d[f];if(!on(m)){console.warn(`Ignoring invalid packet ${JSON.stringify(m)} in pending sends.`);return}if(!(m.node in n)){console.warn(`Ignoring unknown node name ${m.node} in pending sends.`);return}let g=[he],_=p===""?m.node:`${p}|${m.node}`,y=Be(JSON.stringify([_,c.toString(),m.node,he,f.toString()]),t.id),S=`${_}:${y}`,w={langgraph_step:c,langgraph_node:m.node,langgraph_triggers:g,langgraph_path:e.slice(0,3),langgraph_checkpoint_ns:S,checkpoint_ns:S};if(o){let x=n[m.node],A=x.getNode();if(A!==void 0){x.metadata!==void 0&&(w={...w,...x.metadata});let k=[],b={checkpointId:t.id,checkpointNs:S,taskId:y,threadId:h.thread_id,runId:i.runId!=null?String(i.runId):void 0,nodeAttempt:1};return{name:m.node,input:m.args,proc:A,subgraphs:x.subgraphs,writes:k,config:{...Xe(be(i,{metadata:w,tags:x.tags,store:a.store??i.store}),{runName:m.node,callbacks:u?.getChild(`graph:step:${c}`),configurable:{[Xt]:y,[ie]:I=>os(C=>k.push(...C),n,I),[ce]:(I,C=!1)=>mr(t,s,{name:m.node,writes:k,triggers:g,path:e},I,C),[Se]:l??h.__pregel_checkpointer,[oe]:{...h[oe],[p]:t.id},[le]:as({pendingWrites:r??[],taskId:y,currentTaskInput:m.args,resumeMap:i.configurable?.[Rt],namespaceHash:qe(S),pendingWritesIndex:a.pendingWritesIndex}),[ft]:t.channel_values[gt],checkpoint_id:void 0,checkpoint_ns:S}}),executionInfo:b},triggers:g,retry_policy:x.retryPolicy,cache_key:x.cachePolicy?{key:qe((x.cachePolicy.keyFunc??JSON.stringify)([m.args])),ns:[rn,x.name??"__dynamic__",m.node],ttl:x.cachePolicy.ttl}:void 0,id:y,path:e,writers:x.getWriters(),timeout:m.timeout??x.timeout}}}else return{id:y,name:m.node,interrupts:[],path:e}}else if(e[0]==="__pregel_pull"){let f=e[1].toString(),d=n[f];if(d===void 0)return;if(r?.length){let y=p===""?f:`${p}|${f}`,S=Be(JSON.stringify([y,c.toString(),f,sn,f]),t.id);if(a.pendingWritesIndex?a.pendingWritesIndex.successfulWriteTaskIds.has(S):r.some(w=>w[0]===S&&w[1]!=="__error__"))return}let m=is(t.channel_versions);if(m===void 0)return;let g=t.versions_seen[f]??{},_=d.triggers.find(y=>s[y].isAvailable()?(t.channel_versions[y]??m)>(g[y]??m):!1);if(_!==void 0){let y=zp(d,s,o);if(y===void 0)return;let S=p===""?f:`${p}|${f}`,w=Be(JSON.stringify([S,c.toString(),f,sn,[_]]),t.id),x=`${S}:${w}`,A={langgraph_step:c,langgraph_node:f,langgraph_triggers:[_],langgraph_path:e,langgraph_checkpoint_ns:x,checkpoint_ns:x};if(o){let k=d.getNode();if(k!==void 0){d.metadata!==void 0&&(A={...A,...d.metadata});let b=[],I={checkpointId:t.id,checkpointNs:x,taskId:w,threadId:h.thread_id,runId:i.runId!=null?String(i.runId):void 0,nodeAttempt:1};return{name:f,input:y,proc:k,subgraphs:d.subgraphs,writes:b,config:{...Xe(be(i,{metadata:A,tags:d.tags,store:a.store??i.store}),{runName:f,callbacks:u?.getChild(`graph:step:${c}`),configurable:{[Xt]:w,[ie]:C=>os(H=>{b.push(...H)},n,C),[ce]:(C,H=!1)=>mr(t,s,{name:f,writes:b,triggers:[_],path:e},C,H),[Se]:l??h.__pregel_checkpointer,[oe]:{...h[oe],[p]:t.id},[le]:as({pendingWrites:r??[],taskId:w,currentTaskInput:y,resumeMap:i.configurable?.[Rt],namespaceHash:qe(x),pendingWritesIndex:a.pendingWritesIndex}),[ft]:t.channel_values[gt],checkpoint_id:void 0,checkpoint_ns:x}}),executionInfo:I},triggers:[_],retry_policy:d.retryPolicy,cache_key:d.cachePolicy?{key:qe((d.cachePolicy.keyFunc??JSON.stringify)([y])),ns:[rn,d.name??"__dynamic__",f],ttl:d.cachePolicy.ttl}:void 0,id:w,path:e,writers:d.getWriters(),timeout:d.timeout}}}else return{id:w,name:f,interrupts:[],path:e}}}}function Yl(e,t,r,n,s,i,o,a,c){let{step:l,checkpointer:u,manager:h}=c,p=i[t];if(p===void 0)return;let f=p.getNode();if(f===void 0)return;let d=a.configurable??{},m=d.checkpoint_ns??"",g=[he],_=m===""?t:`${m}|${t}`,y=Be(JSON.stringify([_,l.toString(),t,he,"node_error_handler",e.id]),n.id),S=`${_}:${y}`,w=[he,String(e.name),t,!1],x={langgraph_step:l,langgraph_node:t,langgraph_triggers:g,langgraph_path:w,langgraph_checkpoint_ns:S,checkpoint_ns:S};p.metadata!==void 0&&(x={...x,...p.metadata});let A=[],k={checkpointId:n.id,checkpointNs:S,taskId:y,threadId:d.thread_id,runId:a.runId!=null?String(a.runId):void 0,nodeAttempt:1};return{name:t,input:e.input,proc:f,subgraphs:p.subgraphs,writes:A,config:{...Xe(be(a,{metadata:x,tags:p.tags,store:c.store??a.store}),{runName:t,callbacks:h?.getChild(`graph:step:${l}`),configurable:{[Xt]:y,[ie]:b=>os(I=>A.push(...I),i,b),[ce]:(b,I=!1)=>mr(n,o,{name:t,writes:A,triggers:g,path:w},b,I),[Se]:u??d.__pregel_checkpointer,[oe]:{...d[oe],[m]:n.id},[le]:as({pendingWrites:s??[],taskId:y,currentTaskInput:e.input,resumeMap:a.configurable?.[Rt],namespaceHash:qe(S)}),[ft]:n.channel_values[gt],[Er]:new hn(String(e.name),r),checkpoint_id:void 0,checkpoint_ns:S}}),executionInfo:k},triggers:g,retry_policy:p.retryPolicy,cache_key:void 0,id:y,path:w,writers:p.getWriters()}}function zp(e,t,r){let n;if(typeof e.channels=="object"&&!Array.isArray(e.channels)){n={};for(let[s,i]of Object.entries(e.channels))if(e.triggers.includes(i))try{n[s]=Ut(t,i,!1)}catch(o){if(o.name===$.unminifiable_name)return;throw o}else if(i in t)try{n[s]=Ut(t,i,!1)}catch(o){if(o.name===$.unminifiable_name)continue;throw o}}else if(Array.isArray(e.channels)){let s=!1;for(let i of e.channels)try{n=Ut(t,i,!1),s=!0;break}catch(o){if(o.name===$.unminifiable_name)continue;throw o}if(!s)return}else throw new Error(`Invalid channels type, expected list or dict, got ${e.channels}`);return r&&e.mapper!==void 0&&(n=e.mapper(n)),n}function Xl(e,t){if(typeof e.args!="object"||e.args===null)return e;let r={};for(let[n,s]of Object.entries(e.args)){let i=t[n];(!i||i.lc_graph_name!=="UntrackedValue")&&(r[n]=s)}return new Ot(e.node,r)}function as({pendingWrites:e,taskId:t,currentTaskInput:r,resumeMap:n,namespaceHash:s,pendingWritesIndex:i}){let o=i?i.nullResume:e.find(([c,l])=>c==="00000000-0000-0000-0000-000000000000"&&l==="__resume__")?.[2],a={callCounter:0,interruptCounter:-1,resume:(()=>{let c=i?(i.resumeByTaskId.get(t)??[]).flat():e.filter(([l,u])=>l===t&&u==="__resume__").flatMap(([l,u,h])=>h);if(n!=null&&s in n){let l=n[s];c.push(l)}return c})(),nullResume:o,subgraphCounter:0,currentTaskInput:r,consumeNullResume:()=>{if(a.nullResume)return delete a.nullResume,e.splice(e.findIndex(([c,l])=>c==="00000000-0000-0000-0000-000000000000"&&l==="__resume__"),1),o}};return a}var Jr={blue:{start:"\x1B[34m",end:"\x1B[0m"},green:{start:"\x1B[32m",end:"\x1B[0m"},yellow:{start:"\x1B[33;1m",end:"\x1B[0m"}},Yr=(e,t)=>`${e.start}${t}${e.end}`;function Jp(e){if(e==null)return;let t={};if(e.metadata!=null)for(let[n,s]of Object.entries(e.metadata))bi.has(n)||(t[n]=s);let r=bl(e.tags);return r!=null&&(t.tags=r),Object.keys(t).length>0?t:void 0}function*ls(e){for(let{id:t,name:r,input:n,config:s,triggers:i,writes:o}of e){if(s?.tags?.includes("langsmith:hidden"))continue;let a={id:t,name:r,input:n,triggers:i,interrupts:o.filter(([l,u])=>l===t&&u==="__interrupt__").map(([,l])=>l)},c=Jp(s);c!=null&&(a.metadata=c),yield a}}function Yp(e){return typeof e!="object"||e===null?!1:"$writes"in e&&Array.isArray(e.$writes)}function Ql(e){let t={};for(let[r,n]of e){let s=String(r);if(s in t){let i=Yp(t[s])?t[s].$writes:[t[s]];i.push(n),t[s]={$writes:i}}else t[s]=n}return t}function*Zl(e,t){for(let[{id:r,name:n,config:s},i]of e)s?.tags?.includes("langsmith:hidden")||(yield{id:r,name:n,result:Ql(i.filter(([o])=>Array.isArray(t)?t.includes(o):o===t)),interrupts:i.filter(o=>o[0]===U).map(o=>o[1])})}function*eu(e,t,r,n,s,i,o,a){function c(h){let p={};return h.callbacks!=null&&(p.callbacks=h.callbacks),h.configurable!=null&&(p.configurable=h.configurable),h.maxConcurrency!=null&&(p.max_concurrency=h.maxConcurrency),h.metadata!=null&&(p.metadata=h.metadata),h.recursionLimit!=null&&(p.recursion_limit=h.recursionLimit),h.runId!=null&&(p.run_id=h.runId),h.runName!=null&&(p.run_name=h.runName),h.tags!=null&&(p.tags=h.tags),p}let l=e.configurable?.checkpoint_ns,u={};for(let h of s){if(!(h.subgraphs?.length?h.subgraphs:[h.proc]).find(rs))continue;let p=`${h.name}:${h.id}`;l&&(p=`${l}|${p}`),u[h.id]={configurable:{thread_id:e.configurable?.thread_id,checkpoint_ns:p}}}yield{config:c(e),values:Pe(t,r),metadata:n,next:s.map(h=>h.name),tasks:zi(s,i,u,a),parentConfig:o?c(o):void 0}}function zi(e,t,r,n){return e.map(s=>{let i=t.find(([l,u])=>l===s.id&&u==="__error__")?.[2],o=t.filter(([l,u])=>l===s.id&&u==="__interrupt__").map(([,,l])=>l),a=(()=>{if(i||o.length||!t.length)return;let l=t.findIndex(([u,h])=>u===s.id&&h==="__return__");if(l>=0)return t[l][2];if(typeof n=="string")return t.find(([u,h])=>u===s.id&&h===n)?.[2];if(Array.isArray(n)){let u=t.filter(([h,p])=>h===s.id&&n.includes(p)).map(([,h,p])=>[h,p]);return u.length?Ql(u):void 0}})();if(i)return{id:s.id,name:s.name,path:s.path,error:i,interrupts:o,result:a};let c=r?.[s.id];return{id:s.id,name:s.name,path:s.path,interrupts:o,...c!==void 0?{state:c}:{},result:a}})}function tu(e,t,r){console.log([`${Yr(Jr.blue,`[${e}:checkpoint]`)}`,`\x1B[1m State at the end of step ${e}:\x1B[0m
|
|
104
|
+
`,JSON.stringify(Pe(t,r),null,2)].join(""))}function Xr(e,t){let r=t.length;console.log([`${Yr(Jr.blue,`[${e}:tasks]`)}`,`\x1B[1m Starting step ${e} with ${r} task${r===1?"":"s"}:\x1B[0m
|
|
105
|
+
`,t.map(n=>`- ${Yr(Jr.green,String(n.name))} -> ${JSON.stringify(n.input,null,2)}`).join(`
|
|
106
|
+
`)].join(""))}function ru(e,t,r){let n={};for(let[s,i]of t)r.includes(s)&&(n[s]||(n[s]=[]),n[s].push(i));console.log([`${Yr(Jr.blue,`[${e}:writes]`)}`,`\x1B[1m Finished step ${e} with writes to ${Object.keys(n).length} channel${Object.keys(n).length!==1?"s":""}:\x1B[0m
|
|
107
|
+
`,Object.entries(n).map(([s,i])=>`- ${Yr(Jr.yellow,s)} -> ${i.map(o=>JSON.stringify(o)).join(", ")}`).join(`
|
|
108
|
+
`)].join(""))}var us=class extends wr{_abortController;_innerReader;constructor(e,t){let r=e.getReader(),n=t??new AbortController;super({start(s){return i();function i(){return r.read().then(({done:o,value:a})=>{if(o){s.close();return}return s.enqueue(a),i()})}}}),this._abortController=n,this._innerReader=r}async cancel(e){this._abortController.abort(e),this._innerReader.releaseLock()}get signal(){return this._abortController.signal}},Yi=class extends wr{modes;controller;passthroughFn;_closed=!1;get closed(){return this._closed}constructor(e){let t,r=new Promise(n=>{t=n});super({start:n=>{t(n)}}),r.then(n=>{this.controller=n}),this.passthroughFn=e.passthroughFn,this.modes=e.modes}push(e){this._closed||!this.controller||(this.passthroughFn?.(e),this.controller.enqueue(e))}close(){try{this.controller.close()}catch{}finally{this._closed=!0}}error(e){try{this.controller?.error(e)}finally{this._closed=!0}}},iu=class extends lt{name="StreamToolsHandler";awaitHandlers=!0;streamFn;runs={};constructor(e){super(),this.streamFn=e}handleToolStart(e,t,r,n,s,i,o,a){if(!i||s&&s.includes("langsmith:hidden"))return;let c=i.langgraph_checkpoint_ns?.split("|")??[],l={ns:c,toolCallId:a,toolName:o??"unknown",input:t};this.runs[r]=l,this.streamFn([c,"tools",{event:"on_tool_start",toolCallId:l.toolCallId,name:l.toolName,input:t}])}handleToolEvent(e,t){let r=this.runs[t];r&&this.streamFn([r.ns,"tools",{event:"on_tool_event",toolCallId:r.toolCallId,name:r.toolName,data:e}])}handleToolEnd(e,t){let r=this.runs[t];delete this.runs[t],r&&this.streamFn([r.ns,"tools",{event:"on_tool_end",toolCallId:r.toolCallId,name:r.toolName,output:e}])}handleToolError(e,t){let r=this.runs[t];delete this.runs[t],r&&this.streamFn([r.ns,"tools",{event:"on_tool_error",toolCallId:r.toolCallId,name:r.toolName,error:e}])}};function Xp(e){return JSON.stringify(e,function(t,r){let n=this[t];if(n!=null&&typeof n=="object"&&"toDict"in n&&typeof n.toDict=="function"){let{type:s,data:i}=n.toDict();return{...i,type:s}}return r})}function Qp(e){return e instanceof Error?{error:e.name,message:e.message}:{error:"Error",message:JSON.stringify(e)}}function Xi(e){return typeof e!="object"||e==null?!1:"configurable"in e&&typeof e.configurable=="object"&&e.configurable!=null}function Ji(e){return!Xi(e)||!e.configurable.thread_id?null:{thread_id:e.configurable.thread_id,checkpoint_ns:e.configurable.checkpoint_ns||"",checkpoint_id:e.configurable.checkpoint_id||null,checkpoint_map:e.configurable.checkpoint_map||null}}function nu(e){if(Xi(e)){let t=Object.fromEntries(Object.entries(e.configurable).filter(([n])=>!n.startsWith("__"))),r={...e,configurable:t};return delete r.callbacks,r}return e}function su(e){let t={...e,checkpoint:Ji(e.config),parent_checkpoint:Ji(e.parentConfig),config:nu(e.config),parent_config:nu(e.parentConfig),tasks:e.tasks.map(r=>{if(Xi(r.state)){let n=Ji(r.state);if(n!=null){let s={...r,checkpoint:n};return delete s.state,s}}return r})};return delete t.parentConfig,t}function ou(e){let t=new TextEncoder;return new ReadableStream({async start(r){let n=s=>{r.enqueue(t.encode(`event: ${s.event}
|
|
109
|
+
data: ${Xp(s.data)}
|
|
110
|
+
|
|
111
|
+
`))};try{for await(let s of e){let[i,o,a]=s,c=a;if(o==="debug"){let l=a;l.type==="checkpoint"&&(c={...l,payload:su(l.payload)})}o==="checkpoints"&&(c=su(a)),n({event:i?.length?`${o}|${i.join("|")}`:o,data:c})}}catch(s){n({event:"error",data:Qp(s)})}r.close()}})}function au(...e){return new Yi({passthroughFn:t=>{let r=t[1]==="checkpoints"&&lr(t[2]);for(let n of e)(n.modes.has(t[1])||r)&&n.push(t)},modes:new Set(e.flatMap(t=>Array.from(t.modes)))})}var cu=class{checkpointId;#e=new Set;constructor(e){this.checkpointId=e}#t(e){let t=e.includes(":")?e.slice(0,e.lastIndexOf(":")):e;return this.#e.has(t)?!1:(this.#e.add(t),!0)}async getCheckpoint(e,t,r){if(this.#t(e)){let n=[];for await(let s of t.list(r,{before:{configurable:{checkpoint_id:this.checkpointId}},limit:1}))n.push(s);return n.length>0?n[0]:void 0}return await t.getTuple(r)??void 0}};var hs=Symbol.for("INPUT_DONE"),Qi=Symbol.for("INPUT_RESUMING"),Zp=25;function lu(e){if(!(e==null||typeof e!="object")){if(ae.isInstance(e)){let t=e;t.id==null&&(t.id=_r(),t.lc_kwargs!=null&&(t.lc_kwargs.id=t.id));return}if(Array.isArray(e)){for(let t of e)lu(t);return}}}function uu(e){return e===void 0||e===""?[]:e.split("|")}function ef(e){if(!e)return[];let t="";for(let r of Object.keys(e))r!==""&&r.length>t.length&&(t=r);return uu(t)}var tf=class extends Ln{cache;queue=Promise.resolve();constructor(e){super(),this.cache=e}async get(e){return this.enqueueOperation("get",e)}async set(e){return this.enqueueOperation("set",e)}async clear(e){return this.enqueueOperation("clear",e)}async stop(){await this.queue}enqueueOperation(e,...t){let r=this.queue.then(()=>this.cache[e](...t));return this.queue=r.then(()=>{},()=>{}),r}},hu=class pu{input;output;config;checkpointer;checkpointerGetNextVersion;channels;checkpoint;checkpointIdSaved;_exitDeltaWrites;_deltaChannelsWithOverwrite=new Set;_hasPersistedParent=!1;_initialCheckpointConfig;checkpointConfig;checkpointMetadata;checkpointNamespace;checkpointPendingWrites=[];checkpointPreviousVersions;step;stop;durability;outputKeys;streamKeys;nodes;skipDoneTasks;prevCheckpointConfig;updatedChannels;status="pending";control;tasks={};stream;checkpointerPromises=new Set;isNested;resumeAtHead;_checkpointerChainedPromise=Promise.resolve();_trackCheckpointerPromise(t){let r=t.then(n=>(this.checkpointerPromises.delete(r),n),n=>{throw n});this.checkpointerPromises.add(r)}async _awaitCheckpointerPromises(){await Promise.all([...this.checkpointerPromises])}store;cache;manager;interruptAfter;interruptBefore;toInterrupt=[];debug=!1;triggerToNodes;get isResuming(){let t=!1;if("__start__"in this.checkpoint.channel_versions)t=!0;else for(let a in this.checkpoint.channel_versions)if(Object.prototype.hasOwnProperty.call(this.checkpoint.channel_versions,a)){t=!0;break}let r=this.config.configurable?.__pregel_resuming!==void 0&&this.config.configurable?.__pregel_resuming,n=this.input===null||this.input===void 0,s=te(this.input)&&this.input.resume!=null,i=this.input===Qi,o=!this.isNested&&this.config.metadata?.run_id!==void 0&&this.checkpointMetadata?.run_id!==void 0&&this.config.metadata.run_id===this.checkpointMetadata?.run_id;return t&&(r||n||s||i||o)}get isReplaying(){return!this.skipDoneTasks}constructor(t){this.input=t.input,this.checkpointer=t.checkpointer,this.checkpointer!==void 0?this.checkpointerGetNextVersion=this.checkpointer.getNextVersion.bind(this.checkpointer):this.checkpointerGetNextVersion=Jl,this.checkpoint=t.checkpoint,this.checkpointMetadata=t.checkpointMetadata,this.checkpointPreviousVersions=t.checkpointPreviousVersions,this.channels=t.channels,this.checkpointPendingWrites=t.checkpointPendingWrites,this.step=t.step,this.stop=t.stop,this.config=t.config,this.checkpointConfig=t.checkpointConfig,this.isNested=t.isNested,this.resumeAtHead=t.resumeAtHead,this.manager=t.manager,this.outputKeys=t.outputKeys,this.streamKeys=t.streamKeys,this.nodes=t.nodes,this.skipDoneTasks=t.skipDoneTasks,this.store=t.store,this.cache=t.cache?new tf(t.cache):void 0,this.stream=t.stream,this.checkpointNamespace=t.checkpointNamespace,this.prevCheckpointConfig=t.prevCheckpointConfig,this.interruptAfter=t.interruptAfter,this.interruptBefore=t.interruptBefore,this.durability=t.durability,this.debug=t.debug,this.triggerToNodes=t.triggerToNodes,this.control=this.config.control,this._exitDeltaWrites=this.durability==="exit"&&this.checkpointer!=null?[]:void 0,this._hasPersistedParent=t.hasPersistedParent??!1,this._initialCheckpointConfig=t.checkpointConfig,this.checkpointIdSaved=t.checkpoint.id}static async initialize(t){let{config:r,stream:n}=t;n!==void 0&&r.configurable?.__pregel_stream!==void 0&&(n=au(n,r.configurable[kr]));let s=r.configurable?!("checkpoint_id"in r.configurable):!0,i=r.configurable?.[le];r.configurable&&i&&(i.subgraphCounter>0&&(r=Z(r,{[we]:[r.configurable[we],i.subgraphCounter.toString()].join("|")})),i.subgraphCounter+=1);let o=r.configurable?.checkpoint_id,a=ce in(r.configurable??{});!a&&r.configurable?.checkpoint_ns!==void 0&&r.configurable?.checkpoint_ns!==""&&(r=Z(r,{checkpoint_ns:"",checkpoint_id:void 0}));let c=r;r.configurable?.checkpoint_id===void 0&&r.configurable?.checkpoint_map!==void 0&&r.configurable?.checkpoint_map?.[r.configurable?.checkpoint_ns]&&(c=Z(r,{checkpoint_id:r.configurable[oe][r.configurable?.checkpoint_ns]}));let l=uu(r.configurable?.checkpoint_ns),u;t.checkpointer?c.configurable?.checkpoint_id?u=await t.checkpointer.getTuple(c):r.configurable?.__pregel_replay_state?(u=await r.configurable[nn].getCheckpoint(r.configurable?.checkpoint_ns??"",t.checkpointer,c),r.configurable&&delete r.configurable[Nt]):u=await t.checkpointer.getTuple(c):u=void 0;let h=u!==void 0;u||(u={config:r,checkpoint:$t(),metadata:{source:"input",step:-2,parents:{}},pendingWrites:[]}),c={...r,...u.config,configurable:{checkpoint_ns:"",...r.configurable,...u.config.configurable}};let p=u.parentConfig,f=Te(u.checkpoint),d={...u.metadata},m=u.pendingWrites??[],g=r.configurable?.checkpoint_ns,_=r.configurable?.[oe];typeof g=="string"&&g!==""&&typeof _=="object"&&_!==null&&g in _&&m.length>0&&(m=m.filter(([,C])=>C!==ue));let y=!1,S=c.configurable?.thread_id,w=c.configurable?.checkpoint_ns??"";t.checkpointer&&o&&typeof S=="string"&&(y=(await t.checkpointer.getTuple({configurable:{thread_id:S,checkpoint_ns:w}}))?.config.configurable?.checkpoint_id===o&&d.source!=="update"&&d.source!=="fork");let x=await ar(t.channelSpecs,f,{saver:t.checkpointer,config:c}),A=(d.step??0)+1,k=A+(r.recursionLimit??Zp)+1,b={...f.channel_versions},I=t.store?new $n(t.store):void 0;return I&&await I.start(),new pu({input:t.input,config:r,checkpointer:t.checkpointer,checkpoint:f,checkpointMetadata:d,checkpointConfig:c,prevCheckpointConfig:p,checkpointNamespace:l,channels:x,isNested:a,resumeAtHead:y,manager:t.manager,skipDoneTasks:s,step:A,stop:k,checkpointPreviousVersions:b,checkpointPendingWrites:m,outputKeys:t.outputKeys??[],streamKeys:t.streamKeys??[],nodes:t.nodes,stream:n,store:I,cache:t.cache,interruptAfter:t.interruptAfter,interruptBefore:t.interruptBefore,durability:t.durability,debug:t.debug,triggerToNodes:t.triggerToNodes,hasPersistedParent:h})}_checkpointerPutAfterPrevious(t){this._checkpointerChainedPromise=this._checkpointerChainedPromise.then(()=>this.checkpointer?.put(t.config,t.checkpoint,t.metadata,t.newVersions)),this._trackCheckpointerPromise(this._checkpointerChainedPromise)}putWrites(t,r){let n=r;if(n.length===0)return;n.every(([c])=>c in Fr)&&(n=Array.from(new Map(n.map(c=>[c[0],c])).values()));let s=!1;for(let c in this.channels)if(Object.prototype.hasOwnProperty.call(this.channels,c)&&this.channels[c].lc_graph_name==="UntrackedValue"){s=!0;break}let i=n;s&&(i=n.filter(([c])=>{let l=this.channels[c];return!l||l.lc_graph_name!=="UntrackedValue"}).map(([c,l])=>c==="__pregel_tasks"&&Q(l)?[c,Xl(l,this.channels)]:[c,l])),this.checkpointPendingWrites=this.checkpointPendingWrites.filter(c=>c[0]!==t);for(let[c,l]of i)this.checkpointPendingWrites.push([t,c,l]);for(let[c,l]of i){let u=this.channels[c];u!=null&&Ee(u)&&lu(l)}let o=Z(this.checkpointConfig,{[we]:this.config.configurable?.checkpoint_ns??"",[dt]:this.checkpoint.id});if(this.durability!=="exit"&&this.checkpointer!=null&&this._trackCheckpointerPromise(this.checkpointer.putWrites(o,i,t)),this.tasks&&this._outputWrites(t,n),!r.length||!this.cache||!this.tasks)return;let a=this.tasks[t];a==null||a.cache_key==null||r[0][0]==="__error__"||r[0][0]==="__interrupt__"||this.cache.set([{key:[a.cache_key.ns,a.cache_key.key],value:a.writes,ttl:a.cache_key.ttl}])}_outputWrites(t,r,n=!1){let s=this.tasks[t];if(s!==void 0){if(s.config!==void 0&&(s.config.tags??[]).includes("langsmith:hidden"))return;if(r.length>0)if(r[0][0]==="__interrupt__"){if(s.path?.[0]==="__pregel_push"&&s.path?.[s.path.length-1]===!0)return;let i=r.filter(o=>o[0]===U).flatMap(o=>o[1]);this._emit([["updates",{[U]:i}],["values",{[U]:i}]])}else r[0][0]!=="__error__"&&this._emit(wt(ze(Bl(this.outputKeys,[[s,r]],n),"updates")));n||this._emit(wt(ze(Zl([[s,r]],this.streamKeys),"tasks")))}}async _matchCachedWrites(){if(!this.cache)return[];let t=[],r=([o,a])=>`ns:${o.join(",")}|key:${a}`,n=[],s={};for(let o of Object.values(this.tasks))o.cache_key!=null&&!o.writes.length&&(n.push([o.cache_key.ns,o.cache_key.key]),s[r([o.cache_key.ns,o.cache_key.key])]=o);if(n.length===0)return[];let i=await this.cache.get(n);for(let{key:o,value:a}of i){let c=s[r(o)];c!=null&&(c.writes.push(...a),t.push({task:c,result:a}))}return t}async tick(t){this.store&&!this.store.isRunning&&await this.store?.start();let{inputKeys:r=[]}=t;if(this.status!=="pending")throw new Error(`Cannot tick when status is no longer "pending". Current status: "${this.status}"`);if(![hs,Qi].includes(this.input))await this._first(r);else{if(this.toInterrupt.length>0)throw this.status="interrupt_before",new Ze;if(Object.values(this.tasks).every(s=>s.writes.length>0)){let s=Object.values(this.tasks),i=s.flatMap(a=>a.writes);this.updatedChannels=fe(this.checkpoint,this.channels,s,this.checkpointerGetNextVersion,this.triggerToNodes);for(let[a,c]of i){let l=this.channels[a];l!=null&&Ee(l)&&Mt(c)&&this._deltaChannelsWithOverwrite.add(a)}let o=await Re(ze(ss(this.outputKeys,i,this.channels),"values"));if(this._exitDeltaWrites!==void 0)for(let[a,c,l]of this.checkpointPendingWrites){let u=this.channels[c];u!=null&&Ee(u)&&this._exitDeltaWrites.push([this.step,a,c,l])}if(this.checkpointPendingWrites=[],await this._putCheckpoint({source:"loop"}),this.durability==="sync"&&await this._awaitCheckpointerPromises(),this._emitValuesWithCheckpointMeta(o),zr(this.checkpoint,this.interruptAfter,s))throw this.status="interrupt_after",new Ze;this.config.configurable?.__pregel_resuming!==void 0&&delete this.config.configurable?.[Nt]}else return!1}if(this.step>this.stop)return this.status="out_of_steps",!1;this.tasks=St(this.checkpoint,this.checkpointPendingWrites,this.nodes,this.channels,this.config,!0,{step:this.step,checkpointer:this.checkpointer,isResuming:this.isResuming,manager:this.manager,store:this.store,stream:this.stream,triggerToNodes:this.triggerToNodes,updatedChannels:this.updatedChannels});let n=Object.values(this.tasks);if(this.checkpointer&&(this.stream.modes.has("checkpoints")||this.stream.modes.has("debug"))&&this._emit(await Re(ze(eu(this.checkpointConfig,this.channels,this.streamKeys,this.checkpointMetadata,n,this.checkpointPendingWrites,this.prevCheckpointConfig,this.outputKeys),"checkpoints"))),n.length===0)return this.status="done",!1;if(this.control!=null&&this.control.drainRequested)return this.status="draining",!1;if(this.skipDoneTasks&&this.checkpointPendingWrites.length>0){for(let[s,i,o]of this.checkpointPendingWrites){if(i==="__error__"||i==="__error_source_node__"||i==="__interrupt__"||i==="__resume__")continue;let a=n.find(c=>c.id===s);a&&a.writes.push([i,o])}this._resumeErrorHandlersIfApplicable(),n=Object.values(this.tasks);for(let s of n)s.writes.length>0&&this._outputWrites(s.id,s.writes,!0)}if(n.every(s=>s.writes.length>0))return this.tick({inputKeys:r});if(zr(this.checkpoint,this.interruptBefore,n))throw this.status="interrupt_before",new Ze;if(this.stream.modes.has("tasks")||this.stream.modes.has("debug")){let s=await Re(ze(ls(n),"tasks"));this._emit(s)}return!0}async finishAndHandleError(t){this.durability==="exit"&&(!this.isNested||typeof t<"u"||this.checkpointNamespace.every(n=>!n.includes(":")))&&(await this._putExitDeltaWrites(),this._putCheckpoint(this.checkpointMetadata),this._flushPendingWrites());let r=this._suppressInterrupt(t);return(r||t===void 0)&&(this.output=Pe(this.channels,this.outputKeys)),r&&(this.tasks!==void 0&&this.checkpointPendingWrites.length>0&&Object.values(this.tasks).some(n=>n.writes.length>0)&&(this.updatedChannels=fe(this.checkpoint,this.channels,Object.values(this.tasks),this.checkpointerGetNextVersion,this.triggerToNodes),this._emitValuesWithCheckpointMeta(wt(ze(ss(this.outputKeys,Object.values(this.tasks).flatMap(n=>n.writes),this.channels),"values")))),et(t)&&!t.interrupts.length&&this._emit([["updates",{[U]:[]}],["values",{[U]:[]}]],this.#e())),r}async acceptPush(t,r,n){if(this.interruptAfter?.length>0&&zr(this.checkpoint,this.interruptAfter,[t])){this.toInterrupt.push(t);return}let s=cs([he,t.path??[],r,t.id,n],this.checkpoint,this.checkpointPendingWrites,this.nodes,this.channels,t.config??{},!0,{step:this.step,checkpointer:this.checkpointer,manager:this.manager,store:this.store,stream:this.stream});if(!s)return;if(this.interruptBefore?.length>0&&zr(this.checkpoint,this.interruptBefore,[s])){this.toInterrupt.push(s);return}(this.stream.modes.has("tasks")||this.stream.modes.has("debug"))&&this._emit(wt(ze(ls([s]),"tasks"))),this.debug&&Xr(this.step,[s]),this.tasks[s.id]=s,this.skipDoneTasks&&this._matchWrites({[s.id]:s});let i=await this._matchCachedWrites();for(let{task:o}of i)this._outputWrites(o.id,o.writes,!0);return s}getErrorHandlerNode(t){return this.nodes[t]?.errorHandlerNode}isErrorHandlerNode(t){return this.nodes[t]?.isErrorHandler===!0}scheduleErrorHandler(t,r){let n=this.getErrorHandlerNode(String(t.name));if(!n)return;let s=Yl(t,n,r,this.checkpoint,this.checkpointPendingWrites,this.nodes,this.channels,t.config??this.config,{step:this.step,checkpointer:this.checkpointer,manager:this.manager,store:this.store,stream:this.stream});if(s!==void 0)return this.tasks[s.id]=s,this._emit(wt(ze(ls([s]),"tasks"))),this.debug&&Xr(this.step,[s]),s}_resumeErrorHandlersIfApplicable(){let t=new Map;for(let[r,n]of this.checkpointPendingWrites){if(n!=="__error_source_node__")continue;let s=this.checkpointPendingWrites.find(([a,c])=>a===r&&c==="__error__");if(s===void 0)continue;let i=s[2],o=new Error(i?.message??String(i));i?.name&&(o.name=i.name),t.set(r,o)}for(let[r,n]of t){let s=this.tasks[r];s!==void 0&&this.getErrorHandlerNode(String(s.name))&&(s.writes.length===0&&s.writes.push([pt,{message:n.message,name:n.name}]),this.scheduleErrorHandler(s,n))}}_suppressInterrupt(t){return et(t)&&!this.isNested}async _first(t){let{configurable:r}=this.config,n=r?.[le];if(n&&n.nullResume!==void 0&&this.putWrites(pe,[[ue,n.nullResume]]),te(this.input)){let l=this.input.resume!=null;if(this.input.resume!=null&&typeof this.input.resume=="object"&&Object.keys(this.input.resume).every(Zn)&&(this.config.configurable??={},this.config.configurable[Rt]=this.input.resume),l&&this.checkpointer==null)throw new Error("Cannot use Command(resume=...) without checkpointer");let u={};for(let[h,p,f]of Fl(this.input,this.checkpointPendingWrites))u[h]??=[],u[h].push([p,f]);if(Object.keys(u).length===0)throw new dn("Received empty Command input");for(let[h,p]of Object.entries(u))this.putWrites(h,p)}let s=(this.checkpointPendingWrites??[]).filter(l=>l[0]===pe).map(l=>l.slice(1));s.length>0&&fe(this.checkpoint,this.channels,[{name:He,writes:s,triggers:[]}],this.checkpointerGetNextVersion,this.triggerToNodes);let i=te(this.input),o=i&&s.length>0,a=this.isReplaying&&(this.isNested&&r?.checkpoint_ns!==void 0&&r?.checkpoint_ns!==""&&r?.checkpoint_map!==void 0&&r.checkpoint_ns in r.checkpoint_map||!(i&&this.input.resume!=null||r?.__pregel_resuming===!0||this.resumeAtHead));a&&(this.checkpointPendingWrites=this.checkpointPendingWrites.filter(l=>l[1]!==ue));let c=this.isResuming;if(c||o){let l={...this.checkpoint.versions_seen[U]};for(let h in this.channels)Object.prototype.hasOwnProperty.call(this.channels,h)&&this.checkpoint.channel_versions[h]!==void 0&&(l[h]=this.checkpoint.channel_versions[h]);this.checkpoint.versions_seen[U]=l,a&&this.checkpointMetadata.source!=="update"&&this.checkpointMetadata.source!=="fork"&&(this.checkpointPendingWrites=this.checkpointPendingWrites.filter(h=>h[1]!==U),await this._putCheckpoint({source:"fork"}));let u=await Re(ze(ss(this.outputKeys,!0,this.channels),"values"));c?this.input=Qi:o&&(await this._putCheckpoint({source:"input"}),this.input=hs),this._emitValuesWithCheckpointMeta(u)}else{let l=await Re(ns(t,this.input));if(l.length>0){let u=St(this.checkpoint,this.checkpointPendingWrites,this.nodes,this.channels,this.config,!0,{step:this.step});this.updatedChannels=fe(this.checkpoint,this.channels,Object.values(u).concat([{name:He,writes:l,triggers:[]}]),this.checkpointerGetNextVersion,this.triggerToNodes);let h=l.filter(([p])=>{let f=this.channels[p];return f!=null&&Ee(f)});for(let[p,f]of h)Mt(f)&&this._deltaChannelsWithOverwrite.add(p);if(h.length>0)if(this._exitDeltaWrites!==void 0)for(let[p,f]of h)this._exitDeltaWrites.push([this.step,pe,p,f]);else this.checkpointer!=null&&this.putWrites(pe,h);await this._putCheckpoint({source:"input"}),this.input=hs}else if("__pregel_resuming"in(this.config.configurable??{}))this.input=hs;else throw new dn(`Received no input writes for ${JSON.stringify(t,null,2)}`)}if(!this.isNested){let l;if(a){let u=this.checkpoint.id;(this.checkpointMetadata.source==="update"||this.checkpointMetadata.source==="fork")&&this.prevCheckpointConfig&&(u=this.prevCheckpointConfig.configurable?.checkpoint_id??u),l=new cu(u)}this.config=Z(this.config,{[Nt]:this.isResuming,[nn]:l})}}#e(){let t=this.checkpointNamespace;if(!(t.length===0||t.length===1&&t[0]==="")||this.config.configurable?.__pregel_stream===void 0)return t;let r=ef(this.config.configurable?.[oe]);return r.length>0?r:t}_emit(t,r=this.checkpointNamespace){for(let[n,s]of t)if(this.stream.modes.has(n)&&this.stream.push([r,n,s]),(n==="checkpoints"||n==="tasks")&&this.stream.modes.has("debug")){let i=n==="checkpoints"?this.step-1:this.step,o=new Date().toISOString(),a=n==="checkpoints"?"checkpoint":typeof s=="object"&&s!=null&&"result"in s?"task_result":"task";this.stream.push([r,"debug",{step:i,type:a,timestamp:o,payload:s}])}}_currentCheckpointMeta(){if(!this.checkpointMetadata||!this.checkpoint?.id)return;let t=this.prevCheckpointConfig?.configurable?.checkpoint_id;return{checkpoint:{id:this.checkpoint.id,...t?{parent_id:t}:{},step:this.checkpointMetadata.step,source:this.checkpointMetadata.source}}}_emitValuesWithCheckpointMeta(t){let r=this._currentCheckpointMeta();for(let[n,s]of t)n==="values"&&r?.checkpoint!=null&&!this.stream.modes.has("checkpoints")&&this.stream.push([this.checkpointNamespace,"checkpoints",r.checkpoint]),this.stream.modes.has(n)&&this.stream.push([this.checkpointNamespace,n,s])}_putCheckpoint(t){let r=this.checkpointMetadata===t,n=this.checkpointer!=null&&(this.durability!=="exit"||r),s=c=>{this.prevCheckpointConfig=this.checkpointConfig?.configurable?.checkpoint_id?this.checkpointConfig:void 0,this.checkpointConfig=Z(this.checkpointConfig,{[we]:this.config.configurable?.checkpoint_ns??""});let l={...this.checkpoint.channel_versions},u=dr(this.checkpointPreviousVersions,l);this.checkpointPreviousVersions=l,this._checkpointerPutAfterPrevious({config:{...this.checkpointConfig},checkpoint:Te(c),metadata:{...this.checkpointMetadata},newVersions:u}),this.checkpointConfig={...this.checkpointConfig,configurable:{...this.checkpointConfig.configurable,checkpoint_id:this.checkpoint.id}}},i;if(r)i={...this.checkpointMetadata.counters_since_delta_snapshot??{}};else{let c=this.checkpointMetadata.counters_since_delta_snapshot??{};i={};let l=this.updatedChannels??new Set;for(let u in this.channels){if(!Object.prototype.hasOwnProperty.call(this.channels,u)||!Ee(this.channels[u]))continue;let[h,p]=c[u]??[0,0];i[u]=[l.has(u)?h+1:h,p+1]}this.checkpointMetadata={...t,step:this.step,parents:this.config.configurable?.checkpoint_map??{}}}let o=n?Un(this.channels,i):new Set;if(n)for(let c of this._deltaChannelsWithOverwrite)o.add(c);this.checkpoint=Oe(this.checkpoint,n?this.channels:void 0,this.step,{id:r?this.checkpoint.id:void 0,channelsToSnapshot:o,updatedChannels:this.updatedChannels,getNextVersion:n?c=>this.checkpointerGetNextVersion(c):void 0});for(let c of o)i[c]=[0,0],this._deltaChannelsWithOverwrite.delete(c);let a={};for(let c in i){if(!Object.prototype.hasOwnProperty.call(i,c))continue;let[l,u]=i[c];(l!==0||u!==0)&&(a[c]=[l,u])}Object.keys(a).length>0?this.checkpointMetadata.counters_since_delta_snapshot=a:delete this.checkpointMetadata.counters_since_delta_snapshot,n&&s(this.checkpoint),r||(this.step+=1)}async _putExitDeltaWrites(){if(this._exitDeltaWrites===void 0||this._exitDeltaWrites.length===0||this.checkpointer==null||this._initialCheckpointConfig===void 0)return;let t=this.checkpointMetadata.counters_since_delta_snapshot??{},r=Un(this.channels,t);for(let c of this._deltaChannelsWithOverwrite)r.add(c);let n=this._exitDeltaWrites.filter(([,,c])=>!r.has(c));if(n.length===0)return;let s;if(this._hasPersistedParent)s=this._initialCheckpointConfig;else{let c=$t();c.id=this.checkpointIdSaved??c.id,c.ts=new Date().toISOString();let l=Z(this._initialCheckpointConfig,{[dt]:void 0});s=Z(this._initialCheckpointConfig,{[dt]:c.id}),this._trackCheckpointerPromise(this.checkpointer.put(l,c,{source:"loop",step:-2,parents:{}},{})),this.checkpointConfig=s}let i=Z(s,{[we]:this.config.configurable?.checkpoint_ns??"",[dt]:s.configurable?.[dt]}),o=new Map,a=[];for(let[c,l,u,h]of n){let p=`${c}\0${l}`,f=o.get(p);f===void 0&&(f=[],o.set(p,f),a.push({key:p,step:c,tid:l})),f.push([u,h])}for(let{key:c,step:l,tid:u}of a){let h=Ei(l,u);this._trackCheckpointerPromise(this.checkpointer.putWrites(i,o.get(c),h))}}_flushPendingWrites(){if(this.checkpointer==null||this.checkpointPendingWrites.length===0)return;let t=Z(this.checkpointConfig,{[we]:this.config.configurable?.checkpoint_ns??"",[dt]:this.checkpoint.id}),r={};for(let[n,s,i]of this.checkpointPendingWrites)r[n]??=[],r[n].push([s,i]);for(let[n,s]of Object.entries(r))this._trackCheckpointerPromise(this.checkpointer.putWrites(t,s,n))}_matchWrites(t){for(let[r,n,s]of this.checkpointPendingWrites){if(n==="__error__"||n==="__interrupt__"||n==="__resume__")continue;let i=Object.values(t).find(o=>o.id===r);i&&i.writes.push([n,s])}for(let r of Object.values(t))r.writes.length>0&&this._outputWrites(r.id,r.writes,!0)}};function rf(e){return Ye(e?.message)}function fu(e,t,r){if(!e)return;let n=e.langgraph_checkpoint_ns,s=e.checkpoint_ns,i=n??s;if(i)return[i.split("|"),{tags:t,name:r,...e}]}var du=class extends lt{name="StreamMessagesHandler";streamFn;metadatas={};seen={};emittedChatModelRunIds={};stableMessageIdMap={};lc_prefer_streaming=!0;constructor(e){super(),this.streamFn=e}_emit(e,t,r,n=!1){if(n&&t.id!==void 0&&this.seen[t.id]!==void 0)return;let s=t.id;r!=null&&(Ro(t)?s??=`run-${r}-tool-${t.tool_call_id}`:((s==null||s===`run-${r}`)&&(s=this.stableMessageIdMap[r]??s??`run-${r}`),this.stableMessageIdMap[r]??=s)),s!==t.id&&(t.id=s,t.lc_kwargs.id=s),t.id!=null&&(this.seen[t.id]=t),this.streamFn([e[0],"messages",[t,e[1]]])}handleChatModelStart(e,t,r,n,s,i,o,a){o&&(!i||!i.includes("langsmith:nostream")&&!i.includes("nostream"))&&(this.metadatas[r]=fu(o,i,a))}handleLLMNewToken(e,t,r,n,s,i){let o=i?.chunk;this.emittedChatModelRunIds[r]=!0,this.metadatas[r]!==void 0&&(rf(o)?this._emit(this.metadatas[r],o.message,r):this._emit(this.metadatas[r],new Vt({content:e}),r))}handleLLMEnd(e,t){if(this.metadatas[t]!==void 0){if(!this.emittedChatModelRunIds[t]){let r=e.generations?.[0]?.[0];Ye(r?.message)&&this._emit(this.metadatas[t],r?.message,t,!0),delete this.emittedChatModelRunIds[t]}delete this.metadatas[t],delete this.stableMessageIdMap[t]}}handleLLMError(e,t){delete this.metadatas[t]}handleChainStart(e,t,r,n,s,i,o,a){if(i!==void 0&&a===i.langgraph_node&&(s===void 0||!s.includes("langsmith:hidden"))&&(this.metadatas[r]=fu(i,s,a),typeof t=="object")){for(let c of Object.values(t))if((Ye(c)||ws(c))&&c.id!==void 0)this.seen[c.id]=c;else if(Array.isArray(c))for(let l of c)(Ye(l)||ws(l))&&l.id!==void 0&&(this.seen[l.id]=l)}}handleChainEnd(e,t){let r=this.metadatas[t];if(delete this.metadatas[t],r!==void 0){if(Ye(e))this._emit(r,e,t,!0);else if(Array.isArray(e))for(let n of e)Ye(n)&&this._emit(r,n,t,!0);else if(e!=null&&typeof e=="object"){for(let n of Object.values(e))if(Ye(n))this._emit(r,n,t,!0);else if(Array.isArray(n))for(let s of n)Ye(s)&&this._emit(r,s,t,!0)}}}handleChainError(e,t){delete this.metadatas[t]}};function mu(e){if("response_metadata"in e&&typeof e.response_metadata=="object"&&e.response_metadata!=null)return e.response_metadata}function gu(e){if("usage_metadata"in e&&typeof e.usage_metadata=="object"&&e.usage_metadata!=null)return e.usage_metadata}function nf(e){switch(e.type){case"text":return{type:"text",text:""};case"reasoning":return{type:"reasoning",reasoning:""};case"tool_call":case"tool_call_chunk":return{type:"tool_call_chunk",...e.id!=null?{id:e.id}:{},...e.name!=null?{name:e.name}:{},args:""};default:return e}}function sf(e){switch(e.type){case"text":{let t=typeof e.text=="string"?e.text:"";return t.length>0?{event:"content-block-delta",index:typeof e.index=="number"?e.index:0,delta:{type:"text-delta",text:t}}:void 0}case"reasoning":{let t=typeof e.reasoning=="string"?e.reasoning:"";return t.length>0?{event:"content-block-delta",index:typeof e.index=="number"?e.index:0,delta:{type:"reasoning-delta",reasoning:t}}:void 0}case"tool_call_chunk":return{event:"content-block-delta",index:typeof e.index=="number"?e.index:0,delta:{type:"block-delta",fields:{...e,type:"tool_call_chunk"}}};default:return}}var _u=class extends lt{name="StreamProtocolMessagesHandler";streamFn;metadatas={};seen={};streamedRunIds=new Set;stableMessageIdMap={};lc_prefer_chat_model_stream_events=!0;awaitHandlers=!0;constructor(e){super(),this.streamFn=e}normalizeMessageId(e,t){let r=e.id;return t!=null&&(It.isInstance(e)?r??=`run-${t}-tool-${e.tool_call_id}`:((r==null||r===`run-${t}`)&&(r=this.stableMessageIdMap[t]??r??`run-${t}`),this.stableMessageIdMap[t]??=r)),r!==e.id&&(e.id=r,e.lc_kwargs.id=r),e.id!=null&&(this.seen[e.id]=e),e.id}emit(e,t,r){let n=r!=null?{...e[1],run_id:r}:e[1];this.streamFn([e[0],"messages",[t,n]])}emitFinalMessage(e,t,r,n=!1){let s=t.id??(r!=null?this.stableMessageIdMap[r]:void 0);if(n&&s!=null&&this.seen[s]!==void 0)return;let i=this.normalizeMessageId(t,r),o=t.type==="human"?"human":t.type==="system"?"system":t.type==="tool"?"tool":"ai",a=o==="tool"&&It.isInstance(t)?t.tool_call_id:void 0;this.emit(e,{event:"message-start",...i!=null?{id:i}:{},...o!=="ai"?{role:o}:{},...typeof a=="string"?{tool_call_id:a}:{}},r),(Array.isArray(t.content)?t.content:typeof t.content=="string"&&t.content.length>0?[{type:"text",text:t.content}]:[]).forEach((c,l)=>{let u=typeof c.index=="number"?c.index:l;this.emit(e,{event:"content-block-start",index:u,content:nf(c)},r);let h=sf({...c,index:u});h!=null&&this.emit(e,h,r),this.emit(e,{event:"content-block-finish",index:u,content:c},r)}),this.emit(e,{event:"message-finish",...gu(t)!=null?{usage:gu(t)}:{},...mu(t)!=null?{responseMetadata:mu(t)}:{}},r)}handleChatModelStart(e,t,r,n,s,i,o,a){o&&(!i||!i.includes("langsmith:nostream")&&!i.includes("nostream"))&&(this.metadatas[r]=[o.langgraph_checkpoint_ns.split("|"),{tags:i,name:a,...o}])}handleLLMNewToken(){}handleChatModelStreamEvent(e,t){let r=this.metadatas[t];if(r===void 0)return;let n=e;if(e.event==="message-start"){this.streamedRunIds.add(t);let s=e.id??`run-${t}`;this.seen[s]=!0,this.stableMessageIdMap[t]??=s,e.id==null&&(n={...e,id:s})}this.emit(r,n,t)}handleLLMEnd(e,t){let r=this.metadatas[t];if(r===void 0)return;let n=e.generations?.[0]?.[0],s=ae.isInstance(n?.message)?n.message:void 0;if(s!=null)if(this.streamedRunIds.has(t)){let i=this.normalizeMessageId(s,t);i!=null&&(this.seen[i]=s)}else this.emitFinalMessage(r,s,t,!0);this.streamedRunIds.delete(t),delete this.metadatas[t],delete this.stableMessageIdMap[t]}handleLLMError(e,t){this.streamedRunIds.delete(t),delete this.metadatas[t],delete this.stableMessageIdMap[t]}handleChainStart(e,t,r,n,s,i,o,a){if(i!==void 0&&a===i.langgraph_node&&(s===void 0||!s.includes("langsmith:hidden"))&&(this.metadatas[r]=[i.langgraph_checkpoint_ns.split("|"),{tags:s,name:a,...i}],typeof t=="object")){for(let c of Object.values(t))if((ae.isInstance(c)||ys.isInstance(c))&&c.id!==void 0)this.seen[c.id]=c;else if(Array.isArray(c))for(let l of c)(ae.isInstance(l)||ys.isInstance(l))&&l.id!==void 0&&(this.seen[l.id]=l)}}handleChainEnd(e,t){let r=this.metadatas[t];if(delete this.metadatas[t],r===void 0)return;let n=s=>{ae.isInstance(s)&&!It.isInstance(s)&&this.emitFinalMessage(r,s,t,!0)};if(ae.isInstance(e))n(e);else if(Array.isArray(e))for(let s of e)n(s);else if(e!=null&&typeof e=="object")for(let s of Object.values(e))if(Array.isArray(s))for(let i of s)n(i);else n(s);delete this.stableMessageIdMap[t]}handleChainError(e,t){delete this.metadatas[t],delete this.stableMessageIdMap[t]}};var of=class{active=!0;lastProgress=Date.now();refreshOn;constructor(e){this.refreshOn=e}touch(){this.lastProgress=Date.now()}autoTouch(){this.refreshOn==="auto"&&(this.lastProgress=Date.now())}close(){this.active=!1}},af=class extends lt{name="IdleProgressCallbackHandler";awaitHandlers=!1;#e;constructor(e){super(),this.#e=e}#t=()=>{this.#e.autoTouch()};handleLLMStart=this.#t;handleChatModelStart=this.#t;handleLLMNewToken=this.#t;handleLLMEnd=this.#t;handleLLMError=this.#t;handleChainStart=this.#t;handleChainEnd=this.#t;handleChainError=this.#t;handleToolStart=this.#t;handleToolEnd=this.#t;handleToolError=this.#t;handleText=this.#t;handleRetrieverStart=this.#t;handleRetrieverEnd=this.#t;handleRetrieverError=this.#t;handleCustomEvent=this.#t};function cf(e,t,r,n){let s=e.configurable??{},i={},o=s[ie];typeof o=="function"&&(i[ie]=l=>{if(t.active)return l&&l.length&&t.autoTouch(),o(l)});let a=s[Ue];typeof a=="function"&&(i[Ue]=(...l)=>{if(!t.active)throw new Error(`Node "${n}" attempt was cancelled after its timeout fired`);return t.autoTouch(),a(...l)});let c={...Object.keys(i).length>0?Z(e,i):e};if(c.heartbeat=()=>{r.idleTimeout!==void 0&&t.touch()},typeof c.writer=="function"){let l=c.writer;c.writer=(u=>{if(t.active)return t.autoTouch(),l(u)})}if((r.refreshOn??"auto")==="auto"&&r.idleTimeout!==void 0){let l=new af(t),u=c.callbacks;if(u===void 0)c.callbacks=[l];else if(Array.isArray(u))c.callbacks=[...u,l];else{let h=u.copy();h.addHandler(l,!0),c.callbacks=h}}return c}async function yu(e,t,r,n){let s=new of(r.refreshOn??"auto"),i=new AbortController,{signal:o,dispose:a}=bt(t.signal,i.signal),c=cf({...t,signal:o},s,r,String(e.name)),l=Date.now(),u=n(c).then(_=>({type:"ok",value:_}),_=>({type:"err",error:_})),h,p,f=()=>{h!==void 0&&clearTimeout(h),p!==void 0&&clearTimeout(p)},d=new Promise(_=>{if(r.runTimeout!==void 0&&(h=setTimeout(()=>_({type:"timeout",kind:"run"}),r.runTimeout)),r.idleTimeout!==void 0){let y=r.idleTimeout,S=()=>{let w=s.lastProgress+y-Date.now();w<=0?_({type:"timeout",kind:"idle"}):p=setTimeout(S,w)};p=setTimeout(S,y)}}),m;try{m=await Promise.race([u,d])}finally{f()}if(m.type!=="timeout"){let _=Date.now();r.runTimeout!==void 0&&_-l>=r.runTimeout?m={type:"timeout",kind:"run"}:r.idleTimeout!==void 0&&_-s.lastProgress>=r.idleTimeout&&(m={type:"timeout",kind:"idle"})}if(m.type==="ok")return a?.(),m.value;if(m.type==="err")throw a?.(),m.error;let g=Date.now()-l;throw s.close(),e.writes.splice(0,e.writes.length),i.abort(),a?.(),new fn({node:String(e.name),elapsed:g,kind:m.kind,runTimeout:r.runTimeout,idleTimeout:r.idleTimeout})}var lf=[400,401,402,403,404,405,406,407,409],uf=e=>{if(e.message.startsWith("Cancel")||e.message.startsWith("AbortError")||e.name==="AbortError"||e.name==="GraphValueError"||e?.code==="ECONNABORTED")return!1;let t=e?.response?.status??e?.status;return!(t&&lf.includes(+t)||e?.error?.code==="insufficient_quota")};async function ps(e,t,r,n){let s=e.retry_policy??t,i=0,o,a,c=e.config??{};r&&(c=Z(c,r)),c={...c,signal:n};let l=Date.now();for(c.executionInfo!=null&&(c.executionInfo={...c.executionInfo,nodeFirstAttemptTime:l});!n?.aborted;){e.writes.splice(0,e.writes.length),o=void 0;try{e.timeout!==void 0?a=await yu(e,c,e.timeout,u=>e.proc.invoke(e.input,u)):a=await e.proc.invoke(e.input,c);break}catch(u){if(o=u,o.pregelTaskId=e.id,Ns(o)){let m=c?.configurable?.checkpoint_ns,g=o.command;if(g.graph===m){for(let _ of e.writers)await _.invoke(g,c);o=void 0;break}else if(g.graph===me.PARENT){let _=Sl(m);o.command=new me({...o.command,graph:_})}}if(_t(o)||s===void 0||(i+=1,i>=(s.maxAttempts??3))||!(s.retryOn??uf)(o))break;let h=s.initialInterval??500,p=Math.min(s.maxInterval??128e3,h*(s.backoffFactor??2)**(i-1)),f=s.jitter??!0?p+Math.random()*1e3:p;await new Promise(m=>setTimeout(m,f));let d=o.name??o.constructor.unminifiable_name??o.constructor.name;(s?.logWarning??!0)&&console.log(`Retrying task "${String(e.name)}" after ${f.toFixed(2)}ms (attempt ${i}) after ${d}: ${o}`),c=Z(c,{[Nt]:!0}),c.executionInfo!=null&&(c.executionInfo={...c.executionInfo,nodeAttempt:i+1,nodeFirstAttemptTime:l})}}return{task:e,result:a,error:o,signalAborted:n?.aborted}}var Zi=Symbol.for("promiseAdded");function hf(){let e={next:()=>{},wait:Promise.resolve(Zi)};function t(r){e.next=()=>{e.wait=new Promise(t),r(Zi)}}return e.wait=new Promise(t),e}var wu=class{nodeFinished;loop;handledExceptions=new WeakSet;constructor({loop:e,nodeFinished:t}){this.loop=e,this.nodeFinished=t}async tick(e={}){let{timeout:t,retryPolicy:r,onStepWrite:n,maxConcurrency:s}=e,i=new Set,o,a=new AbortController,c=a.signal,l=t?AbortSignal.timeout(t):void 0,u=Object.values(this.loop.tasks),h=u.filter(m=>m.writes.length===0),{signals:p,disposeCombinedSignal:f}=this._initializeAbortSignals({exceptionSignal:c,stepTimeoutSignal:l,signal:e.signal}),d=this._executeTasksWithRetry(h,{signals:p,retryPolicy:r,maxConcurrency:s});for await(let{task:m,error:g,signalAborted:_}of d)this._commit(m,g),!(g!==void 0&&this.handledExceptions.has(g))&&(et(g)||_t(g)&&!et(o)?o=g:g&&(i.size===0||!_)&&(a.abort(),i.add(g)));if(f?.(),n?.(this.loop.step,u.map(m=>m.writes).flat()),i.size===1)throw Array.from(i)[0];if(i.size>1)throw new AggregateError(Array.from(i),`Multiple errors occurred during superstep ${this.loop.step}. See the "errors" field of this exception for more details.`);if(et(o)||ln(o)||_t(o)&&this.loop.isNested)throw o}_initializeAbortSignals({exceptionSignal:e,stepTimeoutSignal:t,signal:r}){let n=this.loop.config.configurable?.__pregel_abort_signals??{},s=n.externalAbortSignal??r,i=t??n.timeoutAbortSignal,{signal:o,dispose:a}=bt(s,i,e),c={externalAbortSignal:s,timeoutAbortSignal:i,composedAbortSignal:o};return this.loop.config=Z(this.loop.config,{[Na]:c}),{signals:c,disposeCombinedSignal:a}}async*_executeTasksWithRetry(e,t){let{retryPolicy:r,maxConcurrency:n,signals:s}=t??{},i=hf(),o={},a={executingTasksMap:o,barrier:i,retryPolicy:r,scheduleTask:async(p,f,d)=>this.loop.acceptPush(p,f,d)};if(s?.composedAbortSignal?.aborted)throw new Error("Abort");let c=0,l,u=bt(s?.externalAbortSignal,s?.timeoutAbortSignal),h=u.signal?new Promise((p,f)=>{l=()=>f(new Error("Abort")),u.signal?.addEventListener("abort",l,{once:!0})}):void 0;for(;(c===0||Object.keys(o).length>0)&&e.length;){for(;Object.values(o).length<(n??e.length)&&c<e.length;c+=1){let g=e[c];o[g.id]=ps(g,r,{[Ue]:eo?.bind(a,this,g)},s?.composedAbortSignal).catch(_=>({task:g,error:_,signalAborted:s?.composedAbortSignal?.aborted}))}let p=await Promise.race([...Object.values(o),...h?[h]:[],i.wait]);if(p===Zi)continue;let f=p,{task:d,error:m}=f;if(m!==void 0&&!_t(m)&&!this.loop.isErrorHandlerNode(String(d.name))&&this.loop.getErrorHandlerNode(String(d.name))!==void 0){let g=this.loop.scheduleErrorHandler(d,m);g!==void 0&&(o[g.id]=ps(g,r,{[Ue]:eo?.bind(a,this,g)},s?.composedAbortSignal).catch(_=>({task:g,error:_,signalAborted:s?.composedAbortSignal?.aborted})),i.next())}yield f,l!=null&&(u.signal?.removeEventListener("abort",l),u.dispose?.()),delete o[p.task.id]}}_shouldRouteToErrorHandler(e){let t=String(e.name);return this.loop.isErrorHandlerNode(t)?!1:this.loop.getErrorHandlerNode(t)!==void 0}_commit(e,t){if(t!==void 0)if(et(t)){if(t.interrupts.length){let r=t.interrupts.map(s=>[U,s]),n=e.writes.filter(s=>s[0]===ue);n.length&&r.push(...n),this.loop.putWrites(e.id,r)}}else ln(t)?e.writes.length&&this.loop.putWrites(e.id,e.writes):_t(t)&&e.writes.length?this.loop.putWrites(e.id,e.writes):(e.writes.push([pt,{message:t.message,name:t.name}]),this._shouldRouteToErrorHandler(e)&&(e.writes.push([Sr,String(e.name)]),this.handledExceptions.add(t)),this.loop.putWrites(e.id,e.writes));else this.nodeFinished&&(e.config?.tags==null||!e.config.tags.includes("langsmith:hidden"))&&this.nodeFinished(String(e.name)),e.writes.length===0&&e.writes.push([Cr,null]),this.loop.putWrites(e.id,e.writes)}};async function eo(e,t,r,n,s,i={}){let o=t.config?.configurable?.[le];if(!o)throw new Error(`BUG: No scratchpad found on task ${t.name}__${t.id}`);let a=o.callCounter;o.callCounter+=1;let c=new Gl({func:r,name:n,input:s,cache:i.cache,retry:i.retry,timeout:i.timeout,callbacks:i.callbacks}),l=await this.scheduleTask(t,a,c);if(!l)return;let u=this.executingTasksMap[l.id];if(u!==void 0)return u;if(l.writes.length>0){let h=l.writes.filter(([f])=>f===mt),p=l.writes.filter(([f])=>f===pt);if(h.length>0){if(h.length===1)return Promise.resolve(h[0][1]);throw new Error(`BUG: multiple returns found for task ${l.name}__${l.id}`)}if(p.length>0){if(p.length===1){let f=p[0][1],d=f instanceof Error?f:new Error(String(f));return Promise.reject(d)}throw new Error(`BUG: multiple errors found for task ${l.name}__${l.id}`)}return}else{let h=ps(l,i.retry,{[Ue]:eo.bind(this,e,l)});return this.executingTasksMap[l.id]=h,this.barrier.next(),h.then(({result:p,error:f})=>f?Promise.reject(f):p)}}var nt=class extends Error{constructor(e){super(e),this.name="GraphValidationError"}};function vu({nodes:e,channels:t,inputChannels:r,outputChannels:n,streamChannels:s,interruptAfterNodes:i,interruptBeforeNodes:o}){if(!t)throw new nt("Channels not provided");let a=new Set,c=new Set;for(let[l,u]of Object.entries(e)){if(l==="__interrupt__")throw new nt(`"Node name ${U} is reserved"`);if(u.constructor===Me)u.triggers.forEach(h=>a.add(h));else throw new nt(`Invalid node type ${typeof u}, expected PregelNode`)}for(let l of a)if(!(l in t))throw new nt(`Subscribed channel '${String(l)}' not in channels`);if(Array.isArray(r)){if(r.every(l=>!a.has(l)))throw new nt(`None of the input channels ${r} are subscribed to by any node`)}else if(!a.has(r))throw new nt(`Input channel ${String(r)} is not subscribed to by any node`);Array.isArray(n)?n.forEach(l=>c.add(l)):c.add(n),s&&!Array.isArray(s)?c.add(s):Array.isArray(s)&&s.forEach(l=>c.add(l));for(let l of c)if(!(l in t))throw new nt(`Output channel '${String(l)}' not in channels`);if(i&&i!=="*"){for(let l of i)if(!(l in e))throw new nt(`Node ${String(l)} not in nodes`)}if(o&&o!=="*"){for(let l of o)if(!(l in e))throw new nt(`Node ${String(l)} not in nodes`)}}function to(e,t){if(Array.isArray(e)){for(let r of e)if(!(r in t))throw new Error(`Key ${String(r)} not found in channels`)}else if(!(e in t))throw new Error(`Key ${String(e)} not found in channels`)}function pf(e){return Array.isArray(e)&&e.length===2&&Array.isArray(e[0])&&Array.isArray(e[1])}var ro=class bu extends z{lc_graph_name="Topic";unique=!1;accumulate=!1;seen;values;constructor(t){super(),this.unique=t?.unique??this.unique,this.accumulate=t?.accumulate??this.accumulate,this.seen=new Set,this.values=[]}fromCheckpoint(t){let r=new bu({unique:this.unique,accumulate:this.accumulate});return typeof t>"u"?r:pf(t)?(r.seen=new Set(t[0]),r.values=[...t[1]],r):(r.values=[...t],this.unique&&(r.seen=new Set(r.values)),r)}update(t){let r=!1;this.accumulate||(r=this.values.length>0,this.values=[]);let n=t.flat();if(n.length>0)if(this.unique)for(let s of n)this.seen.has(s)||(r=!0,this.seen.add(s),this.values.push(s));else r=!0,this.values.push(...n);return r}get(){if(this.values.length===0)throw new $;return this.values}checkpoint(){return this.unique?[[...this.seen],[...this.values]]:[...this.values]}isAvailable(){return this.values.length!==0}};function ff(e){let t=new TextEncoder;return new ReadableStream({async start(r){try{for await(let n of e){let s=n.params.namespace,i=s.length?`${n.method}|${s.join("|")}`:n.method;r.enqueue(t.encode(`event: ${i}
|
|
112
|
+
data: ${JSON.stringify(n.params.data??{})}
|
|
113
|
+
|
|
114
|
+
`))}}catch(n){r.enqueue(t.encode(`event: error
|
|
115
|
+
data: ${JSON.stringify({message:String(n)})}
|
|
116
|
+
|
|
117
|
+
`))}finally{r.close()}}})}var Su=class{static subscribeTo(e,t){let{key:r,tags:n}={key:void 0,tags:void 0,...t??{}};if(Array.isArray(e)&&r!==void 0)throw new Error("Can't specify a key when subscribing to multiple channels");let s;return typeof e=="string"?r?s={[r]:e}:s=[e]:s=Object.fromEntries(e.map(i=>[i,i])),new Me({channels:s,triggers:Array.isArray(e)?e:[e],tags:n})}static writeTo(e,t){let r=[];for(let n of e)r.push({channel:n,value:_e,skipNone:!1});for(let[n,s]of Object.entries(t??{}))X.isRunnable(s)||typeof s=="function"?r.push({channel:n,value:_e,skipNone:!0,mapper:$e(s)}):r.push({channel:n,value:s,skipNone:!1});return new K(r)}},df=class extends X{lc_namespace=["langgraph","pregel"];invoke(e,t){throw new Error("Not implemented")}withConfig(e){return super.withConfig(e)}stream(e,t){return super.stream(e,t)}},fs=class extends df{static lc_name(){return"LangGraph"}lc_namespace=["langgraph","pregel"];lg_is_pregel=!0;nodes;channels;inputChannels;outputChannels;autoValidate=!0;streamMode=["values"];streamChannels;interruptAfter;interruptBefore;stepTimeout;debug=!1;checkpointer;retryPolicy;config;store;cache;userInterrupt;streamTransformers;triggerToNodes={};constructor(e){super(e);let{streamMode:t}=e;if(t!=null&&!Array.isArray(t)&&(t=[t]),this.nodes=e.nodes,this.channels=e.channels,"__pregel_tasks"in this.channels&&"lc_graph_name"in this.channels.__pregel_tasks&&this.channels.__pregel_tasks.lc_graph_name!=="Topic")throw new Error(`Channel '${Fe}' is reserved and cannot be used in the graph.`);this.channels[Fe]=new ro({accumulate:!1}),this.autoValidate=e.autoValidate??this.autoValidate,this.streamMode=t??this.streamMode,this.inputChannels=e.inputChannels,this.outputChannels=e.outputChannels,this.streamChannels=e.streamChannels??this.streamChannels,this.interruptAfter=e.interruptAfter,this.interruptBefore=e.interruptBefore,this.stepTimeout=e.stepTimeout??this.stepTimeout,this.debug=e.debug??this.debug,this.checkpointer=e.checkpointer,this.retryPolicy=e.retryPolicy,this.config=e.config,this.store=e.store,this.cache=e.cache,this.name=e.name,this.triggerToNodes=e.triggerToNodes??this.triggerToNodes,this.userInterrupt=e.userInterrupt,this.streamTransformers=e.streamTransformers??[],this.autoValidate&&this.validate()}withConfig(e){let{streamTransformers:t,...r}=e,n=be(this.config,r),s=[...this.streamTransformers,...t??[]];return new this.constructor({...this,config:n,streamTransformers:s})}validate(){vu({nodes:this.nodes,channels:this.channels,outputChannels:this.outputChannels,inputChannels:this.inputChannels,streamChannels:this.streamChannels,interruptAfterNodes:this.interruptAfter,interruptBeforeNodes:this.interruptBefore});for(let[e,t]of Object.entries(this.nodes))for(let r of t.triggers)this.triggerToNodes[r]??=[],this.triggerToNodes[r].push(e);return this}get streamChannelsList(){return Array.isArray(this.streamChannels)?this.streamChannels:this.streamChannels?[this.streamChannels]:Object.keys(this.channels)}get streamChannelsAsIs(){return this.streamChannels?this.streamChannels:Object.keys(this.channels)}async getGraphAsync(e){return this.getGraph(e)}*getSubgraphs(e,t){for(let[r,n]of Object.entries(this.nodes)){if(e!==void 0&&!e.startsWith(r))continue;let s=n.subgraphs?.length?n.subgraphs:[n.bound];for(let i of s){let o=rs(i);if(o!==void 0){if(r===e){yield[r,o];return}if(e===void 0&&(yield[r,o]),t){let a=e;e!==void 0&&(a=e.slice(r.length+1));for(let[c,l]of o.getSubgraphs(a,t))yield[`${r}|${c}`,l]}}}}}async*getSubgraphsAsync(e,t){yield*this.getSubgraphs(e,t)}async _prepareStateSnapshot({config:e,saved:t,subgraphCheckpointer:r,applyPendingWrites:n=!1}){if(t===void 0)return{values:{},next:[],config:e,tasks:[]};let s=await ar(this.channels,t.checkpoint,{saver:typeof this.checkpointer=="object"?this.checkpointer:void 0,config:t.config??e});if(t.pendingWrites?.length){let h=t.pendingWrites.filter(([p,f])=>p===pe).map(([p,f,d])=>[String(f),d]);h.length>0&&fe(t.checkpoint,s,[{name:He,writes:h,triggers:[]}],void 0,this.triggerToNodes)}let i=Object.values(St(t.checkpoint,t.pendingWrites,this.nodes,s,t.config,!0,{step:(t.metadata?.step??-1)+1,store:this.store})),o=await Re(this.getSubgraphsAsync()),a=t.config.configurable?.checkpoint_ns??"",c={};for(let h of i){let p=o.find(([d])=>d===h.name);if(!p)continue;let f=`${String(h.name)}:${h.id}`;if(a&&(f=`${a}|${f}`),r===void 0){let d={configurable:{thread_id:t.config.configurable?.thread_id,checkpoint_ns:f}};c[h.id]=d}else{let d={configurable:{[Se]:r,thread_id:t.config.configurable?.thread_id,checkpoint_ns:f}},m=p[1];c[h.id]=await m.getState(d,{subgraphs:!0})}}if(n&&t.pendingWrites?.length){let h=Object.fromEntries(i.map(f=>[f.id,f]));for(let[f,d,m]of t.pendingWrites)["__error__","__interrupt__",jt].includes(d)||f in h&&h[f].writes.push([String(d),m]);let p=i.filter(f=>f.writes.length>0);p.length>0&&fe(t.checkpoint,s,p,void 0,this.triggerToNodes)}let l=t?.metadata;l&&t?.config?.configurable?.thread_id&&(l={...l,thread_id:t.config.configurable.thread_id});let u=i.filter(h=>h.writes.length===0).map(h=>h.name);return{values:Pe(s,this.streamChannelsAsIs),next:u,tasks:zi(i,t?.pendingWrites??[],c,this.streamChannelsAsIs),metadata:l,config:vt(t.config,t.metadata),createdAt:t.checkpoint.ts,parentConfig:t.parentConfig}}async getState(e,t){let r=e.configurable?.__pregel_checkpointer??this.checkpointer;if(!r)throw new Dt("No checkpointer set",{lc_error_code:"MISSING_CHECKPOINTER"});let n=e.configurable?.checkpoint_ns??"";if(n!==""&&e.configurable?.__pregel_read===void 0&&e.configurable?.__pregel_checkpointer===void 0){let o=Gn(n);for await(let[a,c]of this.getSubgraphsAsync(o,!0))if(a===o)return await c.getState(Ht(e,{[Se]:r}),{subgraphs:t?.subgraphs})}let s=be(this.config,e),i=await r.getTuple(e);return await this._prepareStateSnapshot({config:s,saved:i,subgraphCheckpointer:t?.subgraphs?r:void 0,applyPendingWrites:!e.configurable?.checkpoint_id})}async*getStateHistory(e,t){let r=e.configurable?.__pregel_checkpointer??this.checkpointer;if(!r)throw new Dt("No checkpointer set",{lc_error_code:"MISSING_CHECKPOINTER"});let n=e.configurable?.checkpoint_ns??"";if(n!==""&&e.configurable?.__pregel_checkpointer===void 0){let i=Gn(n);for await(let[o,a]of this.getSubgraphsAsync(i,!0))if(o===i){yield*a.getStateHistory(Ht(e,{[Se]:r}),t);return}}let s=be(this.config,e,{configurable:{checkpoint_ns:n}});for await(let i of r.list(s,t))yield this._prepareStateSnapshot({config:i.config,saved:i})}async bulkUpdateState(e,t){let r=e.configurable?.__pregel_checkpointer??this.checkpointer;if(!r)throw new Dt("No checkpointer set",{lc_error_code:"MISSING_CHECKPOINTER"});if(t.length===0)throw new Error("No supersteps provided");if(t.some(o=>o.updates.length===0))throw new Error("No updates provided");let n=e.configurable?.checkpoint_ns??"";if(n!==""&&e.configurable?.__pregel_checkpointer===void 0){let o=Gn(n);for await(let[,a]of this.getSubgraphsAsync(o,!0))return await a.bulkUpdateState(Ht(e,{[Se]:r}),t);throw new Error(`Subgraph "${o}" not found`)}let s=async(o,a)=>{let c=this.config?be(this.config,o):o,l=await r.getTuple(c),u=l!==void 0?Te(l.checkpoint):$t(),h={...l?.checkpoint.channel_versions},p=l?.metadata?.step??-1,f=Ht(c,{checkpoint_ns:c.configurable?.checkpoint_ns??""}),d=c.metadata??{};l?.config.configurable&&(f=Ht(c,l.config.configurable),d={...l.metadata,...d});let{values:m,asNode:g}=a[0];if(m==null&&g===void 0){if(a.length>1)throw new M("Cannot create empty checkpoint with multiple updates");return vt(await r.put(f,Oe(u,void 0,p),{source:"update",step:p+1,parents:l?.metadata?.parents??{}},{}),l?l.metadata:void 0)}let _=await ar(this.channels,u,{saver:r,config:l?.config??f});if(m===null&&g==="__end__"){if(a.length>1)throw new M("Cannot apply multiple updates when clearing state");if(l){let k=St(u,l.pendingWrites||[],this.nodes,_,l.config,!0,{step:(l.metadata?.step??-1)+1,checkpointer:r,store:this.store}),b=(l.pendingWrites||[]).filter(I=>I[0]===pe).map(I=>I.slice(1));b.length>0&&fe(u,_,[{name:He,writes:b,triggers:[]}],r.getNextVersion.bind(r),this.triggerToNodes);for(let[I,C,H]of l.pendingWrites||[])["__error__","__interrupt__",jt].includes(C)||I in k&&k[I].writes.push([C,H]);fe(u,_,Object.values(k),r.getNextVersion.bind(r),this.triggerToNodes)}return vt(await r.put(f,Oe(u,_,p),{...d,source:"update",step:p+1,parents:l?.metadata?.parents??{}},dr(h,u.channel_versions)),l?l.metadata:void 0)}if(g==="__copy__"){if(a.length>1)throw new M("Cannot copy checkpoint with multiple updates");if(l==null)throw new M("Cannot copy a non-existent checkpoint");let k=C=>!Array.isArray(C)||C.length===0?!1:C.every(H=>Array.isArray(H)&&H.length===2),b=Oe(u,void 0,p),I=await r.put(l.parentConfig??Ht(l.config,{checkpoint_id:void 0}),b,{source:"fork",step:p+1,parents:l.metadata?.parents??{}},{});if(k(m)){let C=St(b,l.pendingWrites,this.nodes,_,I,!1,{step:p+2}),H=Object.values(C).reduce((L,{name:V,id:ye})=>(L[V]??=[],L[V].push({id:ye}),L),{}),D=m.reduce((L,V)=>{let[ye,Je]=V;L[Je]??=[];let E=L[Je].length,T=H[Je]?.[E]?.id;return L[Je].push({values:ye,asNode:Je,taskId:T}),L},{});return s(vt(I,l.metadata),Object.values(D).flat())}return vt(I,l.metadata)}if(g==="__input__"){if(a.length>1)throw new M("Cannot apply multiple updates when updating as input");let k=await Re(ns(this.inputChannels,m));if(k.length===0)throw new M(`Received no input writes for ${JSON.stringify(this.inputChannels,null,2)}`);fe(u,_,[{name:He,writes:k,triggers:[]}],r.getNextVersion.bind(this.checkpointer),this.triggerToNodes);let b=l?.metadata?.step!=null?l.metadata.step+1:-1,I=await r.put(f,Oe(u,_,b),{source:"input",step:b,parents:l?.metadata?.parents??{}},dr(h,u.channel_versions));return await r.putWrites(I,k,Be(He,u.id)),vt(I,l?l.metadata:void 0)}if(c.configurable?.checkpoint_id===void 0&&l?.pendingWrites!==void 0&&l.pendingWrites.length>0){let k=St(u,l.pendingWrites,this.nodes,_,l.config,!0,{store:this.store,checkpointer:this.checkpointer,step:(l.metadata?.step??-1)+1}),b=(l.pendingWrites??[]).filter(C=>C[0]===pe).map(C=>C.slice(1));b.length>0&&fe(l.checkpoint,_,[{name:He,writes:b,triggers:[]}],void 0,this.triggerToNodes);for(let[C,H,D]of l.pendingWrites)["__error__","__interrupt__",jt].includes(H)||k[C]===void 0||k[C].writes.push([H,D]);let I=Object.values(k).filter(C=>C.writes.length>0);I.length>0&&fe(u,_,I,void 0,this.triggerToNodes)}let y=Object.values(u.versions_seen).map(k=>Object.values(k)).flat().find(k=>!!k),S=[];if(a.length===1){let{values:k,asNode:b,taskId:I}=a[0];if(b===void 0&&Object.keys(this.nodes).length===1)[b]=Object.keys(this.nodes);else if(b===void 0&&y===void 0)typeof this.inputChannels=="string"&&this.nodes[this.inputChannels]!==void 0&&(b=this.inputChannels);else if(b===void 0){let C=Object.entries(u.versions_seen).map(([H,D])=>Object.values(D).map(L=>[L,H])).flat().filter(([H,D])=>D!==U).sort(([H],[D])=>Dn(H,D));C&&(C.length===1?b=C[0][1]:C[C.length-1][0]!==C[C.length-2][0]&&(b=C[C.length-1][1]))}if(b===void 0)throw new M('Ambiguous update, specify "asNode"');S.push({values:k,asNode:b,taskId:I})}else for(let{asNode:k,values:b,taskId:I}of a){if(k==null)throw new M('"asNode" is required when applying multiple updates');S.push({values:b,asNode:k,taskId:I})}let w=[];for(let{asNode:k,values:b,taskId:I}of S){if(this.nodes[k]===void 0)throw new M(`Node "${k.toString()}" does not exist`);let C=this.nodes[k].getWriters();if(!C.length)throw new M(`No writers found for node "${k.toString()}"`);w.push({name:k,input:b,proc:C.length>1?Tt.from(C,{omitSequenceTags:!0}):C[0],writes:[],triggers:[U],id:I??Be("__interrupt__",u.id),writers:[]})}for(let k of w)await k.proc.invoke(k.input,Xe({...c,store:c?.store??this.store},{runName:c.runName??`${this.getName()}UpdateState`,configurable:{[ie]:b=>k.writes.push(...b),[ce]:(b,I=!1)=>mr(u,_,k,b,I)}}));for(let k of w){let b=k.writes.filter(I=>I[0]!==he);l!==void 0&&b.length>0&&await r.putWrites(f,b,k.id)}fe(u,_,w,r.getNextVersion.bind(this.checkpointer),this.triggerToNodes);let x=dr(h,u.channel_versions),A=await r.put(f,Oe(u,_,p+1),{source:"update",step:p+1,parents:l?.metadata?.parents??{}},x);for(let k of w){let b=k.writes.filter(I=>I[0]===he);b.length>0&&await r.putWrites(A,b,k.id)}return vt(A,l?l.metadata:void 0)},i=e;for(let{updates:o}of t)i=await s(i,o);return i}async updateState(e,t,r){return this.bulkUpdateState(e,[{updates:[{values:t,asNode:r}]}])}_defaults(e){let{debug:t,streamMode:r,inputKeys:n,outputKeys:s,interruptAfter:i,interruptBefore:o,...a}=e,c=!0,l=t!==void 0?t:this.debug,u=s;u===void 0?u=this.streamChannelsAsIs:to(u,this.channels);let h=n;h===void 0?h=this.inputChannels:to(h,this.channels);let p=o??this.interruptBefore??[],f=i??this.interruptAfter??[],d;r!==void 0?(d=Array.isArray(r)?r:[r],c=typeof r=="string"):(e.configurable?.__pregel_task_id!==void 0?d=["values"]:d=this.streamMode,c=!0);let m;if(this.checkpointer===!1)m=void 0;else if(e!==void 0&&e.configurable?.__pregel_checkpointer!==void 0)m=e.configurable[Se];else{if(this.checkpointer===!0)throw new Error("checkpointer: true cannot be used for root graphs.");m=this.checkpointer}let g=e.store??this.store,_=e.cache??this.cache;if(e.durability!=null&&e.checkpointDuring!=null)throw new Error("Cannot use both `durability` and `checkpointDuring` at the same time.");let y=(()=>{if(e.checkpointDuring!=null)return e.checkpointDuring===!1?"exit":"async"})(),S=e.durability??y??e?.configurable?.__pregel_durability??"async";return[l,d,h,u,a,p,f,m,g,c,_,S]}async stream(e,t){let r=new AbortController,n=Vn()?.configurable;n?.__pregel_read!==void 0&&t?.configurable?.__pregel_read===void 0&&(t={...t,configurable:{...n,...t?.configurable}});let s={recursionLimit:this.config?.recursionLimit,...t,signal:bt(t?.signal,r.signal).signal},i=await super.stream(e,s);return new us(t?.encoding==="text/event-stream"?ou(i):i,r)}async#e(e,t){let{version:r,encoding:n,transformers:s,...i}=t,o={recursionLimit:this.config?.recursionLimit,...i,configurable:{...this.config?.configurable,...i?.configurable},version:r,streamMode:Ii,subgraphs:!0,encoding:void 0},a=this.stream(e,o),c=Li({[Symbol.asyncIterator]:async function*(){let l=await a;for await(let u of l)yield u}},[...this.streamTransformers??[],...s??[]]);if(n==="text/event-stream"){let l=new AbortController;return l.signal.addEventListener("abort",()=>c.abort(l.signal.reason),{once:!0}),new us(ff(c),l)}return c}streamEvents(e,t,r){if(t.version==="v3")return this.#e(e,t);let n=new AbortController,s={recursionLimit:this.config?.recursionLimit,...t,signal:bt(t?.signal,n.signal).signal};return new us(super.streamEvents(e,s,r),n)}async _validateInput(e){return e}async _validateContext(e){return e}async*_streamIterator(e,t){let r="version"in(t??{})?void 0:t?.encoding??void 0,n=t?.subgraphs,s=t?.version==="v3",i=cr(this.config,t);if(i.recursionLimit===void 0||i.recursionLimit<1)throw new Error('Passed "recursionLimit" must be at least 1.');if(this.checkpointer!==void 0&&this.checkpointer!==!1&&i.configurable===void 0)throw new Error('Checkpointer requires one or more of the following "configurable" keys: "thread_id", "checkpoint_ns", "checkpoint_id"');let o=await this._validateInput(e),{runId:a,...c}=i,[l,u,,h,p,f,d,m,g,_,y,S]=this._defaults(c);p.metadata={ls_integration:"langgraph",...p.metadata},typeof p.context<"u"?p.context=await this._validateContext(p.context):p.configurable=await this._validateContext(p.configurable);let w=new Yi({modes:new Set(u)});if(this.checkpointer===!0){p.configurable??={};let D=p.configurable.checkpoint_ns??"";p.configurable[we]=D.split("|").map(L=>L.split(":")[0]).join("|")}if(u.includes("messages")){let D=s?new _u(V=>w.push(V)):new du(V=>w.push(V)),{callbacks:L}=p;if(L===void 0)p.callbacks=[D];else if(Array.isArray(L))p.callbacks=L.concat(D);else{let V=L.copy();V.addHandler(D,!0),p.callbacks=V}}if(u.includes("tools")){let D=new iu(V=>w.push(V)),{callbacks:L}=p;if(L===void 0)p.callbacks=[D];else if(Array.isArray(L))p.callbacks=L.concat(D);else{let V=L.copy();V.addHandler(D,!0),p.callbacks=V}}p.writer??=D=>{if(!u.includes("custom"))return;let L=Vn()?.configurable?.[we]?.split("|").slice(0,-1);w.push([L??[],"custom",D])},p.interrupt??=this.userInterrupt??Bi,p.serverInfo==null&&(p.serverInfo=mf(p)),p.control??=new xi;let x={tracerInheritableMetadata:yf(p)},A=await(await qt._configureSync(p?.callbacks,void 0,p?.tags,void 0,p?.metadata,void 0,x))?.handleChainStart(this.toJSON(),Vl(e,"input"),a,void 0,void 0,void 0,p?.runName??this.getName()),k=or(this.channels),b,I,H=(async()=>{try{b=await hu.initialize({input:o,config:p,checkpointer:m,nodes:this.nodes,channelSpecs:k,outputKeys:h,streamKeys:this.streamChannelsAsIs,store:g,cache:y,stream:w,interruptAfter:d,interruptBefore:f,manager:A,debug:this.debug,triggerToNodes:this.triggerToNodes,durability:S});let D=new wu({loop:b,nodeFinished:p.configurable?.[Oa]});t?.subgraphs&&(b.config.configurable={...b.config.configurable,[kr]:b.stream}),await this._runLoop({loop:b,runner:D,debug:l,config:p}),S==="sync"&&await Promise.all(b?.checkpointerPromises??[])}catch(D){I=D}finally{try{b&&(await b.store?.stop(),await b.cache?.stop()),await Promise.all(b?.checkpointerPromises??[])}catch(D){I=I??D}I?(await new Promise(D=>{queueMicrotask(D)}),w.error(I)):w.close()}})();try{for await(let D of w){if(D===void 0)throw new Error("Data structure error.");let[L,V,ye]=D,Je="version"in(t??{});if(u.includes(V)||V==="checkpoints"&&lr(ye)&&(s||Je&&n&&u.includes("values"))){if(r==="text/event-stream"){n?yield[L,V,ye]:yield[null,V,ye];continue}n&&!_?yield[L,V,ye]:_?n?yield[L,ye]:yield ye:yield[V,ye]}}}catch(D){throw await A?.handleChainError(I),D}finally{await H}await A?.handleChainEnd(b?.output??{},a,void 0,void 0,void 0)}async invoke(e,t){let r=t?.streamMode??"values",n={...t,outputKeys:t?.outputKeys??this.outputChannels,streamMode:r,encoding:void 0},s=[],i=await this.stream(e,n),o=[],a;for await(let c of i)r==="values"?Pt(c)?o.push(c[U]):a=c:s.push(c);if(r==="values"){if(o.length>0){let c=o.flat(1);if(a==null)return{[U]:c};if(typeof a=="object")return{...a,[U]:c}}return a}return s}async _runLoop(e){let{loop:t,runner:r,debug:n,config:s}=e,i;try{for(;await t.tick({inputKeys:this.inputChannels});){for(let{task:o}of await t._matchCachedWrites())t._outputWrites(o.id,o.writes,!0);n&&tu(t.checkpointMetadata.step,t.channels,this.streamChannelsList),n&&Xr(t.step,Object.values(t.tasks)),await r.tick({timeout:this.stepTimeout,retryPolicy:this.retryPolicy,onStepWrite:(o,a)=>{n&&ru(o,a,this.streamChannelsList)},maxConcurrency:s.maxConcurrency,signal:s.signal})}if(t.status==="draining")throw t.control==null?new Error("Draining status requires run control"):new cn(t.control.drainReason??"shutdown");if(t.status==="out_of_steps")throw new Os([`Recursion limit of ${s.recursionLimit} reached`,"without hitting a stop condition. You can increase the",'limit by setting the "recursionLimit" config key.'].join(" "),{lc_error_code:"GRAPH_RECURSION_LIMIT"})}catch(o){if(i=o,!await t.finishAndHandleError(i))throw o}finally{i===void 0&&await t.finishAndHandleError()}}async clearCache(){await this.cache?.clear([])}};function mf(e){let t=e.metadata??{},r=e.configurable??{},n=r.assistant_id??t.assistant_id,s=r.graph_id??t.graph_id,i=r.langgraph_auth_user,o;if(i!=null&&typeof i=="object"&&"identity"in i&&(o=i),n!=null||s!=null||o!=null)return{assistantId:n!=null?String(n):"",graphId:s!=null?String(s):"",user:o}}var gf=new Set(["key","token","secret","password","auth"]);function _f(e,t){let r=e.toLowerCase(),n=!1;for(let s of gf)if(r.includes(s)){n=!0;break}return e.startsWith("__")||!(typeof t=="string"||typeof t=="number"||typeof t=="boolean")||n}function yf(e){let t=e.configurable;if(!t)return;let r=e.context,n={};for(let[s,i]of Object.entries(t)){if(r!=null&&Object.prototype.hasOwnProperty.call(r,s)&&Object.is(r[s],i)){s.startsWith("__")||(n[s]=void 0);continue}_f(s,i)||(n[s]=i)}return Object.keys(n).length>0?n:void 0}var De=class ku extends z{lc_graph_name="EphemeralValue";guard;value=[];constructor(t=!0){super(),this.guard=t}fromCheckpoint(t){let r=new ku(this.guard);return typeof t<"u"&&(r.value=[t]),r}update(t){if(t.length===0){let r=this.value.length>0;return this.value=[],r}if(t.length!==1&&this.guard)throw new M("EphemeralValue can only receive one value per step.");return this.value=[t[t.length-1]],!0}get(){if(this.value.length===0)throw new $;return this.value[0]}checkpoint(){if(this.value.length===0)throw new $;return this.value[0]}isAvailable(){return this.value.length!==0}};var no=class{path;ends;constructor(e){X.isRunnable(e.path)?this.path=e.path:this.path=$e(e.path),this.ends=Array.isArray(e.pathMap)?e.pathMap.reduce((t,r)=>(t[r]=r,t),{}):e.pathMap}run(e,t){return K.registerWriter(new re({name:"<branch_run>",trace:!1,func:async(r,n)=>{try{return await this._route(r,n,e,t)}catch(s){throw s.name===un.unminifiable_name&&console.warn(`[WARN]: 'NodeInterrupt' thrown in conditional edge. This is likely a bug in your graph implementation.
|
|
118
|
+
NodeInterrupt should only be thrown inside a node, not in edge conditions.`),s}}}))}async _route(e,t,r,n){let s=await this.path.invoke(n?n(t):e,t);Array.isArray(s)||(s=[s]);let i;if(this.ends?i=s.map(o=>Q(o)?o:this.ends[o]):i=s,i.some(o=>!o))throw new Error("Branch condition returned unknown or null destination");if(i.filter(Q).some(o=>o.node==="__end__"))throw new M("Cannot send a packet to the END node");return await r(i,t)??e}},so=class{nodes;edges;branches;entryPoint;compiled=!1;constructor(){this.nodes={},this.edges=new Set,this.branches={}}warnIfCompiled(e){this.compiled&&console.warn(e)}get allEdges(){return this.edges}addNode(...e){function t(n){return n.length>=1&&typeof n[0]!="string"}let r=t(e)?Array.isArray(e[0])?e[0]:Object.entries(e[0]):[[e[0],e[1],e[2]]];if(r.length===0)throw new Error("No nodes provided in `addNode`");for(let[n,s,i]of r){for(let a of["|",":"])if(n.includes(a))throw new Error(`"${a}" is a reserved character and is not allowed in node names.`);if(this.warnIfCompiled("Adding a node to a graph that has already been compiled. This will not be reflected in the compiled graph."),n in this.nodes)throw new Error(`Node \`${n}\` already present.`);if(n==="__end__")throw new Error(`Node \`${n}\` is reserved.`);let o=$e(s);this.nodes[n]={runnable:o,metadata:i?.metadata,subgraphs:qr(o)?[o]:i?.subgraphs,ends:i?.ends}}return this}addEdge(e,t){if(this.warnIfCompiled("Adding an edge to a graph that has already been compiled. This will not be reflected in the compiled graph."),e==="__end__")throw new Error("END cannot be a start node");if(t==="__start__")throw new Error("START cannot be an end node");if(Array.from(this.edges).some(([r])=>r===e)&&!("channels"in this))throw new Error(`Already found path for ${e}. For multiple edges, use StateGraph.`);return this.edges.add([e,t]),this}addConditionalEdges(e,t,r){let n=typeof e=="object"?e:{source:e,path:t,pathMap:r};this.warnIfCompiled("Adding an edge to a graph that has already been compiled. This will not be reflected in the compiled graph."),X.isRunnable(n.path)||(n.path=$e(n.path));let s=n.path.getName()==="RunnableLambda"?"condition":n.path.getName();if(this.branches[n.source]&&this.branches[n.source][s])throw new Error(`Condition \`${s}\` already present for node \`${e}\``);return this.branches[n.source]??={},this.branches[n.source][s]=new no(n),this}setEntryPoint(e){return this.warnIfCompiled("Setting the entry point of a graph that has already been compiled. This will not be reflected in the compiled graph."),this.addEdge(G,e)}setFinishPoint(e){return this.warnIfCompiled("Setting a finish point of a graph that has already been compiled. This will not be reflected in the compiled graph."),this.addEdge(e,W)}compile({checkpointer:e,interruptBefore:t,interruptAfter:r,name:n,transformers:s}={}){this.validate([...Array.isArray(t)?t:[],...Array.isArray(r)?r:[]]);let i=new io({builder:this,checkpointer:e,interruptAfter:r,interruptBefore:t,autoValidate:!1,nodes:{},channels:{[G]:new De,[W]:new De},inputChannels:G,outputChannels:W,streamChannels:[],streamMode:"values",name:n,streamTransformers:s});for(let[o,a]of Object.entries(this.nodes))i.attachNode(o,a);for(let[o,a]of this.edges)i.attachEdge(o,a);for(let[o,a]of Object.entries(this.branches))for(let[c,l]of Object.entries(a))i.attachBranch(o,c,l);return i.validate()}validate(e){let t=new Set([...this.allEdges].map(([n,s])=>n));for(let[n]of Object.entries(this.branches))t.add(n);for(let n of t)if(n!=="__start__"&&!(n in this.nodes))throw new Error(`Found edge starting at unknown node \`${n}\``);let r=new Set([...this.allEdges].map(([n,s])=>s));for(let[n,s]of Object.entries(this.branches))for(let i of Object.values(s))if(i.ends!=null)for(let o of Object.values(i.ends))r.add(o);else{r.add(W);for(let o of Object.keys(this.nodes))o!==n&&r.add(o)}for(let n of Object.values(this.nodes))for(let s of n.ends??[])r.add(s);if(Object.values(this.nodes).some(n=>n.isErrorHandler))for(let n of Object.keys(this.nodes))r.add(n);for(let n of Object.keys(this.nodes))if(!this.nodes[n].isErrorHandler&&!r.has(n))throw new Rs([`Node \`${n}\` is not reachable.`,"","If you are returning Command objects from your node,",'make sure you are passing names of potential destination nodes as an "ends" array','into ".addNode(..., { ends: ["node1", "node2"] })".'].join(`
|
|
119
|
+
`),{lc_error_code:"UNREACHABLE_NODE"});for(let n of r)if(n!=="__end__"&&!(n in this.nodes))throw new Error(`Found edge ending at unknown node \`${n}\``);if(e){for(let n of e)if(!(n in this.nodes))throw new Error(`Interrupt node \`${n}\` is not present`)}this.compiled=!0}},io=class extends fs{builder;constructor({builder:e,...t}){super(t),this.builder=e}withConfig(e){return super.withConfig(e)}attachNode(e,t){this.channels[e]=new De,this.nodes[e]=new Me({channels:[],triggers:[],metadata:t.metadata,subgraphs:t.subgraphs,ends:t.ends}).pipe(t.runnable).pipe(new K([{channel:e,value:_e}],[q])),this.streamChannels.push(e)}attachEdge(e,t){if(t==="__end__"){if(e==="__start__")throw new Error("Cannot have an edge from START to END");this.nodes[e].writers.push(new K([{channel:W,value:_e}],[q]))}else this.nodes[t].triggers.push(e),this.nodes[t].channels.push(e)}attachBranch(e,t,r){e==="__start__"&&!this.nodes.__start__&&(this.nodes[G]=Su.subscribeTo(G,{tags:[q]})),this.nodes[e].pipe(r.run(s=>new K(s.map(i=>Q(i)?i:{channel:i==="__end__"?W:`branch:${e}:${t}:${i}`,value:_e}),[q])));let n=r.ends?Object.values(r.ends):Object.keys(this.nodes);for(let s of n)if(s!=="__end__"){let i=`branch:${e}:${t}:${s}`;this.channels[i]=new De,this.nodes[s].triggers.push(i),this.nodes[s].channels.push(i)}}async getGraphAsync(e){let t=e?.xray,r=new Es,n={[G]:r.addNode({schema:ut.any()},G)},s={},i={};t&&(i=Object.fromEntries((await Re(this.getSubgraphsAsync())).filter(l=>Eu(l[1]))));let o=[];function a(l,u,h,p=!1){if(u==="__end__"&&s.__end__===void 0&&(s[W]=r.addNode({schema:ut.any()},W)),n[l]!==void 0){if(s[u]===void 0)throw new Error(`End node ${u} not found!`);return o.push({src:l,dest:u,conditional:p}),r.addEdge(n[l],s[u],h!==u?h:void 0,p)}}for(let[l,u]of Object.entries(this.builder.nodes)){let h=ee(l),p=u.runnable,f=u.metadata??{};if(this.interruptBefore?.includes(l)&&this.interruptAfter?.includes(l)?f.__interrupt="before,after":this.interruptBefore?.includes(l)?f.__interrupt="before":this.interruptAfter?.includes(l)&&(f.__interrupt="after"),t){let d=typeof t=="number"?t-1:t,m=i[l]!==void 0?await i[l].getGraphAsync({...e,xray:d}):p.getGraph(e);if(m.trimFirstNode(),m.trimLastNode(),Object.keys(m.nodes).length>1){let y=function(w){return w?w.lc_runnable:!1},S=function(w,x){if(w!==void 0&&!_s(w))return w;if(y(x))try{let A=x.getName();return A=A.startsWith("Runnable")?A.slice(8):A,A}catch{return x.getName()}else return x.name??"UnknownSchema"},[g,_]=r.extend(m,h);if(g===void 0)throw new Error(`Could not extend subgraph "${l}" due to missing entrypoint.`);_!==void 0&&(n[h]={name:S(_.id,_.data),..._}),s[h]={name:S(g.id,g.data),...g}}else{let g=r.addNode(p,h,f);n[h]=g,s[h]=g}}else{let d=r.addNode(p,h,f);n[h]=d,s[h]=d}}let c=[...this.builder.allEdges].sort(([l],[u])=>l<u?-1:u>l?1:0);for(let[l,u]of c)a(ee(l),ee(u));for(let[l,u]of Object.entries(this.builder.branches)){let h={...Object.fromEntries(Object.keys(this.builder.nodes).filter(p=>p!==l).map(p=>[ee(p),ee(p)])),[W]:W};for(let p of Object.values(u)){let f;p.ends!==void 0?f=p.ends:f=h;for(let[d,m]of Object.entries(f))a(ee(l),ee(m),d,!0)}}for(let[l,u]of Object.entries(this.builder.nodes))if(u.ends!==void 0)for(let h of u.ends)a(ee(l),ee(h),void 0,!0);return Cu(this.builder.nodes,o,a),r}getGraph(e){let t=e?.xray,r=new Es,n={[G]:r.addNode({schema:ut.any()},G)},s={},i={};t&&(i=Object.fromEntries(wt(this.getSubgraphs()).filter(l=>Eu(l[1]))));let o=[];function a(l,u,h,p=!1){if(u==="__end__"&&s.__end__===void 0&&(s[W]=r.addNode({schema:ut.any()},W)),n[l]!==void 0){if(s[u]===void 0)throw new Error(`End node ${u} not found!`);return o.push({src:l,dest:u,conditional:p}),r.addEdge(n[l],s[u],h!==u?h:void 0,p)}}for(let[l,u]of Object.entries(this.builder.nodes)){let h=ee(l),p=u.runnable,f=u.metadata??{};if(this.interruptBefore?.includes(l)&&this.interruptAfter?.includes(l)?f.__interrupt="before,after":this.interruptBefore?.includes(l)?f.__interrupt="before":this.interruptAfter?.includes(l)&&(f.__interrupt="after"),t){let d=typeof t=="number"?t-1:t,m=i[l]!==void 0?i[l].getGraph({...e,xray:d}):p.getGraph(e);if(m.trimFirstNode(),m.trimLastNode(),Object.keys(m.nodes).length>1){let y=function(w){return w?w.lc_runnable:!1},S=function(w,x){if(w!==void 0&&!_s(w))return w;if(y(x))try{let A=x.getName();return A=A.startsWith("Runnable")?A.slice(8):A,A}catch{return x.getName()}else return x.name??"UnknownSchema"},[g,_]=r.extend(m,h);if(g===void 0)throw new Error(`Could not extend subgraph "${l}" due to missing entrypoint.`);_!==void 0&&(n[h]={name:S(_.id,_.data),..._}),s[h]={name:S(g.id,g.data),...g}}else{let g=r.addNode(p,h,f);n[h]=g,s[h]=g}}else{let d=r.addNode(p,h,f);n[h]=d,s[h]=d}}let c=[...this.builder.allEdges].sort(([l],[u])=>l<u?-1:u>l?1:0);for(let[l,u]of c)a(ee(l),ee(u));for(let[l,u]of Object.entries(this.builder.branches)){let h={...Object.fromEntries(Object.keys(this.builder.nodes).filter(p=>p!==l).map(p=>[ee(p),ee(p)])),[W]:W};for(let p of Object.values(u)){let f;p.ends!==void 0?f=p.ends:f=h;for(let[d,m]of Object.entries(f))a(ee(l),ee(m),d,!0)}}for(let[l,u]of Object.entries(this.builder.nodes))if(u.ends!==void 0)for(let h of u.ends)a(ee(l),ee(h),void 0,!0);return Cu(this.builder.nodes,o,a),r}};function Eu(e){return typeof e.attachNode=="function"&&typeof e.attachEdge=="function"}function ee(e){return e==="subgraph"?`"${e}"`:e}function Cu(e,t,r){let n=new Set(t.map(i=>i.src)),s=[...new Set(t.filter(i=>!i.conditional&&i.dest!=="__end__").map(i=>i.dest))].sort();for(let i of s){if(n.has(i))continue;let o=Object.keys(e).find(a=>ee(a)===i);o!==void 0&&e[o]?.isErrorHandler||r(i,W)}}function st(e){return typeof e=="object"&&e!==null&&"~standard"in e&&typeof e["~standard"]=="object"&&e["~standard"]!==null&&"validate"in e["~standard"]}function oo(e){return typeof e=="object"&&e!==null&&"~standard"in e&&typeof e["~standard"]=="object"&&e["~standard"]!==null&&"jsonSchema"in e["~standard"]}function wf(e){return st(e)&&oo(e)}function kt(e){if(oo(e))try{return e["~standard"].jsonSchema.input({target:"draft-07"})}catch{return}}function it(e){if(e!=null&&st(e))try{let t=e["~standard"].validate(void 0);if(t&&typeof t=="object"&&!("then"in t&&typeof t.then=="function")){let r=t;if(!r.issues){let n=r.value;return()=>n}}}catch{}}var vf=e=>e!=null&&e.lc_graph_name==="DeltaChannel",ds=class xu extends z{lc_graph_name="DeltaChannel";value;reducer;snapshotFrequency;initialValueFactory;constructor(t,r){super();let n=r?.snapshotFrequency??1e3;if(!Number.isInteger(n)||n<=0)throw new Error(`snapshotFrequency must be a positive integer, got ${n}`);this.reducer=t,this.snapshotFrequency=n,this.initialValueFactory=r?.initialValueFactory??(()=>[]),this.value=void 0}fromCheckpoint(t){let r=new xu(this.reducer,{snapshotFrequency:this.snapshotFrequency,initialValueFactory:this.initialValueFactory});return t===void 0?r.value=this.initialValueFactory():$s(t)?r.value=t.value:r.value=t,r}replayWrites(t){let r=t.map(o=>o[2]);if(r.length===0)return;let n=this.value,s=0;for(let o=0;o<r.length;o+=1){let[a,c]=Ie(r[o]);a&&(n=c??this.initialValueFactory(),s=o+1)}let i=r.slice(s);this.value=i.length>0?this.reducer(n,i):n}update(t){if(t.length===0)return!1;let r,n=!1;for(let i of t)if(Mt(i)){if(n)throw new M("Can receive only one Overwrite value per step.");n=!0,[,r]=Ie(i)}if(n)return this.value=r??this.initialValueFactory(),!0;let s=this.value===void 0?this.initialValueFactory():this.value;return this.value=this.reducer(s,t),!0}get(){if(this.value===void 0)throw new $;return this.value}checkpoint(){}isAvailable(){return this.value!==void 0}equals(t){return this===t?!0:!vf(t)||this.snapshotFrequency!==t.snapshotFrequency?!1:this.reducer===t.reducer}};var ao=Symbol.for("langgraph.channel.missing"),ms=class Iu extends z{lc_graph_name="UntrackedValue";guard;_value=ao;initialValueFactory;constructor(t){super(),this.guard=t?.guard??!0,this.initialValueFactory=t?.initialValueFactory,this.initialValueFactory&&(this._value=this.initialValueFactory())}fromCheckpoint(t){return new Iu({guard:this.guard,initialValueFactory:this.initialValueFactory})}update(t){if(t.length===0)return!1;if(t.length!==1&&this.guard)throw new M("UntrackedValue(guard=true) can receive only one value per step. Use guard=false if you want to store any one of multiple values.",{lc_error_code:"INVALID_CONCURRENT_GRAPH_UPDATE"});return this._value=t[t.length-1],!0}get(){if(this._value===ao)throw new $;return this._value}checkpoint(){}isAvailable(){return this._value!==ao}};var Et=(e,t)=>e.size===t.size&&[...e].every(r=>t.has(r)),co=class Au extends z{lc_graph_name="NamedBarrierValue";names;seen;constructor(t){super(),this.names=t,this.seen=new Set}fromCheckpoint(t){let r=new Au(this.names);return typeof t<"u"&&(r.seen=new Set(t)),r}update(t){let r=!1;for(let n of t)if(this.names.has(n))this.seen.has(n)||(this.seen.add(n),r=!0);else throw new M(`Value ${JSON.stringify(n)} not in names ${JSON.stringify(this.names)}`);return r}get(){if(!Et(this.names,this.seen))throw new $}checkpoint(){return[...this.seen]}consume(){return this.seen&&this.names&&Et(this.seen,this.names)?(this.seen=new Set,!0):!1}isAvailable(){return!!this.names&&Et(this.names,this.seen)}},lo=class Tu extends z{lc_graph_name="NamedBarrierValueAfterFinish";names;seen;finished;constructor(t){super(),this.names=t,this.seen=new Set,this.finished=!1}fromCheckpoint(t){let r=new Tu(this.names);if(typeof t<"u"){let[n,s]=t;r.seen=new Set(n),r.finished=s}return r}update(t){let r=!1;for(let n of t)if(this.names.has(n)&&!this.seen.has(n))this.seen.add(n),r=!0;else if(!this.names.has(n))throw new M(`Value ${JSON.stringify(n)} not in names ${JSON.stringify(this.names)}`);return r}get(){if(!this.finished||!Et(this.names,this.seen))throw new $}checkpoint(){return[[...this.seen],this.finished]}consume(){return this.finished&&this.seen&&this.names&&Et(this.seen,this.names)?(this.seen=new Set,this.finished=!1,!0):!1}finish(){return!this.finished&&this.names&&Et(this.names,this.seen)?(this.finished=!0,!0):!1}isAvailable(){return this.finished&&!!this.names&&Et(this.names,this.seen)}};var uo=Symbol.for("langgraph.state.reduced_value"),ot=class{[uo]=!0;valueSchema;inputSchema;reducer;jsonSchemaExtra;constructor(e,t){this.reducer=t.reducer,this.jsonSchemaExtra=t.jsonSchemaExtra,this.valueSchema=e,this.inputSchema="inputSchema"in t?t.inputSchema:e,this.jsonSchemaExtra=t.jsonSchemaExtra}static isInstance(e){return typeof e=="object"&&e!==null&&uo in e&&e[uo]===!0}};var Ou=Symbol.for("langgraph.state.untracked_value"),Ft=class{[Ou]=!0;schema;guard;constructor(e,t){this.schema=e,this.guard=t?.guard??!0}static isInstance(e){return typeof e=="object"&&e!==null&&Ou in e}};var ho=Symbol.for("langgraph.state.delta_value"),at=class{[ho]=!0;valueSchema;inputSchema;reducer;snapshotFrequency;jsonSchemaExtra;constructor(e,t){this.reducer=t.reducer,this.valueSchema=e,this.inputSchema="inputSchema"in t?t.inputSchema:e,this.snapshotFrequency=t.snapshotFrequency,this.jsonSchemaExtra=t.jsonSchemaExtra}static isInstance(e){return typeof e=="object"&&e!==null&&ho in e&&e[ho]===!0}};var po=Symbol.for("langgraph.state.state_schema"),je=class{[po]=!0;constructor(e){this.fields=e}getChannels(){let e={};for(let[t,r]of Object.entries(this.fields))if(at.isInstance(r)){let n=it(r.valueSchema);e[t]=new ds(r.reducer,{snapshotFrequency:r.snapshotFrequency,initialValueFactory:n})}else if(ot.isInstance(r)){let n=it(r.valueSchema);e[t]=new tt(r.reducer,n)}else if(Ft.isInstance(r)){let n=r.schema?it(r.schema):void 0;e[t]=new ms({guard:r.guard,initialValueFactory:n})}else if(st(r))e[t]=new Ne(it(r));else throw new Error(`Invalid state field "${t}": must be a schema, ReducedValue, DeltaValue, UntrackedValue, or ManagedValue`);return e}getJsonSchema(){let e={},t=[];for(let[r,n]of Object.entries(this.fields)){let s;if(at.isInstance(n)||ot.isInstance(n)?(s=kt(n.valueSchema),n.jsonSchemaExtra&&(s={...s??{},...n.jsonSchemaExtra})):Ft.isInstance(n)?s=n.schema?kt(n.schema):void 0:st(n)&&(s=kt(n)),s){e[r]=s;let i=!1;at.isInstance(n)||ot.isInstance(n)?i=it(n.valueSchema)!==void 0:Ft.isInstance(n)?i=n.schema?it(n.schema)!==void 0:!1:i=it(n)!==void 0,i||t.push(r)}}return{type:"object",properties:e,required:t.length>0?t:void 0}}getInputJsonSchema(){let e={};for(let[t,r]of Object.entries(this.fields)){let n;at.isInstance(r)||ot.isInstance(r)?(n=kt(r.inputSchema),r.jsonSchemaExtra&&(n={...n??{},...r.jsonSchemaExtra})):Ft.isInstance(r)?n=r.schema?kt(r.schema):void 0:st(r)&&(n=kt(r)),n&&(e[t]=n)}return{type:"object",properties:e}}getChannelKeys(){return Object.entries(this.fields).map(([e])=>e)}getAllKeys(){return Object.keys(this.fields)}async validateInput(e){if(e==null||typeof e!="object")return e;let t={};for(let[r,n]of Object.entries(e)){let s=this.fields[r];if(s===void 0){t[r]=n;continue}let i;if(at.isInstance(s)||ot.isInstance(s)){let[o,a]=Ie(n);if(o){i=s.valueSchema;let c=await i["~standard"].validate(a);if(c.issues)throw new Error(`Validation failed for field "${r}": ${JSON.stringify(c.issues)}`);t[r]={[Le]:c.value};continue}i=s.inputSchema}else Ft.isInstance(s)?i=s.schema:st(s)&&(i=s);if(i){let o=await i["~standard"].validate(n);if(o.issues)throw new Error(`Validation failed for field "${r}": ${JSON.stringify(o.issues)}`);t[r]=o.value}else t[r]=n}return t}static isInstance(e){return typeof e=="object"&&e!==null&&po in e&&e[po]===!0}};var bf="__remove_all__";function Ct(e,t){let r=Array.isArray(e)?e:[e],n=Array.isArray(t)?t:[t],s=r.map(At),i=n.map(At);for(let u of s)(u.id===null||u.id===void 0)&&(u.id=_r(),u.lc_kwargs.id=u.id);let o;for(let u=0;u<i.length;u+=1){let h=i[u];(h.id===null||h.id===void 0)&&(h.id=_r(),h.lc_kwargs.id=h.id),Wt.isInstance(h)&&h.id==="__remove_all__"&&(o=u)}if(o!=null)return i.slice(o+1);let a=[...s],c=new Map(a.map((u,h)=>[u.id,h])),l=new Set;for(let u of i){let h=c.get(u.id);if(h!==void 0)Wt.isInstance(u)?l.add(u.id):(l.delete(u.id),a[h]=u);else{if(Wt.isInstance(u))throw new Error(`Attempting to delete a message with an ID that doesn't exist ('${u.id}')`);c.set(u.id,a.length),a.push(u)}}return a.filter(u=>!l.has(u.id))}function fo(e,t){let r=[];for(let a of t)Array.isArray(a)?r.push(...a):r.push(a);let n=e.length>0&&ae.isInstance(e[0])?e:e.map(At),s=r.map(At),i=new Map;for(let a=0;a<n.length;a+=1){let c=n[a].id;c!=null&&i.set(c,a)}let o=[...n];for(let a of s){let c=a.id;Wt.isInstance(a)&&c==="__remove_all__"?(o.length=0,i.clear()):c==null?o.push(a):Wt.isInstance(a)?i.has(c)&&(o[i.get(c)]=null,i.delete(c)):i.has(c)?o[i.get(c)]=a:(i.set(c,o.length),o.push(a))}return o.filter(a=>a!==null)}var Nu=ut.custom().default(()=>[]),Ru=ut.custom(),Sf=new ot(Nu,{inputSchema:Ru,reducer:Ct,jsonSchemaExtra:{langgraph_type:"messages",description:"A list of chat messages"}}),kf=new at(Nu,{inputSchema:Ru,reducer:fo,jsonSchemaExtra:{langgraph_type:"messages",description:"A list of chat messages"}});var Ef=class{_map=new Map;_extensionCache=new Map;get(e){return this._map.get(e)}extend(e,t){let r=this.get(e);this._map.set(e,t(r))}remove(e){return this._map.delete(e),this}has(e){return this._map.has(e)}getChannelsForSchema(e){let t={},r=vr(e);for(let[n,s]of Object.entries(r)){let i=this.get(s);i?.reducer?t[n]=new tt(i.reducer.fn,i.default):t[n]=new Ne(i?.default)}return t}getExtendedChannelSchemas(e,t){if(Object.keys(t).length===0)return e;let r=Object.entries(t).filter(([,i])=>i===!0).sort(([i],[o])=>i.localeCompare(o)).map(([i,o])=>`${i}:${o}`).join("|"),n=this._extensionCache.get(r)??new Map;if(n.has(e))return n.get(e);let s=e;if(t.withReducerSchema||t.withJsonSchemaExtrasAsDescription){let i=Object.entries(vr(e)).map(([o,a])=>{let c=this.get(a),l=t.withReducerSchema?c?.reducer?.schema??a:a;if(t.withJsonSchemaExtrasAsDescription&&c?.jsonSchemaExtra){let u=Ss(l)??Ss(a),h=JSON.stringify({...c.jsonSchemaExtra,description:u});l=l.describe(`lg:${h}`)}return[o,l]});s=Qo(e,Object.fromEntries(i)),Xo(s)&&(s._def.unknownKeys="strip")}return t.asPartial&&(s=Jt(s)),n.set(e,s),this._extensionCache.set(r,n),s}},Qr=new Ef;function Mu(e,t){if(t.reducer&&!t.default){let r=Zo(e);r!=null&&(t.default=r)}if(t.reducer){let r=Object.assign(e,{lg_reducer_schema:t.reducer?.schema??e});return Qr.extend(r,()=>t),r}else return Qr.extend(e,()=>t),e}function Bt(e){return e==null?!1:!!(je.isInstance(e)||de(e)||typeof e=="object"&&"lc_graph_name"in e&&e.lc_graph_name==="AnnotationRoot"||typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).length>0&&Object.values(e).every(t=>typeof t=="function"||ki(t)))}function Pu(e){if(typeof e!="object"||e==null)return!1;let t=e,r="state"in t&&Bt(t.state),n="stateSchema"in t&&Bt(t.stateSchema),s="input"in t&&Bt(t.input);return!(!r&&!n&&!s||"input"in t&&t.input!=null&&!Bt(t.input)||"output"in t&&t.output!=null&&!Bt(t.output))}var ct="__root__",gr="__default_error_handler__",gs=Symbol.for("langgraph.state.partial"),mo=class extends so{channels={};waitingEdges=new Set;_schemaDefinition;_schemaRuntimeDefinition;_inputDefinition;_inputRuntimeDefinition;_outputDefinition;_outputRuntimeDefinition;_schemaDefinitions=new Map;_metaRegistry=Qr;_configSchema;_configRuntimeSchema;_interrupt;_writer;_nodeDefaults={};constructor(e,t){super();let r=this._normalizeToStateGraphInit(e,t),n=r.state??r.stateSchema??r.input;if(!n)throw new xr;let s=this._getChannelsFromSchema(n);this._schemaDefinition=s,je.isInstance(n)?this._schemaRuntimeDefinition=n:de(n)&&(this._schemaRuntimeDefinition=n),r.input?je.isInstance(r.input)?this._inputRuntimeDefinition=r.input:de(r.input)?this._inputRuntimeDefinition=r.input:this._inputRuntimeDefinition=gs:this._inputRuntimeDefinition=gs,r.output?je.isInstance(r.output)?this._outputRuntimeDefinition=r.output:de(r.output)?this._outputRuntimeDefinition=r.output:this._outputRuntimeDefinition=this._schemaRuntimeDefinition:this._outputRuntimeDefinition=this._schemaRuntimeDefinition;let i=r.input?this._getChannelsFromSchema(r.input):s,o=r.output?this._getChannelsFromSchema(r.output):s;this._inputDefinition=i,this._outputDefinition=o,this._addSchema(this._schemaDefinition),this._addSchema(this._inputDefinition),this._addSchema(this._outputDefinition),r.context&&de(r.context)&&(this._configRuntimeSchema=r.context),this._interrupt=r.interrupt,this._writer=r.writer}setNodeDefaults(e){return e.retryPolicy!==void 0&&(this._nodeDefaults.retryPolicy=e.retryPolicy),e.cachePolicy!==void 0&&(this._nodeDefaults.cachePolicy=typeof e.cachePolicy=="boolean"?e.cachePolicy?{}:void 0:e.cachePolicy),e.timeout!==void 0&&(this._nodeDefaults.timeout=ht(e.timeout)),e.errorHandler!==void 0&&(this._nodeDefaults.errorHandler=e.errorHandler),this}_createDefaultErrorHandlerSpec(){let e=this._nodeDefaults.errorHandler;if(e!==void 0)return{runnable:new re({func:(t,r)=>{let n=r?.configurable?.[Er];return e(t,n,r)},name:gr,trace:!1}),metadata:void 0,input:this._schemaDefinition,retryPolicy:void 0,cachePolicy:void 0,isErrorHandler:!0}}_normalizeToStateGraphInit(e,t){if(Pu(e)){if(de(t)||Fn.isInstance(t))return{...e,context:t};let r=t;return{...e,input:e.input??r?.input,output:e.output??r?.output,context:e.context??r?.context,interrupt:e.interrupt??r?.interrupt,writer:e.writer??r?.writer,nodes:e.nodes??r?.nodes}}if(Bt(e)){if(de(t)||Fn.isInstance(t))return{state:e,context:t};let r=t;return{state:e,input:r?.input,output:r?.output,context:r?.context,interrupt:r?.interrupt,writer:r?.writer,nodes:r?.nodes}}if(xf(e))return{state:Cf(e.channels)};throw new xr}_getChannelsFromSchema(e){if(je.isInstance(e))return e.getChannels();if(de(e))return this._metaRegistry.getChannelsForSchema(e);if(typeof e=="object"&&"lc_graph_name"in e&&e.lc_graph_name==="AnnotationRoot")return e.spec;if(typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).length>0)return e;throw new xr("Invalid schema type. Expected StateSchema, Zod object, AnnotationRoot, or StateDefinition.")}get allEdges(){return new Set([...this.edges,...Array.from(this.waitingEdges).flatMap(([e,t])=>e.map(r=>[r,t]))])}_addSchema(e){if(!this._schemaDefinitions.has(e)){this._schemaDefinitions.set(e,e);for(let[t,r]of Object.entries(e)){let n;if(typeof r=="function"?n=r():n=r,this.channels[t]!==void 0){if(!this.channels[t].equals(n)&&n.lc_graph_name!=="LastValue")throw new Error(`Channel "${t}" already exists with a different type.`)}else this.channels[t]=n}}}addNode(...e){function t(n){return n.length>=1&&typeof n[0]!="string"}let r=t(e)?Array.isArray(e[0])?e[0]:Object.entries(e[0]).map(([n,s])=>[n,s]):[[e[0],e[1],e[2]]];if(r.length===0)throw new Error("No nodes provided in `addNode`");for(let[n,s,i]of r){if(n in this.channels)throw new Error(`${n} is already being used as a state attribute (a.k.a. a channel), cannot also be used as a node name.`);for(let p of["|",":"])if(n.includes(p))throw new Error(`"${p}" is a reserved character and is not allowed in node names.`);if(this.warnIfCompiled("Adding a node to a graph that has already been compiled. This will not be reflected in the compiled graph."),n in this.nodes)throw new Error(`Node \`${n}\` already present.`);if(n==="__end__"||n==="__start__")throw new Error(`Node \`${n}\` is reserved.`);let o=this._schemaDefinition;i?.input!==void 0&&(o=this._getChannelsFromSchema(i.input)),this._addSchema(o);let a;X.isRunnable(s)?a=s:typeof s=="function"?a=new re({func:s,name:n,trace:!1}):a=$e(s);let c=i?.cachePolicy,l;c!==void 0&&(l=typeof c=="boolean"?c?{}:!1:c);let u;if(i?.errorHandler!==void 0){if(u=`__error_handler__${n}`,u in this.nodes)throw new Error(`Cannot add error handler to node \`${n}\`: the reserved name \`${u}\` is already in use. StateGraph registers \`__error_handler__<nodeName>\` when you pass \`errorHandler\` in addNode options. Remove or rename the existing node with that name (for example, you may have added it manually).`);let p=i.errorHandler,f={runnable:new re({func:(d,m)=>{let g=m?.configurable?.[Er];return p(d,g,m)},name:u,trace:!1}),metadata:void 0,input:o??this._schemaDefinition,retryPolicy:void 0,cachePolicy:void 0,isErrorHandler:!0};this.nodes[u]=f}let h={runnable:a,retryPolicy:i?.retryPolicy,cachePolicy:l,timeout:ht(i?.timeout),metadata:i?.metadata,input:o??this._schemaDefinition,subgraphs:qr(a)?[a]:i?.subgraphs,ends:i?.ends,defer:i?.defer,errorHandlerNode:u};this.nodes[n]=h}return this}addEdge(e,t){if(typeof e=="string")return super.addEdge(e,t);this.compiled&&console.warn("Adding an edge to a graph that has already been compiled. This will not be reflected in the compiled graph.");for(let r of e){if(r==="__end__")throw new Error("END cannot be a start node");if(!Object.keys(this.nodes).some(n=>n===r))throw new Error(`Need to add a node named "${r}" first`)}if(t==="__end__")throw new Error("END cannot be an end node");if(!Object.keys(this.nodes).some(r=>r===t))throw new Error(`Need to add a node named "${t}" first`);return this.waitingEdges.add([e,t]),this}addSequence(e){let t=Array.isArray(e)?e:Object.entries(e);if(t.length===0)throw new Error("Sequence requires at least one node.");let r;for(let[n,s,i]of t){if(n in this.nodes)throw new Error(`Node names must be unique: node with the name "${n}" already exists.`);let o=n;this.addNode(n,s,i),r!=null&&this.addEdge(r,o),r=o}return this}compile({checkpointer:e,store:t,cache:r,interruptBefore:n,interruptAfter:s,name:i,description:o,transformers:a}={}){let c=this._createDefaultErrorHandlerSpec();if(c!==void 0){if(gr in this.nodes)throw new Error(`Cannot apply a default error handler: the reserved node name \`${gr}\` is already in use. setNodeDefaults({ errorHandler }) registers a node with that name; rename the conflicting node.`);this.nodes[gr]=c}try{return this._compileResolved({checkpointer:e,store:t,cache:r,interruptBefore:n,interruptAfter:s,name:i,description:o,transformers:a,defaultErrorHandlerNode:c!==void 0?gr:void 0})}finally{c!==void 0&&delete this.nodes[gr]}}_compileResolved({checkpointer:e,store:t,cache:r,interruptBefore:n,interruptAfter:s,name:i,description:o,transformers:a,defaultErrorHandlerNode:c}){this.validate([...Array.isArray(n)?n:[],...Array.isArray(s)?s:[]]);let l=Object.keys(this._schemaDefinitions.get(this._outputDefinition)),u=l.length===1&&l[0]===ct?ct:l,h=Object.keys(this.channels),p=h.length===1&&h[0]===ct?ct:h,f=this._interrupt,d=new ju({builder:this,checkpointer:e,interruptAfter:s,interruptBefore:n,autoValidate:!1,nodes:{},channels:{...this.channels,[G]:new De},inputChannels:G,outputChannels:u,streamChannels:p,streamMode:"updates",store:t,cache:r,name:i,description:o,userInterrupt:f,streamTransformers:a});d.attachNode(G);let m=this._nodeDefaults,g=m.retryPolicy!==void 0||m.cachePolicy!==void 0||m.timeout!==void 0||c!==void 0;for(let[_,y]of Object.entries(this.nodes)){let S=y.isErrorHandler===!0,w=g?{...y,retryPolicy:y.retryPolicy??m.retryPolicy,cachePolicy:S||y.cachePolicy===!1?void 0:y.cachePolicy??m.cachePolicy,timeout:y.timeout??m.timeout,errorHandlerNode:!S&&c!==void 0&&y.errorHandlerNode===void 0?c:y.errorHandlerNode}:y;d.attachNode(_,w)}d.attachBranch(G,Ts,Du(),{withReader:!1});for(let[_]of Object.entries(this.nodes))d.attachBranch(_,Ts,Du(),{withReader:!1});for(let[_,y]of this.edges)d.attachEdge(_,y);for(let[_,y]of this.waitingEdges)d.attachEdge(_,y);for(let[_,y]of Object.entries(this.branches))for(let[S,w]of Object.entries(y))d.attachBranch(_,S,w);return d.validate()}};function Cf(e){let t={};for(let[r,n]of Object.entries(e))r===ct?t[r]=Bn(n):t[r]=Bn(n);return t}var ju=class extends io{description;_metaRegistry=Qr;constructor({description:e,...t}){super(t),this.description=e}attachNode(e,t){let r;e==="__start__"?r=Object.entries(this.builder._schemaDefinitions.get(this.builder._inputDefinition)).map(([c])=>c):r=Object.keys(this.builder.channels);function n(c){if(te(c))return c.graph===me.PARENT?null:c._updateAsTuples();if(Array.isArray(c)&&c.length>0&&c.some(l=>te(l))){let l=[];for(let u of c)if(te(u)){if(u.graph===me.PARENT)continue;l.push(...u._updateAsTuples())}else l.push([ct,u]);return l}else if(c!=null)return[[ct,c]];return null}let s=e,i=async c=>{if(c==null||c.length===0)return c;let l=this.builder._schemaRuntimeDefinition;if(je.isInstance(l)){let u=new Set(l.getChannelKeys());return Promise.all(c.map(async([h,p])=>{if(!u.has(h))return[h,p];let f=await l.validateInput({[h]:p});return[h,Object.prototype.hasOwnProperty.call(f,h)?f[h]:p]}))}if(de(l)){let u=new Set(Object.keys(vr(l)));if(c.filter(([f])=>u.has(f)).length===0)return c;let h=Jt(this._metaRegistry.getExtendedChannelSchemas(l,{withReducerSchema:!0})),p=Jt(l);return c.map(([f,d])=>{if(!u.has(f))return[f,d];let[m,g]=Ie(d);if(m){let y=zt(p,{[f]:g});return[f,Object.prototype.hasOwnProperty.call(y,f)?{[Le]:y[f]}:d]}let _=zt(h,{[f]:d});return[f,Object.prototype.hasOwnProperty.call(_,f)?_[f]:d]})}return c};async function o(c){if(c){if(te(c))return c.graph===me.PARENT?null:i(c._updateAsTuples().filter(([l])=>r.includes(l)));if(Array.isArray(c)&&c.length>0&&c.some(te)){let l=[];for(let u of c)if(te(u)){if(u.graph===me.PARENT)continue;l.push(...u._updateAsTuples().filter(([h])=>r.includes(h)))}else{let h=await o(u);h&&l.push(...h??[])}return i(l)}else{if(typeof c=="object"&&!Array.isArray(c))return i(Object.entries(c).filter(([l])=>r.includes(l)));{let l=Array.isArray(c)?"array":typeof c;throw new M(`Expected node "${s.toString()}" to return an object or an array containing at least one Command object, received ${l}`,{lc_error_code:"INVALID_GRAPH_NODE_RETURN_VALUE"})}}}else return null}let a=[{value:_e,mapper:new re({func:r.length&&r[0]===ct?n:o,trace:!1,recurse:!1})}];if(e==="__start__")this.nodes[e]=new Me({tags:[q],triggers:[G],channels:[G],writers:[new K(a,[q])]});else{let c=t?.input??this.builder._schemaDefinition,l=Object.fromEntries(Object.keys(this.builder._schemaDefinitions.get(c)).map(d=>[d,d])),u=Object.keys(l).length===1&&ct in l,h=`branch:to:${e}`;this.channels[h]=t?.defer?new Ci:new De(!1);let p=t?.cachePolicy,f=p===!1?void 0:p;this.nodes[e]=new Me({triggers:[h],channels:u?Object.keys(l):l,writers:[new K(a,[q])],mapper:u?void 0:d=>Object.fromEntries(Object.entries(d).filter(([m])=>m in l)),bound:t?.runnable,metadata:t?.metadata,retryPolicy:t?.retryPolicy,cachePolicy:f,timeout:t?.timeout,subgraphs:t?.subgraphs,ends:t?.ends,isErrorHandler:t?.isErrorHandler,errorHandlerNode:t?.errorHandlerNode})}}attachEdge(e,t){if(t!=="__end__"){if(typeof e=="string")this.nodes[e].writers.push(new K([{channel:`branch:to:${t}`,value:null}],[q]));else if(Array.isArray(e)){let r=`join:${e.join("+")}:${t}`;this.channels[r]=this.builder.nodes[t].defer?new lo(new Set(e)):new co(new Set(e)),this.nodes[t].triggers.push(r);for(let n of e)this.nodes[n].writers.push(new K([{channel:r,value:n}],[q]))}}}attachBranch(e,t,r,n={withReader:!0}){let s=async(i,o)=>{let a=i.filter(l=>l!==W);if(!a.length)return;let c=a.map(l=>Q(l)?l:{channel:l==="__end__"?l:`branch:to:${l}`,value:e});await K.doWrite({...o,tags:(o.tags??[]).concat([q])},c)};this.nodes[e].writers.push(r.run(s,n.withReader?i=>Hl.doRead(i,this.streamChannels??this.outputChannels,!0):void 0))}async _validateInput(e){if(e==null)return e;let t=this.builder._inputRuntimeDefinition,r=this.builder._schemaRuntimeDefinition;if(je.isInstance(t)){if(te(e)){let s=e;return e.update&&(s.update=await t.validateInput(Array.isArray(e.update)?Object.fromEntries(e.update):e.update)),s}return await t.validateInput(e)}if(t===gs&&je.isInstance(r)){if(te(e)){let s=e;return e.update&&(s.update=await r.validateInput(Array.isArray(e.update)?Object.fromEntries(e.update):e.update)),s}return await r.validateInput(e)}let n=(()=>{let s=i=>{if(i!=null)return this._metaRegistry.getExtendedChannelSchemas(i,{withReducerSchema:!0})};if(de(t))return s(t);if(t===gs)return de(r)?Jt(s(r)):void 0})();if(te(e)){let s=e;if(e.update&&n!=null){let i=Array.isArray(e.update)?Object.fromEntries(e.update):e.update,o=zt(n,i);s.update=Object.fromEntries(Object.keys(i).map(a=>[a,o[a]]))}return s}return n!=null?zt(n,e):e}isInterrupted(e){return Pt(e)}async _validateContext(e){let t=this.builder._configRuntimeSchema;return de(t)&&zt(t,e),e}};function xf(e){return typeof e=="object"&&e!==null&&e.channels!==void 0}function If(e){if(Q(e))return[e];let t=[];te(e)?t.push(e):Array.isArray(e)&&t.push(...e.filter(te));let r=[];for(let n of t){if(n.graph===me.PARENT)throw new pn(n);Q(n.goto)||typeof n.goto=="string"?r.push(n.goto):Array.isArray(n.goto)&&r.push(...n.goto)}return r}function Du(){return new no({path:new re({func:If,tags:[q],trace:!1,recurse:!1,name:"<control_branch>"})})}var Af=class extends mo{constructor(){super({channels:{__root__:{reducer:Ct,default:()=>[]}}})}};function Tf(e,t){let{stateKey:r,...n}=t??{},s=cr(n),i=r??"messages";r===null&&(i=void 0);let o=At(e);if(!o.id)throw new Error("Message ID is required.");let a=Array.isArray(s.callbacks)?s.callbacks:typeof s.callbacks<"u"?s.callbacks.handlers:[],c=a.find(u=>"name"in u&&u.name==="StreamMessagesHandler"),l=a.find(u=>"name"in u&&u.name==="StreamProtocolMessagesHandler");if(c||l){let u=s.metadata??{},h=(u.langgraph_checkpoint_ns??"").split("|");c?c._emit([h,u],o,void 0,!1):l&&l.emitFinalMessage([h,u],o,void 0,!1)}return i&&s.configurable?.__pregel_send?.([[i,o]]),o}function Of(e,t){let r=typeof e=="string"?{name:e,retry:void 0,cachePolicy:void 0,timeout:void 0}:e,{name:n,retry:s}=r,i=ht(r.timeout);if(Vi(t)||Gi(t))throw new Error("Generators are disallowed as tasks. For streaming responses, use config.write.");let o=r.cachePolicy??("cache"in r?r.cache:void 0),a;return typeof o=="boolean"?a=o?{}:void 0:a=o,(...c)=>zl({func:t,name:n,retry:s,cache:a,timeout:i},...c)}var $u=function(t,r){let{name:n,checkpointer:s,store:i,cache:o}=typeof t=="string"?{name:t,checkpointer:void 0,store:void 0}:t,a=ht(typeof t=="string"?void 0:t.timeout);if(Vi(r)||Gi(r))throw new Error("Generators are disallowed as entrypoints. For streaming responses, use config.write.");let c="updates",l=ql(n,r);function u(d){return typeof d=="object"&&d!==null&&"__lg_type"in d&&d.__lg_type==="__pregel_final"}let h=new re({name:"pluckReturnValue",func:d=>u(d)?d.value:d}),p=new re({name:"pluckSaveValue",func:d=>u(d)?d.save:d}),f=new Me({bound:l,triggers:[G],channels:[G],timeout:a,writers:[new K([{channel:W,value:_e,mapper:h},{channel:gt,value:_e,mapper:p}],[q])]});return new fs({name:n,checkpointer:s,nodes:{[n]:f},channels:{[G]:new De,[W]:new Ne,[gt]:new Ne},inputChannels:G,outputChannels:W,streamChannels:W,streamMode:c,store:i,cache:o})};$u.final=function({value:t,save:r}){return{value:t,save:r,__lg_type:"__pregel_final"}};function Nf(){return Y.getRunnableConfig().configurable?.[ft]}var Rf=Vr.Root({messages:Vr({reducer:Ct,default:()=>[]})}),Lu={reducer:{fn:Ct},jsonSchemaExtra:{langgraph_type:"messages"},default:()=>[]},Mf=ks.object({messages:Mu(ks.custom(),Lu)});function Pf(e){let t=Y.getRunnableConfig();if(!t)throw new Error("Called interrupt() outside the context of a graph.");let r=t.configurable;if(!r)throw new Error("No configurable found in config");return r.writer?.(e)}export{G as a,W as b,U as c,As as d,Ma as e,Ot as f,Q as g,Fu as h,Pt as i,me as j,te as k,ke as l,an as m,Os as n,Dt as o,cn as p,ln as q,Ze as r,un as s,hn as t,Vu as u,pn as v,Ns as w,_t as x,et as y,fn as z,Gu as A,dn as B,$ as C,M as D,Wu as E,Rs as F,Ku as G,xr as H,qu as I,$t as J,Te as K,Pn as L,dl as M,ir as N,$n as O,_l as P,z as Q,tt as R,Vr as S,ap as T,cp as U,Vn as V,lp as W,xi as X,Ii as Y,lr as Z,Ai as _,Ce as $,Kn as aa,Ri as ba,Gr as ca,Wr as da,Mi as ea,Pi as fa,qn as ga,$i as ha,Tl as ia,Li as ja,Bi as ka,re as la,so as ma,st as na,wf as oa,kt as pa,it as qa,ds as ra,ms as sa,ot as ta,Ft as ua,at as va,je as wa,bf as xa,Ct as ya,fo as za,Sf as Aa,kf as Ba,Qr as Ca,Mu as Da,mo as Ea,ju as Fa,Af as Ga,Tf as Ha,Of as Ia,$u as Ja,Nf as Ka,Rf as La,Lu as Ma,Mf as Na,Pf as Oa};
|