@falai/agent 3.4.5 → 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 +0,0 @@
1
- {"version":3,"file":"ResponsePipeline.js","sourceRoot":"","sources":["../../../src/core/ResponsePipeline.ts"],"names":[],"mappings":"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"}
@@ -1,34 +0,0 @@
1
- /**
2
- * SessionFinalizer owns end-of-turn session finalization: deterministic
3
- * history compaction, persistence auto-save, the step `finalize` hook,
4
- * and syncing the finalized session back to the agent's live session.
5
- *
6
- * Every turn finalizes exactly once: the non-streaming path in
7
- * `respond()` after generation completes; the streaming path in the
8
- * final-chunk interception loop after the post-signal phase (so
9
- * post-phase session mutations are persisted), with only the
10
- * pre-routing signal/auto-chain halt chunks finalizing at their own
11
- * yield sites.
12
- */
13
- import type { AgentOptions, SessionState } from "../types/index.js";
14
- import type { CompactionOptions } from "../types/compaction.js";
15
- import type { PersistenceManager } from "./PersistenceManager.js";
16
- import type { StepLifecycle } from "./StepLifecycle.js";
17
- export declare class SessionFinalizer<TContext = unknown, TData = unknown> {
18
- private readonly deps;
19
- constructor(deps: {
20
- getCompactionOptions: () => CompactionOptions | undefined;
21
- getPersistenceManager: () => PersistenceManager<TData> | undefined;
22
- getAgentOptions: () => AgentOptions<TContext, TData>;
23
- getCurrentSession: () => SessionState<TData> | undefined;
24
- setCurrentSession: (session: SessionState<TData>) => void;
25
- stepLifecycle: StepLifecycle<TContext, TData>;
26
- /** ResponseModalOptions.enableAutoSave (undefined means enabled). */
27
- enableAutoSave?: boolean;
28
- });
29
- /**
30
- * Handle session persistence and finalization.
31
- */
32
- finalize(session: SessionState<TData>, context: TContext): Promise<void>;
33
- }
34
- //# sourceMappingURL=SessionFinalizer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SessionFinalizer.d.ts","sourceRoot":"","sources":["../../../src/core/SessionFinalizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAKxD,qBAAa,gBAAgB,CAAC,QAAQ,GAAG,OAAO,EAAE,KAAK,GAAG,OAAO;IAEzD,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE;QACnB,oBAAoB,EAAE,MAAM,iBAAiB,GAAG,SAAS,CAAC;QAC1D,qBAAqB,EAAE,MAAM,kBAAkB,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;QACnE,eAAe,EAAE,MAAM,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACrD,iBAAiB,EAAE,MAAM,YAAY,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;QACzD,iBAAiB,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;QAC1D,aAAa,EAAE,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC9C,qEAAqE;QACrE,cAAc,CAAC,EAAE,OAAO,CAAC;KAC5B;IAGL;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CAqEjF"}
@@ -1,88 +0,0 @@
1
- "use strict";
2
- /**
3
- * SessionFinalizer owns end-of-turn session finalization: deterministic
4
- * history compaction, persistence auto-save, the step `finalize` hook,
5
- * and syncing the finalized session back to the agent's live session.
6
- *
7
- * Every turn finalizes exactly once: the non-streaming path in
8
- * `respond()` after generation completes; the streaming path in the
9
- * final-chunk interception loop after the post-signal phase (so
10
- * post-phase session mutations are persisted), with only the
11
- * pre-routing signal/auto-chain halt chunks finalizing at their own
12
- * yield sites.
13
- */
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.SessionFinalizer = void 0;
16
- const flow_namespace_js_1 = require("./flow-namespace.js");
17
- const CompactionEngine_js_1 = require("./CompactionEngine.js");
18
- const index_js_1 = require("../utils/index.js");
19
- class SessionFinalizer {
20
- constructor(deps) {
21
- this.deps = deps;
22
- }
23
- /**
24
- * Handle session persistence and finalization.
25
- */
26
- async finalize(session, context) {
27
- const agentOptions = this.deps.getAgentOptions();
28
- // Hard history bound — backstop when no compaction is configured (or
29
- // after it ran). Unbounded growth eventually bricks the thread at the
30
- // provider context limit.
31
- const historyCap = agentOptions.maxHistoryMessages ?? index_js_1.DEFAULT_MAX_HISTORY_MESSAGES;
32
- if (historyCap > 0 && session.history && session.history.length > historyCap) {
33
- const bounded = (0, index_js_1.boundConversationHistory)(session.history, historyCap);
34
- if (bounded !== session.history) {
35
- index_js_1.logger.warn(`[SessionFinalizer] Session "${session.id}" history exceeded ${historyCap} entries ` +
36
- `(${session.history.length}); trimmed the oldest. Configure compaction for ` +
37
- `summarization instead of truncation, or raise maxHistoryMessages.`);
38
- session.history = bounded;
39
- }
40
- }
41
- // Deterministic compaction: runs on every finalize (not just addMessage)
42
- // so respond()-only callers get bounded history too
43
- const compactionOptions = this.deps.getCompactionOptions();
44
- if (compactionOptions && session.history && session.history.length > 0) {
45
- try {
46
- const result = await CompactionEngine_js_1.CompactionEngine.checkAndCompact(session.history, compactionOptions);
47
- if (result.strategy !== 'none') {
48
- session.history = result.history;
49
- index_js_1.logger.info(`[SessionFinalizer] Compaction applied: strategy='${result.strategy}', ` +
50
- `estimatedTokens=${result.estimatedTokens}, messagesCompacted=${result.messagesCompacted}`);
51
- }
52
- }
53
- catch (error) {
54
- index_js_1.logger.warn("[SessionFinalizer] Compaction failed at finalize, continuing without compaction", error);
55
- }
56
- }
57
- // Execute finalize BEFORE persisting so its state writes (which now
58
- // land on this turn's session) are captured by the save below. A
59
- // control-flow directive returned by finalize queues on the session —
60
- // the pendingDirective applier applies it at the START of the next turn.
61
- let finalizeDirective;
62
- try {
63
- finalizeDirective = await this.deps.stepLifecycle.runFinalize(session, context);
64
- }
65
- catch (error) {
66
- index_js_1.logger.error("[SessionFinalizer] Step finalize hook failed:", error);
67
- throw error;
68
- }
69
- if (finalizeDirective) {
70
- flow_namespace_js_1.flow.queuePending(session, finalizeDirective);
71
- }
72
- // Auto-save session step to persistence if configured
73
- const persistenceManager = this.deps.getPersistenceManager();
74
- if (persistenceManager &&
75
- session.id &&
76
- (this.deps.enableAutoSave !== false && agentOptions.persistence?.autoSave !== false)) {
77
- await persistenceManager.saveSessionState(session.id, session);
78
- index_js_1.logger.debug(`[SessionFinalizer] Auto-saved session step to persistence: ${session.id}`);
79
- }
80
- // Update current session if we have one
81
- const currentSession = this.deps.getCurrentSession();
82
- if (currentSession) {
83
- this.deps.setCurrentSession(session);
84
- }
85
- }
86
- }
87
- exports.SessionFinalizer = SessionFinalizer;
88
- //# sourceMappingURL=SessionFinalizer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SessionFinalizer.js","sourceRoot":"","sources":["../../../src/core/SessionFinalizer.ts"],"names":[],"mappings":"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"}
@@ -1,112 +0,0 @@
1
- /**
2
- * SessionManager - Simplified session management with history
3
- *
4
- * Provides a clean, pragmatic API for managing sessions and conversation history
5
- * in both server and client environments.
6
- */
7
- import type { SessionState } from "../types/session.js";
8
- import type { History } from "../types/history.js";
9
- import { PersistenceManager } from "./PersistenceManager.js";
10
- import type { PersistenceAdapter } from "../types/persistence.js";
11
- import type { Agent } from "./Agent.js";
12
- /**
13
- * SessionManager handles session lifecycle and conversation history
14
- */
15
- export declare class SessionManager<TData = unknown> {
16
- private currentSession?;
17
- private persistenceManager?;
18
- private agent?;
19
- private defaultSessionId?;
20
- /** Coalesces concurrent getOrCreate calls for the same session id. */
21
- private inflightGets;
22
- constructor(persistenceManagerOrAdapter?: PersistenceManager<TData> | PersistenceAdapter<TData>, agent?: Agent<any, TData>);
23
- /**
24
- * Set the default session ID to use when getOrCreate is called without parameters
25
- * @internal Used by Agent to set the sessionId from constructor options
26
- */
27
- setDefaultSessionId(sessionId: string): void;
28
- /**
29
- * Core method: getOrCreate handles both existing and new sessions
30
- * Works for sessionIds that exist, don't exist, or auto-generated IDs.
31
- *
32
- * Concurrent calls for the same id are COALESCED into one in-flight load:
33
- * the Agent constructor fires an un-awaited getOrCreate while a first turn
34
- * may already be starting — without coalescing, both calls can observe a
35
- * missing row and create two competing sessions (one blanking the other's
36
- * persisted state).
37
- */
38
- getOrCreate(sessionId?: string): Promise<SessionState<TData>>;
39
- private getOrCreateInner;
40
- /**
41
- * Create a new session with optional custom ID
42
- */
43
- private create;
44
- /**
45
- * Add a message to the session history
46
- */
47
- addMessage(role: "user" | "assistant", content: string, name?: string): Promise<void>;
48
- /**
49
- * Get the current conversation history
50
- */
51
- getHistory(): History;
52
- /**
53
- * Set the entire conversation history
54
- */
55
- setHistory(history: History): void;
56
- /**
57
- * Clear all conversation history
58
- */
59
- clearHistory(): void;
60
- /**
61
- * Save the current session to persistence
62
- */
63
- save(): Promise<void>;
64
- /**
65
- * Delete the current session from persistence
66
- */
67
- delete(): Promise<void>;
68
- /**
69
- * Get the current session
70
- */
71
- get current(): SessionState<TData> | undefined;
72
- /**
73
- * Get the current session ID
74
- */
75
- get id(): string | undefined;
76
- /**
77
- * Get agent-level collected data from the current session
78
- */
79
- getData(): Partial<TData>;
80
- /**
81
- * Set/merge agent-level data into the current session
82
- * This updates the single source of truth for all collected data
83
- */
84
- setData(data: Partial<TData>): Promise<void>;
85
- /**
86
- * Update specific fields in the agent-level data
87
- * Provides a more explicit method for data updates
88
- */
89
- updateData(updates: Partial<TData>): Promise<void>;
90
- /**
91
- * Clear all collected data while preserving session structure
92
- */
93
- clearData(): Promise<void>;
94
- /**
95
- * Reset the session (creates new session, optionally preserving history)
96
- */
97
- reset(preserveHistory?: boolean): Promise<SessionState<TData>>;
98
- /**
99
- * Sync the session state without triggering persistence save.
100
- * Used by modern APIs (stream, generate, chat) to push the finalized session
101
- * back to `currentSession` after completion. Persistence is handled separately
102
- * by `finalizeSession()`.
103
- *
104
- * @internal Called from ResponseModal after stream()/generate() completion
105
- */
106
- syncSession(session: SessionState<TData> | undefined): void;
107
- /**
108
- * Get the persistence manager (for testing purposes)
109
- */
110
- getPersistenceManager(): PersistenceManager<TData> | undefined;
111
- }
112
- //# sourceMappingURL=SessionManager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SessionManager.d.ts","sourceRoot":"","sources":["../../../src/core/SessionManager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,OAAO,EAAe,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGxC;;GAEG;AACH,qBAAa,cAAc,CAAC,KAAK,GAAG,OAAO;IACzC,OAAO,CAAC,cAAc,CAAC,CAAsB;IAC7C,OAAO,CAAC,kBAAkB,CAAC,CAA4B;IAEvD,OAAO,CAAC,KAAK,CAAC,CAAoB;IAClC,OAAO,CAAC,gBAAgB,CAAC,CAAS;IAElC,sEAAsE;IACtE,OAAO,CAAC,YAAY,CAAmD;gBAGrE,2BAA2B,CAAC,EACxB,kBAAkB,CAAC,KAAK,CAAC,GACzB,kBAAkB,CAAC,KAAK,CAAC,EAE7B,KAAK,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC;IAiB3B;;;OAGG;IACH,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAI5C;;;;;;;;;OASG;IACG,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAwBrD,gBAAgB;IAwC9B;;OAEG;YACW,MAAM;IAmBpB;;OAEG;IACG,UAAU,CACd,IAAI,EAAE,MAAM,GAAG,WAAW,EAC1B,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC;IAkDhB;;OAEG;IACH,UAAU,IAAI,OAAO;IAIrB;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAOlC;;OAEG;IACH,YAAY,IAAI,IAAI;IAOpB;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAS3B;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAO7B;;OAEG;IACH,IAAI,OAAO,IAAI,YAAY,CAAC,KAAK,CAAC,GAAG,SAAS,CAE7C;IAED;;OAEG;IACH,IAAI,EAAE,IAAI,MAAM,GAAG,SAAS,CAE3B;IAED;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC;IAIzB;;;OAGG;IACG,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBlD;;;OAGG;IACG,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxD;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAUhC;;OAEG;IACG,KAAK,CAAC,eAAe,UAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAqBlE;;;;;;;OAOG;IACH,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,GAAG,SAAS,GAAG,IAAI;IAI3D;;OAEG;IACH,qBAAqB,IAAI,kBAAkB,CAAC,KAAK,CAAC,GAAG,SAAS;CAG/D"}
@@ -1,308 +0,0 @@
1
- "use strict";
2
- /**
3
- * SessionManager - Simplified session management with history
4
- *
5
- * Provides a clean, pragmatic API for managing sessions and conversation history
6
- * in both server and client environments.
7
- */
8
- var __importDefault = (this && this.__importDefault) || function (mod) {
9
- return (mod && mod.__esModule) ? mod : { "default": mod };
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.SessionManager = void 0;
13
- const loglevel_1 = __importDefault(require("loglevel"));
14
- const PersistenceManager_js_1 = require("./PersistenceManager.js");
15
- const CompactionEngine_js_1 = require("./CompactionEngine.js");
16
- const index_js_1 = require("../utils/index.js");
17
- /**
18
- * SessionManager handles session lifecycle and conversation history
19
- */
20
- class SessionManager {
21
- constructor(persistenceManagerOrAdapter,
22
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
23
- agent) {
24
- /** Coalesces concurrent getOrCreate calls for the same session id. */
25
- this.inflightGets = new Map();
26
- if (persistenceManagerOrAdapter) {
27
- // Check if it's a PersistenceManager or an adapter
28
- if ("saveSessionState" in persistenceManagerOrAdapter) {
29
- this.persistenceManager = persistenceManagerOrAdapter;
30
- }
31
- else {
32
- // It's an adapter, create a PersistenceManager
33
- this.persistenceManager = new PersistenceManager_js_1.PersistenceManager({
34
- adapter: persistenceManagerOrAdapter,
35
- });
36
- }
37
- }
38
- this.agent = agent;
39
- }
40
- /**
41
- * Set the default session ID to use when getOrCreate is called without parameters
42
- * @internal Used by Agent to set the sessionId from constructor options
43
- */
44
- setDefaultSessionId(sessionId) {
45
- this.defaultSessionId = sessionId;
46
- }
47
- /**
48
- * Core method: getOrCreate handles both existing and new sessions
49
- * Works for sessionIds that exist, don't exist, or auto-generated IDs.
50
- *
51
- * Concurrent calls for the same id are COALESCED into one in-flight load:
52
- * the Agent constructor fires an un-awaited getOrCreate while a first turn
53
- * may already be starting — without coalescing, both calls can observe a
54
- * missing row and create two competing sessions (one blanking the other's
55
- * persisted state).
56
- */
57
- async getOrCreate(sessionId) {
58
- // SECURITY: a non-string sessionId (e.g. `{ $ne: null }` from an HTTP body
59
- // or `?sessionId[$ne]=` query) forwarded into a NoSQL query becomes an
60
- // operator clause. Reject it at the entry point; `undefined` is allowed and
61
- // auto-generates an id, and an empty string keeps its fall-back semantics.
62
- if (sessionId !== undefined && typeof sessionId !== "string") {
63
- throw new Error("sessionId must be a string");
64
- }
65
- // Use provided sessionId or fall back to default
66
- const effectiveSessionId = sessionId || this.defaultSessionId;
67
- const inflightKey = effectiveSessionId || "__auto__";
68
- const inflight = this.inflightGets.get(inflightKey);
69
- if (inflight) {
70
- return inflight;
71
- }
72
- const promise = this.getOrCreateInner(effectiveSessionId).finally(() => {
73
- this.inflightGets.delete(inflightKey);
74
- });
75
- this.inflightGets.set(inflightKey, promise);
76
- return promise;
77
- }
78
- async getOrCreateInner(effectiveSessionId) {
79
- // If we already have a session and no sessionId specified, return it
80
- if (this.currentSession && !effectiveSessionId) {
81
- return this.currentSession;
82
- }
83
- // If we have a session with the same ID, return it
84
- if (this.currentSession && this.currentSession.id === effectiveSessionId) {
85
- return this.currentSession;
86
- }
87
- // If sessionId provided, try to load it first. A missing row returns
88
- // `null` (→ create below); a FAILED load throws — swallowing it here used
89
- // to fall through to create(), which saved a blank session over the
90
- // existing row and erased the user's conversation on a transient DB error.
91
- if (effectiveSessionId && this.persistenceManager) {
92
- const session = await this.persistenceManager.loadSessionState(effectiveSessionId);
93
- if (session) {
94
- // Loaded session data wins over anything staged before it existed
95
- const pending = this.agent?.consumePendingData();
96
- if (pending && Object.keys(pending).length > 0) {
97
- loglevel_1.default.debug("SessionManager: discarding pre-session staged data in favor of loaded session state", pending);
98
- }
99
- this.currentSession = session;
100
- return session;
101
- }
102
- }
103
- // Create new session (with provided ID or auto-generated)
104
- return this.create(effectiveSessionId);
105
- }
106
- /**
107
- * Create a new session with optional custom ID
108
- */
109
- async create(sessionId) {
110
- const session = (0, index_js_1.createSession)({
111
- id: sessionId,
112
- history: [], // Session manages its own history
113
- // Seed with data staged before the session existed (initialData,
114
- // pre-session updateCollectedData calls)
115
- data: this.agent?.consumePendingData() ?? {},
116
- });
117
- this.currentSession = session;
118
- // Save to persistence if available
119
- if (this.persistenceManager) {
120
- await this.persistenceManager.saveSessionState(session.id, session);
121
- }
122
- return session;
123
- }
124
- /**
125
- * Add a message to the session history
126
- */
127
- async addMessage(role, content, name) {
128
- const session = await this.getOrCreate();
129
- if (!session.history) {
130
- session.history = [];
131
- }
132
- const historyItem = {
133
- role,
134
- content,
135
- ...(name && { name }),
136
- };
137
- session.history.push(historyItem);
138
- // Same hard bound the finalizer applies — keeps interim auto-saves bounded
139
- // on the chat()/stream() path too.
140
- const cap = this.agent?.getAgentOptions().maxHistoryMessages ?? index_js_1.DEFAULT_MAX_HISTORY_MESSAGES;
141
- if (cap > 0 && session.history) {
142
- const bounded = (0, index_js_1.boundConversationHistory)(session.history, cap);
143
- if (bounded !== session.history) {
144
- loglevel_1.default.warn(`SessionManager: history exceeded ${cap} entries; trimmed the oldest.`);
145
- session.history = bounded;
146
- }
147
- }
148
- session.metadata.lastUpdatedAt = new Date();
149
- // Ensure currentSession is updated
150
- this.currentSession = session;
151
- // Apply compaction if configured
152
- try {
153
- const compactionOptions = this.agent?.getCompactionOptions();
154
- if (compactionOptions) {
155
- const result = await CompactionEngine_js_1.CompactionEngine.checkAndCompact(session.history, compactionOptions);
156
- if (result.strategy !== 'none') {
157
- session.history = result.history;
158
- loglevel_1.default.info(`CompactionEngine: applied strategy '${result.strategy}', ` +
159
- `estimatedTokens=${result.estimatedTokens}, messagesCompacted=${result.messagesCompacted}`);
160
- }
161
- }
162
- }
163
- catch (error) {
164
- loglevel_1.default.warn("CompactionEngine: compaction failed, continuing without compaction", error);
165
- }
166
- // Auto-save to persistence
167
- await this.save();
168
- }
169
- /**
170
- * Get the current conversation history
171
- */
172
- getHistory() {
173
- return this.currentSession?.history || [];
174
- }
175
- /**
176
- * Set the entire conversation history
177
- */
178
- setHistory(history) {
179
- if (this.currentSession) {
180
- this.currentSession.history = history ? [...history] : [];
181
- this.currentSession.metadata.lastUpdatedAt = new Date();
182
- }
183
- }
184
- /**
185
- * Clear all conversation history
186
- */
187
- clearHistory() {
188
- if (this.currentSession) {
189
- this.currentSession.history = [];
190
- this.currentSession.metadata.lastUpdatedAt = new Date();
191
- }
192
- }
193
- /**
194
- * Save the current session to persistence
195
- */
196
- async save() {
197
- if (this.currentSession && this.persistenceManager) {
198
- await this.persistenceManager.saveSessionState(this.currentSession.id, this.currentSession);
199
- }
200
- }
201
- /**
202
- * Delete the current session from persistence
203
- */
204
- async delete() {
205
- if (this.currentSession && this.persistenceManager) {
206
- await this.persistenceManager.deleteSession(this.currentSession.id);
207
- this.currentSession = undefined;
208
- }
209
- }
210
- /**
211
- * Get the current session
212
- */
213
- get current() {
214
- return this.currentSession;
215
- }
216
- /**
217
- * Get the current session ID
218
- */
219
- get id() {
220
- return this.currentSession?.id;
221
- }
222
- /**
223
- * Get agent-level collected data from the current session
224
- */
225
- getData() {
226
- return this.currentSession?.data || {};
227
- }
228
- /**
229
- * Set/merge agent-level data into the current session
230
- * This updates the single source of truth for all collected data
231
- */
232
- async setData(data) {
233
- // Ensure session exists
234
- await this.getOrCreate();
235
- if (this.currentSession && data) {
236
- if (this.agent) {
237
- // Route through the agent so schema validation and onDataUpdate
238
- // hooks run; it writes into this session's data directly
239
- await this.agent.updateCollectedData(data);
240
- }
241
- else {
242
- this.currentSession.data = {
243
- ...this.currentSession.data,
244
- ...data,
245
- };
246
- this.currentSession.metadata.lastUpdatedAt = new Date();
247
- }
248
- // Auto-save to persistence
249
- await this.save();
250
- }
251
- }
252
- /**
253
- * Update specific fields in the agent-level data
254
- * Provides a more explicit method for data updates
255
- */
256
- async updateData(updates) {
257
- await this.setData(updates);
258
- }
259
- /**
260
- * Clear all collected data while preserving session structure
261
- */
262
- async clearData() {
263
- if (this.currentSession) {
264
- this.currentSession.data = {};
265
- this.currentSession.metadata.lastUpdatedAt = new Date();
266
- // Auto-save to persistence
267
- await this.save();
268
- }
269
- }
270
- /**
271
- * Reset the session (creates new session, optionally preserving history)
272
- */
273
- async reset(preserveHistory = false) {
274
- const oldId = this.currentSession?.id;
275
- const history = preserveHistory ? this.currentSession?.history : [];
276
- // Create new session
277
- const newSession = await this.create();
278
- // Preserve history if requested
279
- if (preserveHistory && history) {
280
- newSession.history = [...history];
281
- }
282
- // Clean up old session from persistence
283
- if (oldId && this.persistenceManager) {
284
- await this.persistenceManager.deleteSession(oldId);
285
- }
286
- await this.save();
287
- return newSession;
288
- }
289
- /**
290
- * Sync the session state without triggering persistence save.
291
- * Used by modern APIs (stream, generate, chat) to push the finalized session
292
- * back to `currentSession` after completion. Persistence is handled separately
293
- * by `finalizeSession()`.
294
- *
295
- * @internal Called from ResponseModal after stream()/generate() completion
296
- */
297
- syncSession(session) {
298
- this.currentSession = session;
299
- }
300
- /**
301
- * Get the persistence manager (for testing purposes)
302
- */
303
- getPersistenceManager() {
304
- return this.persistenceManager;
305
- }
306
- }
307
- exports.SessionManager = SessionManager;
308
- //# sourceMappingURL=SessionManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SessionManager.js","sourceRoot":"","sources":["../../../src/core/SessionManager.ts"],"names":[],"mappings":"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"}