@geoscene/ai-components 0.0.0-stage → 5.1.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (549) hide show
  1. package/LICENSE.md +18 -0
  2. package/README.md +2 -3
  3. package/dist/agent-utils/BaseAgent.d.ts +90 -0
  4. package/dist/agent-utils/BaseAgent.js +87 -0
  5. package/dist/agent-utils/FunctionAgent.d.ts +64 -0
  6. package/dist/agent-utils/FunctionAgent.js +98 -0
  7. package/dist/agent-utils/LLMAgent.d.ts +65 -0
  8. package/dist/agent-utils/LLMAgent.js +140 -0
  9. package/dist/agent-utils/WorkflowAgent.d.ts +44 -0
  10. package/dist/agent-utils/WorkflowAgent.js +70 -0
  11. package/dist/agent-utils/index.d.ts +177 -0
  12. package/dist/agent-utils/index.js +167 -0
  13. package/dist/agent-utils/middlewares/humanInTheLoop.d.ts +152 -0
  14. package/dist/agent-utils/middlewares/humanInTheLoop.js +94 -0
  15. package/dist/agent-utils/middlewares/middleware.d.ts +25 -0
  16. package/dist/agent-utils/middlewares/middleware.js +44 -0
  17. package/dist/agent-utils/middlewares/trace.d.ts +27 -0
  18. package/dist/agent-utils/middlewares/trace.js +42 -0
  19. package/dist/agent-utils/middlewares/types.d.ts +123 -0
  20. package/dist/agent-utils/middlewares/types.js +1 -0
  21. package/dist/agent-utils/tools/FunctionTool.d.ts +127 -0
  22. package/dist/agent-utils/tools/FunctionTool.js +80 -0
  23. package/dist/agent-utils/types.d.ts +181 -0
  24. package/dist/agent-utils/workflows/BaseWorkflow.d.ts +87 -0
  25. package/dist/agent-utils/workflows/ConditionalWorkflow.d.ts +72 -0
  26. package/dist/agent-utils/workflows/ConditionalWorkflow.js +61 -0
  27. package/dist/agent-utils/workflows/LoopWorkflow.d.ts +58 -0
  28. package/dist/agent-utils/workflows/LoopWorkflow.js +56 -0
  29. package/dist/agent-utils/workflows/ParallelWorkflow.d.ts +68 -0
  30. package/dist/agent-utils/workflows/ParallelWorkflow.js +129 -0
  31. package/dist/agent-utils/workflows/RouterWorkflow.d.ts +63 -0
  32. package/dist/agent-utils/workflows/RouterWorkflow.js +75 -0
  33. package/dist/agent-utils/workflows/SequentialWorkflow.d.ts +56 -0
  34. package/dist/agent-utils/workflows/SequentialWorkflow.js +69 -0
  35. package/dist/agent-utils/workflows/SwitchWorkflow.d.ts +74 -0
  36. package/dist/agent-utils/workflows/SwitchWorkflow.js +84 -0
  37. package/dist/assets/embeddings.worker-k9_Ou679.js +1 -0
  38. package/dist/cdn/22TUPT3D.js +2 -0
  39. package/dist/cdn/27BBMHFA.js +3 -0
  40. package/dist/cdn/2FYXUV7O.js +30 -0
  41. package/dist/cdn/3Y723IJS.js +2 -0
  42. package/dist/cdn/45POUVZK.js +2 -0
  43. package/dist/cdn/46U2PGRW.js +65 -0
  44. package/dist/cdn/4ASZF5I2.js +181 -0
  45. package/dist/cdn/4BA4OUWC.js +101 -0
  46. package/dist/cdn/4EALV6QJ.js +2 -0
  47. package/dist/cdn/53Z3R4OY.js +95 -0
  48. package/dist/cdn/5RQUSM3T.js +132 -0
  49. package/dist/cdn/6FEB6XYK.js +2 -0
  50. package/dist/cdn/6TB6FVGF.js +9 -0
  51. package/dist/cdn/72TH3ONI.js +2 -0
  52. package/dist/cdn/77GAVZIK.js +62 -0
  53. package/dist/cdn/7CCULIWM.js +2 -0
  54. package/dist/cdn/7WSTR3WA.js +2 -0
  55. package/dist/cdn/AJKWCXDA.js +46 -0
  56. package/dist/cdn/AXOPGQGZ.js +2 -0
  57. package/dist/cdn/B35MHQJD.js +2 -0
  58. package/dist/cdn/BUTKUPXN.js +33 -0
  59. package/dist/cdn/CFDTXKJ6.js +2 -0
  60. package/dist/cdn/CU2TRUZQ.js +93 -0
  61. package/dist/cdn/D3KUKNJ7.js +11 -0
  62. package/dist/cdn/DHGNGMNJ.js +2 -0
  63. package/dist/cdn/DKNDDDWM.js +2 -0
  64. package/dist/cdn/ESRKMM6P.js +2 -0
  65. package/dist/cdn/FFXK76K7.js +2 -0
  66. package/dist/cdn/FYNHAVHL.js +2 -0
  67. package/dist/cdn/G7XK3XOR.js +77 -0
  68. package/dist/cdn/GHNP3LDR.js +2 -0
  69. package/dist/cdn/GI2NZ45U.js +4 -0
  70. package/dist/cdn/GTXGIROA.js +2 -0
  71. package/dist/cdn/H3EEFM4A.js +179 -0
  72. package/dist/cdn/HCD4CDWZ.js +2 -0
  73. package/dist/cdn/HJGF7W5O.js +35 -0
  74. package/dist/cdn/HK4HSYKG.js +2 -0
  75. package/dist/cdn/I55TMNNP.js +2 -0
  76. package/dist/cdn/ILGFFHXZ.js +2 -0
  77. package/dist/cdn/INJ2KWHS.js +2 -0
  78. package/dist/cdn/KBFL7LCS.js +2 -0
  79. package/dist/cdn/KGYSBUFO.js +9 -0
  80. package/dist/cdn/KLSCVMLN.js +13 -0
  81. package/dist/cdn/L6GVMINQ.js +2 -0
  82. package/dist/cdn/LTPDBXQ7.js +6 -0
  83. package/dist/cdn/LUY7QCZ3.js +2 -0
  84. package/dist/cdn/LXJWWOGK.js +66 -0
  85. package/dist/cdn/M7C6Y752.js +2 -0
  86. package/dist/cdn/MFZCTEAG.js +2 -0
  87. package/dist/cdn/MQ7QXIOW.js +52 -0
  88. package/dist/cdn/N2SKXRLK.js +65 -0
  89. package/dist/cdn/N5XXTTDR.js +2 -0
  90. package/dist/cdn/NHDPNQXA.js +36 -0
  91. package/dist/cdn/NMWLJECU.js +109 -0
  92. package/dist/cdn/OBDCCGVH.js +2 -0
  93. package/dist/cdn/P5M2HNJ7.js +2 -0
  94. package/dist/cdn/PFW7KXCP.js +48 -0
  95. package/dist/cdn/PIUDMACH.js +56 -0
  96. package/dist/cdn/PKH5BECA.js +2 -0
  97. package/dist/cdn/PTKZXFXB.js +27 -0
  98. package/dist/cdn/Q7FTL7JO.js +2 -0
  99. package/dist/cdn/QH6TSBNI.js +2 -0
  100. package/dist/cdn/QZXQIJSW.js +2 -0
  101. package/dist/cdn/TFPBGM6P.js +2 -0
  102. package/dist/cdn/THLZTO23.js +12 -0
  103. package/dist/cdn/TIXCHLEN.js +121 -0
  104. package/dist/cdn/TOYQ22PR.js +2 -0
  105. package/dist/cdn/U72SSJEL.js +2 -0
  106. package/dist/cdn/UDXMJNRF.js +3 -0
  107. package/dist/cdn/UE3CP46P.js +2 -0
  108. package/dist/cdn/URYKQKFE.js +3 -0
  109. package/dist/cdn/VBS2ZXKT.js +3 -0
  110. package/dist/cdn/VDAF255D.js +22 -0
  111. package/dist/cdn/VG7HRDJX.js +2 -0
  112. package/dist/cdn/VPZHLYPA.js +2 -0
  113. package/dist/cdn/VWMJ7HIK.js +66 -0
  114. package/dist/cdn/WNJM5TET.js +2 -0
  115. package/dist/cdn/XTEMZD4A.js +2 -0
  116. package/dist/cdn/Y5GGIKKC.js +2 -0
  117. package/dist/cdn/YULWPVJ3.js +2 -0
  118. package/dist/cdn/YURWID37.js +2 -0
  119. package/dist/cdn/ZDJM4RRH.js +2 -0
  120. package/dist/cdn/ZGUVZMYR.js +157 -0
  121. package/dist/cdn/agent-utils/index.js +2 -0
  122. package/dist/cdn/agent-utils/middlewares/humanInTheLoop.js +3 -0
  123. package/dist/cdn/agent-utils/middlewares/middleware.js +2 -0
  124. package/dist/cdn/agent-utils/middlewares/trace.js +2 -0
  125. package/dist/cdn/assets/assistant/t9n/messages.ar.json +1 -0
  126. package/dist/cdn/assets/assistant/t9n/messages.bg.json +1 -0
  127. package/dist/cdn/assets/assistant/t9n/messages.bs.json +1 -0
  128. package/dist/cdn/assets/assistant/t9n/messages.ca.json +1 -0
  129. package/dist/cdn/assets/assistant/t9n/messages.cs.json +1 -0
  130. package/dist/cdn/assets/assistant/t9n/messages.da.json +1 -0
  131. package/dist/cdn/assets/assistant/t9n/messages.de.json +1 -0
  132. package/dist/cdn/assets/assistant/t9n/messages.el.json +1 -0
  133. package/dist/cdn/assets/assistant/t9n/messages.en.json +1 -0
  134. package/dist/cdn/assets/assistant/t9n/messages.es.json +1 -0
  135. package/dist/cdn/assets/assistant/t9n/messages.et.json +1 -0
  136. package/dist/cdn/assets/assistant/t9n/messages.fi.json +1 -0
  137. package/dist/cdn/assets/assistant/t9n/messages.fr.json +1 -0
  138. package/dist/cdn/assets/assistant/t9n/messages.he.json +1 -0
  139. package/dist/cdn/assets/assistant/t9n/messages.hr.json +1 -0
  140. package/dist/cdn/assets/assistant/t9n/messages.hu.json +1 -0
  141. package/dist/cdn/assets/assistant/t9n/messages.id.json +1 -0
  142. package/dist/cdn/assets/assistant/t9n/messages.it.json +1 -0
  143. package/dist/cdn/assets/assistant/t9n/messages.ja.json +1 -0
  144. package/dist/cdn/assets/assistant/t9n/messages.ko.json +1 -0
  145. package/dist/cdn/assets/assistant/t9n/messages.lt.json +1 -0
  146. package/dist/cdn/assets/assistant/t9n/messages.lv.json +1 -0
  147. package/dist/cdn/assets/assistant/t9n/messages.nl.json +1 -0
  148. package/dist/cdn/assets/assistant/t9n/messages.no.json +1 -0
  149. package/dist/cdn/assets/assistant/t9n/messages.pl.json +1 -0
  150. package/dist/cdn/assets/assistant/t9n/messages.pt-BR.json +1 -0
  151. package/dist/cdn/assets/assistant/t9n/messages.pt-PT.json +1 -0
  152. package/dist/cdn/assets/assistant/t9n/messages.ro.json +1 -0
  153. package/dist/cdn/assets/assistant/t9n/messages.ru.json +1 -0
  154. package/dist/cdn/assets/assistant/t9n/messages.sk.json +1 -0
  155. package/dist/cdn/assets/assistant/t9n/messages.sl.json +1 -0
  156. package/dist/cdn/assets/assistant/t9n/messages.sr.json +1 -0
  157. package/dist/cdn/assets/assistant/t9n/messages.sv.json +1 -0
  158. package/dist/cdn/assets/assistant/t9n/messages.th.json +1 -0
  159. package/dist/cdn/assets/assistant/t9n/messages.tr.json +1 -0
  160. package/dist/cdn/assets/assistant/t9n/messages.uk.json +1 -0
  161. package/dist/cdn/assets/assistant/t9n/messages.vi.json +1 -0
  162. package/dist/cdn/assets/assistant/t9n/messages.zh-CN.json +1 -0
  163. package/dist/cdn/assets/assistant/t9n/messages.zh-HK.json +1 -0
  164. package/dist/cdn/assets/assistant/t9n/messages.zh-TW.json +1 -0
  165. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.ar.json +1 -0
  166. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.bg.json +1 -0
  167. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.bs.json +1 -0
  168. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.ca.json +1 -0
  169. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.cs.json +1 -0
  170. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.da.json +1 -0
  171. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.de.json +1 -0
  172. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.el.json +1 -0
  173. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.en.json +1 -0
  174. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.es.json +1 -0
  175. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.et.json +1 -0
  176. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.fi.json +1 -0
  177. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.fr.json +1 -0
  178. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.he.json +1 -0
  179. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.hr.json +1 -0
  180. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.hu.json +1 -0
  181. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.id.json +1 -0
  182. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.it.json +1 -0
  183. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.ja.json +1 -0
  184. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.ko.json +1 -0
  185. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.lt.json +1 -0
  186. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.lv.json +1 -0
  187. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.nl.json +1 -0
  188. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.no.json +1 -0
  189. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.pl.json +1 -0
  190. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.pt-BR.json +1 -0
  191. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.pt-PT.json +1 -0
  192. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.ro.json +1 -0
  193. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.ru.json +1 -0
  194. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.sk.json +1 -0
  195. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.sl.json +1 -0
  196. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.sr.json +1 -0
  197. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.sv.json +1 -0
  198. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.th.json +1 -0
  199. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.tr.json +1 -0
  200. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.uk.json +1 -0
  201. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.vi.json +1 -0
  202. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.zh-CN.json +1 -0
  203. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.zh-HK.json +1 -0
  204. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.zh-TW.json +1 -0
  205. package/dist/cdn/assets/assistant-interrupt/t9n/messages.ar.json +1 -0
  206. package/dist/cdn/assets/assistant-interrupt/t9n/messages.bg.json +1 -0
  207. package/dist/cdn/assets/assistant-interrupt/t9n/messages.bs.json +1 -0
  208. package/dist/cdn/assets/assistant-interrupt/t9n/messages.ca.json +1 -0
  209. package/dist/cdn/assets/assistant-interrupt/t9n/messages.cs.json +1 -0
  210. package/dist/cdn/assets/assistant-interrupt/t9n/messages.da.json +1 -0
  211. package/dist/cdn/assets/assistant-interrupt/t9n/messages.de.json +1 -0
  212. package/dist/cdn/assets/assistant-interrupt/t9n/messages.el.json +1 -0
  213. package/dist/cdn/assets/assistant-interrupt/t9n/messages.en.json +1 -0
  214. package/dist/cdn/assets/assistant-interrupt/t9n/messages.es.json +1 -0
  215. package/dist/cdn/assets/assistant-interrupt/t9n/messages.et.json +1 -0
  216. package/dist/cdn/assets/assistant-interrupt/t9n/messages.fi.json +1 -0
  217. package/dist/cdn/assets/assistant-interrupt/t9n/messages.fr.json +1 -0
  218. package/dist/cdn/assets/assistant-interrupt/t9n/messages.he.json +1 -0
  219. package/dist/cdn/assets/assistant-interrupt/t9n/messages.hr.json +1 -0
  220. package/dist/cdn/assets/assistant-interrupt/t9n/messages.hu.json +1 -0
  221. package/dist/cdn/assets/assistant-interrupt/t9n/messages.id.json +1 -0
  222. package/dist/cdn/assets/assistant-interrupt/t9n/messages.it.json +1 -0
  223. package/dist/cdn/assets/assistant-interrupt/t9n/messages.ja.json +1 -0
  224. package/dist/cdn/assets/assistant-interrupt/t9n/messages.ko.json +1 -0
  225. package/dist/cdn/assets/assistant-interrupt/t9n/messages.lt.json +1 -0
  226. package/dist/cdn/assets/assistant-interrupt/t9n/messages.lv.json +1 -0
  227. package/dist/cdn/assets/assistant-interrupt/t9n/messages.nl.json +1 -0
  228. package/dist/cdn/assets/assistant-interrupt/t9n/messages.no.json +1 -0
  229. package/dist/cdn/assets/assistant-interrupt/t9n/messages.pl.json +1 -0
  230. package/dist/cdn/assets/assistant-interrupt/t9n/messages.pt-BR.json +1 -0
  231. package/dist/cdn/assets/assistant-interrupt/t9n/messages.pt-PT.json +1 -0
  232. package/dist/cdn/assets/assistant-interrupt/t9n/messages.ro.json +1 -0
  233. package/dist/cdn/assets/assistant-interrupt/t9n/messages.ru.json +1 -0
  234. package/dist/cdn/assets/assistant-interrupt/t9n/messages.sk.json +1 -0
  235. package/dist/cdn/assets/assistant-interrupt/t9n/messages.sl.json +1 -0
  236. package/dist/cdn/assets/assistant-interrupt/t9n/messages.sr.json +1 -0
  237. package/dist/cdn/assets/assistant-interrupt/t9n/messages.sv.json +1 -0
  238. package/dist/cdn/assets/assistant-interrupt/t9n/messages.th.json +1 -0
  239. package/dist/cdn/assets/assistant-interrupt/t9n/messages.tr.json +1 -0
  240. package/dist/cdn/assets/assistant-interrupt/t9n/messages.uk.json +1 -0
  241. package/dist/cdn/assets/assistant-interrupt/t9n/messages.vi.json +1 -0
  242. package/dist/cdn/assets/assistant-interrupt/t9n/messages.zh-CN.json +1 -0
  243. package/dist/cdn/assets/assistant-interrupt/t9n/messages.zh-HK.json +1 -0
  244. package/dist/cdn/assets/assistant-interrupt/t9n/messages.zh-TW.json +1 -0
  245. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.ar.json +1 -0
  246. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.bg.json +1 -0
  247. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.bs.json +1 -0
  248. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.ca.json +1 -0
  249. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.cs.json +1 -0
  250. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.da.json +1 -0
  251. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.de.json +1 -0
  252. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.el.json +1 -0
  253. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.en.json +1 -0
  254. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.es.json +1 -0
  255. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.et.json +1 -0
  256. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.fi.json +1 -0
  257. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.fr.json +1 -0
  258. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.he.json +1 -0
  259. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.hr.json +1 -0
  260. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.hu.json +1 -0
  261. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.id.json +1 -0
  262. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.it.json +1 -0
  263. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.ja.json +1 -0
  264. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.ko.json +1 -0
  265. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.lt.json +1 -0
  266. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.lv.json +1 -0
  267. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.nl.json +1 -0
  268. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.no.json +1 -0
  269. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.pl.json +1 -0
  270. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.pt-BR.json +1 -0
  271. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.pt-PT.json +1 -0
  272. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.ro.json +1 -0
  273. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.ru.json +1 -0
  274. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.sk.json +1 -0
  275. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.sl.json +1 -0
  276. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.sr.json +1 -0
  277. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.sv.json +1 -0
  278. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.th.json +1 -0
  279. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.tr.json +1 -0
  280. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.uk.json +1 -0
  281. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.vi.json +1 -0
  282. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.zh-CN.json +1 -0
  283. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.zh-HK.json +1 -0
  284. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.zh-TW.json +1 -0
  285. package/dist/cdn/assets/assistant-message-footer/t9n/messages.ar.json +1 -0
  286. package/dist/cdn/assets/assistant-message-footer/t9n/messages.bg.json +1 -0
  287. package/dist/cdn/assets/assistant-message-footer/t9n/messages.bs.json +1 -0
  288. package/dist/cdn/assets/assistant-message-footer/t9n/messages.ca.json +1 -0
  289. package/dist/cdn/assets/assistant-message-footer/t9n/messages.cs.json +1 -0
  290. package/dist/cdn/assets/assistant-message-footer/t9n/messages.da.json +1 -0
  291. package/dist/cdn/assets/assistant-message-footer/t9n/messages.de.json +1 -0
  292. package/dist/cdn/assets/assistant-message-footer/t9n/messages.el.json +1 -0
  293. package/dist/cdn/assets/assistant-message-footer/t9n/messages.en.json +1 -0
  294. package/dist/cdn/assets/assistant-message-footer/t9n/messages.es.json +1 -0
  295. package/dist/cdn/assets/assistant-message-footer/t9n/messages.et.json +1 -0
  296. package/dist/cdn/assets/assistant-message-footer/t9n/messages.fi.json +1 -0
  297. package/dist/cdn/assets/assistant-message-footer/t9n/messages.fr.json +1 -0
  298. package/dist/cdn/assets/assistant-message-footer/t9n/messages.he.json +1 -0
  299. package/dist/cdn/assets/assistant-message-footer/t9n/messages.hr.json +1 -0
  300. package/dist/cdn/assets/assistant-message-footer/t9n/messages.hu.json +1 -0
  301. package/dist/cdn/assets/assistant-message-footer/t9n/messages.id.json +1 -0
  302. package/dist/cdn/assets/assistant-message-footer/t9n/messages.it.json +1 -0
  303. package/dist/cdn/assets/assistant-message-footer/t9n/messages.ja.json +1 -0
  304. package/dist/cdn/assets/assistant-message-footer/t9n/messages.ko.json +1 -0
  305. package/dist/cdn/assets/assistant-message-footer/t9n/messages.lt.json +1 -0
  306. package/dist/cdn/assets/assistant-message-footer/t9n/messages.lv.json +1 -0
  307. package/dist/cdn/assets/assistant-message-footer/t9n/messages.nl.json +1 -0
  308. package/dist/cdn/assets/assistant-message-footer/t9n/messages.no.json +1 -0
  309. package/dist/cdn/assets/assistant-message-footer/t9n/messages.pl.json +1 -0
  310. package/dist/cdn/assets/assistant-message-footer/t9n/messages.pt-BR.json +1 -0
  311. package/dist/cdn/assets/assistant-message-footer/t9n/messages.pt-PT.json +1 -0
  312. package/dist/cdn/assets/assistant-message-footer/t9n/messages.ro.json +1 -0
  313. package/dist/cdn/assets/assistant-message-footer/t9n/messages.ru.json +1 -0
  314. package/dist/cdn/assets/assistant-message-footer/t9n/messages.sk.json +1 -0
  315. package/dist/cdn/assets/assistant-message-footer/t9n/messages.sl.json +1 -0
  316. package/dist/cdn/assets/assistant-message-footer/t9n/messages.sr.json +1 -0
  317. package/dist/cdn/assets/assistant-message-footer/t9n/messages.sv.json +1 -0
  318. package/dist/cdn/assets/assistant-message-footer/t9n/messages.th.json +1 -0
  319. package/dist/cdn/assets/assistant-message-footer/t9n/messages.tr.json +1 -0
  320. package/dist/cdn/assets/assistant-message-footer/t9n/messages.uk.json +1 -0
  321. package/dist/cdn/assets/assistant-message-footer/t9n/messages.vi.json +1 -0
  322. package/dist/cdn/assets/assistant-message-footer/t9n/messages.zh-CN.json +1 -0
  323. package/dist/cdn/assets/assistant-message-footer/t9n/messages.zh-HK.json +1 -0
  324. package/dist/cdn/assets/assistant-message-footer/t9n/messages.zh-TW.json +1 -0
  325. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.ar.json +1 -0
  326. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.bg.json +1 -0
  327. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.bs.json +1 -0
  328. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.ca.json +1 -0
  329. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.cs.json +1 -0
  330. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.da.json +1 -0
  331. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.de.json +1 -0
  332. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.el.json +1 -0
  333. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.en.json +1 -0
  334. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.es.json +1 -0
  335. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.et.json +1 -0
  336. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.fi.json +1 -0
  337. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.fr.json +1 -0
  338. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.he.json +1 -0
  339. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.hr.json +1 -0
  340. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.hu.json +1 -0
  341. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.id.json +1 -0
  342. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.it.json +1 -0
  343. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.ja.json +1 -0
  344. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.ko.json +1 -0
  345. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.lt.json +1 -0
  346. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.lv.json +1 -0
  347. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.nl.json +1 -0
  348. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.no.json +1 -0
  349. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.pl.json +1 -0
  350. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.pt-BR.json +1 -0
  351. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.pt-PT.json +1 -0
  352. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.ro.json +1 -0
  353. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.ru.json +1 -0
  354. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.sk.json +1 -0
  355. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.sl.json +1 -0
  356. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.sr.json +1 -0
  357. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.sv.json +1 -0
  358. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.th.json +1 -0
  359. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.tr.json +1 -0
  360. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.uk.json +1 -0
  361. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.vi.json +1 -0
  362. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.zh-CN.json +1 -0
  363. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.zh-HK.json +1 -0
  364. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.zh-TW.json +1 -0
  365. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.ar.json +1 -0
  366. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.bg.json +1 -0
  367. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.bs.json +1 -0
  368. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.ca.json +1 -0
  369. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.cs.json +1 -0
  370. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.da.json +1 -0
  371. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.de.json +1 -0
  372. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.el.json +1 -0
  373. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.en.json +1 -0
  374. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.es.json +1 -0
  375. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.et.json +1 -0
  376. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.fi.json +1 -0
  377. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.fr.json +1 -0
  378. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.he.json +1 -0
  379. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.hr.json +1 -0
  380. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.hu.json +1 -0
  381. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.id.json +1 -0
  382. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.it.json +1 -0
  383. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.ja.json +1 -0
  384. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.ko.json +1 -0
  385. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.lt.json +1 -0
  386. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.lv.json +1 -0
  387. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.nl.json +1 -0
  388. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.no.json +1 -0
  389. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.pl.json +1 -0
  390. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.pt-BR.json +1 -0
  391. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.pt-PT.json +1 -0
  392. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.ro.json +1 -0
  393. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.ru.json +1 -0
  394. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.sk.json +1 -0
  395. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.sl.json +1 -0
  396. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.sr.json +1 -0
  397. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.sv.json +1 -0
  398. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.th.json +1 -0
  399. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.tr.json +1 -0
  400. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.uk.json +1 -0
  401. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.vi.json +1 -0
  402. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.zh-CN.json +1 -0
  403. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.zh-HK.json +1 -0
  404. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.zh-TW.json +1 -0
  405. package/dist/cdn/index.js +2 -0
  406. package/dist/cdn/main.css +1 -0
  407. package/dist/chunks/BaseWorkflow.js +107 -0
  408. package/dist/chunks/adapter.js +3148 -0
  409. package/dist/chunks/converterUtils.js +124 -0
  410. package/dist/chunks/dataExplorationGraph.js +319 -0
  411. package/dist/chunks/data_explore_filter_prompt.js +112 -0
  412. package/dist/chunks/data_explore_query_prompt.js +135 -0
  413. package/dist/chunks/embeddings.worker.js +25 -0
  414. package/dist/chunks/field_descriptions_prompt.js +80 -0
  415. package/dist/chunks/generateLayerDescriptions.js +477 -0
  416. package/dist/chunks/geosceneKnowledgeGraph.js +221 -0
  417. package/dist/chunks/geoscene_knowledge_current_lc_context.js +25 -0
  418. package/dist/chunks/geoscene_knowledge_current_map_context.js +36 -0
  419. package/dist/chunks/geoscene_knowledge_cypher_query_prompt.js +96 -0
  420. package/dist/chunks/geoscene_knowledge_lucene_generation_prompt.js +98 -0
  421. package/dist/chunks/geoscene_knowledge_summarize_result_prompt.js +104 -0
  422. package/dist/chunks/geoscene_knowledge_tool_prompt.js +30 -0
  423. package/dist/chunks/graph.js +86 -0
  424. package/dist/chunks/helpGraph.js +117 -0
  425. package/dist/chunks/help_prompt.js +68 -0
  426. package/dist/chunks/index.js +11 -0
  427. package/dist/chunks/intent_prompt.js +124 -0
  428. package/dist/chunks/layerStylingGraph.js +190 -0
  429. package/dist/chunks/layer_descriptions_prompt.js +55 -0
  430. package/dist/chunks/layer_styling_prompt.js +65 -0
  431. package/dist/chunks/navigationGraph.js +265 -0
  432. package/dist/chunks/navigation_intent_prompt.js +49 -0
  433. package/dist/chunks/navigation_tool_prompt.js +38 -0
  434. package/dist/chunks/orchestrator.js +569 -0
  435. package/dist/chunks/runtime.js +15 -0
  436. package/dist/chunks/slottableRequestUtils.js +7 -0
  437. package/dist/chunks/state.js +71 -0
  438. package/dist/chunks/summarize_query_response_prompt.js +69 -0
  439. package/dist/chunks/toolCallResponse.js +32 -0
  440. package/dist/chunks/useT9n.js +7 -0
  441. package/dist/chunks/utils.js +53 -0
  442. package/dist/chunks/utils2.js +47 -0
  443. package/dist/chunks/utils3.js +16 -0
  444. package/dist/components/geoscene-assistant/customElement.d.ts +541 -0
  445. package/dist/components/geoscene-assistant/customElement.js +562 -0
  446. package/dist/components/geoscene-assistant/index.d.ts +1 -0
  447. package/dist/components/geoscene-assistant/index.js +13 -0
  448. package/dist/components/geoscene-assistant/types.d.ts +147 -0
  449. package/dist/components/geoscene-assistant-agent/customElement.d.ts +141 -0
  450. package/dist/components/geoscene-assistant-agent/customElement.js +23 -0
  451. package/dist/components/geoscene-assistant-agent/index.d.ts +1 -0
  452. package/dist/components/geoscene-assistant-agent/index.js +1 -0
  453. package/dist/components/geoscene-assistant-chat/customElement.d.ts +17 -0
  454. package/dist/components/geoscene-assistant-chat/customElement.js +50 -0
  455. package/dist/components/geoscene-assistant-chat/index.d.ts +1 -0
  456. package/dist/components/geoscene-assistant-chat/index.js +1 -0
  457. package/dist/components/geoscene-assistant-chat-entry/customElement.d.ts +37 -0
  458. package/dist/components/geoscene-assistant-chat-entry/customElement.js +85 -0
  459. package/dist/components/geoscene-assistant-chat-entry/index.d.ts +1 -0
  460. package/dist/components/geoscene-assistant-chat-entry/index.js +3 -0
  461. package/dist/components/geoscene-assistant-data-exploration-agent/customElement.d.ts +101 -0
  462. package/dist/components/geoscene-assistant-data-exploration-agent/customElement.js +48 -0
  463. package/dist/components/geoscene-assistant-data-exploration-agent/index.d.ts +1 -0
  464. package/dist/components/geoscene-assistant-data-exploration-agent/index.js +1 -0
  465. package/dist/components/geoscene-assistant-help-agent/customElement.d.ts +73 -0
  466. package/dist/components/geoscene-assistant-help-agent/customElement.js +51 -0
  467. package/dist/components/geoscene-assistant-help-agent/index.d.ts +1 -0
  468. package/dist/components/geoscene-assistant-help-agent/index.js +1 -0
  469. package/dist/components/geoscene-assistant-interrupt/customElement.d.ts +31 -0
  470. package/dist/components/geoscene-assistant-interrupt/customElement.js +37 -0
  471. package/dist/components/geoscene-assistant-interrupt/index.d.ts +1 -0
  472. package/dist/components/geoscene-assistant-interrupt/index.js +6 -0
  473. package/dist/components/geoscene-assistant-interrupt-preview/customElement.js +20 -0
  474. package/dist/components/geoscene-assistant-interrupt-preview/index.js +2 -0
  475. package/dist/components/geoscene-assistant-knowledge-agent/customElement.d.ts +158 -0
  476. package/dist/components/geoscene-assistant-knowledge-agent/customElement.js +74 -0
  477. package/dist/components/geoscene-assistant-knowledge-agent/index.d.ts +1 -0
  478. package/dist/components/geoscene-assistant-knowledge-agent/index.js +1 -0
  479. package/dist/components/geoscene-assistant-layer-styling-agent/customElement.d.ts +8 -0
  480. package/dist/components/geoscene-assistant-layer-styling-agent/customElement.js +51 -0
  481. package/dist/components/geoscene-assistant-layer-styling-agent/index.d.ts +1 -0
  482. package/dist/components/geoscene-assistant-layer-styling-agent/index.js +1 -0
  483. package/dist/components/geoscene-assistant-message/customElement.d.ts +23 -0
  484. package/dist/components/geoscene-assistant-message/customElement.js +45 -0
  485. package/dist/components/geoscene-assistant-message/index.d.ts +1 -0
  486. package/dist/components/geoscene-assistant-message/index.js +5 -0
  487. package/dist/components/geoscene-assistant-message-block/customElement.d.ts +8 -0
  488. package/dist/components/geoscene-assistant-message-block/customElement.js +36 -0
  489. package/dist/components/geoscene-assistant-message-block/index.d.ts +1 -0
  490. package/dist/components/geoscene-assistant-message-block/index.js +3 -0
  491. package/dist/components/geoscene-assistant-message-feedback/customElement.d.ts +26 -0
  492. package/dist/components/geoscene-assistant-message-feedback/customElement.js +36 -0
  493. package/dist/components/geoscene-assistant-message-feedback/index.d.ts +1 -0
  494. package/dist/components/geoscene-assistant-message-feedback/index.js +3 -0
  495. package/dist/components/geoscene-assistant-message-footer/customElement.d.ts +28 -0
  496. package/dist/components/geoscene-assistant-message-footer/customElement.js +62 -0
  497. package/dist/components/geoscene-assistant-message-footer/index.d.ts +1 -0
  498. package/dist/components/geoscene-assistant-message-footer/index.js +6 -0
  499. package/dist/components/geoscene-assistant-message-loading/customElement.d.ts +17 -0
  500. package/dist/components/geoscene-assistant-message-loading/customElement.js +23 -0
  501. package/dist/components/geoscene-assistant-message-loading/index.d.ts +1 -0
  502. package/dist/components/geoscene-assistant-message-loading/index.js +5 -0
  503. package/dist/components/geoscene-assistant-message-log/customElement.d.ts +14 -0
  504. package/dist/components/geoscene-assistant-message-log/customElement.js +29 -0
  505. package/dist/components/geoscene-assistant-message-log/index.d.ts +1 -0
  506. package/dist/components/geoscene-assistant-message-log/index.js +3 -0
  507. package/dist/components/geoscene-assistant-message-read-aloud/customElement.d.ts +22 -0
  508. package/dist/components/geoscene-assistant-message-read-aloud/customElement.js +100 -0
  509. package/dist/components/geoscene-assistant-message-read-aloud/index.d.ts +1 -0
  510. package/dist/components/geoscene-assistant-message-read-aloud/index.js +3 -0
  511. package/dist/components/geoscene-assistant-message-text/customElement.d.ts +11 -0
  512. package/dist/components/geoscene-assistant-message-text/customElement.js +22 -0
  513. package/dist/components/geoscene-assistant-message-text/index.d.ts +1 -0
  514. package/dist/components/geoscene-assistant-message-text/index.js +1 -0
  515. package/dist/components/geoscene-assistant-navigation-agent/customElement.d.ts +81 -0
  516. package/dist/components/geoscene-assistant-navigation-agent/customElement.js +50 -0
  517. package/dist/components/geoscene-assistant-navigation-agent/index.d.ts +1 -0
  518. package/dist/components/geoscene-assistant-navigation-agent/index.js +1 -0
  519. package/dist/components/geoscene-assistant-speech-input/customElement.d.ts +36 -0
  520. package/dist/components/geoscene-assistant-speech-input/customElement.js +488 -0
  521. package/dist/components/geoscene-assistant-speech-input/index.d.ts +1 -0
  522. package/dist/components/geoscene-assistant-speech-input/index.js +2 -0
  523. package/dist/components/geoscene-assistant-speech-input/support/types.d.ts +20 -0
  524. package/dist/components/geoscene-assistant-suggested-prompts/customElement.d.ts +19 -0
  525. package/dist/components/geoscene-assistant-suggested-prompts/customElement.js +27 -0
  526. package/dist/components/geoscene-assistant-suggested-prompts/index.d.ts +1 -0
  527. package/dist/components/geoscene-assistant-suggested-prompts/index.js +3 -0
  528. package/dist/components/geoscene-assistant-user-message/customElement.d.ts +13 -0
  529. package/dist/components/geoscene-assistant-user-message/customElement.js +25 -0
  530. package/dist/components/geoscene-assistant-user-message/index.d.ts +1 -0
  531. package/dist/components/geoscene-assistant-user-message/index.js +2 -0
  532. package/dist/docs/api.json +1 -0
  533. package/dist/docs/docs.json +1 -0
  534. package/dist/docs/vscode.css-custom-data.json +1 -0
  535. package/dist/docs/vscode.html-custom-data.json +1 -0
  536. package/dist/docs/web-types.json +1 -0
  537. package/dist/index.d.ts +158 -0
  538. package/dist/index.js +6 -0
  539. package/dist/loader.d.ts +2 -0
  540. package/dist/loader.js +30 -0
  541. package/dist/oauth-callback.html +31 -0
  542. package/dist/types/components.d.ts +2 -0
  543. package/dist/types/lumina.d.ts +138 -0
  544. package/dist/types/preact.d.ts +164 -0
  545. package/dist/types/react.d.ts +193 -0
  546. package/dist/types/stencil.d.ts +145 -0
  547. package/dist/utils/index.d.ts +542 -0
  548. package/dist/utils/index.js +116 -0
  549. package/package.json +64 -3
@@ -0,0 +1,87 @@
1
+ import type Accessor from "@geoscene/core/core/Accessor.js";
2
+ import type { AgentCreateGraph, AgentData, AgentGraphState, AgentStateAnnotation, BaseAgentLike, GraphEdge, GraphNodes } from "../types.js";
3
+
4
+ /**
5
+ * Return payload from `BaseWorkflow.generate()`.
6
+ *
7
+ * @since 5.1
8
+ */
9
+ export type WorkflowGenerateResult<TState extends AgentData = AgentData> = {
10
+ /**
11
+ * Shared workflow state annotation.
12
+ *
13
+ * @since 5.1
14
+ */
15
+ workspace: AgentStateAnnotation<TState>;
16
+ /**
17
+ * Factory that creates the workflow graph.
18
+ *
19
+ * @since 5.1
20
+ */
21
+ createGraph: AgentCreateGraph<TState>;
22
+ };
23
+
24
+ /**
25
+ * BaseWorkflow is the foundational class for defining workflows. A workflow defines a sequence of
26
+ * agents that work together to accomplish a task. This class provides the structure and common
27
+ * building blocks for constructing a workflow, including generating the shared workspace and
28
+ * creating the graph that defines how agents are connected and executed.
29
+ *
30
+ * Specific workflows extend this base class and implement the abstract methods to define
31
+ * their unique behavior and structure.
32
+ *
33
+ * The following workflow types are supported:
34
+ *
35
+ * - `SequentialWorkflow` - executes agents in a sequence, where the output of one agent can be passed as input to the next.
36
+ * - `ConditionalWorkflow` - allows for branching logic based on conditions evaluated at runtime, enabling different paths of execution depending on user input or LLM output.
37
+ * - `LoopWorkflow` - supports repeating a set of agents until a certain condition is met, useful for iterative processes.
38
+ * - `ParallelWorkflow` - enables concurrent execution of multiple agents, allowing for tasks that can be performed simultaneously.
39
+ * - `RouterWorkflow` - dynamically routes execution to different agents based on the input or state, providing flexibility in handling various scenarios.
40
+ * - `SwitchWorkflow` - similar to RouterWorkflow but designed for cases where there are multiple distinct paths based on discrete values in the input or state.
41
+ *
42
+ * @since 5.1
43
+ */
44
+ export abstract class BaseWorkflow<TState extends AgentData = AgentData> extends Accessor {
45
+ /**
46
+ * Builds the workflow-specific edges.
47
+ *
48
+ * @param agents
49
+ */
50
+ protected abstract buildEdges(agents: BaseAgentLike<TState>[]): GraphEdge<AgentGraphState<TState>>[];
51
+ /**
52
+ * Builds the workflow's graph nodes.
53
+ *
54
+ * Node ids use the agent id plus its position (`agent.id_index`) instead of only the raw
55
+ * agent id. That prevents collisions when the same agent instance is used multiple times.
56
+ *
57
+ * @param agents
58
+ */
59
+ protected buildNodes(agents: BaseAgentLike<TState>[]): GraphNodes<AgentGraphState<TState>>;
60
+ /**
61
+ * Generates the workflow's graph and shared workspace based on the defined agents and their schemas. This method is
62
+ * called by the WorkflowAgent when it generates its graph, and it orchestrates the creation of the workflow's structure,
63
+ * including validating the agents, deriving shared state from their schemas, and building the nodes and edges of the graph.
64
+ */
65
+ generate(): WorkflowGenerateResult<TState>;
66
+ /** A list of agents that are part of this workflow. */
67
+ abstract getAgents(): BaseAgentLike<TState>[];
68
+ /**
69
+ * Returns the id of the first node in the workflow graph.
70
+ *
71
+ * @param agents
72
+ */
73
+ protected abstract getEntryNode(agents: BaseAgentLike<TState>[]): string | undefined;
74
+ /**
75
+ * Returns whether the agent at this position should expose terminal runtime fields.
76
+ *
77
+ * @param agents
78
+ * @param index
79
+ */
80
+ protected abstract isTerminalAgent(agents: BaseAgentLike<TState>[], index: number): boolean;
81
+ /**
82
+ * Validates the workflow configuration and throws if invalid.
83
+ *
84
+ * @param agents
85
+ */
86
+ protected validateAgents(agents: BaseAgentLike<TState>[]): void;
87
+ }
@@ -0,0 +1,72 @@
1
+ import type { AgentData, AgentExecutionConfig, AgentGraphState, BaseAgentLike, GraphEdge, GraphNodes } from "../types.js";
2
+ import type { BaseWorkflow } from "./BaseWorkflow.js";
3
+
4
+ /**
5
+ * Condition function that routes execution to either the true branch or false branch.
6
+ *
7
+ * @param state - Current workflow graph state.
8
+ * @param config - Optional execution configuration.
9
+ * @since 5.1
10
+ */
11
+ export type ConditionDecider<TState extends AgentData = AgentData> = (state: AgentGraphState<TState>, config?: AgentExecutionConfig) => Promise<boolean> | boolean;
12
+
13
+ /**
14
+ * ConditionalWorkflow chooses between two branch agents based on a boolean condition and
15
+ * routes execution through a simple true/false branch.
16
+ *
17
+ * Use when:
18
+ * - you want an if/else style decision or
19
+ * - only two branches are needed.
20
+ *
21
+ * How it works:
22
+ * - evaluate `condition(state, config)`,
23
+ * - if true, run the first branch agent,
24
+ * - if false, run the second branch agent.
25
+ *
26
+ * @since 5.1
27
+ */
28
+ export class ConditionalWorkflow<TState extends AgentData = AgentData> extends BaseWorkflow<TState> {
29
+ constructor(properties: ConditionalWorkflowConstructProperties<TState>);
30
+ /**
31
+ * Must contain exactly two agents: `[trueAgent, falseAgent]`. The first agent is executed when
32
+ * the condition is true, the second when the condition is false.
33
+ *
34
+ * @required
35
+ */
36
+ accessor agents: BaseAgentLike<TState>[];
37
+ /**
38
+ * Predicate that chooses the next branch.
39
+ *
40
+ * @required
41
+ */
42
+ accessor condition: ConditionDecider<TState>;
43
+ /**
44
+ * Builds the workflow-specific edges.
45
+ *
46
+ * @param agents
47
+ */
48
+ protected buildEdges(agents: BaseAgentLike<TState>[]): GraphEdge<AgentGraphState<TState>>[];
49
+ /**
50
+ * Builds the workflow's graph nodes.
51
+ *
52
+ * Node ids use the agent id plus its position (`agent.id_index`) instead of only the raw
53
+ * agent id. That prevents collisions when the same agent instance is used multiple times.
54
+ *
55
+ * @param agents
56
+ */
57
+ protected buildNodes(agents: BaseAgentLike<TState>[]): GraphNodes<AgentGraphState<TState>>;
58
+ /** A list of agents that are part of this workflow. */
59
+ getAgents(): BaseAgentLike<TState>[];
60
+ /** Returns the id of the first node in the workflow graph. */
61
+ protected getEntryNode(): string;
62
+ /** Returns whether the agent at this position should expose terminal runtime fields. */
63
+ protected isTerminalAgent(): boolean;
64
+ /**
65
+ * Validates the workflow configuration and throws if invalid.
66
+ *
67
+ * @param agents
68
+ */
69
+ protected validateAgents(agents: BaseAgentLike<TState>[]): void;
70
+ }
71
+
72
+ export type ConditionalWorkflowConstructProperties<TState extends AgentData> = Pick<ConditionalWorkflow<TState>, "agents" | "condition">;
@@ -0,0 +1,61 @@
1
+ /* COPYRIGHT GeoScene - https://js.geoscene.cn/5.1/LICENSE.txt */
2
+ import { property as u, subclass as f } from "@geoscene/core/core/accessorSupport/decorators.js";
3
+ import { B as p, g as c } from "../../chunks/BaseWorkflow.js";
4
+ var g = Object.defineProperty, w = Object.getOwnPropertyDescriptor, a = (e, r, n, t) => {
5
+ for (var o = t > 1 ? void 0 : t ? w(r, n) : r, i = e.length - 1, s; i >= 0; i--)
6
+ (s = e[i]) && (o = (t ? s(r, n, o) : s(o)) || o);
7
+ return t && o && g(r, n, o), o;
8
+ };
9
+ let l = class extends p {
10
+ //#region Lifecycle
11
+ constructor(e) {
12
+ super(e);
13
+ }
14
+ //#endregion
15
+ //#region Public Methods
16
+ getAgents() {
17
+ return this.agents;
18
+ }
19
+ //#endregion
20
+ //#region Protected Methods
21
+ buildNodes(e) {
22
+ const r = super.buildNodes(e);
23
+ return r[d] = () => ({}), r;
24
+ }
25
+ buildEdges(e) {
26
+ const r = this.condition;
27
+ if (!r)
28
+ throw new Error("ConditionalWorkflow 必须提供条件。");
29
+ const n = c(e[0], 0), t = c(e[1], 1);
30
+ return [
31
+ {
32
+ from: d,
33
+ decide: async (o, i) => await Promise.resolve(r(o, i)) ? n : t
34
+ }
35
+ ];
36
+ }
37
+ getEntryNode() {
38
+ return d;
39
+ }
40
+ isTerminalAgent() {
41
+ return !0;
42
+ }
43
+ validateAgents(e) {
44
+ if (super.validateAgents(e), e.length !== 2)
45
+ throw new Error(`ConditionalWorkflow 必须且只能包含2个 Agent,实际为 ${e.length}.`);
46
+ }
47
+ //#endregion
48
+ };
49
+ a([
50
+ u()
51
+ ], l.prototype, "condition", 2);
52
+ a([
53
+ u()
54
+ ], l.prototype, "agents", 2);
55
+ l = a([
56
+ f("ConditionalWorkflow")
57
+ ], l);
58
+ const d = "__conditional_decide";
59
+ export {
60
+ l as ConditionalWorkflow
61
+ };
@@ -0,0 +1,58 @@
1
+ import type { AgentData, AgentExecutionConfig, AgentGraphState, BaseAgentLike, GraphEdge } from "../types.js";
2
+ import type { BaseWorkflow, WorkflowGenerateResult } from "./BaseWorkflow.js";
3
+
4
+ /**
5
+ * Loop continuation predicate. Return true to run another iteration.
6
+ *
7
+ * @param state - Current workflow graph state.
8
+ * @param config - Optional execution configuration.
9
+ * @since 5.1
10
+ */
11
+ export type LoopDecider<TState extends AgentData = AgentData> = (state: AgentGraphState<TState>, config?: AgentExecutionConfig) => Promise<boolean> | boolean;
12
+
13
+ /**
14
+ * LoopWorkflow repeatedly executes an inner workflow until a stop condition is met.
15
+ *
16
+ * Use in the following scenarios:
17
+ *
18
+ * - You need retry/refine loops,
19
+ * - You want iterative planning and execution.
20
+ *
21
+ * How it works:
22
+ * - Runs the inner `workflow`,
23
+ * - Evaluates `decideContinue(state, config)`,
24
+ * - If true, runs again; if false (or unset), stops.
25
+ *
26
+ * @since 5.1
27
+ */
28
+ export class LoopWorkflow<TState extends AgentData = AgentData> extends BaseWorkflow<TState> {
29
+ constructor(properties: LoopWorkflowConstructProperties<TState>);
30
+ /**
31
+ * Function that decides whether the loop should continue.
32
+ *
33
+ * @required
34
+ */
35
+ accessor decideContinue: LoopDecider<TState>;
36
+ /**
37
+ * Inner workflow to execute on each loop iteration.
38
+ *
39
+ * @required
40
+ */
41
+ accessor workflow: BaseWorkflow<TState>;
42
+ /** Builds the workflow-specific edges. */
43
+ protected buildEdges(): GraphEdge<AgentGraphState<TState>>[];
44
+ /**
45
+ * Generates the workflow's graph and shared workspace based on the defined agents and their schemas. This method is
46
+ * called by the WorkflowAgent when it generates its graph, and it orchestrates the creation of the workflow's structure,
47
+ * including validating the agents, deriving shared state from their schemas, and building the nodes and edges of the graph.
48
+ */
49
+ generate(): WorkflowGenerateResult<TState>;
50
+ /** A list of agents that are part of this workflow. */
51
+ getAgents(): BaseAgentLike<TState>[];
52
+ /** Returns the id of the first node in the workflow graph. */
53
+ protected getEntryNode(): string;
54
+ /** Returns whether the agent at this position should expose terminal runtime fields. */
55
+ protected isTerminalAgent(): boolean;
56
+ }
57
+
58
+ export type LoopWorkflowConstructProperties<TState extends AgentData> = Pick<LoopWorkflow<TState>, "decideContinue" | "workflow">;
@@ -0,0 +1,56 @@
1
+ /* COPYRIGHT GeoScene - https://js.geoscene.cn/5.1/LICENSE.txt */
2
+ import { property as u, subclass as w } from "@geoscene/core/core/accessorSupport/decorators.js";
3
+ import { c as f } from "../../chunks/graph.js";
4
+ import { B as h } from "../../chunks/BaseWorkflow.js";
5
+ var g = Object.defineProperty, m = Object.getOwnPropertyDescriptor, d = (o, r, n, t) => {
6
+ for (var e = t > 1 ? void 0 : t ? m(r, n) : r, s = o.length - 1, c; s >= 0; s--)
7
+ (c = o[s]) && (e = (t ? c(r, n, e) : c(e)) || e);
8
+ return t && e && g(r, n, e), e;
9
+ };
10
+ let p = class extends h {
11
+ //#region Lifecycle
12
+ constructor(o) {
13
+ super(o);
14
+ }
15
+ //#endregion
16
+ //#region Public Methods
17
+ getAgents() {
18
+ return this.workflow.getAgents();
19
+ }
20
+ generate() {
21
+ const o = this.workflow.generate(), r = o.workspace, n = o.createGraph().compile(), { decideContinue: t } = this, e = {
22
+ [a]: async (i, l) => await n.invoke(i, l)
23
+ }, s = [
24
+ {
25
+ from: a,
26
+ decide: async (i, l) => await Promise.resolve(t(i, l)) ? a : void 0
27
+ }
28
+ ];
29
+ return { workspace: r, createGraph: () => f(e, s, r, { entryNode: a }) };
30
+ }
31
+ //#endregion
32
+ //#region Protected Methods
33
+ buildEdges() {
34
+ throw new Error("LoopWorkflow 已覆盖 generate(),不应调用 buildEdges。");
35
+ }
36
+ getEntryNode() {
37
+ return a;
38
+ }
39
+ isTerminalAgent() {
40
+ return !0;
41
+ }
42
+ //#endregion
43
+ };
44
+ d([
45
+ u()
46
+ ], p.prototype, "workflow", 2);
47
+ d([
48
+ u()
49
+ ], p.prototype, "decideContinue", 2);
50
+ p = d([
51
+ w("LoopWorkflow")
52
+ ], p);
53
+ const a = "__loop_body";
54
+ export {
55
+ p as LoopWorkflow
56
+ };
@@ -0,0 +1,68 @@
1
+ import type { AgentData, AgentGraphState, BaseAgentLike, GraphEdge, GraphNodes } from "../types.js";
2
+ import type { BaseWorkflow, WorkflowGenerateResult } from "./BaseWorkflow.js";
3
+
4
+ /**
5
+ * ParallelWorkflow fans out execution to multiple agents and merges branch outputs.
6
+ *
7
+ * Use in the following scenarios:
8
+ * - Branches can run independently from the same input,
9
+ * - You want fan-out/fan-in behavior.
10
+ *
11
+ * How it works:
12
+ * - Fan out - every agent receives the same input snapshot,
13
+ * - Each branch collects its result in a hidden state key,
14
+ * - Fan in - merge outputs in declared agent order.
15
+ *
16
+ * Merge rule:
17
+ * - If two branches set the same shared key to different values, an error is thrown,
18
+ * as this indicates a conflict the workflow cannot resolve on its own.
19
+ *
20
+ * @since 5.1
21
+ */
22
+ export class ParallelWorkflow<TState extends AgentData = AgentData> extends BaseWorkflow<TState> {
23
+ constructor(properties: ParallelWorkflowConstructProperties<TState>);
24
+ /**
25
+ * Agents to run in parallel from the same input snapshot.
26
+ *
27
+ * @required
28
+ */
29
+ accessor agents: BaseAgentLike<TState>[];
30
+ /**
31
+ * Builds the workflow-specific edges.
32
+ *
33
+ * @param agents
34
+ */
35
+ protected buildEdges(agents: BaseAgentLike<TState>[]): GraphEdge<AgentGraphState<TState>>[];
36
+ /**
37
+ * Builds the workflow's graph nodes.
38
+ *
39
+ * Node ids use the agent id plus its position (`agent.id_index`) instead of only the raw
40
+ * agent id. That prevents collisions when the same agent instance is used multiple times.
41
+ *
42
+ * @param agents
43
+ */
44
+ protected buildNodes(agents: BaseAgentLike<TState>[]): GraphNodes<AgentGraphState<TState>>;
45
+ /**
46
+ * Generates the workflow's graph and shared workspace based on the defined agents and their schemas. This method is
47
+ * called by the WorkflowAgent when it generates its graph, and it orchestrates the creation of the workflow's structure,
48
+ * including validating the agents, deriving shared state from their schemas, and building the nodes and edges of the graph.
49
+ */
50
+ generate(): WorkflowGenerateResult<TState>;
51
+ /** A list of agents that are part of this workflow. */
52
+ getAgents(): BaseAgentLike<TState>[];
53
+ /**
54
+ * Returns the id of the first node in the workflow graph.
55
+ *
56
+ * @param _agents
57
+ */
58
+ protected getEntryNode(_agents: BaseAgentLike<TState>[]): string;
59
+ /**
60
+ * Returns whether the agent at this position should expose terminal runtime fields.
61
+ *
62
+ * @param _agents
63
+ * @param _index
64
+ */
65
+ protected isTerminalAgent(_agents: BaseAgentLike<TState>[], _index: number): boolean;
66
+ }
67
+
68
+ export type ParallelWorkflowConstructProperties<TState extends AgentData> = Pick<ParallelWorkflow<TState>, "agents">;
@@ -0,0 +1,129 @@
1
+ /* COPYRIGHT GeoScene - https://js.geoscene.cn/5.1/LICENSE.txt */
2
+ import { property as A, subclass as I } from "@geoscene/core/core/accessorSupport/decorators.js";
3
+ import { c as U } from "../../chunks/graph.js";
4
+ import { a as W } from "../../chunks/state.js";
5
+ import { B as G, c as J, g as m, a as j } from "../../chunks/BaseWorkflow.js";
6
+ var k = Object.defineProperty, B = Object.getOwnPropertyDescriptor, C = (e, t, s, n) => {
7
+ for (var a = n > 1 ? void 0 : n ? B(t, s) : t, o = e.length - 1, r; o >= 0; o--)
8
+ (r = e[o]) && (a = (n ? r(t, s, a) : r(a)) || a);
9
+ return n && a && k(t, s, a), a;
10
+ };
11
+ let y = class extends G {
12
+ //#region Lifecycle
13
+ constructor(e) {
14
+ super(e);
15
+ }
16
+ //#endregion
17
+ //#region Public Methods
18
+ getAgents() {
19
+ return this.agents;
20
+ }
21
+ generate() {
22
+ const e = this.getAgents();
23
+ this.validateAgents(e);
24
+ for (const r of e)
25
+ r.generate();
26
+ const t = J(e.flatMap((r) => r.getSchemas()));
27
+ for (const [r] of e.entries())
28
+ t[_(r)] = void 0;
29
+ const s = W(t), n = this.buildNodes(e), a = this.buildEdges(e);
30
+ return { workspace: s, createGraph: () => U(n, a, s, { entryNode: this.getEntryNode(e) }) };
31
+ }
32
+ //#endregion
33
+ //#region Protected Methods
34
+ getEntryNode(e) {
35
+ return h;
36
+ }
37
+ isTerminalAgent(e, t) {
38
+ return !1;
39
+ }
40
+ buildNodes(e) {
41
+ const t = {};
42
+ for (const [s, n] of e.entries()) {
43
+ const a = _(s), o = m(n, s);
44
+ t[o] = async (r, i) => {
45
+ const d = await n.run(K(r, n), i), u = {}, f = u;
46
+ return f[a] = d, u;
47
+ };
48
+ }
49
+ return t[h] = () => ({}), t[w] = (s) => $(s, e), t;
50
+ }
51
+ buildEdges(e) {
52
+ return [
53
+ ...e.map((t, s) => ({ from: h, to: m(t, s) })),
54
+ ...e.map((t, s) => ({ from: m(t, s), to: w }))
55
+ ];
56
+ }
57
+ //#endregion
58
+ };
59
+ C([
60
+ A()
61
+ ], y.prototype, "agents", 2);
62
+ y = C([
63
+ I("ParallelWorkflow")
64
+ ], y);
65
+ const h = "__parallel_fanOut", w = "__parallel_join";
66
+ function _(e) {
67
+ return `__parallel_update_${e}`;
68
+ }
69
+ function F(e, t) {
70
+ return Object.fromEntries(
71
+ t.filter((s) => Object.hasOwn(e, s)).map((s) => [s, e[s]])
72
+ );
73
+ }
74
+ function K(e, t) {
75
+ const s = t.inputSchema;
76
+ return s ? {
77
+ ...F(e, j(s)),
78
+ agentExecutionContext: e.agentExecutionContext,
79
+ outputMessage: e.outputMessage,
80
+ status: void 0,
81
+ summary: ""
82
+ } : { ...e, status: void 0, summary: "" };
83
+ }
84
+ function D(e, t) {
85
+ return e.outputSchema ? F(t, j(e.outputSchema)) : {};
86
+ }
87
+ function R(e, t) {
88
+ const s = e.agentExecutionContext?.messages ?? [], n = t.agentExecutionContext?.messages ?? [];
89
+ return n.length > s.length ? n.slice(s.length) : void 0;
90
+ }
91
+ function $(e, t) {
92
+ const s = [], n = [], a = [], o = {}, r = {}, i = /* @__PURE__ */ new Set();
93
+ for (const [f, P] of t.entries()) {
94
+ const x = _(f), g = e[x];
95
+ if (r[x] = void 0, !g || typeof g != "object")
96
+ continue;
97
+ const c = g, S = c.outputMessage, b = R(e, c), v = c.summary, M = D(P, c), O = S.trim();
98
+ typeof S == "string" && O && s.push(O);
99
+ const E = v.trim();
100
+ typeof v == "string" && E && n.push(E), Array.isArray(b) && a.push(...b), c.status && i.add(c.status);
101
+ for (const [l, p] of Object.entries(M))
102
+ if (!(p === void 0 || l.startsWith("__parallel_update_")) && !N(e[l], p)) {
103
+ if (!Object.hasOwn(o, l)) {
104
+ o[l] = p;
105
+ continue;
106
+ }
107
+ if (!N(o[l], p))
108
+ throw new Error(`ParallelWorkflow 检测到状态字段“${l}".`);
109
+ }
110
+ }
111
+ const d = {
112
+ ...r,
113
+ ...o
114
+ }, u = d;
115
+ return a.length > 0 && (u.agentExecutionContext = {
116
+ ...e.agentExecutionContext,
117
+ messages: [...e.agentExecutionContext.messages, ...a]
118
+ }), s.length && (u.outputMessage = s.join(`
119
+
120
+ `)), n.length && (u.summary = n.join(`
121
+
122
+ `)), i.size && (u.status = i.has("failed") ? "failed" : i.has("success") ? "success" : void 0), d;
123
+ }
124
+ function N(e, t) {
125
+ return e === t ? !0 : e && t ? JSON.stringify(e) === JSON.stringify(t) : !1;
126
+ }
127
+ export {
128
+ y as ParallelWorkflow
129
+ };
@@ -0,0 +1,63 @@
1
+ import type { AgentData, AgentGraphState, BaseAgentLike, GraphEdge } from "../types.js";
2
+ import type { BaseWorkflow } from "./BaseWorkflow.js";
3
+
4
+ /**
5
+ * RouterWorkflow runs a router agent, then dispatches to exactly one downstream agent.
6
+ *
7
+ * Use in the following scenarios:
8
+ * - A model (or routing step) should choose the destination,
9
+ * - Only one branch should run per request
10
+ *
11
+ * How it works:
12
+ * - `routerAgent` always runs first,
13
+ * - `routerAgent` reads the selected route key from `routerOutputKey`,
14
+ * - The agent corresponding to the selected route key is dispatched from `agentsMap`.
15
+ *
16
+ * @since 5.1
17
+ */
18
+ export class RouterWorkflow<TState extends AgentData = AgentData> extends BaseWorkflow<TState> {
19
+ constructor(properties: RouterWorkflowConstructProperties<TState>);
20
+ /**
21
+ * Mapping of route keys to destination agents.
22
+ *
23
+ * @required
24
+ */
25
+ accessor agentsMap: Record<string, BaseAgentLike<TState>>;
26
+ /**
27
+ * The agent that decides which route key to select.
28
+ *
29
+ * @required
30
+ */
31
+ accessor routerAgent: BaseAgentLike<TState>;
32
+ /**
33
+ * State key containing the selected route returned by the router agent.
34
+ *
35
+ * @required
36
+ */
37
+ accessor routerOutputKey: keyof AgentGraphState<TState>;
38
+ /**
39
+ * Builds the workflow-specific edges.
40
+ *
41
+ * @param agents
42
+ */
43
+ protected buildEdges(agents: BaseAgentLike<TState>[]): GraphEdge<AgentGraphState<TState>>[];
44
+ /** A list of agents that are part of this workflow. */
45
+ getAgents(): BaseAgentLike<TState>[];
46
+ /** Returns the id of the first node in the workflow graph. */
47
+ protected getEntryNode(): string;
48
+ /**
49
+ * Returns whether the agent at this position should expose terminal runtime fields.
50
+ *
51
+ * @param _agents
52
+ * @param index
53
+ */
54
+ protected isTerminalAgent(_agents: BaseAgentLike<TState>[], index: number): boolean;
55
+ /**
56
+ * Validates the workflow configuration and throws if invalid.
57
+ *
58
+ * @param agents
59
+ */
60
+ protected validateAgents(agents: BaseAgentLike<TState>[]): void;
61
+ }
62
+
63
+ export type RouterWorkflowConstructProperties<TState extends AgentData> = Pick<RouterWorkflow<TState>, "agentsMap" | "routerAgent" | "routerOutputKey">;
@@ -0,0 +1,75 @@
1
+ /* COPYRIGHT GeoScene - https://js.geoscene.cn/5.1/LICENSE.txt */
2
+ import { property as h, subclass as g } from "@geoscene/core/core/accessorSupport/decorators.js";
3
+ import { B as v, g as l } from "../../chunks/BaseWorkflow.js";
4
+ var w = Object.defineProperty, _ = Object.getOwnPropertyDescriptor, f = (e) => {
5
+ throw TypeError(e);
6
+ }, c = (e, t, o, s) => {
7
+ for (var r = s > 1 ? void 0 : s ? _(t, o) : t, n = e.length - 1, d; n >= 0; n--)
8
+ (d = e[n]) && (r = (s ? d(t, o, r) : d(r)) || r);
9
+ return s && r && w(t, o, r), r;
10
+ }, y = (e, t, o) => t.has(e) || f("Cannot " + o), A = (e, t, o) => t.has(e) ? f("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(e) : t.set(e, o), p = (e, t, o) => (y(e, t, "access private method"), o), a, i;
11
+ let u = class extends v {
12
+ //#region Lifecycle
13
+ constructor(e) {
14
+ super(e), A(this, a);
15
+ }
16
+ //#endregion
17
+ //#region Public Methods
18
+ getAgents() {
19
+ return p(this, a, i).call(this), [this.routerAgent, ...Object.values(this.agentsMap)];
20
+ }
21
+ buildEdges(e) {
22
+ p(this, a, i).call(this);
23
+ const t = l(this.routerAgent, 0), o = /* @__PURE__ */ new Map();
24
+ for (const [s, [r]] of Object.entries(this.agentsMap).entries())
25
+ o.set(r, l(e[s + 1], s + 1));
26
+ return [
27
+ {
28
+ from: t,
29
+ decide: (s) => {
30
+ const r = s[this.routerOutputKey];
31
+ if (typeof r != "string" || !r)
32
+ throw new Error("RouterWorkflow 的 decideRoute 无法根据状态确定下一个 Agent。");
33
+ const n = o.get(r);
34
+ if (!n)
35
+ throw new Error(
36
+ `RouterWorkflow 的 decideRoute 返回了未知 Agent:${r}。应为以下值之一:${Object.keys(this.agentsMap).join(", ") || "(none)"}.`
37
+ );
38
+ return n;
39
+ }
40
+ }
41
+ ];
42
+ }
43
+ //#endregion
44
+ //#region Protected Methods
45
+ getEntryNode() {
46
+ return p(this, a, i).call(this), l(this.routerAgent, 0);
47
+ }
48
+ isTerminalAgent(e, t) {
49
+ return t > 0;
50
+ }
51
+ validateAgents(e) {
52
+ p(this, a, i).call(this), super.validateAgents(e);
53
+ }
54
+ //#endregion
55
+ };
56
+ a = /* @__PURE__ */ new WeakSet();
57
+ i = function() {
58
+ if (!Object.keys(this.agentsMap).length)
59
+ throw new Error("RouterWorkflow 的 agentsMap 不能为空。");
60
+ };
61
+ c([
62
+ h()
63
+ ], u.prototype, "agentsMap", 2);
64
+ c([
65
+ h()
66
+ ], u.prototype, "routerAgent", 2);
67
+ c([
68
+ h()
69
+ ], u.prototype, "routerOutputKey", 2);
70
+ u = c([
71
+ g("RouterWorkflow")
72
+ ], u);
73
+ export {
74
+ u as RouterWorkflow
75
+ };