@librechat/agents 3.1.74 → 3.1.75-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (203) hide show
  1. package/README.md +66 -0
  2. package/dist/cjs/agents/AgentContext.cjs +84 -37
  3. package/dist/cjs/agents/AgentContext.cjs.map +1 -1
  4. package/dist/cjs/graphs/Graph.cjs +13 -3
  5. package/dist/cjs/graphs/Graph.cjs.map +1 -1
  6. package/dist/cjs/langchain/google-common.cjs +3 -0
  7. package/dist/cjs/langchain/google-common.cjs.map +1 -0
  8. package/dist/cjs/langchain/index.cjs +86 -0
  9. package/dist/cjs/langchain/index.cjs.map +1 -0
  10. package/dist/cjs/langchain/language_models/chat_models.cjs +3 -0
  11. package/dist/cjs/langchain/language_models/chat_models.cjs.map +1 -0
  12. package/dist/cjs/langchain/messages/tool.cjs +3 -0
  13. package/dist/cjs/langchain/messages/tool.cjs.map +1 -0
  14. package/dist/cjs/langchain/messages.cjs +51 -0
  15. package/dist/cjs/langchain/messages.cjs.map +1 -0
  16. package/dist/cjs/langchain/openai.cjs +3 -0
  17. package/dist/cjs/langchain/openai.cjs.map +1 -0
  18. package/dist/cjs/langchain/prompts.cjs +11 -0
  19. package/dist/cjs/langchain/prompts.cjs.map +1 -0
  20. package/dist/cjs/langchain/runnables.cjs +19 -0
  21. package/dist/cjs/langchain/runnables.cjs.map +1 -0
  22. package/dist/cjs/langchain/tools.cjs +23 -0
  23. package/dist/cjs/langchain/tools.cjs.map +1 -0
  24. package/dist/cjs/langchain/utils/env.cjs +11 -0
  25. package/dist/cjs/langchain/utils/env.cjs.map +1 -0
  26. package/dist/cjs/llm/anthropic/index.cjs +145 -52
  27. package/dist/cjs/llm/anthropic/index.cjs.map +1 -1
  28. package/dist/cjs/llm/anthropic/types.cjs.map +1 -1
  29. package/dist/cjs/llm/anthropic/utils/message_inputs.cjs +25 -15
  30. package/dist/cjs/llm/anthropic/utils/message_inputs.cjs.map +1 -1
  31. package/dist/cjs/llm/anthropic/utils/message_outputs.cjs +84 -70
  32. package/dist/cjs/llm/anthropic/utils/message_outputs.cjs.map +1 -1
  33. package/dist/cjs/llm/bedrock/index.cjs +1 -1
  34. package/dist/cjs/llm/bedrock/index.cjs.map +1 -1
  35. package/dist/cjs/llm/bedrock/utils/message_inputs.cjs +213 -3
  36. package/dist/cjs/llm/bedrock/utils/message_inputs.cjs.map +1 -1
  37. package/dist/cjs/llm/bedrock/utils/message_outputs.cjs +2 -1
  38. package/dist/cjs/llm/bedrock/utils/message_outputs.cjs.map +1 -1
  39. package/dist/cjs/llm/google/utils/common.cjs +5 -4
  40. package/dist/cjs/llm/google/utils/common.cjs.map +1 -1
  41. package/dist/cjs/llm/openai/index.cjs +468 -647
  42. package/dist/cjs/llm/openai/index.cjs.map +1 -1
  43. package/dist/cjs/llm/openai/utils/index.cjs +1 -448
  44. package/dist/cjs/llm/openai/utils/index.cjs.map +1 -1
  45. package/dist/cjs/llm/openrouter/index.cjs +57 -175
  46. package/dist/cjs/llm/openrouter/index.cjs.map +1 -1
  47. package/dist/cjs/llm/vertexai/index.cjs +5 -3
  48. package/dist/cjs/llm/vertexai/index.cjs.map +1 -1
  49. package/dist/cjs/main.cjs +83 -3
  50. package/dist/cjs/main.cjs.map +1 -1
  51. package/dist/cjs/messages/cache.cjs +39 -4
  52. package/dist/cjs/messages/cache.cjs.map +1 -1
  53. package/dist/cjs/messages/core.cjs +7 -6
  54. package/dist/cjs/messages/core.cjs.map +1 -1
  55. package/dist/cjs/messages/format.cjs +7 -6
  56. package/dist/cjs/messages/format.cjs.map +1 -1
  57. package/dist/cjs/messages/langchain.cjs +26 -0
  58. package/dist/cjs/messages/langchain.cjs.map +1 -0
  59. package/dist/cjs/messages/prune.cjs +7 -6
  60. package/dist/cjs/messages/prune.cjs.map +1 -1
  61. package/dist/cjs/tools/ToolNode.cjs +5 -1
  62. package/dist/cjs/tools/ToolNode.cjs.map +1 -1
  63. package/dist/esm/agents/AgentContext.mjs +85 -38
  64. package/dist/esm/agents/AgentContext.mjs.map +1 -1
  65. package/dist/esm/graphs/Graph.mjs +13 -3
  66. package/dist/esm/graphs/Graph.mjs.map +1 -1
  67. package/dist/esm/langchain/google-common.mjs +2 -0
  68. package/dist/esm/langchain/google-common.mjs.map +1 -0
  69. package/dist/esm/langchain/index.mjs +5 -0
  70. package/dist/esm/langchain/index.mjs.map +1 -0
  71. package/dist/esm/langchain/language_models/chat_models.mjs +2 -0
  72. package/dist/esm/langchain/language_models/chat_models.mjs.map +1 -0
  73. package/dist/esm/langchain/messages/tool.mjs +2 -0
  74. package/dist/esm/langchain/messages/tool.mjs.map +1 -0
  75. package/dist/esm/langchain/messages.mjs +2 -0
  76. package/dist/esm/langchain/messages.mjs.map +1 -0
  77. package/dist/esm/langchain/openai.mjs +2 -0
  78. package/dist/esm/langchain/openai.mjs.map +1 -0
  79. package/dist/esm/langchain/prompts.mjs +2 -0
  80. package/dist/esm/langchain/prompts.mjs.map +1 -0
  81. package/dist/esm/langchain/runnables.mjs +2 -0
  82. package/dist/esm/langchain/runnables.mjs.map +1 -0
  83. package/dist/esm/langchain/tools.mjs +2 -0
  84. package/dist/esm/langchain/tools.mjs.map +1 -0
  85. package/dist/esm/langchain/utils/env.mjs +2 -0
  86. package/dist/esm/langchain/utils/env.mjs.map +1 -0
  87. package/dist/esm/llm/anthropic/index.mjs +146 -54
  88. package/dist/esm/llm/anthropic/index.mjs.map +1 -1
  89. package/dist/esm/llm/anthropic/types.mjs.map +1 -1
  90. package/dist/esm/llm/anthropic/utils/message_inputs.mjs +25 -15
  91. package/dist/esm/llm/anthropic/utils/message_inputs.mjs.map +1 -1
  92. package/dist/esm/llm/anthropic/utils/message_outputs.mjs +84 -71
  93. package/dist/esm/llm/anthropic/utils/message_outputs.mjs.map +1 -1
  94. package/dist/esm/llm/bedrock/index.mjs +1 -1
  95. package/dist/esm/llm/bedrock/index.mjs.map +1 -1
  96. package/dist/esm/llm/bedrock/utils/message_inputs.mjs +214 -4
  97. package/dist/esm/llm/bedrock/utils/message_inputs.mjs.map +1 -1
  98. package/dist/esm/llm/bedrock/utils/message_outputs.mjs +2 -1
  99. package/dist/esm/llm/bedrock/utils/message_outputs.mjs.map +1 -1
  100. package/dist/esm/llm/google/utils/common.mjs +5 -4
  101. package/dist/esm/llm/google/utils/common.mjs.map +1 -1
  102. package/dist/esm/llm/openai/index.mjs +469 -648
  103. package/dist/esm/llm/openai/index.mjs.map +1 -1
  104. package/dist/esm/llm/openai/utils/index.mjs +4 -449
  105. package/dist/esm/llm/openai/utils/index.mjs.map +1 -1
  106. package/dist/esm/llm/openrouter/index.mjs +57 -175
  107. package/dist/esm/llm/openrouter/index.mjs.map +1 -1
  108. package/dist/esm/llm/vertexai/index.mjs +5 -3
  109. package/dist/esm/llm/vertexai/index.mjs.map +1 -1
  110. package/dist/esm/main.mjs +4 -0
  111. package/dist/esm/main.mjs.map +1 -1
  112. package/dist/esm/messages/cache.mjs +39 -4
  113. package/dist/esm/messages/cache.mjs.map +1 -1
  114. package/dist/esm/messages/core.mjs +7 -6
  115. package/dist/esm/messages/core.mjs.map +1 -1
  116. package/dist/esm/messages/format.mjs +7 -6
  117. package/dist/esm/messages/format.mjs.map +1 -1
  118. package/dist/esm/messages/langchain.mjs +23 -0
  119. package/dist/esm/messages/langchain.mjs.map +1 -0
  120. package/dist/esm/messages/prune.mjs +7 -6
  121. package/dist/esm/messages/prune.mjs.map +1 -1
  122. package/dist/esm/tools/ToolNode.mjs +5 -1
  123. package/dist/esm/tools/ToolNode.mjs.map +1 -1
  124. package/dist/types/agents/AgentContext.d.ts +14 -4
  125. package/dist/types/agents/__tests__/promptCacheLiveHelpers.d.ts +46 -0
  126. package/dist/types/index.d.ts +1 -0
  127. package/dist/types/langchain/google-common.d.ts +1 -0
  128. package/dist/types/langchain/index.d.ts +8 -0
  129. package/dist/types/langchain/language_models/chat_models.d.ts +1 -0
  130. package/dist/types/langchain/messages/tool.d.ts +1 -0
  131. package/dist/types/langchain/messages.d.ts +2 -0
  132. package/dist/types/langchain/openai.d.ts +1 -0
  133. package/dist/types/langchain/prompts.d.ts +1 -0
  134. package/dist/types/langchain/runnables.d.ts +2 -0
  135. package/dist/types/langchain/tools.d.ts +2 -0
  136. package/dist/types/langchain/utils/env.d.ts +1 -0
  137. package/dist/types/llm/anthropic/index.d.ts +22 -9
  138. package/dist/types/llm/anthropic/types.d.ts +5 -1
  139. package/dist/types/llm/anthropic/utils/message_outputs.d.ts +13 -6
  140. package/dist/types/llm/anthropic/utils/output_parsers.d.ts +1 -1
  141. package/dist/types/llm/openai/index.d.ts +21 -24
  142. package/dist/types/llm/openrouter/index.d.ts +11 -9
  143. package/dist/types/llm/vertexai/index.d.ts +1 -0
  144. package/dist/types/messages/cache.d.ts +4 -1
  145. package/dist/types/messages/langchain.d.ts +27 -0
  146. package/dist/types/types/graph.d.ts +26 -38
  147. package/dist/types/types/llm.d.ts +3 -3
  148. package/dist/types/types/run.d.ts +2 -0
  149. package/dist/types/types/stream.d.ts +1 -1
  150. package/package.json +80 -17
  151. package/src/agents/AgentContext.ts +123 -44
  152. package/src/agents/__tests__/AgentContext.anthropic.live.test.ts +116 -0
  153. package/src/agents/__tests__/AgentContext.bedrock.live.test.ts +149 -0
  154. package/src/agents/__tests__/AgentContext.test.ts +155 -2
  155. package/src/agents/__tests__/promptCacheLiveHelpers.ts +165 -0
  156. package/src/graphs/Graph.ts +24 -4
  157. package/src/graphs/__tests__/composition.smoke.test.ts +188 -0
  158. package/src/index.ts +3 -0
  159. package/src/langchain/google-common.ts +1 -0
  160. package/src/langchain/index.ts +8 -0
  161. package/src/langchain/language_models/chat_models.ts +1 -0
  162. package/src/langchain/messages/tool.ts +5 -0
  163. package/src/langchain/messages.ts +21 -0
  164. package/src/langchain/openai.ts +1 -0
  165. package/src/langchain/prompts.ts +1 -0
  166. package/src/langchain/runnables.ts +7 -0
  167. package/src/langchain/tools.ts +8 -0
  168. package/src/langchain/utils/env.ts +1 -0
  169. package/src/llm/anthropic/index.ts +252 -84
  170. package/src/llm/anthropic/llm.spec.ts +751 -102
  171. package/src/llm/anthropic/types.ts +9 -1
  172. package/src/llm/anthropic/utils/message_inputs.ts +43 -20
  173. package/src/llm/anthropic/utils/message_outputs.ts +119 -101
  174. package/src/llm/anthropic/utils/server-tool-inputs.test.ts +77 -0
  175. package/src/llm/bedrock/index.ts +2 -2
  176. package/src/llm/bedrock/llm.spec.ts +341 -0
  177. package/src/llm/bedrock/utils/message_inputs.ts +303 -4
  178. package/src/llm/bedrock/utils/message_outputs.ts +2 -1
  179. package/src/llm/custom-chat-models.smoke.test.ts +662 -0
  180. package/src/llm/google/llm.spec.ts +339 -57
  181. package/src/llm/google/utils/common.ts +53 -48
  182. package/src/llm/openai/contentBlocks.test.ts +346 -0
  183. package/src/llm/openai/index.ts +736 -837
  184. package/src/llm/openai/utils/index.ts +84 -64
  185. package/src/llm/openrouter/index.ts +124 -247
  186. package/src/llm/openrouter/reasoning.test.ts +8 -1
  187. package/src/llm/vertexai/index.ts +11 -5
  188. package/src/llm/vertexai/llm.spec.ts +28 -1
  189. package/src/messages/cache.test.ts +106 -4
  190. package/src/messages/cache.ts +57 -5
  191. package/src/messages/core.ts +16 -9
  192. package/src/messages/format.ts +9 -6
  193. package/src/messages/langchain.ts +39 -0
  194. package/src/messages/prune.ts +12 -8
  195. package/src/scripts/caching.ts +2 -3
  196. package/src/specs/anthropic.simple.test.ts +61 -0
  197. package/src/specs/summarization.test.ts +58 -61
  198. package/src/tools/ToolNode.ts +5 -1
  199. package/src/types/graph.ts +35 -88
  200. package/src/types/llm.ts +3 -3
  201. package/src/types/run.ts +2 -0
  202. package/src/types/stream.ts +1 -1
  203. package/src/utils/llmConfig.ts +1 -6
@@ -1,14 +1,5 @@
1
1
  // src/types/graph.ts
2
- import type {
3
- START,
4
- StateType,
5
- UpdateType,
6
- StateGraph,
7
- StateGraphArgs,
8
- StateDefinition,
9
- CompiledStateGraph,
10
- BinaryOperatorAggregate,
11
- } from '@langchain/langgraph';
2
+ import type { START, StateGraph, StateGraphArgs } from '@langchain/langgraph';
12
3
  import type { BindToolsInput } from '@langchain/core/language_models/chat_models';
13
4
  import type {
14
5
  BaseMessage,
@@ -129,76 +120,40 @@ export type Workflow<
129
120
  N extends string = string,
130
121
  > = StateGraph<T, U, N>;
131
122
 
132
- export type CompiledWorkflow<
133
- T extends BaseGraphState = BaseGraphState,
134
- U extends Partial<T> = Partial<T>,
135
- N extends string = string,
136
- > = CompiledStateGraph<T, U, N>;
137
-
138
- export type CompiledStateWorkflow = CompiledStateGraph<
139
- StateType<{
140
- messages: BinaryOperatorAggregate<BaseMessage[], BaseMessage[]>;
141
- }>,
142
- UpdateType<{
143
- messages: BinaryOperatorAggregate<BaseMessage[], BaseMessage[]>;
144
- }>,
145
- string,
146
- {
147
- messages: BinaryOperatorAggregate<BaseMessage[], BaseMessage[]>;
148
- },
149
- {
150
- messages: BinaryOperatorAggregate<BaseMessage[], BaseMessage[]>;
151
- },
152
- StateDefinition
123
+ type LangChainEventStreamCallbackHandlerInput = NonNullable<
124
+ Parameters<Runnable['streamEvents']>[2]
153
125
  >;
154
126
 
155
- export type CompiledMultiAgentWorkflow = CompiledStateGraph<
156
- StateType<{
157
- messages: BinaryOperatorAggregate<BaseMessage[], BaseMessage[]>;
158
- agentMessages: BinaryOperatorAggregate<BaseMessage[], BaseMessage[]>;
159
- }>,
160
- UpdateType<{
161
- messages: BinaryOperatorAggregate<BaseMessage[], BaseMessage[]>;
162
- agentMessages: BinaryOperatorAggregate<BaseMessage[], BaseMessage[]>;
163
- }>,
164
- string,
165
- {
166
- messages: BinaryOperatorAggregate<BaseMessage[], BaseMessage[]>;
167
- agentMessages: BinaryOperatorAggregate<BaseMessage[], BaseMessage[]>;
168
- },
169
- {
170
- messages: BinaryOperatorAggregate<BaseMessage[], BaseMessage[]>;
171
- agentMessages: BinaryOperatorAggregate<BaseMessage[], BaseMessage[]>;
172
- },
173
- StateDefinition
174
- >;
127
+ export type EventStreamCallbackHandlerInput =
128
+ LangChainEventStreamCallbackHandlerInput & {
129
+ autoClose?: boolean;
130
+ raiseError?: boolean;
131
+ ignoreCustomEvent?: boolean;
132
+ };
175
133
 
176
- export type CompiledAgentWorfklow = CompiledStateGraph<
134
+ export type WorkflowValuesStreamConfig = RunnableConfig & {
135
+ streamMode: 'values';
136
+ };
137
+
138
+ /**
139
+ * LangGraph stream output is mode-dependent (`values`, `updates`, SSE, etc.).
140
+ * Keep the base Runnable stream output as unknown and narrow at callsites that
141
+ * choose a concrete streamMode.
142
+ */
143
+ export type CompiledWorkflow<
144
+ TInput extends BaseGraphState = BaseGraphState,
145
+ TOutput extends BaseGraphState = TInput,
146
+ > = Omit<Runnable<TInput, unknown>, 'invoke'> & {
147
+ invoke(input: TInput, config?: RunnableConfig): Promise<TOutput>;
148
+ };
149
+
150
+ export type CompiledStateWorkflow = CompiledWorkflow;
151
+
152
+ export type CompiledMultiAgentWorkflow = CompiledWorkflow<MultiAgentGraphState>;
153
+
154
+ export type CompiledAgentWorfklow = CompiledWorkflow<
177
155
  AgentSubgraphState,
178
- Partial<AgentSubgraphState>,
179
- '__start__' | `agent=${string}` | `tools=${string}` | `summarize=${string}`,
180
- {
181
- messages: BinaryOperatorAggregate<BaseMessage[], BaseMessage[]>;
182
- summarizationRequest: BinaryOperatorAggregate<
183
- SummarizationNodeInput | undefined,
184
- SummarizationNodeInput | undefined
185
- >;
186
- },
187
- {
188
- messages: BinaryOperatorAggregate<BaseMessage[], BaseMessage[]>;
189
- summarizationRequest: BinaryOperatorAggregate<
190
- SummarizationNodeInput | undefined,
191
- SummarizationNodeInput | undefined
192
- >;
193
- },
194
- StateDefinition,
195
- {
196
- [x: `agent=${string}`]: Partial<BaseGraphState>;
197
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
198
- [x: `tools=${string}`]: any;
199
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
200
- [x: `summarize=${string}`]: any;
201
- }
156
+ AgentSubgraphState
202
157
  >;
203
158
 
204
159
  export type SystemRunnable =
@@ -214,21 +169,11 @@ export type SystemRunnable =
214
169
  * These are intentionally untyped to avoid coupling to library internals.
215
170
  */
216
171
  export type CompileOptions = {
217
- // A checkpointer instance (e.g., MemorySaver, SQL saver)
218
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
219
- checkpointer?: any;
172
+ checkpointer?: unknown;
220
173
  interruptBefore?: string[];
221
174
  interruptAfter?: string[];
222
175
  };
223
176
 
224
- export type EventStreamCallbackHandlerInput =
225
- Parameters<CompiledWorkflow['streamEvents']>[2] extends Omit<
226
- infer T,
227
- 'autoClose'
228
- >
229
- ? T
230
- : never;
231
-
232
177
  export type StreamChunk =
233
178
  | (ChatGenerationChunk & {
234
179
  message: AIMessageChunk;
@@ -471,10 +416,12 @@ export interface AgentInputs {
471
416
  toolMap?: ToolMap;
472
417
  tools?: GraphTools;
473
418
  provider: Providers;
419
+ /** Stable/cacheable system instructions. */
474
420
  instructions?: string;
475
421
  streamBuffer?: number;
476
422
  maxContextTokens?: number;
477
423
  clientOptions?: ClientOptions;
424
+ /** Dynamic system tail appended after stable instructions without provider cache markers. */
478
425
  additional_instructions?: string;
479
426
  reasoningKey?: 'reasoning_content' | 'reasoning';
480
427
  /** Format content blocks as strings (for legacy compatibility i.e. Ollama/Azure Serverless) */
@@ -500,7 +447,7 @@ export interface AgentInputs {
500
447
  summarizationEnabled?: boolean;
501
448
  summarizationConfig?: SummarizationConfig;
502
449
  /** Cross-run summary from a previous run, forwarded from formatAgentMessages.
503
- * Injected into the system message via AgentContext.buildInstructionsString(). */
450
+ * Injected into the dynamic system tail via AgentContext. */
504
451
  initialSummary?: { text: string; tokenCount: number };
505
452
  contextPruningConfig?: ContextPruningConfig;
506
453
  maxToolResultChars?: number;
package/src/types/llm.ts CHANGED
@@ -12,7 +12,7 @@ import type {
12
12
  } from '@langchain/openai';
13
13
  import type { GoogleGenerativeAIChatInput } from '@langchain/google-genai';
14
14
  import type { ChatVertexAIInput } from '@langchain/google-vertexai';
15
- import type { ChatDeepSeekCallOptions } from '@langchain/deepseek';
15
+ import type { ChatDeepSeekInput } from '@langchain/deepseek';
16
16
  import type { ChatOpenRouterCallOptions } from '@/llm/openrouter';
17
17
  import type { ChatBedrockConverseInput } from '@langchain/aws';
18
18
  import type { ChatMistralAIInput } from '@langchain/mistralai';
@@ -70,7 +70,7 @@ export type AnthropicReasoning = {
70
70
  export type GoogleThinkingConfig = {
71
71
  thinkingBudget?: number;
72
72
  includeThoughts?: boolean;
73
- thinkingLevel?: string;
73
+ thinkingLevel?: 'THINKING_LEVEL_UNSPECIFIED' | 'LOW' | 'MEDIUM' | 'HIGH';
74
74
  };
75
75
  export type OpenAIClientOptions = ChatOpenAIFields;
76
76
  export type AnthropicClientOptions = Omit<AnthropicInput, 'thinking'> & {
@@ -93,7 +93,7 @@ export type GoogleClientOptions = GoogleGenerativeAIChatInput & {
93
93
  customHeaders?: RequestOptions['customHeaders'];
94
94
  thinkingConfig?: GoogleThinkingConfig;
95
95
  };
96
- export type DeepSeekClientOptions = ChatDeepSeekCallOptions;
96
+ export type DeepSeekClientOptions = Partial<ChatDeepSeekInput>;
97
97
  export type XAIClientOptions = ChatXAIInput;
98
98
 
99
99
  export type ClientOptions =
package/src/types/run.ts CHANGED
@@ -75,7 +75,9 @@ export interface AgentStateChannels {
75
75
  messages: BaseMessage[];
76
76
  next: string;
77
77
  [key: string]: unknown;
78
+ /** Stable/cacheable system instructions. */
78
79
  instructions?: string;
80
+ /** Dynamic system tail appended after stable instructions. */
79
81
  additional_instructions?: string;
80
82
  }
81
83
 
@@ -191,7 +191,7 @@ export interface ExtendedMessageContent {
191
191
  type?: string;
192
192
  text?: string;
193
193
  input?: string;
194
- index?: number;
194
+ index?: string | number;
195
195
  id?: string;
196
196
  name?: string;
197
197
  }
@@ -56,9 +56,7 @@ export const llmConfigs: Record<string, t.LLMConfig | undefined> = {
56
56
  provider: Providers.OPENROUTER,
57
57
  streaming: true,
58
58
  streamUsage: true,
59
- // model: 'anthropic/claude-sonnet-4',
60
- // model: 'moonshotai/kimi-k2-thinking',
61
- model: 'google/gemini-3-pro-preview',
59
+ model: process.env.OPENROUTER_MODEL ?? 'openai/gpt-4o-mini',
62
60
  apiKey: process.env.OPENROUTER_API_KEY,
63
61
  configuration: {
64
62
  baseURL: process.env.OPENROUTER_BASE_URL,
@@ -67,9 +65,6 @@ export const llmConfigs: Record<string, t.LLMConfig | undefined> = {
67
65
  'X-Title': 'LibreChat',
68
66
  },
69
67
  },
70
- reasoning: {
71
- max_tokens: 8000,
72
- },
73
68
  modelKwargs: {
74
69
  max_tokens: 10000,
75
70
  },