@geoscene/ai-components 0.0.0-stage → 5.1.13
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/LICENSE.md +18 -0
- package/README.md +2 -3
- package/dist/agent-utils/BaseAgent.d.ts +90 -0
- package/dist/agent-utils/BaseAgent.js +87 -0
- package/dist/agent-utils/FunctionAgent.d.ts +64 -0
- package/dist/agent-utils/FunctionAgent.js +98 -0
- package/dist/agent-utils/LLMAgent.d.ts +65 -0
- package/dist/agent-utils/LLMAgent.js +140 -0
- package/dist/agent-utils/WorkflowAgent.d.ts +44 -0
- package/dist/agent-utils/WorkflowAgent.js +70 -0
- package/dist/agent-utils/index.d.ts +177 -0
- package/dist/agent-utils/index.js +167 -0
- package/dist/agent-utils/middlewares/humanInTheLoop.d.ts +152 -0
- package/dist/agent-utils/middlewares/humanInTheLoop.js +94 -0
- package/dist/agent-utils/middlewares/middleware.d.ts +25 -0
- package/dist/agent-utils/middlewares/middleware.js +44 -0
- package/dist/agent-utils/middlewares/trace.d.ts +27 -0
- package/dist/agent-utils/middlewares/trace.js +42 -0
- package/dist/agent-utils/middlewares/types.d.ts +123 -0
- package/dist/agent-utils/middlewares/types.js +1 -0
- package/dist/agent-utils/tools/FunctionTool.d.ts +127 -0
- package/dist/agent-utils/tools/FunctionTool.js +80 -0
- package/dist/agent-utils/types.d.ts +181 -0
- package/dist/agent-utils/workflows/BaseWorkflow.d.ts +87 -0
- package/dist/agent-utils/workflows/ConditionalWorkflow.d.ts +72 -0
- package/dist/agent-utils/workflows/ConditionalWorkflow.js +61 -0
- package/dist/agent-utils/workflows/LoopWorkflow.d.ts +58 -0
- package/dist/agent-utils/workflows/LoopWorkflow.js +56 -0
- package/dist/agent-utils/workflows/ParallelWorkflow.d.ts +68 -0
- package/dist/agent-utils/workflows/ParallelWorkflow.js +129 -0
- package/dist/agent-utils/workflows/RouterWorkflow.d.ts +63 -0
- package/dist/agent-utils/workflows/RouterWorkflow.js +75 -0
- package/dist/agent-utils/workflows/SequentialWorkflow.d.ts +56 -0
- package/dist/agent-utils/workflows/SequentialWorkflow.js +69 -0
- package/dist/agent-utils/workflows/SwitchWorkflow.d.ts +74 -0
- package/dist/agent-utils/workflows/SwitchWorkflow.js +84 -0
- package/dist/assets/embeddings.worker-k9_Ou679.js +1 -0
- package/dist/cdn/22TUPT3D.js +2 -0
- package/dist/cdn/27BBMHFA.js +3 -0
- package/dist/cdn/2FYXUV7O.js +30 -0
- package/dist/cdn/3Y723IJS.js +2 -0
- package/dist/cdn/45POUVZK.js +2 -0
- package/dist/cdn/46U2PGRW.js +65 -0
- package/dist/cdn/4ASZF5I2.js +181 -0
- package/dist/cdn/4BA4OUWC.js +101 -0
- package/dist/cdn/4EALV6QJ.js +2 -0
- package/dist/cdn/53Z3R4OY.js +95 -0
- package/dist/cdn/5RQUSM3T.js +132 -0
- package/dist/cdn/6FEB6XYK.js +2 -0
- package/dist/cdn/6TB6FVGF.js +9 -0
- package/dist/cdn/72TH3ONI.js +2 -0
- package/dist/cdn/77GAVZIK.js +62 -0
- package/dist/cdn/7CCULIWM.js +2 -0
- package/dist/cdn/7WSTR3WA.js +2 -0
- package/dist/cdn/AJKWCXDA.js +46 -0
- package/dist/cdn/AXOPGQGZ.js +2 -0
- package/dist/cdn/B35MHQJD.js +2 -0
- package/dist/cdn/BUTKUPXN.js +33 -0
- package/dist/cdn/CFDTXKJ6.js +2 -0
- package/dist/cdn/CU2TRUZQ.js +93 -0
- package/dist/cdn/D3KUKNJ7.js +11 -0
- package/dist/cdn/DHGNGMNJ.js +2 -0
- package/dist/cdn/DKNDDDWM.js +2 -0
- package/dist/cdn/ESRKMM6P.js +2 -0
- package/dist/cdn/FFXK76K7.js +2 -0
- package/dist/cdn/FYNHAVHL.js +2 -0
- package/dist/cdn/G7XK3XOR.js +77 -0
- package/dist/cdn/GHNP3LDR.js +2 -0
- package/dist/cdn/GI2NZ45U.js +4 -0
- package/dist/cdn/GTXGIROA.js +2 -0
- package/dist/cdn/H3EEFM4A.js +179 -0
- package/dist/cdn/HCD4CDWZ.js +2 -0
- package/dist/cdn/HJGF7W5O.js +35 -0
- package/dist/cdn/HK4HSYKG.js +2 -0
- package/dist/cdn/I55TMNNP.js +2 -0
- package/dist/cdn/ILGFFHXZ.js +2 -0
- package/dist/cdn/INJ2KWHS.js +2 -0
- package/dist/cdn/KBFL7LCS.js +2 -0
- package/dist/cdn/KGYSBUFO.js +9 -0
- package/dist/cdn/KLSCVMLN.js +13 -0
- package/dist/cdn/L6GVMINQ.js +2 -0
- package/dist/cdn/LTPDBXQ7.js +6 -0
- package/dist/cdn/LUY7QCZ3.js +2 -0
- package/dist/cdn/LXJWWOGK.js +66 -0
- package/dist/cdn/M7C6Y752.js +2 -0
- package/dist/cdn/MFZCTEAG.js +2 -0
- package/dist/cdn/MQ7QXIOW.js +52 -0
- package/dist/cdn/N2SKXRLK.js +65 -0
- package/dist/cdn/N5XXTTDR.js +2 -0
- package/dist/cdn/NHDPNQXA.js +36 -0
- package/dist/cdn/NMWLJECU.js +109 -0
- package/dist/cdn/OBDCCGVH.js +2 -0
- package/dist/cdn/P5M2HNJ7.js +2 -0
- package/dist/cdn/PFW7KXCP.js +48 -0
- package/dist/cdn/PIUDMACH.js +56 -0
- package/dist/cdn/PKH5BECA.js +2 -0
- package/dist/cdn/PTKZXFXB.js +27 -0
- package/dist/cdn/Q7FTL7JO.js +2 -0
- package/dist/cdn/QH6TSBNI.js +2 -0
- package/dist/cdn/QZXQIJSW.js +2 -0
- package/dist/cdn/TFPBGM6P.js +2 -0
- package/dist/cdn/THLZTO23.js +12 -0
- package/dist/cdn/TIXCHLEN.js +121 -0
- package/dist/cdn/TOYQ22PR.js +2 -0
- package/dist/cdn/U72SSJEL.js +2 -0
- package/dist/cdn/UDXMJNRF.js +3 -0
- package/dist/cdn/UE3CP46P.js +2 -0
- package/dist/cdn/URYKQKFE.js +3 -0
- package/dist/cdn/VBS2ZXKT.js +3 -0
- package/dist/cdn/VDAF255D.js +22 -0
- package/dist/cdn/VG7HRDJX.js +2 -0
- package/dist/cdn/VPZHLYPA.js +2 -0
- package/dist/cdn/VWMJ7HIK.js +66 -0
- package/dist/cdn/WNJM5TET.js +2 -0
- package/dist/cdn/XTEMZD4A.js +2 -0
- package/dist/cdn/Y5GGIKKC.js +2 -0
- package/dist/cdn/YULWPVJ3.js +2 -0
- package/dist/cdn/YURWID37.js +2 -0
- package/dist/cdn/ZDJM4RRH.js +2 -0
- package/dist/cdn/ZGUVZMYR.js +157 -0
- package/dist/cdn/agent-utils/index.js +2 -0
- package/dist/cdn/agent-utils/middlewares/humanInTheLoop.js +3 -0
- package/dist/cdn/agent-utils/middlewares/middleware.js +2 -0
- package/dist/cdn/agent-utils/middlewares/trace.js +2 -0
- package/dist/cdn/assets/assistant/t9n/messages.ar.json +1 -0
- package/dist/cdn/assets/assistant/t9n/messages.bg.json +1 -0
- package/dist/cdn/assets/assistant/t9n/messages.bs.json +1 -0
- package/dist/cdn/assets/assistant/t9n/messages.ca.json +1 -0
- package/dist/cdn/assets/assistant/t9n/messages.cs.json +1 -0
- package/dist/cdn/assets/assistant/t9n/messages.da.json +1 -0
- package/dist/cdn/assets/assistant/t9n/messages.de.json +1 -0
- package/dist/cdn/assets/assistant/t9n/messages.el.json +1 -0
- package/dist/cdn/assets/assistant/t9n/messages.en.json +1 -0
- package/dist/cdn/assets/assistant/t9n/messages.es.json +1 -0
- package/dist/cdn/assets/assistant/t9n/messages.et.json +1 -0
- package/dist/cdn/assets/assistant/t9n/messages.fi.json +1 -0
- package/dist/cdn/assets/assistant/t9n/messages.fr.json +1 -0
- package/dist/cdn/assets/assistant/t9n/messages.he.json +1 -0
- package/dist/cdn/assets/assistant/t9n/messages.hr.json +1 -0
- package/dist/cdn/assets/assistant/t9n/messages.hu.json +1 -0
- package/dist/cdn/assets/assistant/t9n/messages.id.json +1 -0
- package/dist/cdn/assets/assistant/t9n/messages.it.json +1 -0
- package/dist/cdn/assets/assistant/t9n/messages.ja.json +1 -0
- package/dist/cdn/assets/assistant/t9n/messages.ko.json +1 -0
- package/dist/cdn/assets/assistant/t9n/messages.lt.json +1 -0
- package/dist/cdn/assets/assistant/t9n/messages.lv.json +1 -0
- package/dist/cdn/assets/assistant/t9n/messages.nl.json +1 -0
- package/dist/cdn/assets/assistant/t9n/messages.no.json +1 -0
- package/dist/cdn/assets/assistant/t9n/messages.pl.json +1 -0
- package/dist/cdn/assets/assistant/t9n/messages.pt-BR.json +1 -0
- package/dist/cdn/assets/assistant/t9n/messages.pt-PT.json +1 -0
- package/dist/cdn/assets/assistant/t9n/messages.ro.json +1 -0
- package/dist/cdn/assets/assistant/t9n/messages.ru.json +1 -0
- package/dist/cdn/assets/assistant/t9n/messages.sk.json +1 -0
- package/dist/cdn/assets/assistant/t9n/messages.sl.json +1 -0
- package/dist/cdn/assets/assistant/t9n/messages.sr.json +1 -0
- package/dist/cdn/assets/assistant/t9n/messages.sv.json +1 -0
- package/dist/cdn/assets/assistant/t9n/messages.th.json +1 -0
- package/dist/cdn/assets/assistant/t9n/messages.tr.json +1 -0
- package/dist/cdn/assets/assistant/t9n/messages.uk.json +1 -0
- package/dist/cdn/assets/assistant/t9n/messages.vi.json +1 -0
- package/dist/cdn/assets/assistant/t9n/messages.zh-CN.json +1 -0
- package/dist/cdn/assets/assistant/t9n/messages.zh-HK.json +1 -0
- package/dist/cdn/assets/assistant/t9n/messages.zh-TW.json +1 -0
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.ar.json +1 -0
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.bg.json +1 -0
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.bs.json +1 -0
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.ca.json +1 -0
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.cs.json +1 -0
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.da.json +1 -0
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.de.json +1 -0
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.el.json +1 -0
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.en.json +1 -0
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.es.json +1 -0
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.et.json +1 -0
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.fi.json +1 -0
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.fr.json +1 -0
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.he.json +1 -0
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.hr.json +1 -0
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.hu.json +1 -0
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.id.json +1 -0
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.it.json +1 -0
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.ja.json +1 -0
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.ko.json +1 -0
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.lt.json +1 -0
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.lv.json +1 -0
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.nl.json +1 -0
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.no.json +1 -0
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.pl.json +1 -0
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.pt-BR.json +1 -0
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.pt-PT.json +1 -0
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.ro.json +1 -0
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.ru.json +1 -0
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.sk.json +1 -0
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.sl.json +1 -0
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.sr.json +1 -0
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.sv.json +1 -0
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.th.json +1 -0
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.tr.json +1 -0
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.uk.json +1 -0
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.vi.json +1 -0
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.zh-CN.json +1 -0
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.zh-HK.json +1 -0
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.zh-TW.json +1 -0
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.ar.json +1 -0
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.bg.json +1 -0
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.bs.json +1 -0
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.ca.json +1 -0
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.cs.json +1 -0
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.da.json +1 -0
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.de.json +1 -0
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.el.json +1 -0
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.en.json +1 -0
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.es.json +1 -0
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.et.json +1 -0
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.fi.json +1 -0
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.fr.json +1 -0
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.he.json +1 -0
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.hr.json +1 -0
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.hu.json +1 -0
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.id.json +1 -0
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.it.json +1 -0
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.ja.json +1 -0
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.ko.json +1 -0
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.lt.json +1 -0
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.lv.json +1 -0
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.nl.json +1 -0
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.no.json +1 -0
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.pl.json +1 -0
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.pt-BR.json +1 -0
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.pt-PT.json +1 -0
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.ro.json +1 -0
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.ru.json +1 -0
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.sk.json +1 -0
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.sl.json +1 -0
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.sr.json +1 -0
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.sv.json +1 -0
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.th.json +1 -0
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.tr.json +1 -0
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.uk.json +1 -0
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.vi.json +1 -0
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.zh-CN.json +1 -0
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.zh-HK.json +1 -0
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.zh-TW.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.ar.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.bg.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.bs.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.ca.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.cs.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.da.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.de.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.el.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.en.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.es.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.et.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.fi.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.fr.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.he.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.hr.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.hu.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.id.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.it.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.ja.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.ko.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.lt.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.lv.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.nl.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.no.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.pl.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.pt-BR.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.pt-PT.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.ro.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.ru.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.sk.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.sl.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.sr.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.sv.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.th.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.tr.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.uk.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.vi.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.zh-CN.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.zh-HK.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.zh-TW.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.ar.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.bg.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.bs.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.ca.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.cs.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.da.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.de.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.el.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.en.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.es.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.et.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.fi.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.fr.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.he.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.hr.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.hu.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.id.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.it.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.ja.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.ko.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.lt.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.lv.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.nl.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.no.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.pl.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.pt-BR.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.pt-PT.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.ro.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.ru.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.sk.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.sl.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.sr.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.sv.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.th.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.tr.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.uk.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.vi.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.zh-CN.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.zh-HK.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.zh-TW.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.ar.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.bg.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.bs.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.ca.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.cs.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.da.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.de.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.el.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.en.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.es.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.et.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.fi.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.fr.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.he.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.hr.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.hu.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.id.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.it.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.ja.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.ko.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.lt.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.lv.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.nl.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.no.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.pl.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.pt-BR.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.pt-PT.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.ro.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.ru.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.sk.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.sl.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.sr.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.sv.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.th.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.tr.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.uk.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.vi.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.zh-CN.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.zh-HK.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.zh-TW.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.ar.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.bg.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.bs.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.ca.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.cs.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.da.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.de.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.el.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.en.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.es.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.et.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.fi.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.fr.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.he.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.hr.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.hu.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.id.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.it.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.ja.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.ko.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.lt.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.lv.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.nl.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.no.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.pl.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.pt-BR.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.pt-PT.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.ro.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.ru.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.sk.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.sl.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.sr.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.sv.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.th.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.tr.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.uk.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.vi.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.zh-CN.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.zh-HK.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.zh-TW.json +1 -0
- package/dist/cdn/index.js +2 -0
- package/dist/cdn/main.css +1 -0
- package/dist/chunks/BaseWorkflow.js +107 -0
- package/dist/chunks/adapter.js +3148 -0
- package/dist/chunks/converterUtils.js +124 -0
- package/dist/chunks/dataExplorationGraph.js +319 -0
- package/dist/chunks/data_explore_filter_prompt.js +112 -0
- package/dist/chunks/data_explore_query_prompt.js +135 -0
- package/dist/chunks/embeddings.worker.js +25 -0
- package/dist/chunks/field_descriptions_prompt.js +80 -0
- package/dist/chunks/generateLayerDescriptions.js +477 -0
- package/dist/chunks/geosceneKnowledgeGraph.js +221 -0
- package/dist/chunks/geoscene_knowledge_current_lc_context.js +25 -0
- package/dist/chunks/geoscene_knowledge_current_map_context.js +36 -0
- package/dist/chunks/geoscene_knowledge_cypher_query_prompt.js +96 -0
- package/dist/chunks/geoscene_knowledge_lucene_generation_prompt.js +98 -0
- package/dist/chunks/geoscene_knowledge_summarize_result_prompt.js +104 -0
- package/dist/chunks/geoscene_knowledge_tool_prompt.js +30 -0
- package/dist/chunks/graph.js +86 -0
- package/dist/chunks/helpGraph.js +117 -0
- package/dist/chunks/help_prompt.js +68 -0
- package/dist/chunks/index.js +11 -0
- package/dist/chunks/intent_prompt.js +124 -0
- package/dist/chunks/layerStylingGraph.js +190 -0
- package/dist/chunks/layer_descriptions_prompt.js +55 -0
- package/dist/chunks/layer_styling_prompt.js +65 -0
- package/dist/chunks/navigationGraph.js +265 -0
- package/dist/chunks/navigation_intent_prompt.js +49 -0
- package/dist/chunks/navigation_tool_prompt.js +38 -0
- package/dist/chunks/orchestrator.js +569 -0
- package/dist/chunks/runtime.js +15 -0
- package/dist/chunks/slottableRequestUtils.js +7 -0
- package/dist/chunks/state.js +71 -0
- package/dist/chunks/summarize_query_response_prompt.js +69 -0
- package/dist/chunks/toolCallResponse.js +32 -0
- package/dist/chunks/useT9n.js +7 -0
- package/dist/chunks/utils.js +53 -0
- package/dist/chunks/utils2.js +47 -0
- package/dist/chunks/utils3.js +16 -0
- package/dist/components/geoscene-assistant/customElement.d.ts +541 -0
- package/dist/components/geoscene-assistant/customElement.js +562 -0
- package/dist/components/geoscene-assistant/index.d.ts +1 -0
- package/dist/components/geoscene-assistant/index.js +13 -0
- package/dist/components/geoscene-assistant/types.d.ts +147 -0
- package/dist/components/geoscene-assistant-agent/customElement.d.ts +141 -0
- package/dist/components/geoscene-assistant-agent/customElement.js +23 -0
- package/dist/components/geoscene-assistant-agent/index.d.ts +1 -0
- package/dist/components/geoscene-assistant-agent/index.js +1 -0
- package/dist/components/geoscene-assistant-chat/customElement.d.ts +17 -0
- package/dist/components/geoscene-assistant-chat/customElement.js +50 -0
- package/dist/components/geoscene-assistant-chat/index.d.ts +1 -0
- package/dist/components/geoscene-assistant-chat/index.js +1 -0
- package/dist/components/geoscene-assistant-chat-entry/customElement.d.ts +37 -0
- package/dist/components/geoscene-assistant-chat-entry/customElement.js +85 -0
- package/dist/components/geoscene-assistant-chat-entry/index.d.ts +1 -0
- package/dist/components/geoscene-assistant-chat-entry/index.js +3 -0
- package/dist/components/geoscene-assistant-data-exploration-agent/customElement.d.ts +101 -0
- package/dist/components/geoscene-assistant-data-exploration-agent/customElement.js +48 -0
- package/dist/components/geoscene-assistant-data-exploration-agent/index.d.ts +1 -0
- package/dist/components/geoscene-assistant-data-exploration-agent/index.js +1 -0
- package/dist/components/geoscene-assistant-help-agent/customElement.d.ts +73 -0
- package/dist/components/geoscene-assistant-help-agent/customElement.js +51 -0
- package/dist/components/geoscene-assistant-help-agent/index.d.ts +1 -0
- package/dist/components/geoscene-assistant-help-agent/index.js +1 -0
- package/dist/components/geoscene-assistant-interrupt/customElement.d.ts +31 -0
- package/dist/components/geoscene-assistant-interrupt/customElement.js +37 -0
- package/dist/components/geoscene-assistant-interrupt/index.d.ts +1 -0
- package/dist/components/geoscene-assistant-interrupt/index.js +6 -0
- package/dist/components/geoscene-assistant-interrupt-preview/customElement.js +20 -0
- package/dist/components/geoscene-assistant-interrupt-preview/index.js +2 -0
- package/dist/components/geoscene-assistant-knowledge-agent/customElement.d.ts +158 -0
- package/dist/components/geoscene-assistant-knowledge-agent/customElement.js +74 -0
- package/dist/components/geoscene-assistant-knowledge-agent/index.d.ts +1 -0
- package/dist/components/geoscene-assistant-knowledge-agent/index.js +1 -0
- package/dist/components/geoscene-assistant-layer-styling-agent/customElement.d.ts +8 -0
- package/dist/components/geoscene-assistant-layer-styling-agent/customElement.js +51 -0
- package/dist/components/geoscene-assistant-layer-styling-agent/index.d.ts +1 -0
- package/dist/components/geoscene-assistant-layer-styling-agent/index.js +1 -0
- package/dist/components/geoscene-assistant-message/customElement.d.ts +23 -0
- package/dist/components/geoscene-assistant-message/customElement.js +45 -0
- package/dist/components/geoscene-assistant-message/index.d.ts +1 -0
- package/dist/components/geoscene-assistant-message/index.js +5 -0
- package/dist/components/geoscene-assistant-message-block/customElement.d.ts +8 -0
- package/dist/components/geoscene-assistant-message-block/customElement.js +36 -0
- package/dist/components/geoscene-assistant-message-block/index.d.ts +1 -0
- package/dist/components/geoscene-assistant-message-block/index.js +3 -0
- package/dist/components/geoscene-assistant-message-feedback/customElement.d.ts +26 -0
- package/dist/components/geoscene-assistant-message-feedback/customElement.js +36 -0
- package/dist/components/geoscene-assistant-message-feedback/index.d.ts +1 -0
- package/dist/components/geoscene-assistant-message-feedback/index.js +3 -0
- package/dist/components/geoscene-assistant-message-footer/customElement.d.ts +28 -0
- package/dist/components/geoscene-assistant-message-footer/customElement.js +62 -0
- package/dist/components/geoscene-assistant-message-footer/index.d.ts +1 -0
- package/dist/components/geoscene-assistant-message-footer/index.js +6 -0
- package/dist/components/geoscene-assistant-message-loading/customElement.d.ts +17 -0
- package/dist/components/geoscene-assistant-message-loading/customElement.js +23 -0
- package/dist/components/geoscene-assistant-message-loading/index.d.ts +1 -0
- package/dist/components/geoscene-assistant-message-loading/index.js +5 -0
- package/dist/components/geoscene-assistant-message-log/customElement.d.ts +14 -0
- package/dist/components/geoscene-assistant-message-log/customElement.js +29 -0
- package/dist/components/geoscene-assistant-message-log/index.d.ts +1 -0
- package/dist/components/geoscene-assistant-message-log/index.js +3 -0
- package/dist/components/geoscene-assistant-message-read-aloud/customElement.d.ts +22 -0
- package/dist/components/geoscene-assistant-message-read-aloud/customElement.js +100 -0
- package/dist/components/geoscene-assistant-message-read-aloud/index.d.ts +1 -0
- package/dist/components/geoscene-assistant-message-read-aloud/index.js +3 -0
- package/dist/components/geoscene-assistant-message-text/customElement.d.ts +11 -0
- package/dist/components/geoscene-assistant-message-text/customElement.js +22 -0
- package/dist/components/geoscene-assistant-message-text/index.d.ts +1 -0
- package/dist/components/geoscene-assistant-message-text/index.js +1 -0
- package/dist/components/geoscene-assistant-navigation-agent/customElement.d.ts +81 -0
- package/dist/components/geoscene-assistant-navigation-agent/customElement.js +50 -0
- package/dist/components/geoscene-assistant-navigation-agent/index.d.ts +1 -0
- package/dist/components/geoscene-assistant-navigation-agent/index.js +1 -0
- package/dist/components/geoscene-assistant-speech-input/customElement.d.ts +36 -0
- package/dist/components/geoscene-assistant-speech-input/customElement.js +488 -0
- package/dist/components/geoscene-assistant-speech-input/index.d.ts +1 -0
- package/dist/components/geoscene-assistant-speech-input/index.js +2 -0
- package/dist/components/geoscene-assistant-speech-input/support/types.d.ts +20 -0
- package/dist/components/geoscene-assistant-suggested-prompts/customElement.d.ts +19 -0
- package/dist/components/geoscene-assistant-suggested-prompts/customElement.js +27 -0
- package/dist/components/geoscene-assistant-suggested-prompts/index.d.ts +1 -0
- package/dist/components/geoscene-assistant-suggested-prompts/index.js +3 -0
- package/dist/components/geoscene-assistant-user-message/customElement.d.ts +13 -0
- package/dist/components/geoscene-assistant-user-message/customElement.js +25 -0
- package/dist/components/geoscene-assistant-user-message/index.d.ts +1 -0
- package/dist/components/geoscene-assistant-user-message/index.js +2 -0
- package/dist/docs/api.json +1 -0
- package/dist/docs/docs.json +1 -0
- package/dist/docs/vscode.css-custom-data.json +1 -0
- package/dist/docs/vscode.html-custom-data.json +1 -0
- package/dist/docs/web-types.json +1 -0
- package/dist/index.d.ts +158 -0
- package/dist/index.js +6 -0
- package/dist/loader.d.ts +2 -0
- package/dist/loader.js +30 -0
- package/dist/oauth-callback.html +31 -0
- package/dist/types/components.d.ts +2 -0
- package/dist/types/lumina.d.ts +138 -0
- package/dist/types/preact.d.ts +164 -0
- package/dist/types/react.d.ts +193 -0
- package/dist/types/stencil.d.ts +145 -0
- package/dist/utils/index.d.ts +542 -0
- package/dist/utils/index.js +116 -0
- package/package.json +66 -5
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/* COPYRIGHT GeoScene - https://js.geoscene.cn/5.1/LICENSE.txt */
|
|
2
|
+
import { StateGraph as G, END as p, START as k } from "@langchain/langgraph/web";
|
|
3
|
+
function b(t, c, o, s = {}) {
|
|
4
|
+
const { agent: h, entryNode: u, middlewares: l = [] } = s;
|
|
5
|
+
let r = new G(o);
|
|
6
|
+
if (Object.keys(t).length === 0)
|
|
7
|
+
throw new Error("图至少需要一个节点。");
|
|
8
|
+
if (c.length === 0)
|
|
9
|
+
throw new Error("图至少需要一条边。");
|
|
10
|
+
if (l.length > 0 && !h)
|
|
11
|
+
throw new Error("图中间件需要 Agent 元数据。");
|
|
12
|
+
const n = new Set(Object.keys(t)), d = /* @__PURE__ */ new Map(), w = /* @__PURE__ */ new Map();
|
|
13
|
+
for (const e of n)
|
|
14
|
+
d.set(e, 0), w.set(e, 0);
|
|
15
|
+
for (const e of c)
|
|
16
|
+
"to" in e ? (n.has(e.from) && w.set(e.from, (w.get(e.from) ?? 0) + 1), n.has(e.to) && d.set(e.to, (d.get(e.to) ?? 0) + 1)) : n.has(e.from) && w.set(e.from, (w.get(e.from) ?? 0) + 1);
|
|
17
|
+
for (const [e, a] of Object.entries(t)) {
|
|
18
|
+
const f = $(
|
|
19
|
+
h,
|
|
20
|
+
e,
|
|
21
|
+
l,
|
|
22
|
+
async (i, m) => await Promise.resolve(a(i, m))
|
|
23
|
+
), g = async (i, m) => await f(i, m);
|
|
24
|
+
r = r.addNode(e, g);
|
|
25
|
+
}
|
|
26
|
+
for (const e of c)
|
|
27
|
+
if ("to" in e) {
|
|
28
|
+
const a = e.from, f = e.to;
|
|
29
|
+
if (!n.has(a))
|
|
30
|
+
throw new Error(`图的边引用了未知起点:${a}`);
|
|
31
|
+
if (!n.has(f))
|
|
32
|
+
throw new Error(`图的边引用了未知终点:${f}`);
|
|
33
|
+
r.addEdge(a, f);
|
|
34
|
+
} else {
|
|
35
|
+
const a = e.from;
|
|
36
|
+
if (!n.has(a))
|
|
37
|
+
throw new Error(`图的条件边引用了未知起点:${a}`);
|
|
38
|
+
r.addConditionalEdges(
|
|
39
|
+
a,
|
|
40
|
+
async (f, g) => {
|
|
41
|
+
const i = await e.decide(f, g);
|
|
42
|
+
if (!i)
|
|
43
|
+
return p;
|
|
44
|
+
if (!n.has(i))
|
|
45
|
+
throw new Error(`图的条件边返回了未知节点:${i}`);
|
|
46
|
+
return i;
|
|
47
|
+
}
|
|
48
|
+
);
|
|
49
|
+
}
|
|
50
|
+
const E = x(n, d, u);
|
|
51
|
+
r.addEdge(k, E);
|
|
52
|
+
const y = [...n].filter((e) => (w.get(e) ?? 0) === 0);
|
|
53
|
+
for (const e of y)
|
|
54
|
+
r.addEdge(e, p);
|
|
55
|
+
return r;
|
|
56
|
+
}
|
|
57
|
+
function $(t, c, o, s) {
|
|
58
|
+
return !o.length || !t ? s : async (h, u) => await o.reduceRight(
|
|
59
|
+
(r, n) => async (d) => await n.handler(d, r),
|
|
60
|
+
async (r) => {
|
|
61
|
+
const n = await s(r.state, r.config);
|
|
62
|
+
return { ...r.state, ...n };
|
|
63
|
+
}
|
|
64
|
+
)({
|
|
65
|
+
agent: t,
|
|
66
|
+
config: u,
|
|
67
|
+
nodeName: c,
|
|
68
|
+
state: h
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
function x(t, c, o) {
|
|
72
|
+
if (o) {
|
|
73
|
+
if (!t.has(o))
|
|
74
|
+
throw new Error(`图的入口引用了未知节点:${o}`);
|
|
75
|
+
return o;
|
|
76
|
+
}
|
|
77
|
+
const s = [...t].filter((h) => (c.get(h) ?? 0) === 0);
|
|
78
|
+
if (s.length !== 1)
|
|
79
|
+
throw new Error(
|
|
80
|
+
`无法推断唯一入口节点,找到 ${s.length} 个。请显式指定 entryNode,或保证只有一个没有入边的节点。`
|
|
81
|
+
);
|
|
82
|
+
return s[0];
|
|
83
|
+
}
|
|
84
|
+
export {
|
|
85
|
+
b as c
|
|
86
|
+
};
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/* COPYRIGHT GeoScene - https://js.geoscene.cn/5.1/LICENSE.txt */
|
|
2
|
+
import { StateGraph as d, START as g, END as i } from "@langchain/langgraph/web";
|
|
3
|
+
import { l as h, g as f, f as p, r as x, t as y, H as m } from "./adapter.js";
|
|
4
|
+
import "@geoscene/core/identity/IdentityManager.js";
|
|
5
|
+
import "@geoscene/core/portal/Portal.js";
|
|
6
|
+
import "@geoscene/toolkit/string";
|
|
7
|
+
import { h as S } from "./generateLayerDescriptions.js";
|
|
8
|
+
import "@langchain/core/messages";
|
|
9
|
+
import "@langchain/core/callbacks/dispatch/web";
|
|
10
|
+
import "@langchain/openai";
|
|
11
|
+
import "@geoscene/core/config.js";
|
|
12
|
+
import "@geoscene/core/core/reactiveUtils.js";
|
|
13
|
+
import "@geoscene/core/layers/FeatureLayer.js";
|
|
14
|
+
import "@geoscene/core/request.js";
|
|
15
|
+
import { ToolNode as E } from "@langchain/langgraph/prebuilt";
|
|
16
|
+
import { s as u } from "./index.js";
|
|
17
|
+
import "@langchain/core/prompts";
|
|
18
|
+
const c = [h], v = (e) => {
|
|
19
|
+
if (!e || e.size === 0)
|
|
20
|
+
return "当前地图没有可用图层。";
|
|
21
|
+
const t = Array.from(e.values()).map(({ layerItem: r, fieldRegistry: s }, l) => {
|
|
22
|
+
const a = Array.from(s.values()).map((n) => n.name).slice(0, 10).join(", "), o = s.size > 10 ? `(另有 ${s.size - 10} 个)` : "";
|
|
23
|
+
return `${l + 1}. "${r.title}”。说明:${r.description}
|
|
24
|
+
字段:${a}${o}`;
|
|
25
|
+
}).join(`
|
|
26
|
+
|
|
27
|
+
`);
|
|
28
|
+
return `当前地图包含 ${e.size} 个图层:
|
|
29
|
+
|
|
30
|
+
${t}`;
|
|
31
|
+
}, T = (e) => {
|
|
32
|
+
const t = e?.list() ?? [];
|
|
33
|
+
return t.length ? t.map((r) => `- ${r.agent.name}: ${r.agent.description}`).join(`
|
|
34
|
+
`) : "当前没有可用 Agent。";
|
|
35
|
+
};
|
|
36
|
+
async function _(e, t) {
|
|
37
|
+
const r = await f("help_prompt"), s = p(t, "layersAndFieldsRegistry"), l = p(t, "agentRegistry");
|
|
38
|
+
try {
|
|
39
|
+
const a = await S({
|
|
40
|
+
promptText: r,
|
|
41
|
+
modelTier: "default",
|
|
42
|
+
config: t,
|
|
43
|
+
tools: c,
|
|
44
|
+
inputVariables: {
|
|
45
|
+
layerSummary: v(s),
|
|
46
|
+
agents: T(l),
|
|
47
|
+
assignedTask: e.agentExecutionContext.assignedTask,
|
|
48
|
+
userRequest: e.agentExecutionContext.userRequest,
|
|
49
|
+
priorSteps: e.agentExecutionContext.priorSteps
|
|
50
|
+
}
|
|
51
|
+
}), o = (a.tool_calls?.length ?? 0) > 0, n = typeof a.text == "string" ? a.text.trim() : "";
|
|
52
|
+
return {
|
|
53
|
+
...e,
|
|
54
|
+
helpInternalState: {
|
|
55
|
+
...e.helpInternalState,
|
|
56
|
+
toolCallMessage: o ? a : void 0
|
|
57
|
+
},
|
|
58
|
+
outputMessage: o ? e.outputMessage : n,
|
|
59
|
+
summary: o ? "已根据分配的任务准备帮助工具调用。" : "已根据分配的任务提供地图相关帮助。",
|
|
60
|
+
status: o ? e.status : "success"
|
|
61
|
+
};
|
|
62
|
+
} catch (a) {
|
|
63
|
+
const o = a instanceof Error ? a.message : String(a);
|
|
64
|
+
return {
|
|
65
|
+
...e,
|
|
66
|
+
outputMessage: `调用帮助 Agent 出错:${o}`,
|
|
67
|
+
summary: "帮助 Agent 执行失败。",
|
|
68
|
+
status: "failed"
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
const C = (e, t) => x(["agentRegistry"], "帮助 Agent")(e, t);
|
|
73
|
+
async function H(e, t) {
|
|
74
|
+
const r = new E(c, { handleToolErrors: !1 });
|
|
75
|
+
try {
|
|
76
|
+
const s = e.helpInternalState.toolCallMessage;
|
|
77
|
+
if (!s)
|
|
78
|
+
throw new Error("helpToolCalling:缺少 helpInternalState.toolCallMessage");
|
|
79
|
+
const a = (await r.invoke({ messages: [s] }, t)).messages.map((o) => o.text).join(`
|
|
80
|
+
`);
|
|
81
|
+
return await u({ text: `帮助工具执行完成:${a}` }, t), {
|
|
82
|
+
...e,
|
|
83
|
+
outputMessage: a,
|
|
84
|
+
status: "success",
|
|
85
|
+
summary: a ? y(a) : "帮助已执行。",
|
|
86
|
+
helpInternalState: {
|
|
87
|
+
...e.helpInternalState,
|
|
88
|
+
toolCallMessage: void 0
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
} catch (s) {
|
|
92
|
+
const l = s instanceof Error ? s.message : String(s);
|
|
93
|
+
return await u({ text: `帮助工具执行失败:${l}` }, t), {
|
|
94
|
+
...e,
|
|
95
|
+
outputMessage: `帮助工具执行失败:${l}`,
|
|
96
|
+
status: "failed",
|
|
97
|
+
summary: `帮助工具执行失败:${l}`,
|
|
98
|
+
helpInternalState: {
|
|
99
|
+
...e.helpInternalState,
|
|
100
|
+
toolCallMessage: void 0
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
const b = () => new d(m).addNode("requireHelpServices", C).addNode("agent", _).addNode("tools", H).addEdge(g, "requireHelpServices").addEdge("requireHelpServices", "agent").addConditionalEdges("agent", (t) => t.helpInternalState.toolCallMessage ? "tools" : i).addEdge("tools", i), M = String.raw`- **help**——回答地图、图层、字段和助手能力相关问题。
|
|
106
|
+
示例:“介绍当前地图”“列出地图全部图层”“列出保护区图层字段”“有哪些 Agent”“你能做什么”“我能问什么”。
|
|
107
|
+
用户询问英文字母元音、烹饪等无关问题时,调用此 Agent 礼貌说明范围并引导回地图问题。
|
|
108
|
+
用户要求其他 Agent 均不支持的地图操作时,也调用此 Agent 告知暂不支持,例如“创建图表”“创建表格”。`, V = {
|
|
109
|
+
id: "help",
|
|
110
|
+
name: "帮助 Agent",
|
|
111
|
+
description: M,
|
|
112
|
+
createGraph: b,
|
|
113
|
+
workspace: m
|
|
114
|
+
};
|
|
115
|
+
export {
|
|
116
|
+
V as H
|
|
117
|
+
};
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/* COPYRIGHT GeoScene - https://js.geoscene.cn/5.1/LICENSE.txt */
|
|
2
|
+
const n = `## 你的身份
|
|
3
|
+
|
|
4
|
+
你是嵌入 GIS 应用的地图助手。你不了解历史、科学、人物、事件、烹饪等与当前地图及数据无关的信息,只知道下面“地图上下文”中描述的内容。
|
|
5
|
+
|
|
6
|
+
对于超出上下文的问题,应自然说明没有相关信息,并使用地图中具体的图层名和字段名,引导用户提出你能帮助的问题。
|
|
7
|
+
|
|
8
|
+
示例:“我没有这方面的信息,我只了解当前地图。你可以让我列出地图中的图层,或介绍地图助手的功能。”
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## 你的能力
|
|
13
|
+
|
|
14
|
+
- 列出当前地图的图层。
|
|
15
|
+
- 列出指定图层的字段,此时使用工具。
|
|
16
|
+
- 使用真实图层名和字段名建议具体查询。
|
|
17
|
+
- 概括地图内容及可执行的操作。
|
|
18
|
+
- 告知用户某些地图操作暂不支持,例如图表、表格,并说明将来可能提供。
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 输入
|
|
23
|
+
|
|
24
|
+
分配的任务:
|
|
25
|
+
{assignedTask}
|
|
26
|
+
|
|
27
|
+
用户最新请求:
|
|
28
|
+
{userRequest}
|
|
29
|
+
|
|
30
|
+
之前的步骤:
|
|
31
|
+
{priorSteps}
|
|
32
|
+
|
|
33
|
+
以分配的任务作为主要指令,这里不会再次重复问题。
|
|
34
|
+
将用户最新请求作为辅助上下文。
|
|
35
|
+
之前的步骤仅用于解释已有结果、失败原因或可能的后续操作。
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## 地图上下文
|
|
40
|
+
|
|
41
|
+
{layerSummary}
|
|
42
|
+
|
|
43
|
+
## 可用 Agent 及能力
|
|
44
|
+
|
|
45
|
+
{agents}
|
|
46
|
+
|
|
47
|
+
### 回答要求
|
|
48
|
+
|
|
49
|
+
建议用户可以问什么时,使用具体的真实图层名:
|
|
50
|
+
- “显示高程超过500的水源。”
|
|
51
|
+
- “按保护级别筛选巴拿马保护区。”
|
|
52
|
+
- “缩放到流域边界。”
|
|
53
|
+
|
|
54
|
+
回答“我能问什么”时,结合上下文字段提供3至5个具体查询示例。
|
|
55
|
+
对于无关问题,可以回答:“我只能帮助处理当前地图。你可以让我按 [FieldName] 筛选 [LayerName],或定位到某个位置。”
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## 格式
|
|
60
|
+
|
|
61
|
+
- 回答简洁。
|
|
62
|
+
- 列表使用项目符号。
|
|
63
|
+
- 使用换行(\\n)和适当格式。
|
|
64
|
+
- 所有建议使用地图上下文中真实的图层名和字段名。
|
|
65
|
+
`;
|
|
66
|
+
export {
|
|
67
|
+
n as default
|
|
68
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/* COPYRIGHT GeoScene - https://js.geoscene.cn/5.1/LICENSE.txt */
|
|
2
|
+
import { dispatchCustomEvent as e } from "@langchain/core/callbacks/dispatch/web";
|
|
3
|
+
const n = async (s, a) => {
|
|
4
|
+
await e("trace_message", s, a);
|
|
5
|
+
}, o = async (s, a) => {
|
|
6
|
+
await e("graph_ux_suggestion", s, a);
|
|
7
|
+
};
|
|
8
|
+
export {
|
|
9
|
+
o as a,
|
|
10
|
+
n as s
|
|
11
|
+
};
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/* COPYRIGHT GeoScene - https://js.geoscene.cn/5.1/LICENSE.txt */
|
|
2
|
+
const e = `## GIS Agent 编排器
|
|
3
|
+
|
|
4
|
+
你负责 GeoScene Maps SDK for JavaScript 系统的任务编排。
|
|
5
|
+
你的职责是决定当前步骤下一步最适合执行的唯一 Agent。
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 输入
|
|
10
|
+
|
|
11
|
+
你会得到:
|
|
12
|
+
- 用户最新请求。
|
|
13
|
+
- 相关聊天历史。
|
|
14
|
+
- 已注册 Agent 列表。
|
|
15
|
+
- 可选的 Agent 先前执行步骤。
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## 输出
|
|
20
|
+
|
|
21
|
+
返回以下两种结果之一:
|
|
22
|
+
- 一个决定,包含:
|
|
23
|
+
1. \`agentId\`:下一步执行的 Agent。
|
|
24
|
+
2. \`assignedTask\`:交给该 Agent 的明确、可执行任务。
|
|
25
|
+
3. \`requiresFollowUp\`:该 Agent 成功后,是否可能还需要另一步编排。
|
|
26
|
+
- 如果没有适用的已注册 Agent,返回 \`null\`。
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## 重要要求
|
|
31
|
+
|
|
32
|
+
- 只有请求明确超出所有已注册 Agent 的范围时,才返回 \`null\`。
|
|
33
|
+
- 只要有 Agent 能执行下一项有用操作,就选择最合适的 Agent。
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## 上下文
|
|
38
|
+
|
|
39
|
+
### 用户最新请求
|
|
40
|
+
{userRequest}
|
|
41
|
+
|
|
42
|
+
### 已注册 Agent
|
|
43
|
+
|
|
44
|
+
格式:
|
|
45
|
+
{{id: string, name: string, description: string}}[]
|
|
46
|
+
|
|
47
|
+
{registeredAgents}
|
|
48
|
+
|
|
49
|
+
### 之前的步骤
|
|
50
|
+
|
|
51
|
+
每个步骤包含:
|
|
52
|
+
- \`agentId: string\`
|
|
53
|
+
- \`assignedTask: string\`
|
|
54
|
+
- \`summary: string\`
|
|
55
|
+
- \`status: "success" | "failed" | "unknown"\`
|
|
56
|
+
|
|
57
|
+
利用之前的步骤:
|
|
58
|
+
- 避免重复已经成功完成的工作。
|
|
59
|
+
- 必要时重试或调整失败的步骤。
|
|
60
|
+
|
|
61
|
+
{priorSteps}
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## 规则
|
|
66
|
+
|
|
67
|
+
- 主要关注用户最新请求。
|
|
68
|
+
- 只有最新请求明确依赖之前上下文时,才使用相关聊天历史,否则忽略。
|
|
69
|
+
- 根据之前的步骤判断哪些操作已经尝试或完成。
|
|
70
|
+
- 不要预先规划整个流程,只决定下一项最合适的步骤。
|
|
71
|
+
- 优先选择能直接完成用户请求的 Agent。
|
|
72
|
+
- 只有必要时才拆分为多个步骤。
|
|
73
|
+
- 多个 Agent 均可处理时,选择最合适的,而不是返回 \`null\`。
|
|
74
|
+
- 根据已注册 Agent 的能力说明选择,不要求用户使用精确关键词。
|
|
75
|
+
- 如果没有 Agent 能完整完成请求,但有 Agent 能执行下一项有用操作,就选择它。
|
|
76
|
+
- 除非用户当前请求明确要求,否则不要复用之前步骤的限制条件。
|
|
77
|
+
- 每个步骤都必须准确反映当前请求。
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## 条件理解
|
|
82
|
+
|
|
83
|
+
准确理解用户措辞:
|
|
84
|
+
- 不要用一种条件替换另一种,例如距离与包含、范围与精确匹配。
|
|
85
|
+
- 用户明确给出的条件必须原样遵守。
|
|
86
|
+
- 用户未指定的条件不要自行假设或推断。
|
|
87
|
+
不要把请求重新解释成其他问题。
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## 追问中的指代解析
|
|
92
|
+
|
|
93
|
+
当最新请求使用“这些”“那些”“它们”“那组”“之前的结果”“这个”“它”“那个”“这个地块”“这个位置”“那个要素”等指代表达时,说明它依赖之前上下文。
|
|
94
|
+
其他语言中的等价指代表达同样适用。
|
|
95
|
+
|
|
96
|
+
根据最近相关的聊天历史或成功步骤解析指代。
|
|
97
|
+
此时 \`assignedTask\` 应可独立理解,保留所引用的先前条件,并仅增加最新请求中的新条件或问题。
|
|
98
|
+
如果可从上下文确定对象,不要在 \`assignedTask\` 中保留模糊指代。
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## 分配任务的要求(重要)
|
|
103
|
+
|
|
104
|
+
- \`assignedTask\` 的含义必须与用户请求完全一致。
|
|
105
|
+
- 不要增加、移除或转换条件。
|
|
106
|
+
- 不要用一种条件替换另一种。
|
|
107
|
+
- 没有明确条件时,不要自行假设。
|
|
108
|
+
- 任务应简短、具体、可直接执行。
|
|
109
|
+
- 尽量保留用户原话,只做必要转换。
|
|
110
|
+
- 解析追问时,只把模糊指代替换成已确定的上下文,其余措辞尽量保持。
|
|
111
|
+
- 只使用用户请求或已提供上下文中明确存在的信息。
|
|
112
|
+
- 如果需要多个步骤,\`assignedTask\` 可以只代表用户请求的一部分。
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## requiresFollowUp 的要求
|
|
117
|
+
|
|
118
|
+
- \`requiresFollowUp\` 表示是否可能需要下一步 Agent 操作,不表示对当前请求的不确定性。
|
|
119
|
+
- 只有该 Agent 成功后仍可能需要另一步编排时,才设为 \`true\`。
|
|
120
|
+
- 如果该 Agent 成功后即可完成用户可见的任务,则设为 \`false\`。
|
|
121
|
+
`;
|
|
122
|
+
export {
|
|
123
|
+
e as default
|
|
124
|
+
};
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
/* COPYRIGHT GeoScene - https://js.geoscene.cn/5.1/LICENSE.txt */
|
|
2
|
+
import { NodeInterrupt as E, StateGraph as L, START as w, END as m } from "@langchain/langgraph/web";
|
|
3
|
+
import "@geoscene/core/identity/IdentityManager.js";
|
|
4
|
+
import "@geoscene/core/portal/Portal.js";
|
|
5
|
+
import "@geoscene/toolkit/string";
|
|
6
|
+
import { h as I } from "./generateLayerDescriptions.js";
|
|
7
|
+
import "@langchain/core/messages";
|
|
8
|
+
import { s as i } from "./index.js";
|
|
9
|
+
import "@langchain/openai";
|
|
10
|
+
import "@geoscene/core/config.js";
|
|
11
|
+
import "@geoscene/core/core/reactiveUtils.js";
|
|
12
|
+
import "@geoscene/core/layers/FeatureLayer.js";
|
|
13
|
+
import "@geoscene/core/request.js";
|
|
14
|
+
import "@langchain/core/prompts";
|
|
15
|
+
import { f as g, z as v, A as T, B as R, C as F, D as C, E as A, F as $, I as N, J as b, K as q, L as M, g as _, r as k, M as S } from "./adapter.js";
|
|
16
|
+
import { h as V } from "./toolCallResponse.js";
|
|
17
|
+
import { ToolNode as j } from "@langchain/langgraph/prebuilt";
|
|
18
|
+
const h = 0.5, z = 10, D = async (t, e) => {
|
|
19
|
+
try {
|
|
20
|
+
await i({ text: "正在通过相似度搜索字段" }, e);
|
|
21
|
+
const r = g(e, "fieldSearch"), a = g(e, "layersAndFieldsRegistry"), o = g(e, "embeddingCache"), n = await r.searchFields({
|
|
22
|
+
text: t.agentExecutionContext.assignedTask,
|
|
23
|
+
layerIds: t.vectorSearchLayerIds,
|
|
24
|
+
minScore: h,
|
|
25
|
+
topResults: z,
|
|
26
|
+
embeddingCache: o
|
|
27
|
+
}), c = n.map(({ layerId: d, results: p }) => {
|
|
28
|
+
const y = p.map((s) => ` - ${s.name} (${s.score.toFixed(2)})`).join(`
|
|
29
|
+
`);
|
|
30
|
+
return `${a.get(d)?.layerItem.name ?? d}:
|
|
31
|
+
${y}`;
|
|
32
|
+
}).join(`
|
|
33
|
+
`);
|
|
34
|
+
let l;
|
|
35
|
+
return n.length > 0 ? l = `向量搜索完成,匹配的图层、字段及得分:
|
|
36
|
+
${c}` : l = `未找到得分超过以下阈值的向量搜索结果:${h}.`, await i({ text: l }, e), {
|
|
37
|
+
...t,
|
|
38
|
+
vectorSearchFieldResults: n
|
|
39
|
+
};
|
|
40
|
+
} catch (r) {
|
|
41
|
+
throw await i(
|
|
42
|
+
{ text: `向量搜索出错:${r instanceof Error ? r.message : String(r)}` },
|
|
43
|
+
e
|
|
44
|
+
), new Error(`向量搜索失败:${r instanceof Error ? r.message : String(r)}`);
|
|
45
|
+
}
|
|
46
|
+
}, P = 0.5, H = async (t, e) => {
|
|
47
|
+
try {
|
|
48
|
+
await i(
|
|
49
|
+
{ text: `正在通过相似度搜索图层:${t.agentExecutionContext.assignedTask}` },
|
|
50
|
+
e
|
|
51
|
+
);
|
|
52
|
+
const r = g(e, "layerSearch"), a = g(e, "layersAndFieldsRegistry"), o = await r.searchLayers({
|
|
53
|
+
text: t.agentExecutionContext.assignedTask,
|
|
54
|
+
minScore: P
|
|
55
|
+
}), n = o.map((d) => d.id), c = o.map(({ id: d, score: p }) => `${a.get(d)?.layerItem.name ?? d} (${p.toFixed(2)})`).join(`
|
|
56
|
+
`);
|
|
57
|
+
let l;
|
|
58
|
+
return n.length > 0 ? l = `向量搜索完成,匹配的图层及得分:
|
|
59
|
+
${c}` : l = "向量搜索完成,未找到匹配图层。", await i({ text: l }, e), {
|
|
60
|
+
...t,
|
|
61
|
+
vectorSearchLayerIds: n
|
|
62
|
+
};
|
|
63
|
+
} catch (r) {
|
|
64
|
+
throw await i(
|
|
65
|
+
{ text: `向量搜索出错:${r instanceof Error ? r.message : String(r)}` },
|
|
66
|
+
e
|
|
67
|
+
), new Error(`向量搜索失败:${r instanceof Error ? r.message : String(r)}`);
|
|
68
|
+
}
|
|
69
|
+
}, f = [
|
|
70
|
+
v,
|
|
71
|
+
T,
|
|
72
|
+
R,
|
|
73
|
+
F,
|
|
74
|
+
C,
|
|
75
|
+
A,
|
|
76
|
+
$,
|
|
77
|
+
N,
|
|
78
|
+
b,
|
|
79
|
+
q,
|
|
80
|
+
M
|
|
81
|
+
], x = (t, e = 3) => {
|
|
82
|
+
const r = t.map((o, n) => o.type === "human" ? n : -1).filter((o) => o !== -1);
|
|
83
|
+
if (r.length === 0)
|
|
84
|
+
return [];
|
|
85
|
+
const a = r.length > e ? r[r.length - e] : r[0];
|
|
86
|
+
return t.slice(a);
|
|
87
|
+
}, G = async (t, e) => {
|
|
88
|
+
await i({ text: "正在请求模型规划图层查询" }, e);
|
|
89
|
+
const r = await _("navigation_intent_prompt");
|
|
90
|
+
if (!e?.configurable)
|
|
91
|
+
throw new Error("图层查询工具需要 config.configurable");
|
|
92
|
+
const a = {
|
|
93
|
+
layerFieldInfo: t.layerFieldInfo
|
|
94
|
+
}, o = await I({
|
|
95
|
+
promptText: r,
|
|
96
|
+
modelTier: "advanced",
|
|
97
|
+
config: e,
|
|
98
|
+
messages: x(t.agentExecutionContext.messages),
|
|
99
|
+
inputVariables: a,
|
|
100
|
+
tools: f
|
|
101
|
+
});
|
|
102
|
+
return await V(o, e), {
|
|
103
|
+
...t,
|
|
104
|
+
agentExecutionContext: {
|
|
105
|
+
...t.agentExecutionContext,
|
|
106
|
+
messages: [...t.agentExecutionContext.messages, o]
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
};
|
|
110
|
+
async function B(t, e) {
|
|
111
|
+
const a = await new j(f, { handleToolErrors: !1 }).invoke(
|
|
112
|
+
{
|
|
113
|
+
messages: x(t.agentExecutionContext.messages)
|
|
114
|
+
},
|
|
115
|
+
e
|
|
116
|
+
), o = a.messages.map((c) => c.text).join(`
|
|
117
|
+
`);
|
|
118
|
+
await i({ text: `图层过滤工具执行完成:${o}` }, e);
|
|
119
|
+
const n = a.messages.map((c) => c.text).join(`
|
|
120
|
+
`);
|
|
121
|
+
return { ...t, outputMessage: n };
|
|
122
|
+
}
|
|
123
|
+
const U = async (t, e) => (await i({ text: "退出图层样式 Agent" }, e), t), J = async (t, e) => {
|
|
124
|
+
try {
|
|
125
|
+
await i({ text: "正在填充图层和字段信息" }, e);
|
|
126
|
+
const r = [];
|
|
127
|
+
for (const a of t.vectorSearchFieldResults) {
|
|
128
|
+
let o = function(y) {
|
|
129
|
+
const s = l.get(y)?.layerItem;
|
|
130
|
+
return s ? [
|
|
131
|
+
s.name && `名称:${s.name}`,
|
|
132
|
+
s.title && `标题:${s.title}`,
|
|
133
|
+
s.description && `说明:${s.description}`
|
|
134
|
+
].filter(Boolean).join(" | ") : y;
|
|
135
|
+
};
|
|
136
|
+
const { layerId: n, results: c } = a, l = g(e, "layersAndFieldsRegistry"), d = l.get(n)?.fieldRegistry;
|
|
137
|
+
if (!d)
|
|
138
|
+
continue;
|
|
139
|
+
let p = r.find((y) => y.layerId === n);
|
|
140
|
+
p || (p = {
|
|
141
|
+
layerId: n,
|
|
142
|
+
layerSummary: o(n),
|
|
143
|
+
fieldInfos: []
|
|
144
|
+
}, r.push(p));
|
|
145
|
+
for (const y of c) {
|
|
146
|
+
const s = d.get(y.name);
|
|
147
|
+
s && p.fieldInfos.push(s);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
return await i({ text: "layerFieldInfo 已填充" }, e), { ...t, layerFieldInfo: r };
|
|
151
|
+
} catch (r) {
|
|
152
|
+
throw await i({ text: "填充 layerFieldInfo 出错" }, e), new Error(`填充 layerFieldInfo 出错:${r instanceof Error ? r.message : String(r)}`);
|
|
153
|
+
}
|
|
154
|
+
}, K = (t, e) => {
|
|
155
|
+
const r = t.vectorSearchLayerIds ?? [];
|
|
156
|
+
if (r.length <= 1)
|
|
157
|
+
return { ...t, selectedLayerId: t.vectorSearchLayerIds[0] };
|
|
158
|
+
const { hitlResponse: a } = e.configurable;
|
|
159
|
+
if (a?.agentId !== u.id || a.id !== "reviewLayerSelection") {
|
|
160
|
+
const n = {
|
|
161
|
+
agentId: u.id,
|
|
162
|
+
id: "reviewLayerSelection",
|
|
163
|
+
kind: "singleSelection",
|
|
164
|
+
message: "请选择要应用样式的图层。",
|
|
165
|
+
metadata: [...r]
|
|
166
|
+
};
|
|
167
|
+
throw new E(n);
|
|
168
|
+
}
|
|
169
|
+
let o = null;
|
|
170
|
+
return Array.isArray(a.payload) && a.payload.length > 0 && (o = a.payload[0]), {
|
|
171
|
+
...t,
|
|
172
|
+
selectedLayerId: o ?? t.vectorSearchLayerIds[0]
|
|
173
|
+
};
|
|
174
|
+
}, O = (t, e) => k(["layerSearch", "fieldSearch", "layersAndFieldsRegistry"], "图层样式 Agent")(t, e), Q = () => new L(S).addNode("requireLayerStylingServices", O).addNode("vectorSearchLayers", H).addNode("layerSelectionHITL", K).addNode("vectorSearchFields", D).addNode("populateLayerFieldInfo", J).addNode("agent", G).addNode("tools", B).addNode("earlyExit", U).addEdge(w, "requireLayerStylingServices").addEdge("requireLayerStylingServices", "vectorSearchLayers").addConditionalEdges(
|
|
175
|
+
"layerSelectionHITL",
|
|
176
|
+
(e) => e.vectorSearchLayerIds.length ? "vectorSearchFields" : "earlyExit"
|
|
177
|
+
).addConditionalEdges(
|
|
178
|
+
"vectorSearchFields",
|
|
179
|
+
(e) => e.vectorSearchFieldResults.length ? "populateLayerFieldInfo" : "earlyExit"
|
|
180
|
+
).addEdge("populateLayerFieldInfo", "agent").addEdge("agent", "tools").addEdge("tools", m).addEdge("earlyExit", m), W = String.raw`- **layerStyling**——按数据改变地图上要素的绘制方式,例如根据字段值设置颜色、大小、透明度、符号或图表。
|
|
181
|
+
示例:“按销售额给点着色”“用颜色渐变显示人口密度”“创建高度与深度的关系图”“按人口改变圆大小”。`, u = {
|
|
182
|
+
id: "layerStyling",
|
|
183
|
+
name: "图层样式 Agent",
|
|
184
|
+
description: W,
|
|
185
|
+
createGraph: Q,
|
|
186
|
+
workspace: S
|
|
187
|
+
};
|
|
188
|
+
export {
|
|
189
|
+
u as L
|
|
190
|
+
};
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/* COPYRIGHT GeoScene - https://js.geoscene.cn/5.1/LICENSE.txt */
|
|
2
|
+
const e = `该要素图层属于一个要素服务,包含多个具有名称、类型和说明的字段。
|
|
3
|
+
要素图层是一组表示真实世界实体的地理要素,每个要素的属性提供附加信息。根据数据类型,图层可能包含点、线或面几何。
|
|
4
|
+
本图层的几何类型为 {layerGeometryType}。
|
|
5
|
+
|
|
6
|
+
以下是各字段的 name、alias、type、valueType 和 description,可帮助理解图层的数据。
|
|
7
|
+
|
|
8
|
+
字段说明:
|
|
9
|
+
{fieldInformation}
|
|
10
|
+
|
|
11
|
+
你的任务:
|
|
12
|
+
- 分析字段说明,理解图层表示的数据。
|
|
13
|
+
- 为图层生成:
|
|
14
|
+
- 标题:简洁、准确表达要素服务的内容与用途。
|
|
15
|
+
- 说明:详细介绍要素图层。
|
|
16
|
+
|
|
17
|
+
说明应考虑:
|
|
18
|
+
- 图层用途。
|
|
19
|
+
- 数据类型和几何实体。
|
|
20
|
+
- 信息来源和覆盖的地理区域。
|
|
21
|
+
- 在 GIS 中的潜在应用和价值。
|
|
22
|
+
|
|
23
|
+
不适用的内容可以略过。不要陈述该图层“不是什么”或“不具有什么”,避免罗列字段名、类型等技术细节。
|
|
24
|
+
|
|
25
|
+
生成标题的要求:
|
|
26
|
+
- 避免特殊字符。
|
|
27
|
+
- 避免使用“图层”(layer)一词。
|
|
28
|
+
- 英文标题避免全大写,使用标题式大小写。
|
|
29
|
+
- 不要过长。
|
|
30
|
+
|
|
31
|
+
以下是要素图层已有的标题和说明。
|
|
32
|
+
|
|
33
|
+
## 人工填写的现有图层信息
|
|
34
|
+
|
|
35
|
+
{existingLayerTitle}
|
|
36
|
+
{existingLayerSnippet}
|
|
37
|
+
{existingLayerDescription}
|
|
38
|
+
|
|
39
|
+
## 如何使用人工填写的信息
|
|
40
|
+
|
|
41
|
+
人工填写者可能掌握字段和图层说明之外的更多信息。
|
|
42
|
+
- 只有有助于理解资源时才使用这些信息。
|
|
43
|
+
- 只有能改善标题和说明时才使用这些信息。
|
|
44
|
+
- 用这些信息补充字段和图层说明中遗漏的重要内容。
|
|
45
|
+
|
|
46
|
+
## 避免的做法
|
|
47
|
+
|
|
48
|
+
- 不要直接把这些信息作为答案。
|
|
49
|
+
- 不要把这些信息视为最终版本。
|
|
50
|
+
- 不要未经分析就据此作答。
|
|
51
|
+
- 不要逐字照抄。
|
|
52
|
+
`;
|
|
53
|
+
export {
|
|
54
|
+
e as default
|
|
55
|
+
};
|