@falai/agent 3.4.4 → 4.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (847) hide show
  1. package/README.md +41 -34
  2. package/dist/cjs/core/Agent.d.ts +22 -378
  3. package/dist/cjs/core/Agent.d.ts.map +1 -1
  4. package/dist/cjs/core/Agent.js +104 -1178
  5. package/dist/cjs/core/Agent.js.map +1 -1
  6. package/dist/cjs/core/CompactionEngine.d.ts.map +1 -1
  7. package/dist/cjs/core/CompactionEngine.js +5 -3
  8. package/dist/cjs/core/CompactionEngine.js.map +1 -1
  9. package/dist/cjs/core/FlowSpec.d.ts +136 -0
  10. package/dist/cjs/core/FlowSpec.d.ts.map +1 -0
  11. package/dist/cjs/core/FlowSpec.js +522 -0
  12. package/dist/cjs/core/FlowSpec.js.map +1 -0
  13. package/dist/cjs/core/Migrate.d.ts +38 -0
  14. package/dist/cjs/core/Migrate.d.ts.map +1 -0
  15. package/dist/cjs/core/Migrate.js +270 -0
  16. package/dist/cjs/core/Migrate.js.map +1 -0
  17. package/dist/cjs/core/Prompt.d.ts +54 -0
  18. package/dist/cjs/core/Prompt.d.ts.map +1 -0
  19. package/dist/cjs/core/Prompt.js +143 -0
  20. package/dist/cjs/core/Prompt.js.map +1 -0
  21. package/dist/cjs/core/Runner.d.ts +160 -0
  22. package/dist/cjs/core/Runner.d.ts.map +1 -0
  23. package/dist/cjs/core/Runner.js +1131 -0
  24. package/dist/cjs/core/Runner.js.map +1 -0
  25. package/dist/cjs/core/Speak.d.ts +37 -0
  26. package/dist/cjs/core/Speak.d.ts.map +1 -0
  27. package/dist/cjs/core/Speak.js +364 -0
  28. package/dist/cjs/core/Speak.js.map +1 -0
  29. package/dist/cjs/core/Understand.d.ts +28 -0
  30. package/dist/cjs/core/Understand.d.ts.map +1 -0
  31. package/dist/cjs/core/Understand.js +353 -0
  32. package/dist/cjs/core/Understand.js.map +1 -0
  33. package/dist/cjs/core/contracts.d.ts +122 -0
  34. package/dist/cjs/core/contracts.d.ts.map +1 -0
  35. package/dist/cjs/core/contracts.js +11 -0
  36. package/dist/cjs/core/contracts.js.map +1 -0
  37. package/dist/cjs/core/falai.d.ts +57 -0
  38. package/dist/cjs/core/falai.d.ts.map +1 -0
  39. package/dist/cjs/core/falai.js +43 -0
  40. package/dist/cjs/core/falai.js.map +1 -0
  41. package/dist/cjs/core/predicate.d.ts +9 -0
  42. package/dist/cjs/core/predicate.d.ts.map +1 -0
  43. package/dist/cjs/core/predicate.js +58 -0
  44. package/dist/cjs/core/predicate.js.map +1 -0
  45. package/dist/cjs/index.d.ts +26 -31
  46. package/dist/cjs/index.d.ts.map +1 -1
  47. package/dist/cjs/index.js +46 -68
  48. package/dist/cjs/index.js.map +1 -1
  49. package/dist/cjs/persistence/MemoryStore.d.ts +15 -0
  50. package/dist/cjs/persistence/MemoryStore.d.ts.map +1 -0
  51. package/dist/cjs/persistence/MemoryStore.js +39 -0
  52. package/dist/cjs/persistence/MemoryStore.js.map +1 -0
  53. package/dist/cjs/persistence/MongoStore.d.ts +42 -0
  54. package/dist/cjs/persistence/MongoStore.d.ts.map +1 -0
  55. package/dist/cjs/persistence/MongoStore.js +60 -0
  56. package/dist/cjs/persistence/MongoStore.js.map +1 -0
  57. package/dist/cjs/persistence/OpenSearchStore.d.ts +86 -0
  58. package/dist/cjs/persistence/OpenSearchStore.d.ts.map +1 -0
  59. package/dist/cjs/persistence/OpenSearchStore.js +120 -0
  60. package/dist/cjs/persistence/OpenSearchStore.js.map +1 -0
  61. package/dist/cjs/persistence/PostgresStore.d.ts +41 -0
  62. package/dist/cjs/persistence/PostgresStore.d.ts.map +1 -0
  63. package/dist/cjs/persistence/PostgresStore.js +58 -0
  64. package/dist/cjs/persistence/PostgresStore.js.map +1 -0
  65. package/dist/cjs/persistence/PrismaStore.d.ts +65 -0
  66. package/dist/cjs/persistence/PrismaStore.d.ts.map +1 -0
  67. package/dist/cjs/persistence/PrismaStore.js +95 -0
  68. package/dist/cjs/persistence/PrismaStore.js.map +1 -0
  69. package/dist/cjs/persistence/RedisStore.d.ts +34 -0
  70. package/dist/cjs/persistence/RedisStore.d.ts.map +1 -0
  71. package/dist/cjs/persistence/RedisStore.js +61 -0
  72. package/dist/cjs/persistence/RedisStore.js.map +1 -0
  73. package/dist/cjs/persistence/SQLiteStore.d.ts +45 -0
  74. package/dist/cjs/persistence/SQLiteStore.d.ts.map +1 -0
  75. package/dist/cjs/persistence/SQLiteStore.js +74 -0
  76. package/dist/cjs/persistence/SQLiteStore.js.map +1 -0
  77. package/dist/cjs/persistence/sessionRow.d.ts +14 -0
  78. package/dist/cjs/persistence/sessionRow.d.ts.map +1 -0
  79. package/dist/cjs/persistence/sessionRow.js +50 -0
  80. package/dist/cjs/persistence/sessionRow.js.map +1 -0
  81. package/dist/cjs/providers/DeepSeekProvider.d.ts.map +1 -1
  82. package/dist/cjs/providers/DeepSeekProvider.js +8 -3
  83. package/dist/cjs/providers/DeepSeekProvider.js.map +1 -1
  84. package/dist/cjs/providers/GeminiProvider.d.ts +4 -3
  85. package/dist/cjs/providers/GeminiProvider.d.ts.map +1 -1
  86. package/dist/cjs/providers/GeminiProvider.js +4 -3
  87. package/dist/cjs/providers/GeminiProvider.js.map +1 -1
  88. package/dist/cjs/providers/OpenAICompatibleProvider.d.ts +4 -0
  89. package/dist/cjs/providers/OpenAICompatibleProvider.d.ts.map +1 -1
  90. package/dist/cjs/providers/OpenAICompatibleProvider.js +2 -0
  91. package/dist/cjs/providers/OpenAICompatibleProvider.js.map +1 -1
  92. package/dist/cjs/providers/OpenRouterProvider.d.ts.map +1 -1
  93. package/dist/cjs/providers/OpenRouterProvider.js +2 -4
  94. package/dist/cjs/providers/OpenRouterProvider.js.map +1 -1
  95. package/dist/cjs/providers/ProviderAdapter.d.ts +1 -1
  96. package/dist/cjs/providers/ProviderAdapter.d.ts.map +1 -1
  97. package/dist/cjs/providers/ProviderAdapter.js +33 -10
  98. package/dist/cjs/providers/ProviderAdapter.js.map +1 -1
  99. package/dist/cjs/types/agent.d.ts +153 -383
  100. package/dist/cjs/types/agent.d.ts.map +1 -1
  101. package/dist/cjs/types/agent.js +1 -1
  102. package/dist/cjs/types/ai.d.ts +32 -1
  103. package/dist/cjs/types/ai.d.ts.map +1 -1
  104. package/dist/cjs/types/compaction.d.ts +3 -1
  105. package/dist/cjs/types/compaction.d.ts.map +1 -1
  106. package/dist/cjs/types/errors.d.ts +9 -12
  107. package/dist/cjs/types/errors.d.ts.map +1 -1
  108. package/dist/cjs/types/errors.js +14 -17
  109. package/dist/cjs/types/errors.js.map +1 -1
  110. package/dist/cjs/types/flow.d.ts +265 -513
  111. package/dist/cjs/types/flow.d.ts.map +1 -1
  112. package/dist/cjs/types/flow.js +7 -1
  113. package/dist/cjs/types/flow.js.map +1 -1
  114. package/dist/cjs/types/history.d.ts +7 -18
  115. package/dist/cjs/types/history.d.ts.map +1 -1
  116. package/dist/cjs/types/history.js.map +1 -1
  117. package/dist/cjs/types/index.d.ts +9 -15
  118. package/dist/cjs/types/index.d.ts.map +1 -1
  119. package/dist/cjs/types/index.js +4 -14
  120. package/dist/cjs/types/index.js.map +1 -1
  121. package/dist/cjs/types/session.d.ts +94 -64
  122. package/dist/cjs/types/session.d.ts.map +1 -1
  123. package/dist/cjs/types/session.js +5 -1
  124. package/dist/cjs/types/session.js.map +1 -1
  125. package/dist/cjs/types/tool.d.ts +37 -207
  126. package/dist/cjs/types/tool.d.ts.map +1 -1
  127. package/dist/cjs/types/tool.js +5 -14
  128. package/dist/cjs/types/tool.js.map +1 -1
  129. package/dist/cjs/utils/clock.d.ts +28 -0
  130. package/dist/cjs/utils/clock.d.ts.map +1 -0
  131. package/dist/cjs/utils/clock.js +64 -0
  132. package/dist/cjs/utils/clock.js.map +1 -0
  133. package/dist/cjs/utils/duration.d.ts +11 -0
  134. package/dist/cjs/utils/duration.d.ts.map +1 -0
  135. package/dist/cjs/utils/duration.js +31 -0
  136. package/dist/cjs/utils/duration.js.map +1 -0
  137. package/dist/cjs/utils/history.d.ts +4 -1
  138. package/dist/cjs/utils/history.d.ts.map +1 -1
  139. package/dist/cjs/utils/history.js +2 -2
  140. package/dist/cjs/utils/history.js.map +1 -1
  141. package/dist/cjs/utils/index.d.ts +4 -10
  142. package/dist/cjs/utils/index.d.ts.map +1 -1
  143. package/dist/cjs/utils/index.js +14 -61
  144. package/dist/cjs/utils/index.js.map +1 -1
  145. package/dist/cjs/utils/json.d.ts +2 -0
  146. package/dist/cjs/utils/json.d.ts.map +1 -1
  147. package/dist/cjs/utils/json.js +5 -0
  148. package/dist/cjs/utils/json.js.map +1 -1
  149. package/dist/cjs/utils/outcomes.d.ts +48 -0
  150. package/dist/cjs/utils/outcomes.d.ts.map +1 -0
  151. package/dist/cjs/utils/outcomes.js +51 -0
  152. package/dist/cjs/utils/outcomes.js.map +1 -0
  153. package/dist/cjs/utils/schema.d.ts +50 -0
  154. package/dist/cjs/utils/schema.d.ts.map +1 -0
  155. package/dist/cjs/utils/schema.js +138 -0
  156. package/dist/cjs/utils/schema.js.map +1 -0
  157. package/dist/cjs/utils/streamingMessage.d.ts +3 -2
  158. package/dist/cjs/utils/streamingMessage.d.ts.map +1 -1
  159. package/dist/cjs/utils/streamingMessage.js +38 -4
  160. package/dist/cjs/utils/streamingMessage.js.map +1 -1
  161. package/dist/cjs/utils/template.d.ts +13 -149
  162. package/dist/cjs/utils/template.d.ts.map +1 -1
  163. package/dist/cjs/utils/template.js +31 -363
  164. package/dist/cjs/utils/template.js.map +1 -1
  165. package/dist/cjs/utils/usage.d.ts +19 -0
  166. package/dist/cjs/utils/usage.d.ts.map +1 -0
  167. package/dist/cjs/utils/usage.js +35 -0
  168. package/dist/cjs/utils/usage.js.map +1 -0
  169. package/dist/core/Agent.d.ts +22 -378
  170. package/dist/core/Agent.d.ts.map +1 -1
  171. package/dist/core/Agent.js +107 -1181
  172. package/dist/core/Agent.js.map +1 -1
  173. package/dist/core/CompactionEngine.d.ts.map +1 -1
  174. package/dist/core/CompactionEngine.js +5 -3
  175. package/dist/core/CompactionEngine.js.map +1 -1
  176. package/dist/core/FlowSpec.d.ts +136 -0
  177. package/dist/core/FlowSpec.d.ts.map +1 -0
  178. package/dist/core/FlowSpec.js +516 -0
  179. package/dist/core/FlowSpec.js.map +1 -0
  180. package/dist/core/Migrate.d.ts +38 -0
  181. package/dist/core/Migrate.d.ts.map +1 -0
  182. package/dist/core/Migrate.js +264 -0
  183. package/dist/core/Migrate.js.map +1 -0
  184. package/dist/core/Prompt.d.ts +54 -0
  185. package/dist/core/Prompt.d.ts.map +1 -0
  186. package/dist/core/Prompt.js +133 -0
  187. package/dist/core/Prompt.js.map +1 -0
  188. package/dist/core/Runner.d.ts +160 -0
  189. package/dist/core/Runner.d.ts.map +1 -0
  190. package/dist/core/Runner.js +1127 -0
  191. package/dist/core/Runner.js.map +1 -0
  192. package/dist/core/Speak.d.ts +37 -0
  193. package/dist/core/Speak.d.ts.map +1 -0
  194. package/dist/core/Speak.js +360 -0
  195. package/dist/core/Speak.js.map +1 -0
  196. package/dist/core/Understand.d.ts +28 -0
  197. package/dist/core/Understand.d.ts.map +1 -0
  198. package/dist/core/Understand.js +349 -0
  199. package/dist/core/Understand.js.map +1 -0
  200. package/dist/core/contracts.d.ts +122 -0
  201. package/dist/core/contracts.d.ts.map +1 -0
  202. package/dist/core/contracts.js +10 -0
  203. package/dist/core/contracts.js.map +1 -0
  204. package/dist/core/falai.d.ts +57 -0
  205. package/dist/core/falai.d.ts.map +1 -0
  206. package/dist/core/falai.js +40 -0
  207. package/dist/core/falai.js.map +1 -0
  208. package/dist/core/predicate.d.ts +9 -0
  209. package/dist/core/predicate.d.ts.map +1 -0
  210. package/dist/core/predicate.js +54 -0
  211. package/dist/core/predicate.js.map +1 -0
  212. package/dist/index.d.ts +26 -31
  213. package/dist/index.d.ts.map +1 -1
  214. package/dist/index.js +19 -24
  215. package/dist/index.js.map +1 -1
  216. package/dist/persistence/MemoryStore.d.ts +15 -0
  217. package/dist/persistence/MemoryStore.d.ts.map +1 -0
  218. package/dist/persistence/MemoryStore.js +35 -0
  219. package/dist/persistence/MemoryStore.js.map +1 -0
  220. package/dist/persistence/MongoStore.d.ts +42 -0
  221. package/dist/persistence/MongoStore.d.ts.map +1 -0
  222. package/dist/persistence/MongoStore.js +56 -0
  223. package/dist/persistence/MongoStore.js.map +1 -0
  224. package/dist/persistence/OpenSearchStore.d.ts +86 -0
  225. package/dist/persistence/OpenSearchStore.d.ts.map +1 -0
  226. package/dist/persistence/OpenSearchStore.js +116 -0
  227. package/dist/persistence/OpenSearchStore.js.map +1 -0
  228. package/dist/persistence/PostgresStore.d.ts +41 -0
  229. package/dist/persistence/PostgresStore.d.ts.map +1 -0
  230. package/dist/persistence/PostgresStore.js +54 -0
  231. package/dist/persistence/PostgresStore.js.map +1 -0
  232. package/dist/persistence/PrismaStore.d.ts +65 -0
  233. package/dist/persistence/PrismaStore.d.ts.map +1 -0
  234. package/dist/persistence/PrismaStore.js +91 -0
  235. package/dist/persistence/PrismaStore.js.map +1 -0
  236. package/dist/persistence/RedisStore.d.ts +34 -0
  237. package/dist/persistence/RedisStore.d.ts.map +1 -0
  238. package/dist/persistence/RedisStore.js +57 -0
  239. package/dist/persistence/RedisStore.js.map +1 -0
  240. package/dist/persistence/SQLiteStore.d.ts +45 -0
  241. package/dist/persistence/SQLiteStore.d.ts.map +1 -0
  242. package/dist/persistence/SQLiteStore.js +70 -0
  243. package/dist/persistence/SQLiteStore.js.map +1 -0
  244. package/dist/persistence/sessionRow.d.ts +14 -0
  245. package/dist/persistence/sessionRow.d.ts.map +1 -0
  246. package/dist/persistence/sessionRow.js +45 -0
  247. package/dist/persistence/sessionRow.js.map +1 -0
  248. package/dist/providers/DeepSeekProvider.d.ts.map +1 -1
  249. package/dist/providers/DeepSeekProvider.js +8 -3
  250. package/dist/providers/DeepSeekProvider.js.map +1 -1
  251. package/dist/providers/GeminiProvider.d.ts +4 -3
  252. package/dist/providers/GeminiProvider.d.ts.map +1 -1
  253. package/dist/providers/GeminiProvider.js +4 -3
  254. package/dist/providers/GeminiProvider.js.map +1 -1
  255. package/dist/providers/OpenAICompatibleProvider.d.ts +4 -0
  256. package/dist/providers/OpenAICompatibleProvider.d.ts.map +1 -1
  257. package/dist/providers/OpenAICompatibleProvider.js +2 -0
  258. package/dist/providers/OpenAICompatibleProvider.js.map +1 -1
  259. package/dist/providers/OpenRouterProvider.d.ts.map +1 -1
  260. package/dist/providers/OpenRouterProvider.js +2 -4
  261. package/dist/providers/OpenRouterProvider.js.map +1 -1
  262. package/dist/providers/ProviderAdapter.d.ts +1 -1
  263. package/dist/providers/ProviderAdapter.d.ts.map +1 -1
  264. package/dist/providers/ProviderAdapter.js +34 -11
  265. package/dist/providers/ProviderAdapter.js.map +1 -1
  266. package/dist/types/agent.d.ts +153 -383
  267. package/dist/types/agent.d.ts.map +1 -1
  268. package/dist/types/agent.js +1 -1
  269. package/dist/types/ai.d.ts +32 -1
  270. package/dist/types/ai.d.ts.map +1 -1
  271. package/dist/types/compaction.d.ts +3 -1
  272. package/dist/types/compaction.d.ts.map +1 -1
  273. package/dist/types/errors.d.ts +9 -12
  274. package/dist/types/errors.d.ts.map +1 -1
  275. package/dist/types/errors.js +12 -15
  276. package/dist/types/errors.js.map +1 -1
  277. package/dist/types/flow.d.ts +265 -513
  278. package/dist/types/flow.d.ts.map +1 -1
  279. package/dist/types/flow.js +7 -1
  280. package/dist/types/flow.js.map +1 -1
  281. package/dist/types/history.d.ts +7 -18
  282. package/dist/types/history.d.ts.map +1 -1
  283. package/dist/types/history.js.map +1 -1
  284. package/dist/types/index.d.ts +9 -15
  285. package/dist/types/index.d.ts.map +1 -1
  286. package/dist/types/index.js +2 -7
  287. package/dist/types/index.js.map +1 -1
  288. package/dist/types/session.d.ts +94 -64
  289. package/dist/types/session.d.ts.map +1 -1
  290. package/dist/types/session.js +5 -1
  291. package/dist/types/session.js.map +1 -1
  292. package/dist/types/tool.d.ts +37 -207
  293. package/dist/types/tool.d.ts.map +1 -1
  294. package/dist/types/tool.js +6 -13
  295. package/dist/types/tool.js.map +1 -1
  296. package/dist/utils/clock.d.ts +28 -0
  297. package/dist/utils/clock.d.ts.map +1 -0
  298. package/dist/utils/clock.js +59 -0
  299. package/dist/utils/clock.js.map +1 -0
  300. package/dist/utils/duration.d.ts +11 -0
  301. package/dist/utils/duration.d.ts.map +1 -0
  302. package/dist/utils/duration.js +26 -0
  303. package/dist/utils/duration.js.map +1 -0
  304. package/dist/utils/history.d.ts +4 -1
  305. package/dist/utils/history.d.ts.map +1 -1
  306. package/dist/utils/history.js +2 -2
  307. package/dist/utils/history.js.map +1 -1
  308. package/dist/utils/index.d.ts +4 -10
  309. package/dist/utils/index.d.ts.map +1 -1
  310. package/dist/utils/index.js +4 -21
  311. package/dist/utils/index.js.map +1 -1
  312. package/dist/utils/json.d.ts +2 -0
  313. package/dist/utils/json.d.ts.map +1 -1
  314. package/dist/utils/json.js +4 -0
  315. package/dist/utils/json.js.map +1 -1
  316. package/dist/utils/outcomes.d.ts +48 -0
  317. package/dist/utils/outcomes.d.ts.map +1 -0
  318. package/dist/utils/outcomes.js +48 -0
  319. package/dist/utils/outcomes.js.map +1 -0
  320. package/dist/utils/schema.d.ts +50 -0
  321. package/dist/utils/schema.d.ts.map +1 -0
  322. package/dist/utils/schema.js +129 -0
  323. package/dist/utils/schema.js.map +1 -0
  324. package/dist/utils/streamingMessage.d.ts +3 -2
  325. package/dist/utils/streamingMessage.d.ts.map +1 -1
  326. package/dist/utils/streamingMessage.js +38 -4
  327. package/dist/utils/streamingMessage.js.map +1 -1
  328. package/dist/utils/template.d.ts +13 -149
  329. package/dist/utils/template.d.ts.map +1 -1
  330. package/dist/utils/template.js +28 -355
  331. package/dist/utils/template.js.map +1 -1
  332. package/dist/utils/usage.d.ts +19 -0
  333. package/dist/utils/usage.d.ts.map +1 -0
  334. package/dist/utils/usage.js +31 -0
  335. package/dist/utils/usage.js.map +1 -0
  336. package/docs/README.md +37 -19
  337. package/docs/concepts/architecture.md +117 -239
  338. package/docs/concepts/collection.md +170 -0
  339. package/docs/concepts/pipeline.md +132 -378
  340. package/docs/concepts/runs-and-waits.md +192 -0
  341. package/docs/guides/actions-and-events.md +276 -0
  342. package/docs/guides/branching.md +119 -208
  343. package/docs/guides/compaction.md +63 -158
  344. package/docs/guides/conditions.md +164 -128
  345. package/docs/guides/error-handling.md +168 -164
  346. package/docs/guides/flow-control.md +210 -349
  347. package/docs/guides/flows-from-json.md +224 -0
  348. package/docs/guides/instructions.md +125 -161
  349. package/docs/guides/persistence.md +182 -206
  350. package/docs/guides/streaming.md +50 -114
  351. package/docs/guides/testing.md +284 -0
  352. package/docs/guides/triggers.md +401 -0
  353. package/docs/migration/README.md +8 -15
  354. package/docs/migration/v1-to-v2.md +1 -1
  355. package/docs/migration/v2-3-to-v2-4.md +2 -2
  356. package/docs/migration/v2-6-to-v2-7.md +4 -4
  357. package/docs/migration/v3-to-v4.md +452 -0
  358. package/docs/reference/actions-events-conditions.md +396 -0
  359. package/docs/reference/agent.md +244 -0
  360. package/docs/reference/branches.md +75 -203
  361. package/docs/reference/errors.md +188 -144
  362. package/docs/reference/fields.md +125 -0
  363. package/docs/reference/flow-spec.md +248 -0
  364. package/docs/reference/flow.md +104 -192
  365. package/docs/reference/instruction.md +83 -137
  366. package/docs/reference/outcomes.md +273 -0
  367. package/docs/reference/providers.md +525 -302
  368. package/docs/reference/session.md +210 -0
  369. package/docs/reference/step.md +194 -312
  370. package/docs/reference/stores.md +496 -0
  371. package/docs/reference/tool.md +162 -231
  372. package/docs/reference/trigger.md +180 -0
  373. package/docs/rfc/v4-one-flow.md +477 -0
  374. package/docs/start/01-install.md +59 -44
  375. package/docs/start/02-first-agent.md +97 -147
  376. package/docs/start/03-collect-data.md +78 -183
  377. package/docs/start/04-add-tools.md +159 -227
  378. package/docs/start/05-go-to-production.md +167 -164
  379. package/examples/01-quickstart.ts +26 -16
  380. package/examples/02-fields.ts +75 -0
  381. package/examples/03-tools.ts +79 -119
  382. package/examples/04-instructions.ts +60 -87
  383. package/examples/05-branches.ts +78 -0
  384. package/examples/06-triggers-and-waits.ts +148 -0
  385. package/examples/07-streaming.ts +34 -60
  386. package/examples/08-store-and-migration.ts +97 -0
  387. package/examples/09-flows-from-json.ts +107 -0
  388. package/package.json +9 -6
  389. package/src/core/Agent.ts +116 -1512
  390. package/src/core/CompactionEngine.ts +7 -4
  391. package/src/core/FlowSpec.ts +712 -0
  392. package/src/core/Migrate.ts +256 -0
  393. package/src/core/Prompt.ts +156 -0
  394. package/src/core/Runner.ts +1181 -0
  395. package/src/core/Speak.ts +451 -0
  396. package/src/core/Understand.ts +422 -0
  397. package/src/core/contracts.ts +111 -0
  398. package/src/core/falai.ts +86 -0
  399. package/src/core/predicate.ts +56 -0
  400. package/src/index.ts +119 -147
  401. package/src/persistence/MemoryStore.ts +37 -0
  402. package/src/persistence/MongoStore.ts +89 -0
  403. package/src/persistence/OpenSearchStore.ts +153 -0
  404. package/src/persistence/PostgresStore.ts +89 -0
  405. package/src/persistence/PrismaStore.ts +127 -0
  406. package/src/persistence/RedisStore.ts +90 -0
  407. package/src/persistence/SQLiteStore.ts +103 -0
  408. package/src/persistence/sessionRow.ts +45 -0
  409. package/src/providers/DeepSeekProvider.ts +8 -3
  410. package/src/providers/GeminiProvider.ts +4 -3
  411. package/src/providers/OpenAICompatibleProvider.ts +6 -0
  412. package/src/providers/OpenRouterProvider.ts +2 -4
  413. package/src/providers/ProviderAdapter.ts +36 -8
  414. package/src/types/agent.ts +124 -397
  415. package/src/types/ai.ts +33 -1
  416. package/src/types/compaction.ts +3 -1
  417. package/src/types/errors.ts +13 -16
  418. package/src/types/flow.ts +249 -550
  419. package/src/types/history.ts +7 -20
  420. package/src/types/index.ts +87 -139
  421. package/src/types/session.ts +135 -70
  422. package/src/types/tool.ts +42 -267
  423. package/src/utils/clock.ts +70 -0
  424. package/src/utils/duration.ts +33 -0
  425. package/src/utils/history.ts +3 -2
  426. package/src/utils/index.ts +8 -66
  427. package/src/utils/json.ts +5 -0
  428. package/src/utils/outcomes.ts +56 -0
  429. package/src/utils/schema.ts +145 -0
  430. package/src/utils/streamingMessage.ts +34 -4
  431. package/src/utils/template.ts +32 -423
  432. package/src/utils/usage.ts +37 -0
  433. package/dist/adapters/MemoryAdapter.d.ts +0 -47
  434. package/dist/adapters/MemoryAdapter.d.ts.map +0 -1
  435. package/dist/adapters/MemoryAdapter.js +0 -204
  436. package/dist/adapters/MemoryAdapter.js.map +0 -1
  437. package/dist/adapters/MongoAdapter.d.ts +0 -97
  438. package/dist/adapters/MongoAdapter.d.ts.map +0 -1
  439. package/dist/adapters/MongoAdapter.js +0 -196
  440. package/dist/adapters/MongoAdapter.js.map +0 -1
  441. package/dist/adapters/OpenSearchAdapter.d.ts +0 -169
  442. package/dist/adapters/OpenSearchAdapter.d.ts.map +0 -1
  443. package/dist/adapters/OpenSearchAdapter.js +0 -471
  444. package/dist/adapters/OpenSearchAdapter.js.map +0 -1
  445. package/dist/adapters/PostgreSQLAdapter.d.ts +0 -85
  446. package/dist/adapters/PostgreSQLAdapter.d.ts.map +0 -1
  447. package/dist/adapters/PostgreSQLAdapter.js +0 -308
  448. package/dist/adapters/PostgreSQLAdapter.js.map +0 -1
  449. package/dist/adapters/PrismaAdapter.d.ts +0 -115
  450. package/dist/adapters/PrismaAdapter.d.ts.map +0 -1
  451. package/dist/adapters/PrismaAdapter.js +0 -406
  452. package/dist/adapters/PrismaAdapter.js.map +0 -1
  453. package/dist/adapters/RedisAdapter.d.ts +0 -72
  454. package/dist/adapters/RedisAdapter.d.ts.map +0 -1
  455. package/dist/adapters/RedisAdapter.js +0 -286
  456. package/dist/adapters/RedisAdapter.js.map +0 -1
  457. package/dist/adapters/SQLiteAdapter.d.ts +0 -86
  458. package/dist/adapters/SQLiteAdapter.d.ts.map +0 -1
  459. package/dist/adapters/SQLiteAdapter.js +0 -337
  460. package/dist/adapters/SQLiteAdapter.js.map +0 -1
  461. package/dist/adapters/index.d.ts +0 -17
  462. package/dist/adapters/index.d.ts.map +0 -1
  463. package/dist/adapters/index.js +0 -11
  464. package/dist/adapters/index.js.map +0 -1
  465. package/dist/adapters/sessionRow.d.ts +0 -22
  466. package/dist/adapters/sessionRow.d.ts.map +0 -1
  467. package/dist/adapters/sessionRow.js +0 -48
  468. package/dist/adapters/sessionRow.js.map +0 -1
  469. package/dist/cjs/adapters/MemoryAdapter.d.ts +0 -47
  470. package/dist/cjs/adapters/MemoryAdapter.d.ts.map +0 -1
  471. package/dist/cjs/adapters/MemoryAdapter.js +0 -208
  472. package/dist/cjs/adapters/MemoryAdapter.js.map +0 -1
  473. package/dist/cjs/adapters/MongoAdapter.d.ts +0 -97
  474. package/dist/cjs/adapters/MongoAdapter.d.ts.map +0 -1
  475. package/dist/cjs/adapters/MongoAdapter.js +0 -200
  476. package/dist/cjs/adapters/MongoAdapter.js.map +0 -1
  477. package/dist/cjs/adapters/OpenSearchAdapter.d.ts +0 -169
  478. package/dist/cjs/adapters/OpenSearchAdapter.d.ts.map +0 -1
  479. package/dist/cjs/adapters/OpenSearchAdapter.js +0 -475
  480. package/dist/cjs/adapters/OpenSearchAdapter.js.map +0 -1
  481. package/dist/cjs/adapters/PostgreSQLAdapter.d.ts +0 -85
  482. package/dist/cjs/adapters/PostgreSQLAdapter.d.ts.map +0 -1
  483. package/dist/cjs/adapters/PostgreSQLAdapter.js +0 -312
  484. package/dist/cjs/adapters/PostgreSQLAdapter.js.map +0 -1
  485. package/dist/cjs/adapters/PrismaAdapter.d.ts +0 -115
  486. package/dist/cjs/adapters/PrismaAdapter.d.ts.map +0 -1
  487. package/dist/cjs/adapters/PrismaAdapter.js +0 -410
  488. package/dist/cjs/adapters/PrismaAdapter.js.map +0 -1
  489. package/dist/cjs/adapters/RedisAdapter.d.ts +0 -72
  490. package/dist/cjs/adapters/RedisAdapter.d.ts.map +0 -1
  491. package/dist/cjs/adapters/RedisAdapter.js +0 -290
  492. package/dist/cjs/adapters/RedisAdapter.js.map +0 -1
  493. package/dist/cjs/adapters/SQLiteAdapter.d.ts +0 -86
  494. package/dist/cjs/adapters/SQLiteAdapter.d.ts.map +0 -1
  495. package/dist/cjs/adapters/SQLiteAdapter.js +0 -341
  496. package/dist/cjs/adapters/SQLiteAdapter.js.map +0 -1
  497. package/dist/cjs/adapters/index.d.ts +0 -17
  498. package/dist/cjs/adapters/index.d.ts.map +0 -1
  499. package/dist/cjs/adapters/index.js +0 -21
  500. package/dist/cjs/adapters/index.js.map +0 -1
  501. package/dist/cjs/adapters/sessionRow.d.ts +0 -22
  502. package/dist/cjs/adapters/sessionRow.d.ts.map +0 -1
  503. package/dist/cjs/adapters/sessionRow.js +0 -52
  504. package/dist/cjs/adapters/sessionRow.js.map +0 -1
  505. package/dist/cjs/constants/index.d.ts +0 -1
  506. package/dist/cjs/constants/index.d.ts.map +0 -1
  507. package/dist/cjs/constants/index.js +0 -4
  508. package/dist/cjs/constants/index.js.map +0 -1
  509. package/dist/cjs/core/AutoChainExecutor.d.ts +0 -97
  510. package/dist/cjs/core/AutoChainExecutor.d.ts.map +0 -1
  511. package/dist/cjs/core/AutoChainExecutor.js +0 -288
  512. package/dist/cjs/core/AutoChainExecutor.js.map +0 -1
  513. package/dist/cjs/core/BranchEvaluator.d.ts +0 -55
  514. package/dist/cjs/core/BranchEvaluator.d.ts.map +0 -1
  515. package/dist/cjs/core/BranchEvaluator.js +0 -125
  516. package/dist/cjs/core/BranchEvaluator.js.map +0 -1
  517. package/dist/cjs/core/DirectiveChainTracker.d.ts +0 -49
  518. package/dist/cjs/core/DirectiveChainTracker.d.ts.map +0 -1
  519. package/dist/cjs/core/DirectiveChainTracker.js +0 -121
  520. package/dist/cjs/core/DirectiveChainTracker.js.map +0 -1
  521. package/dist/cjs/core/Events.d.ts +0 -26
  522. package/dist/cjs/core/Events.d.ts.map +0 -1
  523. package/dist/cjs/core/Events.js +0 -144
  524. package/dist/cjs/core/Events.js.map +0 -1
  525. package/dist/cjs/core/Flow.d.ts +0 -183
  526. package/dist/cjs/core/Flow.d.ts.map +0 -1
  527. package/dist/cjs/core/Flow.js +0 -551
  528. package/dist/cjs/core/Flow.js.map +0 -1
  529. package/dist/cjs/core/FlowRouter.d.ts +0 -183
  530. package/dist/cjs/core/FlowRouter.d.ts.map +0 -1
  531. package/dist/cjs/core/FlowRouter.js +0 -1047
  532. package/dist/cjs/core/FlowRouter.js.map +0 -1
  533. package/dist/cjs/core/PersistenceManager.d.ts +0 -114
  534. package/dist/cjs/core/PersistenceManager.d.ts.map +0 -1
  535. package/dist/cjs/core/PersistenceManager.js +0 -336
  536. package/dist/cjs/core/PersistenceManager.js.map +0 -1
  537. package/dist/cjs/core/PromptComposer.d.ts +0 -47
  538. package/dist/cjs/core/PromptComposer.d.ts.map +0 -1
  539. package/dist/cjs/core/PromptComposer.js +0 -397
  540. package/dist/cjs/core/PromptComposer.js.map +0 -1
  541. package/dist/cjs/core/PromptSectionCache.d.ts +0 -48
  542. package/dist/cjs/core/PromptSectionCache.d.ts.map +0 -1
  543. package/dist/cjs/core/PromptSectionCache.js +0 -108
  544. package/dist/cjs/core/PromptSectionCache.js.map +0 -1
  545. package/dist/cjs/core/ResponseEngine.d.ts +0 -43
  546. package/dist/cjs/core/ResponseEngine.d.ts.map +0 -1
  547. package/dist/cjs/core/ResponseEngine.js +0 -235
  548. package/dist/cjs/core/ResponseEngine.js.map +0 -1
  549. package/dist/cjs/core/ResponseGenerationError.d.ts +0 -30
  550. package/dist/cjs/core/ResponseGenerationError.d.ts.map +0 -1
  551. package/dist/cjs/core/ResponseGenerationError.js +0 -35
  552. package/dist/cjs/core/ResponseGenerationError.js.map +0 -1
  553. package/dist/cjs/core/ResponseModal.d.ts +0 -305
  554. package/dist/cjs/core/ResponseModal.d.ts.map +0 -1
  555. package/dist/cjs/core/ResponseModal.js +0 -1414
  556. package/dist/cjs/core/ResponseModal.js.map +0 -1
  557. package/dist/cjs/core/ResponsePipeline.d.ts +0 -220
  558. package/dist/cjs/core/ResponsePipeline.d.ts.map +0 -1
  559. package/dist/cjs/core/ResponsePipeline.js +0 -1040
  560. package/dist/cjs/core/ResponsePipeline.js.map +0 -1
  561. package/dist/cjs/core/SessionFinalizer.d.ts +0 -34
  562. package/dist/cjs/core/SessionFinalizer.d.ts.map +0 -1
  563. package/dist/cjs/core/SessionFinalizer.js +0 -88
  564. package/dist/cjs/core/SessionFinalizer.js.map +0 -1
  565. package/dist/cjs/core/SessionManager.d.ts +0 -112
  566. package/dist/cjs/core/SessionManager.d.ts.map +0 -1
  567. package/dist/cjs/core/SessionManager.js +0 -308
  568. package/dist/cjs/core/SessionManager.js.map +0 -1
  569. package/dist/cjs/core/SignalCoordinator.d.ts +0 -103
  570. package/dist/cjs/core/SignalCoordinator.d.ts.map +0 -1
  571. package/dist/cjs/core/SignalCoordinator.js +0 -207
  572. package/dist/cjs/core/SignalCoordinator.js.map +0 -1
  573. package/dist/cjs/core/SignalEvaluator.d.ts +0 -86
  574. package/dist/cjs/core/SignalEvaluator.d.ts.map +0 -1
  575. package/dist/cjs/core/SignalEvaluator.js +0 -319
  576. package/dist/cjs/core/SignalEvaluator.js.map +0 -1
  577. package/dist/cjs/core/SignalProcessor.d.ts +0 -152
  578. package/dist/cjs/core/SignalProcessor.d.ts.map +0 -1
  579. package/dist/cjs/core/SignalProcessor.js +0 -505
  580. package/dist/cjs/core/SignalProcessor.js.map +0 -1
  581. package/dist/cjs/core/Step.d.ts +0 -184
  582. package/dist/cjs/core/Step.d.ts.map +0 -1
  583. package/dist/cjs/core/Step.js +0 -599
  584. package/dist/cjs/core/Step.js.map +0 -1
  585. package/dist/cjs/core/StepLifecycle.d.ts +0 -43
  586. package/dist/cjs/core/StepLifecycle.d.ts.map +0 -1
  587. package/dist/cjs/core/StepLifecycle.js +0 -180
  588. package/dist/cjs/core/StepLifecycle.js.map +0 -1
  589. package/dist/cjs/core/StreamingToolExecutor.d.ts +0 -142
  590. package/dist/cjs/core/StreamingToolExecutor.d.ts.map +0 -1
  591. package/dist/cjs/core/StreamingToolExecutor.js +0 -490
  592. package/dist/cjs/core/StreamingToolExecutor.js.map +0 -1
  593. package/dist/cjs/core/ToolLoopExecutor.d.ts +0 -133
  594. package/dist/cjs/core/ToolLoopExecutor.d.ts.map +0 -1
  595. package/dist/cjs/core/ToolLoopExecutor.js +0 -568
  596. package/dist/cjs/core/ToolLoopExecutor.js.map +0 -1
  597. package/dist/cjs/core/ToolManager.d.ts +0 -250
  598. package/dist/cjs/core/ToolManager.d.ts.map +0 -1
  599. package/dist/cjs/core/ToolManager.js +0 -1104
  600. package/dist/cjs/core/ToolManager.js.map +0 -1
  601. package/dist/cjs/core/createAgent.d.ts +0 -35
  602. package/dist/cjs/core/createAgent.d.ts.map +0 -1
  603. package/dist/cjs/core/createAgent.js +0 -39
  604. package/dist/cjs/core/createAgent.js.map +0 -1
  605. package/dist/cjs/core/flow-namespace.d.ts +0 -64
  606. package/dist/cjs/core/flow-namespace.d.ts.map +0 -1
  607. package/dist/cjs/core/flow-namespace.js +0 -182
  608. package/dist/cjs/core/flow-namespace.js.map +0 -1
  609. package/dist/cjs/core/toolGates.d.ts +0 -24
  610. package/dist/cjs/core/toolGates.d.ts.map +0 -1
  611. package/dist/cjs/core/toolGates.js +0 -52
  612. package/dist/cjs/core/toolGates.js.map +0 -1
  613. package/dist/cjs/types/persistence.d.ts +0 -254
  614. package/dist/cjs/types/persistence.d.ts.map +0 -1
  615. package/dist/cjs/types/persistence.js +0 -7
  616. package/dist/cjs/types/persistence.js.map +0 -1
  617. package/dist/cjs/types/prompt-cache.d.ts +0 -15
  618. package/dist/cjs/types/prompt-cache.d.ts.map +0 -1
  619. package/dist/cjs/types/prompt-cache.js +0 -6
  620. package/dist/cjs/types/prompt-cache.js.map +0 -1
  621. package/dist/cjs/types/signals.d.ts +0 -263
  622. package/dist/cjs/types/signals.d.ts.map +0 -1
  623. package/dist/cjs/types/signals.js +0 -11
  624. package/dist/cjs/types/signals.js.map +0 -1
  625. package/dist/cjs/types/template.d.ts +0 -84
  626. package/dist/cjs/types/template.d.ts.map +0 -1
  627. package/dist/cjs/types/template.js +0 -3
  628. package/dist/cjs/types/template.js.map +0 -1
  629. package/dist/cjs/utils/condition.d.ts +0 -63
  630. package/dist/cjs/utils/condition.d.ts.map +0 -1
  631. package/dist/cjs/utils/condition.js +0 -239
  632. package/dist/cjs/utils/condition.js.map +0 -1
  633. package/dist/cjs/utils/event.d.ts +0 -6
  634. package/dist/cjs/utils/event.d.ts.map +0 -1
  635. package/dist/cjs/utils/event.js +0 -20
  636. package/dist/cjs/utils/event.js.map +0 -1
  637. package/dist/cjs/utils/id.d.ts +0 -33
  638. package/dist/cjs/utils/id.d.ts.map +0 -1
  639. package/dist/cjs/utils/id.js +0 -84
  640. package/dist/cjs/utils/id.js.map +0 -1
  641. package/dist/cjs/utils/serialize.d.ts +0 -36
  642. package/dist/cjs/utils/serialize.d.ts.map +0 -1
  643. package/dist/cjs/utils/serialize.js +0 -77
  644. package/dist/cjs/utils/serialize.js.map +0 -1
  645. package/dist/cjs/utils/session.d.ts +0 -124
  646. package/dist/cjs/utils/session.d.ts.map +0 -1
  647. package/dist/cjs/utils/session.js +0 -396
  648. package/dist/cjs/utils/session.js.map +0 -1
  649. package/dist/constants/index.d.ts +0 -2
  650. package/dist/constants/index.d.ts.map +0 -1
  651. package/dist/constants/index.js +0 -4
  652. package/dist/constants/index.js.map +0 -1
  653. package/dist/core/AutoChainExecutor.d.ts +0 -97
  654. package/dist/core/AutoChainExecutor.d.ts.map +0 -1
  655. package/dist/core/AutoChainExecutor.js +0 -284
  656. package/dist/core/AutoChainExecutor.js.map +0 -1
  657. package/dist/core/BranchEvaluator.d.ts +0 -55
  658. package/dist/core/BranchEvaluator.d.ts.map +0 -1
  659. package/dist/core/BranchEvaluator.js +0 -121
  660. package/dist/core/BranchEvaluator.js.map +0 -1
  661. package/dist/core/DirectiveChainTracker.d.ts +0 -49
  662. package/dist/core/DirectiveChainTracker.d.ts.map +0 -1
  663. package/dist/core/DirectiveChainTracker.js +0 -117
  664. package/dist/core/DirectiveChainTracker.js.map +0 -1
  665. package/dist/core/Events.d.ts +0 -26
  666. package/dist/core/Events.d.ts.map +0 -1
  667. package/dist/core/Events.js +0 -137
  668. package/dist/core/Events.js.map +0 -1
  669. package/dist/core/Flow.d.ts +0 -183
  670. package/dist/core/Flow.d.ts.map +0 -1
  671. package/dist/core/Flow.js +0 -547
  672. package/dist/core/Flow.js.map +0 -1
  673. package/dist/core/FlowRouter.d.ts +0 -183
  674. package/dist/core/FlowRouter.d.ts.map +0 -1
  675. package/dist/core/FlowRouter.js +0 -1043
  676. package/dist/core/FlowRouter.js.map +0 -1
  677. package/dist/core/PersistenceManager.d.ts +0 -114
  678. package/dist/core/PersistenceManager.d.ts.map +0 -1
  679. package/dist/core/PersistenceManager.js +0 -332
  680. package/dist/core/PersistenceManager.js.map +0 -1
  681. package/dist/core/PromptComposer.d.ts +0 -47
  682. package/dist/core/PromptComposer.d.ts.map +0 -1
  683. package/dist/core/PromptComposer.js +0 -393
  684. package/dist/core/PromptComposer.js.map +0 -1
  685. package/dist/core/PromptSectionCache.d.ts +0 -48
  686. package/dist/core/PromptSectionCache.d.ts.map +0 -1
  687. package/dist/core/PromptSectionCache.js +0 -104
  688. package/dist/core/PromptSectionCache.js.map +0 -1
  689. package/dist/core/ResponseEngine.d.ts +0 -43
  690. package/dist/core/ResponseEngine.d.ts.map +0 -1
  691. package/dist/core/ResponseEngine.js +0 -231
  692. package/dist/core/ResponseEngine.js.map +0 -1
  693. package/dist/core/ResponseGenerationError.d.ts +0 -30
  694. package/dist/core/ResponseGenerationError.d.ts.map +0 -1
  695. package/dist/core/ResponseGenerationError.js +0 -31
  696. package/dist/core/ResponseGenerationError.js.map +0 -1
  697. package/dist/core/ResponseModal.d.ts +0 -305
  698. package/dist/core/ResponseModal.d.ts.map +0 -1
  699. package/dist/core/ResponseModal.js +0 -1410
  700. package/dist/core/ResponseModal.js.map +0 -1
  701. package/dist/core/ResponsePipeline.d.ts +0 -220
  702. package/dist/core/ResponsePipeline.d.ts.map +0 -1
  703. package/dist/core/ResponsePipeline.js +0 -1035
  704. package/dist/core/ResponsePipeline.js.map +0 -1
  705. package/dist/core/SessionFinalizer.d.ts +0 -34
  706. package/dist/core/SessionFinalizer.d.ts.map +0 -1
  707. package/dist/core/SessionFinalizer.js +0 -84
  708. package/dist/core/SessionFinalizer.js.map +0 -1
  709. package/dist/core/SessionManager.d.ts +0 -112
  710. package/dist/core/SessionManager.d.ts.map +0 -1
  711. package/dist/core/SessionManager.js +0 -301
  712. package/dist/core/SessionManager.js.map +0 -1
  713. package/dist/core/SignalCoordinator.d.ts +0 -103
  714. package/dist/core/SignalCoordinator.d.ts.map +0 -1
  715. package/dist/core/SignalCoordinator.js +0 -203
  716. package/dist/core/SignalCoordinator.js.map +0 -1
  717. package/dist/core/SignalEvaluator.d.ts +0 -86
  718. package/dist/core/SignalEvaluator.d.ts.map +0 -1
  719. package/dist/core/SignalEvaluator.js +0 -312
  720. package/dist/core/SignalEvaluator.js.map +0 -1
  721. package/dist/core/SignalProcessor.d.ts +0 -152
  722. package/dist/core/SignalProcessor.d.ts.map +0 -1
  723. package/dist/core/SignalProcessor.js +0 -498
  724. package/dist/core/SignalProcessor.js.map +0 -1
  725. package/dist/core/Step.d.ts +0 -184
  726. package/dist/core/Step.d.ts.map +0 -1
  727. package/dist/core/Step.js +0 -594
  728. package/dist/core/Step.js.map +0 -1
  729. package/dist/core/StepLifecycle.d.ts +0 -43
  730. package/dist/core/StepLifecycle.d.ts.map +0 -1
  731. package/dist/core/StepLifecycle.js +0 -176
  732. package/dist/core/StepLifecycle.js.map +0 -1
  733. package/dist/core/StreamingToolExecutor.d.ts +0 -142
  734. package/dist/core/StreamingToolExecutor.d.ts.map +0 -1
  735. package/dist/core/StreamingToolExecutor.js +0 -483
  736. package/dist/core/StreamingToolExecutor.js.map +0 -1
  737. package/dist/core/ToolLoopExecutor.d.ts +0 -133
  738. package/dist/core/ToolLoopExecutor.d.ts.map +0 -1
  739. package/dist/core/ToolLoopExecutor.js +0 -564
  740. package/dist/core/ToolLoopExecutor.js.map +0 -1
  741. package/dist/core/ToolManager.d.ts +0 -250
  742. package/dist/core/ToolManager.d.ts.map +0 -1
  743. package/dist/core/ToolManager.js +0 -1098
  744. package/dist/core/ToolManager.js.map +0 -1
  745. package/dist/core/createAgent.d.ts +0 -35
  746. package/dist/core/createAgent.d.ts.map +0 -1
  747. package/dist/core/createAgent.js +0 -36
  748. package/dist/core/createAgent.js.map +0 -1
  749. package/dist/core/flow-namespace.d.ts +0 -64
  750. package/dist/core/flow-namespace.d.ts.map +0 -1
  751. package/dist/core/flow-namespace.js +0 -179
  752. package/dist/core/flow-namespace.js.map +0 -1
  753. package/dist/core/toolGates.d.ts +0 -24
  754. package/dist/core/toolGates.d.ts.map +0 -1
  755. package/dist/core/toolGates.js +0 -49
  756. package/dist/core/toolGates.js.map +0 -1
  757. package/dist/types/persistence.d.ts +0 -254
  758. package/dist/types/persistence.d.ts.map +0 -1
  759. package/dist/types/persistence.js +0 -6
  760. package/dist/types/persistence.js.map +0 -1
  761. package/dist/types/prompt-cache.d.ts +0 -15
  762. package/dist/types/prompt-cache.d.ts.map +0 -1
  763. package/dist/types/prompt-cache.js +0 -5
  764. package/dist/types/prompt-cache.js.map +0 -1
  765. package/dist/types/signals.d.ts +0 -263
  766. package/dist/types/signals.d.ts.map +0 -1
  767. package/dist/types/signals.js +0 -10
  768. package/dist/types/signals.js.map +0 -1
  769. package/dist/types/template.d.ts +0 -84
  770. package/dist/types/template.d.ts.map +0 -1
  771. package/dist/types/template.js +0 -2
  772. package/dist/types/template.js.map +0 -1
  773. package/dist/utils/condition.d.ts +0 -63
  774. package/dist/utils/condition.d.ts.map +0 -1
  775. package/dist/utils/condition.js +0 -230
  776. package/dist/utils/condition.js.map +0 -1
  777. package/dist/utils/event.d.ts +0 -6
  778. package/dist/utils/event.d.ts.map +0 -1
  779. package/dist/utils/event.js +0 -17
  780. package/dist/utils/event.js.map +0 -1
  781. package/dist/utils/id.d.ts +0 -33
  782. package/dist/utils/id.d.ts.map +0 -1
  783. package/dist/utils/id.js +0 -77
  784. package/dist/utils/id.js.map +0 -1
  785. package/dist/utils/serialize.d.ts +0 -36
  786. package/dist/utils/serialize.d.ts.map +0 -1
  787. package/dist/utils/serialize.js +0 -72
  788. package/dist/utils/serialize.js.map +0 -1
  789. package/dist/utils/session.d.ts +0 -124
  790. package/dist/utils/session.d.ts.map +0 -1
  791. package/dist/utils/session.js +0 -379
  792. package/dist/utils/session.js.map +0 -1
  793. package/docs/concepts/directives.md +0 -369
  794. package/docs/reference/adapters.md +0 -543
  795. package/docs/reference/create-agent.md +0 -216
  796. package/docs/reference/directive.md +0 -242
  797. package/docs/reference/signals.md +0 -368
  798. package/examples/02-data-extraction.ts +0 -90
  799. package/examples/05-branching.ts +0 -140
  800. package/examples/06-flow-control.ts +0 -103
  801. package/examples/08-persistence.ts +0 -98
  802. package/examples/09-signals.ts +0 -144
  803. package/src/adapters/MemoryAdapter.ts +0 -281
  804. package/src/adapters/MongoAdapter.ts +0 -341
  805. package/src/adapters/OpenSearchAdapter.ts +0 -693
  806. package/src/adapters/PostgreSQLAdapter.ts +0 -487
  807. package/src/adapters/PrismaAdapter.ts +0 -617
  808. package/src/adapters/RedisAdapter.ts +0 -439
  809. package/src/adapters/SQLiteAdapter.ts +0 -496
  810. package/src/adapters/index.ts +0 -43
  811. package/src/adapters/sessionRow.ts +0 -57
  812. package/src/constants/index.ts +0 -2
  813. package/src/core/AutoChainExecutor.ts +0 -397
  814. package/src/core/BranchEvaluator.ts +0 -161
  815. package/src/core/DirectiveChainTracker.ts +0 -144
  816. package/src/core/Events.ts +0 -164
  817. package/src/core/Flow.ts +0 -665
  818. package/src/core/FlowRouter.ts +0 -1540
  819. package/src/core/PersistenceManager.ts +0 -446
  820. package/src/core/PromptComposer.ts +0 -448
  821. package/src/core/PromptSectionCache.ts +0 -125
  822. package/src/core/ResponseEngine.ts +0 -338
  823. package/src/core/ResponseGenerationError.ts +0 -53
  824. package/src/core/ResponseModal.ts +0 -1902
  825. package/src/core/ResponsePipeline.ts +0 -1404
  826. package/src/core/SessionFinalizer.ts +0 -108
  827. package/src/core/SessionManager.ts +0 -372
  828. package/src/core/SignalCoordinator.ts +0 -263
  829. package/src/core/SignalEvaluator.ts +0 -404
  830. package/src/core/SignalProcessor.ts +0 -663
  831. package/src/core/Step.ts +0 -782
  832. package/src/core/StepLifecycle.ts +0 -242
  833. package/src/core/StreamingToolExecutor.ts +0 -609
  834. package/src/core/ToolLoopExecutor.ts +0 -749
  835. package/src/core/ToolManager.ts +0 -1379
  836. package/src/core/createAgent.ts +0 -40
  837. package/src/core/flow-namespace.ts +0 -227
  838. package/src/core/toolGates.ts +0 -72
  839. package/src/types/persistence.ts +0 -303
  840. package/src/types/prompt-cache.ts +0 -17
  841. package/src/types/signals.ts +0 -338
  842. package/src/types/template.ts +0 -98
  843. package/src/utils/condition.ts +0 -296
  844. package/src/utils/event.ts +0 -16
  845. package/src/utils/id.ts +0 -91
  846. package/src/utils/serialize.ts +0 -86
  847. package/src/utils/session.ts +0 -501
@@ -1,117 +0,0 @@
1
- /**
2
- * Per-turn directive chain depth tracker.
3
- *
4
- * When directives chain (e.g., tool emits goTo → flow.onEnter emits goTo →
5
- * flow.onComplete emits complete.next → …), the chain can theoretically loop
6
- * forever. This tracker counts each directive application within a single turn
7
- * and throws `FlowConfigurationError` when the configured cap is exceeded.
8
- *
9
- * Chain breakers (`abort` mid-chain) stop counting and apply the
10
- * chain-terminating directive immediately.
11
- *
12
- * Validates: Requirements 22.1, 22.2, 22.3
13
- */
14
- import { FlowConfigurationError } from "./Step.js";
15
- import { logger } from "../utils/index.js";
16
- /**
17
- * Tracks directive chain depth within a single turn.
18
- * Create one instance per turn; discard at turn end.
19
- */
20
- export class DirectiveChainTracker {
21
- constructor(maxDirectiveChain) {
22
- this.chain = [];
23
- this.maxDepth = maxDirectiveChain;
24
- }
25
- /**
26
- * Record a directive application in the chain.
27
- * Throws `FlowConfigurationError` if the chain exceeds `maxDirectiveChain`.
28
- *
29
- * @param directive - The directive being applied
30
- * @param emitter - Identifier of the emitter (for diagnostics)
31
- * @returns `true` if the directive is a chain breaker (abort) — caller should
32
- * apply it and stop the chain without further counting.
33
- */
34
- record(directive, emitter) {
35
- const description = describeDirective(directive);
36
- // Check if this is a chain breaker (abort)
37
- if (directive.abort !== undefined) {
38
- this.chain.push({ description, emitter });
39
- logger.debug(`[DirectiveChainTracker] Chain breaker (abort) at depth ${this.chain.length}: ${description} from ${emitter}`);
40
- return true; // Chain breaker — apply and stop
41
- }
42
- this.chain.push({ description, emitter });
43
- if (this.chain.length > this.maxDepth) {
44
- const chainDescription = this.chain
45
- .map((entry, i) => ` ${i + 1}. ${entry.description} (from: ${entry.emitter})`)
46
- .join("\n");
47
- throw new FlowConfigurationError(`[FlowConfigurationError] Directive chain cycle detected: ` +
48
- `chain depth (${this.chain.length}) exceeded maxDirectiveChain (${this.maxDepth}). ` +
49
- `Review flow hooks and tool handlers for circular redirections.\n` +
50
- `Chain (in emission order):\n${chainDescription}`);
51
- }
52
- logger.debug(`[DirectiveChainTracker] Chain depth ${this.chain.length}/${this.maxDepth}: ${description} from ${emitter}`);
53
- return false; // Not a chain breaker — continue normally
54
- }
55
- /** Current chain depth. */
56
- get depth() {
57
- return this.chain.length;
58
- }
59
- /** The full chain log (read-only). */
60
- get entries() {
61
- return this.chain;
62
- }
63
- /** Reset the tracker (e.g., for testing or if the turn is restarted). */
64
- reset() {
65
- this.chain = [];
66
- }
67
- }
68
- /**
69
- * Produce a human-readable one-line description of a directive for diagnostics.
70
- */
71
- function describeDirective(directive) {
72
- if (directive.abort !== undefined) {
73
- const reason = typeof directive.abort === "string"
74
- ? directive.abort
75
- : typeof directive.abort === "object"
76
- ? directive.abort.reason
77
- : "";
78
- return `abort${reason ? `:${reason}` : ""}`;
79
- }
80
- if (directive.goTo !== undefined) {
81
- const target = typeof directive.goTo === "string"
82
- ? directive.goTo
83
- : typeof directive.goTo === "object"
84
- ? directive.goTo.flow ?? "(no flow)"
85
- : "";
86
- return `goTo:${target}`;
87
- }
88
- if (directive.goToStep !== undefined) {
89
- const target = typeof directive.goToStep === "string"
90
- ? directive.goToStep
91
- : typeof directive.goToStep === "object"
92
- ? directive.goToStep.step
93
- : "";
94
- return `goToStep:${target}`;
95
- }
96
- if (directive.complete !== undefined) {
97
- if (directive.complete === true)
98
- return "complete";
99
- if (typeof directive.complete === "object" && directive.complete.next) {
100
- return "complete(chained)";
101
- }
102
- return "complete";
103
- }
104
- if (directive.reset !== undefined) {
105
- return "reset";
106
- }
107
- // State-only or reply-only directive
108
- const parts = [];
109
- if (directive.reply)
110
- parts.push("reply");
111
- if (directive.dataUpdate)
112
- parts.push("dataUpdate");
113
- if (directive.contextUpdate)
114
- parts.push("contextUpdate");
115
- return parts.length > 0 ? parts.join("+") : "(empty)";
116
- }
117
- //# sourceMappingURL=DirectiveChainTracker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DirectiveChainTracker.js","sourceRoot":"","sources":["../../src/core/DirectiveChainTracker.ts"],"names":[],"mappings":"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"}
@@ -1,26 +0,0 @@
1
- /**
2
- * Event utilities and helpers
3
- */
4
- import type { Event, EmittedEvent, MessageEventData, HistoryMessage, MessageData, HistoryItem, History } from "../types/index.js";
5
- /**
6
- * Convert a simple JSON history message to an internal Event
7
- */
8
- export declare function convertHistoryMessage<TData = unknown>(message: HistoryMessage<TData>): Event<MessageEventData>;
9
- /**
10
- * Convert an array of history messages to Events
11
- */
12
- export declare function convertHistoryToEvents<TData = unknown>(history: HistoryMessage<TData>[]): Event[];
13
- /**
14
- * Adapt an event for inclusion in prompts
15
- * Transforms event data into a serializable format
16
- */
17
- export declare function adaptEvent(e: Event | EmittedEvent): string;
18
- /**
19
- * Convert MessageData to HistoryItem
20
- */
21
- export declare function convertMessageDataToHistoryItem(message: MessageData): HistoryItem;
22
- /**
23
- * Convert an array of MessageData to History (HistoryItem[])
24
- */
25
- export declare function convertMessagesToHistory(messages: MessageData[]): History;
26
- //# sourceMappingURL=Events.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Events.d.ts","sourceRoot":"","sources":["../../src/core/Events.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,KAAK,EACL,YAAY,EACZ,gBAAgB,EAEhB,cAAc,EACd,WAAW,EACX,WAAW,EACX,OAAO,EACR,MAAM,mBAAmB,CAAC;AAG3B;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,GAAG,OAAO,EACnD,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,GAC7B,KAAK,CAAC,gBAAgB,CAAC,CAczB;AAkBD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,GAAG,OAAO,EACpD,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,GAC/B,KAAK,EAAE,CAET;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,GAAG,YAAY,GAAG,MAAM,CA6C1D;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,WAAW,GACnB,WAAW,CAsCb;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,OAAO,CAEzE"}
@@ -1,137 +0,0 @@
1
- /**
2
- * Event utilities and helpers
3
- */
4
- import { EventKind, MessageRole } from "../types/index.js";
5
- /**
6
- * Convert a simple JSON history message to an internal Event
7
- */
8
- export function convertHistoryMessage(message) {
9
- return {
10
- kind: EventKind.MESSAGE,
11
- source: message.role,
12
- data: {
13
- participant: {
14
- display_name: message.name || getDefaultName(message.role),
15
- },
16
- message: message.content,
17
- session: message.session,
18
- },
19
- timestamp: message.timestamp || new Date().toISOString(),
20
- id: message.metadata?.id,
21
- };
22
- }
23
- /**
24
- * Get default participant name for a role
25
- */
26
- function getDefaultName(role) {
27
- switch (role) {
28
- case MessageRole.USER:
29
- return "User";
30
- case MessageRole.ASSISTANT:
31
- return "Assistant";
32
- case MessageRole.SYSTEM:
33
- return "System";
34
- default:
35
- return "Unknown";
36
- }
37
- }
38
- /**
39
- * Convert an array of history messages to Events
40
- */
41
- export function convertHistoryToEvents(history) {
42
- return history.map(convertHistoryMessage);
43
- }
44
- /**
45
- * Adapt an event for inclusion in prompts
46
- * Transforms event data into a serializable format
47
- */
48
- export function adaptEvent(e) {
49
- let data = e.data;
50
- if (e.kind === EventKind.MESSAGE) {
51
- const messageData = e.data;
52
- if (messageData.flagged) {
53
- data = {
54
- participant: messageData.participant.display_name,
55
- message: "<N/A>",
56
- censored: true,
57
- reasons: messageData.tags,
58
- };
59
- }
60
- else {
61
- data = {
62
- participant: messageData.participant.display_name,
63
- message: messageData.message,
64
- };
65
- }
66
- }
67
- if (e.kind === EventKind.TOOL) {
68
- const toolData = e.data;
69
- data = {
70
- tool_calls: toolData.tool_calls.map((tc) => ({
71
- tool_id: tc.tool_id,
72
- arguments: tc.arguments,
73
- result: tc.result.data,
74
- })),
75
- };
76
- }
77
- const sourceMap = {
78
- [MessageRole.USER]: "user",
79
- [MessageRole.ASSISTANT]: "assistant",
80
- [MessageRole.AGENT]: "agent",
81
- [MessageRole.SYSTEM]: "system",
82
- };
83
- return JSON.stringify({
84
- event_kind: e.kind,
85
- event_source: sourceMap[e.source],
86
- data,
87
- });
88
- }
89
- /**
90
- * Convert MessageData to HistoryItem
91
- */
92
- export function convertMessageDataToHistoryItem(message) {
93
- switch (message.role) {
94
- case MessageRole.USER:
95
- return {
96
- role: "user",
97
- content: message.content,
98
- };
99
- case MessageRole.ASSISTANT:
100
- return {
101
- role: "assistant",
102
- content: message.content,
103
- tool_calls: message.toolCalls?.map((tc, index) => ({
104
- id: `call_${index}`, // Generate an ID since MessageData doesn't have tool call IDs
105
- name: tc.toolName,
106
- arguments: tc.arguments,
107
- })),
108
- };
109
- case MessageRole.AGENT:
110
- // Agent role typically represents tool execution results
111
- // Since we don't have tool_call_id in MessageData, we'll use a placeholder
112
- return {
113
- role: "tool",
114
- tool_call_id: "unknown", // MessageData doesn't store tool call IDs
115
- name: "unknown_tool",
116
- content: message.content,
117
- };
118
- case MessageRole.SYSTEM:
119
- return {
120
- role: "system",
121
- content: message.content,
122
- };
123
- default:
124
- // Fallback for unknown roles
125
- return {
126
- role: "system",
127
- content: message.content,
128
- };
129
- }
130
- }
131
- /**
132
- * Convert an array of MessageData to History (HistoryItem[])
133
- */
134
- export function convertMessagesToHistory(messages) {
135
- return messages.map(convertMessageDataToHistoryItem);
136
- }
137
- //# sourceMappingURL=Events.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Events.js","sourceRoot":"","sources":["../../src/core/Events.ts"],"names":[],"mappings":"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"}
@@ -1,183 +0,0 @@
1
- /**
2
- * Flow (Journey) DSL implementation
3
- */
4
- import type { FlowOptions, FlowRef, StepOptions, FlowLifecycleHooks, StructuredSchema, Instruction, Tool, TemplateContext, ConditionEvaluationResult, Directive } from "../types/index.js";
5
- import type { ConditionWhen, ConditionIf } from "../types/flow.js";
6
- import { Step } from "./Step.js";
7
- import { Agent } from './Agent.js';
8
- /**
9
- * Represents a conversational flow/journey
10
- */
11
- export declare class Flow<TContext = unknown, TData = unknown> {
12
- readonly id: string;
13
- readonly title: string;
14
- readonly description?: string;
15
- readonly when?: ConditionWhen;
16
- readonly if?: ConditionIf<TContext, TData>;
17
- private readonly _initialStep;
18
- readonly responseOutputSchema?: StructuredSchema;
19
- readonly initialData?: Partial<TData>;
20
- readonly requiredFields?: (keyof TData)[];
21
- readonly optionalFields?: (keyof TData)[];
22
- readonly onComplete?: string;
23
- readonly reentrant: boolean;
24
- readonly hooks?: FlowLifecycleHooks<TContext, TData>;
25
- routingExtrasSchema?: StructuredSchema;
26
- instructions: Instruction<TContext, TData>[];
27
- tools: Tool<TContext, TData>[];
28
- knowledgeBase: Record<string, unknown>;
29
- /** Get the initial (first) step of this flow. */
30
- get initialStep(): Step<TContext, TData>;
31
- private parentAgent?;
32
- /**
33
- * Tracks whether this flow has participated in at least one turn.
34
- * Used to emit a DEBUG warning when `addStep` mutates the graph mid-session.
35
- * @internal Set by the pipeline after the first turn involving this flow.
36
- */
37
- _hasHandledTurn: boolean;
38
- constructor(options: FlowOptions<TContext, TData>, parentAgent?: Agent<TContext, TData>);
39
- /**
40
- * Build a sequential step machine from an array of steps
41
- * The last step in the array is the implicit terminus of the flow.
42
- * @private
43
- */
44
- private buildSequentialSteps;
45
- /**
46
- * Imperatively add a step to this flow after construction.
47
- *
48
- * Applies the same construction-time validations as declarative `steps: [...]`
49
- * registration (auto-step shape, `reply` exclusivity, `branches` validation,
50
- * schema lookups). Connects the new step as a successor of the current last
51
- * step in the flow.
52
- *
53
- * When called after the agent has handled a turn, emits a DEBUG-level warning
54
- * that the flow graph is being mutated mid-session; the operation still succeeds.
55
- *
56
- * @param options - Step configuration
57
- * @returns The newly created and registered Step
58
- *
59
- * **Validates: Requirements 8.7, 26.1–26.5**
60
- */
61
- addStep(options: StepOptions<TContext, TData>): Step<TContext, TData>;
62
- /**
63
- * Find the last step in the sequential chain (the terminal step with no transitions).
64
- * If multiple terminal steps exist (branching), returns the one visited last in BFS order.
65
- * @private
66
- */
67
- private getLastStep;
68
- /**
69
- * Evaluate when/if conditions using the v2 split logic.
70
- * `if` (code predicate) evaluates first (free); `when` (AI) evaluates only when `if` passes.
71
- * `if` predicates use AND semantics. Non-`!` `when` strings use OR semantics;
72
- * `!` strings are exclusions where any match inhibits activation.
73
- * When both fields are set, the passing `if` gate and AI match are combined with AND.
74
- */
75
- evaluateWhen(templateContext: TemplateContext<TContext, TData>): Promise<ConditionEvaluationResult>;
76
- /**
77
- * Create an instruction specific to this flow.
78
- */
79
- createInstruction(instruction: Instruction<TContext, TData>): this;
80
- /**
81
- * Register a tool for this flow
82
- */
83
- createTool(tool: Tool<TContext, TData>): this;
84
- /**
85
- * Register multiple tools for this flow
86
- */
87
- registerTools(tools: Tool<TContext, TData>[]): this;
88
- /**
89
- * Add a tool to this flow using the ToolManager API
90
- * Creates and adds the tool to flow scope in one operation
91
- */
92
- addTool(tool: Tool<TContext, TData>): this;
93
- /**
94
- * Get all instructions for this flow
95
- */
96
- getInstructions(): Instruction<TContext, TData>[];
97
- /**
98
- * Get all tools for this flow
99
- */
100
- getTools(): Tool<TContext, TData>[];
101
- /**
102
- * Get optional extras schema requested during routing
103
- */
104
- getRoutingExtrasSchema(): StructuredSchema | undefined;
105
- /**
106
- * Get optional structured response schema for this flow's message
107
- */
108
- getResponseOutputSchema(): StructuredSchema | undefined;
109
- getSteps(): Step<TContext, TData>[];
110
- /**
111
- * Get flow reference
112
- */
113
- getRef(): FlowRef;
114
- /**
115
- * Get all steps in this flow (via traversal from initial step)
116
- */
117
- getAllSteps(): Step<TContext, TData>[];
118
- /**
119
- * Get a specific step by ID
120
- * @param stepId - The step ID to find
121
- * @returns The step if found, undefined otherwise
122
- */
123
- getStep(stepId: string): Step<TContext, TData> | undefined;
124
- /**
125
- * Get a description of the flow structure for debugging
126
- */
127
- describe(): string;
128
- /**
129
- * Handle data updates for this flow, calling the onDataUpdate hook if configured
130
- * @param data - New collected data
131
- * @param previousCollected - Previously collected data
132
- * @returns Modified data after hook processing, or original data if no hook
133
- */
134
- handleDataUpdate(data: Partial<TData>, previousCollected: Partial<TData>): Promise<Partial<TData>>;
135
- /**
136
- * Handle context updates for this flow, calling the onContextUpdate hook if configured
137
- * @param newContext - New context
138
- * @param previousContext - Previous context
139
- */
140
- handleContextUpdate(newContext: TContext, previousContext: TContext): Promise<void>;
141
- /**
142
- * Export flow configuration as FlowOptions for copying/cloning
143
- * @returns FlowOptions that can be used to create a new flow with identical configuration
144
- */
145
- toOptions(): FlowOptions<TContext, TData>;
146
- /**
147
- * Check if this flow is complete based on the provided data
148
- * @param data - Currently collected agent-level data
149
- * @returns true if all required fields are present, false otherwise
150
- *
151
- * Note: Flows with no requiredFields (whether they have optionalFields or not)
152
- * are never complete based on data — they complete when the last step finishes (implicit terminus).
153
- */
154
- isComplete(data: Partial<TData>): boolean;
155
- /**
156
- * Get the list of missing required fields for this flow
157
- * @param data - Currently collected agent-level data
158
- * @returns Array of missing required field keys
159
- */
160
- getMissingRequiredFields(data: Partial<TData>): (keyof TData)[];
161
- /**
162
- * Get the completion progress for this flow as a percentage
163
- * @param data - Currently collected agent-level data
164
- * @returns Completion progress as a number between 0 and 1
165
- *
166
- * Note: Must be consistent with isComplete() logic
167
- */
168
- getCompletionProgress(data: Partial<TData>): number;
169
- /**
170
- * Evaluate the onComplete handler and return a Directive.
171
- *
172
- * In v2, top-level `onComplete` is desugared to `hooks.onComplete` at
173
- * construction time. This method delegates to `hooks.onComplete` when set.
174
- *
175
- * @param session - Current session step
176
- * @param context - Agent context
177
- * @returns Directive or undefined if no transition
178
- */
179
- evaluateOnComplete(session: {
180
- data?: Partial<TData>;
181
- }, context?: TContext): Promise<Directive<TContext, TData> | undefined>;
182
- }
183
- //# sourceMappingURL=Flow.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Flow.d.ts","sourceRoot":"","sources":["../../src/core/Flow.ts"],"names":[],"mappings":"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"}