@falai/agent 2.6.1 → 2.7.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 (320) hide show
  1. package/README.md +1 -1
  2. package/dist/adapters/MemoryAdapter.js +29 -33
  3. package/dist/adapters/MemoryAdapter.js.map +1 -1
  4. package/dist/adapters/PostgreSQLAdapter.d.ts.map +1 -1
  5. package/dist/adapters/PostgreSQLAdapter.js +16 -11
  6. package/dist/adapters/PostgreSQLAdapter.js.map +1 -1
  7. package/dist/adapters/RedisAdapter.d.ts +1 -0
  8. package/dist/adapters/RedisAdapter.d.ts.map +1 -1
  9. package/dist/adapters/RedisAdapter.js +75 -25
  10. package/dist/adapters/RedisAdapter.js.map +1 -1
  11. package/dist/adapters/SQLiteAdapter.d.ts.map +1 -1
  12. package/dist/adapters/SQLiteAdapter.js +7 -29
  13. package/dist/adapters/SQLiteAdapter.js.map +1 -1
  14. package/dist/adapters/sessionRow.d.ts +22 -0
  15. package/dist/adapters/sessionRow.d.ts.map +1 -0
  16. package/dist/adapters/sessionRow.js +48 -0
  17. package/dist/adapters/sessionRow.js.map +1 -0
  18. package/dist/cjs/adapters/MemoryAdapter.js +29 -33
  19. package/dist/cjs/adapters/MemoryAdapter.js.map +1 -1
  20. package/dist/cjs/adapters/PostgreSQLAdapter.d.ts.map +1 -1
  21. package/dist/cjs/adapters/PostgreSQLAdapter.js +16 -11
  22. package/dist/cjs/adapters/PostgreSQLAdapter.js.map +1 -1
  23. package/dist/cjs/adapters/RedisAdapter.d.ts +1 -0
  24. package/dist/cjs/adapters/RedisAdapter.d.ts.map +1 -1
  25. package/dist/cjs/adapters/RedisAdapter.js +75 -25
  26. package/dist/cjs/adapters/RedisAdapter.js.map +1 -1
  27. package/dist/cjs/adapters/SQLiteAdapter.d.ts.map +1 -1
  28. package/dist/cjs/adapters/SQLiteAdapter.js +7 -29
  29. package/dist/cjs/adapters/SQLiteAdapter.js.map +1 -1
  30. package/dist/cjs/adapters/sessionRow.d.ts +22 -0
  31. package/dist/cjs/adapters/sessionRow.d.ts.map +1 -0
  32. package/dist/cjs/adapters/sessionRow.js +52 -0
  33. package/dist/cjs/adapters/sessionRow.js.map +1 -0
  34. package/dist/cjs/core/Agent.d.ts +8 -0
  35. package/dist/cjs/core/Agent.d.ts.map +1 -1
  36. package/dist/cjs/core/Agent.js +40 -2
  37. package/dist/cjs/core/Agent.js.map +1 -1
  38. package/dist/cjs/core/AutoChainExecutor.d.ts +8 -18
  39. package/dist/cjs/core/AutoChainExecutor.d.ts.map +1 -1
  40. package/dist/cjs/core/AutoChainExecutor.js +23 -26
  41. package/dist/cjs/core/AutoChainExecutor.js.map +1 -1
  42. package/dist/cjs/core/CompactionEngine.d.ts +14 -1
  43. package/dist/cjs/core/CompactionEngine.d.ts.map +1 -1
  44. package/dist/cjs/core/CompactionEngine.js +30 -6
  45. package/dist/cjs/core/CompactionEngine.js.map +1 -1
  46. package/dist/cjs/core/FlowRouter.d.ts.map +1 -1
  47. package/dist/cjs/core/FlowRouter.js +32 -10
  48. package/dist/cjs/core/FlowRouter.js.map +1 -1
  49. package/dist/cjs/core/ResponseGenerationError.d.ts.map +1 -1
  50. package/dist/cjs/core/ResponseGenerationError.js +3 -5
  51. package/dist/cjs/core/ResponseGenerationError.js.map +1 -1
  52. package/dist/cjs/core/ResponseModal.d.ts +29 -0
  53. package/dist/cjs/core/ResponseModal.d.ts.map +1 -1
  54. package/dist/cjs/core/ResponseModal.js +141 -18
  55. package/dist/cjs/core/ResponseModal.js.map +1 -1
  56. package/dist/cjs/core/ResponsePipeline.d.ts +36 -6
  57. package/dist/cjs/core/ResponsePipeline.d.ts.map +1 -1
  58. package/dist/cjs/core/ResponsePipeline.js +208 -73
  59. package/dist/cjs/core/ResponsePipeline.js.map +1 -1
  60. package/dist/cjs/core/SessionFinalizer.d.ts.map +1 -1
  61. package/dist/cjs/core/SessionFinalizer.js +30 -3
  62. package/dist/cjs/core/SessionFinalizer.js.map +1 -1
  63. package/dist/cjs/core/SessionManager.d.ts +10 -1
  64. package/dist/cjs/core/SessionManager.d.ts.map +1 -1
  65. package/dist/cjs/core/SessionManager.js +43 -16
  66. package/dist/cjs/core/SessionManager.js.map +1 -1
  67. package/dist/cjs/core/SignalProcessor.d.ts.map +1 -1
  68. package/dist/cjs/core/SignalProcessor.js +5 -77
  69. package/dist/cjs/core/SignalProcessor.js.map +1 -1
  70. package/dist/cjs/core/Step.d.ts.map +1 -1
  71. package/dist/cjs/core/Step.js +50 -2
  72. package/dist/cjs/core/Step.js.map +1 -1
  73. package/dist/cjs/core/StepLifecycle.d.ts +16 -6
  74. package/dist/cjs/core/StepLifecycle.d.ts.map +1 -1
  75. package/dist/cjs/core/StepLifecycle.js +97 -14
  76. package/dist/cjs/core/StepLifecycle.js.map +1 -1
  77. package/dist/cjs/core/StreamingToolExecutor.d.ts.map +1 -1
  78. package/dist/cjs/core/StreamingToolExecutor.js +28 -4
  79. package/dist/cjs/core/StreamingToolExecutor.js.map +1 -1
  80. package/dist/cjs/core/ToolLoopExecutor.d.ts +5 -1
  81. package/dist/cjs/core/ToolLoopExecutor.d.ts.map +1 -1
  82. package/dist/cjs/core/ToolLoopExecutor.js +155 -63
  83. package/dist/cjs/core/ToolLoopExecutor.js.map +1 -1
  84. package/dist/cjs/core/ToolManager.d.ts +1 -1
  85. package/dist/cjs/core/ToolManager.d.ts.map +1 -1
  86. package/dist/cjs/core/ToolManager.js +40 -17
  87. package/dist/cjs/core/ToolManager.js.map +1 -1
  88. package/dist/cjs/core/flow-namespace.d.ts +15 -0
  89. package/dist/cjs/core/flow-namespace.d.ts.map +1 -1
  90. package/dist/cjs/core/flow-namespace.js +22 -0
  91. package/dist/cjs/core/flow-namespace.js.map +1 -1
  92. package/dist/cjs/index.d.ts +4 -1
  93. package/dist/cjs/index.d.ts.map +1 -1
  94. package/dist/cjs/index.js +5 -2
  95. package/dist/cjs/index.js.map +1 -1
  96. package/dist/cjs/providers/AnthropicProvider.d.ts +10 -3
  97. package/dist/cjs/providers/AnthropicProvider.d.ts.map +1 -1
  98. package/dist/cjs/providers/AnthropicProvider.js +54 -73
  99. package/dist/cjs/providers/AnthropicProvider.js.map +1 -1
  100. package/dist/cjs/providers/GeminiProvider.d.ts +9 -3
  101. package/dist/cjs/providers/GeminiProvider.d.ts.map +1 -1
  102. package/dist/cjs/providers/GeminiProvider.js +24 -68
  103. package/dist/cjs/providers/GeminiProvider.js.map +1 -1
  104. package/dist/cjs/providers/OpenAICompatibleProvider.d.ts +9 -0
  105. package/dist/cjs/providers/OpenAICompatibleProvider.d.ts.map +1 -1
  106. package/dist/cjs/providers/OpenAICompatibleProvider.js +101 -74
  107. package/dist/cjs/providers/OpenAICompatibleProvider.js.map +1 -1
  108. package/dist/cjs/providers/OpenAIProvider.d.ts +1 -1
  109. package/dist/cjs/providers/OpenAIProvider.d.ts.map +1 -1
  110. package/dist/cjs/providers/OpenAIProvider.js +1 -1
  111. package/dist/cjs/providers/errorClassification.d.ts +7 -0
  112. package/dist/cjs/providers/errorClassification.d.ts.map +1 -1
  113. package/dist/cjs/providers/errorClassification.js +27 -0
  114. package/dist/cjs/providers/errorClassification.js.map +1 -1
  115. package/dist/cjs/types/agent.d.ts +26 -0
  116. package/dist/cjs/types/agent.d.ts.map +1 -1
  117. package/dist/cjs/types/flow.d.ts +49 -32
  118. package/dist/cjs/types/flow.d.ts.map +1 -1
  119. package/dist/cjs/types/index.d.ts +1 -1
  120. package/dist/cjs/types/index.d.ts.map +1 -1
  121. package/dist/cjs/types/index.js.map +1 -1
  122. package/dist/cjs/types/tool.d.ts +2 -0
  123. package/dist/cjs/types/tool.d.ts.map +1 -1
  124. package/dist/cjs/types/tool.js.map +1 -1
  125. package/dist/cjs/utils/index.d.ts +4 -4
  126. package/dist/cjs/utils/index.d.ts.map +1 -1
  127. package/dist/cjs/utils/index.js +10 -1
  128. package/dist/cjs/utils/index.js.map +1 -1
  129. package/dist/cjs/utils/retry.d.ts +99 -1
  130. package/dist/cjs/utils/retry.d.ts.map +1 -1
  131. package/dist/cjs/utils/retry.js +140 -3
  132. package/dist/cjs/utils/retry.js.map +1 -1
  133. package/dist/cjs/utils/serialize.d.ts +17 -0
  134. package/dist/cjs/utils/serialize.d.ts.map +1 -1
  135. package/dist/cjs/utils/serialize.js +33 -0
  136. package/dist/cjs/utils/serialize.js.map +1 -1
  137. package/dist/cjs/utils/session.d.ts +21 -1
  138. package/dist/cjs/utils/session.d.ts.map +1 -1
  139. package/dist/cjs/utils/session.js +36 -4
  140. package/dist/cjs/utils/session.js.map +1 -1
  141. package/dist/core/Agent.d.ts +8 -0
  142. package/dist/core/Agent.d.ts.map +1 -1
  143. package/dist/core/Agent.js +40 -2
  144. package/dist/core/Agent.js.map +1 -1
  145. package/dist/core/AutoChainExecutor.d.ts +8 -18
  146. package/dist/core/AutoChainExecutor.d.ts.map +1 -1
  147. package/dist/core/AutoChainExecutor.js +23 -26
  148. package/dist/core/AutoChainExecutor.js.map +1 -1
  149. package/dist/core/CompactionEngine.d.ts +14 -1
  150. package/dist/core/CompactionEngine.d.ts.map +1 -1
  151. package/dist/core/CompactionEngine.js +30 -6
  152. package/dist/core/CompactionEngine.js.map +1 -1
  153. package/dist/core/FlowRouter.d.ts.map +1 -1
  154. package/dist/core/FlowRouter.js +32 -10
  155. package/dist/core/FlowRouter.js.map +1 -1
  156. package/dist/core/ResponseGenerationError.d.ts.map +1 -1
  157. package/dist/core/ResponseGenerationError.js +3 -5
  158. package/dist/core/ResponseGenerationError.js.map +1 -1
  159. package/dist/core/ResponseModal.d.ts +29 -0
  160. package/dist/core/ResponseModal.d.ts.map +1 -1
  161. package/dist/core/ResponseModal.js +142 -19
  162. package/dist/core/ResponseModal.js.map +1 -1
  163. package/dist/core/ResponsePipeline.d.ts +36 -6
  164. package/dist/core/ResponsePipeline.d.ts.map +1 -1
  165. package/dist/core/ResponsePipeline.js +208 -73
  166. package/dist/core/ResponsePipeline.js.map +1 -1
  167. package/dist/core/SessionFinalizer.d.ts.map +1 -1
  168. package/dist/core/SessionFinalizer.js +31 -4
  169. package/dist/core/SessionFinalizer.js.map +1 -1
  170. package/dist/core/SessionManager.d.ts +10 -1
  171. package/dist/core/SessionManager.d.ts.map +1 -1
  172. package/dist/core/SessionManager.js +44 -17
  173. package/dist/core/SessionManager.js.map +1 -1
  174. package/dist/core/SignalProcessor.d.ts.map +1 -1
  175. package/dist/core/SignalProcessor.js +5 -77
  176. package/dist/core/SignalProcessor.js.map +1 -1
  177. package/dist/core/Step.d.ts.map +1 -1
  178. package/dist/core/Step.js +50 -2
  179. package/dist/core/Step.js.map +1 -1
  180. package/dist/core/StepLifecycle.d.ts +16 -6
  181. package/dist/core/StepLifecycle.d.ts.map +1 -1
  182. package/dist/core/StepLifecycle.js +97 -14
  183. package/dist/core/StepLifecycle.js.map +1 -1
  184. package/dist/core/StreamingToolExecutor.d.ts.map +1 -1
  185. package/dist/core/StreamingToolExecutor.js +28 -4
  186. package/dist/core/StreamingToolExecutor.js.map +1 -1
  187. package/dist/core/ToolLoopExecutor.d.ts +5 -1
  188. package/dist/core/ToolLoopExecutor.d.ts.map +1 -1
  189. package/dist/core/ToolLoopExecutor.js +155 -63
  190. package/dist/core/ToolLoopExecutor.js.map +1 -1
  191. package/dist/core/ToolManager.d.ts +1 -1
  192. package/dist/core/ToolManager.d.ts.map +1 -1
  193. package/dist/core/ToolManager.js +41 -18
  194. package/dist/core/ToolManager.js.map +1 -1
  195. package/dist/core/flow-namespace.d.ts +15 -0
  196. package/dist/core/flow-namespace.d.ts.map +1 -1
  197. package/dist/core/flow-namespace.js +22 -0
  198. package/dist/core/flow-namespace.js.map +1 -1
  199. package/dist/index.d.ts +4 -1
  200. package/dist/index.d.ts.map +1 -1
  201. package/dist/index.js +2 -1
  202. package/dist/index.js.map +1 -1
  203. package/dist/providers/AnthropicProvider.d.ts +10 -3
  204. package/dist/providers/AnthropicProvider.d.ts.map +1 -1
  205. package/dist/providers/AnthropicProvider.js +56 -75
  206. package/dist/providers/AnthropicProvider.js.map +1 -1
  207. package/dist/providers/GeminiProvider.d.ts +9 -3
  208. package/dist/providers/GeminiProvider.d.ts.map +1 -1
  209. package/dist/providers/GeminiProvider.js +26 -70
  210. package/dist/providers/GeminiProvider.js.map +1 -1
  211. package/dist/providers/OpenAICompatibleProvider.d.ts +9 -0
  212. package/dist/providers/OpenAICompatibleProvider.d.ts.map +1 -1
  213. package/dist/providers/OpenAICompatibleProvider.js +103 -76
  214. package/dist/providers/OpenAICompatibleProvider.js.map +1 -1
  215. package/dist/providers/OpenAIProvider.d.ts +1 -1
  216. package/dist/providers/OpenAIProvider.d.ts.map +1 -1
  217. package/dist/providers/OpenAIProvider.js +1 -1
  218. package/dist/providers/errorClassification.d.ts +7 -0
  219. package/dist/providers/errorClassification.d.ts.map +1 -1
  220. package/dist/providers/errorClassification.js +26 -0
  221. package/dist/providers/errorClassification.js.map +1 -1
  222. package/dist/types/agent.d.ts +26 -0
  223. package/dist/types/agent.d.ts.map +1 -1
  224. package/dist/types/flow.d.ts +49 -32
  225. package/dist/types/flow.d.ts.map +1 -1
  226. package/dist/types/index.d.ts +1 -1
  227. package/dist/types/index.d.ts.map +1 -1
  228. package/dist/types/index.js.map +1 -1
  229. package/dist/types/tool.d.ts +2 -0
  230. package/dist/types/tool.d.ts.map +1 -1
  231. package/dist/types/tool.js.map +1 -1
  232. package/dist/utils/index.d.ts +4 -4
  233. package/dist/utils/index.d.ts.map +1 -1
  234. package/dist/utils/index.js +3 -3
  235. package/dist/utils/index.js.map +1 -1
  236. package/dist/utils/retry.d.ts +99 -1
  237. package/dist/utils/retry.d.ts.map +1 -1
  238. package/dist/utils/retry.js +137 -3
  239. package/dist/utils/retry.js.map +1 -1
  240. package/dist/utils/serialize.d.ts +17 -0
  241. package/dist/utils/serialize.d.ts.map +1 -1
  242. package/dist/utils/serialize.js +31 -0
  243. package/dist/utils/serialize.js.map +1 -1
  244. package/dist/utils/session.d.ts +21 -1
  245. package/dist/utils/session.d.ts.map +1 -1
  246. package/dist/utils/session.js +33 -4
  247. package/dist/utils/session.js.map +1 -1
  248. package/docs/concepts/architecture.md +3 -3
  249. package/docs/concepts/directives.md +1 -1
  250. package/docs/guides/error-handling.md +46 -45
  251. package/docs/guides/flow-control.md +8 -1
  252. package/docs/guides/instructions.md +15 -6
  253. package/docs/guides/persistence.md +12 -5
  254. package/docs/guides/streaming.md +10 -0
  255. package/docs/migration/README.md +4 -0
  256. package/docs/migration/v2-3-to-v2-4.md +4 -0
  257. package/docs/migration/v2-6-to-v2-7.md +246 -0
  258. package/docs/reference/adapters.md +15 -1
  259. package/docs/reference/create-agent.md +28 -0
  260. package/docs/reference/directive.md +1 -1
  261. package/docs/reference/errors.md +29 -31
  262. package/docs/reference/providers.md +23 -19
  263. package/docs/reference/step.md +28 -21
  264. package/docs/reference/tool.md +14 -5
  265. package/docs/start/02-first-agent.md +8 -4
  266. package/docs/start/03-collect-data.md +19 -10
  267. package/examples/01-quickstart.ts +1 -1
  268. package/examples/02-data-extraction.ts +1 -1
  269. package/examples/03-tools.ts +1 -1
  270. package/examples/04-instructions.ts +1 -1
  271. package/examples/05-branching.ts +1 -1
  272. package/examples/06-flow-control.ts +3 -3
  273. package/examples/07-streaming.ts +1 -1
  274. package/examples/08-persistence.ts +1 -1
  275. package/examples/09-signals.ts +1 -1
  276. package/package.json +2 -2
  277. package/src/adapters/MemoryAdapter.ts +29 -33
  278. package/src/adapters/PostgreSQLAdapter.ts +23 -18
  279. package/src/adapters/RedisAdapter.ts +81 -34
  280. package/src/adapters/SQLiteAdapter.ts +10 -31
  281. package/src/adapters/sessionRow.ts +57 -0
  282. package/src/core/Agent.ts +48 -2
  283. package/src/core/AutoChainExecutor.ts +37 -50
  284. package/src/core/CompactionEngine.ts +40 -6
  285. package/src/core/FlowRouter.ts +38 -12
  286. package/src/core/ResponseGenerationError.ts +3 -6
  287. package/src/core/ResponseModal.ts +185 -19
  288. package/src/core/ResponsePipeline.ts +259 -85
  289. package/src/core/SessionFinalizer.ts +35 -5
  290. package/src/core/SessionManager.ts +55 -21
  291. package/src/core/SignalProcessor.ts +5 -85
  292. package/src/core/Step.ts +79 -2
  293. package/src/core/StepLifecycle.ts +125 -22
  294. package/src/core/StreamingToolExecutor.ts +31 -6
  295. package/src/core/ToolLoopExecutor.ts +200 -74
  296. package/src/core/ToolManager.ts +45 -18
  297. package/src/core/flow-namespace.ts +29 -0
  298. package/src/index.ts +4 -1
  299. package/src/providers/AnthropicProvider.ts +83 -131
  300. package/src/providers/GeminiProvider.ts +42 -116
  301. package/src/providers/OpenAICompatibleProvider.ts +132 -133
  302. package/src/providers/OpenAIProvider.ts +2 -2
  303. package/src/providers/errorClassification.ts +34 -0
  304. package/src/types/agent.ts +25 -0
  305. package/src/types/flow.ts +37 -39
  306. package/src/types/index.ts +1 -0
  307. package/src/types/tool.ts +2 -0
  308. package/src/utils/index.ts +22 -3
  309. package/src/utils/retry.ts +251 -2
  310. package/src/utils/serialize.ts +38 -0
  311. package/src/utils/session.ts +41 -4
  312. package/dist/cjs/core/DirectiveBus.d.ts +0 -88
  313. package/dist/cjs/core/DirectiveBus.d.ts.map +0 -1
  314. package/dist/cjs/core/DirectiveBus.js +0 -196
  315. package/dist/cjs/core/DirectiveBus.js.map +0 -1
  316. package/dist/core/DirectiveBus.d.ts +0 -88
  317. package/dist/core/DirectiveBus.d.ts.map +0 -1
  318. package/dist/core/DirectiveBus.js +0 -192
  319. package/dist/core/DirectiveBus.js.map +0 -1
  320. package/src/core/DirectiveBus.ts +0 -248
@@ -1 +1 @@
1
- {"version":3,"file":"AnthropicProvider.js","sourceRoot":"","sources":["../../../src/providers/AnthropicProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AnthropicProvider.js","sourceRoot":"","sources":["../../../src/providers/AnthropicProvider.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Google Gemini AI provider implementation with retry and backup models
3
3
  */
4
- import type { GenerateContentConfig } from "@google/genai";
4
+ import type { GoogleGenAI as GoogleGenAIType, GenerateContentConfig } from "@google/genai";
5
5
  import type { AiProvider, GenerateMessageInput, GenerateMessageOutput, GenerateMessageStreamChunk, AgentStructuredResponse } from "../types";
6
6
  import type { ProviderCapabilities } from "../types/ai";
7
7
  /**
@@ -9,8 +9,8 @@ import type { ProviderCapabilities } from "../types/ai";
9
9
  * Uses types from @google/genai package
10
10
  */
11
11
  export interface GeminiProviderOptions {
12
- /** Gemini API key */
13
- apiKey: string;
12
+ /** Gemini API key. Optional when `client` is injected (tests). */
13
+ apiKey?: string;
14
14
  /** Model to use (required) - e.g., "gemini-3.1-pro-preview" */
15
15
  model: string;
16
16
  /** Backup models to try if primary fails (default: []) */
@@ -22,6 +22,12 @@ export interface GeminiProviderOptions {
22
22
  timeout?: number;
23
23
  retries?: number;
24
24
  };
25
+ /**
26
+ * Pre-configured SDK client. Overrides the internally-constructed one.
27
+ * Intended for tests injecting scripted transports; production callers
28
+ * should pass `apiKey` instead.
29
+ */
30
+ client?: GoogleGenAIType;
25
31
  }
26
32
  /**
27
33
  * Gemini provider implementation with backup models and retry logic
@@ -1 +1 @@
1
- {"version":3,"file":"GeminiProvider.d.ts","sourceRoot":"","sources":["../../../src/providers/GeminiProvider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAEV,qBAAqB,EAItB,MAAM,eAAe,CAAC;AAGvB,OAAO,KAAK,EACV,UAAU,EACV,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,EAExB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAcxD;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,gFAAgF;IAChF,MAAM,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACxC,0BAA0B;IAC1B,WAAW,CAAC,EAAE;QACZ,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAkBD;;GAEG;AACH,qBAAa,cAAe,YAAW,UAAU;IAC/C,SAAgB,IAAI,YAAY;IAChC,SAAgB,YAAY,EAAE,oBAAoB,CAMhD;IACF,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,YAAY,CAAW;IAC/B,OAAO,CAAC,MAAM,CAAC,CAAiC;IAChD,OAAO,CAAC,WAAW,CAAuC;gBAE9C,OAAO,EAAE,qBAAqB;IAkB1C;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAkD3B;;;;;;;OAOG;IACH,OAAO,CAAC,qBAAqB;IAY7B;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe;IAoBvB;;;;;OAKG;IACH,OAAO,CAAC,yBAAyB;IAUjC;;;;;;;;OAQG;IACH,OAAO,CAAC,oBAAoB;IAoE5B;;;OAGG;IACH,OAAO,CAAC,eAAe;IAsBjB,eAAe,CACnB,QAAQ,GAAG,OAAO,EAClB,WAAW,GAAG,uBAAuB,EAErC,KAAK,EAAE,oBAAoB,CAAC,QAAQ,CAAC,GACpC,OAAO,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAIvC,qBAAqB,CAC1B,QAAQ,GAAG,OAAO,EAClB,WAAW,GAAG,uBAAuB,EAErC,KAAK,EAAE,oBAAoB,CAAC,QAAQ,CAAC,GACpC,cAAc,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAC;YAI5C,kBAAkB;YA6DlB,iBAAiB;YAwJhB,wBAAwB;YAmExB,uBAAuB;CAqJvC"}
1
+ {"version":3,"file":"GeminiProvider.d.ts","sourceRoot":"","sources":["../../../src/providers/GeminiProvider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,WAAW,IAAI,eAAe,EAC9B,qBAAqB,EAItB,MAAM,eAAe,CAAC;AAGvB,OAAO,KAAK,EACV,UAAU,EACV,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,EAExB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAcxD;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,gFAAgF;IAChF,MAAM,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACxC,0BAA0B;IAC1B,WAAW,CAAC,EAAE;QACZ,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF;;;;OAIG;IACH,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B;AAkBD;;GAEG;AACH,qBAAa,cAAe,YAAW,UAAU;IAC/C,SAAgB,IAAI,YAAY;IAChC,SAAgB,YAAY,EAAE,oBAAoB,CAMhD;IACF,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,YAAY,CAAW;IAC/B,OAAO,CAAC,MAAM,CAAC,CAAiC;IAChD,OAAO,CAAC,WAAW,CAAuC;gBAE9C,OAAO,EAAE,qBAAqB;IAkB1C;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAkD3B;;;;;;;OAOG;IACH,OAAO,CAAC,qBAAqB;IAY7B;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe;IAoBvB;;;;;OAKG;IACH,OAAO,CAAC,yBAAyB;IAUjC;;;;;;;;OAQG;IACH,OAAO,CAAC,oBAAoB;IAoE5B;;;OAGG;IACH,OAAO,CAAC,eAAe;IAsBjB,eAAe,CACnB,QAAQ,GAAG,OAAO,EAClB,WAAW,GAAG,uBAAuB,EAErC,KAAK,EAAE,oBAAoB,CAAC,QAAQ,CAAC,GACpC,OAAO,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAIvC,qBAAqB,CAC1B,QAAQ,GAAG,OAAO,EAClB,WAAW,GAAG,uBAAuB,EAErC,KAAK,EAAE,oBAAoB,CAAC,QAAQ,CAAC,GACpC,cAAc,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAC;YAI5C,kBAAkB;YAsBlB,iBAAiB;YAyJhB,wBAAwB;YAyBxB,uBAAuB;CAqJvC"}
@@ -36,14 +36,14 @@ class GeminiProvider {
36
36
  supportsStreamingToolCalls: true,
37
37
  supportsPromptCaching: false,
38
38
  };
39
- const { apiKey, model, backupModels = [], config, retryConfig } = options;
40
- if (!apiKey) {
39
+ const { apiKey, model, backupModels = [], config, retryConfig, client } = options;
40
+ if (!client && !apiKey) {
41
41
  throw new Error("Gemini API key is required");
42
42
  }
43
43
  if (!model) {
44
44
  throw new Error("Model is required. Example: 'gemini-3.1-pro-preview'");
45
45
  }
46
- this.genAI = new genai_1.GoogleGenAI({ apiKey });
46
+ this.genAI = client ?? new genai_1.GoogleGenAI({ apiKey });
47
47
  this.primaryModel = model;
48
48
  this.backupModels = backupModels;
49
49
  this.config = config;
@@ -253,40 +253,18 @@ class GeminiProvider {
253
253
  yield* this.generateStreamWithBackup(input);
254
254
  }
255
255
  async generateWithBackup(input) {
256
- // Try primary model first
256
+ const observer = (0, retry_1.backupFallbackLogging)("[GEMINI]", shouldUseBackupModel);
257
257
  try {
258
- return await this.generateWithModel(this.primaryModel, input);
258
+ return await (0, retry_1.withBackupFallback)({
259
+ models: [this.primaryModel, ...this.backupModels],
260
+ attempt: (model) => this.generateWithModel(model, input),
261
+ shouldTryBackup: shouldUseBackupModel,
262
+ ...observer.callbacks,
263
+ });
259
264
  }
260
- catch (primaryError) {
261
- const primaryErrMsg = (0, errorClassification_1.getErrorMessage)(primaryError);
262
- logger_1.logger.warn(`[GEMINI] Primary model ${this.primaryModel} failed: ${primaryErrMsg}`);
263
- if (!shouldUseBackupModel(primaryError)) {
264
- throw (0, errorClassification_1.toProviderError)(primaryError, this.name, CLASSIFICATION_OPTIONS);
265
- }
266
- logger_1.logger.debug(`[GEMINI] Trying backup models`);
267
- let lastBackupError = primaryError;
268
- for (let i = 0; i < this.backupModels.length; i++) {
269
- const backupModel = this.backupModels[i];
270
- logger_1.logger.debug(`[GEMINI] Trying backup model ${i + 1}/${this.backupModels.length}: ${backupModel}`);
271
- try {
272
- const result = await this.generateWithModel(backupModel, input);
273
- logger_1.logger.debug(`[GEMINI] Backup model ${backupModel} succeeded`);
274
- return result;
275
- }
276
- catch (backupError) {
277
- const backupErrMsg = (0, errorClassification_1.getErrorMessage)(backupError);
278
- logger_1.logger.warn(`[GEMINI] Backup model ${backupModel} failed: ${backupErrMsg}`);
279
- lastBackupError = backupError;
280
- if (!shouldUseBackupModel(backupError) &&
281
- i < this.backupModels.length - 1) {
282
- logger_1.logger.debug(`[GEMINI] Backup model error doesn't qualify for further attempts`);
283
- break;
284
- }
285
- }
286
- }
287
- const lastBackupErrMsg = (0, errorClassification_1.getErrorMessage)(lastBackupError);
288
- logger_1.logger.error(`[GEMINI] All models failed. Primary: ${primaryErrMsg}, Last backup: ${lastBackupErrMsg}`);
289
- throw (0, errorClassification_1.toProviderError)(lastBackupError, this.name, CLASSIFICATION_OPTIONS);
265
+ catch (error) {
266
+ observer.logExhausted(error);
267
+ throw (0, errorClassification_1.toProviderError)(error, this.name, CLASSIFICATION_OPTIONS);
290
268
  }
291
269
  }
292
270
  async generateWithModel(model, input) {
@@ -407,43 +385,21 @@ class GeminiProvider {
407
385
  structured,
408
386
  };
409
387
  };
410
- return (0, retry_1.withTimeoutAndRetry)(operation, this.retryConfig.timeout, this.retryConfig.retries, `Gemini ${model}`);
388
+ return (0, retry_1.withTimeoutAndRetry)(operation, this.retryConfig.timeout, this.retryConfig.retries, `Gemini ${model}`, (error) => (0, errorClassification_1.isRetriableProviderError)(error, CLASSIFICATION_OPTIONS));
411
389
  }
412
390
  async *generateStreamWithBackup(input) {
413
- // Try primary model first
391
+ const observer = (0, retry_1.backupFallbackLogging)("[GEMINI]", shouldUseBackupModel, { streaming: true });
414
392
  try {
415
- yield* (0, retry_1.withStreamRetry)((signal) => this.generateStreamWithModel(this.primaryModel, input, signal), { maxRetries: this.retryConfig.retries, firstChunkTimeoutMs: this.retryConfig.timeout, operationName: `Gemini ${this.primaryModel} stream` });
393
+ yield* (0, retry_1.streamWithBackupFallback)({
394
+ models: [this.primaryModel, ...this.backupModels],
395
+ attempt: (model) => (0, retry_1.withStreamRetry)((signal) => this.generateStreamWithModel(model, input, signal), { maxRetries: this.retryConfig.retries, firstChunkTimeoutMs: this.retryConfig.timeout, operationName: `Gemini ${model} stream`, isRetriable: (error) => (0, errorClassification_1.isRetriableProviderError)(error, CLASSIFICATION_OPTIONS) }),
396
+ shouldTryBackup: shouldUseBackupModel,
397
+ ...observer.callbacks,
398
+ });
416
399
  }
417
- catch (primaryError) {
418
- const primaryErrMsg = (0, errorClassification_1.getErrorMessage)(primaryError);
419
- logger_1.logger.warn(`[GEMINI] Primary model ${this.primaryModel} failed: ${primaryErrMsg}`);
420
- if (!shouldUseBackupModel(primaryError)) {
421
- throw (0, errorClassification_1.toProviderError)(primaryError, this.name, CLASSIFICATION_OPTIONS);
422
- }
423
- logger_1.logger.debug(`[GEMINI] Trying backup models for streaming`);
424
- let lastBackupError = primaryError;
425
- for (let i = 0; i < this.backupModels.length; i++) {
426
- const backupModel = this.backupModels[i];
427
- logger_1.logger.debug(`[GEMINI] Trying backup model ${i + 1}/${this.backupModels.length}: ${backupModel}`);
428
- try {
429
- yield* (0, retry_1.withStreamRetry)((signal) => this.generateStreamWithModel(backupModel, input, signal), { maxRetries: this.retryConfig.retries, firstChunkTimeoutMs: this.retryConfig.timeout, operationName: `Gemini ${backupModel} stream` });
430
- logger_1.logger.debug(`[GEMINI] Backup model ${backupModel} succeeded`);
431
- return;
432
- }
433
- catch (backupError) {
434
- const backupErrMsg = (0, errorClassification_1.getErrorMessage)(backupError);
435
- logger_1.logger.warn(`[GEMINI] Backup model ${backupModel} failed: ${backupErrMsg}`);
436
- lastBackupError = backupError;
437
- if (!shouldUseBackupModel(backupError) &&
438
- i < this.backupModels.length - 1) {
439
- logger_1.logger.debug(`[GEMINI] Backup model error doesn't qualify for further attempts`);
440
- break;
441
- }
442
- }
443
- }
444
- const lastBackupErrMsg = (0, errorClassification_1.getErrorMessage)(lastBackupError);
445
- logger_1.logger.error(`[GEMINI] All models failed. Primary: ${primaryErrMsg}, Last backup: ${lastBackupErrMsg}`);
446
- throw (0, errorClassification_1.toProviderError)(lastBackupError, this.name, CLASSIFICATION_OPTIONS);
400
+ catch (error) {
401
+ observer.logExhausted(error);
402
+ throw (0, errorClassification_1.toProviderError)(error, this.name, CLASSIFICATION_OPTIONS);
447
403
  }
448
404
  }
449
405
  async *generateStreamWithModel(model, input, attemptSignal) {
@@ -1 +1 @@
1
- {"version":3,"file":"GeminiProvider.js","sourceRoot":"","sources":["../../../src/providers/GeminiProvider.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AASH,yCAAkD;AAYlD,0CAA+G;AAC/G,oDAA6D;AAC7D,wCAAqD;AACrD,4CAAyC;AACzC,+DAM+B;AAsB/B;;;GAGG;AACH,MAAM,sBAAsB,GAA+B;IACzD,eAAe,EAAE,CAAC,YAAY,CAAC;IAC/B,kBAAkB,EAAE,CAAC,eAAe,EAAE,UAAU,CAAC;CAClD,CAAC;AAEF;;;GAGG;AACH,MAAM,oBAAoB,GAAG,CAAC,KAAc,EAAW,EAAE,CACvD,IAAA,sCAAgB,EAAC,IAAA,2CAAqB,EAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC,CAAC;AAEzE;;GAEG;AACH,MAAa,cAAc;IAezB,YAAY,OAA8B;QAd1B,SAAI,GAAG,QAAQ,CAAC;QAChB,iBAAY,GAAyB;YACnD,aAAa,EAAE,IAAI;YACnB,wBAAwB,EAAE,IAAI;YAC9B,iBAAiB,EAAE,IAAI;YACvB,0BAA0B,EAAE,IAAI;YAChC,qBAAqB,EAAE,KAAK;SAC7B,CAAC;QAQA,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;QAE1E,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,mBAAW,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,IAAA,0BAAkB,EAAC,WAAW,CAAC,CAAC;IACrD,CAAC;IAED;;;;;OAKG;IACK,mBAAmB,CAAC,OAAsB;QAIhD,MAAM,QAAQ,GAAmE,EAAE,CAAC;QACpF,MAAM,kBAAkB,GAAa,EAAE,CAAC;QAExC,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC3B,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClB,KAAK,QAAQ;oBACX,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACtC,MAAM;gBACR,KAAK,MAAM;oBACT,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;oBACjE,MAAM;gBACR,KAAK,WAAW;oBACd,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAClD,MAAM,KAAK,GAAmC,EAAE,CAAC;wBACjD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;4BACjB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;wBACrC,CAAC;wBACD,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;4BACjC,KAAK,CAAC,IAAI,CAAC;gCACT,YAAY,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,EAAE;6BACpD,CAAC,CAAC;wBACL,CAAC;wBACD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;oBAC1C,CAAC;yBAAM,CAAC;wBACN,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;oBAC1E,CAAC;oBACD,MAAM;gBACR,KAAK,MAAM;oBACT,QAAQ,CAAC,IAAI,CAAC;wBACZ,IAAI,EAAE,MAAM;wBACZ,KAAK,EAAE;4BACL;gCACE,gBAAgB,EAAE;oCAChB,IAAI,EAAE,IAAI,CAAC,IAAI;oCACf,QAAQ,EAAE,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE;iCACrF;6BACF;yBACF;qBACF,CAAC,CAAC;oBACH,MAAM;YACV,CAAC;QACH,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC;IAC1C,CAAC;IAED;;;;;;;OAOG;IACK,qBAAqB,CAAC,UAAmB;QAC/C,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YAClD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,oBAAoB,CAAC,UAA8B,CAAC,CAAC;QACnE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAM,CAAC,IAAI,CAAC,oEAAoE,EAAE,KAAK,CAAC,CAAC;YACzF,OAAO,UAAoB,CAAC;QAC9B,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,eAAe,CAAC,eAAqJ;QAC3K,iEAAiE;QACjE,0DAA0D;QAC1D,MAAM,KAAK,GAAG,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC;QAC9D,IAAI,KAAK,EAAE,CAAC;YACV,yEAAyE;YACzE,oEAAoE;YACpE,OAAO,KAAK;iBACT,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;iBAC3C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;iBAClB,IAAI,CAAC,EAAE,CAAC,CAAC;QACd,CAAC;QACD,mEAAmE;QACnE,IAAI,CAAC;YACH,OAAO,eAAe,CAAC,IAAI,IAAI,EAAE,CAAC;QACpC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,yBAAyB,CAC/B,KAAuF;QAEvF,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC1B,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE;YAC1B,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;YACnC,UAAU,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC;SACxD,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;;;;;;;OAQG;IACK,oBAAoB,CAAC,MAAwB;QACnD,MAAM,YAAY,GAAW,EAAE,CAAC;QAEhC,eAAe;QACf,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/B,iFAAiF;gBACjF,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACN,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QAED,qBAAqB;QACrB,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,YAAY,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QAChD,CAAC;QAED,kBAAkB;QAClB,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAClC,YAAY,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC1C,CAAC;QAED,cAAc;QACd,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,YAAY,CAAC,IAAI,GAAG,MAAM,CAAC,IAAgB,CAAC;QAC9C,CAAC;QAED,kFAAkF;QAClF,IACE,YAAY,CAAC,IAAI,KAAK,YAAI,CAAC,MAAM;YACjC,MAAM,CAAC,IAAI,KAAK,QAAQ;YACxB,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAC9D,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtE,eAAM,CAAC,IAAI,CACT,gHAAgH,CACjH,CAAC;gBACF,YAAY,CAAC,IAAI,GAAG,YAAI,CAAC,MAAM,CAAC;gBAChC,OAAO,YAAY,CAAC;YACtB,CAAC;YAED,wCAAwC;YACxC,YAAY,CAAC,UAAU,GAAG,EAAE,CAAC;YAC7B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC7D,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;YAClE,CAAC;YAED,yBAAyB;YACzB,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClD,YAAY,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YAC1C,CAAC;QACH,CAAC;QAED,qBAAqB;QACrB,IACE,YAAY,CAAC,IAAI,KAAK,YAAI,CAAC,KAAK;YAChC,MAAM,CAAC,IAAI,KAAK,OAAO;YACvB,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAC7D,CAAC;YACD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;;OAGG;IACK,eAAe,CAAC,IAAY;QAClC,QAAQ,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YAC3B,KAAK,QAAQ;gBACX,OAAO,YAAI,CAAC,MAAM,CAAC;YACrB,KAAK,QAAQ;gBACX,OAAO,YAAI,CAAC,MAAM,CAAC;YACrB,KAAK,SAAS;gBACZ,OAAO,YAAI,CAAC,OAAO,CAAC;YACtB,KAAK,SAAS;gBACZ,OAAO,YAAI,CAAC,OAAO,CAAC;YACtB,KAAK,OAAO;gBACV,OAAO,YAAI,CAAC,KAAK,CAAC;YACpB,KAAK,QAAQ;gBACX,OAAO,YAAI,CAAC,MAAM,CAAC;YACrB;gBACE,eAAM,CAAC,IAAI,CACT,kCAAkC,IAAI,yBAAyB,CAChE,CAAC;gBACF,OAAO,YAAI,CAAC,MAAM,CAAC;QACvB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CAInB,KAAqC;QAErC,OAAO,IAAI,CAAC,kBAAkB,CAAwB,KAAK,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,CAAC,qBAAqB,CAI1B,KAAqC;QAErC,KAAK,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAwB,KAAK,CAAC,CAAC;IACrE,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAI9B,KAAqC;QAErC,0BAA0B;QAC1B,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAChE,CAAC;QAAC,OAAO,YAAqB,EAAE,CAAC;YAC/B,MAAM,aAAa,GAAG,IAAA,qCAAe,EAAC,YAAY,CAAC,CAAC;YACpD,eAAM,CAAC,IAAI,CACT,0BAA0B,IAAI,CAAC,YAAY,YAAY,aAAa,EAAE,CACvE,CAAC;YAEF,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,EAAE,CAAC;gBACxC,MAAM,IAAA,qCAAe,EAAC,YAAY,EAAE,IAAI,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;YACzE,CAAC;YAED,eAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAE9C,IAAI,eAAe,GAAY,YAAY,CAAC;YAE5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClD,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBACzC,eAAM,CAAC,KAAK,CACV,gCAAgC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,MAC3D,KAAK,WAAW,EAAE,CACnB,CAAC;gBAEF,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;oBAChE,eAAM,CAAC,KAAK,CAAC,yBAAyB,WAAW,YAAY,CAAC,CAAC;oBAC/D,OAAO,MAA4C,CAAC;gBACtD,CAAC;gBAAC,OAAO,WAAoB,EAAE,CAAC;oBAC9B,MAAM,YAAY,GAAG,IAAA,qCAAe,EAAC,WAAW,CAAC,CAAC;oBAClD,eAAM,CAAC,IAAI,CACT,yBAAyB,WAAW,YAAY,YAAY,EAAE,CAC/D,CAAC;oBACF,eAAe,GAAG,WAAW,CAAC;oBAE9B,IACE,CAAC,oBAAoB,CAAC,WAAW,CAAC;wBAClC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAChC,CAAC;wBACD,eAAM,CAAC,KAAK,CACV,kEAAkE,CACnE,CAAC;wBACF,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,gBAAgB,GAAG,IAAA,qCAAe,EAAC,eAAe,CAAC,CAAC;YAC1D,eAAM,CAAC,KAAK,CACV,wCAAwC,aAAa,kBAAkB,gBAAgB,EAAE,CAC1F,CAAC;YACF,MAAM,IAAA,qCAAe,EAAC,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAI7B,KAAa,EACb,KAAqC;QAErC,MAAM,SAAS,GAAG,KAAK,EAAE,MAAmB,EAAkC,EAAE;YAC9E,6CAA6C;YAC7C,MAAM,cAAc,GAAmC,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAE1E,4EAA4E;YAC5E,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YACvD,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,EAAE,UAAU,CAAC;YAEnD,IAAI,QAAQ,IAAI,aAAa,EAAE,CAAC;gBAC9B,eAAM,CAAC,KAAK,CAAC,oHAAoH,CAAC,CAAC;YACrI,CAAC;YAED,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;gBACzE,eAAM,CAAC,KAAK,CAAC,gCAAgC,SAAS,CAAC,MAAM,oBAAoB,KAAK,GAAG,EAAE,SAAS,CAAC,CAAC;gBACtG,MAAM,oBAAoB,GAAG,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,KAAM,CAAC,CAAC;gBAC1E,cAAc,CAAC,KAAK,GAAG,CAAC,EAAE,oBAAoB,EAAE,CAAC,CAAC;YAEpD,CAAC;iBAAM,IAAI,aAAa,EAAE,CAAC;gBACzB,+CAA+C;gBAC/C,cAAc,CAAC,gBAAgB,GAAG,kBAAkB,CAAC;gBACrD,+DAA+D;gBAC/D,cAAc,CAAC,cAAc,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAC1E,KAAK,CAAC,UAAU,CAAC,UAAU,CAC5B,CAAC,CAAC,CAAC,EAAE,CAAC;YACT,CAAC;YAED,IAAI,QAAiC,CAAC;YACtC,IAAI,CAAC;gBACH,8BAA8B;gBAC9B,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAElG,sDAAsD;gBACtD,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;gBAExE,iDAAiD;gBACjD,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAClC,MAAM,cAAc,GAAG,cAAc,CAAC,iBAAiB,CAAC;oBACxD,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;wBACvC,cAAc,CAAC,iBAAiB,GAAG,GAAG,cAAc,OAAO,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC/F,CAAC;yBAAM,CAAC;wBACN,cAAc,CAAC,iBAAiB,GAAG,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACrE,CAAC;gBACH,CAAC;gBAED,MAAM,SAAS,GAAG,IAAA,2BAAmB,EAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAC5D,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC;oBACjD,KAAK;oBACL,QAAQ,EAAE,eAAe;oBACzB,MAAM,EAAE;wBACN,GAAG,cAAc;wBACjB,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACjD;iBACF,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,eAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;gBACzD,MAAM,KAAK,CAAC;YACd,CAAC;YAED,yCAAyC;YACzC,MAAM,SAAS,GAGV,EAAE,CAAC;YAER,mDAAmD;YACnD,IAAI,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;gBAClE,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;oBACxD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;wBACtB,SAAS,CAAC,IAAI,CAAC;4BACb,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE;4BACtC,SAAS,EAAG,IAAI,CAAC,YAAY,CAAC,IAAgC,IAAI,EAAE;yBACrE,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YAED,gEAAgE;YAChE,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAE/C,uCAAuC;YACvC,IAAI,CAAC,OAAO,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvC,eAAM,CAAC,KAAK,CAAC,8CAA8C,EAAE;oBAC3D,eAAe,EAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC;oBACjD,mBAAmB,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;iBAC3E,CAAC,CAAC;YACL,CAAC;YAED,4DAA4D;YAC5D,IAAI,CAAC,OAAO,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvC,eAAM,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;gBAC5E,eAAM,CAAC,KAAK,CAAC,uCAAuC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;gBAC3E,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC7C,CAAC;YAED,+DAA+D;YAC/D,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACrC,eAAM,CAAC,KAAK,CAAC,gEAAgE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;YACnH,CAAC;YAED,6CAA6C;YAC7C,IAAI,UAA+C,CAAC;YACpD,IAAI,KAAK,CAAC,UAAU,EAAE,UAAU,EAAE,CAAC;gBACjC,MAAM,MAAM,GAAG,IAAA,2BAAoB,EAAC,OAAO,CAAC,CAAC;gBAC7C,IAAI,MAAM,EAAE,CAAC;oBACX,UAAU,GAAG,MAAiC,CAAC;gBACjD,CAAC;qBAAM,CAAC;oBACN,eAAM,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;gBACxF,CAAC;YACH,CAAC;YAED,0DAA0D;YAC1D,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,UAAU,GAAG;oBACX,OAAO,EAAE,UAAU,EAAE,OAAO,IAAI,OAAO;oBACvC,SAAS;oBACT,GAAG,UAAU;iBACa,CAAC;YAC/B,CAAC;YAED,wEAAwE;YACxE,oEAAoE;YACpE,4BAA4B;YAC5B,IAAA,mCAAsB,EAAC,UAAU,EAAE,OAAO,EAAE,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAExE,OAAO;gBACL,OAAO;gBACP,QAAQ,EAAE;oBACR,KAAK;oBACL,UAAU,EAAE,QAAQ,CAAC,aAAa,EAAE,eAAe;oBACnD,YAAY,EAAE,QAAQ,CAAC,aAAa,EAAE,gBAAgB;oBACtD,gBAAgB,EAAE,QAAQ,CAAC,aAAa,EAAE,oBAAoB;iBAC/D;gBACD,UAAU;aACX,CAAC;QACJ,CAAC,CAAC;QAEF,OAAO,IAAA,2BAAmB,EACxB,SAAS,EACT,IAAI,CAAC,WAAW,CAAC,OAAO,EACxB,IAAI,CAAC,WAAW,CAAC,OAAO,EACxB,UAAU,KAAK,EAAE,CAC6B,CAAC;IACnD,CAAC;IAEO,KAAK,CAAC,CAAC,wBAAwB,CAIrC,KAAqC;QAErC,0BAA0B;QAC1B,IAAI,CAAC;YACH,KAAK,CAAC,CAAC,IAAA,uBAAe,EACpB,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,EAC1E,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,mBAAmB,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,YAAY,SAAS,EAAE,CAC7I,CAAC;QACJ,CAAC;QAAC,OAAO,YAAqB,EAAE,CAAC;YAC/B,MAAM,aAAa,GAAG,IAAA,qCAAe,EAAC,YAAY,CAAC,CAAC;YACpD,eAAM,CAAC,IAAI,CACT,0BAA0B,IAAI,CAAC,YAAY,YAAY,aAAa,EAAE,CACvE,CAAC;YAEF,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,EAAE,CAAC;gBACxC,MAAM,IAAA,qCAAe,EAAC,YAAY,EAAE,IAAI,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;YACzE,CAAC;YAED,eAAM,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;YAE5D,IAAI,eAAe,GAAY,YAAY,CAAC;YAE5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClD,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBACzC,eAAM,CAAC,KAAK,CACV,gCAAgC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,MAC3D,KAAK,WAAW,EAAE,CACnB,CAAC;gBAEF,IAAI,CAAC;oBACH,KAAK,CAAC,CAAC,IAAA,uBAAe,EACpB,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,EACpE,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,mBAAmB,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,aAAa,EAAE,UAAU,WAAW,SAAS,EAAE,CACvI,CAAC;oBACF,eAAM,CAAC,KAAK,CAAC,yBAAyB,WAAW,YAAY,CAAC,CAAC;oBAC/D,OAAO;gBACT,CAAC;gBAAC,OAAO,WAAoB,EAAE,CAAC;oBAC9B,MAAM,YAAY,GAAG,IAAA,qCAAe,EAAC,WAAW,CAAC,CAAC;oBAClD,eAAM,CAAC,IAAI,CACT,yBAAyB,WAAW,YAAY,YAAY,EAAE,CAC/D,CAAC;oBACF,eAAe,GAAG,WAAW,CAAC;oBAE9B,IACE,CAAC,oBAAoB,CAAC,WAAW,CAAC;wBAClC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAChC,CAAC;wBACD,eAAM,CAAC,KAAK,CACV,kEAAkE,CACnE,CAAC;wBACF,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,gBAAgB,GAAG,IAAA,qCAAe,EAAC,eAAe,CAAC,CAAC;YAC1D,eAAM,CAAC,KAAK,CACV,wCAAwC,aAAa,kBAAkB,gBAAgB,EAAE,CAC1F,CAAC;YACF,MAAM,IAAA,qCAAe,EAAC,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,CAAC,uBAAuB,CAIpC,KAAa,EACb,KAAqC,EACrC,aAA2B;QAE3B,yEAAyE;QACzE,MAAM,SAAS,GAAG,IAAA,2BAAmB,EAAC,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACnE,6CAA6C;QAC7C,MAAM,cAAc,GAAmC,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAE1E,4EAA4E;QAC5E,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACvD,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,EAAE,UAAU,CAAC;QAEnD,IAAI,QAAQ,IAAI,aAAa,EAAE,CAAC;YAC9B,eAAM,CAAC,KAAK,CAAC,oHAAoH,CAAC,CAAC;QACrI,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;YACzE,eAAM,CAAC,KAAK,CAAC,gCAAgC,SAAS,CAAC,MAAM,uBAAuB,EAAE,SAAS,CAAC,CAAC;YACjG,MAAM,oBAAoB,GAAG,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,KAAM,CAAC,CAAC;YAC1E,cAAc,CAAC,KAAK,GAAG,CAAC,EAAE,oBAAoB,EAAE,CAAC,CAAC;QAEpD,CAAC;aAAM,IAAI,aAAa,EAAE,CAAC;YACzB,+CAA+C;YAC/C,cAAc,CAAC,gBAAgB,GAAG,kBAAkB,CAAC;YACrD,+DAA+D;YAC/D,cAAc,CAAC,cAAc,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAC1E,KAAK,CAAC,UAAU,CAAC,UAAU,CAC5B,CAAC,CAAC,CAAC,EAAE,CAAC;QACT,CAAC;QAED,IAAI,MAAM,CAAC;QACX,IAAI,CAAC;YACH,8BAA8B;YAC9B,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAElG,sDAAsD;YACtD,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;YAExE,iDAAiD;YACjD,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClC,MAAM,cAAc,GAAG,cAAc,CAAC,iBAAiB,CAAC;gBACxD,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;oBACvC,cAAc,CAAC,iBAAiB,GAAG,GAAG,cAAc,OAAO,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/F,CAAC;qBAAM,CAAC;oBACN,cAAc,CAAC,iBAAiB,GAAG,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACrE,CAAC;YACH,CAAC;YAED,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC;gBACrD,KAAK;gBACL,QAAQ,EAAE,eAAe;gBACzB,MAAM,EAAE;oBACN,GAAG,cAAc;oBACjB,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACjD;aACF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,eAAM,CAAC,KAAK,CAAC,6CAA6C,EAAE,KAAK,CAAC,CAAC;YACnE,MAAM,KAAK,CAAC;QACd,CAAC;QAED,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,IAAI,oBAAoB,GAAG,CAAC,CAAC;QAC7B,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,MAAM,SAAS,GAGV,EAAE,CAAC;QAER,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACjC,IAAI,SAAS,EAAE,OAAO;gBAAE,MAAM;YAE9B,gFAAgF;YAChF,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAE1C,gCAAgC;YAChC,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;gBAC5D,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;oBACrD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;wBACtB,SAAS,CAAC,IAAI,CAAC;4BACb,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE;4BACtC,SAAS,EAAG,IAAI,CAAC,YAAY,CAAC,IAAgC,IAAI,EAAE;yBACrE,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,KAAK,EAAE,CAAC;gBACV,WAAW,IAAI,KAAK,CAAC;gBACrB,MAAM;oBACJ,KAAK;oBACL,WAAW;oBACX,IAAI,EAAE,KAAK;iBACZ,CAAC;YACJ,CAAC;YAED,mCAAmC;YACnC,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;gBACxB,gBAAgB,GAAG,KAAK,CAAC,aAAa,CAAC,gBAAgB,IAAI,CAAC,CAAC;gBAC7D,oBAAoB,GAAG,KAAK,CAAC,aAAa,CAAC,oBAAoB,IAAI,CAAC,CAAC;gBACrE,eAAe,GAAG,KAAK,CAAC,aAAa,CAAC,eAAe,IAAI,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QAED,6CAA6C;QAC7C,IAAI,UAA+C,CAAC;QACpD,IAAI,KAAK,CAAC,UAAU,EAAE,UAAU,IAAI,WAAW,EAAE,CAAC;YAChD,MAAM,MAAM,GAAG,IAAA,2BAAoB,EAAC,WAAW,CAAC,CAAC;YACjD,IAAI,MAAM,EAAE,CAAC;gBACX,UAAU,GAAG,MAAiC,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,eAAM,CAAC,IAAI,CAAC,kFAAkF,CAAC,CAAC;YAClG,CAAC;QACH,CAAC;QAED,uEAAuE;QACvE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,UAAU,GAAG;gBACX,OAAO,EAAE,UAAU,EAAE,OAAO,IAAI,WAAW;gBAC3C,GAAG,UAAU;gBACb,SAAS;aACiB,CAAC;QAC/B,CAAC;QAED,6EAA6E;QAC7E,8EAA8E;QAC9E,IAAA,mCAAsB,EAAC,UAAU,EAAE,WAAW,EAAE,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAE5E,oBAAoB;QACpB,MAAM;YACJ,KAAK,EAAE,EAAE;YACT,WAAW;YACX,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE;gBACR,KAAK;gBACL,UAAU,EAAE,eAAe;gBAC3B,YAAY,EAAE,gBAAgB;gBAC9B,gBAAgB,EAAE,oBAAoB;aACvC;YACD,UAAU,EAAE,UAAqC;SAClD,CAAC;IACJ,CAAC;CACF;AA/rBD,wCA+rBC"}
1
+ {"version":3,"file":"GeminiProvider.js","sourceRoot":"","sources":["../../../src/providers/GeminiProvider.ts"],"names":[],"mappings":"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"}
@@ -80,6 +80,15 @@ export declare abstract class OpenAICompatibleProvider implements AiProvider {
80
80
  protected constructor(init: OpenAICompatibleProviderInit);
81
81
  generateMessage<TContext = unknown, TStructured = AgentStructuredResponse>(input: GenerateMessageInput<TContext>): Promise<GenerateMessageOutput<TStructured>>;
82
82
  generateMessageStream<TContext = unknown, TStructured = AgentStructuredResponse>(input: GenerateMessageInput<TContext>): AsyncGenerator<GenerateMessageStreamChunk<TStructured>>;
83
+ /**
84
+ * Map interaction history onto Responses-API input items so structured
85
+ * generations carry the same context as chat completions: plain messages
86
+ * pass through as easy-input messages, and tool exchanges map to
87
+ * function_call / function_call_output pairs keyed by the original ids.
88
+ * The prompt is appended as the final user turn, mirroring how the
89
+ * chat-completions path builds its messages array.
90
+ */
91
+ private buildResponsesInput;
83
92
  /**
84
93
  * Generate a structured (JSON schema) response. Default uses the
85
94
  * responses.parse API (OpenAI, OpenRouter). Subclasses whose API lacks
@@ -1 +1 @@
1
- {"version":3,"file":"OpenAICompatibleProvider.d.ts","sourceRoot":"","sources":["../../../src/providers/OpenAICompatibleProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OpenAICompatibleProvider.d.ts","sourceRoot":"","sources":["../../../src/providers/OpenAICompatibleProvider.ts"],"names":[],"mappings":"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"}
@@ -45,6 +45,52 @@ class OpenAICompatibleProvider {
45
45
  // ---------------------------------------------------------------------
46
46
  // Provider-specific hooks
47
47
  // ---------------------------------------------------------------------
48
+ /**
49
+ * Map interaction history onto Responses-API input items so structured
50
+ * generations carry the same context as chat completions: plain messages
51
+ * pass through as easy-input messages, and tool exchanges map to
52
+ * function_call / function_call_output pairs keyed by the original ids.
53
+ * The prompt is appended as the final user turn, mirroring how the
54
+ * chat-completions path builds its messages array.
55
+ */
56
+ buildResponsesInput(history, prompt) {
57
+ const items = [];
58
+ for (const item of history) {
59
+ switch (item.role) {
60
+ case "system":
61
+ items.push({ role: "system", content: item.content });
62
+ break;
63
+ case "user":
64
+ items.push({ role: "user", content: item.content });
65
+ break;
66
+ case "assistant": {
67
+ if (item.content) {
68
+ items.push({ role: "assistant", content: item.content });
69
+ }
70
+ for (const toolCall of item.tool_calls ?? []) {
71
+ items.push({
72
+ type: "function_call",
73
+ call_id: toolCall.id,
74
+ name: toolCall.name,
75
+ arguments: JSON.stringify(toolCall.arguments),
76
+ });
77
+ }
78
+ break;
79
+ }
80
+ case "tool":
81
+ items.push({
82
+ type: "function_call_output",
83
+ call_id: item.tool_call_id,
84
+ output: typeof item.content === "string"
85
+ ? item.content
86
+ : JSON.stringify(item.content),
87
+ });
88
+ break;
89
+ }
90
+ }
91
+ items.push({ role: "user", content: prompt });
92
+ return items;
93
+ }
48
94
  /**
49
95
  * Generate a structured (JSON schema) response. Default uses the
50
96
  * responses.parse API (OpenAI, OpenRouter). Subclasses whose API lacks
@@ -59,8 +105,10 @@ class OpenAICompatibleProvider {
59
105
  }
60
106
  const response = await this.client.responses.parse({
61
107
  model,
62
- instructions: input.prompt,
63
- input: "",
108
+ // Full conversation context: mapped history plus the prompt as the
109
+ // final user turn. This used to send only `instructions` with an empty
110
+ // `input`, leaving every structured turn without conversation memory.
111
+ input: this.buildResponsesInput(input.history, input.prompt),
64
112
  reasoning: {
65
113
  effort: input.parameters?.reasoning?.effort || "low",
66
114
  },
@@ -226,77 +274,33 @@ class OpenAICompatibleProvider {
226
274
  // Generation with backup models
227
275
  // ---------------------------------------------------------------------
228
276
  async generateWithBackup(input) {
229
- // Try primary model first
277
+ const observer = (0, utils_1.backupFallbackLogging)(`[${this.logLabel}]`, (error) => this.shouldUseBackupModel(error));
230
278
  try {
231
- return await this.generateWithModel(this.primaryModel, input);
279
+ return await (0, utils_1.withBackupFallback)({
280
+ models: [this.primaryModel, ...this.backupModels],
281
+ attempt: (model) => this.generateWithModel(model, input),
282
+ shouldTryBackup: (error) => this.shouldUseBackupModel(error),
283
+ ...observer.callbacks,
284
+ });
232
285
  }
233
- catch (primaryError) {
234
- const primaryErrMsg = (0, errorClassification_1.getErrorMessage)(primaryError);
235
- utils_1.logger.warn(`[${this.logLabel}] Primary model ${this.primaryModel} failed: ${primaryErrMsg}`);
236
- if (!this.shouldUseBackupModel(primaryError)) {
237
- throw this.wrapTerminalError(primaryError);
238
- }
239
- utils_1.logger.debug(`[${this.logLabel}] Trying backup models`);
240
- let lastBackupError = primaryError;
241
- for (let i = 0; i < this.backupModels.length; i++) {
242
- const backupModel = this.backupModels[i];
243
- utils_1.logger.debug(`[${this.logLabel}] Trying backup model ${i + 1}/${this.backupModels.length}: ${backupModel}`);
244
- try {
245
- const result = await this.generateWithModel(backupModel, input);
246
- utils_1.logger.debug(`[${this.logLabel}] Backup model ${backupModel} succeeded`);
247
- return result;
248
- }
249
- catch (backupError) {
250
- const backupErrMsg = (0, errorClassification_1.getErrorMessage)(backupError);
251
- utils_1.logger.warn(`[${this.logLabel}] Backup model ${backupModel} failed: ${backupErrMsg}`);
252
- lastBackupError = backupError;
253
- if (!this.shouldUseBackupModel(backupError) &&
254
- i < this.backupModels.length - 1) {
255
- utils_1.logger.debug(`[${this.logLabel}] Backup model error doesn't qualify for further attempts`);
256
- break;
257
- }
258
- }
259
- }
260
- const lastBackupErrMsg = (0, errorClassification_1.getErrorMessage)(lastBackupError);
261
- utils_1.logger.error(`[${this.logLabel}] All models failed. Primary: ${primaryErrMsg}, Last backup: ${lastBackupErrMsg}`);
262
- throw this.wrapTerminalError(lastBackupError);
286
+ catch (error) {
287
+ observer.logExhausted(error);
288
+ throw this.wrapTerminalError(error);
263
289
  }
264
290
  }
265
291
  async *generateStreamWithBackup(input) {
266
- // Try primary model first
292
+ const observer = (0, utils_1.backupFallbackLogging)(`[${this.logLabel}]`, (error) => this.shouldUseBackupModel(error), { streaming: true });
267
293
  try {
268
- yield* (0, utils_1.withStreamRetry)((signal) => this.generateStreamWithModel(this.primaryModel, input, signal), { maxRetries: this.retryConfig.retries, firstChunkTimeoutMs: this.retryConfig.timeout, operationName: `${this.logLabel} ${this.primaryModel} stream` });
294
+ yield* (0, utils_1.streamWithBackupFallback)({
295
+ models: [this.primaryModel, ...this.backupModels],
296
+ attempt: (model) => (0, utils_1.withStreamRetry)((signal) => this.generateStreamWithModel(model, input, signal), { maxRetries: this.retryConfig.retries, firstChunkTimeoutMs: this.retryConfig.timeout, operationName: `${this.logLabel} ${model} stream`, isRetriable: (error) => (0, errorClassification_1.isRetriableProviderError)(error, this.classificationOptions) }),
297
+ shouldTryBackup: (error) => this.shouldUseBackupModel(error),
298
+ ...observer.callbacks,
299
+ });
269
300
  }
270
- catch (primaryError) {
271
- const primaryErrMsg = (0, errorClassification_1.getErrorMessage)(primaryError);
272
- utils_1.logger.warn(`[${this.logLabel}] Primary model ${this.primaryModel} failed: ${primaryErrMsg}`);
273
- if (!this.shouldUseBackupModel(primaryError)) {
274
- throw this.wrapTerminalError(primaryError);
275
- }
276
- utils_1.logger.debug(`[${this.logLabel}] Trying backup models for streaming`);
277
- let lastBackupError = primaryError;
278
- for (let i = 0; i < this.backupModels.length; i++) {
279
- const backupModel = this.backupModels[i];
280
- utils_1.logger.debug(`[${this.logLabel}] Trying backup model ${i + 1}/${this.backupModels.length}: ${backupModel}`);
281
- try {
282
- yield* (0, utils_1.withStreamRetry)((signal) => this.generateStreamWithModel(backupModel, input, signal), { maxRetries: this.retryConfig.retries, firstChunkTimeoutMs: this.retryConfig.timeout, operationName: `${this.logLabel} ${backupModel} stream` });
283
- utils_1.logger.debug(`[${this.logLabel}] Backup model ${backupModel} succeeded`);
284
- return;
285
- }
286
- catch (backupError) {
287
- const backupErrMsg = (0, errorClassification_1.getErrorMessage)(backupError);
288
- utils_1.logger.warn(`[${this.logLabel}] Backup model ${backupModel} failed: ${backupErrMsg}`);
289
- lastBackupError = backupError;
290
- if (!this.shouldUseBackupModel(backupError) &&
291
- i < this.backupModels.length - 1) {
292
- utils_1.logger.debug(`[${this.logLabel}] Backup model error doesn't qualify for further attempts`);
293
- break;
294
- }
295
- }
296
- }
297
- const lastBackupErrMsg = (0, errorClassification_1.getErrorMessage)(lastBackupError);
298
- utils_1.logger.error(`[${this.logLabel}] All models failed. Primary: ${primaryErrMsg}, Last backup: ${lastBackupErrMsg}`);
299
- throw this.wrapTerminalError(lastBackupError);
301
+ catch (error) {
302
+ observer.logExhausted(error);
303
+ throw this.wrapTerminalError(error);
300
304
  }
301
305
  }
302
306
  // ---------------------------------------------------------------------
@@ -314,7 +318,7 @@ class OpenAICompatibleProvider {
314
318
  }
315
319
  return this.executeChatCompletion(model, reqInput);
316
320
  };
317
- return (0, utils_1.withTimeoutAndRetry)(operation, this.retryConfig.timeout, this.retryConfig.retries, `${this.displayName} ${model}`);
321
+ return (0, utils_1.withTimeoutAndRetry)(operation, this.retryConfig.timeout, this.retryConfig.retries, `${this.displayName} ${model}`, (error) => (0, errorClassification_1.isRetriableProviderError)(error, this.classificationOptions));
318
322
  }
319
323
  /**
320
324
  * Non-streaming chat-completions request: builds messages/tools,
@@ -429,7 +433,12 @@ class OpenAICompatibleProvider {
429
433
  let promptTokens;
430
434
  let completionTokens;
431
435
  let totalTokens;
432
- const toolCalls = [];
436
+ // Tool calls arrive across MANY deltas: the first carries the id/name,
437
+ // later ones carry argument-string fragments that must be concatenated.
438
+ // Accumulate per call (keyed by `index`) and parse once at stream end —
439
+ // parsing per fragment produced N broken entries for one real call.
440
+ const pendingToolCalls = new Map();
441
+ let lastSlot = 0;
433
442
  for await (const chunk of stream) {
434
443
  currentModel = chunk.model;
435
444
  // Some providers include usage in (possibly choice-less) chunks
@@ -441,15 +450,24 @@ class OpenAICompatibleProvider {
441
450
  const choice = chunk.choices?.[0];
442
451
  if (!choice)
443
452
  continue;
444
- // Extract tool calls from delta
453
+ // Accumulate streamed tool-call fragments by index
445
454
  if (choice.delta?.tool_calls) {
446
455
  for (const toolCall of choice.delta.tool_calls) {
447
- if (toolCall.function) {
448
- toolCalls.push({
449
- toolName: toolCall.function.name || "",
450
- arguments: this.parseToolCallArguments(toolCall.function.arguments, true),
451
- });
456
+ // Spec-compliant chunks carry `index`; servers that omit it send
457
+ // one call's fragments sequentially, so keep appending to lastSlot.
458
+ const slot = typeof toolCall.index === "number" ? toolCall.index : lastSlot;
459
+ lastSlot = slot;
460
+ const entry = pendingToolCalls.get(slot) ?? {
461
+ toolName: "",
462
+ argumentsBuffer: "",
463
+ };
464
+ if (toolCall.function?.name) {
465
+ entry.toolName = toolCall.function.name;
452
466
  }
467
+ if (toolCall.function?.arguments) {
468
+ entry.argumentsBuffer += toolCall.function.arguments;
469
+ }
470
+ pendingToolCalls.set(slot, entry);
453
471
  }
454
472
  }
455
473
  // Provider-specific delta handling (e.g. DeepSeek reasoning_content)
@@ -477,6 +495,15 @@ class OpenAICompatibleProvider {
477
495
  utils_1.logger.warn(`[${this.logLabel}] Failed to parse JSON response in stream:`, error);
478
496
  }
479
497
  }
498
+ const toolCalls = [];
499
+ for (const [, entry] of [...pendingToolCalls.entries()].sort(([a], [b]) => a - b)) {
500
+ if (!entry.toolName)
501
+ continue;
502
+ toolCalls.push({
503
+ toolName: entry.toolName,
504
+ arguments: this.parseToolCallArguments(entry.argumentsBuffer, true),
505
+ });
506
+ }
480
507
  // Include tool calls in structured response (even without JSON schema)
481
508
  if (toolCalls.length > 0) {
482
509
  structured = {