@falai/agent 2.6.1 → 3.0.0

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 (611) hide show
  1. package/README.md +2 -2
  2. package/dist/adapters/MemoryAdapter.d.ts +1 -1
  3. package/dist/adapters/MemoryAdapter.d.ts.map +1 -1
  4. package/dist/adapters/MemoryAdapter.js +32 -36
  5. package/dist/adapters/MemoryAdapter.js.map +1 -1
  6. package/dist/adapters/MongoAdapter.d.ts +1 -1
  7. package/dist/adapters/MongoAdapter.d.ts.map +1 -1
  8. package/dist/adapters/MongoAdapter.js +2 -2
  9. package/dist/adapters/MongoAdapter.js.map +1 -1
  10. package/dist/adapters/OpenSearchAdapter.d.ts +1 -1
  11. package/dist/adapters/OpenSearchAdapter.d.ts.map +1 -1
  12. package/dist/adapters/OpenSearchAdapter.js +3 -3
  13. package/dist/adapters/OpenSearchAdapter.js.map +1 -1
  14. package/dist/adapters/PostgreSQLAdapter.d.ts +1 -1
  15. package/dist/adapters/PostgreSQLAdapter.d.ts.map +1 -1
  16. package/dist/adapters/PostgreSQLAdapter.js +18 -13
  17. package/dist/adapters/PostgreSQLAdapter.js.map +1 -1
  18. package/dist/adapters/PrismaAdapter.d.ts +1 -1
  19. package/dist/adapters/PrismaAdapter.d.ts.map +1 -1
  20. package/dist/adapters/PrismaAdapter.js +3 -3
  21. package/dist/adapters/PrismaAdapter.js.map +1 -1
  22. package/dist/adapters/RedisAdapter.d.ts +2 -1
  23. package/dist/adapters/RedisAdapter.d.ts.map +1 -1
  24. package/dist/adapters/RedisAdapter.js +77 -27
  25. package/dist/adapters/RedisAdapter.js.map +1 -1
  26. package/dist/adapters/SQLiteAdapter.d.ts +1 -1
  27. package/dist/adapters/SQLiteAdapter.d.ts.map +1 -1
  28. package/dist/adapters/SQLiteAdapter.js +9 -31
  29. package/dist/adapters/SQLiteAdapter.js.map +1 -1
  30. package/dist/adapters/index.d.ts +13 -13
  31. package/dist/adapters/index.d.ts.map +1 -1
  32. package/dist/adapters/index.js +7 -7
  33. package/dist/adapters/index.js.map +1 -1
  34. package/dist/adapters/sessionRow.d.ts +22 -0
  35. package/dist/adapters/sessionRow.d.ts.map +1 -0
  36. package/dist/adapters/sessionRow.js +48 -0
  37. package/dist/adapters/sessionRow.js.map +1 -0
  38. package/dist/cjs/adapters/MemoryAdapter.d.ts +1 -1
  39. package/dist/cjs/adapters/MemoryAdapter.d.ts.map +1 -1
  40. package/dist/cjs/adapters/MemoryAdapter.js +39 -43
  41. package/dist/cjs/adapters/MemoryAdapter.js.map +1 -1
  42. package/dist/cjs/adapters/MongoAdapter.d.ts +1 -1
  43. package/dist/cjs/adapters/MongoAdapter.d.ts.map +1 -1
  44. package/dist/cjs/adapters/MongoAdapter.js +4 -4
  45. package/dist/cjs/adapters/MongoAdapter.js.map +1 -1
  46. package/dist/cjs/adapters/OpenSearchAdapter.d.ts +1 -1
  47. package/dist/cjs/adapters/OpenSearchAdapter.d.ts.map +1 -1
  48. package/dist/cjs/adapters/OpenSearchAdapter.js +6 -6
  49. package/dist/cjs/adapters/OpenSearchAdapter.js.map +1 -1
  50. package/dist/cjs/adapters/PostgreSQLAdapter.d.ts +1 -1
  51. package/dist/cjs/adapters/PostgreSQLAdapter.d.ts.map +1 -1
  52. package/dist/cjs/adapters/PostgreSQLAdapter.js +20 -15
  53. package/dist/cjs/adapters/PostgreSQLAdapter.js.map +1 -1
  54. package/dist/cjs/adapters/PrismaAdapter.d.ts +1 -1
  55. package/dist/cjs/adapters/PrismaAdapter.d.ts.map +1 -1
  56. package/dist/cjs/adapters/PrismaAdapter.js +7 -7
  57. package/dist/cjs/adapters/PrismaAdapter.js.map +1 -1
  58. package/dist/cjs/adapters/RedisAdapter.d.ts +2 -1
  59. package/dist/cjs/adapters/RedisAdapter.d.ts.map +1 -1
  60. package/dist/cjs/adapters/RedisAdapter.js +81 -31
  61. package/dist/cjs/adapters/RedisAdapter.js.map +1 -1
  62. package/dist/cjs/adapters/SQLiteAdapter.d.ts +1 -1
  63. package/dist/cjs/adapters/SQLiteAdapter.d.ts.map +1 -1
  64. package/dist/cjs/adapters/SQLiteAdapter.js +11 -33
  65. package/dist/cjs/adapters/SQLiteAdapter.js.map +1 -1
  66. package/dist/cjs/adapters/index.d.ts +13 -13
  67. package/dist/cjs/adapters/index.d.ts.map +1 -1
  68. package/dist/cjs/adapters/index.js +14 -14
  69. package/dist/cjs/adapters/index.js.map +1 -1
  70. package/dist/cjs/adapters/sessionRow.d.ts +22 -0
  71. package/dist/cjs/adapters/sessionRow.d.ts.map +1 -0
  72. package/dist/cjs/adapters/sessionRow.js +52 -0
  73. package/dist/cjs/adapters/sessionRow.js.map +1 -0
  74. package/dist/cjs/core/Agent.d.ts +19 -11
  75. package/dist/cjs/core/Agent.d.ts.map +1 -1
  76. package/dist/cjs/core/Agent.js +102 -64
  77. package/dist/cjs/core/Agent.js.map +1 -1
  78. package/dist/cjs/core/AutoChainExecutor.d.ts +12 -22
  79. package/dist/cjs/core/AutoChainExecutor.d.ts.map +1 -1
  80. package/dist/cjs/core/AutoChainExecutor.js +46 -49
  81. package/dist/cjs/core/AutoChainExecutor.js.map +1 -1
  82. package/dist/cjs/core/BranchEvaluator.d.ts +4 -4
  83. package/dist/cjs/core/BranchEvaluator.d.ts.map +1 -1
  84. package/dist/cjs/core/BranchEvaluator.js +6 -6
  85. package/dist/cjs/core/BranchEvaluator.js.map +1 -1
  86. package/dist/cjs/core/CompactionEngine.d.ts +16 -3
  87. package/dist/cjs/core/CompactionEngine.d.ts.map +1 -1
  88. package/dist/cjs/core/CompactionEngine.js +30 -6
  89. package/dist/cjs/core/CompactionEngine.js.map +1 -1
  90. package/dist/cjs/core/DirectiveChainTracker.d.ts +1 -1
  91. package/dist/cjs/core/DirectiveChainTracker.d.ts.map +1 -1
  92. package/dist/cjs/core/DirectiveChainTracker.js +5 -5
  93. package/dist/cjs/core/DirectiveChainTracker.js.map +1 -1
  94. package/dist/cjs/core/Events.d.ts +1 -1
  95. package/dist/cjs/core/Events.d.ts.map +1 -1
  96. package/dist/cjs/core/Events.js +15 -15
  97. package/dist/cjs/core/Events.js.map +1 -1
  98. package/dist/cjs/core/Flow.d.ts +4 -4
  99. package/dist/cjs/core/Flow.d.ts.map +1 -1
  100. package/dist/cjs/core/Flow.js +15 -15
  101. package/dist/cjs/core/Flow.js.map +1 -1
  102. package/dist/cjs/core/FlowRouter.d.ts +4 -4
  103. package/dist/cjs/core/FlowRouter.d.ts.map +1 -1
  104. package/dist/cjs/core/FlowRouter.js +92 -70
  105. package/dist/cjs/core/FlowRouter.js.map +1 -1
  106. package/dist/cjs/core/PersistenceManager.d.ts +1 -1
  107. package/dist/cjs/core/PersistenceManager.d.ts.map +1 -1
  108. package/dist/cjs/core/PersistenceManager.js +10 -10
  109. package/dist/cjs/core/PersistenceManager.js.map +1 -1
  110. package/dist/cjs/core/PromptComposer.d.ts +4 -4
  111. package/dist/cjs/core/PromptComposer.d.ts.map +1 -1
  112. package/dist/cjs/core/PromptComposer.js +13 -13
  113. package/dist/cjs/core/PromptComposer.js.map +1 -1
  114. package/dist/cjs/core/PromptSectionCache.d.ts +2 -2
  115. package/dist/cjs/core/PromptSectionCache.d.ts.map +1 -1
  116. package/dist/cjs/core/ResponseEngine.d.ts +4 -4
  117. package/dist/cjs/core/ResponseEngine.d.ts.map +1 -1
  118. package/dist/cjs/core/ResponseEngine.js +7 -7
  119. package/dist/cjs/core/ResponseEngine.js.map +1 -1
  120. package/dist/cjs/core/ResponseGenerationError.d.ts.map +1 -1
  121. package/dist/cjs/core/ResponseGenerationError.js +3 -5
  122. package/dist/cjs/core/ResponseGenerationError.js.map +1 -1
  123. package/dist/cjs/core/ResponseModal.d.ts +39 -10
  124. package/dist/cjs/core/ResponseModal.d.ts.map +1 -1
  125. package/dist/cjs/core/ResponseModal.js +195 -72
  126. package/dist/cjs/core/ResponseModal.js.map +1 -1
  127. package/dist/cjs/core/ResponsePipeline.d.ts +50 -12
  128. package/dist/cjs/core/ResponsePipeline.d.ts.map +1 -1
  129. package/dist/cjs/core/ResponsePipeline.js +301 -158
  130. package/dist/cjs/core/ResponsePipeline.js.map +1 -1
  131. package/dist/cjs/core/SessionFinalizer.d.ts +4 -4
  132. package/dist/cjs/core/SessionFinalizer.d.ts.map +1 -1
  133. package/dist/cjs/core/SessionFinalizer.js +36 -9
  134. package/dist/cjs/core/SessionFinalizer.js.map +1 -1
  135. package/dist/cjs/core/SessionManager.d.ts +15 -6
  136. package/dist/cjs/core/SessionManager.d.ts.map +1 -1
  137. package/dist/cjs/core/SessionManager.js +49 -22
  138. package/dist/cjs/core/SessionManager.js.map +1 -1
  139. package/dist/cjs/core/SignalCoordinator.d.ts +5 -5
  140. package/dist/cjs/core/SignalCoordinator.d.ts.map +1 -1
  141. package/dist/cjs/core/SignalCoordinator.js +12 -12
  142. package/dist/cjs/core/SignalCoordinator.js.map +1 -1
  143. package/dist/cjs/core/SignalEvaluator.d.ts +4 -4
  144. package/dist/cjs/core/SignalEvaluator.d.ts.map +1 -1
  145. package/dist/cjs/core/SignalEvaluator.js +6 -6
  146. package/dist/cjs/core/SignalEvaluator.js.map +1 -1
  147. package/dist/cjs/core/SignalProcessor.d.ts +6 -6
  148. package/dist/cjs/core/SignalProcessor.d.ts.map +1 -1
  149. package/dist/cjs/core/SignalProcessor.js +17 -89
  150. package/dist/cjs/core/SignalProcessor.js.map +1 -1
  151. package/dist/cjs/core/Step.d.ts +5 -5
  152. package/dist/cjs/core/Step.d.ts.map +1 -1
  153. package/dist/cjs/core/Step.js +65 -17
  154. package/dist/cjs/core/Step.js.map +1 -1
  155. package/dist/cjs/core/StepLifecycle.d.ts +18 -8
  156. package/dist/cjs/core/StepLifecycle.d.ts.map +1 -1
  157. package/dist/cjs/core/StepLifecycle.js +103 -20
  158. package/dist/cjs/core/StepLifecycle.js.map +1 -1
  159. package/dist/cjs/core/StreamingToolExecutor.d.ts +1 -1
  160. package/dist/cjs/core/StreamingToolExecutor.d.ts.map +1 -1
  161. package/dist/cjs/core/StreamingToolExecutor.js +30 -6
  162. package/dist/cjs/core/StreamingToolExecutor.js.map +1 -1
  163. package/dist/cjs/core/ToolLoopExecutor.d.ts +8 -4
  164. package/dist/cjs/core/ToolLoopExecutor.d.ts.map +1 -1
  165. package/dist/cjs/core/ToolLoopExecutor.js +189 -97
  166. package/dist/cjs/core/ToolLoopExecutor.js.map +1 -1
  167. package/dist/cjs/core/ToolManager.d.ts +6 -6
  168. package/dist/cjs/core/ToolManager.d.ts.map +1 -1
  169. package/dist/cjs/core/ToolManager.js +102 -79
  170. package/dist/cjs/core/ToolManager.js.map +1 -1
  171. package/dist/cjs/core/createAgent.d.ts +2 -2
  172. package/dist/cjs/core/createAgent.d.ts.map +1 -1
  173. package/dist/cjs/core/createAgent.js +2 -2
  174. package/dist/cjs/core/createAgent.js.map +1 -1
  175. package/dist/cjs/core/flow-namespace.d.ts +16 -1
  176. package/dist/cjs/core/flow-namespace.d.ts.map +1 -1
  177. package/dist/cjs/core/flow-namespace.js +26 -4
  178. package/dist/cjs/core/flow-namespace.js.map +1 -1
  179. package/dist/cjs/core/toolGates.d.ts +1 -1
  180. package/dist/cjs/core/toolGates.d.ts.map +1 -1
  181. package/dist/cjs/core/toolGates.js +3 -3
  182. package/dist/cjs/core/toolGates.js.map +1 -1
  183. package/dist/cjs/index.d.ts +50 -45
  184. package/dist/cjs/index.d.ts.map +1 -1
  185. package/dist/cjs/index.js +96 -88
  186. package/dist/cjs/index.js.map +1 -1
  187. package/dist/cjs/providers/AnthropicProvider.d.ts +25 -35
  188. package/dist/cjs/providers/AnthropicProvider.d.ts.map +1 -1
  189. package/dist/cjs/providers/AnthropicProvider.js +30 -426
  190. package/dist/cjs/providers/AnthropicProvider.js.map +1 -1
  191. package/dist/cjs/providers/DeepSeekProvider.d.ts +13 -34
  192. package/dist/cjs/providers/DeepSeekProvider.d.ts.map +1 -1
  193. package/dist/cjs/providers/DeepSeekProvider.js +17 -51
  194. package/dist/cjs/providers/DeepSeekProvider.js.map +1 -1
  195. package/dist/cjs/providers/GeminiProvider.d.ts +22 -75
  196. package/dist/cjs/providers/GeminiProvider.d.ts.map +1 -1
  197. package/dist/cjs/providers/GeminiProvider.js +32 -558
  198. package/dist/cjs/providers/GeminiProvider.js.map +1 -1
  199. package/dist/cjs/providers/GenericOpenAICompatibleProvider.d.ts +9 -10
  200. package/dist/cjs/providers/GenericOpenAICompatibleProvider.d.ts.map +1 -1
  201. package/dist/cjs/providers/GenericOpenAICompatibleProvider.js +14 -20
  202. package/dist/cjs/providers/GenericOpenAICompatibleProvider.js.map +1 -1
  203. package/dist/cjs/providers/OpenAICompatibleProvider.d.ts +26 -135
  204. package/dist/cjs/providers/OpenAICompatibleProvider.d.ts.map +1 -1
  205. package/dist/cjs/providers/OpenAICompatibleProvider.js +40 -496
  206. package/dist/cjs/providers/OpenAICompatibleProvider.js.map +1 -1
  207. package/dist/cjs/providers/OpenAIProvider.d.ts +14 -20
  208. package/dist/cjs/providers/OpenAIProvider.d.ts.map +1 -1
  209. package/dist/cjs/providers/OpenAIProvider.js +21 -28
  210. package/dist/cjs/providers/OpenAIProvider.js.map +1 -1
  211. package/dist/cjs/providers/OpenRouterProvider.d.ts +20 -24
  212. package/dist/cjs/providers/OpenRouterProvider.d.ts.map +1 -1
  213. package/dist/cjs/providers/OpenRouterProvider.js +22 -38
  214. package/dist/cjs/providers/OpenRouterProvider.js.map +1 -1
  215. package/dist/cjs/providers/ProviderAdapter.d.ts +94 -0
  216. package/dist/cjs/providers/ProviderAdapter.d.ts.map +1 -0
  217. package/dist/cjs/providers/ProviderAdapter.js +257 -0
  218. package/dist/cjs/providers/ProviderAdapter.js.map +1 -0
  219. package/dist/cjs/providers/index.d.ts +21 -18
  220. package/dist/cjs/providers/index.d.ts.map +1 -1
  221. package/dist/cjs/providers/index.js +23 -21
  222. package/dist/cjs/providers/index.js.map +1 -1
  223. package/dist/cjs/types/agent.d.ts +37 -11
  224. package/dist/cjs/types/agent.d.ts.map +1 -1
  225. package/dist/cjs/types/ai.d.ts +11 -21
  226. package/dist/cjs/types/ai.d.ts.map +1 -1
  227. package/dist/cjs/types/compaction.d.ts +2 -2
  228. package/dist/cjs/types/compaction.d.ts.map +1 -1
  229. package/dist/cjs/types/errors.d.ts +16 -20
  230. package/dist/cjs/types/errors.d.ts.map +1 -1
  231. package/dist/cjs/types/errors.js +17 -18
  232. package/dist/cjs/types/errors.js.map +1 -1
  233. package/dist/cjs/types/flow.d.ts +56 -39
  234. package/dist/cjs/types/flow.d.ts.map +1 -1
  235. package/dist/cjs/types/history.d.ts +1 -1
  236. package/dist/cjs/types/history.d.ts.map +1 -1
  237. package/dist/cjs/types/index.d.ts +17 -17
  238. package/dist/cjs/types/index.d.ts.map +1 -1
  239. package/dist/cjs/types/index.js +14 -14
  240. package/dist/cjs/types/index.js.map +1 -1
  241. package/dist/cjs/types/persistence.d.ts +2 -2
  242. package/dist/cjs/types/persistence.d.ts.map +1 -1
  243. package/dist/cjs/types/session.d.ts +4 -4
  244. package/dist/cjs/types/session.d.ts.map +1 -1
  245. package/dist/cjs/types/signals.d.ts +3 -3
  246. package/dist/cjs/types/signals.d.ts.map +1 -1
  247. package/dist/cjs/types/template.d.ts +2 -2
  248. package/dist/cjs/types/template.d.ts.map +1 -1
  249. package/dist/cjs/types/tool.d.ts +4 -2
  250. package/dist/cjs/types/tool.d.ts.map +1 -1
  251. package/dist/cjs/types/tool.js.map +1 -1
  252. package/dist/cjs/utils/condition.d.ts +1 -1
  253. package/dist/cjs/utils/condition.d.ts.map +1 -1
  254. package/dist/cjs/utils/condition.js +6 -6
  255. package/dist/cjs/utils/condition.js.map +1 -1
  256. package/dist/cjs/utils/event.d.ts +1 -1
  257. package/dist/cjs/utils/event.d.ts.map +1 -1
  258. package/dist/cjs/utils/event.js +2 -2
  259. package/dist/cjs/utils/event.js.map +1 -1
  260. package/dist/cjs/utils/history.d.ts +2 -2
  261. package/dist/cjs/utils/history.d.ts.map +1 -1
  262. package/dist/cjs/utils/history.js +15 -15
  263. package/dist/cjs/utils/history.js.map +1 -1
  264. package/dist/cjs/utils/index.d.ts +11 -13
  265. package/dist/cjs/utils/index.d.ts.map +1 -1
  266. package/dist/cjs/utils/index.js +57 -58
  267. package/dist/cjs/utils/index.js.map +1 -1
  268. package/dist/cjs/utils/serialize.d.ts +17 -0
  269. package/dist/cjs/utils/serialize.d.ts.map +1 -1
  270. package/dist/cjs/utils/serialize.js +33 -0
  271. package/dist/cjs/utils/serialize.js.map +1 -1
  272. package/dist/cjs/utils/session.d.ts +23 -3
  273. package/dist/cjs/utils/session.d.ts.map +1 -1
  274. package/dist/cjs/utils/session.js +40 -8
  275. package/dist/cjs/utils/session.js.map +1 -1
  276. package/dist/cjs/utils/template.d.ts +3 -3
  277. package/dist/cjs/utils/template.d.ts.map +1 -1
  278. package/dist/cjs/utils/template.js +5 -5
  279. package/dist/cjs/utils/template.js.map +1 -1
  280. package/dist/constants/index.d.ts +1 -0
  281. package/dist/constants/index.js +1 -1
  282. package/dist/core/Agent.d.ts +19 -11
  283. package/dist/core/Agent.d.ts.map +1 -1
  284. package/dist/core/Agent.js +53 -15
  285. package/dist/core/Agent.js.map +1 -1
  286. package/dist/core/AutoChainExecutor.d.ts +12 -22
  287. package/dist/core/AutoChainExecutor.d.ts.map +1 -1
  288. package/dist/core/AutoChainExecutor.js +27 -30
  289. package/dist/core/AutoChainExecutor.js.map +1 -1
  290. package/dist/core/BranchEvaluator.d.ts +4 -4
  291. package/dist/core/BranchEvaluator.d.ts.map +1 -1
  292. package/dist/core/BranchEvaluator.js +2 -2
  293. package/dist/core/BranchEvaluator.js.map +1 -1
  294. package/dist/core/CompactionEngine.d.ts +16 -3
  295. package/dist/core/CompactionEngine.d.ts.map +1 -1
  296. package/dist/core/CompactionEngine.js +30 -6
  297. package/dist/core/CompactionEngine.js.map +1 -1
  298. package/dist/core/DirectiveChainTracker.d.ts +1 -1
  299. package/dist/core/DirectiveChainTracker.d.ts.map +1 -1
  300. package/dist/core/DirectiveChainTracker.js +2 -2
  301. package/dist/core/DirectiveChainTracker.js.map +1 -1
  302. package/dist/core/Events.d.ts +1 -1
  303. package/dist/core/Events.d.ts.map +1 -1
  304. package/dist/core/Events.js +1 -1
  305. package/dist/core/Events.js.map +1 -1
  306. package/dist/core/Flow.d.ts +4 -4
  307. package/dist/core/Flow.d.ts.map +1 -1
  308. package/dist/core/Flow.js +3 -3
  309. package/dist/core/Flow.js.map +1 -1
  310. package/dist/core/FlowRouter.d.ts +4 -4
  311. package/dist/core/FlowRouter.d.ts.map +1 -1
  312. package/dist/core/FlowRouter.js +36 -14
  313. package/dist/core/FlowRouter.js.map +1 -1
  314. package/dist/core/PersistenceManager.d.ts +1 -1
  315. package/dist/core/PersistenceManager.d.ts.map +1 -1
  316. package/dist/core/PersistenceManager.js +3 -3
  317. package/dist/core/PersistenceManager.js.map +1 -1
  318. package/dist/core/PromptComposer.d.ts +4 -4
  319. package/dist/core/PromptComposer.d.ts.map +1 -1
  320. package/dist/core/PromptComposer.js +3 -3
  321. package/dist/core/PromptComposer.js.map +1 -1
  322. package/dist/core/PromptSectionCache.d.ts +2 -2
  323. package/dist/core/PromptSectionCache.d.ts.map +1 -1
  324. package/dist/core/ResponseEngine.d.ts +4 -4
  325. package/dist/core/ResponseEngine.d.ts.map +1 -1
  326. package/dist/core/ResponseEngine.js +2 -2
  327. package/dist/core/ResponseEngine.js.map +1 -1
  328. package/dist/core/ResponseGenerationError.d.ts.map +1 -1
  329. package/dist/core/ResponseGenerationError.js +3 -5
  330. package/dist/core/ResponseGenerationError.js.map +1 -1
  331. package/dist/core/ResponseModal.d.ts +39 -10
  332. package/dist/core/ResponseModal.d.ts.map +1 -1
  333. package/dist/core/ResponseModal.js +152 -29
  334. package/dist/core/ResponseModal.js.map +1 -1
  335. package/dist/core/ResponsePipeline.d.ts +50 -12
  336. package/dist/core/ResponsePipeline.d.ts.map +1 -1
  337. package/dist/core/ResponsePipeline.js +232 -89
  338. package/dist/core/ResponsePipeline.js.map +1 -1
  339. package/dist/core/SessionFinalizer.d.ts +4 -4
  340. package/dist/core/SessionFinalizer.d.ts.map +1 -1
  341. package/dist/core/SessionFinalizer.js +32 -5
  342. package/dist/core/SessionFinalizer.js.map +1 -1
  343. package/dist/core/SessionManager.d.ts +15 -6
  344. package/dist/core/SessionManager.d.ts.map +1 -1
  345. package/dist/core/SessionManager.js +46 -19
  346. package/dist/core/SessionManager.js.map +1 -1
  347. package/dist/core/SignalCoordinator.d.ts +5 -5
  348. package/dist/core/SignalCoordinator.d.ts.map +1 -1
  349. package/dist/core/SignalCoordinator.js +2 -2
  350. package/dist/core/SignalCoordinator.js.map +1 -1
  351. package/dist/core/SignalEvaluator.d.ts +4 -4
  352. package/dist/core/SignalEvaluator.d.ts.map +1 -1
  353. package/dist/core/SignalEvaluator.js +2 -2
  354. package/dist/core/SignalEvaluator.js.map +1 -1
  355. package/dist/core/SignalProcessor.d.ts +6 -6
  356. package/dist/core/SignalProcessor.d.ts.map +1 -1
  357. package/dist/core/SignalProcessor.js +7 -79
  358. package/dist/core/SignalProcessor.js.map +1 -1
  359. package/dist/core/Step.d.ts +5 -5
  360. package/dist/core/Step.d.ts.map +1 -1
  361. package/dist/core/Step.js +53 -5
  362. package/dist/core/Step.js.map +1 -1
  363. package/dist/core/StepLifecycle.d.ts +18 -8
  364. package/dist/core/StepLifecycle.d.ts.map +1 -1
  365. package/dist/core/StepLifecycle.js +98 -15
  366. package/dist/core/StepLifecycle.js.map +1 -1
  367. package/dist/core/StreamingToolExecutor.d.ts +1 -1
  368. package/dist/core/StreamingToolExecutor.d.ts.map +1 -1
  369. package/dist/core/StreamingToolExecutor.js +29 -5
  370. package/dist/core/StreamingToolExecutor.js.map +1 -1
  371. package/dist/core/ToolLoopExecutor.d.ts +8 -4
  372. package/dist/core/ToolLoopExecutor.d.ts.map +1 -1
  373. package/dist/core/ToolLoopExecutor.js +157 -65
  374. package/dist/core/ToolLoopExecutor.js.map +1 -1
  375. package/dist/core/ToolManager.d.ts +6 -6
  376. package/dist/core/ToolManager.d.ts.map +1 -1
  377. package/dist/core/ToolManager.js +44 -21
  378. package/dist/core/ToolManager.js.map +1 -1
  379. package/dist/core/createAgent.d.ts +2 -2
  380. package/dist/core/createAgent.d.ts.map +1 -1
  381. package/dist/core/createAgent.js +1 -1
  382. package/dist/core/createAgent.js.map +1 -1
  383. package/dist/core/flow-namespace.d.ts +16 -1
  384. package/dist/core/flow-namespace.d.ts.map +1 -1
  385. package/dist/core/flow-namespace.js +23 -1
  386. package/dist/core/flow-namespace.js.map +1 -1
  387. package/dist/core/toolGates.d.ts +1 -1
  388. package/dist/core/toolGates.d.ts.map +1 -1
  389. package/dist/core/toolGates.js +1 -1
  390. package/dist/core/toolGates.js.map +1 -1
  391. package/dist/index.d.ts +50 -45
  392. package/dist/index.d.ts.map +1 -1
  393. package/dist/index.js +34 -30
  394. package/dist/index.js.map +1 -1
  395. package/dist/providers/AnthropicProvider.d.ts +25 -35
  396. package/dist/providers/AnthropicProvider.d.ts.map +1 -1
  397. package/dist/providers/AnthropicProvider.js +30 -423
  398. package/dist/providers/AnthropicProvider.js.map +1 -1
  399. package/dist/providers/DeepSeekProvider.d.ts +13 -34
  400. package/dist/providers/DeepSeekProvider.d.ts.map +1 -1
  401. package/dist/providers/DeepSeekProvider.js +16 -47
  402. package/dist/providers/DeepSeekProvider.js.map +1 -1
  403. package/dist/providers/GeminiProvider.d.ts +22 -75
  404. package/dist/providers/GeminiProvider.d.ts.map +1 -1
  405. package/dist/providers/GeminiProvider.js +32 -558
  406. package/dist/providers/GeminiProvider.js.map +1 -1
  407. package/dist/providers/GenericOpenAICompatibleProvider.d.ts +9 -10
  408. package/dist/providers/GenericOpenAICompatibleProvider.d.ts.map +1 -1
  409. package/dist/providers/GenericOpenAICompatibleProvider.js +13 -16
  410. package/dist/providers/GenericOpenAICompatibleProvider.js.map +1 -1
  411. package/dist/providers/OpenAICompatibleProvider.d.ts +26 -135
  412. package/dist/providers/OpenAICompatibleProvider.d.ts.map +1 -1
  413. package/dist/providers/OpenAICompatibleProvider.js +39 -495
  414. package/dist/providers/OpenAICompatibleProvider.js.map +1 -1
  415. package/dist/providers/OpenAIProvider.d.ts +14 -20
  416. package/dist/providers/OpenAIProvider.d.ts.map +1 -1
  417. package/dist/providers/OpenAIProvider.js +20 -24
  418. package/dist/providers/OpenAIProvider.js.map +1 -1
  419. package/dist/providers/OpenRouterProvider.d.ts +20 -24
  420. package/dist/providers/OpenRouterProvider.d.ts.map +1 -1
  421. package/dist/providers/OpenRouterProvider.js +21 -34
  422. package/dist/providers/OpenRouterProvider.js.map +1 -1
  423. package/dist/providers/ProviderAdapter.d.ts +94 -0
  424. package/dist/providers/ProviderAdapter.d.ts.map +1 -0
  425. package/dist/providers/ProviderAdapter.js +251 -0
  426. package/dist/providers/ProviderAdapter.js.map +1 -0
  427. package/dist/providers/index.d.ts +21 -18
  428. package/dist/providers/index.d.ts.map +1 -1
  429. package/dist/providers/index.js +13 -10
  430. package/dist/providers/index.js.map +1 -1
  431. package/dist/types/agent.d.ts +37 -11
  432. package/dist/types/agent.d.ts.map +1 -1
  433. package/dist/types/ai.d.ts +11 -21
  434. package/dist/types/ai.d.ts.map +1 -1
  435. package/dist/types/compaction.d.ts +2 -2
  436. package/dist/types/compaction.d.ts.map +1 -1
  437. package/dist/types/errors.d.ts +16 -20
  438. package/dist/types/errors.d.ts.map +1 -1
  439. package/dist/types/errors.js +15 -16
  440. package/dist/types/errors.js.map +1 -1
  441. package/dist/types/flow.d.ts +56 -39
  442. package/dist/types/flow.d.ts.map +1 -1
  443. package/dist/types/history.d.ts +1 -1
  444. package/dist/types/history.d.ts.map +1 -1
  445. package/dist/types/index.d.ts +17 -17
  446. package/dist/types/index.d.ts.map +1 -1
  447. package/dist/types/index.js +4 -4
  448. package/dist/types/index.js.map +1 -1
  449. package/dist/types/persistence.d.ts +2 -2
  450. package/dist/types/persistence.d.ts.map +1 -1
  451. package/dist/types/session.d.ts +4 -4
  452. package/dist/types/session.d.ts.map +1 -1
  453. package/dist/types/signals.d.ts +3 -3
  454. package/dist/types/signals.d.ts.map +1 -1
  455. package/dist/types/template.d.ts +2 -2
  456. package/dist/types/template.d.ts.map +1 -1
  457. package/dist/types/tool.d.ts +4 -2
  458. package/dist/types/tool.d.ts.map +1 -1
  459. package/dist/types/tool.js.map +1 -1
  460. package/dist/utils/condition.d.ts +1 -1
  461. package/dist/utils/condition.d.ts.map +1 -1
  462. package/dist/utils/condition.js +2 -2
  463. package/dist/utils/condition.js.map +1 -1
  464. package/dist/utils/event.d.ts +1 -1
  465. package/dist/utils/event.d.ts.map +1 -1
  466. package/dist/utils/event.js +1 -1
  467. package/dist/utils/event.js.map +1 -1
  468. package/dist/utils/history.d.ts +2 -2
  469. package/dist/utils/history.d.ts.map +1 -1
  470. package/dist/utils/history.js +1 -1
  471. package/dist/utils/history.js.map +1 -1
  472. package/dist/utils/index.d.ts +11 -13
  473. package/dist/utils/index.d.ts.map +1 -1
  474. package/dist/utils/index.js +11 -12
  475. package/dist/utils/index.js.map +1 -1
  476. package/dist/utils/serialize.d.ts +17 -0
  477. package/dist/utils/serialize.d.ts.map +1 -1
  478. package/dist/utils/serialize.js +31 -0
  479. package/dist/utils/serialize.js.map +1 -1
  480. package/dist/utils/session.d.ts +23 -3
  481. package/dist/utils/session.d.ts.map +1 -1
  482. package/dist/utils/session.js +35 -6
  483. package/dist/utils/session.js.map +1 -1
  484. package/dist/utils/template.d.ts +3 -3
  485. package/dist/utils/template.d.ts.map +1 -1
  486. package/dist/utils/template.js +1 -1
  487. package/dist/utils/template.js.map +1 -1
  488. package/docs/concepts/architecture.md +3 -3
  489. package/docs/concepts/directives.md +1 -1
  490. package/docs/guides/error-handling.md +46 -45
  491. package/docs/guides/flow-control.md +8 -1
  492. package/docs/guides/instructions.md +15 -6
  493. package/docs/guides/persistence.md +12 -5
  494. package/docs/guides/streaming.md +10 -0
  495. package/docs/migration/README.md +4 -0
  496. package/docs/migration/v2-3-to-v2-4.md +4 -0
  497. package/docs/migration/v2-6-to-v2-7.md +246 -0
  498. package/docs/reference/adapters.md +15 -1
  499. package/docs/reference/branches.md +2 -0
  500. package/docs/reference/create-agent.md +28 -0
  501. package/docs/reference/directive.md +1 -1
  502. package/docs/reference/errors.md +30 -32
  503. package/docs/reference/providers.md +63 -60
  504. package/docs/reference/step.md +28 -21
  505. package/docs/reference/tool.md +14 -5
  506. package/docs/start/02-first-agent.md +8 -4
  507. package/docs/start/03-collect-data.md +19 -10
  508. package/examples/01-quickstart.ts +2 -2
  509. package/examples/02-data-extraction.ts +1 -1
  510. package/examples/03-tools.ts +1 -1
  511. package/examples/04-instructions.ts +2 -2
  512. package/examples/05-branching.ts +3 -3
  513. package/examples/06-flow-control.ts +3 -3
  514. package/examples/07-streaming.ts +1 -1
  515. package/examples/08-persistence.ts +2 -2
  516. package/examples/09-signals.ts +1 -1
  517. package/examples/tsconfig.json +6 -3
  518. package/package.json +9 -7
  519. package/src/adapters/MemoryAdapter.ts +33 -37
  520. package/src/adapters/MongoAdapter.ts +3 -3
  521. package/src/adapters/OpenSearchAdapter.ts +4 -4
  522. package/src/adapters/PostgreSQLAdapter.ts +26 -21
  523. package/src/adapters/PrismaAdapter.ts +4 -4
  524. package/src/adapters/RedisAdapter.ts +84 -37
  525. package/src/adapters/SQLiteAdapter.ts +13 -34
  526. package/src/adapters/index.ts +13 -13
  527. package/src/adapters/sessionRow.ts +57 -0
  528. package/src/core/Agent.ts +64 -18
  529. package/src/core/AutoChainExecutor.ts +44 -57
  530. package/src/core/BranchEvaluator.ts +5 -5
  531. package/src/core/CompactionEngine.ts +42 -8
  532. package/src/core/DirectiveChainTracker.ts +3 -3
  533. package/src/core/Events.ts +2 -2
  534. package/src/core/Flow.ts +9 -9
  535. package/src/core/FlowRouter.ts +46 -20
  536. package/src/core/PersistenceManager.ts +4 -4
  537. package/src/core/PromptComposer.ts +8 -8
  538. package/src/core/PromptSectionCache.ts +2 -2
  539. package/src/core/ResponseEngine.ts +6 -6
  540. package/src/core/ResponseGenerationError.ts +3 -6
  541. package/src/core/ResponseModal.ts +205 -39
  542. package/src/core/ResponsePipeline.ts +301 -107
  543. package/src/core/SessionFinalizer.ts +40 -10
  544. package/src/core/SessionManager.ts +61 -27
  545. package/src/core/SignalCoordinator.ts +7 -7
  546. package/src/core/SignalEvaluator.ts +6 -6
  547. package/src/core/SignalProcessor.ts +13 -93
  548. package/src/core/Step.ts +87 -10
  549. package/src/core/StepLifecycle.ts +129 -26
  550. package/src/core/StreamingToolExecutor.ts +33 -8
  551. package/src/core/ToolLoopExecutor.ts +206 -80
  552. package/src/core/ToolManager.ts +53 -26
  553. package/src/core/createAgent.ts +2 -2
  554. package/src/core/flow-namespace.ts +31 -2
  555. package/src/core/toolGates.ts +2 -2
  556. package/src/index.ts +59 -45
  557. package/src/providers/AnthropicProvider.ts +44 -595
  558. package/src/providers/DeepSeekProvider.ts +27 -92
  559. package/src/providers/GeminiProvider.ts +41 -752
  560. package/src/providers/GenericOpenAICompatibleProvider.ts +19 -27
  561. package/src/providers/OpenAICompatibleProvider.ts +58 -764
  562. package/src/providers/OpenAIProvider.ts +31 -55
  563. package/src/providers/OpenRouterProvider.ts +40 -70
  564. package/src/providers/ProviderAdapter.ts +368 -0
  565. package/src/providers/index.ts +21 -23
  566. package/src/types/agent.ts +36 -11
  567. package/src/types/ai.ts +11 -21
  568. package/src/types/compaction.ts +2 -2
  569. package/src/types/errors.ts +17 -35
  570. package/src/types/flow.ts +44 -46
  571. package/src/types/history.ts +1 -1
  572. package/src/types/index.ts +18 -17
  573. package/src/types/persistence.ts +2 -2
  574. package/src/types/session.ts +4 -4
  575. package/src/types/signals.ts +3 -3
  576. package/src/types/template.ts +2 -2
  577. package/src/types/tool.ts +4 -2
  578. package/src/utils/condition.ts +3 -3
  579. package/src/utils/event.ts +1 -1
  580. package/src/utils/history.ts +3 -3
  581. package/src/utils/index.ts +14 -15
  582. package/src/utils/serialize.ts +38 -0
  583. package/src/utils/session.ts +46 -9
  584. package/src/utils/template.ts +3 -3
  585. package/dist/cjs/core/DirectiveBus.d.ts +0 -88
  586. package/dist/cjs/core/DirectiveBus.d.ts.map +0 -1
  587. package/dist/cjs/core/DirectiveBus.js +0 -196
  588. package/dist/cjs/core/DirectiveBus.js.map +0 -1
  589. package/dist/cjs/providers/errorClassification.d.ts +0 -61
  590. package/dist/cjs/providers/errorClassification.d.ts.map +0 -1
  591. package/dist/cjs/providers/errorClassification.js +0 -123
  592. package/dist/cjs/providers/errorClassification.js.map +0 -1
  593. package/dist/cjs/utils/retry.d.ts +0 -67
  594. package/dist/cjs/utils/retry.d.ts.map +0 -1
  595. package/dist/cjs/utils/retry.js +0 -201
  596. package/dist/cjs/utils/retry.js.map +0 -1
  597. package/dist/core/DirectiveBus.d.ts +0 -88
  598. package/dist/core/DirectiveBus.d.ts.map +0 -1
  599. package/dist/core/DirectiveBus.js +0 -192
  600. package/dist/core/DirectiveBus.js.map +0 -1
  601. package/dist/providers/errorClassification.d.ts +0 -61
  602. package/dist/providers/errorClassification.d.ts.map +0 -1
  603. package/dist/providers/errorClassification.js +0 -116
  604. package/dist/providers/errorClassification.js.map +0 -1
  605. package/dist/utils/retry.d.ts +0 -67
  606. package/dist/utils/retry.d.ts.map +0 -1
  607. package/dist/utils/retry.js +0 -193
  608. package/dist/utils/retry.js.map +0 -1
  609. package/src/core/DirectiveBus.ts +0 -248
  610. package/src/providers/errorClassification.ts +0 -172
  611. package/src/utils/retry.ts +0 -274
@@ -1,505 +1,49 @@
1
1
  /**
2
- * Shared base class for OpenAI-compatible chat-completions providers
3
- * (OpenAI, DeepSeek, OpenRouter).
2
+ * Shared base for OpenAI-compatible chat-completions providers (OpenAI,
3
+ * DeepSeek, OpenRouter, and anything else speaking the dialect).
4
4
  *
5
- * Handles message/history building, tool-call parsing, streaming chunk
6
- * handling, backup-model fallback, retry wiring, schema passthrough and
7
- * normalized error wrapping. Subclasses supply the configured client,
8
- * naming, capabilities and any genuinely provider-specific behavior via
9
- * the protected hooks.
5
+ * Everything that used to live here — message building, tool-call assembly,
6
+ * streaming, retry, backup models, error wrapping is now in
7
+ * `@providerkit/core` and `ProviderAdapter`. What is left is the one decision
8
+ * this layer still owns: which wire a structured request goes out on.
10
9
  */
11
- import { withTimeoutAndRetry, withStreamRetry, resolveRetryConfig, logger, assertUsableCompletion, combineAbortSignals } from "../utils";
12
- import { classifyProviderError, getErrorMessage, isBackupEligible, toProviderError, } from "./errorClassification";
13
- /**
14
- * Base implementation of AiProvider for OpenAI-compatible APIs with
15
- * backup models and retry logic.
16
- */
17
- export class OpenAICompatibleProvider {
10
+ import { createOpenAIProvider, createResponsesProvider } from "@providerkit/core";
11
+ import { ProviderAdapter } from "./ProviderAdapter.js";
12
+ export class OpenAICompatibleProvider extends ProviderAdapter {
18
13
  constructor(init) {
19
- /**
20
- * Provider-specific error classification signals.
21
- * model_not_found/model_overloaded historically triggered backup models.
22
- */
23
- this.classificationOptions = {
24
- overloadedCodes: ["model_not_found", "model_overloaded"],
25
- };
26
- this.client = init.client;
27
- this.primaryModel = init.model;
28
- this.backupModels = init.backupModels ?? [];
29
- this.config = init.config;
30
- this.retryConfig = resolveRetryConfig(init.retryConfig);
31
- this.structuredOutput = init.structuredOutput ?? "responses_parse";
32
- }
33
- // ---------------------------------------------------------------------
34
- // Public API
35
- // ---------------------------------------------------------------------
36
- async generateMessage(input) {
37
- return this.generateWithBackup(input);
38
- }
39
- async *generateMessageStream(input) {
40
- yield* this.generateStreamWithBackup(input);
41
- }
42
- // ---------------------------------------------------------------------
43
- // Provider-specific hooks
44
- // ---------------------------------------------------------------------
45
- /**
46
- * Generate a structured (JSON schema) response. Default uses the
47
- * responses.parse API (OpenAI, OpenRouter). Subclasses whose API lacks
48
- * responses.parse (e.g. DeepSeek) override this to use chat completions
49
- * with a structured response_format instead.
50
- */
51
- async executeStructuredGenerate(model, input, jsonSchema) {
52
- // Non-native modes go through chat completions, where
53
- // `structuredResponseFormat` selects the response_format.
54
- if (this.structuredOutput !== "responses_parse") {
55
- return this.executeChatCompletion(model, input);
56
- }
57
- const response = await this.client.responses.parse({
58
- model,
59
- instructions: input.prompt,
60
- input: "",
61
- reasoning: {
62
- effort: input.parameters?.reasoning?.effort || "low",
63
- },
64
- text: {
65
- format: {
66
- type: "json_schema",
67
- name: input.parameters?.schemaName || "structured_output",
68
- // Adapt common schema format to the provider's format
69
- schema: this.adaptSchema(jsonSchema),
70
- },
71
- },
72
- }, { signal: input.signal });
73
- if (!response.output_parsed) {
74
- throw new Error(`No parsed output returned from ${this.displayName}`);
75
- }
76
- const structured = response.output_parsed;
77
- const message = structured.message;
78
- return {
79
- message,
80
- metadata: {
81
- model: response.model,
82
- tokensUsed: response.usage?.total_tokens,
83
- promptTokens: response.usage?.input_tokens,
84
- completionTokens: response.usage?.output_tokens,
85
- },
86
- structured,
87
- };
88
- }
89
- /**
90
- * response_format applied to chat-completions requests when a JSON schema is
91
- * present, selected by {@link StructuredOutputMode}: `"json_schema"` for native
92
- * enforcement, else a generic JSON object parsed at the end. (`"responses_parse"`
93
- * never reaches chat completions for non-streaming, but streaming has no parse
94
- * API, so it falls back to `json_object` here.)
95
- */
96
- structuredResponseFormat(jsonSchema, schemaName) {
97
- if (this.structuredOutput === "json_schema") {
98
- return {
99
- type: "json_schema",
100
- json_schema: {
101
- name: schemaName || "structured_output",
102
- schema: this.adaptSchema(jsonSchema),
103
- },
104
- };
105
- }
106
- return { type: "json_object" };
107
- }
108
- /**
109
- * Hook for provider-specific streaming request parameters
110
- * (e.g. DeepSeek's stream_options.include_usage).
111
- */
112
- configureStreamParams(_params) {
113
- // Default: no extra parameters
114
- }
115
- /**
116
- * Hook for provider-specific stream delta handling
117
- * (e.g. DeepSeek's reasoning_content).
118
- */
119
- onStreamDelta(_delta) {
120
- // Default: no extra handling
121
- }
122
- // ---------------------------------------------------------------------
123
- // Shared building blocks
124
- // ---------------------------------------------------------------------
125
- /**
126
- * Adapt common schema format to the provider's format.
127
- * OpenAI-compatible APIs use standard JSON Schema, so this is a
128
- * passthrough.
129
- */
130
- adaptSchema(schema) {
131
- // Our StructuredSchema is already JSON Schema compatible
132
- return schema;
133
- }
134
- /**
135
- * Build OpenAI-formatted messages from HistoryItem[] array.
136
- * Maps directly to ChatCompletionMessageParam format.
137
- */
138
- buildChatMessages(history) {
139
- const messages = [];
140
- for (const item of history) {
141
- switch (item.role) {
142
- case "system":
143
- messages.push({ role: "system", content: item.content });
144
- break;
145
- case "user":
146
- messages.push({ role: "user", content: item.content });
147
- break;
148
- case "assistant":
149
- if (item.tool_calls && item.tool_calls.length > 0) {
150
- messages.push({
151
- role: "assistant",
152
- content: item.content || null,
153
- tool_calls: item.tool_calls.map((tc) => ({
154
- id: tc.id,
155
- type: "function",
156
- function: {
157
- name: tc.name,
158
- arguments: JSON.stringify(tc.arguments),
159
- },
160
- })),
161
- });
162
- }
163
- else {
164
- messages.push({ role: "assistant", content: item.content || "" });
165
- }
166
- break;
167
- case "tool":
168
- messages.push({
169
- role: "tool",
170
- tool_call_id: item.tool_call_id,
171
- content: typeof item.content === "string"
172
- ? item.content
173
- : JSON.stringify(item.content),
174
- });
175
- break;
176
- }
177
- }
178
- return messages;
179
- }
180
- /**
181
- * Map framework tool definitions to OpenAI function tools.
182
- */
183
- buildToolParams(tools) {
184
- return tools.map((tool) => ({
185
- type: "function",
186
- function: {
187
- name: tool.name || tool.id,
188
- description: tool.description,
189
- parameters: tool.parameters, // JSON schema
190
- },
191
- }));
192
- }
193
- /**
194
- * Parse tool calls from a (complete or delta) tool_calls array,
195
- * tolerating malformed JSON arguments.
196
- */
197
- parseToolCallArguments(rawArguments, streaming) {
198
- if (!rawArguments) {
199
- return {};
200
- }
201
- try {
202
- return JSON.parse(rawArguments);
203
- }
204
- catch (error) {
205
- logger.warn(`[${this.logLabel}] Failed to parse tool call arguments${streaming ? " in stream" : ""}: ${getErrorMessage(error)}`);
206
- return {};
207
- }
208
- }
209
- /**
210
- * Determines if an error should trigger backup model usage.
211
- * Derived from the normalized error classification.
212
- */
213
- shouldUseBackupModel(error) {
214
- return isBackupEligible(classifyProviderError(error, this.classificationOptions));
215
- }
216
- /**
217
- * Wrap a terminal failure in a normalized ProviderError.
218
- */
219
- wrapTerminalError(error) {
220
- return toProviderError(error, this.name, this.classificationOptions);
221
- }
222
- // ---------------------------------------------------------------------
223
- // Generation with backup models
224
- // ---------------------------------------------------------------------
225
- async generateWithBackup(input) {
226
- // Try primary model first
227
- try {
228
- return await this.generateWithModel(this.primaryModel, input);
229
- }
230
- catch (primaryError) {
231
- const primaryErrMsg = getErrorMessage(primaryError);
232
- logger.warn(`[${this.logLabel}] Primary model ${this.primaryModel} failed: ${primaryErrMsg}`);
233
- if (!this.shouldUseBackupModel(primaryError)) {
234
- throw this.wrapTerminalError(primaryError);
235
- }
236
- logger.debug(`[${this.logLabel}] Trying backup models`);
237
- let lastBackupError = primaryError;
238
- for (let i = 0; i < this.backupModels.length; i++) {
239
- const backupModel = this.backupModels[i];
240
- logger.debug(`[${this.logLabel}] Trying backup model ${i + 1}/${this.backupModels.length}: ${backupModel}`);
241
- try {
242
- const result = await this.generateWithModel(backupModel, input);
243
- logger.debug(`[${this.logLabel}] Backup model ${backupModel} succeeded`);
244
- return result;
245
- }
246
- catch (backupError) {
247
- const backupErrMsg = getErrorMessage(backupError);
248
- logger.warn(`[${this.logLabel}] Backup model ${backupModel} failed: ${backupErrMsg}`);
249
- lastBackupError = backupError;
250
- if (!this.shouldUseBackupModel(backupError) &&
251
- i < this.backupModels.length - 1) {
252
- logger.debug(`[${this.logLabel}] Backup model error doesn't qualify for further attempts`);
253
- break;
254
- }
255
- }
256
- }
257
- const lastBackupErrMsg = getErrorMessage(lastBackupError);
258
- logger.error(`[${this.logLabel}] All models failed. Primary: ${primaryErrMsg}, Last backup: ${lastBackupErrMsg}`);
259
- throw this.wrapTerminalError(lastBackupError);
260
- }
261
- }
262
- async *generateStreamWithBackup(input) {
263
- // Try primary model first
264
- try {
265
- yield* withStreamRetry((signal) => this.generateStreamWithModel(this.primaryModel, input, signal), { maxRetries: this.retryConfig.retries, firstChunkTimeoutMs: this.retryConfig.timeout, operationName: `${this.logLabel} ${this.primaryModel} stream` });
266
- }
267
- catch (primaryError) {
268
- const primaryErrMsg = getErrorMessage(primaryError);
269
- logger.warn(`[${this.logLabel}] Primary model ${this.primaryModel} failed: ${primaryErrMsg}`);
270
- if (!this.shouldUseBackupModel(primaryError)) {
271
- throw this.wrapTerminalError(primaryError);
272
- }
273
- logger.debug(`[${this.logLabel}] Trying backup models for streaming`);
274
- let lastBackupError = primaryError;
275
- for (let i = 0; i < this.backupModels.length; i++) {
276
- const backupModel = this.backupModels[i];
277
- logger.debug(`[${this.logLabel}] Trying backup model ${i + 1}/${this.backupModels.length}: ${backupModel}`);
278
- try {
279
- yield* withStreamRetry((signal) => this.generateStreamWithModel(backupModel, input, signal), { maxRetries: this.retryConfig.retries, firstChunkTimeoutMs: this.retryConfig.timeout, operationName: `${this.logLabel} ${backupModel} stream` });
280
- logger.debug(`[${this.logLabel}] Backup model ${backupModel} succeeded`);
281
- return;
282
- }
283
- catch (backupError) {
284
- const backupErrMsg = getErrorMessage(backupError);
285
- logger.warn(`[${this.logLabel}] Backup model ${backupModel} failed: ${backupErrMsg}`);
286
- lastBackupError = backupError;
287
- if (!this.shouldUseBackupModel(backupError) &&
288
- i < this.backupModels.length - 1) {
289
- logger.debug(`[${this.logLabel}] Backup model error doesn't qualify for further attempts`);
290
- break;
291
- }
292
- }
293
- }
294
- const lastBackupErrMsg = getErrorMessage(lastBackupError);
295
- logger.error(`[${this.logLabel}] All models failed. Primary: ${primaryErrMsg}, Last backup: ${lastBackupErrMsg}`);
296
- throw this.wrapTerminalError(lastBackupError);
297
- }
298
- }
299
- // ---------------------------------------------------------------------
300
- // Non-streaming generation
301
- // ---------------------------------------------------------------------
302
- async generateWithModel(model, input) {
303
- const operation = async (signal) => {
304
- // Thread the per-attempt timeout signal through input.signal so whichever
305
- // path runs — responses.parse (structured) or chat.completions — cancels
306
- // its upstream call when the deadline fires.
307
- const reqInput = { ...input, signal: combineAbortSignals(input.signal, signal) };
308
- // Use structured output path if JSON schema is provided
309
- if (reqInput.parameters?.jsonSchema) {
310
- return this.executeStructuredGenerate(model, reqInput, reqInput.parameters.jsonSchema);
311
- }
312
- return this.executeChatCompletion(model, reqInput);
313
- };
314
- return withTimeoutAndRetry(operation, this.retryConfig.timeout, this.retryConfig.retries, `${this.displayName} ${model}`);
315
- }
316
- /**
317
- * Non-streaming chat-completions request: builds messages/tools,
318
- * extracts text and tool calls, and merges structured output.
319
- */
320
- async executeChatCompletion(model, input) {
321
- const historyMessages = this.buildChatMessages(input.history);
322
- historyMessages.push({ role: "user", content: input.prompt });
323
- const params = {
324
- model,
325
- messages: historyMessages,
326
- ...this.config,
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 = this.buildToolParams(input.tools);
335
- params.tool_choice = "auto";
336
- }
337
- // Use structured output format if JSON schema is provided
338
- if (input.parameters?.jsonSchema) {
339
- params.response_format = this.structuredResponseFormat(input.parameters.jsonSchema, input.parameters.schemaName);
340
- }
341
- const response = await this.client.chat.completions.create(params, {
342
- signal: input.signal,
14
+ const mode = init.structuredOutput ?? "responses_parse";
15
+ super({
16
+ provider: buildProvider(init, mode),
17
+ model: init.model,
18
+ ...(init.config ? { defaults: init.config } : {}),
19
+ ...(init.backupModels ? { backupModels: init.backupModels } : {}),
20
+ ...(init.retryConfig ? { retryConfig: init.retryConfig } : {}),
343
21
  });
344
- const message = response.choices[0]?.message?.content || "";
345
- let toolCalls = [];
346
- if (response.choices?.[0]?.message?.tool_calls) {
347
- toolCalls = response.choices[0].message.tool_calls
348
- .filter((toolCall) => toolCall.type === "function")
349
- .map((toolCall) => ({
350
- toolName: toolCall.function.name,
351
- arguments: this.parseToolCallArguments(toolCall.function.arguments, false),
352
- }));
353
- }
354
- // Only throw error if we have no text AND no function calls
355
- if (!message && toolCalls.length === 0) {
356
- throw new Error(`No response from ${this.displayName}`);
357
- }
358
- // Parse structured output if schema was provided
359
- let structured;
360
- if (input.parameters?.jsonSchema && message) {
361
- try {
362
- structured = JSON.parse(message);
363
- }
364
- catch (error) {
365
- logger.warn(`[${this.logLabel}] Failed to parse JSON response:`, error);
366
- }
367
- }
368
- // If tools were used, include them in structured response
369
- if (toolCalls.length > 0) {
370
- structured = {
371
- ...(structured || {}),
372
- message: structured?.message || message,
373
- toolCalls,
374
- };
375
- }
376
- // A parsed-but-blank message with no tool calls is as empty as no text;
377
- // the shared guard throws so withTimeoutAndRetry retries instead of
378
- // returning {"message":""}.
379
- assertUsableCompletion(structured, message, toolCalls.length, this.displayName);
380
- return {
381
- message,
382
- metadata: {
383
- model: response.model,
384
- finishReason: response.choices[0]?.finish_reason,
385
- tokensUsed: response.usage?.total_tokens,
386
- promptTokens: response.usage?.prompt_tokens,
387
- completionTokens: response.usage?.completion_tokens,
388
- },
389
- structured,
390
- };
22
+ this.config = init.config;
391
23
  }
392
- // ---------------------------------------------------------------------
393
- // Streaming generation
394
- // ---------------------------------------------------------------------
395
- async *generateStreamWithModel(model, input, attemptSignal) {
396
- // Build messages from history and append prompt as final user message
397
- const historyMessages = this.buildChatMessages(input.history);
398
- historyMessages.push({ role: "user", content: input.prompt });
399
- const params = {
400
- ...this.config,
401
- model,
402
- messages: historyMessages,
403
- stream: true,
404
- };
405
- this.configureStreamParams(params);
406
- // Override with input parameters if provided
407
- if (input.parameters?.maxOutputTokens !== undefined) {
408
- params.max_tokens = input.parameters.maxOutputTokens;
409
- }
410
- // Add tools if provided
411
- if (input.tools && input.tools.length > 0) {
412
- params.tools = this.buildToolParams(input.tools);
413
- params.tool_choice = "auto";
414
- }
415
- // Streaming path does not support responses.parse; if schema present,
416
- // request structured output and parse at the end.
417
- if (input.parameters?.jsonSchema) {
418
- params.response_format = this.structuredResponseFormat(input.parameters.jsonSchema, input.parameters.schemaName);
419
- }
420
- const stream = await this.client.chat.completions.create(params, {
421
- signal: combineAbortSignals(input.signal, attemptSignal),
24
+ }
25
+ function buildProvider(init, mode) {
26
+ if (mode === "responses_parse") {
27
+ return createResponsesProvider({
28
+ apiKey: init.apiKey,
29
+ model: init.model,
30
+ id: init.id,
31
+ ...(init.baseUrl ? { baseUrl: `${init.baseUrl}` } : {}),
32
+ ...(init.headers ? { headers: init.headers } : {}),
33
+ ...(init.config?.maxTokens ? { maxTokens: init.config.maxTokens } : {}),
34
+ ...(init.fetchImpl ? { fetchImpl: init.fetchImpl } : {}),
422
35
  });
423
- let accumulated = "";
424
- let currentModel = model;
425
- let finishReason;
426
- let promptTokens;
427
- let completionTokens;
428
- let totalTokens;
429
- const toolCalls = [];
430
- for await (const chunk of stream) {
431
- currentModel = chunk.model;
432
- // Some providers include usage in (possibly choice-less) chunks
433
- if (chunk.usage) {
434
- promptTokens = chunk.usage.prompt_tokens;
435
- completionTokens = chunk.usage.completion_tokens;
436
- totalTokens = chunk.usage.total_tokens;
437
- }
438
- const choice = chunk.choices?.[0];
439
- if (!choice)
440
- continue;
441
- // Extract tool calls from delta
442
- if (choice.delta?.tool_calls) {
443
- for (const toolCall of choice.delta.tool_calls) {
444
- if (toolCall.function) {
445
- toolCalls.push({
446
- toolName: toolCall.function.name || "",
447
- arguments: this.parseToolCallArguments(toolCall.function.arguments, true),
448
- });
449
- }
450
- }
451
- }
452
- // Provider-specific delta handling (e.g. DeepSeek reasoning_content)
453
- this.onStreamDelta(choice.delta);
454
- const delta = choice.delta?.content || "";
455
- if (delta) {
456
- accumulated += delta;
457
- yield {
458
- delta,
459
- accumulated,
460
- done: false,
461
- };
462
- }
463
- if (choice.finish_reason) {
464
- finishReason = choice.finish_reason;
465
- }
466
- }
467
- // Parse JSON response if schema was provided
468
- let structured;
469
- if (input.parameters?.jsonSchema && accumulated) {
470
- try {
471
- structured = JSON.parse(accumulated);
472
- }
473
- catch (error) {
474
- logger.warn(`[${this.logLabel}] Failed to parse JSON response in stream:`, error);
475
- }
476
- }
477
- // Include tool calls in structured response (even without JSON schema)
478
- if (toolCalls.length > 0) {
479
- structured = {
480
- ...(structured || {}),
481
- message: structured?.message ||
482
- accumulated,
483
- toolCalls,
484
- };
485
- }
486
- // Empty-completion guard — same definition as the non-streaming path, so the
487
- // stream retries / falls back to backup instead of emitting an empty message.
488
- assertUsableCompletion(structured, accumulated, toolCalls.length, this.displayName);
489
- // Yield final chunk
490
- yield {
491
- delta: "",
492
- accumulated,
493
- done: true,
494
- metadata: {
495
- model: currentModel,
496
- finishReason,
497
- tokensUsed: totalTokens,
498
- promptTokens,
499
- completionTokens,
500
- },
501
- structured,
502
- };
503
36
  }
37
+ return createOpenAIProvider({
38
+ apiKey: init.apiKey,
39
+ model: init.model,
40
+ id: init.id,
41
+ jsonMode: mode === "json_schema" ? "schema" : "object",
42
+ ...(init.baseUrl ? { baseUrl: init.baseUrl } : {}),
43
+ ...(init.headers ? { headers: init.headers } : {}),
44
+ ...(init.config?.maxTokens ? { maxTokens: init.config.maxTokens } : {}),
45
+ ...(init.providerOrder ? { providerOrder: init.providerOrder } : {}),
46
+ ...(init.fetchImpl ? { fetchImpl: init.fetchImpl } : {}),
47
+ });
504
48
  }
505
49
  //# sourceMappingURL=OpenAICompatibleProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OpenAICompatibleProvider.js","sourceRoot":"","sources":["../../src/providers/OpenAICompatibleProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OpenAICompatibleProvider.js","sourceRoot":"","sources":["../../src/providers/OpenAICompatibleProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAiB,MAAM,mBAAmB,CAAC;AAEjG,OAAO,EAAE,eAAe,EAAgD,MAAM,sBAAsB,CAAC;AA4BrG,MAAM,OAAgB,wBAAyB,SAAQ,eAAe;IAGpE,YAAsB,IAAkC;QACtD,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,IAAI,iBAAiB,CAAC;QACxD,KAAK,CAAC;YACJ,QAAQ,EAAE,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC;YACnC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/D,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC5B,CAAC;CACF;AAED,SAAS,aAAa,CAAC,IAAkC,EAAE,IAA0B;IACnF,IAAI,IAAI,KAAK,iBAAiB,EAAE,CAAC;QAC/B,OAAO,uBAAuB,CAAC;YAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzD,CAAC,CAAC;IACL,CAAC;IACD,OAAO,oBAAoB,CAAC;QAC1B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,QAAQ,EAAE,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;QACtD,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACzD,CAAC,CAAC;AACL,CAAC"}
@@ -1,38 +1,32 @@
1
1
  /**
2
- * OpenAI provider implementation with retry and backup models
3
- */
4
- import type { ProviderCapabilities } from "../types/ai";
5
- import { OpenAICompatibleProvider, type OpenAICompatibleRequestConfig } from "./OpenAICompatibleProvider";
6
- /**
7
- * Configuration options for OpenAI provider
8
- * Uses types from openai package
2
+ * OpenAI provider. Structured output goes out on the Responses API, which
3
+ * enforces the schema natively.
9
4
  */
5
+ import type { ProviderCapabilities } from "../types/ai.js";
6
+ import { OpenAICompatibleProvider } from "./OpenAICompatibleProvider.js";
7
+ import type { RequestConfig } from "./ProviderAdapter.js";
10
8
  export interface OpenAIProviderOptions {
11
9
  /** OpenAI API key */
12
10
  apiKey: string;
13
- /** Organization ID (optional) */
14
- organization?: string;
15
- /** Model to use (required) - e.g., "gpt-5.5", "gpt-5.4" */
11
+ /** Model to use (required) — e.g. "gpt-5.6", "gpt-5.4-mini" */
16
12
  model: string;
17
- /** Backup models to try if primary fails (default: []) */
13
+ /** Backup models to try if the primary fails (default: []) */
18
14
  backupModels?: string[];
19
- /** Default parameters - uses ChatCompletionCreateParamsNonStreaming from openai package */
20
- config?: OpenAICompatibleRequestConfig;
21
- /** Retry configuration */
15
+ /** Organization id, sent as the `OpenAI-Organization` header */
16
+ organization?: string;
17
+ /** Request defaults sent with every call */
18
+ config?: RequestConfig;
19
+ /** Idle-stream deadline and retry budget */
22
20
  retryConfig?: {
23
21
  timeout?: number;
24
22
  retries?: number;
25
23
  };
24
+ /** Replacement `fetch`, for tests that script the wire. */
25
+ fetchImpl?: typeof fetch;
26
26
  }
27
- /**
28
- * OpenAI provider implementation with backup models and retry logic.
29
- * Structured output uses the responses.parse API (native JSON schema).
30
- */
31
27
  export declare class OpenAIProvider extends OpenAICompatibleProvider {
32
28
  readonly name = "openai";
33
29
  readonly capabilities: ProviderCapabilities;
34
- protected readonly logLabel = "OPENAI";
35
- protected readonly displayName = "OpenAI";
36
30
  constructor(options: OpenAIProviderOptions);
37
31
  }
38
32
  //# sourceMappingURL=OpenAIProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OpenAIProvider.d.ts","sourceRoot":"","sources":["../../src/providers/OpenAIProvider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EACL,wBAAwB,EACxB,KAAK,6BAA6B,EACnC,MAAM,4BAA4B,CAAC;AAEpC;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2DAA2D;IAC3D,KAAK,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,2FAA2F;IAC3F,MAAM,CAAC,EAAE,6BAA6B,CAAC;IACvC,0BAA0B;IAC1B,WAAW,CAAC,EAAE;QACZ,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED;;;GAGG;AACH,qBAAa,cAAe,SAAQ,wBAAwB;IAC1D,SAAgB,IAAI,YAAY;IAChC,SAAgB,YAAY,EAAE,oBAAoB,CAMhD;IAEF,SAAS,CAAC,QAAQ,CAAC,QAAQ,YAAY;IACvC,SAAS,CAAC,QAAQ,CAAC,WAAW,YAAY;gBAE9B,OAAO,EAAE,qBAAqB;CA6B3C"}
1
+ {"version":3,"file":"OpenAIProvider.d.ts","sourceRoot":"","sources":["../../src/providers/OpenAIProvider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,WAAW,qBAAqB;IACpC,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,gEAAgE;IAChE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,4CAA4C;IAC5C,WAAW,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACrD,2DAA2D;IAC3D,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AAED,qBAAa,cAAe,SAAQ,wBAAwB;IAC1D,SAAgB,IAAI,YAAY;IAChC,SAAgB,YAAY,EAAE,oBAAoB,CAQhD;gBAEU,OAAO,EAAE,qBAAqB;CAkB3C"}