@arcgis/ai-components 5.2.0-next.99 → 6.0.0-next.1
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 +27 -26
- package/dist/agent-utils/LLMAgent.js +79 -105
- 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 +20 -10
- package/dist/agent-utils/tools/FunctionTool.js +25 -55
- package/dist/agent-utils/tools/MCPToolProvider.d.ts +54 -0
- package/dist/agent-utils/tools/MCPToolProvider.js +120 -0
- package/dist/agent-utils/tools/ToolProvider.d.ts +13 -0
- package/dist/agent-utils/tools/WebMCPToolProvider.d.ts +37 -0
- package/dist/agent-utils/tools/WebMCPToolProvider.js +71 -0
- 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 +52 -61
- package/dist/agents/tools/filter/setFeatureEffect/adapter.js +4 -3
- package/dist/agents/tools/query/getAttribute/adapter.js +28 -24
- package/dist/agents/tools/query/getStatistics/adapter.js +71 -66
- package/dist/agents/tools/query/getTopFeatures/adapter.js +125 -96
- package/dist/agents/tools/query/queryFeatures/adapter.js +41 -36
- 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/24TK55FP.js +2 -0
- package/dist/cdn/{7SRLZQVC.js → 2DWN3SKH.js} +1 -1
- package/dist/cdn/2O52MJ3D.js +2 -0
- package/dist/cdn/2UDDCWNW.js +2 -0
- package/dist/cdn/2UKFCF2J.js +150 -0
- package/dist/cdn/46DT6BIG.js +68 -0
- package/dist/cdn/4KFTUBFL.js +2 -0
- package/dist/cdn/5FDBJI24.js +5 -0
- package/dist/cdn/5LA77ZBW.js +2 -0
- package/dist/cdn/5REENYPV.js +2 -0
- package/dist/cdn/5TW2NFES.js +2 -0
- package/dist/cdn/66VWTARH.js +2 -0
- package/dist/cdn/6E6T6U7W.js +2 -0
- package/dist/cdn/6PK2UPG3.js +2 -0
- package/dist/cdn/6WYVG3JI.js +2 -0
- package/dist/cdn/74CVYM72.js +19 -0
- package/dist/cdn/7HVIVV3O.js +2 -0
- package/dist/cdn/7MCFHVEH.js +3 -0
- package/dist/cdn/7X22QXJP.js +2 -0
- package/dist/cdn/7ZTYHZIN.js +2 -0
- package/dist/cdn/A22375P3.js +2 -0
- package/dist/cdn/AAUVOBPS.js +2 -0
- package/dist/cdn/{MWYBF3F3.js → AMP43OT2.js} +5 -5
- package/dist/cdn/AMURN3LO.js +2 -0
- package/dist/cdn/AO2G4EXA.js +2 -0
- package/dist/cdn/{LLUGJKAQ.js → AQF6BBWC.js} +1 -1
- package/dist/cdn/AWPLRVPS.js +2 -0
- package/dist/cdn/BBB5EJUB.js +155 -0
- package/dist/cdn/BIEX4MVV.js +9 -0
- package/dist/cdn/{VOKXKU7M.js → BMPBJXD7.js} +10 -10
- package/dist/cdn/{KITIP6J2.js → C67KQCPS.js} +1 -1
- package/dist/cdn/C76HLPKU.js +2 -0
- package/dist/cdn/CADNOKIK.js +2 -0
- package/dist/cdn/CDS2HGQY.js +6 -0
- package/dist/cdn/CFAC4FN3.js +2 -0
- package/dist/cdn/CHHC6YNW.js +2 -0
- package/dist/cdn/DBRBT54R.js +2 -0
- package/dist/cdn/DGCWQYN3.js +2 -0
- package/dist/cdn/{HHFNQR6Z.js → DI3VGUJY.js} +1 -1
- package/dist/cdn/DJG6DBCU.js +23 -0
- package/dist/cdn/DJKEGIQZ.js +2 -0
- package/dist/cdn/DYSPEU7W.js +2 -0
- package/dist/cdn/DZOQFEOB.js +2 -0
- package/dist/cdn/EEHDAYOG.js +18 -0
- package/dist/cdn/EG5BMYZO.js +2 -0
- package/dist/cdn/EGSD465U.js +2 -0
- package/dist/cdn/{6ECRQVHY.js → EXLDRGUC.js} +1 -1
- package/dist/cdn/FBARYPZ7.js +2 -0
- package/dist/cdn/FJV7CI7O.js +41 -0
- package/dist/cdn/FSLPYC4Y.js +33 -0
- package/dist/cdn/FX4LV2S3.js +2 -0
- package/dist/cdn/GBFRJF4F.js +2 -0
- package/dist/cdn/GEFFWUB2.js +2 -0
- package/dist/cdn/GHFOAS7T.js +2 -0
- package/dist/cdn/GMZUN5SF.js +2 -0
- package/dist/cdn/GVFJHADC.js +2 -0
- package/dist/cdn/HC5DJL2U.js +3 -0
- package/dist/cdn/HLWG7OIR.js +2 -0
- package/dist/cdn/HSMAXOOA.js +2 -0
- package/dist/cdn/HWIM4KWF.js +2 -0
- package/dist/cdn/JEWJ4M25.js +8 -0
- package/dist/cdn/JFL5IWPK.js +2 -0
- package/dist/cdn/JUPTVXLY.js +2 -0
- package/dist/cdn/JZPPP4QY.js +2 -0
- package/dist/cdn/KKWCHNYQ.js +2 -0
- package/dist/cdn/KX6CZEVZ.js +2 -0
- package/dist/cdn/{Z5W4V7RC.js → KY7M4WHO.js} +1 -1
- package/dist/cdn/L5IPMRHC.js +2 -0
- package/dist/cdn/LCI5MEDN.js +2 -0
- package/dist/cdn/M2G44RTS.js +2 -0
- package/dist/cdn/M6JQGHCE.js +2 -0
- package/dist/cdn/MB7SEHPZ.js +2 -0
- package/dist/cdn/MC2V5WT3.js +2 -0
- package/dist/cdn/MD2FTKQT.js +14 -0
- package/dist/cdn/{22KHSDJI.js → MPQ2OZXN.js} +1 -1
- package/dist/cdn/MPWEXYYB.js +2 -0
- package/dist/cdn/MZFWD5CQ.js +2 -0
- package/dist/cdn/NHWT7CXX.js +2 -0
- package/dist/cdn/NMFEXE4D.js +2 -0
- package/dist/cdn/NPV4MEAZ.js +2 -0
- package/dist/cdn/{5WYRJMBW.js → OGZFST2A.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/P4CHI7W3.js +9 -0
- package/dist/cdn/PCAMBPOA.js +2 -0
- package/dist/cdn/PGH7POKS.js +2 -0
- package/dist/cdn/PGUEODFA.js +2 -0
- package/dist/cdn/QEGO4B2W.js +119 -0
- package/dist/cdn/{5HBAJ57P.js → QT3B5K4R.js} +1 -1
- package/dist/cdn/{VXFQANGJ.js → QUZTFUWM.js} +0 -1
- package/dist/cdn/{COH3QXWG.js → RE7MJTEF.js} +2 -2
- package/dist/cdn/RF6HWZMB.js +2 -0
- package/dist/cdn/RFDMNYTA.js +2 -0
- package/dist/cdn/RFPTOFM4.js +2 -0
- package/dist/cdn/RKURZ5T2.js +2 -0
- package/dist/cdn/SJ4UMNIS.js +2 -0
- package/dist/cdn/SWXUQFB6.js +2 -0
- package/dist/cdn/T3SCINN5.js +2 -0
- package/dist/cdn/TENUVOFJ.js +2 -0
- package/dist/cdn/{K2R6XVK3.js → TJBU5BQK.js} +1 -1
- package/dist/cdn/UOKYHQNO.js +2 -0
- package/dist/cdn/UQRBY7ID.js +11 -0
- package/dist/cdn/USPB2QBX.js +2 -0
- package/dist/cdn/UYP5PH5E.js +2 -0
- package/dist/cdn/V6EX4YCY.js +2 -0
- package/dist/cdn/VA4M72JC.js +2 -0
- package/dist/cdn/VIJVRJHL.js +2 -0
- package/dist/cdn/VQ67NANV.js +2 -0
- package/dist/cdn/WSIZ2OTL.js +2 -0
- package/dist/cdn/{YEZ3AMNX.js → X5ET73QZ.js} +1 -1
- package/dist/cdn/{C4JT4S5E.js → XC3T3Z5R.js} +1 -1
- package/dist/cdn/XCLICBG7.js +2 -0
- package/dist/cdn/XEJFVUNQ.js +2 -0
- package/dist/cdn/XQ3NBBQ3.js +2 -0
- package/dist/cdn/XWNZMKQF.js +75 -0
- package/dist/cdn/YBWRFVA6.js +44 -0
- package/dist/cdn/YI6NIHNI.js +14 -0
- package/dist/cdn/YJXRCO4T.js +2 -0
- package/dist/cdn/{5MK44FNO.js → YPLPDUMB.js} +1 -1
- package/dist/cdn/ZKWXHSEQ.js +2 -0
- package/dist/cdn/ZQTCPJUV.js +2 -0
- package/dist/cdn/ZSLHB6MF.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/tools/MCPToolProvider.js +15 -0
- package/dist/cdn/agent-utils/tools/WebMCPToolProvider.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/converterUtils.js +65 -109
- 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/resolveFieldNames.js +9 -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 +5 -6
- package/dist/components/arcgis-assistant-message-log/index.js +5 -0
- package/dist/components/arcgis-assistant-message-text/customElement.js +11 -12
- package/dist/components/arcgis-assistant-message-text/index.js +5 -0
- 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/arcgis-assistant-user-message/customElement.js +7 -8
- package/dist/components/arcgis-assistant-user-message/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 +39 -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/5FL5BTTX.js +0 -66
- package/dist/cdn/5K5ZY267.js +0 -2
- package/dist/cdn/5X7EG7D2.js +0 -2
- package/dist/cdn/5XZLS7UO.js +0 -2
- package/dist/cdn/5ZFUGNRN.js +0 -2
- package/dist/cdn/655YIKL3.js +0 -11
- 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/ACJTJLZN.js +0 -2
- package/dist/cdn/AI6DYOKR.js +0 -181
- package/dist/cdn/AKD5UOVX.js +0 -2
- package/dist/cdn/ANRQWYU2.js +0 -2
- package/dist/cdn/APFZY4PI.js +0 -2
- package/dist/cdn/B2JDVLA6.js +0 -2
- package/dist/cdn/BE7BRJZD.js +0 -2
- package/dist/cdn/C4FEETBZ.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/D5UFYQHN.js +0 -44
- 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/FJO4KNOZ.js +0 -2
- package/dist/cdn/FUF3NAU7.js +0 -2
- package/dist/cdn/FXP5UIQU.js +0 -156
- package/dist/cdn/G2EGT3CF.js +0 -6
- package/dist/cdn/G3SF6U2U.js +0 -2
- package/dist/cdn/G7OMHU2B.js +0 -2
- package/dist/cdn/HAEFC2SJ.js +0 -2
- package/dist/cdn/HDACNIZF.js +0 -2
- package/dist/cdn/HHUQXL3R.js +0 -2
- package/dist/cdn/IBZ2NEAO.js +0 -2
- package/dist/cdn/ICQCK5D3.js +0 -2
- package/dist/cdn/IJVMUS2L.js +0 -14
- package/dist/cdn/J6SZIQJA.js +0 -2
- package/dist/cdn/JCOA24UH.js +0 -3
- package/dist/cdn/JO5ETMPS.js +0 -2
- package/dist/cdn/KWD2ECTM.js +0 -2
- package/dist/cdn/LAYVGCPL.js +0 -44
- package/dist/cdn/MXTXJKFE.js +0 -2
- package/dist/cdn/MY47B3CE.js +0 -3
- package/dist/cdn/NNXISHCA.js +0 -14
- package/dist/cdn/NZSOJ726.js +0 -2
- package/dist/cdn/O4NVW75A.js +0 -2
- package/dist/cdn/OE3GW5LE.js +0 -2
- package/dist/cdn/OX64WOEL.js +0 -22
- package/dist/cdn/PUHRBGKB.js +0 -2
- package/dist/cdn/Q57QWN5W.js +0 -2
- package/dist/cdn/QUKNPVAF.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/RVSTAUQS.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/TCH5I5LS.js +0 -2
- package/dist/cdn/TEPP7YPR.js +0 -2
- package/dist/cdn/TMVF2W5N.js +0 -36
- package/dist/cdn/UDRKUVZP.js +0 -2
- package/dist/cdn/UHNVDALX.js +0 -18
- 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/XX6GHMNR.js +0 -2
- package/dist/cdn/Y7XD7ZRD.js +0 -2
- package/dist/cdn/YLVJA4ZE.js +0 -2
- package/dist/cdn/Z5HWPSZN.js +0 -2
- package/dist/cdn/ZDV4K4WG.js +0 -2
- package/dist/cdn/ZOEMBHRF.js +0 -2
- package/dist/cdn/ZRVZMPFN.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/resolvePointGeometryFilter.js +0 -92
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import{$ as ie,A as $e,Aa as ta,B as Je,Ba as na,C as Mn,Ca as ft,D as In,E as ze,F as On,G as An,H as xn,I as Nn,J as Pn,K as Ln,L as Rn,M as Fn,N as Dn,O as Bn,P as Un,Q as jn,R as Gn,S as Vn,T as $n,U as Jn,V as zn,X as xe,Y as Kn,ca as Wn,d as yn,da as V,ea as Ke,fa as Hn,g as K,ga as Yn,ha as We,i as bn,ia as He,j as pe,ja as $,ka as Zn,la as Xn,m as de,ma as he,n as Ve,na as Ye,o as mt,oa as qn,pa as Qn,q as Tn,s as ge,t as vn,u as wn,v as Cn,w as Z,x as Sn,y as kn,ya as Ze,z as En,za as ea}from"./FSLPYC4Y.js";import{$a as hn,A as Nt,Aa as cn,B as Pt,Ba as fe,C as Ue,Ca as un,D as Lt,Da as mn,E as Rt,Ea as fn,F as Ft,Fa as pn,G as Dt,Ga as re,H as Bt,Ha as dn,I as Ut,J as jt,Ja as je,K as Gt,Ka as gn,L as Vt,M as $t,N as Jt,O as zt,P as Kt,Q as Wt,R as U,S as ue,U as Ht,V as ve,W as we,Wa as Y,X as Yt,Y as Zt,Z as Xt,_a as Ge,a as S,ab as oe,ba as te,bb as z,ca as Ce,cb as _n,da as qt,ea as Qt,fa as j,ga as me,ha as Se,ia as G,ja as ke,ka as Ee,la as en,ma as tn,na as Me,oa as Ie,pa as nn,q as ce,qa as an,ra as ne,s as At,sa as Oe,ta as sn,ua as rn,v as ut,va as Ae,wa as ae,x as xt,xa as se,y as De,ya as on,z as Be,za as ln}from"./2UKFCF2J.js";var Xe=(e,t)=>{let n=[...new Set(t?.map(o=>{if(typeof o=="string")return o;let i=new o({});if(!("getType"in i)||typeof i.getType!="function")throw new Error("Invalid type provided.");return i.getType()}))],s=e.getType();return n.some(o=>o===s)};function ia(e,t){return Array.isArray(e)?aa(e,t):$.from(n=>aa(n,e))}function aa(e,t={}){let{includeNames:n,excludeNames:s,includeTypes:o,excludeTypes:i,includeIds:u,excludeIds:m}=t,p=[];for(let g of e)if(!(s&&g.name&&s.includes(g.name))){{if(i&&Xe(g,i))continue;if(m&&g.id&&m.includes(g.id))continue}o||u||n?(n&&g.name&&n.some(h=>h===g.name)||o&&Xe(g,o)||u&&g.id&&u.some(h=>h===g.id))&&p.push(g):p.push(g)}return p}function la(e){return Array.isArray(e)?sa(e):$.from(sa)}function sa(e){if(!e.length)return[];let t=[];for(let n of e){let s=n,o=t.pop();if(!o)t.push(s);else if(s.getType()==="tool"||s.getType()!==o.getType())t.push(o,s);else{let i=re(o),u=re(s),m=i.concat(u);typeof i.content=="string"&&typeof u.content=="string"&&(m.content=`${i.content}
|
|
3
|
+
${u.content}`),t.push(za(m))}}return t}function ca(e,t){if(Array.isArray(e)){let n=e;if(!t)throw new Error("Options parameter is required when providing messages.");return ra(n,t)}else{let n=e;return $.from(s=>ra(s,n)).withConfig({runName:"trim_messages"})}}async function ra(e,t){let{maxTokens:n,tokenCounter:s,strategy:o="last",allowPartial:i=!1,endOn:u,startOn:m,includeSystem:p=!1,textSplitter:g}=t;if(m&&o==="first")throw new Error("`startOn` should only be specified if `strategy` is 'last'.");if(p&&o==="first")throw new Error("`includeSystem` should only be specified if `strategy` is 'last'.");let h;"getNumTokens"in s?h=async _=>(await Promise.all(_.map(y=>s.getNumTokens(y.content)))).reduce((y,f)=>y+f,0):h=async _=>s(_);let b=dt;if(g&&("splitText"in g?b=g.splitText.bind(g):b=async _=>g(_)),o==="first")return ua(e,{maxTokens:n,tokenCounter:h,textSplitter:b,partialStrategy:i?"first":void 0,endOn:u});if(o==="last")return Ja(e,{maxTokens:n,tokenCounter:h,textSplitter:b,allowPartial:i,includeSystem:p,startOn:m,endOn:u});throw new Error(`Unrecognized strategy: '${o}'. Must be one of 'first' or 'last'.`)}async function ua(e,t){let{maxTokens:n,tokenCounter:s,textSplitter:o,partialStrategy:i,endOn:u}=t,m=[...e],p=0;for(let g=0;g<m.length;g+=1)if(await s(g>0?m.slice(0,-g):m)<=n){p=m.length-g;break}if(p<m.length&&i){let g=!1;if(Array.isArray(m[p].content)){let h=m[p];if(typeof h.content=="string")throw new Error("Expected content to be an array.");let b=h.content.length,_=i==="last"?[...h.content].reverse():h.content;for(let y=1;y<=b;y+=1){let f=i==="first"?_.slice(0,y):_.slice(-y),T=Object.fromEntries(Object.entries(h).filter(([E])=>E!=="type"&&!E.startsWith("lc_"))),w=pt(h.getType(),{...T,content:f}),v=[...m.slice(0,p),w];if(await s(v)<=n)m=v,p+=1,g=!0;else break}g&&i==="last"&&(h.content=[..._].reverse())}if(!g){let h=m[p],b;if(Array.isArray(h.content)&&h.content.some(_=>typeof _=="string"||_.type==="text")?b=h.content.find(_=>_.type==="text"&&_.text)?.text:typeof h.content=="string"&&(b=h.content),b){let _=await o(b),y=_.length;i==="last"&&_.reverse();for(let f=0;f<y-1;f+=1)if(_.pop(),h.content=_.join(""),await s([...m.slice(0,p),h])<=n){i==="last"&&(h.content=[..._].reverse().join("")),m=[...m.slice(0,p),h],p+=1;break}}}}if(u){let g=Array.isArray(u)?u:[u];for(;p>0&&!Xe(m[p-1],g);)p-=1}return m.slice(0,p)}async function Ja(e,t){let{allowPartial:n=!1,includeSystem:s=!1,endOn:o,startOn:i,...u}=t,m=e.map(h=>{let b=Object.fromEntries(Object.entries(h).filter(([_])=>_!=="type"&&!_.startsWith("lc_")));return pt(h.getType(),b,ue(h))});if(o){let h=Array.isArray(o)?o:[o];for(;m.length>0&&!Xe(m[m.length-1],h);)m=m.slice(0,-1)}let p=s&&m[0]?.getType()==="system",g=p?m.slice(0,1).concat(m.slice(1).reverse()):m.reverse();return g=await ua(g,{...u,partialStrategy:n?"last":void 0,endOn:i}),p?[g[0],...g.slice(1).reverse()]:g.reverse()}var oa={human:{message:ne,messageChunk:Oe},ai:{message:j,messageChunk:G},system:{message:ae,messageChunk:se},developer:{message:ae,messageChunk:se},tool:{message:ve,messageChunk:we},function:{message:Me,messageChunk:Ie},generic:{message:ke,messageChunk:Ee},remove:{message:Ae,messageChunk:Ae}};function pt(e,t,n){let s,o;switch(e){case"human":n?s=new Oe(t):o=new ne(t);break;case"ai":if(n){let i={...t};"tool_calls"in i&&(i={...i,tool_call_chunks:i.tool_calls?.map(u=>({...u,type:"tool_call_chunk",index:void 0,args:JSON.stringify(u.args)}))}),s=new G(i)}else o=new j(t);break;case"system":n?s=new se(t):o=new ae(t);break;case"developer":n?s=new se({...t,additional_kwargs:{...t.additional_kwargs,__openai_role__:"developer"}}):o=new ae({...t,additional_kwargs:{...t.additional_kwargs,__openai_role__:"developer"}});break;case"tool":if("tool_call_id"in t)n?s=new we(t):o=new ve(t);else throw new Error("Can not convert ToolMessage to ToolMessageChunk if 'tool_call_id' field is not defined.");break;case"function":if(n)s=new Ie(t);else{if(!t.name)throw new Error("FunctionMessage must have a 'name' field");o=new Me(t)}break;case"generic":if("role"in t)n?s=new Ee(t):o=new ke(t);else throw new Error("Can not convert ChatMessage to ChatMessageChunk if 'role' field is not defined.");break;default:throw new Error(`Unrecognized message type ${e}`)}if(n&&s)return s;if(o)return o;throw new Error(`Unrecognized message type ${e}`)}function za(e){let t=e.getType(),n,s=Object.fromEntries(Object.entries(e).filter(([o])=>!["type","tool_call_chunks"].includes(o)&&!o.startsWith("lc_")));if(t in oa&&(n=pt(t,s)),!n)throw new Error(`Unrecognized message chunk class ${t}. Supported classes are ${Object.keys(oa)}`);return n}function dt(e){let t=e.split(`
|
|
4
|
+
`);return Promise.resolve([...t.slice(0,-1).map(n=>`${n}
|
|
5
|
+
`),t[t.length-1]])}var ma=["tool_call","tool_call_chunk","invalid_tool_call","server_tool_call","server_tool_call_chunk","server_tool_call_result"];var fa=["image","video","audio","text-plain","file"];var pa=["text","reasoning",...ma,...fa];var tr=S({AIMessage:()=>j,AIMessageChunk:()=>G,BaseMessage:()=>jt,BaseMessageChunk:()=>Kt,ChatMessage:()=>ke,ChatMessageChunk:()=>Ee,DEFAULT_MERGE_IGNORE_KEYS:()=>Vt,FunctionMessage:()=>Me,FunctionMessageChunk:()=>Ie,HumanMessage:()=>ne,HumanMessageChunk:()=>Oe,KNOWN_BLOCK_TYPES:()=>pa,RemoveMessage:()=>Ae,SystemMessage:()=>ae,SystemMessageChunk:()=>se,ToolMessage:()=>ve,ToolMessageChunk:()=>we,_isMessageFieldWithRole:()=>Wt,_mergeDicts:()=>$t,_mergeLists:()=>Jt,_mergeObj:()=>zt,_mergeStatus:()=>Ut,coerceMessageLikeToMessage:()=>fe,collapseToolCallChunks:()=>dn,convertToChunk:()=>re,convertToOpenAIImageBlock:()=>Ue,convertToProviderContentBlock:()=>Ft,defaultTextSplitter:()=>dt,defaultToolCallParser:()=>Yt,filterMessages:()=>ia,getBufferString:()=>un,iife:()=>cn,isAIMessage:()=>me,isAIMessageChunk:()=>Se,isBase64ContentBlock:()=>Be,isBaseMessage:()=>U,isBaseMessageChunk:()=>ue,isChatMessage:()=>en,isChatMessageChunk:()=>tn,isDataContentBlock:()=>xt,isDirectToolOutput:()=>Ht,isFunctionMessage:()=>nn,isFunctionMessageChunk:()=>an,isHumanMessage:()=>sn,isHumanMessageChunk:()=>rn,isIDContentBlock:()=>Pt,isMessage:()=>Dt,isOpenAIToolCallArray:()=>Gt,isPlainTextContentBlock:()=>Nt,isSystemMessage:()=>on,isSystemMessageChunk:()=>ln,isToolMessage:()=>Zt,isToolMessageChunk:()=>Xt,isURLContentBlock:()=>De,mapChatMessagesToStoredMessages:()=>pn,mapStoredMessageToChatMessage:()=>mn,mapStoredMessagesToChatMessages:()=>fn,mergeContent:()=>Bt,mergeMessageRuns:()=>la,mergeResponseMetadata:()=>qt,mergeUsageMetadata:()=>Qt,parseBase64DataUrl:()=>Rt,parseMimeType:()=>Lt,trimMessages:()=>ca});var rr=S({ChatModelStream:()=>Qe,ReasoningContentStream:()=>_a,TextContentStream:()=>ga,ToolCallsStream:()=>ha,UsageMetadataStream:()=>ya}),Ka=class{events=[];finished=!1;waiters=[];error=null;push(e){this.events.push(e);let t=this.waiters.splice(0);for(let n of t)n()}finish(){this.finished=!0;let e=this.waiters.splice(0);for(let t of e)t()}setError(e){this.error=e,this.finished=!0;let t=this.waiters.splice(0);for(let n of t)n()}async*iterate(){if(this.finished){if(this.error)throw this.error;yield*this.events;return}let e=0;for(;;){for(;e<this.events.length;)yield this.events[e],e++;if(this.finished){if(this.error)throw this.error;return}await new Promise(t=>{if(e<this.events.length||this.finished){t();return}this.waiters.push(t)})}}};function Wa(e,t){switch(t.type){case"text-delta":return e.type==="text"?{...e,text:(e.text??"")+t.text}:e;case"reasoning-delta":return e.type==="thinking"?{...e,thinking:(e.thinking??"")+t.reasoning}:e.type==="reasoning"?{...e,reasoning:(e.reasoning??"")+t.reasoning}:e;case"data-delta":return{...e,data:(e.data??"")+t.data};case"block-delta":return{...e,...t.fields};default:throw new Error(`Unknown delta type: ${JSON.stringify(t)}`)}}function Ne(e){if(e.event!=="content-block-delta")return;if("delta"in e&&e.delta)return e.delta;let t=e.content;if(t==null||typeof t!="object")return;let n=t;if(n.type==="text"&&typeof n.text=="string")return{type:"text-delta",text:n.text};if(n.type==="reasoning"&&typeof n.reasoning=="string")return{type:"reasoning-delta",reasoning:n.reasoning};if(n.type==="thinking"&&typeof n.thinking=="string")return{type:"reasoning-delta",reasoning:n.thinking};if(typeof n.data=="string")return{type:"data-delta",data:n.data,encoding:"base64"};if(typeof n.type=="string")return{type:"block-delta",fields:{...n,type:n.type}}}function da(e){if(e==null||typeof e!="object")return;let t=e;if(t.type==="reasoning"&&typeof t.reasoning=="string")return t.reasoning;if(t.type==="thinking"&&typeof t.thinking=="string")return t.thinking}function qe(e){if(e==null||typeof e!="object")return!1;let t=e.type;return t==="reasoning"||t==="thinking"}function _e(e){if(e)return{...e,input_tokens:e.input_tokens??0,output_tokens:e.output_tokens??0,total_tokens:e.total_tokens??0}}function Ha(e){if(e!=null&&typeof e=="object"&&!Array.isArray(e))return e;if(typeof e!="string"||e.length===0)return{};try{let t=JSON.parse(e);return t!=null&&typeof t=="object"&&!Array.isArray(t)?t:{}}catch{return{}}}function Ya(e){let t=e;if(e.type==="tool_call"||e.type!=="tool_call_chunk"&&e.type!=="tool_use"&&e.type!=="input_json_delta")return e;let n=typeof t.name=="string"?t.name:void 0;if(n==null)return e;let s=t.args??t.input;return{...t,type:"tool_call",name:n,args:Ha(s)}}var ga=class{_buffer;constructor(e){this._buffer=e}get full(){let e=this._buffer;return{async*[Symbol.asyncIterator](){let t="";for await(let n of e.iterate()){let s=Ne(n);s?.type==="text-delta"&&(t+=s.text,yield t)}}}}[Symbol.asyncIterator](){let e=this._buffer;async function*t(){for await(let n of e.iterate()){let s=Ne(n);s?.type==="text-delta"&&(yield s.text)}}return t()}then(e,t){return(async()=>{let n="";for await(let s of this)n+=s;return n})().then(e,t)}},ha=class{_buffer;constructor(e){this._buffer=e}get full(){let e=this._buffer;return{async*[Symbol.asyncIterator](){let t=[];for await(let n of e.iterate())n.event==="content-block-finish"&&n.content.type==="tool_call"&&(t.push(n.content),yield[...t])}}}[Symbol.asyncIterator](){let e=this._buffer;async function*t(){for await(let n of e.iterate())n.event==="content-block-finish"&&n.content.type==="tool_call"&&(yield n.content)}return t()}then(e,t){return(async()=>{let n=[];for await(let s of this)n.push(s);return n})().then(e,t)}},_a=class{_buffer;constructor(e){this._buffer=e}get full(){let e=this._buffer;return{async*[Symbol.asyncIterator](){let t="",n=!1;for await(let s of e.iterate())if(s.event==="content-block-start"){if(!qe(s.content)){if(n)return;continue}n=!0;let o=da(s.content);if(o==null||o.length===0)continue;t+=o,yield t}else if(s.event==="content-block-delta"){let o=Ne(s);if(o?.type!=="reasoning-delta")continue;n=!0;let i=o.reasoning;if(i==null||i.length===0)continue;t+=i,yield t}else{if(s.event==="content-block-finish"&&qe(s.content))return;if(s.event==="message-finish")return}}}}[Symbol.asyncIterator](){let e=this._buffer;async function*t(){let n=!1;for await(let s of e.iterate())if(s.event==="content-block-start"){if(!qe(s.content)){if(n)return;continue}n=!0;let o=da(s.content);o!=null&&o.length>0&&(yield o)}else if(s.event==="content-block-delta"){let o=Ne(s);if(o?.type!=="reasoning-delta")continue;n=!0;let i=o.reasoning;i!=null&&i.length>0&&(yield i)}else{if(s.event==="content-block-finish"&&qe(s.content))return;if(s.event==="message-finish")return}}return t()}then(e,t){return(async()=>{let n="";for await(let s of this)n+=s;return n})().then(e,t)}},ya=class{_buffer;constructor(e){this._buffer=e}[Symbol.asyncIterator](){let e=this._buffer;async function*t(){for await(let n of e.iterate())if(n.event==="usage"){let s=_e(n.usage);s&&(yield s)}else if(n.event==="message-start"&&n.usage){let s=_e(n.usage);s&&(yield s)}else if(n.event==="message-finish"&&n.usage){let s=_e(n.usage);s&&(yield s)}}return t()}then(e,t){return(async()=>{let n;for await(let s of this)n=s;return n})().then(e,t)}},Qe=class{_buffer;constructor(e){this._buffer=new Ka,this._consume(e)}async _consume(e){try{for await(let t of e)this._buffer.push(t);this._buffer.finish()}catch(t){this._buffer.setError(t instanceof Error?t:new Error(String(t)))}}[Symbol.asyncIterator](){return this._buffer.iterate()}get text(){return new ga(this._buffer)}get toolCalls(){return new ha(this._buffer)}get reasoning(){return new _a(this._buffer)}get usage(){return new ya(this._buffer)}get output(){return this._assembleMessage()}then(e,t){return this._assembleMessage().then(e,t)}async _assembleMessage(){let e=[],t,n,s={},o;for await(let u of this._buffer.iterate())switch(u.event){case"message-start":t=u.id??t,u.usage&&(n=_e(u.usage));break;case"content-block-start":e[u.index]=u.content;break;case"content-block-delta":{let m=e[u.index],p=Ne(u);m&&p&&(e[u.index]=Wa(m,p));break}case"content-block-finish":e[u.index]=u.content;break;case"usage":n=_e(u.usage);break;case"message-finish":o=u.reason,u.usage&&(n=_e(u.usage)),u.responseMetadata&&(s={...s,...u.responseMetadata});break;default:break}let i=e.filter(u=>u!=null).map(Ya);return new j({id:t,content:i,usage_metadata:n,response_metadata:{...s,...o?{finish_reason:o}:{},output_version:"v1"}})}};var gr=S({Embeddings:()=>Za}),Za=class{caller;constructor(e){this.caller=new Tn(e??{})}};var le=class extends V{static lc_name(){return"RunnablePassthrough"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;func;constructor(e){super(e),e&&(this.func=e.func)}async invoke(e,t){let n=oe(t);return this.func&&await this.func(e,n),this._callWithConfig(s=>Promise.resolve(s),e,n)}async*transform(e,t){let n=oe(t),s,o=!0;for await(let i of this._transformStreamWithConfig(e,u=>u,n))if(yield i,o)if(s===void 0)s=i;else try{s=K(s,i)}catch{s=void 0,o=!1}this.func&&s!==void 0&&await this.func(s,n)}static assign(e){return new Ye(new He({steps:e}))}};var ba=class extends V{static lc_name(){return"RouterRunnable"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;runnables;constructor(e){super(e),this.runnables=e.runnables}async invoke(e,t){let{key:n,input:s}=e,o=this.runnables[n];if(o===void 0)throw new Error(`No runnable associated with key "${n}".`);return o.invoke(s,oe(t))}async batch(e,t,n){let s=e.map(h=>h.key),o=e.map(h=>h.input);if(s.find(h=>this.runnables[h]===void 0)!==void 0)throw new Error("One or more keys do not have a corresponding runnable.");let i=s.map(h=>this.runnables[h]),u=this._getOptionsList(t??{},e.length),m=u[0]?.maxConcurrency??n?.maxConcurrency,p=m&&m>0?m:e.length,g=[];for(let h=0;h<o.length;h+=p){let b=o.slice(h,h+p).map((y,f)=>i[f].invoke(y,u[f])),_=await Promise.all(b);g.push(_)}return g.flat()}async stream(e,t){let{key:n,input:s}=e,o=this.runnables[n];if(o===void 0)throw new Error(`No runnable associated with key "${n}".`);return o.stream(s,t)}};var Ta=class extends V{static lc_name(){return"RunnableBranch"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;default;branches;constructor(e){super(e),this.branches=e.branches,this.default=e.default}static from(e){if(e.length<1)throw new Error("RunnableBranch requires at least one branch");let t=e.slice(0,-1).map(([s,o])=>[he(s),he(o)]),n=he(e[e.length-1]);return new this({branches:t,default:n})}async _invoke(e,t,n){let s;for(let o=0;o<this.branches.length;o+=1){let[i,u]=this.branches[o];if(await i.invoke(e,z(t,{callbacks:n?.getChild(`condition:${o+1}`)}))){s=await u.invoke(e,z(t,{callbacks:n?.getChild(`branch:${o+1}`)}));break}}return s||(s=await this.default.invoke(e,z(t,{callbacks:n?.getChild("branch:default")}))),s}async invoke(e,t={}){return this._callWithConfig(this._invoke,e,t)}async*_streamIterator(e,t){let n=await(await Ge(t))?.handleChainStart(this.toJSON(),Wn(e,"input"),t?.runId,void 0,void 0,void 0,t?.runName),s,o=!0,i;try{for(let u=0;u<this.branches.length;u+=1){let[m,p]=this.branches[u];if(await m.invoke(e,z(t,{callbacks:n?.getChild(`condition:${u+1}`)}))){i=await p.stream(e,z(t,{callbacks:n?.getChild(`branch:${u+1}`)}));for await(let g of i)if(yield g,o)if(s===void 0)s=g;else try{s=K(s,g)}catch{s=void 0,o=!1}break}}if(i===void 0){i=await this.default.stream(e,z(t,{callbacks:n?.getChild("branch:default")}));for await(let u of i)if(yield u,o)if(s===void 0)s=u;else try{s=K(s,u)}catch{s=void 0,o=!1}}}catch(u){throw await n?.handleChainError(u),u}await n?.handleChainEnd(s??{})}};var va=class extends Ke{runnable;inputMessagesKey;outputMessagesKey;historyMessagesKey;getMessageHistory;constructor(e){let t=$.from((i,u)=>this._enterHistory(i,u??{})).withConfig({runName:"loadHistory"}),n=e.historyMessagesKey??e.inputMessagesKey;n&&(t=le.assign({[n]:t}).withConfig({runName:"insertHistory"}));let s=t.pipe(e.runnable.withListeners({onEnd:(i,u)=>this._exitHistory(i,u??{})})).withConfig({runName:"RunnableWithMessageHistory"}),o=e.config??{};super({...e,config:o,bound:s}),this.runnable=e.runnable,this.getMessageHistory=e.getMessageHistory,this.inputMessagesKey=e.inputMessagesKey,this.outputMessagesKey=e.outputMessagesKey,this.historyMessagesKey=e.historyMessagesKey}_getInputMessages(e){let t;if(typeof e=="object"&&!Array.isArray(e)&&!U(e)){let n;this.inputMessagesKey?n=this.inputMessagesKey:Object.keys(e).length===1?n=Object.keys(e)[0]:n="input",Array.isArray(e[n])&&Array.isArray(e[n][0])?t=e[n][0]:t=e[n]}else t=e;if(typeof t=="string")return[new ne(t)];if(Array.isArray(t))return t;if(U(t))return[t];throw new Error(`Expected a string, BaseMessage, or array of BaseMessages.
|
|
6
|
+
Got ${JSON.stringify(t,null,2)}`)}_getOutputMessages(e){let t;if(!Array.isArray(e)&&!U(e)&&typeof e!="string"){let n;this.outputMessagesKey!==void 0?n=this.outputMessagesKey:Object.keys(e).length===1?n=Object.keys(e)[0]:n="output",e.generations!==void 0?t=e.generations[0][0].message:t=e[n]}else t=e;if(typeof t=="string")return[new j(t)];if(Array.isArray(t))return t;if(U(t))return[t];throw new Error(`Expected a string, BaseMessage, or array of BaseMessages. Received: ${JSON.stringify(t,null,2)}`)}async _enterHistory(e,t){let n=await(t?.configurable?.messageHistory).getMessages();return this.historyMessagesKey===void 0?n.concat(this._getInputMessages(e)):n}async _exitHistory(e,t){let n=t.configurable?.messageHistory,s;Array.isArray(e.inputs)&&Array.isArray(e.inputs[0])?s=e.inputs[0]:s=e.inputs;let o=this._getInputMessages(s);if(this.historyMessagesKey===void 0){let m=await n.getMessages();o=o.slice(m.length)}let i=e.outputs;if(!i)throw new Error(`Output values from 'Run' undefined. Run: ${JSON.stringify(e,null,2)}`);let u=this._getOutputMessages(i);await n.addMessages([...o,...u])}async _mergeConfig(...e){let t=await super._mergeConfig(...e);if(!t.configurable||!t.configurable.sessionId){let s={[this.inputMessagesKey??"input"]:"foo"};throw new Error(`sessionId is required. Pass it in as part of the config argument to .invoke() or .stream()
|
|
7
|
+
eg. chain.invoke(${JSON.stringify(s)}, ${JSON.stringify({configurable:{sessionId:"123"}})})`)}let{sessionId:n}=t.configurable;return t.configurable.messageHistory=await this.getMessageHistory(n),t}};var Hr=S({RouterRunnable:()=>ba,Runnable:()=>V,RunnableAssign:()=>Ye,RunnableBinding:()=>Ke,RunnableBranch:()=>Ta,RunnableEach:()=>Hn,RunnableLambda:()=>$,RunnableMap:()=>He,RunnableParallel:()=>Zn,RunnablePassthrough:()=>le,RunnablePick:()=>qn,RunnableRetry:()=>Yn,RunnableSequence:()=>We,RunnableToolLike:()=>Qn,RunnableWithFallbacks:()=>Xn,RunnableWithMessageHistory:()=>va,_coerceToRunnable:()=>he,ensureConfig:()=>oe,getCallbackManagerForConfig:()=>Ge,mergeConfigs:()=>hn,patchConfig:()=>z,pickRunnableConfigKeys:()=>_n,raceWithSignal:()=>yn});var qr=S({extendInteropZodObject:()=>Bn,getInteropZodDefaultGetter:()=>Vn,getInteropZodObjectShape:()=>Dn,getSchemaDescription:()=>ze,interopParse:()=>In,interopParseAsync:()=>Je,interopSafeParse:()=>Mn,interopSafeParseAsync:()=>$e,interopZodObjectMakeFieldsOptional:()=>Jn,interopZodObjectPartial:()=>Un,interopZodObjectPassthrough:()=>Gn,interopZodObjectStrict:()=>jn,interopZodTransformInputSchema:()=>$n,isInteropZodError:()=>zn,isInteropZodLiteral:()=>En,isInteropZodObject:()=>Fn,isInteropZodSchema:()=>Z,isShapelessZodSchema:()=>On,isSimpleStringZodSchema:()=>An,isZodArrayV4:()=>Pn,isZodLiteralV3:()=>Sn,isZodLiteralV4:()=>kn,isZodNullableV4:()=>Rn,isZodObjectV3:()=>xn,isZodObjectV4:()=>Nn,isZodOptionalV4:()=>Ln,isZodSchema:()=>Cn,isZodSchemaV3:()=>wn,isZodSchemaV4:()=>vn});var no=S({convertChunksToEvents:()=>gt,finalizeContentBlock:()=>et}),Xa={wav:"audio/wav",mp3:"audio/mpeg",flac:"audio/flac",opus:"audio/opus",aac:"audio/aac",pcm16:"audio/pcm"},qa={png:"image/png",jpeg:"image/jpeg",jpg:"image/jpeg",webp:"image/webp",gif:"image/gif"};function wa(e){let t=0;for(let n of e.keys())n>=t&&(t=n+1);return t}function Ca(e){let t=e.additional_kwargs;return t!=null&&typeof t=="object"?t:{}}function Qa(e){let t=Ca(e).tool_outputs;if(!Array.isArray(t))return[];let n=[];for(let s of t){if(s==null||typeof s!="object")continue;let o=s;if(o.type!=="image_generation_call")continue;let i=typeof o.result=="string"?o.result:void 0,u=typeof o.url=="string"?o.url:void 0;if(i==null&&u==null)continue;let m=typeof o.output_format=="string"?o.output_format.toLowerCase():void 0,p=(m!=null?qa[m]:void 0)??"image/png";n.push({type:"image",...typeof o.id=="string"?{id:o.id}:{},...u!=null?{url:u}:{},...i!=null?{data:i}:{},mimeType:p})}return n}function es(e){let t=Ca(e).audio;if(t==null||typeof t!="object")return;let n=t,s=typeof n.data=="string"?n.data:void 0,o=typeof n.url=="string"?n.url:void 0,i=typeof n.transcript=="string"?n.transcript:void 0;if(s==null&&o==null&&i==null)return;let u=typeof n.mime_type=="string"?n.mime_type:typeof n.mimeType=="string"?n.mimeType:void 0,m=typeof n.format=="string"?n.format.toLowerCase():void 0,p=u??(m!=null?Xa[m]:void 0)??(s!=null?"audio/wav":"audio/pcm");return{...typeof n.id=="string"?{id:n.id}:{},...s!=null?{data:s}:{},...o!=null?{url:o}:{},...i!=null?{transcript:i}:{},mimeType:p}}async function*gt(e,t){let n=new Map,s=!1,o,i,u=new Set;for await(let m of e){t?.signal?.throwIfAborted();let p=m.message,g=!1;if(!s){s=!0;let _={event:"message-start",id:p.id??void 0};G.isInstance(p)&&p.usage_metadata&&(_.usage=p.usage_metadata,o={...p.usage_metadata},g=!0),yield _}let h=p.content;if(typeof h=="string"){if(h!==""){if(!n.has(0)){let f={type:"text",text:""};n.set(0,{type:"text",accumulated:f}),yield{event:"content-block-start",index:0,content:f}}let y=n.get(0);y.accumulated={...y.accumulated,text:(y.accumulated.text??"")+h},yield{event:"content-block-delta",index:0,delta:{type:"text-delta",text:h}}}}else if(Array.isArray(h))for(let _ of h){let y=typeof _.index=="number"?_.index:n.size;if(!n.has(y))n.set(y,{type:_.type,accumulated:{..._}}),yield{event:"content-block-start",index:y,content:{..._}};else{let f=n.get(y),T=ns(_);f.accumulated=ts(f.accumulated,T),yield{event:"content-block-delta",index:y,delta:T}}}if(G.isInstance(p)&&p.tool_call_chunks&&p.tool_call_chunks.length>0)for(let _ of p.tool_call_chunks){let y=typeof _.index=="number"?_.index:n.size;if(!n.has(y)){let T={type:"tool_call_chunk",id:_.id,name:_.name,args:"",index:y};n.set(y,{type:"tool_call_chunk",accumulated:T}),yield{event:"content-block-start",index:y,content:T}}let f=n.get(y).accumulated;_.id!=null&&(f.id=_.id),_.name!=null&&(f.name=_.name),f.args=(f.args??"")+(_.args??""),yield{event:"content-block-delta",index:y,delta:{type:"block-delta",fields:{type:"tool_call_chunk",..."id"in f&&f.id!=null?{id:f.id}:{},..."name"in f&&f.name!=null?{name:f.name}:{},args:f.args}}}}let b=es(p);if(b!=null){if(i==null){let y=wa(n);i={index:y,id:b.id,mimeType:b.mimeType,transcript:""};let f={type:"audio",...b.id!=null?{id:b.id}:{},...b.url!=null?{url:b.url}:{},data:"",mimeType:b.mimeType};n.set(y,{type:"audio",accumulated:f}),yield{event:"content-block-start",index:y,content:f}}let _=n.get(i.index);if(_!=null){let y=_.accumulated;b.id!=null&&i.id==null&&(i.id=b.id,y.id=b.id),b.transcript!=null&&(i.transcript+=b.transcript,y.transcript=i.transcript,yield{event:"content-block-delta",index:i.index,delta:{type:"block-delta",fields:{type:"audio",transcript:i.transcript}}}),b.data!=null&&b.data.length>0&&(y.data=(y.data??"")+b.data,yield{event:"content-block-delta",index:i.index,delta:{type:"data-delta",data:b.data,encoding:"base64"}})}}for(let _ of Qa(p)){let y=_,f=y.id??y.url??(y.data!=null?`${y.data.length}:${y.data.slice(0,32)}`:void 0);if(f!=null&&u.has(f))continue;f!=null&&u.add(f);let T=wa(n);n.set(T,{type:"image",accumulated:_}),yield{event:"content-block-start",index:T,content:_}}if(!g&&G.isInstance(p)&&p.usage_metadata){let _=p.usage_metadata;o?o={input_tokens:o.input_tokens+_.input_tokens,output_tokens:o.output_tokens+_.output_tokens,total_tokens:o.total_tokens+_.total_tokens}:o={..._},yield{event:"usage",usage:{...o}}}}for(let[m,p]of n)yield{event:"content-block-finish",index:m,content:et(p.accumulated)};yield{event:"message-finish",reason:"stop",...o?{usage:o}:{}}}function ts(e,t){switch(t.type){case"text-delta":return e.type==="text"?{...e,text:(e.text??"")+t.text}:e;case"reasoning-delta":return e.type==="thinking"?{...e,thinking:(e.thinking??"")+t.reasoning}:e.type==="reasoning"?{...e,reasoning:(e.reasoning??"")+t.reasoning}:e;case"data-delta":return{...e,data:(e.data??"")+t.data};case"block-delta":return{...e,...t.fields};default:throw new Error(`Unknown delta type: ${JSON.stringify(t)}`)}}function ns(e){if(e.type==="text")return{type:"text-delta",text:e.text};if(e.type==="reasoning")return{type:"reasoning-delta",reasoning:e.reasoning};if(e.type==="thinking"&&typeof e.thinking=="string")return{type:"reasoning-delta",reasoning:e.thinking};if(typeof e.data=="string")return{type:"data-delta",data:e.data,encoding:"base64"};if(typeof e.type=="string")return{type:"block-delta",fields:{...e}};throw new Error(`Unsupported content block delta: ${JSON.stringify(e)}`)}function et(e){if(e.type==="tool_call_chunk"){let t=e,n;try{n=JSON.parse(t.args??"{}")}catch{return{type:"invalid_tool_call",id:t.id,name:t.name,args:t.args,error:"Failed to parse tool call arguments as JSON"}}return{type:"tool_call",id:t.id,name:t.name,args:n}}return e}var oo=S({convertOpenAICompletionsStream:()=>as});async function*as(e,t={}){let n=t.streamUsage??!0,s=t.provider??"openai",o=t.mapChunk,i=new Map,u=new Map,m=0,p=!1,g,h,b,_=!1,y=(f,T)=>{let w=u.get(f);if(w!==void 0)return{index:w,isNew:!1};let v=m++;return u.set(f,v),i.set(v,{...T}),{index:v,isNew:!0}};for await(let f of e){o&&(f=o(f)),p||(p=!0,yield{event:"message-start",id:f.id}),!_&&(f.model||f.service_tier)&&(_=!0,yield{event:"provider",provider:s,name:"stream_metadata",payload:{model:f.model,service_tier:f.service_tier}}),f.usage&&n&&(g=is(f.usage),yield{event:"usage",usage:g});let T=f.x_groq?.usage;T&&n&&(g=rs(T),yield{event:"usage",usage:g});let w=f.choices?.[0];if(!w)continue;w.finish_reason!=null&&(h=os(w.finish_reason),b=ls(f,w));let{delta:v}=w;if(!v)continue;let E=ss(v);if(E){let{index:C,isNew:O}=y("reasoning",{type:"reasoning",reasoning:""});O&&(yield{event:"content-block-start",index:C,content:{type:"reasoning",reasoning:""}});let I=i.get(C);I.reasoning=(I.reasoning??"")+E,yield{event:"content-block-delta",index:C,delta:{type:"reasoning-delta",reasoning:E}}}if(v.content){let{index:C,isNew:O}=y("text",{type:"text",text:""});O&&(yield{event:"content-block-start",index:C,content:{type:"text",text:""}});let I=i.get(C);I.text=(I.text??"")+v.content,yield{event:"content-block-delta",index:C,delta:{type:"text-delta",text:v.content}}}if(Array.isArray(v.tool_calls))for(let C of v.tool_calls){let O=C.index??0,{index:I,isNew:F}=y(`tool:${O}`,{type:"tool_call_chunk",id:C.id,name:C.function?.name,args:"",index:O});F&&(yield{event:"content-block-start",index:I,content:{type:"tool_call_chunk",id:C.id,name:C.function?.name,args:"",index:O}});let D=i.get(I);C.id!=null&&(D.id=C.id),C.function?.name!=null&&(D.name=C.function.name);let c=C.function?.arguments??"";D.args=(D.args??"")+c,yield{event:"content-block-delta",index:I,delta:{type:"block-delta",fields:{type:"tool_call_chunk",...D.id!=null?{id:D.id}:{},...D.name!=null?{name:D.name}:{},args:D.args}}}}if(v.audio){let{index:C,isNew:O}=y("audio",{type:"audio",id:v.audio.id,data:"",mimeType:"audio/pcm",transcript:v.audio.transcript??""});O&&(yield{event:"content-block-start",index:C,content:{type:"audio",id:v.audio.id,data:"",mimeType:"audio/pcm",transcript:v.audio.transcript??""}});let I=i.get(C);v.audio.transcript&&(I.transcript=(I.transcript??"")+v.audio.transcript,yield{event:"content-block-delta",index:C,delta:{type:"block-delta",fields:{type:"audio",transcript:I.transcript}}}),v.audio.data&&(I.data=(I.data??"")+v.audio.data,yield{event:"content-block-delta",index:C,delta:{type:"data-delta",data:v.audio.data,encoding:"base64"}})}v.function_call&&(yield{event:"provider",provider:s,name:"function_call",payload:v.function_call}),w.logprobs&&(yield{event:"provider",provider:s,name:"logprobs",payload:w.logprobs})}for(let[f,T]of i)yield{event:"content-block-finish",index:f,content:et(T)};yield{event:"message-finish",reason:h,...g?{usage:g}:{},...b?{responseMetadata:b}:{}}}function ss(e){let t=e.reasoning_content??e.reasoning;return typeof t=="string"&&t.length>0?t:void 0}function rs(e){return{input_tokens:e.prompt_tokens??0,output_tokens:e.completion_tokens??0,total_tokens:e.total_tokens??0}}function os(e){switch(e){case"stop":return"stop";case"length":case"max_tokens":return"length";case"tool_calls":case"function_call":return"tool_use";case"content_filter":return"content_filter";default:return"stop"}}function is(e){let t={...e.prompt_tokens_details?.audio_tokens!=null&&{audio:e.prompt_tokens_details.audio_tokens},...e.prompt_tokens_details?.cached_tokens!=null&&{cache_read:e.prompt_tokens_details.cached_tokens}},n={...e.completion_tokens_details?.audio_tokens!=null&&{audio:e.completion_tokens_details.audio_tokens},...e.completion_tokens_details?.reasoning_tokens!=null&&{reasoning:e.completion_tokens_details.reasoning_tokens}};return{input_tokens:e.prompt_tokens??0,output_tokens:e.completion_tokens??0,total_tokens:e.total_tokens??0,...Object.keys(t).length>0&&{input_token_details:t},...Object.keys(n).length>0&&{output_token_details:n}}}function ls(e,t){return{model_provider:"openai",model_name:e.model,system_fingerprint:e.system_fingerprint,service_tier:e.service_tier,finish_reason:t.finish_reason,...e.usage?{usage:e.usage}:{}}}var co=S({chunkArray:()=>cs}),cs=(e,t)=>e.reduce((n,s,o)=>{let i=Math.floor(o/t);return n[i]=(n[i]||[]).concat([s]),n},[]);var ht=class extends V{parseResultWithPrompt(e,t,n){return this.parseResult(e,n)}_baseMessageToString(e){return typeof e.content=="string"?e.content:this._baseMessageContentToString(e.content)}_baseMessageContentToString(e){return JSON.stringify(e)}async invoke(e,t){return typeof e=="string"?this._callWithConfig(async(n,s)=>this.parseResult([{text:n}],s?.callbacks),e,{...t,runType:"parser"}):this._callWithConfig(async(n,s)=>this.parseResult([{message:n,text:this._baseMessageToString(n)}],s?.callbacks),e,{...t,runType:"parser"})}},W=class extends ht{parseResult(e,t){return this.parse(e[0].text,t)}async parseWithPrompt(e,t,n){return this.parse(e,n)}_type(){throw new Error("_type not implemented")}},P=class extends Error{llmOutput;observation;sendToLLM;constructor(e,t,n,s=!1){if(super(e),this.llmOutput=t,this.observation=n,this.sendToLLM=s,s&&(n===void 0||t===void 0))throw new Error("Arguments 'observation' & 'llmOutput' are required if 'sendToLlm' is true");At(this,"OUTPUT_PARSING_FAILURE")}};var H=class extends W{async*_transform(e){for await(let t of e)typeof t=="string"?yield this.parseResult([{text:t}]):yield this.parseResult([{message:t,text:this._baseMessageToString(t)}])}async*transform(e,t){yield*this._transformStreamWithConfig(e,this._transform.bind(this),{...t,runType:"parser"})}},X=class extends H{diff=!1;constructor(e){super(e),this.diff=e?.diff??this.diff}async*_transform(e){let t,n;for await(let s of e){if(typeof s!="string"&&typeof s.content!="string")throw new Error("Cannot handle non-string output.");let o;if(ue(s)){if(typeof s.content!="string")throw new Error("Cannot handle non-string message output.");o=new mt({message:s,text:s.content})}else if(U(s)){if(typeof s.content!="string")throw new Error("Cannot handle non-string message output.");o=new mt({message:re(s),text:s.content})}else o=new Ve({text:s});n===void 0?n=o:n=n.concat(o);let i=await this.parsePartialResult([n]);i!=null&&!Kn(i,t)&&(this.diff?yield this._diff(t,i):yield i,t=i)}}getFormatInstructions(){return""}};var xo=S({applyPatch:()=>bn,compare:()=>pe});var tt=class extends X{static lc_name(){return"JsonOutputParser"}lc_namespace=["langchain_core","output_parsers"];lc_serializable=!0;_concatOutputChunks(e,t){return this.diff?super._concatOutputChunks(e,t):t}_diff(e,t){if(t)return e?pe(e,t):[{op:"replace",path:"",value:t}]}async parsePartialResult(e){return te(e[0].text)}async parse(e){return te(e,JSON.parse)}getFormatInstructions(){return""}_baseMessageToString(e){return e.text}};var Sa=class extends H{static lc_name(){return"BytesOutputParser"}lc_namespace=["langchain_core","output_parsers","bytes"];lc_serializable=!0;textEncoder=new TextEncoder;parse(e){return Promise.resolve(this.textEncoder.encode(e))}getFormatInstructions(){return""}};var ye=class extends H{re;async*_transform(e){let t="";for await(let n of e)if(typeof n=="string"?t+=n:t+=n.content,this.re){let s=[...t.matchAll(this.re)];if(s.length>1){let o=0;for(let i of s.slice(0,-1))yield[i[1]],o+=(i.index??0)+i[0].length;t=t.slice(o)}}else{let s=await this.parse(t);if(s.length>1){for(let o of s.slice(0,-1))yield[o];t=s[s.length-1]}}for(let n of await this.parse(t))yield[n]}},ka=class extends ye{static lc_name(){return"CommaSeparatedListOutputParser"}lc_namespace=["langchain_core","output_parsers","list"];lc_serializable=!0;async parse(e){try{return e.trim().split(",").map(t=>t.trim())}catch{throw new P(`Could not parse output: ${e}`,e)}}getFormatInstructions(){return"Your response should be a list of comma separated values, eg: `foo, bar, baz`"}},Ea=class extends ye{lc_namespace=["langchain_core","output_parsers","list"];length;separator;constructor({length:e,separator:t}){super(...arguments),this.length=e,this.separator=t||","}async parse(e){try{let t=e.trim().split(this.separator).map(n=>n.trim());if(this.length!==void 0&&t.length!==this.length)throw new P(`Incorrect number of items. Expected ${this.length}, got ${t.length}.`);return t}catch(t){throw Object.getPrototypeOf(t)===P.prototype?t:new P(`Could not parse output: ${e}`)}}getFormatInstructions(){return`Your response should be a list of ${this.length===void 0?"":`${this.length} `}items separated by "${this.separator}" (eg: \`foo${this.separator} bar${this.separator} baz\`)`}},Ma=class extends ye{static lc_name(){return"NumberedListOutputParser"}lc_namespace=["langchain_core","output_parsers","list"];lc_serializable=!0;getFormatInstructions(){return`Your response should be a numbered list with each item on a new line. For example:
|
|
8
|
+
|
|
9
|
+
1. foo
|
|
10
|
+
|
|
11
|
+
2. bar
|
|
12
|
+
|
|
13
|
+
3. baz`}re=/\d+\.\s([^\n]+)/g;async parse(e){return[...e.matchAll(this.re)??[]].map(t=>t[1])}},Ia=class extends ye{static lc_name(){return"NumberedListOutputParser"}lc_namespace=["langchain_core","output_parsers","list"];lc_serializable=!0;getFormatInstructions(){return`Your response should be a numbered list with each item on a new line. For example:
|
|
14
|
+
|
|
15
|
+
1. foo
|
|
16
|
+
|
|
17
|
+
2. bar
|
|
18
|
+
|
|
19
|
+
3. baz`}re=/^\s*[-*]\s([^\n]+)$/gm;async parse(e){return[...e.matchAll(this.re)??[]].map(t=>t[1])}};var Oa=class extends H{static lc_name(){return"StrOutputParser"}lc_namespace=["langchain_core","output_parsers","string"];lc_serializable=!0;parse(e){return Promise.resolve(e)}getFormatInstructions(){return""}_textContentToString(e){return e.text}_imageUrlContentToString(e){throw new Error('Cannot coerce a multimodal "image_url" message part into a string.')}_messageContentToString(e){switch(e.type){case"text":case"text_delta":if("text"in e)return this._textContentToString(e);break;case"image_url":if("image_url"in e)return this._imageUrlContentToString(e);break;case"reasoning":case"thinking":case"redacted_thinking":return"";default:throw new Error(`Cannot coerce "${e.type}" message part into a string.`)}throw new Error(`Invalid content type: ${e.type}`)}_baseMessageContentToString(e){return e.reduce((t,n)=>t+this._messageContentToString(n),"")}};var nt=class extends W{static lc_name(){return"StandardSchemaOutputParser"}lc_namespace=["langchain","output_parsers","standard_schema"];schema;constructor(e){super(),this.schema=e}static fromSerializableSchema(e){return new this(e)}async parse(e){try{let t=te(e,JSON.parse),n=await this.schema["~standard"].validate(t);if(n.issues)throw new Error(`Validation failed: ${JSON.stringify(n.issues)}`);return n.value}catch(t){throw new P(`Failed to parse. Text: "${e}". Error: ${t}`,e)}}_baseMessageToString(e){return e.text}getFormatInstructions(){return""}};var Pe=class extends W{schema;static lc_name(){return"StructuredOutputParser"}lc_namespace=["langchain","output_parsers","structured"];toJSON(){return this.toJSONNotImplemented()}constructor(e){super(e),this.schema=e}static fromZodSchema(e){return new this(e)}static fromNamesAndDescriptions(e){let t=xe.object(Object.fromEntries(Object.entries(e).map(([n,s])=>[n,xe.string().describe(s)])));return new this(t)}getFormatInstructions(){return`You must format your output as a JSON value that adheres to a given "JSON Schema" instance.
|
|
20
|
+
|
|
21
|
+
"JSON Schema" is a declarative language that allows you to annotate and validate JSON documents.
|
|
22
|
+
|
|
23
|
+
For example, the example "JSON Schema" instance {{"properties": {{"foo": {{"description": "a list of test words", "type": "array", "items": {{"type": "string"}}}}}}, "required": ["foo"]}}
|
|
24
|
+
would match an object with one required property, "foo". The "type" property specifies "foo" must be an "array", and the "description" property semantically describes it as "a list of test words". The items within "foo" must be strings.
|
|
25
|
+
Thus, the object {{"foo": ["bar", "baz"]}} is a well-formatted instance of this example "JSON Schema". The object {{"properties": {{"foo": ["bar", "baz"]}}}} is not well-formatted.
|
|
26
|
+
|
|
27
|
+
Your output will be parsed and type-checked according to the provided schema instance, so make sure all fields in your output match the schema exactly and there are no trailing commas!
|
|
28
|
+
|
|
29
|
+
Here is the JSON Schema instance your output must adhere to. Include the enclosing markdown codeblock:
|
|
30
|
+
\`\`\`json
|
|
31
|
+
${JSON.stringify(ie(this.schema))}
|
|
32
|
+
\`\`\`
|
|
33
|
+
`}async parse(e){try{let t=e.trim(),n=(t.match(/^```(?:json)?\s*([\s\S]*?)```/)?.[1]||t.match(/```json\s*([\s\S]*?)```/)?.[1]||t).replace(/"([^"\\]*(\\.[^"\\]*)*)"/g,(s,o)=>`"${o.replace(/\n/g,"\\n")}"`).replace(/\n/g,"");return await Je(this.schema,JSON.parse(n))}catch(t){throw new P(`Failed to parse. Text: "${e}". Error: ${t}`,e)}}_baseMessageToString(e){return e.text}},_t=class extends Pe{static lc_name(){return"JsonMarkdownStructuredOutputParser"}getFormatInstructions(e){let t=e?.interpolationDepth??1;if(t<1)throw new Error("f string interpolation depth must be at least 1");return`Return a markdown code snippet with a JSON object formatted to look like:
|
|
34
|
+
\`\`\`json
|
|
35
|
+
${this._schemaToInstruction(ie(this.schema)).replaceAll("{","{".repeat(t)).replaceAll("}","}".repeat(t))}
|
|
36
|
+
\`\`\``}_schemaToInstruction(e,t=2){let n=e;if("type"in n){let s=!1,o;if(Array.isArray(n.type)){let m=n.type.findIndex(p=>p==="null");m!==-1&&(s=!0,n.type.splice(m,1)),o=n.type.join(" | ")}else o=n.type;if(n.type==="object"&&n.properties){let m=n.description?` // ${n.description}`:"";return`{
|
|
37
|
+
${Object.entries(n.properties).map(([p,g])=>{let h=n.required?.includes(p)?"":" (optional)";return`${" ".repeat(t)}"${p}": ${this._schemaToInstruction(g,t+2)}${h}`}).join(`
|
|
38
|
+
`)}
|
|
39
|
+
${" ".repeat(t-2)}}${m}`}if(n.type==="array"&&n.items){let m=n.description?` // ${n.description}`:"";return`array[
|
|
40
|
+
${" ".repeat(t)}${this._schemaToInstruction(n.items,t+2)}
|
|
41
|
+
${" ".repeat(t-2)}] ${m}`}let i=s?" (nullable)":"",u=n.description?` // ${n.description}`:"";return`${o}${u}${i}`}if("anyOf"in n)return n.anyOf.map(s=>this._schemaToInstruction(s,t)).join(`
|
|
42
|
+
${" ".repeat(t-2)}`);throw new Error("unsupported schema type")}static fromZodSchema(e){return new this(e)}static fromNamesAndDescriptions(e){let t=xe.object(Object.fromEntries(Object.entries(e).map(([n,s])=>[n,xe.string().describe(s)])));return new this(t)}},Aa=class extends W{structuredInputParser;constructor({inputSchema:e}){super(...arguments),this.structuredInputParser=new _t(e)}async parse(e){let t;try{t=await this.structuredInputParser.parse(e)}catch(n){throw new P(`Failed to parse. Text: "${e}". Error: ${n}`,e)}return this.outputProcessor(t)}getFormatInstructions(){return this.structuredInputParser.getFormatInstructions()}};var us=function(){let e={};e.parser=function(r,a){return new n(r,a)},e.SAXParser=n,e.SAXStream=g,e.createStream=p,e.MAX_BUFFER_LENGTH=65536;let t=["comment","sgmlDecl","textNode","tagName","doctype","procInstName","procInstBody","entity","attribName","attribValue","cdata","script"];e.EVENTS=["text","processinginstruction","sgmldeclaration","doctype","comment","opentagstart","attribute","opentag","closetag","opencdata","cdata","closecdata","error","end","ready","script","opennamespace","closenamespace"];function n(r,a){if(!(this instanceof n))return new n(r,a);var d=this;o(d),d.q=d.c="",d.bufferCheckPosition=e.MAX_BUFFER_LENGTH,d.opt=a||{},d.opt.lowercase=d.opt.lowercase||d.opt.lowercasetags,d.looseCase=d.opt.lowercase?"toLowerCase":"toUpperCase",d.tags=[],d.closed=d.closedRoot=d.sawRoot=!1,d.tag=d.error=null,d.strict=!!r,d.noscript=!!(r||d.opt.noscript),d.state=c.BEGIN,d.strictEntities=d.opt.strictEntities,d.ENTITIES=d.strictEntities?Object.create(e.XML_ENTITIES):Object.create(e.ENTITIES),d.attribList=[],d.opt.xmlns&&(d.ns=Object.create(f)),d.trackPosition=d.opt.position!==!1,d.trackPosition&&(d.position=d.line=d.column=0),be(d,"onready")}Object.create||(Object.create=function(r){function a(){}return a.prototype=r,new a}),Object.keys||(Object.keys=function(r){var a=[];for(var d in r)r.hasOwnProperty(d)&&a.push(d);return a});function s(r){for(var a=Math.max(e.MAX_BUFFER_LENGTH,10),d=0,l=0,k=t.length;l<k;l++){var x=r[t[l]].length;if(x>a)switch(t[l]){case"textNode":Te(r);break;case"cdata":A(r,"oncdata",r.cdata),r.cdata="";break;case"script":A(r,"onscript",r.script),r.script="";break;default:Fe(r,"Max buffer length exceeded: "+t[l])}d=Math.max(d,x)}r.bufferCheckPosition=e.MAX_BUFFER_LENGTH-d+r.position}function o(r){for(var a=0,d=t.length;a<d;a++)r[t[a]]=""}function i(r){Te(r),r.cdata!==""&&(A(r,"oncdata",r.cdata),r.cdata=""),r.script!==""&&(A(r,"onscript",r.script),r.script="")}n.prototype={end:function(){St(this)},write:Va,resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){i(this)}};var u=ReadableStream;u||(u=function(){});var m=e.EVENTS.filter(function(r){return r!=="error"&&r!=="end"});function p(r,a){return new g(r,a)}function g(r,a){if(!(this instanceof g))return new g(r,a);u.apply(this),this._parser=new n(r,a),this.writable=!0,this.readable=!0;var d=this;this._parser.onend=function(){d.emit("end")},this._parser.onerror=function(l){d.emit("error",l),d._parser.error=null},this._decoder=null,m.forEach(function(l){Object.defineProperty(d,"on"+l,{get:function(){return d._parser["on"+l]},set:function(k){if(!k)return d.removeAllListeners(l),d._parser["on"+l]=k,k;d.on(l,k)},enumerable:!0,configurable:!1})})}g.prototype=Object.create(u.prototype,{constructor:{value:g}}),g.prototype.write=function(r){return this._parser.write(r.toString()),this.emit("data",r),!0},g.prototype.end=function(r){return r&&r.length&&this.write(r),this._parser.end(),!0},g.prototype.on=function(r,a){var d=this;return!d._parser["on"+r]&&m.indexOf(r)!==-1&&(d._parser["on"+r]=function(){var l=arguments.length===1?[arguments[0]]:Array.apply(null,arguments);l.splice(0,0,r),d.emit.apply(d,l)}),u.prototype.on.call(d,r,a)};var h="[CDATA[",b="DOCTYPE",_="http://www.w3.org/XML/1998/namespace",y="http://www.w3.org/2000/xmlns/",f={xml:_,xmlns:y},T=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,w=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,v=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,E=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function C(r){return r===" "||r===`
|
|
43
|
+
`||r==="\r"||r===" "}function O(r){return r==='"'||r==="'"}function I(r){return r===">"||C(r)}function F(r,a){return r.test(a)}function D(r,a){return!F(r,a)}var c=0;e.STATE={BEGIN:c++,BEGIN_WHITESPACE:c++,TEXT:c++,TEXT_ENTITY:c++,OPEN_WAKA:c++,SGML_DECL:c++,SGML_DECL_QUOTED:c++,DOCTYPE:c++,DOCTYPE_QUOTED:c++,DOCTYPE_DTD:c++,DOCTYPE_DTD_QUOTED:c++,COMMENT_STARTING:c++,COMMENT:c++,COMMENT_ENDING:c++,COMMENT_ENDED:c++,CDATA:c++,CDATA_ENDING:c++,CDATA_ENDING_2:c++,PROC_INST:c++,PROC_INST_BODY:c++,PROC_INST_ENDING:c++,OPEN_TAG:c++,OPEN_TAG_SLASH:c++,ATTRIB:c++,ATTRIB_NAME:c++,ATTRIB_NAME_SAW_WHITE:c++,ATTRIB_VALUE:c++,ATTRIB_VALUE_QUOTED:c++,ATTRIB_VALUE_CLOSED:c++,ATTRIB_VALUE_UNQUOTED:c++,ATTRIB_VALUE_ENTITY_Q:c++,ATTRIB_VALUE_ENTITY_U:c++,CLOSE_TAG:c++,CLOSE_TAG_SAW_WHITE:c++,SCRIPT:c++,SCRIPT_ENDING:c++},e.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},e.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(e.ENTITIES).forEach(function(r){var a=e.ENTITIES[r],d=typeof a=="number"?String.fromCharCode(a):a;e.ENTITIES[r]=d});for(var wt in e.STATE)e.STATE[e.STATE[wt]]=wt;c=e.STATE;function be(r,a,d){r[a]&&r[a](d)}function A(r,a,d){r.textNode&&Te(r),be(r,a,d)}function Te(r){r.textNode=Ct(r.opt,r.textNode),r.textNode&&be(r,"ontext",r.textNode),r.textNode=""}function Ct(r,a){return r.trim&&(a=a.trim()),r.normalize&&(a=a.replace(/\s+/g," ")),a}function Fe(r,a){return Te(r),r.trackPosition&&(a+=`
|
|
44
|
+
Line: `+r.line+`
|
|
45
|
+
Column: `+r.column+`
|
|
46
|
+
Char: `+r.c),a=new Error(a),r.error=a,be(r,"onerror",a),r}function St(r){return r.sawRoot&&!r.closedRoot&&M(r,"Unclosed root tag"),r.state!==c.BEGIN&&r.state!==c.BEGIN_WHITESPACE&&r.state!==c.TEXT&&Fe(r,"Unexpected end"),Te(r),r.c="",r.closed=!0,be(r,"onend"),n.call(r,r.strict,r.opt),r}function M(r,a){if(typeof r!="object"||!(r instanceof n))throw new Error("bad call to strictFail");r.strict&&Fe(r,a)}function Ga(r){r.strict||(r.tagName=r.tagName[r.looseCase]());var a=r.tags[r.tags.length-1]||r,d=r.tag={name:r.tagName,attributes:{}};r.opt.xmlns&&(d.ns=a.ns),r.attribList.length=0,A(r,"onopentagstart",d)}function ot(r,a){var d=r.indexOf(":")<0?["",r]:r.split(":"),l=d[0],k=d[1];return a&&r==="xmlns"&&(l="xmlns",k=""),{prefix:l,local:k}}function it(r){if(r.strict||(r.attribName=r.attribName[r.looseCase]()),r.attribList.indexOf(r.attribName)!==-1||r.tag.attributes.hasOwnProperty(r.attribName)){r.attribName=r.attribValue="";return}if(r.opt.xmlns){var a=ot(r.attribName,!0),d=a.prefix,l=a.local;if(d==="xmlns")if(l==="xml"&&r.attribValue!==_)M(r,"xml: prefix must be bound to "+_+`
|
|
47
|
+
Actual: `+r.attribValue);else if(l==="xmlns"&&r.attribValue!==y)M(r,"xmlns: prefix must be bound to "+y+`
|
|
48
|
+
Actual: `+r.attribValue);else{var k=r.tag,x=r.tags[r.tags.length-1]||r;k.ns===x.ns&&(k.ns=Object.create(x.ns)),k.ns[l]=r.attribValue}r.attribList.push([r.attribName,r.attribValue])}else r.tag.attributes[r.attribName]=r.attribValue,A(r,"onattribute",{name:r.attribName,value:r.attribValue});r.attribName=r.attribValue=""}function q(r,a){if(r.opt.xmlns){var d=r.tag,l=ot(r.tagName);d.prefix=l.prefix,d.local=l.local,d.uri=d.ns[l.prefix]||"",d.prefix&&!d.uri&&(M(r,"Unbound namespace prefix: "+JSON.stringify(r.tagName)),d.uri=l.prefix);var k=r.tags[r.tags.length-1]||r;d.ns&&k.ns!==d.ns&&Object.keys(d.ns).forEach(function(Ot){A(r,"onopennamespace",{prefix:Ot,uri:d.ns[Ot]})});for(var x=0,R=r.attribList.length;x<R;x++){var L=r.attribList[x],B=L[0],Q=L[1],N=ot(B,!0),ee=N.prefix,$a=N.local,It=ee===""?"":d.ns[ee]||"",ct={name:B,value:Q,prefix:ee,local:$a,uri:It};ee&&ee!=="xmlns"&&!It&&(M(r,"Unbound namespace prefix: "+JSON.stringify(ee)),ct.uri=ee),r.tag.attributes[B]=ct,A(r,"onattribute",ct)}r.attribList.length=0}r.tag.isSelfClosing=!!a,r.sawRoot=!0,r.tags.push(r.tag),A(r,"onopentag",r.tag),a||(!r.noscript&&r.tagName.toLowerCase()==="script"?r.state=c.SCRIPT:r.state=c.TEXT,r.tag=null,r.tagName=""),r.attribName=r.attribValue="",r.attribList.length=0}function lt(r){if(!r.tagName){M(r,"Weird empty close tag."),r.textNode+="</>",r.state=c.TEXT;return}if(r.script){if(r.tagName!=="script"){r.script+="</"+r.tagName+">",r.tagName="",r.state=c.SCRIPT;return}A(r,"onscript",r.script),r.script=""}var a=r.tags.length,d=r.tagName;r.strict||(d=d[r.looseCase]());for(var l=d;a--&&r.tags[a].name!==l;)M(r,"Unexpected close tag");if(a<0){M(r,"Unmatched closing tag: "+r.tagName),r.textNode+="</"+r.tagName+">",r.state=c.TEXT;return}r.tagName=d;for(var k=r.tags.length;k-- >a;){var x=r.tag=r.tags.pop();r.tagName=r.tag.name,A(r,"onclosetag",r.tagName);var R={};for(var L in x.ns)R[L]=x.ns[L];var B=r.tags[r.tags.length-1]||r;r.opt.xmlns&&x.ns!==B.ns&&Object.keys(x.ns).forEach(function(Q){var N=x.ns[Q];A(r,"onclosenamespace",{prefix:Q,uri:N})})}a===0&&(r.closedRoot=!0),r.tagName=r.attribValue=r.attribName="",r.attribList.length=0,r.state=c.TEXT}function kt(r){var a=r.entity,d=a.toLowerCase(),l,k="";return r.ENTITIES[a]?r.ENTITIES[a]:r.ENTITIES[d]?r.ENTITIES[d]:(a=d,a.charAt(0)==="#"&&(a.charAt(1)==="x"?(a=a.slice(2),l=parseInt(a,16),k=l.toString(16)):(a=a.slice(1),l=parseInt(a,10),k=l.toString(10))),a=a.replace(/^0+/,""),isNaN(l)||k.toLowerCase()!==a?(M(r,"Invalid character entity"),"&"+r.entity+";"):String.fromCodePoint(l))}function Et(r,a){a==="<"?(r.state=c.OPEN_WAKA,r.startTagPosition=r.position):C(a)||(M(r,"Non-whitespace before first tag."),r.textNode=a,r.state=c.TEXT)}function Mt(r,a){var d="";return a<r.length&&(d=r.charAt(a)),d}function Va(r){var a=this;if(this.error)throw this.error;if(a.closed)return Fe(a,"Cannot write after close. Assign an onready handler.");if(r===null)return St(a);typeof r=="object"&&(r=r.toString());for(var d=0,l="";l=Mt(r,d++),a.c=l,!!l;)switch(a.trackPosition&&(a.position++,l===`
|
|
49
|
+
`?(a.line++,a.column=0):a.column++),a.state){case c.BEGIN:if(a.state=c.BEGIN_WHITESPACE,l==="\uFEFF")continue;Et(a,l);continue;case c.BEGIN_WHITESPACE:Et(a,l);continue;case c.TEXT:if(a.sawRoot&&!a.closedRoot){for(var k=d-1;l&&l!=="<"&&l!=="&";)l=Mt(r,d++),l&&a.trackPosition&&(a.position++,l===`
|
|
50
|
+
`?(a.line++,a.column=0):a.column++);a.textNode+=r.substring(k,d-1)}l==="<"&&!(a.sawRoot&&a.closedRoot&&!a.strict)?(a.state=c.OPEN_WAKA,a.startTagPosition=a.position):(!C(l)&&(!a.sawRoot||a.closedRoot)&&M(a,"Text data outside of root node."),l==="&"?a.state=c.TEXT_ENTITY:a.textNode+=l);continue;case c.SCRIPT:l==="<"?a.state=c.SCRIPT_ENDING:a.script+=l;continue;case c.SCRIPT_ENDING:l==="/"?a.state=c.CLOSE_TAG:(a.script+="<"+l,a.state=c.SCRIPT);continue;case c.OPEN_WAKA:if(l==="!")a.state=c.SGML_DECL,a.sgmlDecl="";else if(!C(l))if(F(T,l))a.state=c.OPEN_TAG,a.tagName=l;else if(l==="/")a.state=c.CLOSE_TAG,a.tagName="";else if(l==="?")a.state=c.PROC_INST,a.procInstName=a.procInstBody="";else{if(M(a,"Unencoded <"),a.startTagPosition+1<a.position){var x=a.position-a.startTagPosition;l=new Array(x).join(" ")+l}a.textNode+="<"+l,a.state=c.TEXT}continue;case c.SGML_DECL:(a.sgmlDecl+l).toUpperCase()===h?(A(a,"onopencdata"),a.state=c.CDATA,a.sgmlDecl="",a.cdata=""):a.sgmlDecl+l==="--"?(a.state=c.COMMENT,a.comment="",a.sgmlDecl=""):(a.sgmlDecl+l).toUpperCase()===b?(a.state=c.DOCTYPE,(a.doctype||a.sawRoot)&&M(a,"Inappropriately located doctype declaration"),a.doctype="",a.sgmlDecl=""):l===">"?(A(a,"onsgmldeclaration",a.sgmlDecl),a.sgmlDecl="",a.state=c.TEXT):(O(l)&&(a.state=c.SGML_DECL_QUOTED),a.sgmlDecl+=l);continue;case c.SGML_DECL_QUOTED:l===a.q&&(a.state=c.SGML_DECL,a.q=""),a.sgmlDecl+=l;continue;case c.DOCTYPE:l===">"?(a.state=c.TEXT,A(a,"ondoctype",a.doctype),a.doctype=!0):(a.doctype+=l,l==="["?a.state=c.DOCTYPE_DTD:O(l)&&(a.state=c.DOCTYPE_QUOTED,a.q=l));continue;case c.DOCTYPE_QUOTED:a.doctype+=l,l===a.q&&(a.q="",a.state=c.DOCTYPE);continue;case c.DOCTYPE_DTD:a.doctype+=l,l==="]"?a.state=c.DOCTYPE:O(l)&&(a.state=c.DOCTYPE_DTD_QUOTED,a.q=l);continue;case c.DOCTYPE_DTD_QUOTED:a.doctype+=l,l===a.q&&(a.state=c.DOCTYPE_DTD,a.q="");continue;case c.COMMENT:l==="-"?a.state=c.COMMENT_ENDING:a.comment+=l;continue;case c.COMMENT_ENDING:l==="-"?(a.state=c.COMMENT_ENDED,a.comment=Ct(a.opt,a.comment),a.comment&&A(a,"oncomment",a.comment),a.comment=""):(a.comment+="-"+l,a.state=c.COMMENT);continue;case c.COMMENT_ENDED:l!==">"?(M(a,"Malformed comment"),a.comment+="--"+l,a.state=c.COMMENT):a.state=c.TEXT;continue;case c.CDATA:l==="]"?a.state=c.CDATA_ENDING:a.cdata+=l;continue;case c.CDATA_ENDING:l==="]"?a.state=c.CDATA_ENDING_2:(a.cdata+="]"+l,a.state=c.CDATA);continue;case c.CDATA_ENDING_2:l===">"?(a.cdata&&A(a,"oncdata",a.cdata),A(a,"onclosecdata"),a.cdata="",a.state=c.TEXT):l==="]"?a.cdata+="]":(a.cdata+="]]"+l,a.state=c.CDATA);continue;case c.PROC_INST:l==="?"?a.state=c.PROC_INST_ENDING:C(l)?a.state=c.PROC_INST_BODY:a.procInstName+=l;continue;case c.PROC_INST_BODY:if(!a.procInstBody&&C(l))continue;l==="?"?a.state=c.PROC_INST_ENDING:a.procInstBody+=l;continue;case c.PROC_INST_ENDING:l===">"?(A(a,"onprocessinginstruction",{name:a.procInstName,body:a.procInstBody}),a.procInstName=a.procInstBody="",a.state=c.TEXT):(a.procInstBody+="?"+l,a.state=c.PROC_INST_BODY);continue;case c.OPEN_TAG:F(w,l)?a.tagName+=l:(Ga(a),l===">"?q(a):l==="/"?a.state=c.OPEN_TAG_SLASH:(C(l)||M(a,"Invalid character in tag name"),a.state=c.ATTRIB));continue;case c.OPEN_TAG_SLASH:l===">"?(q(a,!0),lt(a)):(M(a,"Forward-slash in opening tag not followed by >"),a.state=c.ATTRIB);continue;case c.ATTRIB:if(C(l))continue;l===">"?q(a):l==="/"?a.state=c.OPEN_TAG_SLASH:F(T,l)?(a.attribName=l,a.attribValue="",a.state=c.ATTRIB_NAME):M(a,"Invalid attribute name");continue;case c.ATTRIB_NAME:l==="="?a.state=c.ATTRIB_VALUE:l===">"?(M(a,"Attribute without value"),a.attribValue=a.attribName,it(a),q(a)):C(l)?a.state=c.ATTRIB_NAME_SAW_WHITE:F(w,l)?a.attribName+=l:M(a,"Invalid attribute name");continue;case c.ATTRIB_NAME_SAW_WHITE:if(l==="=")a.state=c.ATTRIB_VALUE;else{if(C(l))continue;M(a,"Attribute without value"),a.tag.attributes[a.attribName]="",a.attribValue="",A(a,"onattribute",{name:a.attribName,value:""}),a.attribName="",l===">"?q(a):F(T,l)?(a.attribName=l,a.state=c.ATTRIB_NAME):(M(a,"Invalid attribute name"),a.state=c.ATTRIB)}continue;case c.ATTRIB_VALUE:if(C(l))continue;O(l)?(a.q=l,a.state=c.ATTRIB_VALUE_QUOTED):(M(a,"Unquoted attribute value"),a.state=c.ATTRIB_VALUE_UNQUOTED,a.attribValue=l);continue;case c.ATTRIB_VALUE_QUOTED:if(l!==a.q){l==="&"?a.state=c.ATTRIB_VALUE_ENTITY_Q:a.attribValue+=l;continue}it(a),a.q="",a.state=c.ATTRIB_VALUE_CLOSED;continue;case c.ATTRIB_VALUE_CLOSED:C(l)?a.state=c.ATTRIB:l===">"?q(a):l==="/"?a.state=c.OPEN_TAG_SLASH:F(T,l)?(M(a,"No whitespace between attributes"),a.attribName=l,a.attribValue="",a.state=c.ATTRIB_NAME):M(a,"Invalid attribute name");continue;case c.ATTRIB_VALUE_UNQUOTED:if(!I(l)){l==="&"?a.state=c.ATTRIB_VALUE_ENTITY_U:a.attribValue+=l;continue}it(a),l===">"?q(a):a.state=c.ATTRIB;continue;case c.CLOSE_TAG:if(a.tagName)l===">"?lt(a):F(w,l)?a.tagName+=l:a.script?(a.script+="</"+a.tagName,a.tagName="",a.state=c.SCRIPT):(C(l)||M(a,"Invalid tagname in closing tag"),a.state=c.CLOSE_TAG_SAW_WHITE);else{if(C(l))continue;D(T,l)?a.script?(a.script+="</"+l,a.state=c.SCRIPT):M(a,"Invalid tagname in closing tag."):a.tagName=l}continue;case c.CLOSE_TAG_SAW_WHITE:if(C(l))continue;l===">"?lt(a):M(a,"Invalid characters in closing tag");continue;case c.TEXT_ENTITY:case c.ATTRIB_VALUE_ENTITY_Q:case c.ATTRIB_VALUE_ENTITY_U:var R,L;switch(a.state){case c.TEXT_ENTITY:R=c.TEXT,L="textNode";break;case c.ATTRIB_VALUE_ENTITY_Q:R=c.ATTRIB_VALUE_QUOTED,L="attribValue";break;case c.ATTRIB_VALUE_ENTITY_U:R=c.ATTRIB_VALUE_UNQUOTED,L="attribValue";break}if(l===";")if(a.opt.unparsedEntities){var B=kt(a);a.entity="",a.state=R,a.write(B)}else a[L]+=kt(a),a.entity="",a.state=R;else F(a.entity.length?E:v,l)?a.entity+=l:(M(a,"Invalid character in entity name"),a[L]+="&"+a.entity+l,a.entity="",a.state=R);continue;default:throw new Error(a,"Unknown state: "+a.state)}return a.position>=a.bufferCheckPosition&&s(a),a}return String.fromCodePoint||(function(){var r=String.fromCharCode,a=Math.floor,d=function(){var l=16384,k=[],x,R,L=-1,B=arguments.length;if(!B)return"";for(var Q="";++L<B;){var N=Number(arguments[L]);if(!isFinite(N)||N<0||N>1114111||a(N)!==N)throw RangeError("Invalid code point: "+N);N<=65535?k.push(N):(N-=65536,x=(N>>10)+55296,R=N%1024+56320,k.push(x,R)),(L+1===B||k.length>l)&&(Q+=r.apply(null,k),k.length=0)}return Q};Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:d,configurable:!0,writable:!0}):String.fromCodePoint=d})(),e},xa=us();var at=`The output should be formatted as a XML file.
|
|
51
|
+
1. Output should conform to the tags below.
|
|
52
|
+
2. If tags are not given, make them on your own.
|
|
53
|
+
3. Remember to always open and close all the tags.
|
|
54
|
+
|
|
55
|
+
As an example, for the tags ["foo", "bar", "baz"]:
|
|
56
|
+
1. String "<foo>
|
|
57
|
+
<bar>
|
|
58
|
+
<baz></baz>
|
|
59
|
+
</bar>
|
|
60
|
+
</foo>" is a well-formatted instance of the schema.
|
|
61
|
+
2. String "<foo>
|
|
62
|
+
<bar>
|
|
63
|
+
</foo>" is a badly-formatted instance.
|
|
64
|
+
3. String "<foo>
|
|
65
|
+
<tag>
|
|
66
|
+
</tag>
|
|
67
|
+
</foo>" is a badly-formatted instance.
|
|
68
|
+
|
|
69
|
+
Here are the output tags:
|
|
70
|
+
\`\`\`
|
|
71
|
+
{tags}
|
|
72
|
+
\`\`\``,Na=class extends X{tags;constructor(e){super(e),this.tags=e?.tags}static lc_name(){return"XMLOutputParser"}lc_namespace=["langchain_core","output_parsers"];lc_serializable=!0;_diff(e,t){if(t)return e?pe(e,t):[{op:"replace",path:"",value:t}]}async parsePartialResult(e){return st(e[0].text)}async parse(e){return st(e)}getFormatInstructions(){return this.tags&&this.tags.length>0?at.replace("{tags}",this.tags?.join(", ")??""):at}},ms=e=>e.split(`
|
|
73
|
+
`).map(t=>t.replace(/^\s+/,"")).join(`
|
|
74
|
+
`).trim(),Pa=e=>{if(Object.keys(e).length===0)return{};let t={};return e.children.length>0?(t[e.name]=e.children.map(Pa),t):(t[e.name]=e.text??void 0,t)};function st(e){let t=ms(e),n=xa.parser(!0),s={},o=[];n.onopentag=m=>{let p={name:m.name,attributes:m.attributes,children:[],text:"",isSelfClosing:m.isSelfClosing};o.length>0?o[o.length-1].children.push(p):s=p,m.isSelfClosing||o.push(p)},n.onclosetag=()=>{if(o.length>0){let m=o.pop();o.length===0&&m&&(s=m)}},n.ontext=m=>{if(o.length>0){let p=o[o.length-1];p.text+=m}},n.onattribute=m=>{if(o.length>0){let p=o[o.length-1];p.attributes[m.name]=m.value}};let i=/```(xml)?(.*)```/s.exec(t),u=i?i[2]:t;return n.write(u).close(),s&&s.name==="?xml"&&(s=s.children[0]),Pa(s)}var Ai=S({AsymmetricStructuredOutputParser:()=>Aa,BaseCumulativeTransformOutputParser:()=>X,BaseLLMOutputParser:()=>ht,BaseOutputParser:()=>W,BaseTransformOutputParser:()=>H,BytesOutputParser:()=>Sa,CommaSeparatedListOutputParser:()=>ka,CustomListOutputParser:()=>Ea,JsonMarkdownStructuredOutputParser:()=>_t,JsonOutputParser:()=>tt,ListOutputParser:()=>ye,MarkdownListOutputParser:()=>Ia,NumberedListOutputParser:()=>Ma,OutputParserException:()=>P,StandardSchemaOutputParser:()=>nt,StringOutputParser:()=>Oa,StructuredOutputParser:()=>Pe,XMLOutputParser:()=>Na,XML_FORMAT_INSTRUCTIONS:()=>at,parseJsonMarkdown:()=>te,parsePartialJson:()=>Ce,parseXMLMarkdown:()=>st});function yt(e,t){if(e.function===void 0)return;let n;if(t?.partial)try{n=Ce(e.function.arguments??"{}")}catch{return}else try{n=JSON.parse(e.function.arguments)}catch(o){throw new P([`Function "${e.function.name}" arguments:`,"",e.function.arguments,"","are not valid JSON.",`Error: ${o.message}`].join(`
|
|
75
|
+
`))}let s={name:e.function.name,args:n,type:"tool_call"};return t?.returnId&&(s.id=e.id),s}function La(e){if(e.id===void 0)throw new Error('All OpenAI tool calls must have an "id" field.');return{id:e.id,type:"function",function:{name:e.name,arguments:JSON.stringify(e.args)}}}function Ra(e,t){return{name:e.function?.name,args:e.function?.arguments,id:e.id,error:t,type:"invalid_tool_call"}}var bt=class extends X{static lc_name(){return"JsonOutputToolsParser"}returnId=!1;lc_namespace=["langchain","output_parsers","openai_tools"];lc_serializable=!0;constructor(e){super(e),this.returnId=e?.returnId??this.returnId}_diff(){throw new Error("Not supported.")}async parse(){throw new Error("Not implemented.")}async parseResult(e){return await this.parsePartialResult(e,!1)}async parsePartialResult(e,t=!0){let n=e[0].message,s;if(me(n)&&n.tool_calls?.length?s=n.tool_calls.map(i=>{let{id:u,...m}=i;return this.returnId?{id:u,...m}:m}):n.additional_kwargs.tool_calls!==void 0&&(s=JSON.parse(JSON.stringify(n.additional_kwargs.tool_calls)).map(i=>yt(i,{returnId:this.returnId,partial:t}))),!s)return[];let o=[];for(let i of s)if(i!==void 0){let u={type:i.name,args:i.args,id:i.id};o.push(u)}return o}},rt=class extends bt{static lc_name(){return"JsonOutputKeyToolsParser"}lc_namespace=["langchain","output_parsers","openai_tools"];lc_serializable=!0;returnId=!1;keyName;returnSingle=!1;zodSchema;serializableSchema;constructor(e){super(e),this.keyName=e.keyName,this.returnSingle=e.returnSingle??this.returnSingle,"zodSchema"in e&&(this.zodSchema=e.zodSchema),"serializableSchema"in e&&(this.serializableSchema=e.serializableSchema)}async _validateResult(e){if(this.serializableSchema!==void 0){let n=await this.serializableSchema["~standard"].validate(e);if(n.issues)throw new P(`Failed to parse. Text: "${JSON.stringify(e,null,2)}". Error: ${JSON.stringify(n.issues)}`,JSON.stringify(e,null,2));return n.value}if(this.zodSchema===void 0)return e;let t=await $e(this.zodSchema,e);if(t.success)return t.data;throw new P(`Failed to parse. Text: "${JSON.stringify(e,null,2)}". Error: ${JSON.stringify(t.error?.issues)}`,JSON.stringify(e,null,2))}async parsePartialResult(e){let t=(await super.parsePartialResult(e)).filter(s=>s.type===this.keyName),n=t;if(t.length)return this.returnId||(n=t.map(s=>s.args)),this.returnSingle?n[0]:n}async parseResult(e){let t=(await super.parsePartialResult(e,!1)).filter(s=>s.type===this.keyName),n=t;if(t.length)return this.returnId||(n=t.map(s=>s.args)),this.returnSingle?this._validateResult(n[0]):await Promise.all(n.map(s=>this._validateResult(s)))}};var Qi=S({assembleStructuredOutputPipeline:()=>Tt,createContentParser:()=>fs,createFunctionCallingParser:()=>ps});function fs(e){return Z(e)?Pe.fromZodSchema(e):ge(e)?nt.fromSerializableSchema(e):new tt}function ps(e,t,n){let s=n??rt;return Z(e)?new s({returnSingle:!0,keyName:t,zodSchema:e}):ge(e)?new s({returnSingle:!0,keyName:t,serializableSchema:e}):new s({returnSingle:!0,keyName:t})}function Tt(e,t,n,s){if(!n){let p=e.pipe(t);return s?p.withConfig({runName:s}):p}let o=le.assign({parsed:(p,g)=>t.invoke(p.raw,g)}),i=le.assign({parsed:()=>null}),u=o.withFallbacks({fallbacks:[i]}),m=We.from([{raw:e},u]);return s?m.withConfig({runName:s}):m}var Fa=e=>e();function Le(e){let t=e.constructor;return new t({...e,content:e.contentBlocks,response_metadata:{...e.response_metadata,output_version:"v1"}})}var Cl=S({BaseChatModel:()=>Da,SimpleChatModel:()=>ds});function vt(e){let t=[];for(let n of e){let s=n;if(Array.isArray(n.content))for(let o=0;o<n.content.length;o++){let i=n.content[o];(De(i)||Be(i))&&s===n&&(s=new n.constructor({...s,content:[...n.content.slice(0,o),Ue(i),...n.content.slice(o+1)]}))}t.push(s)}return t}var Da=class J extends Ze{lc_namespace=["langchain","chat_models",this._llmType()];disableStreaming=!1;outputVersion;get callKeys(){return[...super.callKeys,"outputVersion"]}constructor(t){super(t),this.outputVersion=Fa(()=>{let n=t.outputVersion??ce("LC_OUTPUT_VERSION");return n&&["v0","v1"].includes(n)?n:"v0"})}_separateRunnableConfigFromCallOptionsCompat(t){let[n,s]=super._separateRunnableConfigFromCallOptions(t);return s.signal=n.signal,[n,s]}async invoke(t,n){let s=J._convertInputToPromptValue(t);return(await this.generatePrompt([s],n,n?.callbacks)).generations[0][0].message}async*_streamResponseChunks(t,n,s){throw new Error("Not implemented.")}async*_streamChatModelEvents(t,n,s){yield*gt(this._streamResponseChunks(t,n,s),{signal:n.signal})}streamEvents(t,n,s){if(n?.version==="v1"||n?.version==="v2")return super.streamEvents(t,n,s);let o=J._convertInputToPromptValue(t).toChatMessages(),[,i]=this._separateRunnableConfigFromCallOptionsCompat(n);return new Qe(this._streamChatModelEvents(o,i))}streamV2(t,n){return this.streamEvents(t,n)}async*_streamIterator(t,n){if(this._streamResponseChunks===J.prototype._streamResponseChunks||this.disableStreaming)yield this.invoke(t,n);else{let s=J._convertInputToPromptValue(t).toChatMessages(),[o,i]=this._separateRunnableConfigFromCallOptionsCompat(n),u={...o.metadata,...this.getLsParamsWithDefaults(i)},m=this._getInvocationParamsForTracing(i),p=await Y.configure(o.callbacks,this.callbacks,o.tags,this.tags,u,this.metadata,{verbose:this.verbose,tracerInheritableMetadata:this._filterInvocationParamsForTracing(m)}),g={options:this._getCallOptionsForTracing(i,m),invocation_params:m,batch_size:1},h=i.outputVersion??this.outputVersion,b=await p?.handleChatModelStart(this.toJSON(),[vt(s)],o.runId,void 0,g,void 0,void 0,o.runName),_,y;try{for await(let f of this._streamResponseChunks(s,i,b?.[0])){if(i.signal?.throwIfAborted(),f.message.id==null){let T=b?.at(0)?.runId;T!=null&&f.message._updateId(`run-${T}`)}f.message.response_metadata={...f.generationInfo,...f.message.response_metadata},h==="v1"?yield Le(f.message):yield f.message,_?_=_.concat(f):_=f,Se(f.message)&&f.message.usage_metadata!==void 0&&(y={tokenUsage:{promptTokens:f.message.usage_metadata.input_tokens,completionTokens:f.message.usage_metadata.output_tokens,totalTokens:f.message.usage_metadata.total_tokens}})}i.signal?.throwIfAborted()}catch(f){throw await Promise.all((b??[]).map(T=>T?.handleLLMError(f))),f}await Promise.all((b??[]).map(f=>f?.handleLLMEnd({generations:[[_]],llmOutput:y})))}}getLsParams(t){let n=this.getName().startsWith("Chat")?this.getName().replace("Chat",""):this.getName();return{ls_model_type:"chat",ls_stop:t.stop,ls_provider:n}}getLsParamsWithDefaults(t){return{...this.getLsParams(t),ls_integration:"langchain_chat_model"}}async _generateUncached(t,n,s,o){let i=t.map(y=>y.map(fe)),u;if(o!==void 0&&o.length===i.length)u=o;else{let y={...s.metadata,...this.getLsParamsWithDefaults(n)},f=this._getInvocationParamsForTracing(n),T=await Y.configure(s.callbacks,this.callbacks,s.tags,this.tags,y,this.metadata,{verbose:this.verbose,tracerInheritableMetadata:this._filterInvocationParamsForTracing(f)}),w={options:this._getCallOptionsForTracing(n,f),invocation_params:f,batch_size:1};u=await T?.handleChatModelStart(this.toJSON(),i.map(vt),s.runId,void 0,w,void 0,void 0,s.runName)}let m=n.outputVersion??this.outputVersion,p=[],g=[],h=!!u?.[0].handlers.find(gn),b=!!u?.[0].handlers.find(je);if(h&&!this.disableStreaming&&i.length===1&&(this._streamChatModelEvents!==J.prototype._streamChatModelEvents||this._streamResponseChunks!==J.prototype._streamResponseChunks))try{let y=!1,f=u?.[0],T=this._streamChatModelEvents(i[0],n),w=await new Qe({async*[Symbol.asyncIterator](){for await(let C of T){n.signal?.throwIfAborted(),y=!0;let O=C.event==="message-start"&&C.id==null&&f?.runId!=null?{...C,id:`run-${f.runId}`}:C;await f?.handleChatModelStreamEvent(O),yield O}}});if(n.signal?.throwIfAborted(),!y)throw new Error("Received empty response from chat model call.");if(w.id==null){let C=u?.at(0)?.runId;C!=null&&w._updateId(`run-${C}`)}let v={text:w.text,message:w};p.push([v]);let E=w.usage_metadata!==void 0?{tokenUsage:{promptTokens:w.usage_metadata.input_tokens,completionTokens:w.usage_metadata.output_tokens,totalTokens:w.usage_metadata.total_tokens}}:void 0;await u?.[0].handleLLMEnd({generations:p,llmOutput:E})}catch(y){throw await u?.[0].handleLLMError(y),y}else if(b&&!this.disableStreaming&&i.length===1&&this._streamResponseChunks!==J.prototype._streamResponseChunks)try{let y=await this._streamResponseChunks(i[0],n,u?.[0]),f,T;for await(let w of y){if(n.signal?.aborted){let v=f?.message;throw new ut("Model invocation was aborted.",v)}if(w.message.id==null){let v=u?.at(0)?.runId;v!=null&&w.message._updateId(`run-${v}`)}f===void 0?f=w:f=K(f,w),Se(w.message)&&w.message.usage_metadata!==void 0&&(T={tokenUsage:{promptTokens:w.message.usage_metadata.input_tokens,completionTokens:w.message.usage_metadata.output_tokens,totalTokens:w.message.usage_metadata.total_tokens}})}if(n.signal?.aborted){let w=f?.message;throw new ut("Model invocation was aborted.",w)}if(f===void 0)throw new Error("Received empty response from chat model call.");m==="v1"&&(f.message=Le(f.message)),p.push([f]),await u?.[0].handleLLMEnd({generations:p,llmOutput:T})}catch(y){throw await u?.[0].handleLLMError(y),y}else{let y=await Promise.allSettled(i.map(async(f,T)=>{let w=await this._generate(f,{...n,promptIndex:T},u?.[T]);if(m==="v1")for(let v of w.generations)v.message=Le(v.message);return w}));await Promise.all(y.map(async(f,T)=>{if(f.status==="fulfilled"){let w=f.value;for(let v of w.generations){if(v.message.id==null){let E=u?.at(0)?.runId;E!=null&&v.message._updateId(`run-${E}`)}v.message.response_metadata={...v.generationInfo,...v.message.response_metadata}}return w.generations.length===1&&(w.generations[0].message.response_metadata={...w.llmOutput,...w.generations[0].message.response_metadata}),p[T]=w.generations,g[T]=w.llmOutput,u?.[T]?.handleLLMEnd({generations:[w.generations],llmOutput:w.llmOutput})}else return await u?.[T]?.handleLLMError(f.reason),Promise.reject(f.reason)}))}let _={generations:p,llmOutput:g.length?this._combineLLMOutput?.(...g):void 0};return Object.defineProperty(_,de,{value:u?{runIds:u?.map(y=>y.runId)}:void 0,configurable:!0}),_}async _generateCached({messages:t,cache:n,llmStringKey:s,parsedOptions:o,handledOptions:i}){let u=t.map(v=>v.map(fe)),m={...i.metadata,...this.getLsParamsWithDefaults(o)},p=this._getInvocationParamsForTracing(o),g=await Y.configure(i.callbacks,this.callbacks,i.tags,this.tags,m,this.metadata,{verbose:this.verbose,tracerInheritableMetadata:this._filterInvocationParamsForTracing(p)}),h={options:this._getCallOptionsForTracing(o,p),invocation_params:p,batch_size:1},b=await g?.handleChatModelStart(this.toJSON(),u.map(vt),i.runId,void 0,h,void 0,void 0,i.runName),_=[],y=(await Promise.allSettled(u.map(async(v,E)=>{let C=J._convertInputToPromptValue(v).toString(),O=await n.lookup(C,s);return O==null&&_.push(E),O}))).map((v,E)=>({result:v,runManager:b?.[E]})).filter(({result:v})=>v.status==="fulfilled"&&v.value!=null||v.status==="rejected"),f=o.outputVersion??this.outputVersion,T=[];await Promise.all(y.map(async({result:v,runManager:E},C)=>{if(v.status==="fulfilled"){let O=v.value;return T[C]=O.map(I=>("message"in I&&U(I.message)&&me(I.message)&&(I.message.usage_metadata={input_tokens:0,output_tokens:0,total_tokens:0},f==="v1"&&(I.message=Le(I.message))),I.generationInfo={...I.generationInfo,tokenUsage:{}},I)),O.length&&await E?.handleLLMNewToken(O[0].text),E?.handleLLMEnd({generations:[O]},void 0,void 0,void 0,{cached:!0})}else return await E?.handleLLMError(v.reason,void 0,void 0,void 0,{cached:!0}),Promise.reject(v.reason)}));let w={generations:T,missingPromptIndices:_,startedRunManagers:b};return Object.defineProperty(w,de,{value:b?{runIds:b?.map(v=>v.runId)}:void 0,configurable:!0}),w}async generate(t,n,s){let o;Array.isArray(n)?o={stop:n}:o=n;let i=t.map(f=>f.map(fe)),[u,m]=this._separateRunnableConfigFromCallOptionsCompat(o);if(u.callbacks=u.callbacks??s,!this.cache)return this._generateUncached(i,m,u);let{cache:p}=this,g=this._getSerializedCacheKeyParametersForCall(m),{generations:h,missingPromptIndices:b,startedRunManagers:_}=await this._generateCached({messages:i,cache:p,llmStringKey:g,parsedOptions:m,handledOptions:u}),y={};if(b.length>0){let f=await this._generateUncached(b.map(T=>i[T]),m,u,_!==void 0?b.map(T=>_?.[T]):void 0);await Promise.all(f.generations.map(async(T,w)=>{let v=b[w];h[v]=T;let E=J._convertInputToPromptValue(i[v]).toString();return p.update(E,g,T)})),y=f.llmOutput??{}}return{generations:h,llmOutput:y}}_getInvocationParamsForTracing(t){return this.invocationParams(t)}_getCallOptionsForTracing(t,n){return t}invocationParams(t){return{}}_modelType(){return"base_chat_model"}async generatePrompt(t,n,s){let o=t.map(i=>i.toChatMessages());return this.generate(o,n,s)}withStructuredOutput(t,n){if(typeof this.bindTools!="function")throw new Error('Chat model must implement ".bindTools()" to use withStructuredOutput.');if(n?.strict)throw new Error('"strict" mode is not supported for this model by default.');let s=t,o=n?.name,i=ze(s)??"A function available to call.",u=n?.method,m=n?.includeRaw;if(u==="jsonMode")throw new Error('Base withStructuredOutput implementation only supports "functionCalling" as a method.');let p=o??"extract";!Z(s)&&!ge(s)&&"name"in s&&(p=s.name);let g=Z(s)||ge(s)?ie(s):s,h=[{type:"function",function:{name:p,description:i,parameters:g}}];return Tt(this.bindTools(h),$.from(b=>{if(!G.isInstance(b))throw new Error("Input is not an AIMessageChunk.");if(!b.tool_calls||b.tool_calls.length===0)throw new Error("No tool calls found in the response.");let _=b.tool_calls.find(y=>y.name===p);if(!_)throw new Error(`No tool call found with name ${p}.`);return _.args}),m,m?"StructuredOutputRunnable":"StructuredOutput")}},ds=class extends Da{async _generate(e,t,n){let s=new j(await this._call(e,t,n));if(typeof s.content!="string")throw new Error("Cannot generate with a simple chat model when output is not a string.");return{generations:[{text:s.content,message:s}]}}};var Nl=S({BaseLLM:()=>Ba,LLM:()=>gs}),Ba=class Re extends Ze{lc_namespace=["langchain","llms",this._llmType()];async invoke(t,n){let s=Re._convertInputToPromptValue(t);return(await this.generatePrompt([s],n,n?.callbacks)).generations[0][0].text}async*_streamResponseChunks(t,n,s){throw new Error("Not implemented.")}_separateRunnableConfigFromCallOptionsCompat(t){let[n,s]=super._separateRunnableConfigFromCallOptions(t);return s.signal=n.signal,[n,s]}async*_streamIterator(t,n){if(this._streamResponseChunks===Re.prototype._streamResponseChunks)yield this.invoke(t,n);else{let s=Re._convertInputToPromptValue(t),[o,i]=this._separateRunnableConfigFromCallOptionsCompat(n),u=this.invocationParams(i),m=await Y.configure(o.callbacks,this.callbacks,o.tags,this.tags,o.metadata,this.metadata,{verbose:this.verbose,tracerInheritableMetadata:this._filterInvocationParamsForTracing(u)}),p={options:i,invocation_params:u,batch_size:1},g=await m?.handleLLMStart(this.toJSON(),[s.toString()],o.runId,void 0,p,void 0,void 0,o.runName),h=new Ve({text:""});try{for await(let b of this._streamResponseChunks(s.toString(),i,g?.[0]))h?h=h.concat(b):h=b,typeof b.text=="string"&&(yield b.text)}catch(b){throw await Promise.all((g??[]).map(_=>_?.handleLLMError(b))),b}await Promise.all((g??[]).map(b=>b?.handleLLMEnd({generations:[[h]]})))}}async generatePrompt(t,n,s){let o=t.map(i=>i.toString());return this.generate(o,n,s)}invocationParams(t){return{}}_flattenLLMResult(t){let n=[];for(let s=0;s<t.generations.length;s+=1){let o=t.generations[s];if(s===0)n.push({generations:[o],llmOutput:t.llmOutput});else{let i=t.llmOutput?{...t.llmOutput,tokenUsage:{}}:void 0;n.push({generations:[o],llmOutput:i})}}return n}async _generateUncached(t,n,s,o){let i;if(o!==void 0&&o.length===t.length)i=o;else{let g=this.invocationParams(n),h=await Y.configure(s.callbacks,this.callbacks,s.tags,this.tags,s.metadata,this.metadata,{verbose:this.verbose,tracerInheritableMetadata:this._filterInvocationParamsForTracing(g)}),b={options:n,invocation_params:g,batch_size:t.length};i=await h?.handleLLMStart(this.toJSON(),t,s.runId,void 0,b,void 0,void 0,s?.runName)}let u=!!i?.[0].handlers.find(je),m;if(u&&t.length===1&&this._streamResponseChunks!==Re.prototype._streamResponseChunks)try{let g=await this._streamResponseChunks(t[0],n,i?.[0]),h;for await(let b of g)h===void 0?h=b:h=K(h,b);if(h===void 0)throw new Error("Received empty response from chat model call.");m={generations:[[h]],llmOutput:{}},await i?.[0].handleLLMEnd(m)}catch(g){throw await i?.[0].handleLLMError(g),g}else{try{m=await this._generate(t,n,i?.[0])}catch(h){throw await Promise.all((i??[]).map(b=>b?.handleLLMError(h))),h}let g=this._flattenLLMResult(m);await Promise.all((i??[]).map((h,b)=>h?.handleLLMEnd(g[b])))}let p=i?.map(g=>g.runId)||void 0;return Object.defineProperty(m,de,{value:p?{runIds:p}:void 0,configurable:!0}),m}async _generateCached({prompts:t,cache:n,llmStringKey:s,parsedOptions:o,handledOptions:i,runId:u}){let m=this.invocationParams(o),p=await Y.configure(i.callbacks,this.callbacks,i.tags,this.tags,i.metadata,this.metadata,{verbose:this.verbose,tracerInheritableMetadata:this._filterInvocationParamsForTracing(m)}),g={options:o,invocation_params:m,batch_size:t.length},h=await p?.handleLLMStart(this.toJSON(),t,u,void 0,g,void 0,void 0,i?.runName),b=[],_=(await Promise.allSettled(t.map(async(T,w)=>{let v=await n.lookup(T,s);return v==null&&b.push(w),v}))).map((T,w)=>({result:T,runManager:h?.[w]})).filter(({result:T})=>T.status==="fulfilled"&&T.value!=null||T.status==="rejected"),y=[];await Promise.all(_.map(async({result:T,runManager:w},v)=>{if(T.status==="fulfilled"){let E=T.value;return y[v]=E.map(C=>(C.generationInfo={...C.generationInfo,tokenUsage:{}},C)),E.length&&await w?.handleLLMNewToken(E[0].text),w?.handleLLMEnd({generations:[E]},void 0,void 0,void 0,{cached:!0})}else return await w?.handleLLMError(T.reason,void 0,void 0,void 0,{cached:!0}),Promise.reject(T.reason)}));let f={generations:y,missingPromptIndices:b,startedRunManagers:h};return Object.defineProperty(f,de,{value:h?{runIds:h?.map(T=>T.runId)}:void 0,configurable:!0}),f}async generate(t,n,s){if(!Array.isArray(t))throw new Error("Argument 'prompts' is expected to be a string[]");let o;Array.isArray(n)?o={stop:n}:o=n;let[i,u]=this._separateRunnableConfigFromCallOptionsCompat(o);if(i.callbacks=i.callbacks??s,!this.cache)return this._generateUncached(t,u,i);let{cache:m}=this,p=this._getSerializedCacheKeyParametersForCall(u),{generations:g,missingPromptIndices:h,startedRunManagers:b}=await this._generateCached({prompts:t,cache:m,llmStringKey:p,parsedOptions:u,handledOptions:i,runId:i.runId}),_={};if(h.length>0){let y=await this._generateUncached(h.map(f=>t[f]),u,i,b!==void 0?h.map(f=>b?.[f]):void 0);await Promise.all(y.generations.map(async(f,T)=>{let w=h[T];return g[w]=f,m.update(t[w],p,f)})),_=y.llmOutput??{}}return{generations:g,llmOutput:_}}_identifyingParams(){return{}}_modelType(){return"base_llm"}},gs=class extends Ba{async _generate(e,t,n){return{generations:await Promise.all(e.map((s,o)=>this._call(s,{...t,promptIndex:o},n).then(i=>[{text:i}])))}}};var Dl=S({JsonOutputKeyToolsParser:()=>rt,JsonOutputToolsParser:()=>bt,convertLangChainToolCallToOpenAI:()=>La,makeInvalidToolCall:()=>Ra,parseToolCall:()=>yt});var Vl=S({convertToOpenAIFunction:()=>Ua,convertToOpenAITool:()=>hs,isLangChainTool:()=>ft,isRunnableToolLike:()=>ta,isStructuredTool:()=>ea,isStructuredToolParams:()=>na});function Ua(e,t){let n=typeof t=="number"?void 0:t;return{name:e.name,description:e.description,parameters:ie(e.schema),...n?.strict!==void 0?{strict:n.strict}:{}}}function hs(e,t){let n=typeof t=="number"?void 0:t,s;return ft(e)?s={type:"function",function:Ua(e)}:s=e,n?.strict!==void 0&&(s.function.strict=n.strict),s}var Kl=S({DEFAULT_LANGSMITH_GATEWAY:()=>ja,resolveLangSmithGatewayConfig:()=>Cs}),_s="LANGSMITH_GATEWAY",ys="LANGSMITH_GATEWAY_API_KEY",bs="LANGSMITH_API_KEY",ja="https://gateway.smith.langchain.com",Ts=["true","1","yes"],vs=["false","0","no"];function ws(e){let t=ce(_s);if(!(!t||vs.includes(t.toLowerCase())))return`${Ts.includes(t.toLowerCase())?ja:t.replace(/\/+$/,"")}/${e}`}function Cs({baseURL:e,providerPath:t}){if(e!==void 0)return{baseURL:e};let n=ws(t);return n===void 0?{}:{baseURL:n,apiKey:ce(ys)||ce(bs)}}export{ca as a,tr as b,gr as c,Za as d,le as e,Hr as f,xo as g,ht as h,W as i,X as j,tt as k,Ai as l,qr as m,yt as n,La as o,Ra as p,Qi as q,fs as r,ps as s,Tt as t,rr as u,Qe as v,no as w,et as x,Cl as y,Da as z,oo as A,as as B,Nl as C,gs as D,Dl as E,co as F,cs as G,Vl as H,hs as I,Kl as J,ja as K,Cs as L};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import{a as I}from"./XQ3NBBQ3.js";import o from"./BBB5EJUB.js";import{c as A,d as K}from"./GMZUN5SF.js";import"./KY7M4WHO.js";import n from"./UOKYHQNO.js";import m from"./YI6NIHNI.js";import l from"./L5IPMRHC.js";import j from"./UQRBY7ID.js";import i from"./FX4LV2S3.js";import"./34O57OGV.js";import"./XEJFVUNQ.js";import h from"./XC3T3Z5R.js";import"./KX6CZEVZ.js";import"./PGH7POKS.js";import g from"./NPV4MEAZ.js";import"./AQF6BBWC.js";import"./ZSLHB6MF.js";import"./TJBU5BQK.js";import f from"./C67KQCPS.js";import"./OVIQ5NSE.js";import"./QUZTFUWM.js";import"./OGZFST2A.js";import"./X5ET73QZ.js";import e from"./MPQ2OZXN.js";import a from"./JZPPP4QY.js";import"./ONQ6JSBJ.js";import"./2DWN3SKH.js";import"./FDOMMK2M.js";import"./DYSPEU7W.js";import{a as S,c as T}from"./66VWTARH.js";import"./24TK55FP.js";import"./FJV7CI7O.js";import"./WSIZ2OTL.js";import{C as x,x as y}from"./RE7MJTEF.js";import"./R74ZHFA6.js";import"./DJG6DBCU.js";import"./C76HLPKU.js";import"./RFPTOFM4.js";import{a as c,b}from"./CADNOKIK.js";import"./BMPBJXD7.js";import"./CDS2HGQY.js";import{Ea as _,a as k,b as d,j as v}from"./QEGO4B2W.js";import"./EEHDAYOG.js";import"./XWNZMKQF.js";import"./FSLPYC4Y.js";import"./AMP43OT2.js";import{fa as u}from"./2UKFCF2J.js";import"./UZLQALHY.js";export default $arcgis.t(([,,,{fetchKnowledgeGraph:W},,,,,,,,,,,{a:q,b:h,o:m,p:w,q:E,r:M,s:C,t:G,u:N,v:R,w:z,x:L,y:$,z:F}])=>{var D=[N,R,$,z,G,F,L];async function O(e,t){let o=await m("arcgis_knowledge_tool_prompt"),s=E(t),r={assignedTask:e.agentExecutionContext.assignedTask,userRequest:e.agentExecutionContext.userRequest,priorSteps:e.agentExecutionContext.priorSteps,contextType:s},n=await T({promptText:o,messages:e.arcgisKnowledgeMessages,inputVariables:r,tools:D,config:t}),i=(n.tool_calls?.length??0)>0,a=typeof n.text=="string"?n.text.trim():"",l=a.length>0,g=n.text;return!i&&(s==="map"||s==="knowledgeGraph")?{...e,arcgisKnowledgeMessages:[...e.arcgisKnowledgeMessages,n],outputMessage:s==="map"?"No tools were found for the current view and prompt. Maps do not support changing nonspatial visibility, layout changes, or generation from queries.":"No tools were found for the current prompt and knowledge graph service. A knowledge graph service only supports search and query.",status:"success"}:{...e,arcgisKnowledgeMessages:[...e.arcgisKnowledgeMessages,n],outputMessage:i?g:a,status:i?e.status:l?"success":"failed",summary:g?h(g):"ArcGIS Knowledge Agent tool executed."}}var U={generateCypher:"generated-cypher-query",queryGraphData:"graph-query-result",searchGraphData:"graph-search-result",addRecords:"added-records",applyLayout:"applied-layout",changeNonspatialVisibility:"changed-nonspatial-visibility",createLinkChart:"created-link-chart"};function j(e){return!!e&&e.status==="success"&&!!U[e.toolName]}function J(e){return{type:U[e.toolName],data:e.details}}async function P(e,t){let o=new q(D,{handleToolErrors:!1});try{let s=await o.invoke({messages:e.arcgisKnowledgeMessages},t),r=[];for(let a of s.messages){let l;if(typeof a.content!="string")throw new Error(`Unexpected tool message content type: ${typeof a.content}. Expected string.`);try{l=JSON.parse(a.content)}catch{throw new Error(`Failed to parse tool message content as JSON. Tool: ${a.name??"unknown"}.
|
|
3
|
+
|
|
4
|
+
Original Content: ${a.content}`)}if(!l||typeof l!="object"||!("toolName"in l))throw new Error(`Parsed tool message content does not have expected structure. Parsed content: ${JSON.stringify(l)}`);r.push(l)}await c({text:`Finished executing ArcGIS Knowledge Agent tools: ${s.messages.filter(a=>a.name).map(a=>a.name).join(", ")}`},t);let n=r.filter(a=>typeof a!="string").map(a=>`- Called Tool: ${a.toolName}, Status: ${a.status}`),i=r[0];return i&&j(i)&&await b(J(i),t),{...e,outputMessage:n.join(`
|
|
5
|
+
`),summary:n.length?h(n.join(`
|
|
6
|
+
`)):"ArcGIS Knowledge Agent did not execute any tools or return any results.",arcgisKnowledgeMessages:[...e.arcgisKnowledgeMessages,...s.messages],arcgisKnowledgeToolResult:r}}catch(s){let r=s instanceof Error?s.message:String(s);return await c({text:`ArcGIS Knowledge Agent tool execution failed unexpectedly: ${r}`},t),{...e,outputMessage:`ArcGIS Knowledge Agent tool execution failed unexpectedly: ${r}`,status:"failed",summary:h(`ArcGIS Knowledge Agent tool execution failed unexpectedly: ${r}`),arcgisKnowledgeMessages:[...e.arcgisKnowledgeMessages]}}}var X=(e,t)=>I([],"ArcgisKnowledge Agent")(e,t);async function H(e,t){let o=(e.arcgisKnowledgeToolResult??[]).map(l=>({...l,details:void 0})),{knowledgeGraph:s}=await M(t),r=C.getDataModelTypesSummary(s.dataModel),n={assignedTask:e.agentExecutionContext.assignedTask,userRequest:e.agentExecutionContext.userRequest,toolResult:o,dataModelSummary:r},i=await S({promptText:await m("arcgis_knowledge_summarize_result_prompt"),modelTier:"default",inputVariables:n,config:t}),a=typeof i=="string"?i:i.content;return{...e,outputMessage:a,status:"success",summary:h(a),arcgisKnowledgeMessages:[...e.arcgisKnowledgeMessages,new u(a)]}}async function Q(e){let t=e.arcgisKnowledgeToolResult?.[0],o=t?.status==="success"?t.summary:"ArcGIS Knowledge Agent tool execution failed.";return{...e,outputMessage:o,status:"success",summary:h(o),arcgisKnowledgeMessages:[...e.arcgisKnowledgeMessages,new u(o)]}}function p(e){return async(t,o)=>o?.signal?.aborted?(await c({text:"Knowledge Agent execution cancelled"},o),new v({goto:d,update:{outputMessage:"Knowledge Agent execution cancelled",summary:"Knowledge Agent execution cancelled",status:"failed"}})):await e(t,o)}var Y=()=>new _(w).addNode("requireArcgisKnowledgeServices",X).addNode("agent",p(O)).addNode("tools",p(P)).addNode("summarizationLLM",p(H)).addNode("finalizeToolSummary",p(Q)).addEdge(k,"requireArcgisKnowledgeServices").addEdge("requireArcgisKnowledgeServices","agent").addConditionalEdges("agent",e=>(e.arcgisKnowledgeMessages[e.arcgisKnowledgeMessages.length-1]?.tool_calls?.length??0)>0?"tools":d).addConditionalEdges("tools",e=>{if(e.status==="failed")return d;let t=e.arcgisKnowledgeToolResult?.[0];return t?.status==="success"&&["applyLayout","changeNonspatialVisibility"].includes(t.toolName)?"finalizeToolSummary":"summarizationLLM"}).addEdge("summarizationLLM",d).addEdge("finalizeToolSummary",d),B=String.raw`The purpose of this agent is to work with Knowledge Graph data, a graph database technology that represents and stores data as interconnected entities (nodes) and relationships (edges).
|
|
7
|
+
This agent has two categories of skills: those that work with an active link chart visualization of a subset of the data in the knowledge graph, and those that work with the knowledge graph data more generally against the entire dataset in the service and database.
|
|
8
|
+
For link charts, the agent enables users to interact with a link chart by adding new entities (also called nodes) or relationships (also called edges), removing existing entities or relationships,
|
|
9
|
+
expanding the graph from particular entities, finding relationships between specified entities on the link chart and adding them to the link chart, finding all relationships
|
|
10
|
+
that exist out from specified entities and adding those to the link chart, changing whether or not nonspatial data is visible, or changing the layout of the link chart.
|
|
11
|
+
This agent is designed to handle requests that manipulate the specific link chart.
|
|
12
|
+
For knowledge graph data more generally, the agent can generate Open Cypher queries based on user prompts that represent inquiries into the data of the knowledge service and its graph database,
|
|
13
|
+
and can alternatively use those queries to create a new link chart visualization from the results if requested.
|
|
14
|
+
|
|
15
|
+
Supported actions:
|
|
16
|
+
- **Change or Apply Layout**: Changes the current layout visualization strategy of the link chart (e.g., "Change the layout to basic-grid", "Apply hierarchical layout"). Valid layout types include organic-standard, organic-community, basic-grid, hierarchical-bottom-to-top, radial-root-centric, tree-left-to-right, geographic-organic-standard, chronological-mono-timeline. A best effort should be made to transform the user's request into one of these layout types.
|
|
17
|
+
- **Change Nonspatial Data Visibility**: Changes whether or not nonspatial data is visible on the link chart (e.g., "Show nonspatial data", "Hide nonspatial data"). Valid settings are "hidden" and "visible". A best effort should be made to transform the user's request into one of these settings.
|
|
18
|
+
- **Generate a cypher query**: Generates an Open Cypher query based on the user's prompt which represents an inquiry into the data of the knowledge service and its graph database, attempting to filter based on certain conditions and traverse specified relationships. The generated query should be syntactically correct and optimized for performance. The user should explicitly request that a cypher query be returned - if they do not, the purpose of the query is for one of the other tools or skills.
|
|
19
|
+
- **Create a New Link Chart from a user prompt**: Identifies that the users prompt is an inquiry into the data of the knowledge service and its graph database and creates a new link chart from the results. The user should have requested that a link chart be created or made(or similar term) from their prompt
|
|
20
|
+
- **Add Records (entities or relationships)**: Identifies that the users prompt is an inquiry into the data of the knowledge graph service and its graph database, and that the user wants to take the result of the inquiry and add those entities and/or relationships to the link chart. The generated query should be syntactically correct and optimized for performance.
|
|
21
|
+
- **Search Graph Data**: Generates and runs a lucene syntax query based on the user's prompt, returning matching entity and relationship records from the knowledge graph.
|
|
22
|
+
- **Query Graph Data**: Generates and executes a cypher query based on the user's prompt, and displays the results in the chat pane, allowing the user to explore the data in their knowledge graph.
|
|
23
|
+
|
|
24
|
+
_example: "Change the layout to hierarchical-bottom-to-top"_
|
|
25
|
+
_example: "Apply radial-root-centric layout"_
|
|
26
|
+
_example: "Show nonspatial data"_
|
|
27
|
+
_example: "Hide nonspatial data"_
|
|
28
|
+
_example: "Turn off nonspatial visibility"_
|
|
29
|
+
_example: "Generate a cypher query to find all entities connected to 'Entity A' via 'Relationship X' that were created after 2020"_
|
|
30
|
+
_example: "Generate a query to find all employees of Company Esri who joined after 2015 and are located in California"_
|
|
31
|
+
_example: "Tell me how to find all products supplied by Supplier Y that have a price greater than $1000"_
|
|
32
|
+
_example: "Create a new link chart showing all entities related to 'Entity B' through 'Relationship Y'"_
|
|
33
|
+
_example: "Find all people who work for Microsoft and put them on a new link chart"_
|
|
34
|
+
_example: "Add all entities connected to 'Entity C' via 'Relationship Z' to the current link chart"_
|
|
35
|
+
_example: "Add all the people who work for Esri to the current link chart, and all the cars that they drive"_
|
|
36
|
+
_example: "Find all the products supplied by Supplier X and add them to my visualization"_
|
|
37
|
+
_example: "Expand the link chart from 'Entity D' to show its direct connections"_
|
|
38
|
+
_example: "Find all the cars and then add everything up to two hops away from them on the link chart"_
|
|
39
|
+
_example: "Connect Emma and Rob on the link chart if there is a relationship between them"
|
|
40
|
+
_example: "Discover and add all the relationships originating at 'Entity E' to the link chart"_
|
|
41
|
+
_example: "Show me all entities with a name similar to 'Smith' and add them to the link chart"_
|
|
42
|
+
_example: "Find reports in my graph that have a title similar to 'Quarterly Earnings'"_
|
|
43
|
+
_example: "Find John Smith and all people he has made phone calls to in the last year"_
|
|
44
|
+
_example: "What is the average age of all people who work for Esri?"_`,V={id:"knowledge",name:"ArcgisKnowledge Agent",description:B,createGraph:Y,workspace:w};var f=class extends y{constructor(){super(...arguments),this.agent=V}static{this.properties={referenceElement:1,serviceUrl:3,context:0}}#t;#a;#e;#o;get serviceUrl(){return this.#a}set serviceUrl(t){this.#a=t}async getContext(){let t=this.context?{...this.context,knowledgeGraph:void 0,view:void 0}:{};if(this.#t)return{...t,view:this.#t};if(this.#e)try{let o=await this.#e;return{...t,knowledgeGraph:o}}catch(o){console.error("Failed to load knowledge graph via service URL:",o)}if(!this.context?.knowledgeGraph&&!this.context?.view)throw new Error("arcgis-assistant-knowledge-agent requires either a knowledgeGraph or view in context, and neither were provided");return this.context}willUpdate(t){t.has("serviceUrl")&&this.serviceUrl?this.#e=W(this.serviceUrl):this.#e=void 0}load(){this.#t=K(this)??void 0,this.#o=A(this)}disconnectedCallback(){this.#o?.unregister(this.agent.id),super.disconnectedCallback()}};x("arcgis-assistant-knowledge-agent",f);return f},"intl","smartMapping/statistics/summaryStatistics","smartMapping/statistics/uniqueValues","rest/knowledgeGraphService",a,e,f,g,h,i,j,l,m,n,o)
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import{a as V,b as I}from"./34O57OGV.js";import{a as x}from"./XEJFVUNQ.js";import a from"./JZPPP4QY.js";import{a as q}from"./ONQ6JSBJ.js";import{a as E}from"./FDOMMK2M.js";import{a as e}from"./RFPTOFM4.js";import{Ga as F}from"./FSLPYC4Y.js";export default $arcgis.t(([U,W,C,{a:v,b:L,c:T,d:N,e:O,f:R}])=>{var $=async p=>{let{targetLayer:s,fieldName:l,statisticType:n,mapView:r,layersAndFieldsRegistry:h,geometryFilter:t}=p,a=r.map?.allLayers.find(i=>i.id===s.layerId);if(!a)throw new Error(`Layer '${s.layerId}' not found.`);let w=await r.whenLayerView(a),S=x(l,a.fields.map(i=>i.name)),o=h.get(s.layerId)?.fieldRegistry.get(S),j=o?.alias;if(!o)throw new Error(`Field '${S}' not found.`);let b,c;if(t){let i=await N(t,r);if("error"in i)throw new Error(i.error);if(!i.geometry)throw T(t)?new Error(`No features found matching: ${t.where}`):new Error("Failed to create geometry");if(T(t)){let g=r.map?.allLayers.find(f=>f.id===t.layerId);b={geometryLayerName:g?.title??g?.id,geometryLayerId:t.layerId,geometryWhere:t.where,distance:t.distance,units:t.units,applied:!0}}else L(t)&&(b={point:t.point,distance:t.distance,units:t.units,applied:!0});c=new C({geometry:i.geometry,distance:t.distance,units:t.units,spatialRelationship:"intersects"})}let y=V(w,[l],!1),u=null,m=null,A=10;if(o.type!=="geometry"&&o.type!=="oid"&&o.type!=="global-id")try{let i={layer:a,useFeaturesInView:y,view:y?r:void 0,field:l,sqlWhere:I(a.definitionExpression,s.where),...c&&{filter:c},outStatisticTypes:{include:[n]}};u=await U(i);let g=["string","small-integer","integer"],f=o.domain?.type==="coded-value"?o.domain:null;(g.includes(o.type)||f)&&(m=(await W({layer:a,useFeaturesInView:y,view:y?r:void 0,field:l,sqlWhere:I(a.definitionExpression,s.where),...c&&{filter:c}})).uniqueValueInfos.sort((d,D)=>D.count-d.count).slice(0,A)),m&&o.domain?.type==="coded-value"&&(m=m.map(d=>({...d,value:f?f.getName(d.value)??d.value:d.value})))}catch(i){console.error("Statistics error:",i)}return{tool:"getStatistics",layerName:a.title??s.layerId,summary:`${n} = ${typeof u?.[n]=="number"?u[n]:"N/A"}`,details:{fieldName:l,fieldAlias:j,statisticType:n,statistic:u?.[n]??null,summaryStatistics:u,uniqueValues:m,where:s.where,spatialFilterInfo:b}}};async function Q({targetLayer:p,fieldName:s,statisticType:l,geometryFilter:n},r){let h=E(r,"layersAndFieldsRegistry"),{mapView:t}=q(r,["mapView"]),a=R(n,r.state?.agentExecutionContext?.sharedResources),w=await $({targetLayer:p,fieldName:s,statisticType:l,mapView:t,layersAndFieldsRegistry:h,geometryFilter:a});return JSON.stringify(w,null,2)}var G=e.object({layerId:e.string().describe("The layerId of the layer containing the geometry by which to filter."),where:e.string().describe("The SQL-92 where clause representing the features from which to filter."),distance:e.number().optional().describe("The buffer distance around the geometry."),units:v.optional().describe("The units for the distance buffer.")}),H=e.object({point:e.object({x:e.number().describe("X coordinate (longitude) from navigation result"),y:e.number().describe("Y coordinate (latitude) from navigation result"),spatialReference:e.object({wkid:e.number().describe("Spatial reference WKID (e.g., 4326 for WGS84)")}).optional().describe("Spatial reference. Defaults to map's spatial reference if not provided.")}).describe("Point coordinates from a previous navigation/geocoding result"),distance:e.number().optional().describe("Optional buffer distance around the point."),units:v.optional().describe("The units for the distance buffer.")}),J=e.object({targetLayer:e.object({layerId:e.string().describe("The layerId of the layer containing the field from which to get a value."),where:e.string().describe("The SQL-92 where clause representing the feature from which to get an attribute value.")}),geometryFilter:e.union([G,H,O]).optional().describe("Geometry filter for spatial queries. Use 'sharedResourceId' with an ID from listSharedResources for a previously geocoded location. Use 'point' for inline coordinates or 'layerId/where' for features from another layer."),fieldName:e.string().describe("The name of the field for which to get statistics. STRICTLY DO NOT use OBJECTID. Use any other field"),statisticType:e.enum(["avg","max","median","min","stddev","sum","variance","nullcount","count"]).describe("The statistic type to calculate.")}),te=F(Q,{name:"getStatistics",description:`Computes a single aggregate statistic (max, min, avg, sum, median, stddev, variance) for a numeric field across matching features. Also returns frequency analysis for categorical fields.
|
|
3
|
+
|
|
4
|
+
USE THIS TOOL FOR:
|
|
5
|
+
- "What is the average/maximum/minimum/total [field]?" \u2014 aggregate computations
|
|
6
|
+
- "Most common/frequent value of [field]?" \u2014 frequency analysis
|
|
7
|
+
- Questions requiring a mathematical aggregation across many features
|
|
8
|
+
|
|
9
|
+
DO NOT USE FOR:
|
|
10
|
+
- "How many features match X?" \u2014 use queryFeatures instead (it returns totalCount)
|
|
11
|
+
- "Show / list / find features" \u2014 use queryFeatures instead
|
|
12
|
+
- Simple counts of features matching a condition \u2014 use queryFeatures instead
|
|
13
|
+
|
|
14
|
+
Only call this tool when the answer requires computing an aggregate (avg, max, min, sum, median, stddev) over a field's values, not just counting or listing features.`,schema:J});return te},"smartMapping/statistics/summaryStatistics","smartMapping/statistics/uniqueValues","layers/support/FeatureFilter",a)
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import{a as p,c}from"./AAUVOBPS.js";import{C as b,g,h as l,x as u}from"./RE7MJTEF.js";import"./R74ZHFA6.js";import"./UZLQALHY.js";var m=g`:host{display:block;min-width:0}h3{margin:0 0 var(--calcite-spacing-sm);font-size:var(--calcite-font-size-relative-base);font-weight:var(--calcite-font-weight-semibold)}.token-table{overflow-x:auto}calcite-table{font-variant-numeric:tabular-nums}.pricing{margin:var(--calcite-spacing-sm) 0 0;color:var(--calcite-color-text-3);font-size:var(--calcite-font-size-relative-sm);overflow-wrap:anywhere}`,v=new Intl.NumberFormat(void 0,{style:"currency",currency:"USD",maximumFractionDigits:6});function n(r){return r===void 0?"Unavailable":v.format(r)}var s=class extends u{constructor(){super(...arguments),this.aggregate=!1,this.pricing=p}static{this.properties={usage:0,aggregate:5,pricing:0}}static{this.styles=m}render(){let d=this.usage;if(!d)return null;let{tokens:t,cost:e,rates:i,uncached:o}=d,h=[{group:"Input",groupRows:4,label:"Non-cached input",tokens:o===void 0?"Not reported":Number.isFinite(o)&&o>=0?o.toLocaleString():"Invalid usage",rate:n(i?.input),cost:c(e?.input)},{label:"Cache reads",tokens:t.cacheRead?.toLocaleString()??"Not reported",rate:n(i?.cachedInput),cost:t.cacheRead===void 0?"Not reported":c(e?.cachedInput)},{label:"Cache writes",tokens:t.cacheWrite?.toLocaleString()??"Not reported",rate:n(i?.cacheWrite),cost:t.cacheWrite===void 0?"Not reported":c(e?.cacheWrite)},{label:"Input (total)",tokens:t.input?.toLocaleString()??"Unavailable",rate:"-",cost:c(e?e.input+e.cachedInput+e.cacheWrite:void 0)},{group:"Output",groupRows:2,label:"Reasoning (within output)",tokens:t.reasoning?.toLocaleString()??"Not reported",rate:"-",cost:"Included in output"},{label:"Output (total)",tokens:t.output?.toLocaleString()??"Unavailable",rate:n(i?.output),cost:c(e?.output)}];return l`<section aria-label=Usage><h3>Usage</h3><div class="token-table"><calcite-table aria-label="Token usage and estimated cost (USD)" caption="Token usage and estimated cost (USD)" scale=s interaction-mode=static bordered><calcite-table-row slot=table-header><calcite-table-header heading=Category col-span=2></calcite-table-header><calcite-table-header heading=Tokens alignment=end></calcite-table-header>${this.aggregate?null:l`<calcite-table-header heading="Rate / 1M" alignment=end></calcite-table-header>`}<calcite-table-header heading="Est. cost" alignment=end></calcite-table-header></calcite-table-row>${h.map(a=>l`<calcite-table-row>${a.group?l`<calcite-table-header .heading=${a.group} .rowSpan=${a.groupRows}></calcite-table-header>`:null}<calcite-table-header .heading=${a.label}></calcite-table-header><calcite-table-cell alignment=end>${a.tokens}</calcite-table-cell>${this.aggregate?null:l`<calcite-table-cell alignment=end>${a.rate}</calcite-table-cell>`}<calcite-table-cell alignment=end>${a.cost}</calcite-table-cell></calcite-table-row>`)}<calcite-table-row slot=table-footer><calcite-table-header heading=Total col-span=2></calcite-table-header><calcite-table-cell alignment=end>${t.total?.toLocaleString()??"Unavailable"}</calcite-table-cell>${this.aggregate?null:l`<calcite-table-cell alignment=end>-</calcite-table-cell>`}<calcite-table-cell alignment=end>${c(e?.total)}</calcite-table-cell></calcite-table-row></calcite-table></div><p class="pricing">Rates last updated: ${this.pricing.updatedAt}</p></section>`}};b("arcgis-assistant-observation-usage",s);export{s as ArcgisAssistantObservationUsage};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{g as C,h as S,n as c,v as R,x as m,z as y}from"./COH3QXWG.js";import"./R74ZHFA6.js";import"./UZLQALHY.js";export default $arcgis.t(([{watch:u},{property:d,subclass:f},w])=>{var I=C`.button{--calcite-button-background-color: var(--calcite-color-transparent);--calcite-button-border-color: transparent;--calcite-button-icon-color: var(--calcite-color-text-3);--calcite-button-text-color: var(--calcite-color-text-3);flex:0 0 auto;position:relative}.button[data-state=disabled]{--calcite-button-icon-color: var(--calcite-color-text-3);opacity:var(--calcite-opacity-disabled)}.button[data-state=listening]{--calcite-button-background-color: color-mix( in srgb, var(--calcite-color-brand) 14%, var(--calcite-color-foreground-1) );--calcite-button-border-color: color-mix(in srgb, var(--calcite-color-brand) 24%, transparent);--calcite-button-icon-color: var(--calcite-color-brand);--calcite-button-text-color: var(--calcite-color-brand);box-shadow:var(--calcite-shadow-sm)}.button[data-state=listening]:hover{--calcite-button-background-color: color-mix( in srgb, var(--calcite-color-brand-hover, var(--calcite-color-brand)) 18%, var(--calcite-color-foreground-1) )}.button[data-state=listening]:active{--calcite-button-background-color: color-mix( in srgb, var(--calcite-color-brand) 24%, var(--calcite-color-foreground-1) )}.button[data-state=processing]{--calcite-button-background-color: color-mix( in srgb, var(--calcite-color-brand) 10%, var(--calcite-color-foreground-1) );--calcite-button-border-color: color-mix(in srgb, var(--calcite-color-brand) 20%, transparent);--calcite-button-icon-color: var(--calcite-color-brand);--calcite-button-text-color: var(--calcite-color-brand)}.button[data-state=error]{--calcite-button-background-color: color-mix( in srgb, var(--calcite-color-status-danger) 12%, var(--calcite-color-foreground-1) );--calcite-button-border-color: color-mix(in srgb, var(--calcite-color-status-danger) 24%, transparent);--calcite-button-icon-color: var(--calcite-color-status-danger);--calcite-button-text-color: var(--calcite-color-status-danger)}.button[data-state=listening]:after{content:"";position:absolute;inset:-4px;border:1px solid color-mix(in srgb,var(--calcite-color-brand) 40%,transparent);border-radius:inherit;opacity:0;pointer-events:none;transform:scale(.92);animation:assistant-speech-input-recording-pulse 1.8s ease-out infinite}@keyframes assistant-speech-input-recording-pulse{0%{opacity:.65;transform:scale(.92)}70%{opacity:0;transform:scale(1.16)}to{opacity:0;transform:scale(1.16)}}@media(prefers-reduced-motion){.button[data-state=listening]:after{animation:none}}`,T=["audio/webm;codecs=opus","audio/webm","audio/mp4","audio/ogg;codecs=opus","audio/ogg"];function h(e){return e.replace(/\s+/gu," ").trim()}var x=Object.defineProperty,V=Object.getOwnPropertyDescriptor,p=(e,t,s,i)=>{for(var r=i>1?void 0:i?V(t,s):t,n=e.length-1,o;n>=0;n--)(o=e[n])&&(r=(i?o(t,s,r):o(r))||r);return i&&r&&x(t,s,r),r},a=class extends w{constructor(e){super(e),this.state="idle",this.liveTranscript="",this.transcript="",this.errorCode=void 0}static isSupported(){return!1}};p([d()],a.prototype,"language",2);p([d({readOnly:!0})],a.prototype,"state",2);p([d({readOnly:!0})],a.prototype,"liveTranscript",2);p([d({readOnly:!0})],a.prototype,"transcript",2);p([d({readOnly:!0})],a.prototype,"errorCode",2);a=p([f("SpeechController")],a);var O=Object.defineProperty,M=Object.getOwnPropertyDescriptor,g=(e,t,s,i)=>{for(var r=i>1?void 0:i?M(t,s):t,n=e.length-1,o;n>=0;n--)(o=e[n])&&(r=(i?o(t,s,r):o(r))||r);return i&&r&&O(t,s,r),r},l=class extends a{constructor(e){super(e),this._activeSessionId=null,this._mediaRecorder=null,this._mediaRecorderChunkIndex=0,this._mediaRecorderStopReason=null,this._mediaStream=null,this._pendingChunkOperations=new Set,this._recordedChunks=[],this.handleRecording=null,this.chunkTimeSlice=3e3}get _mimeType(){return typeof window>"u"||typeof window.MediaRecorder?.isTypeSupported!="function"?"":T.find(e=>window.MediaRecorder.isTypeSupported(e))??""}destroy(){this._mediaRecorder&&(this._mediaRecorder.onstart=null,this._mediaRecorder.ondataavailable=null,this._mediaRecorder.onerror=null,this._mediaRecorder.onstop=null),this.cancel(),this._mediaRecorder=null}_queuePendingChunkOperation(e){this._pendingChunkOperations.add(e),e.finally(()=>{this._pendingChunkOperations.delete(e)})}async _awaitPendingChunkOperations(){this._pendingChunkOperations.size&&await Promise.allSettled(Array.from(this._pendingChunkOperations))}_onDataAvailable(e){let t=this._activeSessionId;t!=null&&this._queuePendingChunkOperation(this._processDataAvailable(e,t))}async _processDataAvailable(e,t){let s=e.data;if(!s.size||t!==this._activeSessionId)return;this._recordedChunks.push(s);let i=s.type||this._mediaRecorder?.mimeType||this._mimeType,r=this._mediaRecorderStopReason==="toggle"&&this._mediaRecorder?.state==="inactive";try{if(!this.handleRecording)return;let n=h(await this.handleRecording(s,i,this._mediaRecorderChunkIndex,r)??"");if(t!==this._activeSessionId)return;n&&this._set("liveTranscript",h(`${this.liveTranscript} ${n}`))}catch(n){if(t!==this._activeSessionId)return;this._failSession(n instanceof Error&&n.message==="transcription-unavailable"?"transcription-unavailable":"transcription-failed");return}!r&&t===this._activeSessionId&&(this._mediaRecorderChunkIndex+=1)}_failSession(e){let t=this._mediaRecorder;if(t){t.onstart=null,t.ondataavailable=null,t.onerror=null,t.onstop=null;try{t.state!=="inactive"&&t.stop()}catch{}}this._activeSessionId=null,this._mediaRecorder=null,this._mediaRecorderChunkIndex=0,this._mediaRecorderStopReason=null,this._pendingChunkOperations.clear(),this._recordedChunks=[],this._releaseMediaStream(),this._set("liveTranscript",""),this._set("transcript",""),this._set("state","error"),this._set("errorCode",e)}_onError(){this._failSession("recording-failed")}_onStart(){this._set("state","listening")}_onStop(){this._handleStop()}_releaseMediaStream(){this._mediaStream?.getTracks().forEach(e=>e.stop()),this._mediaStream=null}async _handleStop(){let e=this._mediaRecorder,t=this._activeSessionId,s=this._mediaRecorderStopReason,i=e?.mimeType||this._recordedChunks.find(n=>!!n.type)?.type||"",r=[...this._recordedChunks];if(this._mediaRecorder=null,this._mediaRecorderChunkIndex=0,this._releaseMediaStream(),s==="cancel"){this._activeSessionId===t&&(this._activeSessionId=null),this._mediaRecorderStopReason=null,this._pendingChunkOperations.clear(),this._recordedChunks=[],this._set("liveTranscript",""),this._set("transcript",""),this._set("state","idle"),this._set("errorCode",void 0);return}if(t==null){this._mediaRecorderStopReason=null,this._pendingChunkOperations.clear(),this._recordedChunks=[],this._set("state","idle"),this._set("errorCode",void 0);return}if(await this._awaitPendingChunkOperations(),t===this._activeSessionId){if(!(i?new Blob(r,{type:i}):new Blob(r)).size){this._activeSessionId===t&&(this._activeSessionId=null),this._mediaRecorderStopReason=null,this._recordedChunks=[],this._set("state","error"),this._set("errorCode","recording-failed");return}this._set("state","processing"),this._set("transcript",h(`${this.transcript} ${this.liveTranscript}`)),this._set("liveTranscript",""),this._activeSessionId===t&&(this._activeSessionId=null),this._set("state","idle"),this._set("errorCode",void 0),this._mediaRecorderStopReason=null,this._recordedChunks=[]}}start(){if(!l.isSupported()){this._set("errorCode","not-supported");return}let e=Date.now();this._activeSessionId=e,this._mediaRecorderChunkIndex=0,this._mediaRecorderStopReason=null,this._pendingChunkOperations.clear(),this._recordedChunks=[],this._set("liveTranscript",""),this._set("transcript",""),this._set("errorCode",void 0),navigator.mediaDevices.getUserMedia({audio:!0}).then(t=>{if(e!==this._activeSessionId){t.getTracks().forEach(r=>r.stop());return}let s=this._mimeType,i=s?new window.MediaRecorder(t,{mimeType:s}):new window.MediaRecorder(t);this._mediaStream=t,this._mediaRecorder=i,this._mediaRecorderChunkIndex=0,this._mediaRecorderStopReason=null,this._recordedChunks=[],i.ondataavailable=this._onDataAvailable.bind(this),i.onerror=this._onError.bind(this),i.onstart=this._onStart.bind(this),i.onstop=this._onStop.bind(this),this._mediaRecorder.start(this.chunkTimeSlice)}).catch(t=>{e===this._activeSessionId&&(this._activeSessionId=null,this._mediaRecorder=null,this._mediaRecorderChunkIndex=0,this._mediaRecorderStopReason=null,this._pendingChunkOperations.clear(),this._recordedChunks=[],this._releaseMediaStream(),t instanceof DOMException&&t.name==="NotAllowedError"?(this._set("state","error"),this._set("errorCode","not-allowed")):(this._set("state","error"),this._set("errorCode","recording-failed")))})}stop(){if(this._mediaRecorder){this._mediaRecorderStopReason="toggle";try{this._mediaRecorder.state!=="inactive"?this._mediaRecorder.stop():this._handleStop()}catch{}}}cancel(){let e=this._mediaRecorder;if(this._activeSessionId=null,this._mediaRecorderStopReason="cancel",this._mediaRecorderChunkIndex=0,this._pendingChunkOperations.clear(),this._recordedChunks=[],this._set("liveTranscript",""),this._set("transcript",""),this._set("state","idle"),this._set("errorCode",void 0),!e){this._releaseMediaStream();return}try{if(e.state!=="inactive"){e.stop();return}}catch{}this._mediaRecorder=null,this._releaseMediaStream()}static isSupported(){return typeof window<"u"&&!!(window.MediaRecorder&&navigator.mediaDevices?.getUserMedia)}};g([d()],l.prototype,"_mimeType",1);g([d()],l.prototype,"handleRecording",2);g([d()],l.prototype,"chunkTimeSlice",2);l=g([f("MediaRecorderController")],l);var D=Object.getOwnPropertyDescriptor,E=(e,t,s,i)=>{for(var r=i>1?void 0:i?D(t,s):t,n=e.length-1,o;n>=0;n--)(o=e[n])&&(r=o(r)||r);return r};function k(){if(typeof window>"u")return null;let e=window;return e.SpeechRecognition??e.webkitSpeechRecognition??null}var _=class extends a{constructor(e){super(e),this._isCancelled=!1,this._recognition=null}initialize(){let e=k();if(!e)return;let t=new e;t.continuous=!0,t.interimResults=!0,this.language&&(t.lang=this.language),t.onstart=this._onStart.bind(this),t.onresult=this._onResult.bind(this),t.onerror=this._onError.bind(this),t.onend=this._onEnd.bind(this),t.onspeechend=this._onSpeechEnd.bind(this),this._recognition=t}destroy(){this._recognition&&(this._recognition.onstart=null,this._recognition.onresult=null,this._recognition.onerror=null,this._recognition.onend=null,this._recognition.onspeechend=null,this.cancel(),this._recognition=null)}_onStart(){this._isCancelled=!1,this._set("state","listening")}_onResult(e){let{finalTranscript:t,liveTranscript:s}=Array.from(e.results).reduce((i,r)=>(r.isFinal?i.finalTranscript+=r[0].transcript:i.liveTranscript+=r[0].transcript,i),{finalTranscript:"",liveTranscript:""});this._set("transcript",h(t)),this._set("liveTranscript",h(s))}_onError(e){if(e.error==="aborted"&&this._isCancelled){this._set("state","idle");return}let t="unhandled";switch(e.error){case"no-speech":t="no-speech";break;case"service-not-allowed":case"not-allowed":t="not-allowed";break;default:t="unhandled"}this._set("state","error"),this._set("errorCode",t)}_onEnd(){let e=h(`${this.transcript} ${this.liveTranscript}`);if(this._set("liveTranscript",""),this._isCancelled){this._set("transcript",""),this._set("state","idle"),this._set("errorCode",void 0);return}this.errorCode?this._set("transcript",""):(this._set("transcript",e),this._set("state","idle")),this._set("errorCode",void 0)}_onSpeechEnd(){this._set("state","processing")}_reset(e=!1){this._isCancelled=e,this._set("liveTranscript",""),this._set("transcript",""),this._set("errorCode",void 0),this._set("state","idle")}start(){if(!this._recognition){this._set("errorCode","not-supported");return}this._reset(!1);try{this._recognition.start()}catch{this._set("state","error"),this._set("errorCode","unhandled")}}stop(){if(this._recognition){this._set("state","processing");try{this._recognition.stop()}catch{}}}cancel(){if(this._recognition){this._reset(!0);try{this._recognition.abort()}catch{}}}static isSupported(){return!!k()}};_=E([f("WebSpeechController")],_);function b(e){let{baseValue:t,transcript:s}=e;if(!s)return t;let i=t.trim();return i?`${i} ${s}`:s}var v=class extends R{constructor(){super(...arguments),this.#t=null,this._resolvedMode="disabled",this.awaitingResponse=!1,this.inputValue="",this.mode="web-speech",this.arcgisVoiceInputDraftChange=c(),this.arcgisVoiceInputError=c(),this.arcgisVoiceInputInterimTranscription=c(),this.arcgisVoiceInputStart=c(),this.arcgisVoiceInputStop=c(),this.arcgisVoiceInputTranscription=c(),this.arcgisVoiceInputTranscriptionStreamChunk=c()}static{this.properties={_resolvedMode:16,_state:16,_errorCode:16,_liveTranscript:16,_transcript:16,_isButtonDisabled:16,_buttonLabel:16,awaitingResponse:5,inputValue:1,language:1,mode:1}}static{this.styles=I}#t;get _state(){return this._speechController?.state??"idle"}get _errorCode(){return this._speechController?.errorCode??null}get _liveTranscript(){return this._speechController?.liveTranscript??""}get _transcript(){return this._speechController?.transcript??""}get _isButtonDisabled(){return this._resolvedMode==="disabled"||this.awaitingResponse||this._state==="processing"}get _buttonLabel(){if(this.awaitingResponse)return"Voice input unavailable while assistant is responding";if(this._resolvedMode==="disabled")return"Voice input unavailable";switch(this._state){case"error":return this._errorCode==="not-allowed"?"Microphone permission denied. Retry voice input":"Retry voice input";case"listening":return"Stop voice input";case"processing":return"Processing voice input";default:return"Start voice input"}}clearDraftSession(){this.#t=null}loaded(){this.manager.onLifecycle(()=>[u(()=>[this.mode,this.language],()=>{this._configureController()},{initial:!0}),u(()=>this.awaitingResponse,t=>{t&&this._cancelActiveSession()},{initial:!0}),u(()=>this._liveTranscript,t=>{if(t){let s=h(`${this._transcript} ${t}`);this.arcgisVoiceInputInterimTranscription.emit({transcript:s}),this._applyVoiceInputTranscript(s)}}),u(()=>this._transcript,t=>{t&&(this.arcgisVoiceInputTranscription.emit({transcript:t}),this._applyVoiceInputTranscript(t,{final:!0}))}),u(()=>this._state,t=>{t==="error"&&this._errorCode&&this.arcgisVoiceInputError.emit({errorCode:this._errorCode})})])}disconnectedCallback(){super.disconnectedCallback(),this._destroySpeechController()}_configureController(){let t=this._resolveMode();this._destroySpeechController(),this._resolvedMode=t,t!=="disabled"&&(this._speechController=t==="web-speech"?new _({language:this.language}):new l({language:this.language,handleRecording:this._handleRecording.bind(this)}))}_destroySpeechController(){this._speechController?.cancel(),this._speechController?.destroy(),this._speechController=void 0}_emitDraftChange(t,s){this.arcgisVoiceInputDraftChange.emit({focusInput:s?.focusInput,value:t})}_startVoiceInputSession(){this.#t={baseValue:this.inputValue.trim(),phase:"listening",transcript:""}}_finishVoiceInputSession(){let t=this.#t;if(!t){this._emitDraftChange(this.inputValue.trim());return}let s={...t,phase:"stopped"},i=b(s);this.#t=s,this._emitDraftChange(i)}async _applyVoiceInputTranscript(t,s){let i=this.#t;if(!t||!i)return;if(i.phase==="stopped"){let o=b(i);if(this.inputValue.trim()!==o){this.clearDraftSession();return}}let r={...i,transcript:t},n=b(r);this.#t=r,this._emitDraftChange(n,{focusInput:s?.final&&r.phase==="stopped"})}async _handleToggle(){if(!(this._isButtonDisabled||!this._speechController)){if(this._state==="listening"){this._speechController.stop(),this._finishVoiceInputSession(),this.arcgisVoiceInputStop.emit();return}this._speechController.start(),this._startVoiceInputSession(),this.arcgisVoiceInputStart.emit()}}async _handleRecording(t,s,i,r){let n;return this.arcgisVoiceInputTranscriptionStreamChunk.emit({blob:t,chunkIndex:i,isFinal:r,mimeType:s,respondWithTranscript:o=>{n=o}}),n}_resolveMode(){return this.mode==="disabled"?"disabled":this.mode==="web-speech"&&_.isSupported()?"web-speech":l.isSupported()?"media-recorder":"disabled"}async _cancelActiveSession(){this._speechController&&this._resolvedMode!=="disabled"&&this._speechController.cancel(),this.clearDraftSession()}render(){return S`<calcite-button appearance=transparent class="button" data-mode=${this._resolvedMode??m} data-state=${(this._resolvedMode==="disabled"?"disabled":this._state)??m} .disabled=${this._isButtonDisabled} icon-start=microphone kind=neutral .label=${this._buttonLabel} .loading=${this._state==="processing"} round scale=m @click=${()=>{this._handleToggle()}}></calcite-button>`}};y("arcgis-assistant-speech-input",v);return v},"core/reactiveUtils","core/accessorSupport/decorators","core/Accessor")
|
|
2
|
+
import{A as m,C as y,g as C,h as S,o as c,x as R}from"./RE7MJTEF.js";import"./R74ZHFA6.js";import"./UZLQALHY.js";export default $arcgis.t(([{watch:u},{property:d,subclass:f},w])=>{var I=C`.button{--calcite-button-background-color: var(--calcite-color-transparent);--calcite-button-border-color: transparent;--calcite-button-icon-color: var(--calcite-color-text-3);--calcite-button-text-color: var(--calcite-color-text-3);flex:0 0 auto;position:relative}.button[data-state=disabled]{--calcite-button-icon-color: var(--calcite-color-text-3);opacity:var(--calcite-opacity-disabled)}.button[data-state=listening]{--calcite-button-background-color: color-mix( in srgb, var(--calcite-color-brand) 14%, var(--calcite-color-foreground-1) );--calcite-button-border-color: color-mix(in srgb, var(--calcite-color-brand) 24%, transparent);--calcite-button-icon-color: var(--calcite-color-brand);--calcite-button-text-color: var(--calcite-color-brand);box-shadow:var(--calcite-shadow-sm)}.button[data-state=listening]:hover{--calcite-button-background-color: color-mix( in srgb, var(--calcite-color-brand-hover, var(--calcite-color-brand)) 18%, var(--calcite-color-foreground-1) )}.button[data-state=listening]:active{--calcite-button-background-color: color-mix( in srgb, var(--calcite-color-brand) 24%, var(--calcite-color-foreground-1) )}.button[data-state=processing]{--calcite-button-background-color: color-mix( in srgb, var(--calcite-color-brand) 10%, var(--calcite-color-foreground-1) );--calcite-button-border-color: color-mix(in srgb, var(--calcite-color-brand) 20%, transparent);--calcite-button-icon-color: var(--calcite-color-brand);--calcite-button-text-color: var(--calcite-color-brand)}.button[data-state=error]{--calcite-button-background-color: color-mix( in srgb, var(--calcite-color-status-danger) 12%, var(--calcite-color-foreground-1) );--calcite-button-border-color: color-mix(in srgb, var(--calcite-color-status-danger) 24%, transparent);--calcite-button-icon-color: var(--calcite-color-status-danger);--calcite-button-text-color: var(--calcite-color-status-danger)}.button[data-state=listening]:after{content:"";position:absolute;inset:-4px;border:1px solid color-mix(in srgb,var(--calcite-color-brand) 40%,transparent);border-radius:inherit;opacity:0;pointer-events:none;transform:scale(.92);animation:assistant-speech-input-recording-pulse 1.8s ease-out infinite}@keyframes assistant-speech-input-recording-pulse{0%{opacity:.65;transform:scale(.92)}70%{opacity:0;transform:scale(1.16)}to{opacity:0;transform:scale(1.16)}}@media(prefers-reduced-motion){.button[data-state=listening]:after{animation:none}}`,T=["audio/webm;codecs=opus","audio/webm","audio/mp4","audio/ogg;codecs=opus","audio/ogg"];function h(e){return e.replace(/\s+/gu," ").trim()}var x=Object.defineProperty,V=Object.getOwnPropertyDescriptor,p=(e,t,s,i)=>{for(var r=i>1?void 0:i?V(t,s):t,n=e.length-1,o;n>=0;n--)(o=e[n])&&(r=(i?o(t,s,r):o(r))||r);return i&&r&&x(t,s,r),r},a=class extends w{constructor(e){super(e),this.state="idle",this.liveTranscript="",this.transcript="",this.errorCode=void 0}static isSupported(){return!1}};p([d()],a.prototype,"language",2);p([d({readOnly:!0})],a.prototype,"state",2);p([d({readOnly:!0})],a.prototype,"liveTranscript",2);p([d({readOnly:!0})],a.prototype,"transcript",2);p([d({readOnly:!0})],a.prototype,"errorCode",2);a=p([f("SpeechController")],a);var O=Object.defineProperty,M=Object.getOwnPropertyDescriptor,g=(e,t,s,i)=>{for(var r=i>1?void 0:i?M(t,s):t,n=e.length-1,o;n>=0;n--)(o=e[n])&&(r=(i?o(t,s,r):o(r))||r);return i&&r&&O(t,s,r),r},l=class extends a{constructor(e){super(e),this._activeSessionId=null,this._mediaRecorder=null,this._mediaRecorderChunkIndex=0,this._mediaRecorderStopReason=null,this._mediaStream=null,this._pendingChunkOperations=new Set,this._recordedChunks=[],this.handleRecording=null,this.chunkTimeSlice=3e3}get _mimeType(){return typeof window>"u"||typeof window.MediaRecorder?.isTypeSupported!="function"?"":T.find(e=>window.MediaRecorder.isTypeSupported(e))??""}destroy(){this._mediaRecorder&&(this._mediaRecorder.onstart=null,this._mediaRecorder.ondataavailable=null,this._mediaRecorder.onerror=null,this._mediaRecorder.onstop=null),this.cancel(),this._mediaRecorder=null}_queuePendingChunkOperation(e){this._pendingChunkOperations.add(e),e.finally(()=>{this._pendingChunkOperations.delete(e)})}async _awaitPendingChunkOperations(){this._pendingChunkOperations.size&&await Promise.allSettled(Array.from(this._pendingChunkOperations))}_onDataAvailable(e){let t=this._activeSessionId;t!=null&&this._queuePendingChunkOperation(this._processDataAvailable(e,t))}async _processDataAvailable(e,t){let s=e.data;if(!s.size||t!==this._activeSessionId)return;this._recordedChunks.push(s);let i=s.type||this._mediaRecorder?.mimeType||this._mimeType,r=this._mediaRecorderStopReason==="toggle"&&this._mediaRecorder?.state==="inactive";try{if(!this.handleRecording)return;let n=h(await this.handleRecording(s,i,this._mediaRecorderChunkIndex,r)??"");if(t!==this._activeSessionId)return;n&&this._set("liveTranscript",h(`${this.liveTranscript} ${n}`))}catch(n){if(t!==this._activeSessionId)return;this._failSession(n instanceof Error&&n.message==="transcription-unavailable"?"transcription-unavailable":"transcription-failed");return}!r&&t===this._activeSessionId&&(this._mediaRecorderChunkIndex+=1)}_failSession(e){let t=this._mediaRecorder;if(t){t.onstart=null,t.ondataavailable=null,t.onerror=null,t.onstop=null;try{t.state!=="inactive"&&t.stop()}catch{}}this._activeSessionId=null,this._mediaRecorder=null,this._mediaRecorderChunkIndex=0,this._mediaRecorderStopReason=null,this._pendingChunkOperations.clear(),this._recordedChunks=[],this._releaseMediaStream(),this._set("liveTranscript",""),this._set("transcript",""),this._set("state","error"),this._set("errorCode",e)}_onError(){this._failSession("recording-failed")}_onStart(){this._set("state","listening")}_onStop(){this._handleStop()}_releaseMediaStream(){this._mediaStream?.getTracks().forEach(e=>e.stop()),this._mediaStream=null}async _handleStop(){let e=this._mediaRecorder,t=this._activeSessionId,s=this._mediaRecorderStopReason,i=e?.mimeType||this._recordedChunks.find(n=>!!n.type)?.type||"",r=[...this._recordedChunks];if(this._mediaRecorder=null,this._mediaRecorderChunkIndex=0,this._releaseMediaStream(),s==="cancel"){this._activeSessionId===t&&(this._activeSessionId=null),this._mediaRecorderStopReason=null,this._pendingChunkOperations.clear(),this._recordedChunks=[],this._set("liveTranscript",""),this._set("transcript",""),this._set("state","idle"),this._set("errorCode",void 0);return}if(t==null){this._mediaRecorderStopReason=null,this._pendingChunkOperations.clear(),this._recordedChunks=[],this._set("state","idle"),this._set("errorCode",void 0);return}if(await this._awaitPendingChunkOperations(),t===this._activeSessionId){if(!(i?new Blob(r,{type:i}):new Blob(r)).size){this._activeSessionId===t&&(this._activeSessionId=null),this._mediaRecorderStopReason=null,this._recordedChunks=[],this._set("state","error"),this._set("errorCode","recording-failed");return}this._set("state","processing"),this._set("transcript",h(`${this.transcript} ${this.liveTranscript}`)),this._set("liveTranscript",""),this._activeSessionId===t&&(this._activeSessionId=null),this._set("state","idle"),this._set("errorCode",void 0),this._mediaRecorderStopReason=null,this._recordedChunks=[]}}start(){if(!l.isSupported()){this._set("errorCode","not-supported");return}let e=Date.now();this._activeSessionId=e,this._mediaRecorderChunkIndex=0,this._mediaRecorderStopReason=null,this._pendingChunkOperations.clear(),this._recordedChunks=[],this._set("liveTranscript",""),this._set("transcript",""),this._set("errorCode",void 0),navigator.mediaDevices.getUserMedia({audio:!0}).then(t=>{if(e!==this._activeSessionId){t.getTracks().forEach(r=>r.stop());return}let s=this._mimeType,i=s?new window.MediaRecorder(t,{mimeType:s}):new window.MediaRecorder(t);this._mediaStream=t,this._mediaRecorder=i,this._mediaRecorderChunkIndex=0,this._mediaRecorderStopReason=null,this._recordedChunks=[],i.ondataavailable=this._onDataAvailable.bind(this),i.onerror=this._onError.bind(this),i.onstart=this._onStart.bind(this),i.onstop=this._onStop.bind(this),this._mediaRecorder.start(this.chunkTimeSlice)}).catch(t=>{e===this._activeSessionId&&(this._activeSessionId=null,this._mediaRecorder=null,this._mediaRecorderChunkIndex=0,this._mediaRecorderStopReason=null,this._pendingChunkOperations.clear(),this._recordedChunks=[],this._releaseMediaStream(),t instanceof DOMException&&t.name==="NotAllowedError"?(this._set("state","error"),this._set("errorCode","not-allowed")):(this._set("state","error"),this._set("errorCode","recording-failed")))})}stop(){if(this._mediaRecorder){this._mediaRecorderStopReason="toggle";try{this._mediaRecorder.state!=="inactive"?this._mediaRecorder.stop():this._handleStop()}catch{}}}cancel(){let e=this._mediaRecorder;if(this._activeSessionId=null,this._mediaRecorderStopReason="cancel",this._mediaRecorderChunkIndex=0,this._pendingChunkOperations.clear(),this._recordedChunks=[],this._set("liveTranscript",""),this._set("transcript",""),this._set("state","idle"),this._set("errorCode",void 0),!e){this._releaseMediaStream();return}try{if(e.state!=="inactive"){e.stop();return}}catch{}this._mediaRecorder=null,this._releaseMediaStream()}static isSupported(){return typeof window<"u"&&!!(window.MediaRecorder&&navigator.mediaDevices?.getUserMedia)}};g([d()],l.prototype,"_mimeType",1);g([d()],l.prototype,"handleRecording",2);g([d()],l.prototype,"chunkTimeSlice",2);l=g([f("MediaRecorderController")],l);var D=Object.getOwnPropertyDescriptor,E=(e,t,s,i)=>{for(var r=i>1?void 0:i?D(t,s):t,n=e.length-1,o;n>=0;n--)(o=e[n])&&(r=o(r)||r);return r};function k(){if(typeof window>"u")return null;let e=window;return e.SpeechRecognition??e.webkitSpeechRecognition??null}var _=class extends a{constructor(e){super(e),this._isCancelled=!1,this._recognition=null}initialize(){let e=k();if(!e)return;let t=new e;t.continuous=!0,t.interimResults=!0,this.language&&(t.lang=this.language),t.onstart=this._onStart.bind(this),t.onresult=this._onResult.bind(this),t.onerror=this._onError.bind(this),t.onend=this._onEnd.bind(this),t.onspeechend=this._onSpeechEnd.bind(this),this._recognition=t}destroy(){this._recognition&&(this._recognition.onstart=null,this._recognition.onresult=null,this._recognition.onerror=null,this._recognition.onend=null,this._recognition.onspeechend=null,this.cancel(),this._recognition=null)}_onStart(){this._isCancelled=!1,this._set("state","listening")}_onResult(e){let{finalTranscript:t,liveTranscript:s}=Array.from(e.results).reduce((i,r)=>(r.isFinal?i.finalTranscript+=r[0].transcript:i.liveTranscript+=r[0].transcript,i),{finalTranscript:"",liveTranscript:""});this._set("transcript",h(t)),this._set("liveTranscript",h(s))}_onError(e){if(e.error==="aborted"&&this._isCancelled){this._set("state","idle");return}let t="unhandled";switch(e.error){case"no-speech":t="no-speech";break;case"service-not-allowed":case"not-allowed":t="not-allowed";break;default:t="unhandled"}this._set("state","error"),this._set("errorCode",t)}_onEnd(){let e=h(`${this.transcript} ${this.liveTranscript}`);if(this._set("liveTranscript",""),this._isCancelled){this._set("transcript",""),this._set("state","idle"),this._set("errorCode",void 0);return}this.errorCode?this._set("transcript",""):(this._set("transcript",e),this._set("state","idle")),this._set("errorCode",void 0)}_onSpeechEnd(){this._set("state","processing")}_reset(e=!1){this._isCancelled=e,this._set("liveTranscript",""),this._set("transcript",""),this._set("errorCode",void 0),this._set("state","idle")}start(){if(!this._recognition){this._set("errorCode","not-supported");return}this._reset(!1);try{this._recognition.start()}catch{this._set("state","error"),this._set("errorCode","unhandled")}}stop(){if(this._recognition){this._set("state","processing");try{this._recognition.stop()}catch{}}}cancel(){if(this._recognition){this._reset(!0);try{this._recognition.abort()}catch{}}}static isSupported(){return!!k()}};_=E([f("WebSpeechController")],_);function b(e){let{baseValue:t,transcript:s}=e;if(!s)return t;let i=t.trim();return i?`${i} ${s}`:s}var v=class extends R{constructor(){super(...arguments),this.#t=null,this._resolvedMode="disabled",this.awaitingResponse=!1,this.inputValue="",this.mode="web-speech",this.arcgisVoiceInputDraftChange=c(),this.arcgisVoiceInputError=c(),this.arcgisVoiceInputInterimTranscription=c(),this.arcgisVoiceInputStart=c(),this.arcgisVoiceInputStop=c(),this.arcgisVoiceInputTranscription=c(),this.arcgisVoiceInputTranscriptionStreamChunk=c()}static{this.properties={_resolvedMode:16,_state:16,_errorCode:16,_liveTranscript:16,_transcript:16,_isButtonDisabled:16,_buttonLabel:16,awaitingResponse:5,inputValue:1,language:1,mode:1}}static{this.styles=I}#t;get _state(){return this._speechController?.state??"idle"}get _errorCode(){return this._speechController?.errorCode??null}get _liveTranscript(){return this._speechController?.liveTranscript??""}get _transcript(){return this._speechController?.transcript??""}get _isButtonDisabled(){return this._resolvedMode==="disabled"||this.awaitingResponse||this._state==="processing"}get _buttonLabel(){if(this.awaitingResponse)return"Voice input unavailable while assistant is responding";if(this._resolvedMode==="disabled")return"Voice input unavailable";switch(this._state){case"error":return this._errorCode==="not-allowed"?"Microphone permission denied. Retry voice input":"Retry voice input";case"listening":return"Stop voice input";case"processing":return"Processing voice input";default:return"Start voice input"}}clearDraftSession(){this.#t=null}loaded(){this.manager.onLifecycle(()=>[u(()=>[this.mode,this.language],()=>{this._configureController()},{initial:!0}),u(()=>this.awaitingResponse,t=>{t&&this._cancelActiveSession()},{initial:!0}),u(()=>this._liveTranscript,t=>{if(t){let s=h(`${this._transcript} ${t}`);this.arcgisVoiceInputInterimTranscription.emit({transcript:s}),this._applyVoiceInputTranscript(s)}}),u(()=>this._transcript,t=>{t&&(this.arcgisVoiceInputTranscription.emit({transcript:t}),this._applyVoiceInputTranscript(t,{final:!0}))}),u(()=>this._state,t=>{t==="error"&&this._errorCode&&this.arcgisVoiceInputError.emit({errorCode:this._errorCode})})])}disconnectedCallback(){super.disconnectedCallback(),this._destroySpeechController()}_configureController(){let t=this._resolveMode();this._destroySpeechController(),this._resolvedMode=t,t!=="disabled"&&(this._speechController=t==="web-speech"?new _({language:this.language}):new l({language:this.language,handleRecording:this._handleRecording.bind(this)}))}_destroySpeechController(){this._speechController?.cancel(),this._speechController?.destroy(),this._speechController=void 0}_emitDraftChange(t,s){this.arcgisVoiceInputDraftChange.emit({focusInput:s?.focusInput,value:t})}_startVoiceInputSession(){this.#t={baseValue:this.inputValue.trim(),phase:"listening",transcript:""}}_finishVoiceInputSession(){let t=this.#t;if(!t){this._emitDraftChange(this.inputValue.trim());return}let s={...t,phase:"stopped"},i=b(s);this.#t=s,this._emitDraftChange(i)}async _applyVoiceInputTranscript(t,s){let i=this.#t;if(!t||!i)return;if(i.phase==="stopped"){let o=b(i);if(this.inputValue.trim()!==o){this.clearDraftSession();return}}let r={...i,transcript:t},n=b(r);this.#t=r,this._emitDraftChange(n,{focusInput:s?.final&&r.phase==="stopped"})}async _handleToggle(){if(!(this._isButtonDisabled||!this._speechController)){if(this._state==="listening"){this._speechController.stop(),this._finishVoiceInputSession(),this.arcgisVoiceInputStop.emit();return}this._speechController.start(),this._startVoiceInputSession(),this.arcgisVoiceInputStart.emit()}}async _handleRecording(t,s,i,r){let n;return this.arcgisVoiceInputTranscriptionStreamChunk.emit({blob:t,chunkIndex:i,isFinal:r,mimeType:s,respondWithTranscript:o=>{n=o}}),n}_resolveMode(){return this.mode==="disabled"?"disabled":this.mode==="web-speech"&&_.isSupported()?"web-speech":l.isSupported()?"media-recorder":"disabled"}async _cancelActiveSession(){this._speechController&&this._resolvedMode!=="disabled"&&this._speechController.cancel(),this.clearDraftSession()}render(){return S`<calcite-button appearance=transparent class="button" data-mode=${this._resolvedMode??m} data-state=${(this._resolvedMode==="disabled"?"disabled":this._state)??m} .disabled=${this._isButtonDisabled} icon-start=microphone kind=neutral .label=${this._buttonLabel} .loading=${this._state==="processing"} round scale=m @click=${()=>{this._handleToggle()}}></calcite-button>`}};y("arcgis-assistant-speech-input",v);return v},"core/reactiveUtils","core/accessorSupport/decorators","core/Accessor")
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import{b as n}from"./UYP5PH5E.js";import"./QUZTFUWM.js";import"./A22375P3.js";import"./DYSPEU7W.js";import{C as e,g as i,h as a,x as t}from"./RE7MJTEF.js";import"./R74ZHFA6.js";import"./UZLQALHY.js";var r=i`:host{display:contents}.icon{padding:var(--calcite-spacing-sm);border-radius:var(--calcite-spacing-xl);background:var(--calcite-color-brand);color:var(--calcite-color-foreground-1)}.loading-container{display:flex;flex-direction:column;gap:var(--calcite-spacing-sm);padding:0 var(--calcite-spacing-sm)}.loading{display:flex;align-items:center;gap:var(--calcite-spacing-sm)}.text{font-style:italic;word-wrap:break-word;word-break:break-all;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical}.skeleton-block{display:flex;flex-direction:column;gap:var(--calcite-spacing-sm);width:100%}.skeleton-text{display:block;height:.95em;border-radius:var(--calcite-border-radius);background:linear-gradient(90deg,color-mix(in srgb,var(--calcite-color-foreground-2) 65%,transparent),color-mix(in srgb,var(--calcite-color-foreground-3) 85%,transparent),color-mix(in srgb,var(--calcite-color-foreground-2) 65%,transparent));background-size:200% 100%;animation:assistant-message-loading-shimmer 1.2s ease-in-out infinite;width:85%}.skeleton-text:last-child{width:70%}@keyframes assistant-message-loading-shimmer{0%{background-position:-150% 0}to{background-position:150% 0}}@media(prefers-reduced-motion){.skeleton-text{animation:none}}`,s=class extends t{constructor(){super(...arguments),this._messages=n({blocking:!0}),this.loading=!1,this.loadingMessage="",this.assistantAvatarEnabled=!1}static{this.properties={loading:5,loadingMessage:1,assistantAvatarEnabled:5,interrupts:0}}static{this.styles=r}render(){return this.loading?a`<arcgis-assistant-message .assistantAvatarEnabled=${this.assistantAvatarEnabled} footer-disabled>${this.assistantAvatarEnabled?a`<slot name=icon slot=icon><calcite-icon class="icon" icon=effects scale=s></calcite-icon></slot>`:null}<slot name=content slot=content><arcgis-assistant-interrupt-preview .interrupts=${this.interrupts}></arcgis-assistant-interrupt-preview><div class="loading-container"><div class="loading"><calcite-loader .label=${this._messages.loadingLabel} inline></calcite-loader><div class="text">${this.loadingMessage}</div></div><div class="skeleton-block"><span class="skeleton-text"></span><span class="skeleton-text"></span></div></div></slot></arcgis-assistant-message>`:null}};e("arcgis-assistant-message-loading",s);export{s as ArcgisAssistantMessageLoading};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import"./UZLQALHY.js";var e='---\nname: filter\ndescription: Changes feature emphasis on the map by including, excluding, highlighting, dimming, or clearing filtered features. Use when the user asks to visually filter feature-layer data.\nallowed-tools: listSharedResources findRelevantLayers findRelevantFields setFeatureEffect resetMap clearFilters\n---\n\n# Filter\n\n- Use `clearFilters` when the user asks only to remove feature filters or effects. Use `resetMap` only when the user asks to reset the broader map state.\n- Reuse a preceding query result from this run whenever it contains the layer ID and filtering criteria needed for the visual operation. Do not repeat layer or field discovery in that case.\n- A preceding query result may provide the layer ID, where clause, geometry filter, `useCurrentExtent`, object IDs, and count. Preserve and reuse those values rather than reconstructing them.\n- When the task refers to geometry produced by an earlier agent, call `listSharedResources` with `point`, `polyline` and `polygon` as the requested kinds. If a resource description clearly matches the referenced geometry, pass its exact ID as `geometryFilter.sharedResourceId` and use `where: "1=1"` unless the user requests an additional attribute filter. If no resource clearly matches, state that the spatial constraint is unavailable and do not guess geometry.\n- If no usable preceding query result exists, start with `findRelevantLayers`. Use the assigned task as the semantic query. If no relevant layers are returned, explain that no matching map layer was found and stop. Never invent a layer ID.\n- When discovery is required, call `findRelevantFields` with only relevant layer IDs before constructing a filter. Use only the exact field names and categorical values returned by `findRelevantFields`.\n- Leave `includeSummaryStatistics` false unless the filter criteria explicitly depend on a requested numeric summary.\n- Use real field names rather than aliases in SQL-92 where clauses. Use `1=1` when no attribute filter is requested.\n- For highlight, show, include, exclude, or other visual-filter requests with feature criteria, call `setFeatureEffect` using the same layer ID, where clause, geometry filter, and `useCurrentExtent` value determined by the preceding query or discovery steps.\n- If a preceding query returned object IDs for ranked, top-N, or otherwise selected records, pass those object IDs to `setFeatureEffect` instead of rebuilding the selection using only a where clause.\n- Prefer the default feature effects unless the user explicitly requests a particular visual treatment.\n- Set `useCurrentExtent` only when the user explicitly refers to the current view or visible map area.\n- When available, use the preceding query result for feature counts or attribute details in the final response.\n- Report the `setFeatureEffect` outcome faithfully. Do not claim that a map effect was applied when the tool failed or no matching layer or field was found.\n';export{e as default};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import{a as i}from"./ONQ6JSBJ.js";import{Ga as n}from"./FSLPYC4Y.js";import{N as r}from"./AMP43OT2.js";async function s(a,t){await t.when();let e=t.map?.allLayers.find(l=>l.id===a);if(!e)return console.warn(`[goToLayer] No matching FeatureLayer found for: ${a}`),{text:`Could not find layer for: ${a}`};let o;return(e.type==="link-chart"||e.type==="knowledge-graph-sublayer")&&t.map?.activeLinkChartLayer?o=t.map.diagramNodesExtent:o=e.fullExtent,o?(await t.goTo(o),e.visible=!0,{text:`Successfully zoomed to: ${e.title??""}`}):{text:"Layer has no defined extent. Cannot zoom to layer."}}async function m({layerId:a},t){let{mapView:e}=i(t,["mapView"]);return await s(a,e)}var c=r.object({layerId:r.string().describe("The id of the layer to navigate to")}),p=n(m,{name:"goToLayer",description:"Zooms the map view to the full extent of the top matching layer.",schema:c});export{p as a};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import{a}from"../6WYVG3JI.js";import"../5TW2NFES.js";import"../CDS2HGQY.js";import"../QEGO4B2W.js";import"../EEHDAYOG.js";import"../XWNZMKQF.js";import"../FSLPYC4Y.js";import"../AMP43OT2.js";import"../2UKFCF2J.js";import"../UZLQALHY.js";export{a as BaseAgent};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import{a as i,b as h,c as m}from"../VIJVRJHL.js";import{a as u}from"../GHFOAS7T.js";import{a as c}from"../6WYVG3JI.js";import{d as o}from"../5TW2NFES.js";import"../CDS2HGQY.js";import{y as n}from"../QEGO4B2W.js";import"../EEHDAYOG.js";import"../XWNZMKQF.js";import"../FSLPYC4Y.js";import"../AMP43OT2.js";import"../2UKFCF2J.js";import"../UZLQALHY.js";var d=class extends c{constructor(t){super(),this.middlewares=[],Object.assign(this,t),this.generate()}generate(){let t=o([this.inputSchema,this.outputSchema].filter(Boolean)),e=`${this.id}-execute`,r={[e]:this._invokeExecuteNode.bind(this)},s=[{from:e,decide:()=>{}}];this.workspace=t,this.createGraph=()=>u(r,s,t,{agent:this,entryNode:e,middlewares:this.middlewares})}async _invokeExecuteNode(t,e){try{return this.outputSchema?await this._invokeStructured(t,e):await this._invokeUnstructured(t,e)}catch(r){if(n(r)||e?.signal?.aborted||r instanceof Error&&r.name==="AbortError")throw r;let s=r instanceof Error?r.message:String(r);return i({outputMessage:s},"failed",s)}}async _invokeStructured(t,e){if(!this.outputSchema)throw new Error("Output schema is required for structured invocation.");let r=this._validateInputState(t),s=await this.execute(r,e);if(typeof s=="string")throw new Error("Expected execute function to return an object matching the output schema, but received a string.");return h(s,this.outputSchema,t.agentExecutionContext.messages)}async _invokeUnstructured(t,e){let r=this._validateInputState(t),s=await this.execute(r,e),a=typeof s=="string"?s:JSON.stringify(s),p=a.trim()||"FunctionAgent completed.";return i({outputMessage:a},"success",p)}_validateInputState(t){if(!this.inputSchema)return t;let e=this.inputSchema.safeParse(m(t,this.inputSchema));if(!e.success)throw new Error(`FunctionAgent input schema validation failed: ${e.error.message}`);return{...t,...e.data}}};export{d as FunctionAgent};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import{a}from"../2O52MJ3D.js";import"../DI3VGUJY.js";import"../VIJVRJHL.js";import"../BMPBJXD7.js";import"../GHFOAS7T.js";import"../6WYVG3JI.js";import"../5TW2NFES.js";import"../CDS2HGQY.js";import"../QEGO4B2W.js";import"../EEHDAYOG.js";import"../XWNZMKQF.js";import"../FSLPYC4Y.js";import"../AMP43OT2.js";import"../2UKFCF2J.js";import"../UZLQALHY.js";export{a as LLMAgent};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import{a as o}from"../DJG6DBCU.js";import"../C76HLPKU.js";import"../RFPTOFM4.js";import"../CADNOKIK.js";import"../BMPBJXD7.js";import{a as i}from"../6WYVG3JI.js";import"../5TW2NFES.js";import"../CDS2HGQY.js";import"../QEGO4B2W.js";import"../EEHDAYOG.js";import"../XWNZMKQF.js";import"../FSLPYC4Y.js";import"../AMP43OT2.js";import"../2UKFCF2J.js";import"../UZLQALHY.js";var r=class extends i{constructor(t){super(),this.modelTier="default",Object.assign(this,t),this.generate()}generate(){let t=this.toolLoaders?Object.fromEntries(Object.entries(this.toolLoaders).map(([a,n])=>[a,async()=>{let e=await n();return"getTool"in e?e.getTool():e}])):void 0,s=o({id:this.id,name:this.name,description:this.description,systemPrompt:this.systemPrompt,skillLoaders:this.skillLoaders,toolLoaders:t,modelTier:this.modelTier,runtimeContextLoader:this.runtimeContextLoader,instructions:this.instructions});this.createGraph=s.createGraph,this.workspace=s.workspace}};export{r as SkillAgent};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import{a as i}from"../GHFOAS7T.js";import{a}from"../6WYVG3JI.js";import"../5TW2NFES.js";import"../CDS2HGQY.js";import"../QEGO4B2W.js";import"../EEHDAYOG.js";import"../XWNZMKQF.js";import"../FSLPYC4Y.js";import"../AMP43OT2.js";import"../2UKFCF2J.js";import"../UZLQALHY.js";var r=class extends a{constructor(e){super(),this.middlewares=[],Object.assign(this,e),this.generate()}generate(){let{workspace:e,createGraph:s}=this.workflow.generate({additionalSchemas:[this.inputSchema,this.outputSchema]});if(this.workspace=e,!this.middlewares.length)this.createGraph=s;else{let t=this.id,h=s().compile(),o={[t]:async(n,d)=>await h.invoke(n,d)},c=[{from:t,decide:()=>{}}];this.createGraph=()=>i(o,c,e,{agent:this,entryNode:t,middlewares:this.middlewares})}}};export{r as WorkflowAgent};
|
|
@@ -1,3 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{a
|
|
3
|
-
Tool: ${d}`,metadata:s?.metadata??{args:o,toolCallId:u,toolName:d}}}function N(t){return c(t?.configurable)?.payload}function c(t){let e=t?.hitlResponse;return e&&typeof e=="object"&&"id"in e&&"agentId"in e?e:null}export{x as createHumanInTheLoopMiddleware,H as createHumanInTheLoopToolMiddleware,N as getHumanInTheLoopPayload};
|
|
2
|
+
import{a,b,c}from"../../7MCFHVEH.js";import"../../DI3VGUJY.js";import"../../BMPBJXD7.js";import"../../QEGO4B2W.js";import"../../EEHDAYOG.js";import"../../XWNZMKQF.js";import"../../FSLPYC4Y.js";import"../../AMP43OT2.js";import"../../2UKFCF2J.js";import"../../UZLQALHY.js";export{a as createHumanInTheLoopMiddleware,b as createHumanInTheLoopToolMiddleware,c as getHumanInTheLoopPayload};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{a,b,c}from"../../
|
|
2
|
+
import{a,b,c}from"../../DI3VGUJY.js";import"../../BMPBJXD7.js";import"../../QEGO4B2W.js";import"../../EEHDAYOG.js";import"../../XWNZMKQF.js";import"../../FSLPYC4Y.js";import"../../AMP43OT2.js";import"../../2UKFCF2J.js";import"../../UZLQALHY.js";export{c as convertToLangChainMiddlewares,a as createAgentMiddleware,b as createToolMiddleware};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{a as
|
|
2
|
+
import{a as l,b as c}from"../../DI3VGUJY.js";import{a as o}from"../../CADNOKIK.js";import"../../BMPBJXD7.js";import"../../QEGO4B2W.js";import"../../EEHDAYOG.js";import"../../XWNZMKQF.js";import"../../FSLPYC4Y.js";import"../../AMP43OT2.js";import{V as s,fa as i}from"../../2UKFCF2J.js";import"../../UZLQALHY.js";var m="agent-trace",d="tool-trace";function M(){return l(m,{wrapModelCall:async(t,e)=>{let a=await e(t),r=t.runtime,g=u(a);return await Promise.all(g.map(async n=>await o({text:`LLM requested tool call "${n.name}" with arguments: ${JSON.stringify(n.args,null,2)}`},r))),a}})}function y(){return c(d,{wrapToolCall:async(t,e)=>{let a=await e(t),r=t.config;return await o({text:`Finished executing tool: ${s.isInstance(a)?a.text:typeof a=="string"?a:t.tool.name}`},r),a}})}function u(t){return!i.isInstance(t)||!Array.isArray(t.tool_calls)?[]:t.tool_calls.filter(e=>typeof e?.name=="string")}export{M as createAgentTraceMiddleware,y as createToolTraceMiddleware};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import{Ga as a}from"../../FSLPYC4Y.js";import"../../AMP43OT2.js";import"../../2UKFCF2J.js";import"../../UZLQALHY.js";var r=class{constructor(t){this.resultMode="continue",this.responseFormat="content",this.middlewares=[],Object.assign(this,t)}getTool(){return a(this._executeWithMiddlewares.bind(this),{name:this.name,description:this.description,returnDirect:this.resultMode==="terminal",schema:this.inputSchema,responseFormat:this.responseFormat==="content-and-artifact"?"content_and_artifact":"content"})}async _executeWithMiddlewares(t,e){let c=async i=>{let n=await this.execute(i.input,i.config);return this._validateOutput(n)},s=await this.middlewares.reduceRight((i,n)=>async u=>await n.handler(u,i),c)({config:e,input:t,tool:this,toolCallId:d(e)});return this.responseFormat==="content-and-artifact"&&typeof s=="string"?[s,void 0]:s}_validateOutput(t){if(!this.outputSchema)return t;let e=this.outputSchema.safeParse(t);if(!e.success)throw new Error(`FunctionTool output schema validation failed: ${e.error.message}`);return e.data}};function d(o){let t=o?.toolCall;return typeof t?.id=="string"?t.id:void 0}export{r as FunctionTool};
|