@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,14 +1,15 @@
1
1
  /**
2
2
  * Core Agent implementation
3
3
  */
4
- import type { AgentOptions, Term, Guideline, GuidelineMatch, Tool, Event, RouteOptions, SessionState, Template, AgentResponseStreamChunk, AgentResponse, StructuredSchema, ValidationResult, AiProvider, CompactionOptions } from "../types";
5
- import { CompositionMode } from "../types";
4
+ import type { AgentOptions, Term, Instruction, Tool, FlowOptions, SessionState, Template, AgentResponseStreamChunk, AgentResponse, StructuredSchema, ValidationResult, AiProvider, CompactionOptions, Directive } from "../types";
5
+ import type { Signal } from "../types/signals";
6
+ import { SignalProcessor } from "./SignalProcessor";
6
7
  import type { StreamOptions, GenerateOptions, RespondParams } from "./ResponseModal";
7
- import { Route } from "./Route";
8
+ import { Flow } from "./Flow";
8
9
  import { Step } from "./Step";
9
10
  import { PersistenceManager } from "./PersistenceManager";
10
11
  import { SessionManager } from "./SessionManager";
11
- import { RoutingEngine } from "./RoutingEngine";
12
+ import { FlowRouter } from "./FlowRouter";
12
13
  import { PromptSectionCache } from "./PromptSectionCache";
13
14
  import { ToolManager } from "./ToolManager";
14
15
  /**
@@ -17,11 +18,9 @@ import { ToolManager } from "./ToolManager";
17
18
  export declare class Agent<TContext = any, TData = any> {
18
19
  private options;
19
20
  private _terms;
20
- private _guidelines;
21
+ private _instructions;
21
22
  private _tools;
22
- private _routes;
23
- private _rules;
24
- private _prohibitions;
23
+ private _flows;
25
24
  private _context;
26
25
  private _persistenceManager;
27
26
  private _routingEngine;
@@ -32,6 +31,17 @@ export declare class Agent<TContext = any, TData = any> {
32
31
  private _collectedData;
33
32
  private _compactionOptions?;
34
33
  private _promptSectionCache;
34
+ /** Signals: typed event detectors that run around the LLM turn. */
35
+ private _signals;
36
+ /**
37
+ * Signal processor instance. Undefined when no signals are configured.
38
+ * Constructed only when `options.signals` is non-empty (Requirement 2.3).
39
+ */
40
+ signalProcessor: SignalProcessor<TContext, TData> | undefined;
41
+ /** Maximum consecutive auto-steps allowed in a single turn before throwing. */
42
+ readonly maxAutoStepsPerTurn: number;
43
+ /** Maximum chained directives allowed in a single turn before throwing. */
44
+ readonly maxDirectiveChain: number;
35
45
  /** Public session manager for easy session management */
36
46
  session: SessionManager<TData>;
37
47
  /** Public tool manager for simplified tool creation and management */
@@ -42,6 +52,29 @@ export declare class Agent<TContext = any, TData = any> {
42
52
  * @private
43
53
  */
44
54
  private validateSchema;
55
+ /**
56
+ * Walk every flow's steps and resolve deferred string `then` values in branches
57
+ * against the agent's flow registry. Strings that match neither a local step id
58
+ * nor any flow id/title throw FlowConfigurationError.
59
+ * @private
60
+ */
61
+ private validateBranchReferences;
62
+ /**
63
+ * Validate branch `then` string references for a single flow against the agent's
64
+ * flow registry. Throws FlowConfigurationError for unresolved references.
65
+ * @private
66
+ */
67
+ private validateFlowBranchReferences;
68
+ /**
69
+ * Validate that every step's `collect` fields in a flow reference valid keys
70
+ * from the agent-level schema. Throws FlowConfigurationError at construction
71
+ * time if any collect field is not a valid schema key.
72
+ *
73
+ * This enforces Requirement 14.5: generic inference is preserved AND every
74
+ * `collect` field reference is a valid key of the inferred TData.
75
+ * @private
76
+ */
77
+ private validateFlowCollectFields;
45
78
  /**
46
79
  * Validate data against the agent-level schema
47
80
  */
@@ -69,13 +102,13 @@ export declare class Agent<TContext = any, TData = any> {
69
102
  */
70
103
  set name(value: string);
71
104
  /**
72
- * Get agent description
105
+ * Get agent persona
73
106
  */
74
- get description(): string | undefined;
107
+ get persona(): Template<TContext> | undefined;
75
108
  /**
76
- * Set agent description
109
+ * Set agent persona
77
110
  */
78
- set description(value: string | undefined);
111
+ set persona(value: Template<TContext> | undefined);
79
112
  /**
80
113
  * Get agent goal
81
114
  */
@@ -84,22 +117,6 @@ export declare class Agent<TContext = any, TData = any> {
84
117
  * Set agent goal
85
118
  */
86
119
  set goal(value: string | undefined);
87
- /**
88
- * Get agent identity
89
- */
90
- get identity(): Template<TContext> | undefined;
91
- /**
92
- * Set agent identity
93
- */
94
- set identity(value: Template<TContext> | undefined);
95
- /**
96
- * Get agent personality
97
- */
98
- get personality(): Template<TContext> | undefined;
99
- /**
100
- * Set agent personality
101
- */
102
- set personality(value: Template<TContext> | undefined);
103
120
  /**
104
121
  * Get whether debug mode is enabled
105
122
  */
@@ -117,67 +134,34 @@ export declare class Agent<TContext = any, TData = any> {
117
134
  */
118
135
  set provider(value: AiProvider);
119
136
  /**
120
- * Get the composition mode
121
- */
122
- get compositionMode(): CompositionMode;
123
- /**
124
- * Set the composition mode
125
- */
126
- set compositionMode(value: CompositionMode);
127
- /**
128
- * Get the route switch margin
137
+ * Get the flow switch margin
129
138
  * @default 15
130
139
  */
131
- get routeSwitchMargin(): number;
140
+ get flowSwitchMargin(): number;
132
141
  /**
133
- * Set the route switch margin
142
+ * Set the flow switch margin
134
143
  */
135
- set routeSwitchMargin(value: number);
144
+ set flowSwitchMargin(value: number);
136
145
  /**
137
146
  * Get the prompt section cache instance
138
147
  */
139
148
  get promptSectionCache(): PromptSectionCache;
140
- /**
141
- * Get the maximum steps per batch
142
- * @default 1
143
- */
144
- get maxStepsPerBatch(): number;
145
- /**
146
- * Set the maximum steps per batch
147
- */
148
- set maxStepsPerBatch(value: number);
149
149
  /**
150
150
  * Get all terms
151
151
  */
152
152
  get terms(): Term<TContext, TData>[];
153
153
  /**
154
- * Get all guidelines
154
+ * Get all instructions
155
155
  */
156
- get guidelines(): Guideline<TContext, TData>[];
156
+ get instructions(): Instruction<TContext, TData>[];
157
157
  /**
158
158
  * Get all tools
159
159
  */
160
160
  get tools(): Tool<TContext, TData>[];
161
161
  /**
162
- * Get all routes
163
- */
164
- get routes(): Route<TContext, TData>[];
165
- /**
166
- * Get agent-level rules
162
+ * Get all flows
167
163
  */
168
- get rules(): Template<TContext, TData>[];
169
- /**
170
- * Set agent-level rules
171
- */
172
- set rules(value: Template<TContext, TData>[]);
173
- /**
174
- * Get agent-level prohibitions
175
- */
176
- get prohibitions(): Template<TContext, TData>[];
177
- /**
178
- * Set agent-level prohibitions
179
- */
180
- set prohibitions(value: Template<TContext, TData>[]);
164
+ get flows(): Flow<TContext, TData>[];
181
165
  /**
182
166
  * Get current schema
183
167
  */
@@ -186,6 +170,10 @@ export declare class Agent<TContext = any, TData = any> {
186
170
  * Set schema (validates structure)
187
171
  */
188
172
  set schema(value: StructuredSchema | undefined);
173
+ /**
174
+ * Get the configured signals.
175
+ */
176
+ get signals(): Signal<TContext, TData, any>[];
189
177
  /**
190
178
  * Get the agent's knowledge base
191
179
  */
@@ -203,67 +191,27 @@ export declare class Agent<TContext = any, TData = any> {
203
191
  * Set to undefined to clear the current session
204
192
  */
205
193
  set currentSession(value: SessionState | undefined);
194
+ /**
195
+ * Get all flows
196
+ */
197
+ getFlows(): Flow<TContext, TData>[];
206
198
  /**
207
199
  * Get all terms
208
- * @deprecated Use `agent.terms` instead
209
200
  */
210
201
  getTerms(): Term<TContext, TData>[];
211
202
  /**
212
203
  * Get all tools
213
- * @deprecated Use `agent.tools` instead
214
204
  */
215
205
  getTools(): Tool<TContext, TData>[];
216
206
  /**
217
- * Get all guidelines
218
- * @deprecated Use `agent.guidelines` instead
207
+ * Get all instructions
219
208
  */
220
- getGuidelines(): Guideline<TContext, TData>[];
209
+ getInstructions(): Instruction<TContext, TData>[];
221
210
  /**
222
- * Get all routes
223
- * @deprecated Use `agent.routes` instead
211
+ * Invalidate flow-dependent prompt cache sections.
212
+ * Called automatically when the active flow changes.
224
213
  */
225
- getRoutes(): Route<TContext, TData>[];
226
- /**
227
- * Get agent-level rules
228
- * @deprecated Use `agent.rules` instead
229
- */
230
- getRules(): Template<TContext, TData>[];
231
- /**
232
- * Get agent-level prohibitions
233
- * @deprecated Use `agent.prohibitions` instead
234
- */
235
- getProhibitions(): Template<TContext, TData>[];
236
- /**
237
- * Get current schema
238
- * @deprecated Use `agent.schema` instead
239
- */
240
- getSchema(): StructuredSchema | undefined;
241
- /**
242
- * Get the agent's knowledge base
243
- * @deprecated Use `agent.knowledgeBase` instead
244
- */
245
- getKnowledgeBase(): Record<string, unknown>;
246
- /**
247
- * Get the current session (if set)
248
- * @deprecated Use `agent.currentSession` instead
249
- */
250
- getCurrentSession(): SessionState | undefined;
251
- /**
252
- * Set the current session for convenience methods
253
- * @deprecated Use `agent.currentSession = session` instead
254
- * @param session - Session step to use for subsequent calls
255
- */
256
- setCurrentSession(session: SessionState): void;
257
- /**
258
- * Clear the current session
259
- * @deprecated Use `agent.currentSession = undefined` instead
260
- */
261
- clearCurrentSession(): void;
262
- /**
263
- * Invalidate route-dependent prompt cache sections.
264
- * Called automatically when the active route changes.
265
- */
266
- invalidateRouteSections(): void;
214
+ invalidateFlowSections(): void;
267
215
  /**
268
216
  * Get the persistence manager (if configured)
269
217
  */
@@ -277,39 +225,34 @@ export declare class Agent<TContext = any, TData = any> {
277
225
  */
278
226
  getCompactionOptions(): CompactionOptions | undefined;
279
227
  /**
280
- * Create a new route (journey) using agent-level data type
228
+ * Create a new flow (journey) using agent-level data type
281
229
  */
282
- createRoute(options: RouteOptions<TContext, TData>): Route<TContext, TData>;
230
+ createFlow(options: FlowOptions<TContext, TData>): Flow<TContext, TData>;
283
231
  /**
284
232
  * Create a domain term for the glossary
285
233
  */
286
234
  createTerm(term: Term<TContext, TData>): this;
287
235
  /**
288
- * Create a behavioral guideline
236
+ * Create an instruction (unified behavioral primitive).
289
237
  */
290
- createGuideline(guideline: Guideline<TContext, TData>): this;
238
+ createInstruction(instruction: Instruction<TContext, TData>): this;
291
239
  /**
292
240
  * Add a tool to the agent using the unified Tool interface
293
- * Creates and adds the tool to agent scope in one operation (BREAKING CHANGE: replaces createTool)
241
+ * Creates and adds the tool to agent scope in one operation
294
242
  */
295
243
  addTool<TResult = any>(tool: Tool<TContext, TData, TResult>): this;
296
- /**
297
- * Register a tool at the agent level (legacy method for backward compatibility)
298
- * @deprecated Use addTool() with Tool interface instead
299
- */
300
- createTool<TResult = any>(tool: Tool<TContext, TData, TResult>): this;
301
244
  /**
302
245
  * Register multiple tools at the agent level
303
246
  */
304
247
  registerTools<TResult = any>(tools: Tool<TContext, TData, TResult>[]): this;
305
248
  /**
306
249
  * Update the agent's context
307
- * Triggers both agent-level and route-specific onContextUpdate lifecycle hooks if configured
250
+ * Triggers both agent-level and flow-specific onContextUpdate lifecycle hooks if configured
308
251
  */
309
252
  updateContext(updates: Partial<TContext>): Promise<void>;
310
253
  /**
311
254
  * Update collected data in session with lifecycle hook support
312
- * Triggers both agent-level and route-specific onDataUpdate lifecycle hooks if configured
255
+ * Triggers both agent-level and flow-specific onDataUpdate lifecycle hooks if configured
313
256
  * @internal
314
257
  */
315
258
  private updateData;
@@ -331,25 +274,20 @@ export declare class Agent<TContext = any, TData = any> {
331
274
  */
332
275
  getAgentOptions(): AgentOptions<TContext, TData>;
333
276
  /**
334
- * Get routing engine
277
+ * Get flow router
335
278
  * @internal Used by ResponseModal
336
279
  */
337
- getRoutingEngine(): RoutingEngine<TContext, TData>;
280
+ getFlowRouter(): FlowRouter<TContext, TData>;
338
281
  /**
339
282
  * Get the updateData method bound to this agent
340
283
  * @internal Used by ResponseModal
341
284
  */
342
285
  getUpdateDataMethod(): (session: SessionState<TData>, dataUpdate: Partial<TData>) => Promise<SessionState<TData>>;
343
- /**
344
- * Evaluate and match active guidelines based on their conditions
345
- * Returns guidelines that should be active given the current context
346
- */
347
- evaluateGuidelines(context?: TContext, session?: SessionState<TData>, history?: Event[]): Promise<GuidelineMatch<TContext, TData>[]>;
348
286
  /**
349
287
  * Execute a prepare or finalize function/tool
350
288
  * @internal Used by ResponseModal
351
289
  */
352
- executePrepareFinalize(prepareOrFinalize: string | Tool<TContext, TData> | ((context: TContext, data?: Partial<TData>) => void | Promise<void>) | undefined, context: TContext, data?: Partial<TData>, route?: Route<TContext, TData>, step?: Step<TContext, TData>): Promise<void>;
290
+ executePrepareFinalize(prepareOrFinalize: string | Tool<TContext, TData> | ((context: TContext, data?: Partial<TData>) => void | Promise<void>) | undefined, context: TContext, data?: Partial<TData>, flow?: Flow<TContext, TData>, step?: Step<TContext, TData>): Promise<void>;
353
291
  /**
354
292
  * Sync session data to agent collected data
355
293
  * @internal Used to keep agent and session data in sync
@@ -357,28 +295,56 @@ export declare class Agent<TContext = any, TData = any> {
357
295
  private syncSessionDataToCollectedData;
358
296
  /**
359
297
  * Get collected data from current session or agent-level collected data
360
- * @param routeId - Optional route ID to get data for (uses current route if not provided)
361
298
  * @returns The collected data from the current session or agent-level data
362
299
  */
363
300
  getData(): Partial<TData>;
364
301
  /**
365
- * Manually transition to a different route
366
- * Sets a pending transition that will be executed on the next respond() call
302
+ * Dispatch a directive (or a flow shorthand) into a session.
303
+ * Sets `pendingDirective` on the session without triggering a `respond()` call.
304
+ * The directive will be applied at the start of the next turn.
305
+ *
306
+ * String form desugars to `{ goTo: target }`.
367
307
  *
368
- * @param routeIdOrTitle - Route ID or title to transition to
369
- * @param session - Session step to update (uses current session if not provided)
370
- * @param condition - Optional AI-evaluated condition for the transition
371
- * @returns Updated session with pending transition
308
+ * @param target - Flow ID/title string (desugars to `{ goTo: target }`) or a full Directive
309
+ * @param session - Session to update (uses current session if not provided)
310
+ * @returns Updated session with `pendingDirective` set
311
+ *
312
+ * @throws FlowConfigurationError if the string target doesn't match any flow
313
+ * @throws FlowConfigurationError if the directive fails validation
314
+ *
315
+ * @example
316
+ * // String shorthand — desugars to { goTo: 'Feedback' }
317
+ * const updated = await agent.dispatch('Feedback', session);
372
318
  *
373
319
  * @example
374
- * // After route completes
375
- * if (response.isRouteComplete && response.session) {
376
- * const updatedSession = agent.nextStepRoute("feedback-collection", response.session);
377
- * // Next respond() call will automatically transition to feedback route
378
- * const nextResponse = await agent.respond({ history, session: updatedSession });
379
- * }
380
- */
381
- nextStepRoute(routeIdOrTitle: string, session?: SessionState<TData>, condition?: Template<TContext, TData>, history?: Event[]): Promise<SessionState<TData>>;
320
+ * // Full directive
321
+ * const updated = await agent.dispatch({ goTo: 'Billing', reply: 'Transferring you now.' }, session);
322
+ */
323
+ dispatch(target: string | Directive<TContext, TData>, session?: SessionState<TData>): Promise<SessionState<TData>>;
324
+ /**
325
+ * Apply a directive synchronously to a session without invoking `respond()`.
326
+ * Performs in-place application: updates flow/step position, merges state writes.
327
+ *
328
+ * This is the synchronous counterpart to `dispatch` — it applies immediately
329
+ * rather than deferring to the next turn.
330
+ *
331
+ * @param directive - The directive to apply
332
+ * @param session - The session to apply the directive to
333
+ * @returns The updated session with the directive applied
334
+ */
335
+ applyDirective(directive: Directive<TContext, TData>, session: SessionState<TData>): SessionState<TData>;
336
+ /**
337
+ * Validate a directive for structural correctness.
338
+ * Throws FlowConfigurationError for invalid combinations.
339
+ * @private
340
+ */
341
+ private validateDirective;
342
+ /**
343
+ * Strip PreDirective-only fields (appendPrompt, injectTools, halt) from a directive.
344
+ * These fields are transient (one-turn lifetime) and must not be persisted.
345
+ * @private
346
+ */
347
+ private stripPreDirectiveFields;
382
348
  /**
383
349
  * Simplified respond method using SessionManager
384
350
  * Automatically manages conversation history through the session
@@ -1 +1 @@
1
- {"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../src/core/Agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../src/core/Agent.ts"],"names":[],"mappings":"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"}