@falai/agent 1.2.7 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (508) hide show
  1. package/README.md +40 -886
  2. package/dist/adapters/MemoryAdapter.js +2 -2
  3. package/dist/adapters/MemoryAdapter.js.map +1 -1
  4. package/dist/adapters/MongoAdapter.js +2 -2
  5. package/dist/adapters/MongoAdapter.js.map +1 -1
  6. package/dist/adapters/OpenSearchAdapter.d.ts.map +1 -1
  7. package/dist/adapters/OpenSearchAdapter.js +9 -7
  8. package/dist/adapters/OpenSearchAdapter.js.map +1 -1
  9. package/dist/adapters/PostgreSQLAdapter.d.ts +14 -0
  10. package/dist/adapters/PostgreSQLAdapter.d.ts.map +1 -1
  11. package/dist/adapters/PostgreSQLAdapter.js +25 -9
  12. package/dist/adapters/PostgreSQLAdapter.js.map +1 -1
  13. package/dist/adapters/PrismaAdapter.js +5 -5
  14. package/dist/adapters/PrismaAdapter.js.map +1 -1
  15. package/dist/adapters/RedisAdapter.js +2 -2
  16. package/dist/adapters/RedisAdapter.js.map +1 -1
  17. package/dist/adapters/SQLiteAdapter.d.ts +17 -0
  18. package/dist/adapters/SQLiteAdapter.d.ts.map +1 -1
  19. package/dist/adapters/SQLiteAdapter.js +30 -11
  20. package/dist/adapters/SQLiteAdapter.js.map +1 -1
  21. package/dist/cjs/adapters/MemoryAdapter.js +2 -2
  22. package/dist/cjs/adapters/MemoryAdapter.js.map +1 -1
  23. package/dist/cjs/adapters/MongoAdapter.js +2 -2
  24. package/dist/cjs/adapters/MongoAdapter.js.map +1 -1
  25. package/dist/cjs/adapters/OpenSearchAdapter.d.ts.map +1 -1
  26. package/dist/cjs/adapters/OpenSearchAdapter.js +9 -7
  27. package/dist/cjs/adapters/OpenSearchAdapter.js.map +1 -1
  28. package/dist/cjs/adapters/PostgreSQLAdapter.d.ts +14 -0
  29. package/dist/cjs/adapters/PostgreSQLAdapter.d.ts.map +1 -1
  30. package/dist/cjs/adapters/PostgreSQLAdapter.js +25 -9
  31. package/dist/cjs/adapters/PostgreSQLAdapter.js.map +1 -1
  32. package/dist/cjs/adapters/PrismaAdapter.js +5 -5
  33. package/dist/cjs/adapters/PrismaAdapter.js.map +1 -1
  34. package/dist/cjs/adapters/RedisAdapter.js +2 -2
  35. package/dist/cjs/adapters/RedisAdapter.js.map +1 -1
  36. package/dist/cjs/adapters/SQLiteAdapter.d.ts +17 -0
  37. package/dist/cjs/adapters/SQLiteAdapter.d.ts.map +1 -1
  38. package/dist/cjs/adapters/SQLiteAdapter.js +30 -11
  39. package/dist/cjs/adapters/SQLiteAdapter.js.map +1 -1
  40. package/dist/cjs/constants/index.d.ts +0 -9
  41. package/dist/cjs/constants/index.d.ts.map +1 -1
  42. package/dist/cjs/constants/index.js +2 -11
  43. package/dist/cjs/constants/index.js.map +1 -1
  44. package/dist/cjs/core/Agent.d.ts +119 -153
  45. package/dist/cjs/core/Agent.d.ts.map +1 -1
  46. package/dist/cjs/core/Agent.js +471 -324
  47. package/dist/cjs/core/Agent.js.map +1 -1
  48. package/dist/cjs/core/AutoChainExecutor.d.ts +107 -0
  49. package/dist/cjs/core/AutoChainExecutor.d.ts.map +1 -0
  50. package/dist/cjs/core/AutoChainExecutor.js +297 -0
  51. package/dist/cjs/core/AutoChainExecutor.js.map +1 -0
  52. package/dist/cjs/core/BranchEvaluator.d.ts +54 -0
  53. package/dist/cjs/core/BranchEvaluator.d.ts.map +1 -0
  54. package/dist/cjs/core/BranchEvaluator.js +130 -0
  55. package/dist/cjs/core/BranchEvaluator.js.map +1 -0
  56. package/dist/cjs/core/DirectiveBus.d.ts +88 -0
  57. package/dist/cjs/core/DirectiveBus.d.ts.map +1 -0
  58. package/dist/cjs/core/DirectiveBus.js +196 -0
  59. package/dist/cjs/core/DirectiveBus.js.map +1 -0
  60. package/dist/cjs/core/DirectiveChainTracker.d.ts +49 -0
  61. package/dist/cjs/core/DirectiveChainTracker.d.ts.map +1 -0
  62. package/dist/cjs/core/DirectiveChainTracker.js +121 -0
  63. package/dist/cjs/core/DirectiveChainTracker.js.map +1 -0
  64. package/dist/cjs/core/Flow.d.ts +186 -0
  65. package/dist/cjs/core/Flow.d.ts.map +1 -0
  66. package/dist/cjs/core/Flow.js +550 -0
  67. package/dist/cjs/core/Flow.js.map +1 -0
  68. package/dist/cjs/core/FlowRouter.d.ts +182 -0
  69. package/dist/cjs/core/FlowRouter.d.ts.map +1 -0
  70. package/dist/cjs/core/{RoutingEngine.js → FlowRouter.js} +323 -306
  71. package/dist/cjs/core/FlowRouter.js.map +1 -0
  72. package/dist/cjs/core/PersistenceManager.d.ts +2 -2
  73. package/dist/cjs/core/PersistenceManager.d.ts.map +1 -1
  74. package/dist/cjs/core/PersistenceManager.js +7 -7
  75. package/dist/cjs/core/PersistenceManager.js.map +1 -1
  76. package/dist/cjs/core/PromptComposer.d.ts +21 -8
  77. package/dist/cjs/core/PromptComposer.d.ts.map +1 -1
  78. package/dist/cjs/core/PromptComposer.js +182 -105
  79. package/dist/cjs/core/PromptComposer.js.map +1 -1
  80. package/dist/cjs/core/PromptSectionCache.d.ts +1 -1
  81. package/dist/cjs/core/PromptSectionCache.js +1 -1
  82. package/dist/cjs/core/ResponseEngine.d.ts +18 -8
  83. package/dist/cjs/core/ResponseEngine.d.ts.map +1 -1
  84. package/dist/cjs/core/ResponseEngine.js +38 -36
  85. package/dist/cjs/core/ResponseEngine.js.map +1 -1
  86. package/dist/cjs/core/ResponseModal.d.ts +73 -56
  87. package/dist/cjs/core/ResponseModal.d.ts.map +1 -1
  88. package/dist/cjs/core/ResponseModal.js +1196 -1015
  89. package/dist/cjs/core/ResponseModal.js.map +1 -1
  90. package/dist/cjs/core/ResponsePipeline.d.ts +124 -26
  91. package/dist/cjs/core/ResponsePipeline.d.ts.map +1 -1
  92. package/dist/cjs/core/ResponsePipeline.js +524 -134
  93. package/dist/cjs/core/ResponsePipeline.js.map +1 -1
  94. package/dist/cjs/core/SignalEvaluator.d.ts +86 -0
  95. package/dist/cjs/core/SignalEvaluator.d.ts.map +1 -0
  96. package/dist/cjs/core/SignalEvaluator.js +333 -0
  97. package/dist/cjs/core/SignalEvaluator.js.map +1 -0
  98. package/dist/cjs/core/SignalProcessor.d.ts +152 -0
  99. package/dist/cjs/core/SignalProcessor.d.ts.map +1 -0
  100. package/dist/cjs/core/SignalProcessor.js +562 -0
  101. package/dist/cjs/core/SignalProcessor.js.map +1 -0
  102. package/dist/cjs/core/Step.d.ts +43 -32
  103. package/dist/cjs/core/Step.d.ts.map +1 -1
  104. package/dist/cjs/core/Step.js +221 -126
  105. package/dist/cjs/core/Step.js.map +1 -1
  106. package/dist/cjs/core/StreamingToolExecutor.d.ts +2 -2
  107. package/dist/cjs/core/StreamingToolExecutor.d.ts.map +1 -1
  108. package/dist/cjs/core/StreamingToolExecutor.js.map +1 -1
  109. package/dist/cjs/core/ToolManager.d.ts +44 -13
  110. package/dist/cjs/core/ToolManager.d.ts.map +1 -1
  111. package/dist/cjs/core/ToolManager.js +174 -91
  112. package/dist/cjs/core/ToolManager.js.map +1 -1
  113. package/dist/cjs/core/createAgent.d.ts +35 -0
  114. package/dist/cjs/core/createAgent.d.ts.map +1 -0
  115. package/dist/cjs/core/createAgent.js +39 -0
  116. package/dist/cjs/core/createAgent.js.map +1 -0
  117. package/dist/cjs/core/flow-namespace.d.ts +49 -0
  118. package/dist/cjs/core/flow-namespace.d.ts.map +1 -0
  119. package/dist/cjs/core/flow-namespace.js +171 -0
  120. package/dist/cjs/core/flow-namespace.js.map +1 -0
  121. package/dist/cjs/index.d.ts +11 -14
  122. package/dist/cjs/index.d.ts.map +1 -1
  123. package/dist/cjs/index.js +18 -22
  124. package/dist/cjs/index.js.map +1 -1
  125. package/dist/cjs/providers/GeminiProvider.d.ts +3 -3
  126. package/dist/cjs/providers/GeminiProvider.d.ts.map +1 -1
  127. package/dist/cjs/providers/GeminiProvider.js +16 -14
  128. package/dist/cjs/providers/GeminiProvider.js.map +1 -1
  129. package/dist/cjs/types/agent.d.ts +183 -54
  130. package/dist/cjs/types/agent.d.ts.map +1 -1
  131. package/dist/cjs/types/agent.js +0 -6
  132. package/dist/cjs/types/agent.js.map +1 -1
  133. package/dist/cjs/types/ai.d.ts +3 -3
  134. package/dist/cjs/types/ai.d.ts.map +1 -1
  135. package/dist/cjs/types/errors.d.ts +15 -0
  136. package/dist/cjs/types/errors.d.ts.map +1 -0
  137. package/dist/cjs/types/errors.js +22 -0
  138. package/dist/cjs/types/errors.js.map +1 -0
  139. package/dist/cjs/types/flow.d.ts +513 -0
  140. package/dist/cjs/types/flow.d.ts.map +1 -0
  141. package/dist/cjs/types/{route.js → flow.js} +2 -2
  142. package/dist/cjs/types/flow.js.map +1 -0
  143. package/dist/cjs/types/index.d.ts +7 -6
  144. package/dist/cjs/types/index.d.ts.map +1 -1
  145. package/dist/cjs/types/index.js +6 -2
  146. package/dist/cjs/types/index.js.map +1 -1
  147. package/dist/cjs/types/persistence.d.ts +11 -7
  148. package/dist/cjs/types/persistence.d.ts.map +1 -1
  149. package/dist/cjs/types/routing.d.ts +1 -1
  150. package/dist/cjs/types/routing.d.ts.map +1 -1
  151. package/dist/cjs/types/session.d.ts +24 -23
  152. package/dist/cjs/types/session.d.ts.map +1 -1
  153. package/dist/cjs/types/signals.d.ts +248 -0
  154. package/dist/cjs/types/signals.d.ts.map +1 -0
  155. package/dist/cjs/types/signals.js +11 -0
  156. package/dist/cjs/types/signals.js.map +1 -0
  157. package/dist/cjs/types/template.d.ts +2 -8
  158. package/dist/cjs/types/template.d.ts.map +1 -1
  159. package/dist/cjs/types/tool.d.ts +36 -29
  160. package/dist/cjs/types/tool.d.ts.map +1 -1
  161. package/dist/cjs/types/tool.js +1 -1
  162. package/dist/cjs/types/tool.js.map +1 -1
  163. package/dist/cjs/utils/condition.d.ts +7 -1
  164. package/dist/cjs/utils/condition.d.ts.map +1 -1
  165. package/dist/cjs/utils/condition.js.map +1 -1
  166. package/dist/cjs/utils/id.d.ts +13 -5
  167. package/dist/cjs/utils/id.d.ts.map +1 -1
  168. package/dist/cjs/utils/id.js +24 -10
  169. package/dist/cjs/utils/id.js.map +1 -1
  170. package/dist/cjs/utils/index.d.ts +2 -2
  171. package/dist/cjs/utils/index.d.ts.map +1 -1
  172. package/dist/cjs/utils/index.js +7 -3
  173. package/dist/cjs/utils/index.js.map +1 -1
  174. package/dist/cjs/utils/session.d.ts +44 -5
  175. package/dist/cjs/utils/session.d.ts.map +1 -1
  176. package/dist/cjs/utils/session.js +197 -38
  177. package/dist/cjs/utils/session.js.map +1 -1
  178. package/dist/constants/index.d.ts +0 -9
  179. package/dist/constants/index.d.ts.map +1 -1
  180. package/dist/constants/index.js +3 -9
  181. package/dist/constants/index.js.map +1 -1
  182. package/dist/core/Agent.d.ts +119 -153
  183. package/dist/core/Agent.d.ts.map +1 -1
  184. package/dist/core/Agent.js +472 -325
  185. package/dist/core/Agent.js.map +1 -1
  186. package/dist/core/AutoChainExecutor.d.ts +107 -0
  187. package/dist/core/AutoChainExecutor.d.ts.map +1 -0
  188. package/dist/core/AutoChainExecutor.js +293 -0
  189. package/dist/core/AutoChainExecutor.js.map +1 -0
  190. package/dist/core/BranchEvaluator.d.ts +54 -0
  191. package/dist/core/BranchEvaluator.d.ts.map +1 -0
  192. package/dist/core/BranchEvaluator.js +126 -0
  193. package/dist/core/BranchEvaluator.js.map +1 -0
  194. package/dist/core/DirectiveBus.d.ts +88 -0
  195. package/dist/core/DirectiveBus.d.ts.map +1 -0
  196. package/dist/core/DirectiveBus.js +192 -0
  197. package/dist/core/DirectiveBus.js.map +1 -0
  198. package/dist/core/DirectiveChainTracker.d.ts +49 -0
  199. package/dist/core/DirectiveChainTracker.d.ts.map +1 -0
  200. package/dist/core/DirectiveChainTracker.js +117 -0
  201. package/dist/core/DirectiveChainTracker.js.map +1 -0
  202. package/dist/core/Flow.d.ts +186 -0
  203. package/dist/core/Flow.d.ts.map +1 -0
  204. package/dist/core/Flow.js +546 -0
  205. package/dist/core/Flow.js.map +1 -0
  206. package/dist/core/FlowRouter.d.ts +182 -0
  207. package/dist/core/FlowRouter.d.ts.map +1 -0
  208. package/dist/core/{RoutingEngine.js → FlowRouter.js} +322 -305
  209. package/dist/core/FlowRouter.js.map +1 -0
  210. package/dist/core/PersistenceManager.d.ts +2 -2
  211. package/dist/core/PersistenceManager.d.ts.map +1 -1
  212. package/dist/core/PersistenceManager.js +7 -7
  213. package/dist/core/PersistenceManager.js.map +1 -1
  214. package/dist/core/PromptComposer.d.ts +21 -8
  215. package/dist/core/PromptComposer.d.ts.map +1 -1
  216. package/dist/core/PromptComposer.js +183 -106
  217. package/dist/core/PromptComposer.js.map +1 -1
  218. package/dist/core/PromptSectionCache.d.ts +1 -1
  219. package/dist/core/PromptSectionCache.js +1 -1
  220. package/dist/core/ResponseEngine.d.ts +18 -8
  221. package/dist/core/ResponseEngine.d.ts.map +1 -1
  222. package/dist/core/ResponseEngine.js +38 -36
  223. package/dist/core/ResponseEngine.js.map +1 -1
  224. package/dist/core/ResponseModal.d.ts +73 -56
  225. package/dist/core/ResponseModal.d.ts.map +1 -1
  226. package/dist/core/ResponseModal.js +1198 -1017
  227. package/dist/core/ResponseModal.js.map +1 -1
  228. package/dist/core/ResponsePipeline.d.ts +124 -26
  229. package/dist/core/ResponsePipeline.d.ts.map +1 -1
  230. package/dist/core/ResponsePipeline.js +524 -135
  231. package/dist/core/ResponsePipeline.js.map +1 -1
  232. package/dist/core/SignalEvaluator.d.ts +86 -0
  233. package/dist/core/SignalEvaluator.d.ts.map +1 -0
  234. package/dist/core/SignalEvaluator.js +326 -0
  235. package/dist/core/SignalEvaluator.js.map +1 -0
  236. package/dist/core/SignalProcessor.d.ts +152 -0
  237. package/dist/core/SignalProcessor.d.ts.map +1 -0
  238. package/dist/core/SignalProcessor.js +555 -0
  239. package/dist/core/SignalProcessor.js.map +1 -0
  240. package/dist/core/Step.d.ts +43 -32
  241. package/dist/core/Step.d.ts.map +1 -1
  242. package/dist/core/Step.js +220 -126
  243. package/dist/core/Step.js.map +1 -1
  244. package/dist/core/StreamingToolExecutor.d.ts +2 -2
  245. package/dist/core/StreamingToolExecutor.d.ts.map +1 -1
  246. package/dist/core/StreamingToolExecutor.js.map +1 -1
  247. package/dist/core/ToolManager.d.ts +44 -13
  248. package/dist/core/ToolManager.d.ts.map +1 -1
  249. package/dist/core/ToolManager.js +174 -91
  250. package/dist/core/ToolManager.js.map +1 -1
  251. package/dist/core/createAgent.d.ts +35 -0
  252. package/dist/core/createAgent.d.ts.map +1 -0
  253. package/dist/core/createAgent.js +36 -0
  254. package/dist/core/createAgent.js.map +1 -0
  255. package/dist/core/flow-namespace.d.ts +49 -0
  256. package/dist/core/flow-namespace.d.ts.map +1 -0
  257. package/dist/core/flow-namespace.js +168 -0
  258. package/dist/core/flow-namespace.js.map +1 -0
  259. package/dist/index.d.ts +11 -14
  260. package/dist/index.d.ts.map +1 -1
  261. package/dist/index.js +9 -12
  262. package/dist/index.js.map +1 -1
  263. package/dist/providers/GeminiProvider.d.ts +3 -3
  264. package/dist/providers/GeminiProvider.d.ts.map +1 -1
  265. package/dist/providers/GeminiProvider.js +16 -14
  266. package/dist/providers/GeminiProvider.js.map +1 -1
  267. package/dist/types/agent.d.ts +183 -54
  268. package/dist/types/agent.d.ts.map +1 -1
  269. package/dist/types/agent.js +0 -6
  270. package/dist/types/agent.js.map +1 -1
  271. package/dist/types/ai.d.ts +3 -3
  272. package/dist/types/ai.d.ts.map +1 -1
  273. package/dist/types/errors.d.ts +15 -0
  274. package/dist/types/errors.d.ts.map +1 -0
  275. package/dist/types/errors.js +18 -0
  276. package/dist/types/errors.js.map +1 -0
  277. package/dist/types/flow.d.ts +513 -0
  278. package/dist/types/flow.d.ts.map +1 -0
  279. package/dist/types/flow.js +5 -0
  280. package/dist/types/flow.js.map +1 -0
  281. package/dist/types/index.d.ts +7 -6
  282. package/dist/types/index.d.ts.map +1 -1
  283. package/dist/types/index.js +4 -1
  284. package/dist/types/index.js.map +1 -1
  285. package/dist/types/persistence.d.ts +11 -7
  286. package/dist/types/persistence.d.ts.map +1 -1
  287. package/dist/types/routing.d.ts +1 -1
  288. package/dist/types/routing.d.ts.map +1 -1
  289. package/dist/types/session.d.ts +24 -23
  290. package/dist/types/session.d.ts.map +1 -1
  291. package/dist/types/signals.d.ts +248 -0
  292. package/dist/types/signals.d.ts.map +1 -0
  293. package/dist/types/signals.js +10 -0
  294. package/dist/types/signals.js.map +1 -0
  295. package/dist/types/template.d.ts +2 -8
  296. package/dist/types/template.d.ts.map +1 -1
  297. package/dist/types/tool.d.ts +36 -29
  298. package/dist/types/tool.d.ts.map +1 -1
  299. package/dist/types/tool.js +1 -1
  300. package/dist/types/tool.js.map +1 -1
  301. package/dist/utils/condition.d.ts +7 -1
  302. package/dist/utils/condition.d.ts.map +1 -1
  303. package/dist/utils/condition.js.map +1 -1
  304. package/dist/utils/id.d.ts +13 -5
  305. package/dist/utils/id.d.ts.map +1 -1
  306. package/dist/utils/id.js +22 -9
  307. package/dist/utils/id.js.map +1 -1
  308. package/dist/utils/index.d.ts +2 -2
  309. package/dist/utils/index.d.ts.map +1 -1
  310. package/dist/utils/index.js +2 -2
  311. package/dist/utils/index.js.map +1 -1
  312. package/dist/utils/session.d.ts +44 -5
  313. package/dist/utils/session.d.ts.map +1 -1
  314. package/dist/utils/session.js +193 -37
  315. package/dist/utils/session.js.map +1 -1
  316. package/docs/README.md +15 -202
  317. package/docs/concepts/architecture.md +281 -0
  318. package/docs/concepts/directives.md +400 -0
  319. package/docs/concepts/pipeline.md +399 -0
  320. package/docs/guides/branching.md +263 -0
  321. package/docs/guides/compaction.md +163 -0
  322. package/docs/guides/conditions.md +167 -0
  323. package/docs/guides/error-handling.md +176 -0
  324. package/docs/guides/flow-control.md +409 -0
  325. package/docs/guides/instructions.md +210 -0
  326. package/docs/guides/persistence.md +182 -0
  327. package/docs/guides/streaming.md +137 -0
  328. package/docs/migration/README.md +15 -0
  329. package/docs/migration/route-to-flow.md +560 -0
  330. package/docs/migration/v1-to-v2.md +909 -0
  331. package/docs/reference/adapters.md +481 -0
  332. package/docs/reference/branches.md +241 -0
  333. package/docs/reference/create-agent.md +186 -0
  334. package/docs/reference/directive.md +243 -0
  335. package/docs/reference/errors.md +122 -0
  336. package/docs/reference/flow.md +238 -0
  337. package/docs/reference/instruction.md +177 -0
  338. package/docs/reference/pre-directive.md +131 -0
  339. package/docs/reference/providers.md +227 -0
  340. package/docs/reference/signals.md +356 -0
  341. package/docs/reference/step.md +339 -0
  342. package/docs/reference/tool.md +269 -0
  343. package/docs/start/01-install.md +81 -0
  344. package/docs/start/02-first-agent.md +196 -0
  345. package/docs/start/03-collect-data.md +222 -0
  346. package/docs/start/04-add-tools.md +276 -0
  347. package/docs/start/05-go-to-production.md +216 -0
  348. package/examples/01-quickstart.ts +20 -0
  349. package/examples/02-data-extraction.ts +90 -0
  350. package/examples/03-tools.ts +136 -0
  351. package/examples/04-instructions.ts +100 -0
  352. package/examples/05-branching.ts +140 -0
  353. package/examples/06-flow-control.ts +103 -0
  354. package/examples/07-streaming.ts +69 -0
  355. package/examples/08-persistence.ts +98 -0
  356. package/examples/09-signals.ts +144 -0
  357. package/examples/tsconfig.json +30 -0
  358. package/package.json +2 -1
  359. package/src/adapters/MemoryAdapter.ts +3 -3
  360. package/src/adapters/MongoAdapter.ts +3 -3
  361. package/src/adapters/OpenSearchAdapter.ts +10 -8
  362. package/src/adapters/PostgreSQLAdapter.ts +26 -10
  363. package/src/adapters/PrismaAdapter.ts +6 -6
  364. package/src/adapters/RedisAdapter.ts +3 -3
  365. package/src/adapters/SQLiteAdapter.ts +31 -12
  366. package/src/constants/index.ts +2 -10
  367. package/src/core/Agent.ts +585 -374
  368. package/src/core/AutoChainExecutor.ts +440 -0
  369. package/src/core/BranchEvaluator.ts +167 -0
  370. package/src/core/DirectiveBus.ts +248 -0
  371. package/src/core/DirectiveChainTracker.ts +144 -0
  372. package/src/core/Flow.ts +666 -0
  373. package/src/core/{RoutingEngine.ts → FlowRouter.ts} +385 -365
  374. package/src/core/PersistenceManager.ts +8 -8
  375. package/src/core/PromptComposer.ts +209 -140
  376. package/src/core/PromptSectionCache.ts +1 -1
  377. package/src/core/ResponseEngine.ts +61 -46
  378. package/src/core/ResponseModal.ts +1458 -1241
  379. package/src/core/ResponsePipeline.ts +675 -173
  380. package/src/core/SignalEvaluator.ts +420 -0
  381. package/src/core/SignalProcessor.ts +723 -0
  382. package/src/core/Step.ts +279 -176
  383. package/src/core/StreamingToolExecutor.ts +4 -4
  384. package/src/core/ToolManager.ts +200 -97
  385. package/src/core/createAgent.ts +40 -0
  386. package/src/core/flow-namespace.ts +219 -0
  387. package/src/index.ts +42 -36
  388. package/src/providers/GeminiProvider.ts +17 -15
  389. package/src/types/agent.ts +182 -53
  390. package/src/types/ai.ts +3 -3
  391. package/src/types/errors.ts +18 -0
  392. package/src/types/flow.ts +590 -0
  393. package/src/types/index.ts +43 -16
  394. package/src/types/persistence.ts +12 -8
  395. package/src/types/routing.ts +1 -1
  396. package/src/types/session.ts +26 -23
  397. package/src/types/signals.ts +321 -0
  398. package/src/types/template.ts +3 -11
  399. package/src/types/tool.ts +50 -42
  400. package/src/utils/condition.ts +13 -4
  401. package/src/utils/id.ts +27 -9
  402. package/src/utils/index.ts +6 -2
  403. package/src/utils/session.ts +238 -42
  404. package/dist/cjs/core/BatchExecutor.d.ts +0 -359
  405. package/dist/cjs/core/BatchExecutor.d.ts.map +0 -1
  406. package/dist/cjs/core/BatchExecutor.js +0 -861
  407. package/dist/cjs/core/BatchExecutor.js.map +0 -1
  408. package/dist/cjs/core/BatchPromptBuilder.d.ts +0 -89
  409. package/dist/cjs/core/BatchPromptBuilder.d.ts.map +0 -1
  410. package/dist/cjs/core/BatchPromptBuilder.js +0 -223
  411. package/dist/cjs/core/BatchPromptBuilder.js.map +0 -1
  412. package/dist/cjs/core/Route.d.ts +0 -180
  413. package/dist/cjs/core/Route.d.ts.map +0 -1
  414. package/dist/cjs/core/Route.js +0 -542
  415. package/dist/cjs/core/Route.js.map +0 -1
  416. package/dist/cjs/core/RoutingEngine.d.ts +0 -185
  417. package/dist/cjs/core/RoutingEngine.d.ts.map +0 -1
  418. package/dist/cjs/core/RoutingEngine.js.map +0 -1
  419. package/dist/cjs/types/route.d.ts +0 -336
  420. package/dist/cjs/types/route.d.ts.map +0 -1
  421. package/dist/cjs/types/route.js.map +0 -1
  422. package/dist/core/BatchExecutor.d.ts +0 -359
  423. package/dist/core/BatchExecutor.d.ts.map +0 -1
  424. package/dist/core/BatchExecutor.js +0 -856
  425. package/dist/core/BatchExecutor.js.map +0 -1
  426. package/dist/core/BatchPromptBuilder.d.ts +0 -89
  427. package/dist/core/BatchPromptBuilder.d.ts.map +0 -1
  428. package/dist/core/BatchPromptBuilder.js +0 -219
  429. package/dist/core/BatchPromptBuilder.js.map +0 -1
  430. package/dist/core/Route.d.ts +0 -180
  431. package/dist/core/Route.d.ts.map +0 -1
  432. package/dist/core/Route.js +0 -538
  433. package/dist/core/Route.js.map +0 -1
  434. package/dist/core/RoutingEngine.d.ts +0 -185
  435. package/dist/core/RoutingEngine.d.ts.map +0 -1
  436. package/dist/core/RoutingEngine.js.map +0 -1
  437. package/dist/types/route.d.ts +0 -336
  438. package/dist/types/route.d.ts.map +0 -1
  439. package/dist/types/route.js +0 -5
  440. package/dist/types/route.js.map +0 -1
  441. package/docs/CONTRIBUTING.md +0 -521
  442. package/docs/api/README.md +0 -3299
  443. package/docs/api/overview.md +0 -1410
  444. package/docs/architecture/data-extraction-flow.md +0 -360
  445. package/docs/architecture/multi-step-execution.md +0 -277
  446. package/docs/core/agent/README.md +0 -938
  447. package/docs/core/agent/context-management.md +0 -796
  448. package/docs/core/agent/rules-and-prohibitions.md +0 -113
  449. package/docs/core/agent/session-management.md +0 -693
  450. package/docs/core/ai-integration/prompt-composition.md +0 -355
  451. package/docs/core/ai-integration/providers.md +0 -515
  452. package/docs/core/ai-integration/response-processing.md +0 -433
  453. package/docs/core/conversation-flows/data-collection.md +0 -772
  454. package/docs/core/conversation-flows/route-dsl.md +0 -509
  455. package/docs/core/conversation-flows/routes.md +0 -249
  456. package/docs/core/conversation-flows/step-transitions.md +0 -731
  457. package/docs/core/conversation-flows/steps.md +0 -268
  458. package/docs/core/error-handling.md +0 -830
  459. package/docs/core/persistence/adapters.md +0 -255
  460. package/docs/core/persistence/session-storage.md +0 -656
  461. package/docs/core/routing/intelligent-routing.md +0 -470
  462. package/docs/core/tools/enhanced-tool.md +0 -186
  463. package/docs/core/tools/streaming-execution.md +0 -161
  464. package/docs/core/tools/tool-definition.md +0 -970
  465. package/docs/core/tools/tool-scoping.md +0 -819
  466. package/docs/guides/advanced-patterns/publishing.md +0 -186
  467. package/docs/guides/context-compaction.md +0 -96
  468. package/docs/guides/error-handling-patterns.md +0 -578
  469. package/docs/guides/getting-started/README.md +0 -795
  470. package/docs/guides/migration/README.md +0 -101
  471. package/docs/guides/migration/flexible-routing-conditions.md +0 -375
  472. package/docs/guides/migration/multi-step-execution.md +0 -393
  473. package/docs/guides/migration/response-modal-refactor.md +0 -518
  474. package/docs/guides/prompt-optimization.md +0 -164
  475. package/examples/advanced-patterns/context-compaction.ts +0 -223
  476. package/examples/advanced-patterns/knowledge-based-agent.ts +0 -735
  477. package/examples/advanced-patterns/persistent-onboarding.ts +0 -728
  478. package/examples/advanced-patterns/route-lifecycle-hooks.ts +0 -556
  479. package/examples/advanced-patterns/streaming-responses.ts +0 -656
  480. package/examples/ai-providers/anthropic-integration.ts +0 -388
  481. package/examples/ai-providers/openai-integration.ts +0 -228
  482. package/examples/condition-patterns/function-only-conditions.ts +0 -365
  483. package/examples/condition-patterns/mixed-array-conditions.ts +0 -477
  484. package/examples/condition-patterns/route-skipif-patterns.ts +0 -468
  485. package/examples/condition-patterns/step-skipif-patterns.ts +0 -0
  486. package/examples/condition-patterns/string-only-conditions.ts +0 -296
  487. package/examples/conversation-flows/completion-transitions.ts +0 -318
  488. package/examples/core-concepts/basic-agent.ts +0 -503
  489. package/examples/core-concepts/modern-streaming-api.ts +0 -309
  490. package/examples/core-concepts/schema-driven-extraction.ts +0 -332
  491. package/examples/core-concepts/session-management.ts +0 -494
  492. package/examples/integrations/database-integration.ts +0 -631
  493. package/examples/integrations/healthcare-integration.ts +0 -595
  494. package/examples/integrations/search-integration.ts +0 -530
  495. package/examples/integrations/server-session-management.ts +0 -307
  496. package/examples/persistence/custom-adapter.ts +0 -526
  497. package/examples/persistence/database-persistence.ts +0 -583
  498. package/examples/persistence/memory-sessions.ts +0 -495
  499. package/examples/persistence/prisma-schema.example.prisma +0 -74
  500. package/examples/persistence/redis-persistence.ts +0 -488
  501. package/examples/tools/basic-tools.ts +0 -765
  502. package/examples/tools/data-enrichment-tools.ts +0 -593
  503. package/examples/tools/enhanced-tool-metadata.ts +0 -268
  504. package/examples/tools/streaming-tool-execution.ts +0 -283
  505. package/src/core/BatchExecutor.ts +0 -1187
  506. package/src/core/BatchPromptBuilder.ts +0 -299
  507. package/src/core/Route.ts +0 -678
  508. package/src/types/route.ts +0 -392
@@ -1 +1 @@
1
- {"version":3,"file":"Agent.js","sourceRoot":"","sources":["../../src/core/Agent.ts"],"names":[],"mappings":"AAAA;;GAEG;AAoBH,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,EACL,cAAc,EACd,MAAM,EACN,WAAW,EACX,MAAM,EACN,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;GAEG;AACH,MAAM,mBAAoB,SAAQ,KAAK;IACrC,YAAmB,MAAyB,EAAE,OAAgB;QAC5D,KAAK,CAAC,OAAO,IAAI,wBAAwB,CAAC,CAAC;QAD1B,WAAM,GAAN,MAAM,CAAmB;QAE1C,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,uBAAwB,SAAQ,KAAK;IACzC,YAAmB,UAAkB,EAAS,aAAuB,EAAE,OAAgB;QACrF,KAAK,CAAC,OAAO,IAAI,iCAAiC,UAAU,GAAG,CAAC,CAAC;QADhD,eAAU,GAAV,UAAU,CAAQ;QAAS,kBAAa,GAAb,aAAa,CAAU;QAEnE,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF;AAED;;GAEG;AACH,8DAA8D;AAC9D,MAAM,OAAO,KAAK;IAwBhB,YAAoB,OAAsC;QAAtC,YAAO,GAAP,OAAO,CAA+B;QAvBlD,WAAM,GAA4B,EAAE,CAAC;QACrC,gBAAW,GAAiC,EAAE,CAAC;QAC/C,WAAM,GAA4B,EAAE,CAAC;QACrC,YAAO,GAA6B,EAAE,CAAC;QACvC,WAAM,GAAgC,EAAE,CAAC;QACzC,kBAAa,GAAgC,EAAE,CAAC;QAMhD,mBAAc,GAA4B,EAAE,CAAC;QAE7C,mBAAc,GAAmB,EAAE,CAAC;QAW1C,sCAAsC;QACtC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;QAED,iCAAiC;QACjC,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;YAC7D,MAAM,IAAI,KAAK,CACb,kEAAkE,CACnE,CAAC;QACJ,CAAC;QAED,yDAAyD;QACzD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;YAC9B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAClC,MAAM,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;QACvE,CAAC;QAED,iCAAiC;QACjC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;QAEhC,0DAA0D;QAC1D,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBAC1D,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;oBACtB,MAAM,IAAI,KAAK,CACb,mCAAmC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACtF,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,IAAI,CAAC,cAAc,GAAG,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;YACjD,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACjE,CAAC;QAED,yCAAyC;QACzC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;QAEvC,kCAAkC;QAClC,IAAI,CAAC,mBAAmB,GAAG,IAAI,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAEvE,4BAA4B;QAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,aAAa,CAAkB;YACvD,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;YAC5C,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,uBAAuB,EAAE;YACnD,kBAAkB,EAAE,IAAI,CAAC,mBAAmB;SAC7C,CAAC,CAAC;QAEH,gEAAgE;QAChE,IAAI,CAAC,cAAc,GAAG,IAAI,aAAa,CAAkB,IAAI,CAAC,CAAC;QAE/D,uCAAuC;QACvC,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,qCAAqC;gBACrC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;oBACjC,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;gBACpF,CAAC;gBAED,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;oBACnD,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;gBAC1E,CAAC;gBAED,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;oBACnD,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;gBAC1E,CAAC;gBAED,IAAI,CAAC,mBAAmB,GAAG,IAAI,kBAAkB,CAAQ,OAAO,CAAC,WAAW,CAAC,CAAC;gBAE9E,wDAAwD;gBACxD,IAAI,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;oBAC3C,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;wBACvD,MAAM,CAAC,KAAK,CACV,oDAAoD,EACpD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,CAAC;oBACJ,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5E,MAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE,YAAY,CAAC,CAAC;gBACxE,MAAM,IAAI,KAAK,CAAC,qCAAqC,YAAY,EAAE,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QAED,+DAA+D;QAC/D,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC7B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;gBACvC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC7B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,gDAAgD;QAChD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,IAAI,CAAC,aAAa,GAAG,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;gBACtC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;QACL,CAAC;QAED,4BAA4B;QAC5B,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YAC1B,IAAI,CAAC,cAAc,GAAG,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;QACrD,CAAC;QAED,8CAA8C;QAC9C,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAC/D,MAAM,iBAAiB,GAAsB;gBAC3C,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,SAAS;gBACvC,mBAAmB,EAAE,OAAO,CAAC,UAAU,CAAC,mBAAmB,IAAI,GAAG;gBAClE,mBAAmB,EAAE,OAAO,CAAC,UAAU,CAAC,mBAAmB,IAAI,CAAC;gBAChE,kBAAkB,EAAE,OAAO,CAAC,UAAU,CAAC,kBAAkB,IAAI,IAAI;gBACjE,QAAQ,EAAE,OAAO,CAAC,QAAQ;aAC3B,CAAC;YACF,gBAAgB,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;YACpD,IAAI,CAAC,kBAAkB,GAAG,iBAAiB,CAAC;YAC5C,MAAM,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;QACvE,CAAC;QAED,iFAAiF;QACjF,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,CAAQ,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;QAEzE,qDAAqD;QACrD,IAAI,CAAC,IAAI,GAAG,IAAI,WAAW,CAAkB,IAAI,CAAC,CAAC;QAEnD,qDAAqD;QACrD,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACpD,uDAAuD;YACvD,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC3D,4CAA4C;gBAC5C,IAAI,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzD,IAAI,CAAC,cAAc,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;oBAC1C,MAAM,CAAC,KAAK,CAAC,gDAAgD,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;gBACtF,CAAC;YACH,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACf,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,cAAc,CAAC,MAAwB;QAC7C,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CACb,mDAAmD;gBACnD,uFAAuF,CACxF,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CACb,wDAAwD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK;gBAChF,wEAAwE,CACzE,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;YAChE,MAAM,IAAI,KAAK,CACb,wEAAwE;gBACxE,kGAAkG,CACnG,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,IAAoB;QAC/B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,6CAA6C;YAC7C,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACnD,CAAC;QAED,MAAM,MAAM,GAAsB,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAsB,EAAE,CAAC;QAEvC,8DAA8D;QAC9D,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YAC5B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChD,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;oBACtC,MAAM,CAAC,IAAI,CAAC;wBACV,KAAK,EAAE,GAAG;wBACV,KAAK;wBACL,OAAO,EAAE,UAAU,GAAG,kCAAkC;wBACxD,UAAU,EAAE,cAAc,GAAG,EAAE;qBAChC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,qCAAqC;QACrC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClE,KAAK,MAAM,aAAa,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAClD,IAAI,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,aAA4B,CAAC,KAAK,SAAS,EAAE,CAAC;oBACjF,QAAQ,CAAC,IAAI,CAAC;wBACZ,KAAK,EAAE,aAAa;wBACpB,KAAK,EAAE,SAAS;wBAChB,OAAO,EAAE,mBAAmB,aAAa,cAAc;wBACvD,UAAU,EAAE,UAAU;qBACvB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;YAC1B,MAAM;YACN,QAAQ;SACT,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,kBAAkB,CAAC,KAAkB;QACnC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YAC9C,+CAA+C;YAC/C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,KAAe,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,qDAAqD;QACrD,IAAI,CAAC,8BAA8B,EAAE,CAAC;QACtC,OAAO,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB,CAAC,OAAuB;QAC/C,uBAAuB;QACvB,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACtB,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvE,MAAM,IAAI,mBAAmB,CAAC,UAAU,CAAC,MAAM,EAAE,2BAA2B,aAAa,EAAE,CAAC,CAAC;QAC/F,CAAC;QAED,sBAAsB;QACtB,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,eAAe,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3E,MAAM,CAAC,IAAI,CAAC,qCAAqC,eAAe,EAAE,CAAC,CAAC;QACtE,CAAC;QAED,kCAAkC;QAClC,MAAM,YAAY,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAChD,IAAI,CAAC,cAAc,GAAG;YACpB,GAAG,IAAI,CAAC,cAAc;YACtB,GAAG,OAAO;SACX,CAAC;QAEF,mDAAmD;QACnD,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC;YACrC,IAAI,CAAC,cAAc,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CACzD,IAAI,CAAC,cAAc,EACnB,YAAY,CACb,CAAC;QACJ,CAAC;QAED,yDAAyD;QACzD,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACnF,CAAC;QAED,uEAAuE;QACvE,MAAM,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;QACnD,IAAI,qBAAqB,EAAE,CAAC;YAC1B,qBAAqB,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YACxD,qBAAqB,CAAC,QAAS,CAAC,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC;QAC7D,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED,8EAA8E;IAC9E,iCAAiC;IACjC,8EAA8E;IAE9E;;OAEG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,IAAI,IAAI,CAAC,KAAa;QACpB,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,IAAI,WAAW,CAAC,KAAyB;QACvC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,IAAI,IAAI,CAAC,KAAyB;QAChC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ,CAAC,KAAqC;QAChD,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,IAAI,WAAW,CAAC,KAAqC;QACnD,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,IAAI,KAAK,CAAC,KAAc;QACtB,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;QAC3B,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ,CAAC,KAAiB;QAC5B,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,eAAe,CAAC,KAAK,CAAC;IAC/D,CAAC;IAED;;OAEG;IACH,IAAI,eAAe,CAAC,KAAsB;QACxC,IAAI,CAAC,OAAO,CAAC,eAAe,GAAG,KAAK,CAAC;IACvC,CAAC;IAED;;;OAGG;IACH,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,IAAI,EAAE,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB,CAAC,KAAa;QACjC,IAAI,CAAC,OAAO,CAAC,iBAAiB,GAAG,KAAK,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED;;;OAGG;IACH,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,IAAI,gBAAgB,CAAC,KAAa;QAChC,IAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,KAAK,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,IAAI,UAAU;QACZ,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACR,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,IAAI,KAAK,CAAC,KAAkC;QAC1C,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,IAAI,YAAY;QACd,OAAO,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,IAAI,YAAY,CAAC,KAAkC;QACjD,IAAI,CAAC,aAAa,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,IAAI,MAAM,CAAC,KAAmC;QAC5C,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,IAAI,aAAa;QACf,OAAO,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,IAAI,aAAa,CAAC,KAA8B;QAC9C,IAAI,CAAC,cAAc,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACH,IAAI,cAAc,CAAC,KAA+B;QAChD,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,CAAC;IAC3C,CAAC;IAED,8EAA8E;IAC9E,iEAAiE;IACjE,8EAA8E;IAE9E;;;OAGG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;;OAGG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;;OAGG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;;OAGG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;;OAGG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,gBAAgB;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACH,iBAAiB;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACH,iBAAiB,CAAC,OAAqB;QACrC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAC9B,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,CAAC;IAC3C,CAAC;IAED;;;OAGG;IACH,mBAAmB;QACjB,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACjC,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,CAAC;IAC3C,CAAC;IAED;;;OAGG;IACH,uBAAuB;QACrB,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QACpD,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAClD,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;QACzD,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,qBAAqB;QACnB,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,mBAAmB,KAAK,SAAS,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,oBAAoB;QAClB,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAED,8EAA8E;IAC9E,eAAe;IACf,8EAA8E;IAE9E;;OAEG;IACH,WAAW,CACT,OAAsC;QAEtC,qDAAqD;QACrD,IAAI,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC;YACvD,MAAM,qBAAqB,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,CACzD,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,OAAQ,CAAC,UAAW,CAAC,CACvD,CAAC;YACF,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrC,MAAM,IAAI,uBAAuB,CAC/B,OAAO,CAAC,KAAK,EACb,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EACzC,qCAAqC,OAAO,CAAC,KAAK,MAAM,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;oBAC5F,2DAA2D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC9G,CAAC;YACJ,CAAC;QACH,CAAC;QAED,qDAAqD;QACrD,IAAI,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC;YACvD,MAAM,qBAAqB,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,CACzD,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,OAAQ,CAAC,UAAW,CAAC,CACvD,CAAC;YACF,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrC,MAAM,IAAI,uBAAuB,CAC/B,OAAO,CAAC,KAAK,EACb,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EACzC,qCAAqC,OAAO,CAAC,KAAK,MAAM,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;oBAC5F,2DAA2D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC9G,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,KAAK,CAAkB,OAAO,EAAE,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,IAA2B;QACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,SAAqC;QACnD,MAAM,eAAe,GAAG;YACtB,GAAG,SAAS;YACZ,EAAE,EAAE,SAAS,CAAC,EAAE,IAAI,aAAa,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;YAC1D,OAAO,EAAE,SAAS,CAAC,OAAO,KAAK,KAAK,EAAE,kBAAkB;SACzD,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,8DAA8D;IAC9D,OAAO,CACL,IAAoC;QAEpC,8BAA8B;QAC9B,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QAED,mEAAmE;QACnE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,MAAM,CAAC,KAAK,CAAC,sCAAsC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,8DAA8D;IAC9D,UAAU,CAAgB,IAAoC;QAC5D,8BAA8B;QAC9B,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,MAAM,CAAC,KAAK,CAAC,kCAAkC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,8DAA8D;IAC9D,aAAa,CAAgB,KAAuC;QAClE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,mCAAmC;YACnC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACvC,MAAM,IAAI,KAAK,CAAC,qEAAqE,IAAI,EAAE,EAAE,IAAI,SAAS,GAAG,CAAC,CAAC;YACjH,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,sBAAsB,KAAK,CAAC,MAAM,QAAQ,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CAAC,OAA0B;QAC5C,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC;QAEtC,qCAAqC;QACrC,IAAI,CAAC,QAAQ,GAAG;YACd,GAAI,IAAI,CAAC,QAAoC;YAC7C,GAAI,OAAmC;SAC5B,CAAC;QAEd,oFAAoF;QACpF,IAAI,IAAI,CAAC,eAAe,EAAE,YAAY,EAAE,CAAC;YACvC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CACpC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,eAAgB,CAAC,YAAY,EAAE,EAAE,CACvD,CAAC;YACF,IACE,YAAY,EAAE,KAAK,EAAE,eAAe;gBACpC,eAAe,KAAK,SAAS,EAC7B,CAAC;gBACD,MAAM,YAAY,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;QAED,mDAAmD;QACnD,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,eAAe,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;YACzE,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QAC3E,CAAC;QAED,qDAAqD;QACrD,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IACvD,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,UAAU,CACtB,OAA4B,EAC5B,UAA0B;QAE1B,MAAM,iBAAiB,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAE9C,2BAA2B;QAC3B,IAAI,YAAY,GAAG;YACjB,GAAG,OAAO,CAAC,IAAI;YACf,GAAG,UAAU;SACd,CAAC;QAEF,sFAAsF;QACtF,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CACpC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,YAAY,EAAE,EAAE,CACzC,CAAC;YACF,IAAI,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;gBACtC,YAAY,GAAG,MAAM,YAAY,CAAC,gBAAgB,CAChD,YAAY,EACZ,iBAAiB,CAClB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,mDAAmD;QACnD,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC;YACrC,YAAY,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CACnD,YAAY,EACZ,iBAAiB,CAClB,CAAC,CAAC;QACL,CAAC;QAED,gDAAgD;QAChD,IAAI,CAAC,cAAc,GAAG,EAAE,GAAG,YAAY,EAAE,CAAC;QAE1C,yBAAyB;QACzB,OAAO,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,mEAAmE;QACnE,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;YACjC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;QAC9C,CAAC;QAED,sCAAsC;QACtC,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,CAAE,aAAa,CAAC,MAAsC;QAC1D,4BAA4B;QAC5B,KAAK,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,MAAsC;QAClD,4BAA4B;QAC5B,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;OAGG;IACH,gBAAgB;QACd,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,mBAAmB;QACjB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,kBAAkB,CACtB,OAAkB,EAClB,OAA6B,EAC7B,OAAiB;QAEjB,MAAM,eAAe,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3E,MAAM,SAAS,GAAG,wBAAwB,CAAC,eAAe,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAsC,EAAE,CAAC;QAEtD,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACzC,2BAA2B;YAC3B,IAAI,SAAS,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;gBAChC,SAAS;YACX,CAAC;YAED,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;gBACxB,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,iBAAiB,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBAEjF,wBAAwB;gBACxB,+DAA+D;gBAC/D,8CAA8C;gBAC9C,IAAI,CAAC,UAAU,CAAC,yBAAyB,IAAI,UAAU,CAAC,kBAAkB,EAAE,CAAC;oBAC3E,MAAM,SAAS,GAAG,UAAU,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;wBACtD,CAAC,CAAC,kBAAkB,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;wBAC/D,CAAC,CAAC,UAAU,CAAC,yBAAyB;4BACpC,CAAC,CAAC,0CAA0C;4BAC5C,CAAC,CAAC,+BAA+B,CAAC;oBAEtC,OAAO,CAAC,IAAI,CAAC;wBACX,SAAS;wBACT,SAAS;qBACV,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,mCAAmC;gBACnC,OAAO,CAAC,IAAI,CAAC;oBACX,SAAS;oBACT,SAAS,EAAE,+BAA+B;iBAC3C,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,sBAAsB,CAC1B,iBAIa,EACb,OAAiB,EACjB,IAAqB,EACrB,KAA8B,EAC9B,IAA4B;QAE5B,IAAI,CAAC,iBAAiB;YAAE,OAAO;QAE/B,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE,CAAC;YAC5C,qCAAqC;YACrC,MAAM,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,oDAAoD;YACpD,IAAI,IAAuC,CAAC;YAE5C,IAAI,OAAO,iBAAiB,KAAK,QAAQ,EAAE,CAAC;gBAC1C,yDAAyD;gBACzD,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YACnE,CAAC;iBAAM,CAAC;gBACN,oDAAoD;gBACpD,IAAI,iBAAiB,CAAC,EAAE,IAAI,OAAO,iBAAiB,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;oBAC5E,IAAI,GAAG,iBAAiB,CAAC;gBAC3B,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,KAAK,CAAC,iFAAiF,CAAC,CAAC;oBAChG,OAAO;gBACT,CAAC;YACH,CAAC;YAED,IAAI,IAAI,EAAE,CAAC;gBACT,gCAAgC;gBAChC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;oBACzC,IAAI;oBACJ,OAAO;oBACP,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC5C,UAAU,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC/C,OAAO,EAAE,EAAE,EAAE,qCAAqC;oBAClD,IAAI;iBACL,CAAC,CAAC;gBAEH,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpB,MAAM,CAAC,KAAK,CACV,sDAAsD,MAAM,CAAC,KAAK,EAAE,CACrE,CAAC;oBACF,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC5D,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CACT,gDAAgD,OAAO,iBAAiB,KAAK,QAAQ;oBACnF,CAAC,CAAC,iBAAiB;oBACnB,CAAC,CAAC,aACJ,EAAE,CACH,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,8BAA8B;QACpC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3C,IAAI,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvD,IAAI,CAAC,cAAc,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC;YACzC,MAAM,CAAC,KAAK,CAAC,gDAAgD,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,OAAO;QACL,qDAAqD;QACrD,IAAI,CAAC,8BAA8B,EAAE,CAAC;QAEtC,iDAAiD;QACjD,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,kEAAkE;YAClE,yCAAyC;YACzC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC3C,CAAC;QAED,+CAA+C;QAC/C,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACjC,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,aAAa,CACjB,cAAsB,EACtB,OAA6B,EAC7B,SAAqC,EACrC,OAAiB;QAEjB,MAAM,aAAa,GAAG,OAAO,IAAI,IAAI,CAAC,eAAe,CAAC;QAEtD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CACb,+FAA+F,CAChG,CAAC;QACJ,CAAC;QAED,mCAAmC;QACnC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CACnC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,cAAc,IAAI,CAAC,CAAC,KAAK,KAAK,cAAc,CAC7D,CAAC;QAEF,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,oBAAoB,cAAc,uBAAuB,IAAI,CAAC,OAAO;iBAClE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;iBACnB,IAAI,CAAC,IAAI,CAAC,EAAE,CAChB,CAAC;QACJ,CAAC;QACD,MAAM,eAAe,GAAG,qBAAqB,CAAC;YAC5C,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,OAAO;YACP,OAAO;YACP,IAAI,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI;SACjC,CAAC,CAAC;QACH,MAAM,iBAAiB,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QAEnE,MAAM,cAAc,GAAwB;YAC1C,GAAG,aAAa;YAChB,iBAAiB,EAAE;gBACjB,aAAa,EAAE,WAAW,CAAC,EAAE;gBAC7B,SAAS,EAAE,iBAAiB;gBAC5B,MAAM,EAAE,gBAAgB;aACzB;SACF,CAAC;QAEF,qCAAqC;QACrC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACrC,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QACxC,CAAC;QAED,MAAM,CAAC,KAAK,CACV,4CAA4C,WAAW,CAAC,KAAK,EAAE,CAChE,CAAC;QAEF,OAAO,cAAc,CAAC;IACxB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI,CACR,OAAgB,EAChB,OAAmC;QAEnC,uCAAuC;QACvC,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,CAAE,MAAM,CACZ,OAAgB,EAChB,OAAiC;QAEjC,sEAAsE;QACtE,KAAK,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE;YACzC,OAAO,EAAE,OAAO,EAAE,OAAO;YACzB,eAAe,EAAE,OAAO,EAAE,eAAe;YACzC,MAAM,EAAE,OAAO,EAAE,MAAM;SACxB,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"Agent.js","sourceRoot":"","sources":["../../src/core/Agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,107 @@
1
+ /**
2
+ * Auto-step chain executor.
3
+ *
4
+ * Walks consecutive `auto: true` steps in a single turn without making LLM calls.
5
+ * Each auto-step runs its pre-LLM hooks (onEnter, prepare), evaluates skipIf/requires,
6
+ * applies state writes, resolves branches, and advances to the next step.
7
+ *
8
+ * The chain terminates when:
9
+ * - An interactive step (auto !== true) is reached → returned as `resolvedStep`
10
+ * - A `prepare` returns `{ halt: true, reply? }` → turn ends with verbatim reply
11
+ * - A position-changing directive (goTo, goToStep, complete) is returned
12
+ * - The last auto-step has no successor → flow is complete
13
+ * - The chain exceeds `maxAutoStepsPerTurn` → throws FlowConfigurationError
14
+ *
15
+ * Implements Algorithm 1 from `.kiro/specs/auto-steps/design.md`.
16
+ */
17
+ import type { SessionState } from "../types";
18
+ import type { Event } from "../types/history";
19
+ import { Step } from "./Step";
20
+ import { Flow } from "./Flow";
21
+ import type { StoppedReason } from "../types/flow";
22
+ /**
23
+ * The directive-like object that `prepare` may return on auto-steps.
24
+ * This is a structural subset of the full PreDirective that v2 will formalize.
25
+ */
26
+ export interface AutoStepPrepareResult {
27
+ dataUpdate?: Record<string, unknown>;
28
+ contextUpdate?: Record<string, unknown>;
29
+ halt?: boolean;
30
+ reply?: string;
31
+ /** Position-changing: jump to a step within the current flow. */
32
+ goToStep?: string;
33
+ /** Position-changing: jump to another flow. */
34
+ goTo?: string;
35
+ /** Position-changing: mark the flow as complete. */
36
+ complete?: boolean;
37
+ }
38
+ /**
39
+ * Result of running the auto-chain.
40
+ */
41
+ export interface AutoChainResult<TContext = unknown, TData = unknown> {
42
+ /** The interactive step to hand off to the LLM path (undefined if chain ended without one). */
43
+ resolvedStep?: Step<TContext, TData>;
44
+ /** The merged directive from the halting auto-step's prepare (only set when stoppedReason = 'halt'). */
45
+ mergedDirective?: AutoStepPrepareResult;
46
+ /** Why the chain stopped, if it didn't reach an interactive step normally. */
47
+ stoppedReason?: StoppedReason;
48
+ /** Updated session after all auto-step state writes. */
49
+ session: SessionState<TData>;
50
+ }
51
+ /**
52
+ * Configuration for AutoChainExecutor.
53
+ */
54
+ export interface AutoChainExecutorOptions {
55
+ /** Maximum number of auto-steps walked in a single turn before throwing. */
56
+ maxAutoStepsPerTurn: number;
57
+ }
58
+ /**
59
+ * Parameters for a single chain run.
60
+ */
61
+ export interface AutoChainRunParams<TContext, TData> {
62
+ session: SessionState<TData>;
63
+ context: TContext;
64
+ flow: Flow<TContext, TData>;
65
+ /** Conversation history (used for branch predicate context). Optional. */
66
+ history?: Event[];
67
+ }
68
+ /**
69
+ * Executes the auto-step chain for a single turn.
70
+ *
71
+ * Algorithm 1 from design.md — walks while `currentStep.auto === true`,
72
+ * executing skipIf → requires → onEnter/prepare → state writes →
73
+ * halt check → position directives → branches → linear advance.
74
+ */
75
+ export declare class AutoChainExecutor<TContext = unknown, TData = unknown> {
76
+ private readonly options;
77
+ constructor(options: AutoChainExecutorOptions);
78
+ /**
79
+ * Run the auto-step chain starting from the current step on the session.
80
+ */
81
+ run(params: AutoChainRunParams<TContext, TData>): Promise<AutoChainResult<TContext, TData>>;
82
+ /**
83
+ * Run onEnter and prepare hooks for an auto-step, collecting any
84
+ * PreDirective-like return values.
85
+ */
86
+ private runStepHooks;
87
+ /**
88
+ * Merge two directive-like objects. Later values override earlier ones
89
+ * for scalar fields; object fields (dataUpdate, contextUpdate) are deep-merged.
90
+ */
91
+ private mergeDirectives;
92
+ /**
93
+ * Evaluate branches on an auto-step. Returns the target step/flow id
94
+ * if a branch matches, or undefined if no branch matched.
95
+ *
96
+ * This is a simplified evaluator for code-only (`if`) branches.
97
+ * AI-evaluated (`when`) branches are not supported in the auto-step
98
+ * context (no LLM call). If a branch entry has only `when`, it is skipped.
99
+ */
100
+ private evaluateBranches;
101
+ /**
102
+ * Resolve a branch entry's `then` value to a string target.
103
+ * Handles both string targets and Directive objects.
104
+ */
105
+ private resolveBranchThen;
106
+ }
107
+ //# sourceMappingURL=AutoChainExecutor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AutoChainExecutor.d.ts","sourceRoot":"","sources":["../../src/core/AutoChainExecutor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAA0B,IAAI,EAAE,MAAM,QAAQ,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAG9B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAmCD;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,QAAQ,GAAG,OAAO,EAAE,KAAK,GAAG,OAAO;IAChE,+FAA+F;IAC/F,YAAY,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACrC,wGAAwG;IACxG,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACxC,8EAA8E;IAC9E,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,wDAAwD;IACxD,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACrC,4EAA4E;IAC5E,mBAAmB,EAAE,MAAM,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,QAAQ,EAAE,KAAK;IAC/C,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IAC7B,OAAO,EAAE,QAAQ,CAAC;IAClB,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC5B,0EAA0E;IAC1E,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC;CACrB;AAED;;;;;;GAMG;AACH,qBAAa,iBAAiB,CAAC,QAAQ,GAAG,OAAO,EAAE,KAAK,GAAG,OAAO;IAClD,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,wBAAwB;IAE9D;;OAEG;IACG,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IA2KjG;;;OAGG;YACW,YAAY;IA2C1B;;;OAGG;IACH,OAAO,CAAC,eAAe;IAoBvB;;;;;;;OAOG;YACW,gBAAgB;IAqD9B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;CAW5B"}
@@ -0,0 +1,293 @@
1
+ /**
2
+ * Auto-step chain executor.
3
+ *
4
+ * Walks consecutive `auto: true` steps in a single turn without making LLM calls.
5
+ * Each auto-step runs its pre-LLM hooks (onEnter, prepare), evaluates skipIf/requires,
6
+ * applies state writes, resolves branches, and advances to the next step.
7
+ *
8
+ * The chain terminates when:
9
+ * - An interactive step (auto !== true) is reached → returned as `resolvedStep`
10
+ * - A `prepare` returns `{ halt: true, reply? }` → turn ends with verbatim reply
11
+ * - A position-changing directive (goTo, goToStep, complete) is returned
12
+ * - The last auto-step has no successor → flow is complete
13
+ * - The chain exceeds `maxAutoStepsPerTurn` → throws FlowConfigurationError
14
+ *
15
+ * Implements Algorithm 1 from `.kiro/specs/auto-steps/design.md`.
16
+ */
17
+ import { FlowConfigurationError } from "./Step";
18
+ import { enterStep, mergeCollected, logger } from "../utils";
19
+ import { createTemplateContext } from "../utils/template";
20
+ /**
21
+ * Executes the auto-step chain for a single turn.
22
+ *
23
+ * Algorithm 1 from design.md — walks while `currentStep.auto === true`,
24
+ * executing skipIf → requires → onEnter/prepare → state writes →
25
+ * halt check → position directives → branches → linear advance.
26
+ */
27
+ export class AutoChainExecutor {
28
+ constructor(options) {
29
+ this.options = options;
30
+ }
31
+ /**
32
+ * Run the auto-step chain starting from the current step on the session.
33
+ */
34
+ async run(params) {
35
+ const { context, flow, history = [] } = params;
36
+ const { maxAutoStepsPerTurn } = this.options;
37
+ let { session } = params;
38
+ const visited = [];
39
+ while (true) {
40
+ // Resolve the current step from session
41
+ const currentStepId = session.currentStep?.id;
42
+ if (!currentStepId) {
43
+ // No current step — nothing to walk. Return undefined resolvedStep.
44
+ return { session };
45
+ }
46
+ const step = flow.getStep(currentStepId);
47
+ if (!step) {
48
+ // Step not found in flow — shouldn't happen, but bail gracefully.
49
+ return { session };
50
+ }
51
+ // If the step is not auto, hand off to the interactive path
52
+ if (!step.auto) {
53
+ return { resolvedStep: step, session };
54
+ }
55
+ // Track visited steps for cap/cycle detection
56
+ visited.push(step.id);
57
+ if (visited.length > maxAutoStepsPerTurn) {
58
+ throw new FlowConfigurationError(`[FlowConfigurationError] Auto-step chain exceeded limit: visited ${visited.length} steps which exceeds maxAutoStepsPerTurn (${maxAutoStepsPerTurn}). ` +
59
+ `Break the cycle or increase maxAutoStepsPerTurn. Visited: ${visited.join(' → ')}.`);
60
+ }
61
+ logger.debug(`[AutoChainExecutor] Processing auto-step: ${step.id} (${visited.length}/${maxAutoStepsPerTurn})`);
62
+ // STEP 1: skip evaluation (code-only predicates, OR semantics)
63
+ if (step.skip) {
64
+ const templateContext = createTemplateContext({
65
+ context,
66
+ data: session.data,
67
+ session,
68
+ history,
69
+ });
70
+ const skipResult = await step.evaluateSkip(templateContext);
71
+ if (skipResult.shouldSkip) {
72
+ logger.debug(`[AutoChainExecutor] Skipping auto-step ${step.id} due to skip condition`);
73
+ const nextSteps = step.getTransitions();
74
+ if (nextSteps.length === 0) {
75
+ // Last step was skipped and has no successor → flow complete
76
+ return { stoppedReason: 'last_step', session };
77
+ }
78
+ session = enterStep(session, nextSteps[0].id, nextSteps[0].description);
79
+ continue;
80
+ }
81
+ }
82
+ // STEP 2: requires assertion
83
+ if (step.requires && step.requires.length > 0) {
84
+ const sessionData = (session.data || {});
85
+ const missing = step.requires.filter(field => sessionData[String(field)] === undefined);
86
+ if (missing.length > 0) {
87
+ throw new FlowConfigurationError(`[FlowConfigurationError] Auto-step "${step.id}" missing required fields: fields [${missing.join(', ')}] must be populated before this step runs. ` +
88
+ `Ensure a preceding step or hook populates these fields.`);
89
+ }
90
+ }
91
+ // STEP 3: Run pre-LLM hooks (onEnter, prepare) and collect directives
92
+ const merged = await this.runStepHooks(step, session, context);
93
+ // Apply state writes immediately so subsequent steps see them
94
+ if (merged) {
95
+ if (merged.dataUpdate && Object.keys(merged.dataUpdate).length > 0) {
96
+ session = mergeCollected(session, merged.dataUpdate);
97
+ logger.debug(`[AutoChainExecutor] Applied dataUpdate from step ${step.id}`);
98
+ }
99
+ if (merged.contextUpdate && Object.keys(merged.contextUpdate).length > 0) {
100
+ // contextUpdate is reserved for future agent-level application.
101
+ // The caller can read mergedDirective.contextUpdate and apply it externally.
102
+ logger.debug(`[AutoChainExecutor] contextUpdate from step ${step.id} will be applied by caller`);
103
+ }
104
+ // STEP 4: halt short-circuit
105
+ if (merged.halt) {
106
+ logger.debug(`[AutoChainExecutor] Halt directive from step ${step.id}`);
107
+ return {
108
+ resolvedStep: step,
109
+ mergedDirective: merged,
110
+ stoppedReason: 'halt',
111
+ session,
112
+ };
113
+ }
114
+ // STEP 5: position-changing directive (goToStep, goTo, complete)
115
+ if (merged.goToStep) {
116
+ const targetStep = flow.getStep(merged.goToStep);
117
+ if (!targetStep) {
118
+ throw new FlowConfigurationError(`[FlowConfigurationError] Auto-step "${step.id}" goToStep targets unknown step: "${merged.goToStep}" does not exist in the current flow. ` +
119
+ `Check the step id or use goTo to target a different flow.`);
120
+ }
121
+ session = enterStep(session, targetStep.id, targetStep.description);
122
+ logger.debug(`[AutoChainExecutor] Position directive goToStep → ${targetStep.id}`);
123
+ continue; // Re-enter loop at the new step (which may itself be auto)
124
+ }
125
+ if (merged.goTo) {
126
+ // goTo targets a flow — return to pipeline for cross-flow handling
127
+ return {
128
+ resolvedStep: step,
129
+ mergedDirective: merged,
130
+ stoppedReason: 'goto',
131
+ session,
132
+ };
133
+ }
134
+ if (merged.complete) {
135
+ return {
136
+ resolvedStep: step,
137
+ mergedDirective: merged,
138
+ stoppedReason: 'completed',
139
+ session,
140
+ };
141
+ }
142
+ }
143
+ // STEP 6: branches resolution (if step has branches)
144
+ const stepWithBranches = step;
145
+ if (stepWithBranches.branches && Array.isArray(stepWithBranches.branches) && stepWithBranches.branches.length > 0) {
146
+ const branchTarget = await this.evaluateBranches(stepWithBranches.branches, session, context, history);
147
+ if (branchTarget) {
148
+ // Check if it resolves to a step in this flow
149
+ const targetStep = flow.getStep(branchTarget);
150
+ if (targetStep) {
151
+ session = enterStep(session, targetStep.id, targetStep.description);
152
+ logger.debug(`[AutoChainExecutor] Branch resolved → ${targetStep.id}`);
153
+ continue;
154
+ }
155
+ // Not a step in this flow — treat as a flow id, return to pipeline
156
+ return {
157
+ resolvedStep: step,
158
+ mergedDirective: { goTo: branchTarget },
159
+ stoppedReason: 'goto',
160
+ session,
161
+ };
162
+ }
163
+ // No branch matched — fall through to linear advance
164
+ }
165
+ // STEP 7: linear advance
166
+ const nextSteps = step.getTransitions();
167
+ if (nextSteps.length === 0) {
168
+ // Auto-step is the last step → flow completes
169
+ logger.debug(`[AutoChainExecutor] Auto-step ${step.id} is terminal — flow complete`);
170
+ return { stoppedReason: 'last_step', session };
171
+ }
172
+ // Take the first transition (linear advance)
173
+ session = enterStep(session, nextSteps[0].id, nextSteps[0].description);
174
+ }
175
+ }
176
+ /**
177
+ * Run onEnter and prepare hooks for an auto-step, collecting any
178
+ * PreDirective-like return values.
179
+ */
180
+ async runStepHooks(step, session, context) {
181
+ let merged;
182
+ // onEnter (future hook — not yet in StepOptions, but handle if present)
183
+ const stepWithHooks = step;
184
+ if (typeof stepWithHooks.onEnter === 'function') {
185
+ const onEnterResult = await stepWithHooks.onEnter(context, session.data);
186
+ if (onEnterResult && typeof onEnterResult === 'object') {
187
+ merged = this.mergeDirectives(merged, onEnterResult);
188
+ }
189
+ }
190
+ // prepare hook — for auto-steps, prepare may return a PreDirective-like object
191
+ if (step.prepare) {
192
+ if (typeof step.prepare === 'function') {
193
+ const prepareResult = await step.prepare(context, session.data);
194
+ // prepare may return void or a directive-like object
195
+ if (prepareResult && typeof prepareResult === 'object') {
196
+ merged = this.mergeDirectives(merged, prepareResult);
197
+ }
198
+ }
199
+ else {
200
+ // Tool reference (string or Tool object) — for auto-steps, tool-based
201
+ // prepare cannot return directives. Log a warning.
202
+ logger.warn(`[FlowConfigurationError] Auto-step "${step.id}" has a tool-based prepare: tool-based prepare on auto-steps cannot return directives. ` +
203
+ `Use a function-based prepare hook instead.`);
204
+ }
205
+ }
206
+ return merged;
207
+ }
208
+ /**
209
+ * Merge two directive-like objects. Later values override earlier ones
210
+ * for scalar fields; object fields (dataUpdate, contextUpdate) are deep-merged.
211
+ */
212
+ mergeDirectives(base, incoming) {
213
+ if (!base)
214
+ return { ...incoming };
215
+ return {
216
+ dataUpdate: incoming.dataUpdate
217
+ ? { ...(base.dataUpdate || {}), ...incoming.dataUpdate }
218
+ : base.dataUpdate,
219
+ contextUpdate: incoming.contextUpdate
220
+ ? { ...(base.contextUpdate || {}), ...incoming.contextUpdate }
221
+ : base.contextUpdate,
222
+ halt: incoming.halt ?? base.halt,
223
+ reply: incoming.reply ?? base.reply,
224
+ goTo: incoming.goTo ?? base.goTo,
225
+ goToStep: incoming.goToStep ?? base.goToStep,
226
+ complete: incoming.complete ?? base.complete,
227
+ };
228
+ }
229
+ /**
230
+ * Evaluate branches on an auto-step. Returns the target step/flow id
231
+ * if a branch matches, or undefined if no branch matched.
232
+ *
233
+ * This is a simplified evaluator for code-only (`if`) branches.
234
+ * AI-evaluated (`when`) branches are not supported in the auto-step
235
+ * context (no LLM call). If a branch entry has only `when`, it is skipped.
236
+ */
237
+ async evaluateBranches(branches, session, context, history) {
238
+ for (let i = 0; i < branches.length; i++) {
239
+ const entry = branches[i];
240
+ // Unconditional entry (no `if` and no `when`) — must be last, always matches
241
+ if (!entry.if && !entry.when) {
242
+ return this.resolveBranchThen(entry.then);
243
+ }
244
+ // Code predicate evaluation
245
+ if (entry.if) {
246
+ const predicates = Array.isArray(entry.if) ? entry.if : [entry.if];
247
+ const predicateContext = { data: session.data, context, session, history };
248
+ let allPassed = true;
249
+ for (const predicate of predicates) {
250
+ if (typeof predicate === 'function') {
251
+ const result = await predicate(predicateContext);
252
+ if (!result) {
253
+ allPassed = false;
254
+ break;
255
+ }
256
+ }
257
+ }
258
+ if (!allPassed)
259
+ continue;
260
+ // If entry also has `when`, skip it in auto-step context (no LLM available)
261
+ if (entry.when) {
262
+ logger.debug(`[AutoChainExecutor] Branch entry has 'when' condition — ` +
263
+ `skipping AI evaluation in auto-step context`);
264
+ continue;
265
+ }
266
+ return this.resolveBranchThen(entry.then);
267
+ }
268
+ // Entry has only `when` (AI condition) — skip in auto-step context
269
+ if (entry.when && !entry.if) {
270
+ continue;
271
+ }
272
+ }
273
+ return undefined;
274
+ }
275
+ /**
276
+ * Resolve a branch entry's `then` value to a string target.
277
+ * Handles both string targets and Directive objects.
278
+ */
279
+ resolveBranchThen(then) {
280
+ if (typeof then === 'string') {
281
+ return then;
282
+ }
283
+ // Directive object — extract position field
284
+ if (then && typeof then === 'object') {
285
+ if (then.goToStep)
286
+ return then.goToStep;
287
+ if (then.goTo)
288
+ return then.goTo;
289
+ }
290
+ return undefined;
291
+ }
292
+ }
293
+ //# sourceMappingURL=AutoChainExecutor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AutoChainExecutor.js","sourceRoot":"","sources":["../../src/core/AutoChainExecutor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Branch Evaluator — Resolution Algorithm (Algorithm 2 from design.md)
3
+ *
4
+ * Pure function that evaluates a BranchMap in declaration order.
5
+ * Code-first evaluation: `if` predicates run before `when` (AI) conditions
6
+ * to save tokens. First matching entry wins.
7
+ *
8
+ * @module BranchEvaluator
9
+ */
10
+ import type { BranchMap, BranchPredicateContext, Directive } from "../types/flow";
11
+ import type { AiProvider } from "../types/ai";
12
+ import type { Event } from "../types/history";
13
+ /**
14
+ * The AI condition evaluator function signature.
15
+ * Accepts an array of condition strings (AND semantics) and returns
16
+ * whether all conditions are satisfied.
17
+ *
18
+ * This is the same evaluation mechanism used by `step.when` — condition
19
+ * strings are evaluated by the AI provider against the conversation context.
20
+ */
21
+ export type AiConditionEvaluator = (conditions: string[]) => Promise<boolean>;
22
+ /**
23
+ * Creates an `AiConditionEvaluator` bound to a provider and conversation context.
24
+ *
25
+ * Reuses the same evaluation pattern as `step.when` array forms: condition
26
+ * strings are passed to the AI provider for evaluation against the conversation
27
+ * history. No new prompt scaffolding — the provider evaluates whether the
28
+ * conditions are met based on the conversation so far.
29
+ *
30
+ * String form (`when: "some condition"`) is normalized to a single-element
31
+ * array by the caller (`evaluateBranches`) for uniformity before reaching
32
+ * this function.
33
+ *
34
+ * @param provider - The AI provider to use for condition evaluation
35
+ * @param history - Conversation history (events) for context
36
+ * @param context - Agent-level context
37
+ * @returns An `AiConditionEvaluator` function
38
+ */
39
+ export declare function createAiConditionEvaluator<TContext = unknown>(provider: AiProvider, history: Event[], context: TContext): AiConditionEvaluator;
40
+ /**
41
+ * Evaluates a BranchMap in declaration order, returning the first matching
42
+ * entry's `then` value, or `undefined` if no entry matches.
43
+ *
44
+ * Resolution rules per entry:
45
+ * 1. Unconditional (no `when`, no `if`) → return `then` immediately.
46
+ * 2. `if` first: normalize to array, await each predicate, short-circuit on first falsy.
47
+ * 3. `when` second: only if `if` passed (or absent); call evaluateAi with condition strings.
48
+ * 4. Both passed (or only one set and it passed) → return `then`.
49
+ *
50
+ * Errors in predicates or AI evaluation are caught, logged at ERROR, and
51
+ * cause `evaluateBranches` to return `undefined` (graceful degradation).
52
+ */
53
+ export declare function evaluateBranches<TContext = unknown, TData = unknown>(branches: BranchMap<TContext, TData>, ctx: BranchPredicateContext<TContext, TData>, evaluateAi: AiConditionEvaluator): Promise<string | Directive<TContext, TData> | undefined>;
54
+ //# sourceMappingURL=BranchEvaluator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BranchEvaluator.d.ts","sourceRoot":"","sources":["../../src/core/BranchEvaluator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACR,SAAS,EAET,sBAAsB,EACtB,SAAS,EACZ,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAG9C;;;;;;;GAOG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAE9E;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,GAAG,OAAO,EACzD,QAAQ,EAAE,UAAU,EACpB,OAAO,EAAE,KAAK,EAAE,EAChB,OAAO,EAAE,QAAQ,GAClB,oBAAoB,CAyCtB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,gBAAgB,CAAC,QAAQ,GAAG,OAAO,EAAE,KAAK,GAAG,OAAO,EACtE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,EACpC,GAAG,EAAE,sBAAsB,CAAC,QAAQ,EAAE,KAAK,CAAC,EAC5C,UAAU,EAAE,oBAAoB,GACjC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,SAAS,CAAC,CAuD1D"}