@falai/agent 2.2.3 → 2.4.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 (397) hide show
  1. package/README.md +2 -2
  2. package/dist/adapters/MemoryAdapter.d.ts.map +1 -1
  3. package/dist/adapters/MemoryAdapter.js +10 -1
  4. package/dist/adapters/MemoryAdapter.js.map +1 -1
  5. package/dist/adapters/MongoAdapter.d.ts.map +1 -1
  6. package/dist/adapters/MongoAdapter.js +33 -2
  7. package/dist/adapters/MongoAdapter.js.map +1 -1
  8. package/dist/adapters/OpenSearchAdapter.d.ts.map +1 -1
  9. package/dist/adapters/OpenSearchAdapter.js +15 -1
  10. package/dist/adapters/OpenSearchAdapter.js.map +1 -1
  11. package/dist/adapters/PostgreSQLAdapter.d.ts.map +1 -1
  12. package/dist/adapters/PostgreSQLAdapter.js +35 -5
  13. package/dist/adapters/PostgreSQLAdapter.js.map +1 -1
  14. package/dist/adapters/PrismaAdapter.d.ts.map +1 -1
  15. package/dist/adapters/PrismaAdapter.js +58 -15
  16. package/dist/adapters/PrismaAdapter.js.map +1 -1
  17. package/dist/adapters/RedisAdapter.d.ts.map +1 -1
  18. package/dist/adapters/RedisAdapter.js +10 -1
  19. package/dist/adapters/RedisAdapter.js.map +1 -1
  20. package/dist/adapters/SQLiteAdapter.d.ts.map +1 -1
  21. package/dist/adapters/SQLiteAdapter.js +38 -6
  22. package/dist/adapters/SQLiteAdapter.js.map +1 -1
  23. package/dist/cjs/adapters/MemoryAdapter.d.ts.map +1 -1
  24. package/dist/cjs/adapters/MemoryAdapter.js +10 -1
  25. package/dist/cjs/adapters/MemoryAdapter.js.map +1 -1
  26. package/dist/cjs/adapters/MongoAdapter.d.ts.map +1 -1
  27. package/dist/cjs/adapters/MongoAdapter.js +33 -2
  28. package/dist/cjs/adapters/MongoAdapter.js.map +1 -1
  29. package/dist/cjs/adapters/OpenSearchAdapter.d.ts.map +1 -1
  30. package/dist/cjs/adapters/OpenSearchAdapter.js +15 -1
  31. package/dist/cjs/adapters/OpenSearchAdapter.js.map +1 -1
  32. package/dist/cjs/adapters/PostgreSQLAdapter.d.ts.map +1 -1
  33. package/dist/cjs/adapters/PostgreSQLAdapter.js +35 -5
  34. package/dist/cjs/adapters/PostgreSQLAdapter.js.map +1 -1
  35. package/dist/cjs/adapters/PrismaAdapter.d.ts.map +1 -1
  36. package/dist/cjs/adapters/PrismaAdapter.js +58 -15
  37. package/dist/cjs/adapters/PrismaAdapter.js.map +1 -1
  38. package/dist/cjs/adapters/RedisAdapter.d.ts.map +1 -1
  39. package/dist/cjs/adapters/RedisAdapter.js +10 -1
  40. package/dist/cjs/adapters/RedisAdapter.js.map +1 -1
  41. package/dist/cjs/adapters/SQLiteAdapter.d.ts.map +1 -1
  42. package/dist/cjs/adapters/SQLiteAdapter.js +38 -6
  43. package/dist/cjs/adapters/SQLiteAdapter.js.map +1 -1
  44. package/dist/cjs/core/Agent.d.ts +28 -18
  45. package/dist/cjs/core/Agent.d.ts.map +1 -1
  46. package/dist/cjs/core/Agent.js +58 -68
  47. package/dist/cjs/core/Agent.js.map +1 -1
  48. package/dist/cjs/core/AutoChainExecutor.d.ts.map +1 -1
  49. package/dist/cjs/core/AutoChainExecutor.js +14 -20
  50. package/dist/cjs/core/AutoChainExecutor.js.map +1 -1
  51. package/dist/cjs/core/BranchEvaluator.d.ts +4 -3
  52. package/dist/cjs/core/BranchEvaluator.d.ts.map +1 -1
  53. package/dist/cjs/core/BranchEvaluator.js +18 -23
  54. package/dist/cjs/core/BranchEvaluator.js.map +1 -1
  55. package/dist/cjs/core/Flow.d.ts +2 -1
  56. package/dist/cjs/core/Flow.d.ts.map +1 -1
  57. package/dist/cjs/core/Flow.js +10 -3
  58. package/dist/cjs/core/Flow.js.map +1 -1
  59. package/dist/cjs/core/FlowRouter.d.ts +1 -0
  60. package/dist/cjs/core/FlowRouter.d.ts.map +1 -1
  61. package/dist/cjs/core/FlowRouter.js +28 -5
  62. package/dist/cjs/core/FlowRouter.js.map +1 -1
  63. package/dist/cjs/core/PersistenceManager.d.ts +3 -0
  64. package/dist/cjs/core/PersistenceManager.d.ts.map +1 -1
  65. package/dist/cjs/core/PersistenceManager.js +57 -5
  66. package/dist/cjs/core/PersistenceManager.js.map +1 -1
  67. package/dist/cjs/core/PromptComposer.d.ts.map +1 -1
  68. package/dist/cjs/core/PromptComposer.js +24 -10
  69. package/dist/cjs/core/PromptComposer.js.map +1 -1
  70. package/dist/cjs/core/ResponseGenerationError.d.ts +30 -0
  71. package/dist/cjs/core/ResponseGenerationError.d.ts.map +1 -0
  72. package/dist/cjs/core/ResponseGenerationError.js +37 -0
  73. package/dist/cjs/core/ResponseGenerationError.js.map +1 -0
  74. package/dist/cjs/core/ResponseModal.d.ts +43 -96
  75. package/dist/cjs/core/ResponseModal.d.ts.map +1 -1
  76. package/dist/cjs/core/ResponseModal.js +184 -1183
  77. package/dist/cjs/core/ResponseModal.js.map +1 -1
  78. package/dist/cjs/core/ResponsePipeline.d.ts +58 -152
  79. package/dist/cjs/core/ResponsePipeline.d.ts.map +1 -1
  80. package/dist/cjs/core/ResponsePipeline.js +408 -457
  81. package/dist/cjs/core/ResponsePipeline.js.map +1 -1
  82. package/dist/cjs/core/SessionFinalizer.d.ts +34 -0
  83. package/dist/cjs/core/SessionFinalizer.d.ts.map +1 -0
  84. package/dist/cjs/core/SessionFinalizer.js +61 -0
  85. package/dist/cjs/core/SessionFinalizer.js.map +1 -0
  86. package/dist/cjs/core/SessionManager.d.ts +1 -1
  87. package/dist/cjs/core/SessionManager.d.ts.map +1 -1
  88. package/dist/cjs/core/SessionManager.js +18 -7
  89. package/dist/cjs/core/SessionManager.js.map +1 -1
  90. package/dist/cjs/core/SignalCoordinator.d.ts +103 -0
  91. package/dist/cjs/core/SignalCoordinator.d.ts.map +1 -0
  92. package/dist/cjs/core/SignalCoordinator.js +207 -0
  93. package/dist/cjs/core/SignalCoordinator.js.map +1 -0
  94. package/dist/cjs/core/SignalEvaluator.d.ts +2 -2
  95. package/dist/cjs/core/SignalEvaluator.d.ts.map +1 -1
  96. package/dist/cjs/core/SignalEvaluator.js +13 -27
  97. package/dist/cjs/core/SignalEvaluator.js.map +1 -1
  98. package/dist/cjs/core/SignalProcessor.d.ts.map +1 -1
  99. package/dist/cjs/core/SignalProcessor.js +1 -3
  100. package/dist/cjs/core/SignalProcessor.js.map +1 -1
  101. package/dist/cjs/core/Step.d.ts +3 -1
  102. package/dist/cjs/core/Step.d.ts.map +1 -1
  103. package/dist/cjs/core/Step.js +10 -3
  104. package/dist/cjs/core/Step.js.map +1 -1
  105. package/dist/cjs/core/StepLifecycle.d.ts +33 -0
  106. package/dist/cjs/core/StepLifecycle.d.ts.map +1 -0
  107. package/dist/cjs/core/StepLifecycle.js +97 -0
  108. package/dist/cjs/core/StepLifecycle.js.map +1 -0
  109. package/dist/cjs/core/ToolLoopExecutor.d.ts +104 -0
  110. package/dist/cjs/core/ToolLoopExecutor.d.ts.map +1 -0
  111. package/dist/cjs/core/ToolLoopExecutor.js +391 -0
  112. package/dist/cjs/core/ToolLoopExecutor.js.map +1 -0
  113. package/dist/cjs/core/ToolManager.d.ts +1 -1
  114. package/dist/cjs/core/ToolManager.d.ts.map +1 -1
  115. package/dist/cjs/core/ToolManager.js.map +1 -1
  116. package/dist/cjs/index.d.ts +4 -5
  117. package/dist/cjs/index.d.ts.map +1 -1
  118. package/dist/cjs/index.js +7 -6
  119. package/dist/cjs/index.js.map +1 -1
  120. package/dist/cjs/providers/AnthropicProvider.d.ts +2 -0
  121. package/dist/cjs/providers/AnthropicProvider.d.ts.map +1 -1
  122. package/dist/cjs/providers/AnthropicProvider.js +28 -56
  123. package/dist/cjs/providers/AnthropicProvider.js.map +1 -1
  124. package/dist/cjs/providers/DeepSeekProvider.d.ts +25 -21
  125. package/dist/cjs/providers/DeepSeekProvider.d.ts.map +1 -1
  126. package/dist/cjs/providers/DeepSeekProvider.js +48 -407
  127. package/dist/cjs/providers/DeepSeekProvider.js.map +1 -1
  128. package/dist/cjs/providers/GeminiProvider.d.ts +2 -0
  129. package/dist/cjs/providers/GeminiProvider.d.ts.map +1 -1
  130. package/dist/cjs/providers/GeminiProvider.js +27 -56
  131. package/dist/cjs/providers/GeminiProvider.js.map +1 -1
  132. package/dist/cjs/providers/OpenAICompatibleProvider.d.ts +129 -0
  133. package/dist/cjs/providers/OpenAICompatibleProvider.d.ts.map +1 -0
  134. package/dist/cjs/providers/OpenAICompatibleProvider.js +485 -0
  135. package/dist/cjs/providers/OpenAICompatibleProvider.js.map +1 -0
  136. package/dist/cjs/providers/OpenAIProvider.d.ts +9 -28
  137. package/dist/cjs/providers/OpenAIProvider.d.ts.map +1 -1
  138. package/dist/cjs/providers/OpenAIProvider.js +23 -417
  139. package/dist/cjs/providers/OpenAIProvider.js.map +1 -1
  140. package/dist/cjs/providers/OpenRouterProvider.d.ts +10 -27
  141. package/dist/cjs/providers/OpenRouterProvider.d.ts.map +1 -1
  142. package/dist/cjs/providers/OpenRouterProvider.js +28 -417
  143. package/dist/cjs/providers/OpenRouterProvider.js.map +1 -1
  144. package/dist/cjs/providers/errorClassification.d.ts +61 -0
  145. package/dist/cjs/providers/errorClassification.d.ts.map +1 -0
  146. package/dist/cjs/providers/errorClassification.js +123 -0
  147. package/dist/cjs/providers/errorClassification.js.map +1 -0
  148. package/dist/cjs/providers/index.d.ts +4 -0
  149. package/dist/cjs/providers/index.d.ts.map +1 -1
  150. package/dist/cjs/providers/index.js +7 -1
  151. package/dist/cjs/providers/index.js.map +1 -1
  152. package/dist/cjs/types/agent.d.ts +2 -1
  153. package/dist/cjs/types/agent.d.ts.map +1 -1
  154. package/dist/cjs/types/ai.d.ts +20 -0
  155. package/dist/cjs/types/ai.d.ts.map +1 -1
  156. package/dist/cjs/types/errors.d.ts +33 -0
  157. package/dist/cjs/types/errors.d.ts.map +1 -1
  158. package/dist/cjs/types/errors.js +37 -1
  159. package/dist/cjs/types/errors.js.map +1 -1
  160. package/dist/cjs/types/flow.d.ts +10 -5
  161. package/dist/cjs/types/flow.d.ts.map +1 -1
  162. package/dist/cjs/types/history.d.ts +1 -1
  163. package/dist/cjs/types/history.d.ts.map +1 -1
  164. package/dist/cjs/types/index.d.ts +5 -4
  165. package/dist/cjs/types/index.d.ts.map +1 -1
  166. package/dist/cjs/types/index.js +3 -1
  167. package/dist/cjs/types/index.js.map +1 -1
  168. package/dist/cjs/types/persistence.d.ts +43 -2
  169. package/dist/cjs/types/persistence.d.ts.map +1 -1
  170. package/dist/cjs/types/session.d.ts +8 -0
  171. package/dist/cjs/types/session.d.ts.map +1 -1
  172. package/dist/cjs/types/signals.d.ts +21 -11
  173. package/dist/cjs/types/signals.d.ts.map +1 -1
  174. package/dist/cjs/types/template.d.ts +3 -1
  175. package/dist/cjs/types/template.d.ts.map +1 -1
  176. package/dist/cjs/types/tool.d.ts +4 -4
  177. package/dist/cjs/types/tool.d.ts.map +1 -1
  178. package/dist/cjs/utils/condition.d.ts +19 -0
  179. package/dist/cjs/utils/condition.d.ts.map +1 -1
  180. package/dist/cjs/utils/condition.js +86 -15
  181. package/dist/cjs/utils/condition.js.map +1 -1
  182. package/dist/cjs/utils/session.d.ts +1 -0
  183. package/dist/cjs/utils/session.d.ts.map +1 -1
  184. package/dist/cjs/utils/session.js +1 -0
  185. package/dist/cjs/utils/session.js.map +1 -1
  186. package/dist/core/Agent.d.ts +28 -18
  187. package/dist/core/Agent.d.ts.map +1 -1
  188. package/dist/core/Agent.js +58 -68
  189. package/dist/core/Agent.js.map +1 -1
  190. package/dist/core/AutoChainExecutor.d.ts.map +1 -1
  191. package/dist/core/AutoChainExecutor.js +14 -20
  192. package/dist/core/AutoChainExecutor.js.map +1 -1
  193. package/dist/core/BranchEvaluator.d.ts +4 -3
  194. package/dist/core/BranchEvaluator.d.ts.map +1 -1
  195. package/dist/core/BranchEvaluator.js +18 -23
  196. package/dist/core/BranchEvaluator.js.map +1 -1
  197. package/dist/core/Flow.d.ts +2 -1
  198. package/dist/core/Flow.d.ts.map +1 -1
  199. package/dist/core/Flow.js +10 -3
  200. package/dist/core/Flow.js.map +1 -1
  201. package/dist/core/FlowRouter.d.ts +1 -0
  202. package/dist/core/FlowRouter.d.ts.map +1 -1
  203. package/dist/core/FlowRouter.js +28 -5
  204. package/dist/core/FlowRouter.js.map +1 -1
  205. package/dist/core/PersistenceManager.d.ts +3 -0
  206. package/dist/core/PersistenceManager.d.ts.map +1 -1
  207. package/dist/core/PersistenceManager.js +58 -6
  208. package/dist/core/PersistenceManager.js.map +1 -1
  209. package/dist/core/PromptComposer.d.ts.map +1 -1
  210. package/dist/core/PromptComposer.js +24 -10
  211. package/dist/core/PromptComposer.js.map +1 -1
  212. package/dist/core/ResponseGenerationError.d.ts +30 -0
  213. package/dist/core/ResponseGenerationError.d.ts.map +1 -0
  214. package/dist/core/ResponseGenerationError.js +33 -0
  215. package/dist/core/ResponseGenerationError.js.map +1 -0
  216. package/dist/core/ResponseModal.d.ts +43 -96
  217. package/dist/core/ResponseModal.d.ts.map +1 -1
  218. package/dist/core/ResponseModal.js +177 -1175
  219. package/dist/core/ResponseModal.js.map +1 -1
  220. package/dist/core/ResponsePipeline.d.ts +58 -152
  221. package/dist/core/ResponsePipeline.d.ts.map +1 -1
  222. package/dist/core/ResponsePipeline.js +409 -458
  223. package/dist/core/ResponsePipeline.js.map +1 -1
  224. package/dist/core/SessionFinalizer.d.ts +34 -0
  225. package/dist/core/SessionFinalizer.d.ts.map +1 -0
  226. package/dist/core/SessionFinalizer.js +57 -0
  227. package/dist/core/SessionFinalizer.js.map +1 -0
  228. package/dist/core/SessionManager.d.ts +1 -1
  229. package/dist/core/SessionManager.d.ts.map +1 -1
  230. package/dist/core/SessionManager.js +18 -7
  231. package/dist/core/SessionManager.js.map +1 -1
  232. package/dist/core/SignalCoordinator.d.ts +103 -0
  233. package/dist/core/SignalCoordinator.d.ts.map +1 -0
  234. package/dist/core/SignalCoordinator.js +203 -0
  235. package/dist/core/SignalCoordinator.js.map +1 -0
  236. package/dist/core/SignalEvaluator.d.ts +2 -2
  237. package/dist/core/SignalEvaluator.d.ts.map +1 -1
  238. package/dist/core/SignalEvaluator.js +13 -27
  239. package/dist/core/SignalEvaluator.js.map +1 -1
  240. package/dist/core/SignalProcessor.d.ts.map +1 -1
  241. package/dist/core/SignalProcessor.js +1 -3
  242. package/dist/core/SignalProcessor.js.map +1 -1
  243. package/dist/core/Step.d.ts +3 -1
  244. package/dist/core/Step.d.ts.map +1 -1
  245. package/dist/core/Step.js +10 -3
  246. package/dist/core/Step.js.map +1 -1
  247. package/dist/core/StepLifecycle.d.ts +33 -0
  248. package/dist/core/StepLifecycle.d.ts.map +1 -0
  249. package/dist/core/StepLifecycle.js +93 -0
  250. package/dist/core/StepLifecycle.js.map +1 -0
  251. package/dist/core/ToolLoopExecutor.d.ts +104 -0
  252. package/dist/core/ToolLoopExecutor.d.ts.map +1 -0
  253. package/dist/core/ToolLoopExecutor.js +387 -0
  254. package/dist/core/ToolLoopExecutor.js.map +1 -0
  255. package/dist/core/ToolManager.d.ts +1 -1
  256. package/dist/core/ToolManager.d.ts.map +1 -1
  257. package/dist/core/ToolManager.js.map +1 -1
  258. package/dist/index.d.ts +4 -5
  259. package/dist/index.d.ts.map +1 -1
  260. package/dist/index.js +3 -3
  261. package/dist/index.js.map +1 -1
  262. package/dist/providers/AnthropicProvider.d.ts +2 -0
  263. package/dist/providers/AnthropicProvider.d.ts.map +1 -1
  264. package/dist/providers/AnthropicProvider.js +22 -50
  265. package/dist/providers/AnthropicProvider.js.map +1 -1
  266. package/dist/providers/DeepSeekProvider.d.ts +25 -21
  267. package/dist/providers/DeepSeekProvider.d.ts.map +1 -1
  268. package/dist/providers/DeepSeekProvider.js +49 -408
  269. package/dist/providers/DeepSeekProvider.js.map +1 -1
  270. package/dist/providers/GeminiProvider.d.ts +2 -0
  271. package/dist/providers/GeminiProvider.d.ts.map +1 -1
  272. package/dist/providers/GeminiProvider.js +21 -50
  273. package/dist/providers/GeminiProvider.js.map +1 -1
  274. package/dist/providers/OpenAICompatibleProvider.d.ts +129 -0
  275. package/dist/providers/OpenAICompatibleProvider.d.ts.map +1 -0
  276. package/dist/providers/OpenAICompatibleProvider.js +481 -0
  277. package/dist/providers/OpenAICompatibleProvider.js.map +1 -0
  278. package/dist/providers/OpenAIProvider.d.ts +9 -28
  279. package/dist/providers/OpenAIProvider.d.ts.map +1 -1
  280. package/dist/providers/OpenAIProvider.js +23 -417
  281. package/dist/providers/OpenAIProvider.js.map +1 -1
  282. package/dist/providers/OpenRouterProvider.d.ts +10 -27
  283. package/dist/providers/OpenRouterProvider.d.ts.map +1 -1
  284. package/dist/providers/OpenRouterProvider.js +28 -417
  285. package/dist/providers/OpenRouterProvider.js.map +1 -1
  286. package/dist/providers/errorClassification.d.ts +61 -0
  287. package/dist/providers/errorClassification.d.ts.map +1 -0
  288. package/dist/providers/errorClassification.js +116 -0
  289. package/dist/providers/errorClassification.js.map +1 -0
  290. package/dist/providers/index.d.ts +4 -0
  291. package/dist/providers/index.d.ts.map +1 -1
  292. package/dist/providers/index.js +2 -0
  293. package/dist/providers/index.js.map +1 -1
  294. package/dist/types/agent.d.ts +2 -1
  295. package/dist/types/agent.d.ts.map +1 -1
  296. package/dist/types/ai.d.ts +20 -0
  297. package/dist/types/ai.d.ts.map +1 -1
  298. package/dist/types/errors.d.ts +33 -0
  299. package/dist/types/errors.d.ts.map +1 -1
  300. package/dist/types/errors.js +34 -0
  301. package/dist/types/errors.js.map +1 -1
  302. package/dist/types/flow.d.ts +10 -5
  303. package/dist/types/flow.d.ts.map +1 -1
  304. package/dist/types/history.d.ts +1 -1
  305. package/dist/types/history.d.ts.map +1 -1
  306. package/dist/types/index.d.ts +5 -4
  307. package/dist/types/index.d.ts.map +1 -1
  308. package/dist/types/index.js +1 -1
  309. package/dist/types/index.js.map +1 -1
  310. package/dist/types/persistence.d.ts +43 -2
  311. package/dist/types/persistence.d.ts.map +1 -1
  312. package/dist/types/session.d.ts +8 -0
  313. package/dist/types/session.d.ts.map +1 -1
  314. package/dist/types/signals.d.ts +21 -11
  315. package/dist/types/signals.d.ts.map +1 -1
  316. package/dist/types/template.d.ts +3 -1
  317. package/dist/types/template.d.ts.map +1 -1
  318. package/dist/types/tool.d.ts +4 -4
  319. package/dist/types/tool.d.ts.map +1 -1
  320. package/dist/utils/condition.d.ts +19 -0
  321. package/dist/utils/condition.d.ts.map +1 -1
  322. package/dist/utils/condition.js +84 -15
  323. package/dist/utils/condition.js.map +1 -1
  324. package/dist/utils/session.d.ts +1 -0
  325. package/dist/utils/session.d.ts.map +1 -1
  326. package/dist/utils/session.js +1 -0
  327. package/dist/utils/session.js.map +1 -1
  328. package/docs/README.md +1 -1
  329. package/docs/guides/branching.md +1 -1
  330. package/docs/guides/compaction.md +12 -5
  331. package/docs/guides/conditions.md +15 -2
  332. package/docs/guides/error-handling.md +59 -9
  333. package/docs/guides/instructions.md +2 -2
  334. package/docs/guides/persistence.md +69 -2
  335. package/docs/guides/streaming.md +3 -1
  336. package/docs/migration/README.md +5 -1
  337. package/docs/migration/v2-3-to-v2-4.md +316 -0
  338. package/docs/reference/adapters.md +55 -7
  339. package/docs/reference/branches.md +2 -2
  340. package/docs/reference/create-agent.md +3 -3
  341. package/docs/reference/errors.md +66 -1
  342. package/docs/reference/flow.md +1 -1
  343. package/docs/reference/instruction.md +4 -4
  344. package/docs/reference/providers.md +100 -3
  345. package/docs/reference/signals.md +18 -8
  346. package/docs/reference/step.md +2 -2
  347. package/docs/reference/tool.md +3 -1
  348. package/docs/start/05-go-to-production.md +3 -0
  349. package/package.json +1 -1
  350. package/src/adapters/MemoryAdapter.ts +15 -1
  351. package/src/adapters/MongoAdapter.ts +41 -2
  352. package/src/adapters/OpenSearchAdapter.ts +24 -1
  353. package/src/adapters/PostgreSQLAdapter.ts +45 -5
  354. package/src/adapters/PrismaAdapter.ts +82 -16
  355. package/src/adapters/RedisAdapter.ts +19 -1
  356. package/src/adapters/SQLiteAdapter.ts +47 -5
  357. package/src/core/Agent.ts +70 -85
  358. package/src/core/AutoChainExecutor.ts +27 -57
  359. package/src/core/BranchEvaluator.ts +24 -30
  360. package/src/core/Flow.ts +10 -3
  361. package/src/core/FlowRouter.ts +36 -4
  362. package/src/core/PersistenceManager.ts +79 -10
  363. package/src/core/PromptComposer.ts +25 -12
  364. package/src/core/ResponseGenerationError.ts +56 -0
  365. package/src/core/ResponseModal.ts +241 -1465
  366. package/src/core/ResponsePipeline.ts +492 -662
  367. package/src/core/SessionFinalizer.ts +78 -0
  368. package/src/core/SessionManager.ts +21 -9
  369. package/src/core/SignalCoordinator.ts +263 -0
  370. package/src/core/SignalEvaluator.ts +14 -30
  371. package/src/core/SignalProcessor.ts +1 -4
  372. package/src/core/Step.ts +11 -3
  373. package/src/core/StepLifecycle.ts +139 -0
  374. package/src/core/ToolLoopExecutor.ts +492 -0
  375. package/src/core/ToolManager.ts +2 -1
  376. package/src/index.ts +7 -5
  377. package/src/providers/AnthropicProvider.ts +30 -72
  378. package/src/providers/DeepSeekProvider.ts +74 -586
  379. package/src/providers/GeminiProvider.ts +29 -70
  380. package/src/providers/OpenAICompatibleProvider.ts +738 -0
  381. package/src/providers/OpenAIProvider.ts +29 -602
  382. package/src/providers/OpenRouterProvider.ts +38 -596
  383. package/src/providers/errorClassification.ts +172 -0
  384. package/src/providers/index.ts +13 -0
  385. package/src/types/agent.ts +2 -1
  386. package/src/types/ai.ts +22 -0
  387. package/src/types/errors.ts +57 -0
  388. package/src/types/flow.ts +10 -5
  389. package/src/types/history.ts +1 -2
  390. package/src/types/index.ts +5 -1
  391. package/src/types/persistence.ts +50 -2
  392. package/src/types/session.ts +9 -0
  393. package/src/types/signals.ts +23 -11
  394. package/src/types/template.ts +3 -1
  395. package/src/types/tool.ts +10 -10
  396. package/src/utils/condition.ts +115 -18
  397. package/src/utils/session.ts +2 -0
@@ -11,439 +11,80 @@ Object.defineProperty(exports, "__esModule", { value: true });
11
11
  exports.DeepSeekProvider = void 0;
12
12
  const openai_1 = __importDefault(require("openai"));
13
13
  const utils_1 = require("../utils");
14
- const DEFAULT_RETRY_CONFIG = {
15
- timeout: 60000,
16
- retries: 3,
17
- };
18
- /**
19
- * Type guard to check if error is ErrorWithStatus
20
- */
21
- function isErrorWithStatus(error) {
22
- return (typeof error === "object" &&
23
- error !== null &&
24
- ("status" in error || "code" in error || "message" in error));
25
- }
26
- /**
27
- * Safely extract error message
28
- */
29
- function getErrorMessage(error) {
30
- if (error instanceof Error) {
31
- return error.message;
32
- }
33
- if (isErrorWithStatus(error) && error.message) {
34
- return error.message;
35
- }
36
- return String(error);
37
- }
38
- /**
39
- * Determines if an error should trigger backup model usage
40
- */
41
- const shouldUseBackupModel = (error) => {
42
- if (!isErrorWithStatus(error)) {
43
- return false;
44
- }
45
- // Server errors
46
- if (error.status === 500 || error.status === 503) {
47
- return true;
48
- }
49
- // Rate limiting
50
- if (error.status === 429) {
51
- return true;
52
- }
53
- // Model overloaded or unavailable
54
- if (error.code === "model_not_found" || error.code === "model_overloaded") {
55
- return true;
56
- }
57
- const message = getErrorMessage(error);
58
- if (message.includes("overloaded") ||
59
- message.includes("unavailable") ||
60
- message.includes("internal error") ||
61
- message.includes("Internal error")) {
62
- return true;
63
- }
64
- return false;
65
- };
14
+ const OpenAICompatibleProvider_1 = require("./OpenAICompatibleProvider");
66
15
  /**
67
16
  * DeepSeek provider implementation using the OpenAI-compatible API.
68
17
  * Supports deepseek-chat and deepseek-reasoner with optional thinking mode.
69
18
  *
70
19
  * DeepSeek streams reasoning content via `delta.reasoning_content` when
71
20
  * thinking mode is enabled. Tool calls follow the standard OpenAI format.
21
+ * Structured output uses chat completions with a json_schema response
22
+ * format (DeepSeek does not expose the responses.parse API).
72
23
  */
73
- class DeepSeekProvider {
24
+ class DeepSeekProvider extends OpenAICompatibleProvider_1.OpenAICompatibleProvider {
74
25
  constructor(options) {
75
- this.name = "deepseek";
76
- const { apiKey, model, backupModels = [], baseURL = "https://api.deepseek.com", config, retryConfig, } = options;
26
+ const { apiKey, model, backupModels, baseURL = "https://api.deepseek.com", config, retryConfig, } = options;
77
27
  if (!apiKey) {
78
28
  throw new Error("DeepSeek API key is required");
79
29
  }
80
30
  if (!model) {
81
31
  throw new Error("Model is required. Example: 'deepseek-chat' or 'deepseek-reasoner'");
82
32
  }
83
- this.client = new openai_1.default({
84
- apiKey,
85
- baseURL,
33
+ super({
34
+ client: new openai_1.default({
35
+ apiKey,
36
+ baseURL,
37
+ }),
38
+ model,
39
+ backupModels,
40
+ config,
41
+ retryConfig,
86
42
  });
87
- this.primaryModel = model;
88
- this.backupModels = backupModels;
89
- this.config = config;
90
- this.retryConfig = {
91
- timeout: retryConfig?.timeout || DEFAULT_RETRY_CONFIG.timeout,
92
- retries: retryConfig?.retries || DEFAULT_RETRY_CONFIG.retries,
43
+ this.name = "deepseek";
44
+ this.capabilities = {
45
+ supportsTools: true,
46
+ supportsNativeJsonSchema: true,
47
+ supportsStreaming: true,
48
+ supportsStreamingToolCalls: true,
49
+ supportsPromptCaching: false,
93
50
  };
51
+ this.logLabel = "DEEPSEEK";
52
+ this.displayName = "DeepSeek";
94
53
  }
95
54
  /**
96
- * Build OpenAI-formatted messages from HistoryItem[] array.
97
- * DeepSeek uses OpenAI-compatible message format.
55
+ * DeepSeek has no responses.parse API; structured output goes through
56
+ * chat completions with a json_schema response_format.
98
57
  */
99
- buildMessages(history) {
100
- const messages = [];
101
- for (const item of history) {
102
- switch (item.role) {
103
- case "system":
104
- messages.push({ role: "system", content: item.content });
105
- break;
106
- case "user":
107
- messages.push({ role: "user", content: item.content });
108
- break;
109
- case "assistant":
110
- if (item.tool_calls && item.tool_calls.length > 0) {
111
- messages.push({
112
- role: "assistant",
113
- content: item.content || null,
114
- tool_calls: item.tool_calls.map((tc) => ({
115
- id: tc.id,
116
- type: "function",
117
- function: {
118
- name: tc.name,
119
- arguments: JSON.stringify(tc.arguments),
120
- },
121
- })),
122
- });
123
- }
124
- else {
125
- messages.push({ role: "assistant", content: item.content || "" });
126
- }
127
- break;
128
- case "tool":
129
- messages.push({
130
- role: "tool",
131
- tool_call_id: item.tool_call_id,
132
- content: typeof item.content === "string"
133
- ? item.content
134
- : JSON.stringify(item.content),
135
- });
136
- break;
137
- }
138
- }
139
- return messages;
58
+ async executeStructuredGenerate(model, input, _jsonSchema) {
59
+ return this.executeChatCompletion(model, input);
140
60
  }
141
61
  /**
142
- * Adapt common schema format to DeepSeek's format.
143
- * DeepSeek is OpenAI-compatible and uses standard JSON Schema.
62
+ * DeepSeek supports native json_schema enforcement in chat completions
63
+ * (both streaming and non-streaming).
144
64
  */
145
- adaptSchema(schema) {
146
- return schema;
147
- }
148
- async generateMessage(input) {
149
- return this.generateWithBackup(input);
150
- }
151
- async *generateMessageStream(input) {
152
- yield* this.generateStreamWithBackup(input);
153
- }
154
- async generateWithBackup(input) {
155
- try {
156
- return await this.generateWithModel(this.primaryModel, input);
157
- }
158
- catch (primaryError) {
159
- const primaryErrMsg = getErrorMessage(primaryError);
160
- utils_1.logger.warn(`[DEEPSEEK] Primary model ${this.primaryModel} failed: ${primaryErrMsg}`);
161
- if (!shouldUseBackupModel(primaryError)) {
162
- throw primaryError;
163
- }
164
- utils_1.logger.debug(`[DEEPSEEK] Trying backup models`);
165
- let lastBackupError = primaryError;
166
- for (let i = 0; i < this.backupModels.length; i++) {
167
- const backupModel = this.backupModels[i];
168
- utils_1.logger.debug(`[DEEPSEEK] Trying backup model ${i + 1}/${this.backupModels.length}: ${backupModel}`);
169
- try {
170
- const result = await this.generateWithModel(backupModel, input);
171
- utils_1.logger.debug(`[DEEPSEEK] Backup model ${backupModel} succeeded`);
172
- return result;
173
- }
174
- catch (backupError) {
175
- const backupErrMsg = getErrorMessage(backupError);
176
- utils_1.logger.warn(`[DEEPSEEK] Backup model ${backupModel} failed: ${backupErrMsg}`);
177
- lastBackupError = backupError;
178
- if (!shouldUseBackupModel(backupError) &&
179
- i < this.backupModels.length - 1) {
180
- utils_1.logger.debug(`[DEEPSEEK] Backup model error doesn't qualify for further attempts`);
181
- break;
182
- }
183
- }
184
- }
185
- const lastBackupErrMsg = getErrorMessage(lastBackupError);
186
- utils_1.logger.error(`[DEEPSEEK] All models failed. Primary: ${primaryErrMsg}, Last backup: ${lastBackupErrMsg}`);
187
- throw lastBackupError;
188
- }
189
- }
190
- async generateWithModel(model, input) {
191
- const operation = async () => {
192
- const historyMessages = this.buildMessages(input.history);
193
- historyMessages.push({ role: "user", content: input.prompt });
194
- const params = {
195
- model,
196
- messages: historyMessages,
197
- ...this.config,
198
- };
199
- // Override with input parameters if provided
200
- if (input.parameters?.maxOutputTokens !== undefined) {
201
- params.max_tokens = input.parameters.maxOutputTokens;
202
- }
203
- // Add tools if provided
204
- if (input.tools && input.tools.length > 0) {
205
- params.tools = input.tools.map((tool) => ({
206
- type: "function",
207
- function: {
208
- name: tool.name || tool.id,
209
- description: tool.description,
210
- parameters: tool.parameters,
211
- },
212
- }));
213
- params.tool_choice = "auto";
214
- }
215
- // Use structured output if JSON schema is provided
216
- if (input.parameters?.jsonSchema) {
217
- params.response_format = {
218
- type: "json_schema",
219
- json_schema: {
220
- name: input.parameters.schemaName || "structured_output",
221
- schema: this.adaptSchema(input.parameters.jsonSchema),
222
- },
223
- };
224
- }
225
- const response = await this.client.chat.completions.create(params);
226
- const message = response.choices[0]?.message?.content || "";
227
- let toolCalls = [];
228
- if (response.choices?.[0]?.message?.tool_calls) {
229
- toolCalls = response.choices[0].message.tool_calls
230
- .filter((toolCall) => toolCall.type === "function")
231
- .map((toolCall) => {
232
- let toolCallArguments = {};
233
- try {
234
- toolCallArguments = JSON.parse(toolCall.function.arguments);
235
- }
236
- catch (error) {
237
- utils_1.logger.warn(`[DEEPSEEK] Failed to parse tool call arguments: ${getErrorMessage(error)}`);
238
- toolCallArguments = {};
239
- }
240
- return {
241
- toolName: toolCall.function.name,
242
- arguments: toolCallArguments,
243
- };
244
- });
245
- }
246
- // Only throw error if we have no text AND no function calls
247
- if (!message && toolCalls.length === 0) {
248
- throw new Error("No response from DeepSeek");
249
- }
250
- // Parse structured output if schema was provided
251
- let structured;
252
- if (input.parameters?.jsonSchema && message) {
253
- try {
254
- structured = JSON.parse(message);
255
- }
256
- catch (error) {
257
- utils_1.logger.warn("[DEEPSEEK] Failed to parse JSON response:", error);
258
- }
259
- }
260
- // If tools were used, include them in structured response
261
- if (toolCalls.length > 0) {
262
- structured = {
263
- ...(structured || {}),
264
- message: structured?.message || message,
265
- toolCalls,
266
- };
267
- }
268
- return {
269
- message,
270
- metadata: {
271
- model: response.model,
272
- finishReason: response.choices[0]?.finish_reason,
273
- tokensUsed: response.usage?.total_tokens,
274
- promptTokens: response.usage?.prompt_tokens,
275
- completionTokens: response.usage?.completion_tokens,
276
- },
277
- structured,
278
- };
65
+ structuredResponseFormat(jsonSchema, schemaName) {
66
+ return {
67
+ type: "json_schema",
68
+ json_schema: {
69
+ name: schemaName || "structured_output",
70
+ schema: this.adaptSchema(jsonSchema),
71
+ },
279
72
  };
280
- return (0, utils_1.withTimeoutAndRetry)(operation, this.retryConfig.timeout, this.retryConfig.retries, `DeepSeek ${model}`);
281
73
  }
282
- async *generateStreamWithBackup(input) {
283
- try {
284
- yield* this.generateStreamWithModel(this.primaryModel, input);
285
- }
286
- catch (primaryError) {
287
- const primaryErrMsg = getErrorMessage(primaryError);
288
- utils_1.logger.warn(`[DEEPSEEK] Primary model ${this.primaryModel} failed: ${primaryErrMsg}`);
289
- if (!shouldUseBackupModel(primaryError)) {
290
- throw primaryError;
291
- }
292
- utils_1.logger.debug(`[DEEPSEEK] Trying backup models for streaming`);
293
- let lastBackupError = primaryError;
294
- for (let i = 0; i < this.backupModels.length; i++) {
295
- const backupModel = this.backupModels[i];
296
- utils_1.logger.debug(`[DEEPSEEK] Trying backup model ${i + 1}/${this.backupModels.length}: ${backupModel}`);
297
- try {
298
- yield* this.generateStreamWithModel(backupModel, input);
299
- utils_1.logger.debug(`[DEEPSEEK] Backup model ${backupModel} succeeded`);
300
- return;
301
- }
302
- catch (backupError) {
303
- const backupErrMsg = getErrorMessage(backupError);
304
- utils_1.logger.warn(`[DEEPSEEK] Backup model ${backupModel} failed: ${backupErrMsg}`);
305
- lastBackupError = backupError;
306
- if (!shouldUseBackupModel(backupError) &&
307
- i < this.backupModels.length - 1) {
308
- utils_1.logger.debug(`[DEEPSEEK] Backup model error doesn't qualify for further attempts`);
309
- break;
310
- }
311
- }
312
- }
313
- const lastBackupErrMsg = getErrorMessage(lastBackupError);
314
- utils_1.logger.error(`[DEEPSEEK] All models failed. Primary: ${primaryErrMsg}, Last backup: ${lastBackupErrMsg}`);
315
- throw lastBackupError;
316
- }
74
+ /**
75
+ * DeepSeek reports usage in streaming chunks when explicitly requested.
76
+ */
77
+ configureStreamParams(params) {
78
+ params.stream_options = { include_usage: true };
317
79
  }
318
- async *generateStreamWithModel(model, input) {
319
- const historyMessages = this.buildMessages(input.history);
320
- historyMessages.push({ role: "user", content: input.prompt });
321
- const params = {
322
- ...this.config,
323
- model,
324
- messages: historyMessages,
325
- stream: true,
326
- stream_options: { include_usage: true },
327
- };
328
- // Override with input parameters if provided
329
- if (input.parameters?.maxOutputTokens !== undefined) {
330
- params.max_tokens = input.parameters.maxOutputTokens;
331
- }
332
- // Add tools if provided
333
- if (input.tools && input.tools.length > 0) {
334
- params.tools = input.tools.map((tool) => ({
335
- type: "function",
336
- function: {
337
- name: tool.name || tool.id,
338
- description: tool.description,
339
- parameters: tool.parameters,
340
- },
341
- }));
342
- params.tool_choice = "auto";
343
- }
344
- // Request JSON schema output if schema is provided
345
- if (input.parameters?.jsonSchema) {
346
- params.response_format = {
347
- type: "json_schema",
348
- json_schema: {
349
- name: input.parameters.schemaName || "structured_output",
350
- schema: this.adaptSchema(input.parameters.jsonSchema),
351
- },
352
- };
353
- }
354
- const stream = await this.client.chat.completions.create(params);
355
- let accumulated = "";
356
- let currentModel = model;
357
- let finishReason;
358
- let promptTokens;
359
- let completionTokens;
360
- let totalTokens;
361
- const toolCalls = [];
362
- for await (const chunk of stream) {
363
- currentModel = chunk.model;
364
- const choice = chunk.choices?.[0];
365
- // DeepSeek may include usage in chunks with include_usage
366
- if (chunk.usage) {
367
- promptTokens = chunk.usage.prompt_tokens;
368
- completionTokens = chunk.usage.completion_tokens;
369
- totalTokens = chunk.usage.total_tokens;
370
- }
371
- if (!choice)
372
- continue;
373
- const delta = choice.delta;
374
- // Extract tool calls from delta
375
- const deltaToolCalls = delta?.tool_calls;
376
- if (deltaToolCalls) {
377
- for (const toolCall of deltaToolCalls) {
378
- if (toolCall.function) {
379
- let toolCallArguments = {};
380
- try {
381
- toolCallArguments = toolCall.function.arguments
382
- ? JSON.parse(toolCall.function.arguments)
383
- : {};
384
- }
385
- catch (error) {
386
- utils_1.logger.warn(`[DEEPSEEK] Failed to parse tool call arguments in stream: ${getErrorMessage(error)}`);
387
- toolCallArguments = {};
388
- }
389
- toolCalls.push({
390
- toolName: toolCall.function.name || "",
391
- arguments: toolCallArguments,
392
- });
393
- }
394
- }
395
- }
396
- // DeepSeek streams reasoning via `reasoning_content` on the delta
397
- const reasoning = delta?.reasoning_content ?? undefined;
398
- if (reasoning) {
399
- utils_1.logger.debug(`[DEEPSEEK] Reasoning: ${reasoning}`);
400
- }
401
- const content = delta?.content ?? "";
402
- if (content) {
403
- accumulated += content;
404
- yield {
405
- delta: content,
406
- accumulated,
407
- done: false,
408
- };
409
- }
410
- if (choice.finish_reason) {
411
- finishReason = choice.finish_reason;
412
- }
413
- }
414
- // Parse JSON response if schema was provided
415
- let structured;
416
- if (input.parameters?.jsonSchema && accumulated) {
417
- try {
418
- structured = JSON.parse(accumulated);
419
- }
420
- catch (error) {
421
- utils_1.logger.warn("[DEEPSEEK] Failed to parse JSON response in stream:", error);
422
- }
423
- }
424
- // Include tool calls in structured response
425
- if (toolCalls.length > 0) {
426
- structured = {
427
- ...(structured || {}),
428
- message: structured?.message ||
429
- accumulated,
430
- toolCalls,
431
- };
80
+ /**
81
+ * DeepSeek streams reasoning via `reasoning_content` on the delta.
82
+ */
83
+ onStreamDelta(delta) {
84
+ const reasoning = delta.reasoning_content ?? undefined;
85
+ if (reasoning) {
86
+ utils_1.logger.debug(`[${this.logLabel}] Reasoning: ${reasoning}`);
432
87
  }
433
- // Yield final chunk
434
- yield {
435
- delta: "",
436
- accumulated,
437
- done: true,
438
- metadata: {
439
- model: currentModel,
440
- finishReason,
441
- tokensUsed: totalTokens,
442
- promptTokens,
443
- completionTokens,
444
- },
445
- structured,
446
- };
447
88
  }
448
89
  }
449
90
  exports.DeepSeekProvider = DeepSeekProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"DeepSeekProvider.js","sourceRoot":"","sources":["../../../src/providers/DeepSeekProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DeepSeekProvider.js","sourceRoot":"","sources":["../../../src/providers/DeepSeekProvider.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;AAEH,oDAA4B;AAa5B,oCAAkC;AAClC,yEAGoC;AAwBpC;;;;;;;;GAQG;AACH,MAAa,gBAAiB,SAAQ,mDAAwB;IAa5D,YAAY,OAAgC;QAC1C,MAAM,EACJ,MAAM,EACN,KAAK,EACL,YAAY,EACZ,OAAO,GAAG,0BAA0B,EACpC,MAAM,EACN,WAAW,GACZ,GAAG,OAAO,CAAC;QAEZ,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAC;QACJ,CAAC;QAED,KAAK,CAAC;YACJ,MAAM,EAAE,IAAI,gBAAM,CAAC;gBACjB,MAAM;gBACN,OAAO;aACR,CAAC;YACF,KAAK;YACL,YAAY;YACZ,MAAM;YACN,WAAW;SACZ,CAAC,CAAC;QAzCW,SAAI,GAAG,UAAU,CAAC;QAClB,iBAAY,GAAyB;YACnD,aAAa,EAAE,IAAI;YACnB,wBAAwB,EAAE,IAAI;YAC9B,iBAAiB,EAAE,IAAI;YACvB,0BAA0B,EAAE,IAAI;YAChC,qBAAqB,EAAE,KAAK;SAC7B,CAAC;QAEiB,aAAQ,GAAG,UAAU,CAAC;QACtB,gBAAW,GAAG,UAAU,CAAC;IAgC5C,CAAC;IAED;;;OAGG;IACgB,KAAK,CAAC,yBAAyB,CAChD,KAAa,EACb,KAAoC,EACpC,WAA6B;QAE7B,OAAO,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;IAED;;;OAGG;IACgB,wBAAwB,CACzC,UAA4B,EAC5B,UAA8B;QAE9B,OAAO;YACL,IAAI,EAAE,aAAsB;YAC5B,WAAW,EAAE;gBACX,IAAI,EAAE,UAAU,IAAI,mBAAmB;gBACvC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;aACrC;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACgB,qBAAqB,CACtC,MAA2C;QAE3C,MAAM,CAAC,cAAc,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;IAClD,CAAC;IAED;;OAEG;IACgB,aAAa,CAC9B,KAAuC;QAEvC,MAAM,SAAS,GACX,KAAiC,CAAC,iBAEtB,IAAI,SAAS,CAAC;QAC9B,IAAI,SAAS,EAAE,CAAC;YACd,cAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,gBAAgB,SAAS,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;CACF;AAjGD,4CAiGC"}
@@ -3,6 +3,7 @@
3
3
  */
4
4
  import type { GenerateContentConfig } from "@google/genai";
5
5
  import type { AiProvider, GenerateMessageInput, GenerateMessageOutput, GenerateMessageStreamChunk, AgentStructuredResponse } from "../types";
6
+ import type { ProviderCapabilities } from "../types/ai";
6
7
  /**
7
8
  * Configuration options for Gemini provider
8
9
  * Uses types from @google/genai package
@@ -27,6 +28,7 @@ export interface GeminiProviderOptions {
27
28
  */
28
29
  export declare class GeminiProvider implements AiProvider {
29
30
  readonly name = "gemini";
31
+ readonly capabilities: ProviderCapabilities;
30
32
  private genAI;
31
33
  private primaryModel;
32
34
  private backupModels;
@@ -1 +1 @@
1
- {"version":3,"file":"GeminiProvider.d.ts","sourceRoot":"","sources":["../../../src/providers/GeminiProvider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAEV,qBAAqB,EAItB,MAAM,eAAe,CAAC;AAGvB,OAAO,KAAK,EACV,UAAU,EACV,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,EAExB,MAAM,UAAU,CAAC;AAWlB;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,gFAAgF;IAChF,MAAM,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACxC,0BAA0B;IAC1B,WAAW,CAAC,EAAE;QACZ,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AA0ED;;GAEG;AACH,qBAAa,cAAe,YAAW,UAAU;IAC/C,SAAgB,IAAI,YAAY;IAChC,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,YAAY,CAAW;IAC/B,OAAO,CAAC,MAAM,CAAC,CAAiC;IAChD,OAAO,CAAC,WAAW,CAAuC;gBAE9C,OAAO,EAAE,qBAAqB;IAqB1C;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAkD3B;;;;;;;OAOG;IACH,OAAO,CAAC,qBAAqB;IAY7B;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe;IAkBvB;;;;;OAKG;IACH,OAAO,CAAC,yBAAyB;IAUjC;;;;;;;;OAQG;IACH,OAAO,CAAC,oBAAoB;IAoE5B;;;OAGG;IACH,OAAO,CAAC,eAAe;IAsBjB,eAAe,CACnB,QAAQ,GAAG,OAAO,EAClB,WAAW,GAAG,uBAAuB,EAErC,KAAK,EAAE,oBAAoB,CAAC,QAAQ,CAAC,GACpC,OAAO,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAIvC,qBAAqB,CAC1B,QAAQ,GAAG,OAAO,EAClB,WAAW,GAAG,uBAAuB,EAErC,KAAK,EAAE,oBAAoB,CAAC,QAAQ,CAAC,GACpC,cAAc,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAC;YAI5C,kBAAkB;YA6DlB,iBAAiB;YAkJhB,wBAAwB;YA6DxB,uBAAuB;CA8IvC"}
1
+ {"version":3,"file":"GeminiProvider.d.ts","sourceRoot":"","sources":["../../../src/providers/GeminiProvider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAEV,qBAAqB,EAItB,MAAM,eAAe,CAAC;AAGvB,OAAO,KAAK,EACV,UAAU,EACV,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,EAExB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAkBxD;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,gFAAgF;IAChF,MAAM,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACxC,0BAA0B;IAC1B,WAAW,CAAC,EAAE;QACZ,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAkBD;;GAEG;AACH,qBAAa,cAAe,YAAW,UAAU;IAC/C,SAAgB,IAAI,YAAY;IAChC,SAAgB,YAAY,EAAE,oBAAoB,CAMhD;IACF,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,YAAY,CAAW;IAC/B,OAAO,CAAC,MAAM,CAAC,CAAiC;IAChD,OAAO,CAAC,WAAW,CAAuC;gBAE9C,OAAO,EAAE,qBAAqB;IAqB1C;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAkD3B;;;;;;;OAOG;IACH,OAAO,CAAC,qBAAqB;IAY7B;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe;IAkBvB;;;;;OAKG;IACH,OAAO,CAAC,yBAAyB;IAUjC;;;;;;;;OAQG;IACH,OAAO,CAAC,oBAAoB;IAoE5B;;;OAGG;IACH,OAAO,CAAC,eAAe;IAsBjB,eAAe,CACnB,QAAQ,GAAG,OAAO,EAClB,WAAW,GAAG,uBAAuB,EAErC,KAAK,EAAE,oBAAoB,CAAC,QAAQ,CAAC,GACpC,OAAO,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAIvC,qBAAqB,CAC1B,QAAQ,GAAG,OAAO,EAClB,WAAW,GAAG,uBAAuB,EAErC,KAAK,EAAE,oBAAoB,CAAC,QAAQ,CAAC,GACpC,cAAc,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAC;YAI5C,kBAAkB;YA6DlB,iBAAiB;YAkJhB,wBAAwB;YA6DxB,uBAAuB;CA8IvC"}