diff --git a/.nightswatch/functional/files/import-pass-expected.json b/.nightswatch/functional/files/import-pass-expected.json
index f1a3a041..8f7a2d3d 100644
--- a/.nightswatch/functional/files/import-pass-expected.json
+++ b/.nightswatch/functional/files/import-pass-expected.json
@@ -52,6 +52,14 @@
"Can I import multiple answers when I import with excel?",
"Can I import multiple answers when I import with excel using QnA Bot?"
]
+ },
+ {
+ "a": "今日は晴れです。",
+ "type": "qna",
+ "qid": "DoubleByteCharacters.001",
+ "q": [
+ "今日の天気を教えてください."
+ ]
}
]
}
\ No newline at end of file
diff --git a/.nightswatch/functional/files/import-pass.xlsx b/.nightswatch/functional/files/import-pass.xlsx
index c8c2bbd6..98014db5 100644
Binary files a/.nightswatch/functional/files/import-pass.xlsx and b/.nightswatch/functional/files/import-pass.xlsx differ
diff --git a/.nightswatch/functional/test_1_login.py b/.nightswatch/functional/test_1_login.py
index 0ad91427..06d82c0a 100644
--- a/.nightswatch/functional/test_1_login.py
+++ b/.nightswatch/functional/test_1_login.py
@@ -57,9 +57,13 @@ def test_designer_logout(self, designer_login, dom_operator: DomOperator):
time.sleep(10)
menu.logout()
time.sleep(3)
- title = dom_operator.get_title()
+ current_url = dom_operator.get_current_url()
+ element = dom_operator.select_css('span.textDescription-customizable')
+ title = dom_operator.get_title()
assert title == 'Signin'
+ assert 'login' in current_url
+ assert element.text == 'Sign in with your username and password'
def test_client_login(self, client_login, dom_operator: DomOperator):
"""
diff --git a/.nightswatch/functional/test_kendra.py b/.nightswatch/functional/test_kendra.py
index aac12456..75d88a1a 100644
--- a/.nightswatch/functional/test_kendra.py
+++ b/.nightswatch/functional/test_kendra.py
@@ -167,7 +167,7 @@ def test_kendra_fallback(self, designer_login, dom_operator: DomOperator, cw_cli
"""
Test that the Kendra fallback is used when no answer is found.
- See: https://github.com/aws-solutions/aws-qnabot/blob/main/docs/Kendra_Fallback_README.md
+ See: https://github.com/aws-solutions/qnabot-on-aws/blob/main/source/docs/kendra_fallback/README.md
"""
menu = MenuNav(dom_operator)
kendra_page = menu.open_kendra_page()
@@ -193,7 +193,7 @@ def test_kendra_redirect(self, designer_login, loaded_questions: list[dict], dom
"""
Test the Kendra query contained in the qna is used instead of Kendra fallback when there is a question match.
- See: https://github.com/aws-solutions/qnabot-on-aws/tree/main/docs/kendra_redirect
+ See: https://github.com/aws-solutions/qnabot-on-aws/blob/main/source/docs/kendra_redirect/README.md
"""
qid = 'Kendra.001'
question = self.__get_question_by_qid(qid, loaded_questions)
diff --git a/.nightswatch/functional/test_knowledge_base.py b/.nightswatch/functional/test_knowledge_base.py
index 79a39fd6..bfa988c2 100644
--- a/.nightswatch/functional/test_knowledge_base.py
+++ b/.nightswatch/functional/test_knowledge_base.py
@@ -30,9 +30,23 @@ def test_setup(self, designer_login, dom_operator: DomOperator):
settings_page.reset_settings()
settings_page.expand_all_subgroups()
+ def test_knowledge_base_returns_custom_no_hits_message(self, designer_login, dom_operator: DomOperator, cw_client: CloudWatchClient):
+ """
+ Test Bedrock Knowledge Base integration returns CustomNoMatches defined in the designer when irrelevant question is asked.
+ https://docs.aws.amazon.com/solutions/latest/qnabot-on-aws/using-keyword-filters-for.html#custom-dont-know-answers
+ """
+ menu = MenuNav(dom_operator)
+ chat_page = menu.open_chat_page()
+
+ chat_page.send_message('Who will win next Cricket world cup?')
+ answer = chat_page.get_last_message_text()
+ assert 'You stumped me, I don\'t currently know the answer to that question' in answer
+ cw_client.print_fulfillment_lambda_logs()
+
def test_knowledge_base_fallback(self, designer_login, dom_operator: DomOperator, cw_client: CloudWatchClient):
"""
- Test that the Knowledge Base fallback is used when no answer is found. LLM should respond with correct answer as well as source links and context which should be enabled by default.
+ Test that the Knowledge Base fallback is used when no answer is found. LLM should respond with correct answer
+ as well as source links and context which should be enabled by default.
"""
menu = MenuNav(dom_operator)
diff --git a/.nightswatch/functional/test_llm.py b/.nightswatch/functional/test_llm.py
index 596c97a7..34a3f424 100644
--- a/.nightswatch/functional/test_llm.py
+++ b/.nightswatch/functional/test_llm.py
@@ -127,6 +127,19 @@ def test_inference(self, designer_login, dom_operator: DomOperator, cw_client: C
cw_client.print_fulfillment_lambda_logs()
+ def test_llm_returns_custom_no_hits_message(self, designer_login, dom_operator: DomOperator, cw_client: CloudWatchClient):
+ """
+ Test LLMApi integration returns CustomNoMatches defined in the designer when irrelevant question is asked.
+ https://docs.aws.amazon.com/solutions/latest/qnabot-on-aws/using-keyword-filters-for.html#custom-dont-know-answers
+ """
+ menu = MenuNav(dom_operator)
+ chat_page = menu.open_chat_page()
+
+ chat_page.send_message('Did Humpty Dumpty live in Atlanta?')
+ answer = chat_page.get_last_message_text()
+ assert 'You stumped me, I don\'t currently know the answer to that question' in answer
+ cw_client.print_fulfillment_lambda_logs()
+
@pytest.mark.skipif(region in g5_instance_regions, reason=llm_multilanguage_unsupported_reason)
def test_translation(self, client_login, dom_operator: DomOperator, cw_client: CloudWatchClient):
"""
diff --git a/.nightswatch/functional/test_settings.py b/.nightswatch/functional/test_settings.py
index bc2ee4cd..c80b8060 100644
--- a/.nightswatch/functional/test_settings.py
+++ b/.nightswatch/functional/test_settings.py
@@ -41,7 +41,7 @@ def test_custom_response(self, designer_login, loaded_questions: list[dict], dom
"""
Tests the custom empty response setting can be overwritten.
- See: https://docs.aws.amazon.com/solutions/latest/qnabot-on-aws/keyword-filters-and-custom-dont-know-answers.html
+ See: https://docs.aws.amazon.com/solutions/latest/qnabot-on-aws/using-keyword-filters-for.html
"""
custom_empty_message = "Sorry, I don't know that"
edit_qid = 'CustomNoMatches'
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 542d04b2..2dd9cc1f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,10 +5,28 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+## [6.0.2] - 2024-07-22
+
+### Added
+- Added a migration [documentation](./source/docs/update_or_migrate_deployment/README.md) for Migrating QnABot configurations and data from existing deployment to new deployment
+- Added a [documentation](./source/docs/bedrock_knowledgebase_rag/README.md) for Bedrock Knowledge Base
+
+### Fixed
+- Improve logout functionality which signs out the user and invalidates the access and refresh tokens that Amazon Cognito issued to a user. [Issue #747](https://github.com/aws-solutions/qnabot-on-aws/issues/747)
+- Fixed bug that restricted import of questions with answers that consisted of only double-byte characters. [Issue #731](https://github.com/aws-solutions/qnabot-on-aws/issues/731)
+- Fixed bug with chained questions causing errors in the fulfillment lambda.
+
+### Updated
+- Removed aws-sdk (JavaScript V2) from dependency list.
+- Updated parameter description for elicit response bot settings in the content designer settings. [Issue #745](https://github.com/aws-solutions/qnabot-on-aws/issues/745)
+- Removed LLM models `meta.llama2-70b-chat-v1` and `meta.llama2-13b-chat-v1` from the list of models in the Cloudformation parameter `LLMBedrockModelId` since these models will be [unavailable on Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/model-lifecycle.html#versions-for-eol) starting from August 12, 2024.
+- Updated the setting `LLM_QA_NO_HITS_REGEX` in the Content Designer to include a default pattern `Sorry, I don't know` in prompts specified through the setting `LLM_QA_PROMPT_TEMPLATE` and other patterns returned by LLMs in their responses.
+- Constrainted the query made to Bedrock Knowledge Base to maximum of 1000 characters input query as per the [input requirements](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerateInput.html#API_agent-runtime_RetrieveAndGenerateInput_Contents).
+
## [6.0.1] - 2024-06-26
### Fixed
- Fixed bug that was restricting stack names to be below 26 characters. [Issue #741](https://github.com/aws-solutions/qnabot-on-aws/issues/741)
-- Fixed a looping issue when using slots and chaining #721 ([PR #721](https://github.com/aws-solutions/qnabot-on-aws/pull/721)) - contributed by ([@amendlik](https://github.com/amendlik))
+- Fixed a looping issue when using slots and chaining ([PR #721](https://github.com/aws-solutions/qnabot-on-aws/pull/721)) - contributed by ([@amendlik](https://github.com/amendlik))
- Github links with incorrect paths.
### Updated
diff --git a/README.md b/README.md
index 7d5190b0..ae888b4d 100644
--- a/README.md
+++ b/README.md
@@ -325,6 +325,7 @@ As QnABot evolves over the years, it makes use of various services and functiona
_Note: **Deployable solution versions** refers to the ability to deploy the version of QnABot in their AWS accounts. **Actively supported versions** for QnABot is only available for the latest version of QnABot._
### Deployable Versions
+- [v6.0.2](https://github.com/aws-solutions/qnabot-on-aws/releases/tag/v6.0.2) - [Public](https://solutions-reference.s3.amazonaws.com/qnabot-on-aws/v6.0.2/qnabot-on-aws-main.template)/[VPC](https://solutions-reference.s3.amazonaws.com/qnabot-on-aws/v6.0.2/qnabot-on-aws-vpc.template)
- [v6.0.1](https://github.com/aws-solutions/qnabot-on-aws/releases/tag/v6.0.1) - [Public](https://solutions-reference.s3.amazonaws.com/qnabot-on-aws/v6.0.1/qnabot-on-aws-main.template)/[VPC](https://solutions-reference.s3.amazonaws.com/qnabot-on-aws/v6.0.1/qnabot-on-aws-vpc.template)
- [v6.0.0](https://github.com/aws-solutions/qnabot-on-aws/releases/tag/v6.0.0) - [Public](https://solutions-reference.s3.amazonaws.com/qnabot-on-aws/v6.0.0/qnabot-on-aws-main.template)/[VPC](https://solutions-reference.s3.amazonaws.com/qnabot-on-aws/v6.0.0/qnabot-on-aws-vpc.template)
- [v5.5.2](https://github.com/aws-solutions/qnabot-on-aws/releases/tag/v5.5.2) - [Public](https://solutions-reference.s3.amazonaws.com/qnabot-on-aws/v5.5.2/qnabot-on-aws-main.template)/[VPC](https://solutions-reference.s3.amazonaws.com/qnabot-on-aws/v5.5.2md/qnabot-on-aws-vpc.template)
diff --git a/source/cli/README.md b/source/cli/README.md
index cdd70695..5d0111b8 100644
--- a/source/cli/README.md
+++ b/source/cli/README.md
@@ -1,5 +1,5 @@
# QnABot CLI
-The QnABot on AWS CLI supports the capability to import and export questions and answers from your QnABot setup. For more information on using QnaBot CLI, please refer to [Using QnABot on the AWS Command Line Interface (CLI)](https://docs.aws.amazon.com/solutions/latest/qnabot-on-aws/use-qnabot-on-aws-command-line-interface-cli.html)
+The QnABot on AWS CLI supports the capability to import and export questions and answers from your QnABot setup. For more information on using QnaBot CLI, please refer to [Using QnABot on the AWS Command Line Interface (CLI)](https://docs.aws.amazon.com/solutions/latest/qnabot-on-aws/using-qnabot-on-aws-command-line-interface-cli.html)
## Unit Tests
1. Get started by creating a virtual environment and deploy the needed Python packages.
diff --git a/source/cli/aws_solutions/qnabot/cli/qnabot_cli.py b/source/cli/aws_solutions/qnabot/cli/qnabot_cli.py
index f6eb4440..8be136a7 100644
--- a/source/cli/aws_solutions/qnabot/cli/qnabot_cli.py
+++ b/source/cli/aws_solutions/qnabot/cli/qnabot_cli.py
@@ -23,7 +23,7 @@
@click.pass_context
def cli(ctx) -> None:
os.environ["SOLUTION_ID"] = "SO0189"
- os.environ["SOLUTION_VERSION"] = "v6.0.1"
+ os.environ["SOLUTION_VERSION"] = "v6.0.2"
@cli.command("import")
diff --git a/source/config.json b/source/config.json
index 3a21e4cc..b34ba7e2 100644
--- a/source/config.json
+++ b/source/config.json
@@ -2,7 +2,7 @@
"region": "us-east-1",
"profile": "default",
"publicBucket": "solutions",
- "publicPrefix": "qnabot-on-aws/v6.0.1",
+ "publicPrefix": "qnabot-on-aws/v6.0.2",
"devEmail": "",
"ApprovedDomain": "NONE",
"Username": "Admin",
diff --git a/source/docs/LLM_Retrieval_and_generative_question_answering/README.md b/source/docs/LLM_Retrieval_and_generative_question_answering/README.md
index f1a1b7c6..edb7536a 100644
--- a/source/docs/LLM_Retrieval_and_generative_question_answering/README.md
+++ b/source/docs/LLM_Retrieval_and_generative_question_answering/README.md
@@ -48,14 +48,20 @@ With QnABot you can use three different data sources to generate responses from:
![CFN Params](./images/TextItem_JackHorner.png)
-2. Kendra - Generates responses from the from web pages that you've crawled or documents that you've ingested using a Kendra data source connector. If you're not sure how to load documents into Kendra, see the Kendra Essentials Workshop: [Ingesting AWS WhitePapers into a Kendra index](https://catalog.us-east-1.prod.workshops.aws/workshops/df64824d-abbe-4b0d-8b31-8752bceabade/en-US/200-ingesting-documents/230-using-the-s3-connector/231-ingesting-documents).
-**NOTE:** It is only possible to use Kendra or Bedrock Knowledge Bases as a fallback data source, and not both. When ALT_SEARCH_KENDRA_INDEXES is not empty, i.e. an index is provided, Kendra will be the default data source even if a Bedrock knowledge base is configured.
-3. Bedrock Knowledge Bases - You can also create your own knowledge base from files stored in an S3 bucket. Bedrock knowledge bases do not require an LLM or embeddings model to function, since the embeddings and generative response are already provided by the knowledge base. Choose this option if you prefer not to manage and configure a Kendra index or LLM models. To enable this option, create a [Bedrock Knowledge Base](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-create.html) and copy your Knowledge Base ID into the Cloudformation parameter `BedrockKnowledgeBaseId`. IMPORTANT: If you want to enable S3 presigned URLs, S3 bucket names must start with qna (e.g. qnabot-mydocs), otherwise make sure IAM Role *...FulfillmentLambdaRole...* has been granted S3:GetObject access to the Bedrock Knowledge Base bucket (otherwise the signed URLS will not have access). In addition, you can encrypt the transient messages using your own KMS key; ensure that when creating the KMS key that the IAM Role *...FulfillmentLambdaRole...* is a key user.
+2. Amazon Kendra - Generates responses from the from web pages that you've crawled or documents that you've ingested using a Kendra data source connector. If you're not sure how to load documents into Kendra, see the Kendra Essentials Workshop: [Ingesting AWS WhitePapers into a Kendra index](https://catalog.us-east-1.prod.workshops.aws/workshops/df64824d-abbe-4b0d-8b31-8752bceabade/en-US/200-ingesting-documents/230-using-the-s3-connector/231-ingesting-documents).
+**NOTE:** It is only possible to use Amazon Kendra or Amazon Bedrock Knowledge Bases as a fallback data source, and not both. When Cloudformation parameter `AltSearchKendraIndexes` is not empty, i.e. an index is provided, Kendra will be the default data source even if a Amazon Bedrock knowledge base is configured.
+3. Amazon Bedrock Knowledge Base - You can also create your own knowledge base from files stored in an S3 bucket. Bedrock knowledge bases do not require an LLM or embeddings model to function, since the embeddings and generative response are already provided by the knowledge base. Choose this option if you prefer not to manage and configure a Kendra index or LLM models. To enable this option, [create a Bedrock Knowledge Base](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-create.html) and copy your Knowledge Base ID into the Cloudformation parameter.`BedrockKnowledgeBaseId`. For additional details, please refer to [Retrieval Augmentation Generation (RAG) using Amazon Bedrock Knowledge Base](../bedrock_knowledgebase_rag/README.md)
+
+ > **_NOTE:_** If you want to enable S3 presigned URLs, S3 bucket names must start with `qna` (e.g. qnabot-mydocs), otherwise make sure IAM Role *...FulfillmentLambdaRole...* has been granted S3:GetObject access to the Bedrock Knowledge Base bucket (otherwise the signed URLS will not have access). In addition, you can encrypt the transient messages using your own KMS key; ensure that when creating the KMS key that the IAM Role *...FulfillmentLambdaRole...* is a key user.
+
+![RAG using Amazon Bedrock Knowledge Base](./images/Bedrock_KB.png)
+
+
You can also choose which LLM to use with QnABot:
-1. BEDROCK: Select from several LLM models provided by Amazon Bedrock using the LLMBedrockModelId Cloudformation parameter. These models provide the best performance and operate on a pay-per-request model. Bedrock is currently only supported in the following regions: us-east-1, us-west-2, ap-southeast-1, ap-northeast-1, eu-central-1.
-1. SAGEMAKER: Deploys a dedicated SageMaker Jumpstart model hosted on an Amazon SageMaker endpoint - see https://llama.meta.com/llama2. This option provides the best compatibility with all Lex supported regions, except for ap-southeast-1 where the default ml.g5.12xlarge instance is not available. Pricing is determined by the number and types of instances that are deployed.
-1. LAMBDA: LLM model from a user provided Lambda function. This option provides a custom option for advanced users who wish to deploy their own model.
+1. BEDROCK: Select from several LLM models provided by Amazon Bedrock using the LLMBedrockModelId Cloudformation parameter. These models provide the best performance and operate on a pay-per-request model. For more information, please refer to [Bedrock Supported AWS Regions](https://docs.aws.amazon.com/bedrock/latest/userguide/bedrock-regions.html).
+2. SAGEMAKER: Deploys a dedicated SageMaker Jumpstart model hosted on an Amazon SageMaker endpoint - see https://llama.meta.com/llama2. This option provides the best compatibility with all Lex supported regions, except for ap-southeast-1 where the default ml.g5.12xlarge instance is not available. Pricing is determined by the number and types of instances that are deployed.
+3. LAMBDA: LLM model from a user provided Lambda function. This option provides a custom option for advanced users who wish to deploy their own model.
### 1. Amazon Bedrock (PREFERRED)
Utilizes one of the Amazon Bedrock foundation models to generate text. Currently, the following models are supported by QnA Bot:
@@ -68,9 +74,6 @@ Utilizes one of the Amazon Bedrock foundation models to generate text. Currently
- [AI21 Jurassic-2 Ultra](https://us-east-1.console.aws.amazon.com/bedrock/home?region=us-east-1#/providers?model=ai21.j2-ultra-v1)
- [AI21 Jurassic-2 Mid](https://us-east-1.console.aws.amazon.com/bedrock/home?region=us-east-1#/providers?model=ai21.j2-mid-v1)
- [Cohere Command](https://us-east-1.console.aws.amazon.com/bedrock/home?region=us-east-1#/providers?model=cohere.command-text-v14)
-- [Cohere Command Lite](https://us-east-1.console.aws.amazon.com/bedrock/home?region=us-east-1#/providers?model=cohere.command-light-text-v14)
-- [Meta Llama 2 Chat 13B](https://us-east-1.console.aws.amazon.com/bedrock/home?region=us-east-1#/providers?model=meta.llama2-13b-chat-v1)
-- [Meta Llama 2 Chat 70B](https://us-east-1.console.aws.amazon.com/bedrock/home?region=us-east-1#/providers?model=meta.llama2-70b-chat-v1)
- [Meta Llama 3 8B Instruct](https://us-east-1.console.aws.amazon.com/bedrock/home?region=us-east-1#/providers?model=meta.llama3-8b-instruct-v1:0)
#### Requesting Access to Amazon Bedrock Models
@@ -95,7 +98,7 @@ By default a 1-node ml.g5.12xlarge endpoint is automatically provisioned. For la
#### Deploy Stack for SAGEMAKER
-- *(for Kendra Fallback)* set `DefaultKendraIndexId` to the Index Id (a GUID) of your existing Kendra index containing ingested documents
+- *(for Kendra Fallback)* set `AltSearchKendraIndexes` to the Index Id (a GUID) of your existing Kendra index containing ingested documents
- *(for text passage queries)* set `EmbeddingsApi` to BEDROCK, SAGEMAKER, or LAMBDA (see [Semantic Search using Text Embeddings](../semantic_matching_using_LLM_embeddings/README.md))
- set `LLMApi` to SAGEMAKER
@@ -108,7 +111,7 @@ Use a custom Lambda function to experiment with LLMs of your choice. Provide you
#### Deploy Stack for Embedding models invoked by a custom Lambda Function
-- *(for Kendra Fallback)* set `DefaultKendraIndexId` to the Index Id (a GUID) of your existing Kendra index containing ingested documents
+- *(for Kendra Fallback)* set `AltSearchKendraIndexes` to the Index Id (a GUID) of your existing Kendra index containing ingested documents
- *(for text passage queries)* set `EmbeddingsApi` to BEDROCK, SAGEMAKER, or LAMBDA (see [Semantic Search using Text Embeddings](../semantic_matching_using_LLM_embeddings/README.md))
- set `LLMApi` to LAMBDA
- set `LLMLambdaArn` to the ARN of your Lambda function
@@ -177,8 +180,4 @@ When QnABot stack is installed, open Content Designer **Settings** page:
- **LLM_QA_SHOW_CONTEXT_TEXT:** set to true or false to enable or disable inclusion of the passages (from Kendra or Embeddings) used as context for LLM generated answers.
- **LLM_QA_SHOW_SOURCE_LINKS:** set to true or false to enable or disable Kendra Source Links or passage refMarkdown links (doc references) in markdown answers.
- **LLM_CHAT_HISTORY_MAX_MESSAGES:** the number of previous questions and answers (chat history) to maintain (in the QnABot DynamoDB UserTable). Chat History is necessary for QnABot to disambiguate follow up questions from previous question and answer context.
-- **LLM_PROMPT_MAX_TOKEN_LIMIT:** the maximum number of tokens that can be sent to the LLM. QnABot will selectively truncate the prompt by chat history (first) and context (second) to shorten the prompt length. **NOTE:** The tokenizer uses gt2 encoding to estimate the token count and is only an approximation. The value for this setting should be set lower than the max number of tokens supported by the LLM model and may require calibration.
-- **KNOWLEDGE_BASE_PREFIX_MESSAGE:** Message to append in the chat client when the knowledge base generates a response.
-- **KNOWLEDGE_BASE_SHOW_REFERENCES:** Enables or disables inclusion of the passages used as context for Bedrock Knowledge Base generated answers.
-- **KNOWLEDGE_BASE_S3_SIGNED_URLS:** Enables or disables S3 presigned URL signing for Bedrock Knowledge Base answers.
-- **KNOWLEDGE_BASE_S3_SIGNED_URL_EXPIRE_SECS:** Determines length of time in seconds for the validity of signed S3 Urls for Bedrock Knowledge Base answers.
\ No newline at end of file
+- **LLM_PROMPT_MAX_TOKEN_LIMIT:** the maximum number of tokens that can be sent to the LLM. QnABot will selectively truncate the prompt by chat history (first) and context (second) to shorten the prompt length. **NOTE:** The tokenizer uses gt2 encoding to estimate the token count and is only an approximation. The value for this setting should be set lower than the max number of tokens supported by the LLM model and may require calibration.
\ No newline at end of file
diff --git a/source/docs/bedrock_knowledgebase_rag/README.md b/source/docs/bedrock_knowledgebase_rag/README.md
new file mode 100644
index 00000000..007daa5e
--- /dev/null
+++ b/source/docs/bedrock_knowledgebase_rag/README.md
@@ -0,0 +1,64 @@
+# Retrieval Augmentation Generation (RAG) using Amazon Bedrock Knowledge Base:
+
+By integrating with the [Amazon Bedrock Knowledge Base](https://aws.amazon.com/bedrock/knowledge-bases/), QnABot on AWS can generate concise answers to user’s questions from configured data source(s). This prevents the need for users to sift through larger text passages to find the answer. You can also create your own knowledge base from files stored in an Amazon S3 bucket. Amazon Bedrock knowledge bases with QnaBot do not require EmbeddingsApi and LLMApi since the embeddings and generative response are already provided by the knowledge base. To enable this option, create an Amazon Bedrock knowledge base and copy your knowledge base ID into the CloudFormation parameter BedrockKnowledgeBaseId.
+
+In addition to answers generated, QnABot also provides context and signed S3 URLs to documents stored in S3 buckets that knowledge base returns in it's response. The security of the S3 bucket governs whether this link is usable.
+
+With this integration, QnABot on AWS can answer question and it's follow-up from pdf files such as [AWS Whitepaper](https://docs.aws.amazon.com/pdfs/whitepapers/latest/aws-overview/aws-overview.pdf):
+
+• What services are available in AWS for container orchestration?
+
+• Are there any upfront fees with ECS?
+
+![](./images/image0.png)
+
+
+## Amazon Bedrock Knowledge Base Models:
+
+- [Anthropic Claude Instant 1.2](https://us-east-1.console.aws.amazon.com/bedrock/home?region=us-east-1#/providers?model=anthropic.claude-instant-v1)
+- [Anthropic Claude 2.1](https://us-east-1.console.aws.amazon.com/bedrock/home?region=us-east-1#/providers?model=anthropic.claude-v2:1)
+- [Anthropic Claude 3 Sonnet](https://us-east-1.console.aws.amazon.com/bedrock/home?region=us-east-1#/providers?model=anthropic.claude-3-sonnet-20240229-v1:0)
+- [Anthropic Claude 3 Haiku](https://us-east-1.console.aws.amazon.com/bedrock/home?region=us-east-1#/providers?model=anthropic.claude-3-haiku-20240307-v1:0)
+
+
+## Amazon Bedrock Knowledge Base Quick Setup:
+> **_NOTE:_**
+Before getting started, please verify [supported regions and models for Knowledge bases for Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-supported.html). To configure QnABot to use Bedrock Knowledge Base, you will first need to [create a knowledge base](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-create.html). Below is a quick setup guide to get started:
+
+- Provide Knowledge Base details
+
+ ![](./images/image1.png)
+
+- Configure your data source based on available options. Here we will configure data source for S3.
+ > **_NOTE:_** If you want to enable S3 presigned URLs, S3 bucket names must start with `qna` (e.g. qnabot-mydocs), otherwise make sure IAM Role *...FulfillmentLambdaRole...* has been granted S3:GetObject access to the Bedrock Knowledge Base bucket (otherwise the signed URLS will not have access). In addition, you can encrypt the transient messages using your own KMS key; ensure that when creating the KMS key that the IAM Role *...FulfillmentLambdaRole...* is a key user.
+
+ ![](./images/image2.png)
+
+- Upload your documents in S3. Here we uploaded [aws-overview.pdf](https://docs.aws.amazon.com/pdfs/whitepapers/latest/aws-overview/aws-overview.pdf) whitepaper to test integration
+
+- Sync Data source and Copy your Knowledge base ID into the CloudFormation parameter BedrockKnowledgeBaseId
+
+ ![](./images/image3.png)
+
+
+## Configure Knowledge Base using the following Cloudformation parameter
+
+### BedrockKnowledgeBaseId
+
+**Optional** - ID of an existing Bedrock knowledge base. This setting enables the use of Bedrock knowledge bases as a fallback mechanism when a match is not found in OpenSearch.
+For example:
+
+### BedrockKnowledgeBaseModel
+
+**Optional** - Required if BedrockKnowledgeBaseId is not empty. Sets the preferred LLM model to use with the Bedrock knowledge base. Please ensure you have [requested model access](https://docs.aws.amazon.com/bedrock/latest/userguide/model-access.html) in Bedrock console, before deploying.
+
+![Enable Model Access](./images/model_access_for_kb.png)
+
+
+
+## Configure settings for RAG with Amazon Bedrock Knowledge Base in Content Designer:
+
+- **KNOWLEDGE_BASE_PREFIX_MESSAGE:** Message to append in the chat client when the knowledge base generates a response.
+- **KNOWLEDGE_BASE_SHOW_REFERENCES:** Enables or disables inclusion of the passages used as context for Bedrock Knowledge Base generated answers.
+- **KNOWLEDGE_BASE_S3_SIGNED_URLS:** Enables or disables S3 presigned URL signing for Bedrock Knowledge Base answers.
+- **KNOWLEDGE_BASE_S3_SIGNED_URL_EXPIRE_SECS:** Determines length of time in seconds for the validity of signed S3 Urls for Bedrock Knowledge Base answers.
\ No newline at end of file
diff --git a/source/docs/bedrock_knowledgebase_rag/images/image0.png b/source/docs/bedrock_knowledgebase_rag/images/image0.png
new file mode 100644
index 00000000..7d8bb1c0
Binary files /dev/null and b/source/docs/bedrock_knowledgebase_rag/images/image0.png differ
diff --git a/source/docs/bedrock_knowledgebase_rag/images/image1.png b/source/docs/bedrock_knowledgebase_rag/images/image1.png
new file mode 100644
index 00000000..92193a1b
Binary files /dev/null and b/source/docs/bedrock_knowledgebase_rag/images/image1.png differ
diff --git a/source/docs/bedrock_knowledgebase_rag/images/image2.png b/source/docs/bedrock_knowledgebase_rag/images/image2.png
new file mode 100644
index 00000000..3caec986
Binary files /dev/null and b/source/docs/bedrock_knowledgebase_rag/images/image2.png differ
diff --git a/source/docs/bedrock_knowledgebase_rag/images/image3.png b/source/docs/bedrock_knowledgebase_rag/images/image3.png
new file mode 100644
index 00000000..2b829666
Binary files /dev/null and b/source/docs/bedrock_knowledgebase_rag/images/image3.png differ
diff --git a/source/docs/bedrock_knowledgebase_rag/images/model_access_for_kb.png b/source/docs/bedrock_knowledgebase_rag/images/model_access_for_kb.png
new file mode 100644
index 00000000..baa9eb72
Binary files /dev/null and b/source/docs/bedrock_knowledgebase_rag/images/model_access_for_kb.png differ
diff --git a/source/docs/settings.md b/source/docs/settings.md
index a797877c..7c54538f 100644
--- a/source/docs/settings.md
+++ b/source/docs/settings.md
@@ -4,29 +4,29 @@
|---------|--------------|--------------|
| ENABLE_DEBUG_RESPONSES | true or false | Determines whether to log original English responses and translated responses for debugging
| ES_USE_KEYWORD_FILTERS | true or false | Determines whether to detect keywords from Comprehend when searching for answers
-| ES_EXPAND_CONTRACTIONS | JSON format | Expand contractions to resolve problems with keyword filters.
+| ES_EXPAND_CONTRACTIONS | JSON format | Expand contractions to resolve problems with keyword filters
| ES_KEYWORD_SYNTAX_TYPES | comma separate list
See [Analyze Syntax](https://docs.aws.amazon.com/comprehend/latest/dg/how-syntax.html) | A list of tokens representing parts of speech identified by Amazon Comprehend for matching questions
| ES_SYNTAX_CONFIDENCE_LIMIT | decimal between 0 and 0.99 | Amazon Comprehend makes a best effort to determine the parts of speech in a sentence. The keywords will only be used if the confidence limit is greater than this amount
| ES_MINIMUM_SHOULD_MATCH |"2<75%"
See [query-dsl-minimum-should-match](https://opensearch.org/docs/latest/query-dsl/minimum-should-match/) for syntax | Determines how close a question should match to return a hit
| ES_NO_HITS_QUESTION | text | The question QnABot should use when it cannot find an answer
| ES_ERROR_QUESTION | text | The question QnABot should use when a backend error ocurred
| ES_USE_FUZZY_MATCH | true or false | Determines whether QnABot should return answers similar to the question asked. See [Fuzzy Query](https://opensearch.org/docs/latest/query-dsl/term/fuzzy/) for more information
-| ES_PHRASE_BOOST | integer | If the user's question is a phrase match to a question in the knowledge then boost the score by this factor.
-| ES_SCORE_ANSWER_FIELD | true or false | Search the content of the answer field as a 2nd pass query (if there's no good match from 1st pass query on question fields).
+| ES_PHRASE_BOOST | integer | If the user's question is a phrase match to a question in the knowledge then boost the score by this factor
+| ES_SCORE_ANSWER_FIELD | true or false | Search the content of the answer field as a 2nd pass query (if there's no good match from 1st pass query on question fields)
| ENABLE_SENTIMENT_SUPPORT | true or false | Enables [Amazon Comprehend](https://docs.aws.amazon.com/comprehend/latest/dg/how-sentiment.html) be used for sentiment analysis
| ENABLE_MULTI_LANGUAGE_SUPPORT | true or false | Enable or Disable Amazon Translate support. See list of [Supported Languages](multilanguage_support/README.md#supported-languages)
| ENABLE_CUSTOM_TERMINOLOGY| true or false | Enable support for installed [Custom Terminology](https://aws.amazon.com/blogs/machine-learning/introducing-amazon-translate-custom-terminology/) files when using Amazon Translate
| MINIMUM_CONFIDENCE_SCORE | decimal between 0.0 and 0,99 | The minimum confidence before Amazon Comprehend will determine the user's language
-| ALT_SEARCH_KENDRA_FALLBACK_CONFIDENCE_SCORE | VERY_HIGH \| HIGH \| MEDIUM \| LOW | Answers will only be returned that or at or above the specified [confidence level](https://aws.amazon.com/about-aws/whats-new/2020/09/amazon-kendra-launches-confidence-scores/) when using Kendra Fallback. This setting does not affect the filtering of results for Kendra retrieval used when an LLM is enabled.
+| ALT_SEARCH_KENDRA_FALLBACK_CONFIDENCE_SCORE | VERY_HIGH \| HIGH \| MEDIUM \| LOW | Answers will only be returned that or at or above the specified [confidence level](https://aws.amazon.com/about-aws/whats-new/2020/09/amazon-kendra-launches-confidence-scores/) when using Kendra Fallback. This setting does not affect the filtering of results for Kendra retrieval used when an LLM is enabled
| ALT_SEARCH_KENDRA_FAQ_CONFIDENCE_SCORE: | VERY_HIGH \| HIGH \| MEDIUM \| LOW | Minimum Kendra [confidence level](https://aws.amazon.com/about-aws/whats-new/2020/09/amazon-kendra-launches-confidence-scores/) threshold for Kendra FAQ
-| ALT_SEARCH_KENDRA_S3_SIGNED_URLS | true or false | Enables [signed S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ShareObjectPreSignedURL.html) Urls for Amazon Kendra results. If enabled, allows support for Kendra documents which are not publicly accessible. Please ensure IAM FulfillmentLambdaRole has access to S3 objects in Kendra index (default role grants access to buckets starting with name QNA or qna).
-| ALT_SEARCH_KENDRA_S3_SIGNED_URL_EXPIRE_SECS | integer | Determines length of time in seconds for the validity of signed S3 Urls in Kendra fallback.
+| ALT_SEARCH_KENDRA_S3_SIGNED_URLS | true or false | Enables [signed S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ShareObjectPreSignedURL.html) Urls for Amazon Kendra results. If enabled, allows support for Kendra documents which are not publicly accessible. Please ensure IAM FulfillmentLambdaRole has access to S3 objects in Kendra index (default role grants access to buckets starting with name QNA or qna)
+| ALT_SEARCH_KENDRA_S3_SIGNED_URL_EXPIRE_SECS | integer | Determines length of time in seconds for the validity of signed S3 Urls in Kendra fallback
| ALT_SEARCH_KENDRA_MAX_DOCUMENT_COUNT | integer | Number of documents returned by Amazon Kendra fallback
-| ALT_SEARCH_KENDRA_FAQ_MESSAGE | string | Heading when a [Frequently Asked Question](https://docs.aws.amazon.com/kendra/latest/dg/response-types.html) is found by Amazon Kendra.
+| ALT_SEARCH_KENDRA_FAQ_MESSAGE | string | Heading when a [Frequently Asked Question](https://docs.aws.amazon.com/kendra/latest/dg/response-types.html) is found by Amazon Kendra
| ALT_SEARCH_KENDRA_TOP_ANSWER_MESSAGE | string | Heading when the [top answer](https://docs.aws.amazon.com/kendra/latest/dg/response-types.html) is found by Amazon Kendra
| ALT_SEARCH_KENDRA_ANSWER_MESSAGE | string | Heading when a [Document](https://docs.aws.amazon.com/kendra/latest/dg/response-types.html) is returned by Amazon Kendra
| ALT_SEARCH_KENDRA_RESPONSE_TYPES | Comma separated list. One or more valid [Amazon Kendra response type](https://docs.aws.amazon.com/kendra/latest/dg/response-types.html) | Kendra fallback will only return responses of the listed types
-| ALT_SEARCH_KENDRA_ABBREVIATE_MESSAGE_FOR_SSML | boolean | If a set to "true", an abbreviate Amazon Kendra response will be sent via voice. If set to "false", the full text of the Kendra fallback response will be sent when using voice.
+| ALT_SEARCH_KENDRA_ABBREVIATE_MESSAGE_FOR_SSML | boolean | If a set to "true", an abbreviate Amazon Kendra response will be sent via voice. If set to "false", the full text of the Kendra fallback response will be sent when using voice
| KENDRA_FAQ_CONFIG_MAX_RETRIES | integer | Number of times to retry syncing FAQ's when a throttling error occurs
| KENDRA_FAQ_CONFIG_RETRY_DELAY | integer | Amount of time to wait in seconds between attempts to retry syncing
| KENDRA_FAQ_ES_FALLBACK | true or false | When Kendra FAQ is enabled, but does not return an answer then query OpenSearch
@@ -46,13 +46,13 @@
| SMS_HINT_REMINDER_INTERVAL_HRS | integer | The amount of time in hours when to send SMS_HINT_REMINDER
| IDENTITY_PROVIDER_JWKS_URLS | array of urls | User can override this empty list to add trusted IdPs (eg from Lex-Web-UI CognitoUserPoolPubKey)
| ENFORCE_VERIFIED_IDENTITY | true or false | Set to true to make QnABot require verified identity from client
-| NO_VERIFIED_IDENTITY_QUESTION | text | If user identity cannot be verified, replace question string with this.
-| ELICIT_RESPONSE_MAX_RETRIES | integer | Number of times an elicitResponse LexBot can be called before giving up when the Bot returns Failed
-| ELICIT_RESPONSE_RETRY_MESSAGE | text | Default retry message when working with LexBot
-| ELICIT_RESPONSE_BOT_FAILURE_MESSAGE | text | Message used when maximum number of retries is exceeded
-| ELICIT_RESPONSE_DEFAULT_MSG| text | Default response message when working with LexBot
+| NO_VERIFIED_IDENTITY_QUESTION | text | If user identity cannot be verified, replace question string with this
+| ELICIT_RESPONSE_MAX_RETRIES | integer | Number of times an elicitResponse LexBot can fail before QnaBot gives up and does not ask the user to start the elicitResponse LexBot workflow again
+| ELICIT_RESPONSE_RETRY_MESSAGE | text | Retry message displayed by QnABot when the elicitResponse LexBot workflow fails and the user has to start again
+| ELICIT_RESPONSE_BOT_FAILURE_MESSAGE | text | Failure message displayed by QnaBot when the maximum number of retries of the elicitResponse LexBot workflow is exceeded
+| ELICIT_RESPONSE_DEFAULT_MSG| text | Default closing response message used by QnAbot when the elicitResponse LexBot does not return a closing response to QnABot
| CONNECT_IGNORE_WORDS | comma separated list | Throw an error if the transcript provided by connect __only__ contains the words in this list (case insensitive). This is useful if you find many missed utterances due to the use of filler words before a proper utterance (e.g. "a", "e", "umm", "like", etc.). This setting can not be used as a transcript filter (see `LAMBDA_PREPROCESS_HOOK` or `LAMBDA_POSTPROCESS_HOOK` if you wish to apply custom processing to questions/answers)
-| CONNECT_ENABLE_VOICE_RESPONSE_INTERRUPT | true or false | Return bot response in session attribute to enable contact flow to use response as an interruptible prompt.
+| CONNECT_ENABLE_VOICE_RESPONSE_INTERRUPT | true or false | Return bot response in session attribute to enable contact flow to use response as an interruptible prompt
| CONNECT_NEXT_PROMPT_VARNAME | text | Name of session var to use for next prompt
| ENABLE_REDACTING | true or false | Enable the system to redact log output
| ENABLE_REDACTING_WITH_COMPREHEND | true or false | Enables [Amazon Comprehend based PII Redacting](https://aws.amazon.com/blogs/machine-learning/detecting-and-redacting-pii-using-amazon-comprehend/)
@@ -70,13 +70,13 @@
| BOT_ROUTER_WELCOME_BACK_MSG | text | The text used by QnABot when ending communication from a specialty bot
| BOT_ROUTER_EXIT_MSGS | comma separated list | The exit phrases in comma separated list available for the a user to end communication with a specialty bot
| RUN_LAMBDAHOOK_FROM_QUERY_STEP | true or false | Controls timing of execution for Lambda hooks
-| LAMBDA_PREPROCESS_HOOK | string | name of AWS Lambda to run before each question is processed. The name of the Lambda must start with "qna-" or "QNA-" to comply with the permissions of the role attached to the Fulfillment Lambda .
-| LAMBDA_POSTPROCESS_HOOK | string | name of AWS Lambda to run after the question is processed. But before user profile information is saved. The name of the Lambda must start with "qna-" or "QNA-" to comply with the permissions of the role attached to the Fulfillment Lambda .
-| SEARCH_REPLACE_QUESTION_SUBSTRINGS | string | replace words or phrases in user questions by defining search/replace pairs in a JSON object like: {"searchString":"replaceString"}. Add additional pairs separated by commas, like: {"searchString":"replaceString", "searchString2":"replaceString2"}.
+| LAMBDA_PREPROCESS_HOOK | string | name of AWS Lambda to run before each question is processed. The name of the Lambda must start with "qna-" or "QNA-" to comply with the permissions of the role attached to the Fulfillment Lambda
+| LAMBDA_POSTPROCESS_HOOK | string | name of AWS Lambda to run after the question is processed. But before user profile information is saved. The name of the Lambda must start with "qna-" or "QNA-" to comply with the permissions of the role attached to the Fulfillment Lambda
+| SEARCH_REPLACE_QUESTION_SUBSTRINGS | string | replace words or phrases in user questions by defining search/replace pairs in a JSON object like: {"searchString":"replaceString"}. Add additional pairs separated by commas, like: {"searchString":"replaceString", "searchString2":"replaceString2"}
| PROTECTED_UTTERANCES | text | A comma-separated list of utterances that will not be translated or disambiguated by QnABot. Each phrase is not case sensitive and ignores common punctuation characters: .,!;-?
-| EMBEDDINGS_ENABLE | true or false | Disable use of semantic search using embeddings. Set to TRUE only if QnABot stack was deployed with embeddings enabled.
-| EMBEDDINGS_SCORE_THRESHOLD | 0-1 | Unlike regular OpenSearch queries, embeddings queries always return scores between 0 and 1, so we can apply a threshold to separate good from bad results. If embedding similarity score is under the threshold then the match is rejected and QnABot reverts to try to find a match on the answer field (only if ES_SCORE_ANSWER_FIELD is set to true), Text item passage query, Kendra fallback or no_hits. Use the Content Designer TEST tab to see the hits ranked by score for your query results.
-| EMBEDDINGS_SCORE_ANSWER_THRESHOLD | 0-1 | Used only when ES_SCORE_ANSWER_FIELD is true. If embedding similarity score for the answer field query is under the threshold the match is rejected and QnABot reverts to the Text item passage query, Kendra fallback or no_hits. Use the Content Designer TEST tab to see the hits ranked by score for your answer field query results. For **Match on**, choose *qna item answer* to see answer field scores.
+| EMBEDDINGS_ENABLE | true or false | Disable use of semantic search using embeddings. Set to TRUE only if QnABot stack was deployed with embeddings enabled
+| EMBEDDINGS_SCORE_THRESHOLD | 0-1 | Unlike regular OpenSearch queries, embeddings queries always return scores between 0 and 1, so we can apply a threshold to separate good from bad results. If embedding similarity score is under the threshold then the match is rejected and QnABot reverts to try to find a match on the answer field (only if ES_SCORE_ANSWER_FIELD is set to true), Text item passage query, Kendra fallback or no_hits. Use the Content Designer TEST tab to see the hits ranked by score for your query results
+| EMBEDDINGS_SCORE_ANSWER_THRESHOLD | 0-1 | Used only when ES_SCORE_ANSWER_FIELD is true. If embedding similarity score for the answer field query is under the threshold the match is rejected and QnABot reverts to the Text item passage query, Kendra fallback or no_hits. Use the Content Designer TEST tab to see the hits ranked by score for your answer field query results. For **Match on**, choose *qna item answer* to see answer field scores
| EMBEDDINGS_TEXT_PASSAGE_SCORE_THRESHOLD | 0-1 | If embedding similarity score for text item passage field query is under threshold the match it's rejected and QnABot reverts to Kendra fallback or no_hits. Use the Content Designer TEST tab to see the hits ranked by score for your answer field query results. For **Match on**, choose *text item passage* to see passage field scores. |
| LLM_API | SAGEMAKER, LAMBDA | Specifies the LLM (Language Model) API used by the QnABot Stack based on the chosen value during deployment or update. |
| LLM_GENERATE_QUERY_ENABLE | true or false | Enables or disables question disambiguation using the LLM model. |
diff --git a/source/docs/update_or_migrate_deployment/README.md b/source/docs/update_or_migrate_deployment/README.md
index 652dd2d9..58c90618 100644
--- a/source/docs/update_or_migrate_deployment/README.md
+++ b/source/docs/update_or_migrate_deployment/README.md
@@ -73,6 +73,80 @@ D. Post-migration verification and cleaning:
b. After validating, you may proceed to delete your existing deployment by selecting your existing QnABot on AWS CloudFormation stack > Delete.
+ ### Migrating Feedback and Metrics Indices from OpenSearch (Optional):
+
+Migrating indices is not required. QnABot has export and import functionalities that will assist you in exporting and importing QnAs, as mentioned in `D. Exporting and Import QnAs`.However, if you would like to keep feedback and metrics in the OpenSearch Dashboards > QnABot Dashboard of your new deployment, you will need to migrate data from the feedback and metrics indices from your old OpenSearch domain to the new one by utilizing the [snapshot backups stored in Amazon S3](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/managedomains-snapshots.html#managedomains-snapshot-prerequisites) using this procedure:
+
+
+ - A. Getting access to Security plugin in OpenSearch Dashboards:
+
+ Since QnABot by default is configured with [Fine Grain Access Control](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/fgac.html), you won't have default access to security plugin. This will provide you access OpenSearch Dashboard > Management > Security to map roles with OpenSearch.
+
+ ![Security Plug](./images/unlocking_security_plugin.png)
+
+ To do this:
+
+ 1. In Content Designer > select the tools menu ( ☰ ) > click on OpenSearch Dashboard.
+ 2. In OpenSearch Dashboards, click on top right icon of your login > View roles and Identities> Backend roles > Copy ARN of your OpenSearch Dashboard role.
+ 2. Navigate to Amazon OpenSearch Service > Domains > New Deployment's Domain > Security Configuration > Edit > Fine-grained access control > Set IAM ARN as master user > Paste ARN of OpenSearchDashboards role copied in step 1.
+
+- B. Setting up Amazon S3 Bucket and providing IAM permissions for backup:
+
+ Here we will set up a S3 bucket which will be connected to both OpenSearch instances. The existing domain will write snapshot to this bucket while new deployment's domain will read snapshot from this bucket. To achieve this:
+
+ 1. Create a S3 bucket listed in pre-requisiste table [here](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/managedomains-snapshots.html#managedomains-snapshot-prerequisites)
+ 2. Create a IAM role listed in pre-requisiste table [here](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/managedomains-snapshots.html#managedomains-snapshot-prerequisites)
+ 3. Create a IAM role listed in pre-requisiste table [here](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/managedomains-snapshots.html#managedomains-snapshot-prerequisites). Note that you will provide you will put permission for existing domain only since we are adding snapshot to this bucket from existing domain. Thus, you will input its ARN accordingly.
+
+- C. Registering a manual snapshot repository:
+
+ To take manual snapshots, you will need to register a repository. To do this:
+
+ 1. You will map the snapshot role using OpenSearch Dashboards as mentioned in [Step 1: Map the snapshot role in OpenSearch Dashboards (if using fine-grained access control) ](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/managedomains-snapshots.html#managedomains-snapshot-registerdirectory)
+ 2. You will need run a part of Python script "Register repository" as mentioned in [Step 2: Register a repository](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/managedomains-snapshots.html#managedomains-snapshot-registerdirectory) > Domain Migration.
+ 3. When running this script, please carefully note the payload in the script. To register repository for existing deployment and new deployment, you can run this script for both domains by filling necessary values such region, endpoint (obtained in Amazon OpenSearch Service > Domains > Click on the Domain) but keep repository name same in both. Also, for new deployment domain, also make sure to add "readonly": "true" to the "settings" object in the payload.
+
+- D. Taking manual snapshots
+ 1. Once you have created a repository for manual snapshots, you can take a snapshot in existing deplyoment by navigating to OpenSearch Dashboards > click menu ( ☰ ) > Management > Snapshot Management (available in QnA 6.0.0 and above versions only) > Snapshots > Take a Snasphot (see screenshot) > Provide Name and Indices > Add.
+
+ ![Taking Snapshot](./images/take_snapshot.png)
+
+ 2. Once the snapshot is completed, please verify if it is available in new QnA deployment > OpenSearch Dashboards click menu ( ☰ ) > Management > Snapshot Management, please verify if snapshot is available in another deployment as well. If it is not available then check if you have missed any previous steps such as the repository in new deployment as well.
+
+
+- E. Restoring Snapshot and Indices
+
+ 1. Once you have the snapshot available in new deployment, you will need to restore these snapshots using OpenSearch Dashboards click menu ( ☰ ) > Management > Snapshot Management > Snapshots > Restore. In this step, you can restore all indices or specific indices as per your needs (see below).
+
+ ![Restore Snapshots](./images/restore_snapshot.png)
+
+ 2. Once you have restored snapshot, you will navigate to OpenSearch Dashboards click menu ( ☰ ) > Management > Dev Tools. Here you will reindex all the documents from new deployment's index (destination) with index you restored from snapshot (source)
+
+ ```
+ POST _reindex
+
+ {
+ "source":{
+ "index":"source"
+ },
+ "dest":{
+ "index":"destination"
+ },
+ }
+ ```
+
+- F. Verify the data is available
+
+ Once you have reindex Opensearch feedback and metrics indices using either of methods, you can validate it under OpenSearch Dashboards click menu ( ☰ ) > Dashboards > QnABot Dashboard. You can also compare both of these instances to make sure the data is matched as show below.
+
+ Existing Deployment | New Deployment
+ :-------------------------:|:-------------------------:
+ ![Existing Deployment](./images/original_deployment.png) | ![New Deployment](./images/new_deployment.png)
+
+
+
+
+
### Frequently Asked Questions (FAQs):
- Do I need to back-up and migrate Amazon DynamoDb database table?
diff --git a/source/docs/update_or_migrate_deployment/images/new_deployment.png b/source/docs/update_or_migrate_deployment/images/new_deployment.png
new file mode 100644
index 00000000..7cc79ab0
Binary files /dev/null and b/source/docs/update_or_migrate_deployment/images/new_deployment.png differ
diff --git a/source/docs/update_or_migrate_deployment/images/original_deployment.png b/source/docs/update_or_migrate_deployment/images/original_deployment.png
new file mode 100644
index 00000000..6eb1dd2d
Binary files /dev/null and b/source/docs/update_or_migrate_deployment/images/original_deployment.png differ
diff --git a/source/docs/update_or_migrate_deployment/images/restore_snapshot.png b/source/docs/update_or_migrate_deployment/images/restore_snapshot.png
new file mode 100644
index 00000000..e239b2a7
Binary files /dev/null and b/source/docs/update_or_migrate_deployment/images/restore_snapshot.png differ
diff --git a/source/docs/update_or_migrate_deployment/images/take_snapshot.png b/source/docs/update_or_migrate_deployment/images/take_snapshot.png
new file mode 100644
index 00000000..8f7dd222
Binary files /dev/null and b/source/docs/update_or_migrate_deployment/images/take_snapshot.png differ
diff --git a/source/docs/update_or_migrate_deployment/images/unlocking_security_plugin.png b/source/docs/update_or_migrate_deployment/images/unlocking_security_plugin.png
new file mode 100644
index 00000000..a6b5c55d
Binary files /dev/null and b/source/docs/update_or_migrate_deployment/images/unlocking_security_plugin.png differ
diff --git a/source/lambda/aws-sdk-layer/package-lock.json b/source/lambda/aws-sdk-layer/package-lock.json
index fdb725ae..8bcf00e7 100644
--- a/source/lambda/aws-sdk-layer/package-lock.json
+++ b/source/lambda/aws-sdk-layer/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "aws-layer",
- "version": "6.0.1",
+ "version": "6.0.2",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "aws-layer",
- "version": "6.0.1",
+ "version": "6.0.2",
"license": "Apache-2.0",
"dependencies": {
"@aws-sdk/client-bedrock-agent-runtime": "3.511.0",
diff --git a/source/lambda/aws-sdk-layer/package.json b/source/lambda/aws-sdk-layer/package.json
index 84d931d9..2b62a71e 100644
--- a/source/lambda/aws-sdk-layer/package.json
+++ b/source/lambda/aws-sdk-layer/package.json
@@ -1,6 +1,6 @@
{
"name": "aws-layer",
- "version": "6.0.1",
+ "version": "6.0.2",
"description": "QnABot Lambda aws-sdk-layer",
"main": "index.js",
"scripts": {
diff --git a/source/lambda/cfn-lambda-layer/package-lock.json b/source/lambda/cfn-lambda-layer/package-lock.json
index 6f2134b9..c65eb672 100644
--- a/source/lambda/cfn-lambda-layer/package-lock.json
+++ b/source/lambda/cfn-lambda-layer/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "cfn-lambda-layer",
- "version": "6.0.1",
+ "version": "6.0.2",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "cfn-lambda-layer",
- "version": "6.0.1",
+ "version": "6.0.2",
"license": "Apache-2.0",
"dependencies": {
"cfn-lambda": "^5.1.0"
diff --git a/source/lambda/cfn-lambda-layer/package.json b/source/lambda/cfn-lambda-layer/package.json
index 9c2f7565..7a31e63f 100644
--- a/source/lambda/cfn-lambda-layer/package.json
+++ b/source/lambda/cfn-lambda-layer/package.json
@@ -1,6 +1,6 @@
{
"name": "cfn-lambda-layer",
- "version": "6.0.1",
+ "version": "6.0.2",
"description": "QnABot Cfn Lambda Layer",
"main": "index.js",
"scripts": {
diff --git a/source/lambda/cfn/lib/CognitoLogin.js b/source/lambda/cfn/lib/CognitoLogin.js
index 62b870ed..38848e83 100644
--- a/source/lambda/cfn/lib/CognitoLogin.js
+++ b/source/lambda/cfn/lib/CognitoLogin.js
@@ -11,14 +11,13 @@
* and limitations under the License. *
*********************************************************************************************************************/
-const { CognitoIdentityProvider } = require('@aws-sdk/client-cognito-identity-provider');
-const { S3 } = require('@aws-sdk/client-s3');
+const { CognitoIdentityProviderClient, UpdateUserPoolClientCommand, SetUICustomizationCommand } = require('@aws-sdk/client-cognito-identity-provider');
+const { S3Client, GetObjectCommand } = require('@aws-sdk/client-s3');
const customSdkConfig = require('./util/customSdkConfig');
const region = process.env.AWS_REGION || 'us-east-1';
-const cognito = new CognitoIdentityProvider(customSdkConfig({ region }));
-const s3 = new S3(customSdkConfig({ region }));
-
+const s3Client = new S3Client(customSdkConfig({ region }));
+const cognitoClient = new CognitoIdentityProviderClient(customSdkConfig({ region }));
module.exports = class CognitoLogin extends require('./base') {
constructor() {
super();
@@ -34,29 +33,43 @@ module.exports = class CognitoLogin extends require('./base') {
LogoutURLs: params.LogoutCallbackUrls,
ExplicitAuthFlows: ['ADMIN_NO_SRP_AUTH'],
RefreshTokenValidity: 1,
+ TokenValidityUnits: { RefreshToken: 'days' },
SupportedIdentityProviders: ['COGNITO'],
AllowedOAuthFlows: ['code'],
AllowedOAuthScopes: ['phone', 'email', 'openid', 'profile'],
AllowedOAuthFlowsUserPoolClient: true,
}
- await cognito.updateUserPoolClient(userParams);
+ console.log(`Cognito User Params: ${JSON.stringify(userParams, null, 2)}`);
+
+ const updateUserPoolClientCmd = new UpdateUserPoolClientCommand(userParams);
+ await cognitoClient.send(updateUserPoolClientCmd);
if (params.ImageBucket && params.ImageKey) {
- const result = await s3.getObject({
- Bucket: params.ImageBucket,
- Key: params.ImageKey,
- });
+ const s3Params = {
+ Bucket: params.ImageBucket,
+ Key: params.ImageKey
+ };
+ const getObjCmd = new GetObjectCommand(s3Params);
+ const result = await s3Client.send(getObjCmd);
params.Image = await result.Body.transformToByteArray();
}
- await cognito.setUICustomization({
+
+ const uiParams = {
ClientId: params.ClientId,
UserPoolId: params.UserPool,
CSS: params.CSS,
- });
+ }
+ const uiCustomizationCmd = new SetUICustomizationCommand(uiParams);
+ await cognitoClient.send(uiCustomizationCmd);
+
reply(null, url);
} catch (e) {
console.error('An error occured in CognitoLogin: ', e);
reply(e);
}
}
+
+ async Update(ID, params, oldparams, reply) {
+ await this.Create(params, reply);
+ }
};
diff --git a/source/lambda/cfn/package-lock.json b/source/lambda/cfn/package-lock.json
index 663bf2b8..cee1ed01 100644
--- a/source/lambda/cfn/package-lock.json
+++ b/source/lambda/cfn/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "cfn",
- "version": "6.0.1",
+ "version": "6.0.2",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "cfn",
- "version": "6.0.1",
+ "version": "6.0.2",
"license": "Apache-2.0",
"dependencies": {
"@aws-sdk/client-api-gateway": "3.511.0",
diff --git a/source/lambda/cfn/package.json b/source/lambda/cfn/package.json
index 0c17a338..8cb91be3 100644
--- a/source/lambda/cfn/package.json
+++ b/source/lambda/cfn/package.json
@@ -1,6 +1,6 @@
{
"name": "cfn",
- "version": "6.0.1",
+ "version": "6.0.2",
"description": "QnABot Cfn Lambda",
"main": "index.js",
"scripts": {
diff --git a/source/lambda/cfn/test/lib/CognitoLogin.fixtures.js b/source/lambda/cfn/test/lib/CognitoLogin.fixtures.js
index 56fe1476..bab459ae 100644
--- a/source/lambda/cfn/test/lib/CognitoLogin.fixtures.js
+++ b/source/lambda/cfn/test/lib/CognitoLogin.fixtures.js
@@ -20,7 +20,8 @@ exports.userPoolClientWithS3ParamsObject = function () {
LogoutCallbackUrls: ['mock_logout_callback_url'],
ImageBucket: 'mock_image_bucket',
ImageKey: 'mock_image_key',
- Image: 'mock_image'
+ Image: 'mock_image',
+ CSS: 'mock_css'
}
return response;
@@ -32,7 +33,8 @@ exports.userPoolClientParamsObject = function () {
UserPool: 'mock_user_pool',
CallbackUrl: 'mock_callback_url',
LoginCallbackUrls: ['mock_login_url'],
- LogoutCallbackUrls: ['mock_logout_callback_url']
+ LogoutCallbackUrls: ['mock_logout_callback_url'],
+ CSS: 'mock_css'
}
return response;
diff --git a/source/lambda/cfn/test/lib/CognitoLogin.test.js b/source/lambda/cfn/test/lib/CognitoLogin.test.js
index e37c51f1..fdca295a 100644
--- a/source/lambda/cfn/test/lib/CognitoLogin.test.js
+++ b/source/lambda/cfn/test/lib/CognitoLogin.test.js
@@ -15,40 +15,66 @@ const { mockClient } = require('aws-sdk-client-mock');
const { S3Client, GetObjectCommand } = require('@aws-sdk/client-s3');
const { Readable } = require('stream');
const { sdkStreamMixin } = require('@smithy/util-stream');
-const { CognitoIdentityProvider, UpdateUserPoolClientCommand, SetUICustomizationCommand } = require('@aws-sdk/client-cognito-identity-provider');
+const {
+ CognitoIdentityProviderClient,
+ UpdateUserPoolClientCommand,
+ SetUICustomizationCommand
+} = require('@aws-sdk/client-cognito-identity-provider');
const originalEnv = process.env;
-const cognitoLogin = require("../../lib/CognitoLogin");
+const cognitoLogin = require('../../lib/CognitoLogin');
const cognitoLoginFixtures = require('./CognitoLogin.fixtures');
-const cognitoIdentityProviderMock = mockClient(CognitoIdentityProvider);
+const cognitoIdentityProviderMock = mockClient(CognitoIdentityProviderClient);
const s3ClientMock = mockClient(S3Client);
-
+require('aws-sdk-client-mock-jest');
describe('test CognitoLogin class', () => {
beforeEach(() => {
process.env = {
- ...originalEnv,
+ ...originalEnv
};
cognitoIdentityProviderMock.reset();
+ s3ClientMock.reset();
});
-
+
afterEach(() => {
jest.clearAllMocks();
});
- it("should be able to create a new user pool domain with no S3 on Create", async () => {
+ it('should be able to create a new user pool domain with no S3 on Create', async () => {
const cognitoLoginCut = new cognitoLogin();
const params = cognitoLoginFixtures.userPoolClientParamsObject();
-
+ cognitoIdentityProviderMock.on(UpdateUserPoolClientCommand).resolves({});
cognitoIdentityProviderMock.on(SetUICustomizationCommand).resolves({});
-
+
const callback = (error, result) => {
- expect(result).toBe('mock_callback_url');
+ expect(result).toBe('mock_callback_url');
};
-
+
await cognitoLoginCut.Create(params, callback);
- });
+ expect(cognitoIdentityProviderMock).toHaveReceivedCommandTimes(UpdateUserPoolClientCommand, 1);
+ expect(cognitoIdentityProviderMock).toHaveReceivedCommandWith(UpdateUserPoolClientCommand, {
+ 'AllowedOAuthFlows': ['code'],
+ 'AllowedOAuthFlowsUserPoolClient': true,
+ 'AllowedOAuthScopes': ['phone', 'email', 'openid', 'profile'],
+ 'CallbackURLs': ['mock_login_url'],
+ 'ClientId': 'mock_client_id',
+ 'ExplicitAuthFlows': ['ADMIN_NO_SRP_AUTH'],
+ 'LogoutURLs': ['mock_logout_callback_url'],
+ 'RefreshTokenValidity': 1,
+ 'SupportedIdentityProviders': ['COGNITO'],
+ 'TokenValidityUnits': { 'RefreshToken': 'days' },
+ 'UserPoolId': 'mock_user_pool'
+ });
+ expect(cognitoIdentityProviderMock).toHaveReceivedCommandTimes(SetUICustomizationCommand, 1);
+ expect(s3ClientMock).toHaveReceivedCommandTimes(GetObjectCommand, 0)
+ expect(cognitoIdentityProviderMock).toHaveReceivedCommandWith(SetUICustomizationCommand, {
+ 'ClientId': 'mock_client_id',
+ 'UserPoolId': 'mock_user_pool',
+ 'CSS': 'mock_css'
+ });
+ });
- it ("should be able to create a new user pool domain with S3 on Create", async() => {
+ it('should be able to create a new user pool domain with S3 on Create', async () => {
const cognitoLoginCut = new cognitoLogin();
const params = cognitoLoginFixtures.userPoolClientWithS3ParamsObject();
@@ -56,16 +82,41 @@ describe('test CognitoLogin class', () => {
stream.push(JSON.stringify(params));
stream.push(null); // end of stream
const sdkStream = sdkStreamMixin(stream);
-
+
s3ClientMock.on(GetObjectCommand).resolves({ Body: sdkStream });
cognitoIdentityProviderMock.on(SetUICustomizationCommand).resolves({});
const callback = (error, result) => {
- expect(result).toBe('mock_callback_url');
+ expect(result).toBe('mock_callback_url');
};
-
+
await cognitoLoginCut.Create(params, callback);
+ expect(cognitoIdentityProviderMock).toHaveReceivedCommandTimes(UpdateUserPoolClientCommand, 1);
+ expect(cognitoIdentityProviderMock).toHaveReceivedCommandWith(UpdateUserPoolClientCommand, {
+ 'AllowedOAuthFlows': ['code'],
+ 'AllowedOAuthFlowsUserPoolClient': true,
+ 'AllowedOAuthScopes': ['phone', 'email', 'openid', 'profile'],
+ 'CallbackURLs': ['mock_login_url'],
+ 'ClientId': 'mock_client_id',
+ 'ExplicitAuthFlows': ['ADMIN_NO_SRP_AUTH'],
+ 'LogoutURLs': ['mock_logout_callback_url'],
+ 'RefreshTokenValidity': 1,
+ 'SupportedIdentityProviders': ['COGNITO'],
+ 'TokenValidityUnits': { 'RefreshToken': 'days' },
+ 'UserPoolId': 'mock_user_pool'
+ });
+ expect(cognitoIdentityProviderMock).toHaveReceivedCommandTimes(SetUICustomizationCommand, 1);
+ expect(s3ClientMock).toHaveReceivedCommandTimes(GetObjectCommand, 1)
+ expect(s3ClientMock).toHaveReceivedCommandWith(GetObjectCommand, {
+ 'Bucket': 'mock_image_bucket',
+ 'Key': 'mock_image_key'
+ });
+ expect(cognitoIdentityProviderMock).toHaveReceivedCommandWith(SetUICustomizationCommand, {
+ 'ClientId': 'mock_client_id',
+ 'UserPoolId': 'mock_user_pool',
+ 'CSS': 'mock_css'
+ });
});
it("should return error if exception occurred on Create", async () => {
diff --git a/source/lambda/common-modules-layer/package-lock.json b/source/lambda/common-modules-layer/package-lock.json
index 928b611f..bd95cdac 100644
--- a/source/lambda/common-modules-layer/package-lock.json
+++ b/source/lambda/common-modules-layer/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "common-modules-layer",
- "version": "6.0.1",
+ "version": "6.0.2",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "common-modules-layer",
- "version": "6.0.1",
+ "version": "6.0.2",
"license": "Apache-2.0",
"dependencies": {
"@aws-sdk/credential-providers": "^3.511.0",
diff --git a/source/lambda/common-modules-layer/package.json b/source/lambda/common-modules-layer/package.json
index 7500a2e7..6db8507f 100644
--- a/source/lambda/common-modules-layer/package.json
+++ b/source/lambda/common-modules-layer/package.json
@@ -1,6 +1,6 @@
{
"name": "common-modules-layer",
- "version": "6.0.1",
+ "version": "6.0.2",
"description": "QnABot Common-modules-layer lambda",
"main": "index.js",
"scripts": {
diff --git a/source/lambda/connect/package-lock.json b/source/lambda/connect/package-lock.json
index e8cd56a9..b7051f62 100644
--- a/source/lambda/connect/package-lock.json
+++ b/source/lambda/connect/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "connect",
- "version": "6.0.1",
+ "version": "6.0.2",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "connect",
- "version": "6.0.1",
+ "version": "6.0.2",
"license": "Apache-2.0",
"devDependencies": {
"jest": "^29.7.0"
diff --git a/source/lambda/connect/package.json b/source/lambda/connect/package.json
index 254cc55c..b95e39ee 100644
--- a/source/lambda/connect/package.json
+++ b/source/lambda/connect/package.json
@@ -1,6 +1,6 @@
{
"name": "connect",
- "version": "6.0.1",
+ "version": "6.0.2",
"description": "Lambda function used to support the Connect setup wizard",
"repository": {
"type": "git",
diff --git a/source/lambda/es-proxy-layer/lib/bedrock/bedrockAgents.js b/source/lambda/es-proxy-layer/lib/bedrock/bedrockAgents.js
index bd8a7b5c..ddc50071 100644
--- a/source/lambda/es-proxy-layer/lib/bedrock/bedrockAgents.js
+++ b/source/lambda/es-proxy-layer/lib/bedrock/bedrockAgents.js
@@ -127,7 +127,8 @@ async function bedrockRetrieveAndGenerate(req, res) {
} = req._settings;
const client = new BedrockAgentRuntimeClient(customSdkConfig('C41', { region }));
- const { question } = req;
+ let { question } = req;
+ question = question.slice(0, 1000)
let retrieveAndGenerateInput, retrieveAndGenerateSessionInput, response;
diff --git a/source/lambda/es-proxy-layer/lib/bedrock/bedrockClient.js b/source/lambda/es-proxy-layer/lib/bedrock/bedrockClient.js
index 04b31ed8..b9bb6456 100644
--- a/source/lambda/es-proxy-layer/lib/bedrock/bedrockClient.js
+++ b/source/lambda/es-proxy-layer/lib/bedrock/bedrockClient.js
@@ -27,8 +27,6 @@ const capabilityMapping = {
'anthropic.claude-3-haiku-v1': 'C031',
'anthropic.claude-3-sonnet-v1': 'C032',
'cohere.command-text-v14': 'C033',
- 'meta.llama2-13b-chat-v1': 'C034',
- 'meta.llama2-70b-chat-v1': 'C035',
'amazon.titan-embed-text-v1': 'C037',
'cohere.embed-english-v3': 'C038',
'cohere.embed-multilingual-v3': 'C039',
diff --git a/source/lambda/es-proxy-layer/lib/llm.js b/source/lambda/es-proxy-layer/lib/llm.js
index 78a4405a..2d710a0a 100644
--- a/source/lambda/es-proxy-layer/lib/llm.js
+++ b/source/lambda/es-proxy-layer/lib/llm.js
@@ -30,6 +30,8 @@ const { sanitize } = require('./sanitizeOutput');
//
const default_params_stg = '{"temperature":0}';
+const default_human_prefix = 'Human';
+const default_ai_prefix = 'AI';
// make QA prompt from template
async function make_qa_prompt(req, promptTemplateStr, context, input, query) {
@@ -192,9 +194,9 @@ const clean_context = function clean_context(context, req) {
// LangChain chatMessageHistory serialize (to JSON) and parse (from JSON)
// Chat history persistance is maintained via userInfo, managed from query.js, and stored in DynamoDB with other userInfo.
-async function chatMemorySerialise(chatMessageHistory, max = 50, human_prefix = 'Human', ai_prefix = 'AI') {
+async function chatMemorySerialise(chatMessageHistory, max = 50, human_prefix = default_human_prefix, ai_prefix = default_ai_prefix) {
const messages = await chatMessageHistory.getMessages();
- const obj_messages = [];
+ const obj_messages = [];
for (const m of messages) {
let role;
if (m._getType() === 'human') {
@@ -213,12 +215,12 @@ async function chatMemoryParse(json_messages, max = 50) {
const obj_messages = JSON.parse(json_messages).slice(-max);
qnabot.log(`Chat Message History (capped at ${max}): `, json_messages);
for (const m of obj_messages) {
- if (m.Human) {
+ if (default_human_prefix in m) {
chatMessageHistory.addUserMessage(m.Human);
- } else if (m.AI) {
+ } else if (default_ai_prefix in m) {
chatMessageHistory.addAIChatMessage(m.AI);
} else {
- throw new Error(`Got unsupported message type: ${m}`);
+ throw new Error(`Got unsupported message type: ${JSON.stringify(m)}`);
}
}
return chatMessageHistory;
diff --git a/source/lambda/es-proxy-layer/package-lock.json b/source/lambda/es-proxy-layer/package-lock.json
index 29508ca6..5f6132f5 100644
--- a/source/lambda/es-proxy-layer/package-lock.json
+++ b/source/lambda/es-proxy-layer/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "proxy-es",
- "version": "6.0.1",
+ "version": "6.0.2",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "proxy-es",
- "version": "6.0.1",
+ "version": "6.0.2",
"license": "Apache-2.0",
"dependencies": {
"@aws-sdk/client-firehose": "^3.511.0",
diff --git a/source/lambda/es-proxy-layer/package.json b/source/lambda/es-proxy-layer/package.json
index 500f072d..cfec922d 100644
--- a/source/lambda/es-proxy-layer/package.json
+++ b/source/lambda/es-proxy-layer/package.json
@@ -1,6 +1,6 @@
{
"name": "proxy-es",
- "version": "6.0.1",
+ "version": "6.0.2",
"description": "QnABot Lambda managing querying of data store",
"main": "index.js",
"scripts": {
diff --git a/source/lambda/es-proxy-layer/test/bedrockModels.test.js b/source/lambda/es-proxy-layer/test/bedrockModels.test.js
index 62f1d435..e2a65bc0 100644
--- a/source/lambda/es-proxy-layer/test/bedrockModels.test.js
+++ b/source/lambda/es-proxy-layer/test/bedrockModels.test.js
@@ -139,19 +139,7 @@ const llmModelBodies = {
k: 0,
prompt: 'test prompt',
},
- 'meta.llama2-13b-chat-v1': {
- max_gen_len: 512,
- temperature: 0,
- top_p: 0.9,
- prompt: 'test prompt',
- },
- 'meta.llama2-70b-chat-v1': {
- max_gen_len: 512,
- temperature: 0,
- top_p: 0.9,
- prompt: 'test prompt',
- },
- 'meta.llama3-8b-instruct-v1:0': {
+ 'meta.llama3-8b-instruct-v1': {
max_gen_len: 512,
temperature: 0,
top_p: 0.9,
@@ -270,21 +258,7 @@ const llmModelResponses = {
})
)
},
- 'meta.llama2-13b-chat-v1': {
- body: Buffer.from(
- JSON.stringify({
- generation: 'test response'
- })
- )
- },
- 'meta.llama2-70b-chat-v1': {
- body: Buffer.from(
- JSON.stringify({
- generation: 'test response'
- })
- )
- },
- 'meta.llama3-8b-instruct-v1:0': {
+ 'meta.llama3-8b-instruct-v1': {
body: Buffer.from(
JSON.stringify({
generation: 'test response'
diff --git a/source/lambda/export/package-lock.json b/source/lambda/export/package-lock.json
index 66ceadf1..0bcb3d00 100644
--- a/source/lambda/export/package-lock.json
+++ b/source/lambda/export/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "export",
- "version": "6.0.1",
+ "version": "6.0.2",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "export",
- "version": "6.0.1",
+ "version": "6.0.2",
"license": "Apache-2.0",
"dependencies": {
"lodash": "^4.17.21"
diff --git a/source/lambda/export/package.json b/source/lambda/export/package.json
index 177d9c3b..89b080a6 100644
--- a/source/lambda/export/package.json
+++ b/source/lambda/export/package.json
@@ -1,6 +1,6 @@
{
"name": "export",
- "version": "6.0.1",
+ "version": "6.0.2",
"description": "QnABot Lambda handling export of QIDs",
"main": "index.js",
"scripts": {
diff --git a/source/lambda/fulfillment/package-lock.json b/source/lambda/fulfillment/package-lock.json
index a8efba0a..7933a43b 100644
--- a/source/lambda/fulfillment/package-lock.json
+++ b/source/lambda/fulfillment/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "fulfillment",
- "version": "6.0.1",
+ "version": "6.0.2",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "fulfillment",
- "version": "6.0.1",
+ "version": "6.0.2",
"license": "Apache-2.0",
"dependencies": {
"@aws-sdk/client-dynamodb": "^3.511.0",
diff --git a/source/lambda/fulfillment/package.json b/source/lambda/fulfillment/package.json
index 87d541fb..9787d443 100644
--- a/source/lambda/fulfillment/package.json
+++ b/source/lambda/fulfillment/package.json
@@ -1,6 +1,6 @@
{
"name": "fulfillment",
- "version": "6.0.1",
+ "version": "6.0.2",
"description": "QnABot Lambda handling fulfillment of user requests",
"main": "handler.js",
"scripts": {
diff --git a/source/lambda/genesys/package-lock.json b/source/lambda/genesys/package-lock.json
index a0143aae..67618c05 100644
--- a/source/lambda/genesys/package-lock.json
+++ b/source/lambda/genesys/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "genesys",
- "version": "6.0.1",
+ "version": "6.0.2",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "genesys",
- "version": "6.0.1",
+ "version": "6.0.2",
"license": "Apache-2.0",
"devDependencies": {
"jest": "^29.7.0"
diff --git a/source/lambda/genesys/package.json b/source/lambda/genesys/package.json
index cce10b0a..1f3f11a3 100644
--- a/source/lambda/genesys/package.json
+++ b/source/lambda/genesys/package.json
@@ -1,6 +1,6 @@
{
"name": "genesys",
- "version": "6.0.1",
+ "version": "6.0.2",
"description": "Lambda function used to support the Genesys setup wizard",
"repository": {
"type": "git",
diff --git a/source/lambda/import/convert-xlsx.js b/source/lambda/import/convert-xlsx.js
index 6f8179ee..5ce1750e 100644
--- a/source/lambda/import/convert-xlsx.js
+++ b/source/lambda/import/convert-xlsx.js
@@ -172,7 +172,7 @@ function questionIsValid(question, excelRowNumber) {
return false;
}
// answer must exist and include valid characters
- if (!question.a || question.a.replace(/[^a-zA-Z0-9-_]/g, '').trim().length == 0) {
+ if (!question.a || question.a.replace(/\s/g, '').length == 0) {
qnabot.log(
`Warning: No answer found for QID: ${question.qid}. The question will be skipped.`,
);
diff --git a/source/lambda/import/package-lock.json b/source/lambda/import/package-lock.json
index 56e4c3dc..afb28829 100644
--- a/source/lambda/import/package-lock.json
+++ b/source/lambda/import/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "import",
- "version": "6.0.1",
+ "version": "6.0.2",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "import",
- "version": "6.0.1",
+ "version": "6.0.2",
"license": "Apache-2.0",
"dependencies": {
"read-excel-file": "^5.7.1"
diff --git a/source/lambda/import/package.json b/source/lambda/import/package.json
index 0fbddd4a..036a863a 100644
--- a/source/lambda/import/package.json
+++ b/source/lambda/import/package.json
@@ -1,6 +1,6 @@
{
"name": "import",
- "version": "6.0.1",
+ "version": "6.0.2",
"description": "QnABot Lambda handling import of QIDs",
"main": "index.js",
"scripts": {
diff --git a/source/lambda/js_lambda_hook_sdk/package-lock.json b/source/lambda/js_lambda_hook_sdk/package-lock.json
index 5f2f2dd3..43081927 100644
--- a/source/lambda/js_lambda_hook_sdk/package-lock.json
+++ b/source/lambda/js_lambda_hook_sdk/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "js_lambda_hook_sdk",
- "version": "6.0.1",
+ "version": "6.0.2",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "js_lambda_hook_sdk",
- "version": "6.0.1",
+ "version": "6.0.2",
"license": "Apache-2.0",
"dependencies": {
"lodash": "^4.17.21"
diff --git a/source/lambda/js_lambda_hook_sdk/package.json b/source/lambda/js_lambda_hook_sdk/package.json
index 06d2316d..9bafae4f 100644
--- a/source/lambda/js_lambda_hook_sdk/package.json
+++ b/source/lambda/js_lambda_hook_sdk/package.json
@@ -1,6 +1,6 @@
{
"name": "js_lambda_hook_sdk",
- "version": "6.0.1",
+ "version": "6.0.2",
"description": "QnABot convenience layer, allowing users to create custom lambda hooks",
"directories": {
"lambda_hook_sdk": "lambda_hook_sdk",
diff --git a/source/lambda/lex-build/package-lock.json b/source/lambda/lex-build/package-lock.json
index 3bafd61b..926f5445 100644
--- a/source/lambda/lex-build/package-lock.json
+++ b/source/lambda/lex-build/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "lex-build",
- "version": "6.0.1",
+ "version": "6.0.2",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "lex-build",
- "version": "6.0.1",
+ "version": "6.0.2",
"license": "Apache-2.0",
"dependencies": {
"@aws-sdk/client-lex-model-building-service": "^3.511.0"
diff --git a/source/lambda/lex-build/package.json b/source/lambda/lex-build/package.json
index 28af9798..750e24d6 100644
--- a/source/lambda/lex-build/package.json
+++ b/source/lambda/lex-build/package.json
@@ -1,6 +1,6 @@
{
"name": "lex-build",
- "version": "6.0.1",
+ "version": "6.0.2",
"description": "QnABot lambda for rebuilding Amazon Lex bots",
"main": "handler.js",
"scripts": {
diff --git a/source/lambda/proxy-es/package-lock.json b/source/lambda/proxy-es/package-lock.json
index ef059464..7e720bbd 100644
--- a/source/lambda/proxy-es/package-lock.json
+++ b/source/lambda/proxy-es/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "proxy-es",
- "version": "6.0.1",
+ "version": "6.0.2",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "proxy-es",
- "version": "6.0.1",
+ "version": "6.0.2",
"license": "Apache-2.0"
}
}
diff --git a/source/lambda/proxy-es/package.json b/source/lambda/proxy-es/package.json
index 52c4ad9c..a5b65470 100644
--- a/source/lambda/proxy-es/package.json
+++ b/source/lambda/proxy-es/package.json
@@ -1,6 +1,6 @@
{
"name": "proxy-es",
- "version": "6.0.1",
+ "version": "6.0.2",
"description": "QnABot Lambda function is used to proxy request from ApiGateway to OpenSearch",
"main": "index.js",
"author": {
diff --git a/source/lambda/qnabot-common-layer/package-lock.json b/source/lambda/qnabot-common-layer/package-lock.json
index 18b6a7fb..4026bf3f 100644
--- a/source/lambda/qnabot-common-layer/package-lock.json
+++ b/source/lambda/qnabot-common-layer/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "qnabot-common-layer",
- "version": "6.0.1",
+ "version": "6.0.2",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "qnabot-common-layer",
- "version": "6.0.1",
+ "version": "6.0.2",
"license": "Apache-2.0",
"dependencies": {
"@aws-sdk/client-ssm": "^3.511.0",
diff --git a/source/lambda/qnabot-common-layer/package.json b/source/lambda/qnabot-common-layer/package.json
index 64131f85..782f1ee4 100644
--- a/source/lambda/qnabot-common-layer/package.json
+++ b/source/lambda/qnabot-common-layer/package.json
@@ -1,6 +1,6 @@
{
"name": "qnabot-common-layer",
- "version": "6.0.1",
+ "version": "6.0.2",
"description": "Lambda layers used to provide common logging and utility functions",
"repository": {
"type": "git",
diff --git a/source/lambda/schema/package-lock.json b/source/lambda/schema/package-lock.json
index a291fa73..3ff19eff 100644
--- a/source/lambda/schema/package-lock.json
+++ b/source/lambda/schema/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "schema",
- "version": "6.0.1",
+ "version": "6.0.2",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "schema",
- "version": "6.0.1",
+ "version": "6.0.2",
"license": "Apache-2.0",
"devDependencies": {
"jest": "^29.7.0"
diff --git a/source/lambda/schema/package.json b/source/lambda/schema/package.json
index 71b8bc95..5346fb19 100644
--- a/source/lambda/schema/package.json
+++ b/source/lambda/schema/package.json
@@ -1,6 +1,6 @@
{
"name": "schema",
- "version": "6.0.1",
+ "version": "6.0.2",
"description": "Lambda function used to provide the schemas for the various qid types",
"repository": {
"type": "git",
diff --git a/source/lambda/testall/package-lock.json b/source/lambda/testall/package-lock.json
index 8b5e7583..95435c08 100644
--- a/source/lambda/testall/package-lock.json
+++ b/source/lambda/testall/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "testall",
- "version": "6.0.1",
+ "version": "6.0.2",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "testall",
- "version": "6.0.1",
+ "version": "6.0.2",
"license": "Apache-2.0",
"dependencies": {
"@aws-sdk/client-lex-runtime-v2": "^3.511.0"
diff --git a/source/lambda/testall/package.json b/source/lambda/testall/package.json
index ed32c7b7..b0ab1ce9 100644
--- a/source/lambda/testall/package.json
+++ b/source/lambda/testall/package.json
@@ -1,6 +1,6 @@
{
"name": "testall",
- "version": "6.0.1",
+ "version": "6.0.2",
"description": "Lambda function that reads QnAs from opensearch and performs test validation against each question defined in qna against current Lex bot",
"main": "index.js",
"scripts": {
diff --git a/source/lambda/translate/package-lock.json b/source/lambda/translate/package-lock.json
index 828666f3..f343fb9c 100644
--- a/source/lambda/translate/package-lock.json
+++ b/source/lambda/translate/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "translate",
- "version": "6.0.1",
+ "version": "6.0.2",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "translate",
- "version": "6.0.1",
+ "version": "6.0.2",
"license": "Apache-2.0",
"devDependencies": {
"aws-sdk-client-mock": "^3.0.1",
diff --git a/source/lambda/translate/package.json b/source/lambda/translate/package.json
index c884ef3d..e656f2a2 100644
--- a/source/lambda/translate/package.json
+++ b/source/lambda/translate/package.json
@@ -1,6 +1,6 @@
{
"name": "translate",
- "version": "6.0.1",
+ "version": "6.0.2",
"description": "Lambda function used to import custom terminologies into AWS Translate",
"repository": {
"type": "git",
diff --git a/source/package-lock.json b/source/package-lock.json
index 7580d293..f836eb56 100644
--- a/source/package-lock.json
+++ b/source/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "qnabot-on-aws",
- "version": "6.0.1",
+ "version": "6.0.2",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "qnabot-on-aws",
- "version": "6.0.1",
+ "version": "6.0.2",
"license": "Apache-2.0",
"os": [
"darwin",
@@ -15,6 +15,7 @@
"dependencies": {
"@aws-sdk/client-cloudformation": "^3.511.0",
"@aws-sdk/client-cognito-identity": "^3.511.0",
+ "@aws-sdk/client-cognito-identity-provider": "^3.511.0",
"@aws-sdk/client-kms": "^3.511.0",
"@aws-sdk/client-lambda": "^3.511.0",
"@aws-sdk/client-lex-model-building-service": "^3.511.0",
@@ -34,7 +35,6 @@
"async-mutex": "^0.1.3",
"autosize": "^3.0.21",
"aws-lex-web-ui": "git+https://github.com/aws-samples/aws-lex-web-ui.git#feature/qnabot-sdkv3",
- "aws-sdk": "^2.1552.0",
"aws4": "^1.7.0",
"axios": "^1.6.8",
"body-parser": "^1.18.3",
@@ -111,6 +111,7 @@
"@vue/test-utils": "^2.4.3",
"@vue/vue3-jest": "^29.2.6",
"aws-sdk-client-mock": "^3.0.0",
+ "aws-sdk-client-mock-jest": "^3.0.0",
"babel-loader": "^9.1.3",
"copy-webpack-plugin": "^11.0.0",
"css-loader": "^6.8.1",
@@ -491,177 +492,908 @@
"node": ">=14.0.0"
}
},
- "node_modules/@aws-sdk/client-cognito-identity/node_modules/@aws-sdk/client-sts": {
- "version": "3.540.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.540.0.tgz",
- "integrity": "sha512-ITHUQxvpqfQX6obfpIi3KYGzZYfe/I5Ixjfxoi5lB7ISCtmxqObKB1fzD93wonkMJytJ7LUO8panZl/ojiJ1uw==",
+ "node_modules/@aws-sdk/client-cognito-identity-provider": {
+ "version": "3.511.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity-provider/-/client-cognito-identity-provider-3.511.0.tgz",
+ "integrity": "sha512-wSHLNsOiz7X57LA4N6bsBgonC5rH3HsUDmCF/E0d4R18Ra/ApaGhKZ1JVfHsIdjQgZUAqhWt9cCzIv22+LuaIA==",
"dependencies": {
"@aws-crypto/sha256-browser": "3.0.0",
"@aws-crypto/sha256-js": "3.0.0",
- "@aws-sdk/core": "3.535.0",
- "@aws-sdk/middleware-host-header": "3.535.0",
- "@aws-sdk/middleware-logger": "3.535.0",
- "@aws-sdk/middleware-recursion-detection": "3.535.0",
- "@aws-sdk/middleware-user-agent": "3.540.0",
- "@aws-sdk/region-config-resolver": "3.535.0",
- "@aws-sdk/types": "3.535.0",
- "@aws-sdk/util-endpoints": "3.540.0",
- "@aws-sdk/util-user-agent-browser": "3.535.0",
- "@aws-sdk/util-user-agent-node": "3.535.0",
- "@smithy/config-resolver": "^2.2.0",
- "@smithy/core": "^1.4.0",
- "@smithy/fetch-http-handler": "^2.5.0",
- "@smithy/hash-node": "^2.2.0",
- "@smithy/invalid-dependency": "^2.2.0",
- "@smithy/middleware-content-length": "^2.2.0",
- "@smithy/middleware-endpoint": "^2.5.0",
- "@smithy/middleware-retry": "^2.2.0",
- "@smithy/middleware-serde": "^2.3.0",
- "@smithy/middleware-stack": "^2.2.0",
- "@smithy/node-config-provider": "^2.3.0",
- "@smithy/node-http-handler": "^2.5.0",
- "@smithy/protocol-http": "^3.3.0",
- "@smithy/smithy-client": "^2.5.0",
- "@smithy/types": "^2.12.0",
- "@smithy/url-parser": "^2.2.0",
- "@smithy/util-base64": "^2.3.0",
- "@smithy/util-body-length-browser": "^2.2.0",
- "@smithy/util-body-length-node": "^2.3.0",
- "@smithy/util-defaults-mode-browser": "^2.2.0",
- "@smithy/util-defaults-mode-node": "^2.3.0",
- "@smithy/util-endpoints": "^1.2.0",
- "@smithy/util-middleware": "^2.2.0",
- "@smithy/util-retry": "^2.2.0",
- "@smithy/util-utf8": "^2.3.0",
- "tslib": "^2.6.2"
+ "@aws-sdk/client-sts": "3.511.0",
+ "@aws-sdk/core": "3.511.0",
+ "@aws-sdk/credential-provider-node": "3.511.0",
+ "@aws-sdk/middleware-host-header": "3.511.0",
+ "@aws-sdk/middleware-logger": "3.511.0",
+ "@aws-sdk/middleware-recursion-detection": "3.511.0",
+ "@aws-sdk/middleware-signing": "3.511.0",
+ "@aws-sdk/middleware-user-agent": "3.511.0",
+ "@aws-sdk/region-config-resolver": "3.511.0",
+ "@aws-sdk/types": "3.511.0",
+ "@aws-sdk/util-endpoints": "3.511.0",
+ "@aws-sdk/util-user-agent-browser": "3.511.0",
+ "@aws-sdk/util-user-agent-node": "3.511.0",
+ "@smithy/config-resolver": "^2.1.1",
+ "@smithy/core": "^1.3.1",
+ "@smithy/fetch-http-handler": "^2.4.1",
+ "@smithy/hash-node": "^2.1.1",
+ "@smithy/invalid-dependency": "^2.1.1",
+ "@smithy/middleware-content-length": "^2.1.1",
+ "@smithy/middleware-endpoint": "^2.4.1",
+ "@smithy/middleware-retry": "^2.1.1",
+ "@smithy/middleware-serde": "^2.1.1",
+ "@smithy/middleware-stack": "^2.1.1",
+ "@smithy/node-config-provider": "^2.2.1",
+ "@smithy/node-http-handler": "^2.3.1",
+ "@smithy/protocol-http": "^3.1.1",
+ "@smithy/smithy-client": "^2.3.1",
+ "@smithy/types": "^2.9.1",
+ "@smithy/url-parser": "^2.1.1",
+ "@smithy/util-base64": "^2.1.1",
+ "@smithy/util-body-length-browser": "^2.1.1",
+ "@smithy/util-body-length-node": "^2.2.1",
+ "@smithy/util-defaults-mode-browser": "^2.1.1",
+ "@smithy/util-defaults-mode-node": "^2.1.1",
+ "@smithy/util-endpoints": "^1.1.1",
+ "@smithy/util-retry": "^2.1.1",
+ "@smithy/util-utf8": "^2.1.1",
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
- },
- "peerDependencies": {
- "@aws-sdk/credential-provider-node": "^3.540.0"
}
},
- "node_modules/@aws-sdk/client-cognito-identity/node_modules/tslib": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
- "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
- },
- "node_modules/@aws-sdk/client-kms": {
- "version": "3.540.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-kms/-/client-kms-3.540.0.tgz",
- "integrity": "sha512-tqwac58++MuPKHkadawqP/zzbDKDY2cHBoR/D9kmiacDzgAz/F8lKDqS3MCg/7XtaOtWs9OeZZ/3T12AxNv5Ig==",
+ "node_modules/@aws-sdk/client-cognito-identity-provider/node_modules/@aws-sdk/client-sso": {
+ "version": "3.511.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.511.0.tgz",
+ "integrity": "sha512-v1f5ZbuZWpad+fgTOpgFyIZT3A37wdqoSPh0hl+cKRu5kPsz96xCe9+UvLx+HdN2yJ/mV0UZcMq6ysj4xAGIEg==",
"dependencies": {
"@aws-crypto/sha256-browser": "3.0.0",
"@aws-crypto/sha256-js": "3.0.0",
- "@aws-sdk/client-sts": "3.540.0",
- "@aws-sdk/core": "3.535.0",
- "@aws-sdk/credential-provider-node": "3.540.0",
- "@aws-sdk/middleware-host-header": "3.535.0",
- "@aws-sdk/middleware-logger": "3.535.0",
- "@aws-sdk/middleware-recursion-detection": "3.535.0",
- "@aws-sdk/middleware-user-agent": "3.540.0",
- "@aws-sdk/region-config-resolver": "3.535.0",
- "@aws-sdk/types": "3.535.0",
- "@aws-sdk/util-endpoints": "3.540.0",
- "@aws-sdk/util-user-agent-browser": "3.535.0",
- "@aws-sdk/util-user-agent-node": "3.535.0",
- "@smithy/config-resolver": "^2.2.0",
- "@smithy/core": "^1.4.0",
- "@smithy/fetch-http-handler": "^2.5.0",
- "@smithy/hash-node": "^2.2.0",
- "@smithy/invalid-dependency": "^2.2.0",
- "@smithy/middleware-content-length": "^2.2.0",
- "@smithy/middleware-endpoint": "^2.5.0",
- "@smithy/middleware-retry": "^2.2.0",
- "@smithy/middleware-serde": "^2.3.0",
- "@smithy/middleware-stack": "^2.2.0",
- "@smithy/node-config-provider": "^2.3.0",
- "@smithy/node-http-handler": "^2.5.0",
- "@smithy/protocol-http": "^3.3.0",
- "@smithy/smithy-client": "^2.5.0",
- "@smithy/types": "^2.12.0",
- "@smithy/url-parser": "^2.2.0",
- "@smithy/util-base64": "^2.3.0",
- "@smithy/util-body-length-browser": "^2.2.0",
- "@smithy/util-body-length-node": "^2.3.0",
- "@smithy/util-defaults-mode-browser": "^2.2.0",
- "@smithy/util-defaults-mode-node": "^2.3.0",
- "@smithy/util-endpoints": "^1.2.0",
- "@smithy/util-middleware": "^2.2.0",
- "@smithy/util-retry": "^2.2.0",
- "@smithy/util-utf8": "^2.3.0",
- "tslib": "^2.6.2"
+ "@aws-sdk/core": "3.511.0",
+ "@aws-sdk/middleware-host-header": "3.511.0",
+ "@aws-sdk/middleware-logger": "3.511.0",
+ "@aws-sdk/middleware-recursion-detection": "3.511.0",
+ "@aws-sdk/middleware-user-agent": "3.511.0",
+ "@aws-sdk/region-config-resolver": "3.511.0",
+ "@aws-sdk/types": "3.511.0",
+ "@aws-sdk/util-endpoints": "3.511.0",
+ "@aws-sdk/util-user-agent-browser": "3.511.0",
+ "@aws-sdk/util-user-agent-node": "3.511.0",
+ "@smithy/config-resolver": "^2.1.1",
+ "@smithy/core": "^1.3.1",
+ "@smithy/fetch-http-handler": "^2.4.1",
+ "@smithy/hash-node": "^2.1.1",
+ "@smithy/invalid-dependency": "^2.1.1",
+ "@smithy/middleware-content-length": "^2.1.1",
+ "@smithy/middleware-endpoint": "^2.4.1",
+ "@smithy/middleware-retry": "^2.1.1",
+ "@smithy/middleware-serde": "^2.1.1",
+ "@smithy/middleware-stack": "^2.1.1",
+ "@smithy/node-config-provider": "^2.2.1",
+ "@smithy/node-http-handler": "^2.3.1",
+ "@smithy/protocol-http": "^3.1.1",
+ "@smithy/smithy-client": "^2.3.1",
+ "@smithy/types": "^2.9.1",
+ "@smithy/url-parser": "^2.1.1",
+ "@smithy/util-base64": "^2.1.1",
+ "@smithy/util-body-length-browser": "^2.1.1",
+ "@smithy/util-body-length-node": "^2.2.1",
+ "@smithy/util-defaults-mode-browser": "^2.1.1",
+ "@smithy/util-defaults-mode-node": "^2.1.1",
+ "@smithy/util-endpoints": "^1.1.1",
+ "@smithy/util-retry": "^2.1.1",
+ "@smithy/util-utf8": "^2.1.1",
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
}
},
- "node_modules/@aws-sdk/client-kms/node_modules/@aws-sdk/client-sts": {
- "version": "3.540.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.540.0.tgz",
- "integrity": "sha512-ITHUQxvpqfQX6obfpIi3KYGzZYfe/I5Ixjfxoi5lB7ISCtmxqObKB1fzD93wonkMJytJ7LUO8panZl/ojiJ1uw==",
+ "node_modules/@aws-sdk/client-cognito-identity-provider/node_modules/@aws-sdk/client-sso-oidc": {
+ "version": "3.511.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.511.0.tgz",
+ "integrity": "sha512-cITRRq54eTrq7ll9li+yYnLbNHKXG2P+ovdZSDiQ6LjCYBdcD4ela30qbs87Yye9YsopdslDzBhHHtrf5oiuMw==",
"dependencies": {
"@aws-crypto/sha256-browser": "3.0.0",
"@aws-crypto/sha256-js": "3.0.0",
- "@aws-sdk/core": "3.535.0",
- "@aws-sdk/middleware-host-header": "3.535.0",
- "@aws-sdk/middleware-logger": "3.535.0",
- "@aws-sdk/middleware-recursion-detection": "3.535.0",
- "@aws-sdk/middleware-user-agent": "3.540.0",
- "@aws-sdk/region-config-resolver": "3.535.0",
- "@aws-sdk/types": "3.535.0",
- "@aws-sdk/util-endpoints": "3.540.0",
- "@aws-sdk/util-user-agent-browser": "3.535.0",
- "@aws-sdk/util-user-agent-node": "3.535.0",
- "@smithy/config-resolver": "^2.2.0",
- "@smithy/core": "^1.4.0",
- "@smithy/fetch-http-handler": "^2.5.0",
- "@smithy/hash-node": "^2.2.0",
- "@smithy/invalid-dependency": "^2.2.0",
- "@smithy/middleware-content-length": "^2.2.0",
- "@smithy/middleware-endpoint": "^2.5.0",
- "@smithy/middleware-retry": "^2.2.0",
- "@smithy/middleware-serde": "^2.3.0",
- "@smithy/middleware-stack": "^2.2.0",
- "@smithy/node-config-provider": "^2.3.0",
- "@smithy/node-http-handler": "^2.5.0",
- "@smithy/protocol-http": "^3.3.0",
- "@smithy/smithy-client": "^2.5.0",
- "@smithy/types": "^2.12.0",
- "@smithy/url-parser": "^2.2.0",
- "@smithy/util-base64": "^2.3.0",
- "@smithy/util-body-length-browser": "^2.2.0",
- "@smithy/util-body-length-node": "^2.3.0",
- "@smithy/util-defaults-mode-browser": "^2.2.0",
- "@smithy/util-defaults-mode-node": "^2.3.0",
- "@smithy/util-endpoints": "^1.2.0",
- "@smithy/util-middleware": "^2.2.0",
- "@smithy/util-retry": "^2.2.0",
- "@smithy/util-utf8": "^2.3.0",
- "tslib": "^2.6.2"
+ "@aws-sdk/client-sts": "3.511.0",
+ "@aws-sdk/core": "3.511.0",
+ "@aws-sdk/middleware-host-header": "3.511.0",
+ "@aws-sdk/middleware-logger": "3.511.0",
+ "@aws-sdk/middleware-recursion-detection": "3.511.0",
+ "@aws-sdk/middleware-signing": "3.511.0",
+ "@aws-sdk/middleware-user-agent": "3.511.0",
+ "@aws-sdk/region-config-resolver": "3.511.0",
+ "@aws-sdk/types": "3.511.0",
+ "@aws-sdk/util-endpoints": "3.511.0",
+ "@aws-sdk/util-user-agent-browser": "3.511.0",
+ "@aws-sdk/util-user-agent-node": "3.511.0",
+ "@smithy/config-resolver": "^2.1.1",
+ "@smithy/core": "^1.3.1",
+ "@smithy/fetch-http-handler": "^2.4.1",
+ "@smithy/hash-node": "^2.1.1",
+ "@smithy/invalid-dependency": "^2.1.1",
+ "@smithy/middleware-content-length": "^2.1.1",
+ "@smithy/middleware-endpoint": "^2.4.1",
+ "@smithy/middleware-retry": "^2.1.1",
+ "@smithy/middleware-serde": "^2.1.1",
+ "@smithy/middleware-stack": "^2.1.1",
+ "@smithy/node-config-provider": "^2.2.1",
+ "@smithy/node-http-handler": "^2.3.1",
+ "@smithy/protocol-http": "^3.1.1",
+ "@smithy/smithy-client": "^2.3.1",
+ "@smithy/types": "^2.9.1",
+ "@smithy/url-parser": "^2.1.1",
+ "@smithy/util-base64": "^2.1.1",
+ "@smithy/util-body-length-browser": "^2.1.1",
+ "@smithy/util-body-length-node": "^2.2.1",
+ "@smithy/util-defaults-mode-browser": "^2.1.1",
+ "@smithy/util-defaults-mode-node": "^2.1.1",
+ "@smithy/util-endpoints": "^1.1.1",
+ "@smithy/util-retry": "^2.1.1",
+ "@smithy/util-utf8": "^2.1.1",
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
},
"peerDependencies": {
- "@aws-sdk/credential-provider-node": "^3.540.0"
+ "@aws-sdk/credential-provider-node": "^3.511.0"
}
},
- "node_modules/@aws-sdk/client-kms/node_modules/tslib": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
- "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
- },
- "node_modules/@aws-sdk/client-lambda": {
- "version": "3.540.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-lambda/-/client-lambda-3.540.0.tgz",
- "integrity": "sha512-pAVEUlQqpzTCpOmdnSXub+wjTtyJAwJFdmGW7rHpYpwQ4HfPhmN/vB6bczdl2vQNArfwS86AzTJNsftc3ID46g==",
+ "node_modules/@aws-sdk/client-cognito-identity-provider/node_modules/@aws-sdk/client-sts": {
+ "version": "3.511.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.511.0.tgz",
+ "integrity": "sha512-lwVEEXK+1auEwmBuTv35m2GvbxPthi8SjNUpU4pRetZPVbGhnhCN6H7JqeMDP6GLf81Io2eySXRsmLMt7l/fjg==",
"dependencies": {
"@aws-crypto/sha256-browser": "3.0.0",
"@aws-crypto/sha256-js": "3.0.0",
- "@aws-sdk/client-sts": "3.540.0",
- "@aws-sdk/core": "3.535.0",
+ "@aws-sdk/core": "3.511.0",
+ "@aws-sdk/middleware-host-header": "3.511.0",
+ "@aws-sdk/middleware-logger": "3.511.0",
+ "@aws-sdk/middleware-recursion-detection": "3.511.0",
+ "@aws-sdk/middleware-user-agent": "3.511.0",
+ "@aws-sdk/region-config-resolver": "3.511.0",
+ "@aws-sdk/types": "3.511.0",
+ "@aws-sdk/util-endpoints": "3.511.0",
+ "@aws-sdk/util-user-agent-browser": "3.511.0",
+ "@aws-sdk/util-user-agent-node": "3.511.0",
+ "@smithy/config-resolver": "^2.1.1",
+ "@smithy/core": "^1.3.1",
+ "@smithy/fetch-http-handler": "^2.4.1",
+ "@smithy/hash-node": "^2.1.1",
+ "@smithy/invalid-dependency": "^2.1.1",
+ "@smithy/middleware-content-length": "^2.1.1",
+ "@smithy/middleware-endpoint": "^2.4.1",
+ "@smithy/middleware-retry": "^2.1.1",
+ "@smithy/middleware-serde": "^2.1.1",
+ "@smithy/middleware-stack": "^2.1.1",
+ "@smithy/node-config-provider": "^2.2.1",
+ "@smithy/node-http-handler": "^2.3.1",
+ "@smithy/protocol-http": "^3.1.1",
+ "@smithy/smithy-client": "^2.3.1",
+ "@smithy/types": "^2.9.1",
+ "@smithy/url-parser": "^2.1.1",
+ "@smithy/util-base64": "^2.1.1",
+ "@smithy/util-body-length-browser": "^2.1.1",
+ "@smithy/util-body-length-node": "^2.2.1",
+ "@smithy/util-defaults-mode-browser": "^2.1.1",
+ "@smithy/util-defaults-mode-node": "^2.1.1",
+ "@smithy/util-endpoints": "^1.1.1",
+ "@smithy/util-middleware": "^2.1.1",
+ "@smithy/util-retry": "^2.1.1",
+ "@smithy/util-utf8": "^2.1.1",
+ "fast-xml-parser": "4.2.5",
+ "tslib": "^2.5.0"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "@aws-sdk/credential-provider-node": "^3.511.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-cognito-identity-provider/node_modules/@aws-sdk/core": {
+ "version": "3.511.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.511.0.tgz",
+ "integrity": "sha512-0gbDvQhToyLxPyr/7KP6uavrBYKh7exld2lju1Lp65U61XgEjTVP/thJmHTvH4BAKGSqeIz/rrwJ0KrC8nwBtw==",
+ "dependencies": {
+ "@smithy/core": "^1.3.1",
+ "@smithy/protocol-http": "^3.1.1",
+ "@smithy/signature-v4": "^2.1.1",
+ "@smithy/smithy-client": "^2.3.1",
+ "@smithy/types": "^2.9.1",
+ "tslib": "^2.5.0"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-cognito-identity-provider/node_modules/@aws-sdk/credential-provider-env": {
+ "version": "3.511.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.511.0.tgz",
+ "integrity": "sha512-4VUsnLRox8YzxnZwnFrfZM4bL5KKLhsjjjX7oiuLyzFkhauI4HFYt7rTB8YNGphpqAg/Wzw5DBZfO3Bw1iR1HA==",
+ "dependencies": {
+ "@aws-sdk/types": "3.511.0",
+ "@smithy/property-provider": "^2.1.1",
+ "@smithy/types": "^2.9.1",
+ "tslib": "^2.5.0"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-cognito-identity-provider/node_modules/@aws-sdk/credential-provider-http": {
+ "version": "3.511.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.511.0.tgz",
+ "integrity": "sha512-y83Gt8GPpgMe/lMFxIq+0G2rbzLTC6lhrDocHUzqcApLD6wet8Esy2iYckSRlJgYY+qsVAzpLrSMtt85DwRPTw==",
+ "dependencies": {
+ "@aws-sdk/types": "3.511.0",
+ "@smithy/fetch-http-handler": "^2.4.1",
+ "@smithy/node-http-handler": "^2.3.1",
+ "@smithy/property-provider": "^2.1.1",
+ "@smithy/protocol-http": "^3.1.1",
+ "@smithy/smithy-client": "^2.3.1",
+ "@smithy/types": "^2.9.1",
+ "@smithy/util-stream": "^2.1.1",
+ "tslib": "^2.5.0"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-cognito-identity-provider/node_modules/@aws-sdk/credential-provider-ini": {
+ "version": "3.511.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.511.0.tgz",
+ "integrity": "sha512-AgIOCtYzm61jbTQCY/2Vf/yu7DeLG0TLZa05a3VVRN9XE4ERtEnMn7TdbxM+hS24MTX8xI0HbMcWxCBkXRIg9w==",
+ "dependencies": {
+ "@aws-sdk/client-sts": "3.511.0",
+ "@aws-sdk/credential-provider-env": "3.511.0",
+ "@aws-sdk/credential-provider-process": "3.511.0",
+ "@aws-sdk/credential-provider-sso": "3.511.0",
+ "@aws-sdk/credential-provider-web-identity": "3.511.0",
+ "@aws-sdk/types": "3.511.0",
+ "@smithy/credential-provider-imds": "^2.2.1",
+ "@smithy/property-provider": "^2.1.1",
+ "@smithy/shared-ini-file-loader": "^2.3.1",
+ "@smithy/types": "^2.9.1",
+ "tslib": "^2.5.0"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-cognito-identity-provider/node_modules/@aws-sdk/credential-provider-node": {
+ "version": "3.511.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.511.0.tgz",
+ "integrity": "sha512-5JDZXsSluliJmxOF+lYYFgJdSKQfVLQyic5NxScHULTERGoEwEHMgucFGwJ9MV9FoINjNTQLfAiWlJL/kGkCEQ==",
+ "dependencies": {
+ "@aws-sdk/credential-provider-env": "3.511.0",
+ "@aws-sdk/credential-provider-http": "3.511.0",
+ "@aws-sdk/credential-provider-ini": "3.511.0",
+ "@aws-sdk/credential-provider-process": "3.511.0",
+ "@aws-sdk/credential-provider-sso": "3.511.0",
+ "@aws-sdk/credential-provider-web-identity": "3.511.0",
+ "@aws-sdk/types": "3.511.0",
+ "@smithy/credential-provider-imds": "^2.2.1",
+ "@smithy/property-provider": "^2.1.1",
+ "@smithy/shared-ini-file-loader": "^2.3.1",
+ "@smithy/types": "^2.9.1",
+ "tslib": "^2.5.0"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-cognito-identity-provider/node_modules/@aws-sdk/credential-provider-process": {
+ "version": "3.511.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.511.0.tgz",
+ "integrity": "sha512-88hLUPqcTwjSubPS+34ZfmglnKeLny8GbmZsyllk96l26PmDTAqo5RScSA8BWxL0l5pRRWGtcrFyts+oibHIuQ==",
+ "dependencies": {
+ "@aws-sdk/types": "3.511.0",
+ "@smithy/property-provider": "^2.1.1",
+ "@smithy/shared-ini-file-loader": "^2.3.1",
+ "@smithy/types": "^2.9.1",
+ "tslib": "^2.5.0"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-cognito-identity-provider/node_modules/@aws-sdk/credential-provider-sso": {
+ "version": "3.511.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.511.0.tgz",
+ "integrity": "sha512-aEei9UdXYEE2e0Htf28/IcuHcWk3VkUkpcg3KDR/AyzXA3i/kxmixtAgRmHOForC5CMqoJjzVPFUITNkAscyag==",
+ "dependencies": {
+ "@aws-sdk/client-sso": "3.511.0",
+ "@aws-sdk/token-providers": "3.511.0",
+ "@aws-sdk/types": "3.511.0",
+ "@smithy/property-provider": "^2.1.1",
+ "@smithy/shared-ini-file-loader": "^2.3.1",
+ "@smithy/types": "^2.9.1",
+ "tslib": "^2.5.0"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-cognito-identity-provider/node_modules/@aws-sdk/credential-provider-web-identity": {
+ "version": "3.511.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.511.0.tgz",
+ "integrity": "sha512-/3XMyN7YYefAsES/sMMY5zZGRmZ5QJisJw798DdMYmYMsb1dt0Qy8kZTu+59ZzOiVIcznsjSTCEB81QmGtDKcA==",
+ "dependencies": {
+ "@aws-sdk/client-sts": "3.511.0",
+ "@aws-sdk/types": "3.511.0",
+ "@smithy/property-provider": "^2.1.1",
+ "@smithy/types": "^2.9.1",
+ "tslib": "^2.5.0"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-cognito-identity-provider/node_modules/@aws-sdk/middleware-host-header": {
+ "version": "3.511.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.511.0.tgz",
+ "integrity": "sha512-DbBzQP/6woSHR/+g9dHN3YiYaLIqFw9u8lQFMxi3rT3hqITFVYLzzXtEaHjDD6/is56pNT84CIKbyJ6/gY5d1Q==",
+ "dependencies": {
+ "@aws-sdk/types": "3.511.0",
+ "@smithy/protocol-http": "^3.1.1",
+ "@smithy/types": "^2.9.1",
+ "tslib": "^2.5.0"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-cognito-identity-provider/node_modules/@aws-sdk/middleware-logger": {
+ "version": "3.511.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.511.0.tgz",
+ "integrity": "sha512-EYU9dBlJXvQcCsM2Tfgi0NQoXrqovfDv/fDy8oGJgZFrgNuHDti8tdVVxeJTUJNEAF67xlDl5o+rWEkKthkYGQ==",
+ "dependencies": {
+ "@aws-sdk/types": "3.511.0",
+ "@smithy/types": "^2.9.1",
+ "tslib": "^2.5.0"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-cognito-identity-provider/node_modules/@aws-sdk/middleware-recursion-detection": {
+ "version": "3.511.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.511.0.tgz",
+ "integrity": "sha512-PlNPCV/6zpDVdNx1K69xDTh/wPNU4WyP4qa6hUo2/+4/PNG5HI9xbCWtpb4RjhdTRw6qDtkBNcPICHbtWx5aHg==",
+ "dependencies": {
+ "@aws-sdk/types": "3.511.0",
+ "@smithy/protocol-http": "^3.1.1",
+ "@smithy/types": "^2.9.1",
+ "tslib": "^2.5.0"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-cognito-identity-provider/node_modules/@aws-sdk/middleware-signing": {
+ "version": "3.511.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.511.0.tgz",
+ "integrity": "sha512-IMijFLfm+QQHD6NNDX9k3op9dpBSlWKnqjcMU38Tytl2nbqV4gktkarOK1exHAmH7CdoYR5BufVtBzbASNSF/A==",
+ "dependencies": {
+ "@aws-sdk/types": "3.511.0",
+ "@smithy/property-provider": "^2.1.1",
+ "@smithy/protocol-http": "^3.1.1",
+ "@smithy/signature-v4": "^2.1.1",
+ "@smithy/types": "^2.9.1",
+ "@smithy/util-middleware": "^2.1.1",
+ "tslib": "^2.5.0"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-cognito-identity-provider/node_modules/@aws-sdk/middleware-user-agent": {
+ "version": "3.511.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.511.0.tgz",
+ "integrity": "sha512-eLs+CxP2QCXh3tCGYCdAml3oyWj8MSIwKbH+8rKw0k/5vmY1YJDBy526whOxx61ivhz2e0muuijN4X5EZZ2Pnw==",
+ "dependencies": {
+ "@aws-sdk/types": "3.511.0",
+ "@aws-sdk/util-endpoints": "3.511.0",
+ "@smithy/protocol-http": "^3.1.1",
+ "@smithy/types": "^2.9.1",
+ "tslib": "^2.5.0"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-cognito-identity-provider/node_modules/@aws-sdk/region-config-resolver": {
+ "version": "3.511.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.511.0.tgz",
+ "integrity": "sha512-RzBLSNaRd4iEkQyEGfiSNvSnWU/x23rsiFgA9tqYFA0Vqx7YmzSWC8QBUxpwybB8HkbbL9wNVKQqTbhI3mYneQ==",
+ "dependencies": {
+ "@aws-sdk/types": "3.511.0",
+ "@smithy/node-config-provider": "^2.2.1",
+ "@smithy/types": "^2.9.1",
+ "@smithy/util-config-provider": "^2.2.1",
+ "@smithy/util-middleware": "^2.1.1",
+ "tslib": "^2.5.0"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-cognito-identity-provider/node_modules/@aws-sdk/token-providers": {
+ "version": "3.511.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.511.0.tgz",
+ "integrity": "sha512-92dXjMHBJcRoUkJHc0Bvtsz7Sal8t6VASRJ5vfs5c2ZpTVgLpVnM4dBmwUgGUdnvHov0cZTXbbadTJ/qOWx5Zw==",
+ "dependencies": {
+ "@aws-sdk/client-sso-oidc": "3.511.0",
+ "@aws-sdk/types": "3.511.0",
+ "@smithy/property-provider": "^2.1.1",
+ "@smithy/shared-ini-file-loader": "^2.3.1",
+ "@smithy/types": "^2.9.1",
+ "tslib": "^2.5.0"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-cognito-identity-provider/node_modules/@aws-sdk/types": {
+ "version": "3.511.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.511.0.tgz",
+ "integrity": "sha512-P03ufufxmkvd7nO46oOeEqYIMPJ8qMCKxAsfJk1JBVPQ1XctVntbail4/UFnrnzij8DTl4Mk/D62uGo7+RolXA==",
+ "dependencies": {
+ "@smithy/types": "^2.9.1",
+ "tslib": "^2.5.0"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-cognito-identity-provider/node_modules/@aws-sdk/util-endpoints": {
+ "version": "3.511.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.511.0.tgz",
+ "integrity": "sha512-J/5hsscJkg2pAOdLx1YKlyMCk5lFRxRxEtup9xipzOxVBlqOIE72Tuu31fbxSlF8XzO/AuCJcZL4m1v098K9oA==",
+ "dependencies": {
+ "@aws-sdk/types": "3.511.0",
+ "@smithy/types": "^2.9.1",
+ "@smithy/util-endpoints": "^1.1.1",
+ "tslib": "^2.5.0"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-cognito-identity-provider/node_modules/@aws-sdk/util-user-agent-browser": {
+ "version": "3.511.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.511.0.tgz",
+ "integrity": "sha512-5LuESdwtIcA10aHcX7pde7aCIijcyTPBXFuXmFlDTgm/naAayQxelQDpvgbzuzGLgePf8eTyyhDKhzwPZ2EqiQ==",
+ "dependencies": {
+ "@aws-sdk/types": "3.511.0",
+ "@smithy/types": "^2.9.1",
+ "bowser": "^2.11.0",
+ "tslib": "^2.5.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-cognito-identity-provider/node_modules/@aws-sdk/util-user-agent-node": {
+ "version": "3.511.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.511.0.tgz",
+ "integrity": "sha512-UopdlRvYY5mxlS4wwFv+QAWL6/T302wmoQj7i+RY+c/D3Ej3PKBb/mW3r2wEOgZLJmPpeeM1SYMk+rVmsW1rqw==",
+ "dependencies": {
+ "@aws-sdk/types": "3.511.0",
+ "@smithy/node-config-provider": "^2.2.1",
+ "@smithy/types": "^2.9.1",
+ "tslib": "^2.5.0"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "aws-crt": ">=1.0.0"
+ },
+ "peerDependenciesMeta": {
+ "aws-crt": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@aws-sdk/client-cognito-identity-provider/node_modules/bowser": {
+ "version": "2.11.0",
+ "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz",
+ "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA=="
+ },
+ "node_modules/@aws-sdk/client-cognito-identity-provider/node_modules/tslib": {
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz",
+ "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ=="
+ },
+ "node_modules/@aws-sdk/client-cognito-identity/node_modules/@aws-sdk/client-sts": {
+ "version": "3.540.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.540.0.tgz",
+ "integrity": "sha512-ITHUQxvpqfQX6obfpIi3KYGzZYfe/I5Ixjfxoi5lB7ISCtmxqObKB1fzD93wonkMJytJ7LUO8panZl/ojiJ1uw==",
+ "dependencies": {
+ "@aws-crypto/sha256-browser": "3.0.0",
+ "@aws-crypto/sha256-js": "3.0.0",
+ "@aws-sdk/core": "3.535.0",
+ "@aws-sdk/middleware-host-header": "3.535.0",
+ "@aws-sdk/middleware-logger": "3.535.0",
+ "@aws-sdk/middleware-recursion-detection": "3.535.0",
+ "@aws-sdk/middleware-user-agent": "3.540.0",
+ "@aws-sdk/region-config-resolver": "3.535.0",
+ "@aws-sdk/types": "3.535.0",
+ "@aws-sdk/util-endpoints": "3.540.0",
+ "@aws-sdk/util-user-agent-browser": "3.535.0",
+ "@aws-sdk/util-user-agent-node": "3.535.0",
+ "@smithy/config-resolver": "^2.2.0",
+ "@smithy/core": "^1.4.0",
+ "@smithy/fetch-http-handler": "^2.5.0",
+ "@smithy/hash-node": "^2.2.0",
+ "@smithy/invalid-dependency": "^2.2.0",
+ "@smithy/middleware-content-length": "^2.2.0",
+ "@smithy/middleware-endpoint": "^2.5.0",
+ "@smithy/middleware-retry": "^2.2.0",
+ "@smithy/middleware-serde": "^2.3.0",
+ "@smithy/middleware-stack": "^2.2.0",
+ "@smithy/node-config-provider": "^2.3.0",
+ "@smithy/node-http-handler": "^2.5.0",
+ "@smithy/protocol-http": "^3.3.0",
+ "@smithy/smithy-client": "^2.5.0",
+ "@smithy/types": "^2.12.0",
+ "@smithy/url-parser": "^2.2.0",
+ "@smithy/util-base64": "^2.3.0",
+ "@smithy/util-body-length-browser": "^2.2.0",
+ "@smithy/util-body-length-node": "^2.3.0",
+ "@smithy/util-defaults-mode-browser": "^2.2.0",
+ "@smithy/util-defaults-mode-node": "^2.3.0",
+ "@smithy/util-endpoints": "^1.2.0",
+ "@smithy/util-middleware": "^2.2.0",
+ "@smithy/util-retry": "^2.2.0",
+ "@smithy/util-utf8": "^2.3.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "@aws-sdk/credential-provider-node": "^3.540.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-cognito-identity/node_modules/tslib": {
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
+ "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
+ },
+ "node_modules/@aws-sdk/client-kms": {
+ "version": "3.540.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-kms/-/client-kms-3.540.0.tgz",
+ "integrity": "sha512-tqwac58++MuPKHkadawqP/zzbDKDY2cHBoR/D9kmiacDzgAz/F8lKDqS3MCg/7XtaOtWs9OeZZ/3T12AxNv5Ig==",
+ "dependencies": {
+ "@aws-crypto/sha256-browser": "3.0.0",
+ "@aws-crypto/sha256-js": "3.0.0",
+ "@aws-sdk/client-sts": "3.540.0",
+ "@aws-sdk/core": "3.535.0",
+ "@aws-sdk/credential-provider-node": "3.540.0",
+ "@aws-sdk/middleware-host-header": "3.535.0",
+ "@aws-sdk/middleware-logger": "3.535.0",
+ "@aws-sdk/middleware-recursion-detection": "3.535.0",
+ "@aws-sdk/middleware-user-agent": "3.540.0",
+ "@aws-sdk/region-config-resolver": "3.535.0",
+ "@aws-sdk/types": "3.535.0",
+ "@aws-sdk/util-endpoints": "3.540.0",
+ "@aws-sdk/util-user-agent-browser": "3.535.0",
+ "@aws-sdk/util-user-agent-node": "3.535.0",
+ "@smithy/config-resolver": "^2.2.0",
+ "@smithy/core": "^1.4.0",
+ "@smithy/fetch-http-handler": "^2.5.0",
+ "@smithy/hash-node": "^2.2.0",
+ "@smithy/invalid-dependency": "^2.2.0",
+ "@smithy/middleware-content-length": "^2.2.0",
+ "@smithy/middleware-endpoint": "^2.5.0",
+ "@smithy/middleware-retry": "^2.2.0",
+ "@smithy/middleware-serde": "^2.3.0",
+ "@smithy/middleware-stack": "^2.2.0",
+ "@smithy/node-config-provider": "^2.3.0",
+ "@smithy/node-http-handler": "^2.5.0",
+ "@smithy/protocol-http": "^3.3.0",
+ "@smithy/smithy-client": "^2.5.0",
+ "@smithy/types": "^2.12.0",
+ "@smithy/url-parser": "^2.2.0",
+ "@smithy/util-base64": "^2.3.0",
+ "@smithy/util-body-length-browser": "^2.2.0",
+ "@smithy/util-body-length-node": "^2.3.0",
+ "@smithy/util-defaults-mode-browser": "^2.2.0",
+ "@smithy/util-defaults-mode-node": "^2.3.0",
+ "@smithy/util-endpoints": "^1.2.0",
+ "@smithy/util-middleware": "^2.2.0",
+ "@smithy/util-retry": "^2.2.0",
+ "@smithy/util-utf8": "^2.3.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-kms/node_modules/@aws-sdk/client-sts": {
+ "version": "3.540.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.540.0.tgz",
+ "integrity": "sha512-ITHUQxvpqfQX6obfpIi3KYGzZYfe/I5Ixjfxoi5lB7ISCtmxqObKB1fzD93wonkMJytJ7LUO8panZl/ojiJ1uw==",
+ "dependencies": {
+ "@aws-crypto/sha256-browser": "3.0.0",
+ "@aws-crypto/sha256-js": "3.0.0",
+ "@aws-sdk/core": "3.535.0",
+ "@aws-sdk/middleware-host-header": "3.535.0",
+ "@aws-sdk/middleware-logger": "3.535.0",
+ "@aws-sdk/middleware-recursion-detection": "3.535.0",
+ "@aws-sdk/middleware-user-agent": "3.540.0",
+ "@aws-sdk/region-config-resolver": "3.535.0",
+ "@aws-sdk/types": "3.535.0",
+ "@aws-sdk/util-endpoints": "3.540.0",
+ "@aws-sdk/util-user-agent-browser": "3.535.0",
+ "@aws-sdk/util-user-agent-node": "3.535.0",
+ "@smithy/config-resolver": "^2.2.0",
+ "@smithy/core": "^1.4.0",
+ "@smithy/fetch-http-handler": "^2.5.0",
+ "@smithy/hash-node": "^2.2.0",
+ "@smithy/invalid-dependency": "^2.2.0",
+ "@smithy/middleware-content-length": "^2.2.0",
+ "@smithy/middleware-endpoint": "^2.5.0",
+ "@smithy/middleware-retry": "^2.2.0",
+ "@smithy/middleware-serde": "^2.3.0",
+ "@smithy/middleware-stack": "^2.2.0",
+ "@smithy/node-config-provider": "^2.3.0",
+ "@smithy/node-http-handler": "^2.5.0",
+ "@smithy/protocol-http": "^3.3.0",
+ "@smithy/smithy-client": "^2.5.0",
+ "@smithy/types": "^2.12.0",
+ "@smithy/url-parser": "^2.2.0",
+ "@smithy/util-base64": "^2.3.0",
+ "@smithy/util-body-length-browser": "^2.2.0",
+ "@smithy/util-body-length-node": "^2.3.0",
+ "@smithy/util-defaults-mode-browser": "^2.2.0",
+ "@smithy/util-defaults-mode-node": "^2.3.0",
+ "@smithy/util-endpoints": "^1.2.0",
+ "@smithy/util-middleware": "^2.2.0",
+ "@smithy/util-retry": "^2.2.0",
+ "@smithy/util-utf8": "^2.3.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "@aws-sdk/credential-provider-node": "^3.540.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-kms/node_modules/tslib": {
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
+ "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
+ },
+ "node_modules/@aws-sdk/client-lambda": {
+ "version": "3.540.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-lambda/-/client-lambda-3.540.0.tgz",
+ "integrity": "sha512-pAVEUlQqpzTCpOmdnSXub+wjTtyJAwJFdmGW7rHpYpwQ4HfPhmN/vB6bczdl2vQNArfwS86AzTJNsftc3ID46g==",
+ "dependencies": {
+ "@aws-crypto/sha256-browser": "3.0.0",
+ "@aws-crypto/sha256-js": "3.0.0",
+ "@aws-sdk/client-sts": "3.540.0",
+ "@aws-sdk/core": "3.535.0",
+ "@aws-sdk/credential-provider-node": "3.540.0",
+ "@aws-sdk/middleware-host-header": "3.535.0",
+ "@aws-sdk/middleware-logger": "3.535.0",
+ "@aws-sdk/middleware-recursion-detection": "3.535.0",
+ "@aws-sdk/middleware-user-agent": "3.540.0",
+ "@aws-sdk/region-config-resolver": "3.535.0",
+ "@aws-sdk/types": "3.535.0",
+ "@aws-sdk/util-endpoints": "3.540.0",
+ "@aws-sdk/util-user-agent-browser": "3.535.0",
+ "@aws-sdk/util-user-agent-node": "3.535.0",
+ "@smithy/config-resolver": "^2.2.0",
+ "@smithy/core": "^1.4.0",
+ "@smithy/eventstream-serde-browser": "^2.2.0",
+ "@smithy/eventstream-serde-config-resolver": "^2.2.0",
+ "@smithy/eventstream-serde-node": "^2.2.0",
+ "@smithy/fetch-http-handler": "^2.5.0",
+ "@smithy/hash-node": "^2.2.0",
+ "@smithy/invalid-dependency": "^2.2.0",
+ "@smithy/middleware-content-length": "^2.2.0",
+ "@smithy/middleware-endpoint": "^2.5.0",
+ "@smithy/middleware-retry": "^2.2.0",
+ "@smithy/middleware-serde": "^2.3.0",
+ "@smithy/middleware-stack": "^2.2.0",
+ "@smithy/node-config-provider": "^2.3.0",
+ "@smithy/node-http-handler": "^2.5.0",
+ "@smithy/protocol-http": "^3.3.0",
+ "@smithy/smithy-client": "^2.5.0",
+ "@smithy/types": "^2.12.0",
+ "@smithy/url-parser": "^2.2.0",
+ "@smithy/util-base64": "^2.3.0",
+ "@smithy/util-body-length-browser": "^2.2.0",
+ "@smithy/util-body-length-node": "^2.3.0",
+ "@smithy/util-defaults-mode-browser": "^2.2.0",
+ "@smithy/util-defaults-mode-node": "^2.3.0",
+ "@smithy/util-endpoints": "^1.2.0",
+ "@smithy/util-middleware": "^2.2.0",
+ "@smithy/util-retry": "^2.2.0",
+ "@smithy/util-stream": "^2.2.0",
+ "@smithy/util-utf8": "^2.3.0",
+ "@smithy/util-waiter": "^2.2.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/client-sts": {
+ "version": "3.540.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.540.0.tgz",
+ "integrity": "sha512-ITHUQxvpqfQX6obfpIi3KYGzZYfe/I5Ixjfxoi5lB7ISCtmxqObKB1fzD93wonkMJytJ7LUO8panZl/ojiJ1uw==",
+ "dependencies": {
+ "@aws-crypto/sha256-browser": "3.0.0",
+ "@aws-crypto/sha256-js": "3.0.0",
+ "@aws-sdk/core": "3.535.0",
+ "@aws-sdk/middleware-host-header": "3.535.0",
+ "@aws-sdk/middleware-logger": "3.535.0",
+ "@aws-sdk/middleware-recursion-detection": "3.535.0",
+ "@aws-sdk/middleware-user-agent": "3.540.0",
+ "@aws-sdk/region-config-resolver": "3.535.0",
+ "@aws-sdk/types": "3.535.0",
+ "@aws-sdk/util-endpoints": "3.540.0",
+ "@aws-sdk/util-user-agent-browser": "3.535.0",
+ "@aws-sdk/util-user-agent-node": "3.535.0",
+ "@smithy/config-resolver": "^2.2.0",
+ "@smithy/core": "^1.4.0",
+ "@smithy/fetch-http-handler": "^2.5.0",
+ "@smithy/hash-node": "^2.2.0",
+ "@smithy/invalid-dependency": "^2.2.0",
+ "@smithy/middleware-content-length": "^2.2.0",
+ "@smithy/middleware-endpoint": "^2.5.0",
+ "@smithy/middleware-retry": "^2.2.0",
+ "@smithy/middleware-serde": "^2.3.0",
+ "@smithy/middleware-stack": "^2.2.0",
+ "@smithy/node-config-provider": "^2.3.0",
+ "@smithy/node-http-handler": "^2.5.0",
+ "@smithy/protocol-http": "^3.3.0",
+ "@smithy/smithy-client": "^2.5.0",
+ "@smithy/types": "^2.12.0",
+ "@smithy/url-parser": "^2.2.0",
+ "@smithy/util-base64": "^2.3.0",
+ "@smithy/util-body-length-browser": "^2.2.0",
+ "@smithy/util-body-length-node": "^2.3.0",
+ "@smithy/util-defaults-mode-browser": "^2.2.0",
+ "@smithy/util-defaults-mode-node": "^2.3.0",
+ "@smithy/util-endpoints": "^1.2.0",
+ "@smithy/util-middleware": "^2.2.0",
+ "@smithy/util-retry": "^2.2.0",
+ "@smithy/util-utf8": "^2.3.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "@aws-sdk/credential-provider-node": "^3.540.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-lambda/node_modules/tslib": {
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
+ "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
+ },
+ "node_modules/@aws-sdk/client-lex-model-building-service": {
+ "version": "3.540.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-lex-model-building-service/-/client-lex-model-building-service-3.540.0.tgz",
+ "integrity": "sha512-XFdEOW2J1qkEXJPpATBcunNwESIsh92RGCTwCPtLMkTOJdr81JwkFrr3PlsTL2aOLGfd+JDRmZvTYTOiHRjJhg==",
+ "dependencies": {
+ "@aws-crypto/sha256-browser": "3.0.0",
+ "@aws-crypto/sha256-js": "3.0.0",
+ "@aws-sdk/client-sts": "3.540.0",
+ "@aws-sdk/core": "3.535.0",
+ "@aws-sdk/credential-provider-node": "3.540.0",
+ "@aws-sdk/middleware-host-header": "3.535.0",
+ "@aws-sdk/middleware-logger": "3.535.0",
+ "@aws-sdk/middleware-recursion-detection": "3.535.0",
+ "@aws-sdk/middleware-user-agent": "3.540.0",
+ "@aws-sdk/region-config-resolver": "3.535.0",
+ "@aws-sdk/types": "3.535.0",
+ "@aws-sdk/util-endpoints": "3.540.0",
+ "@aws-sdk/util-user-agent-browser": "3.535.0",
+ "@aws-sdk/util-user-agent-node": "3.535.0",
+ "@smithy/config-resolver": "^2.2.0",
+ "@smithy/core": "^1.4.0",
+ "@smithy/fetch-http-handler": "^2.5.0",
+ "@smithy/hash-node": "^2.2.0",
+ "@smithy/invalid-dependency": "^2.2.0",
+ "@smithy/middleware-content-length": "^2.2.0",
+ "@smithy/middleware-endpoint": "^2.5.0",
+ "@smithy/middleware-retry": "^2.2.0",
+ "@smithy/middleware-serde": "^2.3.0",
+ "@smithy/middleware-stack": "^2.2.0",
+ "@smithy/node-config-provider": "^2.3.0",
+ "@smithy/node-http-handler": "^2.5.0",
+ "@smithy/protocol-http": "^3.3.0",
+ "@smithy/smithy-client": "^2.5.0",
+ "@smithy/types": "^2.12.0",
+ "@smithy/url-parser": "^2.2.0",
+ "@smithy/util-base64": "^2.3.0",
+ "@smithy/util-body-length-browser": "^2.2.0",
+ "@smithy/util-body-length-node": "^2.3.0",
+ "@smithy/util-defaults-mode-browser": "^2.2.0",
+ "@smithy/util-defaults-mode-node": "^2.3.0",
+ "@smithy/util-endpoints": "^1.2.0",
+ "@smithy/util-middleware": "^2.2.0",
+ "@smithy/util-retry": "^2.2.0",
+ "@smithy/util-utf8": "^2.3.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-lex-model-building-service/node_modules/@aws-sdk/client-sts": {
+ "version": "3.540.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.540.0.tgz",
+ "integrity": "sha512-ITHUQxvpqfQX6obfpIi3KYGzZYfe/I5Ixjfxoi5lB7ISCtmxqObKB1fzD93wonkMJytJ7LUO8panZl/ojiJ1uw==",
+ "dependencies": {
+ "@aws-crypto/sha256-browser": "3.0.0",
+ "@aws-crypto/sha256-js": "3.0.0",
+ "@aws-sdk/core": "3.535.0",
+ "@aws-sdk/middleware-host-header": "3.535.0",
+ "@aws-sdk/middleware-logger": "3.535.0",
+ "@aws-sdk/middleware-recursion-detection": "3.535.0",
+ "@aws-sdk/middleware-user-agent": "3.540.0",
+ "@aws-sdk/region-config-resolver": "3.535.0",
+ "@aws-sdk/types": "3.535.0",
+ "@aws-sdk/util-endpoints": "3.540.0",
+ "@aws-sdk/util-user-agent-browser": "3.535.0",
+ "@aws-sdk/util-user-agent-node": "3.535.0",
+ "@smithy/config-resolver": "^2.2.0",
+ "@smithy/core": "^1.4.0",
+ "@smithy/fetch-http-handler": "^2.5.0",
+ "@smithy/hash-node": "^2.2.0",
+ "@smithy/invalid-dependency": "^2.2.0",
+ "@smithy/middleware-content-length": "^2.2.0",
+ "@smithy/middleware-endpoint": "^2.5.0",
+ "@smithy/middleware-retry": "^2.2.0",
+ "@smithy/middleware-serde": "^2.3.0",
+ "@smithy/middleware-stack": "^2.2.0",
+ "@smithy/node-config-provider": "^2.3.0",
+ "@smithy/node-http-handler": "^2.5.0",
+ "@smithy/protocol-http": "^3.3.0",
+ "@smithy/smithy-client": "^2.5.0",
+ "@smithy/types": "^2.12.0",
+ "@smithy/url-parser": "^2.2.0",
+ "@smithy/util-base64": "^2.3.0",
+ "@smithy/util-body-length-browser": "^2.2.0",
+ "@smithy/util-body-length-node": "^2.3.0",
+ "@smithy/util-defaults-mode-browser": "^2.2.0",
+ "@smithy/util-defaults-mode-node": "^2.3.0",
+ "@smithy/util-endpoints": "^1.2.0",
+ "@smithy/util-middleware": "^2.2.0",
+ "@smithy/util-retry": "^2.2.0",
+ "@smithy/util-utf8": "^2.3.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "@aws-sdk/credential-provider-node": "^3.540.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-lex-model-building-service/node_modules/tslib": {
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
+ "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
+ },
+ "node_modules/@aws-sdk/client-lex-models-v2": {
+ "version": "3.540.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-lex-models-v2/-/client-lex-models-v2-3.540.0.tgz",
+ "integrity": "sha512-jUAFgpgJaLF6x0D2e05FeCyUmD9SPeLCE/YIT3Vk6KKsJGmthcHTf5El4WTZSpR7Ywi+Z2ZUKRwEWnt9i743GQ==",
+ "dependencies": {
+ "@aws-crypto/sha256-browser": "3.0.0",
+ "@aws-crypto/sha256-js": "3.0.0",
+ "@aws-sdk/client-sts": "3.540.0",
+ "@aws-sdk/core": "3.535.0",
"@aws-sdk/credential-provider-node": "3.540.0",
"@aws-sdk/middleware-host-header": "3.535.0",
"@aws-sdk/middleware-logger": "3.535.0",
@@ -674,9 +1406,6 @@
"@aws-sdk/util-user-agent-node": "3.535.0",
"@smithy/config-resolver": "^2.2.0",
"@smithy/core": "^1.4.0",
- "@smithy/eventstream-serde-browser": "^2.2.0",
- "@smithy/eventstream-serde-config-resolver": "^2.2.0",
- "@smithy/eventstream-serde-node": "^2.2.0",
"@smithy/fetch-http-handler": "^2.5.0",
"@smithy/hash-node": "^2.2.0",
"@smithy/invalid-dependency": "^2.2.0",
@@ -699,7 +1428,6 @@
"@smithy/util-endpoints": "^1.2.0",
"@smithy/util-middleware": "^2.2.0",
"@smithy/util-retry": "^2.2.0",
- "@smithy/util-stream": "^2.2.0",
"@smithy/util-utf8": "^2.3.0",
"@smithy/util-waiter": "^2.2.0",
"tslib": "^2.6.2"
@@ -708,7 +1436,7 @@
"node": ">=14.0.0"
}
},
- "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/client-sts": {
+ "node_modules/@aws-sdk/client-lex-models-v2/node_modules/@aws-sdk/client-sts": {
"version": "3.540.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.540.0.tgz",
"integrity": "sha512-ITHUQxvpqfQX6obfpIi3KYGzZYfe/I5Ixjfxoi5lB7ISCtmxqObKB1fzD93wonkMJytJ7LUO8panZl/ojiJ1uw==",
@@ -759,15 +1487,15 @@
"@aws-sdk/credential-provider-node": "^3.540.0"
}
},
- "node_modules/@aws-sdk/client-lambda/node_modules/tslib": {
+ "node_modules/@aws-sdk/client-lex-models-v2/node_modules/tslib": {
"version": "2.6.2",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
"integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
},
- "node_modules/@aws-sdk/client-lex-model-building-service": {
+ "node_modules/@aws-sdk/client-lex-runtime-service": {
"version": "3.540.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-lex-model-building-service/-/client-lex-model-building-service-3.540.0.tgz",
- "integrity": "sha512-XFdEOW2J1qkEXJPpATBcunNwESIsh92RGCTwCPtLMkTOJdr81JwkFrr3PlsTL2aOLGfd+JDRmZvTYTOiHRjJhg==",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-lex-runtime-service/-/client-lex-runtime-service-3.540.0.tgz",
+ "integrity": "sha512-BE/CKXTvscI6fpidSM2OpiCq9S61OJZHbpuJs+41Pfskb1RVohE2p1k2TjFUwkjUBHBQvE/N0ypM2gPmcWqVgw==",
"dependencies": {
"@aws-crypto/sha256-browser": "3.0.0",
"@aws-crypto/sha256-js": "3.0.0",
@@ -807,6 +1535,7 @@
"@smithy/util-endpoints": "^1.2.0",
"@smithy/util-middleware": "^2.2.0",
"@smithy/util-retry": "^2.2.0",
+ "@smithy/util-stream": "^2.2.0",
"@smithy/util-utf8": "^2.3.0",
"tslib": "^2.6.2"
},
@@ -814,7 +1543,7 @@
"node": ">=14.0.0"
}
},
- "node_modules/@aws-sdk/client-lex-model-building-service/node_modules/@aws-sdk/client-sts": {
+ "node_modules/@aws-sdk/client-lex-runtime-service/node_modules/@aws-sdk/client-sts": {
"version": "3.540.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.540.0.tgz",
"integrity": "sha512-ITHUQxvpqfQX6obfpIi3KYGzZYfe/I5Ixjfxoi5lB7ISCtmxqObKB1fzD93wonkMJytJ7LUO8panZl/ojiJ1uw==",
@@ -865,24 +1594,27 @@
"@aws-sdk/credential-provider-node": "^3.540.0"
}
},
- "node_modules/@aws-sdk/client-lex-model-building-service/node_modules/tslib": {
+ "node_modules/@aws-sdk/client-lex-runtime-service/node_modules/tslib": {
"version": "2.6.2",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
"integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
},
- "node_modules/@aws-sdk/client-lex-models-v2": {
+ "node_modules/@aws-sdk/client-lex-runtime-v2": {
"version": "3.540.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-lex-models-v2/-/client-lex-models-v2-3.540.0.tgz",
- "integrity": "sha512-jUAFgpgJaLF6x0D2e05FeCyUmD9SPeLCE/YIT3Vk6KKsJGmthcHTf5El4WTZSpR7Ywi+Z2ZUKRwEWnt9i743GQ==",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-lex-runtime-v2/-/client-lex-runtime-v2-3.540.0.tgz",
+ "integrity": "sha512-bjWBrhEH8p86dnDeB4vJVaST/sLYAZ24t0ZcAgDE4o+rUx2ay736hfP9HoMw5abCEvpjfO7Y0uQWCIpbtVaEew==",
"dependencies": {
"@aws-crypto/sha256-browser": "3.0.0",
"@aws-crypto/sha256-js": "3.0.0",
"@aws-sdk/client-sts": "3.540.0",
"@aws-sdk/core": "3.535.0",
"@aws-sdk/credential-provider-node": "3.540.0",
+ "@aws-sdk/eventstream-handler-node": "3.535.0",
+ "@aws-sdk/middleware-eventstream": "3.535.0",
"@aws-sdk/middleware-host-header": "3.535.0",
"@aws-sdk/middleware-logger": "3.535.0",
"@aws-sdk/middleware-recursion-detection": "3.535.0",
+ "@aws-sdk/middleware-signing": "3.535.0",
"@aws-sdk/middleware-user-agent": "3.540.0",
"@aws-sdk/region-config-resolver": "3.535.0",
"@aws-sdk/types": "3.535.0",
@@ -891,6 +1623,9 @@
"@aws-sdk/util-user-agent-node": "3.535.0",
"@smithy/config-resolver": "^2.2.0",
"@smithy/core": "^1.4.0",
+ "@smithy/eventstream-serde-browser": "^2.2.0",
+ "@smithy/eventstream-serde-config-resolver": "^2.2.0",
+ "@smithy/eventstream-serde-node": "^2.2.0",
"@smithy/fetch-http-handler": "^2.5.0",
"@smithy/hash-node": "^2.2.0",
"@smithy/invalid-dependency": "^2.2.0",
@@ -911,17 +1646,16 @@
"@smithy/util-defaults-mode-browser": "^2.2.0",
"@smithy/util-defaults-mode-node": "^2.3.0",
"@smithy/util-endpoints": "^1.2.0",
- "@smithy/util-middleware": "^2.2.0",
"@smithy/util-retry": "^2.2.0",
+ "@smithy/util-stream": "^2.2.0",
"@smithy/util-utf8": "^2.3.0",
- "@smithy/util-waiter": "^2.2.0",
"tslib": "^2.6.2"
},
"engines": {
"node": ">=14.0.0"
}
},
- "node_modules/@aws-sdk/client-lex-models-v2/node_modules/@aws-sdk/client-sts": {
+ "node_modules/@aws-sdk/client-lex-runtime-v2/node_modules/@aws-sdk/client-sts": {
"version": "3.540.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.540.0.tgz",
"integrity": "sha512-ITHUQxvpqfQX6obfpIi3KYGzZYfe/I5Ixjfxoi5lB7ISCtmxqObKB1fzD93wonkMJytJ7LUO8panZl/ojiJ1uw==",
@@ -972,15 +1706,15 @@
"@aws-sdk/credential-provider-node": "^3.540.0"
}
},
- "node_modules/@aws-sdk/client-lex-models-v2/node_modules/tslib": {
+ "node_modules/@aws-sdk/client-lex-runtime-v2/node_modules/tslib": {
"version": "2.6.2",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
"integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
},
- "node_modules/@aws-sdk/client-lex-runtime-service": {
+ "node_modules/@aws-sdk/client-opensearch": {
"version": "3.540.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-lex-runtime-service/-/client-lex-runtime-service-3.540.0.tgz",
- "integrity": "sha512-BE/CKXTvscI6fpidSM2OpiCq9S61OJZHbpuJs+41Pfskb1RVohE2p1k2TjFUwkjUBHBQvE/N0ypM2gPmcWqVgw==",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-opensearch/-/client-opensearch-3.540.0.tgz",
+ "integrity": "sha512-uJuMqpp0iJOFqpa/x3KXMupxtK9ud0qBaOlbWTR0mbNl+tbCKkdZU7H4GWKzb2vmTOaarzIFUbLF14XGSSoMZQ==",
"dependencies": {
"@aws-crypto/sha256-browser": "3.0.0",
"@aws-crypto/sha256-js": "3.0.0",
@@ -1020,7 +1754,6 @@
"@smithy/util-endpoints": "^1.2.0",
"@smithy/util-middleware": "^2.2.0",
"@smithy/util-retry": "^2.2.0",
- "@smithy/util-stream": "^2.2.0",
"@smithy/util-utf8": "^2.3.0",
"tslib": "^2.6.2"
},
@@ -1028,7 +1761,7 @@
"node": ">=14.0.0"
}
},
- "node_modules/@aws-sdk/client-lex-runtime-service/node_modules/@aws-sdk/client-sts": {
+ "node_modules/@aws-sdk/client-opensearch/node_modules/@aws-sdk/client-sts": {
"version": "3.540.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.540.0.tgz",
"integrity": "sha512-ITHUQxvpqfQX6obfpIi3KYGzZYfe/I5Ixjfxoi5lB7ISCtmxqObKB1fzD93wonkMJytJ7LUO8panZl/ojiJ1uw==",
@@ -1079,27 +1812,24 @@
"@aws-sdk/credential-provider-node": "^3.540.0"
}
},
- "node_modules/@aws-sdk/client-lex-runtime-service/node_modules/tslib": {
+ "node_modules/@aws-sdk/client-opensearch/node_modules/tslib": {
"version": "2.6.2",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
"integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
},
- "node_modules/@aws-sdk/client-lex-runtime-v2": {
+ "node_modules/@aws-sdk/client-polly": {
"version": "3.540.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-lex-runtime-v2/-/client-lex-runtime-v2-3.540.0.tgz",
- "integrity": "sha512-bjWBrhEH8p86dnDeB4vJVaST/sLYAZ24t0ZcAgDE4o+rUx2ay736hfP9HoMw5abCEvpjfO7Y0uQWCIpbtVaEew==",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-polly/-/client-polly-3.540.0.tgz",
+ "integrity": "sha512-0hfiAVjXdGyeaWPdm2mfqX2AvWRsntziaSUeuGszpAjNu0Oh76hdSGGfeS544dCPUS7Tyjp4wbqM6gU48uEYIw==",
"dependencies": {
"@aws-crypto/sha256-browser": "3.0.0",
"@aws-crypto/sha256-js": "3.0.0",
"@aws-sdk/client-sts": "3.540.0",
"@aws-sdk/core": "3.535.0",
"@aws-sdk/credential-provider-node": "3.540.0",
- "@aws-sdk/eventstream-handler-node": "3.535.0",
- "@aws-sdk/middleware-eventstream": "3.535.0",
"@aws-sdk/middleware-host-header": "3.535.0",
"@aws-sdk/middleware-logger": "3.535.0",
"@aws-sdk/middleware-recursion-detection": "3.535.0",
- "@aws-sdk/middleware-signing": "3.535.0",
"@aws-sdk/middleware-user-agent": "3.540.0",
"@aws-sdk/region-config-resolver": "3.535.0",
"@aws-sdk/types": "3.535.0",
@@ -1108,9 +1838,6 @@
"@aws-sdk/util-user-agent-node": "3.535.0",
"@smithy/config-resolver": "^2.2.0",
"@smithy/core": "^1.4.0",
- "@smithy/eventstream-serde-browser": "^2.2.0",
- "@smithy/eventstream-serde-config-resolver": "^2.2.0",
- "@smithy/eventstream-serde-node": "^2.2.0",
"@smithy/fetch-http-handler": "^2.5.0",
"@smithy/hash-node": "^2.2.0",
"@smithy/invalid-dependency": "^2.2.0",
@@ -1131,6 +1858,7 @@
"@smithy/util-defaults-mode-browser": "^2.2.0",
"@smithy/util-defaults-mode-node": "^2.3.0",
"@smithy/util-endpoints": "^1.2.0",
+ "@smithy/util-middleware": "^2.2.0",
"@smithy/util-retry": "^2.2.0",
"@smithy/util-stream": "^2.2.0",
"@smithy/util-utf8": "^2.3.0",
@@ -1140,7 +1868,7 @@
"node": ">=14.0.0"
}
},
- "node_modules/@aws-sdk/client-lex-runtime-v2/node_modules/@aws-sdk/client-sts": {
+ "node_modules/@aws-sdk/client-polly/node_modules/@aws-sdk/client-sts": {
"version": "3.540.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.540.0.tgz",
"integrity": "sha512-ITHUQxvpqfQX6obfpIi3KYGzZYfe/I5Ixjfxoi5lB7ISCtmxqObKB1fzD93wonkMJytJ7LUO8panZl/ojiJ1uw==",
@@ -1191,35 +1919,51 @@
"@aws-sdk/credential-provider-node": "^3.540.0"
}
},
- "node_modules/@aws-sdk/client-lex-runtime-v2/node_modules/tslib": {
+ "node_modules/@aws-sdk/client-polly/node_modules/tslib": {
"version": "2.6.2",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
"integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
},
- "node_modules/@aws-sdk/client-opensearch": {
+ "node_modules/@aws-sdk/client-s3": {
"version": "3.540.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-opensearch/-/client-opensearch-3.540.0.tgz",
- "integrity": "sha512-uJuMqpp0iJOFqpa/x3KXMupxtK9ud0qBaOlbWTR0mbNl+tbCKkdZU7H4GWKzb2vmTOaarzIFUbLF14XGSSoMZQ==",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.540.0.tgz",
+ "integrity": "sha512-rYBuNB7uqCO9xZc0OAwM2K6QJAo2Syt1L5OhEaf7zG7FulNMyrK6kJPg1WrvNE90tW6gUdDaTy3XsQ7lq6O7uA==",
"dependencies": {
+ "@aws-crypto/sha1-browser": "3.0.0",
"@aws-crypto/sha256-browser": "3.0.0",
"@aws-crypto/sha256-js": "3.0.0",
"@aws-sdk/client-sts": "3.540.0",
"@aws-sdk/core": "3.535.0",
"@aws-sdk/credential-provider-node": "3.540.0",
+ "@aws-sdk/middleware-bucket-endpoint": "3.535.0",
+ "@aws-sdk/middleware-expect-continue": "3.535.0",
+ "@aws-sdk/middleware-flexible-checksums": "3.535.0",
"@aws-sdk/middleware-host-header": "3.535.0",
+ "@aws-sdk/middleware-location-constraint": "3.535.0",
"@aws-sdk/middleware-logger": "3.535.0",
"@aws-sdk/middleware-recursion-detection": "3.535.0",
+ "@aws-sdk/middleware-sdk-s3": "3.535.0",
+ "@aws-sdk/middleware-signing": "3.535.0",
+ "@aws-sdk/middleware-ssec": "3.537.0",
"@aws-sdk/middleware-user-agent": "3.540.0",
"@aws-sdk/region-config-resolver": "3.535.0",
+ "@aws-sdk/signature-v4-multi-region": "3.535.0",
"@aws-sdk/types": "3.535.0",
"@aws-sdk/util-endpoints": "3.540.0",
"@aws-sdk/util-user-agent-browser": "3.535.0",
"@aws-sdk/util-user-agent-node": "3.535.0",
+ "@aws-sdk/xml-builder": "3.535.0",
"@smithy/config-resolver": "^2.2.0",
"@smithy/core": "^1.4.0",
+ "@smithy/eventstream-serde-browser": "^2.2.0",
+ "@smithy/eventstream-serde-config-resolver": "^2.2.0",
+ "@smithy/eventstream-serde-node": "^2.2.0",
"@smithy/fetch-http-handler": "^2.5.0",
+ "@smithy/hash-blob-browser": "^2.2.0",
"@smithy/hash-node": "^2.2.0",
+ "@smithy/hash-stream-node": "^2.2.0",
"@smithy/invalid-dependency": "^2.2.0",
+ "@smithy/md5-js": "^2.2.0",
"@smithy/middleware-content-length": "^2.2.0",
"@smithy/middleware-endpoint": "^2.5.0",
"@smithy/middleware-retry": "^2.2.0",
@@ -1237,16 +1981,17 @@
"@smithy/util-defaults-mode-browser": "^2.2.0",
"@smithy/util-defaults-mode-node": "^2.3.0",
"@smithy/util-endpoints": "^1.2.0",
- "@smithy/util-middleware": "^2.2.0",
"@smithy/util-retry": "^2.2.0",
+ "@smithy/util-stream": "^2.2.0",
"@smithy/util-utf8": "^2.3.0",
+ "@smithy/util-waiter": "^2.2.0",
"tslib": "^2.6.2"
},
"engines": {
"node": ">=14.0.0"
}
},
- "node_modules/@aws-sdk/client-opensearch/node_modules/@aws-sdk/client-sts": {
+ "node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/client-sts": {
"version": "3.540.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.540.0.tgz",
"integrity": "sha512-ITHUQxvpqfQX6obfpIi3KYGzZYfe/I5Ixjfxoi5lB7ISCtmxqObKB1fzD93wonkMJytJ7LUO8panZl/ojiJ1uw==",
@@ -1297,15 +2042,15 @@
"@aws-sdk/credential-provider-node": "^3.540.0"
}
},
- "node_modules/@aws-sdk/client-opensearch/node_modules/tslib": {
+ "node_modules/@aws-sdk/client-s3/node_modules/tslib": {
"version": "2.6.2",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
"integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
},
- "node_modules/@aws-sdk/client-polly": {
+ "node_modules/@aws-sdk/client-ssm": {
"version": "3.540.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-polly/-/client-polly-3.540.0.tgz",
- "integrity": "sha512-0hfiAVjXdGyeaWPdm2mfqX2AvWRsntziaSUeuGszpAjNu0Oh76hdSGGfeS544dCPUS7Tyjp4wbqM6gU48uEYIw==",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-ssm/-/client-ssm-3.540.0.tgz",
+ "integrity": "sha512-GcELCPJBcYpd0zPYO+fTKjeRtvufFEM0AMIdeBojNqObFLx9eyjhzJNpykXulE8J3kPvjzXEs88azPGf0PXu5Q==",
"dependencies": {
"@aws-crypto/sha256-browser": "3.0.0",
"@aws-crypto/sha256-js": "3.0.0",
@@ -1345,15 +2090,16 @@
"@smithy/util-endpoints": "^1.2.0",
"@smithy/util-middleware": "^2.2.0",
"@smithy/util-retry": "^2.2.0",
- "@smithy/util-stream": "^2.2.0",
"@smithy/util-utf8": "^2.3.0",
- "tslib": "^2.6.2"
+ "@smithy/util-waiter": "^2.2.0",
+ "tslib": "^2.6.2",
+ "uuid": "^9.0.1"
},
"engines": {
"node": ">=14.0.0"
}
},
- "node_modules/@aws-sdk/client-polly/node_modules/@aws-sdk/client-sts": {
+ "node_modules/@aws-sdk/client-ssm/node_modules/@aws-sdk/client-sts": {
"version": "3.540.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.540.0.tgz",
"integrity": "sha512-ITHUQxvpqfQX6obfpIi3KYGzZYfe/I5Ixjfxoi5lB7ISCtmxqObKB1fzD93wonkMJytJ7LUO8panZl/ojiJ1uw==",
@@ -1404,51 +2150,145 @@
"@aws-sdk/credential-provider-node": "^3.540.0"
}
},
- "node_modules/@aws-sdk/client-polly/node_modules/tslib": {
+ "node_modules/@aws-sdk/client-ssm/node_modules/tslib": {
"version": "2.6.2",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
"integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
},
- "node_modules/@aws-sdk/client-s3": {
+ "node_modules/@aws-sdk/client-ssm/node_modules/uuid": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz",
+ "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",
+ "funding": [
+ "https://github.com/sponsors/broofa",
+ "https://github.com/sponsors/ctavan"
+ ],
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ }
+ },
+ "node_modules/@aws-sdk/client-sso": {
+ "version": "3.540.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.540.0.tgz",
+ "integrity": "sha512-rrQZMuw4sxIo3eyAUUzPQRA336mPRnrAeSlSdVHBKZD8Fjvoy0lYry2vNhkPLpFZLso1J66KRyuIv4LzRR3v1Q==",
+ "dependencies": {
+ "@aws-crypto/sha256-browser": "3.0.0",
+ "@aws-crypto/sha256-js": "3.0.0",
+ "@aws-sdk/core": "3.535.0",
+ "@aws-sdk/middleware-host-header": "3.535.0",
+ "@aws-sdk/middleware-logger": "3.535.0",
+ "@aws-sdk/middleware-recursion-detection": "3.535.0",
+ "@aws-sdk/middleware-user-agent": "3.540.0",
+ "@aws-sdk/region-config-resolver": "3.535.0",
+ "@aws-sdk/types": "3.535.0",
+ "@aws-sdk/util-endpoints": "3.540.0",
+ "@aws-sdk/util-user-agent-browser": "3.535.0",
+ "@aws-sdk/util-user-agent-node": "3.535.0",
+ "@smithy/config-resolver": "^2.2.0",
+ "@smithy/core": "^1.4.0",
+ "@smithy/fetch-http-handler": "^2.5.0",
+ "@smithy/hash-node": "^2.2.0",
+ "@smithy/invalid-dependency": "^2.2.0",
+ "@smithy/middleware-content-length": "^2.2.0",
+ "@smithy/middleware-endpoint": "^2.5.0",
+ "@smithy/middleware-retry": "^2.2.0",
+ "@smithy/middleware-serde": "^2.3.0",
+ "@smithy/middleware-stack": "^2.2.0",
+ "@smithy/node-config-provider": "^2.3.0",
+ "@smithy/node-http-handler": "^2.5.0",
+ "@smithy/protocol-http": "^3.3.0",
+ "@smithy/smithy-client": "^2.5.0",
+ "@smithy/types": "^2.12.0",
+ "@smithy/url-parser": "^2.2.0",
+ "@smithy/util-base64": "^2.3.0",
+ "@smithy/util-body-length-browser": "^2.2.0",
+ "@smithy/util-body-length-node": "^2.3.0",
+ "@smithy/util-defaults-mode-browser": "^2.2.0",
+ "@smithy/util-defaults-mode-node": "^2.3.0",
+ "@smithy/util-endpoints": "^1.2.0",
+ "@smithy/util-middleware": "^2.2.0",
+ "@smithy/util-retry": "^2.2.0",
+ "@smithy/util-utf8": "^2.3.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-sso-oidc": {
+ "version": "3.540.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.540.0.tgz",
+ "integrity": "sha512-LZYK0lBRQK8D8M3Sqc96XiXkAV2v70zhTtF6weyzEpgwxZMfSuFJjs0jFyhaeZBZbZv7BBghIdhJ5TPavNxGMQ==",
+ "dependencies": {
+ "@aws-crypto/sha256-browser": "3.0.0",
+ "@aws-crypto/sha256-js": "3.0.0",
+ "@aws-sdk/client-sts": "3.540.0",
+ "@aws-sdk/core": "3.535.0",
+ "@aws-sdk/middleware-host-header": "3.535.0",
+ "@aws-sdk/middleware-logger": "3.535.0",
+ "@aws-sdk/middleware-recursion-detection": "3.535.0",
+ "@aws-sdk/middleware-user-agent": "3.540.0",
+ "@aws-sdk/region-config-resolver": "3.535.0",
+ "@aws-sdk/types": "3.535.0",
+ "@aws-sdk/util-endpoints": "3.540.0",
+ "@aws-sdk/util-user-agent-browser": "3.535.0",
+ "@aws-sdk/util-user-agent-node": "3.535.0",
+ "@smithy/config-resolver": "^2.2.0",
+ "@smithy/core": "^1.4.0",
+ "@smithy/fetch-http-handler": "^2.5.0",
+ "@smithy/hash-node": "^2.2.0",
+ "@smithy/invalid-dependency": "^2.2.0",
+ "@smithy/middleware-content-length": "^2.2.0",
+ "@smithy/middleware-endpoint": "^2.5.0",
+ "@smithy/middleware-retry": "^2.2.0",
+ "@smithy/middleware-serde": "^2.3.0",
+ "@smithy/middleware-stack": "^2.2.0",
+ "@smithy/node-config-provider": "^2.3.0",
+ "@smithy/node-http-handler": "^2.5.0",
+ "@smithy/protocol-http": "^3.3.0",
+ "@smithy/smithy-client": "^2.5.0",
+ "@smithy/types": "^2.12.0",
+ "@smithy/url-parser": "^2.2.0",
+ "@smithy/util-base64": "^2.3.0",
+ "@smithy/util-body-length-browser": "^2.2.0",
+ "@smithy/util-body-length-node": "^2.3.0",
+ "@smithy/util-defaults-mode-browser": "^2.2.0",
+ "@smithy/util-defaults-mode-node": "^2.3.0",
+ "@smithy/util-endpoints": "^1.2.0",
+ "@smithy/util-middleware": "^2.2.0",
+ "@smithy/util-retry": "^2.2.0",
+ "@smithy/util-utf8": "^2.3.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "@aws-sdk/credential-provider-node": "^3.540.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-sso-oidc/node_modules/@aws-sdk/client-sts": {
"version": "3.540.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.540.0.tgz",
- "integrity": "sha512-rYBuNB7uqCO9xZc0OAwM2K6QJAo2Syt1L5OhEaf7zG7FulNMyrK6kJPg1WrvNE90tW6gUdDaTy3XsQ7lq6O7uA==",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.540.0.tgz",
+ "integrity": "sha512-ITHUQxvpqfQX6obfpIi3KYGzZYfe/I5Ixjfxoi5lB7ISCtmxqObKB1fzD93wonkMJytJ7LUO8panZl/ojiJ1uw==",
"dependencies": {
- "@aws-crypto/sha1-browser": "3.0.0",
"@aws-crypto/sha256-browser": "3.0.0",
"@aws-crypto/sha256-js": "3.0.0",
- "@aws-sdk/client-sts": "3.540.0",
"@aws-sdk/core": "3.535.0",
- "@aws-sdk/credential-provider-node": "3.540.0",
- "@aws-sdk/middleware-bucket-endpoint": "3.535.0",
- "@aws-sdk/middleware-expect-continue": "3.535.0",
- "@aws-sdk/middleware-flexible-checksums": "3.535.0",
"@aws-sdk/middleware-host-header": "3.535.0",
- "@aws-sdk/middleware-location-constraint": "3.535.0",
"@aws-sdk/middleware-logger": "3.535.0",
"@aws-sdk/middleware-recursion-detection": "3.535.0",
- "@aws-sdk/middleware-sdk-s3": "3.535.0",
- "@aws-sdk/middleware-signing": "3.535.0",
- "@aws-sdk/middleware-ssec": "3.537.0",
"@aws-sdk/middleware-user-agent": "3.540.0",
"@aws-sdk/region-config-resolver": "3.535.0",
- "@aws-sdk/signature-v4-multi-region": "3.535.0",
"@aws-sdk/types": "3.535.0",
"@aws-sdk/util-endpoints": "3.540.0",
"@aws-sdk/util-user-agent-browser": "3.535.0",
"@aws-sdk/util-user-agent-node": "3.535.0",
- "@aws-sdk/xml-builder": "3.535.0",
"@smithy/config-resolver": "^2.2.0",
"@smithy/core": "^1.4.0",
- "@smithy/eventstream-serde-browser": "^2.2.0",
- "@smithy/eventstream-serde-config-resolver": "^2.2.0",
- "@smithy/eventstream-serde-node": "^2.2.0",
"@smithy/fetch-http-handler": "^2.5.0",
- "@smithy/hash-blob-browser": "^2.2.0",
"@smithy/hash-node": "^2.2.0",
- "@smithy/hash-stream-node": "^2.2.0",
"@smithy/invalid-dependency": "^2.2.0",
- "@smithy/md5-js": "^2.2.0",
"@smithy/middleware-content-length": "^2.2.0",
"@smithy/middleware-endpoint": "^2.5.0",
"@smithy/middleware-retry": "^2.2.0",
@@ -1466,550 +2306,1086 @@
"@smithy/util-defaults-mode-browser": "^2.2.0",
"@smithy/util-defaults-mode-node": "^2.3.0",
"@smithy/util-endpoints": "^1.2.0",
+ "@smithy/util-middleware": "^2.2.0",
"@smithy/util-retry": "^2.2.0",
- "@smithy/util-stream": "^2.2.0",
"@smithy/util-utf8": "^2.3.0",
- "@smithy/util-waiter": "^2.2.0",
"tslib": "^2.6.2"
},
"engines": {
- "node": ">=14.0.0"
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "@aws-sdk/credential-provider-node": "^3.540.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-sso-oidc/node_modules/tslib": {
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
+ "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
+ },
+ "node_modules/@aws-sdk/client-sso/node_modules/tslib": {
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
+ "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
+ },
+ "node_modules/@aws-sdk/client-sts": {
+ "version": "3.609.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.609.0.tgz",
+ "integrity": "sha512-A0B3sDKFoFlGo8RYRjDBWHXpbgirer2bZBkCIzhSPHc1vOFHt/m2NcUoE2xnBKXJFrptL1xDkvo1P+XYp/BfcQ==",
+ "dependencies": {
+ "@aws-crypto/sha256-browser": "5.2.0",
+ "@aws-crypto/sha256-js": "5.2.0",
+ "@aws-sdk/client-sso-oidc": "3.609.0",
+ "@aws-sdk/core": "3.609.0",
+ "@aws-sdk/credential-provider-node": "3.609.0",
+ "@aws-sdk/middleware-host-header": "3.609.0",
+ "@aws-sdk/middleware-logger": "3.609.0",
+ "@aws-sdk/middleware-recursion-detection": "3.609.0",
+ "@aws-sdk/middleware-user-agent": "3.609.0",
+ "@aws-sdk/region-config-resolver": "3.609.0",
+ "@aws-sdk/types": "3.609.0",
+ "@aws-sdk/util-endpoints": "3.609.0",
+ "@aws-sdk/util-user-agent-browser": "3.609.0",
+ "@aws-sdk/util-user-agent-node": "3.609.0",
+ "@smithy/config-resolver": "^3.0.4",
+ "@smithy/core": "^2.2.4",
+ "@smithy/fetch-http-handler": "^3.2.0",
+ "@smithy/hash-node": "^3.0.3",
+ "@smithy/invalid-dependency": "^3.0.3",
+ "@smithy/middleware-content-length": "^3.0.3",
+ "@smithy/middleware-endpoint": "^3.0.4",
+ "@smithy/middleware-retry": "^3.0.7",
+ "@smithy/middleware-serde": "^3.0.3",
+ "@smithy/middleware-stack": "^3.0.3",
+ "@smithy/node-config-provider": "^3.1.3",
+ "@smithy/node-http-handler": "^3.1.1",
+ "@smithy/protocol-http": "^4.0.3",
+ "@smithy/smithy-client": "^3.1.5",
+ "@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.7",
+ "@smithy/util-defaults-mode-node": "^3.0.7",
+ "@smithy/util-endpoints": "^2.0.4",
+ "@smithy/util-middleware": "^3.0.3",
+ "@smithy/util-retry": "^3.0.3",
+ "@smithy/util-utf8": "^3.0.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/@aws-crypto/sha256-browser": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-5.2.0.tgz",
+ "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"
+ }
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-utf8": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz",
+ "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==",
+ "dependencies": {
+ "@smithy/util-buffer-from": "^2.2.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/@aws-crypto/sha256-js": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-5.2.0.tgz",
+ "integrity": "sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==",
+ "dependencies": {
+ "@aws-crypto/util": "^5.2.0",
+ "@aws-sdk/types": "^3.222.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/@aws-crypto/supports-web-crypto": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-5.2.0.tgz",
+ "integrity": "sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==",
+ "dependencies": {
+ "tslib": "^2.6.2"
+ }
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/@aws-crypto/util": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-5.2.0.tgz",
+ "integrity": "sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==",
+ "dependencies": {
+ "@aws-sdk/types": "^3.222.0",
+ "@smithy/util-utf8": "^2.0.0",
+ "tslib": "^2.6.2"
+ }
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/@aws-crypto/util/node_modules/@smithy/util-utf8": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz",
+ "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==",
+ "dependencies": {
+ "@smithy/util-buffer-from": "^2.2.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/@aws-sdk/client-sso": {
+ "version": "3.609.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.609.0.tgz",
+ "integrity": "sha512-gqXGFDkIpKHCKAbeJK4aIDt3tiwJ26Rf5Tqw9JS6BYXsdMeOB8FTzqD9R+Yc1epHd8s5L94sdqXT5PapgxFZrg==",
+ "dependencies": {
+ "@aws-crypto/sha256-browser": "5.2.0",
+ "@aws-crypto/sha256-js": "5.2.0",
+ "@aws-sdk/core": "3.609.0",
+ "@aws-sdk/middleware-host-header": "3.609.0",
+ "@aws-sdk/middleware-logger": "3.609.0",
+ "@aws-sdk/middleware-recursion-detection": "3.609.0",
+ "@aws-sdk/middleware-user-agent": "3.609.0",
+ "@aws-sdk/region-config-resolver": "3.609.0",
+ "@aws-sdk/types": "3.609.0",
+ "@aws-sdk/util-endpoints": "3.609.0",
+ "@aws-sdk/util-user-agent-browser": "3.609.0",
+ "@aws-sdk/util-user-agent-node": "3.609.0",
+ "@smithy/config-resolver": "^3.0.4",
+ "@smithy/core": "^2.2.4",
+ "@smithy/fetch-http-handler": "^3.2.0",
+ "@smithy/hash-node": "^3.0.3",
+ "@smithy/invalid-dependency": "^3.0.3",
+ "@smithy/middleware-content-length": "^3.0.3",
+ "@smithy/middleware-endpoint": "^3.0.4",
+ "@smithy/middleware-retry": "^3.0.7",
+ "@smithy/middleware-serde": "^3.0.3",
+ "@smithy/middleware-stack": "^3.0.3",
+ "@smithy/node-config-provider": "^3.1.3",
+ "@smithy/node-http-handler": "^3.1.1",
+ "@smithy/protocol-http": "^4.0.3",
+ "@smithy/smithy-client": "^3.1.5",
+ "@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.7",
+ "@smithy/util-defaults-mode-node": "^3.0.7",
+ "@smithy/util-endpoints": "^2.0.4",
+ "@smithy/util-middleware": "^3.0.3",
+ "@smithy/util-retry": "^3.0.3",
+ "@smithy/util-utf8": "^3.0.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/@aws-sdk/client-sso-oidc": {
+ "version": "3.609.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.609.0.tgz",
+ "integrity": "sha512-0bNPAyPdkWkS9EGB2A9BZDkBNrnVCBzk5lYRezoT4K3/gi9w1DTYH5tuRdwaTZdxW19U1mq7CV0YJJARKO1L9Q==",
+ "dependencies": {
+ "@aws-crypto/sha256-browser": "5.2.0",
+ "@aws-crypto/sha256-js": "5.2.0",
+ "@aws-sdk/core": "3.609.0",
+ "@aws-sdk/credential-provider-node": "3.609.0",
+ "@aws-sdk/middleware-host-header": "3.609.0",
+ "@aws-sdk/middleware-logger": "3.609.0",
+ "@aws-sdk/middleware-recursion-detection": "3.609.0",
+ "@aws-sdk/middleware-user-agent": "3.609.0",
+ "@aws-sdk/region-config-resolver": "3.609.0",
+ "@aws-sdk/types": "3.609.0",
+ "@aws-sdk/util-endpoints": "3.609.0",
+ "@aws-sdk/util-user-agent-browser": "3.609.0",
+ "@aws-sdk/util-user-agent-node": "3.609.0",
+ "@smithy/config-resolver": "^3.0.4",
+ "@smithy/core": "^2.2.4",
+ "@smithy/fetch-http-handler": "^3.2.0",
+ "@smithy/hash-node": "^3.0.3",
+ "@smithy/invalid-dependency": "^3.0.3",
+ "@smithy/middleware-content-length": "^3.0.3",
+ "@smithy/middleware-endpoint": "^3.0.4",
+ "@smithy/middleware-retry": "^3.0.7",
+ "@smithy/middleware-serde": "^3.0.3",
+ "@smithy/middleware-stack": "^3.0.3",
+ "@smithy/node-config-provider": "^3.1.3",
+ "@smithy/node-http-handler": "^3.1.1",
+ "@smithy/protocol-http": "^4.0.3",
+ "@smithy/smithy-client": "^3.1.5",
+ "@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.7",
+ "@smithy/util-defaults-mode-node": "^3.0.7",
+ "@smithy/util-endpoints": "^2.0.4",
+ "@smithy/util-middleware": "^3.0.3",
+ "@smithy/util-retry": "^3.0.3",
+ "@smithy/util-utf8": "^3.0.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "@aws-sdk/client-sts": "^3.609.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/@aws-sdk/core": {
+ "version": "3.609.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.609.0.tgz",
+ "integrity": "sha512-ptqw+DTxLr01+pKjDUuo53SEDzI+7nFM3WfQaEo0yhDg8vWw8PER4sWj1Ysx67ksctnZesPUjqxd5SHbtdBxiA==",
+ "dependencies": {
+ "@smithy/core": "^2.2.4",
+ "@smithy/protocol-http": "^4.0.3",
+ "@smithy/signature-v4": "^3.1.2",
+ "@smithy/smithy-client": "^3.1.5",
+ "@smithy/types": "^3.3.0",
+ "fast-xml-parser": "4.2.5",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/@aws-sdk/credential-provider-env": {
+ "version": "3.609.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.609.0.tgz",
+ "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"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/@aws-sdk/credential-provider-http": {
+ "version": "3.609.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.609.0.tgz",
+ "integrity": "sha512-GQQfB9Mk4XUZwaPsk4V3w8MqleS6ApkZKVQn3vTLAKa8Y7B2Imcpe5zWbKYjDd8MPpMWjHcBGFTVlDRFP4zwSQ==",
+ "dependencies": {
+ "@aws-sdk/types": "3.609.0",
+ "@smithy/fetch-http-handler": "^3.2.0",
+ "@smithy/node-http-handler": "^3.1.1",
+ "@smithy/property-provider": "^3.1.3",
+ "@smithy/protocol-http": "^4.0.3",
+ "@smithy/smithy-client": "^3.1.5",
+ "@smithy/types": "^3.3.0",
+ "@smithy/util-stream": "^3.0.5",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/@aws-sdk/credential-provider-ini": {
+ "version": "3.609.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.609.0.tgz",
+ "integrity": "sha512-hwaBfXuBTv6/eAdEsDfGcteYUW6Km7lvvubbxEdxIuJNF3vswR7RMGIXaEC37hhPkTTgd3H0TONammhwZIfkog==",
+ "dependencies": {
+ "@aws-sdk/credential-provider-env": "3.609.0",
+ "@aws-sdk/credential-provider-http": "3.609.0",
+ "@aws-sdk/credential-provider-process": "3.609.0",
+ "@aws-sdk/credential-provider-sso": "3.609.0",
+ "@aws-sdk/credential-provider-web-identity": "3.609.0",
+ "@aws-sdk/types": "3.609.0",
+ "@smithy/credential-provider-imds": "^3.1.3",
+ "@smithy/property-provider": "^3.1.3",
+ "@smithy/shared-ini-file-loader": "^3.1.3",
+ "@smithy/types": "^3.3.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "@aws-sdk/client-sts": "^3.609.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/@aws-sdk/credential-provider-node": {
+ "version": "3.609.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.609.0.tgz",
+ "integrity": "sha512-4J8/JRuqfxJDGD9jTHVCBxCvYt7/Vgj2Stlhj930mrjFPO/yRw8ilAAZxBWe0JHPX3QwepCmh4ErZe53F5ysxQ==",
+ "dependencies": {
+ "@aws-sdk/credential-provider-env": "3.609.0",
+ "@aws-sdk/credential-provider-http": "3.609.0",
+ "@aws-sdk/credential-provider-ini": "3.609.0",
+ "@aws-sdk/credential-provider-process": "3.609.0",
+ "@aws-sdk/credential-provider-sso": "3.609.0",
+ "@aws-sdk/credential-provider-web-identity": "3.609.0",
+ "@aws-sdk/types": "3.609.0",
+ "@smithy/credential-provider-imds": "^3.1.3",
+ "@smithy/property-provider": "^3.1.3",
+ "@smithy/shared-ini-file-loader": "^3.1.3",
+ "@smithy/types": "^3.3.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/@aws-sdk/credential-provider-process": {
+ "version": "3.609.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.609.0.tgz",
+ "integrity": "sha512-Ux35nGOSJKZWUIM3Ny0ROZ8cqPRUEkh+tR3X2o9ydEbFiLq3eMMyEnHJqx4EeUjLRchidlm4CCid9GxMe5/gdw==",
+ "dependencies": {
+ "@aws-sdk/types": "3.609.0",
+ "@smithy/property-provider": "^3.1.3",
+ "@smithy/shared-ini-file-loader": "^3.1.3",
+ "@smithy/types": "^3.3.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/@aws-sdk/credential-provider-sso": {
+ "version": "3.609.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.609.0.tgz",
+ "integrity": "sha512-oQPGDKMMIxjvTcm86g07RPYeC7mCNk+29dPpY15ZAPRpAF7F0tircsC3wT9fHzNaKShEyK5LuI5Kg/uxsdy+Iw==",
+ "dependencies": {
+ "@aws-sdk/client-sso": "3.609.0",
+ "@aws-sdk/token-providers": "3.609.0",
+ "@aws-sdk/types": "3.609.0",
+ "@smithy/property-provider": "^3.1.3",
+ "@smithy/shared-ini-file-loader": "^3.1.3",
+ "@smithy/types": "^3.3.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/@aws-sdk/credential-provider-web-identity": {
+ "version": "3.609.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.609.0.tgz",
+ "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"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "@aws-sdk/client-sts": "^3.609.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/@aws-sdk/middleware-host-header": {
+ "version": "3.609.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.609.0.tgz",
+ "integrity": "sha512-iTKfo158lc4jLDfYeZmYMIBHsn8m6zX+XB6birCSNZ/rrlzAkPbGE43CNdKfvjyWdqgLMRXF+B+OcZRvqhMXPQ==",
+ "dependencies": {
+ "@aws-sdk/types": "3.609.0",
+ "@smithy/protocol-http": "^4.0.3",
+ "@smithy/types": "^3.3.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/@aws-sdk/middleware-logger": {
+ "version": "3.609.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.609.0.tgz",
+ "integrity": "sha512-S62U2dy4jMDhDFDK5gZ4VxFdWzCtLzwbYyFZx2uvPYTECkepLUfzLic2BHg2Qvtu4QjX+oGE3P/7fwaGIsGNuQ==",
+ "dependencies": {
+ "@aws-sdk/types": "3.609.0",
+ "@smithy/types": "^3.3.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/@aws-sdk/middleware-recursion-detection": {
+ "version": "3.609.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.609.0.tgz",
+ "integrity": "sha512-6sewsYB7/o/nbUfA99Aa/LokM+a/u4Wpm/X2o0RxOsDtSB795ObebLJe2BxY5UssbGaWkn7LswyfvrdZNXNj1w==",
+ "dependencies": {
+ "@aws-sdk/types": "3.609.0",
+ "@smithy/protocol-http": "^4.0.3",
+ "@smithy/types": "^3.3.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/@aws-sdk/middleware-user-agent": {
+ "version": "3.609.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.609.0.tgz",
+ "integrity": "sha512-nbq7MXRmeXm4IDqh+sJRAxGPAq0OfGmGIwKvJcw66hLoG8CmhhVMZmIAEBDFr57S+YajGwnLLRt+eMI05MMeVA==",
+ "dependencies": {
+ "@aws-sdk/types": "3.609.0",
+ "@aws-sdk/util-endpoints": "3.609.0",
+ "@smithy/protocol-http": "^4.0.3",
+ "@smithy/types": "^3.3.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/@aws-sdk/region-config-resolver": {
+ "version": "3.609.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.609.0.tgz",
+ "integrity": "sha512-lMHBG8zg9GWYBc9/XVPKyuAUd7iKqfPP7z04zGta2kGNOKbUTeqmAdc1gJGku75p4kglIPlGBorOxti8DhRmKw==",
+ "dependencies": {
+ "@aws-sdk/types": "3.609.0",
+ "@smithy/node-config-provider": "^3.1.3",
+ "@smithy/types": "^3.3.0",
+ "@smithy/util-config-provider": "^3.0.0",
+ "@smithy/util-middleware": "^3.0.3",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/@aws-sdk/token-providers": {
+ "version": "3.609.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.609.0.tgz",
+ "integrity": "sha512-WvhW/7XSf+H7YmtiIigQxfDVZVZI7mbKikQ09YpzN7FeN3TmYib1+0tB+EE9TbICkwssjiFc71FEBEh4K9grKQ==",
+ "dependencies": {
+ "@aws-sdk/types": "3.609.0",
+ "@smithy/property-provider": "^3.1.3",
+ "@smithy/shared-ini-file-loader": "^3.1.3",
+ "@smithy/types": "^3.3.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "@aws-sdk/client-sso-oidc": "^3.609.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/@aws-sdk/types": {
+ "version": "3.609.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz",
+ "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==",
+ "dependencies": {
+ "@smithy/types": "^3.3.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/@aws-sdk/util-endpoints": {
+ "version": "3.609.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.609.0.tgz",
+ "integrity": "sha512-Rh+3V8dOvEeE1aQmUy904DYWtLUEJ7Vf5XBPlQ6At3pBhp+zpXbsnpZzVL33c8lW1xfj6YPwtO6gOeEsl1juCQ==",
+ "dependencies": {
+ "@aws-sdk/types": "3.609.0",
+ "@smithy/types": "^3.3.0",
+ "@smithy/util-endpoints": "^2.0.4",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/@aws-sdk/util-user-agent-browser": {
+ "version": "3.609.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.609.0.tgz",
+ "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"
+ }
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/@aws-sdk/util-user-agent-node": {
+ "version": "3.609.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.609.0.tgz",
+ "integrity": "sha512-DlZBwQ/HkZyf3pOWc7+wjJRk5R7x9YxHhs2szHwtv1IW30KMabjjjX0GMlGJ9LLkBHkbaaEY/w9Tkj12XRLhRg==",
+ "dependencies": {
+ "@aws-sdk/types": "3.609.0",
+ "@smithy/node-config-provider": "^3.1.3",
+ "@smithy/types": "^3.3.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "aws-crt": ">=1.0.0"
+ },
+ "peerDependenciesMeta": {
+ "aws-crt": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/@smithy/abort-controller": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-3.1.1.tgz",
+ "integrity": "sha512-MBJBiidoe+0cTFhyxT8g+9g7CeVccLM0IOKKUMCNQ1CNMJ/eIfoo0RTfVrXOONEI1UCN1W+zkiHSbzUNE9dZtQ==",
+ "dependencies": {
+ "@smithy/types": "^3.3.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/@smithy/config-resolver": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-3.0.4.tgz",
+ "integrity": "sha512-VwiOk7TwXoE7NlNguV/aPq1hFH72tqkHCw8eWXbr2xHspRyyv9DLpLXhq+Ieje+NwoqXrY0xyQjPXdOE6cGcHA==",
+ "dependencies": {
+ "@smithy/node-config-provider": "^3.1.3",
+ "@smithy/types": "^3.3.0",
+ "@smithy/util-config-provider": "^3.0.0",
+ "@smithy/util-middleware": "^3.0.3",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/@smithy/core": {
+ "version": "2.2.5",
+ "resolved": "https://registry.npmjs.org/@smithy/core/-/core-2.2.5.tgz",
+ "integrity": "sha512-0kqyj93/Aa30TEXnnWRBetN8fDGjFF+u8cdIiMI8YS6CrUF2dLTavRfHKfWh5cL5d6s2ZNyEnLjBitdcKmkETQ==",
+ "dependencies": {
+ "@smithy/middleware-endpoint": "^3.0.4",
+ "@smithy/middleware-retry": "^3.0.8",
+ "@smithy/middleware-serde": "^3.0.3",
+ "@smithy/protocol-http": "^4.0.3",
+ "@smithy/smithy-client": "^3.1.6",
+ "@smithy/types": "^3.3.0",
+ "@smithy/util-middleware": "^3.0.3",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/@smithy/credential-provider-imds": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-3.1.3.tgz",
+ "integrity": "sha512-U1Yrv6hx/mRK6k8AncuI6jLUx9rn0VVSd9NPEX6pyYFBfkSkChOc/n4zUb8alHUVg83TbI4OdZVo1X0Zfj3ijA==",
+ "dependencies": {
+ "@smithy/node-config-provider": "^3.1.3",
+ "@smithy/property-provider": "^3.1.3",
+ "@smithy/types": "^3.3.0",
+ "@smithy/url-parser": "^3.0.3",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=16.0.0"
}
},
- "node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/client-sts": {
- "version": "3.540.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.540.0.tgz",
- "integrity": "sha512-ITHUQxvpqfQX6obfpIi3KYGzZYfe/I5Ixjfxoi5lB7ISCtmxqObKB1fzD93wonkMJytJ7LUO8panZl/ojiJ1uw==",
+ "node_modules/@aws-sdk/client-sts/node_modules/@smithy/fetch-http-handler": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.1.tgz",
+ "integrity": "sha512-0w0bgUvZmfa0vHN8a+moByhCJT07WN6AHKEhFSOLsDpnszm+5dLVv5utGaqbhOrZ/aF5x3xuPMs/oMCd+4O5xg==",
"dependencies": {
- "@aws-crypto/sha256-browser": "3.0.0",
- "@aws-crypto/sha256-js": "3.0.0",
- "@aws-sdk/core": "3.535.0",
- "@aws-sdk/middleware-host-header": "3.535.0",
- "@aws-sdk/middleware-logger": "3.535.0",
- "@aws-sdk/middleware-recursion-detection": "3.535.0",
- "@aws-sdk/middleware-user-agent": "3.540.0",
- "@aws-sdk/region-config-resolver": "3.535.0",
- "@aws-sdk/types": "3.535.0",
- "@aws-sdk/util-endpoints": "3.540.0",
- "@aws-sdk/util-user-agent-browser": "3.535.0",
- "@aws-sdk/util-user-agent-node": "3.535.0",
- "@smithy/config-resolver": "^2.2.0",
- "@smithy/core": "^1.4.0",
- "@smithy/fetch-http-handler": "^2.5.0",
- "@smithy/hash-node": "^2.2.0",
- "@smithy/invalid-dependency": "^2.2.0",
- "@smithy/middleware-content-length": "^2.2.0",
- "@smithy/middleware-endpoint": "^2.5.0",
- "@smithy/middleware-retry": "^2.2.0",
- "@smithy/middleware-serde": "^2.3.0",
- "@smithy/middleware-stack": "^2.2.0",
- "@smithy/node-config-provider": "^2.3.0",
- "@smithy/node-http-handler": "^2.5.0",
- "@smithy/protocol-http": "^3.3.0",
- "@smithy/smithy-client": "^2.5.0",
- "@smithy/types": "^2.12.0",
- "@smithy/url-parser": "^2.2.0",
- "@smithy/util-base64": "^2.3.0",
- "@smithy/util-body-length-browser": "^2.2.0",
- "@smithy/util-body-length-node": "^2.3.0",
- "@smithy/util-defaults-mode-browser": "^2.2.0",
- "@smithy/util-defaults-mode-node": "^2.3.0",
- "@smithy/util-endpoints": "^1.2.0",
- "@smithy/util-middleware": "^2.2.0",
- "@smithy/util-retry": "^2.2.0",
- "@smithy/util-utf8": "^2.3.0",
+ "@smithy/protocol-http": "^4.0.3",
+ "@smithy/querystring-builder": "^3.0.3",
+ "@smithy/types": "^3.3.0",
+ "@smithy/util-base64": "^3.0.0",
+ "tslib": "^2.6.2"
+ }
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/@smithy/hash-node": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-3.0.3.tgz",
+ "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"
},
"engines": {
- "node": ">=14.0.0"
+ "node": ">=16.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/@smithy/hash-node/node_modules/@smithy/util-buffer-from": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz",
+ "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==",
+ "dependencies": {
+ "@smithy/is-array-buffer": "^3.0.0",
+ "tslib": "^2.6.2"
},
- "peerDependencies": {
- "@aws-sdk/credential-provider-node": "^3.540.0"
+ "engines": {
+ "node": ">=16.0.0"
}
},
- "node_modules/@aws-sdk/client-s3/node_modules/tslib": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
- "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
+ "node_modules/@aws-sdk/client-sts/node_modules/@smithy/invalid-dependency": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-3.0.3.tgz",
+ "integrity": "sha512-ID1eL/zpDULmHJbflb864k72/SNOZCADRc9i7Exq3RUNJw6raWUSlFEQ+3PX3EYs++bTxZB2dE9mEHTQLv61tw==",
+ "dependencies": {
+ "@smithy/types": "^3.3.0",
+ "tslib": "^2.6.2"
+ }
},
- "node_modules/@aws-sdk/client-ssm": {
- "version": "3.540.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-ssm/-/client-ssm-3.540.0.tgz",
- "integrity": "sha512-GcELCPJBcYpd0zPYO+fTKjeRtvufFEM0AMIdeBojNqObFLx9eyjhzJNpykXulE8J3kPvjzXEs88azPGf0PXu5Q==",
+ "node_modules/@aws-sdk/client-sts/node_modules/@smithy/is-array-buffer": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz",
+ "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==",
"dependencies": {
- "@aws-crypto/sha256-browser": "3.0.0",
- "@aws-crypto/sha256-js": "3.0.0",
- "@aws-sdk/client-sts": "3.540.0",
- "@aws-sdk/core": "3.535.0",
- "@aws-sdk/credential-provider-node": "3.540.0",
- "@aws-sdk/middleware-host-header": "3.535.0",
- "@aws-sdk/middleware-logger": "3.535.0",
- "@aws-sdk/middleware-recursion-detection": "3.535.0",
- "@aws-sdk/middleware-user-agent": "3.540.0",
- "@aws-sdk/region-config-resolver": "3.535.0",
- "@aws-sdk/types": "3.535.0",
- "@aws-sdk/util-endpoints": "3.540.0",
- "@aws-sdk/util-user-agent-browser": "3.535.0",
- "@aws-sdk/util-user-agent-node": "3.535.0",
- "@smithy/config-resolver": "^2.2.0",
- "@smithy/core": "^1.4.0",
- "@smithy/fetch-http-handler": "^2.5.0",
- "@smithy/hash-node": "^2.2.0",
- "@smithy/invalid-dependency": "^2.2.0",
- "@smithy/middleware-content-length": "^2.2.0",
- "@smithy/middleware-endpoint": "^2.5.0",
- "@smithy/middleware-retry": "^2.2.0",
- "@smithy/middleware-serde": "^2.3.0",
- "@smithy/middleware-stack": "^2.2.0",
- "@smithy/node-config-provider": "^2.3.0",
- "@smithy/node-http-handler": "^2.5.0",
- "@smithy/protocol-http": "^3.3.0",
- "@smithy/smithy-client": "^2.5.0",
- "@smithy/types": "^2.12.0",
- "@smithy/url-parser": "^2.2.0",
- "@smithy/util-base64": "^2.3.0",
- "@smithy/util-body-length-browser": "^2.2.0",
- "@smithy/util-body-length-node": "^2.3.0",
- "@smithy/util-defaults-mode-browser": "^2.2.0",
- "@smithy/util-defaults-mode-node": "^2.3.0",
- "@smithy/util-endpoints": "^1.2.0",
- "@smithy/util-middleware": "^2.2.0",
- "@smithy/util-retry": "^2.2.0",
- "@smithy/util-utf8": "^2.3.0",
- "@smithy/util-waiter": "^2.2.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/@smithy/middleware-content-length": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-3.0.3.tgz",
+ "integrity": "sha512-Dbz2bzexReYIQDWMr+gZhpwBetNXzbhnEMhYKA6urqmojO14CsXjnsoPYO8UL/xxcawn8ZsuVU61ElkLSltIUQ==",
+ "dependencies": {
+ "@smithy/protocol-http": "^4.0.3",
+ "@smithy/types": "^3.3.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/@smithy/middleware-endpoint": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-3.0.4.tgz",
+ "integrity": "sha512-whUJMEPwl3ANIbXjBXZVdJNgfV2ZU8ayln7xUM47rXL2txuenI7jQ/VFFwCzy5lCmXScjp6zYtptW5Evud8e9g==",
+ "dependencies": {
+ "@smithy/middleware-serde": "^3.0.3",
+ "@smithy/node-config-provider": "^3.1.3",
+ "@smithy/shared-ini-file-loader": "^3.1.3",
+ "@smithy/types": "^3.3.0",
+ "@smithy/url-parser": "^3.0.3",
+ "@smithy/util-middleware": "^3.0.3",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/@smithy/middleware-retry": {
+ "version": "3.0.8",
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-3.0.8.tgz",
+ "integrity": "sha512-wmIw3t6ZbeqstUFdXtStzSSltoYrcfc28ndnr0mDSMmtMSRNduNbmneA7xiE224fVFXzbf24+0oREks1u2X7Mw==",
+ "dependencies": {
+ "@smithy/node-config-provider": "^3.1.3",
+ "@smithy/protocol-http": "^4.0.3",
+ "@smithy/service-error-classification": "^3.0.3",
+ "@smithy/smithy-client": "^3.1.6",
+ "@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"
},
"engines": {
- "node": ">=14.0.0"
+ "node": ">=16.0.0"
}
},
- "node_modules/@aws-sdk/client-ssm/node_modules/@aws-sdk/client-sts": {
- "version": "3.540.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.540.0.tgz",
- "integrity": "sha512-ITHUQxvpqfQX6obfpIi3KYGzZYfe/I5Ixjfxoi5lB7ISCtmxqObKB1fzD93wonkMJytJ7LUO8panZl/ojiJ1uw==",
+ "node_modules/@aws-sdk/client-sts/node_modules/@smithy/middleware-serde": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-3.0.3.tgz",
+ "integrity": "sha512-puUbyJQBcg9eSErFXjKNiGILJGtiqmuuNKEYNYfUD57fUl4i9+mfmThtQhvFXU0hCVG0iEJhvQUipUf+/SsFdA==",
"dependencies": {
- "@aws-crypto/sha256-browser": "3.0.0",
- "@aws-crypto/sha256-js": "3.0.0",
- "@aws-sdk/core": "3.535.0",
- "@aws-sdk/middleware-host-header": "3.535.0",
- "@aws-sdk/middleware-logger": "3.535.0",
- "@aws-sdk/middleware-recursion-detection": "3.535.0",
- "@aws-sdk/middleware-user-agent": "3.540.0",
- "@aws-sdk/region-config-resolver": "3.535.0",
- "@aws-sdk/types": "3.535.0",
- "@aws-sdk/util-endpoints": "3.540.0",
- "@aws-sdk/util-user-agent-browser": "3.535.0",
- "@aws-sdk/util-user-agent-node": "3.535.0",
- "@smithy/config-resolver": "^2.2.0",
- "@smithy/core": "^1.4.0",
- "@smithy/fetch-http-handler": "^2.5.0",
- "@smithy/hash-node": "^2.2.0",
- "@smithy/invalid-dependency": "^2.2.0",
- "@smithy/middleware-content-length": "^2.2.0",
- "@smithy/middleware-endpoint": "^2.5.0",
- "@smithy/middleware-retry": "^2.2.0",
- "@smithy/middleware-serde": "^2.3.0",
- "@smithy/middleware-stack": "^2.2.0",
- "@smithy/node-config-provider": "^2.3.0",
- "@smithy/node-http-handler": "^2.5.0",
- "@smithy/protocol-http": "^3.3.0",
- "@smithy/smithy-client": "^2.5.0",
- "@smithy/types": "^2.12.0",
- "@smithy/url-parser": "^2.2.0",
- "@smithy/util-base64": "^2.3.0",
- "@smithy/util-body-length-browser": "^2.2.0",
- "@smithy/util-body-length-node": "^2.3.0",
- "@smithy/util-defaults-mode-browser": "^2.2.0",
- "@smithy/util-defaults-mode-node": "^2.3.0",
- "@smithy/util-endpoints": "^1.2.0",
- "@smithy/util-middleware": "^2.2.0",
- "@smithy/util-retry": "^2.2.0",
- "@smithy/util-utf8": "^2.3.0",
+ "@smithy/types": "^3.3.0",
"tslib": "^2.6.2"
},
"engines": {
- "node": ">=14.0.0"
+ "node": ">=16.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/@smithy/middleware-stack": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-3.0.3.tgz",
+ "integrity": "sha512-r4klY9nFudB0r9UdSMaGSyjyQK5adUyPnQN/ZM6M75phTxOdnc/AhpvGD1fQUvgmqjQEBGCwpnPbDm8pH5PapA==",
+ "dependencies": {
+ "@smithy/types": "^3.3.0",
+ "tslib": "^2.6.2"
},
- "peerDependencies": {
- "@aws-sdk/credential-provider-node": "^3.540.0"
+ "engines": {
+ "node": ">=16.0.0"
}
},
- "node_modules/@aws-sdk/client-ssm/node_modules/tslib": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
- "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
+ "node_modules/@aws-sdk/client-sts/node_modules/@smithy/node-config-provider": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.3.tgz",
+ "integrity": "sha512-rxdpAZczzholz6CYZxtqDu/aKTxATD5DAUDVj7HoEulq+pDSQVWzbg0btZDlxeFfa6bb2b5tUvgdX5+k8jUqcg==",
+ "dependencies": {
+ "@smithy/property-provider": "^3.1.3",
+ "@smithy/shared-ini-file-loader": "^3.1.3",
+ "@smithy/types": "^3.3.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ }
},
- "node_modules/@aws-sdk/client-ssm/node_modules/uuid": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz",
- "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",
- "funding": [
- "https://github.com/sponsors/broofa",
- "https://github.com/sponsors/ctavan"
- ],
- "bin": {
- "uuid": "dist/bin/uuid"
+ "node_modules/@aws-sdk/client-sts/node_modules/@smithy/node-http-handler": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.1.2.tgz",
+ "integrity": "sha512-Td3rUNI7qqtoSLTsJBtsyfoG4cF/XMFmJr6Z2dX8QNzIi6tIW6YmuyFml8mJ2cNpyWNqITKbROMOFrvQjmsOvw==",
+ "dependencies": {
+ "@smithy/abort-controller": "^3.1.1",
+ "@smithy/protocol-http": "^4.0.3",
+ "@smithy/querystring-builder": "^3.0.3",
+ "@smithy/types": "^3.3.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=16.0.0"
}
},
- "node_modules/@aws-sdk/client-sso": {
- "version": "3.540.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.540.0.tgz",
- "integrity": "sha512-rrQZMuw4sxIo3eyAUUzPQRA336mPRnrAeSlSdVHBKZD8Fjvoy0lYry2vNhkPLpFZLso1J66KRyuIv4LzRR3v1Q==",
+ "node_modules/@aws-sdk/client-sts/node_modules/@smithy/property-provider": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.3.tgz",
+ "integrity": "sha512-zahyOVR9Q4PEoguJ/NrFP4O7SMAfYO1HLhB18M+q+Z4KFd4V2obiMnlVoUFzFLSPeVt1POyNWneHHrZaTMoc/g==",
"dependencies": {
- "@aws-crypto/sha256-browser": "3.0.0",
- "@aws-crypto/sha256-js": "3.0.0",
- "@aws-sdk/core": "3.535.0",
- "@aws-sdk/middleware-host-header": "3.535.0",
- "@aws-sdk/middleware-logger": "3.535.0",
- "@aws-sdk/middleware-recursion-detection": "3.535.0",
- "@aws-sdk/middleware-user-agent": "3.540.0",
- "@aws-sdk/region-config-resolver": "3.535.0",
- "@aws-sdk/types": "3.535.0",
- "@aws-sdk/util-endpoints": "3.540.0",
- "@aws-sdk/util-user-agent-browser": "3.535.0",
- "@aws-sdk/util-user-agent-node": "3.535.0",
- "@smithy/config-resolver": "^2.2.0",
- "@smithy/core": "^1.4.0",
- "@smithy/fetch-http-handler": "^2.5.0",
- "@smithy/hash-node": "^2.2.0",
- "@smithy/invalid-dependency": "^2.2.0",
- "@smithy/middleware-content-length": "^2.2.0",
- "@smithy/middleware-endpoint": "^2.5.0",
- "@smithy/middleware-retry": "^2.2.0",
- "@smithy/middleware-serde": "^2.3.0",
- "@smithy/middleware-stack": "^2.2.0",
- "@smithy/node-config-provider": "^2.3.0",
- "@smithy/node-http-handler": "^2.5.0",
- "@smithy/protocol-http": "^3.3.0",
- "@smithy/smithy-client": "^2.5.0",
- "@smithy/types": "^2.12.0",
- "@smithy/url-parser": "^2.2.0",
- "@smithy/util-base64": "^2.3.0",
- "@smithy/util-body-length-browser": "^2.2.0",
- "@smithy/util-body-length-node": "^2.3.0",
- "@smithy/util-defaults-mode-browser": "^2.2.0",
- "@smithy/util-defaults-mode-node": "^2.3.0",
- "@smithy/util-endpoints": "^1.2.0",
- "@smithy/util-middleware": "^2.2.0",
- "@smithy/util-retry": "^2.2.0",
- "@smithy/util-utf8": "^2.3.0",
+ "@smithy/types": "^3.3.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/@smithy/protocol-http": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.0.3.tgz",
+ "integrity": "sha512-x5jmrCWwQlx+Zv4jAtc33ijJ+vqqYN+c/ZkrnpvEe/uDas7AT7A/4Rc2CdfxgWv4WFGmEqODIrrUToPN6DDkGw==",
+ "dependencies": {
+ "@smithy/types": "^3.3.0",
"tslib": "^2.6.2"
},
"engines": {
- "node": ">=14.0.0"
+ "node": ">=16.0.0"
}
},
- "node_modules/@aws-sdk/client-sso-oidc": {
- "version": "3.540.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.540.0.tgz",
- "integrity": "sha512-LZYK0lBRQK8D8M3Sqc96XiXkAV2v70zhTtF6weyzEpgwxZMfSuFJjs0jFyhaeZBZbZv7BBghIdhJ5TPavNxGMQ==",
+ "node_modules/@aws-sdk/client-sts/node_modules/@smithy/querystring-builder": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-3.0.3.tgz",
+ "integrity": "sha512-vyWckeUeesFKzCDaRwWLUA1Xym9McaA6XpFfAK5qI9DKJ4M33ooQGqvM4J+LalH4u/Dq9nFiC8U6Qn1qi0+9zw==",
"dependencies": {
- "@aws-crypto/sha256-browser": "3.0.0",
- "@aws-crypto/sha256-js": "3.0.0",
- "@aws-sdk/client-sts": "3.540.0",
- "@aws-sdk/core": "3.535.0",
- "@aws-sdk/middleware-host-header": "3.535.0",
- "@aws-sdk/middleware-logger": "3.535.0",
- "@aws-sdk/middleware-recursion-detection": "3.535.0",
- "@aws-sdk/middleware-user-agent": "3.540.0",
- "@aws-sdk/region-config-resolver": "3.535.0",
- "@aws-sdk/types": "3.535.0",
- "@aws-sdk/util-endpoints": "3.540.0",
- "@aws-sdk/util-user-agent-browser": "3.535.0",
- "@aws-sdk/util-user-agent-node": "3.535.0",
- "@smithy/config-resolver": "^2.2.0",
- "@smithy/core": "^1.4.0",
- "@smithy/fetch-http-handler": "^2.5.0",
- "@smithy/hash-node": "^2.2.0",
- "@smithy/invalid-dependency": "^2.2.0",
- "@smithy/middleware-content-length": "^2.2.0",
- "@smithy/middleware-endpoint": "^2.5.0",
- "@smithy/middleware-retry": "^2.2.0",
- "@smithy/middleware-serde": "^2.3.0",
- "@smithy/middleware-stack": "^2.2.0",
- "@smithy/node-config-provider": "^2.3.0",
- "@smithy/node-http-handler": "^2.5.0",
- "@smithy/protocol-http": "^3.3.0",
- "@smithy/smithy-client": "^2.5.0",
- "@smithy/types": "^2.12.0",
- "@smithy/url-parser": "^2.2.0",
- "@smithy/util-base64": "^2.3.0",
- "@smithy/util-body-length-browser": "^2.2.0",
- "@smithy/util-body-length-node": "^2.3.0",
- "@smithy/util-defaults-mode-browser": "^2.2.0",
- "@smithy/util-defaults-mode-node": "^2.3.0",
- "@smithy/util-endpoints": "^1.2.0",
- "@smithy/util-middleware": "^2.2.0",
- "@smithy/util-retry": "^2.2.0",
- "@smithy/util-utf8": "^2.3.0",
+ "@smithy/types": "^3.3.0",
+ "@smithy/util-uri-escape": "^3.0.0",
"tslib": "^2.6.2"
},
"engines": {
- "node": ">=14.0.0"
+ "node": ">=16.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/@smithy/querystring-parser": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-3.0.3.tgz",
+ "integrity": "sha512-zahM1lQv2YjmznnfQsWbYojFe55l0SLG/988brlLv1i8z3dubloLF+75ATRsqPBboUXsW6I9CPGE5rQgLfY0vQ==",
+ "dependencies": {
+ "@smithy/types": "^3.3.0",
+ "tslib": "^2.6.2"
},
- "peerDependencies": {
- "@aws-sdk/credential-provider-node": "^3.540.0"
+ "engines": {
+ "node": ">=16.0.0"
}
},
- "node_modules/@aws-sdk/client-sso-oidc/node_modules/@aws-sdk/client-sts": {
- "version": "3.540.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.540.0.tgz",
- "integrity": "sha512-ITHUQxvpqfQX6obfpIi3KYGzZYfe/I5Ixjfxoi5lB7ISCtmxqObKB1fzD93wonkMJytJ7LUO8panZl/ojiJ1uw==",
+ "node_modules/@aws-sdk/client-sts/node_modules/@smithy/service-error-classification": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz",
+ "integrity": "sha512-Jn39sSl8cim/VlkLsUhRFq/dKDnRUFlfRkvhOJaUbLBXUsLRLNf9WaxDv/z9BjuQ3A6k/qE8af1lsqcwm7+DaQ==",
"dependencies": {
- "@aws-crypto/sha256-browser": "3.0.0",
- "@aws-crypto/sha256-js": "3.0.0",
- "@aws-sdk/core": "3.535.0",
- "@aws-sdk/middleware-host-header": "3.535.0",
- "@aws-sdk/middleware-logger": "3.535.0",
- "@aws-sdk/middleware-recursion-detection": "3.535.0",
- "@aws-sdk/middleware-user-agent": "3.540.0",
- "@aws-sdk/region-config-resolver": "3.535.0",
- "@aws-sdk/types": "3.535.0",
- "@aws-sdk/util-endpoints": "3.540.0",
- "@aws-sdk/util-user-agent-browser": "3.535.0",
- "@aws-sdk/util-user-agent-node": "3.535.0",
- "@smithy/config-resolver": "^2.2.0",
- "@smithy/core": "^1.4.0",
- "@smithy/fetch-http-handler": "^2.5.0",
- "@smithy/hash-node": "^2.2.0",
- "@smithy/invalid-dependency": "^2.2.0",
- "@smithy/middleware-content-length": "^2.2.0",
- "@smithy/middleware-endpoint": "^2.5.0",
- "@smithy/middleware-retry": "^2.2.0",
- "@smithy/middleware-serde": "^2.3.0",
- "@smithy/middleware-stack": "^2.2.0",
- "@smithy/node-config-provider": "^2.3.0",
- "@smithy/node-http-handler": "^2.5.0",
- "@smithy/protocol-http": "^3.3.0",
- "@smithy/smithy-client": "^2.5.0",
- "@smithy/types": "^2.12.0",
- "@smithy/url-parser": "^2.2.0",
- "@smithy/util-base64": "^2.3.0",
- "@smithy/util-body-length-browser": "^2.2.0",
- "@smithy/util-body-length-node": "^2.3.0",
- "@smithy/util-defaults-mode-browser": "^2.2.0",
- "@smithy/util-defaults-mode-node": "^2.3.0",
- "@smithy/util-endpoints": "^1.2.0",
- "@smithy/util-middleware": "^2.2.0",
- "@smithy/util-retry": "^2.2.0",
- "@smithy/util-utf8": "^2.3.0",
+ "@smithy/types": "^3.3.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/@smithy/shared-ini-file-loader": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.3.tgz",
+ "integrity": "sha512-Z8Y3+08vgoDgl4HENqNnnzSISAaGrF2RoKupoC47u2wiMp+Z8P/8mDh1CL8+8ujfi2U5naNvopSBmP/BUj8b5w==",
+ "dependencies": {
+ "@smithy/types": "^3.3.0",
"tslib": "^2.6.2"
},
"engines": {
- "node": ">=14.0.0"
+ "node": ">=16.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/@smithy/signature-v4": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-3.1.2.tgz",
+ "integrity": "sha512-3BcPylEsYtD0esM4Hoyml/+s7WP2LFhcM3J2AGdcL2vx9O60TtfpDOL72gjb4lU8NeRPeKAwR77YNyyGvMbuEA==",
+ "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"
},
- "peerDependencies": {
- "@aws-sdk/credential-provider-node": "^3.540.0"
+ "engines": {
+ "node": ">=16.0.0"
}
},
- "node_modules/@aws-sdk/client-sso-oidc/node_modules/tslib": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
- "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
+ "node_modules/@aws-sdk/client-sts/node_modules/@smithy/smithy-client": {
+ "version": "3.1.6",
+ "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.1.6.tgz",
+ "integrity": "sha512-w9oboI661hfptr26houZ5mdKc//DMxkuOMXSaIiALqGn4bHYT9S4U69BBS6tHX4TZHgShmhcz0d6aXk7FY5soA==",
+ "dependencies": {
+ "@smithy/middleware-endpoint": "^3.0.4",
+ "@smithy/middleware-stack": "^3.0.3",
+ "@smithy/protocol-http": "^4.0.3",
+ "@smithy/types": "^3.3.0",
+ "@smithy/util-stream": "^3.0.6",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ }
},
- "node_modules/@aws-sdk/client-sso/node_modules/tslib": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
- "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
+ "node_modules/@aws-sdk/client-sts/node_modules/@smithy/types": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz",
+ "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==",
+ "dependencies": {
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ }
},
- "node_modules/@aws-sdk/client-sts": {
- "version": "3.511.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.511.0.tgz",
- "integrity": "sha512-lwVEEXK+1auEwmBuTv35m2GvbxPthi8SjNUpU4pRetZPVbGhnhCN6H7JqeMDP6GLf81Io2eySXRsmLMt7l/fjg==",
+ "node_modules/@aws-sdk/client-sts/node_modules/@smithy/url-parser": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-3.0.3.tgz",
+ "integrity": "sha512-pw3VtZtX2rg+s6HMs6/+u9+hu6oY6U7IohGhVNnjbgKy86wcIsSZwgHrFR+t67Uyxvp4Xz3p3kGXXIpTNisq8A==",
"dependencies": {
- "@aws-crypto/sha256-browser": "3.0.0",
- "@aws-crypto/sha256-js": "3.0.0",
- "@aws-sdk/core": "3.511.0",
- "@aws-sdk/middleware-host-header": "3.511.0",
- "@aws-sdk/middleware-logger": "3.511.0",
- "@aws-sdk/middleware-recursion-detection": "3.511.0",
- "@aws-sdk/middleware-user-agent": "3.511.0",
- "@aws-sdk/region-config-resolver": "3.511.0",
- "@aws-sdk/types": "3.511.0",
- "@aws-sdk/util-endpoints": "3.511.0",
- "@aws-sdk/util-user-agent-browser": "3.511.0",
- "@aws-sdk/util-user-agent-node": "3.511.0",
- "@smithy/config-resolver": "^2.1.1",
- "@smithy/core": "^1.3.1",
- "@smithy/fetch-http-handler": "^2.4.1",
- "@smithy/hash-node": "^2.1.1",
- "@smithy/invalid-dependency": "^2.1.1",
- "@smithy/middleware-content-length": "^2.1.1",
- "@smithy/middleware-endpoint": "^2.4.1",
- "@smithy/middleware-retry": "^2.1.1",
- "@smithy/middleware-serde": "^2.1.1",
- "@smithy/middleware-stack": "^2.1.1",
- "@smithy/node-config-provider": "^2.2.1",
- "@smithy/node-http-handler": "^2.3.1",
- "@smithy/protocol-http": "^3.1.1",
- "@smithy/smithy-client": "^2.3.1",
- "@smithy/types": "^2.9.1",
- "@smithy/url-parser": "^2.1.1",
- "@smithy/util-base64": "^2.1.1",
- "@smithy/util-body-length-browser": "^2.1.1",
- "@smithy/util-body-length-node": "^2.2.1",
- "@smithy/util-defaults-mode-browser": "^2.1.1",
- "@smithy/util-defaults-mode-node": "^2.1.1",
- "@smithy/util-endpoints": "^1.1.1",
- "@smithy/util-middleware": "^2.1.1",
- "@smithy/util-retry": "^2.1.1",
- "@smithy/util-utf8": "^2.1.1",
- "fast-xml-parser": "4.2.5",
- "tslib": "^2.5.0"
+ "@smithy/querystring-parser": "^3.0.3",
+ "@smithy/types": "^3.3.0",
+ "tslib": "^2.6.2"
+ }
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/@smithy/util-base64": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-3.0.0.tgz",
+ "integrity": "sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==",
+ "dependencies": {
+ "@smithy/util-buffer-from": "^3.0.0",
+ "@smithy/util-utf8": "^3.0.0",
+ "tslib": "^2.6.2"
},
"engines": {
- "node": ">=14.0.0"
+ "node": ">=16.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/@smithy/util-base64/node_modules/@smithy/util-buffer-from": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz",
+ "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==",
+ "dependencies": {
+ "@smithy/is-array-buffer": "^3.0.0",
+ "tslib": "^2.6.2"
},
- "peerDependencies": {
- "@aws-sdk/credential-provider-node": "^3.511.0"
+ "engines": {
+ "node": ">=16.0.0"
}
},
- "node_modules/@aws-sdk/client-sts/node_modules/@aws-sdk/core": {
- "version": "3.511.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.511.0.tgz",
- "integrity": "sha512-0gbDvQhToyLxPyr/7KP6uavrBYKh7exld2lju1Lp65U61XgEjTVP/thJmHTvH4BAKGSqeIz/rrwJ0KrC8nwBtw==",
+ "node_modules/@aws-sdk/client-sts/node_modules/@smithy/util-body-length-browser": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-3.0.0.tgz",
+ "integrity": "sha512-cbjJs2A1mLYmqmyVl80uoLTJhAcfzMOyPgjwAYusWKMdLeNtzmMz9YxNl3/jRLoxSS3wkqkf0jwNdtXWtyEBaQ==",
"dependencies": {
- "@smithy/core": "^1.3.1",
- "@smithy/protocol-http": "^3.1.1",
- "@smithy/signature-v4": "^2.1.1",
- "@smithy/smithy-client": "^2.3.1",
- "@smithy/types": "^2.9.1",
- "tslib": "^2.5.0"
+ "tslib": "^2.6.2"
+ }
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/@smithy/util-body-length-node": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-3.0.0.tgz",
+ "integrity": "sha512-Tj7pZ4bUloNUP6PzwhN7K386tmSmEET9QtQg0TgdNOnxhZvCssHji+oZTUIuzxECRfG8rdm2PMw2WCFs6eIYkA==",
+ "dependencies": {
+ "tslib": "^2.6.2"
},
"engines": {
- "node": ">=14.0.0"
+ "node": ">=16.0.0"
}
},
- "node_modules/@aws-sdk/client-sts/node_modules/@aws-sdk/middleware-host-header": {
- "version": "3.511.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.511.0.tgz",
- "integrity": "sha512-DbBzQP/6woSHR/+g9dHN3YiYaLIqFw9u8lQFMxi3rT3hqITFVYLzzXtEaHjDD6/is56pNT84CIKbyJ6/gY5d1Q==",
+ "node_modules/@aws-sdk/client-sts/node_modules/@smithy/util-config-provider": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-3.0.0.tgz",
+ "integrity": "sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ==",
"dependencies": {
- "@aws-sdk/types": "3.511.0",
- "@smithy/protocol-http": "^3.1.1",
- "@smithy/types": "^2.9.1",
- "tslib": "^2.5.0"
+ "tslib": "^2.6.2"
},
"engines": {
- "node": ">=14.0.0"
+ "node": ">=16.0.0"
}
},
- "node_modules/@aws-sdk/client-sts/node_modules/@aws-sdk/middleware-logger": {
- "version": "3.511.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.511.0.tgz",
- "integrity": "sha512-EYU9dBlJXvQcCsM2Tfgi0NQoXrqovfDv/fDy8oGJgZFrgNuHDti8tdVVxeJTUJNEAF67xlDl5o+rWEkKthkYGQ==",
+ "node_modules/@aws-sdk/client-sts/node_modules/@smithy/util-defaults-mode-browser": {
+ "version": "3.0.8",
+ "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.8.tgz",
+ "integrity": "sha512-eLRHCvM1w3ZJkYcd60yKqM3d70dPB+071EDpf9ZGYqFed3xcm/+pWwNS/xM0JXRrjm0yAA19dWcdFN2IE/66pQ==",
"dependencies": {
- "@aws-sdk/types": "3.511.0",
- "@smithy/types": "^2.9.1",
- "tslib": "^2.5.0"
+ "@smithy/property-provider": "^3.1.3",
+ "@smithy/smithy-client": "^3.1.6",
+ "@smithy/types": "^3.3.0",
+ "bowser": "^2.11.0",
+ "tslib": "^2.6.2"
},
"engines": {
- "node": ">=14.0.0"
+ "node": ">= 10.0.0"
}
},
- "node_modules/@aws-sdk/client-sts/node_modules/@aws-sdk/middleware-recursion-detection": {
- "version": "3.511.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.511.0.tgz",
- "integrity": "sha512-PlNPCV/6zpDVdNx1K69xDTh/wPNU4WyP4qa6hUo2/+4/PNG5HI9xbCWtpb4RjhdTRw6qDtkBNcPICHbtWx5aHg==",
+ "node_modules/@aws-sdk/client-sts/node_modules/@smithy/util-defaults-mode-node": {
+ "version": "3.0.8",
+ "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.8.tgz",
+ "integrity": "sha512-Tajvdyg5+k77j6AOrwSCZgi7KdBizqPNs3HCnFGRoxDjzh+CjPLaLrXbIRB0lsAmqYmRHIU34IogByaqvDrkBQ==",
"dependencies": {
- "@aws-sdk/types": "3.511.0",
- "@smithy/protocol-http": "^3.1.1",
- "@smithy/types": "^2.9.1",
- "tslib": "^2.5.0"
+ "@smithy/config-resolver": "^3.0.4",
+ "@smithy/credential-provider-imds": "^3.1.3",
+ "@smithy/node-config-provider": "^3.1.3",
+ "@smithy/property-provider": "^3.1.3",
+ "@smithy/smithy-client": "^3.1.6",
+ "@smithy/types": "^3.3.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">= 10.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/@smithy/util-endpoints": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-2.0.4.tgz",
+ "integrity": "sha512-ZAtNf+vXAsgzgRutDDiklU09ZzZiiV/nATyqde4Um4priTmasDH+eLpp3tspL0hS2dEootyFMhu1Y6Y+tzpWBQ==",
+ "dependencies": {
+ "@smithy/node-config-provider": "^3.1.3",
+ "@smithy/types": "^3.3.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/@smithy/util-hex-encoding": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz",
+ "integrity": "sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==",
+ "dependencies": {
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/@smithy/util-middleware": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.3.tgz",
+ "integrity": "sha512-l+StyYYK/eO3DlVPbU+4Bi06Jjal+PFLSMmlWM1BEwyLxZ3aKkf1ROnoIakfaA7mC6uw3ny7JBkau4Yc+5zfWw==",
+ "dependencies": {
+ "@smithy/types": "^3.3.0",
+ "tslib": "^2.6.2"
},
"engines": {
- "node": ">=14.0.0"
+ "node": ">=16.0.0"
}
},
- "node_modules/@aws-sdk/client-sts/node_modules/@aws-sdk/middleware-user-agent": {
- "version": "3.511.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.511.0.tgz",
- "integrity": "sha512-eLs+CxP2QCXh3tCGYCdAml3oyWj8MSIwKbH+8rKw0k/5vmY1YJDBy526whOxx61ivhz2e0muuijN4X5EZZ2Pnw==",
+ "node_modules/@aws-sdk/client-sts/node_modules/@smithy/util-retry": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-3.0.3.tgz",
+ "integrity": "sha512-AFw+hjpbtVApzpNDhbjNG5NA3kyoMs7vx0gsgmlJF4s+yz1Zlepde7J58zpIRIsdjc+emhpAITxA88qLkPF26w==",
"dependencies": {
- "@aws-sdk/types": "3.511.0",
- "@aws-sdk/util-endpoints": "3.511.0",
- "@smithy/protocol-http": "^3.1.1",
- "@smithy/types": "^2.9.1",
- "tslib": "^2.5.0"
+ "@smithy/service-error-classification": "^3.0.3",
+ "@smithy/types": "^3.3.0",
+ "tslib": "^2.6.2"
},
"engines": {
- "node": ">=14.0.0"
+ "node": ">=16.0.0"
}
},
- "node_modules/@aws-sdk/client-sts/node_modules/@aws-sdk/region-config-resolver": {
- "version": "3.511.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.511.0.tgz",
- "integrity": "sha512-RzBLSNaRd4iEkQyEGfiSNvSnWU/x23rsiFgA9tqYFA0Vqx7YmzSWC8QBUxpwybB8HkbbL9wNVKQqTbhI3mYneQ==",
+ "node_modules/@aws-sdk/client-sts/node_modules/@smithy/util-stream": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.0.6.tgz",
+ "integrity": "sha512-w9i//7egejAIvplX821rPWWgaiY1dxsQUw0hXX7qwa/uZ9U3zplqTQ871jWadkcVB9gFDhkPWYVZf4yfFbZ0xA==",
"dependencies": {
- "@aws-sdk/types": "3.511.0",
- "@smithy/node-config-provider": "^2.2.1",
- "@smithy/types": "^2.9.1",
- "@smithy/util-config-provider": "^2.2.1",
- "@smithy/util-middleware": "^2.1.1",
- "tslib": "^2.5.0"
+ "@smithy/fetch-http-handler": "^3.2.1",
+ "@smithy/node-http-handler": "^3.1.2",
+ "@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"
},
"engines": {
- "node": ">=14.0.0"
+ "node": ">=16.0.0"
}
},
- "node_modules/@aws-sdk/client-sts/node_modules/@aws-sdk/types": {
- "version": "3.511.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.511.0.tgz",
- "integrity": "sha512-P03ufufxmkvd7nO46oOeEqYIMPJ8qMCKxAsfJk1JBVPQ1XctVntbail4/UFnrnzij8DTl4Mk/D62uGo7+RolXA==",
+ "node_modules/@aws-sdk/client-sts/node_modules/@smithy/util-stream/node_modules/@smithy/util-buffer-from": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz",
+ "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==",
"dependencies": {
- "@smithy/types": "^2.9.1",
- "tslib": "^2.5.0"
+ "@smithy/is-array-buffer": "^3.0.0",
+ "tslib": "^2.6.2"
},
"engines": {
- "node": ">=14.0.0"
+ "node": ">=16.0.0"
}
},
- "node_modules/@aws-sdk/client-sts/node_modules/@aws-sdk/util-endpoints": {
- "version": "3.511.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.511.0.tgz",
- "integrity": "sha512-J/5hsscJkg2pAOdLx1YKlyMCk5lFRxRxEtup9xipzOxVBlqOIE72Tuu31fbxSlF8XzO/AuCJcZL4m1v098K9oA==",
+ "node_modules/@aws-sdk/client-sts/node_modules/@smithy/util-uri-escape": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz",
+ "integrity": "sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==",
"dependencies": {
- "@aws-sdk/types": "3.511.0",
- "@smithy/types": "^2.9.1",
- "@smithy/util-endpoints": "^1.1.1",
- "tslib": "^2.5.0"
+ "tslib": "^2.6.2"
},
"engines": {
- "node": ">=14.0.0"
+ "node": ">=16.0.0"
}
},
- "node_modules/@aws-sdk/client-sts/node_modules/@aws-sdk/util-user-agent-browser": {
- "version": "3.511.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.511.0.tgz",
- "integrity": "sha512-5LuESdwtIcA10aHcX7pde7aCIijcyTPBXFuXmFlDTgm/naAayQxelQDpvgbzuzGLgePf8eTyyhDKhzwPZ2EqiQ==",
+ "node_modules/@aws-sdk/client-sts/node_modules/@smithy/util-utf8": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz",
+ "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==",
"dependencies": {
- "@aws-sdk/types": "3.511.0",
- "@smithy/types": "^2.9.1",
- "bowser": "^2.11.0",
- "tslib": "^2.5.0"
+ "@smithy/util-buffer-from": "^3.0.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=16.0.0"
}
},
- "node_modules/@aws-sdk/client-sts/node_modules/@aws-sdk/util-user-agent-node": {
- "version": "3.511.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.511.0.tgz",
- "integrity": "sha512-UopdlRvYY5mxlS4wwFv+QAWL6/T302wmoQj7i+RY+c/D3Ej3PKBb/mW3r2wEOgZLJmPpeeM1SYMk+rVmsW1rqw==",
+ "node_modules/@aws-sdk/client-sts/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz",
+ "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==",
"dependencies": {
- "@aws-sdk/types": "3.511.0",
- "@smithy/node-config-provider": "^2.2.1",
- "@smithy/types": "^2.9.1",
- "tslib": "^2.5.0"
+ "@smithy/is-array-buffer": "^3.0.0",
+ "tslib": "^2.6.2"
},
"engines": {
- "node": ">=14.0.0"
- },
- "peerDependencies": {
- "aws-crt": ">=1.0.0"
- },
- "peerDependenciesMeta": {
- "aws-crt": {
- "optional": true
- }
+ "node": ">=16.0.0"
}
},
"node_modules/@aws-sdk/client-sts/node_modules/bowser": {
@@ -2018,9 +3394,21 @@
"integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA=="
},
"node_modules/@aws-sdk/client-sts/node_modules/tslib": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
- "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz",
+ "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ=="
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/uuid": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz",
+ "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",
+ "funding": [
+ "https://github.com/sponsors/broofa",
+ "https://github.com/sponsors/ctavan"
+ ],
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ }
},
"node_modules/@aws-sdk/core": {
"version": "3.535.0",
@@ -10338,6 +11726,225 @@
"tslib": "^2.1.0"
}
},
+ "node_modules/aws-sdk-client-mock-jest": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/aws-sdk-client-mock-jest/-/aws-sdk-client-mock-jest-3.0.0.tgz",
+ "integrity": "sha512-oV1rBQZc4UumLbzZAhi8UAehUq+k75hkQYGLrVIP0iJj85Z9xw+EaSsmJke/KQ8Z3vng+Xv1xbounsxpvZpunQ==",
+ "dev": true,
+ "dependencies": {
+ "@types/jest": "^28.1.3",
+ "tslib": "^2.1.0"
+ },
+ "peerDependencies": {
+ "aws-sdk-client-mock": "3.0.0"
+ }
+ },
+ "node_modules/aws-sdk-client-mock-jest/node_modules/@jest/expect-utils": {
+ "version": "28.1.3",
+ "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-28.1.3.tgz",
+ "integrity": "sha512-wvbi9LUrHJLn3NlDW6wF2hvIMtd4JUl2QNVrjq+IBSHirgfrR3o9RnVtxzdEGO2n9JyIWwHnLfby5KzqBGg2YA==",
+ "dev": true,
+ "dependencies": {
+ "jest-get-type": "^28.0.2"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/aws-sdk-client-mock-jest/node_modules/@jest/schemas": {
+ "version": "28.1.3",
+ "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz",
+ "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==",
+ "dev": true,
+ "dependencies": {
+ "@sinclair/typebox": "^0.24.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/aws-sdk-client-mock-jest/node_modules/@jest/types": {
+ "version": "28.1.3",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz",
+ "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==",
+ "dev": true,
+ "dependencies": {
+ "@jest/schemas": "^28.1.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/aws-sdk-client-mock-jest/node_modules/@sinclair/typebox": {
+ "version": "0.24.51",
+ "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz",
+ "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==",
+ "dev": true
+ },
+ "node_modules/aws-sdk-client-mock-jest/node_modules/@types/jest": {
+ "version": "28.1.8",
+ "resolved": "https://registry.npmjs.org/@types/jest/-/jest-28.1.8.tgz",
+ "integrity": "sha512-8TJkV++s7B6XqnDrzR1m/TT0A0h948Pnl/097veySPN67VRAgQ4gZ7n2KfJo2rVq6njQjdxU3GCCyDvAeuHoiw==",
+ "dev": true,
+ "dependencies": {
+ "expect": "^28.0.0",
+ "pretty-format": "^28.0.0"
+ }
+ },
+ "node_modules/aws-sdk-client-mock-jest/node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/aws-sdk-client-mock-jest/node_modules/ansi-styles": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+ "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/aws-sdk-client-mock-jest/node_modules/diff-sequences": {
+ "version": "28.1.1",
+ "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz",
+ "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==",
+ "dev": true,
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/aws-sdk-client-mock-jest/node_modules/expect": {
+ "version": "28.1.3",
+ "resolved": "https://registry.npmjs.org/expect/-/expect-28.1.3.tgz",
+ "integrity": "sha512-eEh0xn8HlsuOBxFgIss+2mX85VAS4Qy3OSkjV7rlBWljtA4oWH37glVGyOZSZvErDT/yBywZdPGwCXuTvSG85g==",
+ "dev": true,
+ "dependencies": {
+ "@jest/expect-utils": "^28.1.3",
+ "jest-get-type": "^28.0.2",
+ "jest-matcher-utils": "^28.1.3",
+ "jest-message-util": "^28.1.3",
+ "jest-util": "^28.1.3"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/aws-sdk-client-mock-jest/node_modules/jest-diff": {
+ "version": "28.1.3",
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.3.tgz",
+ "integrity": "sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw==",
+ "dev": true,
+ "dependencies": {
+ "chalk": "^4.0.0",
+ "diff-sequences": "^28.1.1",
+ "jest-get-type": "^28.0.2",
+ "pretty-format": "^28.1.3"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/aws-sdk-client-mock-jest/node_modules/jest-get-type": {
+ "version": "28.0.2",
+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz",
+ "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==",
+ "dev": true,
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/aws-sdk-client-mock-jest/node_modules/jest-matcher-utils": {
+ "version": "28.1.3",
+ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz",
+ "integrity": "sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw==",
+ "dev": true,
+ "dependencies": {
+ "chalk": "^4.0.0",
+ "jest-diff": "^28.1.3",
+ "jest-get-type": "^28.0.2",
+ "pretty-format": "^28.1.3"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/aws-sdk-client-mock-jest/node_modules/jest-message-util": {
+ "version": "28.1.3",
+ "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz",
+ "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==",
+ "dev": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.12.13",
+ "@jest/types": "^28.1.3",
+ "@types/stack-utils": "^2.0.0",
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.9",
+ "micromatch": "^4.0.4",
+ "pretty-format": "^28.1.3",
+ "slash": "^3.0.0",
+ "stack-utils": "^2.0.3"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/aws-sdk-client-mock-jest/node_modules/jest-util": {
+ "version": "28.1.3",
+ "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz",
+ "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==",
+ "dev": true,
+ "dependencies": {
+ "@jest/types": "^28.1.3",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "ci-info": "^3.2.0",
+ "graceful-fs": "^4.2.9",
+ "picomatch": "^2.2.3"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/aws-sdk-client-mock-jest/node_modules/pretty-format": {
+ "version": "28.1.3",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz",
+ "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==",
+ "dev": true,
+ "dependencies": {
+ "@jest/schemas": "^28.1.3",
+ "ansi-regex": "^5.0.1",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^18.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/aws-sdk-client-mock-jest/node_modules/react-is": {
+ "version": "18.3.1",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz",
+ "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==",
+ "dev": true
+ },
+ "node_modules/aws-sdk-client-mock-jest/node_modules/tslib": {
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz",
+ "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==",
+ "dev": true
+ },
"node_modules/aws-sdk-client-mock/node_modules/tslib": {
"version": "2.6.2",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
diff --git a/source/package.json b/source/package.json
index 1c02f5c5..bbbbcb99 100644
--- a/source/package.json
+++ b/source/package.json
@@ -1,6 +1,6 @@
{
"name": "qnabot-on-aws",
- "version": "6.0.1",
+ "version": "6.0.2",
"engines": {
"node": ">=18.0.0",
"npm": ">=10.0.0"
@@ -60,6 +60,7 @@
"dependencies": {
"@aws-sdk/client-cloudformation": "^3.511.0",
"@aws-sdk/client-cognito-identity": "^3.511.0",
+ "@aws-sdk/client-cognito-identity-provider": "^3.511.0",
"@aws-sdk/client-kms": "^3.511.0",
"@aws-sdk/client-lambda": "^3.511.0",
"@aws-sdk/client-lex-model-building-service": "^3.511.0",
@@ -79,7 +80,6 @@
"async-mutex": "^0.1.3",
"autosize": "^3.0.21",
"aws-lex-web-ui": "git+https://github.com/aws-samples/aws-lex-web-ui.git#feature/qnabot-sdkv3",
- "aws-sdk": "^2.1552.0",
"aws4": "^1.7.0",
"axios": "^1.6.8",
"body-parser": "^1.18.3",
@@ -156,6 +156,7 @@
"@vue/test-utils": "^2.4.3",
"@vue/vue3-jest": "^29.2.6",
"aws-sdk-client-mock": "^3.0.0",
+ "aws-sdk-client-mock-jest": "^3.0.0",
"babel-loader": "^9.1.3",
"copy-webpack-plugin": "^11.0.0",
"css-loader": "^6.8.1",
diff --git a/source/templates/examples/examples/package-lock.json b/source/templates/examples/examples/package-lock.json
index 836fb43d..8a29e1a0 100644
--- a/source/templates/examples/examples/package-lock.json
+++ b/source/templates/examples/examples/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "examples",
- "version": "6.0.1",
+ "version": "6.0.2",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "examples",
- "version": "6.0.1",
+ "version": "6.0.2",
"license": "Apache-2.0",
"dependencies": {
"cfn-response": "^1.0.1",
diff --git a/source/templates/examples/examples/package.json b/source/templates/examples/examples/package.json
index 7b74d3b1..0fdd83a2 100644
--- a/source/templates/examples/examples/package.json
+++ b/source/templates/examples/examples/package.json
@@ -1,6 +1,6 @@
{
"name": "examples",
- "version": "6.0.1",
+ "version": "6.0.2",
"description": "Lambda contains a collection of lambda hooks for QnABot and a custom resource to create the example documents",
"main": "index.js",
"scripts": {
diff --git a/source/templates/examples/extensions/js_lambda_hooks/CreateRecentTopicsResponse/package-lock.json b/source/templates/examples/extensions/js_lambda_hooks/CreateRecentTopicsResponse/package-lock.json
index 8d245fe6..436ba63d 100644
--- a/source/templates/examples/extensions/js_lambda_hooks/CreateRecentTopicsResponse/package-lock.json
+++ b/source/templates/examples/extensions/js_lambda_hooks/CreateRecentTopicsResponse/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "createrecenttopicsresponse",
- "version": "6.0.1",
+ "version": "6.0.2",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "createrecenttopicsresponse",
- "version": "6.0.1",
+ "version": "6.0.2",
"license": "Apache-2.0",
"dependencies": {
"lodash": "^4.17.21"
diff --git a/source/templates/examples/extensions/js_lambda_hooks/CreateRecentTopicsResponse/package.json b/source/templates/examples/extensions/js_lambda_hooks/CreateRecentTopicsResponse/package.json
index 096ec468..b50e7241 100644
--- a/source/templates/examples/extensions/js_lambda_hooks/CreateRecentTopicsResponse/package.json
+++ b/source/templates/examples/extensions/js_lambda_hooks/CreateRecentTopicsResponse/package.json
@@ -1,6 +1,6 @@
{
"name": "createrecenttopicsresponse",
- "version": "6.0.1",
+ "version": "6.0.2",
"description": "Lambda hook that creates recent topic response",
"main": "CreateRecentTopicResponse.js",
"scripts": {
diff --git a/source/templates/examples/extensions/js_lambda_hooks/CustomJSHook/package-lock.json b/source/templates/examples/extensions/js_lambda_hooks/CustomJSHook/package-lock.json
index 9c7b8992..2f9583b8 100644
--- a/source/templates/examples/extensions/js_lambda_hooks/CustomJSHook/package-lock.json
+++ b/source/templates/examples/extensions/js_lambda_hooks/CustomJSHook/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "examples",
- "version": "6.0.1",
+ "version": "6.0.2",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "examples",
- "version": "6.0.1",
+ "version": "6.0.2",
"license": "Apache-2.0",
"dependencies": {
"cfn-response": "^1.0.1",
diff --git a/source/templates/examples/extensions/js_lambda_hooks/CustomJSHook/package.json b/source/templates/examples/extensions/js_lambda_hooks/CustomJSHook/package.json
index 64a8b4c0..6d0b8782 100644
--- a/source/templates/examples/extensions/js_lambda_hooks/CustomJSHook/package.json
+++ b/source/templates/examples/extensions/js_lambda_hooks/CustomJSHook/package.json
@@ -1,6 +1,6 @@
{
"name": "examples",
- "version": "6.0.1",
+ "version": "6.0.2",
"description": "Creates custom JS Lambda Hooks",
"main": "index.js",
"scripts": {
diff --git a/source/templates/examples/extensions/ui_imports/package-lock.json b/source/templates/examples/extensions/ui_imports/package-lock.json
index 4a0a1c41..bb4577c9 100644
--- a/source/templates/examples/extensions/ui_imports/package-lock.json
+++ b/source/templates/examples/extensions/ui_imports/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "ui_import",
- "version": "6.0.1",
+ "version": "6.0.2",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "ui_import",
- "version": "6.0.1",
+ "version": "6.0.2",
"license": "Apache-2.0",
"dependencies": {
"cfn-response": "^1.0.1",
diff --git a/source/templates/examples/extensions/ui_imports/package.json b/source/templates/examples/extensions/ui_imports/package.json
index 15756c8e..e635182e 100644
--- a/source/templates/examples/extensions/ui_imports/package.json
+++ b/source/templates/examples/extensions/ui_imports/package.json
@@ -1,6 +1,6 @@
{
"name": "ui_import",
- "version": "6.0.1",
+ "version": "6.0.2",
"description": "Add new content packages for Content Designer Import Examples/Extensions listing",
"main": "ui_import.js",
"scripts": {
diff --git a/source/templates/master/__snapshots__/index.test.js.snap b/source/templates/master/__snapshots__/index.test.js.snap
index 3ca55620..65c7e8f6 100644
--- a/source/templates/master/__snapshots__/index.test.js.snap
+++ b/source/templates/master/__snapshots__/index.test.js.snap
@@ -311,15 +311,15 @@ exports[`Verify master template is correct renders master template correctly 1`]
"ai21.j2-mid-v1": {
"MaxTokens": 8191,
"ModelID": "ai21.j2-mid-v1",
- "NoHitsRegex": "(unable to assist you|i don't have enough context|i could not find an exact answer|no information in the search results|search results do not contain|no information in the provided search results|did not find any information|search results did not contain|unable to respond)",
- "QAPromptTemplate": "The following is a friendly conversation between a human and an AI. The AI is talkative and provides lots of specific details from its context. If the AI does not know the answer to a question, it truthfully says it does not know. Documents: {context} Instruction: Based on the above documents, provide a detailed answer for {query} Answer \\"I don't know\\" if not present in the document. Solution:",
+ "NoHitsRegex": "(Sorry, I don't know|unable to assist you|i don't have enough context|i could not find an exact answer|no information in the search results|search results do not contain|no information in the provided search results|not find any information|search results did not contain|unable to respond|There is no mention of|documents do not mention anything|There is no information provided|reference passages do not mention)",
+ "QAPromptTemplate": "The following is a friendly conversation between a human and an AI. The AI is talkative and provides lots of specific details from its context. If the AI does not know the answer to a question, it truthfully says it does not know. Documents: {context} Instruction: Based on the above documents, provide a detailed answer for {query} Answer \\"Sorry, I don't know\\" if not present in the document. Solution:",
"QueryPromptTemplate": "
Human: Here is a chat history in tags:
{history}
Human: And here is a follow up question or statement from the human in tags:
{input}
Human: Rephrase the follow up question or statement as a standalone question or statement that makes sense without reading the chat history.
Assistant: Here is the rephrased follow up question or statement:",
},
"ai21.j2-ultra-v1": {
"MaxTokens": 8191,
"ModelID": "ai21.j2-ultra-v1",
- "NoHitsRegex": "(unable to assist you|i don't have enough context|i could not find an exact answer|no information in the search results|search results do not contain|no information in the provided search results|did not find any information|search results did not contain|unable to respond)",
- "QAPromptTemplate": "The following is a friendly conversation between a human and an AI. The AI is talkative and provides lots of specific details from its context. If the AI does not know the answer to a question, it truthfully says it does not know. Documents: {context} Instruction: Based on the above documents, provide a detailed answer for {query} Answer \\"I don't know\\" if not present in the document. Solution:",
+ "NoHitsRegex": "(Sorry, I don't know|unable to assist you|i don't have enough context|i could not find an exact answer|no information in the search results|search results do not contain|no information in the provided search results|not find any information|search results did not contain|unable to respond|There is no mention of|documents do not mention anything|There is no information provided|reference passages do not mention)",
+ "QAPromptTemplate": "The following is a friendly conversation between a human and an AI. The AI is talkative and provides lots of specific details from its context. If the AI does not know the answer to a question, it truthfully says it does not know. Documents: {context} Instruction: Based on the above documents, provide a detailed answer for {query} Answer \\"Sorry, I don't know\\" if not present in the document. Solution:",
"QueryPromptTemplate": "
Human: Here is a chat history in tags:
{history}
Human: And here is a follow up question or statement from the human in tags:
{input}
Human: Rephrase the follow up question or statement as a standalone question or statement that makes sense without reading the chat history.
Assistant: Here is the rephrased follow up question or statement:",
},
"amazon.titan-embed-text-v1": {
@@ -330,56 +330,56 @@ exports[`Verify master template is correct renders master template correctly 1`]
"amazon.titan-text-express-v1": {
"MaxTokens": 8000,
"ModelID": "amazon.titan-text-express-v1",
- "NoHitsRegex": "(unable to assist you|i don't have enough context|i could not find an exact answer|no information in the search results|search results do not contain|no information in the provided search results|did not find any information|search results did not contain|unable to respond)",
+ "NoHitsRegex": "(Sorry, I don't know|unable to assist you|i don't have enough context|i could not find an exact answer|no information in the search results|search results do not contain|no information in the provided search results|not find any information|search results did not contain|unable to respond|There is no mention of|documents do not mention anything|There is no information provided|reference passages do not mention)",
"QAPromptTemplate": "
Human: You are a friendly AI assistant. Answer the question in tags only based on the provided reference passages. Here are reference passages in tags:
{context}
If the references contain the information needed to respond, then write a confident response in under 50 words, quoting the relevant references.
Otherwise, if you can make an informed guess based on the reference passages, then write a less confident response in under 50 words, stating your assumptions.
Finally, if the references do not have any relevant information, then respond saying \\"Sorry, I don't know\\".
{query}
Assistant: According to the reference passages, in under 50 words:",
"QueryPromptTemplate": "Given the following conversation and a follow up question, rephrase the follow up question to be a standalone question.
Chat History:
{history}
Follow up question: {input}
Standalone question:",
},
"amazon.titan-text-lite-v1": {
"MaxTokens": 4000,
"ModelID": "amazon.titan-text-lite-v1",
- "NoHitsRegex": "(unable to assist you|i don't have enough context|i could not find an exact answer|no information in the search results|search results do not contain|no information in the provided search results|did not find any information|search results did not contain|unable to respond)",
+ "NoHitsRegex": "(Sorry, I don't know|unable to assist you|i don't have enough context|i could not find an exact answer|no information in the search results|search results do not contain|no information in the provided search results|not find any information|search results did not contain|unable to respond|There is no mention of|documents do not mention anything|There is no information provided|reference passages do not mention)",
"QAPromptTemplate": "
Human: You are a friendly AI assistant. Answer the question in tags only based on the provided reference passages. Here are reference passages in tags:
{context}
If the references contain the information needed to respond, then write a confident response in under 50 words, quoting the relevant references.
Otherwise, if you can make an informed guess based on the reference passages, then write a less confident response in under 50 words, stating your assumptions.
Finally, if the references do not have any relevant information, then respond saying \\"Sorry, I don't know\\".
{query}
Assistant: According to the reference passages, in under 50 words:",
"QueryPromptTemplate": "Given the following conversation and a follow up question, rephrase the follow up question to be a standalone question.
Chat History:
{history}
Follow up question: {input}
Standalone question:",
},
"anthropic.claude-3-haiku-v1": {
"MaxTokens": 100000,
"ModelID": "anthropic.claude-3-haiku-20240307-v1:0",
- "NoHitsRegex": "(unable to assist you|i don't have enough context|i could not find an exact answer|no information in the search results|search results do not contain|no information in the provided search results|did not find any information|search results did not contain|unable to respond)",
+ "NoHitsRegex": "(Sorry, I don't know|unable to assist you|i don't have enough context|i could not find an exact answer|no information in the search results|search results do not contain|no information in the provided search results|not find any information|search results did not contain|unable to respond|There is no mention of|documents do not mention anything|There is no information provided|reference passages do not mention)",
"QAPromptTemplate": "
Human: You are a friendly AI assistant. Answer the question in tags only based on the provided reference passages. Here are reference passages in tags:
{context}
If the references contain the information needed to respond, then write a confident response in under 50 words, quoting the relevant references.
Otherwise, if you can make an informed guess based on the reference passages, then write a less confident response in under 50 words, stating your assumptions.
Finally, if the references do not have any relevant information, then respond saying \\"Sorry, I don't know\\".
{query}
Assistant: According to the reference passages, in under 50 words:",
"QueryPromptTemplate": "
Human: Here is a chat history in tags:
{history}
Human: And here is a follow up question or statement from the human in tags:
{input}
Human: Rephrase the follow up question or statement as a standalone question or statement that makes sense without reading the chat history.
Assistant: Here is the rephrased follow up question or statement:",
},
"anthropic.claude-3-sonnet-v1": {
"MaxTokens": 100000,
"ModelID": "anthropic.claude-3-sonnet-20240229-v1:0",
- "NoHitsRegex": "(unable to assist you|i don't have enough context|i could not find an exact answer|no information in the search results|search results do not contain|no information in the provided search results|did not find any information|search results did not contain|unable to respond)",
+ "NoHitsRegex": "(Sorry, I don't know|unable to assist you|i don't have enough context|i could not find an exact answer|no information in the search results|search results do not contain|no information in the provided search results|not find any information|search results did not contain|unable to respond|There is no mention of|documents do not mention anything|There is no information provided|reference passages do not mention)",
"QAPromptTemplate": "
Human: You are a friendly AI assistant. Answer the question in tags only based on the provided reference passages. Here are reference passages in tags:
{context}
If the references contain the information needed to respond, then write a confident response in under 50 words, quoting the relevant references.
Otherwise, if you can make an informed guess based on the reference passages, then write a less confident response in under 50 words, stating your assumptions.
Finally, if the references do not have any relevant information, then respond saying \\"Sorry, I don't know\\".
{query}
Assistant: According to the reference passages, in under 50 words:",
"QueryPromptTemplate": "
Human: Here is a chat history in tags:
{history}
Human: And here is a follow up question or statement from the human in tags:
{input}
Human: Rephrase the follow up question or statement as a standalone question or statement that makes sense without reading the chat history.
Assistant: Here is the rephrased follow up question or statement:",
},
"anthropic.claude-instant-v1": {
"MaxTokens": 100000,
"ModelID": "anthropic.claude-instant-v1",
- "NoHitsRegex": "(unable to assist you|i don't have enough context|i could not find an exact answer|no information in the search results|search results do not contain|no information in the provided search results|did not find any information|search results did not contain|unable to respond)",
+ "NoHitsRegex": "(Sorry, I don't know|unable to assist you|i don't have enough context|i could not find an exact answer|no information in the search results|search results do not contain|no information in the provided search results|not find any information|search results did not contain|unable to respond|There is no mention of|documents do not mention anything|There is no information provided|reference passages do not mention)",
"QAPromptTemplate": "
Human: You are a friendly AI assistant. Answer the question in tags only based on the provided reference passages. Here are reference passages in tags:
{context}
If the references contain the information needed to respond, then write a confident response in under 50 words, quoting the relevant references.
Otherwise, if you can make an informed guess based on the reference passages, then write a less confident response in under 50 words, stating your assumptions.
Finally, if the references do not have any relevant information, then respond saying \\"Sorry, I don't know\\".
{query}
Assistant: According to the reference passages, in under 50 words:",
"QueryPromptTemplate": "
Human: Here is a chat history in tags:
{history}
Human: And here is a follow up question or statement from the human in tags:
{input}
Human: Rephrase the follow up question or statement as a standalone question or statement that makes sense without reading the chat history.
Assistant: Here is the rephrased follow up question or statement:",
},
"anthropic.claude-v2.1": {
"MaxTokens": 100000,
"ModelID": "anthropic.claude-v2:1",
- "NoHitsRegex": "(unable to assist you|i don't have enough context|i could not find an exact answer|no information in the search results|search results do not contain|no information in the provided search results|did not find any information|search results did not contain|unable to respond)",
+ "NoHitsRegex": "(Sorry, I don't know|unable to assist you|i don't have enough context|i could not find an exact answer|no information in the search results|search results do not contain|no information in the provided search results|not find any information|search results did not contain|unable to respond|There is no mention of|documents do not mention anything|There is no information provided|reference passages do not mention)",
"QAPromptTemplate": "
Human: You are a friendly AI assistant. Answer the question in tags only based on the provided reference passages. Here are reference passages in tags:
{context}
If the references contain the information needed to respond, then write a confident response in under 50 words, quoting the relevant references.
Otherwise, if you can make an informed guess based on the reference passages, then write a less confident response in under 50 words, stating your assumptions.
Finally, if the references do not have any relevant information, then respond saying \\"Sorry, I don't know\\".
{query}
Assistant: According to the reference passages, in under 50 words:",
"QueryPromptTemplate": "
Human: Here is a chat history in tags:
{history}
Human: And here is a follow up question or statement from the human in tags:
{input}
Human: Rephrase the follow up question or statement as a standalone question or statement that makes sense without reading the chat history.
Assistant: Here is the rephrased follow up question or statement:",
},
"cohere.command-light-text-v14": {
"MaxTokens": 4000,
"ModelID": "cohere.command-light-text-v14",
- "NoHitsRegex": "(unable to assist you|i don't have enough context|i could not find an exact answer|no information in the search results|search results do not contain|no information in the provided search results|did not find any information|search results did not contain|unable to respond)",
+ "NoHitsRegex": "(Sorry, I don't know|unable to assist you|i don't have enough context|i could not find an exact answer|no information in the search results|search results do not contain|no information in the provided search results|not find any information|search results did not contain|unable to respond|There is no mention of|documents do not mention anything|There is no information provided|reference passages do not mention)",
"QAPromptTemplate": "
Human: You are a friendly AI assistant. Answer the question in tags only based on the provided reference passages. Here are reference passages in tags:
{context}
If the references contain the information needed to respond, then write a confident response in under 50 words, quoting the relevant references.
Otherwise, if you can make an informed guess based on the reference passages, then write a less confident response in under 50 words, stating your assumptions.
Finally, if the references do not have any relevant information, then respond saying \\"Sorry, I don't know\\".
{query}
Assistant: According to the reference passages, in under 50 words:",
"QueryPromptTemplate": "Given the following conversation and a follow up question, rephrase the follow up question to be a standalone question.
Chat History:
{history}
Follow up question: {input}
Standalone question:",
},
"cohere.command-text-v14": {
"MaxTokens": 4000,
"ModelID": "cohere.command-text-v14",
- "NoHitsRegex": "(unable to assist you|i don't have enough context|i could not find an exact answer|no information in the search results|search results do not contain|no information in the provided search results|did not find any information|search results did not contain|unable to respond)",
+ "NoHitsRegex": "(Sorry, I don't know|unable to assist you|i don't have enough context|i could not find an exact answer|no information in the search results|search results do not contain|no information in the provided search results|not find any information|search results did not contain|unable to respond|There is no mention of|documents do not mention anything|There is no information provided|reference passages do not mention)",
"QAPromptTemplate": "
Human: You are a friendly AI assistant. Answer the question in tags only based on the provided reference passages. Here are reference passages in tags:
{context}
If the references contain the information needed to respond, then write a confident response in under 50 words, quoting the relevant references.
Otherwise, if you can make an informed guess based on the reference passages, then write a less confident response in under 50 words, stating your assumptions.
Finally, if the references do not have any relevant information, then respond saying \\"Sorry, I don't know\\".
{query}
Assistant: According to the reference passages, in under 50 words:",
"QueryPromptTemplate": "Given the following conversation and a follow up question, rephrase the follow up question to be a standalone question.
Chat History:
{history}
Follow up question: {input}
Standalone question:",
},
@@ -393,24 +393,10 @@ exports[`Verify master template is correct renders master template correctly 1`]
"MaxTokens": 512,
"ModelID": "cohere.embed-multilingual-v3",
},
- "meta.llama2-13b-chat-v1": {
- "MaxTokens": 4096,
- "ModelID": "meta.llama2-13b-chat-v1",
- "NoHitsRegex": "(unable to assist you|i don't have enough context|i could not find an exact answer|no information in the search results|search results do not contain|no information in the provided search results|did not find any information|search results did not contain|unable to respond)",
- "QAPromptTemplate": "
Human: You are a friendly AI assistant. Answer the question in tags only based on the provided reference passages. Here are reference passages in tags:
{context}
If the references contain the information needed to respond, then write a confident response in under 50 words, quoting the relevant references.
Otherwise, if you can make an informed guess based on the reference passages, then write a less confident response in under 50 words, stating your assumptions.
Finally, if the references do not have any relevant information, then respond saying \\"Sorry, I don't know\\".
{query}
Assistant: According to the reference passages, in under 50 words:",
- "QueryPromptTemplate": "Given the following conversation and a follow up question, rephrase the follow up question to be a standalone question.
Chat History:
{history}
Follow up question: {input}
Standalone question:",
- },
- "meta.llama2-70b-chat-v1": {
- "MaxTokens": 4096,
- "ModelID": "meta.llama2-70b-chat-v1",
- "NoHitsRegex": "(unable to assist you|i don't have enough context|i could not find an exact answer|no information in the search results|search results do not contain|no information in the provided search results|did not find any information|search results did not contain|unable to respond)",
- "QAPromptTemplate": "
Human: You are a friendly AI assistant. Answer the question in tags only based on the provided reference passages. Here are reference passages in tags:
{context}
If the references contain the information needed to respond, then write a confident response in under 50 words, quoting the relevant references.
Otherwise, if you can make an informed guess based on the reference passages, then write a less confident response in under 50 words, stating your assumptions.
Finally, if the references do not have any relevant information, then respond saying \\"Sorry, I don't know\\".
{query}
Assistant: According to the reference passages, in under 50 words:",
- "QueryPromptTemplate": "Given the following conversation and a follow up question, rephrase the follow up question to be a standalone question.
Chat History:
{history}
Follow up question: {input}
Standalone question:",
- },
"meta.llama3-8b-instruct-v1": {
"MaxTokens": 8000,
"ModelID": "meta.llama3-8b-instruct-v1:0",
- "NoHitsRegex": "(unable to assist you|i don't have enough context|i could not find an exact answer|no information in the search results|search results do not contain|no information in the provided search results|did not find any information|search results did not contain|unable to respond)",
+ "NoHitsRegex": "(Sorry, I don't know|unable to assist you|i don't have enough context|i could not find an exact answer|no information in the search results|search results do not contain|no information in the provided search results|not find any information|search results did not contain|unable to respond|There is no mention of|documents do not mention anything|There is no information provided|reference passages do not mention)",
"QAPromptTemplate": "
Human: You are a friendly AI assistant. Answer the question in tags only based on the provided reference passages. Here are reference passages in tags:
{context}
If the references contain the information needed to respond, then write a confident response in under 50 words, quoting the relevant references.
Otherwise, if you can make an informed guess based on the reference passages, then write a less confident response in under 50 words, stating your assumptions.
Finally, if the references do not have any relevant information, then respond saying \\"Sorry, I don't know\\".
{query}
Assistant: According to the reference passages, in under 50 words:",
"QueryPromptTemplate": "Given the following conversation and a follow up question, rephrase the follow up question to be a standalone question.
Chat History:
{history}
Follow up question: {input}
Standalone question:",
},
@@ -1009,8 +995,6 @@ exports[`Verify master template is correct renders master template correctly 1`]
"anthropic.claude-3-sonnet-v1",
"anthropic.claude-3-haiku-v1",
"cohere.command-text-v14",
- "meta.llama2-13b-chat-v1",
- "meta.llama2-70b-chat-v1",
"meta.llama3-8b-instruct-v1",
],
"Default": "anthropic.claude-instant-v1",
@@ -1262,6 +1246,17 @@ exports[`Verify master template is correct renders master template correctly 1`]
},
],
},
+ {
+ "Action": [
+ "cognito-idp:AdminUserGlobalSignOut",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::Sub": "arn:aws:cognito-idp:\${AWS::Region}:\${AWS::AccountId}:userpool/\${UserPool}",
+ },
+ ],
+ },
{
"Action": [
"execute-api:*",
@@ -3293,6 +3288,14 @@ exports[`Verify master template is correct renders master template correctly 1`]
],
},
],
+ "LogoutCallbackUrls": [
+ {
+ "Fn::GetAtt": [
+ "Urls",
+ "Designer",
+ ],
+ },
+ ],
"ServiceToken": {
"Fn::GetAtt": [
"CFNLambda",
diff --git a/source/templates/master/cognito/index.js b/source/templates/master/cognito/index.js
index 0a423821..8ea51657 100644
--- a/source/templates/master/cognito/index.js
+++ b/source/templates/master/cognito/index.js
@@ -43,6 +43,9 @@ module.exports = {
LoginCallbackUrls: [
{ 'Fn::GetAtt': ['Urls', 'Designer'] },
],
+ LogoutCallbackUrls: [
+ { 'Fn::GetAtt': ['Urls', 'Designer'] },
+ ],
CSS: require('./style').designer,
},
},
diff --git a/source/templates/master/index.js b/source/templates/master/index.js
index a97a5fa4..f06fe77e 100644
--- a/source/templates/master/index.js
+++ b/source/templates/master/index.js
@@ -477,8 +477,6 @@ module.exports = {
'anthropic.claude-3-sonnet-v1',
'anthropic.claude-3-haiku-v1',
'cohere.command-text-v14',
- 'meta.llama2-13b-chat-v1',
- 'meta.llama2-70b-chat-v1',
'meta.llama3-8b-instruct-v1'
],
Default: 'anthropic.claude-instant-v1',
diff --git a/source/templates/master/mappings/bedrock-defaults.js b/source/templates/master/mappings/bedrock-defaults.js
index 211a2e9b..693aadbc 100644
--- a/source/templates/master/mappings/bedrock-defaults.js
+++ b/source/templates/master/mappings/bedrock-defaults.js
@@ -14,8 +14,8 @@
const amazonQueryPromptTemplate = 'Given the following conversation and a follow up question, rephrase the follow up question to be a standalone question.
Chat History:
{history}
Follow up question: {input}
Standalone question:';
const amazonQAPromptTemplate = '
Human: You are a friendly AI assistant. Answer the question in tags only based on the provided reference passages. Here are reference passages in tags:
{context}
If the references contain the information needed to respond, then write a confident response in under 50 words, quoting the relevant references.
Otherwise, if you can make an informed guess based on the reference passages, then write a less confident response in under 50 words, stating your assumptions.
Finally, if the references do not have any relevant information, then respond saying \\"Sorry, I don\'t know\\".
{query}
Assistant: According to the reference passages, in under 50 words:';
const anthropicQueryPromptTemplate = '
Human: Here is a chat history in tags:
{history}
Human: And here is a follow up question or statement from the human in tags:
{input}
Human: Rephrase the follow up question or statement as a standalone question or statement that makes sense without reading the chat history.
Assistant: Here is the rephrased follow up question or statement:';
-const ai21QAPromptTemplate = 'The following is a friendly conversation between a human and an AI. The AI is talkative and provides lots of specific details from its context. If the AI does not know the answer to a question, it truthfully says it does not know. Documents: {context} Instruction: Based on the above documents, provide a detailed answer for {query} Answer \\"I don\'t know\\" if not present in the document. Solution:';
-const anthropicNoHitsRegex = '(unable to assist you|i don\'t have enough context|i could not find an exact answer|no information in the search results|search results do not contain|no information in the provided search results|did not find any information|search results did not contain|unable to respond)';
+const ai21QAPromptTemplate = 'The following is a friendly conversation between a human and an AI. The AI is talkative and provides lots of specific details from its context. If the AI does not know the answer to a question, it truthfully says it does not know. Documents: {context} Instruction: Based on the above documents, provide a detailed answer for {query} Answer \\"Sorry, I don\'t know\\" if not present in the document. Solution:';
+const anthropicNoHitsRegex = '(Sorry, I don\'t know|unable to assist you|i don\'t have enough context|i could not find an exact answer|no information in the search results|search results do not contain|no information in the provided search results|not find any information|search results did not contain|unable to respond|There is no mention of|documents do not mention anything|There is no information provided|reference passages do not mention)';
module.exports = {
BedrockDefaults: {
@@ -104,20 +104,6 @@ module.exports = {
MaxTokens: 512,
EmbeddingsDimensions: 1024,
},
- 'meta.llama2-13b-chat-v1': {
- ModelID: 'meta.llama2-13b-chat-v1',
- MaxTokens: 4096,
- QueryPromptTemplate: amazonQueryPromptTemplate,
- QAPromptTemplate: amazonQAPromptTemplate,
- NoHitsRegex: anthropicNoHitsRegex,
- },
- 'meta.llama2-70b-chat-v1': {
- ModelID: 'meta.llama2-70b-chat-v1',
- MaxTokens: 4096,
- QueryPromptTemplate: amazonQueryPromptTemplate,
- QAPromptTemplate: amazonQAPromptTemplate,
- NoHitsRegex: anthropicNoHitsRegex,
- },
'meta.llama3-8b-instruct-v1': {
ModelID: 'meta.llama3-8b-instruct-v1:0',
MaxTokens: 8000,
diff --git a/source/templates/master/roles.json b/source/templates/master/roles.json
index 18d71ad9..87869238 100644
--- a/source/templates/master/roles.json
+++ b/source/templates/master/roles.json
@@ -139,6 +139,17 @@
}
]
},
+ {
+ "Effect": "Allow",
+ "Action": [
+ "cognito-idp:AdminUserGlobalSignOut"
+ ],
+ "Resource": [
+ {
+ "Fn::Sub": "arn:aws:cognito-idp:${AWS::Region}:${AWS::AccountId}:userpool/${UserPool}"
+ }
+ ]
+ },
{
"Effect": "Allow",
"Action": [
diff --git a/source/templates/package.json b/source/templates/package.json
index c72f4977..4488fbf9 100644
--- a/source/templates/package.json
+++ b/source/templates/package.json
@@ -1,6 +1,6 @@
{
"name": "qnabot-on-aws-infrastructure",
- "version": "6.0.1",
+ "version": "6.0.2",
"description": "QnABot infrastructure",
"scripts": {
"clean": "rm -rf node_modules",
diff --git a/source/website/__tests__/lib/store/api/actions/util.test.js b/source/website/__tests__/lib/store/api/actions/util.test.js
index 74f48b70..018c08bf 100644
--- a/source/website/__tests__/lib/store/api/actions/util.test.js
+++ b/source/website/__tests__/lib/store/api/actions/util.test.js
@@ -10,7 +10,7 @@
* OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions *
* and limitations under the License. *
*********************************************************************************************************************/
-import { getUserAgentString } from "../../../../../js/lib/store/api/actions/util";
+import { getUserAgentString } from "../../../../../js/capability/util";
describe("getUserAgentString", () => {
test('Returns the correct user agent string', () => {
diff --git a/source/website/__tests__/lib/store/user/actions.test.js b/source/website/__tests__/lib/store/user/actions.test.js
index b45d7355..d25cc42e 100644
--- a/source/website/__tests__/lib/store/user/actions.test.js
+++ b/source/website/__tests__/lib/store/user/actions.test.js
@@ -19,8 +19,13 @@ const actionsModule = require('../../../../js/lib/store/user/actions');
const axios = require('axios');
const query = require('query-string');
const jwt = require('jsonwebtoken');
+const { mockClient } = require('aws-sdk-client-mock');
+const { CognitoIdentityProviderClient, AdminUserGlobalSignOutCommand } = require('@aws-sdk/client-cognito-identity-provider');
+const cognitoIdentityProviderClientMock = mockClient(CognitoIdentityProviderClient);
+require('aws-sdk-client-mock-jest');
jest.mock('@aws-sdk/credential-providers');
+jest.mock('@aws-sdk/client-cognito-identity-provider')
jest.mock('axios');
jest.mock('jsonwebtoken');
@@ -49,12 +54,17 @@ describe('user actions test', () => {
origin: 'test.origin',
pathname: '/test/path',
},
+ localStorage: {
+ clear: jest.fn(),
+ },
});
+ cognitoIdentityProviderClientMock.reset();
});
afterEach(() => {
windowSpy.mockRestore();
jest.resetAllMocks();
+ cognitoIdentityProviderClientMock.restore();
});
test('refresh tokens', async () => {
@@ -139,8 +149,7 @@ describe('user actions test', () => {
expect(axios).toHaveBeenCalledTimes(1);
expect(mockedContext.dispatch).toHaveBeenCalledTimes(1);
expect(mockedContext.dispatch).toHaveBeenCalledWith('logout');
- expect(window.window.location.href)
- .toEqual(mockedContext.rootState.info._links.DesignerLogin.href);
+ expect(window.location.href) .toEqual(mockedContext.rootState.info._links.DesignerLogin.href);
});
test('refresh tokens -- expired credentials 2', async () => {
@@ -373,9 +382,6 @@ describe('user actions test', () => {
},
},
};
- const mockedNewCredentials = {
- expiration: new Date(Date.now() + 1000),
- };
const unexpectedError = new Error('Some other error');
const logins = {};
logins[[
@@ -399,9 +405,134 @@ describe('user actions test', () => {
expect(mockedContext.dispatch).toHaveBeenCalledTimes(0);
});
- test('logout', () => {
- actionsModule.logout();
+ test('is able to logout and global sign out', async () => {
+ const expectedCredentials = {
+ accessKeyId: 'mock-access-key',
+ secretAccessKey: 'mock-secret-key',
+ sessionToken: 'mock-session-token',
+ expiration: new Date(Date.now() - 1000)
+ };
+
+ const mockedContext = {
+ rootState: {
+ info: {
+ region: 'mock-region',
+ UserPool: 'mock-user-pool-id',
+ ClientIdDesigner: 'mock-client-id',
+ _links: {
+ CognitoEndpoint: {
+ href: 'some.cognito.endpoint',
+ },
+ DesignerLogin: {
+ href: 'some.login.endpoint',
+ },
+ },
+ },
+ user: {
+ name: 'some-user',
+ }
+ },
+ state: {
+ token: 'test-token',
+ credentials: {
+ expiration: new Date(Date.now() - 1000),
+ },
+ }
+ };
+ fromCognitoIdentityPool.mockReturnValueOnce(jest.fn().mockReturnValueOnce(expectedCredentials));
+ cognitoIdentityProviderClientMock.on(AdminUserGlobalSignOutCommand).resolvesOnce({
+ $metadata: {
+ httpStatusCode: 200, // successful response
+ }
+ })
+
+ const expectedLogoutUrl = `${mockedContext.rootState.info._links.CognitoEndpoint.href}/logout?response_type=code&client_id=${mockedContext.rootState.info.ClientIdDesigner}&redirect_uri=test.origin/test/path`
+
+ await actionsModule.logout(mockedContext);
+ expect(cognitoIdentityProviderClientMock).toHaveReceivedCommandTimes(AdminUserGlobalSignOutCommand, 1);
+ expect(window.sessionStorage.clear).toHaveBeenCalledTimes(1);
+ expect(window.localStorage.clear).toHaveBeenCalledTimes(1);
+ expect(window.location.href).toEqual(expectedLogoutUrl);
+ });
+
+ test('can logout when error occurs in credentials provider', async () => {
+ const mockedContext = {
+ rootState: {
+ info: {
+ region: 'mock-region',
+ UserPool: 'mock-user-pool-id',
+ ClientIdDesigner: 'mock-client-id',
+ _links: {
+ CognitoEndpoint: {
+ href: 'some.cognito.endpoint',
+ },
+ DesignerLogin: {
+ href: 'some.login.endpoint',
+ },
+ },
+ },
+ user: {
+ name: 'some-user',
+ }
+ },
+ };
+ fromCognitoIdentityPool
+ .mockReturnValueOnce(jest.fn().mockImplementation(() => {
+ throw new Error('unexpected credentials error');
+ }))
+
+ const expectedLogoutUrl = `${mockedContext.rootState.info._links.CognitoEndpoint.href}/logout?response_type=code&client_id=${mockedContext.rootState.info.ClientIdDesigner}&redirect_uri=test.origin/test/path`
+
+ await actionsModule.logout(mockedContext);
+ expect(cognitoIdentityProviderClientMock).toHaveReceivedCommandTimes(AdminUserGlobalSignOutCommand, 0);
+ expect(window.sessionStorage.clear).toHaveBeenCalledTimes(1);
+ expect(window.localStorage.clear).toHaveBeenCalledTimes(1);
+ expect(window.location.href).toEqual(expectedLogoutUrl);
+ });
+
+ test('can logout when error occurs during global signout', async () => {
+ const expectedCredentials = {
+ accessKeyId: 'mock-access-key',
+ secretAccessKey: 'mock-secret-key',
+ sessionToken: 'mock-session-token',
+ expiration: new Date(Date.now() - 1000)
+ };
+
+ const mockedContext = {
+ rootState: {
+ info: {
+ region: 'mock-region',
+ UserPool: 'mock-user-pool-id',
+ ClientIdDesigner: 'mock-client-id',
+ _links: {
+ CognitoEndpoint: {
+ href: 'some.cognito.endpoint',
+ },
+ DesignerLogin: {
+ href: 'some.login.endpoint',
+ },
+ },
+ },
+ user: {
+ name: 'some-user',
+ }
+ },
+ state: {
+ token: 'test-token',
+ credentials: {
+ expiration: new Date(Date.now() - 1000),
+ },
+ }
+ };
+ fromCognitoIdentityPool.mockReturnValueOnce(jest.fn().mockReturnValueOnce(expectedCredentials));
+ cognitoIdentityProviderClientMock.on(AdminUserGlobalSignOutCommand).rejectsOnce(new Error('unexpected global signout error'));
+
+ const expectedLogoutUrl = `${mockedContext.rootState.info._links.CognitoEndpoint.href}/logout?response_type=code&client_id=${mockedContext.rootState.info.ClientIdDesigner}&redirect_uri=test.origin/test/path`
+ await actionsModule.logout(mockedContext);
+ expect(cognitoIdentityProviderClientMock).toHaveReceivedCommandTimes(AdminUserGlobalSignOutCommand, 1);
expect(window.sessionStorage.clear).toHaveBeenCalledTimes(1);
+ expect(window.localStorage.clear).toHaveBeenCalledTimes(1);
+ expect(window.location.href).toEqual(expectedLogoutUrl);
});
test('login -- id_token exists', async () => {
@@ -500,8 +631,7 @@ describe('user actions test', () => {
expect(mockedContext.state.name).toEqual(testToken['cognito:username']);
expect(mockedContext.state.groups).toEqual(testToken['cognito:groups']);
expect(window.alert).toHaveBeenCalledTimes(1);
- expect(window.window.location.href)
- .toEqual(mockedContext.rootState.info._links.DesignerLogin.href);
+ expect(window.location.href).toEqual(mockedContext.rootState.info._links.DesignerLogin.href);
// The assertions below become true when the getTokens function is called.
expect(axios).toHaveBeenCalledTimes(1);
diff --git a/source/website/js/admin.vue b/source/website/js/admin.vue
index 8c1d5494..04420507 100644
--- a/source/website/js/admin.vue
+++ b/source/website/js/admin.vue
@@ -70,7 +70,6 @@ v-app
router-view
v-footer
-