@librechat/agents 3.6.16 → 3.7.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 (187) hide show
  1. package/dist/cjs/_virtual/_rolldown/runtime.cjs +10 -0
  2. package/dist/cjs/agents/AgentContext.cjs +11 -2
  3. package/dist/cjs/agents/AgentContext.cjs.map +1 -1
  4. package/dist/cjs/graphs/Graph.cjs +12 -9
  5. package/dist/cjs/graphs/Graph.cjs.map +1 -1
  6. package/dist/cjs/lazyRequire.cjs +33 -0
  7. package/dist/cjs/lazyRequire.cjs.map +1 -0
  8. package/dist/cjs/llm/anthropic/index.cjs +13 -0
  9. package/dist/cjs/llm/anthropic/index.cjs.map +1 -1
  10. package/dist/cjs/llm/bedrock/index.cjs +10 -1
  11. package/dist/cjs/llm/bedrock/index.cjs.map +1 -1
  12. package/dist/cjs/llm/bedrock/toolCache.cjs +3 -2
  13. package/dist/cjs/llm/bedrock/toolCache.cjs.map +1 -1
  14. package/dist/cjs/llm/google/index.cjs +10 -1
  15. package/dist/cjs/llm/google/index.cjs.map +1 -1
  16. package/dist/cjs/llm/init.cjs +6 -4
  17. package/dist/cjs/llm/init.cjs.map +1 -1
  18. package/dist/cjs/llm/invoke.cjs +56 -9
  19. package/dist/cjs/llm/invoke.cjs.map +1 -1
  20. package/dist/cjs/llm/mistral/index.cjs +9 -0
  21. package/dist/cjs/llm/mistral/index.cjs.map +1 -1
  22. package/dist/cjs/llm/openai/index.cjs +42 -2
  23. package/dist/cjs/llm/openai/index.cjs.map +1 -1
  24. package/dist/cjs/llm/openrouter/index.cjs +12 -3
  25. package/dist/cjs/llm/openrouter/index.cjs.map +1 -1
  26. package/dist/cjs/llm/openrouter/toolCache.cjs +3 -2
  27. package/dist/cjs/llm/openrouter/toolCache.cjs.map +1 -1
  28. package/dist/cjs/llm/providerRegistry.cjs +15 -3
  29. package/dist/cjs/llm/providerRegistry.cjs.map +1 -1
  30. package/dist/cjs/llm/providers.cjs +18 -22
  31. package/dist/cjs/llm/providers.cjs.map +1 -1
  32. package/dist/cjs/llm/providers.eager.cjs +21 -0
  33. package/dist/cjs/llm/providers.eager.cjs.map +1 -0
  34. package/dist/cjs/llm/vertexai/index.cjs +17 -0
  35. package/dist/cjs/llm/vertexai/index.cjs.map +1 -1
  36. package/dist/cjs/main.cjs +19 -11
  37. package/dist/cjs/messages/content.cjs +8 -5
  38. package/dist/cjs/messages/content.cjs.map +1 -1
  39. package/dist/cjs/messages/core.cjs +9 -4
  40. package/dist/cjs/messages/core.cjs.map +1 -1
  41. package/dist/cjs/messages/format.cjs +15 -5
  42. package/dist/cjs/messages/format.cjs.map +1 -1
  43. package/dist/cjs/messages/index.cjs +2 -1
  44. package/dist/cjs/messages/projectionInvariant.cjs +74 -0
  45. package/dist/cjs/messages/projectionInvariant.cjs.map +1 -0
  46. package/dist/cjs/messages/provenance.cjs +30 -8
  47. package/dist/cjs/messages/provenance.cjs.map +1 -1
  48. package/dist/cjs/messages/prune.cjs +42 -8
  49. package/dist/cjs/messages/prune.cjs.map +1 -1
  50. package/dist/cjs/messages/recency.cjs +202 -7
  51. package/dist/cjs/messages/recency.cjs.map +1 -1
  52. package/dist/cjs/messages/toolResultTypes.cjs +1 -0
  53. package/dist/cjs/run.cjs +7 -2
  54. package/dist/cjs/run.cjs.map +1 -1
  55. package/dist/cjs/session/AgentSession.cjs +4 -23
  56. package/dist/cjs/session/AgentSession.cjs.map +1 -1
  57. package/dist/cjs/session/deriveMessages.cjs +25 -0
  58. package/dist/cjs/session/deriveMessages.cjs.map +1 -0
  59. package/dist/cjs/session/index.cjs +1 -0
  60. package/dist/cjs/summarization/node.cjs +13 -6
  61. package/dist/cjs/summarization/node.cjs.map +1 -1
  62. package/dist/cjs/tools/Calculator.cjs +7 -4
  63. package/dist/cjs/tools/Calculator.cjs.map +1 -1
  64. package/dist/cjs/tools/CodeExecutor.cjs +1 -1
  65. package/dist/cjs/tools/subagent/InMemorySubagentTaskStore.cjs +65 -8
  66. package/dist/cjs/tools/subagent/InMemorySubagentTaskStore.cjs.map +1 -1
  67. package/dist/cjs/utils/llm.cjs +16 -0
  68. package/dist/cjs/utils/llm.cjs.map +1 -1
  69. package/dist/esm/_virtual/_rolldown/runtime.mjs +14 -0
  70. package/dist/esm/agents/AgentContext.mjs +11 -2
  71. package/dist/esm/agents/AgentContext.mjs.map +1 -1
  72. package/dist/esm/graphs/Graph.mjs +12 -9
  73. package/dist/esm/graphs/Graph.mjs.map +1 -1
  74. package/dist/esm/lazyRequire.mjs +30 -0
  75. package/dist/esm/lazyRequire.mjs.map +1 -0
  76. package/dist/esm/llm/anthropic/index.mjs +6 -1
  77. package/dist/esm/llm/anthropic/index.mjs.map +1 -1
  78. package/dist/esm/llm/bedrock/index.mjs +4 -2
  79. package/dist/esm/llm/bedrock/index.mjs.map +1 -1
  80. package/dist/esm/llm/bedrock/toolCache.mjs +3 -2
  81. package/dist/esm/llm/bedrock/toolCache.mjs.map +1 -1
  82. package/dist/esm/llm/google/index.mjs +4 -2
  83. package/dist/esm/llm/google/index.mjs.map +1 -1
  84. package/dist/esm/llm/init.mjs +7 -5
  85. package/dist/esm/llm/init.mjs.map +1 -1
  86. package/dist/esm/llm/invoke.mjs +56 -9
  87. package/dist/esm/llm/invoke.mjs.map +1 -1
  88. package/dist/esm/llm/mistral/index.mjs +3 -1
  89. package/dist/esm/llm/mistral/index.mjs.map +1 -1
  90. package/dist/esm/llm/openai/index.mjs +32 -10
  91. package/dist/esm/llm/openai/index.mjs.map +1 -1
  92. package/dist/esm/llm/openrouter/index.mjs +3 -1
  93. package/dist/esm/llm/openrouter/index.mjs.map +1 -1
  94. package/dist/esm/llm/openrouter/toolCache.mjs +3 -2
  95. package/dist/esm/llm/openrouter/toolCache.mjs.map +1 -1
  96. package/dist/esm/llm/providerRegistry.mjs +15 -3
  97. package/dist/esm/llm/providerRegistry.mjs.map +1 -1
  98. package/dist/esm/llm/providers.eager.mjs +22 -0
  99. package/dist/esm/llm/providers.eager.mjs.map +1 -0
  100. package/dist/esm/llm/providers.mjs +19 -23
  101. package/dist/esm/llm/providers.mjs.map +1 -1
  102. package/dist/esm/llm/vertexai/index.mjs +8 -1
  103. package/dist/esm/llm/vertexai/index.mjs.map +1 -1
  104. package/dist/esm/main.mjs +10 -11
  105. package/dist/esm/messages/content.mjs +8 -6
  106. package/dist/esm/messages/content.mjs.map +1 -1
  107. package/dist/esm/messages/core.mjs +9 -5
  108. package/dist/esm/messages/core.mjs.map +1 -1
  109. package/dist/esm/messages/format.mjs +16 -6
  110. package/dist/esm/messages/format.mjs.map +1 -1
  111. package/dist/esm/messages/index.mjs +2 -1
  112. package/dist/esm/messages/projectionInvariant.mjs +72 -0
  113. package/dist/esm/messages/projectionInvariant.mjs.map +1 -0
  114. package/dist/esm/messages/provenance.mjs +30 -9
  115. package/dist/esm/messages/provenance.mjs.map +1 -1
  116. package/dist/esm/messages/prune.mjs +42 -9
  117. package/dist/esm/messages/prune.mjs.map +1 -1
  118. package/dist/esm/messages/recency.mjs +201 -8
  119. package/dist/esm/messages/recency.mjs.map +1 -1
  120. package/dist/esm/messages/toolResultTypes.mjs +1 -1
  121. package/dist/esm/run.mjs +8 -3
  122. package/dist/esm/run.mjs.map +1 -1
  123. package/dist/esm/session/AgentSession.mjs +4 -23
  124. package/dist/esm/session/AgentSession.mjs.map +1 -1
  125. package/dist/esm/session/deriveMessages.mjs +25 -0
  126. package/dist/esm/session/deriveMessages.mjs.map +1 -0
  127. package/dist/esm/session/index.mjs +1 -0
  128. package/dist/esm/summarization/node.mjs +14 -7
  129. package/dist/esm/summarization/node.mjs.map +1 -1
  130. package/dist/esm/tools/Calculator.mjs +7 -2
  131. package/dist/esm/tools/Calculator.mjs.map +1 -1
  132. package/dist/esm/tools/CodeExecutor.mjs +1 -1
  133. package/dist/esm/tools/subagent/InMemorySubagentTaskStore.mjs +65 -8
  134. package/dist/esm/tools/subagent/InMemorySubagentTaskStore.mjs.map +1 -1
  135. package/dist/esm/utils/llm.mjs +15 -1
  136. package/dist/esm/utils/llm.mjs.map +1 -1
  137. package/dist/types/agents/AgentContext.d.ts +6 -1
  138. package/dist/types/index.d.ts +3 -3
  139. package/dist/types/lazyRequire.d.ts +8 -0
  140. package/dist/types/llm/providerRegistry.d.ts +11 -0
  141. package/dist/types/llm/providers.eager.d.ts +1 -0
  142. package/dist/types/messages/content.d.ts +4 -1
  143. package/dist/types/messages/core.d.ts +2 -0
  144. package/dist/types/messages/format.d.ts +6 -0
  145. package/dist/types/messages/index.d.ts +1 -0
  146. package/dist/types/messages/projectionInvariant.d.ts +25 -0
  147. package/dist/types/messages/provenance.d.ts +10 -0
  148. package/dist/types/messages/prune.d.ts +5 -4
  149. package/dist/types/messages/recency.d.ts +30 -18
  150. package/dist/types/session/deriveMessages.d.ts +11 -0
  151. package/dist/types/session/index.d.ts +2 -0
  152. package/dist/types/tools/subagent/InMemorySubagentTaskStore.d.ts +13 -1
  153. package/dist/types/types/graph.d.ts +1 -1
  154. package/dist/types/types/subagentTasks.d.ts +22 -0
  155. package/dist/types/types/summarize.d.ts +15 -13
  156. package/dist/types/utils/llm.d.ts +10 -0
  157. package/package.json +60 -1
  158. package/src/agents/AgentContext.ts +19 -5
  159. package/src/graphs/Graph.ts +11 -9
  160. package/src/index.ts +3 -3
  161. package/src/lazyRequire.ts +67 -0
  162. package/src/llm/bedrock/toolCache.ts +6 -2
  163. package/src/llm/init.ts +15 -8
  164. package/src/llm/invoke.ts +102 -23
  165. package/src/llm/openrouter/toolCache.ts +8 -2
  166. package/src/llm/providerRegistry.ts +41 -1
  167. package/src/llm/providers.eager.ts +24 -0
  168. package/src/llm/providers.ts +63 -49
  169. package/src/messages/content.ts +20 -10
  170. package/src/messages/core.ts +16 -11
  171. package/src/messages/format.ts +29 -5
  172. package/src/messages/index.ts +1 -0
  173. package/src/messages/projectionInvariant.ts +134 -0
  174. package/src/messages/provenance.ts +60 -18
  175. package/src/messages/prune.ts +86 -11
  176. package/src/messages/recency.ts +429 -27
  177. package/src/run.ts +14 -6
  178. package/src/session/AgentSession.ts +4 -30
  179. package/src/session/deriveMessages.ts +37 -0
  180. package/src/session/index.ts +2 -0
  181. package/src/summarization/node.ts +37 -15
  182. package/src/tools/Calculator.ts +9 -2
  183. package/src/tools/subagent/InMemorySubagentTaskStore.ts +139 -6
  184. package/src/types/graph.ts +1 -0
  185. package/src/types/subagentTasks.ts +28 -0
  186. package/src/types/summarize.ts +15 -13
  187. package/src/utils/llm.ts +39 -0
package/src/utils/llm.ts CHANGED
@@ -3,6 +3,45 @@ import type { ProviderName } from '@/types';
3
3
  import { getProviderFamily } from '@/llm/providerRegistry';
4
4
  import { Providers } from '@/common';
5
5
 
6
+ const OPENAI_FAMILY_LC_NAMES: ReadonlySet<string> = new Set([
7
+ 'LibreChatOpenAI',
8
+ 'LibreChatAzureOpenAI',
9
+ ]);
10
+
11
+ /** Walks the constructor chain for LangChain's `lc_name` serialization ids.
12
+ * Constructor identity is unusable across lazily loaded module formats — the
13
+ * CJS and ESM builds carry distinct classes — so guards match on the ids the
14
+ * relevant classes declare instead of on `instanceof`. */
15
+ export function constructorChainHasLcName(
16
+ model: unknown,
17
+ names: ReadonlySet<string>
18
+ ): boolean {
19
+ if (typeof model !== 'object' || model == null) {
20
+ return false;
21
+ }
22
+ let ctor: unknown = model.constructor;
23
+ while (typeof ctor === 'function') {
24
+ const lcName = (ctor as { lc_name?: () => string }).lc_name?.();
25
+ if (lcName != null && names.has(lcName)) {
26
+ return true;
27
+ }
28
+ ctor = Object.getPrototypeOf(ctor);
29
+ }
30
+ return false;
31
+ }
32
+
33
+ /** Matches exactly the instances that were `instanceof` this package's
34
+ * `ChatOpenAI`/`AzureChatOpenAI`: only those classes declare the
35
+ * `LibreChatOpenAI`/`LibreChatAzureOpenAI` ids, their subclasses keep them in
36
+ * the chain, and upstream `@langchain/openai` classes never carry them. */
37
+ export function isLibreChatOpenAIModel(
38
+ model: unknown
39
+ ): model is
40
+ | import('@/llm/openai').ChatOpenAI
41
+ | import('@/llm/openai').AzureChatOpenAI {
42
+ return constructorChainHasLcName(model, OPENAI_FAMILY_LC_NAMES);
43
+ }
44
+
6
45
  export function isOpenAILike(provider?: ProviderName): boolean {
7
46
  if (provider == null) {
8
47
  return false;