@falai/agent 0.1.0-alpha2

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 (499) hide show
  1. package/README.md +797 -0
  2. package/dist/cjs/package.json +1 -0
  3. package/dist/cjs/src/adapters/MemoryAdapter.d.ts +47 -0
  4. package/dist/cjs/src/adapters/MemoryAdapter.d.ts.map +1 -0
  5. package/dist/cjs/src/adapters/MemoryAdapter.js +202 -0
  6. package/dist/cjs/src/adapters/MemoryAdapter.js.map +1 -0
  7. package/dist/cjs/src/adapters/MongoAdapter.d.ts +97 -0
  8. package/dist/cjs/src/adapters/MongoAdapter.d.ts.map +1 -0
  9. package/dist/cjs/src/adapters/MongoAdapter.js +168 -0
  10. package/dist/cjs/src/adapters/MongoAdapter.js.map +1 -0
  11. package/dist/cjs/src/adapters/OpenSearchAdapter.d.ts +169 -0
  12. package/dist/cjs/src/adapters/OpenSearchAdapter.d.ts.map +1 -0
  13. package/dist/cjs/src/adapters/OpenSearchAdapter.js +458 -0
  14. package/dist/cjs/src/adapters/OpenSearchAdapter.js.map +1 -0
  15. package/dist/cjs/src/adapters/PostgreSQLAdapter.d.ts +71 -0
  16. package/dist/cjs/src/adapters/PostgreSQLAdapter.d.ts.map +1 -0
  17. package/dist/cjs/src/adapters/PostgreSQLAdapter.js +260 -0
  18. package/dist/cjs/src/adapters/PostgreSQLAdapter.js.map +1 -0
  19. package/dist/cjs/src/adapters/PrismaAdapter.d.ts +115 -0
  20. package/dist/cjs/src/adapters/PrismaAdapter.d.ts.map +1 -0
  21. package/dist/cjs/src/adapters/PrismaAdapter.js +366 -0
  22. package/dist/cjs/src/adapters/PrismaAdapter.js.map +1 -0
  23. package/dist/cjs/src/adapters/RedisAdapter.d.ts +71 -0
  24. package/dist/cjs/src/adapters/RedisAdapter.d.ts.map +1 -0
  25. package/dist/cjs/src/adapters/RedisAdapter.js +231 -0
  26. package/dist/cjs/src/adapters/RedisAdapter.js.map +1 -0
  27. package/dist/cjs/src/adapters/SQLiteAdapter.d.ts +69 -0
  28. package/dist/cjs/src/adapters/SQLiteAdapter.d.ts.map +1 -0
  29. package/dist/cjs/src/adapters/SQLiteAdapter.js +312 -0
  30. package/dist/cjs/src/adapters/SQLiteAdapter.js.map +1 -0
  31. package/dist/cjs/src/adapters/index.d.ts +17 -0
  32. package/dist/cjs/src/adapters/index.d.ts.map +1 -0
  33. package/dist/cjs/src/adapters/index.js +21 -0
  34. package/dist/cjs/src/adapters/index.js.map +1 -0
  35. package/dist/cjs/src/constants/index.d.ts +10 -0
  36. package/dist/cjs/src/constants/index.d.ts.map +1 -0
  37. package/dist/cjs/src/constants/index.js +13 -0
  38. package/dist/cjs/src/constants/index.js.map +1 -0
  39. package/dist/cjs/src/core/Agent.d.ts +232 -0
  40. package/dist/cjs/src/core/Agent.d.ts.map +1 -0
  41. package/dist/cjs/src/core/Agent.js +741 -0
  42. package/dist/cjs/src/core/Agent.js.map +1 -0
  43. package/dist/cjs/src/core/Events.d.ts +26 -0
  44. package/dist/cjs/src/core/Events.d.ts.map +1 -0
  45. package/dist/cjs/src/core/Events.js +144 -0
  46. package/dist/cjs/src/core/Events.js.map +1 -0
  47. package/dist/cjs/src/core/PersistenceManager.d.ts +98 -0
  48. package/dist/cjs/src/core/PersistenceManager.d.ts.map +1 -0
  49. package/dist/cjs/src/core/PersistenceManager.js +261 -0
  50. package/dist/cjs/src/core/PersistenceManager.js.map +1 -0
  51. package/dist/cjs/src/core/PromptComposer.d.ts +27 -0
  52. package/dist/cjs/src/core/PromptComposer.d.ts.map +1 -0
  53. package/dist/cjs/src/core/PromptComposer.js +194 -0
  54. package/dist/cjs/src/core/PromptComposer.js.map +1 -0
  55. package/dist/cjs/src/core/ResponseEngine.d.ts +32 -0
  56. package/dist/cjs/src/core/ResponseEngine.d.ts.map +1 -0
  57. package/dist/cjs/src/core/ResponseEngine.js +202 -0
  58. package/dist/cjs/src/core/ResponseEngine.js.map +1 -0
  59. package/dist/cjs/src/core/ResponseModal.d.ts +222 -0
  60. package/dist/cjs/src/core/ResponseModal.d.ts.map +1 -0
  61. package/dist/cjs/src/core/ResponseModal.js +1588 -0
  62. package/dist/cjs/src/core/ResponseModal.js.map +1 -0
  63. package/dist/cjs/src/core/ResponsePipeline.d.ts +175 -0
  64. package/dist/cjs/src/core/ResponsePipeline.d.ts.map +1 -0
  65. package/dist/cjs/src/core/ResponsePipeline.js +549 -0
  66. package/dist/cjs/src/core/ResponsePipeline.js.map +1 -0
  67. package/dist/cjs/src/core/Route.d.ts +181 -0
  68. package/dist/cjs/src/core/Route.d.ts.map +1 -0
  69. package/dist/cjs/src/core/Route.js +541 -0
  70. package/dist/cjs/src/core/Route.js.map +1 -0
  71. package/dist/cjs/src/core/RoutingEngine.d.ts +159 -0
  72. package/dist/cjs/src/core/RoutingEngine.d.ts.map +1 -0
  73. package/dist/cjs/src/core/RoutingEngine.js +961 -0
  74. package/dist/cjs/src/core/RoutingEngine.js.map +1 -0
  75. package/dist/cjs/src/core/SessionManager.d.ts +94 -0
  76. package/dist/cjs/src/core/SessionManager.d.ts.map +1 -0
  77. package/dist/cjs/src/core/SessionManager.js +239 -0
  78. package/dist/cjs/src/core/SessionManager.js.map +1 -0
  79. package/dist/cjs/src/core/Step.d.ts +170 -0
  80. package/dist/cjs/src/core/Step.d.ts.map +1 -0
  81. package/dist/cjs/src/core/Step.js +448 -0
  82. package/dist/cjs/src/core/Step.js.map +1 -0
  83. package/dist/cjs/src/core/ToolManager.d.ts +234 -0
  84. package/dist/cjs/src/core/ToolManager.d.ts.map +1 -0
  85. package/dist/cjs/src/core/ToolManager.js +1117 -0
  86. package/dist/cjs/src/core/ToolManager.js.map +1 -0
  87. package/dist/cjs/src/index.d.ts +44 -0
  88. package/dist/cjs/src/index.d.ts.map +1 -0
  89. package/dist/cjs/src/index.js +88 -0
  90. package/dist/cjs/src/index.js.map +1 -0
  91. package/dist/cjs/src/providers/AnthropicProvider.d.ts +43 -0
  92. package/dist/cjs/src/providers/AnthropicProvider.d.ts.map +1 -0
  93. package/dist/cjs/src/providers/AnthropicProvider.js +377 -0
  94. package/dist/cjs/src/providers/AnthropicProvider.js.map +1 -0
  95. package/dist/cjs/src/providers/GeminiProvider.d.ts +58 -0
  96. package/dist/cjs/src/providers/GeminiProvider.d.ts.map +1 -0
  97. package/dist/cjs/src/providers/GeminiProvider.js +489 -0
  98. package/dist/cjs/src/providers/GeminiProvider.js.map +1 -0
  99. package/dist/cjs/src/providers/OpenAIProvider.d.ts +52 -0
  100. package/dist/cjs/src/providers/OpenAIProvider.d.ts.map +1 -0
  101. package/dist/cjs/src/providers/OpenAIProvider.js +395 -0
  102. package/dist/cjs/src/providers/OpenAIProvider.js.map +1 -0
  103. package/dist/cjs/src/providers/OpenRouterProvider.d.ts +56 -0
  104. package/dist/cjs/src/providers/OpenRouterProvider.d.ts.map +1 -0
  105. package/dist/cjs/src/providers/OpenRouterProvider.js +409 -0
  106. package/dist/cjs/src/providers/OpenRouterProvider.js.map +1 -0
  107. package/dist/cjs/src/providers/index.d.ts +13 -0
  108. package/dist/cjs/src/providers/index.d.ts.map +1 -0
  109. package/dist/cjs/src/providers/index.js +16 -0
  110. package/dist/cjs/src/providers/index.js.map +1 -0
  111. package/dist/cjs/src/types/agent.d.ts +181 -0
  112. package/dist/cjs/src/types/agent.d.ts.map +1 -0
  113. package/dist/cjs/src/types/agent.js +21 -0
  114. package/dist/cjs/src/types/agent.js.map +1 -0
  115. package/dist/cjs/src/types/ai.d.ts +143 -0
  116. package/dist/cjs/src/types/ai.d.ts.map +1 -0
  117. package/dist/cjs/src/types/ai.js +6 -0
  118. package/dist/cjs/src/types/ai.js.map +1 -0
  119. package/dist/cjs/src/types/history.d.ts +178 -0
  120. package/dist/cjs/src/types/history.d.ts.map +1 -0
  121. package/dist/cjs/src/types/history.js +33 -0
  122. package/dist/cjs/src/types/history.js.map +1 -0
  123. package/dist/cjs/src/types/index.d.ts +22 -0
  124. package/dist/cjs/src/types/index.d.ts.map +1 -0
  125. package/dist/cjs/src/types/index.js +37 -0
  126. package/dist/cjs/src/types/index.js.map +1 -0
  127. package/dist/cjs/src/types/persistence.d.ts +209 -0
  128. package/dist/cjs/src/types/persistence.d.ts.map +1 -0
  129. package/dist/cjs/src/types/persistence.js +7 -0
  130. package/dist/cjs/src/types/persistence.js.map +1 -0
  131. package/dist/cjs/src/types/route.d.ts +238 -0
  132. package/dist/cjs/src/types/route.d.ts.map +1 -0
  133. package/dist/cjs/src/types/route.js +6 -0
  134. package/dist/cjs/src/types/route.js.map +1 -0
  135. package/dist/cjs/src/types/routing.d.ts +16 -0
  136. package/dist/cjs/src/types/routing.d.ts.map +1 -0
  137. package/dist/cjs/src/types/routing.js +3 -0
  138. package/dist/cjs/src/types/routing.js.map +1 -0
  139. package/dist/cjs/src/types/schema.d.ts +22 -0
  140. package/dist/cjs/src/types/schema.d.ts.map +1 -0
  141. package/dist/cjs/src/types/schema.js +3 -0
  142. package/dist/cjs/src/types/schema.js.map +1 -0
  143. package/dist/cjs/src/types/session.d.ts +65 -0
  144. package/dist/cjs/src/types/session.d.ts.map +1 -0
  145. package/dist/cjs/src/types/session.js +6 -0
  146. package/dist/cjs/src/types/session.js.map +1 -0
  147. package/dist/cjs/src/types/template.d.ts +88 -0
  148. package/dist/cjs/src/types/template.d.ts.map +1 -0
  149. package/dist/cjs/src/types/template.js +3 -0
  150. package/dist/cjs/src/types/template.js.map +1 -0
  151. package/dist/cjs/src/types/tool.d.ts +130 -0
  152. package/dist/cjs/src/types/tool.d.ts.map +1 -0
  153. package/dist/cjs/src/types/tool.js +19 -0
  154. package/dist/cjs/src/types/tool.js.map +1 -0
  155. package/dist/cjs/src/utils/clone.d.ts +8 -0
  156. package/dist/cjs/src/utils/clone.d.ts.map +1 -0
  157. package/dist/cjs/src/utils/clone.js +32 -0
  158. package/dist/cjs/src/utils/clone.js.map +1 -0
  159. package/dist/cjs/src/utils/condition.d.ts +38 -0
  160. package/dist/cjs/src/utils/condition.d.ts.map +1 -0
  161. package/dist/cjs/src/utils/condition.js +168 -0
  162. package/dist/cjs/src/utils/condition.js.map +1 -0
  163. package/dist/cjs/src/utils/event.d.ts +6 -0
  164. package/dist/cjs/src/utils/event.d.ts.map +1 -0
  165. package/dist/cjs/src/utils/event.js +20 -0
  166. package/dist/cjs/src/utils/event.js.map +1 -0
  167. package/dist/cjs/src/utils/history.d.ts +60 -0
  168. package/dist/cjs/src/utils/history.d.ts.map +1 -0
  169. package/dist/cjs/src/utils/history.js +274 -0
  170. package/dist/cjs/src/utils/history.js.map +1 -0
  171. package/dist/cjs/src/utils/id.d.ts +25 -0
  172. package/dist/cjs/src/utils/id.d.ts.map +1 -0
  173. package/dist/cjs/src/utils/id.js +70 -0
  174. package/dist/cjs/src/utils/id.js.map +1 -0
  175. package/dist/cjs/src/utils/index.d.ts +15 -0
  176. package/dist/cjs/src/utils/index.d.ts.map +1 -0
  177. package/dist/cjs/src/utils/index.js +64 -0
  178. package/dist/cjs/src/utils/index.js.map +1 -0
  179. package/dist/cjs/src/utils/json.d.ts +16 -0
  180. package/dist/cjs/src/utils/json.d.ts.map +1 -0
  181. package/dist/cjs/src/utils/json.js +47 -0
  182. package/dist/cjs/src/utils/json.js.map +1 -0
  183. package/dist/cjs/src/utils/logger.d.ts +10 -0
  184. package/dist/cjs/src/utils/logger.d.ts.map +1 -0
  185. package/dist/cjs/src/utils/logger.js +23 -0
  186. package/dist/cjs/src/utils/logger.js.map +1 -0
  187. package/dist/cjs/src/utils/retry.d.ts +10 -0
  188. package/dist/cjs/src/utils/retry.d.ts.map +1 -0
  189. package/dist/cjs/src/utils/retry.js +76 -0
  190. package/dist/cjs/src/utils/retry.js.map +1 -0
  191. package/dist/cjs/src/utils/session.d.ts +51 -0
  192. package/dist/cjs/src/utils/session.d.ts.map +1 -0
  193. package/dist/cjs/src/utils/session.js +170 -0
  194. package/dist/cjs/src/utils/session.js.map +1 -0
  195. package/dist/cjs/src/utils/template.d.ts +155 -0
  196. package/dist/cjs/src/utils/template.d.ts.map +1 -0
  197. package/dist/cjs/src/utils/template.js +383 -0
  198. package/dist/cjs/src/utils/template.js.map +1 -0
  199. package/dist/src/adapters/MemoryAdapter.d.ts +47 -0
  200. package/dist/src/adapters/MemoryAdapter.d.ts.map +1 -0
  201. package/dist/src/adapters/MemoryAdapter.js +198 -0
  202. package/dist/src/adapters/MemoryAdapter.js.map +1 -0
  203. package/dist/src/adapters/MongoAdapter.d.ts +97 -0
  204. package/dist/src/adapters/MongoAdapter.d.ts.map +1 -0
  205. package/dist/src/adapters/MongoAdapter.js +164 -0
  206. package/dist/src/adapters/MongoAdapter.js.map +1 -0
  207. package/dist/src/adapters/OpenSearchAdapter.d.ts +169 -0
  208. package/dist/src/adapters/OpenSearchAdapter.d.ts.map +1 -0
  209. package/dist/src/adapters/OpenSearchAdapter.js +454 -0
  210. package/dist/src/adapters/OpenSearchAdapter.js.map +1 -0
  211. package/dist/src/adapters/PostgreSQLAdapter.d.ts +71 -0
  212. package/dist/src/adapters/PostgreSQLAdapter.d.ts.map +1 -0
  213. package/dist/src/adapters/PostgreSQLAdapter.js +256 -0
  214. package/dist/src/adapters/PostgreSQLAdapter.js.map +1 -0
  215. package/dist/src/adapters/PrismaAdapter.d.ts +115 -0
  216. package/dist/src/adapters/PrismaAdapter.d.ts.map +1 -0
  217. package/dist/src/adapters/PrismaAdapter.js +362 -0
  218. package/dist/src/adapters/PrismaAdapter.js.map +1 -0
  219. package/dist/src/adapters/RedisAdapter.d.ts +71 -0
  220. package/dist/src/adapters/RedisAdapter.d.ts.map +1 -0
  221. package/dist/src/adapters/RedisAdapter.js +227 -0
  222. package/dist/src/adapters/RedisAdapter.js.map +1 -0
  223. package/dist/src/adapters/SQLiteAdapter.d.ts +69 -0
  224. package/dist/src/adapters/SQLiteAdapter.d.ts.map +1 -0
  225. package/dist/src/adapters/SQLiteAdapter.js +308 -0
  226. package/dist/src/adapters/SQLiteAdapter.js.map +1 -0
  227. package/dist/src/adapters/index.d.ts +17 -0
  228. package/dist/src/adapters/index.d.ts.map +1 -0
  229. package/dist/src/adapters/index.js +11 -0
  230. package/dist/src/adapters/index.js.map +1 -0
  231. package/dist/src/constants/index.d.ts +10 -0
  232. package/dist/src/constants/index.d.ts.map +1 -0
  233. package/dist/src/constants/index.js +10 -0
  234. package/dist/src/constants/index.js.map +1 -0
  235. package/dist/src/core/Agent.d.ts +232 -0
  236. package/dist/src/core/Agent.d.ts.map +1 -0
  237. package/dist/src/core/Agent.js +737 -0
  238. package/dist/src/core/Agent.js.map +1 -0
  239. package/dist/src/core/Events.d.ts +26 -0
  240. package/dist/src/core/Events.d.ts.map +1 -0
  241. package/dist/src/core/Events.js +137 -0
  242. package/dist/src/core/Events.js.map +1 -0
  243. package/dist/src/core/PersistenceManager.d.ts +98 -0
  244. package/dist/src/core/PersistenceManager.d.ts.map +1 -0
  245. package/dist/src/core/PersistenceManager.js +257 -0
  246. package/dist/src/core/PersistenceManager.js.map +1 -0
  247. package/dist/src/core/PromptComposer.d.ts +27 -0
  248. package/dist/src/core/PromptComposer.d.ts.map +1 -0
  249. package/dist/src/core/PromptComposer.js +190 -0
  250. package/dist/src/core/PromptComposer.js.map +1 -0
  251. package/dist/src/core/ResponseEngine.d.ts +32 -0
  252. package/dist/src/core/ResponseEngine.d.ts.map +1 -0
  253. package/dist/src/core/ResponseEngine.js +198 -0
  254. package/dist/src/core/ResponseEngine.js.map +1 -0
  255. package/dist/src/core/ResponseModal.d.ts +222 -0
  256. package/dist/src/core/ResponseModal.d.ts.map +1 -0
  257. package/dist/src/core/ResponseModal.js +1583 -0
  258. package/dist/src/core/ResponseModal.js.map +1 -0
  259. package/dist/src/core/ResponsePipeline.d.ts +175 -0
  260. package/dist/src/core/ResponsePipeline.d.ts.map +1 -0
  261. package/dist/src/core/ResponsePipeline.js +545 -0
  262. package/dist/src/core/ResponsePipeline.js.map +1 -0
  263. package/dist/src/core/Route.d.ts +181 -0
  264. package/dist/src/core/Route.d.ts.map +1 -0
  265. package/dist/src/core/Route.js +537 -0
  266. package/dist/src/core/Route.js.map +1 -0
  267. package/dist/src/core/RoutingEngine.d.ts +159 -0
  268. package/dist/src/core/RoutingEngine.d.ts.map +1 -0
  269. package/dist/src/core/RoutingEngine.js +957 -0
  270. package/dist/src/core/RoutingEngine.js.map +1 -0
  271. package/dist/src/core/SessionManager.d.ts +94 -0
  272. package/dist/src/core/SessionManager.d.ts.map +1 -0
  273. package/dist/src/core/SessionManager.js +235 -0
  274. package/dist/src/core/SessionManager.js.map +1 -0
  275. package/dist/src/core/Step.d.ts +170 -0
  276. package/dist/src/core/Step.d.ts.map +1 -0
  277. package/dist/src/core/Step.js +444 -0
  278. package/dist/src/core/Step.js.map +1 -0
  279. package/dist/src/core/ToolManager.d.ts +234 -0
  280. package/dist/src/core/ToolManager.d.ts.map +1 -0
  281. package/dist/src/core/ToolManager.js +1111 -0
  282. package/dist/src/core/ToolManager.js.map +1 -0
  283. package/dist/src/index.d.ts +44 -0
  284. package/dist/src/index.d.ts.map +1 -0
  285. package/dist/src/index.js +37 -0
  286. package/dist/src/index.js.map +1 -0
  287. package/dist/src/providers/AnthropicProvider.d.ts +43 -0
  288. package/dist/src/providers/AnthropicProvider.d.ts.map +1 -0
  289. package/dist/src/providers/AnthropicProvider.js +370 -0
  290. package/dist/src/providers/AnthropicProvider.js.map +1 -0
  291. package/dist/src/providers/GeminiProvider.d.ts +58 -0
  292. package/dist/src/providers/GeminiProvider.d.ts.map +1 -0
  293. package/dist/src/providers/GeminiProvider.js +485 -0
  294. package/dist/src/providers/GeminiProvider.js.map +1 -0
  295. package/dist/src/providers/OpenAIProvider.d.ts +52 -0
  296. package/dist/src/providers/OpenAIProvider.d.ts.map +1 -0
  297. package/dist/src/providers/OpenAIProvider.js +388 -0
  298. package/dist/src/providers/OpenAIProvider.js.map +1 -0
  299. package/dist/src/providers/OpenRouterProvider.d.ts +56 -0
  300. package/dist/src/providers/OpenRouterProvider.d.ts.map +1 -0
  301. package/dist/src/providers/OpenRouterProvider.js +402 -0
  302. package/dist/src/providers/OpenRouterProvider.js.map +1 -0
  303. package/dist/src/providers/index.d.ts +13 -0
  304. package/dist/src/providers/index.d.ts.map +1 -0
  305. package/dist/src/providers/index.js +9 -0
  306. package/dist/src/providers/index.js.map +1 -0
  307. package/dist/src/types/agent.d.ts +181 -0
  308. package/dist/src/types/agent.d.ts.map +1 -0
  309. package/dist/src/types/agent.js +18 -0
  310. package/dist/src/types/agent.js.map +1 -0
  311. package/dist/src/types/ai.d.ts +143 -0
  312. package/dist/src/types/ai.d.ts.map +1 -0
  313. package/dist/src/types/ai.js +5 -0
  314. package/dist/src/types/ai.js.map +1 -0
  315. package/dist/src/types/history.d.ts +178 -0
  316. package/dist/src/types/history.d.ts.map +1 -0
  317. package/dist/src/types/history.js +30 -0
  318. package/dist/src/types/history.js.map +1 -0
  319. package/dist/src/types/index.d.ts +22 -0
  320. package/dist/src/types/index.d.ts.map +1 -0
  321. package/dist/src/types/index.js +12 -0
  322. package/dist/src/types/index.js.map +1 -0
  323. package/dist/src/types/persistence.d.ts +209 -0
  324. package/dist/src/types/persistence.d.ts.map +1 -0
  325. package/dist/src/types/persistence.js +6 -0
  326. package/dist/src/types/persistence.js.map +1 -0
  327. package/dist/src/types/route.d.ts +238 -0
  328. package/dist/src/types/route.d.ts.map +1 -0
  329. package/dist/src/types/route.js +5 -0
  330. package/dist/src/types/route.js.map +1 -0
  331. package/dist/src/types/routing.d.ts +16 -0
  332. package/dist/src/types/routing.d.ts.map +1 -0
  333. package/dist/src/types/routing.js +2 -0
  334. package/dist/src/types/routing.js.map +1 -0
  335. package/dist/src/types/schema.d.ts +22 -0
  336. package/dist/src/types/schema.d.ts.map +1 -0
  337. package/dist/src/types/schema.js +2 -0
  338. package/dist/src/types/schema.js.map +1 -0
  339. package/dist/src/types/session.d.ts +65 -0
  340. package/dist/src/types/session.d.ts.map +1 -0
  341. package/dist/src/types/session.js +5 -0
  342. package/dist/src/types/session.js.map +1 -0
  343. package/dist/src/types/template.d.ts +88 -0
  344. package/dist/src/types/template.d.ts.map +1 -0
  345. package/dist/src/types/template.js +2 -0
  346. package/dist/src/types/template.js.map +1 -0
  347. package/dist/src/types/tool.d.ts +130 -0
  348. package/dist/src/types/tool.d.ts.map +1 -0
  349. package/dist/src/types/tool.js +16 -0
  350. package/dist/src/types/tool.js.map +1 -0
  351. package/dist/src/utils/clone.d.ts +8 -0
  352. package/dist/src/utils/clone.d.ts.map +1 -0
  353. package/dist/src/utils/clone.js +29 -0
  354. package/dist/src/utils/clone.js.map +1 -0
  355. package/dist/src/utils/condition.d.ts +38 -0
  356. package/dist/src/utils/condition.d.ts.map +1 -0
  357. package/dist/src/utils/condition.js +161 -0
  358. package/dist/src/utils/condition.js.map +1 -0
  359. package/dist/src/utils/event.d.ts +6 -0
  360. package/dist/src/utils/event.d.ts.map +1 -0
  361. package/dist/src/utils/event.js +17 -0
  362. package/dist/src/utils/event.js.map +1 -0
  363. package/dist/src/utils/history.d.ts +60 -0
  364. package/dist/src/utils/history.d.ts.map +1 -0
  365. package/dist/src/utils/history.js +263 -0
  366. package/dist/src/utils/history.js.map +1 -0
  367. package/dist/src/utils/id.d.ts +25 -0
  368. package/dist/src/utils/id.d.ts.map +1 -0
  369. package/dist/src/utils/id.js +64 -0
  370. package/dist/src/utils/id.js.map +1 -0
  371. package/dist/src/utils/index.d.ts +15 -0
  372. package/dist/src/utils/index.d.ts.map +1 -0
  373. package/dist/src/utils/index.js +23 -0
  374. package/dist/src/utils/index.js.map +1 -0
  375. package/dist/src/utils/json.d.ts +16 -0
  376. package/dist/src/utils/json.d.ts.map +1 -0
  377. package/dist/src/utils/json.js +43 -0
  378. package/dist/src/utils/json.js.map +1 -0
  379. package/dist/src/utils/logger.d.ts +10 -0
  380. package/dist/src/utils/logger.d.ts.map +1 -0
  381. package/dist/src/utils/logger.js +17 -0
  382. package/dist/src/utils/logger.js.map +1 -0
  383. package/dist/src/utils/retry.d.ts +10 -0
  384. package/dist/src/utils/retry.d.ts.map +1 -0
  385. package/dist/src/utils/retry.js +71 -0
  386. package/dist/src/utils/retry.js.map +1 -0
  387. package/dist/src/utils/session.d.ts +51 -0
  388. package/dist/src/utils/session.d.ts.map +1 -0
  389. package/dist/src/utils/session.js +160 -0
  390. package/dist/src/utils/session.js.map +1 -0
  391. package/dist/src/utils/template.d.ts +155 -0
  392. package/dist/src/utils/template.d.ts.map +1 -0
  393. package/dist/src/utils/template.js +374 -0
  394. package/dist/src/utils/template.js.map +1 -0
  395. package/docs/CONTRIBUTING.md +521 -0
  396. package/docs/README.md +228 -0
  397. package/docs/api/README.md +3258 -0
  398. package/docs/api/overview.md +1134 -0
  399. package/docs/architecture/data-extraction-flow.md +363 -0
  400. package/docs/core/agent/README.md +902 -0
  401. package/docs/core/agent/context-management.md +796 -0
  402. package/docs/core/agent/session-management.md +641 -0
  403. package/docs/core/ai-integration/prompt-composition.md +220 -0
  404. package/docs/core/ai-integration/providers.md +515 -0
  405. package/docs/core/ai-integration/response-processing.md +287 -0
  406. package/docs/core/conversation-flows/data-collection.md +623 -0
  407. package/docs/core/conversation-flows/route-dsl.md +502 -0
  408. package/docs/core/conversation-flows/routes.md +247 -0
  409. package/docs/core/conversation-flows/step-transitions.md +595 -0
  410. package/docs/core/conversation-flows/steps.md +154 -0
  411. package/docs/core/error-handling.md +638 -0
  412. package/docs/core/persistence/adapters.md +255 -0
  413. package/docs/core/persistence/session-storage.md +644 -0
  414. package/docs/core/routing/intelligent-routing.md +466 -0
  415. package/docs/core/tools/tool-definition.md +970 -0
  416. package/docs/core/tools/tool-scoping.md +819 -0
  417. package/docs/guides/advanced-patterns/publishing.md +186 -0
  418. package/docs/guides/error-handling-patterns.md +578 -0
  419. package/docs/guides/getting-started/README.md +696 -0
  420. package/docs/guides/migration/README.md +72 -0
  421. package/docs/guides/migration/flexible-routing-conditions.md +375 -0
  422. package/docs/guides/migration/response-modal-refactor.md +518 -0
  423. package/examples/advanced-patterns/knowledge-based-agent.ts +735 -0
  424. package/examples/advanced-patterns/persistent-onboarding.ts +728 -0
  425. package/examples/advanced-patterns/route-lifecycle-hooks.ts +556 -0
  426. package/examples/advanced-patterns/streaming-responses.ts +578 -0
  427. package/examples/ai-providers/anthropic-integration.ts +388 -0
  428. package/examples/ai-providers/openai-integration.ts +228 -0
  429. package/examples/condition-patterns/function-only-conditions.ts +365 -0
  430. package/examples/condition-patterns/mixed-array-conditions.ts +477 -0
  431. package/examples/condition-patterns/route-skipif-patterns.ts +468 -0
  432. package/examples/condition-patterns/step-skipif-patterns.ts +0 -0
  433. package/examples/condition-patterns/string-only-conditions.ts +296 -0
  434. package/examples/conversation-flows/completion-transitions.ts +318 -0
  435. package/examples/core-concepts/basic-agent.ts +503 -0
  436. package/examples/core-concepts/modern-streaming-api.ts +309 -0
  437. package/examples/core-concepts/schema-driven-extraction.ts +332 -0
  438. package/examples/core-concepts/session-management.ts +494 -0
  439. package/examples/integrations/database-integration.ts +630 -0
  440. package/examples/integrations/healthcare-integration.ts +595 -0
  441. package/examples/integrations/search-integration.ts +530 -0
  442. package/examples/integrations/server-session-management.ts +307 -0
  443. package/examples/persistence/custom-adapter.ts +529 -0
  444. package/examples/persistence/database-persistence.ts +583 -0
  445. package/examples/persistence/memory-sessions.ts +495 -0
  446. package/examples/persistence/prisma-schema.example.prisma +74 -0
  447. package/examples/persistence/redis-persistence.ts +488 -0
  448. package/examples/tools/basic-tools.ts +765 -0
  449. package/examples/tools/data-enrichment-tools.ts +593 -0
  450. package/package.json +125 -0
  451. package/src/adapters/MemoryAdapter.ts +273 -0
  452. package/src/adapters/MongoAdapter.ts +304 -0
  453. package/src/adapters/OpenSearchAdapter.ts +670 -0
  454. package/src/adapters/PostgreSQLAdapter.ts +428 -0
  455. package/src/adapters/PrismaAdapter.ts +553 -0
  456. package/src/adapters/RedisAdapter.ts +377 -0
  457. package/src/adapters/SQLiteAdapter.ts +459 -0
  458. package/src/adapters/index.ts +43 -0
  459. package/src/constants/index.ts +10 -0
  460. package/src/core/Agent.ts +970 -0
  461. package/src/core/Events.ts +164 -0
  462. package/src/core/PersistenceManager.ts +353 -0
  463. package/src/core/PromptComposer.ts +253 -0
  464. package/src/core/ResponseEngine.ts +306 -0
  465. package/src/core/ResponseModal.ts +2050 -0
  466. package/src/core/ResponsePipeline.ts +864 -0
  467. package/src/core/Route.ts +677 -0
  468. package/src/core/RoutingEngine.ts +1396 -0
  469. package/src/core/SessionManager.ts +297 -0
  470. package/src/core/Step.ts +593 -0
  471. package/src/core/ToolManager.ts +1394 -0
  472. package/src/index.ts +155 -0
  473. package/src/providers/AnthropicProvider.ts +560 -0
  474. package/src/providers/GeminiProvider.ts +683 -0
  475. package/src/providers/OpenAIProvider.ts +602 -0
  476. package/src/providers/OpenRouterProvider.ts +613 -0
  477. package/src/providers/index.ts +16 -0
  478. package/src/types/agent.ts +196 -0
  479. package/src/types/ai.ts +158 -0
  480. package/src/types/history.ts +206 -0
  481. package/src/types/index.ts +119 -0
  482. package/src/types/persistence.ts +251 -0
  483. package/src/types/route.ts +272 -0
  484. package/src/types/routing.ts +18 -0
  485. package/src/types/schema.ts +23 -0
  486. package/src/types/session.ts +74 -0
  487. package/src/types/template.ts +104 -0
  488. package/src/types/tool.ts +174 -0
  489. package/src/utils/clone.ts +34 -0
  490. package/src/utils/condition.ts +190 -0
  491. package/src/utils/event.ts +16 -0
  492. package/src/utils/history.ts +306 -0
  493. package/src/utils/id.ts +73 -0
  494. package/src/utils/index.ts +69 -0
  495. package/src/utils/json.ts +46 -0
  496. package/src/utils/logger.ts +19 -0
  497. package/src/utils/retry.ts +97 -0
  498. package/src/utils/session.ts +204 -0
  499. package/src/utils/template.ts +444 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolManager.js","sourceRoot":"","sources":["../../../src/core/ToolManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * @falai/agent - Standalone AI Agent framework
3
+ *
4
+ * A strongly-typed, modular agent framework with route DSL and AI provider strategy
5
+ */
6
+ export { Agent } from "./core/Agent";
7
+ export { Route } from "./core/Route";
8
+ export { Step } from "./core/Step";
9
+ export { ResponseModal } from "./core/ResponseModal";
10
+ export type { ResponseModalOptions, RespondParams, StreamOptions, GenerateOptions } from "./core/ResponseModal";
11
+ export { adaptEvent, convertHistoryToEvents } from "./core/Events";
12
+ export { PersistenceManager } from "./core/PersistenceManager";
13
+ export { SessionManager } from "./core/SessionManager";
14
+ export { ToolManager, ToolCreationError, ToolExecutionError } from "./core/ToolManager";
15
+ export { GeminiProvider } from "./providers/GeminiProvider";
16
+ export type { GeminiProviderOptions } from "./providers/GeminiProvider";
17
+ export { OpenAIProvider } from "./providers/OpenAIProvider";
18
+ export type { OpenAIProviderOptions } from "./providers/OpenAIProvider";
19
+ export { OpenRouterProvider } from "./providers/OpenRouterProvider";
20
+ export type { OpenRouterProviderOptions } from "./providers/OpenRouterProvider";
21
+ export { AnthropicProvider } from "./providers/AnthropicProvider";
22
+ export type { AnthropicProviderOptions } from "./providers/AnthropicProvider";
23
+ export { PrismaAdapter } from "./adapters/PrismaAdapter";
24
+ export type { PrismaClient, FieldMappings, PrismaAdapterOptions, } from "./adapters/PrismaAdapter";
25
+ export { RedisAdapter } from "./adapters/RedisAdapter";
26
+ export type { RedisClient, RedisAdapterOptions } from "./adapters/RedisAdapter";
27
+ export { MongoAdapter } from "./adapters/MongoAdapter";
28
+ export type { MongoClient, MongoDatabase, MongoCollection, MongoAdapterOptions, } from "./adapters/MongoAdapter";
29
+ export { PostgreSQLAdapter } from "./adapters/PostgreSQLAdapter";
30
+ export type { PgClient, PgQueryResult, PostgreSQLAdapterOptions, } from "./adapters/PostgreSQLAdapter";
31
+ export { SQLiteAdapter } from "./adapters/SQLiteAdapter";
32
+ export type { SqliteDatabase, SqliteStepment, SQLiteAdapterOptions, } from "./adapters/SQLiteAdapter";
33
+ export { MemoryAdapter } from "./adapters/MemoryAdapter";
34
+ export { OpenSearchAdapter } from "./adapters/OpenSearchAdapter";
35
+ export type { OpenSearchClient, OpenSearchAdapterOptions, } from "./adapters/OpenSearchAdapter";
36
+ export { END_ROUTE, END_ROUTE_ID } from "./constants";
37
+ export { generateRouteId, generateStepId, generateToolId } from "./utils/id";
38
+ export { formatKnowledgeBase } from "./utils/template";
39
+ export { ConditionEvaluator, createConditionEvaluator, extractAIContextStrings, hasProgrammaticConditions } from "./utils/condition";
40
+ export { normalizeHistory, historyItemToEvent, historyToEvents, eventToHistoryItem, eventsToHistory, userMessage, assistantMessage, toolMessage, systemMessage, } from "./utils/history";
41
+ export type { AgentOptions, Term, Guideline, GuidelineMatch, ContextLifecycleHooks, ContextProvider, Event, EmittedEvent, MessageEventData, ToolEventData, StatusEventData, Participant, RouteRef, StepRef, RouteOptions, StepOptions, RouteTransitionConfig, RouteCompletionHandler, SessionState, PendingTransition, ToolContext, ToolResult, ToolHandler, Tool, DataEnrichmentConfig, ValidationConfig, ValidationError, ApiCallConfig, ComputationConfig, ToolScope, AiProvider, GenerateMessageInput, GenerateMessageOutput, AgentStructuredResponse, ReasoningConfig, StructuredSchema, SessionData, MessageData, CollectedStateData, SessionStatus, SessionRepository, MessageRepository, PersistenceConfig, CreateSessionOptions, SaveMessageOptions, AgentResponseStreamChunk, Role, HistoryItem, History, PersistenceAdapter, Template, TemplateContext, ConditionTemplate, ConditionEvaluationResult, UserHistoryItem, AssistantHistoryItem, ToolHistoryItem, SystemHistoryItem, } from "./types";
42
+ export { CompositionMode, EventKind, MessageRole } from "./types";
43
+ export { createSession, enterRoute, enterStep, mergeCollected } from "./utils";
44
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * @falai/agent - Standalone AI Agent framework
3
+ *
4
+ * A strongly-typed, modular agent framework with route DSL and AI provider strategy
5
+ */
6
+ // Core
7
+ export { Agent } from "./core/Agent";
8
+ export { Route } from "./core/Route";
9
+ export { Step } from "./core/Step";
10
+ export { ResponseModal } from "./core/ResponseModal";
11
+ export { adaptEvent, convertHistoryToEvents } from "./core/Events";
12
+ export { PersistenceManager } from "./core/PersistenceManager";
13
+ export { SessionManager } from "./core/SessionManager";
14
+ export { ToolManager, ToolCreationError, ToolExecutionError } from "./core/ToolManager";
15
+ // Providers
16
+ export { GeminiProvider } from "./providers/GeminiProvider";
17
+ export { OpenAIProvider } from "./providers/OpenAIProvider";
18
+ export { OpenRouterProvider } from "./providers/OpenRouterProvider";
19
+ export { AnthropicProvider } from "./providers/AnthropicProvider";
20
+ // Adapters
21
+ export { PrismaAdapter } from "./adapters/PrismaAdapter";
22
+ export { RedisAdapter } from "./adapters/RedisAdapter";
23
+ export { MongoAdapter } from "./adapters/MongoAdapter";
24
+ export { PostgreSQLAdapter } from "./adapters/PostgreSQLAdapter";
25
+ export { SQLiteAdapter } from "./adapters/SQLiteAdapter";
26
+ export { MemoryAdapter } from "./adapters/MemoryAdapter";
27
+ export { OpenSearchAdapter } from "./adapters/OpenSearchAdapter";
28
+ // Constants
29
+ export { END_ROUTE, END_ROUTE_ID } from "./constants";
30
+ // Utils
31
+ export { generateRouteId, generateStepId, generateToolId } from "./utils/id";
32
+ export { formatKnowledgeBase } from "./utils/template";
33
+ export { ConditionEvaluator, createConditionEvaluator, extractAIContextStrings, hasProgrammaticConditions } from "./utils/condition";
34
+ export { normalizeHistory, historyItemToEvent, historyToEvents, eventToHistoryItem, eventsToHistory, userMessage, assistantMessage, toolMessage, systemMessage, } from "./utils/history";
35
+ export { CompositionMode, EventKind, MessageRole } from "./types";
36
+ export { createSession, enterRoute, enterStep, mergeCollected } from "./utils";
37
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO;AACP,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAOrD,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExF,YAAY;AACZ,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAGlE,WAAW;AACX,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAMzD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAOvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAMjE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAMzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAMjE,YAAY;AACZ,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEtD,QAAQ;AACR,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,EAC1B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,aAAa,GACd,MAAM,iBAAiB,CAAC;AAgEzB,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Anthropic (Claude) provider implementation with retry and backup models
3
+ */
4
+ import type { MessageCreateParamsNonStreaming } from "@anthropic-ai/sdk/resources/messages";
5
+ import type { AiProvider, GenerateMessageInput, GenerateMessageOutput, GenerateMessageStreamChunk, AgentStructuredResponse } from "../types";
6
+ /**
7
+ * Configuration options for Anthropic provider
8
+ * Uses types from @anthropic-ai/sdk package
9
+ */
10
+ export interface AnthropicProviderOptions {
11
+ /** Anthropic API key */
12
+ apiKey: string;
13
+ /** Model to use (required) - e.g., "claude-sonnet-4-5", "claude-opus-4-1" */
14
+ model: string;
15
+ /** Backup models to try if primary fails (default: []) */
16
+ backupModels?: string[];
17
+ /** Default parameters - uses MessageCreateParamsNonStreaming from @anthropic-ai/sdk */
18
+ config?: Partial<Omit<MessageCreateParamsNonStreaming, "model" | "messages">>;
19
+ /** Retry configuration */
20
+ retryConfig?: {
21
+ timeout?: number;
22
+ retries?: number;
23
+ };
24
+ }
25
+ /**
26
+ * Anthropic provider implementation with backup models and retry logic
27
+ */
28
+ export declare class AnthropicProvider implements AiProvider {
29
+ readonly name = "anthropic";
30
+ private client;
31
+ private primaryModel;
32
+ private backupModels;
33
+ private config?;
34
+ private retryConfig;
35
+ constructor(options: AnthropicProviderOptions);
36
+ generateMessage<TContext = unknown, TStructured = AgentStructuredResponse>(input: GenerateMessageInput<TContext>): Promise<GenerateMessageOutput<TStructured>>;
37
+ generateMessageStream<TContext = unknown, TStructured = AgentStructuredResponse>(input: GenerateMessageInput<TContext>): AsyncGenerator<GenerateMessageStreamChunk<TStructured>>;
38
+ private generateWithBackup;
39
+ private generateWithModel;
40
+ private generateStreamWithBackup;
41
+ private generateStreamWithModel;
42
+ }
43
+ //# sourceMappingURL=AnthropicProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnthropicProvider.d.ts","sourceRoot":"","sources":["../../../src/providers/AnthropicProvider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EACV,+BAA+B,EAEhC,MAAM,sCAAsC,CAAC;AAE9C,OAAO,KAAK,EACV,UAAU,EACV,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,EACxB,MAAM,UAAU,CAAC;AAQlB;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC,wBAAwB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,6EAA6E;IAC7E,KAAK,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,uFAAuF;IACvF,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,+BAA+B,EAAE,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC;IAC9E,0BAA0B;IAC1B,WAAW,CAAC,EAAE;QACZ,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AA4ED;;GAEG;AACH,qBAAa,iBAAkB,YAAW,UAAU;IAClD,SAAgB,IAAI,eAAe;IACnC,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,YAAY,CAAW;IAC/B,OAAO,CAAC,MAAM,CAAC,CAEb;IACF,OAAO,CAAC,WAAW,CAAuC;gBAE9C,OAAO,EAAE,wBAAwB;IAuBvC,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;YAoElB,iBAAiB;YA2HhB,wBAAwB;YAoExB,uBAAuB;CAgIvC"}
@@ -0,0 +1,370 @@
1
+ /**
2
+ * Anthropic (Claude) provider implementation with retry and backup models
3
+ */
4
+ import Anthropic from "@anthropic-ai/sdk";
5
+ import { withTimeoutAndRetry, logger } from "../utils";
6
+ const DEFAULT_RETRY_CONFIG = {
7
+ timeout: 60000,
8
+ retries: 3,
9
+ };
10
+ /**
11
+ * Type guard to check if error is ErrorWithStatus
12
+ */
13
+ function isErrorWithStatus(error) {
14
+ return (typeof error === "object" &&
15
+ error !== null &&
16
+ ("status" in error || "code" in error || "message" in error));
17
+ }
18
+ /**
19
+ * Safely extract error message
20
+ */
21
+ function getErrorMessage(error) {
22
+ if (error instanceof Error) {
23
+ return error.message;
24
+ }
25
+ if (isErrorWithStatus(error) && error.message) {
26
+ return error.message;
27
+ }
28
+ return String(error);
29
+ }
30
+ /**
31
+ * Determines if an error should trigger backup model usage
32
+ */
33
+ const shouldUseBackupModel = (error) => {
34
+ if (!isErrorWithStatus(error)) {
35
+ return false;
36
+ }
37
+ // Server errors
38
+ if (error.status === 500 || error.status === 503 || error.status === 529) {
39
+ return true;
40
+ }
41
+ // Rate limiting
42
+ if (error.status === 429) {
43
+ return true;
44
+ }
45
+ // Model overloaded or unavailable
46
+ if (error.type === "overloaded_error" ||
47
+ error.type === "api_error" ||
48
+ error.code === "overloaded") {
49
+ return true;
50
+ }
51
+ const message = getErrorMessage(error);
52
+ if (message.includes("overloaded") ||
53
+ message.includes("unavailable") ||
54
+ message.includes("internal error") ||
55
+ message.includes("Internal error")) {
56
+ return true;
57
+ }
58
+ return false;
59
+ };
60
+ /**
61
+ * Anthropic provider implementation with backup models and retry logic
62
+ */
63
+ export class AnthropicProvider {
64
+ constructor(options) {
65
+ this.name = "anthropic";
66
+ const { apiKey, model, backupModels = [], config, retryConfig } = options;
67
+ if (!apiKey) {
68
+ throw new Error("Anthropic API key is required");
69
+ }
70
+ if (!model) {
71
+ throw new Error("Model is required. Example: 'claude-sonnet-4-5'");
72
+ }
73
+ this.client = new Anthropic({
74
+ apiKey,
75
+ });
76
+ this.primaryModel = model;
77
+ this.backupModels = backupModels;
78
+ this.config = config;
79
+ this.retryConfig = {
80
+ timeout: retryConfig?.timeout || DEFAULT_RETRY_CONFIG.timeout,
81
+ retries: retryConfig?.retries || DEFAULT_RETRY_CONFIG.retries,
82
+ };
83
+ }
84
+ async generateMessage(input) {
85
+ return this.generateWithBackup(input);
86
+ }
87
+ async *generateMessageStream(input) {
88
+ yield* this.generateStreamWithBackup(input);
89
+ }
90
+ async generateWithBackup(input) {
91
+ // Try primary model first
92
+ try {
93
+ return await this.generateWithModel(this.primaryModel, input);
94
+ }
95
+ catch (primaryError) {
96
+ const primaryErrMsg = getErrorMessage(primaryError);
97
+ logger.warn(`[ANTHROPIC] Primary model ${this.primaryModel} failed: ${primaryErrMsg}`);
98
+ if (!shouldUseBackupModel(primaryError)) {
99
+ throw primaryError;
100
+ }
101
+ logger.debug(`[ANTHROPIC] Trying backup models`);
102
+ let lastBackupError = primaryError;
103
+ for (let i = 0; i < this.backupModels.length; i++) {
104
+ const backupModel = this.backupModels[i];
105
+ logger.debug(`[ANTHROPIC] Trying backup model ${i + 1}/${this.backupModels.length}: ${backupModel}`);
106
+ try {
107
+ const result = await this.generateWithModel(backupModel, input);
108
+ logger.debug(`[ANTHROPIC] Backup model ${backupModel} succeeded`);
109
+ return result;
110
+ }
111
+ catch (backupError) {
112
+ const backupErrMsg = getErrorMessage(backupError);
113
+ logger.warn(`[ANTHROPIC] Backup model ${backupModel} failed: ${backupErrMsg}`);
114
+ lastBackupError = backupError;
115
+ if (!shouldUseBackupModel(backupError) &&
116
+ i < this.backupModels.length - 1) {
117
+ logger.debug(`[ANTHROPIC] Backup model error doesn't qualify for further attempts`);
118
+ break;
119
+ }
120
+ }
121
+ }
122
+ const lastBackupErrMsg = getErrorMessage(lastBackupError);
123
+ logger.error(`[ANTHROPIC] All models failed. Primary: ${primaryErrMsg}, Last backup: ${lastBackupErrMsg}`);
124
+ throw lastBackupError;
125
+ }
126
+ }
127
+ async generateWithModel(model, input) {
128
+ const operation = async () => {
129
+ // Anthropic requires max_tokens to be specified
130
+ const maxTokens = input.parameters?.maxOutputTokens || 4096;
131
+ const params = {
132
+ model,
133
+ max_tokens: maxTokens,
134
+ messages: [
135
+ {
136
+ role: "user",
137
+ content: input.prompt,
138
+ },
139
+ ],
140
+ ...this.config,
141
+ };
142
+ // Add tools if provided
143
+ if (input.tools && input.tools.length > 0) {
144
+ params.tools = input.tools.map((tool) => ({
145
+ name: tool.name || tool.id,
146
+ description: tool.description || "",
147
+ input_schema: tool.parameters, // JSON schema
148
+ }));
149
+ }
150
+ // Handle schema: Anthropic doesn't have a native schema mode, so embed constraints
151
+ if (input.parameters?.jsonSchema) {
152
+ const systemPrompt = "You must respond with valid JSON only and it MUST match the provided schema.";
153
+ // Merge with existing system if present
154
+ if (typeof this.config?.system === "string") {
155
+ params.system = `${this.config.system}\n\n${systemPrompt}`;
156
+ }
157
+ else if (Array.isArray(this.config?.system)) {
158
+ params.system = [
159
+ ...this.config.system,
160
+ {
161
+ type: "text",
162
+ text: systemPrompt,
163
+ },
164
+ ];
165
+ }
166
+ else {
167
+ params.system = systemPrompt;
168
+ }
169
+ }
170
+ const response = await this.client.messages.create(params);
171
+ // Extract text and tool calls from response
172
+ const textContent = response.content.find((block) => block.type === "text");
173
+ const message = textContent?.type === "text" ? textContent.text : "";
174
+ if (!message) {
175
+ throw new Error("No response from Anthropic");
176
+ }
177
+ // Extract tool calls from response
178
+ const toolCalls = [];
179
+ // Check for tool_use content blocks
180
+ for (const block of response.content) {
181
+ if (block.type === "tool_use") {
182
+ toolCalls.push({
183
+ toolName: block.name,
184
+ arguments: block.input,
185
+ });
186
+ }
187
+ }
188
+ // Parse JSON response if schema was provided
189
+ let structured;
190
+ if (input.parameters?.jsonSchema) {
191
+ try {
192
+ structured = JSON.parse(message);
193
+ }
194
+ catch (error) {
195
+ logger.warn("[ANTHROPIC] Failed to parse JSON response:", error);
196
+ // Fall back to treating the message as plain text
197
+ }
198
+ }
199
+ // If tools were used, include them in structured response
200
+ if (toolCalls.length > 0) {
201
+ structured = {
202
+ message,
203
+ toolCalls,
204
+ ...structured,
205
+ };
206
+ }
207
+ return {
208
+ message,
209
+ metadata: {
210
+ model: response.model,
211
+ stopReason: response.stop_reason,
212
+ tokensUsed: response.usage.input_tokens + response.usage.output_tokens,
213
+ promptTokens: response.usage.input_tokens,
214
+ completionTokens: response.usage.output_tokens,
215
+ },
216
+ structured,
217
+ };
218
+ };
219
+ return withTimeoutAndRetry(operation, this.retryConfig.timeout, this.retryConfig.retries, `Anthropic ${model}`);
220
+ }
221
+ async *generateStreamWithBackup(input) {
222
+ // Try primary model first
223
+ try {
224
+ yield* this.generateStreamWithModel(this.primaryModel, input);
225
+ }
226
+ catch (primaryError) {
227
+ const primaryErrMsg = getErrorMessage(primaryError);
228
+ logger.warn(`[ANTHROPIC] Primary model ${this.primaryModel} failed: ${primaryErrMsg}`);
229
+ if (!shouldUseBackupModel(primaryError)) {
230
+ throw primaryError;
231
+ }
232
+ logger.debug(`[ANTHROPIC] Trying backup models for streaming`);
233
+ let lastBackupError = primaryError;
234
+ for (let i = 0; i < this.backupModels.length; i++) {
235
+ const backupModel = this.backupModels[i];
236
+ logger.debug(`[ANTHROPIC] Trying backup model ${i + 1}/${this.backupModels.length}: ${backupModel}`);
237
+ try {
238
+ yield* this.generateStreamWithModel(backupModel, input);
239
+ logger.debug(`[ANTHROPIC] Backup model ${backupModel} succeeded`);
240
+ return;
241
+ }
242
+ catch (backupError) {
243
+ const backupErrMsg = getErrorMessage(backupError);
244
+ logger.warn(`[ANTHROPIC] Backup model ${backupModel} failed: ${backupErrMsg}`);
245
+ lastBackupError = backupError;
246
+ if (!shouldUseBackupModel(backupError) &&
247
+ i < this.backupModels.length - 1) {
248
+ logger.debug(`[ANTHROPIC] Backup model error doesn't qualify for further attempts`);
249
+ break;
250
+ }
251
+ }
252
+ }
253
+ const lastBackupErrMsg = getErrorMessage(lastBackupError);
254
+ logger.error(`[ANTHROPIC] All models failed. Primary: ${primaryErrMsg}, Last backup: ${lastBackupErrMsg}`);
255
+ throw lastBackupError;
256
+ }
257
+ }
258
+ async *generateStreamWithModel(model, input) {
259
+ // Anthropic requires max_tokens to be specified
260
+ const maxTokens = input.parameters?.maxOutputTokens || 4096;
261
+ const params = {
262
+ model,
263
+ max_tokens: maxTokens,
264
+ messages: [
265
+ {
266
+ role: "user",
267
+ content: input.prompt,
268
+ },
269
+ ],
270
+ stream: true,
271
+ ...this.config,
272
+ };
273
+ // Add tools if provided
274
+ if (input.tools && input.tools.length > 0) {
275
+ params.tools = input.tools.map((tool) => ({
276
+ name: tool.name || tool.id,
277
+ description: tool.description || "",
278
+ input_schema: tool.parameters, // JSON schema
279
+ }));
280
+ }
281
+ // Handle schema in streaming: embed constraint
282
+ if (input.parameters?.jsonSchema) {
283
+ const systemPrompt = "You must respond with valid JSON only and it MUST match the provided schema.";
284
+ if (typeof this.config?.system === "string") {
285
+ params.system = `${this.config.system}\n\n${systemPrompt}`;
286
+ }
287
+ else if (Array.isArray(this.config?.system)) {
288
+ params.system = [
289
+ ...this.config.system,
290
+ {
291
+ type: "text",
292
+ text: systemPrompt,
293
+ },
294
+ ];
295
+ }
296
+ else {
297
+ params.system = systemPrompt;
298
+ }
299
+ }
300
+ const stream = this.client.messages.stream(params);
301
+ let accumulated = "";
302
+ let currentModel = model;
303
+ let stopReason;
304
+ let inputTokens = 0;
305
+ let outputTokens = 0;
306
+ const toolCalls = [];
307
+ for await (const chunk of stream) {
308
+ if (chunk.type === "message_start") {
309
+ currentModel = chunk.message.model;
310
+ inputTokens = chunk.message.usage.input_tokens;
311
+ }
312
+ else if (chunk.type === "content_block_start") {
313
+ if (chunk.content_block.type === "tool_use") {
314
+ toolCalls.push({
315
+ toolName: chunk.content_block.name,
316
+ arguments: chunk.content_block.input,
317
+ });
318
+ }
319
+ }
320
+ else if (chunk.type === "content_block_delta") {
321
+ if (chunk.delta.type === "text_delta") {
322
+ const delta = chunk.delta.text;
323
+ accumulated += delta;
324
+ yield {
325
+ delta,
326
+ accumulated,
327
+ done: false,
328
+ };
329
+ }
330
+ }
331
+ else if (chunk.type === "message_delta") {
332
+ stopReason = chunk.delta.stop_reason || undefined;
333
+ outputTokens = chunk.usage.output_tokens;
334
+ }
335
+ }
336
+ // Parse JSON response if schema was provided
337
+ let structured;
338
+ if (input.parameters?.jsonSchema && accumulated) {
339
+ try {
340
+ structured = JSON.parse(accumulated);
341
+ }
342
+ catch (error) {
343
+ logger.warn("[ANTHROPIC] Failed to parse JSON response in stream:", error);
344
+ }
345
+ }
346
+ // If tools were used, include them in structured response
347
+ if (toolCalls.length > 0) {
348
+ structured = {
349
+ message: accumulated,
350
+ toolCalls,
351
+ ...structured,
352
+ };
353
+ }
354
+ // Yield final chunk
355
+ yield {
356
+ delta: "",
357
+ accumulated,
358
+ done: true,
359
+ metadata: {
360
+ model: currentModel,
361
+ stopReason,
362
+ tokensUsed: inputTokens + outputTokens,
363
+ promptTokens: inputTokens,
364
+ completionTokens: outputTokens,
365
+ },
366
+ structured: structured,
367
+ };
368
+ }
369
+ }
370
+ //# sourceMappingURL=AnthropicProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnthropicProvider.js","sourceRoot":"","sources":["../../../src/providers/AnthropicProvider.ts"],"names":[],"mappings":"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"}