diff --git a/README.md b/README.md
index 38bbda9e9..dad242a2a 100644
--- a/README.md
+++ b/README.md
@@ -75,6 +75,7 @@ Some cool features of AnythingLLM
- [OpenAI](https://openai.com)
- [OpenAI (Generic)](https://openai.com)
- [Azure OpenAI](https://azure.microsoft.com/en-us/products/ai-services/openai-service)
+- [AWS Bedrock](https://aws.amazon.com/bedrock/)
- [Anthropic](https://www.anthropic.com/)
- [Google Gemini Pro](https://ai.google.dev/)
- [Hugging Face (chat models)](https://huggingface.co/)
diff --git a/docker/.env.example b/docker/.env.example
index 38b980880..56be87cb4 100644
--- a/docker/.env.example
+++ b/docker/.env.example
@@ -94,6 +94,13 @@ GID='1000'
# COHERE_API_KEY=
# COHERE_MODEL_PREF='command-r'
+# LLM_PROVIDER='bedrock'
+# AWS_BEDROCK_LLM_ACCESS_KEY_ID=
+# AWS_BEDROCK_LLM_ACCESS_KEY=
+# AWS_BEDROCK_LLM_REGION=us-west-2
+# AWS_BEDROCK_LLM_MODEL_PREFERENCE=meta.llama3-1-8b-instruct-v1:0
+# AWS_BEDROCK_LLM_MODEL_TOKEN_LIMIT=8191
+
###########################################
######## Embedding API SElECTION ##########
###########################################
diff --git a/frontend/src/components/LLMSelection/AwsBedrockLLMOptions/index.jsx b/frontend/src/components/LLMSelection/AwsBedrockLLMOptions/index.jsx
new file mode 100644
index 000000000..20686f2e1
--- /dev/null
+++ b/frontend/src/components/LLMSelection/AwsBedrockLLMOptions/index.jsx
@@ -0,0 +1,122 @@
+import { ArrowSquareOut, Info } from "@phosphor-icons/react";
+import { AWS_REGIONS } from "./regions";
+
+export default function AwsBedrockLLMOptions({ settings }) {
+ return (
+
+ {!settings?.credentialsOnly && (
+
+ )}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+}
diff --git a/frontend/src/components/LLMSelection/AwsBedrockLLMOptions/regions.js b/frontend/src/components/LLMSelection/AwsBedrockLLMOptions/regions.js
new file mode 100644
index 000000000..b490a07ee
--- /dev/null
+++ b/frontend/src/components/LLMSelection/AwsBedrockLLMOptions/regions.js
@@ -0,0 +1,204 @@
+export const AWS_REGIONS = [
+ {
+ name: "N. Virginia",
+ full_name: "US East (N. Virginia)",
+ code: "us-east-1",
+ public: true,
+ zones: [
+ "us-east-1a",
+ "us-east-1b",
+ "us-east-1c",
+ "us-east-1d",
+ "us-east-1e",
+ "us-east-1f",
+ ],
+ },
+ {
+ name: "Ohio",
+ full_name: "US East (Ohio)",
+ code: "us-east-2",
+ public: true,
+ zones: ["us-east-2a", "us-east-2b", "us-east-2c"],
+ },
+ {
+ name: "N. California",
+ full_name: "US West (N. California)",
+ code: "us-west-1",
+ public: true,
+ zone_limit: 2,
+ zones: ["us-west-1a", "us-west-1b", "us-west-1c"],
+ },
+ {
+ name: "Oregon",
+ full_name: "US West (Oregon)",
+ code: "us-west-2",
+ public: true,
+ zones: ["us-west-2a", "us-west-2b", "us-west-2c", "us-west-2d"],
+ },
+ {
+ name: "GovCloud West",
+ full_name: "AWS GovCloud (US)",
+ code: "us-gov-west-1",
+ public: false,
+ zones: ["us-gov-west-1a", "us-gov-west-1b", "us-gov-west-1c"],
+ },
+ {
+ name: "GovCloud East",
+ full_name: "AWS GovCloud (US-East)",
+ code: "us-gov-east-1",
+ public: false,
+ zones: ["us-gov-east-1a", "us-gov-east-1b", "us-gov-east-1c"],
+ },
+ {
+ name: "Canada",
+ full_name: "Canada (Central)",
+ code: "ca-central-1",
+ public: true,
+ zones: ["ca-central-1a", "ca-central-1b", "ca-central-1c", "ca-central-1d"],
+ },
+ {
+ name: "Stockholm",
+ full_name: "EU (Stockholm)",
+ code: "eu-north-1",
+ public: true,
+ zones: ["eu-north-1a", "eu-north-1b", "eu-north-1c"],
+ },
+ {
+ name: "Ireland",
+ full_name: "EU (Ireland)",
+ code: "eu-west-1",
+ public: true,
+ zones: ["eu-west-1a", "eu-west-1b", "eu-west-1c"],
+ },
+ {
+ name: "London",
+ full_name: "EU (London)",
+ code: "eu-west-2",
+ public: true,
+ zones: ["eu-west-2a", "eu-west-2b", "eu-west-2c"],
+ },
+ {
+ name: "Paris",
+ full_name: "EU (Paris)",
+ code: "eu-west-3",
+ public: true,
+ zones: ["eu-west-3a", "eu-west-3b", "eu-west-3c"],
+ },
+ {
+ name: "Frankfurt",
+ full_name: "EU (Frankfurt)",
+ code: "eu-central-1",
+ public: true,
+ zones: ["eu-central-1a", "eu-central-1b", "eu-central-1c"],
+ },
+ {
+ name: "Milan",
+ full_name: "EU (Milan)",
+ code: "eu-south-1",
+ public: true,
+ zones: ["eu-south-1a", "eu-south-1b", "eu-south-1c"],
+ },
+ {
+ name: "Cape Town",
+ full_name: "Africa (Cape Town)",
+ code: "af-south-1",
+ public: true,
+ zones: ["af-south-1a", "af-south-1b", "af-south-1c"],
+ },
+ {
+ name: "Tokyo",
+ full_name: "Asia Pacific (Tokyo)",
+ code: "ap-northeast-1",
+ public: true,
+ zone_limit: 3,
+ zones: [
+ "ap-northeast-1a",
+ "ap-northeast-1b",
+ "ap-northeast-1c",
+ "ap-northeast-1d",
+ ],
+ },
+ {
+ name: "Seoul",
+ full_name: "Asia Pacific (Seoul)",
+ code: "ap-northeast-2",
+ public: true,
+ zones: [
+ "ap-northeast-2a",
+ "ap-northeast-2b",
+ "ap-northeast-2c",
+ "ap-northeast-2d",
+ ],
+ },
+ {
+ name: "Osaka",
+ full_name: "Asia Pacific (Osaka-Local)",
+ code: "ap-northeast-3",
+ public: true,
+ zones: ["ap-northeast-3a", "ap-northeast-3b", "ap-northeast-3c"],
+ },
+ {
+ name: "Singapore",
+ full_name: "Asia Pacific (Singapore)",
+ code: "ap-southeast-1",
+ public: true,
+ zones: ["ap-southeast-1a", "ap-southeast-1b", "ap-southeast-1c"],
+ },
+ {
+ name: "Sydney",
+ full_name: "Asia Pacific (Sydney)",
+ code: "ap-southeast-2",
+ public: true,
+ zones: ["ap-southeast-2a", "ap-southeast-2b", "ap-southeast-2c"],
+ },
+ {
+ name: "Jakarta",
+ full_name: "Asia Pacific (Jakarta)",
+ code: "ap-southeast-3",
+ public: true,
+ zones: ["ap-southeast-3a", "ap-southeast-3b", "ap-southeast-3c"],
+ },
+ {
+ name: "Hong Kong",
+ full_name: "Asia Pacific (Hong Kong)",
+ code: "ap-east-1",
+ public: true,
+ zones: ["ap-east-1a", "ap-east-1b", "ap-east-1c"],
+ },
+ {
+ name: "Mumbai",
+ full_name: "Asia Pacific (Mumbai)",
+ code: "ap-south-1",
+ public: true,
+ zones: ["ap-south-1a", "ap-south-1b", "ap-south-1c"],
+ },
+ {
+ name: "São Paulo",
+ full_name: "South America (São Paulo)",
+ code: "sa-east-1",
+ public: true,
+ zone_limit: 2,
+ zones: ["sa-east-1a", "sa-east-1b", "sa-east-1c"],
+ },
+ {
+ name: "Bahrain",
+ full_name: "Middle East (Bahrain)",
+ code: "me-south-1",
+ public: true,
+ zones: ["me-south-1a", "me-south-1b", "me-south-1c"],
+ },
+ {
+ name: "Beijing",
+ full_name: "China (Beijing)",
+ code: "cn-north-1",
+ public: false,
+ zones: ["cn-north-1a", "cn-north-1b", "cn-north-1c"],
+ },
+ {
+ name: "Ningxia",
+ full_name: "China (Ningxia)",
+ code: "cn-northwest-1",
+ public: false,
+ zones: ["cn-northwest-1a", "cn-northwest-1b", "cn-northwest-1c"],
+ },
+];
diff --git a/frontend/src/hooks/useGetProvidersModels.js b/frontend/src/hooks/useGetProvidersModels.js
index 051c97ed7..e118f5e74 100644
--- a/frontend/src/hooks/useGetProvidersModels.js
+++ b/frontend/src/hooks/useGetProvidersModels.js
@@ -8,6 +8,7 @@ export const DISABLED_PROVIDERS = [
"native",
"textgenwebui",
"generic-openai",
+ "bedrock",
];
const PROVIDER_DEFAULT_MODELS = {
openai: [],
@@ -48,6 +49,7 @@ const PROVIDER_DEFAULT_MODELS = {
],
textgenwebui: [],
"generic-openai": [],
+ bedrock: [],
};
// For togetherAi, which has a large model list - we subgroup the options
diff --git a/frontend/src/media/llmprovider/bedrock.png b/frontend/src/media/llmprovider/bedrock.png
new file mode 100644
index 000000000..58a74acb0
Binary files /dev/null and b/frontend/src/media/llmprovider/bedrock.png differ
diff --git a/frontend/src/pages/GeneralSettings/LLMPreference/index.jsx b/frontend/src/pages/GeneralSettings/LLMPreference/index.jsx
index 2baa0c6c8..148409d6b 100644
--- a/frontend/src/pages/GeneralSettings/LLMPreference/index.jsx
+++ b/frontend/src/pages/GeneralSettings/LLMPreference/index.jsx
@@ -23,6 +23,8 @@ import KoboldCPPLogo from "@/media/llmprovider/koboldcpp.png";
import TextGenWebUILogo from "@/media/llmprovider/text-generation-webui.png";
import CohereLogo from "@/media/llmprovider/cohere.png";
import LiteLLMLogo from "@/media/llmprovider/litellm.png";
+import AWSBedrockLogo from "@/media/llmprovider/bedrock.png";
+
import PreLoader from "@/components/Preloader";
import OpenAiOptions from "@/components/LLMSelection/OpenAiOptions";
import GenericOpenAiOptions from "@/components/LLMSelection/GenericOpenAiOptions";
@@ -43,6 +45,7 @@ import CohereAiOptions from "@/components/LLMSelection/CohereAiOptions";
import KoboldCPPOptions from "@/components/LLMSelection/KoboldCPPOptions";
import TextGenWebUIOptions from "@/components/LLMSelection/TextGenWebUIOptions";
import LiteLLMOptions from "@/components/LLMSelection/LiteLLMOptions";
+import AWSBedrockLLMOptions from "@/components/LLMSelection/AwsBedrockLLMOptions";
import LLMItem from "@/components/LLMSelection/LLMItem";
import { CaretUpDown, MagnifyingGlass, X } from "@phosphor-icons/react";
@@ -211,6 +214,19 @@ export const AVAILABLE_LLM_PROVIDERS = [
"GenericOpenAiKey",
],
},
+ {
+ name: "AWS Bedrock",
+ value: "bedrock",
+ logo: AWSBedrockLogo,
+ options: (settings) => ,
+ description: "Run powerful foundation models privately with AWS Bedrock.",
+ requiredConfig: [
+ "AwsBedrockLLMAccessKeyId",
+ "AwsBedrockLLMAccessKey",
+ "AwsBedrockLLMRegion",
+ "AwsBedrockLLMModel",
+ ],
+ },
{
name: "Native",
value: "native",
diff --git a/frontend/src/pages/OnboardingFlow/Steps/DataHandling/index.jsx b/frontend/src/pages/OnboardingFlow/Steps/DataHandling/index.jsx
index 1b3bf360b..372a65236 100644
--- a/frontend/src/pages/OnboardingFlow/Steps/DataHandling/index.jsx
+++ b/frontend/src/pages/OnboardingFlow/Steps/DataHandling/index.jsx
@@ -18,6 +18,7 @@ import GroqLogo from "@/media/llmprovider/groq.png";
import KoboldCPPLogo from "@/media/llmprovider/koboldcpp.png";
import TextGenWebUILogo from "@/media/llmprovider/text-generation-webui.png";
import LiteLLMLogo from "@/media/llmprovider/litellm.png";
+import AWSBedrockLogo from "@/media/llmprovider/bedrock.png";
import CohereLogo from "@/media/llmprovider/cohere.png";
import ZillizLogo from "@/media/vectordbs/zilliz.png";
@@ -179,6 +180,13 @@ export const LLM_SELECTION_PRIVACY = {
],
logo: LiteLLMLogo,
},
+ bedrock: {
+ name: "AWS Bedrock",
+ description: [
+ "You model and chat contents are subject to the agreed EULA for AWS and the model provider on aws.amazon.com",
+ ],
+ logo: AWSBedrockLogo,
+ },
};
export const VECTOR_DB_PRIVACY = {
diff --git a/frontend/src/pages/OnboardingFlow/Steps/LLMPreference/index.jsx b/frontend/src/pages/OnboardingFlow/Steps/LLMPreference/index.jsx
index 5d2ec337f..aab026896 100644
--- a/frontend/src/pages/OnboardingFlow/Steps/LLMPreference/index.jsx
+++ b/frontend/src/pages/OnboardingFlow/Steps/LLMPreference/index.jsx
@@ -18,6 +18,7 @@ import GroqLogo from "@/media/llmprovider/groq.png";
import KoboldCPPLogo from "@/media/llmprovider/koboldcpp.png";
import TextGenWebUILogo from "@/media/llmprovider/text-generation-webui.png";
import LiteLLMLogo from "@/media/llmprovider/litellm.png";
+import AWSBedrockLogo from "@/media/llmprovider/bedrock.png";
import CohereLogo from "@/media/llmprovider/cohere.png";
import OpenAiOptions from "@/components/LLMSelection/OpenAiOptions";
@@ -39,6 +40,7 @@ import CohereAiOptions from "@/components/LLMSelection/CohereAiOptions";
import KoboldCPPOptions from "@/components/LLMSelection/KoboldCPPOptions";
import TextGenWebUIOptions from "@/components/LLMSelection/TextGenWebUIOptions";
import LiteLLMOptions from "@/components/LLMSelection/LiteLLMOptions";
+import AWSBedrockLLMOptions from "@/components/LLMSelection/AwsBedrockLLMOptions";
import LLMItem from "@/components/LLMSelection/LLMItem";
import System from "@/models/system";
@@ -182,6 +184,13 @@ const LLMS = [
description:
"Connect to any OpenAi-compatible service via a custom configuration",
},
+ {
+ name: "AWS Bedrock",
+ value: "bedrock",
+ logo: AWSBedrockLogo,
+ options: (settings) => ,
+ description: "Run powerful foundation models privately with AWS Bedrock.",
+ },
{
name: "Native",
value: "native",
diff --git a/frontend/src/pages/WorkspaceSettings/AgentConfig/AgentLLMSelection/index.jsx b/frontend/src/pages/WorkspaceSettings/AgentConfig/AgentLLMSelection/index.jsx
index 3e5ad64db..02c9a671c 100644
--- a/frontend/src/pages/WorkspaceSettings/AgentConfig/AgentLLMSelection/index.jsx
+++ b/frontend/src/pages/WorkspaceSettings/AgentConfig/AgentLLMSelection/index.jsx
@@ -21,6 +21,7 @@ const ENABLED_PROVIDERS = [
"perplexity",
"textgenwebui",
"generic-openai",
+ "bedrock",
// TODO: More agent support.
// "cohere", // Has tool calling and will need to build explicit support
// "huggingface" // Can be done but already has issues with no-chat templated. Needs to be tested.
diff --git a/frontend/src/pages/WorkspaceSettings/ChatSettings/WorkspaceLLMSelection/index.jsx b/frontend/src/pages/WorkspaceSettings/ChatSettings/WorkspaceLLMSelection/index.jsx
index 72f170474..c1841929c 100644
--- a/frontend/src/pages/WorkspaceSettings/ChatSettings/WorkspaceLLMSelection/index.jsx
+++ b/frontend/src/pages/WorkspaceSettings/ChatSettings/WorkspaceLLMSelection/index.jsx
@@ -10,7 +10,12 @@ import paths from "@/utils/paths";
// Some providers can only be associated with a single model.
// In that case there is no selection to be made so we can just move on.
-const NO_MODEL_SELECTION = ["default", "huggingface", "generic-openai"];
+const NO_MODEL_SELECTION = [
+ "default",
+ "huggingface",
+ "generic-openai",
+ "bedrock",
+];
const DISABLED_PROVIDERS = ["azure", "lmstudio", "native"];
const LLM_DEFAULT = {
name: "System default",
diff --git a/server/models/systemSettings.js b/server/models/systemSettings.js
index cf5219d37..6f5b4238d 100644
--- a/server/models/systemSettings.js
+++ b/server/models/systemSettings.js
@@ -465,6 +465,12 @@ const SystemSettings = {
GenericOpenAiKey: !!process.env.GENERIC_OPEN_AI_API_KEY,
GenericOpenAiMaxTokens: process.env.GENERIC_OPEN_AI_MAX_TOKENS,
+ AwsBedrockLLMAccessKeyId: !!process.env.AWS_BEDROCK_LLM_ACCESS_KEY_ID,
+ AwsBedrockLLMAccessKey: !!process.env.AWS_BEDROCK_LLM_ACCESS_KEY,
+ AwsBedrockLLMRegion: process.env.AWS_BEDROCK_LLM_REGION,
+ AwsBedrockLLMModel: process.env.AWS_BEDROCK_LLM_MODEL_PREFERENCE,
+ AwsBedrockLLMTokenLimit: process.env.AWS_BEDROCK_LLM_MODEL_TOKEN_LIMIT,
+
// Cohere API Keys
CohereApiKey: !!process.env.COHERE_API_KEY,
CohereModelPref: process.env.COHERE_MODEL_PREF,
diff --git a/server/package.json b/server/package.json
index 0b9982402..8cd3d7aa1 100644
--- a/server/package.json
+++ b/server/package.json
@@ -28,6 +28,7 @@
"@ladjs/graceful": "^3.2.2",
"@lancedb/lancedb": "0.5.2",
"@langchain/anthropic": "0.1.16",
+ "@langchain/aws": "^0.0.5",
"@langchain/community": "0.0.53",
"@langchain/core": "0.1.61",
"@langchain/openai": "0.0.28",
@@ -102,4 +103,4 @@
"nodemon": "^2.0.22",
"prettier": "^3.0.3"
}
-}
\ No newline at end of file
+}
diff --git a/server/utils/AiProviders/bedrock/index.js b/server/utils/AiProviders/bedrock/index.js
new file mode 100644
index 000000000..2ea439ae6
--- /dev/null
+++ b/server/utils/AiProviders/bedrock/index.js
@@ -0,0 +1,217 @@
+const { StringOutputParser } = require("@langchain/core/output_parsers");
+const {
+ writeResponseChunk,
+ clientAbortedHandler,
+} = require("../../helpers/chat/responses");
+const { NativeEmbedder } = require("../../EmbeddingEngines/native");
+
+// Docs: https://js.langchain.com/v0.2/docs/integrations/chat/bedrock_converse
+class AWSBedrockLLM {
+ constructor(embedder = null, modelPreference = null) {
+ if (!process.env.AWS_BEDROCK_LLM_ACCESS_KEY_ID)
+ throw new Error("No AWS Bedrock LLM profile id was set.");
+
+ if (!process.env.AWS_BEDROCK_LLM_ACCESS_KEY)
+ throw new Error("No AWS Bedrock LLM access key was set.");
+
+ if (!process.env.AWS_BEDROCK_LLM_REGION)
+ throw new Error("No AWS Bedrock LLM region was set.");
+
+ this.model =
+ modelPreference || process.env.AWS_BEDROCK_LLM_MODEL_PREFERENCE;
+ this.limits = {
+ history: this.promptWindowLimit() * 0.15,
+ system: this.promptWindowLimit() * 0.15,
+ user: this.promptWindowLimit() * 0.7,
+ };
+
+ this.embedder = embedder ?? new NativeEmbedder();
+ this.defaultTemp = 0.7;
+ }
+
+ #bedrockClient({ temperature = 0.7 }) {
+ const { ChatBedrockConverse } = require("@langchain/aws");
+ return new ChatBedrockConverse({
+ model: process.env.AWS_BEDROCK_LLM_MODEL_PREFERENCE,
+ region: process.env.AWS_BEDROCK_LLM_REGION,
+ credentials: {
+ accessKeyId: process.env.AWS_BEDROCK_LLM_ACCESS_KEY_ID,
+ secretAccessKey: process.env.AWS_BEDROCK_LLM_ACCESS_KEY,
+ },
+ temperature,
+ });
+ }
+
+ // For streaming we use Langchain's wrapper to handle weird chunks
+ // or otherwise absorb headaches that can arise from Ollama models
+ #convertToLangchainPrototypes(chats = []) {
+ const {
+ HumanMessage,
+ SystemMessage,
+ AIMessage,
+ } = require("@langchain/core/messages");
+ const langchainChats = [];
+ const roleToMessageMap = {
+ system: SystemMessage,
+ user: HumanMessage,
+ assistant: AIMessage,
+ };
+
+ for (const chat of chats) {
+ if (!roleToMessageMap.hasOwnProperty(chat.role)) continue;
+ const MessageClass = roleToMessageMap[chat.role];
+ langchainChats.push(new MessageClass({ content: chat.content }));
+ }
+
+ return langchainChats;
+ }
+
+ #appendContext(contextTexts = []) {
+ if (!contextTexts || !contextTexts.length) return "";
+ return (
+ "\nContext:\n" +
+ contextTexts
+ .map((text, i) => {
+ return `[CONTEXT ${i}]:\n${text}\n[END CONTEXT ${i}]\n\n`;
+ })
+ .join("")
+ );
+ }
+
+ streamingEnabled() {
+ return "streamGetChatCompletion" in this;
+ }
+
+ // Ensure the user set a value for the token limit
+ // and if undefined - assume 4096 window.
+ promptWindowLimit() {
+ const limit = process.env.AWS_BEDROCK_LLM_MODEL_TOKEN_LIMIT || 8191;
+ if (!limit || isNaN(Number(limit)))
+ throw new Error("No valid token context limit was set.");
+ return Number(limit);
+ }
+
+ async isValidChatCompletionModel(_ = "") {
+ return true;
+ }
+
+ constructPrompt({
+ systemPrompt = "",
+ contextTexts = [],
+ chatHistory = [],
+ userPrompt = "",
+ }) {
+ // AWS Mistral models do not support system prompts
+ if (this.model.startsWith("mistral"))
+ return [...chatHistory, { role: "user", content: userPrompt }];
+
+ const prompt = {
+ role: "system",
+ content: `${systemPrompt}${this.#appendContext(contextTexts)}`,
+ };
+ return [prompt, ...chatHistory, { role: "user", content: userPrompt }];
+ }
+
+ async getChatCompletion(messages = null, { temperature = 0.7 }) {
+ const model = this.#bedrockClient({ temperature });
+ const textResponse = await model
+ .pipe(new StringOutputParser())
+ .invoke(this.#convertToLangchainPrototypes(messages))
+ .catch((e) => {
+ throw new Error(
+ `AWSBedrock::getChatCompletion failed to communicate with Ollama. ${e.message}`
+ );
+ });
+
+ if (!textResponse || !textResponse.length)
+ throw new Error(`AWSBedrock::getChatCompletion text response was empty.`);
+
+ return textResponse;
+ }
+
+ async streamGetChatCompletion(messages = null, { temperature = 0.7 }) {
+ const model = this.#bedrockClient({ temperature });
+ const stream = await model
+ .pipe(new StringOutputParser())
+ .stream(this.#convertToLangchainPrototypes(messages));
+ return stream;
+ }
+
+ handleStream(response, stream, responseProps) {
+ const { uuid = uuidv4(), sources = [] } = responseProps;
+
+ return new Promise(async (resolve) => {
+ let fullText = "";
+
+ // Establish listener to early-abort a streaming response
+ // in case things go sideways or the user does not like the response.
+ // We preserve the generated text but continue as if chat was completed
+ // to preserve previously generated content.
+ const handleAbort = () => clientAbortedHandler(resolve, fullText);
+ response.on("close", handleAbort);
+
+ try {
+ for await (const chunk of stream) {
+ if (chunk === undefined)
+ throw new Error(
+ "Stream returned undefined chunk. Aborting reply - check model provider logs."
+ );
+
+ const content = chunk.hasOwnProperty("content")
+ ? chunk.content
+ : chunk;
+ fullText += content;
+ writeResponseChunk(response, {
+ uuid,
+ sources: [],
+ type: "textResponseChunk",
+ textResponse: content,
+ close: false,
+ error: false,
+ });
+ }
+
+ writeResponseChunk(response, {
+ uuid,
+ sources,
+ type: "textResponseChunk",
+ textResponse: "",
+ close: true,
+ error: false,
+ });
+ response.removeListener("close", handleAbort);
+ resolve(fullText);
+ } catch (error) {
+ writeResponseChunk(response, {
+ uuid,
+ sources: [],
+ type: "textResponseChunk",
+ textResponse: "",
+ close: true,
+ error: `AWSBedrock:streaming - could not stream chat. ${
+ error?.cause ?? error.message
+ }`,
+ });
+ response.removeListener("close", handleAbort);
+ }
+ });
+ }
+
+ // Simple wrapper for dynamic embedder & normalize interface for all LLM implementations
+ async embedTextInput(textInput) {
+ return await this.embedder.embedTextInput(textInput);
+ }
+ async embedChunks(textChunks = []) {
+ return await this.embedder.embedChunks(textChunks);
+ }
+
+ async compressMessages(promptArgs = {}, rawHistory = []) {
+ const { messageArrayCompressor } = require("../../helpers/chat");
+ const messageArray = this.constructPrompt(promptArgs);
+ return await messageArrayCompressor(this, messageArray, rawHistory);
+ }
+}
+
+module.exports = {
+ AWSBedrockLLM,
+};
diff --git a/server/utils/agents/aibitat/index.js b/server/utils/agents/aibitat/index.js
index 0fe6eb510..0d3aab1ad 100644
--- a/server/utils/agents/aibitat/index.js
+++ b/server/utils/agents/aibitat/index.js
@@ -775,6 +775,8 @@ ${this.getHistory({ to: route.to })
return new Providers.PerplexityProvider({ model: config.model });
case "textgenwebui":
return new Providers.TextWebGenUiProvider({});
+ case "bedrock":
+ return new Providers.AWSBedrockProvider({});
default:
throw new Error(
diff --git a/server/utils/agents/aibitat/providers/ai-provider.js b/server/utils/agents/aibitat/providers/ai-provider.js
index 483d43b36..472f72be2 100644
--- a/server/utils/agents/aibitat/providers/ai-provider.js
+++ b/server/utils/agents/aibitat/providers/ai-provider.js
@@ -12,6 +12,7 @@
const { ChatOpenAI } = require("@langchain/openai");
const { ChatAnthropic } = require("@langchain/anthropic");
+const { ChatBedrockConverse } = require("@langchain/aws");
const { ChatOllama } = require("@langchain/community/chat_models/ollama");
const { toValidNumber } = require("../../../http");
@@ -113,6 +114,16 @@ class Provider {
),
...config,
});
+ case "bedrock":
+ return new ChatBedrockConverse({
+ model: process.env.AWS_BEDROCK_LLM_MODEL_PREFERENCE,
+ region: process.env.AWS_BEDROCK_LLM_REGION,
+ credentials: {
+ accessKeyId: process.env.AWS_BEDROCK_LLM_ACCESS_KEY_ID,
+ secretAccessKey: process.env.AWS_BEDROCK_LLM_ACCESS_KEY,
+ },
+ ...config,
+ });
// OSS Model Runners
// case "anythingllm_ollama":
diff --git a/server/utils/agents/aibitat/providers/bedrock.js b/server/utils/agents/aibitat/providers/bedrock.js
new file mode 100644
index 000000000..819dfc405
--- /dev/null
+++ b/server/utils/agents/aibitat/providers/bedrock.js
@@ -0,0 +1,136 @@
+const Provider = require("./ai-provider.js");
+const InheritMultiple = require("./helpers/classes.js");
+const UnTooled = require("./helpers/untooled.js");
+const { ChatBedrockConverse } = require("@langchain/aws");
+const {
+ HumanMessage,
+ SystemMessage,
+ AIMessage,
+} = require("@langchain/core/messages");
+
+/**
+ * The agent provider for the AWS Bedrock provider.
+ */
+class AWSBedrockProvider extends InheritMultiple([Provider, UnTooled]) {
+ model;
+
+ constructor(_config = {}) {
+ super();
+ const model = process.env.AWS_BEDROCK_LLM_MODEL_PREFERENCE ?? null;
+ const client = new ChatBedrockConverse({
+ region: process.env.AWS_BEDROCK_LLM_REGION,
+ credentials: {
+ accessKeyId: process.env.AWS_BEDROCK_LLM_ACCESS_KEY_ID,
+ secretAccessKey: process.env.AWS_BEDROCK_LLM_ACCESS_KEY,
+ },
+ model,
+ });
+
+ this._client = client;
+ this.model = model;
+ this.verbose = true;
+ }
+
+ get client() {
+ return this._client;
+ }
+
+ // For streaming we use Langchain's wrapper to handle weird chunks
+ // or otherwise absorb headaches that can arise from Ollama models
+ #convertToLangchainPrototypes(chats = []) {
+ const langchainChats = [];
+ const roleToMessageMap = {
+ system: SystemMessage,
+ user: HumanMessage,
+ assistant: AIMessage,
+ };
+
+ for (const chat of chats) {
+ if (!roleToMessageMap.hasOwnProperty(chat.role)) continue;
+ const MessageClass = roleToMessageMap[chat.role];
+ langchainChats.push(new MessageClass({ content: chat.content }));
+ }
+
+ return langchainChats;
+ }
+
+ async #handleFunctionCallChat({ messages = [] }) {
+ const response = await this.client
+ .invoke(this.#convertToLangchainPrototypes(messages))
+ .then((res) => res)
+ .catch((e) => {
+ console.error(e);
+ return null;
+ });
+
+ return response?.content;
+ }
+
+ /**
+ * Create a completion based on the received messages.
+ *
+ * @param messages A list of messages to send to the API.
+ * @param functions
+ * @returns The completion.
+ */
+ async complete(messages, functions = null) {
+ try {
+ let completion;
+ if (functions.length > 0) {
+ const { toolCall, text } = await this.functionCall(
+ messages,
+ functions,
+ this.#handleFunctionCallChat.bind(this)
+ );
+
+ if (toolCall !== null) {
+ this.providerLog(`Valid tool call found - running ${toolCall.name}.`);
+ this.deduplicator.trackRun(toolCall.name, toolCall.arguments);
+ return {
+ result: null,
+ functionCall: {
+ name: toolCall.name,
+ arguments: toolCall.arguments,
+ },
+ cost: 0,
+ };
+ }
+ completion = { content: text };
+ }
+
+ if (!completion?.content) {
+ this.providerLog(
+ "Will assume chat completion without tool call inputs."
+ );
+ const response = await this.client.invoke(
+ this.#convertToLangchainPrototypes(this.cleanMsgs(messages))
+ );
+ completion = response;
+ }
+
+ // The UnTooled class inherited Deduplicator is mostly useful to prevent the agent
+ // from calling the exact same function over and over in a loop within a single chat exchange
+ // _but_ we should enable it to call previously used tools in a new chat interaction.
+ this.deduplicator.reset("runs");
+ return {
+ result: completion.content,
+ cost: 0,
+ };
+ } catch (error) {
+ throw error;
+ }
+ }
+
+ /**
+ * Get the cost of the completion.
+ *
+ * @param _usage The completion to get the cost for.
+ * @returns The cost of the completion.
+ * Stubbed since KoboldCPP has no cost basis.
+ */
+ getCost(_usage) {
+ return 0;
+ }
+}
+
+module.exports = AWSBedrockProvider;
diff --git a/server/utils/agents/aibitat/providers/index.js b/server/utils/agents/aibitat/providers/index.js
index 14748b2ec..6f784ae5f 100644
--- a/server/utils/agents/aibitat/providers/index.js
+++ b/server/utils/agents/aibitat/providers/index.js
@@ -12,6 +12,7 @@ const MistralProvider = require("./mistral.js");
const GenericOpenAiProvider = require("./genericOpenAi.js");
const PerplexityProvider = require("./perplexity.js");
const TextWebGenUiProvider = require("./textgenwebui.js");
+const AWSBedrockProvider = require("./bedrock.js");
module.exports = {
OpenAIProvider,
@@ -28,4 +29,5 @@ module.exports = {
GenericOpenAiProvider,
PerplexityProvider,
TextWebGenUiProvider,
+ AWSBedrockProvider,
};
diff --git a/server/utils/agents/index.js b/server/utils/agents/index.js
index 66d51b74d..f6c9b3e85 100644
--- a/server/utils/agents/index.js
+++ b/server/utils/agents/index.js
@@ -143,6 +143,17 @@ class AgentHandler {
"TextWebGenUI API base path must be provided to use agents."
);
break;
+ case "bedrock":
+ if (
+ !process.env.AWS_BEDROCK_LLM_ACCESS_KEY_ID ||
+ !process.env.AWS_BEDROCK_LLM_ACCESS_KEY ||
+ !process.env.AWS_BEDROCK_LLM_REGION ||
+ !process.env.AWS_BEDROCK_LLM_MODEL_PREFERENCE
+ )
+ throw new Error(
+ "AWS Bedrock Access Keys, model and region must be provided to use agents."
+ );
+ break;
default:
throw new Error(
@@ -183,6 +194,8 @@ class AgentHandler {
return "sonar-small-online";
case "textgenwebui":
return null;
+ case "bedrock":
+ return null;
default:
return "unknown";
}
@@ -210,7 +223,7 @@ class AgentHandler {
}
#providerSetupAndCheck() {
- this.provider = this.invocation.workspace.agentProvider || "openai";
+ this.provider = this.invocation.workspace.agentProvider;
this.model = this.#fetchModel();
this.log(`Start ${this.#invocationUUID}::${this.provider}:${this.model}`);
this.#checkSetup();
diff --git a/server/utils/helpers/index.js b/server/utils/helpers/index.js
index 439400696..2f6ea5146 100644
--- a/server/utils/helpers/index.js
+++ b/server/utils/helpers/index.js
@@ -140,6 +140,9 @@ function getLLMProvider({ provider = null, model = null } = {}) {
case "generic-openai":
const { GenericOpenAiLLM } = require("../AiProviders/genericOpenAi");
return new GenericOpenAiLLM(embedder, model);
+ case "bedrock":
+ const { AWSBedrockLLM } = require("../AiProviders/bedrock");
+ return new AWSBedrockLLM(embedder, model);
default:
throw new Error(
`ENV: No valid LLM_PROVIDER value found in environment! Using ${process.env.LLM_PROVIDER}`
diff --git a/server/utils/helpers/updateENV.js b/server/utils/helpers/updateENV.js
index 5b3e2f66d..d39941ec4 100644
--- a/server/utils/helpers/updateENV.js
+++ b/server/utils/helpers/updateENV.js
@@ -208,6 +208,28 @@ const KEY_MAPPING = {
checks: [nonZero],
},
+ // AWS Bedrock LLM InferenceSettings
+ AwsBedrockLLMAccessKeyId: {
+ envKey: "AWS_BEDROCK_LLM_ACCESS_KEY_ID",
+ checks: [isNotEmpty],
+ },
+ AwsBedrockLLMAccessKey: {
+ envKey: "AWS_BEDROCK_LLM_ACCESS_KEY",
+ checks: [isNotEmpty],
+ },
+ AwsBedrockLLMRegion: {
+ envKey: "AWS_BEDROCK_LLM_REGION",
+ checks: [isNotEmpty],
+ },
+ AwsBedrockLLMModel: {
+ envKey: "AWS_BEDROCK_LLM_MODEL_PREFERENCE",
+ checks: [isNotEmpty],
+ },
+ AwsBedrockLLMTokenLimit: {
+ envKey: "AWS_BEDROCK_LLM_MODEL_TOKEN_LIMIT",
+ checks: [nonZero],
+ },
+
EmbeddingEngine: {
envKey: "EMBEDDING_ENGINE",
checks: [supportedEmbeddingModel],
@@ -541,6 +563,7 @@ function supportedLLM(input = "") {
"cohere",
"litellm",
"generic-openai",
+ "bedrock",
].includes(input);
return validSelection ? null : `${input} is not a valid LLM provider.`;
}
diff --git a/server/yarn.lock b/server/yarn.lock
index 96df39c4a..8369d829c 100644
--- a/server/yarn.lock
+++ b/server/yarn.lock
@@ -54,6 +54,552 @@
node-fetch "^2.6.7"
web-streams-polyfill "^3.2.1"
+"@aws-crypto/crc32@5.2.0":
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/@aws-crypto/crc32/-/crc32-5.2.0.tgz#cfcc22570949c98c6689cfcbd2d693d36cdae2e1"
+ integrity sha512-nLbCWqQNgUiwwtFsen1AdzAtvuLRsQS8rYgMuxCrdKf9kOssamGLuPwyTY9wyYblNr9+1XM8v6zoDTPPSIeANg==
+ dependencies:
+ "@aws-crypto/util" "^5.2.0"
+ "@aws-sdk/types" "^3.222.0"
+ tslib "^2.6.2"
+
+"@aws-crypto/sha256-browser@5.2.0":
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-browser/-/sha256-browser-5.2.0.tgz#153895ef1dba6f9fce38af550e0ef58988eb649e"
+ integrity sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==
+ dependencies:
+ "@aws-crypto/sha256-js" "^5.2.0"
+ "@aws-crypto/supports-web-crypto" "^5.2.0"
+ "@aws-crypto/util" "^5.2.0"
+ "@aws-sdk/types" "^3.222.0"
+ "@aws-sdk/util-locate-window" "^3.0.0"
+ "@smithy/util-utf8" "^2.0.0"
+ tslib "^2.6.2"
+
+"@aws-crypto/sha256-js@5.2.0", "@aws-crypto/sha256-js@^5.2.0":
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-js/-/sha256-js-5.2.0.tgz#c4fdb773fdbed9a664fc1a95724e206cf3860042"
+ integrity sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==
+ dependencies:
+ "@aws-crypto/util" "^5.2.0"
+ "@aws-sdk/types" "^3.222.0"
+ tslib "^2.6.2"
+
+"@aws-crypto/supports-web-crypto@^5.2.0":
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/@aws-crypto/supports-web-crypto/-/supports-web-crypto-5.2.0.tgz#a1e399af29269be08e695109aa15da0a07b5b5fb"
+ integrity sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==
+ dependencies:
+ tslib "^2.6.2"
+
+"@aws-crypto/util@^5.2.0":
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/@aws-crypto/util/-/util-5.2.0.tgz#71284c9cffe7927ddadac793c14f14886d3876da"
+ integrity sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==
+ dependencies:
+ "@aws-sdk/types" "^3.222.0"
+ "@smithy/util-utf8" "^2.0.0"
+ tslib "^2.6.2"
+
+"@aws-sdk/client-bedrock-agent-runtime@^3.583.0":
+ version "3.616.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/client-bedrock-agent-runtime/-/client-bedrock-agent-runtime-3.616.0.tgz#50d4a27235ddc55a7b36da524b7989ff57d55ad0"
+ integrity sha512-LmKgpTNNqJ0ClfDL1ZmssxiADS3hoznc4Tidh+M7SUJKmsd/iyPlyhu0Lwluw0k4wnPGqoDFwDWzjAzdxeCidw==
+ dependencies:
+ "@aws-crypto/sha256-browser" "5.2.0"
+ "@aws-crypto/sha256-js" "5.2.0"
+ "@aws-sdk/client-sso-oidc" "3.616.0"
+ "@aws-sdk/client-sts" "3.616.0"
+ "@aws-sdk/core" "3.616.0"
+ "@aws-sdk/credential-provider-node" "3.616.0"
+ "@aws-sdk/middleware-host-header" "3.616.0"
+ "@aws-sdk/middleware-logger" "3.609.0"
+ "@aws-sdk/middleware-recursion-detection" "3.616.0"
+ "@aws-sdk/middleware-user-agent" "3.616.0"
+ "@aws-sdk/region-config-resolver" "3.614.0"
+ "@aws-sdk/types" "3.609.0"
+ "@aws-sdk/util-endpoints" "3.614.0"
+ "@aws-sdk/util-user-agent-browser" "3.609.0"
+ "@aws-sdk/util-user-agent-node" "3.614.0"
+ "@smithy/config-resolver" "^3.0.5"
+ "@smithy/core" "^2.2.7"
+ "@smithy/eventstream-serde-browser" "^3.0.4"
+ "@smithy/eventstream-serde-config-resolver" "^3.0.3"
+ "@smithy/eventstream-serde-node" "^3.0.4"
+ "@smithy/fetch-http-handler" "^3.2.2"
+ "@smithy/hash-node" "^3.0.3"
+ "@smithy/invalid-dependency" "^3.0.3"
+ "@smithy/middleware-content-length" "^3.0.4"
+ "@smithy/middleware-endpoint" "^3.0.5"
+ "@smithy/middleware-retry" "^3.0.10"
+ "@smithy/middleware-serde" "^3.0.3"
+ "@smithy/middleware-stack" "^3.0.3"
+ "@smithy/node-config-provider" "^3.1.4"
+ "@smithy/node-http-handler" "^3.1.3"
+ "@smithy/protocol-http" "^4.0.4"
+ "@smithy/smithy-client" "^3.1.8"
+ "@smithy/types" "^3.3.0"
+ "@smithy/url-parser" "^3.0.3"
+ "@smithy/util-base64" "^3.0.0"
+ "@smithy/util-body-length-browser" "^3.0.0"
+ "@smithy/util-body-length-node" "^3.0.0"
+ "@smithy/util-defaults-mode-browser" "^3.0.10"
+ "@smithy/util-defaults-mode-node" "^3.0.10"
+ "@smithy/util-endpoints" "^2.0.5"
+ "@smithy/util-middleware" "^3.0.3"
+ "@smithy/util-retry" "^3.0.3"
+ "@smithy/util-utf8" "^3.0.0"
+ tslib "^2.6.2"
+
+"@aws-sdk/client-bedrock-runtime@^3.602.0":
+ version "3.616.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/client-bedrock-runtime/-/client-bedrock-runtime-3.616.0.tgz#247df230def2997ece4964dfeb1b286f5f0ce159"
+ integrity sha512-3uvKafBwlrJp2/Me/BMdvYf3J127vC69aDJloElX9eClhSBDwIQ6C7tuXmhqb662mKNy5iqXcmYhmv9FowevJw==
+ dependencies:
+ "@aws-crypto/sha256-browser" "5.2.0"
+ "@aws-crypto/sha256-js" "5.2.0"
+ "@aws-sdk/client-sso-oidc" "3.616.0"
+ "@aws-sdk/client-sts" "3.616.0"
+ "@aws-sdk/core" "3.616.0"
+ "@aws-sdk/credential-provider-node" "3.616.0"
+ "@aws-sdk/middleware-host-header" "3.616.0"
+ "@aws-sdk/middleware-logger" "3.609.0"
+ "@aws-sdk/middleware-recursion-detection" "3.616.0"
+ "@aws-sdk/middleware-user-agent" "3.616.0"
+ "@aws-sdk/region-config-resolver" "3.614.0"
+ "@aws-sdk/types" "3.609.0"
+ "@aws-sdk/util-endpoints" "3.614.0"
+ "@aws-sdk/util-user-agent-browser" "3.609.0"
+ "@aws-sdk/util-user-agent-node" "3.614.0"
+ "@smithy/config-resolver" "^3.0.5"
+ "@smithy/core" "^2.2.7"
+ "@smithy/eventstream-serde-browser" "^3.0.4"
+ "@smithy/eventstream-serde-config-resolver" "^3.0.3"
+ "@smithy/eventstream-serde-node" "^3.0.4"
+ "@smithy/fetch-http-handler" "^3.2.2"
+ "@smithy/hash-node" "^3.0.3"
+ "@smithy/invalid-dependency" "^3.0.3"
+ "@smithy/middleware-content-length" "^3.0.4"
+ "@smithy/middleware-endpoint" "^3.0.5"
+ "@smithy/middleware-retry" "^3.0.10"
+ "@smithy/middleware-serde" "^3.0.3"
+ "@smithy/middleware-stack" "^3.0.3"
+ "@smithy/node-config-provider" "^3.1.4"
+ "@smithy/node-http-handler" "^3.1.3"
+ "@smithy/protocol-http" "^4.0.4"
+ "@smithy/smithy-client" "^3.1.8"
+ "@smithy/types" "^3.3.0"
+ "@smithy/url-parser" "^3.0.3"
+ "@smithy/util-base64" "^3.0.0"
+ "@smithy/util-body-length-browser" "^3.0.0"
+ "@smithy/util-body-length-node" "^3.0.0"
+ "@smithy/util-defaults-mode-browser" "^3.0.10"
+ "@smithy/util-defaults-mode-node" "^3.0.10"
+ "@smithy/util-endpoints" "^2.0.5"
+ "@smithy/util-middleware" "^3.0.3"
+ "@smithy/util-retry" "^3.0.3"
+ "@smithy/util-stream" "^3.1.0"
+ "@smithy/util-utf8" "^3.0.0"
+ tslib "^2.6.2"
+
+"@aws-sdk/client-kendra@^3.352.0":
+ version "3.616.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/client-kendra/-/client-kendra-3.616.0.tgz#1ac7459c60d3e0f0e8c34fe1684f51b65a802c57"
+ integrity sha512-pSl4+SrMZL/LuZ883pIvPR0VuU4DjYwb9kWFsUHGZDQtuyU0puM90f4bEUzxlwS5az5kiioTEMYwqaRst7d7xQ==
+ dependencies:
+ "@aws-crypto/sha256-browser" "5.2.0"
+ "@aws-crypto/sha256-js" "5.2.0"
+ "@aws-sdk/client-sso-oidc" "3.616.0"
+ "@aws-sdk/client-sts" "3.616.0"
+ "@aws-sdk/core" "3.616.0"
+ "@aws-sdk/credential-provider-node" "3.616.0"
+ "@aws-sdk/middleware-host-header" "3.616.0"
+ "@aws-sdk/middleware-logger" "3.609.0"
+ "@aws-sdk/middleware-recursion-detection" "3.616.0"
+ "@aws-sdk/middleware-user-agent" "3.616.0"
+ "@aws-sdk/region-config-resolver" "3.614.0"
+ "@aws-sdk/types" "3.609.0"
+ "@aws-sdk/util-endpoints" "3.614.0"
+ "@aws-sdk/util-user-agent-browser" "3.609.0"
+ "@aws-sdk/util-user-agent-node" "3.614.0"
+ "@smithy/config-resolver" "^3.0.5"
+ "@smithy/core" "^2.2.7"
+ "@smithy/fetch-http-handler" "^3.2.2"
+ "@smithy/hash-node" "^3.0.3"
+ "@smithy/invalid-dependency" "^3.0.3"
+ "@smithy/middleware-content-length" "^3.0.4"
+ "@smithy/middleware-endpoint" "^3.0.5"
+ "@smithy/middleware-retry" "^3.0.10"
+ "@smithy/middleware-serde" "^3.0.3"
+ "@smithy/middleware-stack" "^3.0.3"
+ "@smithy/node-config-provider" "^3.1.4"
+ "@smithy/node-http-handler" "^3.1.3"
+ "@smithy/protocol-http" "^4.0.4"
+ "@smithy/smithy-client" "^3.1.8"
+ "@smithy/types" "^3.3.0"
+ "@smithy/url-parser" "^3.0.3"
+ "@smithy/util-base64" "^3.0.0"
+ "@smithy/util-body-length-browser" "^3.0.0"
+ "@smithy/util-body-length-node" "^3.0.0"
+ "@smithy/util-defaults-mode-browser" "^3.0.10"
+ "@smithy/util-defaults-mode-node" "^3.0.10"
+ "@smithy/util-endpoints" "^2.0.5"
+ "@smithy/util-middleware" "^3.0.3"
+ "@smithy/util-retry" "^3.0.3"
+ "@smithy/util-utf8" "^3.0.0"
+ tslib "^2.6.2"
+ uuid "^9.0.1"
+
+"@aws-sdk/client-sso-oidc@3.616.0":
+ version "3.616.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.616.0.tgz#eb298b1c543465a5f7ebd28f8148d68654edf9d1"
+ integrity sha512-YY1hpYS/G1uRGjQf88dL8VLHkP/IjGxKeXdhy+JnzMdCkAWl3V9j0fEALw40NZe0x79gr6R2KUOUH/IKYQfUmg==
+ dependencies:
+ "@aws-crypto/sha256-browser" "5.2.0"
+ "@aws-crypto/sha256-js" "5.2.0"
+ "@aws-sdk/core" "3.616.0"
+ "@aws-sdk/credential-provider-node" "3.616.0"
+ "@aws-sdk/middleware-host-header" "3.616.0"
+ "@aws-sdk/middleware-logger" "3.609.0"
+ "@aws-sdk/middleware-recursion-detection" "3.616.0"
+ "@aws-sdk/middleware-user-agent" "3.616.0"
+ "@aws-sdk/region-config-resolver" "3.614.0"
+ "@aws-sdk/types" "3.609.0"
+ "@aws-sdk/util-endpoints" "3.614.0"
+ "@aws-sdk/util-user-agent-browser" "3.609.0"
+ "@aws-sdk/util-user-agent-node" "3.614.0"
+ "@smithy/config-resolver" "^3.0.5"
+ "@smithy/core" "^2.2.7"
+ "@smithy/fetch-http-handler" "^3.2.2"
+ "@smithy/hash-node" "^3.0.3"
+ "@smithy/invalid-dependency" "^3.0.3"
+ "@smithy/middleware-content-length" "^3.0.4"
+ "@smithy/middleware-endpoint" "^3.0.5"
+ "@smithy/middleware-retry" "^3.0.10"
+ "@smithy/middleware-serde" "^3.0.3"
+ "@smithy/middleware-stack" "^3.0.3"
+ "@smithy/node-config-provider" "^3.1.4"
+ "@smithy/node-http-handler" "^3.1.3"
+ "@smithy/protocol-http" "^4.0.4"
+ "@smithy/smithy-client" "^3.1.8"
+ "@smithy/types" "^3.3.0"
+ "@smithy/url-parser" "^3.0.3"
+ "@smithy/util-base64" "^3.0.0"
+ "@smithy/util-body-length-browser" "^3.0.0"
+ "@smithy/util-body-length-node" "^3.0.0"
+ "@smithy/util-defaults-mode-browser" "^3.0.10"
+ "@smithy/util-defaults-mode-node" "^3.0.10"
+ "@smithy/util-endpoints" "^2.0.5"
+ "@smithy/util-middleware" "^3.0.3"
+ "@smithy/util-retry" "^3.0.3"
+ "@smithy/util-utf8" "^3.0.0"
+ tslib "^2.6.2"
+
+"@aws-sdk/client-sso@3.616.0":
+ version "3.616.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.616.0.tgz#d4bbb279daf6b4fde7ec2df9243526eb5119b0c0"
+ integrity sha512-hwW0u1f8U4dSloAe61/eupUiGd5Q13B72BuzGxvRk0cIpYX/2m0KBG8DDl7jW1b2QQ+CflTLpG2XUf2+vRJxGA==
+ dependencies:
+ "@aws-crypto/sha256-browser" "5.2.0"
+ "@aws-crypto/sha256-js" "5.2.0"
+ "@aws-sdk/core" "3.616.0"
+ "@aws-sdk/middleware-host-header" "3.616.0"
+ "@aws-sdk/middleware-logger" "3.609.0"
+ "@aws-sdk/middleware-recursion-detection" "3.616.0"
+ "@aws-sdk/middleware-user-agent" "3.616.0"
+ "@aws-sdk/region-config-resolver" "3.614.0"
+ "@aws-sdk/types" "3.609.0"
+ "@aws-sdk/util-endpoints" "3.614.0"
+ "@aws-sdk/util-user-agent-browser" "3.609.0"
+ "@aws-sdk/util-user-agent-node" "3.614.0"
+ "@smithy/config-resolver" "^3.0.5"
+ "@smithy/core" "^2.2.7"
+ "@smithy/fetch-http-handler" "^3.2.2"
+ "@smithy/hash-node" "^3.0.3"
+ "@smithy/invalid-dependency" "^3.0.3"
+ "@smithy/middleware-content-length" "^3.0.4"
+ "@smithy/middleware-endpoint" "^3.0.5"
+ "@smithy/middleware-retry" "^3.0.10"
+ "@smithy/middleware-serde" "^3.0.3"
+ "@smithy/middleware-stack" "^3.0.3"
+ "@smithy/node-config-provider" "^3.1.4"
+ "@smithy/node-http-handler" "^3.1.3"
+ "@smithy/protocol-http" "^4.0.4"
+ "@smithy/smithy-client" "^3.1.8"
+ "@smithy/types" "^3.3.0"
+ "@smithy/url-parser" "^3.0.3"
+ "@smithy/util-base64" "^3.0.0"
+ "@smithy/util-body-length-browser" "^3.0.0"
+ "@smithy/util-body-length-node" "^3.0.0"
+ "@smithy/util-defaults-mode-browser" "^3.0.10"
+ "@smithy/util-defaults-mode-node" "^3.0.10"
+ "@smithy/util-endpoints" "^2.0.5"
+ "@smithy/util-middleware" "^3.0.3"
+ "@smithy/util-retry" "^3.0.3"
+ "@smithy/util-utf8" "^3.0.0"
+ tslib "^2.6.2"
+
+"@aws-sdk/client-sts@3.616.0":
+ version "3.616.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.616.0.tgz#9616c3693d9ae5232ccc12d570f46abe4ec49d2b"
+ integrity sha512-FP7i7hS5FpReqnysQP1ukQF1OUWy8lkomaOnbu15H415YUrfCp947SIx6+BItjmx+esKxPkEjh/fbCVzw2D6hQ==
+ dependencies:
+ "@aws-crypto/sha256-browser" "5.2.0"
+ "@aws-crypto/sha256-js" "5.2.0"
+ "@aws-sdk/client-sso-oidc" "3.616.0"
+ "@aws-sdk/core" "3.616.0"
+ "@aws-sdk/credential-provider-node" "3.616.0"
+ "@aws-sdk/middleware-host-header" "3.616.0"
+ "@aws-sdk/middleware-logger" "3.609.0"
+ "@aws-sdk/middleware-recursion-detection" "3.616.0"
+ "@aws-sdk/middleware-user-agent" "3.616.0"
+ "@aws-sdk/region-config-resolver" "3.614.0"
+ "@aws-sdk/types" "3.609.0"
+ "@aws-sdk/util-endpoints" "3.614.0"
+ "@aws-sdk/util-user-agent-browser" "3.609.0"
+ "@aws-sdk/util-user-agent-node" "3.614.0"
+ "@smithy/config-resolver" "^3.0.5"
+ "@smithy/core" "^2.2.7"
+ "@smithy/fetch-http-handler" "^3.2.2"
+ "@smithy/hash-node" "^3.0.3"
+ "@smithy/invalid-dependency" "^3.0.3"
+ "@smithy/middleware-content-length" "^3.0.4"
+ "@smithy/middleware-endpoint" "^3.0.5"
+ "@smithy/middleware-retry" "^3.0.10"
+ "@smithy/middleware-serde" "^3.0.3"
+ "@smithy/middleware-stack" "^3.0.3"
+ "@smithy/node-config-provider" "^3.1.4"
+ "@smithy/node-http-handler" "^3.1.3"
+ "@smithy/protocol-http" "^4.0.4"
+ "@smithy/smithy-client" "^3.1.8"
+ "@smithy/types" "^3.3.0"
+ "@smithy/url-parser" "^3.0.3"
+ "@smithy/util-base64" "^3.0.0"
+ "@smithy/util-body-length-browser" "^3.0.0"
+ "@smithy/util-body-length-node" "^3.0.0"
+ "@smithy/util-defaults-mode-browser" "^3.0.10"
+ "@smithy/util-defaults-mode-node" "^3.0.10"
+ "@smithy/util-endpoints" "^2.0.5"
+ "@smithy/util-middleware" "^3.0.3"
+ "@smithy/util-retry" "^3.0.3"
+ "@smithy/util-utf8" "^3.0.0"
+ tslib "^2.6.2"
+
+"@aws-sdk/core@3.616.0":
+ version "3.616.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.616.0.tgz#4d7f79cd62e545e6db677216a17dab84c2b4cda3"
+ integrity sha512-O/urkh2kECs/IqZIVZxyeyHZ7OR2ZWhLNK7btsVQBQvJKrEspLrk/Fp20Qfg5JDerQfBN83ZbyRXLJOOucdZpw==
+ dependencies:
+ "@smithy/core" "^2.2.7"
+ "@smithy/protocol-http" "^4.0.4"
+ "@smithy/signature-v4" "^4.0.0"
+ "@smithy/smithy-client" "^3.1.8"
+ "@smithy/types" "^3.3.0"
+ fast-xml-parser "4.2.5"
+ tslib "^2.6.2"
+
+"@aws-sdk/credential-provider-env@3.609.0":
+ version "3.609.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.609.0.tgz#b3f32e5a8ff8b541e151eadadfb60283aa3d835e"
+ integrity sha512-v69ZCWcec2iuV9vLVJMa6fAb5xwkzN4jYIT8yjo2c4Ia/j976Q+TPf35Pnz5My48Xr94EFcaBazrWedF+kwfuQ==
+ dependencies:
+ "@aws-sdk/types" "3.609.0"
+ "@smithy/property-provider" "^3.1.3"
+ "@smithy/types" "^3.3.0"
+ tslib "^2.6.2"
+
+"@aws-sdk/credential-provider-http@3.616.0":
+ version "3.616.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.616.0.tgz#207cbe3e74c6c55208fd4bf0ff59df6e765d2c41"
+ integrity sha512-1rgCkr7XvEMBl7qWCo5BKu3yAxJs71dRaZ55Xnjte/0ZHH6Oc93ZrHzyYy6UH6t0nZrH+FAuw7Yko2YtDDwDeg==
+ dependencies:
+ "@aws-sdk/types" "3.609.0"
+ "@smithy/fetch-http-handler" "^3.2.2"
+ "@smithy/node-http-handler" "^3.1.3"
+ "@smithy/property-provider" "^3.1.3"
+ "@smithy/protocol-http" "^4.0.4"
+ "@smithy/smithy-client" "^3.1.8"
+ "@smithy/types" "^3.3.0"
+ "@smithy/util-stream" "^3.1.0"
+ tslib "^2.6.2"
+
+"@aws-sdk/credential-provider-ini@3.616.0":
+ version "3.616.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.616.0.tgz#5bb726e969908a28e960d65016e7440b78056209"
+ integrity sha512-5gQdMr9cca3xV7FF2SxpxWGH2t6+t4o+XBGiwsHm8muEjf4nUmw7Ij863x25Tjt2viPYV0UStczSb5Sihp7bkA==
+ dependencies:
+ "@aws-sdk/credential-provider-env" "3.609.0"
+ "@aws-sdk/credential-provider-http" "3.616.0"
+ "@aws-sdk/credential-provider-process" "3.614.0"
+ "@aws-sdk/credential-provider-sso" "3.616.0"
+ "@aws-sdk/credential-provider-web-identity" "3.609.0"
+ "@aws-sdk/types" "3.609.0"
+ "@smithy/credential-provider-imds" "^3.1.4"
+ "@smithy/property-provider" "^3.1.3"
+ "@smithy/shared-ini-file-loader" "^3.1.4"
+ "@smithy/types" "^3.3.0"
+ tslib "^2.6.2"
+
+"@aws-sdk/credential-provider-node@3.616.0", "@aws-sdk/credential-provider-node@^3.600.0":
+ version "3.616.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.616.0.tgz#0887ab7b9bab3031fe3ed8aaee2d4abb5091a67f"
+ integrity sha512-Se+u6DAxjDPjKE3vX1X2uxjkWgGq69BTo0uTB0vDUiWwBVgh16s9BsBhSAlKEH1CCbbJHvOg4YdTrzjwzqyClg==
+ dependencies:
+ "@aws-sdk/credential-provider-env" "3.609.0"
+ "@aws-sdk/credential-provider-http" "3.616.0"
+ "@aws-sdk/credential-provider-ini" "3.616.0"
+ "@aws-sdk/credential-provider-process" "3.614.0"
+ "@aws-sdk/credential-provider-sso" "3.616.0"
+ "@aws-sdk/credential-provider-web-identity" "3.609.0"
+ "@aws-sdk/types" "3.609.0"
+ "@smithy/credential-provider-imds" "^3.1.4"
+ "@smithy/property-provider" "^3.1.3"
+ "@smithy/shared-ini-file-loader" "^3.1.4"
+ "@smithy/types" "^3.3.0"
+ tslib "^2.6.2"
+
+"@aws-sdk/credential-provider-process@3.614.0":
+ version "3.614.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.614.0.tgz#b6b9382346dfe51c8fb448595ae55b930532c897"
+ integrity sha512-Q0SI0sTRwi8iNODLs5+bbv8vgz8Qy2QdxbCHnPk/6Cx6LMf7i3dqmWquFbspqFRd8QiqxStrblwxrUYZi09tkA==
+ dependencies:
+ "@aws-sdk/types" "3.609.0"
+ "@smithy/property-provider" "^3.1.3"
+ "@smithy/shared-ini-file-loader" "^3.1.4"
+ "@smithy/types" "^3.3.0"
+ tslib "^2.6.2"
+
+"@aws-sdk/credential-provider-sso@3.616.0":
+ version "3.616.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.616.0.tgz#051b1a2eb31fa30866f2c1e95bbcf965911b16c3"
+ integrity sha512-3rsWs9GBi8Z8Gps5ROwqguxtw+J6OIg1vawZMLRNMqqZoBvbOToe9wEnpid8ylU+27+oG8uibJNlNuRyXApUjw==
+ dependencies:
+ "@aws-sdk/client-sso" "3.616.0"
+ "@aws-sdk/token-providers" "3.614.0"
+ "@aws-sdk/types" "3.609.0"
+ "@smithy/property-provider" "^3.1.3"
+ "@smithy/shared-ini-file-loader" "^3.1.4"
+ "@smithy/types" "^3.3.0"
+ tslib "^2.6.2"
+
+"@aws-sdk/credential-provider-web-identity@3.609.0":
+ version "3.609.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.609.0.tgz#d29222d6894347ee89c781ea090d388656df1d2a"
+ integrity sha512-U+PG8NhlYYF45zbr1km3ROtBMYqyyj/oK8NRp++UHHeuavgrP+4wJ4wQnlEaKvJBjevfo3+dlIBcaeQ7NYejWg==
+ dependencies:
+ "@aws-sdk/types" "3.609.0"
+ "@smithy/property-provider" "^3.1.3"
+ "@smithy/types" "^3.3.0"
+ tslib "^2.6.2"
+
+"@aws-sdk/middleware-host-header@3.616.0":
+ version "3.616.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.616.0.tgz#542dac3370374ba3733c96a6bb153e6fe53fafe6"
+ integrity sha512-mhNfHuGhCDZwYCABebaOvTgOM44UCZZRq2cBpgPZLVKP0ydAv5aFHXv01goexxXHqgHoEGx0uXWxlw0s2EpFDg==
+ dependencies:
+ "@aws-sdk/types" "3.609.0"
+ "@smithy/protocol-http" "^4.0.4"
+ "@smithy/types" "^3.3.0"
+ tslib "^2.6.2"
+
+"@aws-sdk/middleware-logger@3.609.0":
+ version "3.609.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.609.0.tgz#ed44d201f091b8bac908cbf14724c7a4d492553f"
+ integrity sha512-S62U2dy4jMDhDFDK5gZ4VxFdWzCtLzwbYyFZx2uvPYTECkepLUfzLic2BHg2Qvtu4QjX+oGE3P/7fwaGIsGNuQ==
+ dependencies:
+ "@aws-sdk/types" "3.609.0"
+ "@smithy/types" "^3.3.0"
+ tslib "^2.6.2"
+
+"@aws-sdk/middleware-recursion-detection@3.616.0":
+ version "3.616.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.616.0.tgz#fa87c9d77c6f85d02b9cf8394f52b2d6334a63af"
+ integrity sha512-LQKAcrZRrR9EGez4fdCIVjdn0Ot2HMN12ChnoMGEU6oIxnQ2aSC7iASFFCV39IYfeMh7iSCPj7Wopqw8rAouzg==
+ dependencies:
+ "@aws-sdk/types" "3.609.0"
+ "@smithy/protocol-http" "^4.0.4"
+ "@smithy/types" "^3.3.0"
+ tslib "^2.6.2"
+
+"@aws-sdk/middleware-user-agent@3.616.0":
+ version "3.616.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.616.0.tgz#fe11d62e9cdc96a354c37968499fa32637a70f45"
+ integrity sha512-iMcAb4E+Z3vuEcrDsG6T2OBNiqWAquwahP9qepHqfmnmJqHr1mSHtXDYTGBNid31+621sUQmneUQ+fagpGAe4w==
+ dependencies:
+ "@aws-sdk/types" "3.609.0"
+ "@aws-sdk/util-endpoints" "3.614.0"
+ "@smithy/protocol-http" "^4.0.4"
+ "@smithy/types" "^3.3.0"
+ tslib "^2.6.2"
+
+"@aws-sdk/region-config-resolver@3.614.0":
+ version "3.614.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/region-config-resolver/-/region-config-resolver-3.614.0.tgz#9cebb31a5bcfea2a41891fff7f28d0164cde179a"
+ integrity sha512-vDCeMXvic/LU0KFIUjpC3RiSTIkkvESsEfbVHiHH0YINfl8HnEqR5rj+L8+phsCeVg2+LmYwYxd5NRz4PHxt5g==
+ dependencies:
+ "@aws-sdk/types" "3.609.0"
+ "@smithy/node-config-provider" "^3.1.4"
+ "@smithy/types" "^3.3.0"
+ "@smithy/util-config-provider" "^3.0.0"
+ "@smithy/util-middleware" "^3.0.3"
+ tslib "^2.6.2"
+
+"@aws-sdk/token-providers@3.614.0":
+ version "3.614.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.614.0.tgz#88da04f6d4ce916b0b0f6e045676d04201fb47fd"
+ integrity sha512-okItqyY6L9IHdxqs+Z116y5/nda7rHxLvROxtAJdLavWTYDydxrZstImNgGWTeVdmc0xX2gJCI77UYUTQWnhRw==
+ dependencies:
+ "@aws-sdk/types" "3.609.0"
+ "@smithy/property-provider" "^3.1.3"
+ "@smithy/shared-ini-file-loader" "^3.1.4"
+ "@smithy/types" "^3.3.0"
+ tslib "^2.6.2"
+
+"@aws-sdk/types@3.609.0", "@aws-sdk/types@^3.222.0":
+ version "3.609.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.609.0.tgz#06b39d799c9f197a7b43670243e8e78a3bf7d6a5"
+ integrity sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==
+ dependencies:
+ "@smithy/types" "^3.3.0"
+ tslib "^2.6.2"
+
+"@aws-sdk/util-endpoints@3.614.0":
+ version "3.614.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.614.0.tgz#6564b0ffd7dc3728221e9f9821f5aab1cc58468e"
+ integrity sha512-wK2cdrXHH4oz4IomV/yrGkftU9A+ITB6nFL+rxxyO78is2ifHJpFdV4aqk4LSkXYPi6CXWNru/Dqc7yiKXgJPw==
+ dependencies:
+ "@aws-sdk/types" "3.609.0"
+ "@smithy/types" "^3.3.0"
+ "@smithy/util-endpoints" "^2.0.5"
+ tslib "^2.6.2"
+
+"@aws-sdk/util-locate-window@^3.0.0":
+ version "3.568.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/util-locate-window/-/util-locate-window-3.568.0.tgz#2acc4b2236af0d7494f7e517401ba6b3c4af11ff"
+ integrity sha512-3nh4TINkXYr+H41QaPelCceEB2FXP3fxp93YZXB/kqJvX0U9j0N0Uk45gvsjmEPzG8XxkPEeLIfT2I1M7A6Lig==
+ dependencies:
+ tslib "^2.6.2"
+
+"@aws-sdk/util-user-agent-browser@3.609.0":
+ version "3.609.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.609.0.tgz#aa15421b2e32ae8bc589dac2bd6e8969832ce588"
+ integrity sha512-fojPU+mNahzQ0YHYBsx0ZIhmMA96H+ZIZ665ObU9tl+SGdbLneVZVikGve+NmHTQwHzwkFsZYYnVKAkreJLAtA==
+ dependencies:
+ "@aws-sdk/types" "3.609.0"
+ "@smithy/types" "^3.3.0"
+ bowser "^2.11.0"
+ tslib "^2.6.2"
+
+"@aws-sdk/util-user-agent-node@3.614.0":
+ version "3.614.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.614.0.tgz#1e3f49a80f841a3f21647baed2adce01aac5beb5"
+ integrity sha512-15ElZT88peoHnq5TEoEtZwoXTXRxNrk60TZNdpl/TUBJ5oNJ9Dqb5Z4ryb8ofN6nm9aFf59GVAerFDz8iUoHBA==
+ dependencies:
+ "@aws-sdk/types" "3.609.0"
+ "@smithy/node-config-provider" "^3.1.4"
+ "@smithy/types" "^3.3.0"
+ tslib "^2.6.2"
+
"@azure-rest/core-client@^1.1.7":
version "1.4.0"
resolved "https://registry.yarnpkg.com/@azure-rest/core-client/-/core-client-1.4.0.tgz#3be28c02c6c20e49dea73a7f012daeeda4eacb8e"
@@ -622,6 +1168,18 @@
zod "^3.22.4"
zod-to-json-schema "^3.22.4"
+"@langchain/aws@^0.0.5":
+ version "0.0.5"
+ resolved "https://registry.yarnpkg.com/@langchain/aws/-/aws-0.0.5.tgz#eb5f97b170c25219eff0db83f291be5e19403936"
+ integrity sha512-l6OdEEXEVYYkp3wCOO0YAs4lnyOnZ65ypm9wg8ECPk/tTQQEKIQ7bMUmcyn3bo1ogcaMymChigX3qH6bI8lQog==
+ dependencies:
+ "@aws-sdk/client-bedrock-agent-runtime" "^3.583.0"
+ "@aws-sdk/client-bedrock-runtime" "^3.602.0"
+ "@aws-sdk/client-kendra" "^3.352.0"
+ "@aws-sdk/credential-provider-node" "^3.600.0"
+ "@langchain/core" ">=0.2.16 <0.3.0"
+ zod-to-json-schema "^3.22.5"
+
"@langchain/community@0.0.53", "@langchain/community@~0.0.47":
version "0.0.53"
resolved "https://registry.yarnpkg.com/@langchain/community/-/community-0.0.53.tgz#a9aaedffa0ed2977e8d302d74e9f90a49a6da037"
@@ -654,6 +1212,24 @@
zod "^3.22.4"
zod-to-json-schema "^3.22.3"
+"@langchain/core@>=0.2.16 <0.3.0":
+ version "0.2.18"
+ resolved "https://registry.yarnpkg.com/@langchain/core/-/core-0.2.18.tgz#1ac4f307fa217ab3555c9634147a6c4ad9826092"
+ integrity sha512-ru542BwNcsnDfjTeDbIkFIchwa54ctHZR+kVrC8U9NPS9/36iM8p8ruprOV7Zccj/oxtLE5UpEhV+9MZhVcFlA==
+ dependencies:
+ ansi-styles "^5.0.0"
+ camelcase "6"
+ decamelize "1.2.0"
+ js-tiktoken "^1.0.12"
+ langsmith "~0.1.39"
+ ml-distance "^4.0.0"
+ mustache "^4.2.0"
+ p-queue "^6.6.2"
+ p-retry "4"
+ uuid "^10.0.0"
+ zod "^3.22.4"
+ zod-to-json-schema "^3.22.3"
+
"@langchain/openai@0.0.28", "@langchain/openai@~0.0.28":
version "0.0.28"
resolved "https://registry.yarnpkg.com/@langchain/openai/-/openai-0.0.28.tgz#afaeec61b44816935db9ae937496c964c81ab571"
@@ -1114,6 +1690,441 @@
resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.29.6.tgz#4cd8372f9247372edd5fc5af44f67e2032c46e2f"
integrity sha512-aX5IFYWlMa7tQ8xZr3b2gtVReCvg7f3LEhjir/JAjX2bJCMVJA5tIPv30wTD4KDfcwMd7DDYY3hFDeGmOgtrZQ==
+"@smithy/abort-controller@^3.1.1":
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/@smithy/abort-controller/-/abort-controller-3.1.1.tgz#291210611ff6afecfc198d0ca72d5771d8461d16"
+ integrity sha512-MBJBiidoe+0cTFhyxT8g+9g7CeVccLM0IOKKUMCNQ1CNMJ/eIfoo0RTfVrXOONEI1UCN1W+zkiHSbzUNE9dZtQ==
+ dependencies:
+ "@smithy/types" "^3.3.0"
+ tslib "^2.6.2"
+
+"@smithy/config-resolver@^3.0.5":
+ version "3.0.5"
+ resolved "https://registry.yarnpkg.com/@smithy/config-resolver/-/config-resolver-3.0.5.tgz#727978bba7ace754c741c259486a19d3083431fd"
+ integrity sha512-SkW5LxfkSI1bUC74OtfBbdz+grQXYiPYolyu8VfpLIjEoN/sHVBlLeGXMQ1vX4ejkgfv6sxVbQJ32yF2cl1veA==
+ dependencies:
+ "@smithy/node-config-provider" "^3.1.4"
+ "@smithy/types" "^3.3.0"
+ "@smithy/util-config-provider" "^3.0.0"
+ "@smithy/util-middleware" "^3.0.3"
+ tslib "^2.6.2"
+
+"@smithy/core@^2.2.7":
+ version "2.2.8"
+ resolved "https://registry.yarnpkg.com/@smithy/core/-/core-2.2.8.tgz#d1edc47584497c58aec741b0a2814cdc1db7b72c"
+ integrity sha512-1Y0XX0Ucyg0LWTfTVLWpmvSRtFRniykUl3dQ0os1sTd03mKDudR6mVyX+2ak1phwPXx2aEWMAAdW52JNi0mc3A==
+ dependencies:
+ "@smithy/middleware-endpoint" "^3.0.5"
+ "@smithy/middleware-retry" "^3.0.11"
+ "@smithy/middleware-serde" "^3.0.3"
+ "@smithy/protocol-http" "^4.0.4"
+ "@smithy/smithy-client" "^3.1.9"
+ "@smithy/types" "^3.3.0"
+ "@smithy/util-middleware" "^3.0.3"
+ tslib "^2.6.2"
+
+"@smithy/credential-provider-imds@^3.1.4":
+ version "3.1.4"
+ resolved "https://registry.yarnpkg.com/@smithy/credential-provider-imds/-/credential-provider-imds-3.1.4.tgz#797116f68cc3ffa658469558cc014f25d9febe09"
+ integrity sha512-NKyH01m97Xa5xf3pB2QOF3lnuE8RIK0hTVNU5zvZAwZU8uspYO4DHQVlK+Y5gwSrujTfHvbfd1D9UFJAc0iYKQ==
+ dependencies:
+ "@smithy/node-config-provider" "^3.1.4"
+ "@smithy/property-provider" "^3.1.3"
+ "@smithy/types" "^3.3.0"
+ "@smithy/url-parser" "^3.0.3"
+ tslib "^2.6.2"
+
+"@smithy/eventstream-codec@^3.1.2":
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/@smithy/eventstream-codec/-/eventstream-codec-3.1.2.tgz#4a1c72b34400631b829241151984a1ad8c4f963c"
+ integrity sha512-0mBcu49JWt4MXhrhRAlxASNy0IjDRFU+aWNDRal9OtUJvJNiwDuyKMUONSOjLjSCeGwZaE0wOErdqULer8r7yw==
+ dependencies:
+ "@aws-crypto/crc32" "5.2.0"
+ "@smithy/types" "^3.3.0"
+ "@smithy/util-hex-encoding" "^3.0.0"
+ tslib "^2.6.2"
+
+"@smithy/eventstream-serde-browser@^3.0.4":
+ version "3.0.5"
+ resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-3.0.5.tgz#3e971afd2b8a02a098af8decc4b9e3f35296d6a2"
+ integrity sha512-dEyiUYL/ekDfk+2Ra4GxV+xNnFoCmk1nuIXg+fMChFTrM2uI/1r9AdiTYzPqgb72yIv/NtAj6C3dG//1wwgakQ==
+ dependencies:
+ "@smithy/eventstream-serde-universal" "^3.0.4"
+ "@smithy/types" "^3.3.0"
+ tslib "^2.6.2"
+
+"@smithy/eventstream-serde-config-resolver@^3.0.3":
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.0.3.tgz#f852e096d0ad112363b4685e1d441088d1fce67a"
+ integrity sha512-NVTYjOuYpGfrN/VbRQgn31x73KDLfCXCsFdad8DiIc3IcdxL+dYA9zEQPyOP7Fy2QL8CPy2WE4WCUD+ZsLNfaQ==
+ dependencies:
+ "@smithy/types" "^3.3.0"
+ tslib "^2.6.2"
+
+"@smithy/eventstream-serde-node@^3.0.4":
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-node/-/eventstream-serde-node-3.0.4.tgz#6301752ca51b3ebabcd2dec112f1dacd990de4c1"
+ integrity sha512-mjlG0OzGAYuUpdUpflfb9zyLrBGgmQmrobNT8b42ZTsGv/J03+t24uhhtVEKG/b2jFtPIHF74Bq+VUtbzEKOKg==
+ dependencies:
+ "@smithy/eventstream-serde-universal" "^3.0.4"
+ "@smithy/types" "^3.3.0"
+ tslib "^2.6.2"
+
+"@smithy/eventstream-serde-universal@^3.0.4":
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-3.0.4.tgz#6754de5b94bdc286d8ef1d6bcf22d80f6ab68f30"
+ integrity sha512-Od9dv8zh3PgOD7Vj4T3HSuox16n0VG8jJIM2gvKASL6aCtcS8CfHZDWe1Ik3ZXW6xBouU+45Q5wgoliWDZiJ0A==
+ dependencies:
+ "@smithy/eventstream-codec" "^3.1.2"
+ "@smithy/types" "^3.3.0"
+ tslib "^2.6.2"
+
+"@smithy/fetch-http-handler@^3.2.2":
+ version "3.2.2"
+ resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.2.tgz#67e29be8815dcf793d14186cae00bccaeffb963c"
+ integrity sha512-3LaWlBZObyGrOOd7e5MlacnAKEwFBmAeiW/TOj2eR9475Vnq30uS2510+tnKbxrGjROfNdOhQqGo5j3sqLT6bA==
+ dependencies:
+ "@smithy/protocol-http" "^4.0.4"
+ "@smithy/querystring-builder" "^3.0.3"
+ "@smithy/types" "^3.3.0"
+ "@smithy/util-base64" "^3.0.0"
+ tslib "^2.6.2"
+
+"@smithy/hash-node@^3.0.3":
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/@smithy/hash-node/-/hash-node-3.0.3.tgz#82c5cb7b0f1a29ee7319081853d2d158c07dff24"
+ integrity sha512-2ctBXpPMG+B3BtWSGNnKELJ7SH9e4TNefJS0cd2eSkOOROeBnnVBnAy9LtJ8tY4vUEoe55N4CNPxzbWvR39iBw==
+ dependencies:
+ "@smithy/types" "^3.3.0"
+ "@smithy/util-buffer-from" "^3.0.0"
+ "@smithy/util-utf8" "^3.0.0"
+ tslib "^2.6.2"
+
+"@smithy/invalid-dependency@^3.0.3":
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/@smithy/invalid-dependency/-/invalid-dependency-3.0.3.tgz#8d9fd70e3a94b565a4eba4ffbdc95238e1930528"
+ integrity sha512-ID1eL/zpDULmHJbflb864k72/SNOZCADRc9i7Exq3RUNJw6raWUSlFEQ+3PX3EYs++bTxZB2dE9mEHTQLv61tw==
+ dependencies:
+ "@smithy/types" "^3.3.0"
+ tslib "^2.6.2"
+
+"@smithy/is-array-buffer@^2.2.0":
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz#f84f0d9f9a36601a9ca9381688bd1b726fd39111"
+ integrity sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==
+ dependencies:
+ tslib "^2.6.2"
+
+"@smithy/is-array-buffer@^3.0.0":
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz#9a95c2d46b8768946a9eec7f935feaddcffa5e7a"
+ integrity sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==
+ dependencies:
+ tslib "^2.6.2"
+
+"@smithy/middleware-content-length@^3.0.4":
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/@smithy/middleware-content-length/-/middleware-content-length-3.0.4.tgz#7c5804775da0d3d0c045d52293298f608e72311b"
+ integrity sha512-wySGje/KfhsnF8YSh9hP16pZcl3C+X6zRsvSfItQGvCyte92LliilU3SD0nR7kTlxnAJwxY8vE/k4Eoezj847Q==
+ dependencies:
+ "@smithy/protocol-http" "^4.0.4"
+ "@smithy/types" "^3.3.0"
+ tslib "^2.6.2"
+
+"@smithy/middleware-endpoint@^3.0.5":
+ version "3.0.5"
+ resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-3.0.5.tgz#76e8a559e891282d3ede9ab8e228e66cbee89b21"
+ integrity sha512-V4acqqrh5tDxUEGVTOgf2lYMZqPQsoGntCrjrJZEeBzEzDry2d2vcI1QCXhGltXPPY+BMc6eksZMguA9fIY8vA==
+ dependencies:
+ "@smithy/middleware-serde" "^3.0.3"
+ "@smithy/node-config-provider" "^3.1.4"
+ "@smithy/shared-ini-file-loader" "^3.1.4"
+ "@smithy/types" "^3.3.0"
+ "@smithy/url-parser" "^3.0.3"
+ "@smithy/util-middleware" "^3.0.3"
+ tslib "^2.6.2"
+
+"@smithy/middleware-retry@^3.0.10", "@smithy/middleware-retry@^3.0.11":
+ version "3.0.11"
+ resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-3.0.11.tgz#4a8137a45247233aa83707ff9da3b8ee3dfefbba"
+ integrity sha512-/TIRWmhwMpv99JCGuMhJPnH7ggk/Lah7s/uNDyr7faF02BxNsyD/fz9Tw7pgCf9tYOKgjimm2Qml1Aq1pbkt6g==
+ dependencies:
+ "@smithy/node-config-provider" "^3.1.4"
+ "@smithy/protocol-http" "^4.0.4"
+ "@smithy/service-error-classification" "^3.0.3"
+ "@smithy/smithy-client" "^3.1.9"
+ "@smithy/types" "^3.3.0"
+ "@smithy/util-middleware" "^3.0.3"
+ "@smithy/util-retry" "^3.0.3"
+ tslib "^2.6.2"
+ uuid "^9.0.1"
+
+"@smithy/middleware-serde@^3.0.3":
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/@smithy/middleware-serde/-/middleware-serde-3.0.3.tgz#74d974460f74d99f38c861e6862984543a880a66"
+ integrity sha512-puUbyJQBcg9eSErFXjKNiGILJGtiqmuuNKEYNYfUD57fUl4i9+mfmThtQhvFXU0hCVG0iEJhvQUipUf+/SsFdA==
+ dependencies:
+ "@smithy/types" "^3.3.0"
+ tslib "^2.6.2"
+
+"@smithy/middleware-stack@^3.0.3":
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/@smithy/middleware-stack/-/middleware-stack-3.0.3.tgz#91845c7e61e6f137fa912b623b6def719a4f6ce7"
+ integrity sha512-r4klY9nFudB0r9UdSMaGSyjyQK5adUyPnQN/ZM6M75phTxOdnc/AhpvGD1fQUvgmqjQEBGCwpnPbDm8pH5PapA==
+ dependencies:
+ "@smithy/types" "^3.3.0"
+ tslib "^2.6.2"
+
+"@smithy/node-config-provider@^3.1.4":
+ version "3.1.4"
+ resolved "https://registry.yarnpkg.com/@smithy/node-config-provider/-/node-config-provider-3.1.4.tgz#05647bed666aa8036a1ad72323c1942e5d421be1"
+ integrity sha512-YvnElQy8HR4vDcAjoy7Xkx9YT8xZP4cBXcbJSgm/kxmiQu08DwUwj8rkGnyoJTpfl/3xYHH+d8zE+eHqoDCSdQ==
+ dependencies:
+ "@smithy/property-provider" "^3.1.3"
+ "@smithy/shared-ini-file-loader" "^3.1.4"
+ "@smithy/types" "^3.3.0"
+ tslib "^2.6.2"
+
+"@smithy/node-http-handler@^3.1.3":
+ version "3.1.3"
+ resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-3.1.3.tgz#1b729a8a2ca6b84618a1e92c53c49a1fcf3a3e5a"
+ integrity sha512-UiKZm8KHb/JeOPzHZtRUfyaRDO1KPKPpsd7iplhiwVGOeVdkiVJ5bVe7+NhWREMOKomrDIDdSZyglvMothLg0Q==
+ dependencies:
+ "@smithy/abort-controller" "^3.1.1"
+ "@smithy/protocol-http" "^4.0.4"
+ "@smithy/querystring-builder" "^3.0.3"
+ "@smithy/types" "^3.3.0"
+ tslib "^2.6.2"
+
+"@smithy/property-provider@^3.1.3":
+ version "3.1.3"
+ resolved "https://registry.yarnpkg.com/@smithy/property-provider/-/property-provider-3.1.3.tgz#afd57ea82a3f6c79fbda95e3cb85c0ee0a79f39a"
+ integrity sha512-zahyOVR9Q4PEoguJ/NrFP4O7SMAfYO1HLhB18M+q+Z4KFd4V2obiMnlVoUFzFLSPeVt1POyNWneHHrZaTMoc/g==
+ dependencies:
+ "@smithy/types" "^3.3.0"
+ tslib "^2.6.2"
+
+"@smithy/protocol-http@^4.0.4":
+ version "4.0.4"
+ resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-4.0.4.tgz#f784a03460b971cf10027d0e7f6673835ed7e637"
+ integrity sha512-fAA2O4EFyNRyYdFLVIv5xMMeRb+3fRKc/Rt2flh5k831vLvUmNFXcydeg7V3UeEhGURJI4c1asmGJBjvmF6j8Q==
+ dependencies:
+ "@smithy/types" "^3.3.0"
+ tslib "^2.6.2"
+
+"@smithy/querystring-builder@^3.0.3":
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/@smithy/querystring-builder/-/querystring-builder-3.0.3.tgz#6b0e566f885bb84938d077c69e8f8555f686af13"
+ integrity sha512-vyWckeUeesFKzCDaRwWLUA1Xym9McaA6XpFfAK5qI9DKJ4M33ooQGqvM4J+LalH4u/Dq9nFiC8U6Qn1qi0+9zw==
+ dependencies:
+ "@smithy/types" "^3.3.0"
+ "@smithy/util-uri-escape" "^3.0.0"
+ tslib "^2.6.2"
+
+"@smithy/querystring-parser@^3.0.3":
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/@smithy/querystring-parser/-/querystring-parser-3.0.3.tgz#272a6b83f88dfcbbec8283d72a6bde850cc00091"
+ integrity sha512-zahM1lQv2YjmznnfQsWbYojFe55l0SLG/988brlLv1i8z3dubloLF+75ATRsqPBboUXsW6I9CPGE5rQgLfY0vQ==
+ dependencies:
+ "@smithy/types" "^3.3.0"
+ tslib "^2.6.2"
+
+"@smithy/service-error-classification@^3.0.3":
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz#73484255060a094aa9372f6cd972dcaf97e3ce80"
+ integrity sha512-Jn39sSl8cim/VlkLsUhRFq/dKDnRUFlfRkvhOJaUbLBXUsLRLNf9WaxDv/z9BjuQ3A6k/qE8af1lsqcwm7+DaQ==
+ dependencies:
+ "@smithy/types" "^3.3.0"
+
+"@smithy/shared-ini-file-loader@^3.1.4":
+ version "3.1.4"
+ resolved "https://registry.yarnpkg.com/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.4.tgz#7dceaf5a5307a2ee347ace8aba17312a1a3ede15"
+ integrity sha512-qMxS4hBGB8FY2GQqshcRUy1K6k8aBWP5vwm8qKkCT3A9K2dawUwOIJfqh9Yste/Bl0J2lzosVyrXDj68kLcHXQ==
+ dependencies:
+ "@smithy/types" "^3.3.0"
+ tslib "^2.6.2"
+
+"@smithy/signature-v4@^4.0.0":
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/@smithy/signature-v4/-/signature-v4-4.0.0.tgz#0583baba98819eab49e028166b186ce927c42128"
+ integrity sha512-ervYjQ+ZvmNG51Ui77IOTPri7nOyo8Kembzt9uwwlmtXJPmFXvslOahbA1blvAVs7G0KlYMiOBog1rAt7RVXxg==
+ dependencies:
+ "@smithy/is-array-buffer" "^3.0.0"
+ "@smithy/types" "^3.3.0"
+ "@smithy/util-hex-encoding" "^3.0.0"
+ "@smithy/util-middleware" "^3.0.3"
+ "@smithy/util-uri-escape" "^3.0.0"
+ "@smithy/util-utf8" "^3.0.0"
+ tslib "^2.6.2"
+
+"@smithy/smithy-client@^3.1.8", "@smithy/smithy-client@^3.1.9":
+ version "3.1.9"
+ resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-3.1.9.tgz#a0d8e867165db64c2a66762df0db279d1f8029eb"
+ integrity sha512-My2RaInZ4gSwJUPMaiLR/Nk82+c4LlvqpXA+n7lonGYgCZq23Tg+/xFhgmiejJ6XPElYJysTPyV90vKyp17+1g==
+ dependencies:
+ "@smithy/middleware-endpoint" "^3.0.5"
+ "@smithy/middleware-stack" "^3.0.3"
+ "@smithy/protocol-http" "^4.0.4"
+ "@smithy/types" "^3.3.0"
+ "@smithy/util-stream" "^3.1.1"
+ tslib "^2.6.2"
+
+"@smithy/types@^3.3.0":
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/@smithy/types/-/types-3.3.0.tgz#fae037c733d09bc758946a01a3de0ef6e210b16b"
+ integrity sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==
+ dependencies:
+ tslib "^2.6.2"
+
+"@smithy/url-parser@^3.0.3":
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/@smithy/url-parser/-/url-parser-3.0.3.tgz#e8a060d9810b24b1870385fc2b02485b8a6c5955"
+ integrity sha512-pw3VtZtX2rg+s6HMs6/+u9+hu6oY6U7IohGhVNnjbgKy86wcIsSZwgHrFR+t67Uyxvp4Xz3p3kGXXIpTNisq8A==
+ dependencies:
+ "@smithy/querystring-parser" "^3.0.3"
+ "@smithy/types" "^3.3.0"
+ tslib "^2.6.2"
+
+"@smithy/util-base64@^3.0.0":
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/@smithy/util-base64/-/util-base64-3.0.0.tgz#f7a9a82adf34e27a72d0719395713edf0e493017"
+ integrity sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==
+ dependencies:
+ "@smithy/util-buffer-from" "^3.0.0"
+ "@smithy/util-utf8" "^3.0.0"
+ tslib "^2.6.2"
+
+"@smithy/util-body-length-browser@^3.0.0":
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/@smithy/util-body-length-browser/-/util-body-length-browser-3.0.0.tgz#86ec2f6256310b4845a2f064e2f571c1ca164ded"
+ integrity sha512-cbjJs2A1mLYmqmyVl80uoLTJhAcfzMOyPgjwAYusWKMdLeNtzmMz9YxNl3/jRLoxSS3wkqkf0jwNdtXWtyEBaQ==
+ dependencies:
+ tslib "^2.6.2"
+
+"@smithy/util-body-length-node@^3.0.0":
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/@smithy/util-body-length-node/-/util-body-length-node-3.0.0.tgz#99a291bae40d8932166907fe981d6a1f54298a6d"
+ integrity sha512-Tj7pZ4bUloNUP6PzwhN7K386tmSmEET9QtQg0TgdNOnxhZvCssHji+oZTUIuzxECRfG8rdm2PMw2WCFs6eIYkA==
+ dependencies:
+ tslib "^2.6.2"
+
+"@smithy/util-buffer-from@^2.2.0":
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz#6fc88585165ec73f8681d426d96de5d402021e4b"
+ integrity sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==
+ dependencies:
+ "@smithy/is-array-buffer" "^2.2.0"
+ tslib "^2.6.2"
+
+"@smithy/util-buffer-from@^3.0.0":
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz#559fc1c86138a89b2edaefc1e6677780c24594e3"
+ integrity sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==
+ dependencies:
+ "@smithy/is-array-buffer" "^3.0.0"
+ tslib "^2.6.2"
+
+"@smithy/util-config-provider@^3.0.0":
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/@smithy/util-config-provider/-/util-config-provider-3.0.0.tgz#62c6b73b22a430e84888a8f8da4b6029dd5b8efe"
+ integrity sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ==
+ dependencies:
+ tslib "^2.6.2"
+
+"@smithy/util-defaults-mode-browser@^3.0.10":
+ version "3.0.11"
+ resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.11.tgz#c8a74369405f55d39492b9ec15458cc2fe56b783"
+ integrity sha512-O3s9DGb3bmRvEKmT8RwvSWK4A9r6svfd+MnJB+UMi9ZcCkAnoRtliulOnGF0qCMkKF9mwk2tkopBBstalPY/vg==
+ dependencies:
+ "@smithy/property-provider" "^3.1.3"
+ "@smithy/smithy-client" "^3.1.9"
+ "@smithy/types" "^3.3.0"
+ bowser "^2.11.0"
+ tslib "^2.6.2"
+
+"@smithy/util-defaults-mode-node@^3.0.10":
+ version "3.0.11"
+ resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.11.tgz#288f443b65554597082858c4b6624cd362a2caaa"
+ integrity sha512-qd4a9qtyOa/WY14aHHOkMafhh9z8D2QTwlcBoXMTPnEwtcY+xpe1JyFm9vya7VsB8hHsfn3XodEtwqREiu4ygQ==
+ dependencies:
+ "@smithy/config-resolver" "^3.0.5"
+ "@smithy/credential-provider-imds" "^3.1.4"
+ "@smithy/node-config-provider" "^3.1.4"
+ "@smithy/property-provider" "^3.1.3"
+ "@smithy/smithy-client" "^3.1.9"
+ "@smithy/types" "^3.3.0"
+ tslib "^2.6.2"
+
+"@smithy/util-endpoints@^2.0.5":
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/@smithy/util-endpoints/-/util-endpoints-2.0.5.tgz#e3a7a4d1c41250bfd2b2d890d591273a7d8934be"
+ integrity sha512-ReQP0BWihIE68OAblC/WQmDD40Gx+QY1Ez8mTdFMXpmjfxSyz2fVQu3A4zXRfQU9sZXtewk3GmhfOHswvX+eNg==
+ dependencies:
+ "@smithy/node-config-provider" "^3.1.4"
+ "@smithy/types" "^3.3.0"
+ tslib "^2.6.2"
+
+"@smithy/util-hex-encoding@^3.0.0":
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz#32938b33d5bf2a15796cd3f178a55b4155c535e6"
+ integrity sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==
+ dependencies:
+ tslib "^2.6.2"
+
+"@smithy/util-middleware@^3.0.3":
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/@smithy/util-middleware/-/util-middleware-3.0.3.tgz#07bf9602682f5a6c55bc2f0384303f85fc68c87e"
+ integrity sha512-l+StyYYK/eO3DlVPbU+4Bi06Jjal+PFLSMmlWM1BEwyLxZ3aKkf1ROnoIakfaA7mC6uw3ny7JBkau4Yc+5zfWw==
+ dependencies:
+ "@smithy/types" "^3.3.0"
+ tslib "^2.6.2"
+
+"@smithy/util-retry@^3.0.3":
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-3.0.3.tgz#9b2ac0dbb1c81f69812a8affa4d772bebfc0e049"
+ integrity sha512-AFw+hjpbtVApzpNDhbjNG5NA3kyoMs7vx0gsgmlJF4s+yz1Zlepde7J58zpIRIsdjc+emhpAITxA88qLkPF26w==
+ dependencies:
+ "@smithy/service-error-classification" "^3.0.3"
+ "@smithy/types" "^3.3.0"
+ tslib "^2.6.2"
+
+"@smithy/util-stream@^3.1.0", "@smithy/util-stream@^3.1.1":
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/@smithy/util-stream/-/util-stream-3.1.1.tgz#2fffe56d9cdf70e94a7cd690e980454b1b35ad23"
+ integrity sha512-EhRnVvl3AhoHAT2rGQ5o+oSDRM/BUSMPLZZdRJZLcNVUsFAjOs4vHaPdNQivTSzRcFxf5DA4gtO46WWU2zimaw==
+ dependencies:
+ "@smithy/fetch-http-handler" "^3.2.2"
+ "@smithy/node-http-handler" "^3.1.3"
+ "@smithy/types" "^3.3.0"
+ "@smithy/util-base64" "^3.0.0"
+ "@smithy/util-buffer-from" "^3.0.0"
+ "@smithy/util-hex-encoding" "^3.0.0"
+ "@smithy/util-utf8" "^3.0.0"
+ tslib "^2.6.2"
+
+"@smithy/util-uri-escape@^3.0.0":
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz#e43358a78bf45d50bb736770077f0f09195b6f54"
+ integrity sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==
+ dependencies:
+ tslib "^2.6.2"
+
+"@smithy/util-utf8@^2.0.0":
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/@smithy/util-utf8/-/util-utf8-2.3.0.tgz#dd96d7640363259924a214313c3cf16e7dd329c5"
+ integrity sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==
+ dependencies:
+ "@smithy/util-buffer-from" "^2.2.0"
+ tslib "^2.6.2"
+
+"@smithy/util-utf8@^3.0.0":
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/@smithy/util-utf8/-/util-utf8-3.0.0.tgz#1a6a823d47cbec1fd6933e5fc87df975286d9d6a"
+ integrity sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==
+ dependencies:
+ "@smithy/util-buffer-from" "^3.0.0"
+ tslib "^2.6.2"
+
"@swc/helpers@^0.5.2":
version "0.5.11"
resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.11.tgz#5bab8c660a6e23c13b2d23fcd1ee44a2db1b0cb7"
@@ -1768,6 +2779,11 @@ bottleneck@^2.15.3:
resolved "https://registry.yarnpkg.com/bottleneck/-/bottleneck-2.19.5.tgz#5df0b90f59fd47656ebe63c78a98419205cadd91"
integrity sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==
+bowser@^2.11.0:
+ version "2.11.0"
+ resolved "https://registry.yarnpkg.com/bowser/-/bowser-2.11.0.tgz#5ca3c35757a7aa5771500c70a73a9f91ef420a8f"
+ integrity sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==
+
brace-expansion@^1.1.7:
version "1.1.11"
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
@@ -3004,6 +4020,13 @@ fast-text-encoding@^1.0.0:
resolved "https://registry.yarnpkg.com/fast-text-encoding/-/fast-text-encoding-1.0.6.tgz#0aa25f7f638222e3396d72bf936afcf1d42d6867"
integrity sha512-VhXlQgj9ioXCqGstD37E/HBeqEGV/qOD/kmbVG8h5xKBYvM1L3lR1Zn4555cQ8GkYbJa8aJSipLPndE1k6zK2w==
+fast-xml-parser@4.2.5:
+ version "4.2.5"
+ resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.2.5.tgz#a6747a09296a6cb34f2ae634019bf1738f3b421f"
+ integrity sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==
+ dependencies:
+ strnum "^1.0.5"
+
fast-xml-parser@^4.3.5:
version "4.3.6"
resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.3.6.tgz#190f9d99097f0c8f2d3a0e681a10404afca052ff"
@@ -4044,6 +5067,13 @@ js-tiktoken@^1.0.11, js-tiktoken@^1.0.7, js-tiktoken@^1.0.8:
dependencies:
base64-js "^1.5.1"
+js-tiktoken@^1.0.12:
+ version "1.0.12"
+ resolved "https://registry.yarnpkg.com/js-tiktoken/-/js-tiktoken-1.0.12.tgz#af0f5cf58e5e7318240d050c8413234019424211"
+ integrity sha512-L7wURW1fH9Qaext0VzaUDpFGVQgjkdE3Dgsy9/+yXyGEpBKnylTd0mU0bfbNkKDlXRb6TEsZkwuflu1B8uQbJQ==
+ dependencies:
+ base64-js "^1.5.1"
+
"js-tokens@^3.0.0 || ^4.0.0":
version "4.0.0"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
@@ -4255,6 +5285,17 @@ langsmith@~0.1.1, langsmith@~0.1.7:
p-retry "4"
uuid "^9.0.0"
+langsmith@~0.1.39:
+ version "0.1.39"
+ resolved "https://registry.yarnpkg.com/langsmith/-/langsmith-0.1.39.tgz#cc99f1828a9c0f5ba24bec6b0121edc44e8d282d"
+ integrity sha512-K2/qbc96JhrZbSL74RbZ0DBOpTB9Mxicu8RQrZ88Xsp1bH2O3+y5EdcvC0g/1YzQWQhcQ4peknCA24c3VTNiNA==
+ dependencies:
+ "@types/uuid" "^9.0.1"
+ commander "^10.0.1"
+ p-queue "^6.6.2"
+ p-retry "4"
+ uuid "^9.0.0"
+
lazystream@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.1.tgz#494c831062f1f9408251ec44db1cba29242a2638"
@@ -6650,6 +7691,11 @@ uuid-apikey@^1.5.3:
encode32 "^1.1.0"
uuid "^8.3.1"
+uuid@^10.0.0:
+ version "10.0.0"
+ resolved "https://registry.yarnpkg.com/uuid/-/uuid-10.0.0.tgz#5a95aa454e6e002725c79055fd42aaba30ca6294"
+ integrity sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==
+
uuid@^8.3.0, uuid@^8.3.1:
version "8.3.2"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"