@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,84 +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 { flow } from "./flow-namespace.js";
14
- import { CompactionEngine } from "./CompactionEngine.js";
15
- import { boundConversationHistory, DEFAULT_MAX_HISTORY_MESSAGES, logger } from "../utils/index.js";
16
- export class SessionFinalizer {
17
- constructor(deps) {
18
- this.deps = deps;
19
- }
20
- /**
21
- * Handle session persistence and finalization.
22
- */
23
- async finalize(session, context) {
24
- const agentOptions = this.deps.getAgentOptions();
25
- // Hard history bound — backstop when no compaction is configured (or
26
- // after it ran). Unbounded growth eventually bricks the thread at the
27
- // provider context limit.
28
- const historyCap = agentOptions.maxHistoryMessages ?? DEFAULT_MAX_HISTORY_MESSAGES;
29
- if (historyCap > 0 && session.history && session.history.length > historyCap) {
30
- const bounded = boundConversationHistory(session.history, historyCap);
31
- if (bounded !== session.history) {
32
- logger.warn(`[SessionFinalizer] Session "${session.id}" history exceeded ${historyCap} entries ` +
33
- `(${session.history.length}); trimmed the oldest. Configure compaction for ` +
34
- `summarization instead of truncation, or raise maxHistoryMessages.`);
35
- session.history = bounded;
36
- }
37
- }
38
- // Deterministic compaction: runs on every finalize (not just addMessage)
39
- // so respond()-only callers get bounded history too
40
- const compactionOptions = this.deps.getCompactionOptions();
41
- if (compactionOptions && session.history && session.history.length > 0) {
42
- try {
43
- const result = await CompactionEngine.checkAndCompact(session.history, compactionOptions);
44
- if (result.strategy !== 'none') {
45
- session.history = result.history;
46
- logger.info(`[SessionFinalizer] Compaction applied: strategy='${result.strategy}', ` +
47
- `estimatedTokens=${result.estimatedTokens}, messagesCompacted=${result.messagesCompacted}`);
48
- }
49
- }
50
- catch (error) {
51
- logger.warn("[SessionFinalizer] Compaction failed at finalize, continuing without compaction", error);
52
- }
53
- }
54
- // Execute finalize BEFORE persisting so its state writes (which now
55
- // land on this turn's session) are captured by the save below. A
56
- // control-flow directive returned by finalize queues on the session —
57
- // the pendingDirective applier applies it at the START of the next turn.
58
- let finalizeDirective;
59
- try {
60
- finalizeDirective = await this.deps.stepLifecycle.runFinalize(session, context);
61
- }
62
- catch (error) {
63
- logger.error("[SessionFinalizer] Step finalize hook failed:", error);
64
- throw error;
65
- }
66
- if (finalizeDirective) {
67
- flow.queuePending(session, finalizeDirective);
68
- }
69
- // Auto-save session step to persistence if configured
70
- const persistenceManager = this.deps.getPersistenceManager();
71
- if (persistenceManager &&
72
- session.id &&
73
- (this.deps.enableAutoSave !== false && agentOptions.persistence?.autoSave !== false)) {
74
- await persistenceManager.saveSessionState(session.id, session);
75
- logger.debug(`[SessionFinalizer] Auto-saved session step to persistence: ${session.id}`);
76
- }
77
- // Update current session if we have one
78
- const currentSession = this.deps.getCurrentSession();
79
- if (currentSession) {
80
- this.deps.setCurrentSession(session);
81
- }
82
- }
83
- }
84
- //# 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,301 +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 log from "loglevel";
8
- import { PersistenceManager } from "./PersistenceManager.js";
9
- import { CompactionEngine } from "./CompactionEngine.js";
10
- import { boundConversationHistory, createSession, DEFAULT_MAX_HISTORY_MESSAGES } from "../utils/index.js";
11
- /**
12
- * SessionManager handles session lifecycle and conversation history
13
- */
14
- export class SessionManager {
15
- constructor(persistenceManagerOrAdapter,
16
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
17
- agent) {
18
- /** Coalesces concurrent getOrCreate calls for the same session id. */
19
- this.inflightGets = new Map();
20
- if (persistenceManagerOrAdapter) {
21
- // Check if it's a PersistenceManager or an adapter
22
- if ("saveSessionState" in persistenceManagerOrAdapter) {
23
- this.persistenceManager = persistenceManagerOrAdapter;
24
- }
25
- else {
26
- // It's an adapter, create a PersistenceManager
27
- this.persistenceManager = new PersistenceManager({
28
- adapter: persistenceManagerOrAdapter,
29
- });
30
- }
31
- }
32
- this.agent = agent;
33
- }
34
- /**
35
- * Set the default session ID to use when getOrCreate is called without parameters
36
- * @internal Used by Agent to set the sessionId from constructor options
37
- */
38
- setDefaultSessionId(sessionId) {
39
- this.defaultSessionId = sessionId;
40
- }
41
- /**
42
- * Core method: getOrCreate handles both existing and new sessions
43
- * Works for sessionIds that exist, don't exist, or auto-generated IDs.
44
- *
45
- * Concurrent calls for the same id are COALESCED into one in-flight load:
46
- * the Agent constructor fires an un-awaited getOrCreate while a first turn
47
- * may already be starting — without coalescing, both calls can observe a
48
- * missing row and create two competing sessions (one blanking the other's
49
- * persisted state).
50
- */
51
- async getOrCreate(sessionId) {
52
- // SECURITY: a non-string sessionId (e.g. `{ $ne: null }` from an HTTP body
53
- // or `?sessionId[$ne]=` query) forwarded into a NoSQL query becomes an
54
- // operator clause. Reject it at the entry point; `undefined` is allowed and
55
- // auto-generates an id, and an empty string keeps its fall-back semantics.
56
- if (sessionId !== undefined && typeof sessionId !== "string") {
57
- throw new Error("sessionId must be a string");
58
- }
59
- // Use provided sessionId or fall back to default
60
- const effectiveSessionId = sessionId || this.defaultSessionId;
61
- const inflightKey = effectiveSessionId || "__auto__";
62
- const inflight = this.inflightGets.get(inflightKey);
63
- if (inflight) {
64
- return inflight;
65
- }
66
- const promise = this.getOrCreateInner(effectiveSessionId).finally(() => {
67
- this.inflightGets.delete(inflightKey);
68
- });
69
- this.inflightGets.set(inflightKey, promise);
70
- return promise;
71
- }
72
- async getOrCreateInner(effectiveSessionId) {
73
- // If we already have a session and no sessionId specified, return it
74
- if (this.currentSession && !effectiveSessionId) {
75
- return this.currentSession;
76
- }
77
- // If we have a session with the same ID, return it
78
- if (this.currentSession && this.currentSession.id === effectiveSessionId) {
79
- return this.currentSession;
80
- }
81
- // If sessionId provided, try to load it first. A missing row returns
82
- // `null` (→ create below); a FAILED load throws — swallowing it here used
83
- // to fall through to create(), which saved a blank session over the
84
- // existing row and erased the user's conversation on a transient DB error.
85
- if (effectiveSessionId && this.persistenceManager) {
86
- const session = await this.persistenceManager.loadSessionState(effectiveSessionId);
87
- if (session) {
88
- // Loaded session data wins over anything staged before it existed
89
- const pending = this.agent?.consumePendingData();
90
- if (pending && Object.keys(pending).length > 0) {
91
- log.debug("SessionManager: discarding pre-session staged data in favor of loaded session state", pending);
92
- }
93
- this.currentSession = session;
94
- return session;
95
- }
96
- }
97
- // Create new session (with provided ID or auto-generated)
98
- return this.create(effectiveSessionId);
99
- }
100
- /**
101
- * Create a new session with optional custom ID
102
- */
103
- async create(sessionId) {
104
- const session = createSession({
105
- id: sessionId,
106
- history: [], // Session manages its own history
107
- // Seed with data staged before the session existed (initialData,
108
- // pre-session updateCollectedData calls)
109
- data: this.agent?.consumePendingData() ?? {},
110
- });
111
- this.currentSession = session;
112
- // Save to persistence if available
113
- if (this.persistenceManager) {
114
- await this.persistenceManager.saveSessionState(session.id, session);
115
- }
116
- return session;
117
- }
118
- /**
119
- * Add a message to the session history
120
- */
121
- async addMessage(role, content, name) {
122
- const session = await this.getOrCreate();
123
- if (!session.history) {
124
- session.history = [];
125
- }
126
- const historyItem = {
127
- role,
128
- content,
129
- ...(name && { name }),
130
- };
131
- session.history.push(historyItem);
132
- // Same hard bound the finalizer applies — keeps interim auto-saves bounded
133
- // on the chat()/stream() path too.
134
- const cap = this.agent?.getAgentOptions().maxHistoryMessages ?? DEFAULT_MAX_HISTORY_MESSAGES;
135
- if (cap > 0 && session.history) {
136
- const bounded = boundConversationHistory(session.history, cap);
137
- if (bounded !== session.history) {
138
- log.warn(`SessionManager: history exceeded ${cap} entries; trimmed the oldest.`);
139
- session.history = bounded;
140
- }
141
- }
142
- session.metadata.lastUpdatedAt = new Date();
143
- // Ensure currentSession is updated
144
- this.currentSession = session;
145
- // Apply compaction if configured
146
- try {
147
- const compactionOptions = this.agent?.getCompactionOptions();
148
- if (compactionOptions) {
149
- const result = await CompactionEngine.checkAndCompact(session.history, compactionOptions);
150
- if (result.strategy !== 'none') {
151
- session.history = result.history;
152
- log.info(`CompactionEngine: applied strategy '${result.strategy}', ` +
153
- `estimatedTokens=${result.estimatedTokens}, messagesCompacted=${result.messagesCompacted}`);
154
- }
155
- }
156
- }
157
- catch (error) {
158
- log.warn("CompactionEngine: compaction failed, continuing without compaction", error);
159
- }
160
- // Auto-save to persistence
161
- await this.save();
162
- }
163
- /**
164
- * Get the current conversation history
165
- */
166
- getHistory() {
167
- return this.currentSession?.history || [];
168
- }
169
- /**
170
- * Set the entire conversation history
171
- */
172
- setHistory(history) {
173
- if (this.currentSession) {
174
- this.currentSession.history = history ? [...history] : [];
175
- this.currentSession.metadata.lastUpdatedAt = new Date();
176
- }
177
- }
178
- /**
179
- * Clear all conversation history
180
- */
181
- clearHistory() {
182
- if (this.currentSession) {
183
- this.currentSession.history = [];
184
- this.currentSession.metadata.lastUpdatedAt = new Date();
185
- }
186
- }
187
- /**
188
- * Save the current session to persistence
189
- */
190
- async save() {
191
- if (this.currentSession && this.persistenceManager) {
192
- await this.persistenceManager.saveSessionState(this.currentSession.id, this.currentSession);
193
- }
194
- }
195
- /**
196
- * Delete the current session from persistence
197
- */
198
- async delete() {
199
- if (this.currentSession && this.persistenceManager) {
200
- await this.persistenceManager.deleteSession(this.currentSession.id);
201
- this.currentSession = undefined;
202
- }
203
- }
204
- /**
205
- * Get the current session
206
- */
207
- get current() {
208
- return this.currentSession;
209
- }
210
- /**
211
- * Get the current session ID
212
- */
213
- get id() {
214
- return this.currentSession?.id;
215
- }
216
- /**
217
- * Get agent-level collected data from the current session
218
- */
219
- getData() {
220
- return this.currentSession?.data || {};
221
- }
222
- /**
223
- * Set/merge agent-level data into the current session
224
- * This updates the single source of truth for all collected data
225
- */
226
- async setData(data) {
227
- // Ensure session exists
228
- await this.getOrCreate();
229
- if (this.currentSession && data) {
230
- if (this.agent) {
231
- // Route through the agent so schema validation and onDataUpdate
232
- // hooks run; it writes into this session's data directly
233
- await this.agent.updateCollectedData(data);
234
- }
235
- else {
236
- this.currentSession.data = {
237
- ...this.currentSession.data,
238
- ...data,
239
- };
240
- this.currentSession.metadata.lastUpdatedAt = new Date();
241
- }
242
- // Auto-save to persistence
243
- await this.save();
244
- }
245
- }
246
- /**
247
- * Update specific fields in the agent-level data
248
- * Provides a more explicit method for data updates
249
- */
250
- async updateData(updates) {
251
- await this.setData(updates);
252
- }
253
- /**
254
- * Clear all collected data while preserving session structure
255
- */
256
- async clearData() {
257
- if (this.currentSession) {
258
- this.currentSession.data = {};
259
- this.currentSession.metadata.lastUpdatedAt = new Date();
260
- // Auto-save to persistence
261
- await this.save();
262
- }
263
- }
264
- /**
265
- * Reset the session (creates new session, optionally preserving history)
266
- */
267
- async reset(preserveHistory = false) {
268
- const oldId = this.currentSession?.id;
269
- const history = preserveHistory ? this.currentSession?.history : [];
270
- // Create new session
271
- const newSession = await this.create();
272
- // Preserve history if requested
273
- if (preserveHistory && history) {
274
- newSession.history = [...history];
275
- }
276
- // Clean up old session from persistence
277
- if (oldId && this.persistenceManager) {
278
- await this.persistenceManager.deleteSession(oldId);
279
- }
280
- await this.save();
281
- return newSession;
282
- }
283
- /**
284
- * Sync the session state without triggering persistence save.
285
- * Used by modern APIs (stream, generate, chat) to push the finalized session
286
- * back to `currentSession` after completion. Persistence is handled separately
287
- * by `finalizeSession()`.
288
- *
289
- * @internal Called from ResponseModal after stream()/generate() completion
290
- */
291
- syncSession(session) {
292
- this.currentSession = session;
293
- }
294
- /**
295
- * Get the persistence manager (for testing purposes)
296
- */
297
- getPersistenceManager() {
298
- return this.persistenceManager;
299
- }
300
- }
301
- //# sourceMappingURL=SessionManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SessionManager.js","sourceRoot":"","sources":["../../src/core/SessionManager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,GAAG,MAAM,UAAU,CAAC;AAG3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,EAAE,wBAAwB,EAAE,aAAa,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AAE1G;;GAEG;AACH,MAAM,OAAO,cAAc;IAUzB,YACE,2BAE6B;IAC7B,8DAA8D;IAC9D,KAAyB;QAR3B,sEAAsE;QAC9D,iBAAY,GAAG,IAAI,GAAG,EAAwC,CAAC;QASrE,IAAI,2BAA2B,EAAE,CAAC;YAChC,mDAAmD;YACnD,IAAI,kBAAkB,IAAI,2BAA2B,EAAE,CAAC;gBACtD,IAAI,CAAC,kBAAkB,GAAG,2BAA2B,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACN,+CAA+C;gBAC/C,IAAI,CAAC,kBAAkB,GAAG,IAAI,kBAAkB,CAAC;oBAC/C,OAAO,EAAE,2BAA2B;iBACrC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,mBAAmB,CAAC,SAAiB;QACnC,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;IACpC,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,WAAW,CAAC,SAAkB;QAClC,2EAA2E;QAC3E,uEAAuE;QACvE,4EAA4E;QAC5E,2EAA2E;QAC3E,IAAI,SAAS,KAAK,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC7D,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QACD,iDAAiD;QACjD,MAAM,kBAAkB,GAAG,SAAS,IAAI,IAAI,CAAC,gBAAgB,CAAC;QAE9D,MAAM,WAAW,GAAG,kBAAkB,IAAI,UAAU,CAAC;QACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;YACrE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC5C,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC5B,kBAAsC;QAGtC,qEAAqE;QACrE,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC/C,OAAO,IAAI,CAAC,cAAc,CAAC;QAC7B,CAAC;QAED,mDAAmD;QACnD,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,EAAE,KAAK,kBAAkB,EAAE,CAAC;YACzE,OAAO,IAAI,CAAC,cAAc,CAAC;QAC7B,CAAC;QAED,qEAAqE;QACrE,0EAA0E;QAC1E,oEAAoE;QACpE,2EAA2E;QAC3E,IAAI,kBAAkB,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAClD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAC5D,kBAAkB,CACnB,CAAC;YACF,IAAI,OAAO,EAAE,CAAC;gBACZ,kEAAkE;gBAClE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,kBAAkB,EAAE,CAAC;gBACjD,IAAI,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC/C,GAAG,CAAC,KAAK,CACP,qFAAqF,EACrF,OAAO,CACR,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;gBAC9B,OAAO,OAAO,CAAC;YACjB,CAAC;QACH,CAAC;QAED,0DAA0D;QAC1D,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,MAAM,CAAC,SAAkB;QACrC,MAAM,OAAO,GAAG,aAAa,CAAQ;YACnC,EAAE,EAAE,SAAS;YACb,OAAO,EAAE,EAAE,EAAE,kCAAkC;YAC/C,iEAAiE;YACjE,yCAAyC;YACzC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,kBAAkB,EAAE,IAAK,EAAqB;SACjE,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAE9B,mCAAmC;QACnC,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,MAAM,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACtE,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CACd,IAA0B,EAC1B,OAAe,EACf,IAAa;QAEb,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAEzC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC;QACvB,CAAC;QAED,MAAM,WAAW,GAAgB;YAC/B,IAAI;YACJ,OAAO;YACP,GAAG,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC;SACtB,CAAC;QAEF,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAClC,2EAA2E;QAC3E,mCAAmC;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,eAAe,EAAE,CAAC,kBAAkB,IAAI,4BAA4B,CAAC;QAC7F,IAAI,GAAG,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,wBAAwB,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAC/D,IAAI,OAAO,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC;gBAChC,GAAG,CAAC,IAAI,CAAC,oCAAoC,GAAG,+BAA+B,CAAC,CAAC;gBACjF,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAC5B,CAAC;QACH,CAAC;QACD,OAAO,CAAC,QAAS,CAAC,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC;QAE7C,mCAAmC;QACnC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAE9B,iCAAiC;QACjC,IAAI,CAAC;YACH,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,EAAE,oBAAoB,EAAE,CAAC;YAC7D,IAAI,iBAAiB,EAAE,CAAC;gBACtB,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;gBAC1F,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;oBAC/B,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;oBACjC,GAAG,CAAC,IAAI,CACN,uCAAuC,MAAM,CAAC,QAAQ,KAAK;wBAC3D,mBAAmB,MAAM,CAAC,eAAe,uBAAuB,MAAM,CAAC,iBAAiB,EAAE,CAC3F,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,IAAI,CAAC,oEAAoE,EAAE,KAAK,CAAC,CAAC;QACxF,CAAC;QAED,2BAA2B;QAC3B,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,cAAc,EAAE,OAAO,IAAI,EAAE,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,OAAgB;QACzB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,IAAI,CAAC,cAAc,CAAC,QAAS,CAAC,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC;QAC3D,CAAC;IACH,CAAC;IAED;;OAEG;IACH,YAAY;QACV,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,EAAE,CAAC;YACjC,IAAI,CAAC,cAAc,CAAC,QAAS,CAAC,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC;QAC3D,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACnD,MAAM,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAC5C,IAAI,CAAC,cAAc,CAAC,EAAE,EACtB,IAAI,CAAC,cAAc,CACpB,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM;QACV,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACnD,MAAM,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YACpE,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAClC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,cAAc,EAAE,IAAI,IAAK,EAAqB,CAAC;IAC7D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO,CAAC,IAAoB;QAChC,wBAAwB;QACxB,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAEzB,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,gEAAgE;gBAChE,yDAAyD;gBACzD,MAAM,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,cAAc,CAAC,IAAI,GAAG;oBACzB,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI;oBAC3B,GAAG,IAAI;iBACR,CAAC;gBACF,IAAI,CAAC,cAAc,CAAC,QAAS,CAAC,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC;YAC3D,CAAC;YAED,2BAA2B;YAC3B,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU,CAAC,OAAuB;QACtC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS;QACb,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,CAAC,cAAc,CAAC,IAAI,GAAG,EAAoB,CAAC;YAChD,IAAI,CAAC,cAAc,CAAC,QAAS,CAAC,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC;YAEzD,2BAA2B;YAC3B,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,eAAe,GAAG,KAAK;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAEpE,qBAAqB;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QAEvC,gCAAgC;QAChC,IAAI,eAAe,IAAI,OAAO,EAAE,CAAC;YAC/B,UAAU,CAAC,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;QACpC,CAAC;QAED,wCAAwC;QACxC,IAAI,KAAK,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACrC,MAAM,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;;;;OAOG;IACH,WAAW,CAAC,OAAwC;QAClD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,qBAAqB;QACnB,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;CACF"}