@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.
- package/README.md +66 -0
- package/dist/cjs/agents/AgentContext.cjs +84 -37
- package/dist/cjs/agents/AgentContext.cjs.map +1 -1
- package/dist/cjs/graphs/Graph.cjs +13 -3
- package/dist/cjs/graphs/Graph.cjs.map +1 -1
- package/dist/cjs/langchain/google-common.cjs +3 -0
- package/dist/cjs/langchain/google-common.cjs.map +1 -0
- package/dist/cjs/langchain/index.cjs +86 -0
- package/dist/cjs/langchain/index.cjs.map +1 -0
- package/dist/cjs/langchain/language_models/chat_models.cjs +3 -0
- package/dist/cjs/langchain/language_models/chat_models.cjs.map +1 -0
- package/dist/cjs/langchain/messages/tool.cjs +3 -0
- package/dist/cjs/langchain/messages/tool.cjs.map +1 -0
- package/dist/cjs/langchain/messages.cjs +51 -0
- package/dist/cjs/langchain/messages.cjs.map +1 -0
- package/dist/cjs/langchain/openai.cjs +3 -0
- package/dist/cjs/langchain/openai.cjs.map +1 -0
- package/dist/cjs/langchain/prompts.cjs +11 -0
- package/dist/cjs/langchain/prompts.cjs.map +1 -0
- package/dist/cjs/langchain/runnables.cjs +19 -0
- package/dist/cjs/langchain/runnables.cjs.map +1 -0
- package/dist/cjs/langchain/tools.cjs +23 -0
- package/dist/cjs/langchain/tools.cjs.map +1 -0
- package/dist/cjs/langchain/utils/env.cjs +11 -0
- package/dist/cjs/langchain/utils/env.cjs.map +1 -0
- package/dist/cjs/llm/anthropic/index.cjs +145 -52
- package/dist/cjs/llm/anthropic/index.cjs.map +1 -1
- package/dist/cjs/llm/anthropic/types.cjs.map +1 -1
- package/dist/cjs/llm/anthropic/utils/message_inputs.cjs +25 -15
- package/dist/cjs/llm/anthropic/utils/message_inputs.cjs.map +1 -1
- package/dist/cjs/llm/anthropic/utils/message_outputs.cjs +84 -70
- package/dist/cjs/llm/anthropic/utils/message_outputs.cjs.map +1 -1
- package/dist/cjs/llm/bedrock/index.cjs +1 -1
- package/dist/cjs/llm/bedrock/index.cjs.map +1 -1
- package/dist/cjs/llm/bedrock/utils/message_inputs.cjs +213 -3
- package/dist/cjs/llm/bedrock/utils/message_inputs.cjs.map +1 -1
- package/dist/cjs/llm/bedrock/utils/message_outputs.cjs +2 -1
- package/dist/cjs/llm/bedrock/utils/message_outputs.cjs.map +1 -1
- package/dist/cjs/llm/google/utils/common.cjs +5 -4
- package/dist/cjs/llm/google/utils/common.cjs.map +1 -1
- package/dist/cjs/llm/openai/index.cjs +468 -647
- package/dist/cjs/llm/openai/index.cjs.map +1 -1
- package/dist/cjs/llm/openai/utils/index.cjs +1 -448
- package/dist/cjs/llm/openai/utils/index.cjs.map +1 -1
- package/dist/cjs/llm/openrouter/index.cjs +57 -175
- package/dist/cjs/llm/openrouter/index.cjs.map +1 -1
- package/dist/cjs/llm/vertexai/index.cjs +5 -3
- package/dist/cjs/llm/vertexai/index.cjs.map +1 -1
- package/dist/cjs/main.cjs +83 -3
- package/dist/cjs/main.cjs.map +1 -1
- package/dist/cjs/messages/cache.cjs +39 -4
- package/dist/cjs/messages/cache.cjs.map +1 -1
- package/dist/cjs/messages/core.cjs +7 -6
- package/dist/cjs/messages/core.cjs.map +1 -1
- package/dist/cjs/messages/format.cjs +7 -6
- package/dist/cjs/messages/format.cjs.map +1 -1
- package/dist/cjs/messages/langchain.cjs +26 -0
- package/dist/cjs/messages/langchain.cjs.map +1 -0
- package/dist/cjs/messages/prune.cjs +7 -6
- package/dist/cjs/messages/prune.cjs.map +1 -1
- package/dist/cjs/tools/ToolNode.cjs +5 -1
- package/dist/cjs/tools/ToolNode.cjs.map +1 -1
- package/dist/esm/agents/AgentContext.mjs +85 -38
- package/dist/esm/agents/AgentContext.mjs.map +1 -1
- package/dist/esm/graphs/Graph.mjs +13 -3
- package/dist/esm/graphs/Graph.mjs.map +1 -1
- package/dist/esm/langchain/google-common.mjs +2 -0
- package/dist/esm/langchain/google-common.mjs.map +1 -0
- package/dist/esm/langchain/index.mjs +5 -0
- package/dist/esm/langchain/index.mjs.map +1 -0
- package/dist/esm/langchain/language_models/chat_models.mjs +2 -0
- package/dist/esm/langchain/language_models/chat_models.mjs.map +1 -0
- package/dist/esm/langchain/messages/tool.mjs +2 -0
- package/dist/esm/langchain/messages/tool.mjs.map +1 -0
- package/dist/esm/langchain/messages.mjs +2 -0
- package/dist/esm/langchain/messages.mjs.map +1 -0
- package/dist/esm/langchain/openai.mjs +2 -0
- package/dist/esm/langchain/openai.mjs.map +1 -0
- package/dist/esm/langchain/prompts.mjs +2 -0
- package/dist/esm/langchain/prompts.mjs.map +1 -0
- package/dist/esm/langchain/runnables.mjs +2 -0
- package/dist/esm/langchain/runnables.mjs.map +1 -0
- package/dist/esm/langchain/tools.mjs +2 -0
- package/dist/esm/langchain/tools.mjs.map +1 -0
- package/dist/esm/langchain/utils/env.mjs +2 -0
- package/dist/esm/langchain/utils/env.mjs.map +1 -0
- package/dist/esm/llm/anthropic/index.mjs +146 -54
- package/dist/esm/llm/anthropic/index.mjs.map +1 -1
- package/dist/esm/llm/anthropic/types.mjs.map +1 -1
- package/dist/esm/llm/anthropic/utils/message_inputs.mjs +25 -15
- package/dist/esm/llm/anthropic/utils/message_inputs.mjs.map +1 -1
- package/dist/esm/llm/anthropic/utils/message_outputs.mjs +84 -71
- package/dist/esm/llm/anthropic/utils/message_outputs.mjs.map +1 -1
- package/dist/esm/llm/bedrock/index.mjs +1 -1
- package/dist/esm/llm/bedrock/index.mjs.map +1 -1
- package/dist/esm/llm/bedrock/utils/message_inputs.mjs +214 -4
- package/dist/esm/llm/bedrock/utils/message_inputs.mjs.map +1 -1
- package/dist/esm/llm/bedrock/utils/message_outputs.mjs +2 -1
- package/dist/esm/llm/bedrock/utils/message_outputs.mjs.map +1 -1
- package/dist/esm/llm/google/utils/common.mjs +5 -4
- package/dist/esm/llm/google/utils/common.mjs.map +1 -1
- package/dist/esm/llm/openai/index.mjs +469 -648
- package/dist/esm/llm/openai/index.mjs.map +1 -1
- package/dist/esm/llm/openai/utils/index.mjs +4 -449
- package/dist/esm/llm/openai/utils/index.mjs.map +1 -1
- package/dist/esm/llm/openrouter/index.mjs +57 -175
- package/dist/esm/llm/openrouter/index.mjs.map +1 -1
- package/dist/esm/llm/vertexai/index.mjs +5 -3
- package/dist/esm/llm/vertexai/index.mjs.map +1 -1
- package/dist/esm/main.mjs +4 -0
- package/dist/esm/main.mjs.map +1 -1
- package/dist/esm/messages/cache.mjs +39 -4
- package/dist/esm/messages/cache.mjs.map +1 -1
- package/dist/esm/messages/core.mjs +7 -6
- package/dist/esm/messages/core.mjs.map +1 -1
- package/dist/esm/messages/format.mjs +7 -6
- package/dist/esm/messages/format.mjs.map +1 -1
- package/dist/esm/messages/langchain.mjs +23 -0
- package/dist/esm/messages/langchain.mjs.map +1 -0
- package/dist/esm/messages/prune.mjs +7 -6
- package/dist/esm/messages/prune.mjs.map +1 -1
- package/dist/esm/tools/ToolNode.mjs +5 -1
- package/dist/esm/tools/ToolNode.mjs.map +1 -1
- package/dist/types/agents/AgentContext.d.ts +14 -4
- package/dist/types/agents/__tests__/promptCacheLiveHelpers.d.ts +46 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/langchain/google-common.d.ts +1 -0
- package/dist/types/langchain/index.d.ts +8 -0
- package/dist/types/langchain/language_models/chat_models.d.ts +1 -0
- package/dist/types/langchain/messages/tool.d.ts +1 -0
- package/dist/types/langchain/messages.d.ts +2 -0
- package/dist/types/langchain/openai.d.ts +1 -0
- package/dist/types/langchain/prompts.d.ts +1 -0
- package/dist/types/langchain/runnables.d.ts +2 -0
- package/dist/types/langchain/tools.d.ts +2 -0
- package/dist/types/langchain/utils/env.d.ts +1 -0
- package/dist/types/llm/anthropic/index.d.ts +22 -9
- package/dist/types/llm/anthropic/types.d.ts +5 -1
- package/dist/types/llm/anthropic/utils/message_outputs.d.ts +13 -6
- package/dist/types/llm/anthropic/utils/output_parsers.d.ts +1 -1
- package/dist/types/llm/openai/index.d.ts +21 -24
- package/dist/types/llm/openrouter/index.d.ts +11 -9
- package/dist/types/llm/vertexai/index.d.ts +1 -0
- package/dist/types/messages/cache.d.ts +4 -1
- package/dist/types/messages/langchain.d.ts +27 -0
- package/dist/types/types/graph.d.ts +26 -38
- package/dist/types/types/llm.d.ts +3 -3
- package/dist/types/types/run.d.ts +2 -0
- package/dist/types/types/stream.d.ts +1 -1
- package/package.json +80 -17
- package/src/agents/AgentContext.ts +123 -44
- package/src/agents/__tests__/AgentContext.anthropic.live.test.ts +116 -0
- package/src/agents/__tests__/AgentContext.bedrock.live.test.ts +149 -0
- package/src/agents/__tests__/AgentContext.test.ts +155 -2
- package/src/agents/__tests__/promptCacheLiveHelpers.ts +165 -0
- package/src/graphs/Graph.ts +24 -4
- package/src/graphs/__tests__/composition.smoke.test.ts +188 -0
- package/src/index.ts +3 -0
- package/src/langchain/google-common.ts +1 -0
- package/src/langchain/index.ts +8 -0
- package/src/langchain/language_models/chat_models.ts +1 -0
- package/src/langchain/messages/tool.ts +5 -0
- package/src/langchain/messages.ts +21 -0
- package/src/langchain/openai.ts +1 -0
- package/src/langchain/prompts.ts +1 -0
- package/src/langchain/runnables.ts +7 -0
- package/src/langchain/tools.ts +8 -0
- package/src/langchain/utils/env.ts +1 -0
- package/src/llm/anthropic/index.ts +252 -84
- package/src/llm/anthropic/llm.spec.ts +751 -102
- package/src/llm/anthropic/types.ts +9 -1
- package/src/llm/anthropic/utils/message_inputs.ts +43 -20
- package/src/llm/anthropic/utils/message_outputs.ts +119 -101
- package/src/llm/anthropic/utils/server-tool-inputs.test.ts +77 -0
- package/src/llm/bedrock/index.ts +2 -2
- package/src/llm/bedrock/llm.spec.ts +341 -0
- package/src/llm/bedrock/utils/message_inputs.ts +303 -4
- package/src/llm/bedrock/utils/message_outputs.ts +2 -1
- package/src/llm/custom-chat-models.smoke.test.ts +662 -0
- package/src/llm/google/llm.spec.ts +339 -57
- package/src/llm/google/utils/common.ts +53 -48
- package/src/llm/openai/contentBlocks.test.ts +346 -0
- package/src/llm/openai/index.ts +736 -837
- package/src/llm/openai/utils/index.ts +84 -64
- package/src/llm/openrouter/index.ts +124 -247
- package/src/llm/openrouter/reasoning.test.ts +8 -1
- package/src/llm/vertexai/index.ts +11 -5
- package/src/llm/vertexai/llm.spec.ts +28 -1
- package/src/messages/cache.test.ts +106 -4
- package/src/messages/cache.ts +57 -5
- package/src/messages/core.ts +16 -9
- package/src/messages/format.ts +9 -6
- package/src/messages/langchain.ts +39 -0
- package/src/messages/prune.ts +12 -8
- package/src/scripts/caching.ts +2 -3
- package/src/specs/anthropic.simple.test.ts +61 -0
- package/src/specs/summarization.test.ts +58 -61
- package/src/tools/ToolNode.ts +5 -1
- package/src/types/graph.ts +35 -88
- package/src/types/llm.ts +3 -3
- package/src/types/run.ts +2 -0
- package/src/types/stream.ts +1 -1
- package/src/utils/llmConfig.ts +1 -6
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
isAIMessage,
|
|
17
17
|
type UsageMetadata,
|
|
18
18
|
type BaseMessageFields,
|
|
19
|
-
type
|
|
19
|
+
type MessageContentComplex,
|
|
20
20
|
type InvalidToolCall,
|
|
21
21
|
type MessageContentImageUrl,
|
|
22
22
|
StandardContentBlockConverter,
|
|
@@ -37,6 +37,7 @@ import type {
|
|
|
37
37
|
OpenAIChatInput,
|
|
38
38
|
ChatOpenAIReasoningSummary,
|
|
39
39
|
} from '@langchain/openai';
|
|
40
|
+
import { toLangChainContent } from '@/messages/langchain';
|
|
40
41
|
|
|
41
42
|
export type { OpenAICallOptions, OpenAIChatInput };
|
|
42
43
|
|
|
@@ -521,6 +522,9 @@ export function _convertMessagesToOpenAIResponsesParams(
|
|
|
521
522
|
type?: string;
|
|
522
523
|
refusal?: string;
|
|
523
524
|
};
|
|
525
|
+
const responseMetadata = lcMsg.response_metadata as {
|
|
526
|
+
output?: ResponsesInputItem[];
|
|
527
|
+
};
|
|
524
528
|
|
|
525
529
|
let role = messageToOpenAIRole(lcMsg);
|
|
526
530
|
if (role === 'system' && isReasoningModel(model)) role = 'developer';
|
|
@@ -589,12 +593,12 @@ export function _convertMessagesToOpenAIResponsesParams(
|
|
|
589
593
|
// if we have the original response items, just reuse them
|
|
590
594
|
if (
|
|
591
595
|
!zdrEnabled &&
|
|
592
|
-
|
|
593
|
-
Array.isArray(
|
|
594
|
-
|
|
595
|
-
|
|
596
|
+
responseMetadata.output != null &&
|
|
597
|
+
Array.isArray(responseMetadata.output) &&
|
|
598
|
+
responseMetadata.output.length > 0 &&
|
|
599
|
+
responseMetadata.output.every((item) => 'type' in item)
|
|
596
600
|
) {
|
|
597
|
-
return
|
|
601
|
+
return responseMetadata.output;
|
|
598
602
|
}
|
|
599
603
|
|
|
600
604
|
// otherwise, try to reconstruct the response from what we have
|
|
@@ -610,7 +614,13 @@ export function _convertMessagesToOpenAIResponsesParams(
|
|
|
610
614
|
}
|
|
611
615
|
|
|
612
616
|
// ai content
|
|
613
|
-
let
|
|
617
|
+
let content = lcMsg.content as
|
|
618
|
+
| string
|
|
619
|
+
| Array<
|
|
620
|
+
| MessageContentComplex
|
|
621
|
+
| OpenAIClient.Responses.ResponseOutputText
|
|
622
|
+
| OpenAIClient.Responses.ResponseOutputRefusal
|
|
623
|
+
>;
|
|
614
624
|
if (additional_kwargs.refusal) {
|
|
615
625
|
if (typeof content === 'string') {
|
|
616
626
|
content = [{ type: 'output_text', text: content, annotations: [] }];
|
|
@@ -632,11 +642,13 @@ export function _convertMessagesToOpenAIResponsesParams(
|
|
|
632
642
|
? content
|
|
633
643
|
: content.flatMap((item) => {
|
|
634
644
|
if (item.type === 'text') {
|
|
645
|
+
const textItem = item as MessageContentComplex & {
|
|
646
|
+
annotations?: unknown[];
|
|
647
|
+
};
|
|
635
648
|
return {
|
|
636
649
|
type: 'output_text',
|
|
637
650
|
text: item.text,
|
|
638
|
-
|
|
639
|
-
annotations: item.annotations ?? [],
|
|
651
|
+
annotations: textItem.annotations ?? [],
|
|
640
652
|
};
|
|
641
653
|
}
|
|
642
654
|
|
|
@@ -646,7 +658,7 @@ export function _convertMessagesToOpenAIResponsesParams(
|
|
|
646
658
|
|
|
647
659
|
return [];
|
|
648
660
|
}),
|
|
649
|
-
});
|
|
661
|
+
} as ResponsesInputItem);
|
|
650
662
|
|
|
651
663
|
const functionCallIds = additional_kwargs[_FUNCTION_CALL_IDS_MAP_KEY];
|
|
652
664
|
|
|
@@ -677,12 +689,9 @@ export function _convertMessagesToOpenAIResponsesParams(
|
|
|
677
689
|
}
|
|
678
690
|
|
|
679
691
|
const toolOutputs =
|
|
680
|
-
((
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
| undefined
|
|
684
|
-
)?.length ?? 0) > 0
|
|
685
|
-
? lcMsg.response_metadata.output
|
|
692
|
+
((responseMetadata.output as Array<ResponsesInputItem> | undefined)
|
|
693
|
+
?.length ?? 0) > 0
|
|
694
|
+
? responseMetadata.output
|
|
686
695
|
: additional_kwargs.tool_outputs;
|
|
687
696
|
|
|
688
697
|
const fallthroughCallTypes: ResponsesInputItem['type'][] = [
|
|
@@ -712,52 +721,63 @@ export function _convertMessagesToOpenAIResponsesParams(
|
|
|
712
721
|
}
|
|
713
722
|
|
|
714
723
|
const messages: ResponsesInputItem[] = [];
|
|
715
|
-
const content = lcMsg.content.flatMap(
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
}
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
724
|
+
const content = (lcMsg.content as MessageContentComplex[]).flatMap(
|
|
725
|
+
(item) => {
|
|
726
|
+
if (item.type === 'mcp_approval_response') {
|
|
727
|
+
const approvalResponse = item as MessageContentComplex & {
|
|
728
|
+
approval_request_id: string;
|
|
729
|
+
approve: boolean;
|
|
730
|
+
};
|
|
731
|
+
messages.push({
|
|
732
|
+
// @ts-ignore
|
|
733
|
+
type: 'mcp_approval_response',
|
|
734
|
+
approval_request_id: approvalResponse.approval_request_id,
|
|
735
|
+
approve: approvalResponse.approve,
|
|
736
|
+
});
|
|
737
|
+
}
|
|
738
|
+
if (isDataContentBlock(item)) {
|
|
739
|
+
return convertToProviderContentBlock(
|
|
740
|
+
item,
|
|
741
|
+
completionsApiContentBlockConverter
|
|
742
|
+
);
|
|
743
|
+
}
|
|
744
|
+
if (item.type === 'text') {
|
|
745
|
+
return {
|
|
746
|
+
type: 'input_text',
|
|
747
|
+
text: item.text,
|
|
748
|
+
};
|
|
749
|
+
}
|
|
750
|
+
if (item.type === 'image_url') {
|
|
751
|
+
const imageItem = item as MessageContentImageUrl;
|
|
752
|
+
return {
|
|
753
|
+
type: 'input_image',
|
|
754
|
+
image_url:
|
|
755
|
+
typeof imageItem.image_url === 'string'
|
|
756
|
+
? imageItem.image_url
|
|
757
|
+
: imageItem.image_url.url,
|
|
758
|
+
detail:
|
|
759
|
+
typeof imageItem.image_url === 'string'
|
|
760
|
+
? 'auto'
|
|
761
|
+
: imageItem.image_url.detail,
|
|
762
|
+
};
|
|
763
|
+
}
|
|
764
|
+
if (
|
|
765
|
+
item.type === 'input_text' ||
|
|
766
|
+
item.type === 'input_image' ||
|
|
767
|
+
item.type === 'input_file'
|
|
768
|
+
) {
|
|
769
|
+
return item;
|
|
770
|
+
}
|
|
771
|
+
return [];
|
|
755
772
|
}
|
|
756
|
-
|
|
757
|
-
});
|
|
773
|
+
);
|
|
758
774
|
|
|
759
775
|
if (content.length > 0) {
|
|
760
|
-
messages.push({
|
|
776
|
+
messages.push({
|
|
777
|
+
type: 'message',
|
|
778
|
+
role,
|
|
779
|
+
content,
|
|
780
|
+
} as ResponsesInputItem);
|
|
761
781
|
}
|
|
762
782
|
return messages;
|
|
763
783
|
}
|
|
@@ -785,7 +805,7 @@ function _convertOpenAIResponsesMessageToBaseMessage(
|
|
|
785
805
|
}
|
|
786
806
|
|
|
787
807
|
let messageId: string | undefined;
|
|
788
|
-
const content:
|
|
808
|
+
const content: MessageContentComplex[] = [];
|
|
789
809
|
const tool_calls: ToolCall[] = [];
|
|
790
810
|
const invalid_tool_calls: InvalidToolCall[] = [];
|
|
791
811
|
const response_metadata: Record<string, unknown> = {
|
|
@@ -871,7 +891,7 @@ function _convertOpenAIResponsesMessageToBaseMessage(
|
|
|
871
891
|
|
|
872
892
|
return new AIMessage({
|
|
873
893
|
id: messageId,
|
|
874
|
-
content,
|
|
894
|
+
content: toLangChainContent(content),
|
|
875
895
|
tool_calls,
|
|
876
896
|
invalid_tool_calls,
|
|
877
897
|
usage_metadata: response.usage,
|
|
@@ -883,7 +903,7 @@ function _convertOpenAIResponsesMessageToBaseMessage(
|
|
|
883
903
|
export function _convertOpenAIResponsesDeltaToBaseMessageChunk(
|
|
884
904
|
chunk: ResponseReturnStreamEvents
|
|
885
905
|
) {
|
|
886
|
-
const content:
|
|
906
|
+
const content: MessageContentComplex[] = [];
|
|
887
907
|
let generationInfo: Record<string, unknown> = {};
|
|
888
908
|
let usage_metadata: UsageMetadata | undefined;
|
|
889
909
|
const tool_call_chunks: ToolCallChunk[] = [];
|
|
@@ -1021,10 +1041,10 @@ export function _convertOpenAIResponsesDeltaToBaseMessageChunk(
|
|
|
1021
1041
|
|
|
1022
1042
|
return new ChatGenerationChunk({
|
|
1023
1043
|
// Legacy reasons, `onLLMNewToken` should pulls this out
|
|
1024
|
-
text: content.map((part) => part.text).join(''),
|
|
1044
|
+
text: content.map((part) => ('text' in part ? part.text : '')).join(''),
|
|
1025
1045
|
message: new AIMessageChunk({
|
|
1026
1046
|
id,
|
|
1027
|
-
content,
|
|
1047
|
+
content: toLangChainContent(content),
|
|
1028
1048
|
tool_call_chunks,
|
|
1029
1049
|
usage_metadata,
|
|
1030
1050
|
additional_kwargs,
|