> = {
diff --git a/docs/overrides/home_en.html b/docs/overrides/home_en.html
index 86d5e3ddb..8a81b34ec 100644
--- a/docs/overrides/home_en.html
+++ b/docs/overrides/home_en.html
@@ -145,7 +145,7 @@ Chat
Use Case Builder
@@ -177,7 +177,7 @@
RAG Chat
Agent Chat
@@ -188,11 +188,25 @@
Agent Chat
+
+
+
+
AgentCore Chat
+
+ AgentCore is a secure serverless runtime which provide session
+ level isolation which is ideal for running OSS Agent. You can
+ integrate custom Agent deployed on AgentCore to GenU.
+
+
+
Flow Chat
@@ -207,7 +221,7 @@
Flow Chat
Voice Chat
@@ -223,7 +237,7 @@
Voice Chat
Summarize
@@ -255,7 +269,7 @@
Writing
@@ -272,7 +286,7 @@
Writing
Translation
@@ -288,7 +302,7 @@
Translation
Web Content Extraction
@@ -303,7 +317,7 @@
Web Content Extraction
Image Generation
@@ -316,7 +330,7 @@
Image Generation
Video Generation
@@ -329,7 +343,7 @@
Video Generation
Video Analysis
diff --git a/docs/overrides/home_ja.html b/docs/overrides/home_ja.html
index 85eef672c..edf3f31ef 100644
--- a/docs/overrides/home_ja.html
+++ b/docs/overrides/home_ja.html
@@ -178,6 +178,20 @@
Agent チャット
+
+
+
+
AgentCore チャット
+
+ AgentCore は、OSS
+ エージェントを実行するのに理想的なセッションレベルの分離を提供する、セキュアなサーバーレスランタイムです。AgentCore
+ にデプロイされたカスタムエージェントを GenU に統合できます。
+
+
+
안전한 구현
커스터마이징 가능
-
- 사용 사례 빌더로 맞춤형 기능 추가
-
+
사용 사례 빌더로 맞춤형 기능 추가
@@ -131,7 +129,10 @@
사용 사례
class="mb-4 w-full rounded-lg" />
채팅
- 대규모 언어 모델(LLM)이 채팅 형식으로 서로 상호작용할 수 있습니다. LLM이 직접 상호작용할 수 있는 플랫폼 덕분에 새로운 사용 사례와 세부적인 사용 사례에 빠르게 대응할 수 있습니다. 또한 프롬프트 엔지니어링을 위한 검증 환경으로도 효과적입니다.
+ 대규모 언어 모델(LLM)이 채팅 형식으로 서로 상호작용할 수 있습니다.
+ LLM이 직접 상호작용할 수 있는 플랫폼 덕분에 새로운 사용 사례와
+ 세부적인 사용 사례에 빠르게 대응할 수 있습니다. 또한 프롬프트
+ 엔지니어링을 위한 검증 환경으로도 효과적입니다.
@@ -143,7 +144,10 @@ 채팅
class="mb-4 w-full rounded-lg" />
사용 사례 빌더
- 이 기능을 사용하면 자연어로 프롬프트 템플릿을 설명하여 자신만의 사용 사례를 만들 수 있습니다. 프롬프트 템플릿에서 사용 사례 화면이 자동으로 생성되므로 코드를 변경하거나 커스터마이징할 필요가 없습니다.
+ 이 기능을 사용하면 자연어로 프롬프트 템플릿을 설명하여 자신만의
+ 사용 사례를 만들 수 있습니다. 프롬프트 템플릿에서 사용 사례 화면이
+ 자동으로 생성되므로 코드를 변경하거나 커스터마이징할 필요가
+ 없습니다.
@@ -155,7 +159,11 @@
사용 사례 빌더
class="mb-4 w-full rounded-lg" />
RAG 채팅
- RAG는 LLM이 잘 다루지 못하는 최신 정보나 도메인 지식을 제공하여 LLM이 증거를 바탕으로 답변을 생성할 수 있게 하는 기술입니다. 예를 들어, 내부 문서를 LLM에 전달하면 내부 문의를 자동화할 수 있습니다. 이 저장소는 Amazon Kendra 또는 Knowledge Bases를 사용하여 정보를 가져옵니다.
+ RAG는 LLM이 잘 다루지 못하는 최신 정보나 도메인 지식을 제공하여
+ LLM이 증거를 바탕으로 답변을 생성할 수 있게 하는 기술입니다. 예를
+ 들어, 내부 문서를 LLM에 전달하면 내부 문의를 자동화할 수 있습니다.
+ 이 저장소는 Amazon Kendra 또는 Knowledge Bases를 사용하여 정보를
+ 가져옵니다.
@@ -167,7 +175,9 @@ RAG 채팅
class="mb-4 w-full rounded-lg" />
에이전트 채팅
- 에이전트는 LLM이 API에 연결하여 다양한 작업을 수행할 수 있게 하는 기술입니다. 이 솔루션은 샘플 구현으로 검색 엔진을 사용하여 필요한 정보를 검색하고 답변하는 에이전트를 구현합니다.
+ 에이전트는 LLM이 API에 연결하여 다양한 작업을 수행할 수 있게 하는
+ 기술입니다. 이 솔루션은 샘플 구현으로 검색 엔진을 사용하여 필요한
+ 정보를 검색하고 답변하는 에이전트를 구현합니다.
@@ -179,7 +189,10 @@ 에이전트 채팅
class="mb-4 w-full rounded-lg" />
플로우 채팅
- Amazon Bedrock Flows를 사용하면 프롬프트, 기반 모델 및 기타 AWS 서비스를 연결하여 워크플로를 만들 수 있습니다. 플로우 채팅 사용 사례를 통해 미리 생성된 플로우를 선택하고 실행하는 채팅을 사용할 수 있습니다.
+ Amazon Bedrock Flows를 사용하면 프롬프트, 기반 모델 및 기타 AWS
+ 서비스를 연결하여 워크플로를 만들 수 있습니다. 플로우 채팅 사용
+ 사례를 통해 미리 생성된 플로우를 선택하고 실행하는 채팅을 사용할
+ 수 있습니다.
@@ -191,7 +204,10 @@ 플로우 채팅
class="mb-4 w-full rounded-lg" />
음성 채팅
- 음성 채팅에서는 생성형 AI와 양방향 음성 채팅을 할 수 있습니다. 자연스러운 대화와 마찬가지로 AI가 말하는 동안 끼어들어 말할 수도 있습니다. 또한 시스템 프롬프트를 설정하여 특정 역할을 가진 AI와 음성 대화를 할 수 있습니다.
+ 음성 채팅에서는 생성형 AI와 양방향 음성 채팅을 할 수 있습니다.
+ 자연스러운 대화와 마찬가지로 AI가 말하는 동안 끼어들어 말할 수도
+ 있습니다. 또한 시스템 프롬프트를 설정하여 특정 역할을 가진 AI와
+ 음성 대화를 할 수 있습니다.
@@ -203,7 +219,11 @@ 음성 채팅
class="mb-4 w-full rounded-lg" />
요약
- LLM은 대량의 텍스트를 요약하는 데 뛰어납니다. 텍스트를 요약할 뿐만 아니라 텍스트를 컨텍스트로 제공하여 대화형 형태로 필요한 정보를 검색할 수도 있습니다. 예를 들어, 계약서를 읽고 "XXX의 조건은 무엇인가요?" 및 "YYY의 금액은 얼마인가요?"와 같은 정보를 검색할 수 있습니다.
+ LLM은 대량의 텍스트를 요약하는 데 뛰어납니다. 텍스트를 요약할 뿐만
+ 아니라 텍스트를 컨텍스트로 제공하여 대화형 형태로 필요한 정보를
+ 검색할 수도 있습니다. 예를 들어, 계약서를 읽고 "XXX의 조건은
+ 무엇인가요?" 및 "YYY의 금액은 얼마인가요?"와 같은 정보를 검색할 수
+ 있습니다.
@@ -213,11 +233,11 @@ 요약
src="../assets/images/usecase_generate_meeting_minutes.gif"
alt="회의록 생성"
class="mb-4 w-full rounded-lg" />
-
- 회의록 생성
-
+ 회의록 생성
- 오디오 녹음이나 실시간 전사에서 회의록을 자동으로 생성합니다. 프롬프트 엔지니어링 없이도 전사, 뉴스페이퍼 또는 FAQ 스타일 중에서 선택할 수 있습니다.
+ 오디오 녹음이나 실시간 전사에서 회의록을 자동으로 생성합니다.
+ 프롬프트 엔지니어링 없이도 전사, 뉴스페이퍼 또는 FAQ 스타일 중에서
+ 선택할 수 있습니다.
@@ -229,7 +249,11 @@
class="mb-4 w-full rounded-lg" />
글쓰기
- LLM은 글쓰기와 교정을 도와줄 수 있습니다. 오타와 오류를 확인하는 것 외에도 글의 흐름과 내용 개선을 제안하고 더 중립적인 관점에서 객관적인 시각을 제공할 수 있습니다. 다른 사람에게 보여주기 전에 사용자가 스스로 눈치채지 못했을 수 있는 부분을 확인하여 품질을 향상시킬 것으로 기대됩니다.
+ LLM은 글쓰기와 교정을 도와줄 수 있습니다. 오타와 오류를 확인하는
+ 것 외에도 글의 흐름과 내용 개선을 제안하고 더 중립적인 관점에서
+ 객관적인 시각을 제공할 수 있습니다. 다른 사람에게 보여주기 전에
+ 사용자가 스스로 눈치채지 못했을 수 있는 부분을 확인하여 품질을
+ 향상시킬 것으로 기대됩니다.
@@ -241,7 +265,10 @@ 글쓰기
class="mb-4 w-full rounded-lg" />
번역
- 여러 언어를 학습한 LLM은 번역도 할 수 있습니다. 단순히 번역하는 것 외에도 캐주얼함과 대상 계층과 같은 다양한 지정된 컨텍스트 정보를 번역에 반영할 수 있습니다. 예를 들어, 계약서를 번역하면 여러 언어로 번역할 수 있습니다.
+ 여러 언어를 학습한 LLM은 번역도 할 수 있습니다. 단순히 번역하는 것
+ 외에도 캐주얼함과 대상 계층과 같은 다양한 지정된 컨텍스트 정보를
+ 번역에 반영할 수 있습니다. 예를 들어, 계약서를 번역하면 여러
+ 언어로 번역할 수 있습니다.
@@ -253,7 +280,10 @@ 번역
class="mb-4 w-full rounded-lg" />
웹 콘텐츠 추출
- LLM은 블로그와 문서와 같은 웹 콘텐츠를 추출할 수 있습니다. 불필요한 정보를 제거하고 완전한 기사로 형식을 지정합니다. 추출된 콘텐츠는 요약 및 번역과 같은 다른 사용 사례에서 사용할 수 있습니다.
+ LLM은 블로그와 문서와 같은 웹 콘텐츠를 추출할 수 있습니다.
+ 불필요한 정보를 제거하고 완전한 기사로 형식을 지정합니다. 추출된
+ 콘텐츠는 요약 및 번역과 같은 다른 사용 사례에서 사용할 수
+ 있습니다.
@@ -265,7 +295,9 @@ 웹 콘텐츠 추출
class="mb-4 w-full rounded-lg" />
이미지 생성
- LLM은 텍스트와 이미지를 기반으로 이미지를 생성할 수 있습니다. 아이디어를 시각화하고 디자인 작업을 개선하는 데 도움이 될 수 있습니다.
+ LLM은 텍스트와 이미지를 기반으로 이미지를 생성할 수 있습니다.
+ 아이디어를 시각화하고 디자인 작업을 개선하는 데 도움이 될 수
+ 있습니다.
@@ -277,7 +309,8 @@ 이미지 생성
class="mb-4 w-full rounded-lg" />
비디오 생성
- LLM은 텍스트를 기반으로 비디오를 생성할 수 있습니다. 아이디어를 시각화하고 디자인 작업을 개선하는 데 도움이 될 수 있습니다.
+ LLM은 텍스트를 기반으로 비디오를 생성할 수 있습니다. 아이디어를
+ 시각화하고 디자인 작업을 개선하는 데 도움이 될 수 있습니다.
@@ -289,7 +322,9 @@ 비디오 생성
class="mb-4 w-full rounded-lg" />
비디오 분석
- LLM은 텍스트뿐만 아니라 이미지도 입력하여 비디오를 분석할 수 있습니다. 이 기능을 사용하면 이미지 프레임과 텍스트를 입력으로 하여 비디오를 분석할 수 있습니다.
+ LLM은 텍스트뿐만 아니라 이미지도 입력하여 비디오를 분석할 수
+ 있습니다. 이 기능을 사용하면 이미지 프레임과 텍스트를 입력으로
+ 하여 비디오를 분석할 수 있습니다.
@@ -301,7 +336,9 @@ 비디오 분석
class="mb-4 w-full rounded-lg" />
다이어그램 생성
- LLM은 자연어 설명, 문서 및 코드에서 플로우차트, 시퀀스 다이어그램, 마인드맵과 같은 다이어그램을 생성할 수 있습니다. 복잡한 관계를 시각화하고 더 효율적으로 이해하는 데 도움이 될 수 있습니다.
+ LLM은 자연어 설명, 문서 및 코드에서 플로우차트, 시퀀스 다이어그램,
+ 마인드맵과 같은 다이어그램을 생성할 수 있습니다. 복잡한 관계를
+ 시각화하고 더 효율적으로 이해하는 데 도움이 될 수 있습니다.
@@ -325,7 +362,9 @@ 고객사
alt="やさしい手"
class="mb-4 h-16 object-contain" />
- GenU는 사용자에게 부가가치를 제공하고 직원의 효율성을 향상시키는 데 도움이 되었습니다. 직원들의 "일상 업무"가 더 즐거워지면서 "스키스쿠에서 와쿠와쿠로" 계속 발전해 나갈 것입니다.
+ GenU는 사용자에게 부가가치를 제공하고 직원의 효율성을 향상시키는
+ 데 도움이 되었습니다. 직원들의 "일상 업무"가 더 즐거워지면서
+ "스키스쿠에서 와쿠와쿠로" 계속 발전해 나갈 것입니다.
@@ -338,7 +377,9 @@ 고객사
alt="タキヒヨー"
class="mb-4 h-16 object-contain" />
- GenU는 사용자에게 부가가치를 제공하고 직원의 효율성을 향상시키는 데 도움이 되었습니다. 직원들의 "일상 업무"가 더 즐거워지면서 "스키스쿠에서 와쿠와쿠로" 계속 발전해 나갈 것입니다.
+ GenU는 사용자에게 부가가치를 제공하고 직원의 효율성을 향상시키는
+ 데 도움이 되었습니다. 직원들의 "일상 업무"가 더 즐거워지면서
+ "스키스쿠에서 와쿠와쿠로" 계속 발전해 나갈 것입니다.
@@ -351,7 +392,9 @@ 고객사
alt="サルソニード"
class="mb-4 h-16 object-contain" />
- GenU는 사용자에게 부가가치를 제공하고 직원의 효율성을 향상시키는 데 도움이 되었습니다. 직원들의 "일상 업무"가 더 즐거워지면서 "스키스쿠에서 와쿠와쿠로" 계속 발전해 나갈 것입니다.
+ GenU는 사용자에게 부가가치를 제공하고 직원의 효율성을 향상시키는
+ 데 도움이 되었습니다. 직원들의 "일상 업무"가 더 즐거워지면서
+ "스키스쿠에서 와쿠와쿠로" 계속 발전해 나갈 것입니다.
@@ -364,7 +407,9 @@ 고객사
alt="タムラ製作所"
class="mb-4 h-16 object-contain" />
- AWS가 Github에 공개한 애플리케이션 샘플은 즉시 테스트 가능한 기능이 풍부하여 우리의 요구에 맞는 기능을 선택하기 쉬웠고, 최종 시스템의 개발 시간을 단축할 수 있었습니다.
+ AWS가 Github에 공개한 애플리케이션 샘플은 즉시 테스트 가능한
+ 기능이 풍부하여 우리의 요구에 맞는 기능을 선택하기 쉬웠고, 최종
+ 시스템의 개발 시간을 단축할 수 있었습니다.
@@ -377,7 +422,9 @@ 고객사
alt="JDSC"
class="mb-4 h-16 object-contain" />
- Amazon Bedrock을 통해 데이터를 안전하게 사용하고 LLM을 활용할 수 있습니다. 또한 우리의 요구에 최적화된 모델로 전환하여 비용을 절감하면서 속도와 정확성을 향상시킬 수 있었습니다.
+ Amazon Bedrock을 통해 데이터를 안전하게 사용하고 LLM을 활용할 수
+ 있습니다. 또한 우리의 요구에 최적화된 모델로 전환하여 비용을
+ 절감하면서 속도와 정확성을 향상시킬 수 있었습니다.
@@ -390,7 +437,10 @@ 고객사
alt="아이레ット 주식회사"
class="mb-4 h-16 object-contain" />
- 생성형 AI 활용을 위한 회사의 지식을 축적하고 체계화하기 위해 AWS에서 공개한 Generative AI Use Cases를 사용하여 사용 사례 사이트를 개발했습니다. 이 프로젝트의 설계, 구축 및 개발을 아이레ット 회사에서 지원했습니다.
+ 생성형 AI 활용을 위한 회사의 지식을 축적하고 체계화하기 위해
+ AWS에서 공개한 Generative AI Use Cases를 사용하여 사용 사례
+ 사이트를 개발했습니다. 이 프로젝트의 설계, 구축 및 개발을
+ 아이레ット 회사에서 지원했습니다.
@@ -403,7 +453,9 @@ 고객사
alt="아이데아로그"
class="mb-4 h-16 object-contain" />
- 기존의 생성형 AI 도구보다 훨씬 더 비즈니스 효율성을 향상시킬 수 있다고 느낍니다. Amazon Bedrock을 사용하고 있어 보안 측면에서도 안전합니다.
+ 기존의 생성형 AI 도구보다 훨씬 더 비즈니스 효율성을 향상시킬 수
+ 있다고 느낍니다. Amazon Bedrock을 사용하고 있어 보안 측면에서도
+ 안전합니다.
@@ -416,7 +468,8 @@ 고객사
alt="에스타일"
class="mb-4 h-16 object-contain" />
- GenU는 짧은 시간 내에 생성형 AI 환경을 구축하고 회사 내 지식 공유를 촉진하는 데 도움이 되었습니다.
+ GenU는 짧은 시간 내에 생성형 AI 환경을 구축하고 회사 내 지식
+ 공유를 촉진하는 데 도움이 되었습니다.
@@ -429,7 +482,9 @@ 고객사
alt="명전사"
class="mb-4 h-16 object-contain" />
- Amazon Bedrock과 Amazon Kendra를 통해 생성형 AI 환경을 빠르고 안전하게 구축할 수 있었습니다. 또한 회의록 자동 생성과 내부 정보 검색을 통해 직원의 효율성 향상에 기여하고 있습니다.
+ Amazon Bedrock과 Amazon Kendra를 통해 생성형 AI 환경을 빠르고
+ 안전하게 구축할 수 있었습니다. 또한 회의록 자동 생성과 내부 정보
+ 검색을 통해 직원의 효율성 향상에 기여하고 있습니다.
@@ -442,7 +497,9 @@ 고객사
alt="산쿄리츠잔 주식회사"
class="mb-4 h-16 object-contain" />
- Amazon Kendra를 통해 회사에 묻혀있던 정보를 빠르게 검색할 수 있었습니다. GenU는 회의록 자동 생성과 같이 우리가 원하는 기능을 빠르게 제공하는 데 도움이 되었습니다.
+ Amazon Kendra를 통해 회사에 묻혀있던 정보를 빠르게 검색할 수
+ 있었습니다. GenU는 회의록 자동 생성과 같이 우리가 원하는 기능을
+ 빠르게 제공하는 데 도움이 되었습니다.
@@ -455,7 +512,9 @@ 고객사
alt="오이식스・라・다이치 주식회사"
class="mb-4 h-16 object-contain" />
- GenU는 리소스, 프로젝트 구조, 외부 지원 및 인재 개발을 구조화하는 데 도움이 되었습니다. 이를 통해 회사에서 생성형 AI의 이미지를 이해할 수 있었습니다.
+ GenU는 리소스, 프로젝트 구조, 외부 지원 및 인재 개발을 구조화하는
+ 데 도움이 되었습니다. 이를 통해 회사에서 생성형 AI의 이미지를
+ 이해할 수 있었습니다.
@@ -468,7 +527,8 @@ 고객사
alt="주식회사 산에이"
class="mb-4 h-16 object-contain" />
- Amazon Bedrock은 회사별 환경의 클라우드 마이그레이션을 가속화하는 데 도움이 되었습니다.
+ Amazon Bedrock은 회사별 환경의 클라우드 마이그레이션을 가속화하는
+ 데 도움이 되었습니다.
@@ -481,7 +541,10 @@ 고객사
alt="주식회사 ONE COMPATH"
class="mb-4 h-16 object-contain" />
- GenU를 활용하여 회사 전체의 생성형 AI 기반을 빠르게 구축할 수 있었습니다. 이를 통해 기획 부서가 독립적으로 PoC를 개발할 수 있게 되어 비즈니스 창출 사이클이 가속화되었고, 개발 부서는 더 중요한 비즈니스 이니셔티브에 리소스를 집중할 수 있었습니다.
+ GenU를 활용하여 회사 전체의 생성형 AI 기반을 빠르게 구축할 수
+ 있었습니다. 이를 통해 기획 부서가 독립적으로 PoC를 개발할 수 있게
+ 되어 비즈니스 창출 사이클이 가속화되었고, 개발 부서는 더 중요한
+ 비즈니스 이니셔티브에 리소스를 집중할 수 있었습니다.
@@ -494,7 +557,10 @@ 고객사
alt="미쓰비시전기엔지니어링 주식회사"
class="mb-4 h-16 object-contain" />
- 생성형 AI 개발 경험이 없는 팀 멤버들이 ServerWorks의 지도하에 GenU를 사용하여 단 3개월 만에 RAG 시스템을 성공적으로 구축했습니다. GenU의 아키텍처를 참조로 활용하여 헬프데스크 매뉴얼 검색 작업의 효율성 향상을 달성하고 사내 개발 역량을 실현했습니다.
+ 생성형 AI 개발 경험이 없는 팀 멤버들이 ServerWorks의 지도하에
+ GenU를 사용하여 단 3개월 만에 RAG 시스템을 성공적으로
+ 구축했습니다. GenU의 아키텍처를 참조로 활용하여 헬프데스크 매뉴얼
+ 검색 작업의 효율성 향상을 달성하고 사내 개발 역량을 실현했습니다.
@@ -551,7 +617,8 @@ 고객사
- 이 페이지는 GenU summit-2024 브랜치의 웹사이트 작성 사용 사례로 작성되었습니다.
+ 이 페이지는 GenU summit-2024 브랜치의 웹사이트 작성 사용 사례로
+ 작성되었습니다.
{% endblock %}
diff --git a/package-lock.json b/package-lock.json
index 2b398062b..ebbc8dcda 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -65,9 +65,9 @@
}
},
"node_modules/@aws-amplify/analytics": {
- "version": "7.0.80",
- "resolved": "https://registry.npmjs.org/@aws-amplify/analytics/-/analytics-7.0.80.tgz",
- "integrity": "sha512-KJ22bNnlW+mIAYl+2nM3ZTXhM6svAHUnT0Oi1yzGAwDO0wGYiIUEtV4Vx+21iOZrS3RDrJSEtdynQzfD0eQpLg==",
+ "version": "7.0.86",
+ "resolved": "https://registry.npmjs.org/@aws-amplify/analytics/-/analytics-7.0.86.tgz",
+ "integrity": "sha512-1CEaP6hA1kdBcDbXOg0MFw7Kpwu6Lt93S7r0/Oy/vu9bR3AzKPe/muT8euljmCFl/bY16zqZvY6vUW+WeA0jIw==",
"license": "Apache-2.0",
"dependencies": {
"@aws-sdk/client-firehose": "3.621.0",
@@ -119,13 +119,13 @@
}
},
"node_modules/@aws-amplify/api": {
- "version": "6.3.11",
- "resolved": "https://registry.npmjs.org/@aws-amplify/api/-/api-6.3.11.tgz",
- "integrity": "sha512-Osp264EBrrp6Rp87Df+y7ngv33kriOY2LxQU40lccUfk3CpFN2nrMbIPZ3JGH0n265L1CGJw3XjpeCLmO3s8ng==",
+ "version": "6.3.17",
+ "resolved": "https://registry.npmjs.org/@aws-amplify/api/-/api-6.3.17.tgz",
+ "integrity": "sha512-r7nmL7F8w60CAaSoOlX0YAUPCtxfHflhObe4XXGsAmXipcRi8xah/+ybGmwVLDp4J40dLir4bUaA84A/BW3doA==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-amplify/api-graphql": "4.7.15",
- "@aws-amplify/api-rest": "4.1.4",
+ "@aws-amplify/api-graphql": "4.7.21",
+ "@aws-amplify/api-rest": "4.3.0",
"@aws-amplify/data-schema": "^1.7.0",
"rxjs": "^7.8.1",
"tslib": "^2.5.0"
@@ -135,19 +135,19 @@
}
},
"node_modules/@aws-amplify/api-graphql": {
- "version": "4.7.15",
- "resolved": "https://registry.npmjs.org/@aws-amplify/api-graphql/-/api-graphql-4.7.15.tgz",
- "integrity": "sha512-6lU3Cw7ExvEHFh2jwEgSIA5ws+KyqahmP00u0++W59Lmcg46Y+TJZ27HUlIZkc/QbOk3/HN9M6YopdRa0LqeCg==",
+ "version": "4.7.21",
+ "resolved": "https://registry.npmjs.org/@aws-amplify/api-graphql/-/api-graphql-4.7.21.tgz",
+ "integrity": "sha512-rSfXtFyCJQeevDGE7TbDgH2xQKvukc+zO+Q9YinevPkGpL9zY4kl9Y5BfxKB/vPCvxR2DQTjeNu4fMlsjt9Zgw==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-amplify/api-rest": "4.1.4",
- "@aws-amplify/core": "6.11.4",
+ "@aws-amplify/api-rest": "4.3.0",
+ "@aws-amplify/core": "6.13.1",
"@aws-amplify/data-schema": "^1.7.0",
"@aws-sdk/types": "3.387.0",
"graphql": "15.8.0",
"rxjs": "^7.8.1",
"tslib": "^2.5.0",
- "uuid": "^9.0.0"
+ "uuid": "^11.0.0"
}
},
"node_modules/@aws-amplify/api-graphql/node_modules/@aws-sdk/types": {
@@ -175,10 +175,23 @@
"node": ">=14.0.0"
}
},
+ "node_modules/@aws-amplify/api-graphql/node_modules/uuid": {
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz",
+ "integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==",
+ "funding": [
+ "https://github.com/sponsors/broofa",
+ "https://github.com/sponsors/ctavan"
+ ],
+ "license": "MIT",
+ "bin": {
+ "uuid": "dist/esm/bin/uuid"
+ }
+ },
"node_modules/@aws-amplify/api-rest": {
- "version": "4.1.4",
- "resolved": "https://registry.npmjs.org/@aws-amplify/api-rest/-/api-rest-4.1.4.tgz",
- "integrity": "sha512-3ajXDy+7XTZriiFR+vqtsnQ5tf4RskkEMpUp++eT+R+pBvudqlAkqe4lB0ABXB1/r1+kXJqDHWEgaXT3DZQZJQ==",
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/@aws-amplify/api-rest/-/api-rest-4.3.0.tgz",
+ "integrity": "sha512-gU8/uFOM5iwMN/FJV6UHSMij3tXQXO/cdtQsTuw5XfcwIeauAIefu5MUY6lTyJbIUny8IRbmjs8DjCUsms13Dw==",
"license": "Apache-2.0",
"dependencies": {
"tslib": "^2.5.0"
@@ -188,9 +201,9 @@
}
},
"node_modules/@aws-amplify/auth": {
- "version": "6.12.4",
- "resolved": "https://registry.npmjs.org/@aws-amplify/auth/-/auth-6.12.4.tgz",
- "integrity": "sha512-3qi3dKJUdYVDS3nCO2YeIK4Djj0vzDEjv2ZpfraYNVBUGXj4GnL7wSUm7r1VD3SYqnHgzoAIdW/73P5ormEMfw==",
+ "version": "6.15.0",
+ "resolved": "https://registry.npmjs.org/@aws-amplify/auth/-/auth-6.15.0.tgz",
+ "integrity": "sha512-VahO4aN/jxufP225bpWBfX4LCK9lram3mSNQsCSs2hJdDnEKvFdpd90cQz6XXRybyYOmkhjNeAgGp4qLwv5BHg==",
"license": "Apache-2.0",
"dependencies": {
"@aws-crypto/sha256-js": "5.2.0",
@@ -214,9 +227,9 @@
}
},
"node_modules/@aws-amplify/core": {
- "version": "6.11.4",
- "resolved": "https://registry.npmjs.org/@aws-amplify/core/-/core-6.11.4.tgz",
- "integrity": "sha512-qkLyu3GxmJNH6gk9WwKEkOjQ0uUMyOuYqJgf97M6DV6btfoqBFY0T18wd+JEqjKm8awk4liRObU4b9/FQPuS9w==",
+ "version": "6.13.1",
+ "resolved": "https://registry.npmjs.org/@aws-amplify/core/-/core-6.13.1.tgz",
+ "integrity": "sha512-PtSGhC7pv+xdr4Ozy6jzeZraB/kjBZiK9tOLOaBH5Trt0pBuLbh2mneE7a72xHGf64XJbl7v3MWPaVscb8KXkw==",
"license": "Apache-2.0",
"dependencies": {
"@aws-crypto/sha256-js": "5.2.0",
@@ -226,13 +239,26 @@
"js-cookie": "^3.0.5",
"rxjs": "^7.8.1",
"tslib": "^2.5.0",
- "uuid": "^9.0.0"
+ "uuid": "^11.0.0"
+ }
+ },
+ "node_modules/@aws-amplify/core/node_modules/uuid": {
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz",
+ "integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==",
+ "funding": [
+ "https://github.com/sponsors/broofa",
+ "https://github.com/sponsors/ctavan"
+ ],
+ "license": "MIT",
+ "bin": {
+ "uuid": "dist/esm/bin/uuid"
}
},
"node_modules/@aws-amplify/data-schema": {
- "version": "1.21.0",
- "resolved": "https://registry.npmjs.org/@aws-amplify/data-schema/-/data-schema-1.21.0.tgz",
- "integrity": "sha512-3SU6zHrvMVOLUiD574aWcVYPVdZ3sPVwQNTPBg5B3DEOkkZ4bGyuiCCKUQiV7AbdSv/1OcZVnPuRFdv+8CW34A==",
+ "version": "1.21.1",
+ "resolved": "https://registry.npmjs.org/@aws-amplify/data-schema/-/data-schema-1.21.1.tgz",
+ "integrity": "sha512-ZR7zHcjW9NKlCI39F03Ou/q//fobYNRe0w++3Ne75FU2eGGpi7MCIYEP5Hghued/PZkAuarF5dRt79aQt76V8w==",
"license": "Apache-2.0",
"dependencies": {
"@aws-amplify/data-schema-types": "*",
@@ -305,13 +331,13 @@
}
},
"node_modules/@aws-amplify/datastore": {
- "version": "5.0.82",
- "resolved": "https://registry.npmjs.org/@aws-amplify/datastore/-/datastore-5.0.82.tgz",
- "integrity": "sha512-vdCUcpeTN7Cxuke16pZGQg4/zV0z3zs91AsLTkJ6HiOMnFDrqbWdDo+3FB5Mrw0Z6QnBKTUxeZ00K0vn6rgzlQ==",
+ "version": "5.0.88",
+ "resolved": "https://registry.npmjs.org/@aws-amplify/datastore/-/datastore-5.0.88.tgz",
+ "integrity": "sha512-kpmat3af05QBe488pv3Zo07iFVZjA9SkIa3ZJTb8OQYZw+iV717G94fnHnpGrt7+RyyMkxLsxN8NKbEsta9Xcg==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-amplify/api": "6.3.11",
- "@aws-amplify/api-graphql": "4.7.15",
+ "@aws-amplify/api": "6.3.17",
+ "@aws-amplify/api-graphql": "4.7.21",
"buffer": "4.9.2",
"idb": "5.0.6",
"immer": "9.0.6",
@@ -350,9 +376,9 @@
"license": "MIT"
},
"node_modules/@aws-amplify/notifications": {
- "version": "2.0.80",
- "resolved": "https://registry.npmjs.org/@aws-amplify/notifications/-/notifications-2.0.80.tgz",
- "integrity": "sha512-6ePdufP1gwb//OvuyD/YsnXUvDRXd1sI3+R+Mu+R34IxL34hS1ovEJcM7aAEodvC9bc0jfcyGVoHLxFaRu2nYw==",
+ "version": "2.0.86",
+ "resolved": "https://registry.npmjs.org/@aws-amplify/notifications/-/notifications-2.0.86.tgz",
+ "integrity": "sha512-OEf1JGSC8r8EtqORRgpE6aG67TjhV5sWyEM/DakXu8ZqYgErqfrSxiVjLsutIz8LJA4tvjGUFgLheZ3IjEtE8Q==",
"license": "Apache-2.0",
"dependencies": {
"@aws-sdk/types": "3.398.0",
@@ -364,9 +390,9 @@
}
},
"node_modules/@aws-amplify/storage": {
- "version": "6.8.4",
- "resolved": "https://registry.npmjs.org/@aws-amplify/storage/-/storage-6.8.4.tgz",
- "integrity": "sha512-aplukG1r4dAnKQmvTwc6zS9Oi3CuljRDbyxqTVKPv3oIqgZguTaWyfL6Ta+2XTj5fK816uLL7Rg15Lq1qvU0Ag==",
+ "version": "6.9.5",
+ "resolved": "https://registry.npmjs.org/@aws-amplify/storage/-/storage-6.9.5.tgz",
+ "integrity": "sha512-wUKg/gffDRdJ3P08HQ7HTTfmB8+WBS8lPxXAzMk67LD4yaFNfIrzQCExTO5uz6at1rmZeN4eHvQicxcwCR9m1Q==",
"license": "Apache-2.0",
"dependencies": {
"@aws-sdk/types": "3.398.0",
@@ -414,16 +440,46 @@
"isarray": "^1.0.0"
}
},
+ "node_modules/@aws-amplify/storage/node_modules/fast-xml-parser": {
+ "version": "4.5.3",
+ "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.5.3.tgz",
+ "integrity": "sha512-RKihhV+SHsIUGXObeVy9AXiBbFwkVk7Syp8XgwN5U3JV416+Gwp/GO9i0JYKmikykgz/UHRrrV4ROuZEo/T0ig==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/NaturalIntelligence"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "strnum": "^1.1.1"
+ },
+ "bin": {
+ "fxparser": "src/cli/cli.js"
+ }
+ },
"node_modules/@aws-amplify/storage/node_modules/isarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
"license": "MIT"
},
+ "node_modules/@aws-amplify/storage/node_modules/strnum": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.1.2.tgz",
+ "integrity": "sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/NaturalIntelligence"
+ }
+ ],
+ "license": "MIT"
+ },
"node_modules/@aws-amplify/ui": {
- "version": "6.10.2",
- "resolved": "https://registry.npmjs.org/@aws-amplify/ui/-/ui-6.10.2.tgz",
- "integrity": "sha512-eymjV3ZBq6eCZC958wJEboUUvV9hYYAZKojKTHnRKN5qtjeYxeRyLJ8c41ZCkHWctOxB9GsFfO1xwVYLevrQ5Q==",
+ "version": "6.10.3",
+ "resolved": "https://registry.npmjs.org/@aws-amplify/ui/-/ui-6.10.3.tgz",
+ "integrity": "sha512-dWi2W6TrGMPFW5uvDUHpch2Z28m683KsPbFt2E+a4UQp05GP5qXgCa+jIkxVZmoPop3//udfRxwszGi0MQWX9Q==",
"license": "Apache-2.0",
"dependencies": {
"csstype": "^3.1.1",
@@ -442,13 +498,13 @@
}
},
"node_modules/@aws-amplify/ui-react": {
- "version": "6.11.1",
- "resolved": "https://registry.npmjs.org/@aws-amplify/ui-react/-/ui-react-6.11.1.tgz",
- "integrity": "sha512-6v+TVLIATvWkDHFQuJfz23Q8zcncV5W5c193nQM/w/C4JoC03Hkw7WfbmdEjIul1p8j0NTQDgmb8tZyVgvom/w==",
+ "version": "6.11.2",
+ "resolved": "https://registry.npmjs.org/@aws-amplify/ui-react/-/ui-react-6.11.2.tgz",
+ "integrity": "sha512-LNr4jTjupphiSfInk+vBY81JruoLm/ReOaOuPye0XIT6rPFV24bhm/nphIACJnD0LWhc9VMpv/BahVZKUi4eHg==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-amplify/ui": "6.10.2",
- "@aws-amplify/ui-react-core": "3.4.2",
+ "@aws-amplify/ui": "6.10.3",
+ "@aws-amplify/ui-react-core": "3.4.3",
"@radix-ui/react-direction": "^1.1.0",
"@radix-ui/react-dropdown-menu": "^2.1.10",
"@radix-ui/react-slider": "^1.3.2",
@@ -470,12 +526,12 @@
}
},
"node_modules/@aws-amplify/ui-react-core": {
- "version": "3.4.2",
- "resolved": "https://registry.npmjs.org/@aws-amplify/ui-react-core/-/ui-react-core-3.4.2.tgz",
- "integrity": "sha512-FV3Gq7njBzxG90jgDrO8vG3LDa2bk/4r+SAgKsgO5BX2u0x5GeOe0ikzcYg04+30AhaQ4JnrlJb7EMoGWpRedQ==",
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/@aws-amplify/ui-react-core/-/ui-react-core-3.4.3.tgz",
+ "integrity": "sha512-B0ODGYbCy2nOcm7Ni/3cv+qGVtDkiYvsnojtaN2DyjXJVE33cGRyqsbwhoaWSetUoNGkN2C6Q/twJPHwOq6a2g==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-amplify/ui": "6.10.2",
+ "@aws-amplify/ui": "6.10.3",
"@xstate/react": "^3.2.2",
"lodash": "4.17.21",
"react-hook-form": "^7.53.2",
@@ -487,9 +543,9 @@
}
},
"node_modules/@aws-cdk/asset-awscli-v1": {
- "version": "2.2.236",
- "resolved": "https://registry.npmjs.org/@aws-cdk/asset-awscli-v1/-/asset-awscli-v1-2.2.236.tgz",
- "integrity": "sha512-BjqQVGYsVuS4VXdrezDapSd6P7soEdWJoXl1S8X7l0uLtVX9WvpmCylZKOJDrJblK5MNe1Vq9wUI91LBzzOi8A==",
+ "version": "2.2.242",
+ "resolved": "https://registry.npmjs.org/@aws-cdk/asset-awscli-v1/-/asset-awscli-v1-2.2.242.tgz",
+ "integrity": "sha512-4c1bAy2ISzcdKXYS1k4HYZsNrgiwbiDzj36ybwFVxEWZXVAP0dimQTCaB9fxu7sWzEjw3d+eaw6Fon+QTfTIpQ==",
"license": "Apache-2.0"
},
"node_modules/@aws-cdk/asset-node-proxy-agent-v6": {
@@ -512,9 +568,9 @@
}
},
"node_modules/@aws-cdk/cloud-assembly-schema": {
- "version": "41.2.0",
- "resolved": "https://registry.npmjs.org/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-41.2.0.tgz",
- "integrity": "sha512-JaulVS6z9y5+u4jNmoWbHZRs9uGOnmn/ktXygNWKNu1k6lF3ad4so3s18eRu15XCbUIomxN9WPYT6Ehh7hzONw==",
+ "version": "48.3.0",
+ "resolved": "https://registry.npmjs.org/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-48.3.0.tgz",
+ "integrity": "sha512-6R7aMNXeVnXGMOXgspwMmpVi1rmgRReGKYt7yl22ZKNZN/whJqdnV2C6O2CI2lnj5Th/SlgQWsuEQOMM3TI5RQ==",
"bundleDependencies": [
"jsonschema",
"semver"
@@ -522,10 +578,10 @@
"license": "Apache-2.0",
"dependencies": {
"jsonschema": "~1.4.1",
- "semver": "^7.7.1"
+ "semver": "^7.7.2"
},
"engines": {
- "node": ">= 14.15.0"
+ "node": ">= 18.0.0"
}
},
"node_modules/@aws-cdk/cloud-assembly-schema/node_modules/jsonschema": {
@@ -537,7 +593,7 @@
}
},
"node_modules/@aws-cdk/cloud-assembly-schema/node_modules/semver": {
- "version": "7.7.1",
+ "version": "7.7.2",
"inBundle": true,
"license": "ISC",
"bin": {
@@ -636,48 +692,48 @@
}
},
"node_modules/@aws-sdk/client-bedrock-agent": {
- "version": "3.808.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-bedrock-agent/-/client-bedrock-agent-3.808.0.tgz",
- "integrity": "sha512-AVh/Ax8wLxsee5cVfkTGwemM+iaFVhrXnPQbSXddn8ghbZYmgeXFEWI1uneWDaVcSmuZgmtkcnCuwgeqW7Bcxw==",
+ "version": "3.863.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-bedrock-agent/-/client-bedrock-agent-3.863.0.tgz",
+ "integrity": "sha512-T+YTwed+iVCk/sWPoIdop8XQyyu8gfmg79OOSN9P0PW4Zp3uL03nfEFd/SWop+dos6iOEaJ7wrqkND3ulW9frA==",
"license": "Apache-2.0",
"dependencies": {
"@aws-crypto/sha256-browser": "5.2.0",
"@aws-crypto/sha256-js": "5.2.0",
- "@aws-sdk/core": "3.808.0",
- "@aws-sdk/credential-provider-node": "3.808.0",
- "@aws-sdk/middleware-host-header": "3.804.0",
- "@aws-sdk/middleware-logger": "3.804.0",
- "@aws-sdk/middleware-recursion-detection": "3.804.0",
- "@aws-sdk/middleware-user-agent": "3.808.0",
- "@aws-sdk/region-config-resolver": "3.808.0",
- "@aws-sdk/types": "3.804.0",
- "@aws-sdk/util-endpoints": "3.808.0",
- "@aws-sdk/util-user-agent-browser": "3.804.0",
- "@aws-sdk/util-user-agent-node": "3.808.0",
- "@smithy/config-resolver": "^4.1.2",
- "@smithy/core": "^3.3.1",
- "@smithy/fetch-http-handler": "^5.0.2",
- "@smithy/hash-node": "^4.0.2",
- "@smithy/invalid-dependency": "^4.0.2",
- "@smithy/middleware-content-length": "^4.0.2",
- "@smithy/middleware-endpoint": "^4.1.4",
- "@smithy/middleware-retry": "^4.1.5",
- "@smithy/middleware-serde": "^4.0.3",
- "@smithy/middleware-stack": "^4.0.2",
- "@smithy/node-config-provider": "^4.1.1",
- "@smithy/node-http-handler": "^4.0.4",
- "@smithy/protocol-http": "^5.1.0",
- "@smithy/smithy-client": "^4.2.4",
- "@smithy/types": "^4.2.0",
- "@smithy/url-parser": "^4.0.2",
+ "@aws-sdk/core": "3.863.0",
+ "@aws-sdk/credential-provider-node": "3.863.0",
+ "@aws-sdk/middleware-host-header": "3.862.0",
+ "@aws-sdk/middleware-logger": "3.862.0",
+ "@aws-sdk/middleware-recursion-detection": "3.862.0",
+ "@aws-sdk/middleware-user-agent": "3.863.0",
+ "@aws-sdk/region-config-resolver": "3.862.0",
+ "@aws-sdk/types": "3.862.0",
+ "@aws-sdk/util-endpoints": "3.862.0",
+ "@aws-sdk/util-user-agent-browser": "3.862.0",
+ "@aws-sdk/util-user-agent-node": "3.863.0",
+ "@smithy/config-resolver": "^4.1.5",
+ "@smithy/core": "^3.8.0",
+ "@smithy/fetch-http-handler": "^5.1.1",
+ "@smithy/hash-node": "^4.0.5",
+ "@smithy/invalid-dependency": "^4.0.5",
+ "@smithy/middleware-content-length": "^4.0.5",
+ "@smithy/middleware-endpoint": "^4.1.18",
+ "@smithy/middleware-retry": "^4.1.19",
+ "@smithy/middleware-serde": "^4.0.9",
+ "@smithy/middleware-stack": "^4.0.5",
+ "@smithy/node-config-provider": "^4.1.4",
+ "@smithy/node-http-handler": "^4.1.1",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/smithy-client": "^4.4.10",
+ "@smithy/types": "^4.3.2",
+ "@smithy/url-parser": "^4.0.5",
"@smithy/util-base64": "^4.0.0",
"@smithy/util-body-length-browser": "^4.0.0",
"@smithy/util-body-length-node": "^4.0.0",
- "@smithy/util-defaults-mode-browser": "^4.0.12",
- "@smithy/util-defaults-mode-node": "^4.0.12",
- "@smithy/util-endpoints": "^3.0.4",
- "@smithy/util-middleware": "^4.0.2",
- "@smithy/util-retry": "^4.0.3",
+ "@smithy/util-defaults-mode-browser": "^4.0.26",
+ "@smithy/util-defaults-mode-node": "^4.0.26",
+ "@smithy/util-endpoints": "^3.0.7",
+ "@smithy/util-middleware": "^4.0.5",
+ "@smithy/util-retry": "^4.0.7",
"@smithy/util-utf8": "^4.0.0",
"@types/uuid": "^9.0.1",
"tslib": "^2.6.2",
@@ -688,51 +744,51 @@
}
},
"node_modules/@aws-sdk/client-bedrock-agent-runtime": {
- "version": "3.808.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-bedrock-agent-runtime/-/client-bedrock-agent-runtime-3.808.0.tgz",
- "integrity": "sha512-xHhezgVH11kc2FINuFiKuqMrUFzZAaI5Ia2z3WGwLTG5H8vh6Io1LMrBPn6iNvzB6i1A8fdsQRlw84drEYLzMQ==",
+ "version": "3.863.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-bedrock-agent-runtime/-/client-bedrock-agent-runtime-3.863.0.tgz",
+ "integrity": "sha512-pIkorD2hkwZF4BsG4T57rNSjmJpOtzm2uOvjHUQUIg0NqANqdIZslYYrNid5fxT3x6Z4GlB43tbUPyAcD/wA9w==",
"license": "Apache-2.0",
"dependencies": {
"@aws-crypto/sha256-browser": "5.2.0",
"@aws-crypto/sha256-js": "5.2.0",
- "@aws-sdk/core": "3.808.0",
- "@aws-sdk/credential-provider-node": "3.808.0",
- "@aws-sdk/middleware-host-header": "3.804.0",
- "@aws-sdk/middleware-logger": "3.804.0",
- "@aws-sdk/middleware-recursion-detection": "3.804.0",
- "@aws-sdk/middleware-user-agent": "3.808.0",
- "@aws-sdk/region-config-resolver": "3.808.0",
- "@aws-sdk/types": "3.804.0",
- "@aws-sdk/util-endpoints": "3.808.0",
- "@aws-sdk/util-user-agent-browser": "3.804.0",
- "@aws-sdk/util-user-agent-node": "3.808.0",
- "@smithy/config-resolver": "^4.1.2",
- "@smithy/core": "^3.3.1",
- "@smithy/eventstream-serde-browser": "^4.0.2",
- "@smithy/eventstream-serde-config-resolver": "^4.1.0",
- "@smithy/eventstream-serde-node": "^4.0.2",
- "@smithy/fetch-http-handler": "^5.0.2",
- "@smithy/hash-node": "^4.0.2",
- "@smithy/invalid-dependency": "^4.0.2",
- "@smithy/middleware-content-length": "^4.0.2",
- "@smithy/middleware-endpoint": "^4.1.4",
- "@smithy/middleware-retry": "^4.1.5",
- "@smithy/middleware-serde": "^4.0.3",
- "@smithy/middleware-stack": "^4.0.2",
- "@smithy/node-config-provider": "^4.1.1",
- "@smithy/node-http-handler": "^4.0.4",
- "@smithy/protocol-http": "^5.1.0",
- "@smithy/smithy-client": "^4.2.4",
- "@smithy/types": "^4.2.0",
- "@smithy/url-parser": "^4.0.2",
+ "@aws-sdk/core": "3.863.0",
+ "@aws-sdk/credential-provider-node": "3.863.0",
+ "@aws-sdk/middleware-host-header": "3.862.0",
+ "@aws-sdk/middleware-logger": "3.862.0",
+ "@aws-sdk/middleware-recursion-detection": "3.862.0",
+ "@aws-sdk/middleware-user-agent": "3.863.0",
+ "@aws-sdk/region-config-resolver": "3.862.0",
+ "@aws-sdk/types": "3.862.0",
+ "@aws-sdk/util-endpoints": "3.862.0",
+ "@aws-sdk/util-user-agent-browser": "3.862.0",
+ "@aws-sdk/util-user-agent-node": "3.863.0",
+ "@smithy/config-resolver": "^4.1.5",
+ "@smithy/core": "^3.8.0",
+ "@smithy/eventstream-serde-browser": "^4.0.5",
+ "@smithy/eventstream-serde-config-resolver": "^4.1.3",
+ "@smithy/eventstream-serde-node": "^4.0.5",
+ "@smithy/fetch-http-handler": "^5.1.1",
+ "@smithy/hash-node": "^4.0.5",
+ "@smithy/invalid-dependency": "^4.0.5",
+ "@smithy/middleware-content-length": "^4.0.5",
+ "@smithy/middleware-endpoint": "^4.1.18",
+ "@smithy/middleware-retry": "^4.1.19",
+ "@smithy/middleware-serde": "^4.0.9",
+ "@smithy/middleware-stack": "^4.0.5",
+ "@smithy/node-config-provider": "^4.1.4",
+ "@smithy/node-http-handler": "^4.1.1",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/smithy-client": "^4.4.10",
+ "@smithy/types": "^4.3.2",
+ "@smithy/url-parser": "^4.0.5",
"@smithy/util-base64": "^4.0.0",
"@smithy/util-body-length-browser": "^4.0.0",
"@smithy/util-body-length-node": "^4.0.0",
- "@smithy/util-defaults-mode-browser": "^4.0.12",
- "@smithy/util-defaults-mode-node": "^4.0.12",
- "@smithy/util-endpoints": "^3.0.4",
- "@smithy/util-middleware": "^4.0.2",
- "@smithy/util-retry": "^4.0.3",
+ "@smithy/util-defaults-mode-browser": "^4.0.26",
+ "@smithy/util-defaults-mode-node": "^4.0.26",
+ "@smithy/util-endpoints": "^3.0.7",
+ "@smithy/util-middleware": "^4.0.5",
+ "@smithy/util-retry": "^4.0.7",
"@smithy/util-utf8": "^4.0.0",
"tslib": "^2.6.2"
},
@@ -741,12 +797,12 @@
}
},
"node_modules/@aws-sdk/client-bedrock-agent-runtime/node_modules/@aws-sdk/types": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.804.0.tgz",
- "integrity": "sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -767,12 +823,12 @@
}
},
"node_modules/@aws-sdk/client-bedrock-agent/node_modules/@aws-sdk/types": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.804.0.tgz",
- "integrity": "sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -792,55 +848,218 @@
"node": ">=18.0.0"
}
},
+ "node_modules/@aws-sdk/client-bedrock-agentcore": {
+ "version": "3.863.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-bedrock-agentcore/-/client-bedrock-agentcore-3.863.0.tgz",
+ "integrity": "sha512-ZMiqoZ6nenV4EjR8AtmUmcw+/HBNfFjfzMZqwzGizneLR8tzWT2AQBNvuaHZDVr2uaGu3qBAaAwZsuWcvSMlLw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-crypto/sha256-browser": "5.2.0",
+ "@aws-crypto/sha256-js": "5.2.0",
+ "@aws-sdk/core": "3.863.0",
+ "@aws-sdk/credential-provider-node": "3.863.0",
+ "@aws-sdk/middleware-host-header": "3.862.0",
+ "@aws-sdk/middleware-logger": "3.862.0",
+ "@aws-sdk/middleware-recursion-detection": "3.862.0",
+ "@aws-sdk/middleware-user-agent": "3.863.0",
+ "@aws-sdk/region-config-resolver": "3.862.0",
+ "@aws-sdk/types": "3.862.0",
+ "@aws-sdk/util-endpoints": "3.862.0",
+ "@aws-sdk/util-user-agent-browser": "3.862.0",
+ "@aws-sdk/util-user-agent-node": "3.863.0",
+ "@smithy/config-resolver": "^4.1.5",
+ "@smithy/core": "^3.8.0",
+ "@smithy/eventstream-serde-browser": "^4.0.5",
+ "@smithy/eventstream-serde-config-resolver": "^4.1.3",
+ "@smithy/eventstream-serde-node": "^4.0.5",
+ "@smithy/fetch-http-handler": "^5.1.1",
+ "@smithy/hash-node": "^4.0.5",
+ "@smithy/invalid-dependency": "^4.0.5",
+ "@smithy/middleware-content-length": "^4.0.5",
+ "@smithy/middleware-endpoint": "^4.1.18",
+ "@smithy/middleware-retry": "^4.1.19",
+ "@smithy/middleware-serde": "^4.0.9",
+ "@smithy/middleware-stack": "^4.0.5",
+ "@smithy/node-config-provider": "^4.1.4",
+ "@smithy/node-http-handler": "^4.1.1",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/smithy-client": "^4.4.10",
+ "@smithy/types": "^4.3.2",
+ "@smithy/url-parser": "^4.0.5",
+ "@smithy/util-base64": "^4.0.0",
+ "@smithy/util-body-length-browser": "^4.0.0",
+ "@smithy/util-body-length-node": "^4.0.0",
+ "@smithy/util-defaults-mode-browser": "^4.0.26",
+ "@smithy/util-defaults-mode-node": "^4.0.26",
+ "@smithy/util-endpoints": "^3.0.7",
+ "@smithy/util-middleware": "^4.0.5",
+ "@smithy/util-retry": "^4.0.7",
+ "@smithy/util-stream": "^4.2.4",
+ "@smithy/util-utf8": "^4.0.0",
+ "@types/uuid": "^9.0.1",
+ "tslib": "^2.6.2",
+ "uuid": "^9.0.1"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-bedrock-agentcore-control": {
+ "version": "3.863.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-bedrock-agentcore-control/-/client-bedrock-agentcore-control-3.863.0.tgz",
+ "integrity": "sha512-Tnj6ACCTjzYS5toEUMslfGFIQulDz7JMQNDEqXzfkEPCUML2O2gtNZb0KH73Xe4uRHOE3e09Dmig2yf4fwtkKA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-crypto/sha256-browser": "5.2.0",
+ "@aws-crypto/sha256-js": "5.2.0",
+ "@aws-sdk/core": "3.863.0",
+ "@aws-sdk/credential-provider-node": "3.863.0",
+ "@aws-sdk/middleware-host-header": "3.862.0",
+ "@aws-sdk/middleware-logger": "3.862.0",
+ "@aws-sdk/middleware-recursion-detection": "3.862.0",
+ "@aws-sdk/middleware-user-agent": "3.863.0",
+ "@aws-sdk/region-config-resolver": "3.862.0",
+ "@aws-sdk/types": "3.862.0",
+ "@aws-sdk/util-endpoints": "3.862.0",
+ "@aws-sdk/util-user-agent-browser": "3.862.0",
+ "@aws-sdk/util-user-agent-node": "3.863.0",
+ "@smithy/config-resolver": "^4.1.5",
+ "@smithy/core": "^3.8.0",
+ "@smithy/fetch-http-handler": "^5.1.1",
+ "@smithy/hash-node": "^4.0.5",
+ "@smithy/invalid-dependency": "^4.0.5",
+ "@smithy/middleware-content-length": "^4.0.5",
+ "@smithy/middleware-endpoint": "^4.1.18",
+ "@smithy/middleware-retry": "^4.1.19",
+ "@smithy/middleware-serde": "^4.0.9",
+ "@smithy/middleware-stack": "^4.0.5",
+ "@smithy/node-config-provider": "^4.1.4",
+ "@smithy/node-http-handler": "^4.1.1",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/smithy-client": "^4.4.10",
+ "@smithy/types": "^4.3.2",
+ "@smithy/url-parser": "^4.0.5",
+ "@smithy/util-base64": "^4.0.0",
+ "@smithy/util-body-length-browser": "^4.0.0",
+ "@smithy/util-body-length-node": "^4.0.0",
+ "@smithy/util-defaults-mode-browser": "^4.0.26",
+ "@smithy/util-defaults-mode-node": "^4.0.26",
+ "@smithy/util-endpoints": "^3.0.7",
+ "@smithy/util-middleware": "^4.0.5",
+ "@smithy/util-retry": "^4.0.7",
+ "@smithy/util-utf8": "^4.0.0",
+ "@smithy/util-waiter": "^4.0.7",
+ "@types/uuid": "^9.0.1",
+ "tslib": "^2.6.2",
+ "uuid": "^9.0.1"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-bedrock-agentcore-control/node_modules/@aws-sdk/types": {
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/types": "^4.3.2",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-bedrock-agentcore-control/node_modules/@smithy/util-utf8": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-4.0.0.tgz",
+ "integrity": "sha512-b+zebfKCfRdgNJDknHCob3O7FpeYQN6ZG6YLExMcasDHsCXlsXCEuiPZeLnJLpwa5dvPetGlnGCiMHuLwGvFow==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/util-buffer-from": "^4.0.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-bedrock-agentcore/node_modules/@aws-sdk/types": {
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/types": "^4.3.2",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-bedrock-agentcore/node_modules/@smithy/util-utf8": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-4.0.0.tgz",
+ "integrity": "sha512-b+zebfKCfRdgNJDknHCob3O7FpeYQN6ZG6YLExMcasDHsCXlsXCEuiPZeLnJLpwa5dvPetGlnGCiMHuLwGvFow==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/util-buffer-from": "^4.0.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
"node_modules/@aws-sdk/client-bedrock-runtime": {
- "version": "3.808.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-bedrock-runtime/-/client-bedrock-runtime-3.808.0.tgz",
- "integrity": "sha512-OzjqAlevqurwAPiBGO++90pvpJCyjK6UrQH2av7oTwAwWYpY/wqVCGjch/pkme6G2+o76FjPvUKxfEcBu+5pKQ==",
+ "version": "3.863.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-bedrock-runtime/-/client-bedrock-runtime-3.863.0.tgz",
+ "integrity": "sha512-pp9F9TfCLHrtROq9IDSPtHaKW+03rxcoW3cj2x+qKr7d3kXYFF5uHNVwiaANqGqlgTRnt5PPPrqhFjPLtxNMRw==",
"license": "Apache-2.0",
"dependencies": {
"@aws-crypto/sha256-browser": "5.2.0",
"@aws-crypto/sha256-js": "5.2.0",
- "@aws-sdk/core": "3.808.0",
- "@aws-sdk/credential-provider-node": "3.808.0",
- "@aws-sdk/eventstream-handler-node": "3.804.0",
- "@aws-sdk/middleware-eventstream": "3.804.0",
- "@aws-sdk/middleware-host-header": "3.804.0",
- "@aws-sdk/middleware-logger": "3.804.0",
- "@aws-sdk/middleware-recursion-detection": "3.804.0",
- "@aws-sdk/middleware-user-agent": "3.808.0",
- "@aws-sdk/region-config-resolver": "3.808.0",
- "@aws-sdk/types": "3.804.0",
- "@aws-sdk/util-endpoints": "3.808.0",
- "@aws-sdk/util-user-agent-browser": "3.804.0",
- "@aws-sdk/util-user-agent-node": "3.808.0",
- "@smithy/config-resolver": "^4.1.2",
- "@smithy/core": "^3.3.1",
- "@smithy/eventstream-serde-browser": "^4.0.2",
- "@smithy/eventstream-serde-config-resolver": "^4.1.0",
- "@smithy/eventstream-serde-node": "^4.0.2",
- "@smithy/fetch-http-handler": "^5.0.2",
- "@smithy/hash-node": "^4.0.2",
- "@smithy/invalid-dependency": "^4.0.2",
- "@smithy/middleware-content-length": "^4.0.2",
- "@smithy/middleware-endpoint": "^4.1.4",
- "@smithy/middleware-retry": "^4.1.5",
- "@smithy/middleware-serde": "^4.0.3",
- "@smithy/middleware-stack": "^4.0.2",
- "@smithy/node-config-provider": "^4.1.1",
- "@smithy/node-http-handler": "^4.0.4",
- "@smithy/protocol-http": "^5.1.0",
- "@smithy/smithy-client": "^4.2.4",
- "@smithy/types": "^4.2.0",
- "@smithy/url-parser": "^4.0.2",
+ "@aws-sdk/core": "3.863.0",
+ "@aws-sdk/credential-provider-node": "3.863.0",
+ "@aws-sdk/eventstream-handler-node": "3.862.0",
+ "@aws-sdk/middleware-eventstream": "3.862.0",
+ "@aws-sdk/middleware-host-header": "3.862.0",
+ "@aws-sdk/middleware-logger": "3.862.0",
+ "@aws-sdk/middleware-recursion-detection": "3.862.0",
+ "@aws-sdk/middleware-user-agent": "3.863.0",
+ "@aws-sdk/middleware-websocket": "3.862.0",
+ "@aws-sdk/region-config-resolver": "3.862.0",
+ "@aws-sdk/token-providers": "3.863.0",
+ "@aws-sdk/types": "3.862.0",
+ "@aws-sdk/util-endpoints": "3.862.0",
+ "@aws-sdk/util-user-agent-browser": "3.862.0",
+ "@aws-sdk/util-user-agent-node": "3.863.0",
+ "@smithy/config-resolver": "^4.1.5",
+ "@smithy/core": "^3.8.0",
+ "@smithy/eventstream-serde-browser": "^4.0.5",
+ "@smithy/eventstream-serde-config-resolver": "^4.1.3",
+ "@smithy/eventstream-serde-node": "^4.0.5",
+ "@smithy/fetch-http-handler": "^5.1.1",
+ "@smithy/hash-node": "^4.0.5",
+ "@smithy/invalid-dependency": "^4.0.5",
+ "@smithy/middleware-content-length": "^4.0.5",
+ "@smithy/middleware-endpoint": "^4.1.18",
+ "@smithy/middleware-retry": "^4.1.19",
+ "@smithy/middleware-serde": "^4.0.9",
+ "@smithy/middleware-stack": "^4.0.5",
+ "@smithy/node-config-provider": "^4.1.4",
+ "@smithy/node-http-handler": "^4.1.1",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/smithy-client": "^4.4.10",
+ "@smithy/types": "^4.3.2",
+ "@smithy/url-parser": "^4.0.5",
"@smithy/util-base64": "^4.0.0",
"@smithy/util-body-length-browser": "^4.0.0",
"@smithy/util-body-length-node": "^4.0.0",
- "@smithy/util-defaults-mode-browser": "^4.0.12",
- "@smithy/util-defaults-mode-node": "^4.0.12",
- "@smithy/util-endpoints": "^3.0.4",
- "@smithy/util-middleware": "^4.0.2",
- "@smithy/util-retry": "^4.0.3",
- "@smithy/util-stream": "^4.2.0",
+ "@smithy/util-defaults-mode-browser": "^4.0.26",
+ "@smithy/util-defaults-mode-node": "^4.0.26",
+ "@smithy/util-endpoints": "^3.0.7",
+ "@smithy/util-middleware": "^4.0.5",
+ "@smithy/util-retry": "^4.0.7",
+ "@smithy/util-stream": "^4.2.4",
"@smithy/util-utf8": "^4.0.0",
"@types/uuid": "^9.0.1",
"tslib": "^2.6.2",
@@ -851,12 +1070,12 @@
}
},
"node_modules/@aws-sdk/client-bedrock-runtime/node_modules/@aws-sdk/types": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.804.0.tgz",
- "integrity": "sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -877,48 +1096,48 @@
}
},
"node_modules/@aws-sdk/client-cognito-identity": {
- "version": "3.808.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.808.0.tgz",
- "integrity": "sha512-M9pdFQ+Efl1O4No6R7uMEOkidKVUiNsmN13EyzuIOGech9g+RF+LgDn3n8+PuC7EIgndQVe6sQ6w39sPQdBkww==",
+ "version": "3.863.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.863.0.tgz",
+ "integrity": "sha512-Dhtrr5K6GdxzAGyVUaxvqg+mDPuHhPhMTAYufY6dR3b33azNcJc21aGVFbNhCnAWuswlR/OMHnAeB9DGPYz2Gg==",
"license": "Apache-2.0",
"dependencies": {
"@aws-crypto/sha256-browser": "5.2.0",
"@aws-crypto/sha256-js": "5.2.0",
- "@aws-sdk/core": "3.808.0",
- "@aws-sdk/credential-provider-node": "3.808.0",
- "@aws-sdk/middleware-host-header": "3.804.0",
- "@aws-sdk/middleware-logger": "3.804.0",
- "@aws-sdk/middleware-recursion-detection": "3.804.0",
- "@aws-sdk/middleware-user-agent": "3.808.0",
- "@aws-sdk/region-config-resolver": "3.808.0",
- "@aws-sdk/types": "3.804.0",
- "@aws-sdk/util-endpoints": "3.808.0",
- "@aws-sdk/util-user-agent-browser": "3.804.0",
- "@aws-sdk/util-user-agent-node": "3.808.0",
- "@smithy/config-resolver": "^4.1.2",
- "@smithy/core": "^3.3.1",
- "@smithy/fetch-http-handler": "^5.0.2",
- "@smithy/hash-node": "^4.0.2",
- "@smithy/invalid-dependency": "^4.0.2",
- "@smithy/middleware-content-length": "^4.0.2",
- "@smithy/middleware-endpoint": "^4.1.4",
- "@smithy/middleware-retry": "^4.1.5",
- "@smithy/middleware-serde": "^4.0.3",
- "@smithy/middleware-stack": "^4.0.2",
- "@smithy/node-config-provider": "^4.1.1",
- "@smithy/node-http-handler": "^4.0.4",
- "@smithy/protocol-http": "^5.1.0",
- "@smithy/smithy-client": "^4.2.4",
- "@smithy/types": "^4.2.0",
- "@smithy/url-parser": "^4.0.2",
+ "@aws-sdk/core": "3.863.0",
+ "@aws-sdk/credential-provider-node": "3.863.0",
+ "@aws-sdk/middleware-host-header": "3.862.0",
+ "@aws-sdk/middleware-logger": "3.862.0",
+ "@aws-sdk/middleware-recursion-detection": "3.862.0",
+ "@aws-sdk/middleware-user-agent": "3.863.0",
+ "@aws-sdk/region-config-resolver": "3.862.0",
+ "@aws-sdk/types": "3.862.0",
+ "@aws-sdk/util-endpoints": "3.862.0",
+ "@aws-sdk/util-user-agent-browser": "3.862.0",
+ "@aws-sdk/util-user-agent-node": "3.863.0",
+ "@smithy/config-resolver": "^4.1.5",
+ "@smithy/core": "^3.8.0",
+ "@smithy/fetch-http-handler": "^5.1.1",
+ "@smithy/hash-node": "^4.0.5",
+ "@smithy/invalid-dependency": "^4.0.5",
+ "@smithy/middleware-content-length": "^4.0.5",
+ "@smithy/middleware-endpoint": "^4.1.18",
+ "@smithy/middleware-retry": "^4.1.19",
+ "@smithy/middleware-serde": "^4.0.9",
+ "@smithy/middleware-stack": "^4.0.5",
+ "@smithy/node-config-provider": "^4.1.4",
+ "@smithy/node-http-handler": "^4.1.1",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/smithy-client": "^4.4.10",
+ "@smithy/types": "^4.3.2",
+ "@smithy/url-parser": "^4.0.5",
"@smithy/util-base64": "^4.0.0",
"@smithy/util-body-length-browser": "^4.0.0",
"@smithy/util-body-length-node": "^4.0.0",
- "@smithy/util-defaults-mode-browser": "^4.0.12",
- "@smithy/util-defaults-mode-node": "^4.0.12",
- "@smithy/util-endpoints": "^3.0.4",
- "@smithy/util-middleware": "^4.0.2",
- "@smithy/util-retry": "^4.0.3",
+ "@smithy/util-defaults-mode-browser": "^4.0.26",
+ "@smithy/util-defaults-mode-node": "^4.0.26",
+ "@smithy/util-endpoints": "^3.0.7",
+ "@smithy/util-middleware": "^4.0.5",
+ "@smithy/util-retry": "^4.0.7",
"@smithy/util-utf8": "^4.0.0",
"tslib": "^2.6.2"
},
@@ -927,12 +1146,12 @@
}
},
"node_modules/@aws-sdk/client-cognito-identity/node_modules/@aws-sdk/types": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.804.0.tgz",
- "integrity": "sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -953,51 +1172,51 @@
}
},
"node_modules/@aws-sdk/client-dynamodb": {
- "version": "3.808.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-dynamodb/-/client-dynamodb-3.808.0.tgz",
- "integrity": "sha512-n1y4b+X/GQSGbVfegeoeii8rujBb1bjwdHmyKG5P2HILoVTpyLrO/sqQBDPCokjakZAPmJ2oe8ptqmOSw0Tv9Q==",
+ "version": "3.863.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-dynamodb/-/client-dynamodb-3.863.0.tgz",
+ "integrity": "sha512-P9ufSZDJ3VvrEEXs7Wl4eLFYQFCTdfLrxL0IlnFBG2hk8ioq/kSzo+0ifQz1yv8RNEwLSAiMYLQNOctYZNii1w==",
"license": "Apache-2.0",
"dependencies": {
"@aws-crypto/sha256-browser": "5.2.0",
"@aws-crypto/sha256-js": "5.2.0",
- "@aws-sdk/core": "3.808.0",
- "@aws-sdk/credential-provider-node": "3.808.0",
- "@aws-sdk/middleware-endpoint-discovery": "3.808.0",
- "@aws-sdk/middleware-host-header": "3.804.0",
- "@aws-sdk/middleware-logger": "3.804.0",
- "@aws-sdk/middleware-recursion-detection": "3.804.0",
- "@aws-sdk/middleware-user-agent": "3.808.0",
- "@aws-sdk/region-config-resolver": "3.808.0",
- "@aws-sdk/types": "3.804.0",
- "@aws-sdk/util-endpoints": "3.808.0",
- "@aws-sdk/util-user-agent-browser": "3.804.0",
- "@aws-sdk/util-user-agent-node": "3.808.0",
- "@smithy/config-resolver": "^4.1.2",
- "@smithy/core": "^3.3.1",
- "@smithy/fetch-http-handler": "^5.0.2",
- "@smithy/hash-node": "^4.0.2",
- "@smithy/invalid-dependency": "^4.0.2",
- "@smithy/middleware-content-length": "^4.0.2",
- "@smithy/middleware-endpoint": "^4.1.4",
- "@smithy/middleware-retry": "^4.1.5",
- "@smithy/middleware-serde": "^4.0.3",
- "@smithy/middleware-stack": "^4.0.2",
- "@smithy/node-config-provider": "^4.1.1",
- "@smithy/node-http-handler": "^4.0.4",
- "@smithy/protocol-http": "^5.1.0",
- "@smithy/smithy-client": "^4.2.4",
- "@smithy/types": "^4.2.0",
- "@smithy/url-parser": "^4.0.2",
+ "@aws-sdk/core": "3.863.0",
+ "@aws-sdk/credential-provider-node": "3.863.0",
+ "@aws-sdk/middleware-endpoint-discovery": "3.862.0",
+ "@aws-sdk/middleware-host-header": "3.862.0",
+ "@aws-sdk/middleware-logger": "3.862.0",
+ "@aws-sdk/middleware-recursion-detection": "3.862.0",
+ "@aws-sdk/middleware-user-agent": "3.863.0",
+ "@aws-sdk/region-config-resolver": "3.862.0",
+ "@aws-sdk/types": "3.862.0",
+ "@aws-sdk/util-endpoints": "3.862.0",
+ "@aws-sdk/util-user-agent-browser": "3.862.0",
+ "@aws-sdk/util-user-agent-node": "3.863.0",
+ "@smithy/config-resolver": "^4.1.5",
+ "@smithy/core": "^3.8.0",
+ "@smithy/fetch-http-handler": "^5.1.1",
+ "@smithy/hash-node": "^4.0.5",
+ "@smithy/invalid-dependency": "^4.0.5",
+ "@smithy/middleware-content-length": "^4.0.5",
+ "@smithy/middleware-endpoint": "^4.1.18",
+ "@smithy/middleware-retry": "^4.1.19",
+ "@smithy/middleware-serde": "^4.0.9",
+ "@smithy/middleware-stack": "^4.0.5",
+ "@smithy/node-config-provider": "^4.1.4",
+ "@smithy/node-http-handler": "^4.1.1",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/smithy-client": "^4.4.10",
+ "@smithy/types": "^4.3.2",
+ "@smithy/url-parser": "^4.0.5",
"@smithy/util-base64": "^4.0.0",
"@smithy/util-body-length-browser": "^4.0.0",
"@smithy/util-body-length-node": "^4.0.0",
- "@smithy/util-defaults-mode-browser": "^4.0.12",
- "@smithy/util-defaults-mode-node": "^4.0.12",
- "@smithy/util-endpoints": "^3.0.4",
- "@smithy/util-middleware": "^4.0.2",
- "@smithy/util-retry": "^4.0.3",
+ "@smithy/util-defaults-mode-browser": "^4.0.26",
+ "@smithy/util-defaults-mode-node": "^4.0.26",
+ "@smithy/util-endpoints": "^3.0.7",
+ "@smithy/util-middleware": "^4.0.5",
+ "@smithy/util-retry": "^4.0.7",
"@smithy/util-utf8": "^4.0.0",
- "@smithy/util-waiter": "^4.0.3",
+ "@smithy/util-waiter": "^4.0.7",
"@types/uuid": "^9.0.1",
"tslib": "^2.6.2",
"uuid": "^9.0.1"
@@ -1007,12 +1226,12 @@
}
},
"node_modules/@aws-sdk/client-dynamodb/node_modules/@aws-sdk/types": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.804.0.tgz",
- "integrity": "sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -2013,49 +2232,83 @@
"node": ">=16.0.0"
}
},
+ "node_modules/@aws-sdk/client-firehose/node_modules/fast-xml-parser": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz",
+ "integrity": "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/NaturalIntelligence"
+ },
+ {
+ "type": "paypal",
+ "url": "https://paypal.me/naturalintelligence"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "strnum": "^1.0.5"
+ },
+ "bin": {
+ "fxparser": "src/cli/cli.js"
+ }
+ },
+ "node_modules/@aws-sdk/client-firehose/node_modules/strnum": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.1.2.tgz",
+ "integrity": "sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/NaturalIntelligence"
+ }
+ ],
+ "license": "MIT"
+ },
"node_modules/@aws-sdk/client-kendra": {
- "version": "3.808.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-kendra/-/client-kendra-3.808.0.tgz",
- "integrity": "sha512-GsnprCZx8CTssgpup80eZGMcrYJCazNModT62SXQPZgtkvq+RjG89FbLIu7vD0KAoxuJ4AX1v7cui3mQfUqAyQ==",
+ "version": "3.863.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-kendra/-/client-kendra-3.863.0.tgz",
+ "integrity": "sha512-OMrwNl9CkwXVkUyoYsEKuQ/jwwk5iZ4BB3QNmBcmIOIzv0hYFXNB+y+IehdV0A4a0CmmcLwYTRsNMckdq+TTUg==",
"license": "Apache-2.0",
"dependencies": {
"@aws-crypto/sha256-browser": "5.2.0",
"@aws-crypto/sha256-js": "5.2.0",
- "@aws-sdk/core": "3.808.0",
- "@aws-sdk/credential-provider-node": "3.808.0",
- "@aws-sdk/middleware-host-header": "3.804.0",
- "@aws-sdk/middleware-logger": "3.804.0",
- "@aws-sdk/middleware-recursion-detection": "3.804.0",
- "@aws-sdk/middleware-user-agent": "3.808.0",
- "@aws-sdk/region-config-resolver": "3.808.0",
- "@aws-sdk/types": "3.804.0",
- "@aws-sdk/util-endpoints": "3.808.0",
- "@aws-sdk/util-user-agent-browser": "3.804.0",
- "@aws-sdk/util-user-agent-node": "3.808.0",
- "@smithy/config-resolver": "^4.1.2",
- "@smithy/core": "^3.3.1",
- "@smithy/fetch-http-handler": "^5.0.2",
- "@smithy/hash-node": "^4.0.2",
- "@smithy/invalid-dependency": "^4.0.2",
- "@smithy/middleware-content-length": "^4.0.2",
- "@smithy/middleware-endpoint": "^4.1.4",
- "@smithy/middleware-retry": "^4.1.5",
- "@smithy/middleware-serde": "^4.0.3",
- "@smithy/middleware-stack": "^4.0.2",
- "@smithy/node-config-provider": "^4.1.1",
- "@smithy/node-http-handler": "^4.0.4",
- "@smithy/protocol-http": "^5.1.0",
- "@smithy/smithy-client": "^4.2.4",
- "@smithy/types": "^4.2.0",
- "@smithy/url-parser": "^4.0.2",
+ "@aws-sdk/core": "3.863.0",
+ "@aws-sdk/credential-provider-node": "3.863.0",
+ "@aws-sdk/middleware-host-header": "3.862.0",
+ "@aws-sdk/middleware-logger": "3.862.0",
+ "@aws-sdk/middleware-recursion-detection": "3.862.0",
+ "@aws-sdk/middleware-user-agent": "3.863.0",
+ "@aws-sdk/region-config-resolver": "3.862.0",
+ "@aws-sdk/types": "3.862.0",
+ "@aws-sdk/util-endpoints": "3.862.0",
+ "@aws-sdk/util-user-agent-browser": "3.862.0",
+ "@aws-sdk/util-user-agent-node": "3.863.0",
+ "@smithy/config-resolver": "^4.1.5",
+ "@smithy/core": "^3.8.0",
+ "@smithy/fetch-http-handler": "^5.1.1",
+ "@smithy/hash-node": "^4.0.5",
+ "@smithy/invalid-dependency": "^4.0.5",
+ "@smithy/middleware-content-length": "^4.0.5",
+ "@smithy/middleware-endpoint": "^4.1.18",
+ "@smithy/middleware-retry": "^4.1.19",
+ "@smithy/middleware-serde": "^4.0.9",
+ "@smithy/middleware-stack": "^4.0.5",
+ "@smithy/node-config-provider": "^4.1.4",
+ "@smithy/node-http-handler": "^4.1.1",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/smithy-client": "^4.4.10",
+ "@smithy/types": "^4.3.2",
+ "@smithy/url-parser": "^4.0.5",
"@smithy/util-base64": "^4.0.0",
"@smithy/util-body-length-browser": "^4.0.0",
"@smithy/util-body-length-node": "^4.0.0",
- "@smithy/util-defaults-mode-browser": "^4.0.12",
- "@smithy/util-defaults-mode-node": "^4.0.12",
- "@smithy/util-endpoints": "^3.0.4",
- "@smithy/util-middleware": "^4.0.2",
- "@smithy/util-retry": "^4.0.3",
+ "@smithy/util-defaults-mode-browser": "^4.0.26",
+ "@smithy/util-defaults-mode-node": "^4.0.26",
+ "@smithy/util-endpoints": "^3.0.7",
+ "@smithy/util-middleware": "^4.0.5",
+ "@smithy/util-retry": "^4.0.7",
"@smithy/util-utf8": "^4.0.0",
"@types/uuid": "^9.0.1",
"tslib": "^2.6.2",
@@ -2066,12 +2319,12 @@
}
},
"node_modules/@aws-sdk/client-kendra/node_modules/@aws-sdk/types": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.804.0.tgz",
- "integrity": "sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -3157,55 +3410,89 @@
"node": ">=16.0.0"
}
},
+ "node_modules/@aws-sdk/client-kinesis/node_modules/fast-xml-parser": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz",
+ "integrity": "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/NaturalIntelligence"
+ },
+ {
+ "type": "paypal",
+ "url": "https://paypal.me/naturalintelligence"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "strnum": "^1.0.5"
+ },
+ "bin": {
+ "fxparser": "src/cli/cli.js"
+ }
+ },
+ "node_modules/@aws-sdk/client-kinesis/node_modules/strnum": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.1.2.tgz",
+ "integrity": "sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/NaturalIntelligence"
+ }
+ ],
+ "license": "MIT"
+ },
"node_modules/@aws-sdk/client-lambda": {
- "version": "3.808.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-lambda/-/client-lambda-3.808.0.tgz",
- "integrity": "sha512-pQZUT0dGIhYz9kwQPp2CKgWaQilGfcHC7EasS5NPvoPB3HT2+zX7tOUqUiDYqObbQdGeHwF91up+1uf5WnQGzw==",
+ "version": "3.863.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-lambda/-/client-lambda-3.863.0.tgz",
+ "integrity": "sha512-BowAvafEC+EGKNWIvUrbWK+Mounp/ZUhAlQSrxlCLQ4XWvj1NkjeL8MXVxoVFo58l1e7cIDValPUXUyfQ2tTsg==",
"license": "Apache-2.0",
"dependencies": {
"@aws-crypto/sha256-browser": "5.2.0",
"@aws-crypto/sha256-js": "5.2.0",
- "@aws-sdk/core": "3.808.0",
- "@aws-sdk/credential-provider-node": "3.808.0",
- "@aws-sdk/middleware-host-header": "3.804.0",
- "@aws-sdk/middleware-logger": "3.804.0",
- "@aws-sdk/middleware-recursion-detection": "3.804.0",
- "@aws-sdk/middleware-user-agent": "3.808.0",
- "@aws-sdk/region-config-resolver": "3.808.0",
- "@aws-sdk/types": "3.804.0",
- "@aws-sdk/util-endpoints": "3.808.0",
- "@aws-sdk/util-user-agent-browser": "3.804.0",
- "@aws-sdk/util-user-agent-node": "3.808.0",
- "@smithy/config-resolver": "^4.1.2",
- "@smithy/core": "^3.3.1",
- "@smithy/eventstream-serde-browser": "^4.0.2",
- "@smithy/eventstream-serde-config-resolver": "^4.1.0",
- "@smithy/eventstream-serde-node": "^4.0.2",
- "@smithy/fetch-http-handler": "^5.0.2",
- "@smithy/hash-node": "^4.0.2",
- "@smithy/invalid-dependency": "^4.0.2",
- "@smithy/middleware-content-length": "^4.0.2",
- "@smithy/middleware-endpoint": "^4.1.4",
- "@smithy/middleware-retry": "^4.1.5",
- "@smithy/middleware-serde": "^4.0.3",
- "@smithy/middleware-stack": "^4.0.2",
- "@smithy/node-config-provider": "^4.1.1",
- "@smithy/node-http-handler": "^4.0.4",
- "@smithy/protocol-http": "^5.1.0",
- "@smithy/smithy-client": "^4.2.4",
- "@smithy/types": "^4.2.0",
- "@smithy/url-parser": "^4.0.2",
+ "@aws-sdk/core": "3.863.0",
+ "@aws-sdk/credential-provider-node": "3.863.0",
+ "@aws-sdk/middleware-host-header": "3.862.0",
+ "@aws-sdk/middleware-logger": "3.862.0",
+ "@aws-sdk/middleware-recursion-detection": "3.862.0",
+ "@aws-sdk/middleware-user-agent": "3.863.0",
+ "@aws-sdk/region-config-resolver": "3.862.0",
+ "@aws-sdk/types": "3.862.0",
+ "@aws-sdk/util-endpoints": "3.862.0",
+ "@aws-sdk/util-user-agent-browser": "3.862.0",
+ "@aws-sdk/util-user-agent-node": "3.863.0",
+ "@smithy/config-resolver": "^4.1.5",
+ "@smithy/core": "^3.8.0",
+ "@smithy/eventstream-serde-browser": "^4.0.5",
+ "@smithy/eventstream-serde-config-resolver": "^4.1.3",
+ "@smithy/eventstream-serde-node": "^4.0.5",
+ "@smithy/fetch-http-handler": "^5.1.1",
+ "@smithy/hash-node": "^4.0.5",
+ "@smithy/invalid-dependency": "^4.0.5",
+ "@smithy/middleware-content-length": "^4.0.5",
+ "@smithy/middleware-endpoint": "^4.1.18",
+ "@smithy/middleware-retry": "^4.1.19",
+ "@smithy/middleware-serde": "^4.0.9",
+ "@smithy/middleware-stack": "^4.0.5",
+ "@smithy/node-config-provider": "^4.1.4",
+ "@smithy/node-http-handler": "^4.1.1",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/smithy-client": "^4.4.10",
+ "@smithy/types": "^4.3.2",
+ "@smithy/url-parser": "^4.0.5",
"@smithy/util-base64": "^4.0.0",
"@smithy/util-body-length-browser": "^4.0.0",
"@smithy/util-body-length-node": "^4.0.0",
- "@smithy/util-defaults-mode-browser": "^4.0.12",
- "@smithy/util-defaults-mode-node": "^4.0.12",
- "@smithy/util-endpoints": "^3.0.4",
- "@smithy/util-middleware": "^4.0.2",
- "@smithy/util-retry": "^4.0.3",
- "@smithy/util-stream": "^4.2.0",
+ "@smithy/util-defaults-mode-browser": "^4.0.26",
+ "@smithy/util-defaults-mode-node": "^4.0.26",
+ "@smithy/util-endpoints": "^3.0.7",
+ "@smithy/util-middleware": "^4.0.5",
+ "@smithy/util-retry": "^4.0.7",
+ "@smithy/util-stream": "^4.2.4",
"@smithy/util-utf8": "^4.0.0",
- "@smithy/util-waiter": "^4.0.3",
+ "@smithy/util-waiter": "^4.0.7",
"tslib": "^2.6.2"
},
"engines": {
@@ -3213,12 +3500,12 @@
}
},
"node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/types": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.804.0.tgz",
- "integrity": "sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -4219,50 +4506,84 @@
"node": ">=16.0.0"
}
},
+ "node_modules/@aws-sdk/client-personalize-events/node_modules/fast-xml-parser": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz",
+ "integrity": "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/NaturalIntelligence"
+ },
+ {
+ "type": "paypal",
+ "url": "https://paypal.me/naturalintelligence"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "strnum": "^1.0.5"
+ },
+ "bin": {
+ "fxparser": "src/cli/cli.js"
+ }
+ },
+ "node_modules/@aws-sdk/client-personalize-events/node_modules/strnum": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.1.2.tgz",
+ "integrity": "sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/NaturalIntelligence"
+ }
+ ],
+ "license": "MIT"
+ },
"node_modules/@aws-sdk/client-polly": {
- "version": "3.808.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-polly/-/client-polly-3.808.0.tgz",
- "integrity": "sha512-EkzGAx3q1H0Tw6xGoskPjb+YcLdjHr16ke0MMgGzxgjpgWGwnWLHwDeyVruc5Yrncc3ru6JiVJ1XoBS9mJ+KLw==",
+ "version": "3.863.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-polly/-/client-polly-3.863.0.tgz",
+ "integrity": "sha512-/39KxQ7w777Xt0WDLj/Pq8As1iv2bahiOGgtpPYnLxzEhQ5wnc9eLPBDRWePBuBiPcQ9DffdzD0tIg79pNweIA==",
"license": "Apache-2.0",
"dependencies": {
"@aws-crypto/sha256-browser": "5.2.0",
"@aws-crypto/sha256-js": "5.2.0",
- "@aws-sdk/core": "3.808.0",
- "@aws-sdk/credential-provider-node": "3.808.0",
- "@aws-sdk/middleware-host-header": "3.804.0",
- "@aws-sdk/middleware-logger": "3.804.0",
- "@aws-sdk/middleware-recursion-detection": "3.804.0",
- "@aws-sdk/middleware-user-agent": "3.808.0",
- "@aws-sdk/region-config-resolver": "3.808.0",
- "@aws-sdk/types": "3.804.0",
- "@aws-sdk/util-endpoints": "3.808.0",
- "@aws-sdk/util-user-agent-browser": "3.804.0",
- "@aws-sdk/util-user-agent-node": "3.808.0",
- "@smithy/config-resolver": "^4.1.2",
- "@smithy/core": "^3.3.1",
- "@smithy/fetch-http-handler": "^5.0.2",
- "@smithy/hash-node": "^4.0.2",
- "@smithy/invalid-dependency": "^4.0.2",
- "@smithy/middleware-content-length": "^4.0.2",
- "@smithy/middleware-endpoint": "^4.1.4",
- "@smithy/middleware-retry": "^4.1.5",
- "@smithy/middleware-serde": "^4.0.3",
- "@smithy/middleware-stack": "^4.0.2",
- "@smithy/node-config-provider": "^4.1.1",
- "@smithy/node-http-handler": "^4.0.4",
- "@smithy/protocol-http": "^5.1.0",
- "@smithy/smithy-client": "^4.2.4",
- "@smithy/types": "^4.2.0",
- "@smithy/url-parser": "^4.0.2",
+ "@aws-sdk/core": "3.863.0",
+ "@aws-sdk/credential-provider-node": "3.863.0",
+ "@aws-sdk/middleware-host-header": "3.862.0",
+ "@aws-sdk/middleware-logger": "3.862.0",
+ "@aws-sdk/middleware-recursion-detection": "3.862.0",
+ "@aws-sdk/middleware-user-agent": "3.863.0",
+ "@aws-sdk/region-config-resolver": "3.862.0",
+ "@aws-sdk/types": "3.862.0",
+ "@aws-sdk/util-endpoints": "3.862.0",
+ "@aws-sdk/util-user-agent-browser": "3.862.0",
+ "@aws-sdk/util-user-agent-node": "3.863.0",
+ "@smithy/config-resolver": "^4.1.5",
+ "@smithy/core": "^3.8.0",
+ "@smithy/fetch-http-handler": "^5.1.1",
+ "@smithy/hash-node": "^4.0.5",
+ "@smithy/invalid-dependency": "^4.0.5",
+ "@smithy/middleware-content-length": "^4.0.5",
+ "@smithy/middleware-endpoint": "^4.1.18",
+ "@smithy/middleware-retry": "^4.1.19",
+ "@smithy/middleware-serde": "^4.0.9",
+ "@smithy/middleware-stack": "^4.0.5",
+ "@smithy/node-config-provider": "^4.1.4",
+ "@smithy/node-http-handler": "^4.1.1",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/smithy-client": "^4.4.10",
+ "@smithy/types": "^4.3.2",
+ "@smithy/url-parser": "^4.0.5",
"@smithy/util-base64": "^4.0.0",
"@smithy/util-body-length-browser": "^4.0.0",
"@smithy/util-body-length-node": "^4.0.0",
- "@smithy/util-defaults-mode-browser": "^4.0.12",
- "@smithy/util-defaults-mode-node": "^4.0.12",
- "@smithy/util-endpoints": "^3.0.4",
- "@smithy/util-middleware": "^4.0.2",
- "@smithy/util-retry": "^4.0.3",
- "@smithy/util-stream": "^4.2.0",
+ "@smithy/util-defaults-mode-browser": "^4.0.26",
+ "@smithy/util-defaults-mode-node": "^4.0.26",
+ "@smithy/util-endpoints": "^3.0.7",
+ "@smithy/util-middleware": "^4.0.5",
+ "@smithy/util-retry": "^4.0.7",
+ "@smithy/util-stream": "^4.2.4",
"@smithy/util-utf8": "^4.0.0",
"tslib": "^2.6.2"
},
@@ -4271,12 +4592,12 @@
}
},
"node_modules/@aws-sdk/client-polly/node_modules/@aws-sdk/types": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.804.0.tgz",
- "integrity": "sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -4297,79 +4618,81 @@
}
},
"node_modules/@aws-sdk/client-s3": {
- "version": "3.808.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.808.0.tgz",
- "integrity": "sha512-8RY3Jsm84twmYfiqnMkxznuY6pBX7y2GiuEJVdW1ZJLXRDOiCPkTBHsO6jUwppfMua7HRhO2OTAdWr7aSBAdPw==",
+ "version": "3.863.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.863.0.tgz",
+ "integrity": "sha512-12iPziQtTolNiWFlN7Bg4jDfh1eOVB0hW6bsP1cI3JVr/IF0pVvPjQ1WEUhjTlOujC/U+JaYjw3iQ7nWKHX6vQ==",
"license": "Apache-2.0",
"dependencies": {
"@aws-crypto/sha1-browser": "5.2.0",
"@aws-crypto/sha256-browser": "5.2.0",
"@aws-crypto/sha256-js": "5.2.0",
- "@aws-sdk/core": "3.808.0",
- "@aws-sdk/credential-provider-node": "3.808.0",
- "@aws-sdk/middleware-bucket-endpoint": "3.808.0",
- "@aws-sdk/middleware-expect-continue": "3.804.0",
- "@aws-sdk/middleware-flexible-checksums": "3.808.0",
- "@aws-sdk/middleware-host-header": "3.804.0",
- "@aws-sdk/middleware-location-constraint": "3.804.0",
- "@aws-sdk/middleware-logger": "3.804.0",
- "@aws-sdk/middleware-recursion-detection": "3.804.0",
- "@aws-sdk/middleware-sdk-s3": "3.808.0",
- "@aws-sdk/middleware-ssec": "3.804.0",
- "@aws-sdk/middleware-user-agent": "3.808.0",
- "@aws-sdk/region-config-resolver": "3.808.0",
- "@aws-sdk/signature-v4-multi-region": "3.808.0",
- "@aws-sdk/types": "3.804.0",
- "@aws-sdk/util-endpoints": "3.808.0",
- "@aws-sdk/util-user-agent-browser": "3.804.0",
- "@aws-sdk/util-user-agent-node": "3.808.0",
- "@aws-sdk/xml-builder": "3.804.0",
- "@smithy/config-resolver": "^4.1.2",
- "@smithy/core": "^3.3.1",
- "@smithy/eventstream-serde-browser": "^4.0.2",
- "@smithy/eventstream-serde-config-resolver": "^4.1.0",
- "@smithy/eventstream-serde-node": "^4.0.2",
- "@smithy/fetch-http-handler": "^5.0.2",
- "@smithy/hash-blob-browser": "^4.0.2",
- "@smithy/hash-node": "^4.0.2",
- "@smithy/hash-stream-node": "^4.0.2",
- "@smithy/invalid-dependency": "^4.0.2",
- "@smithy/md5-js": "^4.0.2",
- "@smithy/middleware-content-length": "^4.0.2",
- "@smithy/middleware-endpoint": "^4.1.4",
- "@smithy/middleware-retry": "^4.1.5",
- "@smithy/middleware-serde": "^4.0.3",
- "@smithy/middleware-stack": "^4.0.2",
- "@smithy/node-config-provider": "^4.1.1",
- "@smithy/node-http-handler": "^4.0.4",
- "@smithy/protocol-http": "^5.1.0",
- "@smithy/smithy-client": "^4.2.4",
- "@smithy/types": "^4.2.0",
- "@smithy/url-parser": "^4.0.2",
+ "@aws-sdk/core": "3.863.0",
+ "@aws-sdk/credential-provider-node": "3.863.0",
+ "@aws-sdk/middleware-bucket-endpoint": "3.862.0",
+ "@aws-sdk/middleware-expect-continue": "3.862.0",
+ "@aws-sdk/middleware-flexible-checksums": "3.863.0",
+ "@aws-sdk/middleware-host-header": "3.862.0",
+ "@aws-sdk/middleware-location-constraint": "3.862.0",
+ "@aws-sdk/middleware-logger": "3.862.0",
+ "@aws-sdk/middleware-recursion-detection": "3.862.0",
+ "@aws-sdk/middleware-sdk-s3": "3.863.0",
+ "@aws-sdk/middleware-ssec": "3.862.0",
+ "@aws-sdk/middleware-user-agent": "3.863.0",
+ "@aws-sdk/region-config-resolver": "3.862.0",
+ "@aws-sdk/signature-v4-multi-region": "3.863.0",
+ "@aws-sdk/types": "3.862.0",
+ "@aws-sdk/util-endpoints": "3.862.0",
+ "@aws-sdk/util-user-agent-browser": "3.862.0",
+ "@aws-sdk/util-user-agent-node": "3.863.0",
+ "@aws-sdk/xml-builder": "3.862.0",
+ "@smithy/config-resolver": "^4.1.5",
+ "@smithy/core": "^3.8.0",
+ "@smithy/eventstream-serde-browser": "^4.0.5",
+ "@smithy/eventstream-serde-config-resolver": "^4.1.3",
+ "@smithy/eventstream-serde-node": "^4.0.5",
+ "@smithy/fetch-http-handler": "^5.1.1",
+ "@smithy/hash-blob-browser": "^4.0.5",
+ "@smithy/hash-node": "^4.0.5",
+ "@smithy/hash-stream-node": "^4.0.5",
+ "@smithy/invalid-dependency": "^4.0.5",
+ "@smithy/md5-js": "^4.0.5",
+ "@smithy/middleware-content-length": "^4.0.5",
+ "@smithy/middleware-endpoint": "^4.1.18",
+ "@smithy/middleware-retry": "^4.1.19",
+ "@smithy/middleware-serde": "^4.0.9",
+ "@smithy/middleware-stack": "^4.0.5",
+ "@smithy/node-config-provider": "^4.1.4",
+ "@smithy/node-http-handler": "^4.1.1",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/smithy-client": "^4.4.10",
+ "@smithy/types": "^4.3.2",
+ "@smithy/url-parser": "^4.0.5",
"@smithy/util-base64": "^4.0.0",
"@smithy/util-body-length-browser": "^4.0.0",
"@smithy/util-body-length-node": "^4.0.0",
- "@smithy/util-defaults-mode-browser": "^4.0.12",
- "@smithy/util-defaults-mode-node": "^4.0.12",
- "@smithy/util-endpoints": "^3.0.4",
- "@smithy/util-middleware": "^4.0.2",
- "@smithy/util-retry": "^4.0.3",
- "@smithy/util-stream": "^4.2.0",
+ "@smithy/util-defaults-mode-browser": "^4.0.26",
+ "@smithy/util-defaults-mode-node": "^4.0.26",
+ "@smithy/util-endpoints": "^3.0.7",
+ "@smithy/util-middleware": "^4.0.5",
+ "@smithy/util-retry": "^4.0.7",
+ "@smithy/util-stream": "^4.2.4",
"@smithy/util-utf8": "^4.0.0",
- "@smithy/util-waiter": "^4.0.3",
- "tslib": "^2.6.2"
+ "@smithy/util-waiter": "^4.0.7",
+ "@types/uuid": "^9.0.1",
+ "tslib": "^2.6.2",
+ "uuid": "^9.0.1"
},
"engines": {
"node": ">=18.0.0"
}
},
"node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/types": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.804.0.tgz",
- "integrity": "sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -4390,52 +4713,52 @@
}
},
"node_modules/@aws-sdk/client-sagemaker-runtime": {
- "version": "3.808.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-sagemaker-runtime/-/client-sagemaker-runtime-3.808.0.tgz",
- "integrity": "sha512-GxeJHPoX9O6mA+QChAMUhzslBsWZpaU1yH7v2vKVgroOO+jZdhOGZb94nMx0OSbuYiwlMoxRbtgb94hFYEb0TQ==",
+ "version": "3.863.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-sagemaker-runtime/-/client-sagemaker-runtime-3.863.0.tgz",
+ "integrity": "sha512-eM5urFhQ/P1ihQoMrSbngd89GjQtES/d3aBrpcK1CqGQBW5uC5RDIttuvVLsRMYqR8BsBY7Wlupm1eC7/n9J4w==",
"license": "Apache-2.0",
"dependencies": {
"@aws-crypto/sha256-browser": "5.2.0",
"@aws-crypto/sha256-js": "5.2.0",
- "@aws-sdk/core": "3.808.0",
- "@aws-sdk/credential-provider-node": "3.808.0",
- "@aws-sdk/middleware-host-header": "3.804.0",
- "@aws-sdk/middleware-logger": "3.804.0",
- "@aws-sdk/middleware-recursion-detection": "3.804.0",
- "@aws-sdk/middleware-user-agent": "3.808.0",
- "@aws-sdk/region-config-resolver": "3.808.0",
- "@aws-sdk/types": "3.804.0",
- "@aws-sdk/util-endpoints": "3.808.0",
- "@aws-sdk/util-user-agent-browser": "3.804.0",
- "@aws-sdk/util-user-agent-node": "3.808.0",
- "@smithy/config-resolver": "^4.1.2",
- "@smithy/core": "^3.3.1",
- "@smithy/eventstream-serde-browser": "^4.0.2",
- "@smithy/eventstream-serde-config-resolver": "^4.1.0",
- "@smithy/eventstream-serde-node": "^4.0.2",
- "@smithy/fetch-http-handler": "^5.0.2",
- "@smithy/hash-node": "^4.0.2",
- "@smithy/invalid-dependency": "^4.0.2",
- "@smithy/middleware-content-length": "^4.0.2",
- "@smithy/middleware-endpoint": "^4.1.4",
- "@smithy/middleware-retry": "^4.1.5",
- "@smithy/middleware-serde": "^4.0.3",
- "@smithy/middleware-stack": "^4.0.2",
- "@smithy/node-config-provider": "^4.1.1",
- "@smithy/node-http-handler": "^4.0.4",
- "@smithy/protocol-http": "^5.1.0",
- "@smithy/smithy-client": "^4.2.4",
- "@smithy/types": "^4.2.0",
- "@smithy/url-parser": "^4.0.2",
+ "@aws-sdk/core": "3.863.0",
+ "@aws-sdk/credential-provider-node": "3.863.0",
+ "@aws-sdk/middleware-host-header": "3.862.0",
+ "@aws-sdk/middleware-logger": "3.862.0",
+ "@aws-sdk/middleware-recursion-detection": "3.862.0",
+ "@aws-sdk/middleware-user-agent": "3.863.0",
+ "@aws-sdk/region-config-resolver": "3.862.0",
+ "@aws-sdk/types": "3.862.0",
+ "@aws-sdk/util-endpoints": "3.862.0",
+ "@aws-sdk/util-user-agent-browser": "3.862.0",
+ "@aws-sdk/util-user-agent-node": "3.863.0",
+ "@smithy/config-resolver": "^4.1.5",
+ "@smithy/core": "^3.8.0",
+ "@smithy/eventstream-serde-browser": "^4.0.5",
+ "@smithy/eventstream-serde-config-resolver": "^4.1.3",
+ "@smithy/eventstream-serde-node": "^4.0.5",
+ "@smithy/fetch-http-handler": "^5.1.1",
+ "@smithy/hash-node": "^4.0.5",
+ "@smithy/invalid-dependency": "^4.0.5",
+ "@smithy/middleware-content-length": "^4.0.5",
+ "@smithy/middleware-endpoint": "^4.1.18",
+ "@smithy/middleware-retry": "^4.1.19",
+ "@smithy/middleware-serde": "^4.0.9",
+ "@smithy/middleware-stack": "^4.0.5",
+ "@smithy/node-config-provider": "^4.1.4",
+ "@smithy/node-http-handler": "^4.1.1",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/smithy-client": "^4.4.10",
+ "@smithy/types": "^4.3.2",
+ "@smithy/url-parser": "^4.0.5",
"@smithy/util-base64": "^4.0.0",
"@smithy/util-body-length-browser": "^4.0.0",
"@smithy/util-body-length-node": "^4.0.0",
- "@smithy/util-defaults-mode-browser": "^4.0.12",
- "@smithy/util-defaults-mode-node": "^4.0.12",
- "@smithy/util-endpoints": "^3.0.4",
- "@smithy/util-middleware": "^4.0.2",
- "@smithy/util-retry": "^4.0.3",
- "@smithy/util-stream": "^4.2.0",
+ "@smithy/util-defaults-mode-browser": "^4.0.26",
+ "@smithy/util-defaults-mode-node": "^4.0.26",
+ "@smithy/util-endpoints": "^3.0.7",
+ "@smithy/util-middleware": "^4.0.5",
+ "@smithy/util-retry": "^4.0.7",
+ "@smithy/util-stream": "^4.2.4",
"@smithy/util-utf8": "^4.0.0",
"tslib": "^2.6.2"
},
@@ -4444,12 +4767,12 @@
}
},
"node_modules/@aws-sdk/client-sagemaker-runtime/node_modules/@aws-sdk/types": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.804.0.tgz",
- "integrity": "sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -4470,47 +4793,47 @@
}
},
"node_modules/@aws-sdk/client-sso": {
- "version": "3.808.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.808.0.tgz",
- "integrity": "sha512-NxGomD0x9q30LPOXf4x7haOm6l2BJdLEzpiC/bPEXUkf2+4XudMQumMA/hDfErY5hCE19mFAouoO465m3Gl3JQ==",
+ "version": "3.863.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.863.0.tgz",
+ "integrity": "sha512-3DZE5lx5A+MgTVS8yRBz/Ne8pWvwc7tDy4KBx5sDd93wvnDYjZW28g7W73d1dD7jfN8ZIC0REtiuNj00Ty0PBg==",
"license": "Apache-2.0",
"dependencies": {
"@aws-crypto/sha256-browser": "5.2.0",
"@aws-crypto/sha256-js": "5.2.0",
- "@aws-sdk/core": "3.808.0",
- "@aws-sdk/middleware-host-header": "3.804.0",
- "@aws-sdk/middleware-logger": "3.804.0",
- "@aws-sdk/middleware-recursion-detection": "3.804.0",
- "@aws-sdk/middleware-user-agent": "3.808.0",
- "@aws-sdk/region-config-resolver": "3.808.0",
- "@aws-sdk/types": "3.804.0",
- "@aws-sdk/util-endpoints": "3.808.0",
- "@aws-sdk/util-user-agent-browser": "3.804.0",
- "@aws-sdk/util-user-agent-node": "3.808.0",
- "@smithy/config-resolver": "^4.1.2",
- "@smithy/core": "^3.3.1",
- "@smithy/fetch-http-handler": "^5.0.2",
- "@smithy/hash-node": "^4.0.2",
- "@smithy/invalid-dependency": "^4.0.2",
- "@smithy/middleware-content-length": "^4.0.2",
- "@smithy/middleware-endpoint": "^4.1.4",
- "@smithy/middleware-retry": "^4.1.5",
- "@smithy/middleware-serde": "^4.0.3",
- "@smithy/middleware-stack": "^4.0.2",
- "@smithy/node-config-provider": "^4.1.1",
- "@smithy/node-http-handler": "^4.0.4",
- "@smithy/protocol-http": "^5.1.0",
- "@smithy/smithy-client": "^4.2.4",
- "@smithy/types": "^4.2.0",
- "@smithy/url-parser": "^4.0.2",
+ "@aws-sdk/core": "3.863.0",
+ "@aws-sdk/middleware-host-header": "3.862.0",
+ "@aws-sdk/middleware-logger": "3.862.0",
+ "@aws-sdk/middleware-recursion-detection": "3.862.0",
+ "@aws-sdk/middleware-user-agent": "3.863.0",
+ "@aws-sdk/region-config-resolver": "3.862.0",
+ "@aws-sdk/types": "3.862.0",
+ "@aws-sdk/util-endpoints": "3.862.0",
+ "@aws-sdk/util-user-agent-browser": "3.862.0",
+ "@aws-sdk/util-user-agent-node": "3.863.0",
+ "@smithy/config-resolver": "^4.1.5",
+ "@smithy/core": "^3.8.0",
+ "@smithy/fetch-http-handler": "^5.1.1",
+ "@smithy/hash-node": "^4.0.5",
+ "@smithy/invalid-dependency": "^4.0.5",
+ "@smithy/middleware-content-length": "^4.0.5",
+ "@smithy/middleware-endpoint": "^4.1.18",
+ "@smithy/middleware-retry": "^4.1.19",
+ "@smithy/middleware-serde": "^4.0.9",
+ "@smithy/middleware-stack": "^4.0.5",
+ "@smithy/node-config-provider": "^4.1.4",
+ "@smithy/node-http-handler": "^4.1.1",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/smithy-client": "^4.4.10",
+ "@smithy/types": "^4.3.2",
+ "@smithy/url-parser": "^4.0.5",
"@smithy/util-base64": "^4.0.0",
"@smithy/util-body-length-browser": "^4.0.0",
"@smithy/util-body-length-node": "^4.0.0",
- "@smithy/util-defaults-mode-browser": "^4.0.12",
- "@smithy/util-defaults-mode-node": "^4.0.12",
- "@smithy/util-endpoints": "^3.0.4",
- "@smithy/util-middleware": "^4.0.2",
- "@smithy/util-retry": "^4.0.3",
+ "@smithy/util-defaults-mode-browser": "^4.0.26",
+ "@smithy/util-defaults-mode-node": "^4.0.26",
+ "@smithy/util-endpoints": "^3.0.7",
+ "@smithy/util-middleware": "^4.0.5",
+ "@smithy/util-retry": "^4.0.7",
"@smithy/util-utf8": "^4.0.0",
"tslib": "^2.6.2"
},
@@ -5500,13 +5823,47 @@
"node": ">=16.0.0"
}
},
+ "node_modules/@aws-sdk/client-sso-oidc/node_modules/fast-xml-parser": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz",
+ "integrity": "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/NaturalIntelligence"
+ },
+ {
+ "type": "paypal",
+ "url": "https://paypal.me/naturalintelligence"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "strnum": "^1.0.5"
+ },
+ "bin": {
+ "fxparser": "src/cli/cli.js"
+ }
+ },
+ "node_modules/@aws-sdk/client-sso-oidc/node_modules/strnum": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.1.2.tgz",
+ "integrity": "sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/NaturalIntelligence"
+ }
+ ],
+ "license": "MIT"
+ },
"node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/types": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.804.0.tgz",
- "integrity": "sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -6506,49 +6863,83 @@
"node": ">=16.0.0"
}
},
+ "node_modules/@aws-sdk/client-sts/node_modules/fast-xml-parser": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz",
+ "integrity": "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/NaturalIntelligence"
+ },
+ {
+ "type": "paypal",
+ "url": "https://paypal.me/naturalintelligence"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "strnum": "^1.0.5"
+ },
+ "bin": {
+ "fxparser": "src/cli/cli.js"
+ }
+ },
+ "node_modules/@aws-sdk/client-sts/node_modules/strnum": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.1.2.tgz",
+ "integrity": "sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/NaturalIntelligence"
+ }
+ ],
+ "license": "MIT"
+ },
"node_modules/@aws-sdk/client-transcribe": {
- "version": "3.808.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-transcribe/-/client-transcribe-3.808.0.tgz",
- "integrity": "sha512-CF2d8Bnr9pm5HtBIewIb2lKIsnGKF60kD84NTTNv8+FVhQaciTZhmbj+niWXQHYjL/6nfF/9Zro3q+7cyZqM+A==",
+ "version": "3.863.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-transcribe/-/client-transcribe-3.863.0.tgz",
+ "integrity": "sha512-aFj0jsEglzF7tD/ZDIx+SRD353OjWgO2dTvLSyYEWgjmuxVgI7Nmo+sJgvUT91VGdq3yU1XNg/UCQFHe0CxyRw==",
"license": "Apache-2.0",
"dependencies": {
"@aws-crypto/sha256-browser": "5.2.0",
"@aws-crypto/sha256-js": "5.2.0",
- "@aws-sdk/core": "3.808.0",
- "@aws-sdk/credential-provider-node": "3.808.0",
- "@aws-sdk/middleware-host-header": "3.804.0",
- "@aws-sdk/middleware-logger": "3.804.0",
- "@aws-sdk/middleware-recursion-detection": "3.804.0",
- "@aws-sdk/middleware-user-agent": "3.808.0",
- "@aws-sdk/region-config-resolver": "3.808.0",
- "@aws-sdk/types": "3.804.0",
- "@aws-sdk/util-endpoints": "3.808.0",
- "@aws-sdk/util-user-agent-browser": "3.804.0",
- "@aws-sdk/util-user-agent-node": "3.808.0",
- "@smithy/config-resolver": "^4.1.2",
- "@smithy/core": "^3.3.1",
- "@smithy/fetch-http-handler": "^5.0.2",
- "@smithy/hash-node": "^4.0.2",
- "@smithy/invalid-dependency": "^4.0.2",
- "@smithy/middleware-content-length": "^4.0.2",
- "@smithy/middleware-endpoint": "^4.1.4",
- "@smithy/middleware-retry": "^4.1.5",
- "@smithy/middleware-serde": "^4.0.3",
- "@smithy/middleware-stack": "^4.0.2",
- "@smithy/node-config-provider": "^4.1.1",
- "@smithy/node-http-handler": "^4.0.4",
- "@smithy/protocol-http": "^5.1.0",
- "@smithy/smithy-client": "^4.2.4",
- "@smithy/types": "^4.2.0",
- "@smithy/url-parser": "^4.0.2",
+ "@aws-sdk/core": "3.863.0",
+ "@aws-sdk/credential-provider-node": "3.863.0",
+ "@aws-sdk/middleware-host-header": "3.862.0",
+ "@aws-sdk/middleware-logger": "3.862.0",
+ "@aws-sdk/middleware-recursion-detection": "3.862.0",
+ "@aws-sdk/middleware-user-agent": "3.863.0",
+ "@aws-sdk/region-config-resolver": "3.862.0",
+ "@aws-sdk/types": "3.862.0",
+ "@aws-sdk/util-endpoints": "3.862.0",
+ "@aws-sdk/util-user-agent-browser": "3.862.0",
+ "@aws-sdk/util-user-agent-node": "3.863.0",
+ "@smithy/config-resolver": "^4.1.5",
+ "@smithy/core": "^3.8.0",
+ "@smithy/fetch-http-handler": "^5.1.1",
+ "@smithy/hash-node": "^4.0.5",
+ "@smithy/invalid-dependency": "^4.0.5",
+ "@smithy/middleware-content-length": "^4.0.5",
+ "@smithy/middleware-endpoint": "^4.1.18",
+ "@smithy/middleware-retry": "^4.1.19",
+ "@smithy/middleware-serde": "^4.0.9",
+ "@smithy/middleware-stack": "^4.0.5",
+ "@smithy/node-config-provider": "^4.1.4",
+ "@smithy/node-http-handler": "^4.1.1",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/smithy-client": "^4.4.10",
+ "@smithy/types": "^4.3.2",
+ "@smithy/url-parser": "^4.0.5",
"@smithy/util-base64": "^4.0.0",
"@smithy/util-body-length-browser": "^4.0.0",
"@smithy/util-body-length-node": "^4.0.0",
- "@smithy/util-defaults-mode-browser": "^4.0.12",
- "@smithy/util-defaults-mode-node": "^4.0.12",
- "@smithy/util-endpoints": "^3.0.4",
- "@smithy/util-middleware": "^4.0.2",
- "@smithy/util-retry": "^4.0.3",
+ "@smithy/util-defaults-mode-browser": "^4.0.26",
+ "@smithy/util-defaults-mode-node": "^4.0.26",
+ "@smithy/util-endpoints": "^3.0.7",
+ "@smithy/util-middleware": "^4.0.5",
+ "@smithy/util-retry": "^4.0.7",
"@smithy/util-utf8": "^4.0.0",
"tslib": "^2.6.2"
},
@@ -6557,55 +6948,55 @@
}
},
"node_modules/@aws-sdk/client-transcribe-streaming": {
- "version": "3.808.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-transcribe-streaming/-/client-transcribe-streaming-3.808.0.tgz",
- "integrity": "sha512-aSiejwVg+B9Mu0gc3F4alCYfcooMK6bHyuH+6g/zVpSB6xdHUKaTEjjo8JTIZHlg6y4Pl/ls3nZirJqpu0gi0g==",
+ "version": "3.863.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-transcribe-streaming/-/client-transcribe-streaming-3.863.0.tgz",
+ "integrity": "sha512-ITN6SIm8lBcEZ+Cm/ofdUYi0Eu9/t1NLzOXaa8W3G620Dqihuj0HU3HAzi5mrGiBTh/1dXL/l/ZEAWW7vLRAlQ==",
"license": "Apache-2.0",
"dependencies": {
"@aws-crypto/sha256-browser": "5.2.0",
"@aws-crypto/sha256-js": "5.2.0",
- "@aws-sdk/core": "3.808.0",
- "@aws-sdk/credential-provider-node": "3.808.0",
- "@aws-sdk/eventstream-handler-node": "3.804.0",
- "@aws-sdk/middleware-eventstream": "3.804.0",
- "@aws-sdk/middleware-host-header": "3.804.0",
- "@aws-sdk/middleware-logger": "3.804.0",
- "@aws-sdk/middleware-recursion-detection": "3.804.0",
- "@aws-sdk/middleware-sdk-transcribe-streaming": "3.804.0",
- "@aws-sdk/middleware-user-agent": "3.808.0",
- "@aws-sdk/middleware-websocket": "3.804.0",
- "@aws-sdk/region-config-resolver": "3.808.0",
- "@aws-sdk/types": "3.804.0",
- "@aws-sdk/util-endpoints": "3.808.0",
- "@aws-sdk/util-user-agent-browser": "3.804.0",
- "@aws-sdk/util-user-agent-node": "3.808.0",
- "@smithy/config-resolver": "^4.1.2",
- "@smithy/core": "^3.3.1",
- "@smithy/eventstream-serde-browser": "^4.0.2",
- "@smithy/eventstream-serde-config-resolver": "^4.1.0",
- "@smithy/eventstream-serde-node": "^4.0.2",
- "@smithy/fetch-http-handler": "^5.0.2",
- "@smithy/hash-node": "^4.0.2",
- "@smithy/invalid-dependency": "^4.0.2",
- "@smithy/middleware-content-length": "^4.0.2",
- "@smithy/middleware-endpoint": "^4.1.4",
- "@smithy/middleware-retry": "^4.1.5",
- "@smithy/middleware-serde": "^4.0.3",
- "@smithy/middleware-stack": "^4.0.2",
- "@smithy/node-config-provider": "^4.1.1",
- "@smithy/node-http-handler": "^4.0.4",
- "@smithy/protocol-http": "^5.1.0",
- "@smithy/smithy-client": "^4.2.4",
- "@smithy/types": "^4.2.0",
- "@smithy/url-parser": "^4.0.2",
+ "@aws-sdk/core": "3.863.0",
+ "@aws-sdk/credential-provider-node": "3.863.0",
+ "@aws-sdk/eventstream-handler-node": "3.862.0",
+ "@aws-sdk/middleware-eventstream": "3.862.0",
+ "@aws-sdk/middleware-host-header": "3.862.0",
+ "@aws-sdk/middleware-logger": "3.862.0",
+ "@aws-sdk/middleware-recursion-detection": "3.862.0",
+ "@aws-sdk/middleware-sdk-transcribe-streaming": "3.862.0",
+ "@aws-sdk/middleware-user-agent": "3.863.0",
+ "@aws-sdk/middleware-websocket": "3.862.0",
+ "@aws-sdk/region-config-resolver": "3.862.0",
+ "@aws-sdk/types": "3.862.0",
+ "@aws-sdk/util-endpoints": "3.862.0",
+ "@aws-sdk/util-user-agent-browser": "3.862.0",
+ "@aws-sdk/util-user-agent-node": "3.863.0",
+ "@smithy/config-resolver": "^4.1.5",
+ "@smithy/core": "^3.8.0",
+ "@smithy/eventstream-serde-browser": "^4.0.5",
+ "@smithy/eventstream-serde-config-resolver": "^4.1.3",
+ "@smithy/eventstream-serde-node": "^4.0.5",
+ "@smithy/fetch-http-handler": "^5.1.1",
+ "@smithy/hash-node": "^4.0.5",
+ "@smithy/invalid-dependency": "^4.0.5",
+ "@smithy/middleware-content-length": "^4.0.5",
+ "@smithy/middleware-endpoint": "^4.1.18",
+ "@smithy/middleware-retry": "^4.1.19",
+ "@smithy/middleware-serde": "^4.0.9",
+ "@smithy/middleware-stack": "^4.0.5",
+ "@smithy/node-config-provider": "^4.1.4",
+ "@smithy/node-http-handler": "^4.1.1",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/smithy-client": "^4.4.10",
+ "@smithy/types": "^4.3.2",
+ "@smithy/url-parser": "^4.0.5",
"@smithy/util-base64": "^4.0.0",
"@smithy/util-body-length-browser": "^4.0.0",
"@smithy/util-body-length-node": "^4.0.0",
- "@smithy/util-defaults-mode-browser": "^4.0.12",
- "@smithy/util-defaults-mode-node": "^4.0.12",
- "@smithy/util-endpoints": "^3.0.4",
- "@smithy/util-middleware": "^4.0.2",
- "@smithy/util-retry": "^4.0.3",
+ "@smithy/util-defaults-mode-browser": "^4.0.26",
+ "@smithy/util-defaults-mode-node": "^4.0.26",
+ "@smithy/util-endpoints": "^3.0.7",
+ "@smithy/util-middleware": "^4.0.5",
+ "@smithy/util-retry": "^4.0.7",
"@smithy/util-utf8": "^4.0.0",
"tslib": "^2.6.2"
},
@@ -6614,12 +7005,12 @@
}
},
"node_modules/@aws-sdk/client-transcribe-streaming/node_modules/@aws-sdk/types": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.804.0.tgz",
- "integrity": "sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -6640,12 +7031,12 @@
}
},
"node_modules/@aws-sdk/client-transcribe/node_modules/@aws-sdk/types": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.804.0.tgz",
- "integrity": "sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -6666,21 +7057,25 @@
}
},
"node_modules/@aws-sdk/core": {
- "version": "3.808.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.808.0.tgz",
- "integrity": "sha512-+nTmxJVIPtAarGq9Fd/uU2qU/Ngfb9EntT0/kwXdKKMI0wU9fQNWi10xSTVeqOtzWERbQpOJgBAdta+v3W7cng==",
- "license": "Apache-2.0",
- "dependencies": {
- "@aws-sdk/types": "3.804.0",
- "@smithy/core": "^3.3.1",
- "@smithy/node-config-provider": "^4.1.1",
- "@smithy/property-provider": "^4.0.2",
- "@smithy/protocol-http": "^5.1.0",
- "@smithy/signature-v4": "^5.1.0",
- "@smithy/smithy-client": "^4.2.4",
- "@smithy/types": "^4.2.0",
- "@smithy/util-middleware": "^4.0.2",
- "fast-xml-parser": "4.4.1",
+ "version": "3.863.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.863.0.tgz",
+ "integrity": "sha512-6KUD82jb8Z+PWRoAwqpjFcrhcCvUlKNfUKKdkhj2yEdugem36d29avTpTPa6RiOEsfUi7CM4Yh60Qrj0pNI4xQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/types": "3.862.0",
+ "@aws-sdk/xml-builder": "3.862.0",
+ "@smithy/core": "^3.8.0",
+ "@smithy/node-config-provider": "^4.1.4",
+ "@smithy/property-provider": "^4.0.5",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/signature-v4": "^5.1.3",
+ "@smithy/smithy-client": "^4.4.10",
+ "@smithy/types": "^4.3.2",
+ "@smithy/util-base64": "^4.0.0",
+ "@smithy/util-body-length-browser": "^4.0.0",
+ "@smithy/util-middleware": "^4.0.5",
+ "@smithy/util-utf8": "^4.0.0",
+ "fast-xml-parser": "5.2.5",
"tslib": "^2.6.2"
},
"engines": {
@@ -6688,12 +7083,25 @@
}
},
"node_modules/@aws-sdk/core/node_modules/@aws-sdk/types": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.804.0.tgz",
- "integrity": "sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/types": "^4.3.2",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/core/node_modules/@smithy/util-utf8": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-4.0.0.tgz",
+ "integrity": "sha512-b+zebfKCfRdgNJDknHCob3O7FpeYQN6ZG6YLExMcasDHsCXlsXCEuiPZeLnJLpwa5dvPetGlnGCiMHuLwGvFow==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/util-buffer-from": "^4.0.0",
"tslib": "^2.6.2"
},
"engines": {
@@ -6701,15 +7109,15 @@
}
},
"node_modules/@aws-sdk/credential-provider-cognito-identity": {
- "version": "3.808.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.808.0.tgz",
- "integrity": "sha512-AbsD/qHyQmyZ+CqJNOaGlnwZaXu8HfndfEiLsIJU/dIf9Wbt7ZtsHSAI/x78awxGohDneMZ6c5vuaRGYL7Z04g==",
+ "version": "3.863.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.863.0.tgz",
+ "integrity": "sha512-0lhAalLvONf9hnDbWQP2Dsbdnh7iLcMfz9c8YD2vyZTFqrooy4EX8ryhZO97gycTeg2b0gaQQVLSFCCWGJcWKw==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-sdk/client-cognito-identity": "3.808.0",
- "@aws-sdk/types": "3.804.0",
- "@smithy/property-provider": "^4.0.2",
- "@smithy/types": "^4.2.0",
+ "@aws-sdk/client-cognito-identity": "3.863.0",
+ "@aws-sdk/types": "3.862.0",
+ "@smithy/property-provider": "^4.0.5",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -6717,12 +7125,12 @@
}
},
"node_modules/@aws-sdk/credential-provider-cognito-identity/node_modules/@aws-sdk/types": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.804.0.tgz",
- "integrity": "sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -6730,15 +7138,15 @@
}
},
"node_modules/@aws-sdk/credential-provider-env": {
- "version": "3.808.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.808.0.tgz",
- "integrity": "sha512-snPRQnwG9PV4kYHQimo1tenf7P974RcdxkHUThzWSxPEV7HpjxTFYNWGlKbOKBhL4AcgeCVeiZ/j+zveF2lEPA==",
+ "version": "3.863.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.863.0.tgz",
+ "integrity": "sha512-KmA5cjJU5ihR+oFJtraraeQ7aDSp3GtogSoBUKaHBsiSP7awgxuVcAWSr8wCxi0kPUjCE7kHSLTv4i9UC4soYw==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-sdk/core": "3.808.0",
- "@aws-sdk/types": "3.804.0",
- "@smithy/property-provider": "^4.0.2",
- "@smithy/types": "^4.2.0",
+ "@aws-sdk/core": "3.863.0",
+ "@aws-sdk/types": "3.862.0",
+ "@smithy/property-provider": "^4.0.5",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -6746,12 +7154,12 @@
}
},
"node_modules/@aws-sdk/credential-provider-env/node_modules/@aws-sdk/types": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.804.0.tgz",
- "integrity": "sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -6759,20 +7167,20 @@
}
},
"node_modules/@aws-sdk/credential-provider-http": {
- "version": "3.808.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.808.0.tgz",
- "integrity": "sha512-gNXjlx3BIUeX7QpVqxbjBxG6zm45lC39QvUIo92WzEJd2OTPcR8TU0OTTsgq/lpn2FrKcISj5qXvhWykd41+CA==",
+ "version": "3.863.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.863.0.tgz",
+ "integrity": "sha512-AsMgQgYG5YwBFHAuB5y/ngwT9K2axBqJm1ZM+wBMTqPvyQ7cjnfsliCAGEY2QPIxE2prX85Bc50s1OPQVPROHg==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-sdk/core": "3.808.0",
- "@aws-sdk/types": "3.804.0",
- "@smithy/fetch-http-handler": "^5.0.2",
- "@smithy/node-http-handler": "^4.0.4",
- "@smithy/property-provider": "^4.0.2",
- "@smithy/protocol-http": "^5.1.0",
- "@smithy/smithy-client": "^4.2.4",
- "@smithy/types": "^4.2.0",
- "@smithy/util-stream": "^4.2.0",
+ "@aws-sdk/core": "3.863.0",
+ "@aws-sdk/types": "3.862.0",
+ "@smithy/fetch-http-handler": "^5.1.1",
+ "@smithy/node-http-handler": "^4.1.1",
+ "@smithy/property-provider": "^4.0.5",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/smithy-client": "^4.4.10",
+ "@smithy/types": "^4.3.2",
+ "@smithy/util-stream": "^4.2.4",
"tslib": "^2.6.2"
},
"engines": {
@@ -6780,12 +7188,12 @@
}
},
"node_modules/@aws-sdk/credential-provider-http/node_modules/@aws-sdk/types": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.804.0.tgz",
- "integrity": "sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -6793,23 +7201,23 @@
}
},
"node_modules/@aws-sdk/credential-provider-ini": {
- "version": "3.808.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.808.0.tgz",
- "integrity": "sha512-Y53CW0pCvFQQEvtVFwExCCMbTg+6NOl8b3YOuZVzPmVmDoW7M1JIn9IScesqoGERXL3VoXny6nYTsZj+vfpp7Q==",
+ "version": "3.863.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.863.0.tgz",
+ "integrity": "sha512-RyyUZ7onXQdcjTnnmX3LvO3/tKsmYR9PJrLCnQQUVYlUzwref4E0ytBgk/mycxx6KHCJNVUzY4QV7s9VaUxcZA==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-sdk/core": "3.808.0",
- "@aws-sdk/credential-provider-env": "3.808.0",
- "@aws-sdk/credential-provider-http": "3.808.0",
- "@aws-sdk/credential-provider-process": "3.808.0",
- "@aws-sdk/credential-provider-sso": "3.808.0",
- "@aws-sdk/credential-provider-web-identity": "3.808.0",
- "@aws-sdk/nested-clients": "3.808.0",
- "@aws-sdk/types": "3.804.0",
- "@smithy/credential-provider-imds": "^4.0.2",
- "@smithy/property-provider": "^4.0.2",
- "@smithy/shared-ini-file-loader": "^4.0.2",
- "@smithy/types": "^4.2.0",
+ "@aws-sdk/core": "3.863.0",
+ "@aws-sdk/credential-provider-env": "3.863.0",
+ "@aws-sdk/credential-provider-http": "3.863.0",
+ "@aws-sdk/credential-provider-process": "3.863.0",
+ "@aws-sdk/credential-provider-sso": "3.863.0",
+ "@aws-sdk/credential-provider-web-identity": "3.863.0",
+ "@aws-sdk/nested-clients": "3.863.0",
+ "@aws-sdk/types": "3.862.0",
+ "@smithy/credential-provider-imds": "^4.0.7",
+ "@smithy/property-provider": "^4.0.5",
+ "@smithy/shared-ini-file-loader": "^4.0.5",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -6817,12 +7225,12 @@
}
},
"node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/types": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.804.0.tgz",
- "integrity": "sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -6830,22 +7238,22 @@
}
},
"node_modules/@aws-sdk/credential-provider-node": {
- "version": "3.808.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.808.0.tgz",
- "integrity": "sha512-lASHlXJ6U5Cpnt9Gs+mWaaSmWcEibr1AFGhp+5UNvfyd+UU2Oiwgbo7rYXygmaVDGkbfXEiTkgYtoNOBSddnWQ==",
+ "version": "3.863.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.863.0.tgz",
+ "integrity": "sha512-ApRpvgB+DN4BHVmiLvXIdpFN21wBdL5p81G5cXmipJHStThAkk2N9SSG0XxhMaCpzdRWt+4JPRwR5pHiPvnxug==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-sdk/credential-provider-env": "3.808.0",
- "@aws-sdk/credential-provider-http": "3.808.0",
- "@aws-sdk/credential-provider-ini": "3.808.0",
- "@aws-sdk/credential-provider-process": "3.808.0",
- "@aws-sdk/credential-provider-sso": "3.808.0",
- "@aws-sdk/credential-provider-web-identity": "3.808.0",
- "@aws-sdk/types": "3.804.0",
- "@smithy/credential-provider-imds": "^4.0.2",
- "@smithy/property-provider": "^4.0.2",
- "@smithy/shared-ini-file-loader": "^4.0.2",
- "@smithy/types": "^4.2.0",
+ "@aws-sdk/credential-provider-env": "3.863.0",
+ "@aws-sdk/credential-provider-http": "3.863.0",
+ "@aws-sdk/credential-provider-ini": "3.863.0",
+ "@aws-sdk/credential-provider-process": "3.863.0",
+ "@aws-sdk/credential-provider-sso": "3.863.0",
+ "@aws-sdk/credential-provider-web-identity": "3.863.0",
+ "@aws-sdk/types": "3.862.0",
+ "@smithy/credential-provider-imds": "^4.0.7",
+ "@smithy/property-provider": "^4.0.5",
+ "@smithy/shared-ini-file-loader": "^4.0.5",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -6853,12 +7261,12 @@
}
},
"node_modules/@aws-sdk/credential-provider-node/node_modules/@aws-sdk/types": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.804.0.tgz",
- "integrity": "sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -6866,16 +7274,16 @@
}
},
"node_modules/@aws-sdk/credential-provider-process": {
- "version": "3.808.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.808.0.tgz",
- "integrity": "sha512-ZLqp+xsQUatoo8pMozcfLwf/pwfXeIk0w3n0Lo/rWBgT3RcdECmmPCRcnkYBqxHQyE66aS9HiJezZUwMYPqh6w==",
+ "version": "3.863.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.863.0.tgz",
+ "integrity": "sha512-UN8AfjFvLGIHg2lMr4SNiOhCsDUv6uaD/XbAiRpt/u0z/xMsICxwkOawnKtHj24xGRAh+GgefMirl6QiTkbJ4Q==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-sdk/core": "3.808.0",
- "@aws-sdk/types": "3.804.0",
- "@smithy/property-provider": "^4.0.2",
- "@smithy/shared-ini-file-loader": "^4.0.2",
- "@smithy/types": "^4.2.0",
+ "@aws-sdk/core": "3.863.0",
+ "@aws-sdk/types": "3.862.0",
+ "@smithy/property-provider": "^4.0.5",
+ "@smithy/shared-ini-file-loader": "^4.0.5",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -6883,12 +7291,12 @@
}
},
"node_modules/@aws-sdk/credential-provider-process/node_modules/@aws-sdk/types": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.804.0.tgz",
- "integrity": "sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -6896,18 +7304,18 @@
}
},
"node_modules/@aws-sdk/credential-provider-sso": {
- "version": "3.808.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.808.0.tgz",
- "integrity": "sha512-gWZByAokHX+aps1+syIW/hbKUBrjE2RpPRd/RGQvrBbVVgwsJzsHKsW0zy1B6mgARPG6IahmSUMjNkBCVsiAgw==",
+ "version": "3.863.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.863.0.tgz",
+ "integrity": "sha512-oV4F1zY0o/txR9ruTCH+UlRf7LAKBiwkthsHplNJT0kVq98RtBIMrzk9DgibvjfBsJH1572wozDIc4yOpcB4YA==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-sdk/client-sso": "3.808.0",
- "@aws-sdk/core": "3.808.0",
- "@aws-sdk/token-providers": "3.808.0",
- "@aws-sdk/types": "3.804.0",
- "@smithy/property-provider": "^4.0.2",
- "@smithy/shared-ini-file-loader": "^4.0.2",
- "@smithy/types": "^4.2.0",
+ "@aws-sdk/client-sso": "3.863.0",
+ "@aws-sdk/core": "3.863.0",
+ "@aws-sdk/token-providers": "3.863.0",
+ "@aws-sdk/types": "3.862.0",
+ "@smithy/property-provider": "^4.0.5",
+ "@smithy/shared-ini-file-loader": "^4.0.5",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -6915,12 +7323,12 @@
}
},
"node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/types": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.804.0.tgz",
- "integrity": "sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -6928,16 +7336,16 @@
}
},
"node_modules/@aws-sdk/credential-provider-web-identity": {
- "version": "3.808.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.808.0.tgz",
- "integrity": "sha512-SsGa1Gfa05aJM/qYOtHmfg0OKKW6Fl6kyMCcai63jWDVDYy0QSHcesnqRayJolISkdsVK6bqoWoFcPxiopcFcg==",
+ "version": "3.863.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.863.0.tgz",
+ "integrity": "sha512-INN5BNFalw68BxBFT+9sj2Yxia1XvS0+ZG0dkfFAmo8iXb2mw0o52PgqOiKlQfxnjbyOH7LgTB2hfbuuEwpKjw==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-sdk/core": "3.808.0",
- "@aws-sdk/nested-clients": "3.808.0",
- "@aws-sdk/types": "3.804.0",
- "@smithy/property-provider": "^4.0.2",
- "@smithy/types": "^4.2.0",
+ "@aws-sdk/core": "3.863.0",
+ "@aws-sdk/nested-clients": "3.863.0",
+ "@aws-sdk/types": "3.862.0",
+ "@smithy/property-provider": "^4.0.5",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -6945,12 +7353,12 @@
}
},
"node_modules/@aws-sdk/credential-provider-web-identity/node_modules/@aws-sdk/types": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.804.0.tgz",
- "integrity": "sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -6958,29 +7366,29 @@
}
},
"node_modules/@aws-sdk/credential-providers": {
- "version": "3.808.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.808.0.tgz",
- "integrity": "sha512-JJvY/gcet+tFw7dGifhTMJ2jfLXCJBR2Tu2rY/ePi+HVUrR//TnWmcm8qGvT1nWiCQ7w9NEhMlJgqKEIM/MkVQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@aws-sdk/client-cognito-identity": "3.808.0",
- "@aws-sdk/core": "3.808.0",
- "@aws-sdk/credential-provider-cognito-identity": "3.808.0",
- "@aws-sdk/credential-provider-env": "3.808.0",
- "@aws-sdk/credential-provider-http": "3.808.0",
- "@aws-sdk/credential-provider-ini": "3.808.0",
- "@aws-sdk/credential-provider-node": "3.808.0",
- "@aws-sdk/credential-provider-process": "3.808.0",
- "@aws-sdk/credential-provider-sso": "3.808.0",
- "@aws-sdk/credential-provider-web-identity": "3.808.0",
- "@aws-sdk/nested-clients": "3.808.0",
- "@aws-sdk/types": "3.804.0",
- "@smithy/config-resolver": "^4.1.2",
- "@smithy/core": "^3.3.1",
- "@smithy/credential-provider-imds": "^4.0.2",
- "@smithy/node-config-provider": "^4.1.1",
- "@smithy/property-provider": "^4.0.2",
- "@smithy/types": "^4.2.0",
+ "version": "3.863.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.863.0.tgz",
+ "integrity": "sha512-BBCrdtfGUFunOYFJiOUs9VdcXajJBGrWVb7zMCL1pADd/cOWM1Ozpskh+g+yh6LXXW43lhf1DcoMkACkNbFnIg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/client-cognito-identity": "3.863.0",
+ "@aws-sdk/core": "3.863.0",
+ "@aws-sdk/credential-provider-cognito-identity": "3.863.0",
+ "@aws-sdk/credential-provider-env": "3.863.0",
+ "@aws-sdk/credential-provider-http": "3.863.0",
+ "@aws-sdk/credential-provider-ini": "3.863.0",
+ "@aws-sdk/credential-provider-node": "3.863.0",
+ "@aws-sdk/credential-provider-process": "3.863.0",
+ "@aws-sdk/credential-provider-sso": "3.863.0",
+ "@aws-sdk/credential-provider-web-identity": "3.863.0",
+ "@aws-sdk/nested-clients": "3.863.0",
+ "@aws-sdk/types": "3.862.0",
+ "@smithy/config-resolver": "^4.1.5",
+ "@smithy/core": "^3.8.0",
+ "@smithy/credential-provider-imds": "^4.0.7",
+ "@smithy/node-config-provider": "^4.1.4",
+ "@smithy/property-provider": "^4.0.5",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -6988,12 +7396,12 @@
}
},
"node_modules/@aws-sdk/credential-providers/node_modules/@aws-sdk/types": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.804.0.tgz",
- "integrity": "sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -7085,14 +7493,14 @@
}
},
"node_modules/@aws-sdk/eventstream-handler-node": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-handler-node/-/eventstream-handler-node-3.804.0.tgz",
- "integrity": "sha512-LZddQVBUCB86tZtLJRhqiDyIqr4hfRxZCcUp1fZSfpBMcf419lgcFRGWMR3J/kCWHQ0G05aor7fSeoeaxskuNQ==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-handler-node/-/eventstream-handler-node-3.862.0.tgz",
+ "integrity": "sha512-jbGpv5UaGPz5MNZxSVa4nujQUR7uQXnPIxzQc03ul1Ehd7Eh1x0egh9Nx40HFVOuuXWr864qVZQQSWGEOR2gnA==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-sdk/types": "3.804.0",
- "@smithy/eventstream-codec": "^4.0.2",
- "@smithy/types": "^4.2.0",
+ "@aws-sdk/types": "3.862.0",
+ "@smithy/eventstream-codec": "^4.0.5",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -7100,12 +7508,12 @@
}
},
"node_modules/@aws-sdk/eventstream-handler-node/node_modules/@aws-sdk/types": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.804.0.tgz",
- "integrity": "sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -7125,36 +7533,36 @@
}
},
"node_modules/@aws-sdk/lib-dynamodb": {
- "version": "3.808.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/lib-dynamodb/-/lib-dynamodb-3.808.0.tgz",
- "integrity": "sha512-okdntX2StMqWHvUqEN/X8HA4B51T19iUWzZ0HTpbUCi4Zo6PEZvmNBSgCFzoGQO3BeYDD0E1OVCGkdTm/PM6Sg==",
+ "version": "3.863.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/lib-dynamodb/-/lib-dynamodb-3.863.0.tgz",
+ "integrity": "sha512-LTvHm6/H6NnrfKpqQaY/6Xk/RVb6QP+NTHV9FZ+udSIgHMTNGkgIkDR8U/bKgNUMon9JmYG1FEO9EzxY/fZvKw==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-sdk/core": "3.808.0",
- "@aws-sdk/util-dynamodb": "3.808.0",
- "@smithy/core": "^3.3.1",
- "@smithy/smithy-client": "^4.2.4",
- "@smithy/types": "^4.2.0",
+ "@aws-sdk/core": "3.863.0",
+ "@aws-sdk/util-dynamodb": "3.863.0",
+ "@smithy/core": "^3.8.0",
+ "@smithy/smithy-client": "^4.4.10",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
"node": ">=18.0.0"
},
"peerDependencies": {
- "@aws-sdk/client-dynamodb": "^3.808.0"
+ "@aws-sdk/client-dynamodb": "^3.863.0"
}
},
"node_modules/@aws-sdk/middleware-bucket-endpoint": {
- "version": "3.808.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.808.0.tgz",
- "integrity": "sha512-wEPlNcs8dir9lXbuviEGtSzYSxG/NRKQrJk5ybOc7OpPGHovsN+QhDOdY3lcjOFdwMTiMIG9foUkPz3zBpLB1A==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.862.0.tgz",
+ "integrity": "sha512-Wcsc7VPLjImQw+CP1/YkwyofMs9Ab6dVq96iS8p0zv0C6YTaMjvillkau4zFfrrrTshdzFWKptIFhKK8Zsei1g==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-sdk/types": "3.804.0",
+ "@aws-sdk/types": "3.862.0",
"@aws-sdk/util-arn-parser": "3.804.0",
- "@smithy/node-config-provider": "^4.1.1",
- "@smithy/protocol-http": "^5.1.0",
- "@smithy/types": "^4.2.0",
+ "@smithy/node-config-provider": "^4.1.4",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/types": "^4.3.2",
"@smithy/util-config-provider": "^4.0.0",
"tslib": "^2.6.2"
},
@@ -7163,12 +7571,12 @@
}
},
"node_modules/@aws-sdk/middleware-bucket-endpoint/node_modules/@aws-sdk/types": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.804.0.tgz",
- "integrity": "sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -7176,16 +7584,16 @@
}
},
"node_modules/@aws-sdk/middleware-endpoint-discovery": {
- "version": "3.808.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint-discovery/-/middleware-endpoint-discovery-3.808.0.tgz",
- "integrity": "sha512-h8LAIO6tuA0JAahrg+oSIVZpb6rhJOFVDDqYNQVp6ZdawlIzpZcc1sa+XVZvarBnThNKqvLTSGK7boSRmaLAwg==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint-discovery/-/middleware-endpoint-discovery-3.862.0.tgz",
+ "integrity": "sha512-43KnrSlzsa6/locegW9SLe/kMv51PPPAslDbBuLVtLcFUNWuCE7wgKTTzMPeA+NJQHKuJTFRR2TLKPYEs+4VJA==",
"license": "Apache-2.0",
"dependencies": {
"@aws-sdk/endpoint-cache": "3.804.0",
- "@aws-sdk/types": "3.804.0",
- "@smithy/node-config-provider": "^4.1.1",
- "@smithy/protocol-http": "^5.1.0",
- "@smithy/types": "^4.2.0",
+ "@aws-sdk/types": "3.862.0",
+ "@smithy/node-config-provider": "^4.1.4",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -7193,12 +7601,12 @@
}
},
"node_modules/@aws-sdk/middleware-endpoint-discovery/node_modules/@aws-sdk/types": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.804.0.tgz",
- "integrity": "sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -7206,14 +7614,14 @@
}
},
"node_modules/@aws-sdk/middleware-eventstream": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-eventstream/-/middleware-eventstream-3.804.0.tgz",
- "integrity": "sha512-3lPxZshOJoKSxIMUq8FCiIre+FZ1g/t+O7DHwOMB6EuzJ8lp5QyUeh1wE5iD/gB8VhWZoj90rGIaWCmT8ccEuA==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-eventstream/-/middleware-eventstream-3.862.0.tgz",
+ "integrity": "sha512-PlnUSgqBHXttxGc1MaXGz02o6H4C9dxv+RS+1G7msUlcD4rl4fS1AkjOAHLCfzKvZdcEHygeN8levK6hZOCENg==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-sdk/types": "3.804.0",
- "@smithy/protocol-http": "^5.1.0",
- "@smithy/types": "^4.2.0",
+ "@aws-sdk/types": "3.862.0",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -7221,12 +7629,12 @@
}
},
"node_modules/@aws-sdk/middleware-eventstream/node_modules/@aws-sdk/types": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.804.0.tgz",
- "integrity": "sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -7234,14 +7642,14 @@
}
},
"node_modules/@aws-sdk/middleware-expect-continue": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.804.0.tgz",
- "integrity": "sha512-YW1hySBolALMII6C8y7Z0CRG2UX1dGJjLEBNFeefhO/xP7ZuE1dvnmfJGaEuBMnvc3wkRS63VZ3aqX6sevM1CA==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.862.0.tgz",
+ "integrity": "sha512-oG3AaVUJ+26p0ESU4INFn6MmqqiBFZGrebST66Or+YBhteed2rbbFl7mCfjtPWUFgquQlvT1UP19P3LjQKeKpw==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-sdk/types": "3.804.0",
- "@smithy/protocol-http": "^5.1.0",
- "@smithy/types": "^4.2.0",
+ "@aws-sdk/types": "3.862.0",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -7249,12 +7657,12 @@
}
},
"node_modules/@aws-sdk/middleware-expect-continue/node_modules/@aws-sdk/types": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.804.0.tgz",
- "integrity": "sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -7262,22 +7670,22 @@
}
},
"node_modules/@aws-sdk/middleware-flexible-checksums": {
- "version": "3.808.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.808.0.tgz",
- "integrity": "sha512-NW1yoTYDH2h8ycqMPNkvW3d1XT2vEeXfXclagL2tv82P7Qt7vPXYcObs/YtETvNZ7hdnmOftJ/IJv7YrFC8vtQ==",
+ "version": "3.863.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.863.0.tgz",
+ "integrity": "sha512-nZW9Rf4floAuxmPeik1FJ7/LwEnmWjdgoa0ls/x/KpAVM+LCbEBOV1Tcw2+jRpx3UQH4wAnJz18OFsXC+X/FAw==",
"license": "Apache-2.0",
"dependencies": {
"@aws-crypto/crc32": "5.2.0",
"@aws-crypto/crc32c": "5.2.0",
"@aws-crypto/util": "5.2.0",
- "@aws-sdk/core": "3.808.0",
- "@aws-sdk/types": "3.804.0",
+ "@aws-sdk/core": "3.863.0",
+ "@aws-sdk/types": "3.862.0",
"@smithy/is-array-buffer": "^4.0.0",
- "@smithy/node-config-provider": "^4.1.1",
- "@smithy/protocol-http": "^5.1.0",
- "@smithy/types": "^4.2.0",
- "@smithy/util-middleware": "^4.0.2",
- "@smithy/util-stream": "^4.2.0",
+ "@smithy/node-config-provider": "^4.1.4",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/types": "^4.3.2",
+ "@smithy/util-middleware": "^4.0.5",
+ "@smithy/util-stream": "^4.2.4",
"@smithy/util-utf8": "^4.0.0",
"tslib": "^2.6.2"
},
@@ -7286,12 +7694,12 @@
}
},
"node_modules/@aws-sdk/middleware-flexible-checksums/node_modules/@aws-sdk/types": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.804.0.tgz",
- "integrity": "sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -7312,14 +7720,14 @@
}
},
"node_modules/@aws-sdk/middleware-host-header": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.804.0.tgz",
- "integrity": "sha512-bum1hLVBrn2lJCi423Z2fMUYtsbkGI2s4N+2RI2WSjvbaVyMSv/WcejIrjkqiiMR+2Y7m5exgoKeg4/TODLDPQ==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.862.0.tgz",
+ "integrity": "sha512-jDje8dCFeFHfuCAxMDXBs8hy8q9NCTlyK4ThyyfAj3U4Pixly2mmzY2u7b7AyGhWsjJNx8uhTjlYq5zkQPQCYw==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-sdk/types": "3.804.0",
- "@smithy/protocol-http": "^5.1.0",
- "@smithy/types": "^4.2.0",
+ "@aws-sdk/types": "3.862.0",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -7327,12 +7735,12 @@
}
},
"node_modules/@aws-sdk/middleware-host-header/node_modules/@aws-sdk/types": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.804.0.tgz",
- "integrity": "sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -7340,13 +7748,13 @@
}
},
"node_modules/@aws-sdk/middleware-location-constraint": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.804.0.tgz",
- "integrity": "sha512-AMtKnllIWKgoo7hiJfphLYotEwTERfjVMO2+cKAncz9w1g+bnYhHxiVhJJoR94y047c06X4PU5MsTxvdQ73Znw==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.862.0.tgz",
+ "integrity": "sha512-MnwLxCw7Cc9OngEH3SHFhrLlDI9WVxaBkp3oTsdY9JE7v8OE38wQ9vtjaRsynjwu0WRtrctSHbpd7h/QVvtjyA==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-sdk/types": "3.804.0",
- "@smithy/types": "^4.2.0",
+ "@aws-sdk/types": "3.862.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -7354,12 +7762,12 @@
}
},
"node_modules/@aws-sdk/middleware-location-constraint/node_modules/@aws-sdk/types": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.804.0.tgz",
- "integrity": "sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -7367,13 +7775,13 @@
}
},
"node_modules/@aws-sdk/middleware-logger": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.804.0.tgz",
- "integrity": "sha512-w/qLwL3iq0KOPQNat0Kb7sKndl9BtceigINwBU7SpkYWX9L/Lem6f8NPEKrC9Tl4wDBht3Yztub4oRTy/horJA==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.862.0.tgz",
+ "integrity": "sha512-N/bXSJznNBR/i7Ofmf9+gM6dx/SPBK09ZWLKsW5iQjqKxAKn/2DozlnE54uiEs1saHZWoNDRg69Ww4XYYSlG1Q==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-sdk/types": "3.804.0",
- "@smithy/types": "^4.2.0",
+ "@aws-sdk/types": "3.862.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -7381,12 +7789,12 @@
}
},
"node_modules/@aws-sdk/middleware-logger/node_modules/@aws-sdk/types": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.804.0.tgz",
- "integrity": "sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -7394,14 +7802,14 @@
}
},
"node_modules/@aws-sdk/middleware-recursion-detection": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.804.0.tgz",
- "integrity": "sha512-zqHOrvLRdsUdN/ehYfZ9Tf8svhbiLLz5VaWUz22YndFv6m9qaAcijkpAOlKexsv3nLBMJdSdJ6GUTAeIy3BZzw==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.862.0.tgz",
+ "integrity": "sha512-KVoo3IOzEkTq97YKM4uxZcYFSNnMkhW/qj22csofLegZi5fk90ztUnnaeKfaEJHfHp/tm1Y3uSoOXH45s++kKQ==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-sdk/types": "3.804.0",
- "@smithy/protocol-http": "^5.1.0",
- "@smithy/types": "^4.2.0",
+ "@aws-sdk/types": "3.862.0",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -7409,12 +7817,12 @@
}
},
"node_modules/@aws-sdk/middleware-recursion-detection/node_modules/@aws-sdk/types": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.804.0.tgz",
- "integrity": "sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -7422,23 +7830,23 @@
}
},
"node_modules/@aws-sdk/middleware-sdk-s3": {
- "version": "3.808.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.808.0.tgz",
- "integrity": "sha512-qvyJTDf0HIsPpZzBUqhNQm5g8stAn2EOwVsaAolsOHuBsdaBAE/s/NgPzazDlSXwdF0ITvsIouUVDCn4fJGJqQ==",
+ "version": "3.863.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.863.0.tgz",
+ "integrity": "sha512-3Ppx5J31DUuaASyzAMYzSUf8y8emCLt1iaU+6yuSV/PwiCzJL5Sspos5xF2F+JErw8p8lNN+7rvHVSNqtgi2Fg==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-sdk/core": "3.808.0",
- "@aws-sdk/types": "3.804.0",
+ "@aws-sdk/core": "3.863.0",
+ "@aws-sdk/types": "3.862.0",
"@aws-sdk/util-arn-parser": "3.804.0",
- "@smithy/core": "^3.3.1",
- "@smithy/node-config-provider": "^4.1.1",
- "@smithy/protocol-http": "^5.1.0",
- "@smithy/signature-v4": "^5.1.0",
- "@smithy/smithy-client": "^4.2.4",
- "@smithy/types": "^4.2.0",
+ "@smithy/core": "^3.8.0",
+ "@smithy/node-config-provider": "^4.1.4",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/signature-v4": "^5.1.3",
+ "@smithy/smithy-client": "^4.4.10",
+ "@smithy/types": "^4.3.2",
"@smithy/util-config-provider": "^4.0.0",
- "@smithy/util-middleware": "^4.0.2",
- "@smithy/util-stream": "^4.2.0",
+ "@smithy/util-middleware": "^4.0.5",
+ "@smithy/util-stream": "^4.2.4",
"@smithy/util-utf8": "^4.0.0",
"tslib": "^2.6.2"
},
@@ -7447,12 +7855,12 @@
}
},
"node_modules/@aws-sdk/middleware-sdk-s3/node_modules/@aws-sdk/types": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.804.0.tgz",
- "integrity": "sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -7473,17 +7881,17 @@
}
},
"node_modules/@aws-sdk/middleware-sdk-transcribe-streaming": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-transcribe-streaming/-/middleware-sdk-transcribe-streaming-3.804.0.tgz",
- "integrity": "sha512-tjb54CBV4be+rU8mg4OrWxjNT5XAH8WJ4m5zZ/WIvbiM2YKlJRs/c+3dMFGn/A6aqRiZhI404YkIVcsAFoznwQ==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-transcribe-streaming/-/middleware-sdk-transcribe-streaming-3.862.0.tgz",
+ "integrity": "sha512-IXLUTFF5UlCtE12GSytEOfewq5S5yfWewslkoa5ATfOhI60i9Om4zBPSZ1T2OqInnmYbKj5txydypiynZyZaPw==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-sdk/types": "3.804.0",
- "@aws-sdk/util-format-url": "3.804.0",
- "@smithy/eventstream-serde-browser": "^4.0.2",
- "@smithy/protocol-http": "^5.1.0",
- "@smithy/signature-v4": "^5.1.0",
- "@smithy/types": "^4.2.0",
+ "@aws-sdk/types": "3.862.0",
+ "@aws-sdk/util-format-url": "3.862.0",
+ "@smithy/eventstream-serde-browser": "^4.0.5",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/signature-v4": "^5.1.3",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2",
"uuid": "^9.0.1"
},
@@ -7492,12 +7900,12 @@
}
},
"node_modules/@aws-sdk/middleware-sdk-transcribe-streaming/node_modules/@aws-sdk/types": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.804.0.tgz",
- "integrity": "sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -7505,13 +7913,13 @@
}
},
"node_modules/@aws-sdk/middleware-ssec": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.804.0.tgz",
- "integrity": "sha512-Tk8jK0gOIUBvEPTz/wwSlP1V70zVQ3QYqsLPAjQRMO6zfOK9ax31dln3MgKvFDJxBydS2tS3wsn53v+brxDxTA==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.862.0.tgz",
+ "integrity": "sha512-72VtP7DZC8lYTE2L3Efx2BrD98oe9WTK8X6hmd3WTLkbIjvgWQWIdjgaFXBs8WevsXkewIctfyA3KEezvL5ggw==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-sdk/types": "3.804.0",
- "@smithy/types": "^4.2.0",
+ "@aws-sdk/types": "3.862.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -7519,12 +7927,12 @@
}
},
"node_modules/@aws-sdk/middleware-ssec/node_modules/@aws-sdk/types": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.804.0.tgz",
- "integrity": "sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -7532,17 +7940,17 @@
}
},
"node_modules/@aws-sdk/middleware-user-agent": {
- "version": "3.808.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.808.0.tgz",
- "integrity": "sha512-VckV6l5cf/rL3EtgzSHVTTD4mI0gd8UxDDWbKJsxbQ2bpNPDQG2L1wWGLaolTSzjEJ5f3ijDwQrNDbY9l85Mmg==",
+ "version": "3.863.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.863.0.tgz",
+ "integrity": "sha512-AqXzUUpHM51E/cmq/h3yja+GFff7zxQFj6Fq1bVkkc4vzXBCGpyTmaMcUv4rrR/OmmWfidyzbxdy7PuhMNAspg==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-sdk/core": "3.808.0",
- "@aws-sdk/types": "3.804.0",
- "@aws-sdk/util-endpoints": "3.808.0",
- "@smithy/core": "^3.3.1",
- "@smithy/protocol-http": "^5.1.0",
- "@smithy/types": "^4.2.0",
+ "@aws-sdk/core": "3.863.0",
+ "@aws-sdk/types": "3.862.0",
+ "@aws-sdk/util-endpoints": "3.862.0",
+ "@smithy/core": "^3.8.0",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -7550,12 +7958,12 @@
}
},
"node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/types": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.804.0.tgz",
- "integrity": "sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -7563,19 +7971,19 @@
}
},
"node_modules/@aws-sdk/middleware-websocket": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-websocket/-/middleware-websocket-3.804.0.tgz",
- "integrity": "sha512-WwIxObWTNd4zrc9Eu6nzKWr8y3R2iz0b8i2GevX22RufN2vs+wKMgMlPqKA2iFyUD34iHfUUWI9y1n///W2TBQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@aws-sdk/types": "3.804.0",
- "@aws-sdk/util-format-url": "3.804.0",
- "@smithy/eventstream-codec": "^4.0.2",
- "@smithy/eventstream-serde-browser": "^4.0.2",
- "@smithy/fetch-http-handler": "^5.0.2",
- "@smithy/protocol-http": "^5.1.0",
- "@smithy/signature-v4": "^5.1.0",
- "@smithy/types": "^4.2.0",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-websocket/-/middleware-websocket-3.862.0.tgz",
+ "integrity": "sha512-EfdLqToN5VHbqvD9iBgs/fxYsHxsgJeFnTIv1XarRf3XYqO9UAf+PPSTTUxAKeqD65ZrKFwfmLwjXOwVT86zcw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/types": "3.862.0",
+ "@aws-sdk/util-format-url": "3.862.0",
+ "@smithy/eventstream-codec": "^4.0.5",
+ "@smithy/eventstream-serde-browser": "^4.0.5",
+ "@smithy/fetch-http-handler": "^5.1.1",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/signature-v4": "^5.1.3",
+ "@smithy/types": "^4.3.2",
"@smithy/util-hex-encoding": "^4.0.0",
"tslib": "^2.6.2"
},
@@ -7584,12 +7992,12 @@
}
},
"node_modules/@aws-sdk/middleware-websocket/node_modules/@aws-sdk/types": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.804.0.tgz",
- "integrity": "sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -7609,47 +8017,47 @@
}
},
"node_modules/@aws-sdk/nested-clients": {
- "version": "3.808.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/nested-clients/-/nested-clients-3.808.0.tgz",
- "integrity": "sha512-NparPojwoBul7XPCasy4psFMJbw7Ys4bz8lVB93ljEUD4VV7mM7zwK27Uhz20B8mBFGmFEoAprPsVymJcK9Vcw==",
+ "version": "3.863.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/nested-clients/-/nested-clients-3.863.0.tgz",
+ "integrity": "sha512-TgVr6d1MmJz7H6RehaFevZlJ+d1KSmyftp8oi2V5FCQ4OR22ITsTxmm5cIODYk8VInaie2ZABlPCN5fs+glJuA==",
"license": "Apache-2.0",
"dependencies": {
"@aws-crypto/sha256-browser": "5.2.0",
"@aws-crypto/sha256-js": "5.2.0",
- "@aws-sdk/core": "3.808.0",
- "@aws-sdk/middleware-host-header": "3.804.0",
- "@aws-sdk/middleware-logger": "3.804.0",
- "@aws-sdk/middleware-recursion-detection": "3.804.0",
- "@aws-sdk/middleware-user-agent": "3.808.0",
- "@aws-sdk/region-config-resolver": "3.808.0",
- "@aws-sdk/types": "3.804.0",
- "@aws-sdk/util-endpoints": "3.808.0",
- "@aws-sdk/util-user-agent-browser": "3.804.0",
- "@aws-sdk/util-user-agent-node": "3.808.0",
- "@smithy/config-resolver": "^4.1.2",
- "@smithy/core": "^3.3.1",
- "@smithy/fetch-http-handler": "^5.0.2",
- "@smithy/hash-node": "^4.0.2",
- "@smithy/invalid-dependency": "^4.0.2",
- "@smithy/middleware-content-length": "^4.0.2",
- "@smithy/middleware-endpoint": "^4.1.4",
- "@smithy/middleware-retry": "^4.1.5",
- "@smithy/middleware-serde": "^4.0.3",
- "@smithy/middleware-stack": "^4.0.2",
- "@smithy/node-config-provider": "^4.1.1",
- "@smithy/node-http-handler": "^4.0.4",
- "@smithy/protocol-http": "^5.1.0",
- "@smithy/smithy-client": "^4.2.4",
- "@smithy/types": "^4.2.0",
- "@smithy/url-parser": "^4.0.2",
+ "@aws-sdk/core": "3.863.0",
+ "@aws-sdk/middleware-host-header": "3.862.0",
+ "@aws-sdk/middleware-logger": "3.862.0",
+ "@aws-sdk/middleware-recursion-detection": "3.862.0",
+ "@aws-sdk/middleware-user-agent": "3.863.0",
+ "@aws-sdk/region-config-resolver": "3.862.0",
+ "@aws-sdk/types": "3.862.0",
+ "@aws-sdk/util-endpoints": "3.862.0",
+ "@aws-sdk/util-user-agent-browser": "3.862.0",
+ "@aws-sdk/util-user-agent-node": "3.863.0",
+ "@smithy/config-resolver": "^4.1.5",
+ "@smithy/core": "^3.8.0",
+ "@smithy/fetch-http-handler": "^5.1.1",
+ "@smithy/hash-node": "^4.0.5",
+ "@smithy/invalid-dependency": "^4.0.5",
+ "@smithy/middleware-content-length": "^4.0.5",
+ "@smithy/middleware-endpoint": "^4.1.18",
+ "@smithy/middleware-retry": "^4.1.19",
+ "@smithy/middleware-serde": "^4.0.9",
+ "@smithy/middleware-stack": "^4.0.5",
+ "@smithy/node-config-provider": "^4.1.4",
+ "@smithy/node-http-handler": "^4.1.1",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/smithy-client": "^4.4.10",
+ "@smithy/types": "^4.3.2",
+ "@smithy/url-parser": "^4.0.5",
"@smithy/util-base64": "^4.0.0",
"@smithy/util-body-length-browser": "^4.0.0",
"@smithy/util-body-length-node": "^4.0.0",
- "@smithy/util-defaults-mode-browser": "^4.0.12",
- "@smithy/util-defaults-mode-node": "^4.0.12",
- "@smithy/util-endpoints": "^3.0.4",
- "@smithy/util-middleware": "^4.0.2",
- "@smithy/util-retry": "^4.0.3",
+ "@smithy/util-defaults-mode-browser": "^4.0.26",
+ "@smithy/util-defaults-mode-node": "^4.0.26",
+ "@smithy/util-endpoints": "^3.0.7",
+ "@smithy/util-middleware": "^4.0.5",
+ "@smithy/util-retry": "^4.0.7",
"@smithy/util-utf8": "^4.0.0",
"tslib": "^2.6.2"
},
@@ -7658,12 +8066,12 @@
}
},
"node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/types": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.804.0.tgz",
- "integrity": "sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -7722,16 +8130,16 @@
}
},
"node_modules/@aws-sdk/region-config-resolver": {
- "version": "3.808.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.808.0.tgz",
- "integrity": "sha512-9x2QWfphkARZY5OGkl9dJxZlSlYM2l5inFeo2bKntGuwg4A4YUe5h7d5yJ6sZbam9h43eBrkOdumx03DAkQF9A==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.862.0.tgz",
+ "integrity": "sha512-VisR+/HuVFICrBPY+q9novEiE4b3mvDofWqyvmxHcWM7HumTz9ZQSuEtnlB/92GVM3KDUrR9EmBHNRrfXYZkcQ==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-sdk/types": "3.804.0",
- "@smithy/node-config-provider": "^4.1.1",
- "@smithy/types": "^4.2.0",
+ "@aws-sdk/types": "3.862.0",
+ "@smithy/node-config-provider": "^4.1.4",
+ "@smithy/types": "^4.3.2",
"@smithy/util-config-provider": "^4.0.0",
- "@smithy/util-middleware": "^4.0.2",
+ "@smithy/util-middleware": "^4.0.5",
"tslib": "^2.6.2"
},
"engines": {
@@ -7739,12 +8147,12 @@
}
},
"node_modules/@aws-sdk/region-config-resolver/node_modules/@aws-sdk/types": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.804.0.tgz",
- "integrity": "sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -7752,18 +8160,18 @@
}
},
"node_modules/@aws-sdk/s3-request-presigner": {
- "version": "3.808.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.808.0.tgz",
- "integrity": "sha512-viKWGrb7ZTN2rDkjX5rSkPeyKEVFDiyJS8HWVLBUJGwOLb65wluX+Rr/9fuCFyhCbBzhzpXFdzczZ0kCHOM6Qw==",
+ "version": "3.863.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.863.0.tgz",
+ "integrity": "sha512-ZyaCsOqgGvktKzvGYQn8xe1YkGNllLtB34shvhqMvTSrD4/43KWxmIKbeTniBVpiDS7NY4HiThyw6sdolxSE3Q==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-sdk/signature-v4-multi-region": "3.808.0",
- "@aws-sdk/types": "3.804.0",
- "@aws-sdk/util-format-url": "3.804.0",
- "@smithy/middleware-endpoint": "^4.1.4",
- "@smithy/protocol-http": "^5.1.0",
- "@smithy/smithy-client": "^4.2.4",
- "@smithy/types": "^4.2.0",
+ "@aws-sdk/signature-v4-multi-region": "3.863.0",
+ "@aws-sdk/types": "3.862.0",
+ "@aws-sdk/util-format-url": "3.862.0",
+ "@smithy/middleware-endpoint": "^4.1.18",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/smithy-client": "^4.4.10",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -7771,12 +8179,12 @@
}
},
"node_modules/@aws-sdk/s3-request-presigner/node_modules/@aws-sdk/types": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.804.0.tgz",
- "integrity": "sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -7803,16 +8211,16 @@
}
},
"node_modules/@aws-sdk/signature-v4-multi-region": {
- "version": "3.808.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.808.0.tgz",
- "integrity": "sha512-lQuEB6JK81eKV7fdiktmRq06Y1KCcJbx9fLf7b19nSfYUbJSn/kfSpHPv/tOkJK2HKnN61JsfG19YU8k4SOU8Q==",
+ "version": "3.863.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.863.0.tgz",
+ "integrity": "sha512-YEi1hER4OtVpeVBO9Ts8nYekF8Q9pcr4kzPxrzXHv83i2/jraPgacHlWvNSjdg8kvY+GsevBsirZXZmThkmKBA==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-sdk/middleware-sdk-s3": "3.808.0",
- "@aws-sdk/types": "3.804.0",
- "@smithy/protocol-http": "^5.1.0",
- "@smithy/signature-v4": "^5.1.0",
- "@smithy/types": "^4.2.0",
+ "@aws-sdk/middleware-sdk-s3": "3.863.0",
+ "@aws-sdk/types": "3.862.0",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/signature-v4": "^5.1.3",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -7820,12 +8228,12 @@
}
},
"node_modules/@aws-sdk/signature-v4-multi-region/node_modules/@aws-sdk/types": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.804.0.tgz",
- "integrity": "sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -7858,16 +8266,17 @@
}
},
"node_modules/@aws-sdk/token-providers": {
- "version": "3.808.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.808.0.tgz",
- "integrity": "sha512-PsfKanHmnyO7FxowXqxbLQ+QjURCdSGxyhUiSdZbfvlvme/wqaMyIoMV/i4jppndksoSdPbW2kZXjzOqhQF+ew==",
+ "version": "3.863.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.863.0.tgz",
+ "integrity": "sha512-rGZ8QsnLWa725etzdPW2rH6+LN9eCcGsTIcxcCyh59cSgZLxT913q84WaUj6fOA7ElCOEU+WrV4Jiz4qwZI2DA==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-sdk/nested-clients": "3.808.0",
- "@aws-sdk/types": "3.804.0",
- "@smithy/property-provider": "^4.0.2",
- "@smithy/shared-ini-file-loader": "^4.0.2",
- "@smithy/types": "^4.2.0",
+ "@aws-sdk/core": "3.863.0",
+ "@aws-sdk/nested-clients": "3.863.0",
+ "@aws-sdk/types": "3.862.0",
+ "@smithy/property-provider": "^4.0.5",
+ "@smithy/shared-ini-file-loader": "^4.0.5",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -7875,12 +8284,12 @@
}
},
"node_modules/@aws-sdk/token-providers/node_modules/@aws-sdk/types": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.804.0.tgz",
- "integrity": "sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -7938,9 +8347,9 @@
}
},
"node_modules/@aws-sdk/util-dynamodb": {
- "version": "3.808.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-dynamodb/-/util-dynamodb-3.808.0.tgz",
- "integrity": "sha512-ydmqhKaT5rb2NClClbGRSjrW1kAJhgEMIP7B+drvhSBggMmTyTLrJCd9Be3Be9ce1oEXn03NbY1rcwtTusfdoA==",
+ "version": "3.863.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-dynamodb/-/util-dynamodb-3.863.0.tgz",
+ "integrity": "sha512-siYzM635HLNb8hLq2nPdd2ZSpsrCMaXAdIwtpSS4NLgRl67ZSBrvU5Fvf9pSHSIfCVj4BN/NrUZ+trLM3ba/ig==",
"license": "Apache-2.0",
"dependencies": {
"tslib": "^2.6.2"
@@ -7949,18 +8358,19 @@
"node": ">=18.0.0"
},
"peerDependencies": {
- "@aws-sdk/client-dynamodb": "^3.808.0"
+ "@aws-sdk/client-dynamodb": "^3.863.0"
}
},
"node_modules/@aws-sdk/util-endpoints": {
- "version": "3.808.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.808.0.tgz",
- "integrity": "sha512-N6Lic98uc4ADB7fLWlzx+1uVnq04VgVjngZvwHoujcRg9YDhIg9dUDiTzD5VZv13g1BrPYmvYP1HhsildpGV6w==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.862.0.tgz",
+ "integrity": "sha512-eCZuScdE9MWWkHGM2BJxm726MCmWk/dlHjOKvkM0sN1zxBellBMw5JohNss1Z8/TUmnW2gb9XHTOiHuGjOdksA==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-sdk/types": "3.804.0",
- "@smithy/types": "^4.2.0",
- "@smithy/util-endpoints": "^3.0.4",
+ "@aws-sdk/types": "3.862.0",
+ "@smithy/types": "^4.3.2",
+ "@smithy/url-parser": "^4.0.5",
+ "@smithy/util-endpoints": "^3.0.7",
"tslib": "^2.6.2"
},
"engines": {
@@ -7968,12 +8378,12 @@
}
},
"node_modules/@aws-sdk/util-endpoints/node_modules/@aws-sdk/types": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.804.0.tgz",
- "integrity": "sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -7981,14 +8391,14 @@
}
},
"node_modules/@aws-sdk/util-format-url": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.804.0.tgz",
- "integrity": "sha512-1nOwSg7B0bj5LFGor0udF/HSdvDuSCxP+NC0IuSOJ5RgJ2AphFo03pLtK2UwArHY5WWZaejAEz5VBND6xxOEhA==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.862.0.tgz",
+ "integrity": "sha512-4kd2PYUMA/fAnIcVVwBIDCa2KCuUPrS3ELgScLjBaESP0NN+K163m40U5RbzNec/elOcJHR8lEThzzSb7vXH6w==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-sdk/types": "3.804.0",
- "@smithy/querystring-builder": "^4.0.2",
- "@smithy/types": "^4.2.0",
+ "@aws-sdk/types": "3.862.0",
+ "@smithy/querystring-builder": "^4.0.5",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -7996,12 +8406,12 @@
}
},
"node_modules/@aws-sdk/util-format-url/node_modules/@aws-sdk/types": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.804.0.tgz",
- "integrity": "sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -8057,24 +8467,24 @@
}
},
"node_modules/@aws-sdk/util-user-agent-browser": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.804.0.tgz",
- "integrity": "sha512-KfW6T6nQHHM/vZBBdGn6fMyG/MgX5lq82TDdX4HRQRRuHKLgBWGpKXqqvBwqIaCdXwWHgDrg2VQups6GqOWW2A==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.862.0.tgz",
+ "integrity": "sha512-BmPTlm0r9/10MMr5ND9E92r8KMZbq5ltYXYpVcUbAsnB1RJ8ASJuRoLne5F7mB3YMx0FJoOTuSq7LdQM3LgW3Q==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-sdk/types": "3.804.0",
- "@smithy/types": "^4.2.0",
+ "@aws-sdk/types": "3.862.0",
+ "@smithy/types": "^4.3.2",
"bowser": "^2.11.0",
"tslib": "^2.6.2"
}
},
"node_modules/@aws-sdk/util-user-agent-browser/node_modules/@aws-sdk/types": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.804.0.tgz",
- "integrity": "sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -8082,15 +8492,15 @@
}
},
"node_modules/@aws-sdk/util-user-agent-node": {
- "version": "3.808.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.808.0.tgz",
- "integrity": "sha512-5UmB6u7RBSinXZAVP2iDgqyeVA/odO2SLEcrXaeTCw8ICXEoqF0K+GL36T4iDbzCBOAIugOZ6OcQX5vH3ck5UA==",
+ "version": "3.863.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.863.0.tgz",
+ "integrity": "sha512-qoYXCe07xs0z+MjcDGuNBbP8P47i6h13BiHsXxiMKKiCihB3w2slvRbJYwUwc2fzZWSk0isKbdDmsdNZBKyBHg==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-sdk/middleware-user-agent": "3.808.0",
- "@aws-sdk/types": "3.804.0",
- "@smithy/node-config-provider": "^4.1.1",
- "@smithy/types": "^4.2.0",
+ "@aws-sdk/middleware-user-agent": "3.863.0",
+ "@aws-sdk/types": "3.862.0",
+ "@smithy/node-config-provider": "^4.1.4",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -8106,12 +8516,12 @@
}
},
"node_modules/@aws-sdk/util-user-agent-node/node_modules/@aws-sdk/types": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.804.0.tgz",
- "integrity": "sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -8141,12 +8551,12 @@
}
},
"node_modules/@aws-sdk/xml-builder": {
- "version": "3.804.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.804.0.tgz",
- "integrity": "sha512-JbGWp36IG9dgxtvC6+YXwt5WDZYfuamWFtVfK6fQpnmL96dx+GUPOXPKRWdw67WLKf2comHY28iX2d3z35I53Q==",
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.862.0.tgz",
+ "integrity": "sha512-6Ed0kmC1NMbuFTEgNmamAUU1h5gShgxL1hBVLbEzUa3trX5aJBz1vU4bXaBTvOYUAnOHtiy1Ml4AMStd6hJnFA==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -8154,26 +8564,26 @@
}
},
"node_modules/@aws-solutions-constructs/aws-cloudfront-s3": {
- "version": "2.85.2",
- "resolved": "https://registry.npmjs.org/@aws-solutions-constructs/aws-cloudfront-s3/-/aws-cloudfront-s3-2.85.2.tgz",
- "integrity": "sha512-YAQ/nAEnR5YW8YTYeoOooWZQ4wU0782WDVkMOuvUcTBOSCs4KA48Qz2enBrX9ViqQE0No4qeeb71RfjgJ9zk2g==",
+ "version": "2.90.4",
+ "resolved": "https://registry.npmjs.org/@aws-solutions-constructs/aws-cloudfront-s3/-/aws-cloudfront-s3-2.90.4.tgz",
+ "integrity": "sha512-tXQCOkHK8mIvnvqcR44FtNGsm427BsSKIjVXK0jyV8qhaCBP5qtm++DJFVa+zadN0DSe+OfTP11Ss0vEAEiv1Q==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-solutions-constructs/core": "2.85.2",
- "@aws-solutions-constructs/resources": "2.85.2",
+ "@aws-solutions-constructs/core": "2.90.4",
+ "@aws-solutions-constructs/resources": "2.90.4",
"constructs": "^10.0.0"
},
"peerDependencies": {
- "@aws-solutions-constructs/core": "2.85.2",
- "@aws-solutions-constructs/resources": "2.85.2",
- "aws-cdk-lib": "^2.193.0",
+ "@aws-solutions-constructs/core": "2.90.4",
+ "@aws-solutions-constructs/resources": "2.90.4",
+ "aws-cdk-lib": "^2.206.0",
"constructs": "^10.0.0"
}
},
"node_modules/@aws-solutions-constructs/core": {
- "version": "2.85.2",
- "resolved": "https://registry.npmjs.org/@aws-solutions-constructs/core/-/core-2.85.2.tgz",
- "integrity": "sha512-Xam8SO3ph7XHo1fcpFyy70Uqhd57qnhEVObQhEwRmwzK3wiGgftL5yksYI57DD9NFUelAQNRIbGmzzWU2PpbGw==",
+ "version": "2.90.4",
+ "resolved": "https://registry.npmjs.org/@aws-solutions-constructs/core/-/core-2.90.4.tgz",
+ "integrity": "sha512-MTSqLl/hw3XIIN8Dg4gdvIx8WvSvkrVp9mYFW8oqxaFy4/rkXUQQMxJXGlC7vCn4hQjmRN0duqg0P8UGrPOJYg==",
"bundleDependencies": [
"deepmerge",
"npmlog",
@@ -8187,7 +8597,7 @@
"npmlog": "^7.0.0"
},
"peerDependencies": {
- "aws-cdk-lib": "^2.193.0",
+ "aws-cdk-lib": "^2.206.0",
"constructs": "^10.0.0"
}
},
@@ -8219,9 +8629,9 @@
}
},
"node_modules/@aws-solutions-constructs/resources": {
- "version": "2.85.2",
- "resolved": "https://registry.npmjs.org/@aws-solutions-constructs/resources/-/resources-2.85.2.tgz",
- "integrity": "sha512-MKzDteK+NYZhK7qMw9UABvIGnGWfXt1pF91+uPOPtaEBkyUdsSK759ZXvnpAqMejdPYy6wznFXR1Ob0g1r2NNw==",
+ "version": "2.90.4",
+ "resolved": "https://registry.npmjs.org/@aws-solutions-constructs/resources/-/resources-2.90.4.tgz",
+ "integrity": "sha512-Cg26mv9dONqImluLj4J7v6FaCbjb8ZFQkqmWNBrvj4cwbbXQk5TdREH+60RS+WSVnk5DK/TUyv0KEA5KVt9P9A==",
"bundleDependencies": [
"@aws-sdk/client-kms",
"@aws-sdk/client-s3"
@@ -8230,12 +8640,12 @@
"dependencies": {
"@aws-sdk/client-kms": "^3.478.0",
"@aws-sdk/client-s3": "^3.478.0",
- "@aws-solutions-constructs/core": "2.85.2",
+ "@aws-solutions-constructs/core": "2.90.4",
"constructs": "^10.0.0"
},
"peerDependencies": {
- "@aws-solutions-constructs/core": "2.85.2",
- "aws-cdk-lib": "^2.193.0",
+ "@aws-solutions-constructs/core": "2.90.4",
+ "aws-cdk-lib": "^2.206.0",
"constructs": "^10.0.0"
}
},
@@ -8254,30 +8664,30 @@
}
},
"node_modules/@babel/compat-data": {
- "version": "7.27.2",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.27.2.tgz",
- "integrity": "sha512-TUtMJYRPyUb/9aU8f3K0mjmjf6M9N5Woshn2CS6nqJSeJtTtQcpLUXjGt9vbF8ZGff0El99sWkLgzwW3VXnxZQ==",
+ "version": "7.28.0",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.0.tgz",
+ "integrity": "sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==",
"license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/core": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.27.1.tgz",
- "integrity": "sha512-IaaGWsQqfsQWVLqMn9OB92MNN7zukfVA4s7KKAI0KfrrDsZ0yhi5uV4baBuLuN7n3vsZpwP8asPPcVwApxvjBQ==",
+ "version": "7.28.0",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.0.tgz",
+ "integrity": "sha512-UlLAnTPrFdNGoFtbSXwcGFQBtQZJCNjaN6hQNP3UPvuNXT1i82N26KL3dZeIpNalWywr9IuQuncaAfUaS1g6sQ==",
"license": "MIT",
"dependencies": {
"@ampproject/remapping": "^2.2.0",
"@babel/code-frame": "^7.27.1",
- "@babel/generator": "^7.27.1",
- "@babel/helper-compilation-targets": "^7.27.1",
- "@babel/helper-module-transforms": "^7.27.1",
- "@babel/helpers": "^7.27.1",
- "@babel/parser": "^7.27.1",
- "@babel/template": "^7.27.1",
- "@babel/traverse": "^7.27.1",
- "@babel/types": "^7.27.1",
+ "@babel/generator": "^7.28.0",
+ "@babel/helper-compilation-targets": "^7.27.2",
+ "@babel/helper-module-transforms": "^7.27.3",
+ "@babel/helpers": "^7.27.6",
+ "@babel/parser": "^7.28.0",
+ "@babel/template": "^7.27.2",
+ "@babel/traverse": "^7.28.0",
+ "@babel/types": "^7.28.0",
"convert-source-map": "^2.0.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
@@ -8302,15 +8712,15 @@
}
},
"node_modules/@babel/generator": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.1.tgz",
- "integrity": "sha512-UnJfnIpc/+JO0/+KRVQNGU+y5taA5vCbwN8+azkX6beii/ZF+enZJSOKo11ZSzGJjlNfJHfQtmQT8H+9TXPG2w==",
+ "version": "7.28.0",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.0.tgz",
+ "integrity": "sha512-lJjzvrbEeWrhB4P3QBsH7tey117PjLZnDbLiQEKjQ/fNJTjuq4HSqgFA+UNSwZT8D7dxxbnuSBMsa1lrWzKlQg==",
"license": "MIT",
"dependencies": {
- "@babel/parser": "^7.27.1",
- "@babel/types": "^7.27.1",
- "@jridgewell/gen-mapping": "^0.3.5",
- "@jridgewell/trace-mapping": "^0.3.25",
+ "@babel/parser": "^7.28.0",
+ "@babel/types": "^7.28.0",
+ "@jridgewell/gen-mapping": "^0.3.12",
+ "@jridgewell/trace-mapping": "^0.3.28",
"jsesc": "^3.0.2"
},
"engines": {
@@ -8318,12 +8728,12 @@
}
},
"node_modules/@babel/helper-annotate-as-pure": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.1.tgz",
- "integrity": "sha512-WnuuDILl9oOBbKnb4L+DyODx7iC47XfzmNCpTttFsSp6hTG7XZxu60+4IO+2/hPfcGOoKbFiwoI/+zwARbNQow==",
+ "version": "7.27.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz",
+ "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==",
"license": "MIT",
"dependencies": {
- "@babel/types": "^7.27.1"
+ "@babel/types": "^7.27.3"
},
"engines": {
"node": ">=6.9.0"
@@ -8411,21 +8821,30 @@
}
},
"node_modules/@babel/helper-define-polyfill-provider": {
- "version": "0.6.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.4.tgz",
- "integrity": "sha512-jljfR1rGnXXNWnmQg2K3+bvhkxB51Rl32QRaOTuwwjviGrHzIbSc8+x9CpraDtbT7mfyjXObULP4w/adunNwAw==",
+ "version": "0.6.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz",
+ "integrity": "sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==",
"license": "MIT",
"dependencies": {
- "@babel/helper-compilation-targets": "^7.22.6",
- "@babel/helper-plugin-utils": "^7.22.5",
- "debug": "^4.1.1",
+ "@babel/helper-compilation-targets": "^7.27.2",
+ "@babel/helper-plugin-utils": "^7.27.1",
+ "debug": "^4.4.1",
"lodash.debounce": "^4.0.8",
- "resolve": "^1.14.2"
+ "resolve": "^1.22.10"
},
"peerDependencies": {
"@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
}
},
+ "node_modules/@babel/helper-globals": {
+ "version": "7.28.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz",
+ "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
"node_modules/@babel/helper-member-expression-to-functions": {
"version": "7.27.1",
"resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz",
@@ -8453,14 +8872,14 @@
}
},
"node_modules/@babel/helper-module-transforms": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.1.tgz",
- "integrity": "sha512-9yHn519/8KvTU5BjTVEEeIM3w9/2yXNKoD82JifINImhpKkARMJKPP59kLo+BafpdN5zgNeIcS4jsGDmd3l58g==",
+ "version": "7.27.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.3.tgz",
+ "integrity": "sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==",
"license": "MIT",
"dependencies": {
"@babel/helper-module-imports": "^7.27.1",
"@babel/helper-validator-identifier": "^7.27.1",
- "@babel/traverse": "^7.27.1"
+ "@babel/traverse": "^7.27.3"
},
"engines": {
"node": ">=6.9.0"
@@ -8579,25 +8998,25 @@
}
},
"node_modules/@babel/helpers": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.1.tgz",
- "integrity": "sha512-FCvFTm0sWV8Fxhpp2McP5/W53GPllQ9QeQ7SiqGWjMf/LVG07lFa5+pgK05IRhVwtvafT22KF+ZSnM9I545CvQ==",
+ "version": "7.28.2",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.2.tgz",
+ "integrity": "sha512-/V9771t+EgXz62aCcyofnQhGM8DQACbRhvzKFsXKC9QM+5MadF8ZmIm0crDMaz3+o0h0zXfJnd4EhbYbxsrcFw==",
"license": "MIT",
"dependencies": {
- "@babel/template": "^7.27.1",
- "@babel/types": "^7.27.1"
+ "@babel/template": "^7.27.2",
+ "@babel/types": "^7.28.2"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/parser": {
- "version": "7.27.2",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.2.tgz",
- "integrity": "sha512-QYLs8299NA7WM/bZAdp+CviYYkVoYXlDW2rzliy3chxd1PQjej7JORuMJDJXJUb9g0TT+B99EwaVLKmX+sPXWw==",
+ "version": "7.28.0",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.0.tgz",
+ "integrity": "sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g==",
"license": "MIT",
"dependencies": {
- "@babel/types": "^7.27.1"
+ "@babel/types": "^7.28.0"
},
"bin": {
"parser": "bin/babel-parser.js"
@@ -8982,14 +9401,14 @@
}
},
"node_modules/@babel/plugin-transform-async-generator-functions": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.27.1.tgz",
- "integrity": "sha512-eST9RrwlpaoJBDHShc+DS2SG4ATTi2MYNb4OxYkf3n+7eb49LWpnS+HSpVfW4x927qQwgk8A2hGNVaajAEw0EA==",
+ "version": "7.28.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.28.0.tgz",
+ "integrity": "sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.27.1",
"@babel/helper-remap-async-to-generator": "^7.27.1",
- "@babel/traverse": "^7.27.1"
+ "@babel/traverse": "^7.28.0"
},
"engines": {
"node": ">=6.9.0"
@@ -9031,9 +9450,9 @@
}
},
"node_modules/@babel/plugin-transform-block-scoping": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.27.1.tgz",
- "integrity": "sha512-QEcFlMl9nGTgh1rn2nIeU5bkfb9BAjaQcWbiP4LvKxUot52ABcTkpcyJ7f2Q2U2RuQ84BNLgts3jRme2dTx6Fw==",
+ "version": "7.28.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.0.tgz",
+ "integrity": "sha512-gKKnwjpdx5sER/wl0WN0efUBFzF/56YZO0RJrSYP4CljXnP31ByY7fol89AzomdlLNzI36AvOTmYHsnZTCkq8Q==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.27.1"
@@ -9078,17 +9497,17 @@
}
},
"node_modules/@babel/plugin-transform-classes": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.27.1.tgz",
- "integrity": "sha512-7iLhfFAubmpeJe/Wo2TVuDrykh/zlWXLzPNdL0Jqn/Xu8R3QQ8h9ff8FQoISZOsw74/HFqFI7NX63HN7QFIHKA==",
+ "version": "7.28.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.0.tgz",
+ "integrity": "sha512-IjM1IoJNw72AZFlj33Cu8X0q2XK/6AaVC3jQu+cgQ5lThWD5ajnuUAml80dqRmOhmPkTH8uAwnpMu9Rvj0LTRA==",
"license": "MIT",
"dependencies": {
- "@babel/helper-annotate-as-pure": "^7.27.1",
- "@babel/helper-compilation-targets": "^7.27.1",
+ "@babel/helper-annotate-as-pure": "^7.27.3",
+ "@babel/helper-compilation-targets": "^7.27.2",
+ "@babel/helper-globals": "^7.28.0",
"@babel/helper-plugin-utils": "^7.27.1",
"@babel/helper-replace-supers": "^7.27.1",
- "@babel/traverse": "^7.27.1",
- "globals": "^11.1.0"
+ "@babel/traverse": "^7.28.0"
},
"engines": {
"node": ">=6.9.0"
@@ -9097,15 +9516,6 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-transform-classes/node_modules/globals": {
- "version": "11.12.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
- "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/@babel/plugin-transform-computed-properties": {
"version": "7.27.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz",
@@ -9123,12 +9533,13 @@
}
},
"node_modules/@babel/plugin-transform-destructuring": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.27.1.tgz",
- "integrity": "sha512-ttDCqhfvpE9emVkXbPD8vyxxh4TWYACVybGkDj+oReOGwnp066ITEivDlLwe0b1R0+evJ13IXQuLNB5w1fhC5Q==",
+ "version": "7.28.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.0.tgz",
+ "integrity": "sha512-v1nrSMBiKcodhsyJ4Gf+Z0U/yawmJDBOTpEB3mcQY52r9RIyPneGyAS/yM6seP/8I+mWI3elOMtT5dB8GJVs+A==",
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
+ "@babel/helper-plugin-utils": "^7.27.1",
+ "@babel/traverse": "^7.28.0"
},
"engines": {
"node": ">=6.9.0"
@@ -9199,6 +9610,22 @@
"@babel/core": "^7.0.0-0"
}
},
+ "node_modules/@babel/plugin-transform-explicit-resource-management": {
+ "version": "7.28.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.0.tgz",
+ "integrity": "sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1",
+ "@babel/plugin-transform-destructuring": "^7.28.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
"node_modules/@babel/plugin-transform-exponentiation-operator": {
"version": "7.27.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.27.1.tgz",
@@ -9450,15 +9877,16 @@
}
},
"node_modules/@babel/plugin-transform-object-rest-spread": {
- "version": "7.27.2",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.27.2.tgz",
- "integrity": "sha512-AIUHD7xJ1mCrj3uPozvtngY3s0xpv7Nu7DoUSnzNY6Xam1Cy4rUznR//pvMHOhQ4AvbCexhbqXCtpxGHOGOO6g==",
+ "version": "7.28.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.0.tgz",
+ "integrity": "sha512-9VNGikXxzu5eCiQjdE4IZn8sb9q7Xsk5EXLDBKUYg1e/Tve8/05+KJEtcxGxAgCY5t/BpKQM+JEL/yT4tvgiUA==",
"license": "MIT",
"dependencies": {
"@babel/helper-compilation-targets": "^7.27.2",
"@babel/helper-plugin-utils": "^7.27.1",
- "@babel/plugin-transform-destructuring": "^7.27.1",
- "@babel/plugin-transform-parameters": "^7.27.1"
+ "@babel/plugin-transform-destructuring": "^7.28.0",
+ "@babel/plugin-transform-parameters": "^7.27.7",
+ "@babel/traverse": "^7.28.0"
},
"engines": {
"node": ">=6.9.0"
@@ -9515,9 +9943,9 @@
}
},
"node_modules/@babel/plugin-transform-parameters": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.1.tgz",
- "integrity": "sha512-018KRk76HWKeZ5l4oTj2zPpSh+NbGdt0st5S6x0pga6HgrjBOJb24mMDHorFopOOd6YHkLgOZ+zaCjZGPO4aKg==",
+ "version": "7.27.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz",
+ "integrity": "sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.27.1"
@@ -9646,9 +10074,9 @@
}
},
"node_modules/@babel/plugin-transform-regenerator": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.27.1.tgz",
- "integrity": "sha512-B19lbbL7PMrKr52BNPjCqg1IyNUIjTcxKj8uX9zHO+PmWN93s19NDr/f69mIkEp2x9nmDJ08a7lgHaTTzvW7mw==",
+ "version": "7.28.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.1.tgz",
+ "integrity": "sha512-P0QiV/taaa3kXpLY+sXla5zec4E+4t4Aqc9ggHlfZ7a2cp8/x/Gv08jfwEtn9gnnYIMvHx6aoOZ8XJL8eU71Dg==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.27.1"
@@ -9831,12 +10259,12 @@
}
},
"node_modules/@babel/preset-env": {
- "version": "7.27.2",
- "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.27.2.tgz",
- "integrity": "sha512-Ma4zSuYSlGNRlCLO+EAzLnCmJK2vdstgv+n7aUP+/IKZrOfWHOJVdSJtuub8RzHTj3ahD37k5OKJWvzf16TQyQ==",
+ "version": "7.28.0",
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.28.0.tgz",
+ "integrity": "sha512-VmaxeGOwuDqzLl5JUkIRM1X2Qu2uKGxHEQWh+cvvbl7JuJRgKGJSfsEF/bUaxFhJl/XAyxBe7q7qSuTbKFuCyg==",
"license": "MIT",
"dependencies": {
- "@babel/compat-data": "^7.27.2",
+ "@babel/compat-data": "^7.28.0",
"@babel/helper-compilation-targets": "^7.27.2",
"@babel/helper-plugin-utils": "^7.27.1",
"@babel/helper-validator-option": "^7.27.1",
@@ -9850,19 +10278,20 @@
"@babel/plugin-syntax-import-attributes": "^7.27.1",
"@babel/plugin-syntax-unicode-sets-regex": "^7.18.6",
"@babel/plugin-transform-arrow-functions": "^7.27.1",
- "@babel/plugin-transform-async-generator-functions": "^7.27.1",
+ "@babel/plugin-transform-async-generator-functions": "^7.28.0",
"@babel/plugin-transform-async-to-generator": "^7.27.1",
"@babel/plugin-transform-block-scoped-functions": "^7.27.1",
- "@babel/plugin-transform-block-scoping": "^7.27.1",
+ "@babel/plugin-transform-block-scoping": "^7.28.0",
"@babel/plugin-transform-class-properties": "^7.27.1",
"@babel/plugin-transform-class-static-block": "^7.27.1",
- "@babel/plugin-transform-classes": "^7.27.1",
+ "@babel/plugin-transform-classes": "^7.28.0",
"@babel/plugin-transform-computed-properties": "^7.27.1",
- "@babel/plugin-transform-destructuring": "^7.27.1",
+ "@babel/plugin-transform-destructuring": "^7.28.0",
"@babel/plugin-transform-dotall-regex": "^7.27.1",
"@babel/plugin-transform-duplicate-keys": "^7.27.1",
"@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.27.1",
"@babel/plugin-transform-dynamic-import": "^7.27.1",
+ "@babel/plugin-transform-explicit-resource-management": "^7.28.0",
"@babel/plugin-transform-exponentiation-operator": "^7.27.1",
"@babel/plugin-transform-export-namespace-from": "^7.27.1",
"@babel/plugin-transform-for-of": "^7.27.1",
@@ -9879,15 +10308,15 @@
"@babel/plugin-transform-new-target": "^7.27.1",
"@babel/plugin-transform-nullish-coalescing-operator": "^7.27.1",
"@babel/plugin-transform-numeric-separator": "^7.27.1",
- "@babel/plugin-transform-object-rest-spread": "^7.27.2",
+ "@babel/plugin-transform-object-rest-spread": "^7.28.0",
"@babel/plugin-transform-object-super": "^7.27.1",
"@babel/plugin-transform-optional-catch-binding": "^7.27.1",
"@babel/plugin-transform-optional-chaining": "^7.27.1",
- "@babel/plugin-transform-parameters": "^7.27.1",
+ "@babel/plugin-transform-parameters": "^7.27.7",
"@babel/plugin-transform-private-methods": "^7.27.1",
"@babel/plugin-transform-private-property-in-object": "^7.27.1",
"@babel/plugin-transform-property-literals": "^7.27.1",
- "@babel/plugin-transform-regenerator": "^7.27.1",
+ "@babel/plugin-transform-regenerator": "^7.28.0",
"@babel/plugin-transform-regexp-modifiers": "^7.27.1",
"@babel/plugin-transform-reserved-words": "^7.27.1",
"@babel/plugin-transform-shorthand-properties": "^7.27.1",
@@ -9900,10 +10329,10 @@
"@babel/plugin-transform-unicode-regex": "^7.27.1",
"@babel/plugin-transform-unicode-sets-regex": "^7.27.1",
"@babel/preset-modules": "0.1.6-no-external-plugins",
- "babel-plugin-polyfill-corejs2": "^0.4.10",
- "babel-plugin-polyfill-corejs3": "^0.11.0",
- "babel-plugin-polyfill-regenerator": "^0.6.1",
- "core-js-compat": "^3.40.0",
+ "babel-plugin-polyfill-corejs2": "^0.4.14",
+ "babel-plugin-polyfill-corejs3": "^0.13.0",
+ "babel-plugin-polyfill-regenerator": "^0.6.5",
+ "core-js-compat": "^3.43.0",
"semver": "^6.3.1"
},
"engines": {
@@ -9937,9 +10366,9 @@
}
},
"node_modules/@babel/runtime": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.1.tgz",
- "integrity": "sha512-1x3D2xEk2fRo3PAhwQwu5UubzgiVWSXTBfWpVd2Mx2AzRqJuDJCsgaDVZ7HB5iGzDW1Hl1sWN2mFyKjmR9uAog==",
+ "version": "7.28.2",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.2.tgz",
+ "integrity": "sha512-KHp2IflsnGywDjBWDkR9iEqiWSpc8GIi0lgTT3mOElT0PP1tG26P4tmFI2YvAdzgq9RGyoHZQEIEdZy6Ec5xCA==",
"license": "MIT",
"engines": {
"node": ">=6.9.0"
@@ -9960,36 +10389,27 @@
}
},
"node_modules/@babel/traverse": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.1.tgz",
- "integrity": "sha512-ZCYtZciz1IWJB4U61UPu4KEaqyfj+r5T1Q5mqPo+IBpcG9kHv30Z0aD8LXPgC1trYa6rK0orRyAhqUgk4MjmEg==",
+ "version": "7.28.0",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.0.tgz",
+ "integrity": "sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==",
"license": "MIT",
"dependencies": {
"@babel/code-frame": "^7.27.1",
- "@babel/generator": "^7.27.1",
- "@babel/parser": "^7.27.1",
- "@babel/template": "^7.27.1",
- "@babel/types": "^7.27.1",
- "debug": "^4.3.1",
- "globals": "^11.1.0"
+ "@babel/generator": "^7.28.0",
+ "@babel/helper-globals": "^7.28.0",
+ "@babel/parser": "^7.28.0",
+ "@babel/template": "^7.27.2",
+ "@babel/types": "^7.28.0",
+ "debug": "^4.3.1"
},
"engines": {
"node": ">=6.9.0"
}
},
- "node_modules/@babel/traverse/node_modules/globals": {
- "version": "11.12.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
- "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/@babel/types": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.1.tgz",
- "integrity": "sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q==",
+ "version": "7.28.2",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.2.tgz",
+ "integrity": "sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==",
"license": "MIT",
"dependencies": {
"@babel/helper-string-parser": "^7.27.1",
@@ -10118,9 +10538,9 @@
"license": "MIT"
},
"node_modules/@esbuild/aix-ppc64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.4.tgz",
- "integrity": "sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.8.tgz",
+ "integrity": "sha512-urAvrUedIqEiFR3FYSLTWQgLu5tb+m0qZw0NBEasUeo6wuqatkMDaRT+1uABiGXEu5vqgPd7FGE1BhsAIy9QVA==",
"cpu": [
"ppc64"
],
@@ -10134,9 +10554,9 @@
}
},
"node_modules/@esbuild/android-arm": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.4.tgz",
- "integrity": "sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.8.tgz",
+ "integrity": "sha512-RONsAvGCz5oWyePVnLdZY/HHwA++nxYWIX1atInlaW6SEkwq6XkP3+cb825EUcRs5Vss/lGh/2YxAb5xqc07Uw==",
"cpu": [
"arm"
],
@@ -10150,9 +10570,9 @@
}
},
"node_modules/@esbuild/android-arm64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.4.tgz",
- "integrity": "sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.8.tgz",
+ "integrity": "sha512-OD3p7LYzWpLhZEyATcTSJ67qB5D+20vbtr6vHlHWSQYhKtzUYrETuWThmzFpZtFsBIxRvhO07+UgVA9m0i/O1w==",
"cpu": [
"arm64"
],
@@ -10166,9 +10586,9 @@
}
},
"node_modules/@esbuild/android-x64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.4.tgz",
- "integrity": "sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.8.tgz",
+ "integrity": "sha512-yJAVPklM5+4+9dTeKwHOaA+LQkmrKFX96BM0A/2zQrbS6ENCmxc4OVoBs5dPkCCak2roAD+jKCdnmOqKszPkjA==",
"cpu": [
"x64"
],
@@ -10182,9 +10602,9 @@
}
},
"node_modules/@esbuild/darwin-arm64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.4.tgz",
- "integrity": "sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.8.tgz",
+ "integrity": "sha512-Jw0mxgIaYX6R8ODrdkLLPwBqHTtYHJSmzzd+QeytSugzQ0Vg4c5rDky5VgkoowbZQahCbsv1rT1KW72MPIkevw==",
"cpu": [
"arm64"
],
@@ -10198,9 +10618,9 @@
}
},
"node_modules/@esbuild/darwin-x64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.4.tgz",
- "integrity": "sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.8.tgz",
+ "integrity": "sha512-Vh2gLxxHnuoQ+GjPNvDSDRpoBCUzY4Pu0kBqMBDlK4fuWbKgGtmDIeEC081xi26PPjn+1tct+Bh8FjyLlw1Zlg==",
"cpu": [
"x64"
],
@@ -10214,9 +10634,9 @@
}
},
"node_modules/@esbuild/freebsd-arm64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.4.tgz",
- "integrity": "sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.8.tgz",
+ "integrity": "sha512-YPJ7hDQ9DnNe5vxOm6jaie9QsTwcKedPvizTVlqWG9GBSq+BuyWEDazlGaDTC5NGU4QJd666V0yqCBL2oWKPfA==",
"cpu": [
"arm64"
],
@@ -10230,9 +10650,9 @@
}
},
"node_modules/@esbuild/freebsd-x64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.4.tgz",
- "integrity": "sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.8.tgz",
+ "integrity": "sha512-MmaEXxQRdXNFsRN/KcIimLnSJrk2r5H8v+WVafRWz5xdSVmWLoITZQXcgehI2ZE6gioE6HirAEToM/RvFBeuhw==",
"cpu": [
"x64"
],
@@ -10246,9 +10666,9 @@
}
},
"node_modules/@esbuild/linux-arm": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.4.tgz",
- "integrity": "sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.8.tgz",
+ "integrity": "sha512-FuzEP9BixzZohl1kLf76KEVOsxtIBFwCaLupVuk4eFVnOZfU+Wsn+x5Ryam7nILV2pkq2TqQM9EZPsOBuMC+kg==",
"cpu": [
"arm"
],
@@ -10262,9 +10682,9 @@
}
},
"node_modules/@esbuild/linux-arm64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.4.tgz",
- "integrity": "sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.8.tgz",
+ "integrity": "sha512-WIgg00ARWv/uYLU7lsuDK00d/hHSfES5BzdWAdAig1ioV5kaFNrtK8EqGcUBJhYqotlUByUKz5Qo6u8tt7iD/w==",
"cpu": [
"arm64"
],
@@ -10278,9 +10698,9 @@
}
},
"node_modules/@esbuild/linux-ia32": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.4.tgz",
- "integrity": "sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.8.tgz",
+ "integrity": "sha512-A1D9YzRX1i+1AJZuFFUMP1E9fMaYY+GnSQil9Tlw05utlE86EKTUA7RjwHDkEitmLYiFsRd9HwKBPEftNdBfjg==",
"cpu": [
"ia32"
],
@@ -10294,9 +10714,9 @@
}
},
"node_modules/@esbuild/linux-loong64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.4.tgz",
- "integrity": "sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.8.tgz",
+ "integrity": "sha512-O7k1J/dwHkY1RMVvglFHl1HzutGEFFZ3kNiDMSOyUrB7WcoHGf96Sh+64nTRT26l3GMbCW01Ekh/ThKM5iI7hQ==",
"cpu": [
"loong64"
],
@@ -10310,9 +10730,9 @@
}
},
"node_modules/@esbuild/linux-mips64el": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.4.tgz",
- "integrity": "sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.8.tgz",
+ "integrity": "sha512-uv+dqfRazte3BzfMp8PAQXmdGHQt2oC/y2ovwpTteqrMx2lwaksiFZ/bdkXJC19ttTvNXBuWH53zy/aTj1FgGw==",
"cpu": [
"mips64el"
],
@@ -10326,9 +10746,9 @@
}
},
"node_modules/@esbuild/linux-ppc64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.4.tgz",
- "integrity": "sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.8.tgz",
+ "integrity": "sha512-GyG0KcMi1GBavP5JgAkkstMGyMholMDybAf8wF5A70CALlDM2p/f7YFE7H92eDeH/VBtFJA5MT4nRPDGg4JuzQ==",
"cpu": [
"ppc64"
],
@@ -10342,9 +10762,9 @@
}
},
"node_modules/@esbuild/linux-riscv64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.4.tgz",
- "integrity": "sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.8.tgz",
+ "integrity": "sha512-rAqDYFv3yzMrq7GIcen3XP7TUEG/4LK86LUPMIz6RT8A6pRIDn0sDcvjudVZBiiTcZCY9y2SgYX2lgK3AF+1eg==",
"cpu": [
"riscv64"
],
@@ -10358,9 +10778,9 @@
}
},
"node_modules/@esbuild/linux-s390x": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.4.tgz",
- "integrity": "sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.8.tgz",
+ "integrity": "sha512-Xutvh6VjlbcHpsIIbwY8GVRbwoviWT19tFhgdA7DlenLGC/mbc3lBoVb7jxj9Z+eyGqvcnSyIltYUrkKzWqSvg==",
"cpu": [
"s390x"
],
@@ -10374,9 +10794,9 @@
}
},
"node_modules/@esbuild/linux-x64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.4.tgz",
- "integrity": "sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.8.tgz",
+ "integrity": "sha512-ASFQhgY4ElXh3nDcOMTkQero4b1lgubskNlhIfJrsH5OKZXDpUAKBlNS0Kx81jwOBp+HCeZqmoJuihTv57/jvQ==",
"cpu": [
"x64"
],
@@ -10390,9 +10810,9 @@
}
},
"node_modules/@esbuild/netbsd-arm64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.4.tgz",
- "integrity": "sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.8.tgz",
+ "integrity": "sha512-d1KfruIeohqAi6SA+gENMuObDbEjn22olAR7egqnkCD9DGBG0wsEARotkLgXDu6c4ncgWTZJtN5vcgxzWRMzcw==",
"cpu": [
"arm64"
],
@@ -10406,9 +10826,9 @@
}
},
"node_modules/@esbuild/netbsd-x64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.4.tgz",
- "integrity": "sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.8.tgz",
+ "integrity": "sha512-nVDCkrvx2ua+XQNyfrujIG38+YGyuy2Ru9kKVNyh5jAys6n+l44tTtToqHjino2My8VAY6Lw9H7RI73XFi66Cg==",
"cpu": [
"x64"
],
@@ -10422,9 +10842,9 @@
}
},
"node_modules/@esbuild/openbsd-arm64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.4.tgz",
- "integrity": "sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.8.tgz",
+ "integrity": "sha512-j8HgrDuSJFAujkivSMSfPQSAa5Fxbvk4rgNAS5i3K+r8s1X0p1uOO2Hl2xNsGFppOeHOLAVgYwDVlmxhq5h+SQ==",
"cpu": [
"arm64"
],
@@ -10438,9 +10858,9 @@
}
},
"node_modules/@esbuild/openbsd-x64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.4.tgz",
- "integrity": "sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.8.tgz",
+ "integrity": "sha512-1h8MUAwa0VhNCDp6Af0HToI2TJFAn1uqT9Al6DJVzdIBAd21m/G0Yfc77KDM3uF3T/YaOgQq3qTJHPbTOInaIQ==",
"cpu": [
"x64"
],
@@ -10453,10 +10873,26 @@
"node": ">=18"
}
},
+ "node_modules/@esbuild/openharmony-arm64": {
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.8.tgz",
+ "integrity": "sha512-r2nVa5SIK9tSWd0kJd9HCffnDHKchTGikb//9c7HX+r+wHYCpQrSgxhlY6KWV1nFo1l4KFbsMlHk+L6fekLsUg==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openharmony"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
"node_modules/@esbuild/sunos-x64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.4.tgz",
- "integrity": "sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.8.tgz",
+ "integrity": "sha512-zUlaP2S12YhQ2UzUfcCuMDHQFJyKABkAjvO5YSndMiIkMimPmxA+BYSBikWgsRpvyxuRnow4nS5NPnf9fpv41w==",
"cpu": [
"x64"
],
@@ -10470,9 +10906,9 @@
}
},
"node_modules/@esbuild/win32-arm64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.4.tgz",
- "integrity": "sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.8.tgz",
+ "integrity": "sha512-YEGFFWESlPva8hGL+zvj2z/SaK+pH0SwOM0Nc/d+rVnW7GSTFlLBGzZkuSU9kFIGIo8q9X3ucpZhu8PDN5A2sQ==",
"cpu": [
"arm64"
],
@@ -10486,9 +10922,9 @@
}
},
"node_modules/@esbuild/win32-ia32": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.4.tgz",
- "integrity": "sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.8.tgz",
+ "integrity": "sha512-hiGgGC6KZ5LZz58OL/+qVVoZiuZlUYlYHNAmczOm7bs2oE1XriPFi5ZHHrS8ACpV5EjySrnoCKmcbQMN+ojnHg==",
"cpu": [
"ia32"
],
@@ -10502,9 +10938,9 @@
}
},
"node_modules/@esbuild/win32-x64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.4.tgz",
- "integrity": "sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.8.tgz",
+ "integrity": "sha512-cn3Yr7+OaaZq1c+2pe+8yxC8E144SReCQjN6/2ynubzYjvyqZjTXfQJpAcQpsdJq3My7XADANiYGHoFC69pLQw==",
"cpu": [
"x64"
],
@@ -10610,31 +11046,31 @@
}
},
"node_modules/@floating-ui/core": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.0.tgz",
- "integrity": "sha512-FRdBLykrPPA6P76GGGqlex/e7fbe0F1ykgxHYNXQsH/iTEtjMj/f9bpY5oQqbjt5VgZvgz/uKXbGuROijh3VLA==",
+ "version": "1.7.3",
+ "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.3.tgz",
+ "integrity": "sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==",
"license": "MIT",
"dependencies": {
- "@floating-ui/utils": "^0.2.9"
+ "@floating-ui/utils": "^0.2.10"
}
},
"node_modules/@floating-ui/dom": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.0.tgz",
- "integrity": "sha512-lGTor4VlXcesUMh1cupTUTDoCxMb0V6bm3CnxHzQcw8Eaf1jQbgQX4i02fYgT0vJ82tb5MZ4CZk1LRGkktJCzg==",
+ "version": "1.7.3",
+ "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.3.tgz",
+ "integrity": "sha512-uZA413QEpNuhtb3/iIKoYMSK07keHPYeXF02Zhd6e213j+d1NamLix/mCLxBUDW/Gx52sPH2m+chlUsyaBs/Ag==",
"license": "MIT",
"dependencies": {
- "@floating-ui/core": "^1.7.0",
- "@floating-ui/utils": "^0.2.9"
+ "@floating-ui/core": "^1.7.3",
+ "@floating-ui/utils": "^0.2.10"
}
},
"node_modules/@floating-ui/react-dom": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.2.tgz",
- "integrity": "sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==",
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.5.tgz",
+ "integrity": "sha512-HDO/1/1oH9fjj4eLgegrlH3dklZpHtUYYFiVwMUwfGvk9jWDRWqkklA2/NFScknrcNSspbV868WjXORvreDX+Q==",
"license": "MIT",
"dependencies": {
- "@floating-ui/dom": "^1.0.0"
+ "@floating-ui/dom": "^1.7.3"
},
"peerDependencies": {
"react": ">=16.8.0",
@@ -10642,9 +11078,9 @@
}
},
"node_modules/@floating-ui/utils": {
- "version": "0.2.9",
- "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.9.tgz",
- "integrity": "sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==",
+ "version": "0.2.10",
+ "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.10.tgz",
+ "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==",
"license": "MIT"
},
"node_modules/@generative-ai-use-cases/common": {
@@ -11671,17 +12107,13 @@
}
},
"node_modules/@jridgewell/gen-mapping": {
- "version": "0.3.8",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz",
- "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==",
+ "version": "0.3.12",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.12.tgz",
+ "integrity": "sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==",
"license": "MIT",
"dependencies": {
- "@jridgewell/set-array": "^1.2.1",
- "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/sourcemap-codec": "^1.5.0",
"@jridgewell/trace-mapping": "^0.3.24"
- },
- "engines": {
- "node": ">=6.0.0"
}
},
"node_modules/@jridgewell/resolve-uri": {
@@ -11693,19 +12125,10 @@
"node": ">=6.0.0"
}
},
- "node_modules/@jridgewell/set-array": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
- "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
- "license": "MIT",
- "engines": {
- "node": ">=6.0.0"
- }
- },
"node_modules/@jridgewell/source-map": {
- "version": "0.3.6",
- "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz",
- "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==",
+ "version": "0.3.10",
+ "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.10.tgz",
+ "integrity": "sha512-0pPkgz9dY+bijgistcTTJ5mR+ocqRXLuhXHYdzoMmmoJ2C9S46RCm2GMUbatPEUK9Yjy26IrAy8D/M00lLkv+Q==",
"license": "MIT",
"dependencies": {
"@jridgewell/gen-mapping": "^0.3.5",
@@ -11713,25 +12136,32 @@
}
},
"node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
- "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
+ "version": "1.5.4",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz",
+ "integrity": "sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==",
"license": "MIT"
},
"node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.25",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
- "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
+ "version": "0.3.29",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.29.tgz",
+ "integrity": "sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==",
"license": "MIT",
"dependencies": {
"@jridgewell/resolve-uri": "^3.1.0",
"@jridgewell/sourcemap-codec": "^1.4.14"
}
},
+ "node_modules/@keyv/serialize": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@keyv/serialize/-/serialize-1.1.0.tgz",
+ "integrity": "sha512-RlDgexML7Z63Q8BSaqhXdCYNBy/JQnqYIwxofUrNLGCblOMHp+xux2Q8nLMLlPpgHQPoU0Do8Z6btCpRBEqZ8g==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/@mermaid-js/parser": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/@mermaid-js/parser/-/parser-0.4.0.tgz",
- "integrity": "sha512-wla8XOWvQAwuqy+gxiZqY+c7FokraOTHRWMsbB4AgRx9Sy7zKslNyejy7E+a77qHfey5GXw/ik3IXv/NHMJgaA==",
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/@mermaid-js/parser/-/parser-0.6.2.tgz",
+ "integrity": "sha512-+PO02uGF6L6Cs0Bw8RpGhikVvMWEysfAyl27qTlroUB8jSWr1lL0Sf6zi78ZxlSnmgSY2AMMKVgghnN9jTtwkQ==",
"license": "MIT",
"dependencies": {
"langium": "3.3.1"
@@ -11783,9 +12213,9 @@
}
},
"node_modules/@pkgr/core": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.4.tgz",
- "integrity": "sha512-ROFF39F6ZrnzSUEmQQZUar0Jt4xVoP9WnDRdWwF4NNcXs3xBTLgBUDoOwW141y1jP+S8nahIbdxbFC7IShw9Iw==",
+ "version": "0.2.9",
+ "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.9.tgz",
+ "integrity": "sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -11818,12 +12248,12 @@
"license": "MIT"
},
"node_modules/@radix-ui/react-arrow": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.1.6.tgz",
- "integrity": "sha512-2JMfHJf/eVnwq+2dewT3C0acmCWD3XiVA1Da+jTDqo342UlU13WvXtqHhG+yJw5JeQmu4ue2eMy6gcEArLBlcw==",
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.1.7.tgz",
+ "integrity": "sha512-F+M1tLhO+mlQaOWspE8Wstg+z6PwxwRd8oQ8IXceWz92kfAmalTRf0EjrouQeo7QssEPfCn05B4Ihs1K9WQ/7w==",
"license": "MIT",
"dependencies": {
- "@radix-ui/react-primitive": "2.1.2"
+ "@radix-ui/react-primitive": "2.1.3"
},
"peerDependencies": {
"@types/react": "*",
@@ -11841,15 +12271,15 @@
}
},
"node_modules/@radix-ui/react-collection": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.1.6.tgz",
- "integrity": "sha512-PbhRFK4lIEw9ADonj48tiYWzkllz81TM7KVYyyMMw2cwHO7D5h4XKEblL8NlaRisTK3QTe6tBEhDccFUryxHBQ==",
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.1.7.tgz",
+ "integrity": "sha512-Fh9rGN0MoI4ZFUNyfFVNU4y9LUz93u9/0K+yLgA2bwRojxM8JU1DyvvMBabnZPBgMWREAJvU2jjVzq+LrFUglw==",
"license": "MIT",
"dependencies": {
"@radix-ui/react-compose-refs": "1.1.2",
"@radix-ui/react-context": "1.1.2",
- "@radix-ui/react-primitive": "2.1.2",
- "@radix-ui/react-slot": "1.2.2"
+ "@radix-ui/react-primitive": "2.1.3",
+ "@radix-ui/react-slot": "1.2.3"
},
"peerDependencies": {
"@types/react": "*",
@@ -11897,22 +12327,22 @@
}
},
"node_modules/@radix-ui/react-dialog": {
- "version": "1.1.13",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.1.13.tgz",
- "integrity": "sha512-ARFmqUyhIVS3+riWzwGTe7JLjqwqgnODBUZdqpWar/z1WFs9z76fuOs/2BOWCR+YboRn4/WN9aoaGVwqNRr8VA==",
+ "version": "1.1.14",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.1.14.tgz",
+ "integrity": "sha512-+CpweKjqpzTmwRwcYECQcNYbI8V9VSQt0SNFKeEBLgfucbsLssU6Ppq7wUdNXEGb573bMjFhVjKVll8rmV6zMw==",
"license": "MIT",
"dependencies": {
"@radix-ui/primitive": "1.1.2",
"@radix-ui/react-compose-refs": "1.1.2",
"@radix-ui/react-context": "1.1.2",
- "@radix-ui/react-dismissable-layer": "1.1.9",
+ "@radix-ui/react-dismissable-layer": "1.1.10",
"@radix-ui/react-focus-guards": "1.1.2",
- "@radix-ui/react-focus-scope": "1.1.6",
+ "@radix-ui/react-focus-scope": "1.1.7",
"@radix-ui/react-id": "1.1.1",
- "@radix-ui/react-portal": "1.1.8",
+ "@radix-ui/react-portal": "1.1.9",
"@radix-ui/react-presence": "1.1.4",
- "@radix-ui/react-primitive": "2.1.2",
- "@radix-ui/react-slot": "1.2.2",
+ "@radix-ui/react-primitive": "2.1.3",
+ "@radix-ui/react-slot": "1.2.3",
"@radix-ui/react-use-controllable-state": "1.2.2",
"aria-hidden": "^1.2.4",
"react-remove-scroll": "^2.6.3"
@@ -11948,14 +12378,14 @@
}
},
"node_modules/@radix-ui/react-dismissable-layer": {
- "version": "1.1.9",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.9.tgz",
- "integrity": "sha512-way197PiTvNp+WBP7svMJasHl+vibhWGQDb6Mgf5mhEWJkgb85z7Lfl9TUdkqpWsf8GRNmoopx9ZxCyDzmgRMQ==",
+ "version": "1.1.10",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.10.tgz",
+ "integrity": "sha512-IM1zzRV4W3HtVgftdQiiOmA0AdJlCtMLe00FXaHwgt3rAnNsIyDqshvkIW3hj/iu5hu8ERP7KIYki6NkqDxAwQ==",
"license": "MIT",
"dependencies": {
"@radix-ui/primitive": "1.1.2",
"@radix-ui/react-compose-refs": "1.1.2",
- "@radix-ui/react-primitive": "2.1.2",
+ "@radix-ui/react-primitive": "2.1.3",
"@radix-ui/react-use-callback-ref": "1.1.1",
"@radix-ui/react-use-escape-keydown": "1.1.1"
},
@@ -11975,17 +12405,17 @@
}
},
"node_modules/@radix-ui/react-dropdown-menu": {
- "version": "2.1.14",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-2.1.14.tgz",
- "integrity": "sha512-lzuyNjoWOoaMFE/VC5FnAAYM16JmQA8ZmucOXtlhm2kKR5TSU95YLAueQ4JYuRmUJmBvSqXaVFGIfuukybwZJQ==",
+ "version": "2.1.15",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-2.1.15.tgz",
+ "integrity": "sha512-mIBnOjgwo9AH3FyKaSWoSu/dYj6VdhJ7frEPiGTeXCdUFHjl9h3mFh2wwhEtINOmYXWhdpf1rY2minFsmaNgVQ==",
"license": "MIT",
"dependencies": {
"@radix-ui/primitive": "1.1.2",
"@radix-ui/react-compose-refs": "1.1.2",
"@radix-ui/react-context": "1.1.2",
"@radix-ui/react-id": "1.1.1",
- "@radix-ui/react-menu": "2.1.14",
- "@radix-ui/react-primitive": "2.1.2",
+ "@radix-ui/react-menu": "2.1.15",
+ "@radix-ui/react-primitive": "2.1.3",
"@radix-ui/react-use-controllable-state": "1.2.2"
},
"peerDependencies": {
@@ -12019,13 +12449,13 @@
}
},
"node_modules/@radix-ui/react-focus-scope": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.6.tgz",
- "integrity": "sha512-r9zpYNUQY+2jWHWZGyddQLL9YHkM/XvSFHVcWs7bdVuxMAnCwTAuy6Pf47Z4nw7dYcUou1vg/VgjjrrH03VeBw==",
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.7.tgz",
+ "integrity": "sha512-t2ODlkXBQyn7jkl6TNaw/MtVEVvIGelJDCG41Okq/KwUsJBwQ4XVZsHAVUkK4mBv3ewiAS3PGuUWuY2BoK4ZUw==",
"license": "MIT",
"dependencies": {
"@radix-ui/react-compose-refs": "1.1.2",
- "@radix-ui/react-primitive": "2.1.2",
+ "@radix-ui/react-primitive": "2.1.3",
"@radix-ui/react-use-callback-ref": "1.1.1"
},
"peerDependencies": {
@@ -12062,26 +12492,26 @@
}
},
"node_modules/@radix-ui/react-menu": {
- "version": "2.1.14",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-menu/-/react-menu-2.1.14.tgz",
- "integrity": "sha512-0zSiBAIFq9GSKoSH5PdEaQeRB3RnEGxC+H2P0egtnKoKKLNBH8VBHyVO6/jskhjAezhOIplyRUj7U2lds9A+Yg==",
+ "version": "2.1.15",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-menu/-/react-menu-2.1.15.tgz",
+ "integrity": "sha512-tVlmA3Vb9n8SZSd+YSbuFR66l87Wiy4du+YE+0hzKQEANA+7cWKH1WgqcEX4pXqxUFQKrWQGHdvEfw00TjFiew==",
"license": "MIT",
"dependencies": {
"@radix-ui/primitive": "1.1.2",
- "@radix-ui/react-collection": "1.1.6",
+ "@radix-ui/react-collection": "1.1.7",
"@radix-ui/react-compose-refs": "1.1.2",
"@radix-ui/react-context": "1.1.2",
"@radix-ui/react-direction": "1.1.1",
- "@radix-ui/react-dismissable-layer": "1.1.9",
+ "@radix-ui/react-dismissable-layer": "1.1.10",
"@radix-ui/react-focus-guards": "1.1.2",
- "@radix-ui/react-focus-scope": "1.1.6",
+ "@radix-ui/react-focus-scope": "1.1.7",
"@radix-ui/react-id": "1.1.1",
- "@radix-ui/react-popper": "1.2.6",
- "@radix-ui/react-portal": "1.1.8",
+ "@radix-ui/react-popper": "1.2.7",
+ "@radix-ui/react-portal": "1.1.9",
"@radix-ui/react-presence": "1.1.4",
- "@radix-ui/react-primitive": "2.1.2",
- "@radix-ui/react-roving-focus": "1.1.9",
- "@radix-ui/react-slot": "1.2.2",
+ "@radix-ui/react-primitive": "2.1.3",
+ "@radix-ui/react-roving-focus": "1.1.10",
+ "@radix-ui/react-slot": "1.2.3",
"@radix-ui/react-use-callback-ref": "1.1.1",
"aria-hidden": "^1.2.4",
"react-remove-scroll": "^2.6.3"
@@ -12102,23 +12532,23 @@
}
},
"node_modules/@radix-ui/react-popover": {
- "version": "1.1.13",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-popover/-/react-popover-1.1.13.tgz",
- "integrity": "sha512-84uqQV3omKDR076izYgcha6gdpN8m3z6w/AeJ83MSBJYVG/AbOHdLjAgsPZkeC/kt+k64moXFCnio8BbqXszlw==",
+ "version": "1.1.14",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-popover/-/react-popover-1.1.14.tgz",
+ "integrity": "sha512-ODz16+1iIbGUfFEfKx2HTPKizg2MN39uIOV8MXeHnmdd3i/N9Wt7vU46wbHsqA0xoaQyXVcs0KIlBdOA2Y95bw==",
"license": "MIT",
"dependencies": {
"@radix-ui/primitive": "1.1.2",
"@radix-ui/react-compose-refs": "1.1.2",
"@radix-ui/react-context": "1.1.2",
- "@radix-ui/react-dismissable-layer": "1.1.9",
+ "@radix-ui/react-dismissable-layer": "1.1.10",
"@radix-ui/react-focus-guards": "1.1.2",
- "@radix-ui/react-focus-scope": "1.1.6",
+ "@radix-ui/react-focus-scope": "1.1.7",
"@radix-ui/react-id": "1.1.1",
- "@radix-ui/react-popper": "1.2.6",
- "@radix-ui/react-portal": "1.1.8",
+ "@radix-ui/react-popper": "1.2.7",
+ "@radix-ui/react-portal": "1.1.9",
"@radix-ui/react-presence": "1.1.4",
- "@radix-ui/react-primitive": "2.1.2",
- "@radix-ui/react-slot": "1.2.2",
+ "@radix-ui/react-primitive": "2.1.3",
+ "@radix-ui/react-slot": "1.2.3",
"@radix-ui/react-use-controllable-state": "1.2.2",
"aria-hidden": "^1.2.4",
"react-remove-scroll": "^2.6.3"
@@ -12139,16 +12569,16 @@
}
},
"node_modules/@radix-ui/react-popper": {
- "version": "1.2.6",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.2.6.tgz",
- "integrity": "sha512-7iqXaOWIjDBfIG7aq8CUEeCSsQMLFdn7VEE8TaFz704DtEzpPHR7w/uuzRflvKgltqSAImgcmxQ7fFX3X7wasg==",
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.2.7.tgz",
+ "integrity": "sha512-IUFAccz1JyKcf/RjB552PlWwxjeCJB8/4KxT7EhBHOJM+mN7LdW+B3kacJXILm32xawcMMjb2i0cIZpo+f9kiQ==",
"license": "MIT",
"dependencies": {
"@floating-ui/react-dom": "^2.0.0",
- "@radix-ui/react-arrow": "1.1.6",
+ "@radix-ui/react-arrow": "1.1.7",
"@radix-ui/react-compose-refs": "1.1.2",
"@radix-ui/react-context": "1.1.2",
- "@radix-ui/react-primitive": "2.1.2",
+ "@radix-ui/react-primitive": "2.1.3",
"@radix-ui/react-use-callback-ref": "1.1.1",
"@radix-ui/react-use-layout-effect": "1.1.1",
"@radix-ui/react-use-rect": "1.1.1",
@@ -12171,12 +12601,12 @@
}
},
"node_modules/@radix-ui/react-portal": {
- "version": "1.1.8",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.8.tgz",
- "integrity": "sha512-hQsTUIn7p7fxCPvao/q6wpbxmCwgLrlz+nOrJgC+RwfZqWY/WN+UMqkXzrtKbPrF82P43eCTl3ekeKuyAQbFeg==",
+ "version": "1.1.9",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.9.tgz",
+ "integrity": "sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ==",
"license": "MIT",
"dependencies": {
- "@radix-ui/react-primitive": "2.1.2",
+ "@radix-ui/react-primitive": "2.1.3",
"@radix-ui/react-use-layout-effect": "1.1.1"
},
"peerDependencies": {
@@ -12219,12 +12649,12 @@
}
},
"node_modules/@radix-ui/react-primitive": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.2.tgz",
- "integrity": "sha512-uHa+l/lKfxuDD2zjN/0peM/RhhSmRjr5YWdk/37EnSv1nJ88uvG85DPexSm8HdFQROd2VdERJ6ynXbkCFi+APw==",
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.3.tgz",
+ "integrity": "sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==",
"license": "MIT",
"dependencies": {
- "@radix-ui/react-slot": "1.2.2"
+ "@radix-ui/react-slot": "1.2.3"
},
"peerDependencies": {
"@types/react": "*",
@@ -12242,18 +12672,18 @@
}
},
"node_modules/@radix-ui/react-roving-focus": {
- "version": "1.1.9",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.1.9.tgz",
- "integrity": "sha512-ZzrIFnMYHHCNqSNCsuN6l7wlewBEq0O0BCSBkabJMFXVO51LRUTq71gLP1UxFvmrXElqmPjA5VX7IqC9VpazAQ==",
+ "version": "1.1.10",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.1.10.tgz",
+ "integrity": "sha512-dT9aOXUen9JSsxnMPv/0VqySQf5eDQ6LCk5Sw28kamz8wSOW2bJdlX2Bg5VUIIcV+6XlHpWTIuTPCf/UNIyq8Q==",
"license": "MIT",
"dependencies": {
"@radix-ui/primitive": "1.1.2",
- "@radix-ui/react-collection": "1.1.6",
+ "@radix-ui/react-collection": "1.1.7",
"@radix-ui/react-compose-refs": "1.1.2",
"@radix-ui/react-context": "1.1.2",
"@radix-ui/react-direction": "1.1.1",
"@radix-ui/react-id": "1.1.1",
- "@radix-ui/react-primitive": "2.1.2",
+ "@radix-ui/react-primitive": "2.1.3",
"@radix-ui/react-use-callback-ref": "1.1.1",
"@radix-ui/react-use-controllable-state": "1.2.2"
},
@@ -12273,9 +12703,9 @@
}
},
"node_modules/@radix-ui/react-scroll-area": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-scroll-area/-/react-scroll-area-1.2.8.tgz",
- "integrity": "sha512-K5h1RkYA6M0Sn61BV5LQs686zqBsSC0sGzL4/Gw4mNnjzrQcGSc6YXfC6CRFNaGydSdv5+M8cb0eNsOGo0OXtQ==",
+ "version": "1.2.9",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-scroll-area/-/react-scroll-area-1.2.9.tgz",
+ "integrity": "sha512-YSjEfBXnhUELsO2VzjdtYYD4CfQjvao+lhhrX5XsHD7/cyUNzljF1FHEbgTPN7LH2MClfwRMIsYlqTYpKTTe2A==",
"license": "MIT",
"dependencies": {
"@radix-ui/number": "1.1.1",
@@ -12284,7 +12714,7 @@
"@radix-ui/react-context": "1.1.2",
"@radix-ui/react-direction": "1.1.1",
"@radix-ui/react-presence": "1.1.4",
- "@radix-ui/react-primitive": "2.1.2",
+ "@radix-ui/react-primitive": "2.1.3",
"@radix-ui/react-use-callback-ref": "1.1.1",
"@radix-ui/react-use-layout-effect": "1.1.1"
},
@@ -12304,30 +12734,30 @@
}
},
"node_modules/@radix-ui/react-select": {
- "version": "2.2.4",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-2.2.4.tgz",
- "integrity": "sha512-/OOm58Gil4Ev5zT8LyVzqfBcij4dTHYdeyuF5lMHZ2bIp0Lk9oETocYiJ5QC0dHekEQnK6L/FNJCceeb4AkZ6Q==",
+ "version": "2.2.5",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-2.2.5.tgz",
+ "integrity": "sha512-HnMTdXEVuuyzx63ME0ut4+sEMYW6oouHWNGUZc7ddvUWIcfCva/AMoqEW/3wnEllriMWBa0RHspCYnfCWJQYmA==",
"license": "MIT",
"dependencies": {
"@radix-ui/number": "1.1.1",
"@radix-ui/primitive": "1.1.2",
- "@radix-ui/react-collection": "1.1.6",
+ "@radix-ui/react-collection": "1.1.7",
"@radix-ui/react-compose-refs": "1.1.2",
"@radix-ui/react-context": "1.1.2",
"@radix-ui/react-direction": "1.1.1",
- "@radix-ui/react-dismissable-layer": "1.1.9",
+ "@radix-ui/react-dismissable-layer": "1.1.10",
"@radix-ui/react-focus-guards": "1.1.2",
- "@radix-ui/react-focus-scope": "1.1.6",
+ "@radix-ui/react-focus-scope": "1.1.7",
"@radix-ui/react-id": "1.1.1",
- "@radix-ui/react-popper": "1.2.6",
- "@radix-ui/react-portal": "1.1.8",
- "@radix-ui/react-primitive": "2.1.2",
- "@radix-ui/react-slot": "1.2.2",
+ "@radix-ui/react-popper": "1.2.7",
+ "@radix-ui/react-portal": "1.1.9",
+ "@radix-ui/react-primitive": "2.1.3",
+ "@radix-ui/react-slot": "1.2.3",
"@radix-ui/react-use-callback-ref": "1.1.1",
"@radix-ui/react-use-controllable-state": "1.2.2",
"@radix-ui/react-use-layout-effect": "1.1.1",
"@radix-ui/react-use-previous": "1.1.1",
- "@radix-ui/react-visually-hidden": "1.2.2",
+ "@radix-ui/react-visually-hidden": "1.2.3",
"aria-hidden": "^1.2.4",
"react-remove-scroll": "^2.6.3"
},
@@ -12347,12 +12777,12 @@
}
},
"node_modules/@radix-ui/react-separator": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-separator/-/react-separator-1.1.6.tgz",
- "integrity": "sha512-Izof3lPpbCfTM7WDta+LRkz31jem890VjEvpVRoWQNKpDUMMVffuyq854XPGP1KYGWWmjmYvHvPFeocWhFCy1w==",
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-separator/-/react-separator-1.1.7.tgz",
+ "integrity": "sha512-0HEb8R9E8A+jZjvmFCy/J4xhbXy3TV+9XSnGJ3KvTtjlIUy/YQ/p6UYZvi7YbeoeXdyU9+Y3scizK6hkY37baA==",
"license": "MIT",
"dependencies": {
- "@radix-ui/react-primitive": "2.1.2"
+ "@radix-ui/react-primitive": "2.1.3"
},
"peerDependencies": {
"@types/react": "*",
@@ -12370,18 +12800,18 @@
}
},
"node_modules/@radix-ui/react-slider": {
- "version": "1.3.4",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-slider/-/react-slider-1.3.4.tgz",
- "integrity": "sha512-Cp6hEmQtRJFci285vkdIJ+HCDLTRDk+25VhFwa1fcubywjMUE3PynBgtN5RLudOgSCYMlT4jizCXdmV+8J7Y2w==",
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-slider/-/react-slider-1.3.5.tgz",
+ "integrity": "sha512-rkfe2pU2NBAYfGaxa3Mqosi7VZEWX5CxKaanRv0vZd4Zhl9fvQrg0VM93dv3xGLGfrHuoTRF3JXH8nb9g+B3fw==",
"license": "MIT",
"dependencies": {
"@radix-ui/number": "1.1.1",
"@radix-ui/primitive": "1.1.2",
- "@radix-ui/react-collection": "1.1.6",
+ "@radix-ui/react-collection": "1.1.7",
"@radix-ui/react-compose-refs": "1.1.2",
"@radix-ui/react-context": "1.1.2",
"@radix-ui/react-direction": "1.1.1",
- "@radix-ui/react-primitive": "2.1.2",
+ "@radix-ui/react-primitive": "2.1.3",
"@radix-ui/react-use-controllable-state": "1.2.2",
"@radix-ui/react-use-layout-effect": "1.1.1",
"@radix-ui/react-use-previous": "1.1.1",
@@ -12403,9 +12833,9 @@
}
},
"node_modules/@radix-ui/react-slot": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.2.tgz",
- "integrity": "sha512-y7TBO4xN4Y94FvcWIOIh18fM4R1A8S4q1jhoz4PNzOoHsFcN8pogcFmZrTYAm4F9VRUrWP/Mw7xSKybIeRI+CQ==",
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz",
+ "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==",
"license": "MIT",
"dependencies": {
"@radix-ui/react-compose-refs": "1.1.2"
@@ -12557,12 +12987,12 @@
}
},
"node_modules/@radix-ui/react-visually-hidden": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.2.2.tgz",
- "integrity": "sha512-ORCmRUbNiZIv6uV5mhFrhsIKw4UX/N3syZtyqvry61tbGm4JlgQuSn0hk5TwCARsCjkcnuRkSdCE3xfb+ADHew==",
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.2.3.tgz",
+ "integrity": "sha512-pzJq12tEaaIhqjbzpCuv/OypJY/BPavOofm+dbab+MHLajy277+1lLm6JFcGgF5eskJ6mquGirhXY2GD/8u8Ug==",
"license": "MIT",
"dependencies": {
- "@radix-ui/react-primitive": "2.1.2"
+ "@radix-ui/react-primitive": "2.1.3"
},
"peerDependencies": {
"@types/react": "*",
@@ -12633,9 +13063,9 @@
}
},
"node_modules/@rollup/plugin-inject/node_modules/@rollup/pluginutils": {
- "version": "5.1.4",
- "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.4.tgz",
- "integrity": "sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.2.0.tgz",
+ "integrity": "sha512-qWJ2ZTbmumwiLFomfzTyt5Kng4hwPi9rwCYN4SHb6eaRU1KNO4ccxINHr/VhH4GgPlt1XfSTLX2LBTme8ne4Zw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -12656,9 +13086,9 @@
}
},
"node_modules/@rollup/plugin-inject/node_modules/picomatch": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
- "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
"dev": true,
"license": "MIT",
"engines": {
@@ -12693,9 +13123,9 @@
}
},
"node_modules/@rollup/plugin-node-resolve/node_modules/@rollup/pluginutils": {
- "version": "5.1.4",
- "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.4.tgz",
- "integrity": "sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.2.0.tgz",
+ "integrity": "sha512-qWJ2ZTbmumwiLFomfzTyt5Kng4hwPi9rwCYN4SHb6eaRU1KNO4ccxINHr/VhH4GgPlt1XfSTLX2LBTme8ne4Zw==",
"license": "MIT",
"dependencies": {
"@types/estree": "^1.0.0",
@@ -12715,9 +13145,9 @@
}
},
"node_modules/@rollup/plugin-node-resolve/node_modules/picomatch": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
- "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
"license": "MIT",
"engines": {
"node": ">=12"
@@ -12763,9 +13193,9 @@
}
},
"node_modules/@rollup/rollup-android-arm-eabi": {
- "version": "4.40.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.40.2.tgz",
- "integrity": "sha512-JkdNEq+DFxZfUwxvB58tHMHBHVgX23ew41g1OQinthJ+ryhdRk67O31S7sYw8u2lTjHUPFxwar07BBt1KHp/hg==",
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.46.2.tgz",
+ "integrity": "sha512-Zj3Hl6sN34xJtMv7Anwb5Gu01yujyE/cLBDB2gnHTAHaWS1Z38L7kuSG+oAh0giZMqG060f/YBStXtMH6FvPMA==",
"cpu": [
"arm"
],
@@ -12776,9 +13206,9 @@
]
},
"node_modules/@rollup/rollup-android-arm64": {
- "version": "4.40.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.40.2.tgz",
- "integrity": "sha512-13unNoZ8NzUmnndhPTkWPWbX3vtHodYmy+I9kuLxN+F+l+x3LdVF7UCu8TWVMt1POHLh6oDHhnOA04n8oJZhBw==",
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.46.2.tgz",
+ "integrity": "sha512-nTeCWY83kN64oQ5MGz3CgtPx8NSOhC5lWtsjTs+8JAJNLcP3QbLCtDDgUKQc/Ro/frpMq4SHUaHN6AMltcEoLQ==",
"cpu": [
"arm64"
],
@@ -12789,9 +13219,9 @@
]
},
"node_modules/@rollup/rollup-darwin-arm64": {
- "version": "4.40.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.40.2.tgz",
- "integrity": "sha512-Gzf1Hn2Aoe8VZzevHostPX23U7N5+4D36WJNHK88NZHCJr7aVMG4fadqkIf72eqVPGjGc0HJHNuUaUcxiR+N/w==",
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.46.2.tgz",
+ "integrity": "sha512-HV7bW2Fb/F5KPdM/9bApunQh68YVDU8sO8BvcW9OngQVN3HHHkw99wFupuUJfGR9pYLLAjcAOA6iO+evsbBaPQ==",
"cpu": [
"arm64"
],
@@ -12802,9 +13232,9 @@
]
},
"node_modules/@rollup/rollup-darwin-x64": {
- "version": "4.40.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.40.2.tgz",
- "integrity": "sha512-47N4hxa01a4x6XnJoskMKTS8XZ0CZMd8YTbINbi+w03A2w4j1RTlnGHOz/P0+Bg1LaVL6ufZyNprSg+fW5nYQQ==",
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.46.2.tgz",
+ "integrity": "sha512-SSj8TlYV5nJixSsm/y3QXfhspSiLYP11zpfwp6G/YDXctf3Xkdnk4woJIF5VQe0of2OjzTt8EsxnJDCdHd2xMA==",
"cpu": [
"x64"
],
@@ -12815,9 +13245,9 @@
]
},
"node_modules/@rollup/rollup-freebsd-arm64": {
- "version": "4.40.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.40.2.tgz",
- "integrity": "sha512-8t6aL4MD+rXSHHZUR1z19+9OFJ2rl1wGKvckN47XFRVO+QL/dUSpKA2SLRo4vMg7ELA8pzGpC+W9OEd1Z/ZqoQ==",
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.46.2.tgz",
+ "integrity": "sha512-ZyrsG4TIT9xnOlLsSSi9w/X29tCbK1yegE49RYm3tu3wF1L/B6LVMqnEWyDB26d9Ecx9zrmXCiPmIabVuLmNSg==",
"cpu": [
"arm64"
],
@@ -12828,9 +13258,9 @@
]
},
"node_modules/@rollup/rollup-freebsd-x64": {
- "version": "4.40.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.40.2.tgz",
- "integrity": "sha512-C+AyHBzfpsOEYRFjztcYUFsH4S7UsE9cDtHCtma5BK8+ydOZYgMmWg1d/4KBytQspJCld8ZIujFMAdKG1xyr4Q==",
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.46.2.tgz",
+ "integrity": "sha512-pCgHFoOECwVCJ5GFq8+gR8SBKnMO+xe5UEqbemxBpCKYQddRQMgomv1104RnLSg7nNvgKy05sLsY51+OVRyiVw==",
"cpu": [
"x64"
],
@@ -12841,9 +13271,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm-gnueabihf": {
- "version": "4.40.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.40.2.tgz",
- "integrity": "sha512-de6TFZYIvJwRNjmW3+gaXiZ2DaWL5D5yGmSYzkdzjBDS3W+B9JQ48oZEsmMvemqjtAFzE16DIBLqd6IQQRuG9Q==",
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.46.2.tgz",
+ "integrity": "sha512-EtP8aquZ0xQg0ETFcxUbU71MZlHaw9MChwrQzatiE8U/bvi5uv/oChExXC4mWhjiqK7azGJBqU0tt5H123SzVA==",
"cpu": [
"arm"
],
@@ -12854,9 +13284,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm-musleabihf": {
- "version": "4.40.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.40.2.tgz",
- "integrity": "sha512-urjaEZubdIkacKc930hUDOfQPysezKla/O9qV+O89enqsqUmQm8Xj8O/vh0gHg4LYfv7Y7UsE3QjzLQzDYN1qg==",
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.46.2.tgz",
+ "integrity": "sha512-qO7F7U3u1nfxYRPM8HqFtLd+raev2K137dsV08q/LRKRLEc7RsiDWihUnrINdsWQxPR9jqZ8DIIZ1zJJAm5PjQ==",
"cpu": [
"arm"
],
@@ -12867,9 +13297,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm64-gnu": {
- "version": "4.40.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.40.2.tgz",
- "integrity": "sha512-KlE8IC0HFOC33taNt1zR8qNlBYHj31qGT1UqWqtvR/+NuCVhfufAq9fxO8BMFC22Wu0rxOwGVWxtCMvZVLmhQg==",
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.46.2.tgz",
+ "integrity": "sha512-3dRaqLfcOXYsfvw5xMrxAk9Lb1f395gkoBYzSFcc/scgRFptRXL9DOaDpMiehf9CO8ZDRJW2z45b6fpU5nwjng==",
"cpu": [
"arm64"
],
@@ -12880,9 +13310,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm64-musl": {
- "version": "4.40.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.40.2.tgz",
- "integrity": "sha512-j8CgxvfM0kbnhu4XgjnCWJQyyBOeBI1Zq91Z850aUddUmPeQvuAy6OiMdPS46gNFgy8gN1xkYyLgwLYZG3rBOg==",
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.46.2.tgz",
+ "integrity": "sha512-fhHFTutA7SM+IrR6lIfiHskxmpmPTJUXpWIsBXpeEwNgZzZZSg/q4i6FU4J8qOGyJ0TR+wXBwx/L7Ho9z0+uDg==",
"cpu": [
"arm64"
],
@@ -12893,9 +13323,9 @@
]
},
"node_modules/@rollup/rollup-linux-loongarch64-gnu": {
- "version": "4.40.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.40.2.tgz",
- "integrity": "sha512-Ybc/1qUampKuRF4tQXc7G7QY9YRyeVSykfK36Y5Qc5dmrIxwFhrOzqaVTNoZygqZ1ZieSWTibfFhQ5qK8jpWxw==",
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.46.2.tgz",
+ "integrity": "sha512-i7wfGFXu8x4+FRqPymzjD+Hyav8l95UIZ773j7J7zRYc3Xsxy2wIn4x+llpunexXe6laaO72iEjeeGyUFmjKeA==",
"cpu": [
"loong64"
],
@@ -12905,10 +13335,10 @@
"linux"
]
},
- "node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
- "version": "4.40.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.40.2.tgz",
- "integrity": "sha512-3FCIrnrt03CCsZqSYAOW/k9n625pjpuMzVfeI+ZBUSDT3MVIFDSPfSUgIl9FqUftxcUXInvFah79hE1c9abD+Q==",
+ "node_modules/@rollup/rollup-linux-ppc64-gnu": {
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.46.2.tgz",
+ "integrity": "sha512-B/l0dFcHVUnqcGZWKcWBSV2PF01YUt0Rvlurci5P+neqY/yMKchGU8ullZvIv5e8Y1C6wOn+U03mrDylP5q9Yw==",
"cpu": [
"ppc64"
],
@@ -12919,9 +13349,9 @@
]
},
"node_modules/@rollup/rollup-linux-riscv64-gnu": {
- "version": "4.40.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.40.2.tgz",
- "integrity": "sha512-QNU7BFHEvHMp2ESSY3SozIkBPaPBDTsfVNGx3Xhv+TdvWXFGOSH2NJvhD1zKAT6AyuuErJgbdvaJhYVhVqrWTg==",
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.46.2.tgz",
+ "integrity": "sha512-32k4ENb5ygtkMwPMucAb8MtV8olkPT03oiTxJbgkJa7lJ7dZMr0GCFJlyvy+K8iq7F/iuOr41ZdUHaOiqyR3iQ==",
"cpu": [
"riscv64"
],
@@ -12932,9 +13362,9 @@
]
},
"node_modules/@rollup/rollup-linux-riscv64-musl": {
- "version": "4.40.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.40.2.tgz",
- "integrity": "sha512-5W6vNYkhgfh7URiXTO1E9a0cy4fSgfE4+Hl5agb/U1sa0kjOLMLC1wObxwKxecE17j0URxuTrYZZME4/VH57Hg==",
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.46.2.tgz",
+ "integrity": "sha512-t5B2loThlFEauloaQkZg9gxV05BYeITLvLkWOkRXogP4qHXLkWSbSHKM9S6H1schf/0YGP/qNKtiISlxvfmmZw==",
"cpu": [
"riscv64"
],
@@ -12945,9 +13375,9 @@
]
},
"node_modules/@rollup/rollup-linux-s390x-gnu": {
- "version": "4.40.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.40.2.tgz",
- "integrity": "sha512-B7LKIz+0+p348JoAL4X/YxGx9zOx3sR+o6Hj15Y3aaApNfAshK8+mWZEf759DXfRLeL2vg5LYJBB7DdcleYCoQ==",
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.46.2.tgz",
+ "integrity": "sha512-YKjekwTEKgbB7n17gmODSmJVUIvj8CX7q5442/CK80L8nqOUbMtf8b01QkG3jOqyr1rotrAnW6B/qiHwfcuWQA==",
"cpu": [
"s390x"
],
@@ -12958,9 +13388,9 @@
]
},
"node_modules/@rollup/rollup-linux-x64-gnu": {
- "version": "4.40.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.40.2.tgz",
- "integrity": "sha512-lG7Xa+BmBNwpjmVUbmyKxdQJ3Q6whHjMjzQplOs5Z+Gj7mxPtWakGHqzMqNER68G67kmCX9qX57aRsW5V0VOng==",
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.46.2.tgz",
+ "integrity": "sha512-Jj5a9RUoe5ra+MEyERkDKLwTXVu6s3aACP51nkfnK9wJTraCC8IMe3snOfALkrjTYd2G1ViE1hICj0fZ7ALBPA==",
"cpu": [
"x64"
],
@@ -12971,9 +13401,9 @@
]
},
"node_modules/@rollup/rollup-linux-x64-musl": {
- "version": "4.40.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.40.2.tgz",
- "integrity": "sha512-tD46wKHd+KJvsmije4bUskNuvWKFcTOIM9tZ/RrmIvcXnbi0YK/cKS9FzFtAm7Oxi2EhV5N2OpfFB348vSQRXA==",
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.46.2.tgz",
+ "integrity": "sha512-7kX69DIrBeD7yNp4A5b81izs8BqoZkCIaxQaOpumcJ1S/kmqNFjPhDu1LHeVXv0SexfHQv5cqHsxLOjETuqDuA==",
"cpu": [
"x64"
],
@@ -12984,9 +13414,9 @@
]
},
"node_modules/@rollup/rollup-win32-arm64-msvc": {
- "version": "4.40.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.40.2.tgz",
- "integrity": "sha512-Bjv/HG8RRWLNkXwQQemdsWw4Mg+IJ29LK+bJPW2SCzPKOUaMmPEppQlu/Fqk1d7+DX3V7JbFdbkh/NMmurT6Pg==",
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.46.2.tgz",
+ "integrity": "sha512-wiJWMIpeaak/jsbaq2HMh/rzZxHVW1rU6coyeNNpMwk5isiPjSTx0a4YLSlYDwBH/WBvLz+EtsNqQScZTLJy3g==",
"cpu": [
"arm64"
],
@@ -12997,9 +13427,9 @@
]
},
"node_modules/@rollup/rollup-win32-ia32-msvc": {
- "version": "4.40.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.40.2.tgz",
- "integrity": "sha512-dt1llVSGEsGKvzeIO76HToiYPNPYPkmjhMHhP00T9S4rDern8P2ZWvWAQUEJ+R1UdMWJ/42i/QqJ2WV765GZcA==",
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.46.2.tgz",
+ "integrity": "sha512-gBgaUDESVzMgWZhcyjfs9QFK16D8K6QZpwAaVNJxYDLHWayOta4ZMjGm/vsAEy3hvlS2GosVFlBlP9/Wb85DqQ==",
"cpu": [
"ia32"
],
@@ -13010,9 +13440,9 @@
]
},
"node_modules/@rollup/rollup-win32-x64-msvc": {
- "version": "4.40.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.40.2.tgz",
- "integrity": "sha512-bwspbWB04XJpeElvsp+DCylKfF4trJDa2Y9Go8O6A7YLX2LIKGcNK/CYImJN6ZP4DcuOHB4Utl3iCbnR62DudA==",
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.46.2.tgz",
+ "integrity": "sha512-CvUo2ixeIQGtF6WvuB87XWqPQkoFAFqW+HUo/WzHwuHDvIwZCtjdWXoYCcr06iKGydiqTclC4jU/TNObC/xKZg==",
"cpu": [
"x64"
],
@@ -13137,12 +13567,12 @@
}
},
"node_modules/@smithy/abort-controller": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-4.0.2.tgz",
- "integrity": "sha512-Sl/78VDtgqKxN2+1qduaVE140XF+Xg+TafkncspwM4jFP/LHr76ZHmIY/y3V1M0mMLNk+Je6IGbzxy23RSToMw==",
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-4.0.5.tgz",
+ "integrity": "sha512-jcrqdTQurIrBbUm4W2YdLVMQDoL0sA9DTxYd2s+R/y+2U9NLOP7Xf/YqfSg1FZhlZIYEnvk2mwbyvIfdLEPo8g==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -13175,15 +13605,15 @@
}
},
"node_modules/@smithy/config-resolver": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-4.1.2.tgz",
- "integrity": "sha512-7r6mZGwb5LmLJ+zPtkLoznf2EtwEuSWdtid10pjGl/7HefCE4mueOkrfki8JCUm99W6UfP47/r3tbxx9CfBN5A==",
+ "version": "4.1.5",
+ "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-4.1.5.tgz",
+ "integrity": "sha512-viuHMxBAqydkB0AfWwHIdwf/PRH2z5KHGUzqyRtS/Wv+n3IHI993Sk76VCA7dD/+GzgGOmlJDITfPcJC1nIVIw==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/node-config-provider": "^4.1.1",
- "@smithy/types": "^4.2.0",
+ "@smithy/node-config-provider": "^4.1.4",
+ "@smithy/types": "^4.3.2",
"@smithy/util-config-provider": "^4.0.0",
- "@smithy/util-middleware": "^4.0.2",
+ "@smithy/util-middleware": "^4.0.5",
"tslib": "^2.6.2"
},
"engines": {
@@ -13191,19 +13621,22 @@
}
},
"node_modules/@smithy/core": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/@smithy/core/-/core-3.3.2.tgz",
- "integrity": "sha512-GlLv+syoWolhtjX12XplL9BXBu10cjjD8iQC69fiKTrVNOB3Fjt8CVI9ccm6G3bLbMNe1gzrLD7yyMkYo4hchw==",
+ "version": "3.8.0",
+ "resolved": "https://registry.npmjs.org/@smithy/core/-/core-3.8.0.tgz",
+ "integrity": "sha512-EYqsIYJmkR1VhVE9pccnk353xhs+lB6btdutJEtsp7R055haMJp2yE16eSxw8fv+G0WUY6vqxyYOP8kOqawxYQ==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/middleware-serde": "^4.0.4",
- "@smithy/protocol-http": "^5.1.0",
- "@smithy/types": "^4.2.0",
+ "@smithy/middleware-serde": "^4.0.9",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/types": "^4.3.2",
+ "@smithy/util-base64": "^4.0.0",
"@smithy/util-body-length-browser": "^4.0.0",
- "@smithy/util-middleware": "^4.0.2",
- "@smithy/util-stream": "^4.2.0",
+ "@smithy/util-middleware": "^4.0.5",
+ "@smithy/util-stream": "^4.2.4",
"@smithy/util-utf8": "^4.0.0",
- "tslib": "^2.6.2"
+ "@types/uuid": "^9.0.1",
+ "tslib": "^2.6.2",
+ "uuid": "^9.0.1"
},
"engines": {
"node": ">=18.0.0"
@@ -13223,15 +13656,15 @@
}
},
"node_modules/@smithy/credential-provider-imds": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-4.0.4.tgz",
- "integrity": "sha512-jN6M6zaGVyB8FmNGG+xOPQB4N89M1x97MMdMnm1ESjljLS3Qju/IegQizKujaNcy2vXAvrz0en8bobe6E55FEA==",
+ "version": "4.0.7",
+ "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-4.0.7.tgz",
+ "integrity": "sha512-dDzrMXA8d8riFNiPvytxn0mNwR4B3h8lgrQ5UjAGu6T9z/kRg/Xncf4tEQHE/+t25sY8IH3CowcmWi+1U5B1Gw==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/node-config-provider": "^4.1.1",
- "@smithy/property-provider": "^4.0.2",
- "@smithy/types": "^4.2.0",
- "@smithy/url-parser": "^4.0.2",
+ "@smithy/node-config-provider": "^4.1.4",
+ "@smithy/property-provider": "^4.0.5",
+ "@smithy/types": "^4.3.2",
+ "@smithy/url-parser": "^4.0.5",
"tslib": "^2.6.2"
},
"engines": {
@@ -13239,13 +13672,13 @@
}
},
"node_modules/@smithy/eventstream-codec": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-4.0.2.tgz",
- "integrity": "sha512-p+f2kLSK7ZrXVfskU/f5dzksKTewZk8pJLPvER3aFHPt76C2MxD9vNatSfLzzQSQB4FNO96RK4PSXfhD1TTeMQ==",
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-4.0.5.tgz",
+ "integrity": "sha512-miEUN+nz2UTNoRYRhRqVTJCx7jMeILdAurStT2XoS+mhokkmz1xAPp95DFW9Gxt4iF2VBqpeF9HbTQ3kY1viOA==",
"license": "Apache-2.0",
"dependencies": {
"@aws-crypto/crc32": "5.2.0",
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"@smithy/util-hex-encoding": "^4.0.0",
"tslib": "^2.6.2"
},
@@ -13266,13 +13699,13 @@
}
},
"node_modules/@smithy/eventstream-serde-browser": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-4.0.2.tgz",
- "integrity": "sha512-CepZCDs2xgVUtH7ZZ7oDdZFH8e6Y2zOv8iiX6RhndH69nlojCALSKK+OXwZUgOtUZEUaZ5e1hULVCHYbCn7pug==",
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-4.0.5.tgz",
+ "integrity": "sha512-LCUQUVTbM6HFKzImYlSB9w4xafZmpdmZsOh9rIl7riPC3osCgGFVP+wwvYVw6pXda9PPT9TcEZxaq3XE81EdJQ==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/eventstream-serde-universal": "^4.0.2",
- "@smithy/types": "^4.2.0",
+ "@smithy/eventstream-serde-universal": "^4.0.5",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -13280,12 +13713,12 @@
}
},
"node_modules/@smithy/eventstream-serde-config-resolver": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-4.1.0.tgz",
- "integrity": "sha512-1PI+WPZ5TWXrfj3CIoKyUycYynYJgZjuQo8U+sphneOtjsgrttYybdqESFReQrdWJ+LKt6NEdbYzmmfDBmjX2A==",
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-4.1.3.tgz",
+ "integrity": "sha512-yTTzw2jZjn/MbHu1pURbHdpjGbCuMHWncNBpJnQAPxOVnFUAbSIUSwafiphVDjNV93TdBJWmeVAds7yl5QCkcA==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -13293,13 +13726,13 @@
}
},
"node_modules/@smithy/eventstream-serde-node": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-node/-/eventstream-serde-node-4.0.2.tgz",
- "integrity": "sha512-C5bJ/C6x9ENPMx2cFOirspnF9ZsBVnBMtP6BdPl/qYSuUawdGQ34Lq0dMcf42QTjUZgWGbUIZnz6+zLxJlb9aw==",
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-node/-/eventstream-serde-node-4.0.5.tgz",
+ "integrity": "sha512-lGS10urI4CNzz6YlTe5EYG0YOpsSp3ra8MXyco4aqSkQDuyZPIw2hcaxDU82OUVtK7UY9hrSvgWtpsW5D4rb4g==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/eventstream-serde-universal": "^4.0.2",
- "@smithy/types": "^4.2.0",
+ "@smithy/eventstream-serde-universal": "^4.0.5",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -13307,13 +13740,13 @@
}
},
"node_modules/@smithy/eventstream-serde-universal": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-4.0.2.tgz",
- "integrity": "sha512-St8h9JqzvnbB52FtckiHPN4U/cnXcarMniXRXTKn0r4b4XesZOGiAyUdj1aXbqqn1icSqBlzzUsCl6nPB018ng==",
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-4.0.5.tgz",
+ "integrity": "sha512-JFnmu4SU36YYw3DIBVao3FsJh4Uw65vVDIqlWT4LzR6gXA0F3KP0IXFKKJrhaVzCBhAuMsrUUaT5I+/4ZhF7aw==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/eventstream-codec": "^4.0.2",
- "@smithy/types": "^4.2.0",
+ "@smithy/eventstream-codec": "^4.0.5",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -13321,14 +13754,14 @@
}
},
"node_modules/@smithy/fetch-http-handler": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-5.0.2.tgz",
- "integrity": "sha512-+9Dz8sakS9pe7f2cBocpJXdeVjMopUDLgZs1yWeu7h++WqSbjUYv/JAJwKwXw1HV6gq1jyWjxuyn24E2GhoEcQ==",
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-5.1.1.tgz",
+ "integrity": "sha512-61WjM0PWmZJR+SnmzaKI7t7G0UkkNFboDpzIdzSoy7TByUzlxo18Qlh9s71qug4AY4hlH/CwXdubMtkcNEb/sQ==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/protocol-http": "^5.1.0",
- "@smithy/querystring-builder": "^4.0.2",
- "@smithy/types": "^4.2.0",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/querystring-builder": "^4.0.5",
+ "@smithy/types": "^4.3.2",
"@smithy/util-base64": "^4.0.0",
"tslib": "^2.6.2"
},
@@ -13337,14 +13770,14 @@
}
},
"node_modules/@smithy/hash-blob-browser": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/@smithy/hash-blob-browser/-/hash-blob-browser-4.0.2.tgz",
- "integrity": "sha512-3g188Z3DyhtzfBRxpZjU8R9PpOQuYsbNnyStc/ZVS+9nVX1f6XeNOa9IrAh35HwwIZg+XWk8bFVtNINVscBP+g==",
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/@smithy/hash-blob-browser/-/hash-blob-browser-4.0.5.tgz",
+ "integrity": "sha512-F7MmCd3FH/Q2edhcKd+qulWkwfChHbc9nhguBlVjSUE6hVHhec3q6uPQ+0u69S6ppvLtR3eStfCuEKMXBXhvvA==",
"license": "Apache-2.0",
"dependencies": {
"@smithy/chunked-blob-reader": "^5.0.0",
"@smithy/chunked-blob-reader-native": "^4.0.0",
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -13352,12 +13785,12 @@
}
},
"node_modules/@smithy/hash-node": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-4.0.2.tgz",
- "integrity": "sha512-VnTpYPnRUE7yVhWozFdlxcYknv9UN7CeOqSrMH+V877v4oqtVYuoqhIhtSjmGPvYrYnAkaM61sLMKHvxL138yg==",
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-4.0.5.tgz",
+ "integrity": "sha512-cv1HHkKhpyRb6ahD8Vcfb2Hgz67vNIXEp2vnhzfxLFGRukLCNEA5QdsorbUEzXma1Rco0u3rx5VTqbM06GcZqQ==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"@smithy/util-buffer-from": "^4.0.0",
"@smithy/util-utf8": "^4.0.0",
"tslib": "^2.6.2"
@@ -13380,12 +13813,12 @@
}
},
"node_modules/@smithy/hash-stream-node": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/@smithy/hash-stream-node/-/hash-stream-node-4.0.2.tgz",
- "integrity": "sha512-POWDuTznzbIwlEXEvvXoPMS10y0WKXK790soe57tFRfvf4zBHyzE529HpZMqmDdwG9MfFflnyzndUQ8j78ZdSg==",
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/@smithy/hash-stream-node/-/hash-stream-node-4.0.5.tgz",
+ "integrity": "sha512-IJuDS3+VfWB67UC0GU0uYBG/TA30w+PlOaSo0GPm9UHS88A6rCP6uZxNjNYiyRtOcjv7TXn/60cW8ox1yuZsLg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"@smithy/util-utf8": "^4.0.0",
"tslib": "^2.6.2"
},
@@ -13407,12 +13840,12 @@
}
},
"node_modules/@smithy/invalid-dependency": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-4.0.2.tgz",
- "integrity": "sha512-GatB4+2DTpgWPday+mnUkoumP54u/MDM/5u44KF9hIu8jF0uafZtQLcdfIKkIcUNuF/fBojpLEHZS/56JqPeXQ==",
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-4.0.5.tgz",
+ "integrity": "sha512-IVnb78Qtf7EJpoEVo7qJ8BEXQwgC4n3igeJNNKEj/MLYtapnx8A67Zt/J3RXAj2xSO1910zk0LdFiygSemuLow==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -13432,12 +13865,12 @@
}
},
"node_modules/@smithy/md5-js": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/@smithy/md5-js/-/md5-js-4.0.2.tgz",
- "integrity": "sha512-Hc0R8EiuVunUewCse2syVgA2AfSRco3LyAv07B/zCOMa+jpXI9ll+Q21Nc6FAlYPcpNcAXqBzMhNs1CD/pP2bA==",
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/@smithy/md5-js/-/md5-js-4.0.5.tgz",
+ "integrity": "sha512-8n2XCwdUbGr8W/XhMTaxILkVlw2QebkVTn5tm3HOcbPbOpWg89zr6dPXsH8xbeTsbTXlJvlJNTQsKAIoqQGbdA==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"@smithy/util-utf8": "^4.0.0",
"tslib": "^2.6.2"
},
@@ -13459,13 +13892,13 @@
}
},
"node_modules/@smithy/middleware-content-length": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-4.0.2.tgz",
- "integrity": "sha512-hAfEXm1zU+ELvucxqQ7I8SszwQ4znWMbNv6PLMndN83JJN41EPuS93AIyh2N+gJ6x8QFhzSO6b7q2e6oClDI8A==",
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-4.0.5.tgz",
+ "integrity": "sha512-l1jlNZoYzoCC7p0zCtBDE5OBXZ95yMKlRlftooE5jPWQn4YBPLgsp+oeHp7iMHaTGoUdFqmHOPa8c9G3gBsRpQ==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/protocol-http": "^5.1.0",
- "@smithy/types": "^4.2.0",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -13473,18 +13906,18 @@
}
},
"node_modules/@smithy/middleware-endpoint": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-4.1.5.tgz",
- "integrity": "sha512-WlpC9KVkajQf7RaGwi3n6lhHZzYTgm2PyX/2JjcwSHG417gFloNmYqN8rzDRXjT527/ZxZuvCsqq1gWZPW8lag==",
+ "version": "4.1.18",
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-4.1.18.tgz",
+ "integrity": "sha512-ZhvqcVRPZxnZlokcPaTwb+r+h4yOIOCJmx0v2d1bpVlmP465g3qpVSf7wxcq5zZdu4jb0H4yIMxuPwDJSQc3MQ==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/core": "^3.3.2",
- "@smithy/middleware-serde": "^4.0.4",
- "@smithy/node-config-provider": "^4.1.1",
- "@smithy/shared-ini-file-loader": "^4.0.2",
- "@smithy/types": "^4.2.0",
- "@smithy/url-parser": "^4.0.2",
- "@smithy/util-middleware": "^4.0.2",
+ "@smithy/core": "^3.8.0",
+ "@smithy/middleware-serde": "^4.0.9",
+ "@smithy/node-config-provider": "^4.1.4",
+ "@smithy/shared-ini-file-loader": "^4.0.5",
+ "@smithy/types": "^4.3.2",
+ "@smithy/url-parser": "^4.0.5",
+ "@smithy/util-middleware": "^4.0.5",
"tslib": "^2.6.2"
},
"engines": {
@@ -13492,18 +13925,19 @@
}
},
"node_modules/@smithy/middleware-retry": {
- "version": "4.1.6",
- "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-4.1.6.tgz",
- "integrity": "sha512-bl8q95nvCf7d22spxsBfs2giUDFf7prWLAxF5tmfgGBYHbUNW+OfnwMnabC15GMLA2AoE4HOtQR18a59lx6Blw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@smithy/node-config-provider": "^4.1.1",
- "@smithy/protocol-http": "^5.1.0",
- "@smithy/service-error-classification": "^4.0.3",
- "@smithy/smithy-client": "^4.2.5",
- "@smithy/types": "^4.2.0",
- "@smithy/util-middleware": "^4.0.2",
- "@smithy/util-retry": "^4.0.3",
+ "version": "4.1.19",
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-4.1.19.tgz",
+ "integrity": "sha512-X58zx/NVECjeuUB6A8HBu4bhx72EoUz+T5jTMIyeNKx2lf+Gs9TmWPNNkH+5QF0COjpInP/xSpJGJ7xEnAklQQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/node-config-provider": "^4.1.4",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/service-error-classification": "^4.0.7",
+ "@smithy/smithy-client": "^4.4.10",
+ "@smithy/types": "^4.3.2",
+ "@smithy/util-middleware": "^4.0.5",
+ "@smithy/util-retry": "^4.0.7",
+ "@types/uuid": "^9.0.1",
"tslib": "^2.6.2",
"uuid": "^9.0.1"
},
@@ -13512,13 +13946,13 @@
}
},
"node_modules/@smithy/middleware-serde": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-4.0.4.tgz",
- "integrity": "sha512-CaLvBtz+Xgs7eOwoinTXhZ02/9u8b28RT8lQAaDh7Q59nygeYYp1UiJjwl6zsay+lp0qVT/S7qLVI5RgcxjyfQ==",
+ "version": "4.0.9",
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-4.0.9.tgz",
+ "integrity": "sha512-uAFFR4dpeoJPGz8x9mhxp+RPjo5wW0QEEIPPPbLXiRRWeCATf/Km3gKIVR5vaP8bN1kgsPhcEeh+IZvUlBv6Xg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/protocol-http": "^5.1.0",
- "@smithy/types": "^4.2.0",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -13526,12 +13960,12 @@
}
},
"node_modules/@smithy/middleware-stack": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-4.0.2.tgz",
- "integrity": "sha512-eSPVcuJJGVYrFYu2hEq8g8WWdJav3sdrI4o2c6z/rjnYDd3xH9j9E7deZQCzFn4QvGPouLngH3dQ+QVTxv5bOQ==",
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-4.0.5.tgz",
+ "integrity": "sha512-/yoHDXZPh3ocRVyeWQFvC44u8seu3eYzZRveCMfgMOBcNKnAmOvjbL9+Cp5XKSIi9iYA9PECUuW2teDAk8T+OQ==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -13539,14 +13973,14 @@
}
},
"node_modules/@smithy/node-config-provider": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-4.1.1.tgz",
- "integrity": "sha512-1slS5jf5icHETwl5hxEVBj+mh6B+LbVW4yRINsGtUKH+nxM5Pw2H59+qf+JqYFCHp9jssG4vX81f5WKnjMN3Vw==",
+ "version": "4.1.4",
+ "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-4.1.4.tgz",
+ "integrity": "sha512-+UDQV/k42jLEPPHSn39l0Bmc4sB1xtdI9Gd47fzo/0PbXzJ7ylgaOByVjF5EeQIumkepnrJyfx86dPa9p47Y+w==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/property-provider": "^4.0.2",
- "@smithy/shared-ini-file-loader": "^4.0.2",
- "@smithy/types": "^4.2.0",
+ "@smithy/property-provider": "^4.0.5",
+ "@smithy/shared-ini-file-loader": "^4.0.5",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -13554,15 +13988,15 @@
}
},
"node_modules/@smithy/node-http-handler": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-4.0.4.tgz",
- "integrity": "sha512-/mdqabuAT3o/ihBGjL94PUbTSPSRJ0eeVTdgADzow0wRJ0rN4A27EOrtlK56MYiO1fDvlO3jVTCxQtQmK9dZ1g==",
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-4.1.1.tgz",
+ "integrity": "sha512-RHnlHqFpoVdjSPPiYy/t40Zovf3BBHc2oemgD7VsVTFFZrU5erFFe0n52OANZZ/5sbshgD93sOh5r6I35Xmpaw==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/abort-controller": "^4.0.2",
- "@smithy/protocol-http": "^5.1.0",
- "@smithy/querystring-builder": "^4.0.2",
- "@smithy/types": "^4.2.0",
+ "@smithy/abort-controller": "^4.0.5",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/querystring-builder": "^4.0.5",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -13570,12 +14004,12 @@
}
},
"node_modules/@smithy/property-provider": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-4.0.2.tgz",
- "integrity": "sha512-wNRoQC1uISOuNc2s4hkOYwYllmiyrvVXWMtq+TysNRVQaHm4yoafYQyjN/goYZS+QbYlPIbb/QRjaUZMuzwQ7A==",
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-4.0.5.tgz",
+ "integrity": "sha512-R/bswf59T/n9ZgfgUICAZoWYKBHcsVDurAGX88zsiUtOTA/xUAPyiT+qkNCPwFn43pZqN84M4MiUsbSGQmgFIQ==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -13583,12 +14017,12 @@
}
},
"node_modules/@smithy/protocol-http": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-5.1.0.tgz",
- "integrity": "sha512-KxAOL1nUNw2JTYrtviRRjEnykIDhxc84qMBzxvu1MUfQfHTuBlCG7PA6EdVwqpJjH7glw7FqQoFxUJSyBQgu7g==",
+ "version": "5.1.3",
+ "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-5.1.3.tgz",
+ "integrity": "sha512-fCJd2ZR7D22XhDY0l+92pUag/7je2BztPRQ01gU5bMChcyI0rlly7QFibnYHzcxDvccMjlpM/Q1ev8ceRIb48w==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -13596,12 +14030,12 @@
}
},
"node_modules/@smithy/querystring-builder": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-4.0.2.tgz",
- "integrity": "sha512-NTOs0FwHw1vimmQM4ebh+wFQvOwkEf/kQL6bSM1Lock+Bv4I89B3hGYoUEPkmvYPkDKyp5UdXJYu+PoTQ3T31Q==",
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-4.0.5.tgz",
+ "integrity": "sha512-NJeSCU57piZ56c+/wY+AbAw6rxCCAOZLCIniRE7wqvndqxcKKDOXzwWjrY7wGKEISfhL9gBbAaWWgHsUGedk+A==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"@smithy/util-uri-escape": "^4.0.0",
"tslib": "^2.6.2"
},
@@ -13610,12 +14044,12 @@
}
},
"node_modules/@smithy/querystring-parser": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-4.0.2.tgz",
- "integrity": "sha512-v6w8wnmZcVXjfVLjxw8qF7OwESD9wnpjp0Dqry/Pod0/5vcEA3qxCr+BhbOHlxS8O+29eLpT3aagxXGwIoEk7Q==",
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-4.0.5.tgz",
+ "integrity": "sha512-6SV7md2CzNG/WUeTjVe6Dj8noH32r4MnUeFKZrnVYsQxpGSIcphAanQMayi8jJLZAWm6pdM9ZXvKCpWOsIGg0w==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -13623,24 +14057,24 @@
}
},
"node_modules/@smithy/service-error-classification": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-4.0.3.tgz",
- "integrity": "sha512-FTbcajmltovWMjj3tksDQdD23b2w6gH+A0DYA1Yz3iSpjDj8fmkwy62UnXcWMy4d5YoMoSyLFHMfkEVEzbiN8Q==",
+ "version": "4.0.7",
+ "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-4.0.7.tgz",
+ "integrity": "sha512-XvRHOipqpwNhEjDf2L5gJowZEm5nsxC16pAZOeEcsygdjv9A2jdOh3YoDQvOXBGTsaJk6mNWtzWalOB9976Wlg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0"
+ "@smithy/types": "^4.3.2"
},
"engines": {
"node": ">=18.0.0"
}
},
"node_modules/@smithy/shared-ini-file-loader": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-4.0.2.tgz",
- "integrity": "sha512-J9/gTWBGVuFZ01oVA6vdb4DAjf1XbDhK6sLsu3OS9qmLrS6KB5ygpeHiM3miIbj1qgSJ96GYszXFWv6ErJ8QEw==",
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-4.0.5.tgz",
+ "integrity": "sha512-YVVwehRDuehgoXdEL4r1tAAzdaDgaC9EQvhK0lEbfnbrd0bd5+CTQumbdPryX3J2shT7ZqQE+jPW4lmNBAB8JQ==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -13648,16 +14082,16 @@
}
},
"node_modules/@smithy/signature-v4": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-5.1.0.tgz",
- "integrity": "sha512-4t5WX60sL3zGJF/CtZsUQTs3UrZEDO2P7pEaElrekbLqkWPYkgqNW1oeiNYC6xXifBnT9dVBOnNQRvOE9riU9w==",
+ "version": "5.1.3",
+ "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-5.1.3.tgz",
+ "integrity": "sha512-mARDSXSEgllNzMw6N+mC+r1AQlEBO3meEAkR/UlfAgnMzJUB3goRBWgip1EAMG99wh36MDqzo86SfIX5Y+VEaw==",
"license": "Apache-2.0",
"dependencies": {
"@smithy/is-array-buffer": "^4.0.0",
- "@smithy/protocol-http": "^5.1.0",
- "@smithy/types": "^4.2.0",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/types": "^4.3.2",
"@smithy/util-hex-encoding": "^4.0.0",
- "@smithy/util-middleware": "^4.0.2",
+ "@smithy/util-middleware": "^4.0.5",
"@smithy/util-uri-escape": "^4.0.0",
"@smithy/util-utf8": "^4.0.0",
"tslib": "^2.6.2"
@@ -13692,17 +14126,17 @@
}
},
"node_modules/@smithy/smithy-client": {
- "version": "4.2.5",
- "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-4.2.5.tgz",
- "integrity": "sha512-T3gA/TShe52Ln0ywWGVoDiqRvaxqvrU0CKRRmzT71/I1rRBD8mY85rvMMME6vw5RpBLJC9ADmXSLmpohF7RRhA==",
+ "version": "4.4.10",
+ "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-4.4.10.tgz",
+ "integrity": "sha512-iW6HjXqN0oPtRS0NK/zzZ4zZeGESIFcxj2FkWed3mcK8jdSdHzvnCKXSjvewESKAgGKAbJRA+OsaqKhkdYRbQQ==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/core": "^3.3.2",
- "@smithy/middleware-endpoint": "^4.1.5",
- "@smithy/middleware-stack": "^4.0.2",
- "@smithy/protocol-http": "^5.1.0",
- "@smithy/types": "^4.2.0",
- "@smithy/util-stream": "^4.2.0",
+ "@smithy/core": "^3.8.0",
+ "@smithy/middleware-endpoint": "^4.1.18",
+ "@smithy/middleware-stack": "^4.0.5",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/types": "^4.3.2",
+ "@smithy/util-stream": "^4.2.4",
"tslib": "^2.6.2"
},
"engines": {
@@ -13710,9 +14144,9 @@
}
},
"node_modules/@smithy/types": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/@smithy/types/-/types-4.2.0.tgz",
- "integrity": "sha512-7eMk09zQKCO+E/ivsjQv+fDlOupcFUCSC/L2YUPgwhvowVGWbPQHjEFcmjt7QQ4ra5lyowS92SV53Zc6XD4+fg==",
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@smithy/types/-/types-4.3.2.tgz",
+ "integrity": "sha512-QO4zghLxiQ5W9UZmX2Lo0nta2PuE1sSrXUYDoaB6HMR762C0P7v/HEPHf6ZdglTVssJG1bsrSBxdc3quvDSihw==",
"license": "Apache-2.0",
"dependencies": {
"tslib": "^2.6.2"
@@ -13722,13 +14156,13 @@
}
},
"node_modules/@smithy/url-parser": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-4.0.2.tgz",
- "integrity": "sha512-Bm8n3j2ScqnT+kJaClSVCMeiSenK6jVAzZCNewsYWuZtnBehEz4r2qP0riZySZVfzB+03XZHJeqfmJDkeeSLiQ==",
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-4.0.5.tgz",
+ "integrity": "sha512-j+733Um7f1/DXjYhCbvNXABV53NyCRRA54C7bNEIxNPs0YjfRxeMKjjgm2jvTYrciZyCjsicHwQ6Q0ylo+NAUw==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/querystring-parser": "^4.0.2",
- "@smithy/types": "^4.2.0",
+ "@smithy/querystring-parser": "^4.0.5",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -13812,14 +14246,14 @@
}
},
"node_modules/@smithy/util-defaults-mode-browser": {
- "version": "4.0.13",
- "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-4.0.13.tgz",
- "integrity": "sha512-HCLfXAyTEpVWLuyxDABg8UQukeRwChL1UErpSQ4KJK2ZoadmXuQY68pTL9KcuEtasTkIjnzyLUL9vhLdJ3VFHQ==",
+ "version": "4.0.26",
+ "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-4.0.26.tgz",
+ "integrity": "sha512-xgl75aHIS/3rrGp7iTxQAOELYeyiwBu+eEgAk4xfKwJJ0L8VUjhO2shsDpeil54BOFsqmk5xfdesiewbUY5tKQ==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/property-provider": "^4.0.2",
- "@smithy/smithy-client": "^4.2.5",
- "@smithy/types": "^4.2.0",
+ "@smithy/property-provider": "^4.0.5",
+ "@smithy/smithy-client": "^4.4.10",
+ "@smithy/types": "^4.3.2",
"bowser": "^2.11.0",
"tslib": "^2.6.2"
},
@@ -13828,17 +14262,17 @@
}
},
"node_modules/@smithy/util-defaults-mode-node": {
- "version": "4.0.13",
- "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-4.0.13.tgz",
- "integrity": "sha512-lu8E2RyzKzzFbNu4ICmY/2HltMZlJxMNg3saJ+r8I9vWbWbwdX7GOWUJdP4fbjEOm6aa52mnnd+uIRrT3dNEyA==",
+ "version": "4.0.26",
+ "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-4.0.26.tgz",
+ "integrity": "sha512-z81yyIkGiLLYVDetKTUeCZQ8x20EEzvQjrqJtb/mXnevLq2+w3XCEWTJ2pMp401b6BkEkHVfXb/cROBpVauLMQ==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/config-resolver": "^4.1.2",
- "@smithy/credential-provider-imds": "^4.0.4",
- "@smithy/node-config-provider": "^4.1.1",
- "@smithy/property-provider": "^4.0.2",
- "@smithy/smithy-client": "^4.2.5",
- "@smithy/types": "^4.2.0",
+ "@smithy/config-resolver": "^4.1.5",
+ "@smithy/credential-provider-imds": "^4.0.7",
+ "@smithy/node-config-provider": "^4.1.4",
+ "@smithy/property-provider": "^4.0.5",
+ "@smithy/smithy-client": "^4.4.10",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -13846,13 +14280,13 @@
}
},
"node_modules/@smithy/util-endpoints": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-3.0.4.tgz",
- "integrity": "sha512-VfFATC1bmZLV2858B/O1NpMcL32wYo8DPPhHxYxDCodDl3f3mSZ5oJheW1IF91A0EeAADz2WsakM/hGGPGNKLg==",
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-3.0.7.tgz",
+ "integrity": "sha512-klGBP+RpBp6V5JbrY2C/VKnHXn3d5V2YrifZbmMY8os7M6m8wdYFoO6w/fe5VkP+YVwrEktW3IWYaSQVNZJ8oQ==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/node-config-provider": "^4.1.1",
- "@smithy/types": "^4.2.0",
+ "@smithy/node-config-provider": "^4.1.4",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -13872,12 +14306,12 @@
}
},
"node_modules/@smithy/util-middleware": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-4.0.2.tgz",
- "integrity": "sha512-6GDamTGLuBQVAEuQ4yDQ+ti/YINf/MEmIegrEeg7DdB/sld8BX1lqt9RRuIcABOhAGTA50bRbPzErez7SlDtDQ==",
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-4.0.5.tgz",
+ "integrity": "sha512-N40PfqsZHRSsByGB81HhSo+uvMxEHT+9e255S53pfBw/wI6WKDI7Jw9oyu5tJTLwZzV5DsMha3ji8jk9dsHmQQ==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.2.0",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -13885,13 +14319,13 @@
}
},
"node_modules/@smithy/util-retry": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-4.0.3.tgz",
- "integrity": "sha512-DPuYjZQDXmKr/sNvy9Spu8R/ESa2e22wXZzSAY6NkjOLj6spbIje/Aq8rT97iUMdDj0qHMRIe+bTxvlU74d9Ng==",
+ "version": "4.0.7",
+ "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-4.0.7.tgz",
+ "integrity": "sha512-TTO6rt0ppK70alZpkjwy+3nQlTiqNfoXja+qwuAchIEAIoSZW8Qyd76dvBv3I5bCpE38APafG23Y/u270NspiQ==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/service-error-classification": "^4.0.3",
- "@smithy/types": "^4.2.0",
+ "@smithy/service-error-classification": "^4.0.7",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -13899,14 +14333,14 @@
}
},
"node_modules/@smithy/util-stream": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-4.2.0.tgz",
- "integrity": "sha512-Vj1TtwWnuWqdgQI6YTUF5hQ/0jmFiOYsc51CSMgj7QfyO+RF4EnT2HNjoviNlOOmgzgvf3f5yno+EiC4vrnaWQ==",
+ "version": "4.2.4",
+ "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-4.2.4.tgz",
+ "integrity": "sha512-vSKnvNZX2BXzl0U2RgCLOwWaAP9x/ddd/XobPK02pCbzRm5s55M53uwb1rl/Ts7RXZvdJZerPkA+en2FDghLuQ==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/fetch-http-handler": "^5.0.2",
- "@smithy/node-http-handler": "^4.0.4",
- "@smithy/types": "^4.2.0",
+ "@smithy/fetch-http-handler": "^5.1.1",
+ "@smithy/node-http-handler": "^4.1.1",
+ "@smithy/types": "^4.3.2",
"@smithy/util-base64": "^4.0.0",
"@smithy/util-buffer-from": "^4.0.0",
"@smithy/util-hex-encoding": "^4.0.0",
@@ -13993,13 +14427,13 @@
}
},
"node_modules/@smithy/util-waiter": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-4.0.3.tgz",
- "integrity": "sha512-JtaY3FxmD+te+KSI2FJuEcfNC9T/DGGVf551babM7fAaXhjJUt7oSYurH1Devxd2+BOSUACCgt3buinx4UnmEA==",
+ "version": "4.0.7",
+ "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-4.0.7.tgz",
+ "integrity": "sha512-mYqtQXPmrwvUljaHyGxYUIIRI3qjBTEb/f5QFi3A6VlxhpmZd5mWXn9W+qUkf2pVE1Hv3SqxefiZOPGdxmO64A==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/abort-controller": "^4.0.2",
- "@smithy/types": "^4.2.0",
+ "@smithy/abort-controller": "^4.0.5",
+ "@smithy/types": "^4.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -14304,12 +14738,12 @@
}
},
"node_modules/@tanstack/react-virtual": {
- "version": "3.13.8",
- "resolved": "https://registry.npmjs.org/@tanstack/react-virtual/-/react-virtual-3.13.8.tgz",
- "integrity": "sha512-meS2AanUg50f3FBSNoAdBSRAh8uS0ue01qm7zrw65KGJtiXB9QXfybqZwkh4uFpRv2iX/eu5tjcH5wqUpwYLPg==",
+ "version": "3.13.12",
+ "resolved": "https://registry.npmjs.org/@tanstack/react-virtual/-/react-virtual-3.13.12.tgz",
+ "integrity": "sha512-Gd13QdxPSukP8ZrkbgS2RwoZseTTbQPLnQEn7HY/rqtM+8Zt95f7xKC7N0EsKs7aoz0WzZ+fditZux+F8EzYxA==",
"license": "MIT",
"dependencies": {
- "@tanstack/virtual-core": "3.13.8"
+ "@tanstack/virtual-core": "3.13.12"
},
"funding": {
"type": "github",
@@ -14321,9 +14755,9 @@
}
},
"node_modules/@tanstack/virtual-core": {
- "version": "3.13.8",
- "resolved": "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.13.8.tgz",
- "integrity": "sha512-BT6w89Hqy7YKaWewYzmecXQzcJh6HTBbKYJIIkMaNU49DZ06LoTV3z32DWWEdUsgW6n1xTmwTLs4GtWrZC261w==",
+ "version": "3.13.12",
+ "resolved": "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.13.12.tgz",
+ "integrity": "sha512-1YBOJfRHV4sXUmWsFSf5rQor4Ss82G8dQWLRbnk3GA4jeP8hQt1hxXh0tmflpC0dz3VgEv/1+qwPyLeWkQuPFA==",
"license": "MIT",
"funding": {
"type": "github",
@@ -14331,9 +14765,9 @@
}
},
"node_modules/@tiptap/core": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/@tiptap/core/-/core-2.12.0.tgz",
- "integrity": "sha512-3qX8oGVKFFZzQ0vit+ZolR6AJIATBzmEmjAA0llFhWk4vf3v64p1YcXcJsOBsr5scizJu5L6RYWEFatFwqckRg==",
+ "version": "2.26.1",
+ "resolved": "https://registry.npmjs.org/@tiptap/core/-/core-2.26.1.tgz",
+ "integrity": "sha512-fymyd/XZvYiHjBoLt1gxs024xP/LY26d43R1vluYq7AHBL/7DE3ywzy+1GEsGyAv5Je2L0KBhNIR/izbq3Kaqg==",
"license": "MIT",
"funding": {
"type": "github",
@@ -14344,9 +14778,9 @@
}
},
"node_modules/@tiptap/extension-blockquote": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-blockquote/-/extension-blockquote-2.12.0.tgz",
- "integrity": "sha512-XUC2A77YAPMJS2SqZ2S62IGcUH8gZ7cdhoWlYQb1pR4ZzXFByeKDJPxfYeAePSiuI01YGrlzgY2c6Ncx/DtO0A==",
+ "version": "2.26.1",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-blockquote/-/extension-blockquote-2.26.1.tgz",
+ "integrity": "sha512-viQ6AHRhjCYYipKK6ZepBzwZpkuMvO9yhRHeUZDvlSOAh8rvsUTSre0y74nu8QRYUt4a44lJJ6BpphJK7bEgYA==",
"license": "MIT",
"funding": {
"type": "github",
@@ -14357,9 +14791,9 @@
}
},
"node_modules/@tiptap/extension-bold": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-bold/-/extension-bold-2.12.0.tgz",
- "integrity": "sha512-lAUtoLDLRc5ofD2I9MFY6MQ7d1qBLLqS1rvpwaPjOaoQb/GPVnaHj9qXYG0SY9K3erMtto48bMFpAcscjZHzZQ==",
+ "version": "2.26.1",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-bold/-/extension-bold-2.26.1.tgz",
+ "integrity": "sha512-zCce9PRuTNhadFir71luLo99HERDpGJ0EEflGm7RN8I1SnNi9gD5ooK42BOIQtejGCJqg3hTPZiYDJC2hXvckQ==",
"license": "MIT",
"funding": {
"type": "github",
@@ -14370,9 +14804,9 @@
}
},
"node_modules/@tiptap/extension-bubble-menu": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-bubble-menu/-/extension-bubble-menu-2.12.0.tgz",
- "integrity": "sha512-DYijoE0igV0Oi+ZppFsp2UrQsM/4HZtmmpD78BJM9zfCbd1YvAUIxmzmXr8uqU18OHd1uQy+/zvuNoUNYyw67g==",
+ "version": "2.26.1",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-bubble-menu/-/extension-bubble-menu-2.26.1.tgz",
+ "integrity": "sha512-oHevUcZbTMFOTpdCEo4YEDe044MB4P1ZrWyML8CGe5tnnKdlI9BN03AXpI1mEEa5CA3H1/eEckXx8EiCgYwQ3Q==",
"license": "MIT",
"dependencies": {
"tippy.js": "^6.3.7"
@@ -14387,9 +14821,9 @@
}
},
"node_modules/@tiptap/extension-bullet-list": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-bullet-list/-/extension-bullet-list-2.12.0.tgz",
- "integrity": "sha512-YTCjztB8MaIpwyxFYr81H4+LdKCq1VlaSXQyrPdB44mVdhhRqc46BYQb8/B//XE3UIu3X2QWFjwrqRlUq6vUiw==",
+ "version": "2.26.1",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-bullet-list/-/extension-bullet-list-2.26.1.tgz",
+ "integrity": "sha512-HHakuV4ckYCDOnBbne088FvCEP4YICw+wgPBz/V2dfpiFYQ4WzT0LPK9s7OFMCN+ROraoug+1ryN1Z1KdIgujQ==",
"license": "MIT",
"funding": {
"type": "github",
@@ -14400,9 +14834,9 @@
}
},
"node_modules/@tiptap/extension-character-count": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-character-count/-/extension-character-count-2.12.0.tgz",
- "integrity": "sha512-UCtcDyDj1nhKHc7AlOxR2PkFpRs7pWV8+/pfyWr471ECJHpJ2eDR3dyaH8uzkNiakHgqcwDca9lRu9lwHDfWcw==",
+ "version": "2.26.1",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-character-count/-/extension-character-count-2.26.1.tgz",
+ "integrity": "sha512-F7LP1a9GF28thbApowWT2I41baqX74HMUTrV9LGrNXaOkW2gxZz+CDOzfHsbHyfuwfIxIjv07Qf/HKA6Cc1qbA==",
"license": "MIT",
"funding": {
"type": "github",
@@ -14414,9 +14848,9 @@
}
},
"node_modules/@tiptap/extension-code": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-code/-/extension-code-2.12.0.tgz",
- "integrity": "sha512-R7RaS+hJeHFim7alImQ9L9CSWSMjWXvz0Ote568x9ea5gdBGUYW8PcH+5a91lh8e1XGYWBM12a8oJZRyxg/tQA==",
+ "version": "2.26.1",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-code/-/extension-code-2.26.1.tgz",
+ "integrity": "sha512-GU9deB1A/Tr4FMPu71CvlcjGKwRhGYz60wQ8m4aM+ELZcVIcZRa1ebR8bExRIEWnvRztQuyRiCQzw2N0xQJ1QQ==",
"license": "MIT",
"funding": {
"type": "github",
@@ -14427,9 +14861,9 @@
}
},
"node_modules/@tiptap/extension-code-block": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-code-block/-/extension-code-block-2.12.0.tgz",
- "integrity": "sha512-1D7cYAjgxEFHdfC/35Ooi4GqWKB5sszbW8iI7N16XILNln26xb0d5KflXqYrwr9CN/ZnZoCl2o6YsP7xEObcZA==",
+ "version": "2.26.1",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-code-block/-/extension-code-block-2.26.1.tgz",
+ "integrity": "sha512-/TDDOwONl0qEUc4+B6V9NnWtSjz95eg7/8uCb8Y8iRbGvI9vT4/znRKofFxstvKmW4URu/H74/g0ywV57h0B+A==",
"license": "MIT",
"funding": {
"type": "github",
@@ -14441,9 +14875,9 @@
}
},
"node_modules/@tiptap/extension-code-block-lowlight": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-code-block-lowlight/-/extension-code-block-lowlight-2.12.0.tgz",
- "integrity": "sha512-q5dg3GbWCMT0xniVuxjDwAd3CdMfGXFmptulzgaV31HLU+6nu4zZ5sNtMLDA7RU05lnvatKLeXNUhJ2gPouhtw==",
+ "version": "2.26.1",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-code-block-lowlight/-/extension-code-block-lowlight-2.26.1.tgz",
+ "integrity": "sha512-yptuTPYAzVMKHUTwNKYveuu0rYHYyFknPz3O2++PWeeBGxkNB+T6LhwZ/JhXceHcZxzlGyka9r2mXR7pslhugw==",
"license": "MIT",
"funding": {
"type": "github",
@@ -14458,9 +14892,9 @@
}
},
"node_modules/@tiptap/extension-color": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-color/-/extension-color-2.12.0.tgz",
- "integrity": "sha512-tb3KDhH2Hf3Pwm7pIEH80TKBOLmHU+T/0seR3R+6flamPC7t9S4mcehDX35qvTQTqDU9v429Rw5SL40FRW7AMg==",
+ "version": "2.26.1",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-color/-/extension-color-2.26.1.tgz",
+ "integrity": "sha512-lsPw3qpQNes1rHpxBtsV9XniN1dEjYd2nVTpQHGE4XLNwfE5+ejm6ySs8qVLM7+EXWcjANLLh4UA3zqkX6t6HA==",
"license": "MIT",
"funding": {
"type": "github",
@@ -14472,9 +14906,9 @@
}
},
"node_modules/@tiptap/extension-document": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-document/-/extension-document-2.12.0.tgz",
- "integrity": "sha512-sA1Q+mxDIv0Y3qQTBkYGwknNbDcGFiJ/fyAFholXpqbrcRx3GavwR/o0chBdsJZlFht0x7AWGwUYWvIo7wYilA==",
+ "version": "2.26.1",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-document/-/extension-document-2.26.1.tgz",
+ "integrity": "sha512-2P2IZp1NRAE+21mRuFBiP3X2WKfZ6kUC23NJKpn8bcOamY3obYqCt0ltGPhE4eR8n8QAl2fI/3jIgjR07dC8ow==",
"license": "MIT",
"funding": {
"type": "github",
@@ -14485,9 +14919,9 @@
}
},
"node_modules/@tiptap/extension-dropcursor": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-dropcursor/-/extension-dropcursor-2.12.0.tgz",
- "integrity": "sha512-zcZSOXFj+7LVnmdPWTfKr5AoxYIzFPFlLJe35AdTQC5IhkljLn1Exct8I30ZREojX/00hKYsO7JJmePS6TEVlQ==",
+ "version": "2.26.1",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-dropcursor/-/extension-dropcursor-2.26.1.tgz",
+ "integrity": "sha512-JkDQU2ZYFOuT5mNYb8OiWGwD1HcjbtmX8tLNugQbToECmz9WvVPqJmn7V/q8VGpP81iEECz/IsyRmuf2kSD4uA==",
"license": "MIT",
"funding": {
"type": "github",
@@ -14499,9 +14933,9 @@
}
},
"node_modules/@tiptap/extension-floating-menu": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-floating-menu/-/extension-floating-menu-2.12.0.tgz",
- "integrity": "sha512-BYpyZx/56KCDksWuJJbhki/uNgt9sACuSSZFH5AN1yS1ISD+EzIxqf6Pzzv8QCoNJ+KcRNVaZsOlOFaJGoyzag==",
+ "version": "2.26.1",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-floating-menu/-/extension-floating-menu-2.26.1.tgz",
+ "integrity": "sha512-OJF+H6qhQogVTMedAGSWuoL1RPe3LZYXONuFCVyzHnvvMpK+BP1vm180E2zDNFnn/DVA+FOrzNGpZW7YjoFH1w==",
"license": "MIT",
"dependencies": {
"tippy.js": "^6.3.7"
@@ -14516,9 +14950,9 @@
}
},
"node_modules/@tiptap/extension-gapcursor": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-gapcursor/-/extension-gapcursor-2.12.0.tgz",
- "integrity": "sha512-k8ji5v9YKn7bNjo8UtI9hEfXfl4tKUp1hpJOEmUxGJQa3LIwrwSbReupUTnHszGQelzxikS/l1xO9P0TIGwRoA==",
+ "version": "2.26.1",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-gapcursor/-/extension-gapcursor-2.26.1.tgz",
+ "integrity": "sha512-KOiMZc3PwJS3hR0nSq5d0TJi2jkNZkLZElcT6pCEnhRHzPH6dRMu9GM5Jj798ZRUy0T9UFcKJalFZaDxnmRnpg==",
"license": "MIT",
"funding": {
"type": "github",
@@ -14530,9 +14964,9 @@
}
},
"node_modules/@tiptap/extension-hard-break": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-hard-break/-/extension-hard-break-2.12.0.tgz",
- "integrity": "sha512-08MNS2PK5DzdnAfqXn4krmJ/xebKmWpRpYqqN5EM8AvetYKlAJyTVSpo0ZUeGbZ3EZiPm9djgSnrLqpFUDjRCg==",
+ "version": "2.26.1",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-hard-break/-/extension-hard-break-2.26.1.tgz",
+ "integrity": "sha512-d6uStdNKi8kjPlHAyO59M6KGWATNwhLCD7dng0NXfwGndc22fthzIk/6j9F6ltQx30huy5qQram6j3JXwNACoA==",
"license": "MIT",
"funding": {
"type": "github",
@@ -14543,9 +14977,9 @@
}
},
"node_modules/@tiptap/extension-heading": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-heading/-/extension-heading-2.12.0.tgz",
- "integrity": "sha512-9DfES4Wd5TX1foI70N9sAL+35NN1UHrtzDYN2+dTHupnmKir9RaMXyZcbkUb4aDVzYrGxIqxJzHBVkquKIlTrw==",
+ "version": "2.26.1",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-heading/-/extension-heading-2.26.1.tgz",
+ "integrity": "sha512-KSzL8WZV3pjJG9ke4RaU70+B5UlYR2S6olNt5UCAawM+fi11mobVztiBoC19xtpSVqIXC1AmXOqUgnuSvmE4ZA==",
"license": "MIT",
"funding": {
"type": "github",
@@ -14556,9 +14990,9 @@
}
},
"node_modules/@tiptap/extension-highlight": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-highlight/-/extension-highlight-2.12.0.tgz",
- "integrity": "sha512-dQNaDXslN9ion0NgVVOOKJNS3MP8Lnx9xT01mDa/R9Qdulh7xmK6n8O2GCb86TnjX1OyZURx+fEK/WLM8oKK+A==",
+ "version": "2.26.1",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-highlight/-/extension-highlight-2.26.1.tgz",
+ "integrity": "sha512-9eW2UqDqeAKSDIiL6SqcPSDCQAdU5qQmRMsJlShOM7Fu1aU71b1ewhUP9YioUCanciR99tqNsk/n3LAe0w5XdA==",
"license": "MIT",
"funding": {
"type": "github",
@@ -14569,9 +15003,9 @@
}
},
"node_modules/@tiptap/extension-history": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-history/-/extension-history-2.12.0.tgz",
- "integrity": "sha512-+B9CAf2BFURC6mQiM1OQtahVTzdEOEgT/UUNlRZkeeBc0K5of3dr6UdBqaoaMAefja3jx5PqiQ7mhUBAjSt6AA==",
+ "version": "2.26.1",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-history/-/extension-history-2.26.1.tgz",
+ "integrity": "sha512-m6YR1gkkauIDo3PRl0gP+7Oc4n5OqDzcjVh6LvWREmZP8nmi94hfseYbqOXUb6RPHIc0JKF02eiRifT4MSd2nw==",
"license": "MIT",
"funding": {
"type": "github",
@@ -14583,9 +15017,9 @@
}
},
"node_modules/@tiptap/extension-horizontal-rule": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-2.12.0.tgz",
- "integrity": "sha512-Vi2+6RIehDSpoJn/7PDuOieUj7W7WrEb4wBxK9TG8PDscihR0mehhhzm/K2xhH4TN48iPJGRsjDFrFjTbXmcnw==",
+ "version": "2.26.1",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-2.26.1.tgz",
+ "integrity": "sha512-mT6baqOhs/NakgrAeDeed194E/ZJFGL692H0C7f1N7WDRaWxUu2oR0LrnRqSH5OyPjELkzu6nQnNy0+0tFGHHg==",
"license": "MIT",
"funding": {
"type": "github",
@@ -14597,9 +15031,9 @@
}
},
"node_modules/@tiptap/extension-image": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-image/-/extension-image-2.12.0.tgz",
- "integrity": "sha512-wO+yrfMlnW3SYCb1Q1qAb+nt5WH6jnlQPTV6qdoIabRtW0puwMWULZDUgclPN5hxn8EXb9vBEu44egvH6hgkfQ==",
+ "version": "2.26.1",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-image/-/extension-image-2.26.1.tgz",
+ "integrity": "sha512-96+MaYBJebQlR/ik5W72GLUfXdEoxFs+6jsoERxbM5qEdhb7TEnodBFtWZOwgDO27kFd6rSNZuW9r5KJNtljEg==",
"license": "MIT",
"funding": {
"type": "github",
@@ -14610,9 +15044,9 @@
}
},
"node_modules/@tiptap/extension-italic": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-italic/-/extension-italic-2.12.0.tgz",
- "integrity": "sha512-JKcXK3LmEsmxNzEq5e06rPUGMRLUxmJ2mYtBY4NlJ6yLM9XMDljtgeTnWT0ySLYmfINSFTkX4S7WIRbpl9l4pw==",
+ "version": "2.26.1",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-italic/-/extension-italic-2.26.1.tgz",
+ "integrity": "sha512-pOs6oU4LyGO89IrYE4jbE8ZYsPwMMIiKkYfXcfeD9NtpGNBnjeVXXF5I9ndY2ANrCAgC8k58C3/powDRf0T2yA==",
"license": "MIT",
"funding": {
"type": "github",
@@ -14623,9 +15057,9 @@
}
},
"node_modules/@tiptap/extension-link": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-link/-/extension-link-2.12.0.tgz",
- "integrity": "sha512-N6f78F2onvcL8FAwFOJexOF02UwGETLjQ7cCguhBe/w7vtx7aX8/f+IlaSGY/pIcWyEQpoC28ciM0+QsrJRr1A==",
+ "version": "2.26.1",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-link/-/extension-link-2.26.1.tgz",
+ "integrity": "sha512-7yfum5Jymkue/uOSTQPt2SmkZIdZx7t3QhZLqBU7R9ettkdSCBgEGok6N+scJM1R1Zes+maSckLm0JZw5BKYNA==",
"license": "MIT",
"dependencies": {
"linkifyjs": "^4.2.0"
@@ -14640,9 +15074,9 @@
}
},
"node_modules/@tiptap/extension-list-item": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-list-item/-/extension-list-item-2.12.0.tgz",
- "integrity": "sha512-4YwZooC8HP+gPxs6YrkB1ayggyYbgVvJx/rWBT6lKSW2MVVg8QXi1zAcSI3MhIhHmqDysXXFPL8JURlbeGjaFA==",
+ "version": "2.26.1",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-list-item/-/extension-list-item-2.26.1.tgz",
+ "integrity": "sha512-quOXckC73Luc3x+Dcm88YAEBW+Crh3x5uvtQOQtn2GEG91AshrvbnhGRiYnfvEN7UhWIS+FYI5liHFcRKSUKrQ==",
"license": "MIT",
"funding": {
"type": "github",
@@ -14653,9 +15087,9 @@
}
},
"node_modules/@tiptap/extension-ordered-list": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-ordered-list/-/extension-ordered-list-2.12.0.tgz",
- "integrity": "sha512-1ys0e/oqk09oXxrB1WzAx5EntK/QreObG/V1yhgihGm429fxHMsxzIYN6dKAYxx0YOPQG7qEZRrrPuWU70Ms7g==",
+ "version": "2.26.1",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-ordered-list/-/extension-ordered-list-2.26.1.tgz",
+ "integrity": "sha512-UHKNRxq6TBnXMGFSq91knD6QaHsyyOwLOsXMzupmKM5Su0s+CRXEjfav3qKlbb9e4m7D7S/a0aPm8nC9KIXNhQ==",
"license": "MIT",
"funding": {
"type": "github",
@@ -14666,9 +15100,9 @@
}
},
"node_modules/@tiptap/extension-paragraph": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-paragraph/-/extension-paragraph-2.12.0.tgz",
- "integrity": "sha512-QNK5cgewCunWFxpLlbvvoO1rrLgEtNKxiY79fctP9toV+e59R+1i1Q9lXC1O5mOfDgVxCb6uFDMsqmKhFjpPog==",
+ "version": "2.26.1",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-paragraph/-/extension-paragraph-2.26.1.tgz",
+ "integrity": "sha512-UezvM9VDRAVJlX1tykgHWSD1g3MKfVMWWZ+Tg+PE4+kizOwoYkRWznVPgCAxjmyHajxpCKRXgqTZkOxjJ9Kjzg==",
"license": "MIT",
"funding": {
"type": "github",
@@ -14693,9 +15127,9 @@
}
},
"node_modules/@tiptap/extension-strike": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-strike/-/extension-strike-2.12.0.tgz",
- "integrity": "sha512-nBaa5YtBsLJPZFfSs36sBz4Zgi/c8b3MsmS/Az8uXaHb0R9yPewOVUMDIQbxMct8SXUlIo9VtKlOL+mVJ3Nkpw==",
+ "version": "2.26.1",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-strike/-/extension-strike-2.26.1.tgz",
+ "integrity": "sha512-CkoRH+pAi6MgdCh7K0cVZl4N2uR4pZdabXAnFSoLZRSg6imLvEUmWHfSi1dl3Z7JOvd3a4yZ4NxerQn5MWbJ7g==",
"license": "MIT",
"funding": {
"type": "github",
@@ -14706,9 +15140,9 @@
}
},
"node_modules/@tiptap/extension-task-item": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-task-item/-/extension-task-item-2.12.0.tgz",
- "integrity": "sha512-IyAcy5CGU4Oesb5HpoZ7nU3wvP61Spz5/KCy1aXCgBfx3c1tF+JOijxKDnYKWSvfxzziGGIiOKR89EllnzTsdw==",
+ "version": "2.26.1",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-task-item/-/extension-task-item-2.26.1.tgz",
+ "integrity": "sha512-b7JNeOsBqEd1p2oQ5N6Msz9fr2o73WR1WsYDC0WhECg07Goud2gQEkwWkQaLsvfcwuS746eMJK/nrT2pVEngYA==",
"license": "MIT",
"funding": {
"type": "github",
@@ -14720,9 +15154,9 @@
}
},
"node_modules/@tiptap/extension-task-list": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-task-list/-/extension-task-list-2.12.0.tgz",
- "integrity": "sha512-KqXL4bRsras3a2sswxoddo7GYgBE0ZqzJgGgYVWvczA7TG3WShjJheaB1tFbt9DmVJzaZR34hKhXvDbVspbznQ==",
+ "version": "2.26.1",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-task-list/-/extension-task-list-2.26.1.tgz",
+ "integrity": "sha512-xR4LMpMPZ6bpkZNmFvIojmNGtdGKNlKFbpvyIOgs4qhlWskbFQQVevglHjV1R8xJLic5c+byJQaAmQdQudqGng==",
"license": "MIT",
"funding": {
"type": "github",
@@ -14733,9 +15167,9 @@
}
},
"node_modules/@tiptap/extension-text": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-text/-/extension-text-2.12.0.tgz",
- "integrity": "sha512-0ytN9V1tZYTXdiYDQg4FB2SQ56JAJC9r/65snefb9ztl+gZzDrIvih7CflHs1ic9PgyjexfMLeH+VzuMccNyZw==",
+ "version": "2.26.1",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-text/-/extension-text-2.26.1.tgz",
+ "integrity": "sha512-p2n8WVMd/2vckdJlol24acaTDIZAhI7qle5cM75bn01sOEZoFlSw6SwINOULrUCzNJsYb43qrLEibZb4j2LeQw==",
"license": "MIT",
"funding": {
"type": "github",
@@ -14746,9 +15180,9 @@
}
},
"node_modules/@tiptap/extension-text-style": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-text-style/-/extension-text-style-2.12.0.tgz",
- "integrity": "sha512-Pxwt23ZlvbQUahV0PvHy8Ej6IAuKR1FvHobUvwP3T8AiY7hob66fWRe7tQbESzSAzm5Vv2xkvyHeU8vekMTezA==",
+ "version": "2.26.1",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-text-style/-/extension-text-style-2.26.1.tgz",
+ "integrity": "sha512-t9Nc/UkrbCfnSHEUi1gvUQ2ZPzvfdYFT5TExoV2DTiUCkhG6+mecT5bTVFGW3QkPmbToL+nFhGn4ZRMDD0SP3Q==",
"license": "MIT",
"funding": {
"type": "github",
@@ -14759,9 +15193,9 @@
}
},
"node_modules/@tiptap/extension-underline": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-underline/-/extension-underline-2.12.0.tgz",
- "integrity": "sha512-u95lrUCesw1SN3BXY4xrgfSuxtoCYmJ9uaU7IVVOu0zVsDFtLlOa82kd63KVF+URL0kMdO+FBmvdS6d8Era70Q==",
+ "version": "2.26.1",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-underline/-/extension-underline-2.26.1.tgz",
+ "integrity": "sha512-/fufv41WDMdf0a4xmFAxONoAz08TonJXX6NEoSJmuGKO59M/Y0Pz8DTK1g32Wk44kn7dyScDiPlvvndl+UOv0A==",
"license": "MIT",
"funding": {
"type": "github",
@@ -14772,9 +15206,9 @@
}
},
"node_modules/@tiptap/extension-youtube": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-youtube/-/extension-youtube-2.12.0.tgz",
- "integrity": "sha512-3EGLBRnKZIw+IiViPeX0bgnBZ4ifIbMawTTV4fVULAteMaEfmGZ9s0ows3MY4KZjWpoxNStH6rH8DhYVn+AfuQ==",
+ "version": "2.26.1",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-youtube/-/extension-youtube-2.26.1.tgz",
+ "integrity": "sha512-AxjF/kSO4R93OLJ+DNCTNNxrYSx4aEB9nnrqa8WAmoFw1+NfKyGMbGYRg2kwBI7Q9g6100hW+85vPo430clHDQ==",
"license": "MIT",
"funding": {
"type": "github",
@@ -14785,9 +15219,9 @@
}
},
"node_modules/@tiptap/pm": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/@tiptap/pm/-/pm-2.12.0.tgz",
- "integrity": "sha512-TNzVwpeNzFfHAcYTOKqX9iU4fRxliyoZrCnERR+RRzeg7gWrXrCLubQt1WEx0sojMAfznshSL3M5HGsYjEbYwA==",
+ "version": "2.26.1",
+ "resolved": "https://registry.npmjs.org/@tiptap/pm/-/pm-2.26.1.tgz",
+ "integrity": "sha512-8aF+mY/vSHbGFqyG663ds84b+vca5Lge3tHdTMTKazxCnhXR9dn2oQJMnZ78YZvdRbkPkMJJHti9h3K7u2UQvw==",
"license": "MIT",
"dependencies": {
"prosemirror-changeset": "^2.3.0",
@@ -14815,13 +15249,13 @@
}
},
"node_modules/@tiptap/react": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/@tiptap/react/-/react-2.12.0.tgz",
- "integrity": "sha512-D+PR+4kJO9h8AB/7XyQ/Anw8tqeS2ecv5QemBOCHi9JlMAjytauUrj6IfFBO9RbsCowlBjW5GnSpFhzpk2Gghg==",
+ "version": "2.26.1",
+ "resolved": "https://registry.npmjs.org/@tiptap/react/-/react-2.26.1.tgz",
+ "integrity": "sha512-Zxlwzi1iML7aELa+PyysFD2ncVo2mEcjTkhoDok9iTbMGpm1oU8hgR1i6iHrcSNQLfaRiW6M7HNhZZQPKIC9yw==",
"license": "MIT",
"dependencies": {
- "@tiptap/extension-bubble-menu": "^2.12.0",
- "@tiptap/extension-floating-menu": "^2.12.0",
+ "@tiptap/extension-bubble-menu": "^2.26.1",
+ "@tiptap/extension-floating-menu": "^2.26.1",
"@types/use-sync-external-store": "^0.0.6",
"fast-deep-equal": "^3",
"use-sync-external-store": "^1"
@@ -14838,32 +15272,32 @@
}
},
"node_modules/@tiptap/starter-kit": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/@tiptap/starter-kit/-/starter-kit-2.12.0.tgz",
- "integrity": "sha512-wlcEEtexd6u0gbR311/OFZnbtRWU97DUsY6/GsSQzN4rqZ7Ra6YbfHEN5Lutu+I/anomK8vKy8k9NyvfY5Hllg==",
- "license": "MIT",
- "dependencies": {
- "@tiptap/core": "^2.12.0",
- "@tiptap/extension-blockquote": "^2.12.0",
- "@tiptap/extension-bold": "^2.12.0",
- "@tiptap/extension-bullet-list": "^2.12.0",
- "@tiptap/extension-code": "^2.12.0",
- "@tiptap/extension-code-block": "^2.12.0",
- "@tiptap/extension-document": "^2.12.0",
- "@tiptap/extension-dropcursor": "^2.12.0",
- "@tiptap/extension-gapcursor": "^2.12.0",
- "@tiptap/extension-hard-break": "^2.12.0",
- "@tiptap/extension-heading": "^2.12.0",
- "@tiptap/extension-history": "^2.12.0",
- "@tiptap/extension-horizontal-rule": "^2.12.0",
- "@tiptap/extension-italic": "^2.12.0",
- "@tiptap/extension-list-item": "^2.12.0",
- "@tiptap/extension-ordered-list": "^2.12.0",
- "@tiptap/extension-paragraph": "^2.12.0",
- "@tiptap/extension-strike": "^2.12.0",
- "@tiptap/extension-text": "^2.12.0",
- "@tiptap/extension-text-style": "^2.12.0",
- "@tiptap/pm": "^2.12.0"
+ "version": "2.26.1",
+ "resolved": "https://registry.npmjs.org/@tiptap/starter-kit/-/starter-kit-2.26.1.tgz",
+ "integrity": "sha512-oziMGCds8SVQ3s5dRpBxVdEKZAmO/O//BjZ69mhA3q4vJdR0rnfLb5fTxSeQvHiqB878HBNn76kNaJrHrV35GA==",
+ "license": "MIT",
+ "dependencies": {
+ "@tiptap/core": "^2.26.1",
+ "@tiptap/extension-blockquote": "^2.26.1",
+ "@tiptap/extension-bold": "^2.26.1",
+ "@tiptap/extension-bullet-list": "^2.26.1",
+ "@tiptap/extension-code": "^2.26.1",
+ "@tiptap/extension-code-block": "^2.26.1",
+ "@tiptap/extension-document": "^2.26.1",
+ "@tiptap/extension-dropcursor": "^2.26.1",
+ "@tiptap/extension-gapcursor": "^2.26.1",
+ "@tiptap/extension-hard-break": "^2.26.1",
+ "@tiptap/extension-heading": "^2.26.1",
+ "@tiptap/extension-history": "^2.26.1",
+ "@tiptap/extension-horizontal-rule": "^2.26.1",
+ "@tiptap/extension-italic": "^2.26.1",
+ "@tiptap/extension-list-item": "^2.26.1",
+ "@tiptap/extension-ordered-list": "^2.26.1",
+ "@tiptap/extension-paragraph": "^2.26.1",
+ "@tiptap/extension-strike": "^2.26.1",
+ "@tiptap/extension-text": "^2.26.1",
+ "@tiptap/extension-text-style": "^2.26.1",
+ "@tiptap/pm": "^2.26.1"
},
"funding": {
"type": "github",
@@ -14871,9 +15305,9 @@
}
},
"node_modules/@tiptap/suggestion": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/@tiptap/suggestion/-/suggestion-2.12.0.tgz",
- "integrity": "sha512-bsXLoZbjUo1oOF1Z+XSfoGzbcnrTcYtJdfylM/FerMLU9T12dhsM/Ri2SKLX4IR5D0HJ07FcsEHCrGEy8Y5y0A==",
+ "version": "2.26.1",
+ "resolved": "https://registry.npmjs.org/@tiptap/suggestion/-/suggestion-2.26.1.tgz",
+ "integrity": "sha512-iNWJdQN7h01keNoVwyCsdI7ZX11YkrexZjCnutWK17Dd72s3NYVTmQXu7saftwddT4nDdlczNxAFosrt0zMhcg==",
"license": "MIT",
"funding": {
"type": "github",
@@ -14919,9 +15353,9 @@
"license": "MIT"
},
"node_modules/@types/aws-lambda": {
- "version": "8.10.149",
- "resolved": "https://registry.npmjs.org/@types/aws-lambda/-/aws-lambda-8.10.149.tgz",
- "integrity": "sha512-NXSZIhfJjnXqJgtS7IwutqIF/SOy1Wz5Px4gUY1RWITp3AYTyuJS4xaXr/bIJY1v15XMzrJ5soGnPM+7uigZjA==",
+ "version": "8.10.152",
+ "resolved": "https://registry.npmjs.org/@types/aws-lambda/-/aws-lambda-8.10.152.tgz",
+ "integrity": "sha512-soT/c2gYBnT5ygwiHPmd9a1bftj462NWVk2tKCc1PYHSIacB2UwbTS2zYG4jzag1mRDuzg/OjtxQjQ2NKRB6Rw==",
"license": "MIT"
},
"node_modules/@types/babel__core": {
@@ -14960,13 +15394,23 @@
}
},
"node_modules/@types/babel__traverse": {
- "version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.7.tgz",
- "integrity": "sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==",
+ "version": "7.28.0",
+ "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz",
+ "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==",
"devOptional": true,
"license": "MIT",
"dependencies": {
- "@babel/types": "^7.20.7"
+ "@babel/types": "^7.28.2"
+ }
+ },
+ "node_modules/@types/chai": {
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.2.tgz",
+ "integrity": "sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/deep-eql": "*"
}
},
"node_modules/@types/d3": {
@@ -15060,9 +15504,9 @@
"license": "MIT"
},
"node_modules/@types/d3-dispatch": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/@types/d3-dispatch/-/d3-dispatch-3.0.6.tgz",
- "integrity": "sha512-4fvZhzMeeuBJYZXRXrRIQnvUYfyXwYmLsdiN7XXmVNQKKw1cM8a5WdID0g1hVFZDqT9ZqZEY5pD44p24VS7iZQ==",
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/@types/d3-dispatch/-/d3-dispatch-3.0.7.tgz",
+ "integrity": "sha512-5o9OIAdKkhN1QItV2oqaE5KMIiXAvDWBDPrD85e58Qlz1c1kI/J0NcqbEG88CoTwJrYe7ntUCVfeUl2UJKbWgA==",
"license": "MIT"
},
"node_modules/@types/d3-drag": {
@@ -15231,6 +15675,13 @@
"@types/ms": "*"
}
},
+ "node_modules/@types/deep-eql": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz",
+ "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/@types/diff-match-patch": {
"version": "1.0.36",
"resolved": "https://registry.npmjs.org/@types/diff-match-patch/-/diff-match-patch-1.0.36.tgz",
@@ -15250,9 +15701,9 @@
}
},
"node_modules/@types/estree": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz",
- "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==",
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
+ "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
"license": "MIT"
},
"node_modules/@types/estree-jsx": {
@@ -15358,9 +15809,9 @@
"license": "MIT"
},
"node_modules/@types/lodash": {
- "version": "4.17.16",
- "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.16.tgz",
- "integrity": "sha512-HX7Em5NYQAXKW+1T+FiuG27NGwzJfCX3s1GjOa7ujxZa52kjJLOr4FUxT+giF6Tgxv1e+/czV/iTtBw27WTU9g==",
+ "version": "4.17.20",
+ "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.20.tgz",
+ "integrity": "sha512-H3MHACvFUEiujabxhaI/ImO6gUrd8oOurg7LQtS7mbwIXA/cUqWrvBsaeJ23aZEPk1TAYkurjfMbSELfoCXlGA==",
"dev": true,
"license": "MIT"
},
@@ -15406,13 +15857,13 @@
"license": "MIT"
},
"node_modules/@types/node": {
- "version": "20.17.46",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.46.tgz",
- "integrity": "sha512-0PQHLhZPWOxGW4auogW0eOQAuNIlCYvibIpG67ja0TOJ6/sehu+1en7sfceUn+QQtx4Rk3GxbLNwPh0Cav7TWw==",
+ "version": "20.19.9",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.9.tgz",
+ "integrity": "sha512-cuVNgarYWZqxRJDQHEB58GEONhOK79QVR/qYx4S7kcUObQvUwvFnYxJuuHUKm2aieN9X3yZB4LZsuYNU1Qphsw==",
"devOptional": true,
"license": "MIT",
"dependencies": {
- "undici-types": "~6.19.2"
+ "undici-types": "~6.21.0"
}
},
"node_modules/@types/prismjs": {
@@ -15422,15 +15873,15 @@
"license": "MIT"
},
"node_modules/@types/prop-types": {
- "version": "15.7.14",
- "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.14.tgz",
- "integrity": "sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==",
+ "version": "15.7.15",
+ "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz",
+ "integrity": "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==",
"license": "MIT"
},
"node_modules/@types/react": {
- "version": "18.3.21",
- "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.21.tgz",
- "integrity": "sha512-gXLBtmlcRJeT09/sI4PxVwyrku6SaNUj/6cMubjE6T6XdY1fDmBL7r0nX0jbSZPU/Xr0KuwLLZh6aOYY5d91Xw==",
+ "version": "18.3.23",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.23.tgz",
+ "integrity": "sha512-/LDXMQh55EzZQ0uVAZmKKhfENivEvWz6E+EYzh+/MCjMhNsotd+ZHhBGIjFDTi6+fz0OhQQQLbTgdQIxxCsC0w==",
"license": "MIT",
"dependencies": {
"@types/prop-types": "*",
@@ -15625,6 +16076,42 @@
}
}
},
+ "node_modules/@typescript-eslint/project-service": {
+ "version": "8.39.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.39.0.tgz",
+ "integrity": "sha512-CTzJqaSq30V/Z2Og9jogzZt8lJRR5TKlAdXmWgdu4hgcC9Kww5flQ+xFvMxIBWVNdxJO7OifgdOK4PokMIWPew==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/tsconfig-utils": "^8.39.0",
+ "@typescript-eslint/types": "^8.39.0",
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.8.4 <6.0.0"
+ }
+ },
+ "node_modules/@typescript-eslint/project-service/node_modules/@typescript-eslint/types": {
+ "version": "8.39.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.39.0.tgz",
+ "integrity": "sha512-ArDdaOllnCj3yn/lzKn9s0pBQYmmyme/v1HbGIGB0GB/knFI3fWMHloC+oYTJW46tVbYnGKTMDK4ah1sC2v0Kg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
"node_modules/@typescript-eslint/scope-manager": {
"version": "7.18.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz",
@@ -15643,6 +16130,23 @@
"url": "https://opencollective.com/typescript-eslint"
}
},
+ "node_modules/@typescript-eslint/tsconfig-utils": {
+ "version": "8.39.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.39.0.tgz",
+ "integrity": "sha512-Fd3/QjmFV2sKmvv3Mrj8r6N8CryYiCS8Wdb/6/rgOXAWGcFuc+VkQuG28uk/4kVNVZBQuuDHEDUpo/pQ32zsIQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.8.4 <6.0.0"
+ }
+ },
"node_modules/@typescript-eslint/type-utils": {
"version": "7.18.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.18.0.tgz",
@@ -15715,9 +16219,9 @@
}
},
"node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
- "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+ "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -15804,9 +16308,9 @@
}
},
"node_modules/@uiw/react-markdown-preview": {
- "version": "5.1.4",
- "resolved": "https://registry.npmjs.org/@uiw/react-markdown-preview/-/react-markdown-preview-5.1.4.tgz",
- "integrity": "sha512-6k13WVNHCEaamz3vh54OQ1tseIXneKlir1+E/VFQBPq8PRod+gwLfYtiitDBWu+ZFttoiKPLZ7flgHrVM+JNOg==",
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@uiw/react-markdown-preview/-/react-markdown-preview-5.1.5.tgz",
+ "integrity": "sha512-DNOqx1a6gJR7Btt57zpGEKTfHRlb7rWbtctMRO2f82wWcuoJsxPBrM+JWebDdOD0LfD8oe2CQvW2ICQJKHQhZg==",
"license": "MIT",
"dependencies": {
"@babel/runtime": "^7.17.2",
@@ -15961,9 +16465,9 @@
}
},
"node_modules/@uiw/react-md-editor": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/@uiw/react-md-editor/-/react-md-editor-4.0.6.tgz",
- "integrity": "sha512-yS/FVY/IrwAbT9wGMCyjGCEzIVRD/VC4q3GsfseKNWKeKQZITa0v1KHpTxhb+DIbo+BcFOyHvnzutOEwS8M1IQ==",
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/@uiw/react-md-editor/-/react-md-editor-4.0.8.tgz",
+ "integrity": "sha512-S3mOzZeGmJNhzdXJxRTCwsFMDp8nBWeQUf59cK3L6QHzDUHnRoHpcmWpfVRyKGKSg8zaI2+meU5cYWf8kYn3mQ==",
"license": "MIT",
"dependencies": {
"@babel/runtime": "^7.14.6",
@@ -16006,14 +16510,15 @@
}
},
"node_modules/@vitest/expect": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.1.3.tgz",
- "integrity": "sha512-7FTQQuuLKmN1Ig/h+h/GO+44Q1IlglPlR2es4ab7Yvfx+Uk5xsv+Ykk+MEt/M2Yn/xGmzaLKxGw2lgy2bwuYqg==",
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz",
+ "integrity": "sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vitest/spy": "3.1.3",
- "@vitest/utils": "3.1.3",
+ "@types/chai": "^5.2.2",
+ "@vitest/spy": "3.2.4",
+ "@vitest/utils": "3.2.4",
"chai": "^5.2.0",
"tinyrainbow": "^2.0.0"
},
@@ -16022,13 +16527,13 @@
}
},
"node_modules/@vitest/mocker": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.1.3.tgz",
- "integrity": "sha512-PJbLjonJK82uCWHjzgBJZuR7zmAOrSvKk1QBxrennDIgtH4uK0TB1PvYmc0XBCigxxtiAVPfWtAdy4lpz8SQGQ==",
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.4.tgz",
+ "integrity": "sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vitest/spy": "3.1.3",
+ "@vitest/spy": "3.2.4",
"estree-walker": "^3.0.3",
"magic-string": "^0.30.17"
},
@@ -16037,7 +16542,7 @@
},
"peerDependencies": {
"msw": "^2.4.9",
- "vite": "^5.0.0 || ^6.0.0"
+ "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0"
},
"peerDependenciesMeta": {
"msw": {
@@ -16059,9 +16564,9 @@
}
},
"node_modules/@vitest/pretty-format": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.1.3.tgz",
- "integrity": "sha512-i6FDiBeJUGLDKADw2Gb01UtUNb12yyXAqC/mmRWuYl+m/U9GS7s8us5ONmGkGpUUo7/iAYzI2ePVfOZTYvUifA==",
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz",
+ "integrity": "sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -16072,27 +16577,28 @@
}
},
"node_modules/@vitest/runner": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.1.3.tgz",
- "integrity": "sha512-Tae+ogtlNfFei5DggOsSUvkIaSuVywujMj6HzR97AHK6XK8i3BuVyIifWAm/sE3a15lF5RH9yQIrbXYuo0IFyA==",
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.2.4.tgz",
+ "integrity": "sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vitest/utils": "3.1.3",
- "pathe": "^2.0.3"
+ "@vitest/utils": "3.2.4",
+ "pathe": "^2.0.3",
+ "strip-literal": "^3.0.0"
},
"funding": {
"url": "https://opencollective.com/vitest"
}
},
"node_modules/@vitest/snapshot": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.1.3.tgz",
- "integrity": "sha512-XVa5OPNTYUsyqG9skuUkFzAeFnEzDp8hQu7kZ0N25B1+6KjGm4hWLtURyBbsIAOekfWQ7Wuz/N/XXzgYO3deWQ==",
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.4.tgz",
+ "integrity": "sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vitest/pretty-format": "3.1.3",
+ "@vitest/pretty-format": "3.2.4",
"magic-string": "^0.30.17",
"pathe": "^2.0.3"
},
@@ -16101,27 +16607,27 @@
}
},
"node_modules/@vitest/spy": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.1.3.tgz",
- "integrity": "sha512-x6w+ctOEmEXdWaa6TO4ilb7l9DxPR5bwEb6hILKuxfU1NqWT2mpJD9NJN7t3OTfxmVlOMrvtoFJGdgyzZ605lQ==",
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz",
+ "integrity": "sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "tinyspy": "^3.0.2"
+ "tinyspy": "^4.0.3"
},
"funding": {
"url": "https://opencollective.com/vitest"
}
},
"node_modules/@vitest/utils": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.1.3.tgz",
- "integrity": "sha512-2Ltrpht4OmHO9+c/nmHtF09HWiyWdworqnHIwjfvDyWjuwKbdkcS9AnhsDn+8E2RM4x++foD1/tNuLPVvWG1Rg==",
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz",
+ "integrity": "sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vitest/pretty-format": "3.1.3",
- "loupe": "^3.1.3",
+ "@vitest/pretty-format": "3.2.4",
+ "loupe": "^3.1.4",
"tinyrainbow": "^2.0.0"
},
"funding": {
@@ -16152,9 +16658,9 @@
}
},
"node_modules/acorn": {
- "version": "8.14.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz",
- "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==",
+ "version": "8.15.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
+ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
"license": "MIT",
"bin": {
"acorn": "bin/acorn"
@@ -16276,9 +16782,9 @@
"license": "Python-2.0"
},
"node_modules/aria-hidden": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.4.tgz",
- "integrity": "sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==",
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.6.tgz",
+ "integrity": "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==",
"license": "MIT",
"dependencies": {
"tslib": "^2.0.0"
@@ -16314,18 +16820,20 @@
}
},
"node_modules/array-includes": {
- "version": "3.1.8",
- "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz",
- "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==",
+ "version": "3.1.9",
+ "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz",
+ "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "call-bind": "^1.0.7",
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.4",
"define-properties": "^1.2.1",
- "es-abstract": "^1.23.2",
- "es-object-atoms": "^1.0.0",
- "get-intrinsic": "^1.2.4",
- "is-string": "^1.0.7"
+ "es-abstract": "^1.24.0",
+ "es-object-atoms": "^1.1.1",
+ "get-intrinsic": "^1.3.0",
+ "is-string": "^1.1.1",
+ "math-intrinsics": "^1.1.0"
},
"engines": {
"node": ">= 0.4"
@@ -16597,41 +17105,41 @@
}
},
"node_modules/aws-amplify": {
- "version": "6.14.4",
- "resolved": "https://registry.npmjs.org/aws-amplify/-/aws-amplify-6.14.4.tgz",
- "integrity": "sha512-V1uRj0zg/pMsu0MWEg1tgUyR4YdO9Qfgo+P+tOtHUa0Id3SCWGnSaPCGQjIhli6kWHKT74vYsRwXdTfbKCA6xg==",
- "license": "Apache-2.0",
- "dependencies": {
- "@aws-amplify/analytics": "7.0.80",
- "@aws-amplify/api": "6.3.11",
- "@aws-amplify/auth": "6.12.4",
- "@aws-amplify/core": "6.11.4",
- "@aws-amplify/datastore": "5.0.82",
- "@aws-amplify/notifications": "2.0.80",
- "@aws-amplify/storage": "6.8.4",
+ "version": "6.15.5",
+ "resolved": "https://registry.npmjs.org/aws-amplify/-/aws-amplify-6.15.5.tgz",
+ "integrity": "sha512-FdH2V4z/mkBkVRBb1Mk9jBxM1ieoW+6kmVSS8V1lLQP4v91ImBa5Kc+BEek+Fo++eNzfgtZD7cLUTEqQzbkvWw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-amplify/analytics": "7.0.86",
+ "@aws-amplify/api": "6.3.17",
+ "@aws-amplify/auth": "6.15.0",
+ "@aws-amplify/core": "6.13.1",
+ "@aws-amplify/datastore": "5.0.88",
+ "@aws-amplify/notifications": "2.0.86",
+ "@aws-amplify/storage": "6.9.5",
"tslib": "^2.5.0"
}
},
"node_modules/aws-cdk": {
- "version": "2.1014.0",
- "resolved": "https://registry.npmjs.org/aws-cdk/-/aws-cdk-2.1014.0.tgz",
- "integrity": "sha512-es101rtRAClix9BncNL54iW90MiOyRv4iCC5tv/firGDnidS6pPinuK0IIFt0RO6w0+3heRxWBXg8HY+f9877w==",
+ "version": "2.1024.0",
+ "resolved": "https://registry.npmjs.org/aws-cdk/-/aws-cdk-2.1024.0.tgz",
+ "integrity": "sha512-hY0iVT2gPX/QOQXL7RSP2sqIRI/4BYU27vSmbhZxLEj//c3pkMkd9QpIHj7gOhyWC2gf6n5JuYPw27Dgw8FEdA==",
"dev": true,
"license": "Apache-2.0",
"bin": {
"cdk": "bin/cdk"
},
"engines": {
- "node": ">= 14.15.0"
+ "node": ">= 18.0.0"
},
"optionalDependencies": {
"fsevents": "2.3.2"
}
},
"node_modules/aws-cdk-lib": {
- "version": "2.195.0",
- "resolved": "https://registry.npmjs.org/aws-cdk-lib/-/aws-cdk-lib-2.195.0.tgz",
- "integrity": "sha512-AYLysgSjSnSjkal/AmR86DqvOVqy0VjeWmXR+ucIIGSOzJsevsYuNWCeVnf4v9x+vd2ysVcO8fXndG426vGZ/w==",
+ "version": "2.210.0",
+ "resolved": "https://registry.npmjs.org/aws-cdk-lib/-/aws-cdk-lib-2.210.0.tgz",
+ "integrity": "sha512-TSXaZLHKak1bk144PblhqBHZwyh9lvlN2yM4g52aR/HCuxlw2nkn+eupjuOtiNe0JJFwSudvO/qke65dN2WlEg==",
"bundleDependencies": [
"@balena/dockerignore",
"case",
@@ -16647,9 +17155,9 @@
],
"license": "Apache-2.0",
"dependencies": {
- "@aws-cdk/asset-awscli-v1": "^2.2.229",
+ "@aws-cdk/asset-awscli-v1": "2.2.242",
"@aws-cdk/asset-node-proxy-agent-v6": "^2.1.0",
- "@aws-cdk/cloud-assembly-schema": "^41.2.0",
+ "@aws-cdk/cloud-assembly-schema": "^48.2.0",
"@balena/dockerignore": "^1.0.2",
"case": "1.6.3",
"fs-extra": "^11.3.0",
@@ -16658,12 +17166,12 @@
"mime-types": "^2.1.35",
"minimatch": "^3.1.2",
"punycode": "^2.3.1",
- "semver": "^7.7.1",
+ "semver": "^7.7.2",
"table": "^6.9.0",
"yaml": "1.10.2"
},
"engines": {
- "node": ">= 14.15.0"
+ "node": ">= 18.0.0"
},
"peerDependencies": {
"constructs": "^10.0.0"
@@ -16725,7 +17233,7 @@
"license": "MIT"
},
"node_modules/aws-cdk-lib/node_modules/brace-expansion": {
- "version": "1.1.11",
+ "version": "1.1.12",
"inBundle": true,
"license": "MIT",
"dependencies": {
@@ -16897,7 +17405,7 @@
}
},
"node_modules/aws-cdk-lib/node_modules/semver": {
- "version": "7.7.1",
+ "version": "7.7.2",
"inBundle": true,
"license": "ISC",
"bin": {
@@ -16998,13 +17506,13 @@
}
},
"node_modules/axios": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/axios/-/axios-1.9.0.tgz",
- "integrity": "sha512-re4CqKTJaURpzbLHtIi6XpDv20/CnpXOtjRY5/CU32L8gU8ek9UIivcfvSWvmKEngmVbrUtPpdDwWDWL7DNHvg==",
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.11.0.tgz",
+ "integrity": "sha512-1Lx3WLFQWm3ooKDYZD1eXmoGO9fxYQjrycfHFC8P0sCfQVXyROp0p9PFWBehewBOdCwHc+f/b8I0fMto5eSfwA==",
"license": "MIT",
"dependencies": {
"follow-redirects": "^1.15.6",
- "form-data": "^4.0.0",
+ "form-data": "^4.0.4",
"proxy-from-env": "^1.1.0"
}
},
@@ -17177,13 +17685,13 @@
}
},
"node_modules/babel-plugin-polyfill-corejs2": {
- "version": "0.4.13",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.13.tgz",
- "integrity": "sha512-3sX/eOms8kd3q2KZ6DAhKPc0dgm525Gqq5NtWKZ7QYYZEv57OQ54KtblzJzH1lQF/eQxO8KjWGIK9IPUJNus5g==",
+ "version": "0.4.14",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz",
+ "integrity": "sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==",
"license": "MIT",
"dependencies": {
- "@babel/compat-data": "^7.22.6",
- "@babel/helper-define-polyfill-provider": "^0.6.4",
+ "@babel/compat-data": "^7.27.7",
+ "@babel/helper-define-polyfill-provider": "^0.6.5",
"semver": "^6.3.1"
},
"peerDependencies": {
@@ -17200,34 +17708,34 @@
}
},
"node_modules/babel-plugin-polyfill-corejs3": {
- "version": "0.11.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.11.1.tgz",
- "integrity": "sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ==",
+ "version": "0.13.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz",
+ "integrity": "sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==",
"license": "MIT",
"dependencies": {
- "@babel/helper-define-polyfill-provider": "^0.6.3",
- "core-js-compat": "^3.40.0"
+ "@babel/helper-define-polyfill-provider": "^0.6.5",
+ "core-js-compat": "^3.43.0"
},
"peerDependencies": {
"@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
}
},
"node_modules/babel-plugin-polyfill-regenerator": {
- "version": "0.6.4",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.4.tgz",
- "integrity": "sha512-7gD3pRadPrbjhjLyxebmx/WrFYcuSjZ0XbdUujQMZ/fcE9oeewk2U/7PCvez84UeuK3oSjmPZ0Ch0dlupQvGzw==",
+ "version": "0.6.5",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz",
+ "integrity": "sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==",
"license": "MIT",
"dependencies": {
- "@babel/helper-define-polyfill-provider": "^0.6.4"
+ "@babel/helper-define-polyfill-provider": "^0.6.5"
},
"peerDependencies": {
"@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
}
},
"node_modules/babel-preset-current-node-syntax": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz",
- "integrity": "sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.2.0.tgz",
+ "integrity": "sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -17248,7 +17756,7 @@
"@babel/plugin-syntax-top-level-await": "^7.14.5"
},
"peerDependencies": {
- "@babel/core": "^7.0.0"
+ "@babel/core": "^7.0.0 || ^8.0.0-0"
}
},
"node_modules/babel-preset-jest": {
@@ -17346,9 +17854,9 @@
"license": "MIT"
},
"node_modules/brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "version": "1.1.12",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
+ "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
"license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0",
@@ -17519,9 +18027,9 @@
}
},
"node_modules/browserslist": {
- "version": "4.24.5",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.5.tgz",
- "integrity": "sha512-FDToo4Wo82hIdgc1CQ+NQD0hEhmpPjrZ3hiUgwgOG6IuTdlpr8jdjyG24P6cNP1yJpTLzS5OcGgSw0xmDU1/Tw==",
+ "version": "4.25.1",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.1.tgz",
+ "integrity": "sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw==",
"funding": [
{
"type": "opencollective",
@@ -17538,8 +18046,8 @@
],
"license": "MIT",
"dependencies": {
- "caniuse-lite": "^1.0.30001716",
- "electron-to-chromium": "^1.5.149",
+ "caniuse-lite": "^1.0.30001726",
+ "electron-to-chromium": "^1.5.173",
"node-releases": "^2.0.19",
"update-browserslist-db": "^1.1.3"
},
@@ -17627,6 +18135,27 @@
"node": ">=8"
}
},
+ "node_modules/cacheable": {
+ "version": "1.10.3",
+ "resolved": "https://registry.npmjs.org/cacheable/-/cacheable-1.10.3.tgz",
+ "integrity": "sha512-M6p10iJ/VT0wT7TLIGUnm958oVrU2cUK8pQAVU21Zu7h8rbk/PeRtRWrvHJBql97Bhzk3g1N6+2VKC+Rjxna9Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "hookified": "^1.10.0",
+ "keyv": "^5.4.0"
+ }
+ },
+ "node_modules/cacheable/node_modules/keyv": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.5.0.tgz",
+ "integrity": "sha512-QG7qR2tijh1ftOvClut4YKKg1iW6cx3GZsKoGyJPxHkGWK9oJhG9P3j5deP0QQOGDowBMVQFaP+Vm4NpGYvmIQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@keyv/serialize": "^1.1.0"
+ }
+ },
"node_modules/call-bind": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz",
@@ -17714,9 +18243,9 @@
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001717",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001717.tgz",
- "integrity": "sha512-auPpttCq6BDEG8ZAuHJIplGw6GODhjw+/11e7IjpnYCxZcW/ONgPs0KVBJ0d1bY3e2+7PRe5RCLyP+PfwVgkYw==",
+ "version": "1.0.30001731",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001731.tgz",
+ "integrity": "sha512-lDdp2/wrOmTRWuoB5DpfNkC0rJDU8DqRa6nYL6HK6sytw70QMopt/NIc/9SM7ylItlBWfACXk0tEn37UWM/+mg==",
"funding": [
{
"type": "opencollective",
@@ -17760,9 +18289,9 @@
"link": true
},
"node_modules/chai": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/chai/-/chai-5.2.0.tgz",
- "integrity": "sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==",
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/chai/-/chai-5.2.1.tgz",
+ "integrity": "sha512-5nFxhUrX0PqtyogoYOA8IPswy5sZFTOsBFl/9bNsmDLgsxYTzSZQJDPppDnZPTQbzSEm0hqGjWPzRemQCYbD6A==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -17773,13 +18302,13 @@
"pathval": "^2.0.0"
},
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/chalk": {
- "version": "5.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz",
- "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==",
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.5.0.tgz",
+ "integrity": "sha512-1tm8DTaJhPBG3bIkVeZt1iZM9GfSX2lzOeDVZH9R9ffRHpmHvxZ/QhgQH/aDTkswQVt+YHdXAdS/In/30OjCbg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -17969,6 +18498,19 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/clean-css": {
+ "version": "5.3.3",
+ "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz",
+ "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "source-map": "~0.6.0"
+ },
+ "engines": {
+ "node": ">= 10.0"
+ }
+ },
"node_modules/cli-cursor": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz",
@@ -18299,12 +18841,12 @@
}
},
"node_modules/core-js-compat": {
- "version": "3.42.0",
- "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.42.0.tgz",
- "integrity": "sha512-bQasjMfyDGyaeWKBIu33lHh9qlSR0MFE/Nmc6nMjf/iU9b3rSMdAYz1Baxrv4lPdGUsTqZudHA4jIGSJy0SWZQ==",
+ "version": "3.45.0",
+ "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.45.0.tgz",
+ "integrity": "sha512-gRoVMBawZg0OnxaVv3zpqLLxaHmsubEGyTnqdpI/CEBvX4JadI1dMSHxagThprYRtSVbuQxvi6iUatdPxohHpA==",
"license": "MIT",
"dependencies": {
- "browserslist": "^4.24.4"
+ "browserslist": "^4.25.1"
},
"funding": {
"type": "opencollective",
@@ -18613,9 +19155,9 @@
}
},
"node_modules/css-select": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz",
- "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==",
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz",
+ "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==",
"license": "BSD-2-Clause",
"dependencies": {
"boolbase": "^1.0.0",
@@ -18629,9 +19171,9 @@
}
},
"node_modules/css-selector-parser": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/css-selector-parser/-/css-selector-parser-3.1.2.tgz",
- "integrity": "sha512-WfUcL99xWDs7b3eZPoRszWVfbNo8ErCF15PTvVROjkShGlAfjIkG6hlfj/sl6/rfo5Q9x9ryJ3VqVnAZDA+gcw==",
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/css-selector-parser/-/css-selector-parser-3.1.3.tgz",
+ "integrity": "sha512-gJMigczVZqYAk0hPVzx/M4Hm1D9QOtqkdQk9005TNzDIUGzo5cnHEDiKUT7jGPximL/oYb+LIitcHFQ4aKupxg==",
"funding": [
{
"type": "github",
@@ -18664,9 +19206,9 @@
}
},
"node_modules/css-what": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz",
- "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==",
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz",
+ "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==",
"license": "BSD-2-Clause",
"engines": {
"node": ">= 6"
@@ -18694,9 +19236,9 @@
"license": "MIT"
},
"node_modules/cytoscape": {
- "version": "3.32.0",
- "resolved": "https://registry.npmjs.org/cytoscape/-/cytoscape-3.32.0.tgz",
- "integrity": "sha512-5JHBC9n75kz5851jeklCPmZWcg3hUe6sjqJvyk3+hVqFaKcHwHgxsjeN1yLmggoUc6STbtm9/NQyabQehfjvWQ==",
+ "version": "3.33.0",
+ "resolved": "https://registry.npmjs.org/cytoscape/-/cytoscape-3.33.0.tgz",
+ "integrity": "sha512-2d2EwwhaxLWC8ahkH1PpQwCyu6EY3xDRdcEJXrLTb4fOUtVc+YWQalHU67rFS1a6ngj1fgv9dQLtJxP/KAFZEw==",
"license": "MIT",
"engines": {
"node": ">=0.10"
@@ -19276,9 +19818,9 @@
"license": "MIT"
},
"node_modules/debug": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
- "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz",
+ "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==",
"license": "MIT",
"dependencies": {
"ms": "^2.1.3"
@@ -19308,9 +19850,9 @@
"license": "MIT"
},
"node_modules/decode-named-character-reference": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.1.0.tgz",
- "integrity": "sha512-Wy+JTSbFThEOXQIR2L6mxJvEs+veIzpmqD7ynWxMXGpnk3smkHQOp6forLdHsKpAMW9iJpaBBIxz285t1n1C3w==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.2.0.tgz",
+ "integrity": "sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==",
"license": "MIT",
"dependencies": {
"character-entities": "^2.0.0"
@@ -19433,9 +19975,9 @@
}
},
"node_modules/deploy-time-build": {
- "version": "0.3.31",
- "resolved": "https://registry.npmjs.org/deploy-time-build/-/deploy-time-build-0.3.31.tgz",
- "integrity": "sha512-rqkxI39CzZkiROq5JofsPFIxaAUSfzDda06E4Irgg6USQQ77v3zSXukHuFxhyEkdZB1mfaWl5PjIFSsop05hXw==",
+ "version": "0.3.36",
+ "resolved": "https://registry.npmjs.org/deploy-time-build/-/deploy-time-build-0.3.36.tgz",
+ "integrity": "sha512-ZFipY6aXRpq5b15/D8f7emYI8M/7Sroee2cZIJMUSscQTq1T/yOSAg6joybGXhOBOy4bFe6oiR150jdzIXcSRA==",
"license": "MIT",
"peerDependencies": {
"aws-cdk-lib": "^2.38.0",
@@ -19668,9 +20210,9 @@
}
},
"node_modules/dompurify": {
- "version": "3.2.5",
- "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.2.5.tgz",
- "integrity": "sha512-mLPd29uoRe9HpvwP2TxClGQBzGXeEC/we/q+bFlmPPmj2p2Ugl3r6ATu/UU1v77DXNcehiBg9zsr1dREyA/dJQ==",
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.2.6.tgz",
+ "integrity": "sha512-/2GogDQlohXPZe6D6NOgQvXLPSYBqIWMnZ8zzOhn09REE4eyAzb+Hed3jhoM9OkuaJ8P6ZGTTVWQKAi8ieIzfQ==",
"license": "(MPL-2.0 OR Apache-2.0)",
"optionalDependencies": {
"@types/trusted-types": "^2.0.7"
@@ -19737,9 +20279,9 @@
}
},
"node_modules/electron-to-chromium": {
- "version": "1.5.152",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.152.tgz",
- "integrity": "sha512-xBOfg/EBaIlVsHipHl2VdTPJRSvErNUaqW8ejTq5OlOlIYx1wOllCHsAvAIrr55jD1IYEfdR86miUEt8H5IeJg==",
+ "version": "1.5.199",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.199.tgz",
+ "integrity": "sha512-3gl0S7zQd88kCAZRO/DnxtBKuhMO4h0EaQIN3YgZfV6+pW+5+bf2AdQeHNESCoaQqo/gjGVYEf2YM4O5HJQqpQ==",
"license": "ISC"
},
"node_modules/elliptic": {
@@ -19792,9 +20334,9 @@
"license": "MIT"
},
"node_modules/enhanced-resolve": {
- "version": "5.18.1",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz",
- "integrity": "sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==",
+ "version": "5.18.3",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz",
+ "integrity": "sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -19841,27 +20383,27 @@
}
},
"node_modules/es-abstract": {
- "version": "1.23.9",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.9.tgz",
- "integrity": "sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==",
+ "version": "1.24.0",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.0.tgz",
+ "integrity": "sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==",
"license": "MIT",
"dependencies": {
"array-buffer-byte-length": "^1.0.2",
"arraybuffer.prototype.slice": "^1.0.4",
"available-typed-arrays": "^1.0.7",
"call-bind": "^1.0.8",
- "call-bound": "^1.0.3",
+ "call-bound": "^1.0.4",
"data-view-buffer": "^1.0.2",
"data-view-byte-length": "^1.0.2",
"data-view-byte-offset": "^1.0.1",
"es-define-property": "^1.0.1",
"es-errors": "^1.3.0",
- "es-object-atoms": "^1.0.0",
+ "es-object-atoms": "^1.1.1",
"es-set-tostringtag": "^2.1.0",
"es-to-primitive": "^1.3.0",
"function.prototype.name": "^1.1.8",
- "get-intrinsic": "^1.2.7",
- "get-proto": "^1.0.0",
+ "get-intrinsic": "^1.3.0",
+ "get-proto": "^1.0.1",
"get-symbol-description": "^1.1.0",
"globalthis": "^1.0.4",
"gopd": "^1.2.0",
@@ -19873,21 +20415,24 @@
"is-array-buffer": "^3.0.5",
"is-callable": "^1.2.7",
"is-data-view": "^1.0.2",
+ "is-negative-zero": "^2.0.3",
"is-regex": "^1.2.1",
+ "is-set": "^2.0.3",
"is-shared-array-buffer": "^1.0.4",
"is-string": "^1.1.1",
"is-typed-array": "^1.1.15",
- "is-weakref": "^1.1.0",
+ "is-weakref": "^1.1.1",
"math-intrinsics": "^1.1.0",
- "object-inspect": "^1.13.3",
+ "object-inspect": "^1.13.4",
"object-keys": "^1.1.1",
"object.assign": "^4.1.7",
"own-keys": "^1.0.1",
- "regexp.prototype.flags": "^1.5.3",
+ "regexp.prototype.flags": "^1.5.4",
"safe-array-concat": "^1.1.3",
"safe-push-apply": "^1.0.0",
"safe-regex-test": "^1.1.0",
"set-proto": "^1.0.0",
+ "stop-iteration-iterator": "^1.1.0",
"string.prototype.trim": "^1.2.10",
"string.prototype.trimend": "^1.0.9",
"string.prototype.trimstart": "^1.0.8",
@@ -19896,7 +20441,7 @@
"typed-array-byte-offset": "^1.0.4",
"typed-array-length": "^1.0.7",
"unbox-primitive": "^1.1.0",
- "which-typed-array": "^1.1.18"
+ "which-typed-array": "^1.1.19"
},
"engines": {
"node": ">= 0.4"
@@ -20016,9 +20561,9 @@
}
},
"node_modules/esbuild": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.4.tgz",
- "integrity": "sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==",
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.8.tgz",
+ "integrity": "sha512-vVC0USHGtMi8+R4Kz8rt6JhEWLxsv9Rnu/lGYbPR8u47B+DCBksq9JarW0zOO7bs37hyOK1l2/oqtbciutL5+Q==",
"hasInstallScript": true,
"license": "MIT",
"bin": {
@@ -20028,31 +20573,32 @@
"node": ">=18"
},
"optionalDependencies": {
- "@esbuild/aix-ppc64": "0.25.4",
- "@esbuild/android-arm": "0.25.4",
- "@esbuild/android-arm64": "0.25.4",
- "@esbuild/android-x64": "0.25.4",
- "@esbuild/darwin-arm64": "0.25.4",
- "@esbuild/darwin-x64": "0.25.4",
- "@esbuild/freebsd-arm64": "0.25.4",
- "@esbuild/freebsd-x64": "0.25.4",
- "@esbuild/linux-arm": "0.25.4",
- "@esbuild/linux-arm64": "0.25.4",
- "@esbuild/linux-ia32": "0.25.4",
- "@esbuild/linux-loong64": "0.25.4",
- "@esbuild/linux-mips64el": "0.25.4",
- "@esbuild/linux-ppc64": "0.25.4",
- "@esbuild/linux-riscv64": "0.25.4",
- "@esbuild/linux-s390x": "0.25.4",
- "@esbuild/linux-x64": "0.25.4",
- "@esbuild/netbsd-arm64": "0.25.4",
- "@esbuild/netbsd-x64": "0.25.4",
- "@esbuild/openbsd-arm64": "0.25.4",
- "@esbuild/openbsd-x64": "0.25.4",
- "@esbuild/sunos-x64": "0.25.4",
- "@esbuild/win32-arm64": "0.25.4",
- "@esbuild/win32-ia32": "0.25.4",
- "@esbuild/win32-x64": "0.25.4"
+ "@esbuild/aix-ppc64": "0.25.8",
+ "@esbuild/android-arm": "0.25.8",
+ "@esbuild/android-arm64": "0.25.8",
+ "@esbuild/android-x64": "0.25.8",
+ "@esbuild/darwin-arm64": "0.25.8",
+ "@esbuild/darwin-x64": "0.25.8",
+ "@esbuild/freebsd-arm64": "0.25.8",
+ "@esbuild/freebsd-x64": "0.25.8",
+ "@esbuild/linux-arm": "0.25.8",
+ "@esbuild/linux-arm64": "0.25.8",
+ "@esbuild/linux-ia32": "0.25.8",
+ "@esbuild/linux-loong64": "0.25.8",
+ "@esbuild/linux-mips64el": "0.25.8",
+ "@esbuild/linux-ppc64": "0.25.8",
+ "@esbuild/linux-riscv64": "0.25.8",
+ "@esbuild/linux-s390x": "0.25.8",
+ "@esbuild/linux-x64": "0.25.8",
+ "@esbuild/netbsd-arm64": "0.25.8",
+ "@esbuild/netbsd-x64": "0.25.8",
+ "@esbuild/openbsd-arm64": "0.25.8",
+ "@esbuild/openbsd-x64": "0.25.8",
+ "@esbuild/openharmony-arm64": "0.25.8",
+ "@esbuild/sunos-x64": "0.25.8",
+ "@esbuild/win32-arm64": "0.25.8",
+ "@esbuild/win32-ia32": "0.25.8",
+ "@esbuild/win32-x64": "0.25.8"
}
},
"node_modules/escalade": {
@@ -20161,9 +20707,9 @@
}
},
"node_modules/eslint-config-prettier": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz",
- "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==",
+ "version": "9.1.2",
+ "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.2.tgz",
+ "integrity": "sha512-iI1f+D2ViGn+uvv5HuHVUamg8ll4tN+JRHGc6IJi4TP9Kl976C57fzPXgseXNs8v0iA8aSJpHsTWjDb9QJamGQ==",
"dev": true,
"license": "MIT",
"bin": {
@@ -20196,9 +20742,9 @@
}
},
"node_modules/eslint-module-utils": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz",
- "integrity": "sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==",
+ "version": "2.12.1",
+ "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz",
+ "integrity": "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -20270,30 +20816,30 @@
"link": true
},
"node_modules/eslint-plugin-import": {
- "version": "2.31.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz",
- "integrity": "sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==",
+ "version": "2.32.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz",
+ "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@rtsao/scc": "^1.1.0",
- "array-includes": "^3.1.8",
- "array.prototype.findlastindex": "^1.2.5",
- "array.prototype.flat": "^1.3.2",
- "array.prototype.flatmap": "^1.3.2",
+ "array-includes": "^3.1.9",
+ "array.prototype.findlastindex": "^1.2.6",
+ "array.prototype.flat": "^1.3.3",
+ "array.prototype.flatmap": "^1.3.3",
"debug": "^3.2.7",
"doctrine": "^2.1.0",
"eslint-import-resolver-node": "^0.3.9",
- "eslint-module-utils": "^2.12.0",
+ "eslint-module-utils": "^2.12.1",
"hasown": "^2.0.2",
- "is-core-module": "^2.15.1",
+ "is-core-module": "^2.16.1",
"is-glob": "^4.0.3",
"minimatch": "^3.1.2",
"object.fromentries": "^2.0.8",
"object.groupby": "^1.0.3",
- "object.values": "^1.2.0",
+ "object.values": "^1.2.1",
"semver": "^6.3.1",
- "string.prototype.trimend": "^1.0.8",
+ "string.prototype.trimend": "^1.0.9",
"tsconfig-paths": "^3.15.0"
},
"engines": {
@@ -20324,9 +20870,9 @@
}
},
"node_modules/eslint-plugin-jest": {
- "version": "28.11.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.11.0.tgz",
- "integrity": "sha512-QAfipLcNCWLVocVbZW8GimKn5p5iiMcgGbRzz8z/P5q7xw+cNEpYqyzFMtIF/ZgF2HLOyy+dYBut+DoYolvqig==",
+ "version": "28.14.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.14.0.tgz",
+ "integrity": "sha512-P9s/qXSMTpRTerE2FQ0qJet2gKbcGyFTPAJipoKxmWqR6uuFqIqk8FuEfg5yBieOezVrEfAMZrEwJ6yEp+1MFQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -20400,9 +20946,9 @@
"license": "MIT"
},
"node_modules/eslint-plugin-n": {
- "version": "17.18.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.18.0.tgz",
- "integrity": "sha512-hvZ/HusueqTJ7VDLoCpjN0hx4N4+jHIWTXD4TMLHy9F23XkDagR9v+xQWRWR57yY55GPF8NnD4ox9iGTxirY8A==",
+ "version": "17.21.3",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.21.3.tgz",
+ "integrity": "sha512-MtxYjDZhMQgsWRm/4xYLL0i2EhusWT7itDxlJ80l1NND2AL2Vi5Mvneqv/ikG9+zpran0VsVRXTEHrpLmUZRNw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -20411,9 +20957,10 @@
"eslint-plugin-es-x": "^7.8.0",
"get-tsconfig": "^4.8.1",
"globals": "^15.11.0",
+ "globrex": "^0.1.2",
"ignore": "^5.3.2",
- "minimatch": "^9.0.5",
- "semver": "^7.6.3"
+ "semver": "^7.6.3",
+ "ts-declaration-location": "^1.0.6"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -20425,32 +20972,6 @@
"eslint": ">=8.23.0"
}
},
- "node_modules/eslint-plugin-n/node_modules/brace-expansion": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
- "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0"
- }
- },
- "node_modules/eslint-plugin-n/node_modules/minimatch": {
- "version": "9.0.5",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
- "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^2.0.1"
- },
- "engines": {
- "node": ">=16 || 14 >=14.17"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
"node_modules/eslint-plugin-n/node_modules/semver": {
"version": "7.7.2",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
@@ -20465,14 +20986,14 @@
}
},
"node_modules/eslint-plugin-prettier": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.4.0.tgz",
- "integrity": "sha512-BvQOvUhkVQM1i63iMETK9Hjud9QhqBnbtT1Zc642p9ynzBuCe5pybkOnvqZIBypXmMlsGcnU4HZ8sCTPfpAexA==",
+ "version": "5.5.4",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.4.tgz",
+ "integrity": "sha512-swNtI95SToIz05YINMA6Ox5R057IMAmWZ26GqPxusAp1TZzj+IdY9tXNWWD3vkF/wEqydCONcwjTFpxybBqZsg==",
"dev": true,
"license": "MIT",
"dependencies": {
"prettier-linter-helpers": "^1.0.0",
- "synckit": "^0.11.0"
+ "synckit": "^0.11.7"
},
"engines": {
"node": "^14.18.0 || >=16.0.0"
@@ -20612,9 +21133,9 @@
}
},
"node_modules/eslint-plugin-tailwindcss": {
- "version": "3.18.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-tailwindcss/-/eslint-plugin-tailwindcss-3.18.0.tgz",
- "integrity": "sha512-PQDU4ZMzFH0eb2DrfHPpbgo87Zgg2EXSMOj1NSfzdZm+aJzpuwGerfowMIaVehSREEa0idbf/eoNYAOHSJoDAQ==",
+ "version": "3.18.2",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-tailwindcss/-/eslint-plugin-tailwindcss-3.18.2.tgz",
+ "integrity": "sha512-QbkMLDC/OkkjFQ1iz/5jkMdHfiMu/uwujUHLAJK5iwNHD8RTxVTlsUezE0toTZ6VhybNBsk+gYGPDq2agfeRNA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -21049,9 +21570,9 @@
}
},
"node_modules/expect-type": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.2.1.tgz",
- "integrity": "sha512-/kP8CAwxzLVEeFrMm4kMmy4CCDlpipyA7MYLVrdJIkV0fYF0UaigQHRsxHiuY/GEea+bh4KSv3TIlgr+2UL6bw==",
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.2.2.tgz",
+ "integrity": "sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==",
"dev": true,
"license": "Apache-2.0",
"engines": {
@@ -21059,9 +21580,9 @@
}
},
"node_modules/exsolve": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.0.5.tgz",
- "integrity": "sha512-pz5dvkYYKQ1AHVrgOzBKWeP4u4FRb3a6DNK2ucr0OoNwYIU4QWsJ+NM36LLzORT+z845MzKHHhpXiUF5nvQoJg==",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.0.7.tgz",
+ "integrity": "sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==",
"license": "MIT"
},
"node_modules/extend": {
@@ -21150,22 +21671,18 @@
"license": "BSD-3-Clause"
},
"node_modules/fast-xml-parser": {
- "version": "4.4.1",
- "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz",
- "integrity": "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==",
+ "version": "5.2.5",
+ "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.2.5.tgz",
+ "integrity": "sha512-pfX9uG9Ki0yekDHx2SiuRIyFdyAr1kMIMitPvb0YBo8SUfKvia7w7FIyd/l6av85pFYRhZscS75MwMnbvY+hcQ==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/NaturalIntelligence"
- },
- {
- "type": "paypal",
- "url": "https://paypal.me/naturalintelligence"
}
],
"license": "MIT",
"dependencies": {
- "strnum": "^1.0.5"
+ "strnum": "^2.1.0"
},
"bin": {
"fxparser": "src/cli/cli.js"
@@ -21272,9 +21789,9 @@
}
},
"node_modules/filelist/node_modules/brace-expansion": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
- "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+ "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
"license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0"
@@ -21356,9 +21873,9 @@
"license": "ISC"
},
"node_modules/follow-redirects": {
- "version": "1.15.9",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz",
- "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==",
+ "version": "1.15.11",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz",
+ "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==",
"funding": [
{
"type": "individual",
@@ -21407,14 +21924,15 @@
}
},
"node_modules/form-data": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.2.tgz",
- "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==",
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz",
+ "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==",
"license": "MIT",
"dependencies": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.8",
"es-set-tostringtag": "^2.1.0",
+ "hasown": "^2.0.2",
"mime-types": "^2.1.12"
},
"engines": {
@@ -21656,9 +22174,9 @@
}
},
"node_modules/get-tsconfig": {
- "version": "4.10.0",
- "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.0.tgz",
- "integrity": "sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==",
+ "version": "4.10.1",
+ "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.1.tgz",
+ "integrity": "sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -21756,6 +22274,13 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/globrex": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz",
+ "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/gopd": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
@@ -21796,6 +22321,28 @@
"integrity": "sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==",
"license": "MIT"
},
+ "node_modules/handlebars": {
+ "version": "4.7.8",
+ "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz",
+ "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "minimist": "^1.2.5",
+ "neo-async": "^2.6.2",
+ "source-map": "^0.6.1",
+ "wordwrap": "^1.0.0"
+ },
+ "bin": {
+ "handlebars": "bin/handlebars"
+ },
+ "engines": {
+ "node": ">=0.4.7"
+ },
+ "optionalDependencies": {
+ "uglify-js": "^3.1.4"
+ }
+ },
"node_modules/has-bigints": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz",
@@ -22295,6 +22842,13 @@
"minimalistic-crypto-utils": "^1.0.1"
}
},
+ "node_modules/hookified": {
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/hookified/-/hookified-1.11.0.tgz",
+ "integrity": "sha512-aDdIN3GyU5I6wextPplYdfmWCo+aLmjjVbntmX6HLD5RCi/xKsivYEBhnRD+d9224zFf008ZpLMPlWF0ZodYZw==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/hosted-git-info": {
"version": "2.8.9",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
@@ -22422,9 +22976,9 @@
}
},
"node_modules/i18next-browser-languagedetector": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-8.1.0.tgz",
- "integrity": "sha512-mHZxNx1Lq09xt5kCauZ/4bsXOEA2pfpwSoU11/QTJB+pD94iONFwp+ohqi///PwiFvjFOxe1akYCdHyFo1ng5Q==",
+ "version": "8.2.0",
+ "resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-8.2.0.tgz",
+ "integrity": "sha512-P+3zEKLnOF0qmiesW383vsLdtQVyKtCNA9cjSoKCppTKPQVfKd2W8hbVo5ZhNJKDqeM7BOcvNoKJOjpHh4Js9g==",
"license": "MIT",
"dependencies": {
"@babel/runtime": "^7.23.2"
@@ -22481,7 +23035,6 @@
"version": "5.3.2",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
"integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">= 4"
@@ -23000,6 +23553,18 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/is-negative-zero": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz",
+ "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/is-number": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
@@ -23399,15 +23964,14 @@
}
},
"node_modules/jake": {
- "version": "10.9.2",
- "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.2.tgz",
- "integrity": "sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==",
+ "version": "10.9.4",
+ "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.4.tgz",
+ "integrity": "sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==",
"license": "Apache-2.0",
"dependencies": {
- "async": "^3.2.3",
- "chalk": "^4.0.2",
+ "async": "^3.2.6",
"filelist": "^1.0.4",
- "minimatch": "^3.1.2"
+ "picocolors": "^1.1.1"
},
"bin": {
"jake": "bin/cli.js"
@@ -23416,76 +23980,6 @@
"node": ">=10"
}
},
- "node_modules/jake/node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "license": "MIT",
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/jake/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/jake/node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "license": "MIT",
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/jake/node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "license": "MIT"
- },
- "node_modules/jake/node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/jake/node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "license": "MIT",
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/jest": {
"version": "29.7.0",
"resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz",
@@ -25351,18 +25845,26 @@
}
},
"node_modules/jotai": {
- "version": "2.12.4",
- "resolved": "https://registry.npmjs.org/jotai/-/jotai-2.12.4.tgz",
- "integrity": "sha512-eFXLJol4oOLM8BS1+QV+XwaYQITG8n1tatBCFl4F5HE3zR5j2WIK8QpMt7VJIYmlogNUZfvB7wjwLoVk+umB9Q==",
+ "version": "2.13.0",
+ "resolved": "https://registry.npmjs.org/jotai/-/jotai-2.13.0.tgz",
+ "integrity": "sha512-H43zXdanNTdpfOEJ4NVbm4hgmrctpXLZagjJNcqAywhUv+sTE7esvFjwm5oBg/ywT9Qw63lIkM6fjrhFuW8UDg==",
"license": "MIT",
"engines": {
"node": ">=12.20.0"
},
"peerDependencies": {
+ "@babel/core": ">=7.0.0",
+ "@babel/template": ">=7.0.0",
"@types/react": ">=17.0.0",
"react": ">=17.0.0"
},
"peerDependenciesMeta": {
+ "@babel/core": {
+ "optional": true
+ },
+ "@babel/template": {
+ "optional": true
+ },
"@types/react": {
"optional": true
},
@@ -25668,9 +26170,9 @@
}
},
"node_modules/linkifyjs": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/linkifyjs/-/linkifyjs-4.3.1.tgz",
- "integrity": "sha512-DRSlB9DKVW04c4SUdGvKK5FR6be45lTU9M76JnngqPeeGDqPwYc0zdUErtsNVMtxPXgUWV4HbXbnC4sNyBxkYg==",
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/linkifyjs/-/linkifyjs-4.3.2.tgz",
+ "integrity": "sha512-NT1CJtq3hHIreOianA8aSXn6Cw0JzYOuDQbOrSPe7gqFnCpKP++MQe3ODgO3oh2GJFORkAAdqredOa60z63GbA==",
"license": "MIT"
},
"node_modules/lint-staged": {
@@ -25909,9 +26411,9 @@
}
},
"node_modules/loupe": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.3.tgz",
- "integrity": "sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.2.0.tgz",
+ "integrity": "sha512-2NCfZcT5VGVNX9mSZIxLRkEAegDGBpuQZBy13desuHeVORmBDyAET4TkJr4SjqQy3A8JDofMN6LpkK8Xcm/dlw==",
"dev": true,
"license": "MIT"
},
@@ -26039,15 +26541,15 @@
}
},
"node_modules/marked": {
- "version": "15.0.11",
- "resolved": "https://registry.npmjs.org/marked/-/marked-15.0.11.tgz",
- "integrity": "sha512-1BEXAU2euRCG3xwgLVT1y0xbJEld1XOrmRJpUwRCcy7rxhSCwMrmEu9LXoPhHSCJG41V7YcQ2mjKRr5BA3ITIA==",
+ "version": "16.1.2",
+ "resolved": "https://registry.npmjs.org/marked/-/marked-16.1.2.tgz",
+ "integrity": "sha512-rNQt5EvRinalby7zJZu/mB+BvaAY2oz3wCuCjt1RDrWNpS1Pdf9xqMOeC9Hm5adBdcV/3XZPJpG58eT+WBc0XQ==",
"license": "MIT",
"bin": {
"marked": "bin/marked.js"
},
"engines": {
- "node": ">= 18"
+ "node": ">= 20"
}
},
"node_modules/material-colors": {
@@ -26405,14 +26907,14 @@
}
},
"node_modules/mermaid": {
- "version": "11.6.0",
- "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-11.6.0.tgz",
- "integrity": "sha512-PE8hGUy1LDlWIHWBP05SFdqUHGmRcCcK4IzpOKPE35eOw+G9zZgcnMpyunJVUEOgb//KBORPjysKndw8bFLuRg==",
+ "version": "11.9.0",
+ "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-11.9.0.tgz",
+ "integrity": "sha512-YdPXn9slEwO0omQfQIsW6vS84weVQftIyyTGAZCwM//MGhPzL1+l6vO6bkf0wnP4tHigH1alZ5Ooy3HXI2gOag==",
"license": "MIT",
"dependencies": {
"@braintree/sanitize-url": "^7.0.4",
"@iconify/utils": "^2.1.33",
- "@mermaid-js/parser": "^0.4.0",
+ "@mermaid-js/parser": "^0.6.2",
"@types/d3": "^7.4.3",
"cytoscape": "^3.29.3",
"cytoscape-cose-bilkent": "^4.1.0",
@@ -26421,11 +26923,11 @@
"d3-sankey": "^0.12.3",
"dagre-d3-es": "7.0.11",
"dayjs": "^1.11.13",
- "dompurify": "^3.2.4",
- "katex": "^0.16.9",
+ "dompurify": "^3.2.5",
+ "katex": "^0.16.22",
"khroma": "^2.1.0",
"lodash-es": "^4.17.21",
- "marked": "^15.0.7",
+ "marked": "^16.0.0",
"roughjs": "^4.6.6",
"stylis": "^4.3.6",
"ts-dedent": "^2.2.0",
@@ -27234,6 +27736,13 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/neo-async": {
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
+ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/nice-try": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
@@ -27439,9 +27948,9 @@
}
},
"node_modules/novel/node_modules/@tiptap/extension-placeholder": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-placeholder/-/extension-placeholder-2.12.0.tgz",
- "integrity": "sha512-K7irDox4P+NLAMjVrJeG72f0sulsCRYpx1Cy4gxKCdi1LTivj5VkXa6MXmi42KTCwBu3pWajBctYIOAES1FTAA==",
+ "version": "2.26.1",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-placeholder/-/extension-placeholder-2.26.1.tgz",
+ "integrity": "sha512-MBlqbkd+63btY7Qu+SqrXvWjPwooGZDsLTtl7jp52BczBl61cq9yygglt9XpM11TFMBdySgdLHBrLtQ0B7fBlw==",
"license": "MIT",
"funding": {
"type": "github",
@@ -27453,9 +27962,9 @@
}
},
"node_modules/novel/node_modules/@types/node": {
- "version": "22.15.17",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.17.tgz",
- "integrity": "sha512-wIX2aSZL5FE+MR0JlvF87BNVrtFWf6AE6rxSE9X7OwnVvoyCQjpzSRJ+M87se/4QCkCiebQAqrJ0y6fwIyi7nw==",
+ "version": "22.17.0",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.17.0.tgz",
+ "integrity": "sha512-bbAKTCqX5aNVryi7qXVMi+OkB3w/OyblodicMbvE38blyAz7GxXf6XYhklokijuPwwVg9sDLKRxt0ZHXQwZVfQ==",
"license": "MIT",
"dependencies": {
"undici-types": "~6.21.0"
@@ -27476,12 +27985,6 @@
"react-dom": "^18.0.0 || ^19.0.0"
}
},
- "node_modules/novel/node_modules/undici-types": {
- "version": "6.21.0",
- "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
- "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
- "license": "MIT"
- },
"node_modules/npm-run-all": {
"version": "4.1.5",
"resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz",
@@ -28057,9 +28560,9 @@
}
},
"node_modules/parse5/node_modules/entities": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.0.tgz",
- "integrity": "sha512-aKstq2TDOndCn4diEyp9Uq/Flu2i1GlLkc6XIDQSDMuaFE3OPW5OphLCyQ5SpSJZTb4reN+kTcYru5yIfXoRPw==",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz",
+ "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==",
"license": "BSD-2-Clause",
"engines": {
"node": ">=0.12"
@@ -28178,9 +28681,9 @@
"license": "MIT"
},
"node_modules/pathval": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz",
- "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz",
+ "integrity": "sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==",
"dev": true,
"license": "MIT",
"engines": {
@@ -28188,22 +28691,57 @@
}
},
"node_modules/pbkdf2": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz",
- "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==",
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.3.tgz",
+ "integrity": "sha512-wfRLBZ0feWRhCIkoMB6ete7czJcnNnqRpcoWQBLqatqXXmelSRqfdDK4F3u9T2s2cXas/hQJcryI/4lAL+XTlA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "create-hash": "^1.1.2",
- "create-hmac": "^1.1.4",
- "ripemd160": "^2.0.1",
- "safe-buffer": "^5.0.1",
- "sha.js": "^2.4.8"
+ "create-hash": "~1.1.3",
+ "create-hmac": "^1.1.7",
+ "ripemd160": "=2.0.1",
+ "safe-buffer": "^5.2.1",
+ "sha.js": "^2.4.11",
+ "to-buffer": "^1.2.0"
},
"engines": {
"node": ">=0.12"
}
},
+ "node_modules/pbkdf2/node_modules/create-hash": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz",
+ "integrity": "sha512-snRpch/kwQhcdlnZKYanNF1m0RDlrCdSKQaH87w1FCFPVPNCQ/Il9QJKAX2jVBZddRdaHBMC+zXa9Gw9tmkNUA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cipher-base": "^1.0.1",
+ "inherits": "^2.0.1",
+ "ripemd160": "^2.0.0",
+ "sha.js": "^2.4.0"
+ }
+ },
+ "node_modules/pbkdf2/node_modules/hash-base": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz",
+ "integrity": "sha512-0TROgQ1/SxE6KmxWSvXHvRj90/Xo1JvZShofnYF+f6ZsGtR4eES7WfrQzPalmyagfKZCXpVnitiRebZulWsbiw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "^2.0.1"
+ }
+ },
+ "node_modules/pbkdf2/node_modules/ripemd160": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz",
+ "integrity": "sha512-J7f4wutN8mdbV08MJnXibYpCOPHR+yzy+iQ/AsjMv2j8cLavQ8VGagDFUwwTAdF8FmRKVeNpbTTEwNHCW1g94w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "hash-base": "^2.0.0",
+ "inherits": "^2.0.1"
+ }
+ },
"node_modules/peek-readable": {
"version": "5.4.2",
"resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-5.4.2.tgz",
@@ -28281,13 +28819,13 @@
}
},
"node_modules/pkg-types": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.1.0.tgz",
- "integrity": "sha512-wmJwA+8ihJixSoHKxZJRBQG1oY8Yr9pGLzRmSsNms0iNWyHHAlZCa7mmKiFR10YPZuz/2k169JiS/inOjBCZ2A==",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.2.0.tgz",
+ "integrity": "sha512-2SM/GZGAEkPp3KWORxQZns4M+WSeXbC2HEvmOIJe3Cmiv6ieAJvdVhDldtHqM5J1Y7MrR1XhkBT/rMlhh9FdqQ==",
"license": "MIT",
"dependencies": {
- "confbox": "^0.2.1",
- "exsolve": "^1.0.1",
+ "confbox": "^0.2.2",
+ "exsolve": "^1.0.7",
"pathe": "^2.0.3"
}
},
@@ -28336,9 +28874,9 @@
}
},
"node_modules/postcss": {
- "version": "8.5.3",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz",
- "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==",
+ "version": "8.5.6",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
+ "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
"funding": [
{
"type": "opencollective",
@@ -28355,7 +28893,7 @@
],
"license": "MIT",
"dependencies": {
- "nanoid": "^3.3.8",
+ "nanoid": "^3.3.11",
"picocolors": "^1.1.1",
"source-map-js": "^1.2.1"
},
@@ -28503,9 +29041,9 @@
}
},
"node_modules/prettier": {
- "version": "3.5.3",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.3.tgz",
- "integrity": "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==",
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz",
+ "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==",
"dev": true,
"license": "MIT",
"bin": {
@@ -28714,9 +29252,9 @@
}
},
"node_modules/prosemirror-changeset": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/prosemirror-changeset/-/prosemirror-changeset-2.3.0.tgz",
- "integrity": "sha512-8wRKhlEwEJ4I13Ju54q2NZR1pVKGTgJ/8XsQ8L5A5uUsQ/YQScQJuEAuh8Bn8i6IwAMjjLRABd9lVli+DlIiVw==",
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/prosemirror-changeset/-/prosemirror-changeset-2.3.1.tgz",
+ "integrity": "sha512-j0kORIBm8ayJNl3zQvD1TTPHJX3g042et6y/KQhZhnPrruO8exkTgG8X+NRpj7kIyMMEx74Xb3DyMIBtO0IKkQ==",
"license": "MIT",
"dependencies": {
"prosemirror-transform": "^1.0.0"
@@ -28821,9 +29359,9 @@
}
},
"node_modules/prosemirror-model": {
- "version": "1.25.1",
- "resolved": "https://registry.npmjs.org/prosemirror-model/-/prosemirror-model-1.25.1.tgz",
- "integrity": "sha512-AUvbm7qqmpZa5d9fPKMvH1Q5bqYQvAZWOGRvxsB6iFLyycvC9MwNemNVjHVrWgjaoxAfY8XVg7DbvQ/qxvI9Eg==",
+ "version": "1.25.3",
+ "resolved": "https://registry.npmjs.org/prosemirror-model/-/prosemirror-model-1.25.3.tgz",
+ "integrity": "sha512-dY2HdaNXlARknJbrManZ1WyUtos+AP97AmvqdOQtWtrrC5g4mohVX5DTi9rXNFSk09eczLq9GuNTtq3EfMeMGA==",
"license": "MIT",
"dependencies": {
"orderedmap": "^2.0.0"
@@ -28910,9 +29448,9 @@
}
},
"node_modules/prosemirror-view": {
- "version": "1.39.2",
- "resolved": "https://registry.npmjs.org/prosemirror-view/-/prosemirror-view-1.39.2.tgz",
- "integrity": "sha512-BmOkml0QWNob165gyUxXi5K5CVUgVPpqMEAAml/qzgKn9boLUWVPzQ6LtzXw8Cn1GtRQX4ELumPxqtLTDaAKtg==",
+ "version": "1.40.1",
+ "resolved": "https://registry.npmjs.org/prosemirror-view/-/prosemirror-view-1.40.1.tgz",
+ "integrity": "sha512-pbwUjt3G7TlsQQHDiYSupWBhJswpLVB09xXm1YiJPdkjkh9Pe7Y51XdLh5VWIZmROLY8UpUpG03lkdhm9lzIBA==",
"license": "MIT",
"dependencies": {
"prosemirror-model": "^1.20.0",
@@ -29235,9 +29773,9 @@
"license": "MIT"
},
"node_modules/query-string": {
- "version": "9.1.2",
- "resolved": "https://registry.npmjs.org/query-string/-/query-string-9.1.2.tgz",
- "integrity": "sha512-s3UlTyjxRux4KjwWaJsjh1Mp8zoCkSGKirbD9H89pEM9UOZsfpRZpdfzvsy2/mGlLfC3NnYVpy2gk7jXITHEtA==",
+ "version": "9.2.2",
+ "resolved": "https://registry.npmjs.org/query-string/-/query-string-9.2.2.tgz",
+ "integrity": "sha512-pDSIZJ9sFuOp6VnD+5IkakSVf+rICAuuU88Hcsr6AKL0QtxSIfVuKiVP2oahFI7tk3CRSexwV+Ya6MOoTxzg9g==",
"license": "MIT",
"dependencies": {
"decode-uri-component": "^0.4.1",
@@ -29354,9 +29892,9 @@
}
},
"node_modules/react-hook-form": {
- "version": "7.56.3",
- "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.56.3.tgz",
- "integrity": "sha512-IK18V6GVbab4TAo1/cz3kqajxbDPGofdF0w7VHdCo0Nt8PrPlOZcuuDq9YYIV1BtjcX78x0XsldbQRQnQXWXmw==",
+ "version": "7.62.0",
+ "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.62.0.tgz",
+ "integrity": "sha512-7KWFejc98xqG/F4bAxpL41NB3o1nnvQO1RWZT3TqRZYL8RryQETGfEdVnJN2fy1crCiBLLjkRBVK05j24FxJGA==",
"license": "MIT",
"engines": {
"node": ">=18.0.0"
@@ -29370,12 +29908,12 @@
}
},
"node_modules/react-i18next": {
- "version": "15.5.1",
- "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-15.5.1.tgz",
- "integrity": "sha512-C8RZ7N7H0L+flitiX6ASjq9p5puVJU1Z8VyL3OgM/QOMRf40BMZX+5TkpxzZVcTmOLPX5zlti4InEX5pFyiVeA==",
+ "version": "15.6.1",
+ "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-15.6.1.tgz",
+ "integrity": "sha512-uGrzSsOUUe2sDBG/+FJq2J1MM+Y4368/QW8OLEKSFvnDflHBbZhSd1u3UkW0Z06rMhZmnB/AQrhCpYfE5/5XNg==",
"license": "MIT",
"dependencies": {
- "@babel/runtime": "^7.25.0",
+ "@babel/runtime": "^7.27.6",
"html-parse-stringify": "^3.0.1"
},
"peerDependencies": {
@@ -29469,9 +30007,9 @@
}
},
"node_modules/react-remove-scroll": {
- "version": "2.6.3",
- "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.6.3.tgz",
- "integrity": "sha512-pnAi91oOk8g8ABQKGF5/M9qxmmOPxaAnopyTHYfqYEwJhyFrbbBtHuSgtKEoH0jpcxx5o3hXqH1mNd9/Oi+8iQ==",
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.7.1.tgz",
+ "integrity": "sha512-HpMh8+oahmIdOuS5aFKKY6Pyog+FNaZV/XyJOq7b4YFwsFHe5yYfdbIalI4k3vU2nSDql7YskmUseHsRrJqIPA==",
"license": "MIT",
"dependencies": {
"react-remove-scroll-bar": "^2.3.7",
@@ -29516,9 +30054,9 @@
}
},
"node_modules/react-router": {
- "version": "6.30.0",
- "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.30.0.tgz",
- "integrity": "sha512-D3X8FyH9nBcTSHGdEKurK7r8OYE1kKFn3d/CF+CoxbSHkxU7o37+Uh7eAHRXr6k2tSExXYO++07PeXJtA/dEhQ==",
+ "version": "6.30.1",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.30.1.tgz",
+ "integrity": "sha512-X1m21aEmxGXqENEPG3T6u0Th7g0aS4ZmoNynhbs+Cn+q+QGTLt+d5IQ2bHAXKzKcxGJjxACpVbnYQSCRcfxHlQ==",
"license": "MIT",
"dependencies": {
"@remix-run/router": "1.23.0"
@@ -29531,13 +30069,13 @@
}
},
"node_modules/react-router-dom": {
- "version": "6.30.0",
- "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.30.0.tgz",
- "integrity": "sha512-x30B78HV5tFk8ex0ITwzC9TTZMua4jGyA9IUlH1JLQYQTFyxr/ZxwOJq7evg1JX1qGVUcvhsmQSKdPncQrjTgA==",
+ "version": "6.30.1",
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.30.1.tgz",
+ "integrity": "sha512-llKsgOkZdbPU1Eg3zK8lCn+sjD9wMRZZPuzmdWWX5SUs8OFkN5HnFVC0u5KMeMaC9aoancFI/KoLuKPqN+hxHw==",
"license": "MIT",
"dependencies": {
"@remix-run/router": "1.23.0",
- "react-router": "6.30.0"
+ "react-router": "6.30.1"
},
"engines": {
"node": ">=14.0.0"
@@ -29733,9 +30271,9 @@
}
},
"node_modules/recharts": {
- "version": "2.15.3",
- "resolved": "https://registry.npmjs.org/recharts/-/recharts-2.15.3.tgz",
- "integrity": "sha512-EdOPzTwcFSuqtvkDoaM5ws/Km1+WTAO2eizL7rqiG0V2UVhTnz0m7J2i0CjVPUCdEkZImaWvXLbZDS2H5t6GFQ==",
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/recharts/-/recharts-2.15.4.tgz",
+ "integrity": "sha512-UT/q6fwS3c1dHbXv2uFgYJ9BMFHu3fwnd7AYZaEQhXuYQ4hgsxLvsUXzGdKeZrW5xopzDCvuA2N41WJ88I7zIw==",
"license": "MIT",
"dependencies": {
"clsx": "^2.0.0",
@@ -30502,12 +31040,12 @@
"license": "Unlicense"
},
"node_modules/rollup": {
- "version": "4.40.2",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.40.2.tgz",
- "integrity": "sha512-tfUOg6DTP4rhQ3VjOO6B4wyrJnGOX85requAXvqYTHsOgb2TFJdZ3aWpT8W2kPoypSGP7dZUyzxJ9ee4buM5Fg==",
+ "version": "4.46.2",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.46.2.tgz",
+ "integrity": "sha512-WMmLFI+Boh6xbop+OAGo9cQ3OgX9MIg7xOQjn+pTCwOkk+FNDAeAemXkJ3HzDJrVXleLOFVa1ipuc1AmEx1Dwg==",
"license": "MIT",
"dependencies": {
- "@types/estree": "1.0.7"
+ "@types/estree": "1.0.8"
},
"bin": {
"rollup": "dist/bin/rollup"
@@ -30517,26 +31055,26 @@
"npm": ">=8.0.0"
},
"optionalDependencies": {
- "@rollup/rollup-android-arm-eabi": "4.40.2",
- "@rollup/rollup-android-arm64": "4.40.2",
- "@rollup/rollup-darwin-arm64": "4.40.2",
- "@rollup/rollup-darwin-x64": "4.40.2",
- "@rollup/rollup-freebsd-arm64": "4.40.2",
- "@rollup/rollup-freebsd-x64": "4.40.2",
- "@rollup/rollup-linux-arm-gnueabihf": "4.40.2",
- "@rollup/rollup-linux-arm-musleabihf": "4.40.2",
- "@rollup/rollup-linux-arm64-gnu": "4.40.2",
- "@rollup/rollup-linux-arm64-musl": "4.40.2",
- "@rollup/rollup-linux-loongarch64-gnu": "4.40.2",
- "@rollup/rollup-linux-powerpc64le-gnu": "4.40.2",
- "@rollup/rollup-linux-riscv64-gnu": "4.40.2",
- "@rollup/rollup-linux-riscv64-musl": "4.40.2",
- "@rollup/rollup-linux-s390x-gnu": "4.40.2",
- "@rollup/rollup-linux-x64-gnu": "4.40.2",
- "@rollup/rollup-linux-x64-musl": "4.40.2",
- "@rollup/rollup-win32-arm64-msvc": "4.40.2",
- "@rollup/rollup-win32-ia32-msvc": "4.40.2",
- "@rollup/rollup-win32-x64-msvc": "4.40.2",
+ "@rollup/rollup-android-arm-eabi": "4.46.2",
+ "@rollup/rollup-android-arm64": "4.46.2",
+ "@rollup/rollup-darwin-arm64": "4.46.2",
+ "@rollup/rollup-darwin-x64": "4.46.2",
+ "@rollup/rollup-freebsd-arm64": "4.46.2",
+ "@rollup/rollup-freebsd-x64": "4.46.2",
+ "@rollup/rollup-linux-arm-gnueabihf": "4.46.2",
+ "@rollup/rollup-linux-arm-musleabihf": "4.46.2",
+ "@rollup/rollup-linux-arm64-gnu": "4.46.2",
+ "@rollup/rollup-linux-arm64-musl": "4.46.2",
+ "@rollup/rollup-linux-loongarch64-gnu": "4.46.2",
+ "@rollup/rollup-linux-ppc64-gnu": "4.46.2",
+ "@rollup/rollup-linux-riscv64-gnu": "4.46.2",
+ "@rollup/rollup-linux-riscv64-musl": "4.46.2",
+ "@rollup/rollup-linux-s390x-gnu": "4.46.2",
+ "@rollup/rollup-linux-x64-gnu": "4.46.2",
+ "@rollup/rollup-linux-x64-musl": "4.46.2",
+ "@rollup/rollup-win32-arm64-msvc": "4.46.2",
+ "@rollup/rollup-win32-ia32-msvc": "4.46.2",
+ "@rollup/rollup-win32-x64-msvc": "4.46.2",
"fsevents": "~2.3.2"
}
},
@@ -30572,9 +31110,9 @@
}
},
"node_modules/rollup-plugin-visualizer/node_modules/picomatch": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
- "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
"dev": true,
"license": "MIT",
"engines": {
@@ -30585,13 +31123,13 @@
}
},
"node_modules/rollup-plugin-visualizer/node_modules/source-map": {
- "version": "0.7.4",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
- "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
+ "version": "0.7.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz",
+ "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==",
"dev": true,
"license": "BSD-3-Clause",
"engines": {
- "node": ">= 8"
+ "node": ">= 12"
}
},
"node_modules/rope-sequence": {
@@ -30729,9 +31267,9 @@
"license": "MIT"
},
"node_modules/sanitize-html": {
- "version": "2.16.0",
- "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-2.16.0.tgz",
- "integrity": "sha512-0s4caLuHHaZFVxFTG74oW91+j6vW7gKbGD6CD2+miP73CE6z6YtOBN0ArtLd2UGyi4IC7K47v3ENUbQX4jV3Mg==",
+ "version": "2.17.0",
+ "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-2.17.0.tgz",
+ "integrity": "sha512-dLAADUSS8rBwhaevT12yCezvioCA+bmUTPH/u57xKPT8d++voeYE6HeluA/bPbQ15TwDBG2ii+QZIEmYx8VdxA==",
"license": "MIT",
"dependencies": {
"deepmerge": "^4.2.2",
@@ -30785,7 +31323,6 @@
"version": "5.7.2",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
"integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
- "dev": true,
"license": "ISC",
"bin": {
"semver": "bin/semver"
@@ -30872,17 +31409,24 @@
"license": "MIT"
},
"node_modules/sha.js": {
- "version": "2.4.11",
- "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
- "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
+ "version": "2.4.12",
+ "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.12.tgz",
+ "integrity": "sha512-8LzC5+bvI45BjpfXU8V5fdU2mfeKiQe1D1gIMn7XUlF3OTUrpdJpPPH4EMAnF0DsHHdSZqCdSss5qCmJKuiO3w==",
"dev": true,
"license": "(MIT AND BSD-3-Clause)",
"dependencies": {
- "inherits": "^2.0.1",
- "safe-buffer": "^5.0.1"
+ "inherits": "^2.0.4",
+ "safe-buffer": "^5.2.1",
+ "to-buffer": "^1.2.0"
},
"bin": {
"sha.js": "bin.js"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/shebang-command": {
@@ -30907,9 +31451,9 @@
}
},
"node_modules/shell-quote": {
- "version": "1.8.2",
- "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.2.tgz",
- "integrity": "sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==",
+ "version": "1.8.3",
+ "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz",
+ "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==",
"dev": true,
"license": "MIT",
"engines": {
@@ -31165,9 +31709,9 @@
}
},
"node_modules/spdx-license-ids": {
- "version": "3.0.21",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.21.tgz",
- "integrity": "sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==",
+ "version": "3.0.22",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz",
+ "integrity": "sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==",
"dev": true,
"license": "CC0-1.0"
},
@@ -31227,6 +31771,19 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/stop-iteration-iterator": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz",
+ "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==",
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "internal-slot": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/stream-browserify": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz",
@@ -31614,10 +32171,30 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/strip-literal": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-3.0.0.tgz",
+ "integrity": "sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "js-tokens": "^9.0.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/strip-literal/node_modules/js-tokens": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz",
+ "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/strnum": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.1.2.tgz",
- "integrity": "sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/strnum/-/strnum-2.1.1.tgz",
+ "integrity": "sha512-7ZvoFTiCnGxBtDqJ//Cu6fWtZtc7Y3x+QOirG15wztbdngGSkht27o2pyGWrVy0b4WAy3jbKmnoK6g5VlVNUUw==",
"funding": [
{
"type": "github",
@@ -31644,18 +32221,18 @@
}
},
"node_modules/style-to-js": {
- "version": "1.1.16",
- "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.16.tgz",
- "integrity": "sha512-/Q6ld50hKYPH3d/r6nr117TZkHR0w0kGGIVfpG9N6D8NymRPM9RqCUv4pRpJ62E5DqOYx2AFpbZMyCPnjQCnOw==",
+ "version": "1.1.17",
+ "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.17.tgz",
+ "integrity": "sha512-xQcBGDxJb6jjFCTzvQtfiPn6YvvP2O8U1MDIPNfJQlWMYfktPy+iGsHE7cssjs7y84d9fQaK4UF3RIJaAHSoYA==",
"license": "MIT",
"dependencies": {
- "style-to-object": "1.0.8"
+ "style-to-object": "1.0.9"
}
},
"node_modules/style-to-object": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.8.tgz",
- "integrity": "sha512-xT47I/Eo0rwJmaXC4oilDGDWLohVhR6o/xAQcPQN8q6QBuZVL8qMYL85kLmST5cPjAorwvqIA4qXTRQoYHaL6g==",
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.9.tgz",
+ "integrity": "sha512-G4qppLgKu/k6FwRpHiGiKPaPTFcG3g4wNVX/Qsfu+RqQM30E7Tyu/TEgxcL9PNLF5pdRLwQdE3YKKf+KF2Dzlw==",
"license": "MIT",
"dependencies": {
"inline-style-parser": "0.2.4"
@@ -31690,9 +32267,9 @@
}
},
"node_modules/sucrase/node_modules/brace-expansion": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
- "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+ "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
"license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0"
@@ -31775,9 +32352,9 @@
"license": "MIT"
},
"node_modules/swr": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/swr/-/swr-2.3.3.tgz",
- "integrity": "sha512-dshNvs3ExOqtZ6kJBaAsabhPdHyeY4P2cKwRCniDVifBMoG/SVI7tfLWqPXriVspf2Rg4tPzXJTnwaihIeFw2A==",
+ "version": "2.3.4",
+ "resolved": "https://registry.npmjs.org/swr/-/swr-2.3.4.tgz",
+ "integrity": "sha512-bYd2lrhc+VarcpkgWclcUi92wYCpOgMws9Sd1hG1ntAu0NEy+14CbotuFjshBU2kt9rYj9TSmDcybpxpeTU1fg==",
"license": "MIT",
"dependencies": {
"dequal": "^2.0.3",
@@ -31788,14 +32365,13 @@
}
},
"node_modules/synckit": {
- "version": "0.11.4",
- "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.4.tgz",
- "integrity": "sha512-Q/XQKRaJiLiFIBNN+mndW7S/RHxvwzuZS6ZwmRzUBqJBv/5QIKCEwkBC8GBf8EQJKYnaFs0wOZbKTXBPj8L9oQ==",
+ "version": "0.11.11",
+ "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.11.tgz",
+ "integrity": "sha512-MeQTA1r0litLUf0Rp/iisCaL8761lKAZHaimlbGK4j0HysC4PLfqygQj9srcs0m2RdtDYnF8UuYyKpbjHYp7Jw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@pkgr/core": "^0.2.3",
- "tslib": "^2.8.1"
+ "@pkgr/core": "^0.2.9"
},
"engines": {
"node": "^14.18.0 || >=16.0.0"
@@ -31904,9 +32480,9 @@
}
},
"node_modules/tapable": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
- "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.2.tgz",
+ "integrity": "sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -31965,13 +32541,13 @@
}
},
"node_modules/terser": {
- "version": "5.39.0",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.39.0.tgz",
- "integrity": "sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw==",
+ "version": "5.43.1",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.43.1.tgz",
+ "integrity": "sha512-+6erLbBm0+LROX2sPXlUYx/ux5PyE9K/a92Wrt6oA+WDAoFTdpHE5tCYCI5PNzq2y8df4rA+QgHLJuR4jNymsg==",
"license": "BSD-2-Clause",
"dependencies": {
"@jridgewell/source-map": "^0.3.3",
- "acorn": "^8.8.2",
+ "acorn": "^8.14.0",
"commander": "^2.20.0",
"source-map-support": "~0.5.20"
},
@@ -32070,9 +32646,9 @@
"license": "MIT"
},
"node_modules/tinyglobby": {
- "version": "0.2.13",
- "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.13.tgz",
- "integrity": "sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==",
+ "version": "0.2.14",
+ "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz",
+ "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==",
"license": "MIT",
"dependencies": {
"fdir": "^6.4.4",
@@ -32086,9 +32662,9 @@
}
},
"node_modules/tinyglobby/node_modules/fdir": {
- "version": "6.4.4",
- "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz",
- "integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==",
+ "version": "6.4.6",
+ "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz",
+ "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==",
"license": "MIT",
"peerDependencies": {
"picomatch": "^3 || ^4"
@@ -32100,9 +32676,9 @@
}
},
"node_modules/tinyglobby/node_modules/picomatch": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
- "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
"license": "MIT",
"engines": {
"node": ">=12"
@@ -32112,9 +32688,9 @@
}
},
"node_modules/tinypool": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.0.2.tgz",
- "integrity": "sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz",
+ "integrity": "sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -32132,9 +32708,9 @@
}
},
"node_modules/tinyspy": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.2.tgz",
- "integrity": "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==",
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.3.tgz",
+ "integrity": "sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==",
"dev": true,
"license": "MIT",
"engines": {
@@ -32203,6 +32779,21 @@
"dev": true,
"license": "BSD-3-Clause"
},
+ "node_modules/to-buffer": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.2.1.tgz",
+ "integrity": "sha512-tB82LpAIWjhLYbqjx3X4zEeHN6M8CiuOEy2JY8SEQVdYRe3CCHOFaqrBW1doLDrfpWhplcW7BL+bO3/6S3pcDQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "isarray": "^2.0.5",
+ "safe-buffer": "^5.2.1",
+ "typed-array-buffer": "^1.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/to-regex-range": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
@@ -32222,9 +32813,9 @@
"license": "MIT"
},
"node_modules/token-types": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/token-types/-/token-types-6.0.0.tgz",
- "integrity": "sha512-lbDrTLVsHhOMljPscd0yitpozq7Ga2M5Cvez5AjGg8GASBjtt6iERCAJ93yommPmz62fb45oFIXHEZ3u9bfJEA==",
+ "version": "6.0.4",
+ "resolved": "https://registry.npmjs.org/token-types/-/token-types-6.0.4.tgz",
+ "integrity": "sha512-MD9MjpVNhVyH4fyd5rKphjvt/1qj+PtQUz65aFqAZA6XniWAuSFRjLk3e2VALEFlh9OwBpXUN7rfeqSnT/Fmkw==",
"license": "MIT",
"dependencies": {
"@tokenizer/token": "^0.3.0",
@@ -32283,6 +32874,42 @@
"typescript": ">=4.2.0"
}
},
+ "node_modules/ts-declaration-location": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/ts-declaration-location/-/ts-declaration-location-1.0.7.tgz",
+ "integrity": "sha512-EDyGAwH1gO0Ausm9gV6T2nUvBgXT5kGoCMJPllOaooZ+4VvJiKBdZE7wK18N1deEowhcUptS+5GXZK8U/fvpwA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "ko-fi",
+ "url": "https://ko-fi.com/rebeccastevens"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/ts-declaration-location"
+ }
+ ],
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "picomatch": "^4.0.2"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.0.0"
+ }
+ },
+ "node_modules/ts-declaration-location/node_modules/picomatch": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
"node_modules/ts-dedent": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz",
@@ -32299,21 +32926,20 @@
"license": "Apache-2.0"
},
"node_modules/ts-jest": {
- "version": "29.3.2",
- "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.3.2.tgz",
- "integrity": "sha512-bJJkrWc6PjFVz5g2DGCNUo8z7oFEYaz1xP1NpeDU7KNLMWPpEyV8Chbpkn8xjzgRDpQhnGMyvyldoL7h8JXyug==",
+ "version": "29.4.1",
+ "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.4.1.tgz",
+ "integrity": "sha512-SaeUtjfpg9Uqu8IbeDKtdaS0g8lS6FT6OzM3ezrDfErPJPHNDo/Ey+VFGP1bQIDfagYDLyRpd7O15XpG1Es2Uw==",
"dev": true,
"license": "MIT",
"dependencies": {
"bs-logger": "^0.2.6",
- "ejs": "^3.1.10",
"fast-json-stable-stringify": "^2.1.0",
- "jest-util": "^29.0.0",
+ "handlebars": "^4.7.8",
"json5": "^2.2.3",
"lodash.memoize": "^4.1.2",
"make-error": "^1.3.6",
- "semver": "^7.7.1",
- "type-fest": "^4.39.1",
+ "semver": "^7.7.2",
+ "type-fest": "^4.41.0",
"yargs-parser": "^21.1.1"
},
"bin": {
@@ -32324,10 +32950,11 @@
},
"peerDependencies": {
"@babel/core": ">=7.0.0-beta.0 <8",
- "@jest/transform": "^29.0.0",
- "@jest/types": "^29.0.0",
- "babel-jest": "^29.0.0",
- "jest": "^29.0.0",
+ "@jest/transform": "^29.0.0 || ^30.0.0",
+ "@jest/types": "^29.0.0 || ^30.0.0",
+ "babel-jest": "^29.0.0 || ^30.0.0",
+ "jest": "^29.0.0 || ^30.0.0",
+ "jest-util": "^29.0.0 || ^30.0.0",
"typescript": ">=4.3 <6"
},
"peerDependenciesMeta": {
@@ -32345,6 +32972,9 @@
},
"esbuild": {
"optional": true
+ },
+ "jest-util": {
+ "optional": true
}
}
},
@@ -32585,15 +33215,16 @@
}
},
"node_modules/typescript-eslint": {
- "version": "8.32.1",
- "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.32.1.tgz",
- "integrity": "sha512-D7el+eaDHAmXvrZBy1zpzSNIRqnCOrkwTgZxTu3MUqRWk8k0q9m9Ho4+vPf7iHtgUfrK/o8IZaEApsxPlHTFCg==",
+ "version": "8.39.0",
+ "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.39.0.tgz",
+ "integrity": "sha512-lH8FvtdtzcHJCkMOKnN73LIn6SLTpoojgJqDAxPm1jCR14eWSGPX8ul/gggBdPMk/d5+u9V854vTYQ8T5jF/1Q==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/eslint-plugin": "8.32.1",
- "@typescript-eslint/parser": "8.32.1",
- "@typescript-eslint/utils": "8.32.1"
+ "@typescript-eslint/eslint-plugin": "8.39.0",
+ "@typescript-eslint/parser": "8.39.0",
+ "@typescript-eslint/typescript-estree": "8.39.0",
+ "@typescript-eslint/utils": "8.39.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -32604,21 +33235,21 @@
},
"peerDependencies": {
"eslint": "^8.57.0 || ^9.0.0",
- "typescript": ">=4.8.4 <5.9.0"
+ "typescript": ">=4.8.4 <6.0.0"
}
},
"node_modules/typescript-eslint/node_modules/@typescript-eslint/eslint-plugin": {
- "version": "8.32.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.32.1.tgz",
- "integrity": "sha512-6u6Plg9nP/J1GRpe/vcjjabo6Uc5YQPAMxsgQyGC/I0RuukiG1wIe3+Vtg3IrSCVJDmqK3j8adrtzXSENRtFgg==",
+ "version": "8.39.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.39.0.tgz",
+ "integrity": "sha512-bhEz6OZeUR+O/6yx9Jk6ohX6H9JSFTaiY0v9/PuKT3oGK0rn0jNplLmyFUGV+a9gfYnVNwGDwS/UkLIuXNb2Rw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/regexpp": "^4.10.0",
- "@typescript-eslint/scope-manager": "8.32.1",
- "@typescript-eslint/type-utils": "8.32.1",
- "@typescript-eslint/utils": "8.32.1",
- "@typescript-eslint/visitor-keys": "8.32.1",
+ "@typescript-eslint/scope-manager": "8.39.0",
+ "@typescript-eslint/type-utils": "8.39.0",
+ "@typescript-eslint/utils": "8.39.0",
+ "@typescript-eslint/visitor-keys": "8.39.0",
"graphemer": "^1.4.0",
"ignore": "^7.0.0",
"natural-compare": "^1.4.0",
@@ -32632,22 +33263,22 @@
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
- "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0",
+ "@typescript-eslint/parser": "^8.39.0",
"eslint": "^8.57.0 || ^9.0.0",
- "typescript": ">=4.8.4 <5.9.0"
+ "typescript": ">=4.8.4 <6.0.0"
}
},
"node_modules/typescript-eslint/node_modules/@typescript-eslint/parser": {
- "version": "8.32.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.32.1.tgz",
- "integrity": "sha512-LKMrmwCPoLhM45Z00O1ulb6jwyVr2kr3XJp+G+tSEZcbauNnScewcQwtJqXDhXeYPDEjZ8C1SjXm015CirEmGg==",
+ "version": "8.39.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.39.0.tgz",
+ "integrity": "sha512-g3WpVQHngx0aLXn6kfIYCZxM6rRJlWzEkVpqEFLT3SgEDsp9cpCbxxgwnE504q4H+ruSDh/VGS6nqZIDynP+vg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/scope-manager": "8.32.1",
- "@typescript-eslint/types": "8.32.1",
- "@typescript-eslint/typescript-estree": "8.32.1",
- "@typescript-eslint/visitor-keys": "8.32.1",
+ "@typescript-eslint/scope-manager": "8.39.0",
+ "@typescript-eslint/types": "8.39.0",
+ "@typescript-eslint/typescript-estree": "8.39.0",
+ "@typescript-eslint/visitor-keys": "8.39.0",
"debug": "^4.3.4"
},
"engines": {
@@ -32659,18 +33290,18 @@
},
"peerDependencies": {
"eslint": "^8.57.0 || ^9.0.0",
- "typescript": ">=4.8.4 <5.9.0"
+ "typescript": ">=4.8.4 <6.0.0"
}
},
"node_modules/typescript-eslint/node_modules/@typescript-eslint/scope-manager": {
- "version": "8.32.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.32.1.tgz",
- "integrity": "sha512-7IsIaIDeZn7kffk7qXC3o6Z4UblZJKV3UBpkvRNpr5NSyLji7tvTcvmnMNYuYLyh26mN8W723xpo3i4MlD33vA==",
+ "version": "8.39.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.39.0.tgz",
+ "integrity": "sha512-8QOzff9UKxOh6npZQ/4FQu4mjdOCGSdO3p44ww0hk8Vu+IGbg0tB/H1LcTARRDzGCC8pDGbh2rissBuuoPgH8A==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "8.32.1",
- "@typescript-eslint/visitor-keys": "8.32.1"
+ "@typescript-eslint/types": "8.39.0",
+ "@typescript-eslint/visitor-keys": "8.39.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -32681,14 +33312,15 @@
}
},
"node_modules/typescript-eslint/node_modules/@typescript-eslint/type-utils": {
- "version": "8.32.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.32.1.tgz",
- "integrity": "sha512-mv9YpQGA8iIsl5KyUPi+FGLm7+bA4fgXaeRcFKRDRwDMu4iwrSHeDPipwueNXhdIIZltwCJv+NkxftECbIZWfA==",
+ "version": "8.39.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.39.0.tgz",
+ "integrity": "sha512-6B3z0c1DXVT2vYA9+z9axjtc09rqKUPRmijD5m9iv8iQpHBRYRMBcgxSiKTZKm6FwWw1/cI4v6em35OsKCiN5Q==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/typescript-estree": "8.32.1",
- "@typescript-eslint/utils": "8.32.1",
+ "@typescript-eslint/types": "8.39.0",
+ "@typescript-eslint/typescript-estree": "8.39.0",
+ "@typescript-eslint/utils": "8.39.0",
"debug": "^4.3.4",
"ts-api-utils": "^2.1.0"
},
@@ -32701,13 +33333,13 @@
},
"peerDependencies": {
"eslint": "^8.57.0 || ^9.0.0",
- "typescript": ">=4.8.4 <5.9.0"
+ "typescript": ">=4.8.4 <6.0.0"
}
},
"node_modules/typescript-eslint/node_modules/@typescript-eslint/types": {
- "version": "8.32.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.32.1.tgz",
- "integrity": "sha512-YmybwXUJcgGqgAp6bEsgpPXEg6dcCyPyCSr0CAAueacR/CCBi25G3V8gGQ2kRzQRBNol7VQknxMs9HvVa9Rvfg==",
+ "version": "8.39.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.39.0.tgz",
+ "integrity": "sha512-ArDdaOllnCj3yn/lzKn9s0pBQYmmyme/v1HbGIGB0GB/knFI3fWMHloC+oYTJW46tVbYnGKTMDK4ah1sC2v0Kg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -32719,14 +33351,16 @@
}
},
"node_modules/typescript-eslint/node_modules/@typescript-eslint/typescript-estree": {
- "version": "8.32.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.32.1.tgz",
- "integrity": "sha512-Y3AP9EIfYwBb4kWGb+simvPaqQoT5oJuzzj9m0i6FCY6SPvlomY2Ei4UEMm7+FXtlNJbor80ximyslzaQF6xhg==",
+ "version": "8.39.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.39.0.tgz",
+ "integrity": "sha512-ndWdiflRMvfIgQRpckQQLiB5qAKQ7w++V4LlCHwp62eym1HLB/kw7D9f2e8ytONls/jt89TEasgvb+VwnRprsw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "8.32.1",
- "@typescript-eslint/visitor-keys": "8.32.1",
+ "@typescript-eslint/project-service": "8.39.0",
+ "@typescript-eslint/tsconfig-utils": "8.39.0",
+ "@typescript-eslint/types": "8.39.0",
+ "@typescript-eslint/visitor-keys": "8.39.0",
"debug": "^4.3.4",
"fast-glob": "^3.3.2",
"is-glob": "^4.0.3",
@@ -32742,20 +33376,20 @@
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
- "typescript": ">=4.8.4 <5.9.0"
+ "typescript": ">=4.8.4 <6.0.0"
}
},
"node_modules/typescript-eslint/node_modules/@typescript-eslint/utils": {
- "version": "8.32.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.32.1.tgz",
- "integrity": "sha512-DsSFNIgLSrc89gpq1LJB7Hm1YpuhK086DRDJSNrewcGvYloWW1vZLHBTIvarKZDcAORIy/uWNx8Gad+4oMpkSA==",
+ "version": "8.39.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.39.0.tgz",
+ "integrity": "sha512-4GVSvNA0Vx1Ktwvf4sFE+exxJ3QGUorQG1/A5mRfRNZtkBT2xrA/BCO2H0eALx/PnvCS6/vmYwRdDA41EoffkQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.7.0",
- "@typescript-eslint/scope-manager": "8.32.1",
- "@typescript-eslint/types": "8.32.1",
- "@typescript-eslint/typescript-estree": "8.32.1"
+ "@typescript-eslint/scope-manager": "8.39.0",
+ "@typescript-eslint/types": "8.39.0",
+ "@typescript-eslint/typescript-estree": "8.39.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -32766,18 +33400,18 @@
},
"peerDependencies": {
"eslint": "^8.57.0 || ^9.0.0",
- "typescript": ">=4.8.4 <5.9.0"
+ "typescript": ">=4.8.4 <6.0.0"
}
},
"node_modules/typescript-eslint/node_modules/@typescript-eslint/visitor-keys": {
- "version": "8.32.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.32.1.tgz",
- "integrity": "sha512-ar0tjQfObzhSaW3C3QNmTc5ofj0hDoNQ5XWrCy6zDyabdr0TWhCkClp+rywGNj/odAFBVzzJrK4tEq5M4Hmu4w==",
+ "version": "8.39.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.39.0.tgz",
+ "integrity": "sha512-ldgiJ+VAhQCfIjeOgu8Kj5nSxds0ktPOSO9p4+0VDH2R2pLvQraaM5Oen2d7NxzMCm+Sn/vJT+mv2H5u6b/3fA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "8.32.1",
- "eslint-visitor-keys": "^4.2.0"
+ "@typescript-eslint/types": "8.39.0",
+ "eslint-visitor-keys": "^4.2.1"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -32788,9 +33422,9 @@
}
},
"node_modules/typescript-eslint/node_modules/brace-expansion": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
- "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+ "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -32798,9 +33432,9 @@
}
},
"node_modules/typescript-eslint/node_modules/eslint-visitor-keys": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz",
- "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==",
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
+ "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
"dev": true,
"license": "Apache-2.0",
"engines": {
@@ -32811,9 +33445,9 @@
}
},
"node_modules/typescript-eslint/node_modules/ignore": {
- "version": "7.0.4",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.4.tgz",
- "integrity": "sha512-gJzzk+PQNznz8ysRrC0aOkBNVRBDtE1n53IqyqEf3PXrYwomFs5q4pGMizBMJF+ykh03insJ27hB8gSrD2Hn8A==",
+ "version": "7.0.5",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz",
+ "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -32874,6 +33508,20 @@
"integrity": "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==",
"license": "MIT"
},
+ "node_modules/uglify-js": {
+ "version": "3.19.3",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz",
+ "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "optional": true,
+ "bin": {
+ "uglifyjs": "bin/uglifyjs"
+ },
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
"node_modules/uint8array-extras": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/uint8array-extras/-/uint8array-extras-1.4.0.tgz",
@@ -32914,10 +33562,9 @@
}
},
"node_modules/undici-types": {
- "version": "6.19.8",
- "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz",
- "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==",
- "devOptional": true,
+ "version": "6.21.0",
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
+ "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
"license": "MIT"
},
"node_modules/unicode-canonical-property-names-ecmascript": {
@@ -33202,9 +33849,9 @@
}
},
"node_modules/use-debounce": {
- "version": "10.0.4",
- "resolved": "https://registry.npmjs.org/use-debounce/-/use-debounce-10.0.4.tgz",
- "integrity": "sha512-6Cf7Yr7Wk7Kdv77nnJMf6de4HuDE4dTxKij+RqE9rufDsI6zsbjyAxcH5y2ueJCQAnfgKbzXbZHYlkFwmBlWkw==",
+ "version": "10.0.5",
+ "resolved": "https://registry.npmjs.org/use-debounce/-/use-debounce-10.0.5.tgz",
+ "integrity": "sha512-Q76E3lnIV+4YT9AHcrHEHYmAd9LKwUAbPXDm7FlqVGDHiSOhX3RDjT8dm0AxbJup6WgOb1YEcKyCr11kBJR5KQ==",
"license": "MIT",
"engines": {
"node": ">= 16.0.0"
@@ -33214,9 +33861,9 @@
}
},
"node_modules/use-isomorphic-layout-effect": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.2.0.tgz",
- "integrity": "sha512-q6ayo8DWoPZT0VdG4u3D3uxcgONP3Mevx2i2b0434cwWBoL+aelL1DzkXI6w3PhTZzUeR2kaVlZn70iCiseP6w==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.2.1.tgz",
+ "integrity": "sha512-tpZZ+EX0gaghDAiFR37hj5MgY6ZN55kLiPkJsKxBMZ6GZdOSPJXiOzPM984oPYZ5AnehYx5WQp1+ME8I/P/pRA==",
"license": "MIT",
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
@@ -33353,9 +34000,9 @@
}
},
"node_modules/vfile-message": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz",
- "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==",
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz",
+ "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==",
"license": "MIT",
"dependencies": {
"@types/unist": "^3.0.0",
@@ -33463,17 +34110,17 @@
}
},
"node_modules/vite-node": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.1.3.tgz",
- "integrity": "sha512-uHV4plJ2IxCl4u1up1FQRrqclylKAogbtBfOTwcuJ28xFi+89PZ57BRh+naIRvH70HPwxy5QHYzg1OrEaC7AbA==",
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.2.4.tgz",
+ "integrity": "sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==",
"dev": true,
"license": "MIT",
"dependencies": {
"cac": "^6.7.14",
- "debug": "^4.4.0",
+ "debug": "^4.4.1",
"es-module-lexer": "^1.7.0",
"pathe": "^2.0.3",
- "vite": "^5.0.0 || ^6.0.0"
+ "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0"
},
"bin": {
"vite-node": "vite-node.mjs"
@@ -33548,9 +34195,9 @@
}
},
"node_modules/vite-plugin-svgr/node_modules/@rollup/pluginutils": {
- "version": "5.1.4",
- "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.4.tgz",
- "integrity": "sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.2.0.tgz",
+ "integrity": "sha512-qWJ2ZTbmumwiLFomfzTyt5Kng4hwPi9rwCYN4SHb6eaRU1KNO4ccxINHr/VhH4GgPlt1XfSTLX2LBTme8ne4Zw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -33571,9 +34218,9 @@
}
},
"node_modules/vite-plugin-svgr/node_modules/picomatch": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
- "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
"dev": true,
"license": "MIT",
"engines": {
@@ -33583,10 +34230,38 @@
"url": "https://github.com/sponsors/jonschlinkert"
}
},
+ "node_modules/vite-plugin-webfont-dl": {
+ "version": "3.11.1",
+ "resolved": "https://registry.npmjs.org/vite-plugin-webfont-dl/-/vite-plugin-webfont-dl-3.11.1.tgz",
+ "integrity": "sha512-5eQaMn3mJ0qNnL64R6wZouh0I4zkvK8aS+GsoCDLY4WYfWCYvNpf6TyauxEsMlbwwfznkKjXTd1DNBGs4fKAhQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "axios": "^1",
+ "clean-css": "^5",
+ "flat-cache": "^6",
+ "picocolors": "^1"
+ },
+ "peerDependencies": {
+ "vite": "^2 || ^3 || ^4 || ^5 || ^6 || ^7"
+ }
+ },
+ "node_modules/vite-plugin-webfont-dl/node_modules/flat-cache": {
+ "version": "6.1.12",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-6.1.12.tgz",
+ "integrity": "sha512-U+HqqpZPPXP5d24bWuRzjGqVqUcw64k4nZAbruniDwdRg0H10tvN7H6ku1tjhA4rg5B9GS3siEvwO2qjJJ6f8Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cacheable": "^1.10.3",
+ "flatted": "^3.3.3",
+ "hookified": "^1.10.0"
+ }
+ },
"node_modules/vite/node_modules/fdir": {
- "version": "6.4.4",
- "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz",
- "integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==",
+ "version": "6.4.6",
+ "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz",
+ "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==",
"license": "MIT",
"peerDependencies": {
"picomatch": "^3 || ^4"
@@ -33612,9 +34287,9 @@
}
},
"node_modules/vite/node_modules/picomatch": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
- "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
"license": "MIT",
"engines": {
"node": ">=12"
@@ -33624,32 +34299,34 @@
}
},
"node_modules/vitest": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.1.3.tgz",
- "integrity": "sha512-188iM4hAHQ0km23TN/adso1q5hhwKqUpv+Sd6p5sOuh6FhQnRNW3IsiIpvxqahtBabsJ2SLZgmGSpcYK4wQYJw==",
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.2.4.tgz",
+ "integrity": "sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vitest/expect": "3.1.3",
- "@vitest/mocker": "3.1.3",
- "@vitest/pretty-format": "^3.1.3",
- "@vitest/runner": "3.1.3",
- "@vitest/snapshot": "3.1.3",
- "@vitest/spy": "3.1.3",
- "@vitest/utils": "3.1.3",
+ "@types/chai": "^5.2.2",
+ "@vitest/expect": "3.2.4",
+ "@vitest/mocker": "3.2.4",
+ "@vitest/pretty-format": "^3.2.4",
+ "@vitest/runner": "3.2.4",
+ "@vitest/snapshot": "3.2.4",
+ "@vitest/spy": "3.2.4",
+ "@vitest/utils": "3.2.4",
"chai": "^5.2.0",
- "debug": "^4.4.0",
+ "debug": "^4.4.1",
"expect-type": "^1.2.1",
"magic-string": "^0.30.17",
"pathe": "^2.0.3",
+ "picomatch": "^4.0.2",
"std-env": "^3.9.0",
"tinybench": "^2.9.0",
"tinyexec": "^0.3.2",
- "tinyglobby": "^0.2.13",
- "tinypool": "^1.0.2",
+ "tinyglobby": "^0.2.14",
+ "tinypool": "^1.1.1",
"tinyrainbow": "^2.0.0",
- "vite": "^5.0.0 || ^6.0.0",
- "vite-node": "3.1.3",
+ "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0",
+ "vite-node": "3.2.4",
"why-is-node-running": "^2.3.0"
},
"bin": {
@@ -33665,8 +34342,8 @@
"@edge-runtime/vm": "*",
"@types/debug": "^4.1.12",
"@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0",
- "@vitest/browser": "3.1.3",
- "@vitest/ui": "3.1.3",
+ "@vitest/browser": "3.2.4",
+ "@vitest/ui": "3.2.4",
"happy-dom": "*",
"jsdom": "*"
},
@@ -33694,6 +34371,19 @@
}
}
},
+ "node_modules/vitest/node_modules/picomatch": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
"node_modules/vitest/node_modules/tinyexec": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz",
@@ -33945,6 +34635,13 @@
"node": ">=0.10.0"
}
},
+ "node_modules/wordwrap": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
+ "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/workbox-background-sync": {
"version": "7.3.0",
"resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-7.3.0.tgz",
@@ -34162,6 +34859,7 @@
"version": "0.8.0-beta.0",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz",
"integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==",
+ "deprecated": "The work that was done in this beta branch won't be included in future versions",
"license": "BSD-3-Clause",
"dependencies": {
"whatwg-url": "^7.0.0"
@@ -34486,9 +35184,9 @@
"license": "ISC"
},
"node_modules/ws": {
- "version": "8.18.2",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.2.tgz",
- "integrity": "sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==",
+ "version": "8.18.3",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz",
+ "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==",
"license": "MIT",
"engines": {
"node": ">=10.0.0"
@@ -34542,15 +35240,15 @@
"license": "ISC"
},
"node_modules/yaml": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.1.tgz",
- "integrity": "sha512-10ULxpnOCQXxJvBgxsn9ptjq6uviG/htZKk9veJGhlqn3w/DxQ631zFF+nlQXLwmImeS5amR2dl2U8sg6U9jsQ==",
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz",
+ "integrity": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==",
"license": "ISC",
"bin": {
"yaml": "bin.mjs"
},
"engines": {
- "node": ">= 14"
+ "node": ">= 14.6"
}
},
"node_modules/yaml-eslint-parser": {
@@ -34678,18 +35376,18 @@
}
},
"node_modules/zod": {
- "version": "3.24.4",
- "resolved": "https://registry.npmjs.org/zod/-/zod-3.24.4.tgz",
- "integrity": "sha512-OdqJE9UDRPwWsrHjLN2F8bPxvwJBK22EHLWtanu0LSYr5YqzsaaW3RMgmjwr8Rypg5k+meEJdSPXJZXE/yqOMg==",
+ "version": "3.25.76",
+ "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz",
+ "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==",
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/colinhacks"
}
},
"node_modules/zustand": {
- "version": "4.5.6",
- "resolved": "https://registry.npmjs.org/zustand/-/zustand-4.5.6.tgz",
- "integrity": "sha512-ibr/n1hBzLLj5Y+yUcU7dYw8p6WnIVzdJbnX+1YpaScvZVF2ziugqHs+LAmHw4lWO9c/zRj+K1ncgWDQuthEdQ==",
+ "version": "4.5.7",
+ "resolved": "https://registry.npmjs.org/zustand/-/zustand-4.5.7.tgz",
+ "integrity": "sha512-CHOUy7mu3lbD6o6LJLfllpjkzhHXSBlX8B9+qPddUsIfeF5S/UZ5q0kmCsnRqT1UHFQZchNFDDzMbQsuesHWlw==",
"license": "MIT",
"dependencies": {
"use-sync-external-store": "^1.2.2"
@@ -34730,6 +35428,8 @@
"@aws-cdk/aws-lambda-python-alpha": "^2.154.1-alpha.0",
"@aws-sdk/client-bedrock-agent": "^3.755.0",
"@aws-sdk/client-bedrock-agent-runtime": "^3.755.0",
+ "@aws-sdk/client-bedrock-agentcore": "^3.755.0",
+ "@aws-sdk/client-bedrock-agentcore-control": "^3.755.0",
"@aws-sdk/client-bedrock-runtime": "^3.755.0",
"@aws-sdk/client-dynamodb": "^3.755.0",
"@aws-sdk/client-kendra": "^3.755.0",
@@ -34804,6 +35504,7 @@
"dependencies": {
"@aws-amplify/ui-react": "^6.1.12",
"@aws-crypto/sha256-js": "^5.2.0",
+ "@aws-sdk/client-bedrock-agentcore": "^3.755.0",
"@aws-sdk/client-cognito-identity": "^3.755.0",
"@aws-sdk/client-kendra": "^3.755.0",
"@aws-sdk/client-lambda": "^3.755.0",
@@ -34899,6 +35600,7 @@
"vite": "^6.3.4",
"vite-plugin-node-polyfills": "^0.23.0",
"vite-plugin-svgr": "^4.2.0",
+ "vite-plugin-webfont-dl": "^3.11.1",
"vitest": "^3.0.7"
}
}
diff --git a/packages/cdk/.eslintrc.cjs b/packages/cdk/.eslintrc.cjs
index e3461b171..71f92c755 100644
--- a/packages/cdk/.eslintrc.cjs
+++ b/packages/cdk/.eslintrc.cjs
@@ -5,7 +5,7 @@ module.exports = {
'plugin:@typescript-eslint/eslint-recommended',
'plugin:@typescript-eslint/recommended',
],
- ignorePatterns: ['cdk.out', '.eslintrc.cjs'],
+ ignorePatterns: ['cdk.out', '.eslintrc.cjs', 'custom-resources/**', 'dist'],
parser: '@typescript-eslint/parser',
parserOptions: {
project: './tsconfig.json',
diff --git a/packages/cdk/.gitignore b/packages/cdk/.gitignore
index 53ee0de10..ee0357ea7 100644
--- a/packages/cdk/.gitignore
+++ b/packages/cdk/.gitignore
@@ -1,5 +1,4 @@
*.js
-!jest.config.js
*.d.ts
node_modules
**/__pycache__/**
@@ -7,4 +6,4 @@ node_modules
# CDK asset staging directory
.cdk.staging
cdk.out
-!custom-resources/*.js
+!custom-resources/**/*.js
diff --git a/packages/cdk/bin/generative-ai-use-cases.ts b/packages/cdk/bin/generative-ai-use-cases.ts
index a021f3d0a..3cb3149e3 100644
--- a/packages/cdk/bin/generative-ai-use-cases.ts
+++ b/packages/cdk/bin/generative-ai-use-cases.ts
@@ -3,7 +3,14 @@ import 'source-map-support/register';
import * as cdk from 'aws-cdk-lib';
import { getParams } from '../parameter';
import { createStacks } from '../lib/create-stacks';
+import { TAG_KEY } from '../consts';
const app = new cdk.App();
const params = getParams(app);
+if (params.tagValue) {
+ cdk.Tags.of(app).add(TAG_KEY, params.tagValue, {
+ // Exclude OpenSearchServerless Collection from tagging
+ excludeResourceTypes: ['AWS::OpenSearchServerless::Collection'],
+ });
+}
createStacks(app, params);
diff --git a/packages/cdk/cdk.json b/packages/cdk/cdk.json
index 846abfd64..b08f6426d 100644
--- a/packages/cdk/cdk.json
+++ b/packages/cdk/cdk.json
@@ -16,6 +16,7 @@
},
"context": {
"env": "",
+ "tagValue": null,
"ragEnabled": false,
"kendraIndexArn": null,
"kendraIndexLanguage": "ja",
@@ -62,6 +63,8 @@
"inlineAgents": false,
"mcpEnabled": false,
"flows": [],
+ "createGenericAgentCoreRuntime": false,
+ "agentCoreExternalRuntimes": [],
"allowedIpV4AddressRanges": null,
"allowedIpV6AddressRanges": null,
"allowedCountryCodes": null,
@@ -73,6 +76,13 @@
"guardrailEnabled": false,
"crossAccountBedrockRoleArn": "",
"useCaseBuilderEnabled": true,
+ "closedNetworkMode": false,
+ "closedNetworkAppIpv4Cidr": "10.0.0.0/16",
+ "closedNetworkUserIpv4Cidr": "10.1.0.0/16",
+ "closedNetworkCertificateArn": null,
+ "closedNetworkDomainName": null,
+ "closedNetworkCreateTestEnvironment": true,
+ "closedNetworkCreateResolverEndpoint": true,
"@aws-cdk/aws-lambda:recognizeLayerVersion": true,
"@aws-cdk/core:checkSecretUsage": true,
"@aws-cdk/core:target-partitions": ["aws", "aws-cn"],
diff --git a/packages/cdk/consts.ts b/packages/cdk/consts.ts
index 50b448057..4559facf2 100644
--- a/packages/cdk/consts.ts
+++ b/packages/cdk/consts.ts
@@ -1,3 +1,5 @@
import * as lambda from 'aws-cdk-lib/aws-lambda';
export const LAMBDA_RUNTIME_NODEJS = lambda.Runtime.NODEJS_22_X;
+
+export const TAG_KEY = 'GenU';
diff --git a/packages/cdk/custom-resources/agent-core-runtime/.gitignore b/packages/cdk/custom-resources/agent-core-runtime/.gitignore
new file mode 100644
index 000000000..9cf4150d3
--- /dev/null
+++ b/packages/cdk/custom-resources/agent-core-runtime/.gitignore
@@ -0,0 +1,28 @@
+# TypeScript compilation outputs
+*.js
+*.d.ts
+*.js.map
+
+# Dependencies
+node_modules/
+
+# Logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+
+# Runtime data
+pids
+*.pid
+*.seed
+*.pid.lock
+
+# Coverage directory used by tools like istanbul
+coverage/
+
+# Editor directories and files
+.vscode/
+.idea/
+*.swp
+*.swo
\ No newline at end of file
diff --git a/packages/cdk/custom-resources/agent-core-runtime/index.ts b/packages/cdk/custom-resources/agent-core-runtime/index.ts
new file mode 100644
index 000000000..d896f9039
--- /dev/null
+++ b/packages/cdk/custom-resources/agent-core-runtime/index.ts
@@ -0,0 +1,301 @@
+import {
+ BedrockAgentCoreControlClient,
+ CreateAgentRuntimeCommand,
+ UpdateAgentRuntimeCommand,
+ DeleteAgentRuntimeCommand,
+ CreateAgentRuntimeRequest,
+ UpdateAgentRuntimeRequest,
+} from '@aws-sdk/client-bedrock-agentcore-control';
+
+// Types for Custom Resource
+interface CloudFormationCustomResourceEvent {
+ RequestType: 'Create' | 'Update' | 'Delete';
+ ResponseURL: string;
+ StackId: string;
+ RequestId: string;
+ ResourceType: string;
+ LogicalResourceId: string;
+ ResourceProperties: {
+ AgentCoreRuntimeName: string;
+ RoleArn: string;
+ NetworkMode: string;
+ ServerProtocol: string;
+ CustomConfig: Record;
+ };
+ PhysicalResourceId?: string;
+}
+
+interface AgentCoreRuntimeConfig {
+ name: string;
+ roleArn: string;
+ networkMode: string;
+ serverProtocol: string;
+ containerImageUri: string;
+ environmentVariables?: Record;
+}
+
+interface CustomResourceResponse {
+ PhysicalResourceId: string;
+ Data?: {
+ AgentCoreRuntimeId: string;
+ AgentCoreRuntimeArn: string;
+ };
+}
+
+/**
+ * Create AgentCore Runtime using AWS SDK
+ */
+async function createAgentRuntime(
+ client: BedrockAgentCoreControlClient,
+ config: AgentCoreRuntimeConfig
+): Promise<{ agentRuntimeId: string; agentRuntimeArn: string }> {
+ console.log(`Creating AgentCore Runtime: ${config.name}`);
+
+ if (!config.containerImageUri) {
+ throw new Error('containerImageUri is required for AgentCore Runtime');
+ }
+ if (!config.serverProtocol) {
+ throw new Error('serverProtocol is required for AgentCore Runtime');
+ }
+
+ const createParams: CreateAgentRuntimeRequest = {
+ agentRuntimeName: config.name,
+ agentRuntimeArtifact: {
+ containerConfiguration: {
+ containerUri: config.containerImageUri,
+ },
+ },
+ roleArn: config.roleArn,
+ networkConfiguration: {
+ networkMode: (config.networkMode === 'DEFAULT'
+ ? 'PUBLIC'
+ : config.networkMode) as any,
+ },
+ protocolConfiguration: {
+ serverProtocol: config.serverProtocol as any,
+ },
+ ...(config.environmentVariables && {
+ environmentVariables: config.environmentVariables,
+ }),
+ };
+
+ console.log('Create parameters:', JSON.stringify(createParams, null, 2));
+
+ const command = new CreateAgentRuntimeCommand(createParams);
+ const response = await client.send(command);
+
+ if (!response.agentRuntimeId || !response.agentRuntimeArn) {
+ throw new Error(
+ 'Failed to create AgentCore Runtime - missing ID or ARN in response'
+ );
+ }
+
+ console.log(
+ `Successfully created AgentCore Runtime: ${response.agentRuntimeId}`
+ );
+
+ return {
+ agentRuntimeId: response.agentRuntimeId,
+ agentRuntimeArn: response.agentRuntimeArn,
+ };
+}
+
+/**
+ * Update AgentCore Runtime using AWS SDK
+ */
+async function updateAgentRuntime(
+ client: BedrockAgentCoreControlClient,
+ agentRuntimeId: string,
+ config: AgentCoreRuntimeConfig
+): Promise<{ agentRuntimeId: string; agentRuntimeArn: string }> {
+ console.log(`Updating AgentCore Runtime: ${agentRuntimeId}`);
+
+ if (!config.containerImageUri) {
+ throw new Error(
+ 'containerImageUri is required for AgentCore Runtime update'
+ );
+ }
+ if (!config.serverProtocol) {
+ throw new Error('serverProtocol is required for AgentCore Runtime update');
+ }
+
+ const updateParams: UpdateAgentRuntimeRequest = {
+ agentRuntimeId,
+ agentRuntimeArtifact: {
+ containerConfiguration: {
+ containerUri: config.containerImageUri,
+ },
+ },
+ roleArn: config.roleArn,
+ networkConfiguration: {
+ networkMode: (config.networkMode === 'DEFAULT'
+ ? 'PUBLIC'
+ : config.networkMode) as any,
+ },
+ protocolConfiguration: {
+ serverProtocol: config.serverProtocol as any,
+ },
+ ...(config.environmentVariables && {
+ environmentVariables: config.environmentVariables,
+ }),
+ };
+
+ console.log('Update parameters:', JSON.stringify(updateParams, null, 2));
+
+ const command = new UpdateAgentRuntimeCommand(updateParams);
+ const response = await client.send(command);
+
+ console.log(`Successfully updated AgentCore Runtime: ${agentRuntimeId}`);
+
+ return {
+ agentRuntimeId,
+ agentRuntimeArn:
+ response.agentRuntimeArn ||
+ `arn:aws:bedrock-agentcore:${process.env.AWS_REGION}:${process.env.AWS_ACCOUNT_ID}:runtime/${agentRuntimeId}`,
+ };
+}
+
+/**
+ * Delete AgentCore Runtime using AWS SDK
+ */
+async function deleteAgentRuntime(
+ client: BedrockAgentCoreControlClient,
+ agentRuntimeId: string
+): Promise {
+ console.log(`Deleting AgentCore Runtime: ${agentRuntimeId}`);
+
+ try {
+ const deleteParams = { agentRuntimeId };
+ const command = new DeleteAgentRuntimeCommand(deleteParams);
+ await client.send(command);
+ console.log(`Successfully deleted AgentCore Runtime: ${agentRuntimeId}`);
+ } catch (error: any) {
+ console.log(`Delete error for AgentCore Runtime ${agentRuntimeId}:`, error);
+
+ // Simplified error handling: Only handle resource not found
+ if (
+ error.name === 'ResourceNotFoundException' ||
+ error.message?.includes('not found') ||
+ error.message?.includes('does not exist')
+ ) {
+ console.log(
+ `AgentCore Runtime ${agentRuntimeId} already deleted or not found`
+ );
+ return; // Success case
+ }
+
+ // For all other errors, let them bubble up
+ // CloudFormation will handle resource abandonment as designed
+ throw error;
+ }
+}
+
+/**
+ * Main Lambda handler for CustomResource using Provider Framework
+ */
+export async function handler(
+ event: CloudFormationCustomResourceEvent
+): Promise {
+ console.log('Received event:', JSON.stringify(event, null, 2));
+
+ const { RequestType, ResourceProperties, PhysicalResourceId } = event;
+ const {
+ AgentCoreRuntimeName: agentRuntimeName,
+ CustomConfig: customConfig = {},
+ RoleArn: roleArn,
+ NetworkMode: networkMode,
+ ServerProtocol: serverProtocol,
+ } = ResourceProperties;
+
+ // Extract configuration
+ const config: AgentCoreRuntimeConfig = {
+ name: agentRuntimeName,
+ roleArn,
+ networkMode,
+ serverProtocol,
+ containerImageUri: (customConfig as any).containerImageUri,
+ environmentVariables: (customConfig as any).environmentVariables,
+ };
+
+ const client = new BedrockAgentCoreControlClient({
+ region: process.env.AWS_REGION,
+ });
+
+ try {
+ switch (RequestType) {
+ case 'Create': {
+ const { agentRuntimeId, agentRuntimeArn } = await createAgentRuntime(
+ client,
+ config
+ );
+
+ return {
+ PhysicalResourceId: agentRuntimeId,
+ Data: {
+ AgentCoreRuntimeId: agentRuntimeId,
+ AgentCoreRuntimeArn: agentRuntimeArn,
+ },
+ };
+ }
+
+ case 'Update': {
+ if (!PhysicalResourceId) {
+ throw new Error('PhysicalResourceId is required for Update');
+ }
+
+ const { agentRuntimeId, agentRuntimeArn } = await updateAgentRuntime(
+ client,
+ PhysicalResourceId,
+ config
+ );
+
+ return {
+ PhysicalResourceId: agentRuntimeId,
+ Data: {
+ AgentCoreRuntimeId: agentRuntimeId,
+ AgentCoreRuntimeArn: agentRuntimeArn,
+ },
+ };
+ }
+
+ case 'Delete': {
+ console.log(
+ `Processing Delete request for PhysicalResourceId: ${PhysicalResourceId}`
+ );
+
+ // Simple validation: Only process if we have a valid resource ID
+ if (
+ !PhysicalResourceId ||
+ PhysicalResourceId === 'deleted' ||
+ PhysicalResourceId === 'failed'
+ ) {
+ console.log(`No valid resource to delete: ${PhysicalResourceId}`);
+ return {
+ PhysicalResourceId: PhysicalResourceId || 'deleted',
+ };
+ }
+
+ // Simple delete operation - let errors bubble up naturally
+ await deleteAgentRuntime(client, PhysicalResourceId);
+
+ return {
+ PhysicalResourceId: PhysicalResourceId,
+ };
+ }
+
+ default:
+ throw new Error(`Unknown request type: ${RequestType}`);
+ }
+ } catch (error) {
+ console.error('Error processing request:', error);
+ console.log('Request details:', {
+ RequestType,
+ PhysicalResourceId,
+ LogicalResourceId: event.LogicalResourceId,
+ });
+
+ // Simple error handling: Re-throw the error
+ // Provider Framework will handle CloudFormation response
+ throw error;
+ }
+}
diff --git a/packages/cdk/custom-resources/agent-core-runtime/package-lock.json b/packages/cdk/custom-resources/agent-core-runtime/package-lock.json
new file mode 100644
index 000000000..014820610
--- /dev/null
+++ b/packages/cdk/custom-resources/agent-core-runtime/package-lock.json
@@ -0,0 +1,1318 @@
+{
+ "name": "agent-core-runtime-custom-resource",
+ "version": "1.0.0",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "agent-core-runtime-custom-resource",
+ "version": "1.0.0",
+ "dependencies": {
+ "@aws-sdk/client-bedrock-agentcore-control": "^3.755.0"
+ },
+ "devDependencies": {
+ "@types/node": "^20.0.0",
+ "typescript": "^5.0.0"
+ }
+ },
+ "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==",
+ "license": "Apache-2.0",
+ "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-crypto/sha256-browser/node_modules/@smithy/is-array-buffer": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz",
+ "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-buffer-from": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz",
+ "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/is-array-buffer": "^2.2.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "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==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/util-buffer-from": "^2.2.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "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==",
+ "license": "Apache-2.0",
+ "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-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==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.6.2"
+ }
+ },
+ "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==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/types": "^3.222.0",
+ "@smithy/util-utf8": "^2.0.0",
+ "tslib": "^2.6.2"
+ }
+ },
+ "node_modules/@aws-crypto/util/node_modules/@smithy/is-array-buffer": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz",
+ "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@aws-crypto/util/node_modules/@smithy/util-buffer-from": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz",
+ "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/is-array-buffer": "^2.2.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "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==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/util-buffer-from": "^2.2.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-bedrock-agentcore-control": {
+ "version": "3.848.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-bedrock-agentcore-control/-/client-bedrock-agentcore-control-3.848.0.tgz",
+ "integrity": "sha512-mePD3XiAHt1Jc2d0A6wJa00IXGiHEIJKobYpSwmR18w5O47reOVf2PANkTC2t9nQ7LwfZQ5VI5eYLfpI2Gn3DA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-crypto/sha256-browser": "5.2.0",
+ "@aws-crypto/sha256-js": "5.2.0",
+ "@aws-sdk/core": "3.846.0",
+ "@aws-sdk/credential-provider-node": "3.848.0",
+ "@aws-sdk/middleware-host-header": "3.840.0",
+ "@aws-sdk/middleware-logger": "3.840.0",
+ "@aws-sdk/middleware-recursion-detection": "3.840.0",
+ "@aws-sdk/middleware-user-agent": "3.848.0",
+ "@aws-sdk/region-config-resolver": "3.840.0",
+ "@aws-sdk/types": "3.840.0",
+ "@aws-sdk/util-endpoints": "3.848.0",
+ "@aws-sdk/util-user-agent-browser": "3.840.0",
+ "@aws-sdk/util-user-agent-node": "3.848.0",
+ "@smithy/config-resolver": "^4.1.4",
+ "@smithy/core": "^3.7.0",
+ "@smithy/fetch-http-handler": "^5.1.0",
+ "@smithy/hash-node": "^4.0.4",
+ "@smithy/invalid-dependency": "^4.0.4",
+ "@smithy/middleware-content-length": "^4.0.4",
+ "@smithy/middleware-endpoint": "^4.1.15",
+ "@smithy/middleware-retry": "^4.1.16",
+ "@smithy/middleware-serde": "^4.0.8",
+ "@smithy/middleware-stack": "^4.0.4",
+ "@smithy/node-config-provider": "^4.1.3",
+ "@smithy/node-http-handler": "^4.1.0",
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/smithy-client": "^4.4.7",
+ "@smithy/types": "^4.3.1",
+ "@smithy/url-parser": "^4.0.4",
+ "@smithy/util-base64": "^4.0.0",
+ "@smithy/util-body-length-browser": "^4.0.0",
+ "@smithy/util-body-length-node": "^4.0.0",
+ "@smithy/util-defaults-mode-browser": "^4.0.23",
+ "@smithy/util-defaults-mode-node": "^4.0.23",
+ "@smithy/util-endpoints": "^3.0.6",
+ "@smithy/util-middleware": "^4.0.4",
+ "@smithy/util-retry": "^4.0.6",
+ "@smithy/util-utf8": "^4.0.0",
+ "@smithy/util-waiter": "^4.0.6",
+ "@types/uuid": "^9.0.1",
+ "tslib": "^2.6.2",
+ "uuid": "^9.0.1"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-sso": {
+ "version": "3.848.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.848.0.tgz",
+ "integrity": "sha512-mD+gOwoeZQvbecVLGoCmY6pS7kg02BHesbtIxUj+PeBqYoZV5uLvjUOmuGfw1SfoSobKvS11urxC9S7zxU/Maw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-crypto/sha256-browser": "5.2.0",
+ "@aws-crypto/sha256-js": "5.2.0",
+ "@aws-sdk/core": "3.846.0",
+ "@aws-sdk/middleware-host-header": "3.840.0",
+ "@aws-sdk/middleware-logger": "3.840.0",
+ "@aws-sdk/middleware-recursion-detection": "3.840.0",
+ "@aws-sdk/middleware-user-agent": "3.848.0",
+ "@aws-sdk/region-config-resolver": "3.840.0",
+ "@aws-sdk/types": "3.840.0",
+ "@aws-sdk/util-endpoints": "3.848.0",
+ "@aws-sdk/util-user-agent-browser": "3.840.0",
+ "@aws-sdk/util-user-agent-node": "3.848.0",
+ "@smithy/config-resolver": "^4.1.4",
+ "@smithy/core": "^3.7.0",
+ "@smithy/fetch-http-handler": "^5.1.0",
+ "@smithy/hash-node": "^4.0.4",
+ "@smithy/invalid-dependency": "^4.0.4",
+ "@smithy/middleware-content-length": "^4.0.4",
+ "@smithy/middleware-endpoint": "^4.1.15",
+ "@smithy/middleware-retry": "^4.1.16",
+ "@smithy/middleware-serde": "^4.0.8",
+ "@smithy/middleware-stack": "^4.0.4",
+ "@smithy/node-config-provider": "^4.1.3",
+ "@smithy/node-http-handler": "^4.1.0",
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/smithy-client": "^4.4.7",
+ "@smithy/types": "^4.3.1",
+ "@smithy/url-parser": "^4.0.4",
+ "@smithy/util-base64": "^4.0.0",
+ "@smithy/util-body-length-browser": "^4.0.0",
+ "@smithy/util-body-length-node": "^4.0.0",
+ "@smithy/util-defaults-mode-browser": "^4.0.23",
+ "@smithy/util-defaults-mode-node": "^4.0.23",
+ "@smithy/util-endpoints": "^3.0.6",
+ "@smithy/util-middleware": "^4.0.4",
+ "@smithy/util-retry": "^4.0.6",
+ "@smithy/util-utf8": "^4.0.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/core": {
+ "version": "3.846.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.846.0.tgz",
+ "integrity": "sha512-7CX0pM906r4WSS68fCTNMTtBCSkTtf3Wggssmx13gD40gcWEZXsU00KzPp1bYheNRyPlAq3rE22xt4wLPXbuxA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/types": "3.840.0",
+ "@aws-sdk/xml-builder": "3.821.0",
+ "@smithy/core": "^3.7.0",
+ "@smithy/node-config-provider": "^4.1.3",
+ "@smithy/property-provider": "^4.0.4",
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/signature-v4": "^5.1.2",
+ "@smithy/smithy-client": "^4.4.7",
+ "@smithy/types": "^4.3.1",
+ "@smithy/util-base64": "^4.0.0",
+ "@smithy/util-body-length-browser": "^4.0.0",
+ "@smithy/util-middleware": "^4.0.4",
+ "@smithy/util-utf8": "^4.0.0",
+ "fast-xml-parser": "5.2.5",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/credential-provider-env": {
+ "version": "3.846.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.846.0.tgz",
+ "integrity": "sha512-QuCQZET9enja7AWVISY+mpFrEIeHzvkx/JEEbHYzHhUkxcnC2Kq2c0bB7hDihGD0AZd3Xsm653hk1O97qu69zg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/core": "3.846.0",
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/property-provider": "^4.0.4",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/credential-provider-http": {
+ "version": "3.846.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.846.0.tgz",
+ "integrity": "sha512-Jh1iKUuepdmtreMYozV2ePsPcOF5W9p3U4tWhi3v6nDvz0GsBjzjAROW+BW8XMz9vAD3I9R+8VC3/aq63p5nlw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/core": "3.846.0",
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/fetch-http-handler": "^5.1.0",
+ "@smithy/node-http-handler": "^4.1.0",
+ "@smithy/property-provider": "^4.0.4",
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/smithy-client": "^4.4.7",
+ "@smithy/types": "^4.3.1",
+ "@smithy/util-stream": "^4.2.3",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/credential-provider-ini": {
+ "version": "3.848.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.848.0.tgz",
+ "integrity": "sha512-r6KWOG+En2xujuMhgZu7dzOZV3/M5U/5+PXrG8dLQ3rdPRB3vgp5tc56KMqLwm/EXKRzAOSuw/UE4HfNOAB8Hw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/core": "3.846.0",
+ "@aws-sdk/credential-provider-env": "3.846.0",
+ "@aws-sdk/credential-provider-http": "3.846.0",
+ "@aws-sdk/credential-provider-process": "3.846.0",
+ "@aws-sdk/credential-provider-sso": "3.848.0",
+ "@aws-sdk/credential-provider-web-identity": "3.848.0",
+ "@aws-sdk/nested-clients": "3.848.0",
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/credential-provider-imds": "^4.0.6",
+ "@smithy/property-provider": "^4.0.4",
+ "@smithy/shared-ini-file-loader": "^4.0.4",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/credential-provider-node": {
+ "version": "3.848.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.848.0.tgz",
+ "integrity": "sha512-AblNesOqdzrfyASBCo1xW3uweiSro4Kft9/htdxLeCVU1KVOnFWA5P937MNahViRmIQm2sPBCqL8ZG0u9lnh5g==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/credential-provider-env": "3.846.0",
+ "@aws-sdk/credential-provider-http": "3.846.0",
+ "@aws-sdk/credential-provider-ini": "3.848.0",
+ "@aws-sdk/credential-provider-process": "3.846.0",
+ "@aws-sdk/credential-provider-sso": "3.848.0",
+ "@aws-sdk/credential-provider-web-identity": "3.848.0",
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/credential-provider-imds": "^4.0.6",
+ "@smithy/property-provider": "^4.0.4",
+ "@smithy/shared-ini-file-loader": "^4.0.4",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/credential-provider-process": {
+ "version": "3.846.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.846.0.tgz",
+ "integrity": "sha512-mEpwDYarJSH+CIXnnHN0QOe0MXI+HuPStD6gsv3z/7Q6ESl8KRWon3weFZCDnqpiJMUVavlDR0PPlAFg2MQoPg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/core": "3.846.0",
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/property-provider": "^4.0.4",
+ "@smithy/shared-ini-file-loader": "^4.0.4",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/credential-provider-sso": {
+ "version": "3.848.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.848.0.tgz",
+ "integrity": "sha512-pozlDXOwJZL0e7w+dqXLgzVDB7oCx4WvtY0sk6l4i07uFliWF/exupb6pIehFWvTUcOvn5aFTTqcQaEzAD5Wsg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/client-sso": "3.848.0",
+ "@aws-sdk/core": "3.846.0",
+ "@aws-sdk/token-providers": "3.848.0",
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/property-provider": "^4.0.4",
+ "@smithy/shared-ini-file-loader": "^4.0.4",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/credential-provider-web-identity": {
+ "version": "3.848.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.848.0.tgz",
+ "integrity": "sha512-D1fRpwPxtVDhcSc/D71exa2gYweV+ocp4D3brF0PgFd//JR3XahZ9W24rVnTQwYEcK9auiBZB89Ltv+WbWN8qw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/core": "3.846.0",
+ "@aws-sdk/nested-clients": "3.848.0",
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/property-provider": "^4.0.4",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/middleware-host-header": {
+ "version": "3.840.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.840.0.tgz",
+ "integrity": "sha512-ub+hXJAbAje94+Ya6c6eL7sYujoE8D4Bumu1NUI8TXjUhVVn0HzVWQjpRLshdLsUp1AW7XyeJaxyajRaJQ8+Xg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/middleware-logger": {
+ "version": "3.840.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.840.0.tgz",
+ "integrity": "sha512-lSV8FvjpdllpGaRspywss4CtXV8M7NNNH+2/j86vMH+YCOZ6fu2T/TyFd/tHwZ92vDfHctWkRbQxg0bagqwovA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/middleware-recursion-detection": {
+ "version": "3.840.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.840.0.tgz",
+ "integrity": "sha512-Gu7lGDyfddyhIkj1Z1JtrY5NHb5+x/CRiB87GjaSrKxkDaydtX2CU977JIABtt69l9wLbcGDIQ+W0uJ5xPof7g==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/middleware-user-agent": {
+ "version": "3.848.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.848.0.tgz",
+ "integrity": "sha512-rjMuqSWJEf169/ByxvBqfdei1iaduAnfolTshsZxwcmLIUtbYrFUmts0HrLQqsAG8feGPpDLHA272oPl+NTCCA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/core": "3.846.0",
+ "@aws-sdk/types": "3.840.0",
+ "@aws-sdk/util-endpoints": "3.848.0",
+ "@smithy/core": "^3.7.0",
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/nested-clients": {
+ "version": "3.848.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/nested-clients/-/nested-clients-3.848.0.tgz",
+ "integrity": "sha512-joLsyyo9u61jnZuyYzo1z7kmS7VgWRAkzSGESVzQHfOA1H2PYeUFek6vLT4+c9xMGrX/Z6B0tkRdzfdOPiatLg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-crypto/sha256-browser": "5.2.0",
+ "@aws-crypto/sha256-js": "5.2.0",
+ "@aws-sdk/core": "3.846.0",
+ "@aws-sdk/middleware-host-header": "3.840.0",
+ "@aws-sdk/middleware-logger": "3.840.0",
+ "@aws-sdk/middleware-recursion-detection": "3.840.0",
+ "@aws-sdk/middleware-user-agent": "3.848.0",
+ "@aws-sdk/region-config-resolver": "3.840.0",
+ "@aws-sdk/types": "3.840.0",
+ "@aws-sdk/util-endpoints": "3.848.0",
+ "@aws-sdk/util-user-agent-browser": "3.840.0",
+ "@aws-sdk/util-user-agent-node": "3.848.0",
+ "@smithy/config-resolver": "^4.1.4",
+ "@smithy/core": "^3.7.0",
+ "@smithy/fetch-http-handler": "^5.1.0",
+ "@smithy/hash-node": "^4.0.4",
+ "@smithy/invalid-dependency": "^4.0.4",
+ "@smithy/middleware-content-length": "^4.0.4",
+ "@smithy/middleware-endpoint": "^4.1.15",
+ "@smithy/middleware-retry": "^4.1.16",
+ "@smithy/middleware-serde": "^4.0.8",
+ "@smithy/middleware-stack": "^4.0.4",
+ "@smithy/node-config-provider": "^4.1.3",
+ "@smithy/node-http-handler": "^4.1.0",
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/smithy-client": "^4.4.7",
+ "@smithy/types": "^4.3.1",
+ "@smithy/url-parser": "^4.0.4",
+ "@smithy/util-base64": "^4.0.0",
+ "@smithy/util-body-length-browser": "^4.0.0",
+ "@smithy/util-body-length-node": "^4.0.0",
+ "@smithy/util-defaults-mode-browser": "^4.0.23",
+ "@smithy/util-defaults-mode-node": "^4.0.23",
+ "@smithy/util-endpoints": "^3.0.6",
+ "@smithy/util-middleware": "^4.0.4",
+ "@smithy/util-retry": "^4.0.6",
+ "@smithy/util-utf8": "^4.0.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/region-config-resolver": {
+ "version": "3.840.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.840.0.tgz",
+ "integrity": "sha512-Qjnxd/yDv9KpIMWr90ZDPtRj0v75AqGC92Lm9+oHXZ8p1MjG5JE2CW0HL8JRgK9iKzgKBL7pPQRXI8FkvEVfrA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/node-config-provider": "^4.1.3",
+ "@smithy/types": "^4.3.1",
+ "@smithy/util-config-provider": "^4.0.0",
+ "@smithy/util-middleware": "^4.0.4",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/token-providers": {
+ "version": "3.848.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.848.0.tgz",
+ "integrity": "sha512-oNPyM4+Di2Umu0JJRFSxDcKQ35+Chl/rAwD47/bS0cDPI8yrao83mLXLeDqpRPHyQW4sXlP763FZcuAibC0+mg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/core": "3.846.0",
+ "@aws-sdk/nested-clients": "3.848.0",
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/property-provider": "^4.0.4",
+ "@smithy/shared-ini-file-loader": "^4.0.4",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/types": {
+ "version": "3.840.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.840.0.tgz",
+ "integrity": "sha512-xliuHaUFZxEx1NSXeLLZ9Dyu6+EJVQKEoD+yM+zqUo3YDZ7medKJWY6fIOKiPX/N7XbLdBYwajb15Q7IL8KkeA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/util-endpoints": {
+ "version": "3.848.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.848.0.tgz",
+ "integrity": "sha512-fY/NuFFCq/78liHvRyFKr+aqq1aA/uuVSANjzr5Ym8c+9Z3HRPE9OrExAHoMrZ6zC8tHerQwlsXYYH5XZ7H+ww==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/types": "^4.3.1",
+ "@smithy/url-parser": "^4.0.4",
+ "@smithy/util-endpoints": "^3.0.6",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/util-locate-window": {
+ "version": "3.804.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.804.0.tgz",
+ "integrity": "sha512-zVoRfpmBVPodYlnMjgVjfGoEZagyRF5IPn3Uo6ZvOZp24chnW/FRstH7ESDHDDRga4z3V+ElUQHKpFDXWyBW5A==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/util-user-agent-browser": {
+ "version": "3.840.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.840.0.tgz",
+ "integrity": "sha512-JdyZM3EhhL4PqwFpttZu1afDpPJCCc3eyZOLi+srpX11LsGj6sThf47TYQN75HT1CarZ7cCdQHGzP2uy3/xHfQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/types": "^4.3.1",
+ "bowser": "^2.11.0",
+ "tslib": "^2.6.2"
+ }
+ },
+ "node_modules/@aws-sdk/util-user-agent-node": {
+ "version": "3.848.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.848.0.tgz",
+ "integrity": "sha512-Zz1ft9NiLqbzNj/M0jVNxaoxI2F4tGXN0ZbZIj+KJ+PbJo+w5+Jo6d0UDAtbj3AEd79pjcCaP4OA9NTVzItUdw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/middleware-user-agent": "3.848.0",
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/node-config-provider": "^4.1.3",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ },
+ "peerDependencies": {
+ "aws-crt": ">=1.0.0"
+ },
+ "peerDependenciesMeta": {
+ "aws-crt": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@aws-sdk/xml-builder": {
+ "version": "3.821.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.821.0.tgz",
+ "integrity": "sha512-DIIotRnefVL6DiaHtO6/21DhJ4JZnnIwdNbpwiAhdt/AVbttcE4yw925gsjur0OGv5BTYXQXU3YnANBYnZjuQA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/abort-controller": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-4.0.4.tgz",
+ "integrity": "sha512-gJnEjZMvigPDQWHrW3oPrFhQtkrgqBkyjj3pCIdF3A5M6vsZODG93KNlfJprv6bp4245bdT32fsHK4kkH3KYDA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/config-resolver": {
+ "version": "4.1.4",
+ "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-4.1.4.tgz",
+ "integrity": "sha512-prmU+rDddxHOH0oNcwemL+SwnzcG65sBF2yXRO7aeXIn/xTlq2pX7JLVbkBnVLowHLg4/OL4+jBmv9hVrVGS+w==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/node-config-provider": "^4.1.3",
+ "@smithy/types": "^4.3.1",
+ "@smithy/util-config-provider": "^4.0.0",
+ "@smithy/util-middleware": "^4.0.4",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/core": {
+ "version": "3.7.1",
+ "resolved": "https://registry.npmjs.org/@smithy/core/-/core-3.7.1.tgz",
+ "integrity": "sha512-ExRCsHnXFtBPnM7MkfKBPcBBdHw1h/QS/cbNw4ho95qnyNHvnpmGbR39MIAv9KggTr5qSPxRSEL+hRXlyGyGQw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/middleware-serde": "^4.0.8",
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/types": "^4.3.1",
+ "@smithy/util-base64": "^4.0.0",
+ "@smithy/util-body-length-browser": "^4.0.0",
+ "@smithy/util-middleware": "^4.0.4",
+ "@smithy/util-stream": "^4.2.3",
+ "@smithy/util-utf8": "^4.0.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/credential-provider-imds": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-4.0.6.tgz",
+ "integrity": "sha512-hKMWcANhUiNbCJouYkZ9V3+/Qf9pteR1dnwgdyzR09R4ODEYx8BbUysHwRSyex4rZ9zapddZhLFTnT4ZijR4pw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/node-config-provider": "^4.1.3",
+ "@smithy/property-provider": "^4.0.4",
+ "@smithy/types": "^4.3.1",
+ "@smithy/url-parser": "^4.0.4",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/fetch-http-handler": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-5.1.0.tgz",
+ "integrity": "sha512-mADw7MS0bYe2OGKkHYMaqarOXuDwRbO6ArD91XhHcl2ynjGCFF+hvqf0LyQcYxkA1zaWjefSkU7Ne9mqgApSgQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/querystring-builder": "^4.0.4",
+ "@smithy/types": "^4.3.1",
+ "@smithy/util-base64": "^4.0.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/hash-node": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-4.0.4.tgz",
+ "integrity": "sha512-qnbTPUhCVnCgBp4z4BUJUhOEkVwxiEi1cyFM+Zj6o+aY8OFGxUQleKWq8ltgp3dujuhXojIvJWdoqpm6dVO3lQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/types": "^4.3.1",
+ "@smithy/util-buffer-from": "^4.0.0",
+ "@smithy/util-utf8": "^4.0.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/invalid-dependency": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-4.0.4.tgz",
+ "integrity": "sha512-bNYMi7WKTJHu0gn26wg8OscncTt1t2b8KcsZxvOv56XA6cyXtOAAAaNP7+m45xfppXfOatXF3Sb1MNsLUgVLTw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/is-array-buffer": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-4.0.0.tgz",
+ "integrity": "sha512-saYhF8ZZNoJDTvJBEWgeBccCg+yvp1CX+ed12yORU3NilJScfc6gfch2oVb4QgxZrGUx3/ZJlb+c/dJbyupxlw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/middleware-content-length": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-4.0.4.tgz",
+ "integrity": "sha512-F7gDyfI2BB1Kc+4M6rpuOLne5LOcEknH1n6UQB69qv+HucXBR1rkzXBnQTB2q46sFy1PM/zuSJOB532yc8bg3w==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/middleware-endpoint": {
+ "version": "4.1.16",
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-4.1.16.tgz",
+ "integrity": "sha512-plpa50PIGLqzMR2ANKAw2yOW5YKS626KYKqae3atwucbz4Ve4uQ9K9BEZxDLIFmCu7hKLcrq2zmj4a+PfmUV5w==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/core": "^3.7.1",
+ "@smithy/middleware-serde": "^4.0.8",
+ "@smithy/node-config-provider": "^4.1.3",
+ "@smithy/shared-ini-file-loader": "^4.0.4",
+ "@smithy/types": "^4.3.1",
+ "@smithy/url-parser": "^4.0.4",
+ "@smithy/util-middleware": "^4.0.4",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/middleware-retry": {
+ "version": "4.1.17",
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-4.1.17.tgz",
+ "integrity": "sha512-gsCimeG6BApj0SBecwa1Be+Z+JOJe46iy3B3m3A8jKJHf7eIihP76Is4LwLrbJ1ygoS7Vg73lfqzejmLOrazUA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/node-config-provider": "^4.1.3",
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/service-error-classification": "^4.0.6",
+ "@smithy/smithy-client": "^4.4.8",
+ "@smithy/types": "^4.3.1",
+ "@smithy/util-middleware": "^4.0.4",
+ "@smithy/util-retry": "^4.0.6",
+ "tslib": "^2.6.2",
+ "uuid": "^9.0.1"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/middleware-serde": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-4.0.8.tgz",
+ "integrity": "sha512-iSSl7HJoJaGyMIoNn2B7czghOVwJ9nD7TMvLhMWeSB5vt0TnEYyRRqPJu/TqW76WScaNvYYB8nRoiBHR9S1Ddw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/middleware-stack": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-4.0.4.tgz",
+ "integrity": "sha512-kagK5ggDrBUCCzI93ft6DjteNSfY8Ulr83UtySog/h09lTIOAJ/xUSObutanlPT0nhoHAkpmW9V5K8oPyLh+QA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/node-config-provider": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-4.1.3.tgz",
+ "integrity": "sha512-HGHQr2s59qaU1lrVH6MbLlmOBxadtzTsoO4c+bF5asdgVik3I8o7JIOzoeqWc5MjVa+vD36/LWE0iXKpNqooRw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/property-provider": "^4.0.4",
+ "@smithy/shared-ini-file-loader": "^4.0.4",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/node-http-handler": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-4.1.0.tgz",
+ "integrity": "sha512-vqfSiHz2v8b3TTTrdXi03vNz1KLYYS3bhHCDv36FYDqxT7jvTll1mMnCrkD+gOvgwybuunh/2VmvOMqwBegxEg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/abort-controller": "^4.0.4",
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/querystring-builder": "^4.0.4",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/property-provider": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-4.0.4.tgz",
+ "integrity": "sha512-qHJ2sSgu4FqF4U/5UUp4DhXNmdTrgmoAai6oQiM+c5RZ/sbDwJ12qxB1M6FnP+Tn/ggkPZf9ccn4jqKSINaquw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/protocol-http": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-5.1.2.tgz",
+ "integrity": "sha512-rOG5cNLBXovxIrICSBm95dLqzfvxjEmuZx4KK3hWwPFHGdW3lxY0fZNXfv2zebfRO7sJZ5pKJYHScsqopeIWtQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/querystring-builder": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-4.0.4.tgz",
+ "integrity": "sha512-SwREZcDnEYoh9tLNgMbpop+UTGq44Hl9tdj3rf+yeLcfH7+J8OXEBaMc2kDxtyRHu8BhSg9ADEx0gFHvpJgU8w==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/types": "^4.3.1",
+ "@smithy/util-uri-escape": "^4.0.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/querystring-parser": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-4.0.4.tgz",
+ "integrity": "sha512-6yZf53i/qB8gRHH/l2ZwUG5xgkPgQF15/KxH0DdXMDHjesA9MeZje/853ifkSY0x4m5S+dfDZ+c4x439PF0M2w==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/service-error-classification": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-4.0.6.tgz",
+ "integrity": "sha512-RRoTDL//7xi4tn5FrN2NzH17jbgmnKidUqd4KvquT0954/i6CXXkh1884jBiunq24g9cGtPBEXlU40W6EpNOOg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/types": "^4.3.1"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/shared-ini-file-loader": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-4.0.4.tgz",
+ "integrity": "sha512-63X0260LoFBjrHifPDs+nM9tV0VMkOTl4JRMYNuKh/f5PauSjowTfvF3LogfkWdcPoxsA9UjqEOgjeYIbhb7Nw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/signature-v4": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-5.1.2.tgz",
+ "integrity": "sha512-d3+U/VpX7a60seHziWnVZOHuEgJlclufjkS6zhXvxcJgkJq4UWdH5eOBLzHRMx6gXjsdT9h6lfpmLzbrdupHgQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/is-array-buffer": "^4.0.0",
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/types": "^4.3.1",
+ "@smithy/util-hex-encoding": "^4.0.0",
+ "@smithy/util-middleware": "^4.0.4",
+ "@smithy/util-uri-escape": "^4.0.0",
+ "@smithy/util-utf8": "^4.0.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/smithy-client": {
+ "version": "4.4.8",
+ "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-4.4.8.tgz",
+ "integrity": "sha512-pcW691/lx7V54gE+dDGC26nxz8nrvnvRSCJaIYD6XLPpOInEZeKdV/SpSux+wqeQ4Ine7LJQu8uxMvobTIBK0w==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/core": "^3.7.1",
+ "@smithy/middleware-endpoint": "^4.1.16",
+ "@smithy/middleware-stack": "^4.0.4",
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/types": "^4.3.1",
+ "@smithy/util-stream": "^4.2.3",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/types": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/@smithy/types/-/types-4.3.1.tgz",
+ "integrity": "sha512-UqKOQBL2x6+HWl3P+3QqFD4ncKq0I8Nuz9QItGv5WuKuMHuuwlhvqcZCoXGfc+P1QmfJE7VieykoYYmrOoFJxA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/url-parser": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-4.0.4.tgz",
+ "integrity": "sha512-eMkc144MuN7B0TDA4U2fKs+BqczVbk3W+qIvcoCY6D1JY3hnAdCuhCZODC+GAeaxj0p6Jroz4+XMUn3PCxQQeQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/querystring-parser": "^4.0.4",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/util-base64": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-4.0.0.tgz",
+ "integrity": "sha512-CvHfCmO2mchox9kjrtzoHkWHxjHZzaFojLc8quxXY7WAAMAg43nuxwv95tATVgQFNDwd4M9S1qFzj40Ul41Kmg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/util-buffer-from": "^4.0.0",
+ "@smithy/util-utf8": "^4.0.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/util-body-length-browser": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-4.0.0.tgz",
+ "integrity": "sha512-sNi3DL0/k64/LO3A256M+m3CDdG6V7WKWHdAiBBMUN8S3hK3aMPhwnPik2A/a2ONN+9doY9UxaLfgqsIRg69QA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/util-body-length-node": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-4.0.0.tgz",
+ "integrity": "sha512-q0iDP3VsZzqJyje8xJWEJCNIu3lktUGVoSy1KB0UWym2CL1siV3artm+u1DFYTLejpsrdGyCSWBdGNjJzfDPjg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/util-buffer-from": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-4.0.0.tgz",
+ "integrity": "sha512-9TOQ7781sZvddgO8nxueKi3+yGvkY35kotA0Y6BWRajAv8jjmigQ1sBwz0UX47pQMYXJPahSKEKYFgt+rXdcug==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/is-array-buffer": "^4.0.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/util-config-provider": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-4.0.0.tgz",
+ "integrity": "sha512-L1RBVzLyfE8OXH+1hsJ8p+acNUSirQnWQ6/EgpchV88G6zGBTDPdXiiExei6Z1wR2RxYvxY/XLw6AMNCCt8H3w==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/util-defaults-mode-browser": {
+ "version": "4.0.24",
+ "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-4.0.24.tgz",
+ "integrity": "sha512-UkQNgaQ+bidw1MgdgPO1z1k95W/v8Ej/5o/T/Is8PiVUYPspl/ZxV6WO/8DrzZQu5ULnmpB9CDdMSRwgRc21AA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/property-provider": "^4.0.4",
+ "@smithy/smithy-client": "^4.4.8",
+ "@smithy/types": "^4.3.1",
+ "bowser": "^2.11.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/util-defaults-mode-node": {
+ "version": "4.0.24",
+ "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-4.0.24.tgz",
+ "integrity": "sha512-phvGi/15Z4MpuQibTLOYIumvLdXb+XIJu8TA55voGgboln85jytA3wiD7CkUE8SNcWqkkb+uptZKPiuFouX/7g==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/config-resolver": "^4.1.4",
+ "@smithy/credential-provider-imds": "^4.0.6",
+ "@smithy/node-config-provider": "^4.1.3",
+ "@smithy/property-provider": "^4.0.4",
+ "@smithy/smithy-client": "^4.4.8",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/util-endpoints": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-3.0.6.tgz",
+ "integrity": "sha512-YARl3tFL3WgPuLzljRUnrS2ngLiUtkwhQtj8PAL13XZSyUiNLQxwG3fBBq3QXFqGFUXepIN73pINp3y8c2nBmA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/node-config-provider": "^4.1.3",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/util-hex-encoding": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-4.0.0.tgz",
+ "integrity": "sha512-Yk5mLhHtfIgW2W2WQZWSg5kuMZCVbvhFmC7rV4IO2QqnZdbEFPmQnCcGMAX2z/8Qj3B9hYYNjZOhWym+RwhePw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/util-middleware": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-4.0.4.tgz",
+ "integrity": "sha512-9MLKmkBmf4PRb0ONJikCbCwORACcil6gUWojwARCClT7RmLzF04hUR4WdRprIXal7XVyrddadYNfp2eF3nrvtQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/util-retry": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-4.0.6.tgz",
+ "integrity": "sha512-+YekoF2CaSMv6zKrA6iI/N9yva3Gzn4L6n35Luydweu5MMPYpiGZlWqehPHDHyNbnyaYlz/WJyYAZnC+loBDZg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/service-error-classification": "^4.0.6",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/util-stream": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-4.2.3.tgz",
+ "integrity": "sha512-cQn412DWHHFNKrQfbHY8vSFI3nTROY1aIKji9N0tpp8gUABRilr7wdf8fqBbSlXresobM+tQFNk6I+0LXK/YZg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/fetch-http-handler": "^5.1.0",
+ "@smithy/node-http-handler": "^4.1.0",
+ "@smithy/types": "^4.3.1",
+ "@smithy/util-base64": "^4.0.0",
+ "@smithy/util-buffer-from": "^4.0.0",
+ "@smithy/util-hex-encoding": "^4.0.0",
+ "@smithy/util-utf8": "^4.0.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/util-uri-escape": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-4.0.0.tgz",
+ "integrity": "sha512-77yfbCbQMtgtTylO9itEAdpPXSog3ZxMe09AEhm0dU0NLTalV70ghDZFR+Nfi1C60jnJoh/Re4090/DuZh2Omg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/util-utf8": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-4.0.0.tgz",
+ "integrity": "sha512-b+zebfKCfRdgNJDknHCob3O7FpeYQN6ZG6YLExMcasDHsCXlsXCEuiPZeLnJLpwa5dvPetGlnGCiMHuLwGvFow==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/util-buffer-from": "^4.0.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/util-waiter": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-4.0.6.tgz",
+ "integrity": "sha512-slcr1wdRbX7NFphXZOxtxRNA7hXAAtJAXJDE/wdoMAos27SIquVCKiSqfB6/28YzQ8FCsB5NKkhdM5gMADbqxg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/abort-controller": "^4.0.4",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@types/node": {
+ "version": "20.19.9",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.9.tgz",
+ "integrity": "sha512-cuVNgarYWZqxRJDQHEB58GEONhOK79QVR/qYx4S7kcUObQvUwvFnYxJuuHUKm2aieN9X3yZB4LZsuYNU1Qphsw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "undici-types": "~6.21.0"
+ }
+ },
+ "node_modules/@types/uuid": {
+ "version": "9.0.8",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz",
+ "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==",
+ "license": "MIT"
+ },
+ "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==",
+ "license": "MIT"
+ },
+ "node_modules/fast-xml-parser": {
+ "version": "5.2.5",
+ "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.2.5.tgz",
+ "integrity": "sha512-pfX9uG9Ki0yekDHx2SiuRIyFdyAr1kMIMitPvb0YBo8SUfKvia7w7FIyd/l6av85pFYRhZscS75MwMnbvY+hcQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/NaturalIntelligence"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "strnum": "^2.1.0"
+ },
+ "bin": {
+ "fxparser": "src/cli/cli.js"
+ }
+ },
+ "node_modules/strnum": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/strnum/-/strnum-2.1.1.tgz",
+ "integrity": "sha512-7ZvoFTiCnGxBtDqJ//Cu6fWtZtc7Y3x+QOirG15wztbdngGSkht27o2pyGWrVy0b4WAy3jbKmnoK6g5VlVNUUw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/NaturalIntelligence"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/tslib": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+ "license": "0BSD"
+ },
+ "node_modules/typescript": {
+ "version": "5.8.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz",
+ "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=14.17"
+ }
+ },
+ "node_modules/undici-types": {
+ "version": "6.21.0",
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
+ "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "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"
+ ],
+ "license": "MIT",
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ }
+ }
+ }
+}
diff --git a/packages/cdk/custom-resources/agent-core-runtime/package.json b/packages/cdk/custom-resources/agent-core-runtime/package.json
new file mode 100644
index 000000000..543d08278
--- /dev/null
+++ b/packages/cdk/custom-resources/agent-core-runtime/package.json
@@ -0,0 +1,19 @@
+{
+ "name": "agent-core-runtime-custom-resource",
+ "private": true,
+ "version": "1.0.0",
+ "description": "CustomResource for managing AWS Bedrock AgentCore Runtimes",
+ "main": "index.js",
+ "scripts": {
+ "build": "tsc",
+ "clean": "rm -rf dist *.js *.d.ts",
+ "prebuild": "npm run clean"
+ },
+ "dependencies": {
+ "@aws-sdk/client-bedrock-agentcore-control": "^3.755.0"
+ },
+ "devDependencies": {
+ "@types/node": "^20.0.0",
+ "typescript": "^5.0.0"
+ }
+}
diff --git a/packages/cdk/custom-resources/agent-core-runtime/tsconfig.json b/packages/cdk/custom-resources/agent-core-runtime/tsconfig.json
new file mode 100644
index 000000000..deaa5c919
--- /dev/null
+++ b/packages/cdk/custom-resources/agent-core-runtime/tsconfig.json
@@ -0,0 +1,20 @@
+{
+ "compilerOptions": {
+ "target": "ES2020",
+ "module": "commonjs",
+ "lib": ["ES2020"],
+ "outDir": "./",
+ "rootDir": "./",
+ "strict": true,
+ "esModuleInterop": true,
+ "skipLibCheck": true,
+ "forceConsistentCasingInFileNames": true,
+ "declaration": true,
+ "declarationMap": false,
+ "sourceMap": false,
+ "moduleResolution": "node",
+ "allowSyntheticDefaultImports": true
+ },
+ "include": ["*.ts"],
+ "exclude": ["node_modules", "**/*.test.ts", "**/*.spec.ts"]
+}
diff --git a/packages/cdk/custom-resources/apply-tags/apply-tags.js b/packages/cdk/custom-resources/apply-tags/apply-tags.js
new file mode 100644
index 000000000..51bb1e87f
--- /dev/null
+++ b/packages/cdk/custom-resources/apply-tags/apply-tags.js
@@ -0,0 +1,146 @@
+const {
+ OpenSearchServerlessClient,
+ TagResourceCommand,
+ UntagResourceCommand,
+ ListTagsForResourceCommand,
+} = require('@aws-sdk/client-opensearchserverless');
+
+exports.handler = async (event, context) => {
+ console.log('Event:', JSON.stringify(event, null, 2));
+
+ try {
+ const { collectionId, region, accountId, tag } = event.ResourceProperties;
+
+ // Skip for Delete operation
+ if (event.RequestType === 'Delete') {
+ return await sendResponse(
+ event,
+ context,
+ 'SUCCESS',
+ {},
+ 'ApplyTagsResource'
+ );
+ }
+
+ // Create OpenSearch Serverless client
+ const ossClient = new OpenSearchServerlessClient({ region });
+ const collectionArn = `arn:aws:aoss:${region}:${accountId}:collection/${collectionId}`;
+
+ // Check if we need to apply or remove tags
+ if (tag && tag.value) {
+ console.log(
+ `Applying tags to collection ${collectionId}: ${JSON.stringify(tag)}`
+ );
+
+ // Apply tags
+ const command = new TagResourceCommand({
+ resourceArn: collectionArn,
+ tags: [tag],
+ });
+
+ const res = await ossClient.send(command);
+
+ console.log(`response: ${JSON.stringify(res)}`);
+ console.log(`Successfully applied tags to ${collectionArn}`);
+ } else {
+ // If tagValue is unset, we need to check if the tag exists and remove it
+ console.log(
+ `Checking for existing tags on collection ${collectionId} with key ${tag.key}`
+ );
+
+ // First, list existing tags
+ const listTagsCommand = new ListTagsForResourceCommand({
+ resourceArn: collectionArn,
+ });
+
+ const existingTags = await ossClient.send(listTagsCommand);
+ console.log(`Existing tags: ${JSON.stringify(existingTags)}`);
+
+ // Check if our tag key exists
+ const tagExists =
+ existingTags.tags && existingTags.tags.some((t) => t.key === tag.key);
+
+ if (tagExists) {
+ console.log(
+ `Removing tag with key ${tag.key} from collection ${collectionId}`
+ );
+
+ // Remove the tag
+ const untagCommand = new UntagResourceCommand({
+ resourceArn: collectionArn,
+ tagKeys: [tag.key],
+ });
+
+ const untagRes = await ossClient.send(untagCommand);
+ console.log(`Untag response: ${JSON.stringify(untagRes)}`);
+ console.log(
+ `Successfully removed tag with key ${tag.key} from ${collectionArn}`
+ );
+ } else {
+ console.log(
+ `No tag with key ${tag.key} found on collection ${collectionId}`
+ );
+ }
+ }
+
+ return await sendResponse(
+ event,
+ context,
+ 'SUCCESS',
+ {},
+ 'ApplyTagsResource'
+ );
+ } catch (error) {
+ console.error('Error:', error);
+ return await sendResponse(
+ event,
+ context,
+ 'FAILED',
+ {},
+ 'ApplyTagsResource'
+ );
+ }
+};
+
+// Function to send response to CloudFormation
+async function sendResponse(event, context, status, data, physicalId) {
+ const responseBody = JSON.stringify({
+ Status: status,
+ Reason: `See CloudWatch Log Stream: ${context.logStreamName}`,
+ PhysicalResourceId: physicalId || context.logStreamName,
+ StackId: event.StackId,
+ RequestId: event.RequestId,
+ LogicalResourceId: event.LogicalResourceId,
+ Data: data,
+ });
+
+ return await new Promise((resolve, reject) => {
+ const https = require('https');
+ const url = require('url');
+ const parsedUrl = url.parse(event.ResponseURL);
+
+ const options = {
+ hostname: parsedUrl.hostname,
+ port: 443,
+ path: parsedUrl.path,
+ method: 'PUT',
+ headers: {
+ 'Content-Type': '',
+ 'Content-Length': responseBody.length,
+ },
+ };
+
+ const request = https.request(options, (response) => {
+ console.log(`Status code: ${response.statusCode}`);
+ resolve();
+ });
+
+ request.on('error', (error) => {
+ console.log('send() error:', error);
+ resolve(); // Still resolve to avoid CF waiting
+ });
+
+ request.write(responseBody);
+ request.end();
+ });
+}
diff --git a/packages/cdk/custom-resources/apply-tags/package-lock.json b/packages/cdk/custom-resources/apply-tags/package-lock.json
new file mode 100644
index 000000000..8e8cf32f9
--- /dev/null
+++ b/packages/cdk/custom-resources/apply-tags/package-lock.json
@@ -0,0 +1,1268 @@
+{
+ "name": "apply-tags",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "dependencies": {
+ "@aws-sdk/client-opensearchserverless": "^3.840.0"
+ }
+ },
+ "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==",
+ "license": "Apache-2.0",
+ "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-crypto/sha256-browser/node_modules/@smithy/is-array-buffer": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz",
+ "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-buffer-from": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz",
+ "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/is-array-buffer": "^2.2.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "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==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/util-buffer-from": "^2.2.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "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==",
+ "license": "Apache-2.0",
+ "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-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==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.6.2"
+ }
+ },
+ "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==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/types": "^3.222.0",
+ "@smithy/util-utf8": "^2.0.0",
+ "tslib": "^2.6.2"
+ }
+ },
+ "node_modules/@aws-crypto/util/node_modules/@smithy/is-array-buffer": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz",
+ "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@aws-crypto/util/node_modules/@smithy/util-buffer-from": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz",
+ "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/is-array-buffer": "^2.2.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "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==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/util-buffer-from": "^2.2.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-opensearchserverless": {
+ "version": "3.864.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-opensearchserverless/-/client-opensearchserverless-3.864.0.tgz",
+ "integrity": "sha512-MTEfORHW9bgcNFxwP9/2LjrvaQa8l+Ja2ZT465MLkMpoRYfcI5Kqn3zyp9EPvyLdarRltgl3vuvq8iNs+2c6NQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-crypto/sha256-browser": "5.2.0",
+ "@aws-crypto/sha256-js": "5.2.0",
+ "@aws-sdk/core": "3.864.0",
+ "@aws-sdk/credential-provider-node": "3.864.0",
+ "@aws-sdk/middleware-host-header": "3.862.0",
+ "@aws-sdk/middleware-logger": "3.862.0",
+ "@aws-sdk/middleware-recursion-detection": "3.862.0",
+ "@aws-sdk/middleware-user-agent": "3.864.0",
+ "@aws-sdk/region-config-resolver": "3.862.0",
+ "@aws-sdk/types": "3.862.0",
+ "@aws-sdk/util-endpoints": "3.862.0",
+ "@aws-sdk/util-user-agent-browser": "3.862.0",
+ "@aws-sdk/util-user-agent-node": "3.864.0",
+ "@smithy/config-resolver": "^4.1.5",
+ "@smithy/core": "^3.8.0",
+ "@smithy/fetch-http-handler": "^5.1.1",
+ "@smithy/hash-node": "^4.0.5",
+ "@smithy/invalid-dependency": "^4.0.5",
+ "@smithy/middleware-content-length": "^4.0.5",
+ "@smithy/middleware-endpoint": "^4.1.18",
+ "@smithy/middleware-retry": "^4.1.19",
+ "@smithy/middleware-serde": "^4.0.9",
+ "@smithy/middleware-stack": "^4.0.5",
+ "@smithy/node-config-provider": "^4.1.4",
+ "@smithy/node-http-handler": "^4.1.1",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/smithy-client": "^4.4.10",
+ "@smithy/types": "^4.3.2",
+ "@smithy/url-parser": "^4.0.5",
+ "@smithy/util-base64": "^4.0.0",
+ "@smithy/util-body-length-browser": "^4.0.0",
+ "@smithy/util-body-length-node": "^4.0.0",
+ "@smithy/util-defaults-mode-browser": "^4.0.26",
+ "@smithy/util-defaults-mode-node": "^4.0.26",
+ "@smithy/util-endpoints": "^3.0.7",
+ "@smithy/util-middleware": "^4.0.5",
+ "@smithy/util-retry": "^4.0.7",
+ "@smithy/util-utf8": "^4.0.0",
+ "@types/uuid": "^9.0.1",
+ "tslib": "^2.6.2",
+ "uuid": "^9.0.1"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-sso": {
+ "version": "3.864.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.864.0.tgz",
+ "integrity": "sha512-THiOp0OpQROEKZ6IdDCDNNh3qnNn/kFFaTSOiugDpgcE5QdsOxh1/RXq7LmHpTJum3cmnFf8jG59PHcz9Tjnlw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-crypto/sha256-browser": "5.2.0",
+ "@aws-crypto/sha256-js": "5.2.0",
+ "@aws-sdk/core": "3.864.0",
+ "@aws-sdk/middleware-host-header": "3.862.0",
+ "@aws-sdk/middleware-logger": "3.862.0",
+ "@aws-sdk/middleware-recursion-detection": "3.862.0",
+ "@aws-sdk/middleware-user-agent": "3.864.0",
+ "@aws-sdk/region-config-resolver": "3.862.0",
+ "@aws-sdk/types": "3.862.0",
+ "@aws-sdk/util-endpoints": "3.862.0",
+ "@aws-sdk/util-user-agent-browser": "3.862.0",
+ "@aws-sdk/util-user-agent-node": "3.864.0",
+ "@smithy/config-resolver": "^4.1.5",
+ "@smithy/core": "^3.8.0",
+ "@smithy/fetch-http-handler": "^5.1.1",
+ "@smithy/hash-node": "^4.0.5",
+ "@smithy/invalid-dependency": "^4.0.5",
+ "@smithy/middleware-content-length": "^4.0.5",
+ "@smithy/middleware-endpoint": "^4.1.18",
+ "@smithy/middleware-retry": "^4.1.19",
+ "@smithy/middleware-serde": "^4.0.9",
+ "@smithy/middleware-stack": "^4.0.5",
+ "@smithy/node-config-provider": "^4.1.4",
+ "@smithy/node-http-handler": "^4.1.1",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/smithy-client": "^4.4.10",
+ "@smithy/types": "^4.3.2",
+ "@smithy/url-parser": "^4.0.5",
+ "@smithy/util-base64": "^4.0.0",
+ "@smithy/util-body-length-browser": "^4.0.0",
+ "@smithy/util-body-length-node": "^4.0.0",
+ "@smithy/util-defaults-mode-browser": "^4.0.26",
+ "@smithy/util-defaults-mode-node": "^4.0.26",
+ "@smithy/util-endpoints": "^3.0.7",
+ "@smithy/util-middleware": "^4.0.5",
+ "@smithy/util-retry": "^4.0.7",
+ "@smithy/util-utf8": "^4.0.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/core": {
+ "version": "3.864.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.864.0.tgz",
+ "integrity": "sha512-LFUREbobleHEln+Zf7IG83lAZwvHZG0stI7UU0CtwyuhQy5Yx0rKksHNOCmlM7MpTEbSCfntEhYi3jUaY5e5lg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/types": "3.862.0",
+ "@aws-sdk/xml-builder": "3.862.0",
+ "@smithy/core": "^3.8.0",
+ "@smithy/node-config-provider": "^4.1.4",
+ "@smithy/property-provider": "^4.0.5",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/signature-v4": "^5.1.3",
+ "@smithy/smithy-client": "^4.4.10",
+ "@smithy/types": "^4.3.2",
+ "@smithy/util-base64": "^4.0.0",
+ "@smithy/util-body-length-browser": "^4.0.0",
+ "@smithy/util-middleware": "^4.0.5",
+ "@smithy/util-utf8": "^4.0.0",
+ "fast-xml-parser": "5.2.5",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/credential-provider-env": {
+ "version": "3.864.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.864.0.tgz",
+ "integrity": "sha512-StJPOI2Rt8UE6lYjXUpg6tqSZaM72xg46ljPg8kIevtBAAfdtq9K20qT/kSliWGIBocMFAv0g2mC0hAa+ECyvg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/core": "3.864.0",
+ "@aws-sdk/types": "3.862.0",
+ "@smithy/property-provider": "^4.0.5",
+ "@smithy/types": "^4.3.2",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/credential-provider-http": {
+ "version": "3.864.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.864.0.tgz",
+ "integrity": "sha512-E/RFVxGTuGnuD+9pFPH2j4l6HvrXzPhmpL8H8nOoJUosjx7d4v93GJMbbl1v/fkDLqW9qN4Jx2cI6PAjohA6OA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/core": "3.864.0",
+ "@aws-sdk/types": "3.862.0",
+ "@smithy/fetch-http-handler": "^5.1.1",
+ "@smithy/node-http-handler": "^4.1.1",
+ "@smithy/property-provider": "^4.0.5",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/smithy-client": "^4.4.10",
+ "@smithy/types": "^4.3.2",
+ "@smithy/util-stream": "^4.2.4",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/credential-provider-ini": {
+ "version": "3.864.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.864.0.tgz",
+ "integrity": "sha512-PlxrijguR1gxyPd5EYam6OfWLarj2MJGf07DvCx9MAuQkw77HBnsu6+XbV8fQriFuoJVTBLn9ROhMr/ROAYfUg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/core": "3.864.0",
+ "@aws-sdk/credential-provider-env": "3.864.0",
+ "@aws-sdk/credential-provider-http": "3.864.0",
+ "@aws-sdk/credential-provider-process": "3.864.0",
+ "@aws-sdk/credential-provider-sso": "3.864.0",
+ "@aws-sdk/credential-provider-web-identity": "3.864.0",
+ "@aws-sdk/nested-clients": "3.864.0",
+ "@aws-sdk/types": "3.862.0",
+ "@smithy/credential-provider-imds": "^4.0.7",
+ "@smithy/property-provider": "^4.0.5",
+ "@smithy/shared-ini-file-loader": "^4.0.5",
+ "@smithy/types": "^4.3.2",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/credential-provider-node": {
+ "version": "3.864.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.864.0.tgz",
+ "integrity": "sha512-2BEymFeXURS+4jE9tP3vahPwbYRl0/1MVaFZcijj6pq+nf5EPGvkFillbdBRdc98ZI2NedZgSKu3gfZXgYdUhQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/credential-provider-env": "3.864.0",
+ "@aws-sdk/credential-provider-http": "3.864.0",
+ "@aws-sdk/credential-provider-ini": "3.864.0",
+ "@aws-sdk/credential-provider-process": "3.864.0",
+ "@aws-sdk/credential-provider-sso": "3.864.0",
+ "@aws-sdk/credential-provider-web-identity": "3.864.0",
+ "@aws-sdk/types": "3.862.0",
+ "@smithy/credential-provider-imds": "^4.0.7",
+ "@smithy/property-provider": "^4.0.5",
+ "@smithy/shared-ini-file-loader": "^4.0.5",
+ "@smithy/types": "^4.3.2",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/credential-provider-process": {
+ "version": "3.864.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.864.0.tgz",
+ "integrity": "sha512-Zxnn1hxhq7EOqXhVYgkF4rI9MnaO3+6bSg/tErnBQ3F8kDpA7CFU24G1YxwaJXp2X4aX3LwthefmSJHwcVP/2g==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/core": "3.864.0",
+ "@aws-sdk/types": "3.862.0",
+ "@smithy/property-provider": "^4.0.5",
+ "@smithy/shared-ini-file-loader": "^4.0.5",
+ "@smithy/types": "^4.3.2",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/credential-provider-sso": {
+ "version": "3.864.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.864.0.tgz",
+ "integrity": "sha512-UPyPNQbxDwHVGmgWdGg9/9yvzuedRQVF5jtMkmP565YX9pKZ8wYAcXhcYdNPWFvH0GYdB0crKOmvib+bmCuwkw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/client-sso": "3.864.0",
+ "@aws-sdk/core": "3.864.0",
+ "@aws-sdk/token-providers": "3.864.0",
+ "@aws-sdk/types": "3.862.0",
+ "@smithy/property-provider": "^4.0.5",
+ "@smithy/shared-ini-file-loader": "^4.0.5",
+ "@smithy/types": "^4.3.2",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/credential-provider-web-identity": {
+ "version": "3.864.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.864.0.tgz",
+ "integrity": "sha512-nNcjPN4SYg8drLwqK0vgVeSvxeGQiD0FxOaT38mV2H8cu0C5NzpvA+14Xy+W6vT84dxgmJYKk71Cr5QL2Oz+rA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/core": "3.864.0",
+ "@aws-sdk/nested-clients": "3.864.0",
+ "@aws-sdk/types": "3.862.0",
+ "@smithy/property-provider": "^4.0.5",
+ "@smithy/types": "^4.3.2",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/middleware-host-header": {
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.862.0.tgz",
+ "integrity": "sha512-jDje8dCFeFHfuCAxMDXBs8hy8q9NCTlyK4ThyyfAj3U4Pixly2mmzY2u7b7AyGhWsjJNx8uhTjlYq5zkQPQCYw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/types": "3.862.0",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/types": "^4.3.2",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/middleware-logger": {
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.862.0.tgz",
+ "integrity": "sha512-N/bXSJznNBR/i7Ofmf9+gM6dx/SPBK09ZWLKsW5iQjqKxAKn/2DozlnE54uiEs1saHZWoNDRg69Ww4XYYSlG1Q==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/types": "3.862.0",
+ "@smithy/types": "^4.3.2",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/middleware-recursion-detection": {
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.862.0.tgz",
+ "integrity": "sha512-KVoo3IOzEkTq97YKM4uxZcYFSNnMkhW/qj22csofLegZi5fk90ztUnnaeKfaEJHfHp/tm1Y3uSoOXH45s++kKQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/types": "3.862.0",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/types": "^4.3.2",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/middleware-user-agent": {
+ "version": "3.864.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.864.0.tgz",
+ "integrity": "sha512-wrddonw4EyLNSNBrApzEhpSrDwJiNfjxDm5E+bn8n32BbAojXASH8W8jNpxz/jMgNkkJNxCfyqybGKzBX0OhbQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/core": "3.864.0",
+ "@aws-sdk/types": "3.862.0",
+ "@aws-sdk/util-endpoints": "3.862.0",
+ "@smithy/core": "^3.8.0",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/types": "^4.3.2",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/nested-clients": {
+ "version": "3.864.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/nested-clients/-/nested-clients-3.864.0.tgz",
+ "integrity": "sha512-H1C+NjSmz2y8Tbgh7Yy89J20yD/hVyk15hNoZDbCYkXg0M358KS7KVIEYs8E2aPOCr1sK3HBE819D/yvdMgokA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-crypto/sha256-browser": "5.2.0",
+ "@aws-crypto/sha256-js": "5.2.0",
+ "@aws-sdk/core": "3.864.0",
+ "@aws-sdk/middleware-host-header": "3.862.0",
+ "@aws-sdk/middleware-logger": "3.862.0",
+ "@aws-sdk/middleware-recursion-detection": "3.862.0",
+ "@aws-sdk/middleware-user-agent": "3.864.0",
+ "@aws-sdk/region-config-resolver": "3.862.0",
+ "@aws-sdk/types": "3.862.0",
+ "@aws-sdk/util-endpoints": "3.862.0",
+ "@aws-sdk/util-user-agent-browser": "3.862.0",
+ "@aws-sdk/util-user-agent-node": "3.864.0",
+ "@smithy/config-resolver": "^4.1.5",
+ "@smithy/core": "^3.8.0",
+ "@smithy/fetch-http-handler": "^5.1.1",
+ "@smithy/hash-node": "^4.0.5",
+ "@smithy/invalid-dependency": "^4.0.5",
+ "@smithy/middleware-content-length": "^4.0.5",
+ "@smithy/middleware-endpoint": "^4.1.18",
+ "@smithy/middleware-retry": "^4.1.19",
+ "@smithy/middleware-serde": "^4.0.9",
+ "@smithy/middleware-stack": "^4.0.5",
+ "@smithy/node-config-provider": "^4.1.4",
+ "@smithy/node-http-handler": "^4.1.1",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/smithy-client": "^4.4.10",
+ "@smithy/types": "^4.3.2",
+ "@smithy/url-parser": "^4.0.5",
+ "@smithy/util-base64": "^4.0.0",
+ "@smithy/util-body-length-browser": "^4.0.0",
+ "@smithy/util-body-length-node": "^4.0.0",
+ "@smithy/util-defaults-mode-browser": "^4.0.26",
+ "@smithy/util-defaults-mode-node": "^4.0.26",
+ "@smithy/util-endpoints": "^3.0.7",
+ "@smithy/util-middleware": "^4.0.5",
+ "@smithy/util-retry": "^4.0.7",
+ "@smithy/util-utf8": "^4.0.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/region-config-resolver": {
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.862.0.tgz",
+ "integrity": "sha512-VisR+/HuVFICrBPY+q9novEiE4b3mvDofWqyvmxHcWM7HumTz9ZQSuEtnlB/92GVM3KDUrR9EmBHNRrfXYZkcQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/types": "3.862.0",
+ "@smithy/node-config-provider": "^4.1.4",
+ "@smithy/types": "^4.3.2",
+ "@smithy/util-config-provider": "^4.0.0",
+ "@smithy/util-middleware": "^4.0.5",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/token-providers": {
+ "version": "3.864.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.864.0.tgz",
+ "integrity": "sha512-gTc2QHOBo05SCwVA65dUtnJC6QERvFaPiuppGDSxoF7O5AQNK0UR/kMSenwLqN8b5E1oLYvQTv3C1idJLRX0cg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/core": "3.864.0",
+ "@aws-sdk/nested-clients": "3.864.0",
+ "@aws-sdk/types": "3.862.0",
+ "@smithy/property-provider": "^4.0.5",
+ "@smithy/shared-ini-file-loader": "^4.0.5",
+ "@smithy/types": "^4.3.2",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/types": {
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz",
+ "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/types": "^4.3.2",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/util-endpoints": {
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.862.0.tgz",
+ "integrity": "sha512-eCZuScdE9MWWkHGM2BJxm726MCmWk/dlHjOKvkM0sN1zxBellBMw5JohNss1Z8/TUmnW2gb9XHTOiHuGjOdksA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/types": "3.862.0",
+ "@smithy/types": "^4.3.2",
+ "@smithy/url-parser": "^4.0.5",
+ "@smithy/util-endpoints": "^3.0.7",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/util-locate-window": {
+ "version": "3.804.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.804.0.tgz",
+ "integrity": "sha512-zVoRfpmBVPodYlnMjgVjfGoEZagyRF5IPn3Uo6ZvOZp24chnW/FRstH7ESDHDDRga4z3V+ElUQHKpFDXWyBW5A==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/util-user-agent-browser": {
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.862.0.tgz",
+ "integrity": "sha512-BmPTlm0r9/10MMr5ND9E92r8KMZbq5ltYXYpVcUbAsnB1RJ8ASJuRoLne5F7mB3YMx0FJoOTuSq7LdQM3LgW3Q==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/types": "3.862.0",
+ "@smithy/types": "^4.3.2",
+ "bowser": "^2.11.0",
+ "tslib": "^2.6.2"
+ }
+ },
+ "node_modules/@aws-sdk/util-user-agent-node": {
+ "version": "3.864.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.864.0.tgz",
+ "integrity": "sha512-d+FjUm2eJEpP+FRpVR3z6KzMdx1qwxEYDz8jzNKwxYLBBquaBaP/wfoMtMQKAcbrR7aT9FZVZF7zDgzNxUvQlQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/middleware-user-agent": "3.864.0",
+ "@aws-sdk/types": "3.862.0",
+ "@smithy/node-config-provider": "^4.1.4",
+ "@smithy/types": "^4.3.2",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ },
+ "peerDependencies": {
+ "aws-crt": ">=1.0.0"
+ },
+ "peerDependenciesMeta": {
+ "aws-crt": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@aws-sdk/xml-builder": {
+ "version": "3.862.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.862.0.tgz",
+ "integrity": "sha512-6Ed0kmC1NMbuFTEgNmamAUU1h5gShgxL1hBVLbEzUa3trX5aJBz1vU4bXaBTvOYUAnOHtiy1Ml4AMStd6hJnFA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/types": "^4.3.2",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/abort-controller": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-4.0.5.tgz",
+ "integrity": "sha512-jcrqdTQurIrBbUm4W2YdLVMQDoL0sA9DTxYd2s+R/y+2U9NLOP7Xf/YqfSg1FZhlZIYEnvk2mwbyvIfdLEPo8g==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/types": "^4.3.2",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/config-resolver": {
+ "version": "4.1.5",
+ "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-4.1.5.tgz",
+ "integrity": "sha512-viuHMxBAqydkB0AfWwHIdwf/PRH2z5KHGUzqyRtS/Wv+n3IHI993Sk76VCA7dD/+GzgGOmlJDITfPcJC1nIVIw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/node-config-provider": "^4.1.4",
+ "@smithy/types": "^4.3.2",
+ "@smithy/util-config-provider": "^4.0.0",
+ "@smithy/util-middleware": "^4.0.5",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/core": {
+ "version": "3.8.0",
+ "resolved": "https://registry.npmjs.org/@smithy/core/-/core-3.8.0.tgz",
+ "integrity": "sha512-EYqsIYJmkR1VhVE9pccnk353xhs+lB6btdutJEtsp7R055haMJp2yE16eSxw8fv+G0WUY6vqxyYOP8kOqawxYQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/middleware-serde": "^4.0.9",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/types": "^4.3.2",
+ "@smithy/util-base64": "^4.0.0",
+ "@smithy/util-body-length-browser": "^4.0.0",
+ "@smithy/util-middleware": "^4.0.5",
+ "@smithy/util-stream": "^4.2.4",
+ "@smithy/util-utf8": "^4.0.0",
+ "@types/uuid": "^9.0.1",
+ "tslib": "^2.6.2",
+ "uuid": "^9.0.1"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/credential-provider-imds": {
+ "version": "4.0.7",
+ "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-4.0.7.tgz",
+ "integrity": "sha512-dDzrMXA8d8riFNiPvytxn0mNwR4B3h8lgrQ5UjAGu6T9z/kRg/Xncf4tEQHE/+t25sY8IH3CowcmWi+1U5B1Gw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/node-config-provider": "^4.1.4",
+ "@smithy/property-provider": "^4.0.5",
+ "@smithy/types": "^4.3.2",
+ "@smithy/url-parser": "^4.0.5",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/fetch-http-handler": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-5.1.1.tgz",
+ "integrity": "sha512-61WjM0PWmZJR+SnmzaKI7t7G0UkkNFboDpzIdzSoy7TByUzlxo18Qlh9s71qug4AY4hlH/CwXdubMtkcNEb/sQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/querystring-builder": "^4.0.5",
+ "@smithy/types": "^4.3.2",
+ "@smithy/util-base64": "^4.0.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/hash-node": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-4.0.5.tgz",
+ "integrity": "sha512-cv1HHkKhpyRb6ahD8Vcfb2Hgz67vNIXEp2vnhzfxLFGRukLCNEA5QdsorbUEzXma1Rco0u3rx5VTqbM06GcZqQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/types": "^4.3.2",
+ "@smithy/util-buffer-from": "^4.0.0",
+ "@smithy/util-utf8": "^4.0.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/invalid-dependency": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-4.0.5.tgz",
+ "integrity": "sha512-IVnb78Qtf7EJpoEVo7qJ8BEXQwgC4n3igeJNNKEj/MLYtapnx8A67Zt/J3RXAj2xSO1910zk0LdFiygSemuLow==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/types": "^4.3.2",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/is-array-buffer": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-4.0.0.tgz",
+ "integrity": "sha512-saYhF8ZZNoJDTvJBEWgeBccCg+yvp1CX+ed12yORU3NilJScfc6gfch2oVb4QgxZrGUx3/ZJlb+c/dJbyupxlw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/middleware-content-length": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-4.0.5.tgz",
+ "integrity": "sha512-l1jlNZoYzoCC7p0zCtBDE5OBXZ95yMKlRlftooE5jPWQn4YBPLgsp+oeHp7iMHaTGoUdFqmHOPa8c9G3gBsRpQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/types": "^4.3.2",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/middleware-endpoint": {
+ "version": "4.1.18",
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-4.1.18.tgz",
+ "integrity": "sha512-ZhvqcVRPZxnZlokcPaTwb+r+h4yOIOCJmx0v2d1bpVlmP465g3qpVSf7wxcq5zZdu4jb0H4yIMxuPwDJSQc3MQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/core": "^3.8.0",
+ "@smithy/middleware-serde": "^4.0.9",
+ "@smithy/node-config-provider": "^4.1.4",
+ "@smithy/shared-ini-file-loader": "^4.0.5",
+ "@smithy/types": "^4.3.2",
+ "@smithy/url-parser": "^4.0.5",
+ "@smithy/util-middleware": "^4.0.5",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/middleware-retry": {
+ "version": "4.1.19",
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-4.1.19.tgz",
+ "integrity": "sha512-X58zx/NVECjeuUB6A8HBu4bhx72EoUz+T5jTMIyeNKx2lf+Gs9TmWPNNkH+5QF0COjpInP/xSpJGJ7xEnAklQQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/node-config-provider": "^4.1.4",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/service-error-classification": "^4.0.7",
+ "@smithy/smithy-client": "^4.4.10",
+ "@smithy/types": "^4.3.2",
+ "@smithy/util-middleware": "^4.0.5",
+ "@smithy/util-retry": "^4.0.7",
+ "@types/uuid": "^9.0.1",
+ "tslib": "^2.6.2",
+ "uuid": "^9.0.1"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/middleware-serde": {
+ "version": "4.0.9",
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-4.0.9.tgz",
+ "integrity": "sha512-uAFFR4dpeoJPGz8x9mhxp+RPjo5wW0QEEIPPPbLXiRRWeCATf/Km3gKIVR5vaP8bN1kgsPhcEeh+IZvUlBv6Xg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/types": "^4.3.2",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/middleware-stack": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-4.0.5.tgz",
+ "integrity": "sha512-/yoHDXZPh3ocRVyeWQFvC44u8seu3eYzZRveCMfgMOBcNKnAmOvjbL9+Cp5XKSIi9iYA9PECUuW2teDAk8T+OQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/types": "^4.3.2",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/node-config-provider": {
+ "version": "4.1.4",
+ "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-4.1.4.tgz",
+ "integrity": "sha512-+UDQV/k42jLEPPHSn39l0Bmc4sB1xtdI9Gd47fzo/0PbXzJ7ylgaOByVjF5EeQIumkepnrJyfx86dPa9p47Y+w==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/property-provider": "^4.0.5",
+ "@smithy/shared-ini-file-loader": "^4.0.5",
+ "@smithy/types": "^4.3.2",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/node-http-handler": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-4.1.1.tgz",
+ "integrity": "sha512-RHnlHqFpoVdjSPPiYy/t40Zovf3BBHc2oemgD7VsVTFFZrU5erFFe0n52OANZZ/5sbshgD93sOh5r6I35Xmpaw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/abort-controller": "^4.0.5",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/querystring-builder": "^4.0.5",
+ "@smithy/types": "^4.3.2",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/property-provider": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-4.0.5.tgz",
+ "integrity": "sha512-R/bswf59T/n9ZgfgUICAZoWYKBHcsVDurAGX88zsiUtOTA/xUAPyiT+qkNCPwFn43pZqN84M4MiUsbSGQmgFIQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/types": "^4.3.2",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/protocol-http": {
+ "version": "5.1.3",
+ "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-5.1.3.tgz",
+ "integrity": "sha512-fCJd2ZR7D22XhDY0l+92pUag/7je2BztPRQ01gU5bMChcyI0rlly7QFibnYHzcxDvccMjlpM/Q1ev8ceRIb48w==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/types": "^4.3.2",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/querystring-builder": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-4.0.5.tgz",
+ "integrity": "sha512-NJeSCU57piZ56c+/wY+AbAw6rxCCAOZLCIniRE7wqvndqxcKKDOXzwWjrY7wGKEISfhL9gBbAaWWgHsUGedk+A==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/types": "^4.3.2",
+ "@smithy/util-uri-escape": "^4.0.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/querystring-parser": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-4.0.5.tgz",
+ "integrity": "sha512-6SV7md2CzNG/WUeTjVe6Dj8noH32r4MnUeFKZrnVYsQxpGSIcphAanQMayi8jJLZAWm6pdM9ZXvKCpWOsIGg0w==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/types": "^4.3.2",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/service-error-classification": {
+ "version": "4.0.7",
+ "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-4.0.7.tgz",
+ "integrity": "sha512-XvRHOipqpwNhEjDf2L5gJowZEm5nsxC16pAZOeEcsygdjv9A2jdOh3YoDQvOXBGTsaJk6mNWtzWalOB9976Wlg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/types": "^4.3.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/shared-ini-file-loader": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-4.0.5.tgz",
+ "integrity": "sha512-YVVwehRDuehgoXdEL4r1tAAzdaDgaC9EQvhK0lEbfnbrd0bd5+CTQumbdPryX3J2shT7ZqQE+jPW4lmNBAB8JQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/types": "^4.3.2",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/signature-v4": {
+ "version": "5.1.3",
+ "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-5.1.3.tgz",
+ "integrity": "sha512-mARDSXSEgllNzMw6N+mC+r1AQlEBO3meEAkR/UlfAgnMzJUB3goRBWgip1EAMG99wh36MDqzo86SfIX5Y+VEaw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/is-array-buffer": "^4.0.0",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/types": "^4.3.2",
+ "@smithy/util-hex-encoding": "^4.0.0",
+ "@smithy/util-middleware": "^4.0.5",
+ "@smithy/util-uri-escape": "^4.0.0",
+ "@smithy/util-utf8": "^4.0.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/smithy-client": {
+ "version": "4.4.10",
+ "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-4.4.10.tgz",
+ "integrity": "sha512-iW6HjXqN0oPtRS0NK/zzZ4zZeGESIFcxj2FkWed3mcK8jdSdHzvnCKXSjvewESKAgGKAbJRA+OsaqKhkdYRbQQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/core": "^3.8.0",
+ "@smithy/middleware-endpoint": "^4.1.18",
+ "@smithy/middleware-stack": "^4.0.5",
+ "@smithy/protocol-http": "^5.1.3",
+ "@smithy/types": "^4.3.2",
+ "@smithy/util-stream": "^4.2.4",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/types": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@smithy/types/-/types-4.3.2.tgz",
+ "integrity": "sha512-QO4zghLxiQ5W9UZmX2Lo0nta2PuE1sSrXUYDoaB6HMR762C0P7v/HEPHf6ZdglTVssJG1bsrSBxdc3quvDSihw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/url-parser": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-4.0.5.tgz",
+ "integrity": "sha512-j+733Um7f1/DXjYhCbvNXABV53NyCRRA54C7bNEIxNPs0YjfRxeMKjjgm2jvTYrciZyCjsicHwQ6Q0ylo+NAUw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/querystring-parser": "^4.0.5",
+ "@smithy/types": "^4.3.2",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/util-base64": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-4.0.0.tgz",
+ "integrity": "sha512-CvHfCmO2mchox9kjrtzoHkWHxjHZzaFojLc8quxXY7WAAMAg43nuxwv95tATVgQFNDwd4M9S1qFzj40Ul41Kmg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/util-buffer-from": "^4.0.0",
+ "@smithy/util-utf8": "^4.0.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/util-body-length-browser": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-4.0.0.tgz",
+ "integrity": "sha512-sNi3DL0/k64/LO3A256M+m3CDdG6V7WKWHdAiBBMUN8S3hK3aMPhwnPik2A/a2ONN+9doY9UxaLfgqsIRg69QA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/util-body-length-node": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-4.0.0.tgz",
+ "integrity": "sha512-q0iDP3VsZzqJyje8xJWEJCNIu3lktUGVoSy1KB0UWym2CL1siV3artm+u1DFYTLejpsrdGyCSWBdGNjJzfDPjg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/util-buffer-from": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-4.0.0.tgz",
+ "integrity": "sha512-9TOQ7781sZvddgO8nxueKi3+yGvkY35kotA0Y6BWRajAv8jjmigQ1sBwz0UX47pQMYXJPahSKEKYFgt+rXdcug==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/is-array-buffer": "^4.0.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/util-config-provider": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-4.0.0.tgz",
+ "integrity": "sha512-L1RBVzLyfE8OXH+1hsJ8p+acNUSirQnWQ6/EgpchV88G6zGBTDPdXiiExei6Z1wR2RxYvxY/XLw6AMNCCt8H3w==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/util-defaults-mode-browser": {
+ "version": "4.0.26",
+ "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-4.0.26.tgz",
+ "integrity": "sha512-xgl75aHIS/3rrGp7iTxQAOELYeyiwBu+eEgAk4xfKwJJ0L8VUjhO2shsDpeil54BOFsqmk5xfdesiewbUY5tKQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/property-provider": "^4.0.5",
+ "@smithy/smithy-client": "^4.4.10",
+ "@smithy/types": "^4.3.2",
+ "bowser": "^2.11.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/util-defaults-mode-node": {
+ "version": "4.0.26",
+ "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-4.0.26.tgz",
+ "integrity": "sha512-z81yyIkGiLLYVDetKTUeCZQ8x20EEzvQjrqJtb/mXnevLq2+w3XCEWTJ2pMp401b6BkEkHVfXb/cROBpVauLMQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/config-resolver": "^4.1.5",
+ "@smithy/credential-provider-imds": "^4.0.7",
+ "@smithy/node-config-provider": "^4.1.4",
+ "@smithy/property-provider": "^4.0.5",
+ "@smithy/smithy-client": "^4.4.10",
+ "@smithy/types": "^4.3.2",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/util-endpoints": {
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-3.0.7.tgz",
+ "integrity": "sha512-klGBP+RpBp6V5JbrY2C/VKnHXn3d5V2YrifZbmMY8os7M6m8wdYFoO6w/fe5VkP+YVwrEktW3IWYaSQVNZJ8oQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/node-config-provider": "^4.1.4",
+ "@smithy/types": "^4.3.2",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/util-hex-encoding": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-4.0.0.tgz",
+ "integrity": "sha512-Yk5mLhHtfIgW2W2WQZWSg5kuMZCVbvhFmC7rV4IO2QqnZdbEFPmQnCcGMAX2z/8Qj3B9hYYNjZOhWym+RwhePw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/util-middleware": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-4.0.5.tgz",
+ "integrity": "sha512-N40PfqsZHRSsByGB81HhSo+uvMxEHT+9e255S53pfBw/wI6WKDI7Jw9oyu5tJTLwZzV5DsMha3ji8jk9dsHmQQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/types": "^4.3.2",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/util-retry": {
+ "version": "4.0.7",
+ "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-4.0.7.tgz",
+ "integrity": "sha512-TTO6rt0ppK70alZpkjwy+3nQlTiqNfoXja+qwuAchIEAIoSZW8Qyd76dvBv3I5bCpE38APafG23Y/u270NspiQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/service-error-classification": "^4.0.7",
+ "@smithy/types": "^4.3.2",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/util-stream": {
+ "version": "4.2.4",
+ "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-4.2.4.tgz",
+ "integrity": "sha512-vSKnvNZX2BXzl0U2RgCLOwWaAP9x/ddd/XobPK02pCbzRm5s55M53uwb1rl/Ts7RXZvdJZerPkA+en2FDghLuQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/fetch-http-handler": "^5.1.1",
+ "@smithy/node-http-handler": "^4.1.1",
+ "@smithy/types": "^4.3.2",
+ "@smithy/util-base64": "^4.0.0",
+ "@smithy/util-buffer-from": "^4.0.0",
+ "@smithy/util-hex-encoding": "^4.0.0",
+ "@smithy/util-utf8": "^4.0.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/util-uri-escape": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-4.0.0.tgz",
+ "integrity": "sha512-77yfbCbQMtgtTylO9itEAdpPXSog3ZxMe09AEhm0dU0NLTalV70ghDZFR+Nfi1C60jnJoh/Re4090/DuZh2Omg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/util-utf8": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-4.0.0.tgz",
+ "integrity": "sha512-b+zebfKCfRdgNJDknHCob3O7FpeYQN6ZG6YLExMcasDHsCXlsXCEuiPZeLnJLpwa5dvPetGlnGCiMHuLwGvFow==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/util-buffer-from": "^4.0.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@types/uuid": {
+ "version": "9.0.8",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz",
+ "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==",
+ "license": "MIT"
+ },
+ "node_modules/bowser": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.12.0.tgz",
+ "integrity": "sha512-HcOcTudTeEWgbHh0Y1Tyb6fdeR71m4b/QACf0D4KswGTsNeIJQmg38mRENZPAYPZvGFN3fk3604XbQEPdxXdKg==",
+ "license": "MIT"
+ },
+ "node_modules/fast-xml-parser": {
+ "version": "5.2.5",
+ "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.2.5.tgz",
+ "integrity": "sha512-pfX9uG9Ki0yekDHx2SiuRIyFdyAr1kMIMitPvb0YBo8SUfKvia7w7FIyd/l6av85pFYRhZscS75MwMnbvY+hcQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/NaturalIntelligence"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "strnum": "^2.1.0"
+ },
+ "bin": {
+ "fxparser": "src/cli/cli.js"
+ }
+ },
+ "node_modules/strnum": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/strnum/-/strnum-2.1.1.tgz",
+ "integrity": "sha512-7ZvoFTiCnGxBtDqJ//Cu6fWtZtc7Y3x+QOirG15wztbdngGSkht27o2pyGWrVy0b4WAy3jbKmnoK6g5VlVNUUw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/NaturalIntelligence"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/tslib": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+ "license": "0BSD"
+ },
+ "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"
+ ],
+ "license": "MIT",
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ }
+ }
+ }
+}
diff --git a/packages/cdk/custom-resources/apply-tags/package.json b/packages/cdk/custom-resources/apply-tags/package.json
new file mode 100644
index 000000000..cd0b50acb
--- /dev/null
+++ b/packages/cdk/custom-resources/apply-tags/package.json
@@ -0,0 +1,6 @@
+{
+ "private": true,
+ "dependencies": {
+ "@aws-sdk/client-opensearchserverless": "^3.840.0"
+ }
+}
diff --git a/packages/cdk/custom-resources/oss-index.js b/packages/cdk/custom-resources/opensearch-index/oss-index.js
similarity index 100%
rename from packages/cdk/custom-resources/oss-index.js
rename to packages/cdk/custom-resources/opensearch-index/oss-index.js
diff --git a/packages/cdk/custom-resources/package-lock.json b/packages/cdk/custom-resources/opensearch-index/package-lock.json
similarity index 55%
rename from packages/cdk/custom-resources/package-lock.json
rename to packages/cdk/custom-resources/opensearch-index/package-lock.json
index 1deb8db18..163a2fe71 100644
--- a/packages/cdk/custom-resources/package-lock.json
+++ b/packages/cdk/custom-resources/opensearch-index/package-lock.json
@@ -1,10 +1,11 @@
{
- "name": "custom-resources",
+ "name": "opensearch-index",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"dependencies": {
+ "@aws-sdk/client-opensearchserverless": "^3.840.0",
"@aws-sdk/credential-provider-node": "^3.565.0",
"@opensearch-project/opensearch": "^3.4.0"
}
@@ -134,48 +135,100 @@
"node": ">=14.0.0"
}
},
+ "node_modules/@aws-sdk/client-opensearchserverless": {
+ "version": "3.840.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-opensearchserverless/-/client-opensearchserverless-3.840.0.tgz",
+ "integrity": "sha512-GA9i0281MYIwobfWlcNfbzTs9jY560FUyQRx0k9xx4vFHv4SaQJjstCXnsxrKU/JZZiSbujSDXNIWpXWCNvO/Q==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-crypto/sha256-browser": "5.2.0",
+ "@aws-crypto/sha256-js": "5.2.0",
+ "@aws-sdk/core": "3.840.0",
+ "@aws-sdk/credential-provider-node": "3.840.0",
+ "@aws-sdk/middleware-host-header": "3.840.0",
+ "@aws-sdk/middleware-logger": "3.840.0",
+ "@aws-sdk/middleware-recursion-detection": "3.840.0",
+ "@aws-sdk/middleware-user-agent": "3.840.0",
+ "@aws-sdk/region-config-resolver": "3.840.0",
+ "@aws-sdk/types": "3.840.0",
+ "@aws-sdk/util-endpoints": "3.840.0",
+ "@aws-sdk/util-user-agent-browser": "3.840.0",
+ "@aws-sdk/util-user-agent-node": "3.840.0",
+ "@smithy/config-resolver": "^4.1.4",
+ "@smithy/core": "^3.6.0",
+ "@smithy/fetch-http-handler": "^5.0.4",
+ "@smithy/hash-node": "^4.0.4",
+ "@smithy/invalid-dependency": "^4.0.4",
+ "@smithy/middleware-content-length": "^4.0.4",
+ "@smithy/middleware-endpoint": "^4.1.13",
+ "@smithy/middleware-retry": "^4.1.14",
+ "@smithy/middleware-serde": "^4.0.8",
+ "@smithy/middleware-stack": "^4.0.4",
+ "@smithy/node-config-provider": "^4.1.3",
+ "@smithy/node-http-handler": "^4.0.6",
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/smithy-client": "^4.4.5",
+ "@smithy/types": "^4.3.1",
+ "@smithy/url-parser": "^4.0.4",
+ "@smithy/util-base64": "^4.0.0",
+ "@smithy/util-body-length-browser": "^4.0.0",
+ "@smithy/util-body-length-node": "^4.0.0",
+ "@smithy/util-defaults-mode-browser": "^4.0.21",
+ "@smithy/util-defaults-mode-node": "^4.0.21",
+ "@smithy/util-endpoints": "^3.0.6",
+ "@smithy/util-middleware": "^4.0.4",
+ "@smithy/util-retry": "^4.0.6",
+ "@smithy/util-utf8": "^4.0.0",
+ "@types/uuid": "^9.0.1",
+ "tslib": "^2.6.2",
+ "uuid": "^9.0.1"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
"node_modules/@aws-sdk/client-sso": {
- "version": "3.758.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.758.0.tgz",
- "integrity": "sha512-BoGO6IIWrLyLxQG6txJw6RT2urmbtlwfggapNCrNPyYjlXpzTSJhBYjndg7TpDATFd0SXL0zm8y/tXsUXNkdYQ==",
+ "version": "3.840.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.840.0.tgz",
+ "integrity": "sha512-3Zp+FWN2hhmKdpS0Ragi5V2ZPsZNScE3jlbgoJjzjI/roHZqO+e3/+XFN4TlM0DsPKYJNp+1TAjmhxN6rOnfYA==",
"license": "Apache-2.0",
"dependencies": {
"@aws-crypto/sha256-browser": "5.2.0",
"@aws-crypto/sha256-js": "5.2.0",
- "@aws-sdk/core": "3.758.0",
- "@aws-sdk/middleware-host-header": "3.734.0",
- "@aws-sdk/middleware-logger": "3.734.0",
- "@aws-sdk/middleware-recursion-detection": "3.734.0",
- "@aws-sdk/middleware-user-agent": "3.758.0",
- "@aws-sdk/region-config-resolver": "3.734.0",
- "@aws-sdk/types": "3.734.0",
- "@aws-sdk/util-endpoints": "3.743.0",
- "@aws-sdk/util-user-agent-browser": "3.734.0",
- "@aws-sdk/util-user-agent-node": "3.758.0",
- "@smithy/config-resolver": "^4.0.1",
- "@smithy/core": "^3.1.5",
- "@smithy/fetch-http-handler": "^5.0.1",
- "@smithy/hash-node": "^4.0.1",
- "@smithy/invalid-dependency": "^4.0.1",
- "@smithy/middleware-content-length": "^4.0.1",
- "@smithy/middleware-endpoint": "^4.0.6",
- "@smithy/middleware-retry": "^4.0.7",
- "@smithy/middleware-serde": "^4.0.2",
- "@smithy/middleware-stack": "^4.0.1",
- "@smithy/node-config-provider": "^4.0.1",
- "@smithy/node-http-handler": "^4.0.3",
- "@smithy/protocol-http": "^5.0.1",
- "@smithy/smithy-client": "^4.1.6",
- "@smithy/types": "^4.1.0",
- "@smithy/url-parser": "^4.0.1",
+ "@aws-sdk/core": "3.840.0",
+ "@aws-sdk/middleware-host-header": "3.840.0",
+ "@aws-sdk/middleware-logger": "3.840.0",
+ "@aws-sdk/middleware-recursion-detection": "3.840.0",
+ "@aws-sdk/middleware-user-agent": "3.840.0",
+ "@aws-sdk/region-config-resolver": "3.840.0",
+ "@aws-sdk/types": "3.840.0",
+ "@aws-sdk/util-endpoints": "3.840.0",
+ "@aws-sdk/util-user-agent-browser": "3.840.0",
+ "@aws-sdk/util-user-agent-node": "3.840.0",
+ "@smithy/config-resolver": "^4.1.4",
+ "@smithy/core": "^3.6.0",
+ "@smithy/fetch-http-handler": "^5.0.4",
+ "@smithy/hash-node": "^4.0.4",
+ "@smithy/invalid-dependency": "^4.0.4",
+ "@smithy/middleware-content-length": "^4.0.4",
+ "@smithy/middleware-endpoint": "^4.1.13",
+ "@smithy/middleware-retry": "^4.1.14",
+ "@smithy/middleware-serde": "^4.0.8",
+ "@smithy/middleware-stack": "^4.0.4",
+ "@smithy/node-config-provider": "^4.1.3",
+ "@smithy/node-http-handler": "^4.0.6",
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/smithy-client": "^4.4.5",
+ "@smithy/types": "^4.3.1",
+ "@smithy/url-parser": "^4.0.4",
"@smithy/util-base64": "^4.0.0",
"@smithy/util-body-length-browser": "^4.0.0",
"@smithy/util-body-length-node": "^4.0.0",
- "@smithy/util-defaults-mode-browser": "^4.0.7",
- "@smithy/util-defaults-mode-node": "^4.0.7",
- "@smithy/util-endpoints": "^3.0.1",
- "@smithy/util-middleware": "^4.0.1",
- "@smithy/util-retry": "^4.0.1",
+ "@smithy/util-defaults-mode-browser": "^4.0.21",
+ "@smithy/util-defaults-mode-node": "^4.0.21",
+ "@smithy/util-endpoints": "^3.0.6",
+ "@smithy/util-middleware": "^4.0.4",
+ "@smithy/util-retry": "^4.0.6",
"@smithy/util-utf8": "^4.0.0",
"tslib": "^2.6.2"
},
@@ -184,20 +237,24 @@
}
},
"node_modules/@aws-sdk/core": {
- "version": "3.758.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.758.0.tgz",
- "integrity": "sha512-0RswbdR9jt/XKemaLNuxi2gGr4xGlHyGxkTdhSQzCyUe9A9OPCoLl3rIESRguQEech+oJnbHk/wuiwHqTuP9sg==",
- "license": "Apache-2.0",
- "dependencies": {
- "@aws-sdk/types": "3.734.0",
- "@smithy/core": "^3.1.5",
- "@smithy/node-config-provider": "^4.0.1",
- "@smithy/property-provider": "^4.0.1",
- "@smithy/protocol-http": "^5.0.1",
- "@smithy/signature-v4": "^5.0.1",
- "@smithy/smithy-client": "^4.1.6",
- "@smithy/types": "^4.1.0",
- "@smithy/util-middleware": "^4.0.1",
+ "version": "3.840.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.840.0.tgz",
+ "integrity": "sha512-x3Zgb39tF1h2XpU+yA4OAAQlW6LVEfXNlSedSYJ7HGKXqA/E9h3rWQVpYfhXXVVsLdYXdNw5KBUkoAoruoZSZA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/types": "3.840.0",
+ "@aws-sdk/xml-builder": "3.821.0",
+ "@smithy/core": "^3.6.0",
+ "@smithy/node-config-provider": "^4.1.3",
+ "@smithy/property-provider": "^4.0.4",
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/signature-v4": "^5.1.2",
+ "@smithy/smithy-client": "^4.4.5",
+ "@smithy/types": "^4.3.1",
+ "@smithy/util-base64": "^4.0.0",
+ "@smithy/util-body-length-browser": "^4.0.0",
+ "@smithy/util-middleware": "^4.0.4",
+ "@smithy/util-utf8": "^4.0.0",
"fast-xml-parser": "4.4.1",
"tslib": "^2.6.2"
},
@@ -206,15 +263,15 @@
}
},
"node_modules/@aws-sdk/credential-provider-env": {
- "version": "3.758.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.758.0.tgz",
- "integrity": "sha512-N27eFoRrO6MeUNumtNHDW9WOiwfd59LPXPqDrIa3kWL/s+fOKFHb9xIcF++bAwtcZnAxKkgpDCUP+INNZskE+w==",
+ "version": "3.840.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.840.0.tgz",
+ "integrity": "sha512-EzF6VcJK7XvQ/G15AVEfJzN2mNXU8fcVpXo4bRyr1S6t2q5zx6UPH/XjDbn18xyUmOq01t+r8gG+TmHEVo18fA==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-sdk/core": "3.758.0",
- "@aws-sdk/types": "3.734.0",
- "@smithy/property-provider": "^4.0.1",
- "@smithy/types": "^4.1.0",
+ "@aws-sdk/core": "3.840.0",
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/property-provider": "^4.0.4",
+ "@smithy/types": "^4.3.1",
"tslib": "^2.6.2"
},
"engines": {
@@ -222,20 +279,20 @@
}
},
"node_modules/@aws-sdk/credential-provider-http": {
- "version": "3.758.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.758.0.tgz",
- "integrity": "sha512-Xt9/U8qUCiw1hihztWkNeIR+arg6P+yda10OuCHX6kFVx3auTlU7+hCqs3UxqniGU4dguHuftf3mRpi5/GJ33Q==",
+ "version": "3.840.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.840.0.tgz",
+ "integrity": "sha512-wbnUiPGLVea6mXbUh04fu+VJmGkQvmToPeTYdHE8eRZq3NRDi3t3WltT+jArLBKD/4NppRpMjf2ju4coMCz91g==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-sdk/core": "3.758.0",
- "@aws-sdk/types": "3.734.0",
- "@smithy/fetch-http-handler": "^5.0.1",
- "@smithy/node-http-handler": "^4.0.3",
- "@smithy/property-provider": "^4.0.1",
- "@smithy/protocol-http": "^5.0.1",
- "@smithy/smithy-client": "^4.1.6",
- "@smithy/types": "^4.1.0",
- "@smithy/util-stream": "^4.1.2",
+ "@aws-sdk/core": "3.840.0",
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/fetch-http-handler": "^5.0.4",
+ "@smithy/node-http-handler": "^4.0.6",
+ "@smithy/property-provider": "^4.0.4",
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/smithy-client": "^4.4.5",
+ "@smithy/types": "^4.3.1",
+ "@smithy/util-stream": "^4.2.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -243,23 +300,23 @@
}
},
"node_modules/@aws-sdk/credential-provider-ini": {
- "version": "3.758.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.758.0.tgz",
- "integrity": "sha512-cymSKMcP5d+OsgetoIZ5QCe1wnp2Q/tq+uIxVdh9MbfdBBEnl9Ecq6dH6VlYS89sp4QKuxHxkWXVnbXU3Q19Aw==",
+ "version": "3.840.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.840.0.tgz",
+ "integrity": "sha512-7F290BsWydShHb+7InXd+IjJc3mlEIm9I0R57F/Pjl1xZB69MdkhVGCnuETWoBt4g53ktJd6NEjzm/iAhFXFmw==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-sdk/core": "3.758.0",
- "@aws-sdk/credential-provider-env": "3.758.0",
- "@aws-sdk/credential-provider-http": "3.758.0",
- "@aws-sdk/credential-provider-process": "3.758.0",
- "@aws-sdk/credential-provider-sso": "3.758.0",
- "@aws-sdk/credential-provider-web-identity": "3.758.0",
- "@aws-sdk/nested-clients": "3.758.0",
- "@aws-sdk/types": "3.734.0",
- "@smithy/credential-provider-imds": "^4.0.1",
- "@smithy/property-provider": "^4.0.1",
- "@smithy/shared-ini-file-loader": "^4.0.1",
- "@smithy/types": "^4.1.0",
+ "@aws-sdk/core": "3.840.0",
+ "@aws-sdk/credential-provider-env": "3.840.0",
+ "@aws-sdk/credential-provider-http": "3.840.0",
+ "@aws-sdk/credential-provider-process": "3.840.0",
+ "@aws-sdk/credential-provider-sso": "3.840.0",
+ "@aws-sdk/credential-provider-web-identity": "3.840.0",
+ "@aws-sdk/nested-clients": "3.840.0",
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/credential-provider-imds": "^4.0.6",
+ "@smithy/property-provider": "^4.0.4",
+ "@smithy/shared-ini-file-loader": "^4.0.4",
+ "@smithy/types": "^4.3.1",
"tslib": "^2.6.2"
},
"engines": {
@@ -267,22 +324,22 @@
}
},
"node_modules/@aws-sdk/credential-provider-node": {
- "version": "3.758.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.758.0.tgz",
- "integrity": "sha512-+DaMv63wiq7pJrhIQzZYMn4hSarKiizDoJRvyR7WGhnn0oQ/getX9Z0VNCV3i7lIFoLNTb7WMmQ9k7+z/uD5EQ==",
+ "version": "3.840.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.840.0.tgz",
+ "integrity": "sha512-KufP8JnxA31wxklLm63evUPSFApGcH8X86z3mv9SRbpCm5ycgWIGVCTXpTOdgq6rPZrwT9pftzv2/b4mV/9clg==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-sdk/credential-provider-env": "3.758.0",
- "@aws-sdk/credential-provider-http": "3.758.0",
- "@aws-sdk/credential-provider-ini": "3.758.0",
- "@aws-sdk/credential-provider-process": "3.758.0",
- "@aws-sdk/credential-provider-sso": "3.758.0",
- "@aws-sdk/credential-provider-web-identity": "3.758.0",
- "@aws-sdk/types": "3.734.0",
- "@smithy/credential-provider-imds": "^4.0.1",
- "@smithy/property-provider": "^4.0.1",
- "@smithy/shared-ini-file-loader": "^4.0.1",
- "@smithy/types": "^4.1.0",
+ "@aws-sdk/credential-provider-env": "3.840.0",
+ "@aws-sdk/credential-provider-http": "3.840.0",
+ "@aws-sdk/credential-provider-ini": "3.840.0",
+ "@aws-sdk/credential-provider-process": "3.840.0",
+ "@aws-sdk/credential-provider-sso": "3.840.0",
+ "@aws-sdk/credential-provider-web-identity": "3.840.0",
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/credential-provider-imds": "^4.0.6",
+ "@smithy/property-provider": "^4.0.4",
+ "@smithy/shared-ini-file-loader": "^4.0.4",
+ "@smithy/types": "^4.3.1",
"tslib": "^2.6.2"
},
"engines": {
@@ -290,16 +347,16 @@
}
},
"node_modules/@aws-sdk/credential-provider-process": {
- "version": "3.758.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.758.0.tgz",
- "integrity": "sha512-AzcY74QTPqcbXWVgjpPZ3HOmxQZYPROIBz2YINF0OQk0MhezDWV/O7Xec+K1+MPGQO3qS6EDrUUlnPLjsqieHA==",
+ "version": "3.840.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.840.0.tgz",
+ "integrity": "sha512-HkDQWHy8tCI4A0Ps2NVtuVYMv9cB4y/IuD/TdOsqeRIAT12h8jDb98BwQPNLAImAOwOWzZJ8Cu0xtSpX7CQhMw==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-sdk/core": "3.758.0",
- "@aws-sdk/types": "3.734.0",
- "@smithy/property-provider": "^4.0.1",
- "@smithy/shared-ini-file-loader": "^4.0.1",
- "@smithy/types": "^4.1.0",
+ "@aws-sdk/core": "3.840.0",
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/property-provider": "^4.0.4",
+ "@smithy/shared-ini-file-loader": "^4.0.4",
+ "@smithy/types": "^4.3.1",
"tslib": "^2.6.2"
},
"engines": {
@@ -307,18 +364,18 @@
}
},
"node_modules/@aws-sdk/credential-provider-sso": {
- "version": "3.758.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.758.0.tgz",
- "integrity": "sha512-x0FYJqcOLUCv8GLLFDYMXRAQKGjoM+L0BG4BiHYZRDf24yQWFCAZsCQAYKo6XZYh2qznbsW6f//qpyJ5b0QVKQ==",
+ "version": "3.840.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.840.0.tgz",
+ "integrity": "sha512-2qgdtdd6R0Z1y0KL8gzzwFUGmhBHSUx4zy85L2XV1CXhpRNwV71SVWJqLDVV5RVWVf9mg50Pm3AWrUC0xb0pcA==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-sdk/client-sso": "3.758.0",
- "@aws-sdk/core": "3.758.0",
- "@aws-sdk/token-providers": "3.758.0",
- "@aws-sdk/types": "3.734.0",
- "@smithy/property-provider": "^4.0.1",
- "@smithy/shared-ini-file-loader": "^4.0.1",
- "@smithy/types": "^4.1.0",
+ "@aws-sdk/client-sso": "3.840.0",
+ "@aws-sdk/core": "3.840.0",
+ "@aws-sdk/token-providers": "3.840.0",
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/property-provider": "^4.0.4",
+ "@smithy/shared-ini-file-loader": "^4.0.4",
+ "@smithy/types": "^4.3.1",
"tslib": "^2.6.2"
},
"engines": {
@@ -326,16 +383,16 @@
}
},
"node_modules/@aws-sdk/credential-provider-web-identity": {
- "version": "3.758.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.758.0.tgz",
- "integrity": "sha512-XGguXhBqiCXMXRxcfCAVPlMbm3VyJTou79r/3mxWddHWF0XbhaQiBIbUz6vobVTD25YQRbWSmSch7VA8kI5Lrw==",
+ "version": "3.840.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.840.0.tgz",
+ "integrity": "sha512-dpEeVXG8uNZSmVXReE4WP0lwoioX2gstk4RnUgrdUE3YaPq8A+hJiVAyc3h+cjDeIqfbsQbZm9qFetKC2LF9dQ==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-sdk/core": "3.758.0",
- "@aws-sdk/nested-clients": "3.758.0",
- "@aws-sdk/types": "3.734.0",
- "@smithy/property-provider": "^4.0.1",
- "@smithy/types": "^4.1.0",
+ "@aws-sdk/core": "3.840.0",
+ "@aws-sdk/nested-clients": "3.840.0",
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/property-provider": "^4.0.4",
+ "@smithy/types": "^4.3.1",
"tslib": "^2.6.2"
},
"engines": {
@@ -343,14 +400,14 @@
}
},
"node_modules/@aws-sdk/middleware-host-header": {
- "version": "3.734.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.734.0.tgz",
- "integrity": "sha512-LW7RRgSOHHBzWZnigNsDIzu3AiwtjeI2X66v+Wn1P1u+eXssy1+up4ZY/h+t2sU4LU36UvEf+jrZti9c6vRnFw==",
+ "version": "3.840.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.840.0.tgz",
+ "integrity": "sha512-ub+hXJAbAje94+Ya6c6eL7sYujoE8D4Bumu1NUI8TXjUhVVn0HzVWQjpRLshdLsUp1AW7XyeJaxyajRaJQ8+Xg==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-sdk/types": "3.734.0",
- "@smithy/protocol-http": "^5.0.1",
- "@smithy/types": "^4.1.0",
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/types": "^4.3.1",
"tslib": "^2.6.2"
},
"engines": {
@@ -358,13 +415,13 @@
}
},
"node_modules/@aws-sdk/middleware-logger": {
- "version": "3.734.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.734.0.tgz",
- "integrity": "sha512-mUMFITpJUW3LcKvFok176eI5zXAUomVtahb9IQBwLzkqFYOrMJvWAvoV4yuxrJ8TlQBG8gyEnkb9SnhZvjg67w==",
+ "version": "3.840.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.840.0.tgz",
+ "integrity": "sha512-lSV8FvjpdllpGaRspywss4CtXV8M7NNNH+2/j86vMH+YCOZ6fu2T/TyFd/tHwZ92vDfHctWkRbQxg0bagqwovA==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-sdk/types": "3.734.0",
- "@smithy/types": "^4.1.0",
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/types": "^4.3.1",
"tslib": "^2.6.2"
},
"engines": {
@@ -372,14 +429,14 @@
}
},
"node_modules/@aws-sdk/middleware-recursion-detection": {
- "version": "3.734.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.734.0.tgz",
- "integrity": "sha512-CUat2d9ITsFc2XsmeiRQO96iWpxSKYFjxvj27Hc7vo87YUHRnfMfnc8jw1EpxEwMcvBD7LsRa6vDNky6AjcrFA==",
+ "version": "3.840.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.840.0.tgz",
+ "integrity": "sha512-Gu7lGDyfddyhIkj1Z1JtrY5NHb5+x/CRiB87GjaSrKxkDaydtX2CU977JIABtt69l9wLbcGDIQ+W0uJ5xPof7g==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-sdk/types": "3.734.0",
- "@smithy/protocol-http": "^5.0.1",
- "@smithy/types": "^4.1.0",
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/types": "^4.3.1",
"tslib": "^2.6.2"
},
"engines": {
@@ -387,17 +444,17 @@
}
},
"node_modules/@aws-sdk/middleware-user-agent": {
- "version": "3.758.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.758.0.tgz",
- "integrity": "sha512-iNyehQXtQlj69JCgfaOssgZD4HeYGOwxcaKeG6F+40cwBjTAi0+Ph1yfDwqk2qiBPIRWJ/9l2LodZbxiBqgrwg==",
+ "version": "3.840.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.840.0.tgz",
+ "integrity": "sha512-hiiMf7BP5ZkAFAvWRcK67Mw/g55ar7OCrvrynC92hunx/xhMkrgSLM0EXIZ1oTn3uql9kH/qqGF0nqsK6K555A==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-sdk/core": "3.758.0",
- "@aws-sdk/types": "3.734.0",
- "@aws-sdk/util-endpoints": "3.743.0",
- "@smithy/core": "^3.1.5",
- "@smithy/protocol-http": "^5.0.1",
- "@smithy/types": "^4.1.0",
+ "@aws-sdk/core": "3.840.0",
+ "@aws-sdk/types": "3.840.0",
+ "@aws-sdk/util-endpoints": "3.840.0",
+ "@smithy/core": "^3.6.0",
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/types": "^4.3.1",
"tslib": "^2.6.2"
},
"engines": {
@@ -405,47 +462,47 @@
}
},
"node_modules/@aws-sdk/nested-clients": {
- "version": "3.758.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/nested-clients/-/nested-clients-3.758.0.tgz",
- "integrity": "sha512-YZ5s7PSvyF3Mt2h1EQulCG93uybprNGbBkPmVuy/HMMfbFTt4iL3SbKjxqvOZelm86epFfj7pvK7FliI2WOEcg==",
+ "version": "3.840.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/nested-clients/-/nested-clients-3.840.0.tgz",
+ "integrity": "sha512-LXYYo9+n4hRqnRSIMXLBb+BLz+cEmjMtTudwK1BF6Bn2RfdDv29KuyeDRrPCS3TwKl7ZKmXUmE9n5UuHAPfBpA==",
"license": "Apache-2.0",
"dependencies": {
"@aws-crypto/sha256-browser": "5.2.0",
"@aws-crypto/sha256-js": "5.2.0",
- "@aws-sdk/core": "3.758.0",
- "@aws-sdk/middleware-host-header": "3.734.0",
- "@aws-sdk/middleware-logger": "3.734.0",
- "@aws-sdk/middleware-recursion-detection": "3.734.0",
- "@aws-sdk/middleware-user-agent": "3.758.0",
- "@aws-sdk/region-config-resolver": "3.734.0",
- "@aws-sdk/types": "3.734.0",
- "@aws-sdk/util-endpoints": "3.743.0",
- "@aws-sdk/util-user-agent-browser": "3.734.0",
- "@aws-sdk/util-user-agent-node": "3.758.0",
- "@smithy/config-resolver": "^4.0.1",
- "@smithy/core": "^3.1.5",
- "@smithy/fetch-http-handler": "^5.0.1",
- "@smithy/hash-node": "^4.0.1",
- "@smithy/invalid-dependency": "^4.0.1",
- "@smithy/middleware-content-length": "^4.0.1",
- "@smithy/middleware-endpoint": "^4.0.6",
- "@smithy/middleware-retry": "^4.0.7",
- "@smithy/middleware-serde": "^4.0.2",
- "@smithy/middleware-stack": "^4.0.1",
- "@smithy/node-config-provider": "^4.0.1",
- "@smithy/node-http-handler": "^4.0.3",
- "@smithy/protocol-http": "^5.0.1",
- "@smithy/smithy-client": "^4.1.6",
- "@smithy/types": "^4.1.0",
- "@smithy/url-parser": "^4.0.1",
+ "@aws-sdk/core": "3.840.0",
+ "@aws-sdk/middleware-host-header": "3.840.0",
+ "@aws-sdk/middleware-logger": "3.840.0",
+ "@aws-sdk/middleware-recursion-detection": "3.840.0",
+ "@aws-sdk/middleware-user-agent": "3.840.0",
+ "@aws-sdk/region-config-resolver": "3.840.0",
+ "@aws-sdk/types": "3.840.0",
+ "@aws-sdk/util-endpoints": "3.840.0",
+ "@aws-sdk/util-user-agent-browser": "3.840.0",
+ "@aws-sdk/util-user-agent-node": "3.840.0",
+ "@smithy/config-resolver": "^4.1.4",
+ "@smithy/core": "^3.6.0",
+ "@smithy/fetch-http-handler": "^5.0.4",
+ "@smithy/hash-node": "^4.0.4",
+ "@smithy/invalid-dependency": "^4.0.4",
+ "@smithy/middleware-content-length": "^4.0.4",
+ "@smithy/middleware-endpoint": "^4.1.13",
+ "@smithy/middleware-retry": "^4.1.14",
+ "@smithy/middleware-serde": "^4.0.8",
+ "@smithy/middleware-stack": "^4.0.4",
+ "@smithy/node-config-provider": "^4.1.3",
+ "@smithy/node-http-handler": "^4.0.6",
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/smithy-client": "^4.4.5",
+ "@smithy/types": "^4.3.1",
+ "@smithy/url-parser": "^4.0.4",
"@smithy/util-base64": "^4.0.0",
"@smithy/util-body-length-browser": "^4.0.0",
"@smithy/util-body-length-node": "^4.0.0",
- "@smithy/util-defaults-mode-browser": "^4.0.7",
- "@smithy/util-defaults-mode-node": "^4.0.7",
- "@smithy/util-endpoints": "^3.0.1",
- "@smithy/util-middleware": "^4.0.1",
- "@smithy/util-retry": "^4.0.1",
+ "@smithy/util-defaults-mode-browser": "^4.0.21",
+ "@smithy/util-defaults-mode-node": "^4.0.21",
+ "@smithy/util-endpoints": "^3.0.6",
+ "@smithy/util-middleware": "^4.0.4",
+ "@smithy/util-retry": "^4.0.6",
"@smithy/util-utf8": "^4.0.0",
"tslib": "^2.6.2"
},
@@ -454,16 +511,16 @@
}
},
"node_modules/@aws-sdk/region-config-resolver": {
- "version": "3.734.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.734.0.tgz",
- "integrity": "sha512-Lvj1kPRC5IuJBr9DyJ9T9/plkh+EfKLy+12s/mykOy1JaKHDpvj+XGy2YO6YgYVOb8JFtaqloid+5COtje4JTQ==",
+ "version": "3.840.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.840.0.tgz",
+ "integrity": "sha512-Qjnxd/yDv9KpIMWr90ZDPtRj0v75AqGC92Lm9+oHXZ8p1MjG5JE2CW0HL8JRgK9iKzgKBL7pPQRXI8FkvEVfrA==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-sdk/types": "3.734.0",
- "@smithy/node-config-provider": "^4.0.1",
- "@smithy/types": "^4.1.0",
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/node-config-provider": "^4.1.3",
+ "@smithy/types": "^4.3.1",
"@smithy/util-config-provider": "^4.0.0",
- "@smithy/util-middleware": "^4.0.1",
+ "@smithy/util-middleware": "^4.0.4",
"tslib": "^2.6.2"
},
"engines": {
@@ -471,16 +528,17 @@
}
},
"node_modules/@aws-sdk/token-providers": {
- "version": "3.758.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.758.0.tgz",
- "integrity": "sha512-ckptN1tNrIfQUaGWm/ayW1ddG+imbKN7HHhjFdS4VfItsP0QQOB0+Ov+tpgb4MoNR4JaUghMIVStjIeHN2ks1w==",
+ "version": "3.840.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.840.0.tgz",
+ "integrity": "sha512-6BuTOLTXvmgwjK7ve7aTg9JaWFdM5UoMolLVPMyh3wTv9Ufalh8oklxYHUBIxsKkBGO2WiHXytveuxH6tAgTYg==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-sdk/nested-clients": "3.758.0",
- "@aws-sdk/types": "3.734.0",
- "@smithy/property-provider": "^4.0.1",
- "@smithy/shared-ini-file-loader": "^4.0.1",
- "@smithy/types": "^4.1.0",
+ "@aws-sdk/core": "3.840.0",
+ "@aws-sdk/nested-clients": "3.840.0",
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/property-provider": "^4.0.4",
+ "@smithy/shared-ini-file-loader": "^4.0.4",
+ "@smithy/types": "^4.3.1",
"tslib": "^2.6.2"
},
"engines": {
@@ -488,12 +546,12 @@
}
},
"node_modules/@aws-sdk/types": {
- "version": "3.734.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.734.0.tgz",
- "integrity": "sha512-o11tSPTT70nAkGV1fN9wm/hAIiLPyWX6SuGf+9JyTp7S/rC2cFWhR26MvA69nplcjNaXVzB0f+QFrLXXjOqCrg==",
+ "version": "3.840.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.840.0.tgz",
+ "integrity": "sha512-xliuHaUFZxEx1NSXeLLZ9Dyu6+EJVQKEoD+yM+zqUo3YDZ7medKJWY6fIOKiPX/N7XbLdBYwajb15Q7IL8KkeA==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.1.0",
+ "@smithy/types": "^4.3.1",
"tslib": "^2.6.2"
},
"engines": {
@@ -501,14 +559,14 @@
}
},
"node_modules/@aws-sdk/util-endpoints": {
- "version": "3.743.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.743.0.tgz",
- "integrity": "sha512-sN1l559zrixeh5x+pttrnd0A3+r34r0tmPkJ/eaaMaAzXqsmKU/xYre9K3FNnsSS1J1k4PEfk/nHDTVUgFYjnw==",
+ "version": "3.840.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.840.0.tgz",
+ "integrity": "sha512-eqE9ROdg/Kk0rj3poutyRCFauPDXIf/WSvCqFiRDDVi6QOnCv/M0g2XW8/jSvkJlOyaXkNCptapIp6BeeFFGYw==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-sdk/types": "3.734.0",
- "@smithy/types": "^4.1.0",
- "@smithy/util-endpoints": "^3.0.1",
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/types": "^4.3.1",
+ "@smithy/util-endpoints": "^3.0.6",
"tslib": "^2.6.2"
},
"engines": {
@@ -528,27 +586,27 @@
}
},
"node_modules/@aws-sdk/util-user-agent-browser": {
- "version": "3.734.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.734.0.tgz",
- "integrity": "sha512-xQTCus6Q9LwUuALW+S76OL0jcWtMOVu14q+GoLnWPUM7QeUw963oQcLhF7oq0CtaLLKyl4GOUfcwc773Zmwwng==",
+ "version": "3.840.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.840.0.tgz",
+ "integrity": "sha512-JdyZM3EhhL4PqwFpttZu1afDpPJCCc3eyZOLi+srpX11LsGj6sThf47TYQN75HT1CarZ7cCdQHGzP2uy3/xHfQ==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-sdk/types": "3.734.0",
- "@smithy/types": "^4.1.0",
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/types": "^4.3.1",
"bowser": "^2.11.0",
"tslib": "^2.6.2"
}
},
"node_modules/@aws-sdk/util-user-agent-node": {
- "version": "3.758.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.758.0.tgz",
- "integrity": "sha512-A5EZw85V6WhoKMV2hbuFRvb9NPlxEErb4HPO6/SPXYY4QrjprIzScHxikqcWv1w4J3apB1wto9LPU3IMsYtfrw==",
+ "version": "3.840.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.840.0.tgz",
+ "integrity": "sha512-Fy5JUEDQU1tPm2Yw/YqRYYc27W5+QD/J4mYvQvdWjUGZLB5q3eLFMGD35Uc28ZFoGMufPr4OCxK/bRfWROBRHQ==",
"license": "Apache-2.0",
"dependencies": {
- "@aws-sdk/middleware-user-agent": "3.758.0",
- "@aws-sdk/types": "3.734.0",
- "@smithy/node-config-provider": "^4.0.1",
- "@smithy/types": "^4.1.0",
+ "@aws-sdk/middleware-user-agent": "3.840.0",
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/node-config-provider": "^4.1.3",
+ "@smithy/types": "^4.3.1",
"tslib": "^2.6.2"
},
"engines": {
@@ -563,6 +621,19 @@
}
}
},
+ "node_modules/@aws-sdk/xml-builder": {
+ "version": "3.821.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.821.0.tgz",
+ "integrity": "sha512-DIIotRnefVL6DiaHtO6/21DhJ4JZnnIwdNbpwiAhdt/AVbttcE4yw925gsjur0OGv5BTYXQXU3YnANBYnZjuQA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
"node_modules/@opensearch-project/opensearch": {
"version": "3.4.0",
"resolved": "https://registry.npmjs.org/@opensearch-project/opensearch/-/opensearch-3.4.0.tgz",
@@ -581,12 +652,12 @@
}
},
"node_modules/@smithy/abort-controller": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-4.0.1.tgz",
- "integrity": "sha512-fiUIYgIgRjMWznk6iLJz35K2YxSLHzLBA/RC6lBrKfQ8fHbPfvk7Pk9UvpKoHgJjI18MnbPuEju53zcVy6KF1g==",
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-4.0.4.tgz",
+ "integrity": "sha512-gJnEjZMvigPDQWHrW3oPrFhQtkrgqBkyjj3pCIdF3A5M6vsZODG93KNlfJprv6bp4245bdT32fsHK4kkH3KYDA==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.1.0",
+ "@smithy/types": "^4.3.1",
"tslib": "^2.6.2"
},
"engines": {
@@ -594,15 +665,15 @@
}
},
"node_modules/@smithy/config-resolver": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-4.0.1.tgz",
- "integrity": "sha512-Igfg8lKu3dRVkTSEm98QpZUvKEOa71jDX4vKRcvJVyRc3UgN3j7vFMf0s7xLQhYmKa8kyJGQgUJDOV5V3neVlQ==",
+ "version": "4.1.4",
+ "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-4.1.4.tgz",
+ "integrity": "sha512-prmU+rDddxHOH0oNcwemL+SwnzcG65sBF2yXRO7aeXIn/xTlq2pX7JLVbkBnVLowHLg4/OL4+jBmv9hVrVGS+w==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/node-config-provider": "^4.0.1",
- "@smithy/types": "^4.1.0",
+ "@smithy/node-config-provider": "^4.1.3",
+ "@smithy/types": "^4.3.1",
"@smithy/util-config-provider": "^4.0.0",
- "@smithy/util-middleware": "^4.0.1",
+ "@smithy/util-middleware": "^4.0.4",
"tslib": "^2.6.2"
},
"engines": {
@@ -610,17 +681,18 @@
}
},
"node_modules/@smithy/core": {
- "version": "3.1.5",
- "resolved": "https://registry.npmjs.org/@smithy/core/-/core-3.1.5.tgz",
- "integrity": "sha512-HLclGWPkCsekQgsyzxLhCQLa8THWXtB5PxyYN+2O6nkyLt550KQKTlbV2D1/j5dNIQapAZM1+qFnpBFxZQkgCA==",
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/@smithy/core/-/core-3.6.0.tgz",
+ "integrity": "sha512-Pgvfb+TQ4wUNLyHzvgCP4aYZMh16y7GcfF59oirRHcgGgkH1e/s9C0nv/v3WP+Quymyr5je71HeFQCwh+44XLg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/middleware-serde": "^4.0.2",
- "@smithy/protocol-http": "^5.0.1",
- "@smithy/types": "^4.1.0",
+ "@smithy/middleware-serde": "^4.0.8",
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/types": "^4.3.1",
+ "@smithy/util-base64": "^4.0.0",
"@smithy/util-body-length-browser": "^4.0.0",
- "@smithy/util-middleware": "^4.0.1",
- "@smithy/util-stream": "^4.1.2",
+ "@smithy/util-middleware": "^4.0.4",
+ "@smithy/util-stream": "^4.2.2",
"@smithy/util-utf8": "^4.0.0",
"tslib": "^2.6.2"
},
@@ -629,15 +701,15 @@
}
},
"node_modules/@smithy/credential-provider-imds": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-4.0.1.tgz",
- "integrity": "sha512-l/qdInaDq1Zpznpmev/+52QomsJNZ3JkTl5yrTl02V6NBgJOQ4LY0SFw/8zsMwj3tLe8vqiIuwF6nxaEwgf6mg==",
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-4.0.6.tgz",
+ "integrity": "sha512-hKMWcANhUiNbCJouYkZ9V3+/Qf9pteR1dnwgdyzR09R4ODEYx8BbUysHwRSyex4rZ9zapddZhLFTnT4ZijR4pw==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/node-config-provider": "^4.0.1",
- "@smithy/property-provider": "^4.0.1",
- "@smithy/types": "^4.1.0",
- "@smithy/url-parser": "^4.0.1",
+ "@smithy/node-config-provider": "^4.1.3",
+ "@smithy/property-provider": "^4.0.4",
+ "@smithy/types": "^4.3.1",
+ "@smithy/url-parser": "^4.0.4",
"tslib": "^2.6.2"
},
"engines": {
@@ -645,14 +717,14 @@
}
},
"node_modules/@smithy/fetch-http-handler": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-5.0.1.tgz",
- "integrity": "sha512-3aS+fP28urrMW2KTjb6z9iFow6jO8n3MFfineGbndvzGZit3taZhKWtTorf+Gp5RpFDDafeHlhfsGlDCXvUnJA==",
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-5.0.4.tgz",
+ "integrity": "sha512-AMtBR5pHppYMVD7z7G+OlHHAcgAN7v0kVKEpHuTO4Gb199Gowh0taYi9oDStFeUhetkeP55JLSVlTW1n9rFtUw==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/protocol-http": "^5.0.1",
- "@smithy/querystring-builder": "^4.0.1",
- "@smithy/types": "^4.1.0",
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/querystring-builder": "^4.0.4",
+ "@smithy/types": "^4.3.1",
"@smithy/util-base64": "^4.0.0",
"tslib": "^2.6.2"
},
@@ -661,12 +733,12 @@
}
},
"node_modules/@smithy/hash-node": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-4.0.1.tgz",
- "integrity": "sha512-TJ6oZS+3r2Xu4emVse1YPB3Dq3d8RkZDKcPr71Nj/lJsdAP1c7oFzYqEn1IBc915TsgLl2xIJNuxCz+gLbLE0w==",
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-4.0.4.tgz",
+ "integrity": "sha512-qnbTPUhCVnCgBp4z4BUJUhOEkVwxiEi1cyFM+Zj6o+aY8OFGxUQleKWq8ltgp3dujuhXojIvJWdoqpm6dVO3lQ==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.1.0",
+ "@smithy/types": "^4.3.1",
"@smithy/util-buffer-from": "^4.0.0",
"@smithy/util-utf8": "^4.0.0",
"tslib": "^2.6.2"
@@ -676,12 +748,12 @@
}
},
"node_modules/@smithy/invalid-dependency": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-4.0.1.tgz",
- "integrity": "sha512-gdudFPf4QRQ5pzj7HEnu6FhKRi61BfH/Gk5Yf6O0KiSbr1LlVhgjThcvjdu658VE6Nve8vaIWB8/fodmS1rBPQ==",
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-4.0.4.tgz",
+ "integrity": "sha512-bNYMi7WKTJHu0gn26wg8OscncTt1t2b8KcsZxvOv56XA6cyXtOAAAaNP7+m45xfppXfOatXF3Sb1MNsLUgVLTw==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.1.0",
+ "@smithy/types": "^4.3.1",
"tslib": "^2.6.2"
},
"engines": {
@@ -701,13 +773,13 @@
}
},
"node_modules/@smithy/middleware-content-length": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-4.0.1.tgz",
- "integrity": "sha512-OGXo7w5EkB5pPiac7KNzVtfCW2vKBTZNuCctn++TTSOMpe6RZO/n6WEC1AxJINn3+vWLKW49uad3lo/u0WJ9oQ==",
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-4.0.4.tgz",
+ "integrity": "sha512-F7gDyfI2BB1Kc+4M6rpuOLne5LOcEknH1n6UQB69qv+HucXBR1rkzXBnQTB2q46sFy1PM/zuSJOB532yc8bg3w==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/protocol-http": "^5.0.1",
- "@smithy/types": "^4.1.0",
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/types": "^4.3.1",
"tslib": "^2.6.2"
},
"engines": {
@@ -715,18 +787,18 @@
}
},
"node_modules/@smithy/middleware-endpoint": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-4.0.6.tgz",
- "integrity": "sha512-ftpmkTHIFqgaFugcjzLZv3kzPEFsBFSnq1JsIkr2mwFzCraZVhQk2gqN51OOeRxqhbPTkRFj39Qd2V91E/mQxg==",
+ "version": "4.1.13",
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-4.1.13.tgz",
+ "integrity": "sha512-xg3EHV/Q5ZdAO5b0UiIMj3RIOCobuS40pBBODguUDVdko6YK6QIzCVRrHTogVuEKglBWqWenRnZ71iZnLL3ZAQ==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/core": "^3.1.5",
- "@smithy/middleware-serde": "^4.0.2",
- "@smithy/node-config-provider": "^4.0.1",
- "@smithy/shared-ini-file-loader": "^4.0.1",
- "@smithy/types": "^4.1.0",
- "@smithy/url-parser": "^4.0.1",
- "@smithy/util-middleware": "^4.0.1",
+ "@smithy/core": "^3.6.0",
+ "@smithy/middleware-serde": "^4.0.8",
+ "@smithy/node-config-provider": "^4.1.3",
+ "@smithy/shared-ini-file-loader": "^4.0.4",
+ "@smithy/types": "^4.3.1",
+ "@smithy/url-parser": "^4.0.4",
+ "@smithy/util-middleware": "^4.0.4",
"tslib": "^2.6.2"
},
"engines": {
@@ -734,18 +806,18 @@
}
},
"node_modules/@smithy/middleware-retry": {
- "version": "4.0.7",
- "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-4.0.7.tgz",
- "integrity": "sha512-58j9XbUPLkqAcV1kHzVX/kAR16GT+j7DUZJqwzsxh1jtz7G82caZiGyyFgUvogVfNTg3TeAOIJepGc8TXF4AVQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@smithy/node-config-provider": "^4.0.1",
- "@smithy/protocol-http": "^5.0.1",
- "@smithy/service-error-classification": "^4.0.1",
- "@smithy/smithy-client": "^4.1.6",
- "@smithy/types": "^4.1.0",
- "@smithy/util-middleware": "^4.0.1",
- "@smithy/util-retry": "^4.0.1",
+ "version": "4.1.14",
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-4.1.14.tgz",
+ "integrity": "sha512-eoXaLlDGpKvdmvt+YBfRXE7HmIEtFF+DJCbTPwuLunP0YUnrydl+C4tS+vEM0+nyxXrX3PSUFqC+lP1+EHB1Tw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/node-config-provider": "^4.1.3",
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/service-error-classification": "^4.0.6",
+ "@smithy/smithy-client": "^4.4.5",
+ "@smithy/types": "^4.3.1",
+ "@smithy/util-middleware": "^4.0.4",
+ "@smithy/util-retry": "^4.0.6",
"tslib": "^2.6.2",
"uuid": "^9.0.1"
},
@@ -754,12 +826,13 @@
}
},
"node_modules/@smithy/middleware-serde": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-4.0.2.tgz",
- "integrity": "sha512-Sdr5lOagCn5tt+zKsaW+U2/iwr6bI9p08wOkCp6/eL6iMbgdtc2R5Ety66rf87PeohR0ExI84Txz9GYv5ou3iQ==",
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-4.0.8.tgz",
+ "integrity": "sha512-iSSl7HJoJaGyMIoNn2B7czghOVwJ9nD7TMvLhMWeSB5vt0TnEYyRRqPJu/TqW76WScaNvYYB8nRoiBHR9S1Ddw==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.1.0",
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/types": "^4.3.1",
"tslib": "^2.6.2"
},
"engines": {
@@ -767,12 +840,12 @@
}
},
"node_modules/@smithy/middleware-stack": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-4.0.1.tgz",
- "integrity": "sha512-dHwDmrtR/ln8UTHpaIavRSzeIk5+YZTBtLnKwDW3G2t6nAupCiQUvNzNoHBpik63fwUaJPtlnMzXbQrNFWssIA==",
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-4.0.4.tgz",
+ "integrity": "sha512-kagK5ggDrBUCCzI93ft6DjteNSfY8Ulr83UtySog/h09lTIOAJ/xUSObutanlPT0nhoHAkpmW9V5K8oPyLh+QA==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.1.0",
+ "@smithy/types": "^4.3.1",
"tslib": "^2.6.2"
},
"engines": {
@@ -780,14 +853,14 @@
}
},
"node_modules/@smithy/node-config-provider": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-4.0.1.tgz",
- "integrity": "sha512-8mRTjvCtVET8+rxvmzRNRR0hH2JjV0DFOmwXPrISmTIJEfnCBugpYYGAsCj8t41qd+RB5gbheSQ/6aKZCQvFLQ==",
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-4.1.3.tgz",
+ "integrity": "sha512-HGHQr2s59qaU1lrVH6MbLlmOBxadtzTsoO4c+bF5asdgVik3I8o7JIOzoeqWc5MjVa+vD36/LWE0iXKpNqooRw==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/property-provider": "^4.0.1",
- "@smithy/shared-ini-file-loader": "^4.0.1",
- "@smithy/types": "^4.1.0",
+ "@smithy/property-provider": "^4.0.4",
+ "@smithy/shared-ini-file-loader": "^4.0.4",
+ "@smithy/types": "^4.3.1",
"tslib": "^2.6.2"
},
"engines": {
@@ -795,15 +868,15 @@
}
},
"node_modules/@smithy/node-http-handler": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-4.0.3.tgz",
- "integrity": "sha512-dYCLeINNbYdvmMLtW0VdhW1biXt+PPCGazzT5ZjKw46mOtdgToQEwjqZSS9/EN8+tNs/RO0cEWG044+YZs97aA==",
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-4.0.6.tgz",
+ "integrity": "sha512-NqbmSz7AW2rvw4kXhKGrYTiJVDHnMsFnX4i+/FzcZAfbOBauPYs2ekuECkSbtqaxETLLTu9Rl/ex6+I2BKErPA==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/abort-controller": "^4.0.1",
- "@smithy/protocol-http": "^5.0.1",
- "@smithy/querystring-builder": "^4.0.1",
- "@smithy/types": "^4.1.0",
+ "@smithy/abort-controller": "^4.0.4",
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/querystring-builder": "^4.0.4",
+ "@smithy/types": "^4.3.1",
"tslib": "^2.6.2"
},
"engines": {
@@ -811,12 +884,12 @@
}
},
"node_modules/@smithy/property-provider": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-4.0.1.tgz",
- "integrity": "sha512-o+VRiwC2cgmk/WFV0jaETGOtX16VNPp2bSQEzu0whbReqE1BMqsP2ami2Vi3cbGVdKu1kq9gQkDAGKbt0WOHAQ==",
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-4.0.4.tgz",
+ "integrity": "sha512-qHJ2sSgu4FqF4U/5UUp4DhXNmdTrgmoAai6oQiM+c5RZ/sbDwJ12qxB1M6FnP+Tn/ggkPZf9ccn4jqKSINaquw==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.1.0",
+ "@smithy/types": "^4.3.1",
"tslib": "^2.6.2"
},
"engines": {
@@ -824,12 +897,12 @@
}
},
"node_modules/@smithy/protocol-http": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-5.0.1.tgz",
- "integrity": "sha512-TE4cpj49jJNB/oHyh/cRVEgNZaoPaxd4vteJNB0yGidOCVR0jCw/hjPVsT8Q8FRmj8Bd3bFZt8Dh7xGCT+xMBQ==",
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-5.1.2.tgz",
+ "integrity": "sha512-rOG5cNLBXovxIrICSBm95dLqzfvxjEmuZx4KK3hWwPFHGdW3lxY0fZNXfv2zebfRO7sJZ5pKJYHScsqopeIWtQ==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.1.0",
+ "@smithy/types": "^4.3.1",
"tslib": "^2.6.2"
},
"engines": {
@@ -837,12 +910,12 @@
}
},
"node_modules/@smithy/querystring-builder": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-4.0.1.tgz",
- "integrity": "sha512-wU87iWZoCbcqrwszsOewEIuq+SU2mSoBE2CcsLwE0I19m0B2gOJr1MVjxWcDQYOzHbR1xCk7AcOBbGFUYOKvdg==",
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-4.0.4.tgz",
+ "integrity": "sha512-SwREZcDnEYoh9tLNgMbpop+UTGq44Hl9tdj3rf+yeLcfH7+J8OXEBaMc2kDxtyRHu8BhSg9ADEx0gFHvpJgU8w==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.1.0",
+ "@smithy/types": "^4.3.1",
"@smithy/util-uri-escape": "^4.0.0",
"tslib": "^2.6.2"
},
@@ -851,12 +924,12 @@
}
},
"node_modules/@smithy/querystring-parser": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-4.0.1.tgz",
- "integrity": "sha512-Ma2XC7VS9aV77+clSFylVUnPZRindhB7BbmYiNOdr+CHt/kZNJoPP0cd3QxCnCFyPXC4eybmyE98phEHkqZ5Jw==",
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-4.0.4.tgz",
+ "integrity": "sha512-6yZf53i/qB8gRHH/l2ZwUG5xgkPgQF15/KxH0DdXMDHjesA9MeZje/853ifkSY0x4m5S+dfDZ+c4x439PF0M2w==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.1.0",
+ "@smithy/types": "^4.3.1",
"tslib": "^2.6.2"
},
"engines": {
@@ -864,24 +937,24 @@
}
},
"node_modules/@smithy/service-error-classification": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-4.0.1.tgz",
- "integrity": "sha512-3JNjBfOWpj/mYfjXJHB4Txc/7E4LVq32bwzE7m28GN79+M1f76XHflUaSUkhOriprPDzev9cX/M+dEB80DNDKA==",
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-4.0.6.tgz",
+ "integrity": "sha512-RRoTDL//7xi4tn5FrN2NzH17jbgmnKidUqd4KvquT0954/i6CXXkh1884jBiunq24g9cGtPBEXlU40W6EpNOOg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.1.0"
+ "@smithy/types": "^4.3.1"
},
"engines": {
"node": ">=18.0.0"
}
},
"node_modules/@smithy/shared-ini-file-loader": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-4.0.1.tgz",
- "integrity": "sha512-hC8F6qTBbuHRI/uqDgqqi6J0R4GtEZcgrZPhFQnMhfJs3MnUTGSnR1NSJCJs5VWlMydu0kJz15M640fJlRsIOw==",
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-4.0.4.tgz",
+ "integrity": "sha512-63X0260LoFBjrHifPDs+nM9tV0VMkOTl4JRMYNuKh/f5PauSjowTfvF3LogfkWdcPoxsA9UjqEOgjeYIbhb7Nw==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.1.0",
+ "@smithy/types": "^4.3.1",
"tslib": "^2.6.2"
},
"engines": {
@@ -889,16 +962,16 @@
}
},
"node_modules/@smithy/signature-v4": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-5.0.1.tgz",
- "integrity": "sha512-nCe6fQ+ppm1bQuw5iKoeJ0MJfz2os7Ic3GBjOkLOPtavbD1ONoyE3ygjBfz2ythFWm4YnRm6OxW+8p/m9uCoIA==",
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-5.1.2.tgz",
+ "integrity": "sha512-d3+U/VpX7a60seHziWnVZOHuEgJlclufjkS6zhXvxcJgkJq4UWdH5eOBLzHRMx6gXjsdT9h6lfpmLzbrdupHgQ==",
"license": "Apache-2.0",
"dependencies": {
"@smithy/is-array-buffer": "^4.0.0",
- "@smithy/protocol-http": "^5.0.1",
- "@smithy/types": "^4.1.0",
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/types": "^4.3.1",
"@smithy/util-hex-encoding": "^4.0.0",
- "@smithy/util-middleware": "^4.0.1",
+ "@smithy/util-middleware": "^4.0.4",
"@smithy/util-uri-escape": "^4.0.0",
"@smithy/util-utf8": "^4.0.0",
"tslib": "^2.6.2"
@@ -908,17 +981,17 @@
}
},
"node_modules/@smithy/smithy-client": {
- "version": "4.1.6",
- "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-4.1.6.tgz",
- "integrity": "sha512-UYDolNg6h2O0L+cJjtgSyKKvEKCOa/8FHYJnBobyeoeWDmNpXjwOAtw16ezyeu1ETuuLEOZbrynK0ZY1Lx9Jbw==",
+ "version": "4.4.5",
+ "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-4.4.5.tgz",
+ "integrity": "sha512-+lynZjGuUFJaMdDYSTMnP/uPBBXXukVfrJlP+1U/Dp5SFTEI++w6NMga8DjOENxecOF71V9Z2DllaVDYRnGlkg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/core": "^3.1.5",
- "@smithy/middleware-endpoint": "^4.0.6",
- "@smithy/middleware-stack": "^4.0.1",
- "@smithy/protocol-http": "^5.0.1",
- "@smithy/types": "^4.1.0",
- "@smithy/util-stream": "^4.1.2",
+ "@smithy/core": "^3.6.0",
+ "@smithy/middleware-endpoint": "^4.1.13",
+ "@smithy/middleware-stack": "^4.0.4",
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/types": "^4.3.1",
+ "@smithy/util-stream": "^4.2.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -926,9 +999,9 @@
}
},
"node_modules/@smithy/types": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/@smithy/types/-/types-4.1.0.tgz",
- "integrity": "sha512-enhjdwp4D7CXmwLtD6zbcDMbo6/T6WtuuKCY49Xxc6OMOmUWlBEBDREsxxgV2LIdeQPW756+f97GzcgAwp3iLw==",
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/@smithy/types/-/types-4.3.1.tgz",
+ "integrity": "sha512-UqKOQBL2x6+HWl3P+3QqFD4ncKq0I8Nuz9QItGv5WuKuMHuuwlhvqcZCoXGfc+P1QmfJE7VieykoYYmrOoFJxA==",
"license": "Apache-2.0",
"dependencies": {
"tslib": "^2.6.2"
@@ -938,13 +1011,13 @@
}
},
"node_modules/@smithy/url-parser": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-4.0.1.tgz",
- "integrity": "sha512-gPXcIEUtw7VlK8f/QcruNXm7q+T5hhvGu9tl63LsJPZ27exB6dtNwvh2HIi0v7JcXJ5emBxB+CJxwaLEdJfA+g==",
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-4.0.4.tgz",
+ "integrity": "sha512-eMkc144MuN7B0TDA4U2fKs+BqczVbk3W+qIvcoCY6D1JY3hnAdCuhCZODC+GAeaxj0p6Jroz4+XMUn3PCxQQeQ==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/querystring-parser": "^4.0.1",
- "@smithy/types": "^4.1.0",
+ "@smithy/querystring-parser": "^4.0.4",
+ "@smithy/types": "^4.3.1",
"tslib": "^2.6.2"
},
"engines": {
@@ -1015,14 +1088,14 @@
}
},
"node_modules/@smithy/util-defaults-mode-browser": {
- "version": "4.0.7",
- "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-4.0.7.tgz",
- "integrity": "sha512-CZgDDrYHLv0RUElOsmZtAnp1pIjwDVCSuZWOPhIOBvG36RDfX1Q9+6lS61xBf+qqvHoqRjHxgINeQz47cYFC2Q==",
+ "version": "4.0.21",
+ "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-4.0.21.tgz",
+ "integrity": "sha512-wM0jhTytgXu3wzJoIqpbBAG5U6BwiubZ6QKzSbP7/VbmF1v96xlAbX2Am/mz0Zep0NLvLh84JT0tuZnk3wmYQA==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/property-provider": "^4.0.1",
- "@smithy/smithy-client": "^4.1.6",
- "@smithy/types": "^4.1.0",
+ "@smithy/property-provider": "^4.0.4",
+ "@smithy/smithy-client": "^4.4.5",
+ "@smithy/types": "^4.3.1",
"bowser": "^2.11.0",
"tslib": "^2.6.2"
},
@@ -1031,17 +1104,17 @@
}
},
"node_modules/@smithy/util-defaults-mode-node": {
- "version": "4.0.7",
- "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-4.0.7.tgz",
- "integrity": "sha512-79fQW3hnfCdrfIi1soPbK3zmooRFnLpSx3Vxi6nUlqaaQeC5dm8plt4OTNDNqEEEDkvKghZSaoti684dQFVrGQ==",
+ "version": "4.0.21",
+ "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-4.0.21.tgz",
+ "integrity": "sha512-/F34zkoU0GzpUgLJydHY8Rxu9lBn8xQC/s/0M0U9lLBkYbA1htaAFjWYJzpzsbXPuri5D1H8gjp2jBum05qBrA==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/config-resolver": "^4.0.1",
- "@smithy/credential-provider-imds": "^4.0.1",
- "@smithy/node-config-provider": "^4.0.1",
- "@smithy/property-provider": "^4.0.1",
- "@smithy/smithy-client": "^4.1.6",
- "@smithy/types": "^4.1.0",
+ "@smithy/config-resolver": "^4.1.4",
+ "@smithy/credential-provider-imds": "^4.0.6",
+ "@smithy/node-config-provider": "^4.1.3",
+ "@smithy/property-provider": "^4.0.4",
+ "@smithy/smithy-client": "^4.4.5",
+ "@smithy/types": "^4.3.1",
"tslib": "^2.6.2"
},
"engines": {
@@ -1049,13 +1122,13 @@
}
},
"node_modules/@smithy/util-endpoints": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-3.0.1.tgz",
- "integrity": "sha512-zVdUENQpdtn9jbpD9SCFK4+aSiavRb9BxEtw9ZGUR1TYo6bBHbIoi7VkrFQ0/RwZlzx0wRBaRmPclj8iAoJCLA==",
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-3.0.6.tgz",
+ "integrity": "sha512-YARl3tFL3WgPuLzljRUnrS2ngLiUtkwhQtj8PAL13XZSyUiNLQxwG3fBBq3QXFqGFUXepIN73pINp3y8c2nBmA==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/node-config-provider": "^4.0.1",
- "@smithy/types": "^4.1.0",
+ "@smithy/node-config-provider": "^4.1.3",
+ "@smithy/types": "^4.3.1",
"tslib": "^2.6.2"
},
"engines": {
@@ -1075,12 +1148,12 @@
}
},
"node_modules/@smithy/util-middleware": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-4.0.1.tgz",
- "integrity": "sha512-HiLAvlcqhbzhuiOa0Lyct5IIlyIz0PQO5dnMlmQ/ubYM46dPInB+3yQGkfxsk6Q24Y0n3/JmcA1v5iEhmOF5mA==",
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-4.0.4.tgz",
+ "integrity": "sha512-9MLKmkBmf4PRb0ONJikCbCwORACcil6gUWojwARCClT7RmLzF04hUR4WdRprIXal7XVyrddadYNfp2eF3nrvtQ==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/types": "^4.1.0",
+ "@smithy/types": "^4.3.1",
"tslib": "^2.6.2"
},
"engines": {
@@ -1088,13 +1161,13 @@
}
},
"node_modules/@smithy/util-retry": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-4.0.1.tgz",
- "integrity": "sha512-WmRHqNVwn3kI3rKk1LsKcVgPBG6iLTBGC1iYOV3GQegwJ3E8yjzHytPt26VNzOWr1qu0xE03nK0Ug8S7T7oufw==",
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-4.0.6.tgz",
+ "integrity": "sha512-+YekoF2CaSMv6zKrA6iI/N9yva3Gzn4L6n35Luydweu5MMPYpiGZlWqehPHDHyNbnyaYlz/WJyYAZnC+loBDZg==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/service-error-classification": "^4.0.1",
- "@smithy/types": "^4.1.0",
+ "@smithy/service-error-classification": "^4.0.6",
+ "@smithy/types": "^4.3.1",
"tslib": "^2.6.2"
},
"engines": {
@@ -1102,14 +1175,14 @@
}
},
"node_modules/@smithy/util-stream": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-4.1.2.tgz",
- "integrity": "sha512-44PKEqQ303d3rlQuiDpcCcu//hV8sn+u2JBo84dWCE0rvgeiVl0IlLMagbU++o0jCWhYCsHaAt9wZuZqNe05Hw==",
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-4.2.2.tgz",
+ "integrity": "sha512-aI+GLi7MJoVxg24/3J1ipwLoYzgkB4kUfogZfnslcYlynj3xsQ0e7vk4TnTro9hhsS5PvX1mwmkRqqHQjwcU7w==",
"license": "Apache-2.0",
"dependencies": {
- "@smithy/fetch-http-handler": "^5.0.1",
- "@smithy/node-http-handler": "^4.0.3",
- "@smithy/types": "^4.1.0",
+ "@smithy/fetch-http-handler": "^5.0.4",
+ "@smithy/node-http-handler": "^4.0.6",
+ "@smithy/types": "^4.3.1",
"@smithy/util-base64": "^4.0.0",
"@smithy/util-buffer-from": "^4.0.0",
"@smithy/util-hex-encoding": "^4.0.0",
@@ -1145,6 +1218,12 @@
"node": ">=18.0.0"
}
},
+ "node_modules/@types/uuid": {
+ "version": "9.0.8",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz",
+ "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==",
+ "license": "MIT"
+ },
"node_modules/aws4": {
"version": "1.13.2",
"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.13.2.tgz",
diff --git a/packages/cdk/custom-resources/package.json b/packages/cdk/custom-resources/opensearch-index/package.json
similarity index 72%
rename from packages/cdk/custom-resources/package.json
rename to packages/cdk/custom-resources/opensearch-index/package.json
index bcf880f27..7f051814c 100644
--- a/packages/cdk/custom-resources/package.json
+++ b/packages/cdk/custom-resources/opensearch-index/package.json
@@ -1,6 +1,7 @@
{
"private": true,
"dependencies": {
+ "@aws-sdk/client-opensearchserverless": "^3.840.0",
"@aws-sdk/credential-provider-node": "^3.565.0",
"@opensearch-project/opensearch": "^3.4.0"
}
diff --git a/packages/cdk/fargate-s3-server/.dockerignore b/packages/cdk/fargate-s3-server/.dockerignore
new file mode 100644
index 000000000..db4c6d9b6
--- /dev/null
+++ b/packages/cdk/fargate-s3-server/.dockerignore
@@ -0,0 +1,2 @@
+dist
+node_modules
\ No newline at end of file
diff --git a/packages/cdk/fargate-s3-server/.gitignore b/packages/cdk/fargate-s3-server/.gitignore
new file mode 100644
index 000000000..76add878f
--- /dev/null
+++ b/packages/cdk/fargate-s3-server/.gitignore
@@ -0,0 +1,2 @@
+node_modules
+dist
\ No newline at end of file
diff --git a/packages/cdk/fargate-s3-server/Dockerfile b/packages/cdk/fargate-s3-server/Dockerfile
new file mode 100644
index 000000000..77be46052
--- /dev/null
+++ b/packages/cdk/fargate-s3-server/Dockerfile
@@ -0,0 +1,21 @@
+FROM public.ecr.aws/docker/library/node:latest
+
+WORKDIR /app
+
+RUN apt-get update -y
+
+COPY package.json package-lock.json ./
+
+RUN npm ci
+
+COPY app.ts ./
+
+RUN npm run bundle
+
+FROM public.ecr.aws/docker/library/node:latest
+
+WORKDIR /app
+
+COPY --from=0 /app/dist/app.js ./
+
+CMD ["node", "app.js"]
diff --git a/packages/cdk/fargate-s3-server/app.ts b/packages/cdk/fargate-s3-server/app.ts
new file mode 100644
index 000000000..57ce6c756
--- /dev/null
+++ b/packages/cdk/fargate-s3-server/app.ts
@@ -0,0 +1,82 @@
+import express, { Request, Response } from 'express';
+import {
+ S3Client,
+ GetObjectCommand,
+ HeadObjectCommand,
+} from '@aws-sdk/client-s3';
+import { Readable } from 'stream';
+
+const app = express();
+const port = 8080;
+
+const BUCKET = process.env.BUCKET_NAME || '';
+
+const s3Client = new S3Client({});
+
+app.get('/healthcheck', (_req: Request, res: Response) => {
+ res.status(200).send();
+});
+
+app.get('{*key}', async (req: Request, res: Response) => {
+ let key = req.path;
+
+ if (key.startsWith('/')) {
+ key = key.substring(1);
+ }
+
+ try {
+ const headCommand = new HeadObjectCommand({
+ Bucket: BUCKET,
+ Key: key,
+ });
+
+ // Check the existance of the key
+ await s3Client.send(headCommand);
+
+ const getCommand = new GetObjectCommand({
+ Bucket: BUCKET,
+ Key: key,
+ });
+
+ const { Body, ContentType, ContentLength } =
+ await s3Client.send(getCommand);
+
+ if (!Body) {
+ throw new Error('S3 object body is empty');
+ }
+
+ res.set('Content-Type', ContentType || 'application/octet-stream');
+
+ if (ContentLength) {
+ res.set('Content-Length', ContentLength.toString());
+ }
+
+ const readableBody = Body as Readable;
+ readableBody.pipe(res);
+ } catch (err) {
+ try {
+ const getCommand = new GetObjectCommand({
+ Bucket: BUCKET,
+ Key: 'index.html',
+ });
+
+ const { Body } = await s3Client.send(getCommand);
+
+ if (!Body) {
+ throw new Error('index.html body is empty');
+ }
+
+ res.set('Content-Type', 'text/html');
+
+ const readableBody = Body as Readable;
+ readableBody.pipe(res);
+ } catch (indexErr) {
+ console.error('Failed to fetch index.html', indexErr);
+ res.status(500).send('Internal Server Error');
+ }
+ }
+});
+
+app.listen(port, '0.0.0.0', () => {
+ console.log(`Start listening on http://0.0.0.0:${port}...`);
+});
diff --git a/packages/cdk/fargate-s3-server/package-lock.json b/packages/cdk/fargate-s3-server/package-lock.json
new file mode 100644
index 000000000..4002499ff
--- /dev/null
+++ b/packages/cdk/fargate-s3-server/package-lock.json
@@ -0,0 +1,3266 @@
+{
+ "name": "fargate-s3-server2",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "dependencies": {
+ "@aws-sdk/client-s3": "^3.846.0",
+ "express": "^5.1.0"
+ },
+ "devDependencies": {
+ "@types/express": "^5.0.3",
+ "@types/node": "^24.0.14",
+ "esbuild": "^0.25.6",
+ "ts-node": "^10.9.2",
+ "typescript": "^5.8.3"
+ }
+ },
+ "node_modules/@aws-crypto/crc32": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-5.2.0.tgz",
+ "integrity": "sha512-nLbCWqQNgUiwwtFsen1AdzAtvuLRsQS8rYgMuxCrdKf9kOssamGLuPwyTY9wyYblNr9+1XM8v6zoDTPPSIeANg==",
+ "license": "Apache-2.0",
+ "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-crypto/crc32c": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/@aws-crypto/crc32c/-/crc32c-5.2.0.tgz",
+ "integrity": "sha512-+iWb8qaHLYKrNvGRbiYRHSdKRWhto5XlZUEBwDjYNf+ly5SVYG6zEoYIdxvf5R3zyeP16w4PLBn3rH1xc74Rag==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-crypto/util": "^5.2.0",
+ "@aws-sdk/types": "^3.222.0",
+ "tslib": "^2.6.2"
+ }
+ },
+ "node_modules/@aws-crypto/sha1-browser": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/@aws-crypto/sha1-browser/-/sha1-browser-5.2.0.tgz",
+ "integrity": "sha512-OH6lveCFfcDjX4dbAvCFSYUjJZjDr/3XJ3xHtjn3Oj5b9RjojQo8npoLeA/bNwkOkrSQ0wgrHzXk4tDRxGKJeg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@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-crypto/sha1-browser/node_modules/@smithy/is-array-buffer": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz",
+ "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/util-buffer-from": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz",
+ "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/is-array-buffer": "^2.2.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@aws-crypto/sha1-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==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/util-buffer-from": "^2.2.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "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==",
+ "license": "Apache-2.0",
+ "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-crypto/sha256-browser/node_modules/@smithy/is-array-buffer": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz",
+ "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-buffer-from": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz",
+ "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/is-array-buffer": "^2.2.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "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==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/util-buffer-from": "^2.2.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "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==",
+ "license": "Apache-2.0",
+ "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-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==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.6.2"
+ }
+ },
+ "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==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/types": "^3.222.0",
+ "@smithy/util-utf8": "^2.0.0",
+ "tslib": "^2.6.2"
+ }
+ },
+ "node_modules/@aws-crypto/util/node_modules/@smithy/is-array-buffer": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz",
+ "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@aws-crypto/util/node_modules/@smithy/util-buffer-from": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz",
+ "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/is-array-buffer": "^2.2.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "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==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/util-buffer-from": "^2.2.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-s3": {
+ "version": "3.846.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.846.0.tgz",
+ "integrity": "sha512-+C9qRJ7SFN+Bi2DJqfJ73Aj4ORpic9Jk5boosiOZj+TZi6qYHW6TCUqxheiC6JT/0xtE5C7VFIhW/UP/CAh0Tw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-crypto/sha1-browser": "5.2.0",
+ "@aws-crypto/sha256-browser": "5.2.0",
+ "@aws-crypto/sha256-js": "5.2.0",
+ "@aws-sdk/core": "3.846.0",
+ "@aws-sdk/credential-provider-node": "3.846.0",
+ "@aws-sdk/middleware-bucket-endpoint": "3.840.0",
+ "@aws-sdk/middleware-expect-continue": "3.840.0",
+ "@aws-sdk/middleware-flexible-checksums": "3.846.0",
+ "@aws-sdk/middleware-host-header": "3.840.0",
+ "@aws-sdk/middleware-location-constraint": "3.840.0",
+ "@aws-sdk/middleware-logger": "3.840.0",
+ "@aws-sdk/middleware-recursion-detection": "3.840.0",
+ "@aws-sdk/middleware-sdk-s3": "3.846.0",
+ "@aws-sdk/middleware-ssec": "3.840.0",
+ "@aws-sdk/middleware-user-agent": "3.846.0",
+ "@aws-sdk/region-config-resolver": "3.840.0",
+ "@aws-sdk/signature-v4-multi-region": "3.846.0",
+ "@aws-sdk/types": "3.840.0",
+ "@aws-sdk/util-endpoints": "3.845.0",
+ "@aws-sdk/util-user-agent-browser": "3.840.0",
+ "@aws-sdk/util-user-agent-node": "3.846.0",
+ "@aws-sdk/xml-builder": "3.821.0",
+ "@smithy/config-resolver": "^4.1.4",
+ "@smithy/core": "^3.7.0",
+ "@smithy/eventstream-serde-browser": "^4.0.4",
+ "@smithy/eventstream-serde-config-resolver": "^4.1.2",
+ "@smithy/eventstream-serde-node": "^4.0.4",
+ "@smithy/fetch-http-handler": "^5.1.0",
+ "@smithy/hash-blob-browser": "^4.0.4",
+ "@smithy/hash-node": "^4.0.4",
+ "@smithy/hash-stream-node": "^4.0.4",
+ "@smithy/invalid-dependency": "^4.0.4",
+ "@smithy/md5-js": "^4.0.4",
+ "@smithy/middleware-content-length": "^4.0.4",
+ "@smithy/middleware-endpoint": "^4.1.15",
+ "@smithy/middleware-retry": "^4.1.16",
+ "@smithy/middleware-serde": "^4.0.8",
+ "@smithy/middleware-stack": "^4.0.4",
+ "@smithy/node-config-provider": "^4.1.3",
+ "@smithy/node-http-handler": "^4.1.0",
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/smithy-client": "^4.4.7",
+ "@smithy/types": "^4.3.1",
+ "@smithy/url-parser": "^4.0.4",
+ "@smithy/util-base64": "^4.0.0",
+ "@smithy/util-body-length-browser": "^4.0.0",
+ "@smithy/util-body-length-node": "^4.0.0",
+ "@smithy/util-defaults-mode-browser": "^4.0.23",
+ "@smithy/util-defaults-mode-node": "^4.0.23",
+ "@smithy/util-endpoints": "^3.0.6",
+ "@smithy/util-middleware": "^4.0.4",
+ "@smithy/util-retry": "^4.0.6",
+ "@smithy/util-stream": "^4.2.3",
+ "@smithy/util-utf8": "^4.0.0",
+ "@smithy/util-waiter": "^4.0.6",
+ "@types/uuid": "^9.0.1",
+ "tslib": "^2.6.2",
+ "uuid": "^9.0.1"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/client-sso": {
+ "version": "3.846.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.846.0.tgz",
+ "integrity": "sha512-7MgMl3nlwf2ixad5Xe8pFHtcwFchkx37MEvGuB00tn5jyBp3AQQ4dK3iHtj2HjhXcXD0G67zVPvH4/QNOL7/gw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-crypto/sha256-browser": "5.2.0",
+ "@aws-crypto/sha256-js": "5.2.0",
+ "@aws-sdk/core": "3.846.0",
+ "@aws-sdk/middleware-host-header": "3.840.0",
+ "@aws-sdk/middleware-logger": "3.840.0",
+ "@aws-sdk/middleware-recursion-detection": "3.840.0",
+ "@aws-sdk/middleware-user-agent": "3.846.0",
+ "@aws-sdk/region-config-resolver": "3.840.0",
+ "@aws-sdk/types": "3.840.0",
+ "@aws-sdk/util-endpoints": "3.845.0",
+ "@aws-sdk/util-user-agent-browser": "3.840.0",
+ "@aws-sdk/util-user-agent-node": "3.846.0",
+ "@smithy/config-resolver": "^4.1.4",
+ "@smithy/core": "^3.7.0",
+ "@smithy/fetch-http-handler": "^5.1.0",
+ "@smithy/hash-node": "^4.0.4",
+ "@smithy/invalid-dependency": "^4.0.4",
+ "@smithy/middleware-content-length": "^4.0.4",
+ "@smithy/middleware-endpoint": "^4.1.15",
+ "@smithy/middleware-retry": "^4.1.16",
+ "@smithy/middleware-serde": "^4.0.8",
+ "@smithy/middleware-stack": "^4.0.4",
+ "@smithy/node-config-provider": "^4.1.3",
+ "@smithy/node-http-handler": "^4.1.0",
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/smithy-client": "^4.4.7",
+ "@smithy/types": "^4.3.1",
+ "@smithy/url-parser": "^4.0.4",
+ "@smithy/util-base64": "^4.0.0",
+ "@smithy/util-body-length-browser": "^4.0.0",
+ "@smithy/util-body-length-node": "^4.0.0",
+ "@smithy/util-defaults-mode-browser": "^4.0.23",
+ "@smithy/util-defaults-mode-node": "^4.0.23",
+ "@smithy/util-endpoints": "^3.0.6",
+ "@smithy/util-middleware": "^4.0.4",
+ "@smithy/util-retry": "^4.0.6",
+ "@smithy/util-utf8": "^4.0.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/core": {
+ "version": "3.846.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.846.0.tgz",
+ "integrity": "sha512-7CX0pM906r4WSS68fCTNMTtBCSkTtf3Wggssmx13gD40gcWEZXsU00KzPp1bYheNRyPlAq3rE22xt4wLPXbuxA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/types": "3.840.0",
+ "@aws-sdk/xml-builder": "3.821.0",
+ "@smithy/core": "^3.7.0",
+ "@smithy/node-config-provider": "^4.1.3",
+ "@smithy/property-provider": "^4.0.4",
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/signature-v4": "^5.1.2",
+ "@smithy/smithy-client": "^4.4.7",
+ "@smithy/types": "^4.3.1",
+ "@smithy/util-base64": "^4.0.0",
+ "@smithy/util-body-length-browser": "^4.0.0",
+ "@smithy/util-middleware": "^4.0.4",
+ "@smithy/util-utf8": "^4.0.0",
+ "fast-xml-parser": "5.2.5",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/credential-provider-env": {
+ "version": "3.846.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.846.0.tgz",
+ "integrity": "sha512-QuCQZET9enja7AWVISY+mpFrEIeHzvkx/JEEbHYzHhUkxcnC2Kq2c0bB7hDihGD0AZd3Xsm653hk1O97qu69zg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/core": "3.846.0",
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/property-provider": "^4.0.4",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/credential-provider-http": {
+ "version": "3.846.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.846.0.tgz",
+ "integrity": "sha512-Jh1iKUuepdmtreMYozV2ePsPcOF5W9p3U4tWhi3v6nDvz0GsBjzjAROW+BW8XMz9vAD3I9R+8VC3/aq63p5nlw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/core": "3.846.0",
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/fetch-http-handler": "^5.1.0",
+ "@smithy/node-http-handler": "^4.1.0",
+ "@smithy/property-provider": "^4.0.4",
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/smithy-client": "^4.4.7",
+ "@smithy/types": "^4.3.1",
+ "@smithy/util-stream": "^4.2.3",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/credential-provider-ini": {
+ "version": "3.846.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.846.0.tgz",
+ "integrity": "sha512-GUxaBBKsYx1kOlRbcs77l6BVyG9K70zekJX+5hdwTEgJq7AoHl/XYoWiDxPf6zQ7J4euixPJoyRhpNbJjAXdFw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/core": "3.846.0",
+ "@aws-sdk/credential-provider-env": "3.846.0",
+ "@aws-sdk/credential-provider-http": "3.846.0",
+ "@aws-sdk/credential-provider-process": "3.846.0",
+ "@aws-sdk/credential-provider-sso": "3.846.0",
+ "@aws-sdk/credential-provider-web-identity": "3.846.0",
+ "@aws-sdk/nested-clients": "3.846.0",
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/credential-provider-imds": "^4.0.6",
+ "@smithy/property-provider": "^4.0.4",
+ "@smithy/shared-ini-file-loader": "^4.0.4",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/credential-provider-node": {
+ "version": "3.846.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.846.0.tgz",
+ "integrity": "sha512-du2DsXYRfQ8VIt/gXGThhT8KdUEt2j9W91W87Bl9IA5DINt4nSZv+gzh8LqHBYsTSqoUpKb+qIfP1RjZM/8r0A==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/credential-provider-env": "3.846.0",
+ "@aws-sdk/credential-provider-http": "3.846.0",
+ "@aws-sdk/credential-provider-ini": "3.846.0",
+ "@aws-sdk/credential-provider-process": "3.846.0",
+ "@aws-sdk/credential-provider-sso": "3.846.0",
+ "@aws-sdk/credential-provider-web-identity": "3.846.0",
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/credential-provider-imds": "^4.0.6",
+ "@smithy/property-provider": "^4.0.4",
+ "@smithy/shared-ini-file-loader": "^4.0.4",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/credential-provider-process": {
+ "version": "3.846.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.846.0.tgz",
+ "integrity": "sha512-mEpwDYarJSH+CIXnnHN0QOe0MXI+HuPStD6gsv3z/7Q6ESl8KRWon3weFZCDnqpiJMUVavlDR0PPlAFg2MQoPg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/core": "3.846.0",
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/property-provider": "^4.0.4",
+ "@smithy/shared-ini-file-loader": "^4.0.4",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/credential-provider-sso": {
+ "version": "3.846.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.846.0.tgz",
+ "integrity": "sha512-Dxz9dpdjfxUsSfW92SAldu9wy8wgEbskn4BNWBFHslQHTmqurmR0ci4P1SMxJJKd498AUEoIAzZOtjGOC38irQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/client-sso": "3.846.0",
+ "@aws-sdk/core": "3.846.0",
+ "@aws-sdk/token-providers": "3.846.0",
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/property-provider": "^4.0.4",
+ "@smithy/shared-ini-file-loader": "^4.0.4",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/credential-provider-web-identity": {
+ "version": "3.846.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.846.0.tgz",
+ "integrity": "sha512-j6zOd+kynPQJzmVwSKSUTpsLXAf7vKkr7hCPbQyqC8ZqkIuExsRqu2vRQjX2iH/MKhwZ+qEWMxPMhfDoyv7Gag==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/core": "3.846.0",
+ "@aws-sdk/nested-clients": "3.846.0",
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/property-provider": "^4.0.4",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/middleware-bucket-endpoint": {
+ "version": "3.840.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.840.0.tgz",
+ "integrity": "sha512-+gkQNtPwcSMmlwBHFd4saVVS11In6ID1HczNzpM3MXKXRBfSlbZJbCt6wN//AZ8HMklZEik4tcEOG0qa9UY8SQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/types": "3.840.0",
+ "@aws-sdk/util-arn-parser": "3.804.0",
+ "@smithy/node-config-provider": "^4.1.3",
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/types": "^4.3.1",
+ "@smithy/util-config-provider": "^4.0.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/middleware-expect-continue": {
+ "version": "3.840.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.840.0.tgz",
+ "integrity": "sha512-iJg2r6FKsKKvdiU4oCOuCf7Ro/YE0Q2BT/QyEZN3/Rt8Nr4SAZiQOlcBXOCpGvuIKOEAhvDOUnW3aDHL01PdVw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/middleware-flexible-checksums": {
+ "version": "3.846.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.846.0.tgz",
+ "integrity": "sha512-CdkeVfkwt3+bDLhmOwBxvkUf6oY9iUhvosaUnqkoPsOqIiUEN54yTGOnO8A0wLz6mMsZ6aBlfFrQhFnxt3c+yw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-crypto/crc32": "5.2.0",
+ "@aws-crypto/crc32c": "5.2.0",
+ "@aws-crypto/util": "5.2.0",
+ "@aws-sdk/core": "3.846.0",
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/is-array-buffer": "^4.0.0",
+ "@smithy/node-config-provider": "^4.1.3",
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/types": "^4.3.1",
+ "@smithy/util-middleware": "^4.0.4",
+ "@smithy/util-stream": "^4.2.3",
+ "@smithy/util-utf8": "^4.0.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/middleware-host-header": {
+ "version": "3.840.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.840.0.tgz",
+ "integrity": "sha512-ub+hXJAbAje94+Ya6c6eL7sYujoE8D4Bumu1NUI8TXjUhVVn0HzVWQjpRLshdLsUp1AW7XyeJaxyajRaJQ8+Xg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/middleware-location-constraint": {
+ "version": "3.840.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.840.0.tgz",
+ "integrity": "sha512-KVLD0u0YMF3aQkVF8bdyHAGWSUY6N1Du89htTLgqCcIhSxxAJ9qifrosVZ9jkAzqRW99hcufyt2LylcVU2yoKQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/middleware-logger": {
+ "version": "3.840.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.840.0.tgz",
+ "integrity": "sha512-lSV8FvjpdllpGaRspywss4CtXV8M7NNNH+2/j86vMH+YCOZ6fu2T/TyFd/tHwZ92vDfHctWkRbQxg0bagqwovA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/middleware-recursion-detection": {
+ "version": "3.840.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.840.0.tgz",
+ "integrity": "sha512-Gu7lGDyfddyhIkj1Z1JtrY5NHb5+x/CRiB87GjaSrKxkDaydtX2CU977JIABtt69l9wLbcGDIQ+W0uJ5xPof7g==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/middleware-sdk-s3": {
+ "version": "3.846.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.846.0.tgz",
+ "integrity": "sha512-jP9x+2Q87J5l8FOP+jlAd7vGLn0cC6G9QGmf386e5OslBPqxXKcl3RjqGLIOKKos2mVItY3ApP5xdXQx7jGTVA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/core": "3.846.0",
+ "@aws-sdk/types": "3.840.0",
+ "@aws-sdk/util-arn-parser": "3.804.0",
+ "@smithy/core": "^3.7.0",
+ "@smithy/node-config-provider": "^4.1.3",
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/signature-v4": "^5.1.2",
+ "@smithy/smithy-client": "^4.4.7",
+ "@smithy/types": "^4.3.1",
+ "@smithy/util-config-provider": "^4.0.0",
+ "@smithy/util-middleware": "^4.0.4",
+ "@smithy/util-stream": "^4.2.3",
+ "@smithy/util-utf8": "^4.0.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/middleware-ssec": {
+ "version": "3.840.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.840.0.tgz",
+ "integrity": "sha512-CBZP9t1QbjDFGOrtnUEHL1oAvmnCUUm7p0aPNbIdSzNtH42TNKjPRN3TuEIJDGjkrqpL3MXyDSmNayDcw/XW7Q==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/middleware-user-agent": {
+ "version": "3.846.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.846.0.tgz",
+ "integrity": "sha512-85/oUc2jMXqQWo+HHH7WwrdqqArzhMmTmBCpXZwklBHG+ZMzTS5Wug2B0HhGDVWo9aYRMeikSq4lsrpHFVd2MQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/core": "3.846.0",
+ "@aws-sdk/types": "3.840.0",
+ "@aws-sdk/util-endpoints": "3.845.0",
+ "@smithy/core": "^3.7.0",
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/nested-clients": {
+ "version": "3.846.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/nested-clients/-/nested-clients-3.846.0.tgz",
+ "integrity": "sha512-LCXPVtNQnkTuE8inPCtpfWN2raE/ndFBKf5OIbuHnC/0XYGOUl5q7VsJz471zJuN9FX3WMfopaFwmNc7cQNMpQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-crypto/sha256-browser": "5.2.0",
+ "@aws-crypto/sha256-js": "5.2.0",
+ "@aws-sdk/core": "3.846.0",
+ "@aws-sdk/middleware-host-header": "3.840.0",
+ "@aws-sdk/middleware-logger": "3.840.0",
+ "@aws-sdk/middleware-recursion-detection": "3.840.0",
+ "@aws-sdk/middleware-user-agent": "3.846.0",
+ "@aws-sdk/region-config-resolver": "3.840.0",
+ "@aws-sdk/types": "3.840.0",
+ "@aws-sdk/util-endpoints": "3.845.0",
+ "@aws-sdk/util-user-agent-browser": "3.840.0",
+ "@aws-sdk/util-user-agent-node": "3.846.0",
+ "@smithy/config-resolver": "^4.1.4",
+ "@smithy/core": "^3.7.0",
+ "@smithy/fetch-http-handler": "^5.1.0",
+ "@smithy/hash-node": "^4.0.4",
+ "@smithy/invalid-dependency": "^4.0.4",
+ "@smithy/middleware-content-length": "^4.0.4",
+ "@smithy/middleware-endpoint": "^4.1.15",
+ "@smithy/middleware-retry": "^4.1.16",
+ "@smithy/middleware-serde": "^4.0.8",
+ "@smithy/middleware-stack": "^4.0.4",
+ "@smithy/node-config-provider": "^4.1.3",
+ "@smithy/node-http-handler": "^4.1.0",
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/smithy-client": "^4.4.7",
+ "@smithy/types": "^4.3.1",
+ "@smithy/url-parser": "^4.0.4",
+ "@smithy/util-base64": "^4.0.0",
+ "@smithy/util-body-length-browser": "^4.0.0",
+ "@smithy/util-body-length-node": "^4.0.0",
+ "@smithy/util-defaults-mode-browser": "^4.0.23",
+ "@smithy/util-defaults-mode-node": "^4.0.23",
+ "@smithy/util-endpoints": "^3.0.6",
+ "@smithy/util-middleware": "^4.0.4",
+ "@smithy/util-retry": "^4.0.6",
+ "@smithy/util-utf8": "^4.0.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/region-config-resolver": {
+ "version": "3.840.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.840.0.tgz",
+ "integrity": "sha512-Qjnxd/yDv9KpIMWr90ZDPtRj0v75AqGC92Lm9+oHXZ8p1MjG5JE2CW0HL8JRgK9iKzgKBL7pPQRXI8FkvEVfrA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/node-config-provider": "^4.1.3",
+ "@smithy/types": "^4.3.1",
+ "@smithy/util-config-provider": "^4.0.0",
+ "@smithy/util-middleware": "^4.0.4",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/signature-v4-multi-region": {
+ "version": "3.846.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.846.0.tgz",
+ "integrity": "sha512-ZMfIMxUljqZzPJGOcraC6erwq/z1puNMU35cO1a/WdhB+LdYknMn1lr7SJuH754QwNzzIlZbEgg4hoHw50+DpQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/middleware-sdk-s3": "3.846.0",
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/signature-v4": "^5.1.2",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/token-providers": {
+ "version": "3.846.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.846.0.tgz",
+ "integrity": "sha512-sGNk3xclK7xx+rIJZDJC4FNFqaSSqN0nSr+AdVdQ+/iKQKaUA6hixRbXaQ7I7M5mhqS6fMW1AsqVRywQq2BSMw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/core": "3.846.0",
+ "@aws-sdk/nested-clients": "3.846.0",
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/property-provider": "^4.0.4",
+ "@smithy/shared-ini-file-loader": "^4.0.4",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/types": {
+ "version": "3.840.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.840.0.tgz",
+ "integrity": "sha512-xliuHaUFZxEx1NSXeLLZ9Dyu6+EJVQKEoD+yM+zqUo3YDZ7medKJWY6fIOKiPX/N7XbLdBYwajb15Q7IL8KkeA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/util-arn-parser": {
+ "version": "3.804.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.804.0.tgz",
+ "integrity": "sha512-wmBJqn1DRXnZu3b4EkE6CWnoWMo1ZMvlfkqU5zPz67xx1GMaXlDCchFvKAXMjk4jn/L1O3tKnoFDNsoLV1kgNQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/util-endpoints": {
+ "version": "3.845.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.845.0.tgz",
+ "integrity": "sha512-MBmOf0Pb4q6xs9V7jXT1+qciW2965yvaoZUlUUnxUEoX6zxWROeIu/gttASc4vSjOHr/+64hmFkxjeBUF37FJA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/types": "^4.3.1",
+ "@smithy/url-parser": "^4.0.4",
+ "@smithy/util-endpoints": "^3.0.6",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/util-locate-window": {
+ "version": "3.804.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.804.0.tgz",
+ "integrity": "sha512-zVoRfpmBVPodYlnMjgVjfGoEZagyRF5IPn3Uo6ZvOZp24chnW/FRstH7ESDHDDRga4z3V+ElUQHKpFDXWyBW5A==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/util-user-agent-browser": {
+ "version": "3.840.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.840.0.tgz",
+ "integrity": "sha512-JdyZM3EhhL4PqwFpttZu1afDpPJCCc3eyZOLi+srpX11LsGj6sThf47TYQN75HT1CarZ7cCdQHGzP2uy3/xHfQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/types": "^4.3.1",
+ "bowser": "^2.11.0",
+ "tslib": "^2.6.2"
+ }
+ },
+ "node_modules/@aws-sdk/util-user-agent-node": {
+ "version": "3.846.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.846.0.tgz",
+ "integrity": "sha512-MXYXCplw76xe8A9ejVaIru6Carum/2LQbVtNHsIa4h0TlafLdfulywsoMWL1F53Y9XxQSeOKyyqDKLNOgRVimw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-sdk/middleware-user-agent": "3.846.0",
+ "@aws-sdk/types": "3.840.0",
+ "@smithy/node-config-provider": "^4.1.3",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ },
+ "peerDependencies": {
+ "aws-crt": ">=1.0.0"
+ },
+ "peerDependenciesMeta": {
+ "aws-crt": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@aws-sdk/xml-builder": {
+ "version": "3.821.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.821.0.tgz",
+ "integrity": "sha512-DIIotRnefVL6DiaHtO6/21DhJ4JZnnIwdNbpwiAhdt/AVbttcE4yw925gsjur0OGv5BTYXQXU3YnANBYnZjuQA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@cspotcode/source-map-support": {
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz",
+ "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/trace-mapping": "0.3.9"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/aix-ppc64": {
+ "version": "0.25.6",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.6.tgz",
+ "integrity": "sha512-ShbM/3XxwuxjFiuVBHA+d3j5dyac0aEVVq1oluIDf71hUw0aRF59dV/efUsIwFnR6m8JNM2FjZOzmaZ8yG61kw==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "aix"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/android-arm": {
+ "version": "0.25.6",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.6.tgz",
+ "integrity": "sha512-S8ToEOVfg++AU/bHwdksHNnyLyVM+eMVAOf6yRKFitnwnbwwPNqKr3srzFRe7nzV69RQKb5DgchIX5pt3L53xg==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/android-arm64": {
+ "version": "0.25.6",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.6.tgz",
+ "integrity": "sha512-hd5zdUarsK6strW+3Wxi5qWws+rJhCCbMiC9QZyzoxfk5uHRIE8T287giQxzVpEvCwuJ9Qjg6bEjcRJcgfLqoA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/android-x64": {
+ "version": "0.25.6",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.6.tgz",
+ "integrity": "sha512-0Z7KpHSr3VBIO9A/1wcT3NTy7EB4oNC4upJ5ye3R7taCc2GUdeynSLArnon5G8scPwaU866d3H4BCrE5xLW25A==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/darwin-arm64": {
+ "version": "0.25.6",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.6.tgz",
+ "integrity": "sha512-FFCssz3XBavjxcFxKsGy2DYK5VSvJqa6y5HXljKzhRZ87LvEi13brPrf/wdyl/BbpbMKJNOr1Sd0jtW4Ge1pAA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/darwin-x64": {
+ "version": "0.25.6",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.6.tgz",
+ "integrity": "sha512-GfXs5kry/TkGM2vKqK2oyiLFygJRqKVhawu3+DOCk7OxLy/6jYkWXhlHwOoTb0WqGnWGAS7sooxbZowy+pK9Yg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/freebsd-arm64": {
+ "version": "0.25.6",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.6.tgz",
+ "integrity": "sha512-aoLF2c3OvDn2XDTRvn8hN6DRzVVpDlj2B/F66clWd/FHLiHaG3aVZjxQX2DYphA5y/evbdGvC6Us13tvyt4pWg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/freebsd-x64": {
+ "version": "0.25.6",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.6.tgz",
+ "integrity": "sha512-2SkqTjTSo2dYi/jzFbU9Plt1vk0+nNg8YC8rOXXea+iA3hfNJWebKYPs3xnOUf9+ZWhKAaxnQNUf2X9LOpeiMQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-arm": {
+ "version": "0.25.6",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.6.tgz",
+ "integrity": "sha512-SZHQlzvqv4Du5PrKE2faN0qlbsaW/3QQfUUc6yO2EjFcA83xnwm91UbEEVx4ApZ9Z5oG8Bxz4qPE+HFwtVcfyw==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-arm64": {
+ "version": "0.25.6",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.6.tgz",
+ "integrity": "sha512-b967hU0gqKd9Drsh/UuAm21Khpoh6mPBSgz8mKRq4P5mVK8bpA+hQzmm/ZwGVULSNBzKdZPQBRT3+WuVavcWsQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-ia32": {
+ "version": "0.25.6",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.6.tgz",
+ "integrity": "sha512-aHWdQ2AAltRkLPOsKdi3xv0mZ8fUGPdlKEjIEhxCPm5yKEThcUjHpWB1idN74lfXGnZ5SULQSgtr5Qos5B0bPw==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-loong64": {
+ "version": "0.25.6",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.6.tgz",
+ "integrity": "sha512-VgKCsHdXRSQ7E1+QXGdRPlQ/e08bN6WMQb27/TMfV+vPjjTImuT9PmLXupRlC90S1JeNNW5lzkAEO/McKeJ2yg==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-mips64el": {
+ "version": "0.25.6",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.6.tgz",
+ "integrity": "sha512-WViNlpivRKT9/py3kCmkHnn44GkGXVdXfdc4drNmRl15zVQ2+D2uFwdlGh6IuK5AAnGTo2qPB1Djppj+t78rzw==",
+ "cpu": [
+ "mips64el"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-ppc64": {
+ "version": "0.25.6",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.6.tgz",
+ "integrity": "sha512-wyYKZ9NTdmAMb5730I38lBqVu6cKl4ZfYXIs31Baf8aoOtB4xSGi3THmDYt4BTFHk7/EcVixkOV2uZfwU3Q2Jw==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-riscv64": {
+ "version": "0.25.6",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.6.tgz",
+ "integrity": "sha512-KZh7bAGGcrinEj4qzilJ4hqTY3Dg2U82c8bv+e1xqNqZCrCyc+TL9AUEn5WGKDzm3CfC5RODE/qc96OcbIe33w==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-s390x": {
+ "version": "0.25.6",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.6.tgz",
+ "integrity": "sha512-9N1LsTwAuE9oj6lHMyyAM+ucxGiVnEqUdp4v7IaMmrwb06ZTEVCIs3oPPplVsnjPfyjmxwHxHMF8b6vzUVAUGw==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-x64": {
+ "version": "0.25.6",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.6.tgz",
+ "integrity": "sha512-A6bJB41b4lKFWRKNrWoP2LHsjVzNiaurf7wyj/XtFNTsnPuxwEBWHLty+ZE0dWBKuSK1fvKgrKaNjBS7qbFKig==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/netbsd-arm64": {
+ "version": "0.25.6",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.6.tgz",
+ "integrity": "sha512-IjA+DcwoVpjEvyxZddDqBY+uJ2Snc6duLpjmkXm/v4xuS3H+3FkLZlDm9ZsAbF9rsfP3zeA0/ArNDORZgrxR/Q==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/netbsd-x64": {
+ "version": "0.25.6",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.6.tgz",
+ "integrity": "sha512-dUXuZr5WenIDlMHdMkvDc1FAu4xdWixTCRgP7RQLBOkkGgwuuzaGSYcOpW4jFxzpzL1ejb8yF620UxAqnBrR9g==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/openbsd-arm64": {
+ "version": "0.25.6",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.6.tgz",
+ "integrity": "sha512-l8ZCvXP0tbTJ3iaqdNf3pjaOSd5ex/e6/omLIQCVBLmHTlfXW3zAxQ4fnDmPLOB1x9xrcSi/xtCWFwCZRIaEwg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/openbsd-x64": {
+ "version": "0.25.6",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.6.tgz",
+ "integrity": "sha512-hKrmDa0aOFOr71KQ/19JC7az1P0GWtCN1t2ahYAf4O007DHZt/dW8ym5+CUdJhQ/qkZmI1HAF8KkJbEFtCL7gw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/openharmony-arm64": {
+ "version": "0.25.6",
+ "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.6.tgz",
+ "integrity": "sha512-+SqBcAWoB1fYKmpWoQP4pGtx+pUUC//RNYhFdbcSA16617cchuryuhOCRpPsjCblKukAckWsV+aQ3UKT/RMPcA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openharmony"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/sunos-x64": {
+ "version": "0.25.6",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.6.tgz",
+ "integrity": "sha512-dyCGxv1/Br7MiSC42qinGL8KkG4kX0pEsdb0+TKhmJZgCUDBGmyo1/ArCjNGiOLiIAgdbWgmWgib4HoCi5t7kA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/win32-arm64": {
+ "version": "0.25.6",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.6.tgz",
+ "integrity": "sha512-42QOgcZeZOvXfsCBJF5Afw73t4veOId//XD3i+/9gSkhSV6Gk3VPlWncctI+JcOyERv85FUo7RxuxGy+z8A43Q==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/win32-ia32": {
+ "version": "0.25.6",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.6.tgz",
+ "integrity": "sha512-4AWhgXmDuYN7rJI6ORB+uU9DHLq/erBbuMoAuB4VWJTu5KtCgcKYPynF0YI1VkBNuEfjNlLrFr9KZPJzrtLkrQ==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/win32-x64": {
+ "version": "0.25.6",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.6.tgz",
+ "integrity": "sha512-NgJPHHbEpLQgDH2MjQu90pzW/5vvXIZ7KOnPyNBm92A6WgZ/7b6fJyUBjoumLqeOQQGqY2QjQxRo97ah4Sj0cA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@jridgewell/resolve-uri": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.5.4",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz",
+ "integrity": "sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.9",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz",
+ "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/resolve-uri": "^3.0.3",
+ "@jridgewell/sourcemap-codec": "^1.4.10"
+ }
+ },
+ "node_modules/@smithy/abort-controller": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-4.0.4.tgz",
+ "integrity": "sha512-gJnEjZMvigPDQWHrW3oPrFhQtkrgqBkyjj3pCIdF3A5M6vsZODG93KNlfJprv6bp4245bdT32fsHK4kkH3KYDA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/chunked-blob-reader": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader/-/chunked-blob-reader-5.0.0.tgz",
+ "integrity": "sha512-+sKqDBQqb036hh4NPaUiEkYFkTUGYzRsn3EuFhyfQfMy6oGHEUJDurLP9Ufb5dasr/XiAmPNMr6wa9afjQB+Gw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/chunked-blob-reader-native": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-4.0.0.tgz",
+ "integrity": "sha512-R9wM2yPmfEMsUmlMlIgSzOyICs0x9uu7UTHoccMyt7BWw8shcGM8HqB355+BZCPBcySvbTYMs62EgEQkNxz2ig==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/util-base64": "^4.0.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/config-resolver": {
+ "version": "4.1.4",
+ "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-4.1.4.tgz",
+ "integrity": "sha512-prmU+rDddxHOH0oNcwemL+SwnzcG65sBF2yXRO7aeXIn/xTlq2pX7JLVbkBnVLowHLg4/OL4+jBmv9hVrVGS+w==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/node-config-provider": "^4.1.3",
+ "@smithy/types": "^4.3.1",
+ "@smithy/util-config-provider": "^4.0.0",
+ "@smithy/util-middleware": "^4.0.4",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/core": {
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/@smithy/core/-/core-3.7.0.tgz",
+ "integrity": "sha512-7ov8hu/4j0uPZv8b27oeOFtIBtlFmM3ibrPv/Omx1uUdoXvcpJ00U+H/OWWC/keAguLlcqwtyL2/jTlSnApgNQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/middleware-serde": "^4.0.8",
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/types": "^4.3.1",
+ "@smithy/util-base64": "^4.0.0",
+ "@smithy/util-body-length-browser": "^4.0.0",
+ "@smithy/util-middleware": "^4.0.4",
+ "@smithy/util-stream": "^4.2.3",
+ "@smithy/util-utf8": "^4.0.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/credential-provider-imds": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-4.0.6.tgz",
+ "integrity": "sha512-hKMWcANhUiNbCJouYkZ9V3+/Qf9pteR1dnwgdyzR09R4ODEYx8BbUysHwRSyex4rZ9zapddZhLFTnT4ZijR4pw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/node-config-provider": "^4.1.3",
+ "@smithy/property-provider": "^4.0.4",
+ "@smithy/types": "^4.3.1",
+ "@smithy/url-parser": "^4.0.4",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/eventstream-codec": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-4.0.4.tgz",
+ "integrity": "sha512-7XoWfZqWb/QoR/rAU4VSi0mWnO2vu9/ltS6JZ5ZSZv0eovLVfDfu0/AX4ub33RsJTOth3TiFWSHS5YdztvFnig==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@aws-crypto/crc32": "5.2.0",
+ "@smithy/types": "^4.3.1",
+ "@smithy/util-hex-encoding": "^4.0.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/eventstream-serde-browser": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-4.0.4.tgz",
+ "integrity": "sha512-3fb/9SYaYqbpy/z/H3yIi0bYKyAa89y6xPmIqwr2vQiUT2St+avRt8UKwsWt9fEdEasc5d/V+QjrviRaX1JRFA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/eventstream-serde-universal": "^4.0.4",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/eventstream-serde-config-resolver": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-4.1.2.tgz",
+ "integrity": "sha512-JGtambizrWP50xHgbzZI04IWU7LdI0nh/wGbqH3sJesYToMi2j/DcoElqyOcqEIG/D4tNyxgRuaqBXWE3zOFhQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/eventstream-serde-node": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-node/-/eventstream-serde-node-4.0.4.tgz",
+ "integrity": "sha512-RD6UwNZ5zISpOWPuhVgRz60GkSIp0dy1fuZmj4RYmqLVRtejFqQ16WmfYDdoSoAjlp1LX+FnZo+/hkdmyyGZ1w==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/eventstream-serde-universal": "^4.0.4",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/eventstream-serde-universal": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-4.0.4.tgz",
+ "integrity": "sha512-UeJpOmLGhq1SLox79QWw/0n2PFX+oPRE1ZyRMxPIaFEfCqWaqpB7BU9C8kpPOGEhLF7AwEqfFbtwNxGy4ReENA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/eventstream-codec": "^4.0.4",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/fetch-http-handler": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-5.1.0.tgz",
+ "integrity": "sha512-mADw7MS0bYe2OGKkHYMaqarOXuDwRbO6ArD91XhHcl2ynjGCFF+hvqf0LyQcYxkA1zaWjefSkU7Ne9mqgApSgQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/querystring-builder": "^4.0.4",
+ "@smithy/types": "^4.3.1",
+ "@smithy/util-base64": "^4.0.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/hash-blob-browser": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@smithy/hash-blob-browser/-/hash-blob-browser-4.0.4.tgz",
+ "integrity": "sha512-WszRiACJiQV3QG6XMV44i5YWlkrlsM5Yxgz4jvsksuu7LDXA6wAtypfPajtNTadzpJy3KyJPoWehYpmZGKUFIQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/chunked-blob-reader": "^5.0.0",
+ "@smithy/chunked-blob-reader-native": "^4.0.0",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/hash-node": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-4.0.4.tgz",
+ "integrity": "sha512-qnbTPUhCVnCgBp4z4BUJUhOEkVwxiEi1cyFM+Zj6o+aY8OFGxUQleKWq8ltgp3dujuhXojIvJWdoqpm6dVO3lQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/types": "^4.3.1",
+ "@smithy/util-buffer-from": "^4.0.0",
+ "@smithy/util-utf8": "^4.0.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/hash-stream-node": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@smithy/hash-stream-node/-/hash-stream-node-4.0.4.tgz",
+ "integrity": "sha512-wHo0d8GXyVmpmMh/qOR0R7Y46/G1y6OR8U+bSTB4ppEzRxd1xVAQ9xOE9hOc0bSjhz0ujCPAbfNLkLrpa6cevg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/types": "^4.3.1",
+ "@smithy/util-utf8": "^4.0.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/invalid-dependency": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-4.0.4.tgz",
+ "integrity": "sha512-bNYMi7WKTJHu0gn26wg8OscncTt1t2b8KcsZxvOv56XA6cyXtOAAAaNP7+m45xfppXfOatXF3Sb1MNsLUgVLTw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/is-array-buffer": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-4.0.0.tgz",
+ "integrity": "sha512-saYhF8ZZNoJDTvJBEWgeBccCg+yvp1CX+ed12yORU3NilJScfc6gfch2oVb4QgxZrGUx3/ZJlb+c/dJbyupxlw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/md5-js": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@smithy/md5-js/-/md5-js-4.0.4.tgz",
+ "integrity": "sha512-uGLBVqcOwrLvGh/v/jw423yWHq/ofUGK1W31M2TNspLQbUV1Va0F5kTxtirkoHawODAZcjXTSGi7JwbnPcDPJg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/types": "^4.3.1",
+ "@smithy/util-utf8": "^4.0.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/middleware-content-length": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-4.0.4.tgz",
+ "integrity": "sha512-F7gDyfI2BB1Kc+4M6rpuOLne5LOcEknH1n6UQB69qv+HucXBR1rkzXBnQTB2q46sFy1PM/zuSJOB532yc8bg3w==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/middleware-endpoint": {
+ "version": "4.1.15",
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-4.1.15.tgz",
+ "integrity": "sha512-L2M0oz+r6Wv0KZ90MgClXmWkV7G72519Hd5/+K5i3gQMu4WNQykh7ERr58WT3q60dd9NqHSMc3/bAK0FsFg3Fw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/core": "^3.7.0",
+ "@smithy/middleware-serde": "^4.0.8",
+ "@smithy/node-config-provider": "^4.1.3",
+ "@smithy/shared-ini-file-loader": "^4.0.4",
+ "@smithy/types": "^4.3.1",
+ "@smithy/url-parser": "^4.0.4",
+ "@smithy/util-middleware": "^4.0.4",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/middleware-retry": {
+ "version": "4.1.16",
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-4.1.16.tgz",
+ "integrity": "sha512-PpPhMpC6U1fLW0evKnC8gJtmobBYn0oi4RrIKGhN1a86t6XgVEK+Vb9C8dh5PPXb3YDr8lE6aYKh1hd3OikmWw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/node-config-provider": "^4.1.3",
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/service-error-classification": "^4.0.6",
+ "@smithy/smithy-client": "^4.4.7",
+ "@smithy/types": "^4.3.1",
+ "@smithy/util-middleware": "^4.0.4",
+ "@smithy/util-retry": "^4.0.6",
+ "tslib": "^2.6.2",
+ "uuid": "^9.0.1"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/middleware-serde": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-4.0.8.tgz",
+ "integrity": "sha512-iSSl7HJoJaGyMIoNn2B7czghOVwJ9nD7TMvLhMWeSB5vt0TnEYyRRqPJu/TqW76WScaNvYYB8nRoiBHR9S1Ddw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/middleware-stack": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-4.0.4.tgz",
+ "integrity": "sha512-kagK5ggDrBUCCzI93ft6DjteNSfY8Ulr83UtySog/h09lTIOAJ/xUSObutanlPT0nhoHAkpmW9V5K8oPyLh+QA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/node-config-provider": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-4.1.3.tgz",
+ "integrity": "sha512-HGHQr2s59qaU1lrVH6MbLlmOBxadtzTsoO4c+bF5asdgVik3I8o7JIOzoeqWc5MjVa+vD36/LWE0iXKpNqooRw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/property-provider": "^4.0.4",
+ "@smithy/shared-ini-file-loader": "^4.0.4",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/node-http-handler": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-4.1.0.tgz",
+ "integrity": "sha512-vqfSiHz2v8b3TTTrdXi03vNz1KLYYS3bhHCDv36FYDqxT7jvTll1mMnCrkD+gOvgwybuunh/2VmvOMqwBegxEg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/abort-controller": "^4.0.4",
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/querystring-builder": "^4.0.4",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/property-provider": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-4.0.4.tgz",
+ "integrity": "sha512-qHJ2sSgu4FqF4U/5UUp4DhXNmdTrgmoAai6oQiM+c5RZ/sbDwJ12qxB1M6FnP+Tn/ggkPZf9ccn4jqKSINaquw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/protocol-http": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-5.1.2.tgz",
+ "integrity": "sha512-rOG5cNLBXovxIrICSBm95dLqzfvxjEmuZx4KK3hWwPFHGdW3lxY0fZNXfv2zebfRO7sJZ5pKJYHScsqopeIWtQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/querystring-builder": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-4.0.4.tgz",
+ "integrity": "sha512-SwREZcDnEYoh9tLNgMbpop+UTGq44Hl9tdj3rf+yeLcfH7+J8OXEBaMc2kDxtyRHu8BhSg9ADEx0gFHvpJgU8w==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/types": "^4.3.1",
+ "@smithy/util-uri-escape": "^4.0.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/querystring-parser": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-4.0.4.tgz",
+ "integrity": "sha512-6yZf53i/qB8gRHH/l2ZwUG5xgkPgQF15/KxH0DdXMDHjesA9MeZje/853ifkSY0x4m5S+dfDZ+c4x439PF0M2w==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/service-error-classification": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-4.0.6.tgz",
+ "integrity": "sha512-RRoTDL//7xi4tn5FrN2NzH17jbgmnKidUqd4KvquT0954/i6CXXkh1884jBiunq24g9cGtPBEXlU40W6EpNOOg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/types": "^4.3.1"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/shared-ini-file-loader": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-4.0.4.tgz",
+ "integrity": "sha512-63X0260LoFBjrHifPDs+nM9tV0VMkOTl4JRMYNuKh/f5PauSjowTfvF3LogfkWdcPoxsA9UjqEOgjeYIbhb7Nw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/signature-v4": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-5.1.2.tgz",
+ "integrity": "sha512-d3+U/VpX7a60seHziWnVZOHuEgJlclufjkS6zhXvxcJgkJq4UWdH5eOBLzHRMx6gXjsdT9h6lfpmLzbrdupHgQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/is-array-buffer": "^4.0.0",
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/types": "^4.3.1",
+ "@smithy/util-hex-encoding": "^4.0.0",
+ "@smithy/util-middleware": "^4.0.4",
+ "@smithy/util-uri-escape": "^4.0.0",
+ "@smithy/util-utf8": "^4.0.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/smithy-client": {
+ "version": "4.4.7",
+ "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-4.4.7.tgz",
+ "integrity": "sha512-x+MxBNOcG7rY9i5QsbdgvvRJngKKvUJrbU5R5bT66PTH3e6htSupJ4Q+kJ3E7t6q854jyl57acjpPi6qG1OY5g==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/core": "^3.7.0",
+ "@smithy/middleware-endpoint": "^4.1.15",
+ "@smithy/middleware-stack": "^4.0.4",
+ "@smithy/protocol-http": "^5.1.2",
+ "@smithy/types": "^4.3.1",
+ "@smithy/util-stream": "^4.2.3",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/types": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/@smithy/types/-/types-4.3.1.tgz",
+ "integrity": "sha512-UqKOQBL2x6+HWl3P+3QqFD4ncKq0I8Nuz9QItGv5WuKuMHuuwlhvqcZCoXGfc+P1QmfJE7VieykoYYmrOoFJxA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/url-parser": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-4.0.4.tgz",
+ "integrity": "sha512-eMkc144MuN7B0TDA4U2fKs+BqczVbk3W+qIvcoCY6D1JY3hnAdCuhCZODC+GAeaxj0p6Jroz4+XMUn3PCxQQeQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/querystring-parser": "^4.0.4",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/util-base64": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-4.0.0.tgz",
+ "integrity": "sha512-CvHfCmO2mchox9kjrtzoHkWHxjHZzaFojLc8quxXY7WAAMAg43nuxwv95tATVgQFNDwd4M9S1qFzj40Ul41Kmg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/util-buffer-from": "^4.0.0",
+ "@smithy/util-utf8": "^4.0.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/util-body-length-browser": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-4.0.0.tgz",
+ "integrity": "sha512-sNi3DL0/k64/LO3A256M+m3CDdG6V7WKWHdAiBBMUN8S3hK3aMPhwnPik2A/a2ONN+9doY9UxaLfgqsIRg69QA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/util-body-length-node": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-4.0.0.tgz",
+ "integrity": "sha512-q0iDP3VsZzqJyje8xJWEJCNIu3lktUGVoSy1KB0UWym2CL1siV3artm+u1DFYTLejpsrdGyCSWBdGNjJzfDPjg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/util-buffer-from": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-4.0.0.tgz",
+ "integrity": "sha512-9TOQ7781sZvddgO8nxueKi3+yGvkY35kotA0Y6BWRajAv8jjmigQ1sBwz0UX47pQMYXJPahSKEKYFgt+rXdcug==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/is-array-buffer": "^4.0.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/util-config-provider": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-4.0.0.tgz",
+ "integrity": "sha512-L1RBVzLyfE8OXH+1hsJ8p+acNUSirQnWQ6/EgpchV88G6zGBTDPdXiiExei6Z1wR2RxYvxY/XLw6AMNCCt8H3w==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/util-defaults-mode-browser": {
+ "version": "4.0.23",
+ "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-4.0.23.tgz",
+ "integrity": "sha512-NqRi6VvEIwpJ+KSdqI85+HH46H7uVoNqVTs2QO7p1YKnS7k8VZnunJj8R5KdmmVnTojkaL1OMPyZC8uR5F7fSg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/property-provider": "^4.0.4",
+ "@smithy/smithy-client": "^4.4.7",
+ "@smithy/types": "^4.3.1",
+ "bowser": "^2.11.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/util-defaults-mode-node": {
+ "version": "4.0.23",
+ "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-4.0.23.tgz",
+ "integrity": "sha512-NE9NtEVigFa+HHJ5bBeQT7KF3KiltW880CLN9TnWWL55akeou3ziRAHO22QSUPgPZ/nqMfPXi/LGMQ6xQvXPNQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/config-resolver": "^4.1.4",
+ "@smithy/credential-provider-imds": "^4.0.6",
+ "@smithy/node-config-provider": "^4.1.3",
+ "@smithy/property-provider": "^4.0.4",
+ "@smithy/smithy-client": "^4.4.7",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/util-endpoints": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-3.0.6.tgz",
+ "integrity": "sha512-YARl3tFL3WgPuLzljRUnrS2ngLiUtkwhQtj8PAL13XZSyUiNLQxwG3fBBq3QXFqGFUXepIN73pINp3y8c2nBmA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/node-config-provider": "^4.1.3",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/util-hex-encoding": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-4.0.0.tgz",
+ "integrity": "sha512-Yk5mLhHtfIgW2W2WQZWSg5kuMZCVbvhFmC7rV4IO2QqnZdbEFPmQnCcGMAX2z/8Qj3B9hYYNjZOhWym+RwhePw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/util-middleware": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-4.0.4.tgz",
+ "integrity": "sha512-9MLKmkBmf4PRb0ONJikCbCwORACcil6gUWojwARCClT7RmLzF04hUR4WdRprIXal7XVyrddadYNfp2eF3nrvtQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/util-retry": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-4.0.6.tgz",
+ "integrity": "sha512-+YekoF2CaSMv6zKrA6iI/N9yva3Gzn4L6n35Luydweu5MMPYpiGZlWqehPHDHyNbnyaYlz/WJyYAZnC+loBDZg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/service-error-classification": "^4.0.6",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/util-stream": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-4.2.3.tgz",
+ "integrity": "sha512-cQn412DWHHFNKrQfbHY8vSFI3nTROY1aIKji9N0tpp8gUABRilr7wdf8fqBbSlXresobM+tQFNk6I+0LXK/YZg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/fetch-http-handler": "^5.1.0",
+ "@smithy/node-http-handler": "^4.1.0",
+ "@smithy/types": "^4.3.1",
+ "@smithy/util-base64": "^4.0.0",
+ "@smithy/util-buffer-from": "^4.0.0",
+ "@smithy/util-hex-encoding": "^4.0.0",
+ "@smithy/util-utf8": "^4.0.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/util-uri-escape": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-4.0.0.tgz",
+ "integrity": "sha512-77yfbCbQMtgtTylO9itEAdpPXSog3ZxMe09AEhm0dU0NLTalV70ghDZFR+Nfi1C60jnJoh/Re4090/DuZh2Omg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/util-utf8": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-4.0.0.tgz",
+ "integrity": "sha512-b+zebfKCfRdgNJDknHCob3O7FpeYQN6ZG6YLExMcasDHsCXlsXCEuiPZeLnJLpwa5dvPetGlnGCiMHuLwGvFow==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/util-buffer-from": "^4.0.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@smithy/util-waiter": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-4.0.6.tgz",
+ "integrity": "sha512-slcr1wdRbX7NFphXZOxtxRNA7hXAAtJAXJDE/wdoMAos27SIquVCKiSqfB6/28YzQ8FCsB5NKkhdM5gMADbqxg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@smithy/abort-controller": "^4.0.4",
+ "@smithy/types": "^4.3.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@tsconfig/node10": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz",
+ "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@tsconfig/node12": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz",
+ "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@tsconfig/node14": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz",
+ "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@tsconfig/node16": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz",
+ "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/body-parser": {
+ "version": "1.19.6",
+ "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz",
+ "integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/connect": "*",
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/connect": {
+ "version": "3.4.38",
+ "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz",
+ "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/express": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/@types/express/-/express-5.0.3.tgz",
+ "integrity": "sha512-wGA0NX93b19/dZC1J18tKWVIYWyyF2ZjT9vin/NRu0qzzvfVzWjs04iq2rQ3H65vCTQYlRqs3YHfY7zjdV+9Kw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/body-parser": "*",
+ "@types/express-serve-static-core": "^5.0.0",
+ "@types/serve-static": "*"
+ }
+ },
+ "node_modules/@types/express-serve-static-core": {
+ "version": "5.0.7",
+ "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.7.tgz",
+ "integrity": "sha512-R+33OsgWw7rOhD1emjU7dzCDHucJrgJXMA5PYCzJxVil0dsyx5iBEPHqpPfiKNJQb7lZ1vxwoLR4Z87bBUpeGQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/node": "*",
+ "@types/qs": "*",
+ "@types/range-parser": "*",
+ "@types/send": "*"
+ }
+ },
+ "node_modules/@types/http-errors": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz",
+ "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/mime": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz",
+ "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/node": {
+ "version": "24.0.14",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-24.0.14.tgz",
+ "integrity": "sha512-4zXMWD91vBLGRtHK3YbIoFMia+1nqEz72coM42C5ETjnNCa/heoj7NT1G67iAfOqMmcfhuCZ4uNpyz8EjlAejw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "undici-types": "~7.8.0"
+ }
+ },
+ "node_modules/@types/qs": {
+ "version": "6.14.0",
+ "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.14.0.tgz",
+ "integrity": "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/range-parser": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz",
+ "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/send": {
+ "version": "0.17.5",
+ "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.5.tgz",
+ "integrity": "sha512-z6F2D3cOStZvuk2SaP6YrwkNO65iTZcwA2ZkSABegdkAh/lf+Aa/YQndZVfmEXT5vgAp6zv06VQ3ejSVjAny4w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/mime": "^1",
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/serve-static": {
+ "version": "1.15.8",
+ "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.8.tgz",
+ "integrity": "sha512-roei0UY3LhpOJvjbIP6ZZFngyLKl5dskOtDhxY5THRSpO+ZI+nzJ+m5yUMzGrp89YRa7lvknKkMYjqQFGwA7Sg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/http-errors": "*",
+ "@types/node": "*",
+ "@types/send": "*"
+ }
+ },
+ "node_modules/@types/uuid": {
+ "version": "9.0.8",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz",
+ "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==",
+ "license": "MIT"
+ },
+ "node_modules/accepts": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz",
+ "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==",
+ "license": "MIT",
+ "dependencies": {
+ "mime-types": "^3.0.0",
+ "negotiator": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/acorn": {
+ "version": "8.15.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
+ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/acorn-walk": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz",
+ "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "acorn": "^8.11.0"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/arg": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
+ "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/body-parser": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.0.tgz",
+ "integrity": "sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==",
+ "license": "MIT",
+ "dependencies": {
+ "bytes": "^3.1.2",
+ "content-type": "^1.0.5",
+ "debug": "^4.4.0",
+ "http-errors": "^2.0.0",
+ "iconv-lite": "^0.6.3",
+ "on-finished": "^2.4.1",
+ "qs": "^6.14.0",
+ "raw-body": "^3.0.0",
+ "type-is": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "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==",
+ "license": "MIT"
+ },
+ "node_modules/bytes": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
+ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/call-bind-apply-helpers": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
+ "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/call-bound": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz",
+ "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==",
+ "license": "MIT",
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.2",
+ "get-intrinsic": "^1.3.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/content-disposition": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.0.tgz",
+ "integrity": "sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==",
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "5.2.1"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/content-type": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
+ "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/cookie": {
+ "version": "0.7.2",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz",
+ "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/cookie-signature": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz",
+ "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.6.0"
+ }
+ },
+ "node_modules/create-require": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
+ "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/debug": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz",
+ "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==",
+ "license": "MIT",
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/depd": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/diff": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
+ "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.3.1"
+ }
+ },
+ "node_modules/dunder-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
+ "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
+ "license": "MIT",
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.2.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/ee-first": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
+ "license": "MIT"
+ },
+ "node_modules/encodeurl": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
+ "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/es-define-property": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
+ "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-errors": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
+ "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-object-atoms": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
+ "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/esbuild": {
+ "version": "0.25.6",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.6.tgz",
+ "integrity": "sha512-GVuzuUwtdsghE3ocJ9Bs8PNoF13HNQ5TXbEi2AhvVb8xU1Iwt9Fos9FEamfoee+u/TOsn7GUWc04lz46n2bbTg==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "bin": {
+ "esbuild": "bin/esbuild"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "optionalDependencies": {
+ "@esbuild/aix-ppc64": "0.25.6",
+ "@esbuild/android-arm": "0.25.6",
+ "@esbuild/android-arm64": "0.25.6",
+ "@esbuild/android-x64": "0.25.6",
+ "@esbuild/darwin-arm64": "0.25.6",
+ "@esbuild/darwin-x64": "0.25.6",
+ "@esbuild/freebsd-arm64": "0.25.6",
+ "@esbuild/freebsd-x64": "0.25.6",
+ "@esbuild/linux-arm": "0.25.6",
+ "@esbuild/linux-arm64": "0.25.6",
+ "@esbuild/linux-ia32": "0.25.6",
+ "@esbuild/linux-loong64": "0.25.6",
+ "@esbuild/linux-mips64el": "0.25.6",
+ "@esbuild/linux-ppc64": "0.25.6",
+ "@esbuild/linux-riscv64": "0.25.6",
+ "@esbuild/linux-s390x": "0.25.6",
+ "@esbuild/linux-x64": "0.25.6",
+ "@esbuild/netbsd-arm64": "0.25.6",
+ "@esbuild/netbsd-x64": "0.25.6",
+ "@esbuild/openbsd-arm64": "0.25.6",
+ "@esbuild/openbsd-x64": "0.25.6",
+ "@esbuild/openharmony-arm64": "0.25.6",
+ "@esbuild/sunos-x64": "0.25.6",
+ "@esbuild/win32-arm64": "0.25.6",
+ "@esbuild/win32-ia32": "0.25.6",
+ "@esbuild/win32-x64": "0.25.6"
+ }
+ },
+ "node_modules/escape-html": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
+ "license": "MIT"
+ },
+ "node_modules/etag": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
+ "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/express": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/express/-/express-5.1.0.tgz",
+ "integrity": "sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==",
+ "license": "MIT",
+ "dependencies": {
+ "accepts": "^2.0.0",
+ "body-parser": "^2.2.0",
+ "content-disposition": "^1.0.0",
+ "content-type": "^1.0.5",
+ "cookie": "^0.7.1",
+ "cookie-signature": "^1.2.1",
+ "debug": "^4.4.0",
+ "encodeurl": "^2.0.0",
+ "escape-html": "^1.0.3",
+ "etag": "^1.8.1",
+ "finalhandler": "^2.1.0",
+ "fresh": "^2.0.0",
+ "http-errors": "^2.0.0",
+ "merge-descriptors": "^2.0.0",
+ "mime-types": "^3.0.0",
+ "on-finished": "^2.4.1",
+ "once": "^1.4.0",
+ "parseurl": "^1.3.3",
+ "proxy-addr": "^2.0.7",
+ "qs": "^6.14.0",
+ "range-parser": "^1.2.1",
+ "router": "^2.2.0",
+ "send": "^1.1.0",
+ "serve-static": "^2.2.0",
+ "statuses": "^2.0.1",
+ "type-is": "^2.0.1",
+ "vary": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 18"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
+ }
+ },
+ "node_modules/fast-xml-parser": {
+ "version": "5.2.5",
+ "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.2.5.tgz",
+ "integrity": "sha512-pfX9uG9Ki0yekDHx2SiuRIyFdyAr1kMIMitPvb0YBo8SUfKvia7w7FIyd/l6av85pFYRhZscS75MwMnbvY+hcQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/NaturalIntelligence"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "strnum": "^2.1.0"
+ },
+ "bin": {
+ "fxparser": "src/cli/cli.js"
+ }
+ },
+ "node_modules/finalhandler": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.0.tgz",
+ "integrity": "sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==",
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^4.4.0",
+ "encodeurl": "^2.0.0",
+ "escape-html": "^1.0.3",
+ "on-finished": "^2.4.1",
+ "parseurl": "^1.3.3",
+ "statuses": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/forwarded": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
+ "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/fresh": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz",
+ "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/function-bind": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/get-intrinsic": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
+ "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
+ "license": "MIT",
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.2",
+ "es-define-property": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.1.1",
+ "function-bind": "^1.1.2",
+ "get-proto": "^1.0.1",
+ "gopd": "^1.2.0",
+ "has-symbols": "^1.1.0",
+ "hasown": "^2.0.2",
+ "math-intrinsics": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/get-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
+ "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
+ "license": "MIT",
+ "dependencies": {
+ "dunder-proto": "^1.0.1",
+ "es-object-atoms": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/gopd": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
+ "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-symbols": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
+ "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/hasown": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
+ "license": "MIT",
+ "dependencies": {
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/http-errors": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
+ "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
+ "license": "MIT",
+ "dependencies": {
+ "depd": "2.0.0",
+ "inherits": "2.0.4",
+ "setprototypeof": "1.2.0",
+ "statuses": "2.0.1",
+ "toidentifier": "1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/http-errors/node_modules/statuses": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
+ "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/iconv-lite": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
+ "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
+ "license": "MIT",
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+ "license": "ISC"
+ },
+ "node_modules/ipaddr.js": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
+ "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/is-promise": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz",
+ "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==",
+ "license": "MIT"
+ },
+ "node_modules/make-error": {
+ "version": "1.3.6",
+ "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
+ "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/math-intrinsics": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
+ "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/media-typer": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz",
+ "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/merge-descriptors": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz",
+ "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/mime-db": {
+ "version": "1.54.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz",
+ "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mime-types": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz",
+ "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==",
+ "license": "MIT",
+ "dependencies": {
+ "mime-db": "^1.54.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "license": "MIT"
+ },
+ "node_modules/negotiator": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz",
+ "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/object-inspect": {
+ "version": "1.13.4",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz",
+ "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/on-finished": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
+ "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
+ "license": "MIT",
+ "dependencies": {
+ "ee-first": "1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+ "license": "ISC",
+ "dependencies": {
+ "wrappy": "1"
+ }
+ },
+ "node_modules/parseurl": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
+ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/path-to-regexp": {
+ "version": "8.2.0",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.2.0.tgz",
+ "integrity": "sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/proxy-addr": {
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
+ "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
+ "license": "MIT",
+ "dependencies": {
+ "forwarded": "0.2.0",
+ "ipaddr.js": "1.9.1"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/qs": {
+ "version": "6.14.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz",
+ "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "side-channel": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=0.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/range-parser": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
+ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/raw-body": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.0.tgz",
+ "integrity": "sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==",
+ "license": "MIT",
+ "dependencies": {
+ "bytes": "3.1.2",
+ "http-errors": "2.0.0",
+ "iconv-lite": "0.6.3",
+ "unpipe": "1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/router": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz",
+ "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==",
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^4.4.0",
+ "depd": "^2.0.0",
+ "is-promise": "^4.0.0",
+ "parseurl": "^1.3.3",
+ "path-to-regexp": "^8.0.0"
+ },
+ "engines": {
+ "node": ">= 18"
+ }
+ },
+ "node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+ "license": "MIT"
+ },
+ "node_modules/send": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/send/-/send-1.2.0.tgz",
+ "integrity": "sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==",
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^4.3.5",
+ "encodeurl": "^2.0.0",
+ "escape-html": "^1.0.3",
+ "etag": "^1.8.1",
+ "fresh": "^2.0.0",
+ "http-errors": "^2.0.0",
+ "mime-types": "^3.0.1",
+ "ms": "^2.1.3",
+ "on-finished": "^2.4.1",
+ "range-parser": "^1.2.1",
+ "statuses": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 18"
+ }
+ },
+ "node_modules/serve-static": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.0.tgz",
+ "integrity": "sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==",
+ "license": "MIT",
+ "dependencies": {
+ "encodeurl": "^2.0.0",
+ "escape-html": "^1.0.3",
+ "parseurl": "^1.3.3",
+ "send": "^1.2.0"
+ },
+ "engines": {
+ "node": ">= 18"
+ }
+ },
+ "node_modules/setprototypeof": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
+ "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
+ "license": "ISC"
+ },
+ "node_modules/side-channel": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz",
+ "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==",
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "object-inspect": "^1.13.3",
+ "side-channel-list": "^1.0.0",
+ "side-channel-map": "^1.0.1",
+ "side-channel-weakmap": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/side-channel-list": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz",
+ "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==",
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "object-inspect": "^1.13.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/side-channel-map": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz",
+ "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==",
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.5",
+ "object-inspect": "^1.13.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/side-channel-weakmap": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz",
+ "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==",
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.5",
+ "object-inspect": "^1.13.3",
+ "side-channel-map": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/statuses": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz",
+ "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/strnum": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/strnum/-/strnum-2.1.1.tgz",
+ "integrity": "sha512-7ZvoFTiCnGxBtDqJ//Cu6fWtZtc7Y3x+QOirG15wztbdngGSkht27o2pyGWrVy0b4WAy3jbKmnoK6g5VlVNUUw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/NaturalIntelligence"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/toidentifier": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
+ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.6"
+ }
+ },
+ "node_modules/ts-node": {
+ "version": "10.9.2",
+ "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz",
+ "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@cspotcode/source-map-support": "^0.8.0",
+ "@tsconfig/node10": "^1.0.7",
+ "@tsconfig/node12": "^1.0.7",
+ "@tsconfig/node14": "^1.0.0",
+ "@tsconfig/node16": "^1.0.2",
+ "acorn": "^8.4.1",
+ "acorn-walk": "^8.1.1",
+ "arg": "^4.1.0",
+ "create-require": "^1.1.0",
+ "diff": "^4.0.1",
+ "make-error": "^1.1.1",
+ "v8-compile-cache-lib": "^3.0.1",
+ "yn": "3.1.1"
+ },
+ "bin": {
+ "ts-node": "dist/bin.js",
+ "ts-node-cwd": "dist/bin-cwd.js",
+ "ts-node-esm": "dist/bin-esm.js",
+ "ts-node-script": "dist/bin-script.js",
+ "ts-node-transpile-only": "dist/bin-transpile.js",
+ "ts-script": "dist/bin-script-deprecated.js"
+ },
+ "peerDependencies": {
+ "@swc/core": ">=1.2.50",
+ "@swc/wasm": ">=1.2.50",
+ "@types/node": "*",
+ "typescript": ">=2.7"
+ },
+ "peerDependenciesMeta": {
+ "@swc/core": {
+ "optional": true
+ },
+ "@swc/wasm": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/tslib": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+ "license": "0BSD"
+ },
+ "node_modules/type-is": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz",
+ "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==",
+ "license": "MIT",
+ "dependencies": {
+ "content-type": "^1.0.5",
+ "media-typer": "^1.1.0",
+ "mime-types": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/typescript": {
+ "version": "5.8.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz",
+ "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=14.17"
+ }
+ },
+ "node_modules/undici-types": {
+ "version": "7.8.0",
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.8.0.tgz",
+ "integrity": "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/unpipe": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+ "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "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"
+ ],
+ "license": "MIT",
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ }
+ },
+ "node_modules/v8-compile-cache-lib": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz",
+ "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/vary": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
+ "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
+ "license": "ISC"
+ },
+ "node_modules/yn": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
+ "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ }
+ }
+}
diff --git a/packages/cdk/fargate-s3-server/package.json b/packages/cdk/fargate-s3-server/package.json
new file mode 100644
index 000000000..530093243
--- /dev/null
+++ b/packages/cdk/fargate-s3-server/package.json
@@ -0,0 +1,19 @@
+{
+ "private": true,
+ "dependencies": {
+ "@aws-sdk/client-s3": "^3.846.0",
+ "express": "^5.1.0"
+ },
+ "scripts": {
+ "build": "npx tsc",
+ "start": "npx ts-node app.ts",
+ "bundle": "npx esbuild app.ts --bundle --outfile=dist/app.js --loader:.ts=ts --platform=node"
+ },
+ "devDependencies": {
+ "@types/express": "^5.0.3",
+ "@types/node": "^24.0.14",
+ "esbuild": "^0.25.6",
+ "ts-node": "^10.9.2",
+ "typescript": "^5.8.3"
+ }
+}
diff --git a/packages/cdk/fargate-s3-server/tsconfig.json b/packages/cdk/fargate-s3-server/tsconfig.json
new file mode 100644
index 000000000..23aec4c12
--- /dev/null
+++ b/packages/cdk/fargate-s3-server/tsconfig.json
@@ -0,0 +1,33 @@
+{
+ "compilerOptions": {
+ // Basic JavaScript output settings
+ "target": "ES2020",
+ "module": "commonjs",
+ "lib": ["es2020", "dom"],
+ "declaration": true,
+
+ // Strict type checking settings
+ "strict": true,
+ "noImplicitAny": true,
+ "strictNullChecks": true,
+ "noImplicitThis": true,
+ "alwaysStrict": true,
+ "strictPropertyInitialization": false,
+
+ // Code quality and error checking
+ "noUnusedLocals": false,
+ "noUnusedParameters": false,
+ "noImplicitReturns": true,
+ "noFallthroughCasesInSwitch": false,
+
+ // Source map settings
+ "inlineSourceMap": true,
+ "inlineSources": true,
+
+ // Other settings
+ "experimentalDecorators": true,
+ "esModuleInterop": true
+ },
+ // Exclude files and directories
+ "exclude": ["node_modules"]
+}
diff --git a/packages/cdk/lambda-python/generic-agent-core-runtime/.dockerignore b/packages/cdk/lambda-python/generic-agent-core-runtime/.dockerignore
new file mode 100644
index 000000000..b7be024ec
--- /dev/null
+++ b/packages/cdk/lambda-python/generic-agent-core-runtime/.dockerignore
@@ -0,0 +1,89 @@
+# Git
+.git
+.gitignore
+.gitattributes
+
+
+# CI
+.codeclimate.yml
+.travis.yml
+.taskcluster.yml
+
+# Docker
+docker-compose.yml
+Dockerfile
+.docker
+.dockerignore
+
+# Byte-compiled / optimized / DLL files
+**/__pycache__/
+**/*.py[cod]
+
+# C extensions
+*.so
+
+# Distribution / packaging
+.Python
+env/
+build/
+develop-eggs/
+dist/
+downloads/
+eggs/
+lib/
+lib64/
+parts/
+sdist/
+var/
+*.egg-info/
+.installed.cfg
+*.egg
+
+# PyInstaller
+# Usually these files are written by a python script from a template
+# before PyInstaller builds the exe, so as to inject date/other infos into it.
+*.manifest
+*.spec
+
+# Installer logs
+pip-log.txt
+pip-delete-this-directory.txt
+
+# Unit test / coverage reports
+htmlcov/
+.tox/
+.coverage
+.cache
+nosetests.xml
+coverage.xml
+
+# Translations
+*.mo
+*.pot
+
+# Django stuff:
+*.log
+
+# Sphinx documentation
+docs/_build/
+
+# PyBuilder
+target/
+
+# Virtual environment
+.env
+.venv/
+venv/
+
+# PyCharm
+.idea
+
+# Python mode for VIM
+.ropeproject
+**/.ropeproject
+
+# Vim swap files
+**/*.swp
+
+# VS Code
+.vscode/
\ No newline at end of file
diff --git a/packages/cdk/lambda-python/generic-agent-core-runtime/.gitignore b/packages/cdk/lambda-python/generic-agent-core-runtime/.gitignore
new file mode 100644
index 000000000..393290e4f
--- /dev/null
+++ b/packages/cdk/lambda-python/generic-agent-core-runtime/.gitignore
@@ -0,0 +1,66 @@
+# Environment variables
+.env
+
+# Python
+__pycache__/
+*.py[cod]
+*$py.class
+*.so
+.Python
+build/
+develop-eggs/
+dist/
+downloads/
+eggs/
+.eggs/
+lib/
+lib64/
+parts/
+sdist/
+var/
+wheels/
+*.egg-info/
+.installed.cfg
+*.egg
+MANIFEST
+
+# Virtual environments
+.venv/
+venv/
+ENV/
+env/
+
+# UV
+.uv/
+
+# IDE
+.vscode/
+.idea/
+*.swp
+*.swo
+
+# OS
+.DS_Store
+Thumbs.db
+
+# Logs
+*.log
+logs/
+
+# Temporary files
+tmp/
+temp/
+.tmp/
+
+# Docker
+.dockerignore
+
+# AWS
+.aws/
+
+# Browser automation
+screenshots/
+.browser_automation/
+
+# RSS feeds storage
+strands_rss_feeds/
\ No newline at end of file
diff --git a/packages/cdk/lambda-python/generic-agent-core-runtime/.python-version b/packages/cdk/lambda-python/generic-agent-core-runtime/.python-version
new file mode 100644
index 000000000..24ee5b1be
--- /dev/null
+++ b/packages/cdk/lambda-python/generic-agent-core-runtime/.python-version
@@ -0,0 +1 @@
+3.13
diff --git a/packages/cdk/lambda-python/generic-agent-core-runtime/Dockerfile b/packages/cdk/lambda-python/generic-agent-core-runtime/Dockerfile
new file mode 100644
index 000000000..db5df47fd
--- /dev/null
+++ b/packages/cdk/lambda-python/generic-agent-core-runtime/Dockerfile
@@ -0,0 +1,31 @@
+# Use ARM64 base image for Bedrock AgentCore compatibility
+FROM --platform=linux/arm64 public.ecr.aws/docker/library/python:3.13
+
+WORKDIR /var/task
+
+# Environment variables for UV package manager
+ENV UV_NO_CACHE=1
+ENV UV_NO_MANAGED_PYTHON=1
+ENV UV_PYTHON=/usr/local/bin/python
+ENV UV_INSTALL_DIR=/usr/local/bin
+ENV UV_PROJECT_ENVIRONMENT=/tmp/.venv
+
+# Install system dependencies
+RUN apt-get update -y && apt-get install curl nodejs npm graphviz -y
+RUN curl -LsSf https://astral.sh/uv/install.sh | sh
+
+# Copy dependency files
+COPY pyproject.toml .python-version uv.lock ./
+
+# Install Python dependencies
+RUN uv sync
+
+# Copy application files
+COPY app.py mcp.json ./
+COPY src/ ./src/
+
+# Expose port 8080 as required by AgentCore
+EXPOSE 8080
+
+# Start the application with OpenTelemetry instrumentation
+CMD ["uv", "run", "opentelemetry-instrument", "python", "app.py"]
diff --git a/packages/cdk/lambda-python/generic-agent-core-runtime/app.py b/packages/cdk/lambda-python/generic-agent-core-runtime/app.py
new file mode 100644
index 000000000..bf62811ed
--- /dev/null
+++ b/packages/cdk/lambda-python/generic-agent-core-runtime/app.py
@@ -0,0 +1,95 @@
+"""Main FastAPI application for Generic AgentCore Runtime."""
+
+import json
+import logging
+import traceback
+from fastapi import FastAPI, Request
+from fastapi.responses import StreamingResponse
+from src.agent import AgentManager
+from src.utils import create_ws_directory, clean_ws_directory, create_error_response
+from src.types import AgentCoreRequest
+
+# Configure root logger
+logging.basicConfig(
+ level=logging.INFO,
+ format="%(asctime)s - %(name)s - %(levelname)s - %(message)s",
+)
+logger = logging.getLogger(__name__)
+
+
+# Initialize FastAPI app
+app = FastAPI(
+ title="Generic AgentCore Runtime",
+ description="AWS Bedrock AgentCore Runtime with Strands Agent and MCP support",
+ version="1.0.0",
+)
+
+# Initialize agent manager
+agent_manager = AgentManager()
+
+
+@app.get("/ping")
+async def ping():
+ """Health check endpoint required by AgentCore"""
+ return {"status": "healthy", "service": "generic-agent-core-runtime"}
+
+
+@app.post("/invocations")
+async def invocations(request: Request):
+ """Main invocation endpoint required by AgentCore
+
+ Expects request with messages, system_prompt, prompt, and model
+ """
+ # Get session info from headers
+ headers = dict(request.headers)
+ session_id = headers.get("x-amzn-bedrock-agentcore-runtime-session-id")
+ trace_id = headers.get("x-amzn-trace-id")
+ logger.info(f"New invocation: {session_id} {trace_id}")
+
+ # Set session info in agent manager
+ agent_manager.set_session_info(session_id, trace_id)
+
+ # Ensure workspace directory exists
+ create_ws_directory()
+
+ try:
+ # Read and parse request body
+ body = await request.body()
+ body_str = body.decode()
+ request_data = json.loads(body_str)
+
+ # Handle input field if present (AWS Lambda integration format)
+ if "input" in request_data and isinstance(request_data["input"], dict):
+ request_data = request_data["input"]
+
+ # Extract required fields
+ messages = request_data.get("messages", [])
+ system_prompt = request_data.get("system_prompt")
+ prompt = request_data.get("prompt", [])
+ model_info = request_data.get("model", {})
+
+ # Return streaming response
+ async def generate():
+ try:
+ async for chunk in agent_manager.process_request_streaming(
+ messages=messages,
+ system_prompt=system_prompt,
+ prompt=prompt,
+ model_info=model_info
+ ):
+ yield chunk
+ finally:
+ clean_ws_directory()
+
+ return StreamingResponse(generate(), media_type="text/event-stream")
+ except Exception as e:
+ logger.error(f"Error processing request: {e}")
+ logger.error(traceback.format_exc())
+ return create_error_response(str(e))
+ finally:
+ clean_ws_directory()
+
+
+if __name__ == "__main__":
+ import uvicorn
+ uvicorn.run(app, host="0.0.0.0", port=8080, log_level="warning", access_log=False)
diff --git a/packages/cdk/lambda-python/generic-agent-core-runtime/docker-compose.yml b/packages/cdk/lambda-python/generic-agent-core-runtime/docker-compose.yml
new file mode 100644
index 000000000..ced5ded50
--- /dev/null
+++ b/packages/cdk/lambda-python/generic-agent-core-runtime/docker-compose.yml
@@ -0,0 +1,63 @@
+version: '3.8'
+
+services:
+ generic-agent-core-runtime:
+ build:
+ context: .
+ dockerfile: Dockerfile
+ ports:
+ - '8080:8080'
+ environment:
+ # AWS credentials (use your local credentials or set these)
+ - AWS_REGION=us-east-1
+ - AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
+ - AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
+ - AWS_SESSION_TOKEN=${AWS_SESSION_TOKEN}
+
+ # Optional: S3 bucket for file uploads (set if you want to test file uploads)
+ - FILE_BUCKET=${FILE_BUCKET:-test-bucket}
+
+ # Agent Core Runtime specific
+ - PYTHONUNBUFFERED=1
+ - LOG_LEVEL=INFO
+
+ # Code Interpreter settings (optional)
+ - CODE_INTERPRETER_REGION=${AWS_REGION:-us-east-1}
+
+ # Browser tool settings (optional)
+ - STRANDS_BROWSER_HEADLESS=true
+ - STRANDS_BROWSER_WIDTH=1280
+ - STRANDS_BROWSER_HEIGHT=800
+ - DISPLAY=:99
+ - CHROMIUM_PATH=/usr/bin/chromium
+ volumes:
+ # Mount source code for development (optional - remove for production)
+ - ./src:/var/task/src:ro
+ - ./app.py:/var/task/app.py:ro
+ - ./mcp.json:/var/task/mcp.json:ro
+
+ # Mount AWS credentials (optional - if using local AWS credentials)
+ - ~/.aws:/root/.aws:ro
+ healthcheck:
+ test: ['CMD', 'curl', '-f', 'http://localhost:8080/ping']
+ interval: 30s
+ timeout: 10s
+ retries: 3
+ start_period: 40s
+ restart: unless-stopped
+
+ # Optional: Add a simple test client
+ test-client:
+ image: curlimages/curl:latest
+ depends_on:
+ - generic-agent-core-runtime
+ command: >
+ sh -c "
+ echo 'Waiting for service to be ready...' &&
+ sleep 10 &&
+ echo 'Testing health endpoint...' &&
+ curl -f http://generic-agent-core-runtime:8080/ping &&
+ echo 'Health check passed!'
+ "
+ profiles:
+ - test
diff --git a/packages/cdk/lambda-python/generic-agent-core-runtime/mcp.json b/packages/cdk/lambda-python/generic-agent-core-runtime/mcp.json
new file mode 100644
index 000000000..6eadc70af
--- /dev/null
+++ b/packages/cdk/lambda-python/generic-agent-core-runtime/mcp.json
@@ -0,0 +1,37 @@
+{
+ "_comment": "Generic AgentCore Runtime Configuration",
+ "_agentcore_requirements": {
+ "platform": "linux/arm64",
+ "port": 8080,
+ "endpoints": {
+ "/ping": "GET - Health check endpoint",
+ "/invocations": "POST - Main inference endpoint"
+ },
+ "aws_credentials": "Required for Bedrock model access and S3 operations"
+ },
+ "mcpServers": {
+ "time": {
+ "command": "uvx",
+ "args": ["mcp-server-time"]
+ },
+ "awslabs.aws-documentation-mcp-server": {
+ "command": "uvx",
+ "args": ["awslabs.aws-documentation-mcp-server@latest"]
+ },
+ "awslabs.cdk-mcp-server": {
+ "command": "uvx",
+ "args": ["awslabs.cdk-mcp-server@latest"]
+ },
+ "awslabs.aws-diagram-mcp-server": {
+ "command": "uvx",
+ "args": ["awslabs.aws-diagram-mcp-server@latest"]
+ },
+ "awslabs.nova-canvas-mcp-server": {
+ "command": "uvx",
+ "args": ["awslabs.nova-canvas-mcp-server@latest"],
+ "env": {
+ "AWS_REGION": "us-east-1"
+ }
+ }
+ }
+}
diff --git a/packages/cdk/lambda-python/generic-agent-core-runtime/pyproject.toml b/packages/cdk/lambda-python/generic-agent-core-runtime/pyproject.toml
new file mode 100644
index 000000000..2e774648d
--- /dev/null
+++ b/packages/cdk/lambda-python/generic-agent-core-runtime/pyproject.toml
@@ -0,0 +1,14 @@
+[project]
+name = "generic-agent-core-runtime"
+version = "0.0.1"
+requires-python = ">=3.12"
+dependencies = [
+ "strands-agents>=1.0",
+ "strands-agents-tools[agent_core_code_interpreter,agent_core_browser]",
+ "boto3",
+ "mcp",
+ "fastapi",
+ "uvicorn",
+ "pydantic",
+ "aws-opentelemetry-distro>=0.10.1",
+]
diff --git a/packages/cdk/lambda-python/generic-agent-core-runtime/src/__init__.py b/packages/cdk/lambda-python/generic-agent-core-runtime/src/__init__.py
new file mode 100644
index 000000000..1d7b16040
--- /dev/null
+++ b/packages/cdk/lambda-python/generic-agent-core-runtime/src/__init__.py
@@ -0,0 +1 @@
+# Empty init file for src package
\ No newline at end of file
diff --git a/packages/cdk/lambda-python/generic-agent-core-runtime/src/agent.py b/packages/cdk/lambda-python/generic-agent-core-runtime/src/agent.py
new file mode 100644
index 000000000..d335b1c8d
--- /dev/null
+++ b/packages/cdk/lambda-python/generic-agent-core-runtime/src/agent.py
@@ -0,0 +1,84 @@
+"""Agent management for the agent core runtime."""
+
+import boto3
+import json
+import logging
+from strands.models import BedrockModel
+from strands import Agent as StrandsAgent
+from typing import List, Dict, Union, Any, Optional, AsyncGenerator
+from .config import get_system_prompt, extract_model_info
+from .tools import ToolManager
+from .utils import (
+ create_empty_response,
+ create_error_response,
+ process_messages,
+ process_prompt
+)
+from .types import ModelInfo, Message
+
+logger = logging.getLogger(__name__)
+
+
+class AgentManager:
+ """Manages Strands agent creation and execution."""
+
+ def __init__(self):
+ self.tool_manager = ToolManager()
+
+ def set_session_info(self, session_id: str, trace_id: str):
+ """Set session and trace IDs"""
+ self.tool_manager.set_session_info(session_id, trace_id)
+
+ async def process_request_streaming(
+ self,
+ messages: Union[List[Message], List[Dict[str, Any]]],
+ system_prompt: Optional[str],
+ prompt: Union[str, List[Dict[str, Any]]],
+ model_info: ModelInfo,
+ ) -> AsyncGenerator[str, None]:
+ """Process a request and yield streaming responses as raw events"""
+ try:
+ # Get model info
+ model_id, region = extract_model_info(model_info)
+
+ # Combine system prompts
+ combined_system_prompt = get_system_prompt(system_prompt)
+
+ # Get all tools
+ tools = self.tool_manager.get_all_tools()
+
+ # Create boto3 session and Bedrock model
+ session = boto3.Session(region_name=region)
+ bedrock_model = BedrockModel(
+ model_id=model_id,
+ boto_session=session,
+ cache_prompt="default",
+ cache_tools="default",
+ )
+
+ # Process messages and prompt using utility functions
+ processed_messages = process_messages(messages)
+ processed_prompt = process_prompt(prompt)
+
+ # Create Strands agent and stream response
+ agent = StrandsAgent(
+ system_prompt=combined_system_prompt,
+ messages=processed_messages,
+ model=bedrock_model,
+ tools=tools,
+ )
+
+ async for event in agent.stream_async(processed_prompt):
+ if "event" in event:
+ yield json.dumps(event, ensure_ascii=False) + "\n"
+
+ except Exception as e:
+ logger.error(f"Error processing agent request: {e}")
+ error_event = {
+ "event": {
+ "internalServerException": {
+ "message": f"An error occurred while processing your request: {str(e)}",
+ }
+ }
+ }
+ yield json.dumps(error_event, ensure_ascii=False) + "\n"
diff --git a/packages/cdk/lambda-python/generic-agent-core-runtime/src/config.py b/packages/cdk/lambda-python/generic-agent-core-runtime/src/config.py
new file mode 100644
index 000000000..b6b6c1c77
--- /dev/null
+++ b/packages/cdk/lambda-python/generic-agent-core-runtime/src/config.py
@@ -0,0 +1,75 @@
+"""Configuration and environment setup for the agent core runtime."""
+
+import os
+import logging
+from typing import Dict, Any
+
+# Configure root logger
+logging.basicConfig(
+ level=logging.INFO,
+ format="%(asctime)s - %(name)s - %(levelname)s - %(message)s",
+)
+logger = logging.getLogger(__name__)
+
+WORKSPACE_DIR = "/tmp/ws"
+
+FIXED_SYSTEM_PROMPT = f"""## About File Output
+- You are running on AWS Bedrock AgentCore. Therefore, when writing files, always write them under `{WORKSPACE_DIR}`.
+- Similarly, if you need a workspace, please use the `{WORKSPACE_DIR}` directory. Do not ask the user about their current workspace. It's always `{WORKSPACE_DIR}`.
+- Also, users cannot directly access files written under `{WORKSPACE_DIR}`. So when submitting these files to users, *always upload them to S3 using the `upload_file_to_s3_and_retrieve_s3_url` tool and provide the S3 URL*. The S3 URL must be included in the final output.
+- If the output file is an image file, the S3 URL output must be in Markdown format.
+"""
+
+
+def get_aws_credentials() -> Dict[str, str]:
+ """Get AWS credentials from environment or IAM role"""
+ credentials = {}
+
+ if "AWS_ACCESS_KEY_ID" in os.environ:
+ credentials["AWS_ACCESS_KEY_ID"] = os.environ["AWS_ACCESS_KEY_ID"]
+ if "AWS_SECRET_ACCESS_KEY" in os.environ:
+ credentials["AWS_SECRET_ACCESS_KEY"] = os.environ["AWS_SECRET_ACCESS_KEY"]
+ if "AWS_SESSION_TOKEN" in os.environ:
+ credentials["AWS_SESSION_TOKEN"] = os.environ["AWS_SESSION_TOKEN"]
+
+ credentials["AWS_REGION"] = os.environ.get("AWS_REGION", "us-east-1")
+
+ return credentials
+
+
+def get_uv_environment() -> Dict[str, str]:
+ """Get UV environment with AWS credentials"""
+ aws_creds = get_aws_credentials()
+ return {
+ "UV_NO_CACHE": "1",
+ "UV_PYTHON": "/usr/local/bin/python",
+ "UV_TOOL_DIR": "/tmp/.uv/tool",
+ "UV_TOOL_BIN_DIR": "/tmp/.uv/tool/bin",
+ "UV_PROJECT_ENVIRONMENT": "/tmp/.venv",
+ "npm_config_cache": "/tmp/.npm",
+ **aws_creds,
+ }
+
+
+def get_system_prompt(user_system_prompt: str = None) -> str:
+ """Combine user system prompt with fixed system prompt"""
+ if user_system_prompt:
+ return f"{user_system_prompt}\n{FIXED_SYSTEM_PROMPT}"
+ else:
+ return FIXED_SYSTEM_PROMPT
+
+
+def extract_model_info(model_info: Any) -> tuple[str, str]:
+ """Extract model ID and region from model info"""
+ aws_creds = get_aws_credentials()
+
+ if isinstance(model_info, str):
+ model_id = model_info
+ region = aws_creds.get("AWS_REGION", "us-east-1")
+ else:
+ model_id = model_info.get(
+ "modelId", "us.anthropic.claude-3-5-sonnet-20241022-v2:0"
+ )
+ region = model_info.get("region", aws_creds.get("AWS_REGION", "us-east-1"))
+
+ return model_id, region
\ No newline at end of file
diff --git a/packages/cdk/lambda-python/generic-agent-core-runtime/src/tools.py b/packages/cdk/lambda-python/generic-agent-core-runtime/src/tools.py
new file mode 100644
index 000000000..b0101f6bf
--- /dev/null
+++ b/packages/cdk/lambda-python/generic-agent-core-runtime/src/tools.py
@@ -0,0 +1,150 @@
+"""Tool management for the agent core runtime."""
+
+import os
+import boto3
+import json
+import logging
+from strands import tool
+from strands.tools.mcp import MCPClient
+from mcp import stdio_client, StdioServerParameters
+from typing import List, Any
+from .config import get_uv_environment, get_aws_credentials, WORKSPACE_DIR
+
+# Import strands-agents code interpreter tool
+try:
+ from strands_tools.code_interpreter import AgentCoreCodeInterpreter
+ CODE_INTERPRETER_AVAILABLE = True
+except ImportError as e:
+ CODE_INTERPRETER_AVAILABLE = False
+ logger = logging.getLogger(__name__)
+ logger.warning(f"Strands code interpreter tool not available: {e}")
+ AgentCoreCodeInterpreter = None
+
+logger = logging.getLogger(__name__)
+
+
+class ToolManager:
+ """Manages tools including MCP tools and built-in tools."""
+
+ def __init__(self):
+ self.mcp_tools = None
+ self.session_id = None
+ self.trace_id = None
+
+ def set_session_info(self, session_id: str, trace_id: str):
+ """Set session and trace IDs for tool operations"""
+ self.session_id = session_id
+ self.trace_id = trace_id
+
+ def load_mcp_tools(self) -> List[Any]:
+ """Load MCP tools from mcp.json"""
+ if self.mcp_tools is not None:
+ return self.mcp_tools
+
+ try:
+ with open("mcp.json", "r") as f:
+ mcp_json = json.loads(f.read())
+
+ if "mcpServers" not in mcp_json:
+ logger.warning("mcpServers not defined in mcp.json")
+ self.mcp_tools = []
+ return self.mcp_tools
+
+ mcp_servers = mcp_json["mcpServers"]
+ mcp_clients = []
+ uv_env = get_uv_environment()
+
+ for server_name, server in mcp_servers.items():
+ try:
+ client = MCPClient(
+ lambda: stdio_client(
+ StdioServerParameters(
+ command=server["command"],
+ args=server.get("args", []),
+ env={**uv_env, **server.get("env", {})},
+ )
+ )
+ )
+ client.start()
+ mcp_clients.append(client)
+ except Exception as e:
+ logger.error(f"Error creating MCP client for {server_name}: {e}")
+
+ # Flatten the tools
+ self.mcp_tools = sum([c.list_tools_sync() for c in mcp_clients], [])
+ logger.info(f"Loaded {len(self.mcp_tools)} MCP tools")
+ return self.mcp_tools
+ except Exception as e:
+ logger.error(f"Error loading MCP tools: {e}")
+ self.mcp_tools = []
+ return self.mcp_tools
+
+ def get_upload_tool(self):
+ """Get the S3 upload tool with session context"""
+ session_id = self.session_id
+ trace_id = self.trace_id
+
+ @tool
+ def upload_file_to_s3_and_retrieve_s3_url(filepath: str) -> str:
+ """Upload the file at /tmp/ws/* and retrieve the s3 path
+
+ Args:
+ filepath: The path to the uploading file
+ """
+ bucket = os.environ.get("FILE_BUCKET")
+ if not bucket:
+ # For local testing, provide a fallback message
+ logger.warning(
+ "FILE_BUCKET environment variable not set. Using local file path for testing."
+ )
+ return f"Local file path (S3 upload skipped): {filepath}"
+
+ aws_creds = get_aws_credentials()
+ region = aws_creds.get("AWS_REGION", "us-east-1")
+
+ if not filepath.startswith(WORKSPACE_DIR):
+ raise ValueError(
+ f"{filepath} does not appear to be a file under the {WORKSPACE_DIR} directory. Files to be uploaded must exist under {WORKSPACE_DIR}."
+ )
+
+ try:
+ filename = os.path.basename(filepath)
+ key = f"agentcore/{trace_id}/{filename}"
+
+ s3 = boto3.client("s3", region_name=region)
+ s3.upload_file(filepath, bucket, key)
+
+ return f"https://{bucket}.s3.{region}.amazonaws.com/{key}"
+ except Exception as e:
+ logger.error(f"Error uploading file to S3: {e}")
+ # For local testing, provide a fallback
+ return f"Error uploading to S3: {str(e)}. Local file path: {filepath}"
+
+ return upload_file_to_s3_and_retrieve_s3_url
+
+ def get_code_interpreter_tool(self) -> List[Any]:
+ """Get code interpreter tool if available"""
+ code_interpreter_tools = []
+
+ if CODE_INTERPRETER_AVAILABLE and AgentCoreCodeInterpreter:
+ try:
+ aws_creds = get_aws_credentials()
+ region = aws_creds.get("AWS_REGION", "us-east-1")
+ code_interpreter = AgentCoreCodeInterpreter(region=region)
+ code_interpreter_tools.append(code_interpreter.code_interpreter)
+ logger.info("Added code_interpreter tool (AgentCoreCodeInterpreter)")
+ except Exception as e:
+ logger.warning(f"Failed to initialize AgentCoreCodeInterpreter: {e}")
+
+ return code_interpreter_tools
+
+ def get_all_tools(self) -> List[Any]:
+ """Get all available tools (MCP + built-in + code interpreter)"""
+ mcp_tools = self.load_mcp_tools()
+ upload_tool = self.get_upload_tool()
+ code_interpreter_tools = self.get_code_interpreter_tool()
+
+ all_tools = mcp_tools + [upload_tool] + code_interpreter_tools
+ logger.info(f"Total tools loaded: {len(all_tools)} (MCP: {len(mcp_tools)}, Built-in: 1, Code Interpreter: {len(code_interpreter_tools)})")
+
+ return all_tools
\ No newline at end of file
diff --git a/packages/cdk/lambda-python/generic-agent-core-runtime/src/types.py b/packages/cdk/lambda-python/generic-agent-core-runtime/src/types.py
new file mode 100644
index 000000000..53446c00a
--- /dev/null
+++ b/packages/cdk/lambda-python/generic-agent-core-runtime/src/types.py
@@ -0,0 +1,17 @@
+"""Data models for the agent core runtime."""
+
+from strands.types.content import Message
+from pydantic import BaseModel
+from typing import List, Dict, Any, Optional, Union
+
+
+class ModelInfo(BaseModel):
+ modelId: str
+ region: str = "us-east-1"
+
+
+class AgentCoreRequest(BaseModel):
+ messages: Union[List[Message], List[Dict[str, Any]]] = []
+ system_prompt: Optional[str] = None
+ prompt: Union[str, List[Dict[str, Any]]] = ""
+ model: ModelInfo = {}
diff --git a/packages/cdk/lambda-python/generic-agent-core-runtime/src/utils.py b/packages/cdk/lambda-python/generic-agent-core-runtime/src/utils.py
new file mode 100644
index 000000000..79c91c0bb
--- /dev/null
+++ b/packages/cdk/lambda-python/generic-agent-core-runtime/src/utils.py
@@ -0,0 +1,135 @@
+"""Utility functions for the agent core runtime."""
+
+import base64
+import os
+import shutil
+import pathlib
+import logging
+from uuid import uuid4
+from typing import List, Dict, Union, Any
+from strands.types.content import ContentBlock
+from .config import WORKSPACE_DIR
+
+logger = logging.getLogger(__name__)
+
+
+def create_id() -> str:
+ """Generate a unique session ID"""
+ return str(uuid4())
+
+
+def create_ws_directory():
+ """Create workspace directory if it doesn't exist"""
+ logger.info("Create ws directory")
+ pathlib.Path(WORKSPACE_DIR).mkdir(exist_ok=True)
+
+
+def clean_ws_directory():
+ """Clean up workspace directory"""
+ logger.info("Clean ws directory...")
+ if os.path.exists(WORKSPACE_DIR):
+ shutil.rmtree(WORKSPACE_DIR)
+
+
+def create_error_response(error_message: str) -> dict:
+ """Create a standardized error response"""
+ return {
+ "message": {
+ "role": "assistant",
+ "content": [
+ {
+ "text": f"An error occurred while processing your request: {error_message}",
+ }
+ ],
+ }
+ }
+
+
+def create_empty_response() -> dict:
+ """Create a response for when no message is generated"""
+ return {
+ "message": {
+ "role": "assistant",
+ "content": [
+ {
+ "text": "I apologize, but I couldn't generate a response. Please try again.",
+ }
+ ],
+ }
+ }
+
+
+# Base64 conversion utilities
+
+def decode_base64_string(value: Any) -> bytes:
+ """Convert base64 string or bytes to bytes"""
+ if isinstance(value, bytes):
+ return value
+ elif isinstance(value, str):
+ return base64.b64decode(value + "==") # add padding
+ else:
+ raise ValueError(f"Invalid value type: {type(value)}")
+
+
+def convert_content_block_bytes(block: Dict[str, Any]) -> Dict[str, Any]:
+ """Convert base64 strings to bytes in a content block"""
+ block = block.copy()
+
+ # Handle image, document, and video blocks
+ for media_type in ["image", "document", "video"]:
+ if media_type in block:
+ media_data = block[media_type]
+ if "source" in media_data and "bytes" in media_data["source"]:
+ media_data["source"]["bytes"] = decode_base64_string(
+ media_data["source"]["bytes"]
+ )
+
+ return block
+
+
+def process_content_blocks(
+ content_blocks: List[Union[Dict[str, Any], str]]
+) -> List[ContentBlock]:
+ """Process content blocks and convert base64 strings to bytes for Strands"""
+ processed_blocks = []
+
+ for block in content_blocks:
+ if isinstance(block, str):
+ processed_blocks.append(ContentBlock(text=block))
+ elif isinstance(block, dict):
+ if "text" in block:
+ processed_blocks.append(ContentBlock(text=block["text"]))
+ else:
+ # Convert base64 bytes and create ContentBlock
+ converted_block = convert_content_block_bytes(block)
+ processed_blocks.append(ContentBlock(**converted_block))
+
+ return processed_blocks
+
+
+def process_messages(messages: Union[List[Any], List[Dict[str, Any]]]) -> List[Any]:
+ """Process messages and convert base64 strings to bytes if needed"""
+ if not messages or not isinstance(messages[0], dict):
+ return messages
+
+ # Import Message here to avoid circular imports
+ from .types import Message
+
+ processed_messages = []
+ for message in messages:
+ msg = message.copy()
+ if "content" in msg and isinstance(msg["content"], list):
+ msg["content"] = [
+ convert_content_block_bytes(block) if isinstance(block, dict) else block
+ for block in msg["content"]
+ ]
+ processed_messages.append(Message(**msg))
+
+ return processed_messages
+
+
+def process_prompt(prompt: Union[str, List[Dict[str, Any]]]) -> Union[str, List[ContentBlock]]:
+ """Process prompt and convert base64 strings to bytes if needed"""
+ if isinstance(prompt, list):
+ return process_content_blocks(prompt)
+ return prompt
\ No newline at end of file
diff --git a/packages/cdk/lambda-python/generic-agent-core-runtime/uv.lock b/packages/cdk/lambda-python/generic-agent-core-runtime/uv.lock
new file mode 100644
index 000000000..7cd055b82
--- /dev/null
+++ b/packages/cdk/lambda-python/generic-agent-core-runtime/uv.lock
@@ -0,0 +1,2151 @@
+version = 1
+requires-python = ">=3.12"
+resolution-markers = [
+ "python_full_version >= '3.13'",
+ "python_full_version < '3.13'",
+]
+
+[[package]]
+name = "annotated-types"
+version = "0.7.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89", size = 16081 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643 },
+]
+
+[[package]]
+name = "anyio"
+version = "4.9.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "idna" },
+ { name = "sniffio" },
+ { name = "typing-extensions", marker = "python_full_version < '3.13'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/95/7d/4c1bd541d4dffa1b52bd83fb8527089e097a106fc90b467a7313b105f840/anyio-4.9.0.tar.gz", hash = "sha256:673c0c244e15788651a4ff38710fea9675823028a6f08a5eda409e0c9840a028", size = 190949 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/a1/ee/48ca1a7c89ffec8b6a0c5d02b89c305671d5ffd8d3c94acf8b8c408575bb/anyio-4.9.0-py3-none-any.whl", hash = "sha256:9f76d541cad6e36af7beb62e978876f3b41e3e04f2c1fbf0884604c0a9c4d93c", size = 100916 },
+]
+
+[[package]]
+name = "asgiref"
+version = "3.9.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/90/61/0aa957eec22ff70b830b22ff91f825e70e1ef732c06666a805730f28b36b/asgiref-3.9.1.tar.gz", hash = "sha256:a5ab6582236218e5ef1648f242fd9f10626cfd4de8dc377db215d5d5098e3142", size = 36870 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/7c/3c/0464dcada90d5da0e71018c04a140ad6349558afb30b3051b4264cc5b965/asgiref-3.9.1-py3-none-any.whl", hash = "sha256:f3bba7092a48005b5f5bacd747d36ee4a5a61f4a269a6df590b43144355ebd2c", size = 23790 },
+]
+
+[[package]]
+name = "attrs"
+version = "25.3.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz", hash = "sha256:75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b", size = 812032 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/77/06/bb80f5f86020c4551da315d78b3ab75e8228f89f0162f2c3a819e407941a/attrs-25.3.0-py3-none-any.whl", hash = "sha256:427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3", size = 63815 },
+]
+
+[[package]]
+name = "aws-opentelemetry-distro"
+version = "0.10.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-distro" },
+ { name = "opentelemetry-exporter-otlp-proto-common" },
+ { name = "opentelemetry-exporter-otlp-proto-grpc" },
+ { name = "opentelemetry-exporter-otlp-proto-http" },
+ { name = "opentelemetry-instrumentation" },
+ { name = "opentelemetry-instrumentation-aio-pika" },
+ { name = "opentelemetry-instrumentation-aiohttp-client" },
+ { name = "opentelemetry-instrumentation-aiopg" },
+ { name = "opentelemetry-instrumentation-asgi" },
+ { name = "opentelemetry-instrumentation-asyncpg" },
+ { name = "opentelemetry-instrumentation-aws-lambda" },
+ { name = "opentelemetry-instrumentation-boto" },
+ { name = "opentelemetry-instrumentation-boto3sqs" },
+ { name = "opentelemetry-instrumentation-botocore" },
+ { name = "opentelemetry-instrumentation-cassandra" },
+ { name = "opentelemetry-instrumentation-celery" },
+ { name = "opentelemetry-instrumentation-confluent-kafka" },
+ { name = "opentelemetry-instrumentation-dbapi" },
+ { name = "opentelemetry-instrumentation-django" },
+ { name = "opentelemetry-instrumentation-elasticsearch" },
+ { name = "opentelemetry-instrumentation-falcon" },
+ { name = "opentelemetry-instrumentation-fastapi" },
+ { name = "opentelemetry-instrumentation-flask" },
+ { name = "opentelemetry-instrumentation-grpc" },
+ { name = "opentelemetry-instrumentation-httpx" },
+ { name = "opentelemetry-instrumentation-jinja2" },
+ { name = "opentelemetry-instrumentation-kafka-python" },
+ { name = "opentelemetry-instrumentation-logging" },
+ { name = "opentelemetry-instrumentation-mysql" },
+ { name = "opentelemetry-instrumentation-mysqlclient" },
+ { name = "opentelemetry-instrumentation-pika" },
+ { name = "opentelemetry-instrumentation-psycopg2" },
+ { name = "opentelemetry-instrumentation-pymemcache" },
+ { name = "opentelemetry-instrumentation-pymongo" },
+ { name = "opentelemetry-instrumentation-pymysql" },
+ { name = "opentelemetry-instrumentation-pyramid" },
+ { name = "opentelemetry-instrumentation-redis" },
+ { name = "opentelemetry-instrumentation-remoulade" },
+ { name = "opentelemetry-instrumentation-requests" },
+ { name = "opentelemetry-instrumentation-sqlalchemy" },
+ { name = "opentelemetry-instrumentation-sqlite3" },
+ { name = "opentelemetry-instrumentation-starlette" },
+ { name = "opentelemetry-instrumentation-system-metrics" },
+ { name = "opentelemetry-instrumentation-tornado" },
+ { name = "opentelemetry-instrumentation-tortoiseorm" },
+ { name = "opentelemetry-instrumentation-urllib" },
+ { name = "opentelemetry-instrumentation-urllib3" },
+ { name = "opentelemetry-instrumentation-wsgi" },
+ { name = "opentelemetry-processor-baggage" },
+ { name = "opentelemetry-propagator-aws-xray" },
+ { name = "opentelemetry-propagator-b3" },
+ { name = "opentelemetry-propagator-jaeger" },
+ { name = "opentelemetry-propagator-ot-trace" },
+ { name = "opentelemetry-sdk" },
+ { name = "opentelemetry-sdk-extension-aws" },
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/f8/bb/1f85f78fedd24a7dcc038eb4b7e30ee1b0b71acae03d6075171c917e0cce/aws_opentelemetry_distro-0.10.0-py3-none-any.whl", hash = "sha256:102edd8a6fcf059bd9bb97aa8bfb3053097b01e690bbc56a81840f07c30e0ff2", size = 98899 },
+]
+
+[[package]]
+name = "aws-requests-auth"
+version = "0.4.3"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "requests" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/54/b2/455c0bfcbd772dafd4c9e93c4b713e36790abf9ccbca9b8e661968b29798/aws-requests-auth-0.4.3.tar.gz", hash = "sha256:33593372018b960a31dbbe236f89421678b885c35f0b6a7abfae35bb77e069b2", size = 10096 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/af/11/5dc8be418e1d54bed15eaf3a7461797e5ebb9e6a34869ad750561f35fa5b/aws_requests_auth-0.4.3-py2.py3-none-any.whl", hash = "sha256:646bc37d62140ea1c709d20148f5d43197e6bd2d63909eb36fa4bb2345759977", size = 6838 },
+]
+
+[[package]]
+name = "beautifulsoup4"
+version = "4.13.4"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "soupsieve" },
+ { name = "typing-extensions" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/d8/e4/0c4c39e18fd76d6a628d4dd8da40543d136ce2d1752bd6eeeab0791f4d6b/beautifulsoup4-4.13.4.tar.gz", hash = "sha256:dbb3c4e1ceae6aefebdaf2423247260cd062430a410e38c66f2baa50a8437195", size = 621067 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/50/cd/30110dc0ffcf3b131156077b90e9f60ed75711223f306da4db08eff8403b/beautifulsoup4-4.13.4-py3-none-any.whl", hash = "sha256:9bbbb14bfde9d79f38b8cd5f8c7c85f4b8f2523190ebed90e950a8dea4cb1c4b", size = 187285 },
+]
+
+[[package]]
+name = "boto3"
+version = "1.39.9"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "botocore" },
+ { name = "jmespath" },
+ { name = "s3transfer" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/9b/e5/7a0e98d88212b532fbf4b6fb6ace997c522a1b88d39d76d41b0f5ed14796/boto3-1.39.9.tar.gz", hash = "sha256:e3d3a6b617e1575e7ec854c820a882ab2e189a0421e74dc0dca2c9e13d4370a5", size = 111851 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/0b/82/faf1b3bab5a94c3a3cf9ddc8e04eee2bdc29d5b8da42d7cda905c505e311/boto3-1.39.9-py3-none-any.whl", hash = "sha256:5bc85e9fdec4e21ef5ca2c22b4d51a3e32b53f3da36ce51f5a3ea4dbde07b132", size = 139887 },
+]
+
+[[package]]
+name = "botocore"
+version = "1.39.9"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "jmespath" },
+ { name = "python-dateutil" },
+ { name = "urllib3" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/4d/d3/fd0a230e320a6e23932887fa6e508b90ccad2c1be77d4e88855cfad9cbe7/botocore-1.39.9.tar.gz", hash = "sha256:02f141c2849e4589a79feea245ce4ecc478d48b7865572445af8aae3b041772d", size = 14215273 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/07/2d/951352b2a14e70144c1a4dff611472a6213b8dbdb7996c0029caa48c80e3/botocore-1.39.9-py3-none-any.whl", hash = "sha256:a9691cbe03a3bc8b2720b3c36e5c5a2eecace6acd72bfb1107f00e75edaec4f3", size = 13874123 },
+]
+
+[[package]]
+name = "certifi"
+version = "2025.7.14"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/b3/76/52c535bcebe74590f296d6c77c86dabf761c41980e1347a2422e4aa2ae41/certifi-2025.7.14.tar.gz", hash = "sha256:8ea99dbdfaaf2ba2f9bac77b9249ef62ec5218e7c2b2e903378ed5fccf765995", size = 163981 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/4f/52/34c6cf5bb9285074dc3531c437b3919e825d976fde097a7a73f79e726d03/certifi-2025.7.14-py3-none-any.whl", hash = "sha256:6b31f564a415d79ee77df69d757bb49a5bb53bd9f756cbbe24394ffd6fc1f4b2", size = 162722 },
+]
+
+[[package]]
+name = "charset-normalizer"
+version = "3.4.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/e4/33/89c2ced2b67d1c2a61c19c6751aa8902d46ce3dacb23600a283619f5a12d/charset_normalizer-3.4.2.tar.gz", hash = "sha256:5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63", size = 126367 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/d7/a4/37f4d6035c89cac7930395a35cc0f1b872e652eaafb76a6075943754f095/charset_normalizer-3.4.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0c29de6a1a95f24b9a1aa7aefd27d2487263f00dfd55a77719b530788f75cff7", size = 199936 },
+ { url = "https://files.pythonhosted.org/packages/ee/8a/1a5e33b73e0d9287274f899d967907cd0bf9c343e651755d9307e0dbf2b3/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cddf7bd982eaa998934a91f69d182aec997c6c468898efe6679af88283b498d3", size = 143790 },
+ { url = "https://files.pythonhosted.org/packages/66/52/59521f1d8e6ab1482164fa21409c5ef44da3e9f653c13ba71becdd98dec3/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcbe676a55d7445b22c10967bceaaf0ee69407fbe0ece4d032b6eb8d4565982a", size = 153924 },
+ { url = "https://files.pythonhosted.org/packages/86/2d/fb55fdf41964ec782febbf33cb64be480a6b8f16ded2dbe8db27a405c09f/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d41c4d287cfc69060fa91cae9683eacffad989f1a10811995fa309df656ec214", size = 146626 },
+ { url = "https://files.pythonhosted.org/packages/8c/73/6ede2ec59bce19b3edf4209d70004253ec5f4e319f9a2e3f2f15601ed5f7/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e594135de17ab3866138f496755f302b72157d115086d100c3f19370839dd3a", size = 148567 },
+ { url = "https://files.pythonhosted.org/packages/09/14/957d03c6dc343c04904530b6bef4e5efae5ec7d7990a7cbb868e4595ee30/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cf713fe9a71ef6fd5adf7a79670135081cd4431c2943864757f0fa3a65b1fafd", size = 150957 },
+ { url = "https://files.pythonhosted.org/packages/0d/c8/8174d0e5c10ccebdcb1b53cc959591c4c722a3ad92461a273e86b9f5a302/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a370b3e078e418187da8c3674eddb9d983ec09445c99a3a263c2011993522981", size = 145408 },
+ { url = "https://files.pythonhosted.org/packages/58/aa/8904b84bc8084ac19dc52feb4f5952c6df03ffb460a887b42615ee1382e8/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a955b438e62efdf7e0b7b52a64dc5c3396e2634baa62471768a64bc2adb73d5c", size = 153399 },
+ { url = "https://files.pythonhosted.org/packages/c2/26/89ee1f0e264d201cb65cf054aca6038c03b1a0c6b4ae998070392a3ce605/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:7222ffd5e4de8e57e03ce2cef95a4c43c98fcb72ad86909abdfc2c17d227fc1b", size = 156815 },
+ { url = "https://files.pythonhosted.org/packages/fd/07/68e95b4b345bad3dbbd3a8681737b4338ff2c9df29856a6d6d23ac4c73cb/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:bee093bf902e1d8fc0ac143c88902c3dfc8941f7ea1d6a8dd2bcb786d33db03d", size = 154537 },
+ { url = "https://files.pythonhosted.org/packages/77/1a/5eefc0ce04affb98af07bc05f3bac9094513c0e23b0562d64af46a06aae4/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:dedb8adb91d11846ee08bec4c8236c8549ac721c245678282dcb06b221aab59f", size = 149565 },
+ { url = "https://files.pythonhosted.org/packages/37/a0/2410e5e6032a174c95e0806b1a6585eb21e12f445ebe239fac441995226a/charset_normalizer-3.4.2-cp312-cp312-win32.whl", hash = "sha256:db4c7bf0e07fc3b7d89ac2a5880a6a8062056801b83ff56d8464b70f65482b6c", size = 98357 },
+ { url = "https://files.pythonhosted.org/packages/6c/4f/c02d5c493967af3eda9c771ad4d2bbc8df6f99ddbeb37ceea6e8716a32bc/charset_normalizer-3.4.2-cp312-cp312-win_amd64.whl", hash = "sha256:5a9979887252a82fefd3d3ed2a8e3b937a7a809f65dcb1e068b090e165bbe99e", size = 105776 },
+ { url = "https://files.pythonhosted.org/packages/ea/12/a93df3366ed32db1d907d7593a94f1fe6293903e3e92967bebd6950ed12c/charset_normalizer-3.4.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:926ca93accd5d36ccdabd803392ddc3e03e6d4cd1cf17deff3b989ab8e9dbcf0", size = 199622 },
+ { url = "https://files.pythonhosted.org/packages/04/93/bf204e6f344c39d9937d3c13c8cd5bbfc266472e51fc8c07cb7f64fcd2de/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eba9904b0f38a143592d9fc0e19e2df0fa2e41c3c3745554761c5f6447eedabf", size = 143435 },
+ { url = "https://files.pythonhosted.org/packages/22/2a/ea8a2095b0bafa6c5b5a55ffdc2f924455233ee7b91c69b7edfcc9e02284/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3fddb7e2c84ac87ac3a947cb4e66d143ca5863ef48e4a5ecb83bd48619e4634e", size = 153653 },
+ { url = "https://files.pythonhosted.org/packages/b6/57/1b090ff183d13cef485dfbe272e2fe57622a76694061353c59da52c9a659/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98f862da73774290f251b9df8d11161b6cf25b599a66baf087c1ffe340e9bfd1", size = 146231 },
+ { url = "https://files.pythonhosted.org/packages/e2/28/ffc026b26f441fc67bd21ab7f03b313ab3fe46714a14b516f931abe1a2d8/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c9379d65defcab82d07b2a9dfbfc2e95bc8fe0ebb1b176a3190230a3ef0e07c", size = 148243 },
+ { url = "https://files.pythonhosted.org/packages/c0/0f/9abe9bd191629c33e69e47c6ef45ef99773320e9ad8e9cb08b8ab4a8d4cb/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e635b87f01ebc977342e2697d05b56632f5f879a4f15955dfe8cef2448b51691", size = 150442 },
+ { url = "https://files.pythonhosted.org/packages/67/7c/a123bbcedca91d5916c056407f89a7f5e8fdfce12ba825d7d6b9954a1a3c/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1c95a1e2902a8b722868587c0e1184ad5c55631de5afc0eb96bc4b0d738092c0", size = 145147 },
+ { url = "https://files.pythonhosted.org/packages/ec/fe/1ac556fa4899d967b83e9893788e86b6af4d83e4726511eaaad035e36595/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ef8de666d6179b009dce7bcb2ad4c4a779f113f12caf8dc77f0162c29d20490b", size = 153057 },
+ { url = "https://files.pythonhosted.org/packages/2b/ff/acfc0b0a70b19e3e54febdd5301a98b72fa07635e56f24f60502e954c461/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:32fc0341d72e0f73f80acb0a2c94216bd704f4f0bce10aedea38f30502b271ff", size = 156454 },
+ { url = "https://files.pythonhosted.org/packages/92/08/95b458ce9c740d0645feb0e96cea1f5ec946ea9c580a94adfe0b617f3573/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:289200a18fa698949d2b39c671c2cc7a24d44096784e76614899a7ccf2574b7b", size = 154174 },
+ { url = "https://files.pythonhosted.org/packages/78/be/8392efc43487ac051eee6c36d5fbd63032d78f7728cb37aebcc98191f1ff/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4a476b06fbcf359ad25d34a057b7219281286ae2477cc5ff5e3f70a246971148", size = 149166 },
+ { url = "https://files.pythonhosted.org/packages/44/96/392abd49b094d30b91d9fbda6a69519e95802250b777841cf3bda8fe136c/charset_normalizer-3.4.2-cp313-cp313-win32.whl", hash = "sha256:aaeeb6a479c7667fbe1099af9617c83aaca22182d6cf8c53966491a0f1b7ffb7", size = 98064 },
+ { url = "https://files.pythonhosted.org/packages/e9/b0/0200da600134e001d91851ddc797809e2fe0ea72de90e09bec5a2fbdaccb/charset_normalizer-3.4.2-cp313-cp313-win_amd64.whl", hash = "sha256:aa6af9e7d59f9c12b33ae4e9450619cf2488e2bbe9b44030905877f0b2324980", size = 105641 },
+ { url = "https://files.pythonhosted.org/packages/20/94/c5790835a017658cbfabd07f3bfb549140c3ac458cfc196323996b10095a/charset_normalizer-3.4.2-py3-none-any.whl", hash = "sha256:7f56930ab0abd1c45cd15be65cc741c28b1c9a34876ce8c17a2fa107810c0af0", size = 52626 },
+]
+
+[[package]]
+name = "click"
+version = "8.2.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "colorama", marker = "sys_platform == 'win32'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/60/6c/8ca2efa64cf75a977a0d7fac081354553ebe483345c734fb6b6515d96bbc/click-8.2.1.tar.gz", hash = "sha256:27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202", size = 286342 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/85/32/10bb5764d90a8eee674e9dc6f4db6a0ab47c8c4d0d83c27f7c39ac415a4d/click-8.2.1-py3-none-any.whl", hash = "sha256:61a3265b914e850b85317d0b3109c7f8cd35a670f963866005d6ef1d5175a12b", size = 102215 },
+]
+
+[[package]]
+name = "colorama"
+version = "0.4.6"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335 },
+]
+
+[[package]]
+name = "deprecated"
+version = "1.2.18"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "wrapt" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/98/97/06afe62762c9a8a86af0cfb7bfdab22a43ad17138b07af5b1a58442690a2/deprecated-1.2.18.tar.gz", hash = "sha256:422b6f6d859da6f2ef57857761bfb392480502a64c3028ca9bbe86085d72115d", size = 2928744 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/6e/c6/ac0b6c1e2d138f1002bcf799d330bd6d85084fece321e662a14223794041/Deprecated-1.2.18-py2.py3-none-any.whl", hash = "sha256:bd5011788200372a32418f888e326a09ff80d0214bd961147cfed01b5c018eec", size = 9998 },
+]
+
+[[package]]
+name = "dill"
+version = "0.4.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/12/80/630b4b88364e9a8c8c5797f4602d0f76ef820909ee32f0bacb9f90654042/dill-0.4.0.tar.gz", hash = "sha256:0633f1d2df477324f53a895b02c901fb961bdbf65a17122586ea7019292cbcf0", size = 186976 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/50/3d/9373ad9c56321fdab5b41197068e1d8c25883b3fea29dd361f9b55116869/dill-0.4.0-py3-none-any.whl", hash = "sha256:44f54bf6412c2c8464c14e8243eb163690a9800dbe2c367330883b19c7561049", size = 119668 },
+]
+
+[[package]]
+name = "docstring-parser"
+version = "0.17.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/b2/9d/c3b43da9515bd270df0f80548d9944e389870713cc1fe2b8fb35fe2bcefd/docstring_parser-0.17.0.tar.gz", hash = "sha256:583de4a309722b3315439bb31d64ba3eebada841f2e2cee23b99df001434c912", size = 27442 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/55/e2/2537ebcff11c1ee1ff17d8d0b6f4db75873e3b0fb32c2d4a2ee31ecb310a/docstring_parser-0.17.0-py3-none-any.whl", hash = "sha256:cf2569abd23dce8099b300f9b4fa8191e9582dda731fd533daf54c4551658708", size = 36896 },
+]
+
+[[package]]
+name = "fastapi"
+version = "0.116.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "pydantic" },
+ { name = "starlette" },
+ { name = "typing-extensions" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/78/d7/6c8b3bfe33eeffa208183ec037fee0cce9f7f024089ab1c5d12ef04bd27c/fastapi-0.116.1.tar.gz", hash = "sha256:ed52cbf946abfd70c5a0dccb24673f0670deeb517a88b3544d03c2a6bf283143", size = 296485 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/e5/47/d63c60f59a59467fda0f93f46335c9d18526d7071f025cb5b89d5353ea42/fastapi-0.116.1-py3-none-any.whl", hash = "sha256:c46ac7c312df840f0c9e220f7964bada936781bc4e2e6eb71f1c4d7553786565", size = 95631 },
+]
+
+[[package]]
+name = "generic-agent-core-runtime"
+version = "0.0.1"
+source = { virtual = "." }
+dependencies = [
+ { name = "aws-opentelemetry-distro" },
+ { name = "boto3" },
+ { name = "fastapi" },
+ { name = "mcp" },
+ { name = "pydantic" },
+ { name = "strands-agents" },
+ { name = "strands-agents-tools" },
+ { name = "uvicorn" },
+]
+
+[package.metadata]
+requires-dist = [
+ { name = "aws-opentelemetry-distro" },
+ { name = "boto3" },
+ { name = "fastapi" },
+ { name = "mcp" },
+ { name = "pydantic" },
+ { name = "strands-agents", specifier = ">=1.0" },
+ { name = "strands-agents-tools" },
+ { name = "uvicorn" },
+]
+
+[[package]]
+name = "googleapis-common-protos"
+version = "1.70.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "protobuf" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/39/24/33db22342cf4a2ea27c9955e6713140fedd51e8b141b5ce5260897020f1a/googleapis_common_protos-1.70.0.tar.gz", hash = "sha256:0e1b44e0ea153e6594f9f394fef15193a68aaaea2d843f83e2742717ca753257", size = 145903 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/86/f1/62a193f0227cf15a920390abe675f386dec35f7ae3ffe6da582d3ade42c7/googleapis_common_protos-1.70.0-py3-none-any.whl", hash = "sha256:b8bfcca8c25a2bb253e0e0b0adaf8c00773e5e6af6fd92397576680b807e0fd8", size = 294530 },
+]
+
+[[package]]
+name = "grpcio"
+version = "1.73.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/79/e8/b43b851537da2e2f03fa8be1aef207e5cbfb1a2e014fbb6b40d24c177cd3/grpcio-1.73.1.tar.gz", hash = "sha256:7fce2cd1c0c1116cf3850564ebfc3264fba75d3c74a7414373f1238ea365ef87", size = 12730355 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b8/41/456caf570c55d5ac26f4c1f2db1f2ac1467d5bf3bcd660cba3e0a25b195f/grpcio-1.73.1-cp312-cp312-linux_armv7l.whl", hash = "sha256:921b25618b084e75d424a9f8e6403bfeb7abef074bb6c3174701e0f2542debcf", size = 5334621 },
+ { url = "https://files.pythonhosted.org/packages/2a/c2/9a15e179e49f235bb5e63b01590658c03747a43c9775e20c4e13ca04f4c4/grpcio-1.73.1-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:277b426a0ed341e8447fbf6c1d6b68c952adddf585ea4685aa563de0f03df887", size = 10601131 },
+ { url = "https://files.pythonhosted.org/packages/0c/1d/1d39e90ef6348a0964caa7c5c4d05f3bae2c51ab429eb7d2e21198ac9b6d/grpcio-1.73.1-cp312-cp312-manylinux_2_17_aarch64.whl", hash = "sha256:96c112333309493c10e118d92f04594f9055774757f5d101b39f8150f8c25582", size = 5759268 },
+ { url = "https://files.pythonhosted.org/packages/8a/2b/2dfe9ae43de75616177bc576df4c36d6401e0959833b2e5b2d58d50c1f6b/grpcio-1.73.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f48e862aed925ae987eb7084409a80985de75243389dc9d9c271dd711e589918", size = 6409791 },
+ { url = "https://files.pythonhosted.org/packages/6e/66/e8fe779b23b5a26d1b6949e5c70bc0a5fd08f61a6ec5ac7760d589229511/grpcio-1.73.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:83a6c2cce218e28f5040429835fa34a29319071079e3169f9543c3fbeff166d2", size = 6003728 },
+ { url = "https://files.pythonhosted.org/packages/a9/39/57a18fcef567784108c4fc3f5441cb9938ae5a51378505aafe81e8e15ecc/grpcio-1.73.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:65b0458a10b100d815a8426b1442bd17001fdb77ea13665b2f7dc9e8587fdc6b", size = 6103364 },
+ { url = "https://files.pythonhosted.org/packages/c5/46/28919d2aa038712fc399d02fa83e998abd8c1f46c2680c5689deca06d1b2/grpcio-1.73.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:0a9f3ea8dce9eae9d7cb36827200133a72b37a63896e0e61a9d5ec7d61a59ab1", size = 6749194 },
+ { url = "https://files.pythonhosted.org/packages/3d/56/3898526f1fad588c5d19a29ea0a3a4996fb4fa7d7c02dc1be0c9fd188b62/grpcio-1.73.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:de18769aea47f18e782bf6819a37c1c528914bfd5683b8782b9da356506190c8", size = 6283902 },
+ { url = "https://files.pythonhosted.org/packages/dc/64/18b77b89c5870d8ea91818feb0c3ffb5b31b48d1b0ee3e0f0d539730fea3/grpcio-1.73.1-cp312-cp312-win32.whl", hash = "sha256:24e06a5319e33041e322d32c62b1e728f18ab8c9dbc91729a3d9f9e3ed336642", size = 3668687 },
+ { url = "https://files.pythonhosted.org/packages/3c/52/302448ca6e52f2a77166b2e2ed75f5d08feca4f2145faf75cb768cccb25b/grpcio-1.73.1-cp312-cp312-win_amd64.whl", hash = "sha256:303c8135d8ab176f8038c14cc10d698ae1db9c480f2b2823f7a987aa2a4c5646", size = 4334887 },
+ { url = "https://files.pythonhosted.org/packages/37/bf/4ca20d1acbefabcaba633ab17f4244cbbe8eca877df01517207bd6655914/grpcio-1.73.1-cp313-cp313-linux_armv7l.whl", hash = "sha256:b310824ab5092cf74750ebd8a8a8981c1810cb2b363210e70d06ef37ad80d4f9", size = 5335615 },
+ { url = "https://files.pythonhosted.org/packages/75/ed/45c345f284abec5d4f6d77cbca9c52c39b554397eb7de7d2fcf440bcd049/grpcio-1.73.1-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:8f5a6df3fba31a3485096ac85b2e34b9666ffb0590df0cd044f58694e6a1f6b5", size = 10595497 },
+ { url = "https://files.pythonhosted.org/packages/a4/75/bff2c2728018f546d812b755455014bc718f8cdcbf5c84f1f6e5494443a8/grpcio-1.73.1-cp313-cp313-manylinux_2_17_aarch64.whl", hash = "sha256:052e28fe9c41357da42250a91926a3e2f74c046575c070b69659467ca5aa976b", size = 5765321 },
+ { url = "https://files.pythonhosted.org/packages/70/3b/14e43158d3b81a38251b1d231dfb45a9b492d872102a919fbf7ba4ac20cd/grpcio-1.73.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1c0bf15f629b1497436596b1cbddddfa3234273490229ca29561209778ebe182", size = 6415436 },
+ { url = "https://files.pythonhosted.org/packages/e5/3f/81d9650ca40b54338336fd360f36773be8cb6c07c036e751d8996eb96598/grpcio-1.73.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ab860d5bfa788c5a021fba264802e2593688cd965d1374d31d2b1a34cacd854", size = 6007012 },
+ { url = "https://files.pythonhosted.org/packages/55/f4/59edf5af68d684d0f4f7ad9462a418ac517201c238551529098c9aa28cb0/grpcio-1.73.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:ad1d958c31cc91ab050bd8a91355480b8e0683e21176522bacea225ce51163f2", size = 6105209 },
+ { url = "https://files.pythonhosted.org/packages/e4/a8/700d034d5d0786a5ba14bfa9ce974ed4c976936c2748c2bd87aa50f69b36/grpcio-1.73.1-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:f43ffb3bd415c57224c7427bfb9e6c46a0b6e998754bfa0d00f408e1873dcbb5", size = 6753655 },
+ { url = "https://files.pythonhosted.org/packages/1f/29/efbd4ac837c23bc48e34bbaf32bd429f0dc9ad7f80721cdb4622144c118c/grpcio-1.73.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:686231cdd03a8a8055f798b2b54b19428cdf18fa1549bee92249b43607c42668", size = 6287288 },
+ { url = "https://files.pythonhosted.org/packages/d8/61/c6045d2ce16624bbe18b5d169c1a5ce4d6c3a47bc9d0e5c4fa6a50ed1239/grpcio-1.73.1-cp313-cp313-win32.whl", hash = "sha256:89018866a096e2ce21e05eabed1567479713ebe57b1db7cbb0f1e3b896793ba4", size = 3668151 },
+ { url = "https://files.pythonhosted.org/packages/c2/d7/77ac689216daee10de318db5aa1b88d159432dc76a130948a56b3aa671a2/grpcio-1.73.1-cp313-cp313-win_amd64.whl", hash = "sha256:4a68f8c9966b94dff693670a5cf2b54888a48a5011c5d9ce2295a1a1465ee84f", size = 4335747 },
+]
+
+[[package]]
+name = "h11"
+version = "0.16.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz", hash = "sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1", size = 101250 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl", hash = "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86", size = 37515 },
+]
+
+[[package]]
+name = "html5lib"
+version = "1.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "six" },
+ { name = "webencodings" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/ac/b6/b55c3f49042f1df3dcd422b7f224f939892ee94f22abcf503a9b7339eaf2/html5lib-1.1.tar.gz", hash = "sha256:b2e5b40261e20f354d198eae92afc10d750afb487ed5e50f9c4eaf07c184146f", size = 272215 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/6c/dd/a834df6482147d48e225a49515aabc28974ad5a4ca3215c18a882565b028/html5lib-1.1-py2.py3-none-any.whl", hash = "sha256:0d78f8fde1c230e99fe37986a60526d7049ed4bf8a9fadbad5f00e22e58e041d", size = 112173 },
+]
+
+[[package]]
+name = "httpcore"
+version = "1.0.9"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "certifi" },
+ { name = "h11" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz", hash = "sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8", size = 85484 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl", hash = "sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55", size = 78784 },
+]
+
+[[package]]
+name = "httpx"
+version = "0.28.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "anyio" },
+ { name = "certifi" },
+ { name = "httpcore" },
+ { name = "idna" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc", size = 141406 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad", size = 73517 },
+]
+
+[[package]]
+name = "httpx-sse"
+version = "0.4.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/6e/fa/66bd985dd0b7c109a3bcb89272ee0bfb7e2b4d06309ad7b38ff866734b2a/httpx_sse-0.4.1.tar.gz", hash = "sha256:8f44d34414bc7b21bf3602713005c5df4917884f76072479b21f68befa4ea26e", size = 12998 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/25/0a/6269e3473b09aed2dab8aa1a600c70f31f00ae1349bee30658f7e358a159/httpx_sse-0.4.1-py3-none-any.whl", hash = "sha256:cba42174344c3a5b06f255ce65b350880f962d99ead85e776f23c6618a377a37", size = 8054 },
+]
+
+[[package]]
+name = "idna"
+version = "3.10"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442 },
+]
+
+[[package]]
+name = "importlib-metadata"
+version = "8.6.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "zipp" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/33/08/c1395a292bb23fd03bdf572a1357c5a733d3eecbab877641ceacab23db6e/importlib_metadata-8.6.1.tar.gz", hash = "sha256:310b41d755445d74569f993ccfc22838295d9fe005425094fad953d7f15c8580", size = 55767 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/79/9d/0fb148dc4d6fa4a7dd1d8378168d9b4cd8d4560a6fbf6f0121c5fc34eb68/importlib_metadata-8.6.1-py3-none-any.whl", hash = "sha256:02a89390c1e15fdfdc0d7c6b25cb3e62650d0494005c97d6f148bf5b9787525e", size = 26971 },
+]
+
+[[package]]
+name = "jmespath"
+version = "1.0.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/00/2a/e867e8531cf3e36b41201936b7fa7ba7b5702dbef42922193f05c8976cd6/jmespath-1.0.1.tar.gz", hash = "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe", size = 25843 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/31/b4/b9b800c45527aadd64d5b442f9b932b00648617eb5d63d2c7a6587b7cafc/jmespath-1.0.1-py3-none-any.whl", hash = "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980", size = 20256 },
+]
+
+[[package]]
+name = "jsonschema"
+version = "4.25.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "attrs" },
+ { name = "jsonschema-specifications" },
+ { name = "referencing" },
+ { name = "rpds-py" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/d5/00/a297a868e9d0784450faa7365c2172a7d6110c763e30ba861867c32ae6a9/jsonschema-4.25.0.tar.gz", hash = "sha256:e63acf5c11762c0e6672ffb61482bdf57f0876684d8d249c0fe2d730d48bc55f", size = 356830 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/fe/54/c86cd8e011fe98803d7e382fd67c0df5ceab8d2b7ad8c5a81524f791551c/jsonschema-4.25.0-py3-none-any.whl", hash = "sha256:24c2e8da302de79c8b9382fee3e76b355e44d2a4364bb207159ce10b517bd716", size = 89184 },
+]
+
+[[package]]
+name = "jsonschema-specifications"
+version = "2025.4.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "referencing" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/bf/ce/46fbd9c8119cfc3581ee5643ea49464d168028cfb5caff5fc0596d0cf914/jsonschema_specifications-2025.4.1.tar.gz", hash = "sha256:630159c9f4dbea161a6a2205c3011cc4f18ff381b189fff48bb39b9bf26ae608", size = 15513 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/01/0e/b27cdbaccf30b890c40ed1da9fd4a3593a5cf94dae54fb34f8a4b74fcd3f/jsonschema_specifications-2025.4.1-py3-none-any.whl", hash = "sha256:4653bffbd6584f7de83a67e0d620ef16900b390ddc7939d56684d6c81e33f1af", size = 18437 },
+]
+
+[[package]]
+name = "lxml"
+version = "6.0.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/c5/ed/60eb6fa2923602fba988d9ca7c5cdbd7cf25faa795162ed538b527a35411/lxml-6.0.0.tar.gz", hash = "sha256:032e65120339d44cdc3efc326c9f660f5f7205f3a535c1fdbf898b29ea01fb72", size = 4096938 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/89/c3/d01d735c298d7e0ddcedf6f028bf556577e5ab4f4da45175ecd909c79378/lxml-6.0.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:78718d8454a6e928470d511bf8ac93f469283a45c354995f7d19e77292f26108", size = 8429515 },
+ { url = "https://files.pythonhosted.org/packages/06/37/0e3eae3043d366b73da55a86274a590bae76dc45aa004b7042e6f97803b1/lxml-6.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:84ef591495ffd3f9dcabffd6391db7bb70d7230b5c35ef5148354a134f56f2be", size = 4601387 },
+ { url = "https://files.pythonhosted.org/packages/a3/28/e1a9a881e6d6e29dda13d633885d13acb0058f65e95da67841c8dd02b4a8/lxml-6.0.0-cp312-cp312-manylinux2010_i686.manylinux2014_i686.manylinux_2_12_i686.manylinux_2_17_i686.whl", hash = "sha256:2930aa001a3776c3e2601cb8e0a15d21b8270528d89cc308be4843ade546b9ab", size = 5228928 },
+ { url = "https://files.pythonhosted.org/packages/9a/55/2cb24ea48aa30c99f805921c1c7860c1f45c0e811e44ee4e6a155668de06/lxml-6.0.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:219e0431ea8006e15005767f0351e3f7f9143e793e58519dc97fe9e07fae5563", size = 4952289 },
+ { url = "https://files.pythonhosted.org/packages/31/c0/b25d9528df296b9a3306ba21ff982fc5b698c45ab78b94d18c2d6ae71fd9/lxml-6.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:bd5913b4972681ffc9718bc2d4c53cde39ef81415e1671ff93e9aa30b46595e7", size = 5111310 },
+ { url = "https://files.pythonhosted.org/packages/e9/af/681a8b3e4f668bea6e6514cbcb297beb6de2b641e70f09d3d78655f4f44c/lxml-6.0.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:390240baeb9f415a82eefc2e13285016f9c8b5ad71ec80574ae8fa9605093cd7", size = 5025457 },
+ { url = "https://files.pythonhosted.org/packages/99/b6/3a7971aa05b7be7dfebc7ab57262ec527775c2c3c5b2f43675cac0458cad/lxml-6.0.0-cp312-cp312-manylinux_2_27_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:d6e200909a119626744dd81bae409fc44134389e03fbf1d68ed2a55a2fb10991", size = 5657016 },
+ { url = "https://files.pythonhosted.org/packages/69/f8/693b1a10a891197143c0673fcce5b75fc69132afa81a36e4568c12c8faba/lxml-6.0.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ca50bd612438258a91b5b3788c6621c1f05c8c478e7951899f492be42defc0da", size = 5257565 },
+ { url = "https://files.pythonhosted.org/packages/a8/96/e08ff98f2c6426c98c8964513c5dab8d6eb81dadcd0af6f0c538ada78d33/lxml-6.0.0-cp312-cp312-manylinux_2_31_armv7l.whl", hash = "sha256:c24b8efd9c0f62bad0439283c2c795ef916c5a6b75f03c17799775c7ae3c0c9e", size = 4713390 },
+ { url = "https://files.pythonhosted.org/packages/a8/83/6184aba6cc94d7413959f6f8f54807dc318fdcd4985c347fe3ea6937f772/lxml-6.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:afd27d8629ae94c5d863e32ab0e1d5590371d296b87dae0a751fb22bf3685741", size = 5066103 },
+ { url = "https://files.pythonhosted.org/packages/ee/01/8bf1f4035852d0ff2e36a4d9aacdbcc57e93a6cd35a54e05fa984cdf73ab/lxml-6.0.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:54c4855eabd9fc29707d30141be99e5cd1102e7d2258d2892314cf4c110726c3", size = 4791428 },
+ { url = "https://files.pythonhosted.org/packages/29/31/c0267d03b16954a85ed6b065116b621d37f559553d9339c7dcc4943a76f1/lxml-6.0.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c907516d49f77f6cd8ead1322198bdfd902003c3c330c77a1c5f3cc32a0e4d16", size = 5678523 },
+ { url = "https://files.pythonhosted.org/packages/5c/f7/5495829a864bc5f8b0798d2b52a807c89966523140f3d6fa3a58ab6720ea/lxml-6.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:36531f81c8214e293097cd2b7873f178997dae33d3667caaae8bdfb9666b76c0", size = 5281290 },
+ { url = "https://files.pythonhosted.org/packages/79/56/6b8edb79d9ed294ccc4e881f4db1023af56ba451909b9ce79f2a2cd7c532/lxml-6.0.0-cp312-cp312-win32.whl", hash = "sha256:690b20e3388a7ec98e899fd54c924e50ba6693874aa65ef9cb53de7f7de9d64a", size = 3613495 },
+ { url = "https://files.pythonhosted.org/packages/0b/1e/cc32034b40ad6af80b6fd9b66301fc0f180f300002e5c3eb5a6110a93317/lxml-6.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:310b719b695b3dd442cdfbbe64936b2f2e231bb91d998e99e6f0daf991a3eba3", size = 4014711 },
+ { url = "https://files.pythonhosted.org/packages/55/10/dc8e5290ae4c94bdc1a4c55865be7e1f31dfd857a88b21cbba68b5fea61b/lxml-6.0.0-cp312-cp312-win_arm64.whl", hash = "sha256:8cb26f51c82d77483cdcd2b4a53cda55bbee29b3c2f3ddeb47182a2a9064e4eb", size = 3674431 },
+ { url = "https://files.pythonhosted.org/packages/79/21/6e7c060822a3c954ff085e5e1b94b4a25757c06529eac91e550f3f5cd8b8/lxml-6.0.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:6da7cd4f405fd7db56e51e96bff0865b9853ae70df0e6720624049da76bde2da", size = 8414372 },
+ { url = "https://files.pythonhosted.org/packages/a4/f6/051b1607a459db670fc3a244fa4f06f101a8adf86cda263d1a56b3a4f9d5/lxml-6.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b34339898bb556a2351a1830f88f751679f343eabf9cf05841c95b165152c9e7", size = 4593940 },
+ { url = "https://files.pythonhosted.org/packages/8e/74/dd595d92a40bda3c687d70d4487b2c7eff93fd63b568acd64fedd2ba00fe/lxml-6.0.0-cp313-cp313-manylinux2010_i686.manylinux2014_i686.manylinux_2_12_i686.manylinux_2_17_i686.whl", hash = "sha256:51a5e4c61a4541bd1cd3ba74766d0c9b6c12d6a1a4964ef60026832aac8e79b3", size = 5214329 },
+ { url = "https://files.pythonhosted.org/packages/52/46/3572761efc1bd45fcafb44a63b3b0feeb5b3f0066886821e94b0254f9253/lxml-6.0.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d18a25b19ca7307045581b18b3ec9ead2b1db5ccd8719c291f0cd0a5cec6cb81", size = 4947559 },
+ { url = "https://files.pythonhosted.org/packages/94/8a/5e40de920e67c4f2eef9151097deb9b52d86c95762d8ee238134aff2125d/lxml-6.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d4f0c66df4386b75d2ab1e20a489f30dc7fd9a06a896d64980541506086be1f1", size = 5102143 },
+ { url = "https://files.pythonhosted.org/packages/7c/4b/20555bdd75d57945bdabfbc45fdb1a36a1a0ff9eae4653e951b2b79c9209/lxml-6.0.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9f4b481b6cc3a897adb4279216695150bbe7a44c03daba3c894f49d2037e0a24", size = 5021931 },
+ { url = "https://files.pythonhosted.org/packages/b6/6e/cf03b412f3763d4ca23b25e70c96a74cfece64cec3addf1c4ec639586b13/lxml-6.0.0-cp313-cp313-manylinux_2_27_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8a78d6c9168f5bcb20971bf3329c2b83078611fbe1f807baadc64afc70523b3a", size = 5645469 },
+ { url = "https://files.pythonhosted.org/packages/d4/dd/39c8507c16db6031f8c1ddf70ed95dbb0a6d466a40002a3522c128aba472/lxml-6.0.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2ae06fbab4f1bb7db4f7c8ca9897dc8db4447d1a2b9bee78474ad403437bcc29", size = 5247467 },
+ { url = "https://files.pythonhosted.org/packages/4d/56/732d49def0631ad633844cfb2664563c830173a98d5efd9b172e89a4800d/lxml-6.0.0-cp313-cp313-manylinux_2_31_armv7l.whl", hash = "sha256:1fa377b827ca2023244a06554c6e7dc6828a10aaf74ca41965c5d8a4925aebb4", size = 4720601 },
+ { url = "https://files.pythonhosted.org/packages/8f/7f/6b956fab95fa73462bca25d1ea7fc8274ddf68fb8e60b78d56c03b65278e/lxml-6.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1676b56d48048a62ef77a250428d1f31f610763636e0784ba67a9740823988ca", size = 5060227 },
+ { url = "https://files.pythonhosted.org/packages/97/06/e851ac2924447e8b15a294855caf3d543424364a143c001014d22c8ca94c/lxml-6.0.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:0e32698462aacc5c1cf6bdfebc9c781821b7e74c79f13e5ffc8bfe27c42b1abf", size = 4790637 },
+ { url = "https://files.pythonhosted.org/packages/06/d4/fd216f3cd6625022c25b336c7570d11f4a43adbaf0a56106d3d496f727a7/lxml-6.0.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4d6036c3a296707357efb375cfc24bb64cd955b9ec731abf11ebb1e40063949f", size = 5662049 },
+ { url = "https://files.pythonhosted.org/packages/52/03/0e764ce00b95e008d76b99d432f1807f3574fb2945b496a17807a1645dbd/lxml-6.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:7488a43033c958637b1a08cddc9188eb06d3ad36582cebc7d4815980b47e27ef", size = 5272430 },
+ { url = "https://files.pythonhosted.org/packages/5f/01/d48cc141bc47bc1644d20fe97bbd5e8afb30415ec94f146f2f76d0d9d098/lxml-6.0.0-cp313-cp313-win32.whl", hash = "sha256:5fcd7d3b1d8ecb91445bd71b9c88bdbeae528fefee4f379895becfc72298d181", size = 3612896 },
+ { url = "https://files.pythonhosted.org/packages/f4/87/6456b9541d186ee7d4cb53bf1b9a0d7f3b1068532676940fdd594ac90865/lxml-6.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:2f34687222b78fff795feeb799a7d44eca2477c3d9d3a46ce17d51a4f383e32e", size = 4013132 },
+ { url = "https://files.pythonhosted.org/packages/b7/42/85b3aa8f06ca0d24962f8100f001828e1f1f1a38c954c16e71154ed7d53a/lxml-6.0.0-cp313-cp313-win_arm64.whl", hash = "sha256:21db1ec5525780fd07251636eb5f7acb84003e9382c72c18c542a87c416ade03", size = 3672642 },
+]
+
+[[package]]
+name = "markdown-it-py"
+version = "3.0.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "mdurl" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/38/71/3b932df36c1a044d397a1f92d1cf91ee0a503d91e470cbd670aa66b07ed0/markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb", size = 74596 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/42/d7/1ec15b46af6af88f19b8e5ffea08fa375d433c998b8a7639e76935c14f1f/markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1", size = 87528 },
+]
+
+[[package]]
+name = "markdownify"
+version = "1.1.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "beautifulsoup4" },
+ { name = "six" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/2f/78/c48fed23c7aebc2c16049062e72de1da3220c274de59d28c942acdc9ffb2/markdownify-1.1.0.tar.gz", hash = "sha256:449c0bbbf1401c5112379619524f33b63490a8fa479456d41de9dc9e37560ebd", size = 17127 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/64/11/b751af7ad41b254a802cf52f7bc1fca7cabe2388132f2ce60a1a6b9b9622/markdownify-1.1.0-py3-none-any.whl", hash = "sha256:32a5a08e9af02c8a6528942224c91b933b4bd2c7d078f9012943776fc313eeef", size = 13901 },
+]
+
+[[package]]
+name = "mcp"
+version = "1.12.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "anyio" },
+ { name = "httpx" },
+ { name = "httpx-sse" },
+ { name = "jsonschema" },
+ { name = "pydantic" },
+ { name = "pydantic-settings" },
+ { name = "python-multipart" },
+ { name = "pywin32", marker = "sys_platform == 'win32'" },
+ { name = "sse-starlette" },
+ { name = "starlette" },
+ { name = "uvicorn", marker = "sys_platform != 'emscripten'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/45/94/caa0f4754e2437f7033068989f13fee784856f95870c786b0b5c2c0f511e/mcp-1.12.0.tar.gz", hash = "sha256:853f6b17a3f31ea6e2f278c2ec7d3b38457bc80c7c2c675260dd7f04a6fd0e70", size = 424678 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ed/da/c7eaab6a58f1034de115b7902141ad8f81b4f3bbf7dc0cc267594947a4d7/mcp-1.12.0-py3-none-any.whl", hash = "sha256:19a498b2bf273283e463b4dd1ed83f791fbba5c25bfa16b8b34cfd5571673e7f", size = 158470 },
+]
+
+[[package]]
+name = "mdurl"
+version = "0.1.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba", size = 8729 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", size = 9979 },
+]
+
+[[package]]
+name = "mpmath"
+version = "1.3.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/e0/47/dd32fa426cc72114383ac549964eecb20ecfd886d1e5ccf5340b55b02f57/mpmath-1.3.0.tar.gz", hash = "sha256:7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f", size = 508106 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/43/e3/7d92a15f894aa0c9c4b49b8ee9ac9850d6e63b03c9c32c0367a13ae62209/mpmath-1.3.0-py3-none-any.whl", hash = "sha256:a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c", size = 536198 },
+]
+
+[[package]]
+name = "opentelemetry-api"
+version = "1.33.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "deprecated" },
+ { name = "importlib-metadata" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/9a/8d/1f5a45fbcb9a7d87809d460f09dc3399e3fbd31d7f3e14888345e9d29951/opentelemetry_api-1.33.1.tar.gz", hash = "sha256:1c6055fc0a2d3f23a50c7e17e16ef75ad489345fd3df1f8b8af7c0bbf8a109e8", size = 65002 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/05/44/4c45a34def3506122ae61ad684139f0bbc4e00c39555d4f7e20e0e001c8a/opentelemetry_api-1.33.1-py3-none-any.whl", hash = "sha256:4db83ebcf7ea93e64637ec6ee6fabee45c5cbe4abd9cf3da95c43828ddb50b83", size = 65771 },
+]
+
+[[package]]
+name = "opentelemetry-distro"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-instrumentation" },
+ { name = "opentelemetry-sdk" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/dd/0b/0012cb5947c255d6755cb91e3b9fd9bb1876b7e14d5ab67131c030fd90b2/opentelemetry_distro-0.54b1.tar.gz", hash = "sha256:61d6b97bb7a245fddbb829345bb4ad18be39eb52f770fab89a127107fca3149f", size = 2593 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/12/b1/5f008a2909d59c02c7b88aa595502d438ca21c15e88edd7620c697a56ce8/opentelemetry_distro-0.54b1-py3-none-any.whl", hash = "sha256:009486513b32b703e275bb2f9ccaf5791676bbf5e2dcfdd90201ddc8f56f122b", size = 3348 },
+]
+
+[[package]]
+name = "opentelemetry-exporter-otlp-proto-common"
+version = "1.33.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-proto" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/7a/18/a1ec9dcb6713a48b4bdd10f1c1e4d5d2489d3912b80d2bcc059a9a842836/opentelemetry_exporter_otlp_proto_common-1.33.1.tar.gz", hash = "sha256:c57b3fa2d0595a21c4ed586f74f948d259d9949b58258f11edb398f246bec131", size = 20828 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/09/52/9bcb17e2c29c1194a28e521b9d3f2ced09028934c3c52a8205884c94b2df/opentelemetry_exporter_otlp_proto_common-1.33.1-py3-none-any.whl", hash = "sha256:b81c1de1ad349785e601d02715b2d29d6818aed2c809c20219f3d1f20b038c36", size = 18839 },
+]
+
+[[package]]
+name = "opentelemetry-exporter-otlp-proto-grpc"
+version = "1.33.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "deprecated" },
+ { name = "googleapis-common-protos" },
+ { name = "grpcio" },
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-exporter-otlp-proto-common" },
+ { name = "opentelemetry-proto" },
+ { name = "opentelemetry-sdk" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/d8/5f/75ef5a2a917bd0e6e7b83d3fb04c99236ee958f6352ba3019ea9109ae1a6/opentelemetry_exporter_otlp_proto_grpc-1.33.1.tar.gz", hash = "sha256:345696af8dc19785fac268c8063f3dc3d5e274c774b308c634f39d9c21955728", size = 22556 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ba/ec/6047e230bb6d092c304511315b13893b1c9d9260044dd1228c9d48b6ae0e/opentelemetry_exporter_otlp_proto_grpc-1.33.1-py3-none-any.whl", hash = "sha256:7e8da32c7552b756e75b4f9e9c768a61eb47dee60b6550b37af541858d669ce1", size = 18591 },
+]
+
+[[package]]
+name = "opentelemetry-exporter-otlp-proto-http"
+version = "1.33.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "deprecated" },
+ { name = "googleapis-common-protos" },
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-exporter-otlp-proto-common" },
+ { name = "opentelemetry-proto" },
+ { name = "opentelemetry-sdk" },
+ { name = "requests" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/60/48/e4314ac0ed2ad043c07693d08c9c4bf5633857f5b72f2fefc64fd2b114f6/opentelemetry_exporter_otlp_proto_http-1.33.1.tar.gz", hash = "sha256:46622d964a441acb46f463ebdc26929d9dec9efb2e54ef06acdc7305e8593c38", size = 15353 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/63/ba/5a4ad007588016fe37f8d36bf08f325fe684494cc1e88ca8fa064a4c8f57/opentelemetry_exporter_otlp_proto_http-1.33.1-py3-none-any.whl", hash = "sha256:ebd6c523b89a2ecba0549adb92537cc2bf647b4ee61afbbd5a4c6535aa3da7cf", size = 17733 },
+]
+
+[[package]]
+name = "opentelemetry-instrumentation"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-semantic-conventions" },
+ { name = "packaging" },
+ { name = "wrapt" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/c3/fd/5756aea3fdc5651b572d8aef7d94d22a0a36e49c8b12fcb78cb905ba8896/opentelemetry_instrumentation-0.54b1.tar.gz", hash = "sha256:7658bf2ff914b02f246ec14779b66671508125c0e4227361e56b5ebf6cef0aec", size = 28436 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/f4/89/0790abc5d9c4fc74bd3e03cb87afe2c820b1d1a112a723c1163ef32453ee/opentelemetry_instrumentation-0.54b1-py3-none-any.whl", hash = "sha256:a4ae45f4a90c78d7006c51524f57cd5aa1231aef031eae905ee34d5423f5b198", size = 31019 },
+]
+
+[[package]]
+name = "opentelemetry-instrumentation-aio-pika"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-instrumentation" },
+ { name = "wrapt" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/79/e7/b92741e7dc1c38d512fcd0c3d6b3270cbbe3f3965f4280810c3f48688b1f/opentelemetry_instrumentation_aio_pika-0.54b1.tar.gz", hash = "sha256:a1b9f2d2735f1e9808bac263776f445c446c19580c3a24d0ecc02e289b55b21d", size = 10092 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/4b/46/b77e99e0e3a4f473e8a38e46d12269a5ef28ed0f7d52306a06c6b82f2aff/opentelemetry_instrumentation_aio_pika-0.54b1-py3-none-any.whl", hash = "sha256:c1d1a52296937e54a8c69878434c86bdc038d53c1eba6f133c0e63f479484990", size = 13462 },
+]
+
+[[package]]
+name = "opentelemetry-instrumentation-aiohttp-client"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-instrumentation" },
+ { name = "opentelemetry-semantic-conventions" },
+ { name = "opentelemetry-util-http" },
+ { name = "wrapt" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/04/fe/535efdb090543cb8e23149271c3ef27e37d3862865c52e2b2b58f7b5cb8d/opentelemetry_instrumentation_aiohttp_client-0.54b1.tar.gz", hash = "sha256:c51c643a5587b9efce6c4cae0f5e2202a25fac69caa89643465f57d5d8ba3789", size = 13643 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/e5/de/07f25301d57bb83f29ee1eb5503871bddc132d4362ff9897c605e8c54c04/opentelemetry_instrumentation_aiohttp_client-0.54b1-py3-none-any.whl", hash = "sha256:d9b53c04865e8a4c984c1330e4f1d5570bc28543833a4718cbe4265091ee0e71", size = 11661 },
+]
+
+[[package]]
+name = "opentelemetry-instrumentation-aiopg"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-instrumentation" },
+ { name = "opentelemetry-instrumentation-dbapi" },
+ { name = "wrapt" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/48/4b/ef14e66e9b7b8bf859844c08d78bbb921c7ec41e2008bd657942a15a5797/opentelemetry_instrumentation_aiopg-0.54b1.tar.gz", hash = "sha256:d00a6845bb8f8d45e81d42bc8ba38df88bb7efdc2cd0e572968dc5359f5b8355", size = 11808 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/f2/eb/1b7d0ff786ec1734766b082ebceea729c33b5f7d986816411fb8feb74373/opentelemetry_instrumentation_aiopg-0.54b1-py3-none-any.whl", hash = "sha256:1d162793c4dee9db469d89c962f161801027abc55002eeb23c076ab5f1f334d4", size = 12455 },
+]
+
+[[package]]
+name = "opentelemetry-instrumentation-asgi"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "asgiref" },
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-instrumentation" },
+ { name = "opentelemetry-semantic-conventions" },
+ { name = "opentelemetry-util-http" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/20/f7/a3377f9771947f4d3d59c96841d3909274f446c030dbe8e4af871695ddee/opentelemetry_instrumentation_asgi-0.54b1.tar.gz", hash = "sha256:ab4df9776b5f6d56a78413c2e8bbe44c90694c67c844a1297865dc1bd926ed3c", size = 24230 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/20/24/7a6f0ae79cae49927f528ecee2db55a5bddd87b550e310ce03451eae7491/opentelemetry_instrumentation_asgi-0.54b1-py3-none-any.whl", hash = "sha256:84674e822b89af563b283a5283c2ebb9ed585d1b80a1c27fb3ac20b562e9f9fc", size = 16338 },
+]
+
+[[package]]
+name = "opentelemetry-instrumentation-asyncpg"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-instrumentation" },
+ { name = "opentelemetry-semantic-conventions" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/b2/66/d2e2ccbb13cf6d6f6c7c8d907021e9bd8b56585c59e28d99ebc74138c3d1/opentelemetry_instrumentation_asyncpg-0.54b1.tar.gz", hash = "sha256:58e50de68b40221c2d6e22d626e5d03d9d6b950ba59504a5fc060c95cdc7c4fb", size = 8717 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/f0/93/c17ef16b63d6e073f875bfe4624b9711269a3d208ee11cdfc5cc1b3537d8/opentelemetry_instrumentation_asyncpg-0.54b1-py3-none-any.whl", hash = "sha256:2348843f0c6f0cefb0badc974cbeae244ee89c57e1ae2a587e5f641c23e16fdc", size = 10062 },
+]
+
+[[package]]
+name = "opentelemetry-instrumentation-aws-lambda"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-instrumentation" },
+ { name = "opentelemetry-propagator-aws-xray" },
+ { name = "opentelemetry-semantic-conventions" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/77/fd/57a1360203efa8410637679b00b61603782dd84ca9c0b3619192c07e0d1f/opentelemetry_instrumentation_aws_lambda-0.54b1.tar.gz", hash = "sha256:c40f011581abf3cd28d8833fb6218bac75eec3adda7774ff2685f41b279a9fdd", size = 17904 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/77/f3/c08fee6ae3f2d2b461ee7e7c2b3ac8de52281b236f3593146ba456cd0db7/opentelemetry_instrumentation_aws_lambda-0.54b1-py3-none-any.whl", hash = "sha256:51bc4301b9733fcda616d68197ee5f15108175a217f5fd8db349d53ba14cc172", size = 12484 },
+]
+
+[[package]]
+name = "opentelemetry-instrumentation-boto"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-instrumentation" },
+ { name = "opentelemetry-semantic-conventions" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/4b/b5/5b777b6b1f3ce586141485584a52f0fdd3d63398011b0d02feb822f46f0a/opentelemetry_instrumentation_boto-0.54b1.tar.gz", hash = "sha256:83407a5f6f69cd0bebff802da0d228eb13196a1de713b43e1348b77f80033c6a", size = 9716 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/4a/5e/8f8bfb5fa1c51aa66b6af7e4a64d9be9dc9aba6ff2d8c0f405204a5069ea/opentelemetry_instrumentation_boto-0.54b1-py3-none-any.whl", hash = "sha256:b52b1216bee095858bcd0d992360911b6e870acc4f4c9090f8ca1081d9fdede6", size = 10146 },
+]
+
+[[package]]
+name = "opentelemetry-instrumentation-boto3sqs"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-instrumentation" },
+ { name = "opentelemetry-semantic-conventions" },
+ { name = "wrapt" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/be/44/232d566fb06a640f386ce2bdd271e64ecaaae9bdcc5c68f84f2552c5e585/opentelemetry_instrumentation_boto3sqs-0.54b1.tar.gz", hash = "sha256:c8bf67bc836bb66da6a1b000e6c1b07229481c75731ea6a0ed0b59b256e035b9", size = 11715 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/df/db/62ebd5d172eb3997038f24a238792b5ebe604bc70dbda1cba91c3d36a655/opentelemetry_instrumentation_boto3sqs-0.54b1-py3-none-any.whl", hash = "sha256:40ae98fe53584e5b1d61725fc8e153a1be2d6b308f65f56deb4f276a23b43cf4", size = 11672 },
+]
+
+[[package]]
+name = "opentelemetry-instrumentation-botocore"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-instrumentation" },
+ { name = "opentelemetry-propagator-aws-xray" },
+ { name = "opentelemetry-semantic-conventions" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/72/c9/88127b0714881e6801e4921bca445de634b0b3568e607ccc4a606f711ea7/opentelemetry_instrumentation_botocore-0.54b1.tar.gz", hash = "sha256:54f7b0b48398dfc8b8e98deec89df5b4c8c359d803a0d6c8ce4bd972d50c03dd", size = 110252 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/5a/0e/22e35a74e6566feacd8a80f5899242920765f134c0edbb0b943ddb369c0e/opentelemetry_instrumentation_botocore-0.54b1-py3-none-any.whl", hash = "sha256:74d3a36d5bab8447669b25f915a3db6c37ae14a5faa198500471d5b1bbd1902f", size = 35461 },
+]
+
+[[package]]
+name = "opentelemetry-instrumentation-cassandra"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-instrumentation" },
+ { name = "opentelemetry-semantic-conventions" },
+ { name = "wrapt" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/26/fb/9a405a3fed8389603bbcd63a74ea303d55992c2c7e9abdc8daeba1945fa9/opentelemetry_instrumentation_cassandra-0.54b1.tar.gz", hash = "sha256:f9a79c0139888eaedb58bb50da42709c7bc6ead9b9f5263164873e4275cefbce", size = 7581 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/48/ca/e726bfd5dc40eef7961aa5a7a5e7238eb407c84bd709cb531abd09c62302/opentelemetry_instrumentation_cassandra-0.54b1-py3-none-any.whl", hash = "sha256:81b8d963a02ea43ea4a9d00c88cd0b01dda69daf914d6e4984b2e98b1e8fdeb7", size = 8899 },
+]
+
+[[package]]
+name = "opentelemetry-instrumentation-celery"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-instrumentation" },
+ { name = "opentelemetry-semantic-conventions" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/7c/71/4ac353874e0f7ca93591e1a74b7a290dec2027733bbb31bd76da3a74f97f/opentelemetry_instrumentation_celery-0.54b1.tar.gz", hash = "sha256:f2bd019afe9286214083ae2db95ed24adf9a0aa2e943177462d64ceb8380d78e", size = 14778 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/2f/be/90e2b7d26915639cfcdf6e200b309c9d64027ff752c56145bc149cd67d68/opentelemetry_instrumentation_celery-0.54b1-py3-none-any.whl", hash = "sha256:892ec6bf829a0d60cf3bffd1a8bb6fd8055f1194167b4e132e33321de8e05c24", size = 13809 },
+]
+
+[[package]]
+name = "opentelemetry-instrumentation-confluent-kafka"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-instrumentation" },
+ { name = "wrapt" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/50/a8/472ddb40f8caab693de4a5c2084b1513b67f879060e5e46cfb2f96bc0872/opentelemetry_instrumentation_confluent_kafka-0.54b1.tar.gz", hash = "sha256:1e378b5c88170c7fcd23b07054a61d2af7a7ec5af1aba120446514ef27b7ad82", size = 11615 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/5e/9e/107e45d5eb41961a187c28eb4d0da02d133d371dfdd149b1f7ef96e78926/opentelemetry_instrumentation_confluent_kafka-0.54b1-py3-none-any.whl", hash = "sha256:9dc896233a973705e1ac25950ababe23322338f4cd3fff0ccd509759aeb2e802", size = 12624 },
+]
+
+[[package]]
+name = "opentelemetry-instrumentation-dbapi"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-instrumentation" },
+ { name = "opentelemetry-semantic-conventions" },
+ { name = "wrapt" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/7b/b7/b74e2c7c858cde8909516cbe77cb0e841167d38795c90df524d84440e1f1/opentelemetry_instrumentation_dbapi-0.54b1.tar.gz", hash = "sha256:69421c36994114040d197f7e846c01869d663084c6c2025e85b2d6cfce2f8299", size = 14145 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/83/6a/98d409ae5ca60ae4e41295a42256d81bb96bd5a7a386ca0343e27494d53d/opentelemetry_instrumentation_dbapi-0.54b1-py3-none-any.whl", hash = "sha256:21bc20cd878a78bf44bab686e9679cef1eed77e53c754c0a09f0ca49f5fd0283", size = 12450 },
+]
+
+[[package]]
+name = "opentelemetry-instrumentation-django"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-instrumentation" },
+ { name = "opentelemetry-instrumentation-wsgi" },
+ { name = "opentelemetry-semantic-conventions" },
+ { name = "opentelemetry-util-http" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/ac/93/8d194bda118fc4c369b9a3091c39eec384137b46f33421272359883c53d9/opentelemetry_instrumentation_django-0.54b1.tar.gz", hash = "sha256:38414f989f60e9dba82928e13f6a20a26baf5cc700f1d891f27e0703ca577802", size = 24866 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/e9/75/1b0ae1b8b7d6a85d5d54e8092c84b18669bd5da6f5ceb3410047674db3c0/opentelemetry_instrumentation_django-0.54b1-py3-none-any.whl", hash = "sha256:462fbd577991021f56152df21ca1fdcd7c4abdc10dd44254a44d515b8e3d61ca", size = 19541 },
+]
+
+[[package]]
+name = "opentelemetry-instrumentation-elasticsearch"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-instrumentation" },
+ { name = "opentelemetry-semantic-conventions" },
+ { name = "wrapt" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/31/8b/e7d57ab4aab2d63e2094001e0301d848ec83b86ee428e538101922cd27ed/opentelemetry_instrumentation_elasticsearch-0.54b1.tar.gz", hash = "sha256:d5b6996919679c91e5791457de24d9ff6472887a4e1426b8f2345c52f6ba6f10", size = 14379 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/e6/bd/4919e716190454895c895c37745bbf22d59231d864862a9bc4ac68f4c8d8/opentelemetry_instrumentation_elasticsearch-0.54b1-py3-none-any.whl", hash = "sha256:9f5c968954d72f15e133d06760294f13886d98c4da626374168094035f6dec50", size = 12607 },
+]
+
+[[package]]
+name = "opentelemetry-instrumentation-falcon"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-instrumentation" },
+ { name = "opentelemetry-instrumentation-wsgi" },
+ { name = "opentelemetry-semantic-conventions" },
+ { name = "opentelemetry-util-http" },
+ { name = "packaging" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/1a/7d/73df17199014ea57ae71bb128a5155ea4d81d86d0b61d4c852cec485ccb1/opentelemetry_instrumentation_falcon-0.54b1.tar.gz", hash = "sha256:06e72aac39fd4ac65555a8cb056428d7c4366bb1fafa65e60474d6e3d6c3eada", size = 17176 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/2e/40/65a3cecd312ac380477ff44306c737b6a3d0cb7ec1ec28e09aacdc8904ac/opentelemetry_instrumentation_falcon-0.54b1-py3-none-any.whl", hash = "sha256:6eaf3bf714a6e3398a5ddc132c3e77de851331ee00989302f88a4d4ce829e679", size = 14206 },
+]
+
+[[package]]
+name = "opentelemetry-instrumentation-fastapi"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-instrumentation" },
+ { name = "opentelemetry-instrumentation-asgi" },
+ { name = "opentelemetry-semantic-conventions" },
+ { name = "opentelemetry-util-http" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/98/3b/9a262cdc1a4defef0e52afebdde3e8add658cc6f922e39e9dcee0da98349/opentelemetry_instrumentation_fastapi-0.54b1.tar.gz", hash = "sha256:1fcad19cef0db7092339b571a59e6f3045c9b58b7fd4670183f7addc459d78df", size = 19325 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/df/9c/6b2b0f9d6c5dea7528ae0bf4e461dd765b0ae35f13919cd452970bb0d0b3/opentelemetry_instrumentation_fastapi-0.54b1-py3-none-any.whl", hash = "sha256:fb247781cfa75fd09d3d8713c65e4a02bd1e869b00e2c322cc516d4b5429860c", size = 12125 },
+]
+
+[[package]]
+name = "opentelemetry-instrumentation-flask"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-instrumentation" },
+ { name = "opentelemetry-instrumentation-wsgi" },
+ { name = "opentelemetry-semantic-conventions" },
+ { name = "opentelemetry-util-http" },
+ { name = "packaging" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/b1/b8/d46dcb20889713a355de418a0d31d552089bf4454e1baf48c7b6b3fb6035/opentelemetry_instrumentation_flask-0.54b1.tar.gz", hash = "sha256:683f9963f06d065fc07ceaffa106df1f6f20075318530328f69fde39dfb1192f", size = 19221 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/39/85/aaaed416e9ee7d5c4ab98b3dba3d66675f44cfdcbf5d683e144a10fafad0/opentelemetry_instrumentation_flask-0.54b1-py3-none-any.whl", hash = "sha256:1f9d44b8ca9bc7d52e2aeb539bc64a88d6fc04f2f67c1ffb278148c99cc8ec6a", size = 14626 },
+]
+
+[[package]]
+name = "opentelemetry-instrumentation-grpc"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-instrumentation" },
+ { name = "opentelemetry-semantic-conventions" },
+ { name = "wrapt" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/95/7a/a2e879f5b39d77091181c944064bf99e11646a58242f1e8efa829646bcb1/opentelemetry_instrumentation_grpc-0.54b1.tar.gz", hash = "sha256:4198aab2a380b2807a50112892f9b8a50772169a3722fa99634ef70c6c017ea2", size = 30926 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/86/51/22ca8af0b9f78029657957f33604813c07dde18fb035dd37a60e2a4070d8/opentelemetry_instrumentation_grpc-0.54b1-py3-none-any.whl", hash = "sha256:c01114c5c147c216f9144da065d4a84bffb2a43b3cb05763b40ec744bbf5206e", size = 27112 },
+]
+
+[[package]]
+name = "opentelemetry-instrumentation-httpx"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-instrumentation" },
+ { name = "opentelemetry-semantic-conventions" },
+ { name = "opentelemetry-util-http" },
+ { name = "wrapt" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/9f/64/65b2e599c5043a5dbd14c251d48dec4947e2ec8713f601df197ea9b51246/opentelemetry_instrumentation_httpx-0.54b1.tar.gz", hash = "sha256:37e1cd0190f98508d960ec1667c9f148f8c8ad9a6cab127b57c9ad92c37493c3", size = 17734 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/f1/63/f92e93b613b51344a979dc6674641f2c0d24b031f6a08557304398962e41/opentelemetry_instrumentation_httpx-0.54b1-py3-none-any.whl", hash = "sha256:99b8e43ebf1d945ca298d84d32298ba26d1c3431738cea9f69a26c442661745f", size = 14129 },
+]
+
+[[package]]
+name = "opentelemetry-instrumentation-jinja2"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-instrumentation" },
+ { name = "wrapt" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/f7/9d/48836360719cfc0aaa892440b42d2fc3cf83bb84d4f92cda0ad9af7dd598/opentelemetry_instrumentation_jinja2-0.54b1.tar.gz", hash = "sha256:21e435e2029e876e9c91277fb88e9cf235211f96973c64e494b8be7551c7b3e1", size = 8468 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/a2/d4/213e701c74541f860bfc89211ab54b7c9d3c89576dc461bed14d6f1d0e2f/opentelemetry_instrumentation_jinja2-0.54b1-py3-none-any.whl", hash = "sha256:bcefb00e177c3481a0f735ffe96589ee40ba6b603092c19fca7b03fcb5c72a19", size = 9428 },
+]
+
+[[package]]
+name = "opentelemetry-instrumentation-kafka-python"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-instrumentation" },
+ { name = "opentelemetry-semantic-conventions" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/b2/1c/232ffeb76dd519d82c6b0f1b28dc33f6583f3a90b35dd3360179d46e0c72/opentelemetry_instrumentation_kafka_python-0.54b1.tar.gz", hash = "sha256:8b3f18be44939a270ca55b8017c5f822b94bdc1372b59a49464b990c715d0ba4", size = 10535 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/0d/88/9998fac3940d818100f0b3b1b67992481df233516d4d0a14fce43d6dcbc8/opentelemetry_instrumentation_kafka_python-0.54b1-py3-none-any.whl", hash = "sha256:ab53ed8af3281a337feb5c1fa01059d5af99ec7aa84f2b360627a20fed385ab7", size = 11502 },
+]
+
+[[package]]
+name = "opentelemetry-instrumentation-logging"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-instrumentation" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/d9/5b/88ed39f22e8c6eb4f6192ab9a62adaa115579fcbcadb3f0241ee645eea56/opentelemetry_instrumentation_logging-0.54b1.tar.gz", hash = "sha256:893a3cbfda893b64ff71b81991894e2fd6a9267ba85bb6c251f51c0419fbe8fa", size = 9976 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/96/0c/b441fb30d860f25040eaed61e89d68f4d9ee31873159ed18cbc1b92eba56/opentelemetry_instrumentation_logging-0.54b1-py3-none-any.whl", hash = "sha256:01a4cec54348f13941707d857b850b0febf9d49f45d0fcf0673866e079d7357b", size = 12579 },
+]
+
+[[package]]
+name = "opentelemetry-instrumentation-mysql"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-instrumentation" },
+ { name = "opentelemetry-instrumentation-dbapi" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/1e/6e/8b203e0f0afb994a2b8734d37d4ffe8a70cd45202bf021c3a531d7b1cb9d/opentelemetry_instrumentation_mysql-0.54b1.tar.gz", hash = "sha256:de3a9367886523f30bd04b51edcf8d0777de7eac4a2467f52478231f51405b49", size = 9390 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c9/18/aeae1a3cc4dd17f4338d105592a8e6cba572ef9d94089649d4b8a0d7b4dc/opentelemetry_instrumentation_mysql-0.54b1-py3-none-any.whl", hash = "sha256:07cd8c3003b439e0626e2b77f2b7f28f73c75879e28d9260f8d9a9600fb85fc2", size = 10100 },
+]
+
+[[package]]
+name = "opentelemetry-instrumentation-mysqlclient"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-instrumentation" },
+ { name = "opentelemetry-instrumentation-dbapi" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/a3/c6/27ac94688611cb51d20d83855b1dbd8610009f8ccf73e0fdca40648b4db4/opentelemetry_instrumentation_mysqlclient-0.54b1.tar.gz", hash = "sha256:c14abdc5e19015ab7d6aa23ce96122c4f966fac629489eaa614e28da84e94d88", size = 9330 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/d6/4d/9d8a5e571c370331c771467a4c51bb2da5ced1c2601bd2990c2a2bdc0caa/opentelemetry_instrumentation_mysqlclient-0.54b1-py3-none-any.whl", hash = "sha256:462972e140586e00a5c0f0025585b2decfd0c4d7189cd42e2f786ca8e9fdab27", size = 10125 },
+]
+
+[[package]]
+name = "opentelemetry-instrumentation-pika"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-instrumentation" },
+ { name = "packaging" },
+ { name = "wrapt" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/5d/8b/e7510900b383a2aaaec728034d8353d9112ce6fb75df1b53094185deae10/opentelemetry_instrumentation_pika-0.54b1.tar.gz", hash = "sha256:b8e20202233fee5aca35bd58db431bdcfeeddd85f83067800ab494c234479f51", size = 12993 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ce/68/c1dd5a8fcf3e98644ff3d1dfc3db9a7ac65a9ae964011c139343756b1e24/opentelemetry_instrumentation_pika-0.54b1-py3-none-any.whl", hash = "sha256:3098ba31cdf3b390deb18c9eb824fccff9b8a2d51878fdcc7b69f1e6218963dc", size = 13661 },
+]
+
+[[package]]
+name = "opentelemetry-instrumentation-psycopg2"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-instrumentation" },
+ { name = "opentelemetry-instrumentation-dbapi" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/c0/09/dd6e55a852c87ee6402d745486d7d2e32577e728781bc1c89812d2645f48/opentelemetry_instrumentation_psycopg2-0.54b1.tar.gz", hash = "sha256:6e899baf7b6687320491b25d5ceadde5c614a95fb379da8e2a513d430f28102f", size = 10663 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/1c/d0/4915e34533c26f319ba9b5346c0d1aa48d099bb29719674dbace3e4d643b/opentelemetry_instrumentation_psycopg2-0.54b1-py3-none-any.whl", hash = "sha256:2f493b180c2028bcab2ecaff8bd25560dd92a538bba8b9510411f182dd2a075e", size = 10709 },
+]
+
+[[package]]
+name = "opentelemetry-instrumentation-pymemcache"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-instrumentation" },
+ { name = "opentelemetry-semantic-conventions" },
+ { name = "wrapt" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/4c/58/66b4eb77a1279816b108d41b852f5ae02c69c8442522fb37539c119ff056/opentelemetry_instrumentation_pymemcache-0.54b1.tar.gz", hash = "sha256:03a272e3a416a633f83ee5b494a346d37fbe8249271bbf5e02686c354ae810a9", size = 10606 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/8b/91/678a2215292ce4cdfb28e282bef97e63bb497b42e2d677a24db7b979474d/opentelemetry_instrumentation_pymemcache-0.54b1-py3-none-any.whl", hash = "sha256:d752ccc03214cb079733d8d811ba9e624a7b6c76454ce96e30edccfed1f75f91", size = 9685 },
+]
+
+[[package]]
+name = "opentelemetry-instrumentation-pymongo"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-instrumentation" },
+ { name = "opentelemetry-semantic-conventions" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/71/4c/e214f98f6d0885cd1a4e09740fc68d59dfb5e108c310c0003415eb593a47/opentelemetry_instrumentation_pymongo-0.54b1.tar.gz", hash = "sha256:75cbcfe499009d535e508b869825113fc0888d4d60c544d4337ef65eb4d299f0", size = 9614 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/f1/f4/b4504705ce678ac6118e4c5226b566d940aa4f7baf8e6c585abad36d1197/opentelemetry_instrumentation_pymongo-0.54b1-py3-none-any.whl", hash = "sha256:2331f4f0cbd5a5053edebb956b4dd288d60eb8971d9b6d5927f0753d0651161e", size = 11314 },
+]
+
+[[package]]
+name = "opentelemetry-instrumentation-pymysql"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-instrumentation" },
+ { name = "opentelemetry-instrumentation-dbapi" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/2e/f5/f6f3f593c6f95994470eea001960c4891ead94d6583698862d2c1c2eb046/opentelemetry_instrumentation_pymysql-0.54b1.tar.gz", hash = "sha256:c22501ee104c34b70e37e5cdc59d74ffb833d473ac3ecfe899b707bf194e914b", size = 9208 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/d9/2f/e7a0e6555757cb14c54a4e923f0ba0a0ed9833cfae0fe8334e698d6a2767/opentelemetry_instrumentation_pymysql-0.54b1-py3-none-any.whl", hash = "sha256:54cb13c6ab559cf14e6de94f778e286d8bc89a2262cff59ee3566a41c6ab5dd1", size = 9984 },
+]
+
+[[package]]
+name = "opentelemetry-instrumentation-pyramid"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-instrumentation" },
+ { name = "opentelemetry-instrumentation-wsgi" },
+ { name = "opentelemetry-semantic-conventions" },
+ { name = "opentelemetry-util-http" },
+ { name = "wrapt" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/cb/be/488a87bf48049c260da15ecc5ebec0e99287aaabf0a9e94d759066b84872/opentelemetry_instrumentation_pyramid-0.54b1.tar.gz", hash = "sha256:c68d46de5cbf1e804b2b730f7f60bf87f0bc9735e3d21b8359d35705ff8457b3", size = 15046 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/7d/eb/456f9a79c0e3ac26036a0d262235b9cde3a085b88c8ec17e1f062b2d2327/opentelemetry_instrumentation_pyramid-0.54b1-py3-none-any.whl", hash = "sha256:11b7f210ff45b754db30f7522bb2e27be902ddea38a59cc16c08e16dd8061f42", size = 13999 },
+]
+
+[[package]]
+name = "opentelemetry-instrumentation-redis"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-instrumentation" },
+ { name = "opentelemetry-semantic-conventions" },
+ { name = "wrapt" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/c2/01/fad85231c3518bf6349a7ef483ef06a27100da8d1b7531dec9d8d09b94d8/opentelemetry_instrumentation_redis-0.54b1.tar.gz", hash = "sha256:89024c4752147d528e8c51fff0034193e628da339848cda78afe0cf4eb0c7ccb", size = 13908 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c0/c1/78f18965f16e34a8fecc5b10c52aca1243e75a512a0a0320556a69583f36/opentelemetry_instrumentation_redis-0.54b1-py3-none-any.whl", hash = "sha256:e98992bd38e93081158f9947a1a8eea51d96e8bfe5054894a5b8d1d82117c0c8", size = 14924 },
+]
+
+[[package]]
+name = "opentelemetry-instrumentation-remoulade"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-instrumentation" },
+ { name = "opentelemetry-semantic-conventions" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/e4/f5/d360444cd559f67a6d6f2467ca3f036db1894d3ba8c4a82a2c443eae674f/opentelemetry_instrumentation_remoulade-0.54b1.tar.gz", hash = "sha256:0c2f5571985375c55532402238dafb09d0e6b4b8c2a3c18925ef461bb3896c96", size = 8131 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/6b/35/0a17505193fd93e16d26d18a0605a9dedb5bdde9c4aed56f391160ed657b/opentelemetry_instrumentation_remoulade-0.54b1-py3-none-any.whl", hash = "sha256:5d50d298a1d456e1008166d0a20cb7ccada93b502b99cf74f344fb6d1df947c9", size = 10130 },
+]
+
+[[package]]
+name = "opentelemetry-instrumentation-requests"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-instrumentation" },
+ { name = "opentelemetry-semantic-conventions" },
+ { name = "opentelemetry-util-http" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/e7/45/116da84930d3dc2f5cdd876283ca96e9b96547bccee7eaa0bd01ce6bf046/opentelemetry_instrumentation_requests-0.54b1.tar.gz", hash = "sha256:3eca5d697c5564af04c6a1dd23b6a3ffbaf11e64887c6051655cee03998f4654", size = 15148 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/2b/b1/6e33d2c3d3cc9e3ae20a9a77625ec81a509a0e5d7fa87e09e7f879468990/opentelemetry_instrumentation_requests-0.54b1-py3-none-any.whl", hash = "sha256:a0c4cd5d946224f336d6bd73cdabdecc6f80d5c39208f84eb96eb15f16cd41a0", size = 12968 },
+]
+
+[[package]]
+name = "opentelemetry-instrumentation-sqlalchemy"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-instrumentation" },
+ { name = "opentelemetry-semantic-conventions" },
+ { name = "packaging" },
+ { name = "wrapt" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/ac/33/78a25ae4233d42058bb0b363ba4fea7d7210e53c24e5e31f16d5cf6cf957/opentelemetry_instrumentation_sqlalchemy-0.54b1.tar.gz", hash = "sha256:97839acf1c9b96ded857fca57a09b86a56cf8d9eb6d706b7ceaee9352a460e03", size = 14620 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c7/2b/1c954885815614ef5c1e8c7bbf57a5275e64cd6fb5946b65e17162a34037/opentelemetry_instrumentation_sqlalchemy-0.54b1-py3-none-any.whl", hash = "sha256:d2ca5edb4c7ecef120d51aad6793b7da1cc80207ccfd31c437ee18f098e7c4c4", size = 14169 },
+]
+
+[[package]]
+name = "opentelemetry-instrumentation-sqlite3"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-instrumentation" },
+ { name = "opentelemetry-instrumentation-dbapi" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/f3/07/cae18dbc2ba1997a382e63f1ee7527dff9557675c2802709ca8a011341c4/opentelemetry_instrumentation_sqlite3-0.54b1.tar.gz", hash = "sha256:e32ec80a2f50df035bf16de142527157b98a60a3863ddcb6aa20beae8a64a24d", size = 7929 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/45/8a/7a6b6b1cabc65e237ebbfd10429997579eaa4281c169429c28eb5a60e177/opentelemetry_instrumentation_sqlite3-0.54b1-py3-none-any.whl", hash = "sha256:756c8f51a3b738f4cd52556b2146a6e2e6a33516b494aa4dbb7478702af4a475", size = 9342 },
+]
+
+[[package]]
+name = "opentelemetry-instrumentation-starlette"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-instrumentation" },
+ { name = "opentelemetry-instrumentation-asgi" },
+ { name = "opentelemetry-semantic-conventions" },
+ { name = "opentelemetry-util-http" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/f9/43/c8095007bcc800a5465ebe50b097ab0da8b1d973f9afdcea04d98d2cb81d/opentelemetry_instrumentation_starlette-0.54b1.tar.gz", hash = "sha256:04f5902185166ad0a96bbc5cc184983bdf535ac92b1edc7a6093e9d14efa00d1", size = 14492 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/27/1d/9215d1696a428bbc0c46b8fc7c0189693ba5cdd9032f1dbeff04e9526828/opentelemetry_instrumentation_starlette-0.54b1-py3-none-any.whl", hash = "sha256:533e730308b5e6e99ab2a219c891f8e08ef5e67db76a148cc2f6c4fd5b6bcc0e", size = 11740 },
+]
+
+[[package]]
+name = "opentelemetry-instrumentation-system-metrics"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-instrumentation" },
+ { name = "psutil" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/10/cc/0db64253beac5a58dca621114f1be8c95af3ec8ac31785fb28b6ed82021e/opentelemetry_instrumentation_system_metrics-0.54b1.tar.gz", hash = "sha256:2846ba1019e1672fb605eff3d3af198fa1b8f1540ece70da82a2d20d9b95779b", size = 15007 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/f5/fd/e9bd23fd734bbdc028e7ebe3d25855381b696ceca214f80ad7fe74e9079c/opentelemetry_instrumentation_system_metrics-0.54b1-py3-none-any.whl", hash = "sha256:1b6f23cc8cf18b525bdb285c3664b521ce81b1e82c4f3db6a82210b8c37af1e4", size = 13093 },
+]
+
+[[package]]
+name = "opentelemetry-instrumentation-threading"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-instrumentation" },
+ { name = "wrapt" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/a0/bd/561245292e7cc78ac7a0a75537873aea87440cb9493d41371421b3308c2b/opentelemetry_instrumentation_threading-0.54b1.tar.gz", hash = "sha256:3a081085b59675baf7bd93126a681903e6304a5f283df5eaecdd44bcb66df578", size = 8774 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/81/10/d87ec07d69546adaad525ba5d40d27324a45cba29097d9854a53d9af5047/opentelemetry_instrumentation_threading-0.54b1-py3-none-any.whl", hash = "sha256:bc229e6cd3f2b29fafe0a8dd3141f452e16fcb4906bca4fbf52609f99fb1eb42", size = 9314 },
+]
+
+[[package]]
+name = "opentelemetry-instrumentation-tornado"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-instrumentation" },
+ { name = "opentelemetry-semantic-conventions" },
+ { name = "opentelemetry-util-http" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/61/61/9da044c2ae3cea9a4f0e4cf28bbc1a5aaf7052c2b00ad9f305a107da9110/opentelemetry_instrumentation_tornado-0.54b1.tar.gz", hash = "sha256:73a5ba0f915688907dd4640653d3970167715c42a5ef4a948bbcf93ad9682b8d", size = 17089 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/2f/70/858aabf04ef24f409995c032c06c9a96e7c8bb9a257c9981b7fb380b7458/opentelemetry_instrumentation_tornado-0.54b1-py3-none-any.whl", hash = "sha256:3f4773cb3adfd6fdd592f182a72be85ca6cf01500a9973ac17947ce81d9872ee", size = 15327 },
+]
+
+[[package]]
+name = "opentelemetry-instrumentation-tortoiseorm"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-instrumentation" },
+ { name = "opentelemetry-semantic-conventions" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/55/ec/c1c2916e9448ea2c5fde2700bf6577d42db5a2ed0fda856e388d34e42872/opentelemetry_instrumentation_tortoiseorm-0.54b1.tar.gz", hash = "sha256:f9ffe00bcdfa895dfa1a512f4fde186ebd816a4636afd26a7716f258b4c7e3f9", size = 8263 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/86/e0/81eb1ec3cbe436030c32ada365f6fcf9e034c882d8c3060dfe35ffdfabc0/opentelemetry_instrumentation_tortoiseorm-0.54b1-py3-none-any.whl", hash = "sha256:0335efcd4f5e240efecc36f909939dbc6fb8c9b0733dc3f0615a39c3f6544c7e", size = 10158 },
+]
+
+[[package]]
+name = "opentelemetry-instrumentation-urllib"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-instrumentation" },
+ { name = "opentelemetry-semantic-conventions" },
+ { name = "opentelemetry-util-http" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/a7/52/47ecbce59d47e4543286ab88753efe1903f40a80c05397407375b4e600c2/opentelemetry_instrumentation_urllib-0.54b1.tar.gz", hash = "sha256:99943400b6814ebf072735e0fb42dc5c74705f30b64ebed3778f0e7c6e16d63e", size = 13788 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/62/2a/d8c9876d80d89f728c89439a880eaccedab3ffe1cc83b2c49abf17b81038/opentelemetry_instrumentation_urllib-0.54b1-py3-none-any.whl", hash = "sha256:94744470733f61f3dd282be7868e93f5bc277f07a0aeda7c836c913cbcf4f416", size = 12625 },
+]
+
+[[package]]
+name = "opentelemetry-instrumentation-urllib3"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-instrumentation" },
+ { name = "opentelemetry-semantic-conventions" },
+ { name = "opentelemetry-util-http" },
+ { name = "wrapt" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/ed/6f/76a46806cd21002cac1bfd087f5e4674b195ab31ab44c773ca534b6bb546/opentelemetry_instrumentation_urllib3-0.54b1.tar.gz", hash = "sha256:0d30ba3b230e4100cfadaad29174bf7bceac70e812e4f5204e681e4b55a74cd9", size = 15697 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ff/7a/d75bec41edb6deaf1d2859bab66a84c8ba03e822e7eafdb245da205e53f6/opentelemetry_instrumentation_urllib3-0.54b1-py3-none-any.whl", hash = "sha256:e87958c297ddd36d30e1c9069f34a9690e845e4ccc2662dd80e99ed976d4c03e", size = 13123 },
+]
+
+[[package]]
+name = "opentelemetry-instrumentation-wsgi"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-instrumentation" },
+ { name = "opentelemetry-semantic-conventions" },
+ { name = "opentelemetry-util-http" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/a9/0f/442eba02bd277fae2f5eb3ac5f8dd5f8cc52ddbe080506748871b91a63ab/opentelemetry_instrumentation_wsgi-0.54b1.tar.gz", hash = "sha256:261ad737e0058812aaae6bb7d6e0fa7344de62464c5df30c82bea180e735b903", size = 18244 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/aa/2f/075156d123e589d6728cc4c1a43d0335fa16e8f4a9f723a4af9267d91169/opentelemetry_instrumentation_wsgi-0.54b1-py3-none-any.whl", hash = "sha256:6d99dca32ce232251cd321bf86e8c9d0a60c5f088bcbe5ad55d12a2006fe056e", size = 14378 },
+]
+
+[[package]]
+name = "opentelemetry-processor-baggage"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-sdk" },
+ { name = "wrapt" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/9b/47/6ebc196ca33a79e6e8839d33ebf1b9a7d88646f48b12c5687e5a90300879/opentelemetry_processor_baggage-0.54b1.tar.gz", hash = "sha256:d3ec2a99fb8b88ca1153cf9b1b8eae76bd2bb518fb900f758a8d24e439276055", size = 7579 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b0/9f/db3a2e7162dc73f012b440c5600acaab301170cffe8d8ccce5e069bc4176/opentelemetry_processor_baggage-0.54b1-py3-none-any.whl", hash = "sha256:1502475016c90b68642c9377803fd77b7f295d0b33e0d3449ba113b405de2b49", size = 8877 },
+]
+
+[[package]]
+name = "opentelemetry-propagator-aws-xray"
+version = "1.0.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/32/13/310a7f3c789eb9bb51f8ee9b88fb4b9f4f1e7191c8c96c7ea6f15eaa99b5/opentelemetry-propagator-aws-xray-1.0.1.tar.gz", hash = "sha256:6e8be667bbcf17c3d81d70b2a7cdec0b11257ff64d3829ffe75b810ba1b49f86", size = 8932 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/04/24/2b1694b9452ac7ab3567dcb80902f7c5c8a39962751d5a4c54a357caa49e/opentelemetry_propagator_aws_xray-1.0.1-py3-none-any.whl", hash = "sha256:49267a1d72b3f04880ac75e24f9ef38fe323e2f3156c4531e0e00c71c0829c0f", size = 10812 },
+]
+
+[[package]]
+name = "opentelemetry-propagator-b3"
+version = "1.33.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "deprecated" },
+ { name = "opentelemetry-api" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/1c/b4/4fe00e8c63175e35c310ac4e5091b3c22a468a6098e8a5eacd8b991d6989/opentelemetry_propagator_b3-1.33.1.tar.gz", hash = "sha256:46bbe76d95ac7e1f50b263230aa1ce86445120f10c7008d66cb08266468561a3", size = 9618 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/67/4a/16676216b5b8db95a6bdeb529bf17603e14c70ac15fcadca8de2bd135c65/opentelemetry_propagator_b3-1.33.1-py3-none-any.whl", hash = "sha256:5c65708fbecb317ab4f1880e81f7bb0bf48caa2e1d52fe31f89d1cb86172a69c", size = 8936 },
+]
+
+[[package]]
+name = "opentelemetry-propagator-jaeger"
+version = "1.33.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/7c/28/2be617ef9bf804f65864d17eef13af582992d529c61d58a8a17d711b918a/opentelemetry_propagator_jaeger-1.33.1.tar.gz", hash = "sha256:b4cd3f123a720db872401e2179f7384c70922a6b9bab2873f003419be82bb5e3", size = 8676 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/66/24/a20343cfa49b38192ca6e314294b50a76d427c7dcbfd1a3ddb19706fed71/opentelemetry_propagator_jaeger-1.33.1-py3-none-any.whl", hash = "sha256:d5cfd139b245b32b45edda478b7be1fc52ecc93a199aa6ed7fd074086d81d083", size = 8778 },
+]
+
+[[package]]
+name = "opentelemetry-propagator-ot-trace"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-sdk" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/01/a3/b1bc6a7dc4aa7467b7d4537452a4fb089cb82246138fed6a3272e9ec2de9/opentelemetry_propagator_ot_trace-0.54b1.tar.gz", hash = "sha256:ce6bbebe9a3e57d8abada605b3ef296d363c764bb9a075677ea6f7aed7ddf8e6", size = 5026 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/db/62/cab99d81b9de2f74e80cf5deac45c31ec110d65a6d9b043152cffe2e3edd/opentelemetry_propagator_ot_trace-0.54b1-py3-none-any.whl", hash = "sha256:3c7885bdee37b28562e17cd8cb72747102fdccd9d4e557f5b4afb109092db829", size = 4769 },
+]
+
+[[package]]
+name = "opentelemetry-proto"
+version = "1.33.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "protobuf" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/f6/dc/791f3d60a1ad8235930de23eea735ae1084be1c6f96fdadf38710662a7e5/opentelemetry_proto-1.33.1.tar.gz", hash = "sha256:9627b0a5c90753bf3920c398908307063e4458b287bb890e5c1d6fa11ad50b68", size = 34363 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c4/29/48609f4c875c2b6c80930073c82dd1cafd36b6782244c01394007b528960/opentelemetry_proto-1.33.1-py3-none-any.whl", hash = "sha256:243d285d9f29663fc7ea91a7171fcc1ccbbfff43b48df0774fd64a37d98eda70", size = 55854 },
+]
+
+[[package]]
+name = "opentelemetry-sdk"
+version = "1.33.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-semantic-conventions" },
+ { name = "typing-extensions" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/67/12/909b98a7d9b110cce4b28d49b2e311797cffdce180371f35eba13a72dd00/opentelemetry_sdk-1.33.1.tar.gz", hash = "sha256:85b9fcf7c3d23506fbc9692fd210b8b025a1920535feec50bd54ce203d57a531", size = 161885 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/df/8e/ae2d0742041e0bd7fe0d2dcc5e7cce51dcf7d3961a26072d5b43cc8fa2a7/opentelemetry_sdk-1.33.1-py3-none-any.whl", hash = "sha256:19ea73d9a01be29cacaa5d6c8ce0adc0b7f7b4d58cc52f923e4413609f670112", size = 118950 },
+]
+
+[[package]]
+name = "opentelemetry-sdk-extension-aws"
+version = "2.0.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-sdk" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/85/86/52a95a0128b5aeb9db76e3ee6f9aeb6f2417ad24da28747318cbdf11c43d/opentelemetry_sdk_extension_aws-2.0.2.tar.gz", hash = "sha256:9faa9bdf480d1c5c53151dabee75735c94dbde09e4762c68ff5c7bd4aa3408f3", size = 16014 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/2d/6c/c85409f89ebe33d0998391f6e68ae0f2353a8e526450aad8b177ed5a26d3/opentelemetry_sdk_extension_aws-2.0.2-py3-none-any.whl", hash = "sha256:4c6e4b9fec01a4a9cfeac5272ce5aae6bc80e080a6bae1e52098746f53a7b32d", size = 18652 },
+]
+
+[[package]]
+name = "opentelemetry-semantic-conventions"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "deprecated" },
+ { name = "opentelemetry-api" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/5b/2c/d7990fc1ffc82889d466e7cd680788ace44a26789809924813b164344393/opentelemetry_semantic_conventions-0.54b1.tar.gz", hash = "sha256:d1cecedae15d19bdaafca1e56b29a66aa286f50b5d08f036a145c7f3e9ef9cee", size = 118642 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/0a/80/08b1698c52ff76d96ba440bf15edc2f4bc0a279868778928e947c1004bdd/opentelemetry_semantic_conventions-0.54b1-py3-none-any.whl", hash = "sha256:29dab644a7e435b58d3a3918b58c333c92686236b30f7891d5e51f02933ca60d", size = 194938 },
+]
+
+[[package]]
+name = "opentelemetry-util-http"
+version = "0.54b1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/a8/9f/1d8a1d1f34b9f62f2b940b388bf07b8167a8067e70870055bd05db354e5c/opentelemetry_util_http-0.54b1.tar.gz", hash = "sha256:f0b66868c19fbaf9c9d4e11f4a7599fa15d5ea50b884967a26ccd9d72c7c9d15", size = 8044 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/a4/ef/c5aa08abca6894792beed4c0405e85205b35b8e73d653571c9ff13a8e34e/opentelemetry_util_http-0.54b1-py3-none-any.whl", hash = "sha256:b1c91883f980344a1c3c486cffd47ae5c9c1dd7323f9cbe9fdb7cadb401c87c9", size = 7301 },
+]
+
+[[package]]
+name = "packaging"
+version = "25.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f", size = 165727 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", size = 66469 },
+]
+
+[[package]]
+name = "pillow"
+version = "11.3.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/f3/0d/d0d6dea55cd152ce3d6767bb38a8fc10e33796ba4ba210cbab9354b6d238/pillow-11.3.0.tar.gz", hash = "sha256:3828ee7586cd0b2091b6209e5ad53e20d0649bbe87164a459d0676e035e8f523", size = 47113069 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/40/fe/1bc9b3ee13f68487a99ac9529968035cca2f0a51ec36892060edcc51d06a/pillow-11.3.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fdae223722da47b024b867c1ea0be64e0df702c5e0a60e27daad39bf960dd1e4", size = 5278800 },
+ { url = "https://files.pythonhosted.org/packages/2c/32/7e2ac19b5713657384cec55f89065fb306b06af008cfd87e572035b27119/pillow-11.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:921bd305b10e82b4d1f5e802b6850677f965d8394203d182f078873851dada69", size = 4686296 },
+ { url = "https://files.pythonhosted.org/packages/8e/1e/b9e12bbe6e4c2220effebc09ea0923a07a6da1e1f1bfbc8d7d29a01ce32b/pillow-11.3.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:eb76541cba2f958032d79d143b98a3a6b3ea87f0959bbe256c0b5e416599fd5d", size = 5871726 },
+ { url = "https://files.pythonhosted.org/packages/8d/33/e9200d2bd7ba00dc3ddb78df1198a6e80d7669cce6c2bdbeb2530a74ec58/pillow-11.3.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:67172f2944ebba3d4a7b54f2e95c786a3a50c21b88456329314caaa28cda70f6", size = 7644652 },
+ { url = "https://files.pythonhosted.org/packages/41/f1/6f2427a26fc683e00d985bc391bdd76d8dd4e92fac33d841127eb8fb2313/pillow-11.3.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:97f07ed9f56a3b9b5f49d3661dc9607484e85c67e27f3e8be2c7d28ca032fec7", size = 5977787 },
+ { url = "https://files.pythonhosted.org/packages/e4/c9/06dd4a38974e24f932ff5f98ea3c546ce3f8c995d3f0985f8e5ba48bba19/pillow-11.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:676b2815362456b5b3216b4fd5bd89d362100dc6f4945154ff172e206a22c024", size = 6645236 },
+ { url = "https://files.pythonhosted.org/packages/40/e7/848f69fb79843b3d91241bad658e9c14f39a32f71a301bcd1d139416d1be/pillow-11.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3e184b2f26ff146363dd07bde8b711833d7b0202e27d13540bfe2e35a323a809", size = 6086950 },
+ { url = "https://files.pythonhosted.org/packages/0b/1a/7cff92e695a2a29ac1958c2a0fe4c0b2393b60aac13b04a4fe2735cad52d/pillow-11.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6be31e3fc9a621e071bc17bb7de63b85cbe0bfae91bb0363c893cbe67247780d", size = 6723358 },
+ { url = "https://files.pythonhosted.org/packages/26/7d/73699ad77895f69edff76b0f332acc3d497f22f5d75e5360f78cbcaff248/pillow-11.3.0-cp312-cp312-win32.whl", hash = "sha256:7b161756381f0918e05e7cb8a371fff367e807770f8fe92ecb20d905d0e1c149", size = 6275079 },
+ { url = "https://files.pythonhosted.org/packages/8c/ce/e7dfc873bdd9828f3b6e5c2bbb74e47a98ec23cc5c74fc4e54462f0d9204/pillow-11.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:a6444696fce635783440b7f7a9fc24b3ad10a9ea3f0ab66c5905be1c19ccf17d", size = 6986324 },
+ { url = "https://files.pythonhosted.org/packages/16/8f/b13447d1bf0b1f7467ce7d86f6e6edf66c0ad7cf44cf5c87a37f9bed9936/pillow-11.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:2aceea54f957dd4448264f9bf40875da0415c83eb85f55069d89c0ed436e3542", size = 2423067 },
+ { url = "https://files.pythonhosted.org/packages/1e/93/0952f2ed8db3a5a4c7a11f91965d6184ebc8cd7cbb7941a260d5f018cd2d/pillow-11.3.0-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:1c627742b539bba4309df89171356fcb3cc5a9178355b2727d1b74a6cf155fbd", size = 2128328 },
+ { url = "https://files.pythonhosted.org/packages/4b/e8/100c3d114b1a0bf4042f27e0f87d2f25e857e838034e98ca98fe7b8c0a9c/pillow-11.3.0-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:30b7c02f3899d10f13d7a48163c8969e4e653f8b43416d23d13d1bbfdc93b9f8", size = 2170652 },
+ { url = "https://files.pythonhosted.org/packages/aa/86/3f758a28a6e381758545f7cdb4942e1cb79abd271bea932998fc0db93cb6/pillow-11.3.0-cp313-cp313-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:7859a4cc7c9295f5838015d8cc0a9c215b77e43d07a25e460f35cf516df8626f", size = 2227443 },
+ { url = "https://files.pythonhosted.org/packages/01/f4/91d5b3ffa718df2f53b0dc109877993e511f4fd055d7e9508682e8aba092/pillow-11.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:ec1ee50470b0d050984394423d96325b744d55c701a439d2bd66089bff963d3c", size = 5278474 },
+ { url = "https://files.pythonhosted.org/packages/f9/0e/37d7d3eca6c879fbd9dba21268427dffda1ab00d4eb05b32923d4fbe3b12/pillow-11.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7db51d222548ccfd274e4572fdbf3e810a5e66b00608862f947b163e613b67dd", size = 4686038 },
+ { url = "https://files.pythonhosted.org/packages/ff/b0/3426e5c7f6565e752d81221af9d3676fdbb4f352317ceafd42899aaf5d8a/pillow-11.3.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:2d6fcc902a24ac74495df63faad1884282239265c6839a0a6416d33faedfae7e", size = 5864407 },
+ { url = "https://files.pythonhosted.org/packages/fc/c1/c6c423134229f2a221ee53f838d4be9d82bab86f7e2f8e75e47b6bf6cd77/pillow-11.3.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f0f5d8f4a08090c6d6d578351a2b91acf519a54986c055af27e7a93feae6d3f1", size = 7639094 },
+ { url = "https://files.pythonhosted.org/packages/ba/c9/09e6746630fe6372c67c648ff9deae52a2bc20897d51fa293571977ceb5d/pillow-11.3.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c37d8ba9411d6003bba9e518db0db0c58a680ab9fe5179f040b0463644bc9805", size = 5973503 },
+ { url = "https://files.pythonhosted.org/packages/d5/1c/a2a29649c0b1983d3ef57ee87a66487fdeb45132df66ab30dd37f7dbe162/pillow-11.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:13f87d581e71d9189ab21fe0efb5a23e9f28552d5be6979e84001d3b8505abe8", size = 6642574 },
+ { url = "https://files.pythonhosted.org/packages/36/de/d5cc31cc4b055b6c6fd990e3e7f0f8aaf36229a2698501bcb0cdf67c7146/pillow-11.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:023f6d2d11784a465f09fd09a34b150ea4672e85fb3d05931d89f373ab14abb2", size = 6084060 },
+ { url = "https://files.pythonhosted.org/packages/d5/ea/502d938cbaeec836ac28a9b730193716f0114c41325db428e6b280513f09/pillow-11.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:45dfc51ac5975b938e9809451c51734124e73b04d0f0ac621649821a63852e7b", size = 6721407 },
+ { url = "https://files.pythonhosted.org/packages/45/9c/9c5e2a73f125f6cbc59cc7087c8f2d649a7ae453f83bd0362ff7c9e2aee2/pillow-11.3.0-cp313-cp313-win32.whl", hash = "sha256:a4d336baed65d50d37b88ca5b60c0fa9d81e3a87d4a7930d3880d1624d5b31f3", size = 6273841 },
+ { url = "https://files.pythonhosted.org/packages/23/85/397c73524e0cd212067e0c969aa245b01d50183439550d24d9f55781b776/pillow-11.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:0bce5c4fd0921f99d2e858dc4d4d64193407e1b99478bc5cacecba2311abde51", size = 6978450 },
+ { url = "https://files.pythonhosted.org/packages/17/d2/622f4547f69cd173955194b78e4d19ca4935a1b0f03a302d655c9f6aae65/pillow-11.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:1904e1264881f682f02b7f8167935cce37bc97db457f8e7849dc3a6a52b99580", size = 2423055 },
+ { url = "https://files.pythonhosted.org/packages/dd/80/a8a2ac21dda2e82480852978416cfacd439a4b490a501a288ecf4fe2532d/pillow-11.3.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:4c834a3921375c48ee6b9624061076bc0a32a60b5532b322cc0ea64e639dd50e", size = 5281110 },
+ { url = "https://files.pythonhosted.org/packages/44/d6/b79754ca790f315918732e18f82a8146d33bcd7f4494380457ea89eb883d/pillow-11.3.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:5e05688ccef30ea69b9317a9ead994b93975104a677a36a8ed8106be9260aa6d", size = 4689547 },
+ { url = "https://files.pythonhosted.org/packages/49/20/716b8717d331150cb00f7fdd78169c01e8e0c219732a78b0e59b6bdb2fd6/pillow-11.3.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:1019b04af07fc0163e2810167918cb5add8d74674b6267616021ab558dc98ced", size = 5901554 },
+ { url = "https://files.pythonhosted.org/packages/74/cf/a9f3a2514a65bb071075063a96f0a5cf949c2f2fce683c15ccc83b1c1cab/pillow-11.3.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f944255db153ebb2b19c51fe85dd99ef0ce494123f21b9db4877ffdfc5590c7c", size = 7669132 },
+ { url = "https://files.pythonhosted.org/packages/98/3c/da78805cbdbee9cb43efe8261dd7cc0b4b93f2ac79b676c03159e9db2187/pillow-11.3.0-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1f85acb69adf2aaee8b7da124efebbdb959a104db34d3a2cb0f3793dbae422a8", size = 6005001 },
+ { url = "https://files.pythonhosted.org/packages/6c/fa/ce044b91faecf30e635321351bba32bab5a7e034c60187fe9698191aef4f/pillow-11.3.0-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:05f6ecbeff5005399bb48d198f098a9b4b6bdf27b8487c7f38ca16eeb070cd59", size = 6668814 },
+ { url = "https://files.pythonhosted.org/packages/7b/51/90f9291406d09bf93686434f9183aba27b831c10c87746ff49f127ee80cb/pillow-11.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:a7bc6e6fd0395bc052f16b1a8670859964dbd7003bd0af2ff08342eb6e442cfe", size = 6113124 },
+ { url = "https://files.pythonhosted.org/packages/cd/5a/6fec59b1dfb619234f7636d4157d11fb4e196caeee220232a8d2ec48488d/pillow-11.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:83e1b0161c9d148125083a35c1c5a89db5b7054834fd4387499e06552035236c", size = 6747186 },
+ { url = "https://files.pythonhosted.org/packages/49/6b/00187a044f98255225f172de653941e61da37104a9ea60e4f6887717e2b5/pillow-11.3.0-cp313-cp313t-win32.whl", hash = "sha256:2a3117c06b8fb646639dce83694f2f9eac405472713fcb1ae887469c0d4f6788", size = 6277546 },
+ { url = "https://files.pythonhosted.org/packages/e8/5c/6caaba7e261c0d75bab23be79f1d06b5ad2a2ae49f028ccec801b0e853d6/pillow-11.3.0-cp313-cp313t-win_amd64.whl", hash = "sha256:857844335c95bea93fb39e0fa2726b4d9d758850b34075a7e3ff4f4fa3aa3b31", size = 6985102 },
+ { url = "https://files.pythonhosted.org/packages/f3/7e/b623008460c09a0cb38263c93b828c666493caee2eb34ff67f778b87e58c/pillow-11.3.0-cp313-cp313t-win_arm64.whl", hash = "sha256:8797edc41f3e8536ae4b10897ee2f637235c94f27404cac7297f7b607dd0716e", size = 2424803 },
+ { url = "https://files.pythonhosted.org/packages/73/f4/04905af42837292ed86cb1b1dabe03dce1edc008ef14c473c5c7e1443c5d/pillow-11.3.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:d9da3df5f9ea2a89b81bb6087177fb1f4d1c7146d583a3fe5c672c0d94e55e12", size = 5278520 },
+ { url = "https://files.pythonhosted.org/packages/41/b0/33d79e377a336247df6348a54e6d2a2b85d644ca202555e3faa0cf811ecc/pillow-11.3.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:0b275ff9b04df7b640c59ec5a3cb113eefd3795a8df80bac69646ef699c6981a", size = 4686116 },
+ { url = "https://files.pythonhosted.org/packages/49/2d/ed8bc0ab219ae8768f529597d9509d184fe8a6c4741a6864fea334d25f3f/pillow-11.3.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:0743841cabd3dba6a83f38a92672cccbd69af56e3e91777b0ee7f4dba4385632", size = 5864597 },
+ { url = "https://files.pythonhosted.org/packages/b5/3d/b932bb4225c80b58dfadaca9d42d08d0b7064d2d1791b6a237f87f661834/pillow-11.3.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:2465a69cf967b8b49ee1b96d76718cd98c4e925414ead59fdf75cf0fd07df673", size = 7638246 },
+ { url = "https://files.pythonhosted.org/packages/09/b5/0487044b7c096f1b48f0d7ad416472c02e0e4bf6919541b111efd3cae690/pillow-11.3.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:41742638139424703b4d01665b807c6468e23e699e8e90cffefe291c5832b027", size = 5973336 },
+ { url = "https://files.pythonhosted.org/packages/a8/2d/524f9318f6cbfcc79fbc004801ea6b607ec3f843977652fdee4857a7568b/pillow-11.3.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:93efb0b4de7e340d99057415c749175e24c8864302369e05914682ba642e5d77", size = 6642699 },
+ { url = "https://files.pythonhosted.org/packages/6f/d2/a9a4f280c6aefedce1e8f615baaa5474e0701d86dd6f1dede66726462bbd/pillow-11.3.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7966e38dcd0fa11ca390aed7c6f20454443581d758242023cf36fcb319b1a874", size = 6083789 },
+ { url = "https://files.pythonhosted.org/packages/fe/54/86b0cd9dbb683a9d5e960b66c7379e821a19be4ac5810e2e5a715c09a0c0/pillow-11.3.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:98a9afa7b9007c67ed84c57c9e0ad86a6000da96eaa638e4f8abe5b65ff83f0a", size = 6720386 },
+ { url = "https://files.pythonhosted.org/packages/e7/95/88efcaf384c3588e24259c4203b909cbe3e3c2d887af9e938c2022c9dd48/pillow-11.3.0-cp314-cp314-win32.whl", hash = "sha256:02a723e6bf909e7cea0dac1b0e0310be9d7650cd66222a5f1c571455c0a45214", size = 6370911 },
+ { url = "https://files.pythonhosted.org/packages/2e/cc/934e5820850ec5eb107e7b1a72dd278140731c669f396110ebc326f2a503/pillow-11.3.0-cp314-cp314-win_amd64.whl", hash = "sha256:a418486160228f64dd9e9efcd132679b7a02a5f22c982c78b6fc7dab3fefb635", size = 7117383 },
+ { url = "https://files.pythonhosted.org/packages/d6/e9/9c0a616a71da2a5d163aa37405e8aced9a906d574b4a214bede134e731bc/pillow-11.3.0-cp314-cp314-win_arm64.whl", hash = "sha256:155658efb5e044669c08896c0c44231c5e9abcaadbc5cd3648df2f7c0b96b9a6", size = 2511385 },
+ { url = "https://files.pythonhosted.org/packages/1a/33/c88376898aff369658b225262cd4f2659b13e8178e7534df9e6e1fa289f6/pillow-11.3.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:59a03cdf019efbfeeed910bf79c7c93255c3d54bc45898ac2a4140071b02b4ae", size = 5281129 },
+ { url = "https://files.pythonhosted.org/packages/1f/70/d376247fb36f1844b42910911c83a02d5544ebd2a8bad9efcc0f707ea774/pillow-11.3.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:f8a5827f84d973d8636e9dc5764af4f0cf2318d26744b3d902931701b0d46653", size = 4689580 },
+ { url = "https://files.pythonhosted.org/packages/eb/1c/537e930496149fbac69efd2fc4329035bbe2e5475b4165439e3be9cb183b/pillow-11.3.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ee92f2fd10f4adc4b43d07ec5e779932b4eb3dbfbc34790ada5a6669bc095aa6", size = 5902860 },
+ { url = "https://files.pythonhosted.org/packages/bd/57/80f53264954dcefeebcf9dae6e3eb1daea1b488f0be8b8fef12f79a3eb10/pillow-11.3.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c96d333dcf42d01f47b37e0979b6bd73ec91eae18614864622d9b87bbd5bbf36", size = 7670694 },
+ { url = "https://files.pythonhosted.org/packages/70/ff/4727d3b71a8578b4587d9c276e90efad2d6fe0335fd76742a6da08132e8c/pillow-11.3.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4c96f993ab8c98460cd0c001447bff6194403e8b1d7e149ade5f00594918128b", size = 6005888 },
+ { url = "https://files.pythonhosted.org/packages/05/ae/716592277934f85d3be51d7256f3636672d7b1abfafdc42cf3f8cbd4b4c8/pillow-11.3.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:41342b64afeba938edb034d122b2dda5db2139b9a4af999729ba8818e0056477", size = 6670330 },
+ { url = "https://files.pythonhosted.org/packages/e7/bb/7fe6cddcc8827b01b1a9766f5fdeb7418680744f9082035bdbabecf1d57f/pillow-11.3.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:068d9c39a2d1b358eb9f245ce7ab1b5c3246c7c8c7d9ba58cfa5b43146c06e50", size = 6114089 },
+ { url = "https://files.pythonhosted.org/packages/8b/f5/06bfaa444c8e80f1a8e4bff98da9c83b37b5be3b1deaa43d27a0db37ef84/pillow-11.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:a1bc6ba083b145187f648b667e05a2534ecc4b9f2784c2cbe3089e44868f2b9b", size = 6748206 },
+ { url = "https://files.pythonhosted.org/packages/f0/77/bc6f92a3e8e6e46c0ca78abfffec0037845800ea38c73483760362804c41/pillow-11.3.0-cp314-cp314t-win32.whl", hash = "sha256:118ca10c0d60b06d006be10a501fd6bbdfef559251ed31b794668ed569c87e12", size = 6377370 },
+ { url = "https://files.pythonhosted.org/packages/4a/82/3a721f7d69dca802befb8af08b7c79ebcab461007ce1c18bd91a5d5896f9/pillow-11.3.0-cp314-cp314t-win_amd64.whl", hash = "sha256:8924748b688aa210d79883357d102cd64690e56b923a186f35a82cbc10f997db", size = 7121500 },
+ { url = "https://files.pythonhosted.org/packages/89/c7/5572fa4a3f45740eaab6ae86fcdf7195b55beac1371ac8c619d880cfe948/pillow-11.3.0-cp314-cp314t-win_arm64.whl", hash = "sha256:79ea0d14d3ebad43ec77ad5272e6ff9bba5b679ef73375ea760261207fa8e0aa", size = 2512835 },
+]
+
+[[package]]
+name = "prompt-toolkit"
+version = "3.0.51"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "wcwidth" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/bb/6e/9d084c929dfe9e3bfe0c6a47e31f78a25c54627d64a66e884a8bf5474f1c/prompt_toolkit-3.0.51.tar.gz", hash = "sha256:931a162e3b27fc90c86f1b48bb1fb2c528c2761475e57c9c06de13311c7b54ed", size = 428940 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ce/4f/5249960887b1fbe561d9ff265496d170b55a735b76724f10ef19f9e40716/prompt_toolkit-3.0.51-py3-none-any.whl", hash = "sha256:52742911fde84e2d423e2f9a4cf1de7d7ac4e51958f648d9540e0fb8db077b07", size = 387810 },
+]
+
+[[package]]
+name = "protobuf"
+version = "5.29.5"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/43/29/d09e70352e4e88c9c7a198d5645d7277811448d76c23b00345670f7c8a38/protobuf-5.29.5.tar.gz", hash = "sha256:bc1463bafd4b0929216c35f437a8e28731a2b7fe3d98bb77a600efced5a15c84", size = 425226 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/5f/11/6e40e9fc5bba02988a214c07cf324595789ca7820160bfd1f8be96e48539/protobuf-5.29.5-cp310-abi3-win32.whl", hash = "sha256:3f1c6468a2cfd102ff4703976138844f78ebd1fb45f49011afc5139e9e283079", size = 422963 },
+ { url = "https://files.pythonhosted.org/packages/81/7f/73cefb093e1a2a7c3ffd839e6f9fcafb7a427d300c7f8aef9c64405d8ac6/protobuf-5.29.5-cp310-abi3-win_amd64.whl", hash = "sha256:3f76e3a3675b4a4d867b52e4a5f5b78a2ef9565549d4037e06cf7b0942b1d3fc", size = 434818 },
+ { url = "https://files.pythonhosted.org/packages/dd/73/10e1661c21f139f2c6ad9b23040ff36fee624310dc28fba20d33fdae124c/protobuf-5.29.5-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:e38c5add5a311f2a6eb0340716ef9b039c1dfa428b28f25a7838ac329204a671", size = 418091 },
+ { url = "https://files.pythonhosted.org/packages/6c/04/98f6f8cf5b07ab1294c13f34b4e69b3722bb609c5b701d6c169828f9f8aa/protobuf-5.29.5-cp38-abi3-manylinux2014_aarch64.whl", hash = "sha256:fa18533a299d7ab6c55a238bf8629311439995f2e7eca5caaff08663606e9015", size = 319824 },
+ { url = "https://files.pythonhosted.org/packages/85/e4/07c80521879c2d15f321465ac24c70efe2381378c00bf5e56a0f4fbac8cd/protobuf-5.29.5-cp38-abi3-manylinux2014_x86_64.whl", hash = "sha256:63848923da3325e1bf7e9003d680ce6e14b07e55d0473253a690c3a8b8fd6e61", size = 319942 },
+ { url = "https://files.pythonhosted.org/packages/7e/cc/7e77861000a0691aeea8f4566e5d3aa716f2b1dece4a24439437e41d3d25/protobuf-5.29.5-py3-none-any.whl", hash = "sha256:6cf42630262c59b2d8de33954443d94b746c952b01434fc58a417fdbd2e84bd5", size = 172823 },
+]
+
+[[package]]
+name = "psutil"
+version = "7.0.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/2a/80/336820c1ad9286a4ded7e845b2eccfcb27851ab8ac6abece774a6ff4d3de/psutil-7.0.0.tar.gz", hash = "sha256:7be9c3eba38beccb6495ea33afd982a44074b78f28c434a1f51cc07fd315c456", size = 497003 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ed/e6/2d26234410f8b8abdbf891c9da62bee396583f713fb9f3325a4760875d22/psutil-7.0.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:101d71dc322e3cffd7cea0650b09b3d08b8e7c4109dd6809fe452dfd00e58b25", size = 238051 },
+ { url = "https://files.pythonhosted.org/packages/04/8b/30f930733afe425e3cbfc0e1468a30a18942350c1a8816acfade80c005c4/psutil-7.0.0-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:39db632f6bb862eeccf56660871433e111b6ea58f2caea825571951d4b6aa3da", size = 239535 },
+ { url = "https://files.pythonhosted.org/packages/2a/ed/d362e84620dd22876b55389248e522338ed1bf134a5edd3b8231d7207f6d/psutil-7.0.0-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1fcee592b4c6f146991ca55919ea3d1f8926497a713ed7faaf8225e174581e91", size = 275004 },
+ { url = "https://files.pythonhosted.org/packages/bf/b9/b0eb3f3cbcb734d930fdf839431606844a825b23eaf9a6ab371edac8162c/psutil-7.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b1388a4f6875d7e2aff5c4ca1cc16c545ed41dd8bb596cefea80111db353a34", size = 277986 },
+ { url = "https://files.pythonhosted.org/packages/eb/a2/709e0fe2f093556c17fbafda93ac032257242cabcc7ff3369e2cb76a97aa/psutil-7.0.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5f098451abc2828f7dc6b58d44b532b22f2088f4999a937557b603ce72b1993", size = 279544 },
+ { url = "https://files.pythonhosted.org/packages/50/e6/eecf58810b9d12e6427369784efe814a1eec0f492084ce8eb8f4d89d6d61/psutil-7.0.0-cp37-abi3-win32.whl", hash = "sha256:ba3fcef7523064a6c9da440fc4d6bd07da93ac726b5733c29027d7dc95b39d99", size = 241053 },
+ { url = "https://files.pythonhosted.org/packages/50/1b/6921afe68c74868b4c9fa424dad3be35b095e16687989ebbb50ce4fceb7c/psutil-7.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:4cf3d4eb1aa9b348dec30105c55cd9b7d4629285735a102beb4441e38db90553", size = 244885 },
+]
+
+[[package]]
+name = "pydantic"
+version = "2.11.7"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "annotated-types" },
+ { name = "pydantic-core" },
+ { name = "typing-extensions" },
+ { name = "typing-inspection" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/00/dd/4325abf92c39ba8623b5af936ddb36ffcfe0beae70405d456ab1fb2f5b8c/pydantic-2.11.7.tar.gz", hash = "sha256:d989c3c6cb79469287b1569f7447a17848c998458d49ebe294e975b9baf0f0db", size = 788350 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/6a/c0/ec2b1c8712ca690e5d61979dee872603e92b8a32f94cc1b72d53beab008a/pydantic-2.11.7-py3-none-any.whl", hash = "sha256:dde5df002701f6de26248661f6835bbe296a47bf73990135c7d07ce741b9623b", size = 444782 },
+]
+
+[[package]]
+name = "pydantic-core"
+version = "2.33.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "typing-extensions" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/ad/88/5f2260bdfae97aabf98f1778d43f69574390ad787afb646292a638c923d4/pydantic_core-2.33.2.tar.gz", hash = "sha256:7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc", size = 435195 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/18/8a/2b41c97f554ec8c71f2a8a5f85cb56a8b0956addfe8b0efb5b3d77e8bdc3/pydantic_core-2.33.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:a7ec89dc587667f22b6a0b6579c249fca9026ce7c333fc142ba42411fa243cdc", size = 2009000 },
+ { url = "https://files.pythonhosted.org/packages/a1/02/6224312aacb3c8ecbaa959897af57181fb6cf3a3d7917fd44d0f2917e6f2/pydantic_core-2.33.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3c6db6e52c6d70aa0d00d45cdb9b40f0433b96380071ea80b09277dba021ddf7", size = 1847996 },
+ { url = "https://files.pythonhosted.org/packages/d6/46/6dcdf084a523dbe0a0be59d054734b86a981726f221f4562aed313dbcb49/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e61206137cbc65e6d5256e1166f88331d3b6238e082d9f74613b9b765fb9025", size = 1880957 },
+ { url = "https://files.pythonhosted.org/packages/ec/6b/1ec2c03837ac00886ba8160ce041ce4e325b41d06a034adbef11339ae422/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eb8c529b2819c37140eb51b914153063d27ed88e3bdc31b71198a198e921e011", size = 1964199 },
+ { url = "https://files.pythonhosted.org/packages/2d/1d/6bf34d6adb9debd9136bd197ca72642203ce9aaaa85cfcbfcf20f9696e83/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c52b02ad8b4e2cf14ca7b3d918f3eb0ee91e63b3167c32591e57c4317e134f8f", size = 2120296 },
+ { url = "https://files.pythonhosted.org/packages/e0/94/2bd0aaf5a591e974b32a9f7123f16637776c304471a0ab33cf263cf5591a/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:96081f1605125ba0855dfda83f6f3df5ec90c61195421ba72223de35ccfb2f88", size = 2676109 },
+ { url = "https://files.pythonhosted.org/packages/f9/41/4b043778cf9c4285d59742281a769eac371b9e47e35f98ad321349cc5d61/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f57a69461af2a5fa6e6bbd7a5f60d3b7e6cebb687f55106933188e79ad155c1", size = 2002028 },
+ { url = "https://files.pythonhosted.org/packages/cb/d5/7bb781bf2748ce3d03af04d5c969fa1308880e1dca35a9bd94e1a96a922e/pydantic_core-2.33.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:572c7e6c8bb4774d2ac88929e3d1f12bc45714ae5ee6d9a788a9fb35e60bb04b", size = 2100044 },
+ { url = "https://files.pythonhosted.org/packages/fe/36/def5e53e1eb0ad896785702a5bbfd25eed546cdcf4087ad285021a90ed53/pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:db4b41f9bd95fbe5acd76d89920336ba96f03e149097365afe1cb092fceb89a1", size = 2058881 },
+ { url = "https://files.pythonhosted.org/packages/01/6c/57f8d70b2ee57fc3dc8b9610315949837fa8c11d86927b9bb044f8705419/pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:fa854f5cf7e33842a892e5c73f45327760bc7bc516339fda888c75ae60edaeb6", size = 2227034 },
+ { url = "https://files.pythonhosted.org/packages/27/b9/9c17f0396a82b3d5cbea4c24d742083422639e7bb1d5bf600e12cb176a13/pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:5f483cfb75ff703095c59e365360cb73e00185e01aaea067cd19acffd2ab20ea", size = 2234187 },
+ { url = "https://files.pythonhosted.org/packages/b0/6a/adf5734ffd52bf86d865093ad70b2ce543415e0e356f6cacabbc0d9ad910/pydantic_core-2.33.2-cp312-cp312-win32.whl", hash = "sha256:9cb1da0f5a471435a7bc7e439b8a728e8b61e59784b2af70d7c169f8dd8ae290", size = 1892628 },
+ { url = "https://files.pythonhosted.org/packages/43/e4/5479fecb3606c1368d496a825d8411e126133c41224c1e7238be58b87d7e/pydantic_core-2.33.2-cp312-cp312-win_amd64.whl", hash = "sha256:f941635f2a3d96b2973e867144fde513665c87f13fe0e193c158ac51bfaaa7b2", size = 1955866 },
+ { url = "https://files.pythonhosted.org/packages/0d/24/8b11e8b3e2be9dd82df4b11408a67c61bb4dc4f8e11b5b0fc888b38118b5/pydantic_core-2.33.2-cp312-cp312-win_arm64.whl", hash = "sha256:cca3868ddfaccfbc4bfb1d608e2ccaaebe0ae628e1416aeb9c4d88c001bb45ab", size = 1888894 },
+ { url = "https://files.pythonhosted.org/packages/46/8c/99040727b41f56616573a28771b1bfa08a3d3fe74d3d513f01251f79f172/pydantic_core-2.33.2-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:1082dd3e2d7109ad8b7da48e1d4710c8d06c253cbc4a27c1cff4fbcaa97a9e3f", size = 2015688 },
+ { url = "https://files.pythonhosted.org/packages/3a/cc/5999d1eb705a6cefc31f0b4a90e9f7fc400539b1a1030529700cc1b51838/pydantic_core-2.33.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f517ca031dfc037a9c07e748cefd8d96235088b83b4f4ba8939105d20fa1dcd6", size = 1844808 },
+ { url = "https://files.pythonhosted.org/packages/6f/5e/a0a7b8885c98889a18b6e376f344da1ef323d270b44edf8174d6bce4d622/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a9f2c9dd19656823cb8250b0724ee9c60a82f3cdf68a080979d13092a3b0fef", size = 1885580 },
+ { url = "https://files.pythonhosted.org/packages/3b/2a/953581f343c7d11a304581156618c3f592435523dd9d79865903272c256a/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2b0a451c263b01acebe51895bfb0e1cc842a5c666efe06cdf13846c7418caa9a", size = 1973859 },
+ { url = "https://files.pythonhosted.org/packages/e6/55/f1a813904771c03a3f97f676c62cca0c0a4138654107c1b61f19c644868b/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ea40a64d23faa25e62a70ad163571c0b342b8bf66d5fa612ac0dec4f069d916", size = 2120810 },
+ { url = "https://files.pythonhosted.org/packages/aa/c3/053389835a996e18853ba107a63caae0b9deb4a276c6b472931ea9ae6e48/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fb2d542b4d66f9470e8065c5469ec676978d625a8b7a363f07d9a501a9cb36a", size = 2676498 },
+ { url = "https://files.pythonhosted.org/packages/eb/3c/f4abd740877a35abade05e437245b192f9d0ffb48bbbbd708df33d3cda37/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fdac5d6ffa1b5a83bca06ffe7583f5576555e6c8b3a91fbd25ea7780f825f7d", size = 2000611 },
+ { url = "https://files.pythonhosted.org/packages/59/a7/63ef2fed1837d1121a894d0ce88439fe3e3b3e48c7543b2a4479eb99c2bd/pydantic_core-2.33.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:04a1a413977ab517154eebb2d326da71638271477d6ad87a769102f7c2488c56", size = 2107924 },
+ { url = "https://files.pythonhosted.org/packages/04/8f/2551964ef045669801675f1cfc3b0d74147f4901c3ffa42be2ddb1f0efc4/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:c8e7af2f4e0194c22b5b37205bfb293d166a7344a5b0d0eaccebc376546d77d5", size = 2063196 },
+ { url = "https://files.pythonhosted.org/packages/26/bd/d9602777e77fc6dbb0c7db9ad356e9a985825547dce5ad1d30ee04903918/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:5c92edd15cd58b3c2d34873597a1e20f13094f59cf88068adb18947df5455b4e", size = 2236389 },
+ { url = "https://files.pythonhosted.org/packages/42/db/0e950daa7e2230423ab342ae918a794964b053bec24ba8af013fc7c94846/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:65132b7b4a1c0beded5e057324b7e16e10910c106d43675d9bd87d4f38dde162", size = 2239223 },
+ { url = "https://files.pythonhosted.org/packages/58/4d/4f937099c545a8a17eb52cb67fe0447fd9a373b348ccfa9a87f141eeb00f/pydantic_core-2.33.2-cp313-cp313-win32.whl", hash = "sha256:52fb90784e0a242bb96ec53f42196a17278855b0f31ac7c3cc6f5c1ec4811849", size = 1900473 },
+ { url = "https://files.pythonhosted.org/packages/a0/75/4a0a9bac998d78d889def5e4ef2b065acba8cae8c93696906c3a91f310ca/pydantic_core-2.33.2-cp313-cp313-win_amd64.whl", hash = "sha256:c083a3bdd5a93dfe480f1125926afcdbf2917ae714bdb80b36d34318b2bec5d9", size = 1955269 },
+ { url = "https://files.pythonhosted.org/packages/f9/86/1beda0576969592f1497b4ce8e7bc8cbdf614c352426271b1b10d5f0aa64/pydantic_core-2.33.2-cp313-cp313-win_arm64.whl", hash = "sha256:e80b087132752f6b3d714f041ccf74403799d3b23a72722ea2e6ba2e892555b9", size = 1893921 },
+ { url = "https://files.pythonhosted.org/packages/a4/7d/e09391c2eebeab681df2b74bfe6c43422fffede8dc74187b2b0bf6fd7571/pydantic_core-2.33.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:61c18fba8e5e9db3ab908620af374db0ac1baa69f0f32df4f61ae23f15e586ac", size = 1806162 },
+ { url = "https://files.pythonhosted.org/packages/f1/3d/847b6b1fed9f8ed3bb95a9ad04fbd0b212e832d4f0f50ff4d9ee5a9f15cf/pydantic_core-2.33.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95237e53bb015f67b63c91af7518a62a8660376a6a0db19b89acc77a4d6199f5", size = 1981560 },
+ { url = "https://files.pythonhosted.org/packages/6f/9a/e73262f6c6656262b5fdd723ad90f518f579b7bc8622e43a942eec53c938/pydantic_core-2.33.2-cp313-cp313t-win_amd64.whl", hash = "sha256:c2fc0a768ef76c15ab9238afa6da7f69895bb5d1ee83aeea2e3509af4472d0b9", size = 1935777 },
+]
+
+[[package]]
+name = "pydantic-settings"
+version = "2.10.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "pydantic" },
+ { name = "python-dotenv" },
+ { name = "typing-inspection" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/68/85/1ea668bbab3c50071ca613c6ab30047fb36ab0da1b92fa8f17bbc38fd36c/pydantic_settings-2.10.1.tar.gz", hash = "sha256:06f0062169818d0f5524420a360d632d5857b83cffd4d42fe29597807a1614ee", size = 172583 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/58/f0/427018098906416f580e3cf1366d3b1abfb408a0652e9f31600c24a1903c/pydantic_settings-2.10.1-py3-none-any.whl", hash = "sha256:a60952460b99cf661dc25c29c0ef171721f98bfcb52ef8d9ea4c943d7c8cc796", size = 45235 },
+]
+
+[[package]]
+name = "pygments"
+version = "2.19.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz", hash = "sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887", size = 4968631 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl", hash = "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b", size = 1225217 },
+]
+
+[[package]]
+name = "pyjwt"
+version = "2.10.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/e7/46/bd74733ff231675599650d3e47f361794b22ef3e3770998dda30d3b63726/pyjwt-2.10.1.tar.gz", hash = "sha256:3cc5772eb20009233caf06e9d8a0577824723b44e6648ee0a2aedb6cf9381953", size = 87785 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/61/ad/689f02752eeec26aed679477e80e632ef1b682313be70793d798c1d5fc8f/PyJWT-2.10.1-py3-none-any.whl", hash = "sha256:dcdd193e30abefd5debf142f9adfcdd2b58004e644f25406ffaebd50bd98dacb", size = 22997 },
+]
+
+[[package]]
+name = "python-dateutil"
+version = "2.9.0.post0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "six" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892 },
+]
+
+[[package]]
+name = "python-dotenv"
+version = "1.1.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/f6/b0/4bc07ccd3572a2f9df7e6782f52b0c6c90dcbb803ac4a167702d7d0dfe1e/python_dotenv-1.1.1.tar.gz", hash = "sha256:a8a6399716257f45be6a007360200409fce5cda2661e3dec71d23dc15f6189ab", size = 41978 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/5f/ed/539768cf28c661b5b068d66d96a2f155c4971a5d55684a514c1a0e0dec2f/python_dotenv-1.1.1-py3-none-any.whl", hash = "sha256:31f23644fe2602f88ff55e1f5c79ba497e01224ee7737937930c448e4d0e24dc", size = 20556 },
+]
+
+[[package]]
+name = "python-multipart"
+version = "0.0.20"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/f3/87/f44d7c9f274c7ee665a29b885ec97089ec5dc034c7f3fafa03da9e39a09e/python_multipart-0.0.20.tar.gz", hash = "sha256:8dd0cab45b8e23064ae09147625994d090fa46f5b0d1e13af944c331a7fa9d13", size = 37158 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/45/58/38b5afbc1a800eeea951b9285d3912613f2603bdf897a4ab0f4bd7f405fc/python_multipart-0.0.20-py3-none-any.whl", hash = "sha256:8a62d3a8335e06589fe01f2a3e178cdcc632f3fbe0d492ad9ee0ec35aab1f104", size = 24546 },
+]
+
+[[package]]
+name = "pywin32"
+version = "311"
+source = { registry = "https://pypi.org/simple" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/e7/ab/01ea1943d4eba0f850c3c61e78e8dd59757ff815ff3ccd0a84de5f541f42/pywin32-311-cp312-cp312-win32.whl", hash = "sha256:750ec6e621af2b948540032557b10a2d43b0cee2ae9758c54154d711cc852d31", size = 8706543 },
+ { url = "https://files.pythonhosted.org/packages/d1/a8/a0e8d07d4d051ec7502cd58b291ec98dcc0c3fff027caad0470b72cfcc2f/pywin32-311-cp312-cp312-win_amd64.whl", hash = "sha256:b8c095edad5c211ff31c05223658e71bf7116daa0ecf3ad85f3201ea3190d067", size = 9495040 },
+ { url = "https://files.pythonhosted.org/packages/ba/3a/2ae996277b4b50f17d61f0603efd8253cb2d79cc7ae159468007b586396d/pywin32-311-cp312-cp312-win_arm64.whl", hash = "sha256:e286f46a9a39c4a18b319c28f59b61de793654af2f395c102b4f819e584b5852", size = 8710102 },
+ { url = "https://files.pythonhosted.org/packages/a5/be/3fd5de0979fcb3994bfee0d65ed8ca9506a8a1260651b86174f6a86f52b3/pywin32-311-cp313-cp313-win32.whl", hash = "sha256:f95ba5a847cba10dd8c4d8fefa9f2a6cf283b8b88ed6178fa8a6c1ab16054d0d", size = 8705700 },
+ { url = "https://files.pythonhosted.org/packages/e3/28/e0a1909523c6890208295a29e05c2adb2126364e289826c0a8bc7297bd5c/pywin32-311-cp313-cp313-win_amd64.whl", hash = "sha256:718a38f7e5b058e76aee1c56ddd06908116d35147e133427e59a3983f703a20d", size = 9494700 },
+ { url = "https://files.pythonhosted.org/packages/04/bf/90339ac0f55726dce7d794e6d79a18a91265bdf3aa70b6b9ca52f35e022a/pywin32-311-cp313-cp313-win_arm64.whl", hash = "sha256:7b4075d959648406202d92a2310cb990fea19b535c7f4a78d3f5e10b926eeb8a", size = 8709318 },
+ { url = "https://files.pythonhosted.org/packages/c9/31/097f2e132c4f16d99a22bfb777e0fd88bd8e1c634304e102f313af69ace5/pywin32-311-cp314-cp314-win32.whl", hash = "sha256:b7a2c10b93f8986666d0c803ee19b5990885872a7de910fc460f9b0c2fbf92ee", size = 8840714 },
+ { url = "https://files.pythonhosted.org/packages/90/4b/07c77d8ba0e01349358082713400435347df8426208171ce297da32c313d/pywin32-311-cp314-cp314-win_amd64.whl", hash = "sha256:3aca44c046bd2ed8c90de9cb8427f581c479e594e99b5c0bb19b29c10fd6cb87", size = 9656800 },
+ { url = "https://files.pythonhosted.org/packages/c0/d2/21af5c535501a7233e734b8af901574572da66fcc254cb35d0609c9080dd/pywin32-311-cp314-cp314-win_arm64.whl", hash = "sha256:a508e2d9025764a8270f93111a970e1d0fbfc33f4153b388bb649b7eec4f9b42", size = 8932540 },
+]
+
+[[package]]
+name = "readabilipy"
+version = "0.3.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "beautifulsoup4" },
+ { name = "html5lib" },
+ { name = "lxml" },
+ { name = "regex" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/b8/e4/260a202516886c2e0cc6e6ae96d1f491792d829098886d9529a2439fbe8e/readabilipy-0.3.0.tar.gz", hash = "sha256:e13313771216953935ac031db4234bdb9725413534bfb3c19dbd6caab0887ae0", size = 35491 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/dd/46/8a640c6de1a6c6af971f858b2fb178ca5e1db91f223d8ba5f40efe1491e5/readabilipy-0.3.0-py3-none-any.whl", hash = "sha256:d106da0fad11d5fdfcde21f5c5385556bfa8ff0258483037d39ea6b1d6db3943", size = 22158 },
+]
+
+[[package]]
+name = "referencing"
+version = "0.36.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "attrs" },
+ { name = "rpds-py" },
+ { name = "typing-extensions", marker = "python_full_version < '3.13'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/2f/db/98b5c277be99dd18bfd91dd04e1b759cad18d1a338188c936e92f921c7e2/referencing-0.36.2.tar.gz", hash = "sha256:df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa", size = 74744 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c1/b1/3baf80dc6d2b7bc27a95a67752d0208e410351e3feb4eb78de5f77454d8d/referencing-0.36.2-py3-none-any.whl", hash = "sha256:e8699adbbf8b5c7de96d8ffa0eb5c158b3beafce084968e2ea8bb08c6794dcd0", size = 26775 },
+]
+
+[[package]]
+name = "regex"
+version = "2024.11.6"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/8e/5f/bd69653fbfb76cf8604468d3b4ec4c403197144c7bfe0e6a5fc9e02a07cb/regex-2024.11.6.tar.gz", hash = "sha256:7ab159b063c52a0333c884e4679f8d7a85112ee3078fe3d9004b2dd875585519", size = 399494 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ba/30/9a87ce8336b172cc232a0db89a3af97929d06c11ceaa19d97d84fa90a8f8/regex-2024.11.6-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:52fb28f528778f184f870b7cf8f225f5eef0a8f6e3778529bdd40c7b3920796a", size = 483781 },
+ { url = "https://files.pythonhosted.org/packages/01/e8/00008ad4ff4be8b1844786ba6636035f7ef926db5686e4c0f98093612add/regex-2024.11.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fdd6028445d2460f33136c55eeb1f601ab06d74cb3347132e1c24250187500d9", size = 288455 },
+ { url = "https://files.pythonhosted.org/packages/60/85/cebcc0aff603ea0a201667b203f13ba75d9fc8668fab917ac5b2de3967bc/regex-2024.11.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:805e6b60c54bf766b251e94526ebad60b7de0c70f70a4e6210ee2891acb70bf2", size = 284759 },
+ { url = "https://files.pythonhosted.org/packages/94/2b/701a4b0585cb05472a4da28ee28fdfe155f3638f5e1ec92306d924e5faf0/regex-2024.11.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b85c2530be953a890eaffde05485238f07029600e8f098cdf1848d414a8b45e4", size = 794976 },
+ { url = "https://files.pythonhosted.org/packages/4b/bf/fa87e563bf5fee75db8915f7352e1887b1249126a1be4813837f5dbec965/regex-2024.11.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bb26437975da7dc36b7efad18aa9dd4ea569d2357ae6b783bf1118dabd9ea577", size = 833077 },
+ { url = "https://files.pythonhosted.org/packages/a1/56/7295e6bad94b047f4d0834e4779491b81216583c00c288252ef625c01d23/regex-2024.11.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:abfa5080c374a76a251ba60683242bc17eeb2c9818d0d30117b4486be10c59d3", size = 823160 },
+ { url = "https://files.pythonhosted.org/packages/fb/13/e3b075031a738c9598c51cfbc4c7879e26729c53aa9cca59211c44235314/regex-2024.11.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b7fa6606c2881c1db9479b0eaa11ed5dfa11c8d60a474ff0e095099f39d98e", size = 796896 },
+ { url = "https://files.pythonhosted.org/packages/24/56/0b3f1b66d592be6efec23a795b37732682520b47c53da5a32c33ed7d84e3/regex-2024.11.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0c32f75920cf99fe6b6c539c399a4a128452eaf1af27f39bce8909c9a3fd8cbe", size = 783997 },
+ { url = "https://files.pythonhosted.org/packages/f9/a1/eb378dada8b91c0e4c5f08ffb56f25fcae47bf52ad18f9b2f33b83e6d498/regex-2024.11.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:982e6d21414e78e1f51cf595d7f321dcd14de1f2881c5dc6a6e23bbbbd68435e", size = 781725 },
+ { url = "https://files.pythonhosted.org/packages/83/f2/033e7dec0cfd6dda93390089864732a3409246ffe8b042e9554afa9bff4e/regex-2024.11.6-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a7c2155f790e2fb448faed6dd241386719802296ec588a8b9051c1f5c481bc29", size = 789481 },
+ { url = "https://files.pythonhosted.org/packages/83/23/15d4552ea28990a74e7696780c438aadd73a20318c47e527b47a4a5a596d/regex-2024.11.6-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:149f5008d286636e48cd0b1dd65018548944e495b0265b45e1bffecce1ef7f39", size = 852896 },
+ { url = "https://files.pythonhosted.org/packages/e3/39/ed4416bc90deedbfdada2568b2cb0bc1fdb98efe11f5378d9892b2a88f8f/regex-2024.11.6-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:e5364a4502efca094731680e80009632ad6624084aff9a23ce8c8c6820de3e51", size = 860138 },
+ { url = "https://files.pythonhosted.org/packages/93/2d/dd56bb76bd8e95bbce684326302f287455b56242a4f9c61f1bc76e28360e/regex-2024.11.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0a86e7eeca091c09e021db8eb72d54751e527fa47b8d5787caf96d9831bd02ad", size = 787692 },
+ { url = "https://files.pythonhosted.org/packages/0b/55/31877a249ab7a5156758246b9c59539abbeba22461b7d8adc9e8475ff73e/regex-2024.11.6-cp312-cp312-win32.whl", hash = "sha256:32f9a4c643baad4efa81d549c2aadefaeba12249b2adc5af541759237eee1c54", size = 262135 },
+ { url = "https://files.pythonhosted.org/packages/38/ec/ad2d7de49a600cdb8dd78434a1aeffe28b9d6fc42eb36afab4a27ad23384/regex-2024.11.6-cp312-cp312-win_amd64.whl", hash = "sha256:a93c194e2df18f7d264092dc8539b8ffb86b45b899ab976aa15d48214138e81b", size = 273567 },
+ { url = "https://files.pythonhosted.org/packages/90/73/bcb0e36614601016552fa9344544a3a2ae1809dc1401b100eab02e772e1f/regex-2024.11.6-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a6ba92c0bcdf96cbf43a12c717eae4bc98325ca3730f6b130ffa2e3c3c723d84", size = 483525 },
+ { url = "https://files.pythonhosted.org/packages/0f/3f/f1a082a46b31e25291d830b369b6b0c5576a6f7fb89d3053a354c24b8a83/regex-2024.11.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:525eab0b789891ac3be914d36893bdf972d483fe66551f79d3e27146191a37d4", size = 288324 },
+ { url = "https://files.pythonhosted.org/packages/09/c9/4e68181a4a652fb3ef5099e077faf4fd2a694ea6e0f806a7737aff9e758a/regex-2024.11.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:086a27a0b4ca227941700e0b31425e7a28ef1ae8e5e05a33826e17e47fbfdba0", size = 284617 },
+ { url = "https://files.pythonhosted.org/packages/fc/fd/37868b75eaf63843165f1d2122ca6cb94bfc0271e4428cf58c0616786dce/regex-2024.11.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bde01f35767c4a7899b7eb6e823b125a64de314a8ee9791367c9a34d56af18d0", size = 795023 },
+ { url = "https://files.pythonhosted.org/packages/c4/7c/d4cd9c528502a3dedb5c13c146e7a7a539a3853dc20209c8e75d9ba9d1b2/regex-2024.11.6-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b583904576650166b3d920d2bcce13971f6f9e9a396c673187f49811b2769dc7", size = 833072 },
+ { url = "https://files.pythonhosted.org/packages/4f/db/46f563a08f969159c5a0f0e722260568425363bea43bb7ae370becb66a67/regex-2024.11.6-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1c4de13f06a0d54fa0d5ab1b7138bfa0d883220965a29616e3ea61b35d5f5fc7", size = 823130 },
+ { url = "https://files.pythonhosted.org/packages/db/60/1eeca2074f5b87df394fccaa432ae3fc06c9c9bfa97c5051aed70e6e00c2/regex-2024.11.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3cde6e9f2580eb1665965ce9bf17ff4952f34f5b126beb509fee8f4e994f143c", size = 796857 },
+ { url = "https://files.pythonhosted.org/packages/10/db/ac718a08fcee981554d2f7bb8402f1faa7e868c1345c16ab1ebec54b0d7b/regex-2024.11.6-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0d7f453dca13f40a02b79636a339c5b62b670141e63efd511d3f8f73fba162b3", size = 784006 },
+ { url = "https://files.pythonhosted.org/packages/c2/41/7da3fe70216cea93144bf12da2b87367590bcf07db97604edeea55dac9ad/regex-2024.11.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:59dfe1ed21aea057a65c6b586afd2a945de04fc7db3de0a6e3ed5397ad491b07", size = 781650 },
+ { url = "https://files.pythonhosted.org/packages/a7/d5/880921ee4eec393a4752e6ab9f0fe28009435417c3102fc413f3fe81c4e5/regex-2024.11.6-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b97c1e0bd37c5cd7902e65f410779d39eeda155800b65fc4d04cc432efa9bc6e", size = 789545 },
+ { url = "https://files.pythonhosted.org/packages/dc/96/53770115e507081122beca8899ab7f5ae28ae790bfcc82b5e38976df6a77/regex-2024.11.6-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f9d1e379028e0fc2ae3654bac3cbbef81bf3fd571272a42d56c24007979bafb6", size = 853045 },
+ { url = "https://files.pythonhosted.org/packages/31/d3/1372add5251cc2d44b451bd94f43b2ec78e15a6e82bff6a290ef9fd8f00a/regex-2024.11.6-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:13291b39131e2d002a7940fb176e120bec5145f3aeb7621be6534e46251912c4", size = 860182 },
+ { url = "https://files.pythonhosted.org/packages/ed/e3/c446a64984ea9f69982ba1a69d4658d5014bc7a0ea468a07e1a1265db6e2/regex-2024.11.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4f51f88c126370dcec4908576c5a627220da6c09d0bff31cfa89f2523843316d", size = 787733 },
+ { url = "https://files.pythonhosted.org/packages/2b/f1/e40c8373e3480e4f29f2692bd21b3e05f296d3afebc7e5dcf21b9756ca1c/regex-2024.11.6-cp313-cp313-win32.whl", hash = "sha256:63b13cfd72e9601125027202cad74995ab26921d8cd935c25f09c630436348ff", size = 262122 },
+ { url = "https://files.pythonhosted.org/packages/45/94/bc295babb3062a731f52621cdc992d123111282e291abaf23faa413443ea/regex-2024.11.6-cp313-cp313-win_amd64.whl", hash = "sha256:2b3361af3198667e99927da8b84c1b010752fa4b1115ee30beaa332cabc3ef1a", size = 273545 },
+]
+
+[[package]]
+name = "requests"
+version = "2.32.4"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "certifi" },
+ { name = "charset-normalizer" },
+ { name = "idna" },
+ { name = "urllib3" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/e1/0a/929373653770d8a0d7ea76c37de6e41f11eb07559b103b1c02cafb3f7cf8/requests-2.32.4.tar.gz", hash = "sha256:27d0316682c8a29834d3264820024b62a36942083d52caf2f14c0591336d3422", size = 135258 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/7c/e4/56027c4a6b4ae70ca9de302488c5ca95ad4a39e190093d6c1a8ace08341b/requests-2.32.4-py3-none-any.whl", hash = "sha256:27babd3cda2a6d50b30443204ee89830707d396671944c998b5975b031ac2b2c", size = 64847 },
+]
+
+[[package]]
+name = "rich"
+version = "14.0.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "markdown-it-py" },
+ { name = "pygments" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/a1/53/830aa4c3066a8ab0ae9a9955976fb770fe9c6102117c8ec4ab3ea62d89e8/rich-14.0.0.tar.gz", hash = "sha256:82f1bc23a6a21ebca4ae0c45af9bdbc492ed20231dcb63f297d6d1021a9d5725", size = 224078 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/0d/9b/63f4c7ebc259242c89b3acafdb37b41d1185c07ff0011164674e9076b491/rich-14.0.0-py3-none-any.whl", hash = "sha256:1c9491e1951aac09caffd42f448ee3d04e58923ffe14993f6e83068dc395d7e0", size = 243229 },
+]
+
+[[package]]
+name = "rpds-py"
+version = "0.26.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/a5/aa/4456d84bbb54adc6a916fb10c9b374f78ac840337644e4a5eda229c81275/rpds_py-0.26.0.tar.gz", hash = "sha256:20dae58a859b0906f0685642e591056f1e787f3a8b39c8e8749a45dc7d26bdb0", size = 27385 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ea/86/90eb87c6f87085868bd077c7a9938006eb1ce19ed4d06944a90d3560fce2/rpds_py-0.26.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:894514d47e012e794f1350f076c427d2347ebf82f9b958d554d12819849a369d", size = 363933 },
+ { url = "https://files.pythonhosted.org/packages/63/78/4469f24d34636242c924626082b9586f064ada0b5dbb1e9d096ee7a8e0c6/rpds_py-0.26.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:fc921b96fa95a097add244da36a1d9e4f3039160d1d30f1b35837bf108c21136", size = 350447 },
+ { url = "https://files.pythonhosted.org/packages/ad/91/c448ed45efdfdade82348d5e7995e15612754826ea640afc20915119734f/rpds_py-0.26.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e1157659470aa42a75448b6e943c895be8c70531c43cb78b9ba990778955582", size = 384711 },
+ { url = "https://files.pythonhosted.org/packages/ec/43/e5c86fef4be7f49828bdd4ecc8931f0287b1152c0bb0163049b3218740e7/rpds_py-0.26.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:521ccf56f45bb3a791182dc6b88ae5f8fa079dd705ee42138c76deb1238e554e", size = 400865 },
+ { url = "https://files.pythonhosted.org/packages/55/34/e00f726a4d44f22d5c5fe2e5ddd3ac3d7fd3f74a175607781fbdd06fe375/rpds_py-0.26.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9def736773fd56b305c0eef698be5192c77bfa30d55a0e5885f80126c4831a15", size = 517763 },
+ { url = "https://files.pythonhosted.org/packages/52/1c/52dc20c31b147af724b16104500fba13e60123ea0334beba7b40e33354b4/rpds_py-0.26.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cdad4ea3b4513b475e027be79e5a0ceac8ee1c113a1a11e5edc3c30c29f964d8", size = 406651 },
+ { url = "https://files.pythonhosted.org/packages/2e/77/87d7bfabfc4e821caa35481a2ff6ae0b73e6a391bb6b343db2c91c2b9844/rpds_py-0.26.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:82b165b07f416bdccf5c84546a484cc8f15137ca38325403864bfdf2b5b72f6a", size = 386079 },
+ { url = "https://files.pythonhosted.org/packages/e3/d4/7f2200c2d3ee145b65b3cddc4310d51f7da6a26634f3ac87125fd789152a/rpds_py-0.26.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d04cab0a54b9dba4d278fe955a1390da3cf71f57feb78ddc7cb67cbe0bd30323", size = 421379 },
+ { url = "https://files.pythonhosted.org/packages/ae/13/9fdd428b9c820869924ab62236b8688b122baa22d23efdd1c566938a39ba/rpds_py-0.26.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:79061ba1a11b6a12743a2b0f72a46aa2758613d454aa6ba4f5a265cc48850158", size = 562033 },
+ { url = "https://files.pythonhosted.org/packages/f3/e1/b69686c3bcbe775abac3a4c1c30a164a2076d28df7926041f6c0eb5e8d28/rpds_py-0.26.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:f405c93675d8d4c5ac87364bb38d06c988e11028a64b52a47158a355079661f3", size = 591639 },
+ { url = "https://files.pythonhosted.org/packages/5c/c9/1e3d8c8863c84a90197ac577bbc3d796a92502124c27092413426f670990/rpds_py-0.26.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:dafd4c44b74aa4bed4b250f1aed165b8ef5de743bcca3b88fc9619b6087093d2", size = 557105 },
+ { url = "https://files.pythonhosted.org/packages/9f/c5/90c569649057622959f6dcc40f7b516539608a414dfd54b8d77e3b201ac0/rpds_py-0.26.0-cp312-cp312-win32.whl", hash = "sha256:3da5852aad63fa0c6f836f3359647870e21ea96cf433eb393ffa45263a170d44", size = 223272 },
+ { url = "https://files.pythonhosted.org/packages/7d/16/19f5d9f2a556cfed454eebe4d354c38d51c20f3db69e7b4ce6cff904905d/rpds_py-0.26.0-cp312-cp312-win_amd64.whl", hash = "sha256:cf47cfdabc2194a669dcf7a8dbba62e37a04c5041d2125fae0233b720da6f05c", size = 234995 },
+ { url = "https://files.pythonhosted.org/packages/83/f0/7935e40b529c0e752dfaa7880224771b51175fce08b41ab4a92eb2fbdc7f/rpds_py-0.26.0-cp312-cp312-win_arm64.whl", hash = "sha256:20ab1ae4fa534f73647aad289003f1104092890849e0266271351922ed5574f8", size = 223198 },
+ { url = "https://files.pythonhosted.org/packages/6a/67/bb62d0109493b12b1c6ab00de7a5566aa84c0e44217c2d94bee1bd370da9/rpds_py-0.26.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:696764a5be111b036256c0b18cd29783fab22154690fc698062fc1b0084b511d", size = 363917 },
+ { url = "https://files.pythonhosted.org/packages/4b/f3/34e6ae1925a5706c0f002a8d2d7f172373b855768149796af87bd65dcdb9/rpds_py-0.26.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1e6c15d2080a63aaed876e228efe4f814bc7889c63b1e112ad46fdc8b368b9e1", size = 350073 },
+ { url = "https://files.pythonhosted.org/packages/75/83/1953a9d4f4e4de7fd0533733e041c28135f3c21485faaef56a8aadbd96b5/rpds_py-0.26.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:390e3170babf42462739a93321e657444f0862c6d722a291accc46f9d21ed04e", size = 384214 },
+ { url = "https://files.pythonhosted.org/packages/48/0e/983ed1b792b3322ea1d065e67f4b230f3b96025f5ce3878cc40af09b7533/rpds_py-0.26.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7da84c2c74c0f5bc97d853d9e17bb83e2dcafcff0dc48286916001cc114379a1", size = 400113 },
+ { url = "https://files.pythonhosted.org/packages/69/7f/36c0925fff6f660a80be259c5b4f5e53a16851f946eb080351d057698528/rpds_py-0.26.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4c5fe114a6dd480a510b6d3661d09d67d1622c4bf20660a474507aaee7eeeee9", size = 515189 },
+ { url = "https://files.pythonhosted.org/packages/13/45/cbf07fc03ba7a9b54662c9badb58294ecfb24f828b9732970bd1a431ed5c/rpds_py-0.26.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3100b3090269f3a7ea727b06a6080d4eb7439dca4c0e91a07c5d133bb1727ea7", size = 406998 },
+ { url = "https://files.pythonhosted.org/packages/6c/b0/8fa5e36e58657997873fd6a1cf621285ca822ca75b4b3434ead047daa307/rpds_py-0.26.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c03c9b0c64afd0320ae57de4c982801271c0c211aa2d37f3003ff5feb75bb04", size = 385903 },
+ { url = "https://files.pythonhosted.org/packages/4b/f7/b25437772f9f57d7a9fbd73ed86d0dcd76b4c7c6998348c070d90f23e315/rpds_py-0.26.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5963b72ccd199ade6ee493723d18a3f21ba7d5b957017607f815788cef50eaf1", size = 419785 },
+ { url = "https://files.pythonhosted.org/packages/a7/6b/63ffa55743dfcb4baf2e9e77a0b11f7f97ed96a54558fcb5717a4b2cd732/rpds_py-0.26.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:9da4e873860ad5bab3291438525cae80169daecbfafe5657f7f5fb4d6b3f96b9", size = 561329 },
+ { url = "https://files.pythonhosted.org/packages/2f/07/1f4f5e2886c480a2346b1e6759c00278b8a69e697ae952d82ae2e6ee5db0/rpds_py-0.26.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:5afaddaa8e8c7f1f7b4c5c725c0070b6eed0228f705b90a1732a48e84350f4e9", size = 590875 },
+ { url = "https://files.pythonhosted.org/packages/cc/bc/e6639f1b91c3a55f8c41b47d73e6307051b6e246254a827ede730624c0f8/rpds_py-0.26.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4916dc96489616a6f9667e7526af8fa693c0fdb4f3acb0e5d9f4400eb06a47ba", size = 556636 },
+ { url = "https://files.pythonhosted.org/packages/05/4c/b3917c45566f9f9a209d38d9b54a1833f2bb1032a3e04c66f75726f28876/rpds_py-0.26.0-cp313-cp313-win32.whl", hash = "sha256:2a343f91b17097c546b93f7999976fd6c9d5900617aa848c81d794e062ab302b", size = 222663 },
+ { url = "https://files.pythonhosted.org/packages/e0/0b/0851bdd6025775aaa2365bb8de0697ee2558184c800bfef8d7aef5ccde58/rpds_py-0.26.0-cp313-cp313-win_amd64.whl", hash = "sha256:0a0b60701f2300c81b2ac88a5fb893ccfa408e1c4a555a77f908a2596eb875a5", size = 234428 },
+ { url = "https://files.pythonhosted.org/packages/ed/e8/a47c64ed53149c75fb581e14a237b7b7cd18217e969c30d474d335105622/rpds_py-0.26.0-cp313-cp313-win_arm64.whl", hash = "sha256:257d011919f133a4746958257f2c75238e3ff54255acd5e3e11f3ff41fd14256", size = 222571 },
+ { url = "https://files.pythonhosted.org/packages/89/bf/3d970ba2e2bcd17d2912cb42874107390f72873e38e79267224110de5e61/rpds_py-0.26.0-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:529c8156d7506fba5740e05da8795688f87119cce330c244519cf706a4a3d618", size = 360475 },
+ { url = "https://files.pythonhosted.org/packages/82/9f/283e7e2979fc4ec2d8ecee506d5a3675fce5ed9b4b7cb387ea5d37c2f18d/rpds_py-0.26.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:f53ec51f9d24e9638a40cabb95078ade8c99251945dad8d57bf4aabe86ecee35", size = 346692 },
+ { url = "https://files.pythonhosted.org/packages/e3/03/7e50423c04d78daf391da3cc4330bdb97042fc192a58b186f2d5deb7befd/rpds_py-0.26.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ab504c4d654e4a29558eaa5bb8cea5fdc1703ea60a8099ffd9c758472cf913f", size = 379415 },
+ { url = "https://files.pythonhosted.org/packages/57/00/d11ee60d4d3b16808432417951c63df803afb0e0fc672b5e8d07e9edaaae/rpds_py-0.26.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fd0641abca296bc1a00183fe44f7fced8807ed49d501f188faa642d0e4975b83", size = 391783 },
+ { url = "https://files.pythonhosted.org/packages/08/b3/1069c394d9c0d6d23c5b522e1f6546b65793a22950f6e0210adcc6f97c3e/rpds_py-0.26.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:69b312fecc1d017b5327afa81d4da1480f51c68810963a7336d92203dbb3d4f1", size = 512844 },
+ { url = "https://files.pythonhosted.org/packages/08/3b/c4fbf0926800ed70b2c245ceca99c49f066456755f5d6eb8863c2c51e6d0/rpds_py-0.26.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c741107203954f6fc34d3066d213d0a0c40f7bb5aafd698fb39888af277c70d8", size = 402105 },
+ { url = "https://files.pythonhosted.org/packages/1c/b0/db69b52ca07413e568dae9dc674627a22297abb144c4d6022c6d78f1e5cc/rpds_py-0.26.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc3e55a7db08dc9a6ed5fb7103019d2c1a38a349ac41901f9f66d7f95750942f", size = 383440 },
+ { url = "https://files.pythonhosted.org/packages/4c/e1/c65255ad5b63903e56b3bb3ff9dcc3f4f5c3badde5d08c741ee03903e951/rpds_py-0.26.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9e851920caab2dbcae311fd28f4313c6953993893eb5c1bb367ec69d9a39e7ed", size = 412759 },
+ { url = "https://files.pythonhosted.org/packages/e4/22/bb731077872377a93c6e93b8a9487d0406c70208985831034ccdeed39c8e/rpds_py-0.26.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:dfbf280da5f876d0b00c81f26bedce274e72a678c28845453885a9b3c22ae632", size = 556032 },
+ { url = "https://files.pythonhosted.org/packages/e0/8b/393322ce7bac5c4530fb96fc79cc9ea2f83e968ff5f6e873f905c493e1c4/rpds_py-0.26.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:1cc81d14ddfa53d7f3906694d35d54d9d3f850ef8e4e99ee68bc0d1e5fed9a9c", size = 585416 },
+ { url = "https://files.pythonhosted.org/packages/49/ae/769dc372211835bf759319a7aae70525c6eb523e3371842c65b7ef41c9c6/rpds_py-0.26.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:dca83c498b4650a91efcf7b88d669b170256bf8017a5db6f3e06c2bf031f57e0", size = 554049 },
+ { url = "https://files.pythonhosted.org/packages/6b/f9/4c43f9cc203d6ba44ce3146246cdc38619d92c7bd7bad4946a3491bd5b70/rpds_py-0.26.0-cp313-cp313t-win32.whl", hash = "sha256:4d11382bcaf12f80b51d790dee295c56a159633a8e81e6323b16e55d81ae37e9", size = 218428 },
+ { url = "https://files.pythonhosted.org/packages/7e/8b/9286b7e822036a4a977f2f1e851c7345c20528dbd56b687bb67ed68a8ede/rpds_py-0.26.0-cp313-cp313t-win_amd64.whl", hash = "sha256:ff110acded3c22c033e637dd8896e411c7d3a11289b2edf041f86663dbc791e9", size = 231524 },
+ { url = "https://files.pythonhosted.org/packages/55/07/029b7c45db910c74e182de626dfdae0ad489a949d84a468465cd0ca36355/rpds_py-0.26.0-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:da619979df60a940cd434084355c514c25cf8eb4cf9a508510682f6c851a4f7a", size = 364292 },
+ { url = "https://files.pythonhosted.org/packages/13/d1/9b3d3f986216b4d1f584878dca15ce4797aaf5d372d738974ba737bf68d6/rpds_py-0.26.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:ea89a2458a1a75f87caabefe789c87539ea4e43b40f18cff526052e35bbb4fdf", size = 350334 },
+ { url = "https://files.pythonhosted.org/packages/18/98/16d5e7bc9ec715fa9668731d0cf97f6b032724e61696e2db3d47aeb89214/rpds_py-0.26.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:feac1045b3327a45944e7dcbeb57530339f6b17baff154df51ef8b0da34c8c12", size = 384875 },
+ { url = "https://files.pythonhosted.org/packages/f9/13/aa5e2b1ec5ab0e86a5c464d53514c0467bec6ba2507027d35fc81818358e/rpds_py-0.26.0-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b818a592bd69bfe437ee8368603d4a2d928c34cffcdf77c2e761a759ffd17d20", size = 399993 },
+ { url = "https://files.pythonhosted.org/packages/17/03/8021810b0e97923abdbab6474c8b77c69bcb4b2c58330777df9ff69dc559/rpds_py-0.26.0-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1a8b0dd8648709b62d9372fc00a57466f5fdeefed666afe3fea5a6c9539a0331", size = 516683 },
+ { url = "https://files.pythonhosted.org/packages/dc/b1/da8e61c87c2f3d836954239fdbbfb477bb7b54d74974d8f6fcb34342d166/rpds_py-0.26.0-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6d3498ad0df07d81112aa6ec6c95a7e7b1ae00929fb73e7ebee0f3faaeabad2f", size = 408825 },
+ { url = "https://files.pythonhosted.org/packages/38/bc/1fc173edaaa0e52c94b02a655db20697cb5fa954ad5a8e15a2c784c5cbdd/rpds_py-0.26.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:24a4146ccb15be237fdef10f331c568e1b0e505f8c8c9ed5d67759dac58ac246", size = 387292 },
+ { url = "https://files.pythonhosted.org/packages/7c/eb/3a9bb4bd90867d21916f253caf4f0d0be7098671b6715ad1cead9fe7bab9/rpds_py-0.26.0-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a9a63785467b2d73635957d32a4f6e73d5e4df497a16a6392fa066b753e87387", size = 420435 },
+ { url = "https://files.pythonhosted.org/packages/cd/16/e066dcdb56f5632713445271a3f8d3d0b426d51ae9c0cca387799df58b02/rpds_py-0.26.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:de4ed93a8c91debfd5a047be327b7cc8b0cc6afe32a716bbbc4aedca9e2a83af", size = 562410 },
+ { url = "https://files.pythonhosted.org/packages/60/22/ddbdec7eb82a0dc2e455be44c97c71c232983e21349836ce9f272e8a3c29/rpds_py-0.26.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:caf51943715b12af827696ec395bfa68f090a4c1a1d2509eb4e2cb69abbbdb33", size = 590724 },
+ { url = "https://files.pythonhosted.org/packages/2c/b4/95744085e65b7187d83f2fcb0bef70716a1ea0a9e5d8f7f39a86e5d83424/rpds_py-0.26.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:4a59e5bc386de021f56337f757301b337d7ab58baa40174fb150accd480bc953", size = 558285 },
+ { url = "https://files.pythonhosted.org/packages/37/37/6309a75e464d1da2559446f9c811aa4d16343cebe3dbb73701e63f760caa/rpds_py-0.26.0-cp314-cp314-win32.whl", hash = "sha256:92c8db839367ef16a662478f0a2fe13e15f2227da3c1430a782ad0f6ee009ec9", size = 223459 },
+ { url = "https://files.pythonhosted.org/packages/d9/6f/8e9c11214c46098b1d1391b7e02b70bb689ab963db3b19540cba17315291/rpds_py-0.26.0-cp314-cp314-win_amd64.whl", hash = "sha256:b0afb8cdd034150d4d9f53926226ed27ad15b7f465e93d7468caaf5eafae0d37", size = 236083 },
+ { url = "https://files.pythonhosted.org/packages/47/af/9c4638994dd623d51c39892edd9d08e8be8220a4b7e874fa02c2d6e91955/rpds_py-0.26.0-cp314-cp314-win_arm64.whl", hash = "sha256:ca3f059f4ba485d90c8dc75cb5ca897e15325e4e609812ce57f896607c1c0867", size = 223291 },
+ { url = "https://files.pythonhosted.org/packages/4d/db/669a241144460474aab03e254326b32c42def83eb23458a10d163cb9b5ce/rpds_py-0.26.0-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:5afea17ab3a126006dc2f293b14ffc7ef3c85336cf451564a0515ed7648033da", size = 361445 },
+ { url = "https://files.pythonhosted.org/packages/3b/2d/133f61cc5807c6c2fd086a46df0eb8f63a23f5df8306ff9f6d0fd168fecc/rpds_py-0.26.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:69f0c0a3df7fd3a7eec50a00396104bb9a843ea6d45fcc31c2d5243446ffd7a7", size = 347206 },
+ { url = "https://files.pythonhosted.org/packages/05/bf/0e8fb4c05f70273469eecf82f6ccf37248558526a45321644826555db31b/rpds_py-0.26.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:801a71f70f9813e82d2513c9a96532551fce1e278ec0c64610992c49c04c2dad", size = 380330 },
+ { url = "https://files.pythonhosted.org/packages/d4/a8/060d24185d8b24d3923322f8d0ede16df4ade226a74e747b8c7c978e3dd3/rpds_py-0.26.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:df52098cde6d5e02fa75c1f6244f07971773adb4a26625edd5c18fee906fa84d", size = 392254 },
+ { url = "https://files.pythonhosted.org/packages/b9/7b/7c2e8a9ee3e6bc0bae26bf29f5219955ca2fbb761dca996a83f5d2f773fe/rpds_py-0.26.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9bc596b30f86dc6f0929499c9e574601679d0341a0108c25b9b358a042f51bca", size = 516094 },
+ { url = "https://files.pythonhosted.org/packages/75/d6/f61cafbed8ba1499b9af9f1777a2a199cd888f74a96133d8833ce5eaa9c5/rpds_py-0.26.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9dfbe56b299cf5875b68eb6f0ebaadc9cac520a1989cac0db0765abfb3709c19", size = 402889 },
+ { url = "https://files.pythonhosted.org/packages/92/19/c8ac0a8a8df2dd30cdec27f69298a5c13e9029500d6d76718130f5e5be10/rpds_py-0.26.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac64f4b2bdb4ea622175c9ab7cf09444e412e22c0e02e906978b3b488af5fde8", size = 384301 },
+ { url = "https://files.pythonhosted.org/packages/41/e1/6b1859898bc292a9ce5776016c7312b672da00e25cec74d7beced1027286/rpds_py-0.26.0-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:181ef9b6bbf9845a264f9aa45c31836e9f3c1f13be565d0d010e964c661d1e2b", size = 412891 },
+ { url = "https://files.pythonhosted.org/packages/ef/b9/ceb39af29913c07966a61367b3c08b4f71fad841e32c6b59a129d5974698/rpds_py-0.26.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:49028aa684c144ea502a8e847d23aed5e4c2ef7cadfa7d5eaafcb40864844b7a", size = 557044 },
+ { url = "https://files.pythonhosted.org/packages/2f/27/35637b98380731a521f8ec4f3fd94e477964f04f6b2f8f7af8a2d889a4af/rpds_py-0.26.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:e5d524d68a474a9688336045bbf76cb0def88549c1b2ad9dbfec1fb7cfbe9170", size = 585774 },
+ { url = "https://files.pythonhosted.org/packages/52/d9/3f0f105420fecd18551b678c9a6ce60bd23986098b252a56d35781b3e7e9/rpds_py-0.26.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:c1851f429b822831bd2edcbe0cfd12ee9ea77868f8d3daf267b189371671c80e", size = 554886 },
+ { url = "https://files.pythonhosted.org/packages/6b/c5/347c056a90dc8dd9bc240a08c527315008e1b5042e7a4cf4ac027be9d38a/rpds_py-0.26.0-cp314-cp314t-win32.whl", hash = "sha256:7bdb17009696214c3b66bb3590c6d62e14ac5935e53e929bcdbc5a495987a84f", size = 219027 },
+ { url = "https://files.pythonhosted.org/packages/75/04/5302cea1aa26d886d34cadbf2dc77d90d7737e576c0065f357b96dc7a1a6/rpds_py-0.26.0-cp314-cp314t-win_amd64.whl", hash = "sha256:f14440b9573a6f76b4ee4770c13f0b5921f71dde3b6fcb8dabbefd13b7fe05d7", size = 232821 },
+]
+
+[[package]]
+name = "s3transfer"
+version = "0.13.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "botocore" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/6d/05/d52bf1e65044b4e5e27d4e63e8d1579dbdec54fce685908ae09bc3720030/s3transfer-0.13.1.tar.gz", hash = "sha256:c3fdba22ba1bd367922f27ec8032d6a1cf5f10c934fb5d68cf60fd5a23d936cf", size = 150589 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/6d/4f/d073e09df851cfa251ef7840007d04db3293a0482ce607d2b993926089be/s3transfer-0.13.1-py3-none-any.whl", hash = "sha256:a981aa7429be23fe6dfc13e80e4020057cbab622b08c0315288758d67cabc724", size = 85308 },
+]
+
+[[package]]
+name = "six"
+version = "1.17.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050 },
+]
+
+[[package]]
+name = "slack-bolt"
+version = "1.23.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "slack-sdk" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/a5/c9/7421458765061cb98e01a12d6cadc273ee35e75856b0073ec7c3efa5cf46/slack_bolt-1.23.0.tar.gz", hash = "sha256:3d2c3eb13131407a94f925eb22b180d352c2d97b808303ef92b7a46d6508c843", size = 130659 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c8/48/6f435d702a680307488c7d8d3bd6e12552bbf2ff3e0eb67ccb7d0850d122/slack_bolt-1.23.0-py2.py3-none-any.whl", hash = "sha256:6d6ae39d80c964c362505ae4e587eed2b26dbc3a9f0cb76af1150c30fb670488", size = 229691 },
+]
+
+[[package]]
+name = "slack-sdk"
+version = "3.36.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/73/1e/bbf7fdd00306f097ddb839c23628b7e271128cc8f584b9cae8f704b3924e/slack_sdk-3.36.0.tar.gz", hash = "sha256:8586022bdbdf9f8f8d32f394540436c53b1e7c8da9d21e1eab4560ba70cfcffa", size = 233382 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/70/9a/380d20856d9ea39fbc4d3bb66f076b0d72035ebe873eb05fc88ebee4125f/slack_sdk-3.36.0-py2.py3-none-any.whl", hash = "sha256:6c96887d7175fc1b0b2777b73bb65f39b5b8bee9bd8acfec071d64014f9e2d10", size = 293949 },
+]
+
+[[package]]
+name = "sniffio"
+version = "1.3.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc", size = 20372 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 },
+]
+
+[[package]]
+name = "soupsieve"
+version = "2.7"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/3f/f4/4a80cd6ef364b2e8b65b15816a843c0980f7a5a2b4dc701fc574952aa19f/soupsieve-2.7.tar.gz", hash = "sha256:ad282f9b6926286d2ead4750552c8a6142bc4c783fd66b0293547c8fe6ae126a", size = 103418 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/e7/9c/0e6afc12c269578be5c0c1c9f4b49a8d32770a080260c333ac04cc1c832d/soupsieve-2.7-py3-none-any.whl", hash = "sha256:6e60cc5c1ffaf1cebcc12e8188320b72071e922c2e897f737cadce79ad5d30c4", size = 36677 },
+]
+
+[[package]]
+name = "sse-starlette"
+version = "2.4.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "anyio" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/07/3e/eae74d8d33e3262bae0a7e023bb43d8bdd27980aa3557333f4632611151f/sse_starlette-2.4.1.tar.gz", hash = "sha256:7c8a800a1ca343e9165fc06bbda45c78e4c6166320707ae30b416c42da070926", size = 18635 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/e4/f1/6c7eaa8187ba789a6dd6d74430307478d2a91c23a5452ab339b6fbe15a08/sse_starlette-2.4.1-py3-none-any.whl", hash = "sha256:08b77ea898ab1a13a428b2b6f73cfe6d0e607a7b4e15b9bb23e4a37b087fd39a", size = 10824 },
+]
+
+[[package]]
+name = "starlette"
+version = "0.47.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "anyio" },
+ { name = "typing-extensions", marker = "python_full_version < '3.13'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/04/57/d062573f391d062710d4088fa1369428c38d51460ab6fedff920efef932e/starlette-0.47.2.tar.gz", hash = "sha256:6ae9aa5db235e4846decc1e7b79c4f346adf41e9777aebeb49dfd09bbd7023d8", size = 2583948 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/f7/1f/b876b1f83aef204198a42dc101613fefccb32258e5428b5f9259677864b4/starlette-0.47.2-py3-none-any.whl", hash = "sha256:c5847e96134e5c5371ee9fac6fdf1a67336d5815e09eb2a01fdb57a351ef915b", size = 72984 },
+]
+
+[[package]]
+name = "strands-agents"
+version = "1.0.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "boto3" },
+ { name = "botocore" },
+ { name = "docstring-parser" },
+ { name = "mcp" },
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-instrumentation-threading" },
+ { name = "opentelemetry-sdk" },
+ { name = "pydantic" },
+ { name = "typing-extensions" },
+ { name = "watchdog" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/fa/60/a1aae1e7bdf3a314d53f2d1184970e9d1bf3d33e42c8dd10b1f5661f03ac/strands_agents-1.0.1.tar.gz", hash = "sha256:cead5d738bbaaaa2b39fddd68a63a7bc03b015ac0530447f4956800a5678917a", size = 226442 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/22/81/06cc04f1ed4ec23104d3af29ba76192441620f60eae85795181dcacb8f0a/strands_agents-1.0.1-py3-none-any.whl", hash = "sha256:e28b066165466095848e3df69f6a87b63089728d7f905373279d9515969d5a73", size = 162872 },
+]
+
+[[package]]
+name = "strands-agents-tools"
+version = "0.2.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "aws-requests-auth" },
+ { name = "botocore" },
+ { name = "dill" },
+ { name = "markdownify" },
+ { name = "pillow" },
+ { name = "prompt-toolkit" },
+ { name = "pyjwt" },
+ { name = "readabilipy" },
+ { name = "rich" },
+ { name = "slack-bolt" },
+ { name = "strands-agents" },
+ { name = "sympy" },
+ { name = "tenacity" },
+ { name = "tzdata", marker = "sys_platform == 'win32'" },
+ { name = "watchdog" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/f3/0e/de478364b47def72172ccb09639a7a65de8e10602f05cca2b7b17cfc0e15/strands_agents_tools-0.2.1.tar.gz", hash = "sha256:9bae05e3510478f8898cfcfd8bad7e044fcf9473ad484d5e4b04a79e1832e2ea", size = 321499 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/7b/47/340dfce9f5bdd9bd6cbb8dbdfbf09ce2257fc43256bbacfc3b410bfccaa8/strands_agents_tools-0.2.1-py3-none-any.whl", hash = "sha256:5e1dd85d8db07d226b8f4b60e932123a8c7ddebc3dbe5afc7e4a2aafb641dcaa", size = 229183 },
+]
+
+[[package]]
+name = "sympy"
+version = "1.14.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "mpmath" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/83/d3/803453b36afefb7c2bb238361cd4ae6125a569b4db67cd9e79846ba2d68c/sympy-1.14.0.tar.gz", hash = "sha256:d3d3fe8df1e5a0b42f0e7bdf50541697dbe7d23746e894990c030e2b05e72517", size = 7793921 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/a2/09/77d55d46fd61b4a135c444fc97158ef34a095e5681d0a6c10b75bf356191/sympy-1.14.0-py3-none-any.whl", hash = "sha256:e091cc3e99d2141a0ba2847328f5479b05d94a6635cb96148ccb3f34671bd8f5", size = 6299353 },
+]
+
+[[package]]
+name = "tenacity"
+version = "9.1.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/0a/d4/2b0cd0fe285e14b36db076e78c93766ff1d529d70408bd1d2a5a84f1d929/tenacity-9.1.2.tar.gz", hash = "sha256:1169d376c297e7de388d18b4481760d478b0e99a777cad3a9c86e556f4b697cb", size = 48036 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/e5/30/643397144bfbfec6f6ef821f36f33e57d35946c44a2352d3c9f0ae847619/tenacity-9.1.2-py3-none-any.whl", hash = "sha256:f77bf36710d8b73a50b2dd155c97b870017ad21afe6ab300326b0371b3b05138", size = 28248 },
+]
+
+[[package]]
+name = "typing-extensions"
+version = "4.14.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/98/5a/da40306b885cc8c09109dc2e1abd358d5684b1425678151cdaed4731c822/typing_extensions-4.14.1.tar.gz", hash = "sha256:38b39f4aeeab64884ce9f74c94263ef78f3c22467c8724005483154c26648d36", size = 107673 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b5/00/d631e67a838026495268c2f6884f3711a15a9a2a96cd244fdaea53b823fb/typing_extensions-4.14.1-py3-none-any.whl", hash = "sha256:d1e1e3b58374dc93031d6eda2420a48ea44a36c2b4766a4fdeb3710755731d76", size = 43906 },
+]
+
+[[package]]
+name = "typing-inspection"
+version = "0.4.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "typing-extensions" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/f8/b1/0c11f5058406b3af7609f121aaa6b609744687f1d158b3c3a5bf4cc94238/typing_inspection-0.4.1.tar.gz", hash = "sha256:6ae134cc0203c33377d43188d4064e9b357dba58cff3185f22924610e70a9d28", size = 75726 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/17/69/cd203477f944c353c31bade965f880aa1061fd6bf05ded0726ca845b6ff7/typing_inspection-0.4.1-py3-none-any.whl", hash = "sha256:389055682238f53b04f7badcb49b989835495a96700ced5dab2d8feae4b26f51", size = 14552 },
+]
+
+[[package]]
+name = "tzdata"
+version = "2025.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/95/32/1a225d6164441be760d75c2c42e2780dc0873fe382da3e98a2e1e48361e5/tzdata-2025.2.tar.gz", hash = "sha256:b60a638fcc0daffadf82fe0f57e53d06bdec2f36c4df66280ae79bce6bd6f2b9", size = 196380 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/5c/23/c7abc0ca0a1526a0774eca151daeb8de62ec457e77262b66b359c3c7679e/tzdata-2025.2-py2.py3-none-any.whl", hash = "sha256:1a403fada01ff9221ca8044d701868fa132215d84beb92242d9acd2147f667a8", size = 347839 },
+]
+
+[[package]]
+name = "urllib3"
+version = "2.5.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz", hash = "sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760", size = 393185 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl", hash = "sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc", size = 129795 },
+]
+
+[[package]]
+name = "uvicorn"
+version = "0.35.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "click" },
+ { name = "h11" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/5e/42/e0e305207bb88c6b8d3061399c6a961ffe5fbb7e2aa63c9234df7259e9cd/uvicorn-0.35.0.tar.gz", hash = "sha256:bc662f087f7cf2ce11a1d7fd70b90c9f98ef2e2831556dd078d131b96cc94a01", size = 78473 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/d2/e2/dc81b1bd1dcfe91735810265e9d26bc8ec5da45b4c0f6237e286819194c3/uvicorn-0.35.0-py3-none-any.whl", hash = "sha256:197535216b25ff9b785e29a0b79199f55222193d47f820816e7da751e9bc8d4a", size = 66406 },
+]
+
+[[package]]
+name = "watchdog"
+version = "6.0.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/db/7d/7f3d619e951c88ed75c6037b246ddcf2d322812ee8ea189be89511721d54/watchdog-6.0.0.tar.gz", hash = "sha256:9ddf7c82fda3ae8e24decda1338ede66e1c99883db93711d8fb941eaa2d8c282", size = 131220 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/39/ea/3930d07dafc9e286ed356a679aa02d777c06e9bfd1164fa7c19c288a5483/watchdog-6.0.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:bdd4e6f14b8b18c334febb9c4425a878a2ac20efd1e0b231978e7b150f92a948", size = 96471 },
+ { url = "https://files.pythonhosted.org/packages/12/87/48361531f70b1f87928b045df868a9fd4e253d9ae087fa4cf3f7113be363/watchdog-6.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c7c15dda13c4eb00d6fb6fc508b3c0ed88b9d5d374056b239c4ad1611125c860", size = 88449 },
+ { url = "https://files.pythonhosted.org/packages/5b/7e/8f322f5e600812e6f9a31b75d242631068ca8f4ef0582dd3ae6e72daecc8/watchdog-6.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6f10cb2d5902447c7d0da897e2c6768bca89174d0c6e1e30abec5421af97a5b0", size = 89054 },
+ { url = "https://files.pythonhosted.org/packages/68/98/b0345cabdce2041a01293ba483333582891a3bd5769b08eceb0d406056ef/watchdog-6.0.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:490ab2ef84f11129844c23fb14ecf30ef3d8a6abafd3754a6f75ca1e6654136c", size = 96480 },
+ { url = "https://files.pythonhosted.org/packages/85/83/cdf13902c626b28eedef7ec4f10745c52aad8a8fe7eb04ed7b1f111ca20e/watchdog-6.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:76aae96b00ae814b181bb25b1b98076d5fc84e8a53cd8885a318b42b6d3a5134", size = 88451 },
+ { url = "https://files.pythonhosted.org/packages/fe/c4/225c87bae08c8b9ec99030cd48ae9c4eca050a59bf5c2255853e18c87b50/watchdog-6.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a175f755fc2279e0b7312c0035d52e27211a5bc39719dd529625b1930917345b", size = 89057 },
+ { url = "https://files.pythonhosted.org/packages/a9/c7/ca4bf3e518cb57a686b2feb4f55a1892fd9a3dd13f470fca14e00f80ea36/watchdog-6.0.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:7607498efa04a3542ae3e05e64da8202e58159aa1fa4acddf7678d34a35d4f13", size = 79079 },
+ { url = "https://files.pythonhosted.org/packages/5c/51/d46dc9332f9a647593c947b4b88e2381c8dfc0942d15b8edc0310fa4abb1/watchdog-6.0.0-py3-none-manylinux2014_armv7l.whl", hash = "sha256:9041567ee8953024c83343288ccc458fd0a2d811d6a0fd68c4c22609e3490379", size = 79078 },
+ { url = "https://files.pythonhosted.org/packages/d4/57/04edbf5e169cd318d5f07b4766fee38e825d64b6913ca157ca32d1a42267/watchdog-6.0.0-py3-none-manylinux2014_i686.whl", hash = "sha256:82dc3e3143c7e38ec49d61af98d6558288c415eac98486a5c581726e0737c00e", size = 79076 },
+ { url = "https://files.pythonhosted.org/packages/ab/cc/da8422b300e13cb187d2203f20b9253e91058aaf7db65b74142013478e66/watchdog-6.0.0-py3-none-manylinux2014_ppc64.whl", hash = "sha256:212ac9b8bf1161dc91bd09c048048a95ca3a4c4f5e5d4a7d1b1a7d5752a7f96f", size = 79077 },
+ { url = "https://files.pythonhosted.org/packages/2c/3b/b8964e04ae1a025c44ba8e4291f86e97fac443bca31de8bd98d3263d2fcf/watchdog-6.0.0-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:e3df4cbb9a450c6d49318f6d14f4bbc80d763fa587ba46ec86f99f9e6876bb26", size = 79078 },
+ { url = "https://files.pythonhosted.org/packages/62/ae/a696eb424bedff7407801c257d4b1afda455fe40821a2be430e173660e81/watchdog-6.0.0-py3-none-manylinux2014_s390x.whl", hash = "sha256:2cce7cfc2008eb51feb6aab51251fd79b85d9894e98ba847408f662b3395ca3c", size = 79077 },
+ { url = "https://files.pythonhosted.org/packages/b5/e8/dbf020b4d98251a9860752a094d09a65e1b436ad181faf929983f697048f/watchdog-6.0.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:20ffe5b202af80ab4266dcd3e91aae72bf2da48c0d33bdb15c66658e685e94e2", size = 79078 },
+ { url = "https://files.pythonhosted.org/packages/07/f6/d0e5b343768e8bcb4cda79f0f2f55051bf26177ecd5651f84c07567461cf/watchdog-6.0.0-py3-none-win32.whl", hash = "sha256:07df1fdd701c5d4c8e55ef6cf55b8f0120fe1aef7ef39a1c6fc6bc2e606d517a", size = 79065 },
+ { url = "https://files.pythonhosted.org/packages/db/d9/c495884c6e548fce18a8f40568ff120bc3a4b7b99813081c8ac0c936fa64/watchdog-6.0.0-py3-none-win_amd64.whl", hash = "sha256:cbafb470cf848d93b5d013e2ecb245d4aa1c8fd0504e863ccefa32445359d680", size = 79070 },
+ { url = "https://files.pythonhosted.org/packages/33/e8/e40370e6d74ddba47f002a32919d91310d6074130fe4e17dabcafc15cbf1/watchdog-6.0.0-py3-none-win_ia64.whl", hash = "sha256:a1914259fa9e1454315171103c6a30961236f508b9b623eae470268bbcc6a22f", size = 79067 },
+]
+
+[[package]]
+name = "wcwidth"
+version = "0.2.13"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/6c/63/53559446a878410fc5a5974feb13d31d78d752eb18aeba59c7fef1af7598/wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5", size = 101301 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/fd/84/fd2ba7aafacbad3c4201d395674fc6348826569da3c0937e75505ead3528/wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859", size = 34166 },
+]
+
+[[package]]
+name = "webencodings"
+version = "0.5.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/0b/02/ae6ceac1baeda530866a85075641cec12989bd8d31af6d5ab4a3e8c92f47/webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923", size = 9721 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/f4/24/2a3e3df732393fed8b3ebf2ec078f05546de641fe1b667ee316ec1dcf3b7/webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78", size = 11774 },
+]
+
+[[package]]
+name = "wrapt"
+version = "1.17.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/c3/fc/e91cc220803d7bc4db93fb02facd8461c37364151b8494762cc88b0fbcef/wrapt-1.17.2.tar.gz", hash = "sha256:41388e9d4d1522446fe79d3213196bd9e3b301a336965b9e27ca2788ebd122f3", size = 55531 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/a1/bd/ab55f849fd1f9a58ed7ea47f5559ff09741b25f00c191231f9f059c83949/wrapt-1.17.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:d5e2439eecc762cd85e7bd37161d4714aa03a33c5ba884e26c81559817ca0925", size = 53799 },
+ { url = "https://files.pythonhosted.org/packages/53/18/75ddc64c3f63988f5a1d7e10fb204ffe5762bc663f8023f18ecaf31a332e/wrapt-1.17.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:3fc7cb4c1c744f8c05cd5f9438a3caa6ab94ce8344e952d7c45a8ed59dd88392", size = 38821 },
+ { url = "https://files.pythonhosted.org/packages/48/2a/97928387d6ed1c1ebbfd4efc4133a0633546bec8481a2dd5ec961313a1c7/wrapt-1.17.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8fdbdb757d5390f7c675e558fd3186d590973244fab0c5fe63d373ade3e99d40", size = 38919 },
+ { url = "https://files.pythonhosted.org/packages/73/54/3bfe5a1febbbccb7a2f77de47b989c0b85ed3a6a41614b104204a788c20e/wrapt-1.17.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5bb1d0dbf99411f3d871deb6faa9aabb9d4e744d67dcaaa05399af89d847a91d", size = 88721 },
+ { url = "https://files.pythonhosted.org/packages/25/cb/7262bc1b0300b4b64af50c2720ef958c2c1917525238d661c3e9a2b71b7b/wrapt-1.17.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d18a4865f46b8579d44e4fe1e2bcbc6472ad83d98e22a26c963d46e4c125ef0b", size = 80899 },
+ { url = "https://files.pythonhosted.org/packages/2a/5a/04cde32b07a7431d4ed0553a76fdb7a61270e78c5fd5a603e190ac389f14/wrapt-1.17.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc570b5f14a79734437cb7b0500376b6b791153314986074486e0b0fa8d71d98", size = 89222 },
+ { url = "https://files.pythonhosted.org/packages/09/28/2e45a4f4771fcfb109e244d5dbe54259e970362a311b67a965555ba65026/wrapt-1.17.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6d9187b01bebc3875bac9b087948a2bccefe464a7d8f627cf6e48b1bbae30f82", size = 86707 },
+ { url = "https://files.pythonhosted.org/packages/c6/d2/dcb56bf5f32fcd4bd9aacc77b50a539abdd5b6536872413fd3f428b21bed/wrapt-1.17.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:9e8659775f1adf02eb1e6f109751268e493c73716ca5761f8acb695e52a756ae", size = 79685 },
+ { url = "https://files.pythonhosted.org/packages/80/4e/eb8b353e36711347893f502ce91c770b0b0929f8f0bed2670a6856e667a9/wrapt-1.17.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e8b2816ebef96d83657b56306152a93909a83f23994f4b30ad4573b00bd11bb9", size = 87567 },
+ { url = "https://files.pythonhosted.org/packages/17/27/4fe749a54e7fae6e7146f1c7d914d28ef599dacd4416566c055564080fe2/wrapt-1.17.2-cp312-cp312-win32.whl", hash = "sha256:468090021f391fe0056ad3e807e3d9034e0fd01adcd3bdfba977b6fdf4213ea9", size = 36672 },
+ { url = "https://files.pythonhosted.org/packages/15/06/1dbf478ea45c03e78a6a8c4be4fdc3c3bddea5c8de8a93bc971415e47f0f/wrapt-1.17.2-cp312-cp312-win_amd64.whl", hash = "sha256:ec89ed91f2fa8e3f52ae53cd3cf640d6feff92ba90d62236a81e4e563ac0e991", size = 38865 },
+ { url = "https://files.pythonhosted.org/packages/ce/b9/0ffd557a92f3b11d4c5d5e0c5e4ad057bd9eb8586615cdaf901409920b14/wrapt-1.17.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:6ed6ffac43aecfe6d86ec5b74b06a5be33d5bb9243d055141e8cabb12aa08125", size = 53800 },
+ { url = "https://files.pythonhosted.org/packages/c0/ef/8be90a0b7e73c32e550c73cfb2fa09db62234227ece47b0e80a05073b375/wrapt-1.17.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:35621ae4c00e056adb0009f8e86e28eb4a41a4bfa8f9bfa9fca7d343fe94f998", size = 38824 },
+ { url = "https://files.pythonhosted.org/packages/36/89/0aae34c10fe524cce30fe5fc433210376bce94cf74d05b0d68344c8ba46e/wrapt-1.17.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a604bf7a053f8362d27eb9fefd2097f82600b856d5abe996d623babd067b1ab5", size = 38920 },
+ { url = "https://files.pythonhosted.org/packages/3b/24/11c4510de906d77e0cfb5197f1b1445d4fec42c9a39ea853d482698ac681/wrapt-1.17.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5cbabee4f083b6b4cd282f5b817a867cf0b1028c54d445b7ec7cfe6505057cf8", size = 88690 },
+ { url = "https://files.pythonhosted.org/packages/71/d7/cfcf842291267bf455b3e266c0c29dcb675b5540ee8b50ba1699abf3af45/wrapt-1.17.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:49703ce2ddc220df165bd2962f8e03b84c89fee2d65e1c24a7defff6f988f4d6", size = 80861 },
+ { url = "https://files.pythonhosted.org/packages/d5/66/5d973e9f3e7370fd686fb47a9af3319418ed925c27d72ce16b791231576d/wrapt-1.17.2-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8112e52c5822fc4253f3901b676c55ddf288614dc7011634e2719718eaa187dc", size = 89174 },
+ { url = "https://files.pythonhosted.org/packages/a7/d3/8e17bb70f6ae25dabc1aaf990f86824e4fd98ee9cadf197054e068500d27/wrapt-1.17.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:9fee687dce376205d9a494e9c121e27183b2a3df18037f89d69bd7b35bcf59e2", size = 86721 },
+ { url = "https://files.pythonhosted.org/packages/6f/54/f170dfb278fe1c30d0ff864513cff526d624ab8de3254b20abb9cffedc24/wrapt-1.17.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:18983c537e04d11cf027fbb60a1e8dfd5190e2b60cc27bc0808e653e7b218d1b", size = 79763 },
+ { url = "https://files.pythonhosted.org/packages/4a/98/de07243751f1c4a9b15c76019250210dd3486ce098c3d80d5f729cba029c/wrapt-1.17.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:703919b1633412ab54bcf920ab388735832fdcb9f9a00ae49387f0fe67dad504", size = 87585 },
+ { url = "https://files.pythonhosted.org/packages/f9/f0/13925f4bd6548013038cdeb11ee2cbd4e37c30f8bfd5db9e5a2a370d6e20/wrapt-1.17.2-cp313-cp313-win32.whl", hash = "sha256:abbb9e76177c35d4e8568e58650aa6926040d6a9f6f03435b7a522bf1c487f9a", size = 36676 },
+ { url = "https://files.pythonhosted.org/packages/bf/ae/743f16ef8c2e3628df3ddfd652b7d4c555d12c84b53f3d8218498f4ade9b/wrapt-1.17.2-cp313-cp313-win_amd64.whl", hash = "sha256:69606d7bb691b50a4240ce6b22ebb319c1cfb164e5f6569835058196e0f3a845", size = 38871 },
+ { url = "https://files.pythonhosted.org/packages/3d/bc/30f903f891a82d402ffb5fda27ec1d621cc97cb74c16fea0b6141f1d4e87/wrapt-1.17.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:4a721d3c943dae44f8e243b380cb645a709ba5bd35d3ad27bc2ed947e9c68192", size = 56312 },
+ { url = "https://files.pythonhosted.org/packages/8a/04/c97273eb491b5f1c918857cd26f314b74fc9b29224521f5b83f872253725/wrapt-1.17.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:766d8bbefcb9e00c3ac3b000d9acc51f1b399513f44d77dfe0eb026ad7c9a19b", size = 40062 },
+ { url = "https://files.pythonhosted.org/packages/4e/ca/3b7afa1eae3a9e7fefe499db9b96813f41828b9fdb016ee836c4c379dadb/wrapt-1.17.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e496a8ce2c256da1eb98bd15803a79bee00fc351f5dfb9ea82594a3f058309e0", size = 40155 },
+ { url = "https://files.pythonhosted.org/packages/89/be/7c1baed43290775cb9030c774bc53c860db140397047cc49aedaf0a15477/wrapt-1.17.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40d615e4fe22f4ad3528448c193b218e077656ca9ccb22ce2cb20db730f8d306", size = 113471 },
+ { url = "https://files.pythonhosted.org/packages/32/98/4ed894cf012b6d6aae5f5cc974006bdeb92f0241775addad3f8cd6ab71c8/wrapt-1.17.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a5aaeff38654462bc4b09023918b7f21790efb807f54c000a39d41d69cf552cb", size = 101208 },
+ { url = "https://files.pythonhosted.org/packages/ea/fd/0c30f2301ca94e655e5e057012e83284ce8c545df7661a78d8bfca2fac7a/wrapt-1.17.2-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9a7d15bbd2bc99e92e39f49a04653062ee6085c0e18b3b7512a4f2fe91f2d681", size = 109339 },
+ { url = "https://files.pythonhosted.org/packages/75/56/05d000de894c4cfcb84bcd6b1df6214297b8089a7bd324c21a4765e49b14/wrapt-1.17.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:e3890b508a23299083e065f435a492b5435eba6e304a7114d2f919d400888cc6", size = 110232 },
+ { url = "https://files.pythonhosted.org/packages/53/f8/c3f6b2cf9b9277fb0813418e1503e68414cd036b3b099c823379c9575e6d/wrapt-1.17.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:8c8b293cd65ad716d13d8dd3624e42e5a19cc2a2f1acc74b30c2c13f15cb61a6", size = 100476 },
+ { url = "https://files.pythonhosted.org/packages/a7/b1/0bb11e29aa5139d90b770ebbfa167267b1fc548d2302c30c8f7572851738/wrapt-1.17.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4c82b8785d98cdd9fed4cac84d765d234ed3251bd6afe34cb7ac523cb93e8b4f", size = 106377 },
+ { url = "https://files.pythonhosted.org/packages/6a/e1/0122853035b40b3f333bbb25f1939fc1045e21dd518f7f0922b60c156f7c/wrapt-1.17.2-cp313-cp313t-win32.whl", hash = "sha256:13e6afb7fe71fe7485a4550a8844cc9ffbe263c0f1a1eea569bc7091d4898555", size = 37986 },
+ { url = "https://files.pythonhosted.org/packages/09/5e/1655cf481e079c1f22d0cabdd4e51733679932718dc23bf2db175f329b76/wrapt-1.17.2-cp313-cp313t-win_amd64.whl", hash = "sha256:eaf675418ed6b3b31c7a989fd007fa7c3be66ce14e5c3b27336383604c9da85c", size = 40750 },
+ { url = "https://files.pythonhosted.org/packages/2d/82/f56956041adef78f849db6b289b282e72b55ab8045a75abad81898c28d19/wrapt-1.17.2-py3-none-any.whl", hash = "sha256:b18f2d1533a71f069c7f82d524a52599053d4c7166e9dd374ae2136b7f40f7c8", size = 23594 },
+]
+
+[[package]]
+name = "zipp"
+version = "3.23.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/e3/02/0f2892c661036d50ede074e376733dca2ae7c6eb617489437771209d4180/zipp-3.23.0.tar.gz", hash = "sha256:a07157588a12518c9d4034df3fbbee09c814741a33ff63c05fa29d26a2404166", size = 25547 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/2e/54/647ade08bf0db230bfea292f893923872fd20be6ac6f53b2b936ba839d75/zipp-3.23.0-py3-none-any.whl", hash = "sha256:071652d6115ed432f5ce1d34c336c0adfd6a884660d1e9712a256d3d3bd4b14e", size = 10276 },
+]
diff --git a/packages/cdk/lambda/getFileDownloadSignedUrl.ts b/packages/cdk/lambda/getFileDownloadSignedUrl.ts
index 5b4888f84..90d11ad0c 100644
--- a/packages/cdk/lambda/getFileDownloadSignedUrl.ts
+++ b/packages/cdk/lambda/getFileDownloadSignedUrl.ts
@@ -13,6 +13,7 @@ export const handler = async (
const req = event.queryStringParameters as GetFileDownloadSignedUrlRequest;
// We pass `s3Type` parameter since Knowledge Base may need to reference S3 in a different account
+ // default and agentcore currently reside in same account and region is specifed in request
const client =
req.s3Type === 'knowledgeBase'
? await initKnowledgeBaseS3Client({
diff --git a/packages/cdk/lambda/speechToSpeechTask.ts b/packages/cdk/lambda/speechToSpeechTask.ts
index 9eaa4e149..b2bd9aed3 100644
--- a/packages/cdk/lambda/speechToSpeechTask.ts
+++ b/packages/cdk/lambda/speechToSpeechTask.ts
@@ -416,6 +416,30 @@ export const handler = async (event: { channelId: string; model: Model }) => {
try {
console.log('event', event);
+ // Speech-to-Speech Inference Profile Arn handling
+ // NOTE: InvokeModelWithBidirectionalStreamCommand currently does not support Inference Profile Arn.
+ // When AWS adds support, uncomment the code block below and change 'const' to 'let' for modelIdOrArn.
+
+ const modelIdOrArn = event.model.modelId; // Fallback to modelId for now
+
+ /*
+ // TODO: Uncomment this block when InvokeModelWithBidirectionalStreamCommand supports Inference Profile Arn
+ // Also change 'const modelIdOrArn' above to 'let modelIdOrArn'
+ try {
+ const speechToSpeechModels = JSON.parse(process.env.SPEECH_TO_SPEECH_MODEL_IDS || '[]');
+ const modelConfig = speechToSpeechModels.find((config: any) => config.modelId === event.model.modelId);
+ if (modelConfig?.inferenceProfileArn) {
+ modelIdOrArn = modelConfig.inferenceProfileArn;
+ console.log('DEBUG: Using Inference Profile ARN for speech-to-speech:', modelIdOrArn);
+ } else {
+ console.log('DEBUG: No inference profile ARN found, using modelId:', modelIdOrArn);
+ }
+ } catch (error) {
+ console.error('DEBUG: Error parsing SPEECH_TO_SPEECH_MODEL_IDS:', error);
+ console.log('DEBUG: Falling back to modelId:', modelIdOrArn);
+ }
+ */
+
initialize();
isActive = true;
@@ -518,7 +542,7 @@ export const handler = async (event: { channelId: string; model: Model }) => {
const response = await bedrockRuntimeClient.send(
new InvokeModelWithBidirectionalStreamCommand({
- modelId: event.model.modelId,
+ modelId: modelIdOrArn,
body: asyncIterator,
})
);
diff --git a/packages/cdk/lambda/utils/bedrockAgentApi.ts b/packages/cdk/lambda/utils/bedrockAgentApi.ts
index 87d55f8bc..7a385aa39 100644
--- a/packages/cdk/lambda/utils/bedrockAgentApi.ts
+++ b/packages/cdk/lambda/utils/bedrockAgentApi.ts
@@ -4,6 +4,7 @@ import {
} from '@aws-sdk/client-bedrock-agent';
import {
DependencyFailedException,
+ InputFile,
InvokeAgentCommand,
Parameter,
ServiceQuotaExceededException,
@@ -108,20 +109,38 @@ const bedrockAgentApi: ApiInterface = {
// Invoke Agent
const command = new InvokeAgentCommand({
sessionState: {
- files:
- messages[messages.length - 1].extraData?.map((file) => ({
- name: file.name.replace(/[^a-zA-Z0-9\s\-()[\].]/g, 'X'), // If the file name contains Japanese, it is not recognized, so replace it
- source: {
- sourceType: 'BYTE_CONTENT',
- byteContent: {
- mediaType: file.source.mediaType,
- data: Buffer.from(file.source.data, 'base64'),
+ conversationHistory: {
+ // slice: remove system prompt and lastest user messagee
+ messages: messages
+ .slice(1, messages.length - 1)
+ .map((m: UnrecordedMessage) => {
+ return {
+ role: m.role as 'user' | 'assistant',
+ content: [
+ {
+ text: m.content,
+ },
+ ],
+ };
+ }),
+ },
+ files: messages
+ .flatMap((m: UnrecordedMessage) => {
+ return m.extraData?.map((file) => ({
+ name: file.name.replace(/[^a-zA-Z0-9\s\-()[\].]/g, 'X'), // If the file name contains Japanese, it is not recognized, so replace it
+ source: {
+ sourceType: 'BYTE_CONTENT',
+ byteContent: {
+ mediaType: file.source.mediaType,
+ data: Buffer.from(file.source.data, 'base64'),
+ },
},
- },
- useCase: agentInfo.codeInterpreterEnabled
- ? 'CODE_INTERPRETER'
- : 'CHAT',
- })) || [],
+ useCase: agentInfo.codeInterpreterEnabled
+ ? 'CODE_INTERPRETER'
+ : 'CHAT',
+ })) as InputFile[] | undefined;
+ })
+ .filter((f): f is InputFile => f !== undefined),
},
agentId: agentId,
agentAliasId: agentAliasId,
diff --git a/packages/cdk/lambda/utils/bedrockApi.ts b/packages/cdk/lambda/utils/bedrockApi.ts
index 42478aa84..585b3df38 100644
--- a/packages/cdk/lambda/utils/bedrockApi.ts
+++ b/packages/cdk/lambda/utils/bedrockApi.ts
@@ -24,6 +24,7 @@ import {
BEDROCK_TEXT_GEN_MODELS,
BEDROCK_IMAGE_GEN_MODELS,
BEDROCK_VIDEO_GEN_MODELS,
+ getInferenceProfileArn,
} from './models';
import { streamingChunk } from './streamingChunk';
import { initBedrockRuntimeClient } from './bedrockClient';
@@ -181,8 +182,9 @@ const bedrockApi: Omit = {
const client = await initBedrockRuntimeClient({ region });
// Image generation using Stable Diffusion or Titan Image Generator is not supported for the Converse API, so InvokeModelCommand is used.
+ const modelIdOrArn = getInferenceProfileArn(model.modelId) || model.modelId;
const command = new InvokeModelCommand({
- modelId: model.modelId,
+ modelId: modelIdOrArn,
body: createBodyImage(model, params),
contentType: 'application/json',
});
@@ -203,8 +205,9 @@ const bedrockApi: Omit = {
throw new Error('Video tmp buket is not defined');
}
+ const modelIdOrArn = getInferenceProfileArn(model.modelId) || model.modelId;
const command = new StartAsyncInvokeCommand({
- modelId: model.modelId,
+ modelId: modelIdOrArn,
modelInput: createBodyVideo(model, params),
outputDataConfig: {
s3OutputDataConfig: {
diff --git a/packages/cdk/lambda/utils/models.ts b/packages/cdk/lambda/utils/models.ts
index 9e0e2d439..cae3afa49 100644
--- a/packages/cdk/lambda/utils/models.ts
+++ b/packages/cdk/lambda/utils/models.ts
@@ -41,6 +41,9 @@ const modelIds: ModelConfiguration[] = (
.map((model) => ({
modelId: model.modelId.trim(),
region: model.region.trim(),
+ ...(model.inferenceProfileArn && {
+ inferenceProfileArn: model.inferenceProfileArn,
+ }),
}))
.filter((model) => model.modelId);
// If there is a lightweight model among the available models, prioritize the lightweight model.
@@ -52,6 +55,9 @@ export const defaultModel: Model = {
type: 'bedrock',
modelId: defaultModelConfiguration.modelId,
region: defaultModelConfiguration.region,
+ ...(defaultModelConfiguration.inferenceProfileArn && {
+ inferenceProfileArn: defaultModelConfiguration.inferenceProfileArn,
+ }),
};
const imageGenerationModels: ModelConfiguration[] = (
@@ -63,6 +69,9 @@ const imageGenerationModels: ModelConfiguration[] = (
(model: ModelConfiguration): ModelConfiguration => ({
modelId: model.modelId.trim(),
region: model.region.trim(),
+ ...(model.inferenceProfileArn && {
+ inferenceProfileArn: model.inferenceProfileArn,
+ }),
})
)
.filter((model) => model.modelId);
@@ -70,6 +79,9 @@ export const defaultImageGenerationModel: Model = {
type: 'bedrock',
modelId: imageGenerationModels?.[0]?.modelId ?? '',
region: imageGenerationModels?.[0]?.region ?? '',
+ ...(imageGenerationModels?.[0]?.inferenceProfileArn && {
+ inferenceProfileArn: imageGenerationModels[0].inferenceProfileArn,
+ }),
};
const videoGenerationModels: ModelConfiguration[] = (
@@ -81,6 +93,9 @@ const videoGenerationModels: ModelConfiguration[] = (
(model: ModelConfiguration): ModelConfiguration => ({
modelId: model.modelId.trim(),
region: model.region.trim(),
+ ...(model.inferenceProfileArn && {
+ inferenceProfileArn: model.inferenceProfileArn,
+ }),
})
)
.filter((model) => model.modelId);
@@ -88,6 +103,9 @@ export const defaultVideoGenerationModel: Model = {
type: 'bedrock',
modelId: videoGenerationModels?.[0]?.modelId ?? '',
region: videoGenerationModels?.[0]?.region ?? '',
+ ...(videoGenerationModels?.[0]?.inferenceProfileArn && {
+ inferenceProfileArn: videoGenerationModels[0].inferenceProfileArn,
+ }),
};
// Prompt Templates
@@ -217,6 +235,14 @@ const PALMYRA_DEFAULT_PARAMS: ConverseInferenceParams = {
},
};
+const OPENAI_DEFAULT_PARAMS: ConverseInferenceParams = {
+ inferenceConfig: {
+ maxTokens: 8192,
+ temperature: 1,
+ topP: 1.0,
+ },
+};
+
const USECASE_DEFAULT_PARAMS: UsecaseConverseInferenceParams = {
'/chat': {
promptCachingConfig: {
@@ -337,6 +363,27 @@ const mergeConverseInferenceParams = (
},
}) as ConverseInferenceParams;
+// Get inference profile ARN from modelId
+export const getInferenceProfileArn = (modelId: string): string | undefined => {
+ const textModelConfig = modelIds.find((config) => config.modelId === modelId);
+ if (textModelConfig?.inferenceProfileArn) {
+ return textModelConfig.inferenceProfileArn;
+ }
+ const imageModelConfig = imageGenerationModels.find(
+ (config) => config.modelId === modelId
+ );
+ if (imageModelConfig?.inferenceProfileArn) {
+ return imageModelConfig.inferenceProfileArn;
+ }
+ const videoModelConfig = videoGenerationModels.find(
+ (config) => config.modelId === modelId
+ );
+ if (videoModelConfig?.inferenceProfileArn) {
+ return videoModelConfig.inferenceProfileArn;
+ }
+ return undefined;
+};
+
// API call, extract string from output, etc.
const createConverseCommandInput = (
@@ -437,8 +484,9 @@ const createConverseCommandInput = (
const guardrailConfig = createGuardrailConfig();
+ const modelIdOrArn = getInferenceProfileArn(model.modelId) || model.modelId;
const converseCommandInput: ConverseCommandInput = {
- modelId: model.modelId,
+ modelId: modelIdOrArn,
messages: conversationWithCache,
system: systemContextWithCache,
inferenceConfig: params.inferenceConfig,
@@ -1469,6 +1517,24 @@ export const BEDROCK_TEXT_GEN_MODELS: {
extractConverseOutput: extractConverseOutput,
extractConverseStreamOutput: extractConverseStreamOutput,
},
+ 'openai.gpt-oss-120b-1:0': {
+ defaultParams: OPENAI_DEFAULT_PARAMS,
+ usecaseParams: USECASE_DEFAULT_PARAMS,
+ createConverseCommandInput: createConverseCommandInputWithoutSystemContext,
+ createConverseStreamCommandInput:
+ createConverseStreamCommandInputWithoutSystemContext,
+ extractConverseOutput: extractConverseOutput,
+ extractConverseStreamOutput: extractConverseStreamOutput,
+ },
+ 'openai.gpt-oss-20b-1:0': {
+ defaultParams: OPENAI_DEFAULT_PARAMS,
+ usecaseParams: USECASE_DEFAULT_PARAMS,
+ createConverseCommandInput: createConverseCommandInputWithoutSystemContext,
+ createConverseStreamCommandInput:
+ createConverseStreamCommandInputWithoutSystemContext,
+ extractConverseOutput: extractConverseOutput,
+ extractConverseStreamOutput: extractConverseStreamOutput,
+ },
};
// Definition of parameters and functions for each image generation model
diff --git a/packages/cdk/lib/agent-core-stack.ts b/packages/cdk/lib/agent-core-stack.ts
new file mode 100644
index 000000000..86c105649
--- /dev/null
+++ b/packages/cdk/lib/agent-core-stack.ts
@@ -0,0 +1,65 @@
+import { Stack, StackProps, CfnOutput } from 'aws-cdk-lib';
+import { Construct } from 'constructs';
+import { GenericAgentCore } from './construct/generic-agent-core';
+import { ProcessedStackInput } from './stack-input';
+import { BucketInfo } from 'generative-ai-use-cases';
+
+export interface AgentCoreStackProps extends StackProps {
+ readonly params: ProcessedStackInput;
+}
+
+export class AgentCoreStack extends Stack {
+ public readonly genericAgentCore?: GenericAgentCore;
+
+ constructor(scope: Construct, id: string, props: AgentCoreStackProps) {
+ super(scope, id, props);
+
+ const params = props.params;
+
+ // Deploy Generic AgentCore Runtime if enabled
+ if (params.createGenericAgentCoreRuntime) {
+ this.genericAgentCore = new GenericAgentCore(this, 'GenericAgentCore', {
+ env: params.env,
+ });
+
+ // Output the runtime ARN for cross-stack reference
+ new CfnOutput(this, 'GenericAgentCoreRuntimeArn', {
+ value: this.genericAgentCore.deployedGenericRuntimeArn || '',
+ exportName: `${this.stackName}-GenericAgentCoreRuntimeArn`,
+ });
+
+ new CfnOutput(this, 'GenericAgentCoreRuntimeName', {
+ value: this.genericAgentCore.getGenericRuntimeConfig().name,
+ exportName: `${this.stackName}-GenericAgentCoreRuntimeName`,
+ });
+ }
+ }
+
+ /**
+ * Get the deployed generic runtime ARN
+ */
+ public get deployedGenericRuntimeArn(): string | undefined {
+ return this.genericAgentCore?.deployedGenericRuntimeArn;
+ }
+
+ /**
+ * Get the generic runtime configuration
+ */
+ public getGenericRuntimeConfig() {
+ return this.genericAgentCore?.getGenericRuntimeConfig();
+ }
+
+ /**
+ * Get the file bucket for Agent Core Runtime
+ */
+ public get fileBucket() {
+ return this.genericAgentCore?.fileBucket;
+ }
+
+ /**
+ * Get the file bucket information (bucket name and region)
+ */
+ public get fileBucketInfo(): BucketInfo | undefined {
+ return this.genericAgentCore?.fileBucketInfo;
+ }
+}
diff --git a/packages/cdk/lib/agent-stack.ts b/packages/cdk/lib/agent-stack.ts
index 8a11f8247..c53ea5a18 100644
--- a/packages/cdk/lib/agent-stack.ts
+++ b/packages/cdk/lib/agent-stack.ts
@@ -3,9 +3,11 @@ import { Construct } from 'constructs';
import { Agent } from './construct';
import { Agent as AgentType } from 'generative-ai-use-cases';
import { ProcessedStackInput } from './stack-input';
+import { IVpc } from 'aws-cdk-lib/aws-ec2';
export interface AgentStackProps extends StackProps {
readonly params: ProcessedStackInput;
+ readonly vpc?: IVpc;
}
export class AgentStack extends Stack {
@@ -20,6 +22,7 @@ export class AgentStack extends Stack {
searchAgentEnabled,
searchApiKey,
searchEngine,
+ vpc: props.vpc,
});
this.agents = agent.agents;
diff --git a/packages/cdk/lib/application-inference-profile-stack.ts b/packages/cdk/lib/application-inference-profile-stack.ts
new file mode 100644
index 000000000..cd576a623
--- /dev/null
+++ b/packages/cdk/lib/application-inference-profile-stack.ts
@@ -0,0 +1,65 @@
+import { Stack, StackProps } from 'aws-cdk-lib';
+import { Construct } from 'constructs';
+import {
+ CfnApplicationInferenceProfile,
+ FoundationModel,
+} from 'aws-cdk-lib/aws-bedrock';
+import { ProcessedStackInput } from './stack-input';
+
+export interface ApplicationInferenceProfileStackProps extends StackProps {
+ readonly params: ProcessedStackInput;
+}
+
+export class ApplicationInferenceProfileStack extends Stack {
+ public readonly inferenceProfileArns: Record = {};
+
+ constructor(
+ scope: Construct,
+ id: string,
+ props: ApplicationInferenceProfileStackProps
+ ) {
+ super(scope, id, props);
+ const params = props.params;
+ const currentRegion = props.env?.region;
+
+ const createInferenceProfiles = (modelIds: typeof params.modelIds) => {
+ for (const modelId of modelIds) {
+ // Inference Profile is not supported Cross Region Inference
+ if (
+ modelId.region === currentRegion &&
+ !modelId.modelId.startsWith('us.') &&
+ !modelId.modelId.startsWith('apac.') &&
+ !modelId.modelId.startsWith('eu.')
+ ) {
+ const inferenceProfileNamePrefix = modelId.modelId
+ .replace(/\./g, '-')
+ .replace(/:/g, '-');
+ const model = FoundationModel.fromFoundationModelId(
+ this,
+ `FoundationModel${inferenceProfileNamePrefix}`,
+ {
+ modelId: modelId.modelId,
+ }
+ );
+ const inferenceProfile = new CfnApplicationInferenceProfile(
+ this,
+ `ApplicationInferenceProfile${model.modelId}`,
+ {
+ inferenceProfileName: `${inferenceProfileNamePrefix}${params.env}`,
+ modelSource: {
+ copyFrom: model.modelArn,
+ },
+ }
+ );
+ this.inferenceProfileArns[modelId.modelId] =
+ inferenceProfile.attrInferenceProfileArn;
+ }
+ }
+ };
+
+ createInferenceProfiles(params.modelIds);
+ createInferenceProfiles(params.imageGenerationModelIds);
+ createInferenceProfiles(params.videoGenerationModelIds);
+ createInferenceProfiles(params.speechToSpeechModelIds);
+ }
+}
diff --git a/packages/cdk/lib/closed-network-stack.ts b/packages/cdk/lib/closed-network-stack.ts
new file mode 100644
index 000000000..7835c2be1
--- /dev/null
+++ b/packages/cdk/lib/closed-network-stack.ts
@@ -0,0 +1,116 @@
+import { CfnOutput, Stack, StackProps } from 'aws-cdk-lib';
+import { Construct } from 'constructs';
+import * as ec2 from 'aws-cdk-lib/aws-ec2';
+import * as s3 from 'aws-cdk-lib/aws-s3';
+import * as agw from 'aws-cdk-lib/aws-apigateway';
+import { ProcessedStackInput } from './stack-input';
+import {
+ ClosedVpc,
+ ClosedWeb,
+ CognitoPrivateProxy,
+ WindowsRdp,
+ Resolver,
+} from './construct';
+
+export interface ClosedNetworkStackProps extends StackProps {
+ readonly params: ProcessedStackInput;
+}
+
+export class ClosedNetworkStack extends Stack {
+ public readonly vpc: ec2.IVpc;
+ public readonly apiGatewayVpcEndpoint: ec2.InterfaceVpcEndpoint;
+ public readonly webBucket: s3.Bucket;
+ public readonly cognitoUserPoolProxyApi: agw.RestApi;
+ public readonly cognitoIdPoolProxyApi: agw.RestApi;
+
+ constructor(scope: Construct, id: string, props: ClosedNetworkStackProps) {
+ super(scope, id, props);
+
+ const {
+ closedNetworkVpcId,
+ closedNetworkVpcIpv4Cidr,
+ closedNetworkSubnetIds,
+ closedNetworkCertificateArn,
+ closedNetworkDomainName,
+ closedNetworkCreateTestEnvironment,
+ closedNetworkCreateResolverEndpoint,
+ modelRegion,
+ modelIds,
+ } = props.params;
+
+ if (this.region !== modelRegion) {
+ throw new Error(
+ `The app region and modelRegion must be same if closedNetworkMode=true (${this.region} vs ${modelRegion})`
+ );
+ }
+
+ const modelRegions = [
+ ...new Set(
+ modelIds.map(
+ (model: { modelId: string; region: string }) => model.region
+ )
+ ),
+ ];
+
+ if (modelRegions.length !== 1 || modelRegions[0] !== this.region) {
+ throw new Error(
+ 'You cannot specify the regions other than the app region if closedNetworkMode=true'
+ );
+ }
+
+ const closedVpc = new ClosedVpc(this, 'ClosedVpc', {
+ vpcId: closedNetworkVpcId,
+ subnetIds: closedNetworkSubnetIds,
+ ipv4Cidr: closedNetworkVpcIpv4Cidr,
+ domainName: closedNetworkDomainName,
+ });
+
+ const closedWeb = new ClosedWeb(this, 'ClosedWeb', {
+ vpc: closedVpc.vpc,
+ subnetIds: closedNetworkSubnetIds,
+ hostedZone: closedVpc?.hostedZone,
+ certificateArn: closedNetworkCertificateArn,
+ });
+
+ const cognitoPrivateProxy = new CognitoPrivateProxy(
+ this,
+ 'CognitoPrivateProxy',
+ {
+ vpcEndpoint: closedVpc.apiGatewayVpcEndpoint,
+ }
+ );
+
+ const webUrl =
+ closedVpc.hostedZone && closedNetworkCertificateArn
+ ? `https://${closedVpc.hostedZone.zoneName}`
+ : `http://${closedWeb.alb.loadBalancerDnsName}`;
+
+ new CfnOutput(this, 'WebUrl', {
+ value: webUrl,
+ });
+
+ if (closedNetworkCreateResolverEndpoint) {
+ const resolver = new Resolver(this, 'Resolver', {
+ vpc: closedVpc.vpc,
+ subnetIds: closedNetworkSubnetIds,
+ });
+
+ new CfnOutput(this, 'ResolverId', {
+ value: resolver.resolverEndpoint.ref,
+ });
+ }
+
+ if (closedNetworkCreateTestEnvironment) {
+ new WindowsRdp(this, 'WindowsRdp', {
+ vpc: closedVpc.vpc,
+ subnetIds: closedNetworkSubnetIds,
+ });
+ }
+
+ this.vpc = closedVpc.vpc;
+ this.webBucket = closedWeb.bucket;
+ this.apiGatewayVpcEndpoint = closedVpc.apiGatewayVpcEndpoint;
+ this.cognitoUserPoolProxyApi = cognitoPrivateProxy.cognitoUserPoolProxyApi;
+ this.cognitoIdPoolProxyApi = cognitoPrivateProxy.cognitoIdPoolProxyApi;
+ }
+}
diff --git a/packages/cdk/lib/construct/agent-core.ts b/packages/cdk/lib/construct/agent-core.ts
new file mode 100644
index 000000000..7b2ae2af9
--- /dev/null
+++ b/packages/cdk/lib/construct/agent-core.ts
@@ -0,0 +1,53 @@
+import { Construct } from 'constructs';
+import { IdentityPool } from 'aws-cdk-lib/aws-cognito-identitypool';
+import { Effect, Policy, PolicyStatement } from 'aws-cdk-lib/aws-iam';
+import { AgentCoreConfiguration } from 'generative-ai-use-cases';
+
+export interface AgentCoreProps {
+ readonly agentCoreExternalRuntimes: AgentCoreConfiguration[];
+ readonly idPool: IdentityPool;
+ readonly genericRuntimeArn?: string; // ARN from the separate AgentCore stack
+ readonly genericRuntimeName?: string; // Name from the separate AgentCore stack
+}
+
+export class AgentCore extends Construct {
+ private readonly _genericRuntimeArn?: string;
+ private readonly _genericRuntimeName?: string;
+
+ constructor(scope: Construct, id: string, props: AgentCoreProps) {
+ super(scope, id);
+
+ this._genericRuntimeArn = props.genericRuntimeArn;
+ this._genericRuntimeName = props.genericRuntimeName;
+
+ // Grant invoke permissions to identity pool
+ this.grantInvokePermissions(props.idPool, props.agentCoreExternalRuntimes);
+ }
+
+ /**
+ * Grant invoke permissions to identity pool for all runtimes
+ */
+ private grantInvokePermissions(
+ idPool: IdentityPool,
+ externalRuntimes: AgentCoreConfiguration[]
+ ): void {
+ const resources = [
+ ...(this._genericRuntimeArn ? [this._genericRuntimeArn + '*'] : []),
+ ...externalRuntimes.map((runtime) => runtime.arn + '*'),
+ ];
+
+ if (resources.length > 0) {
+ idPool.authenticatedRole.attachInlinePolicy(
+ new Policy(this, 'AgentCoreRuntimePolicy', {
+ statements: [
+ new PolicyStatement({
+ effect: Effect.ALLOW,
+ actions: ['bedrock-agentcore:InvokeAgentRuntime'],
+ resources: resources,
+ }),
+ ],
+ })
+ );
+ }
+ }
+}
diff --git a/packages/cdk/lib/construct/agent.ts b/packages/cdk/lib/construct/agent.ts
index d5b2a316f..86e0024b7 100644
--- a/packages/cdk/lib/construct/agent.ts
+++ b/packages/cdk/lib/construct/agent.ts
@@ -18,12 +18,14 @@ import { CfnAgent, CfnAgentAlias } from 'aws-cdk-lib/aws-bedrock';
import { Agent as AgentType } from 'generative-ai-use-cases';
import { LAMBDA_RUNTIME_NODEJS } from '../../consts';
import { StackInput } from '../stack-input';
+import { IVpc } from 'aws-cdk-lib/aws-ec2';
interface AgentProps {
// Context Params
readonly searchAgentEnabled: boolean;
readonly searchApiKey?: string | null;
readonly searchEngine?: StackInput['searchEngine'];
+ readonly vpc?: IVpc;
}
export class Agent extends Construct {
@@ -90,6 +92,7 @@ export class Agent extends Construct {
SEARCH_API_KEY: searchApiKey ?? '',
SEARCH_ENGINE: searchEngine,
},
+ vpc: props.vpc,
}
);
bedrockAgentLambda.grantInvoke(
diff --git a/packages/cdk/lib/construct/api.ts b/packages/cdk/lib/construct/api.ts
index 1e840a696..7ec7ff329 100644
--- a/packages/cdk/lib/construct/api.ts
+++ b/packages/cdk/lib/construct/api.ts
@@ -6,6 +6,7 @@ import {
LambdaIntegration,
RestApi,
ResponseType,
+ EndpointType,
} from 'aws-cdk-lib/aws-apigateway';
import { UserPool, UserPoolClient } from 'aws-cdk-lib/aws-cognito';
import { IFunction } from 'aws-cdk-lib/aws-lambda';
@@ -13,7 +14,12 @@ import { Construct } from 'constructs';
import { NodejsFunction } from 'aws-cdk-lib/aws-lambda-nodejs';
import { Table } from 'aws-cdk-lib/aws-dynamodb';
import { IdentityPool } from 'aws-cdk-lib/aws-cognito-identitypool';
-import { Effect, PolicyStatement } from 'aws-cdk-lib/aws-iam';
+import {
+ AnyPrincipal,
+ Effect,
+ PolicyDocument,
+ PolicyStatement,
+} from 'aws-cdk-lib/aws-iam';
import {
BlockPublicAccess,
Bucket,
@@ -29,6 +35,11 @@ import {
} from '@generative-ai-use-cases/common';
import { allowS3AccessWithSourceIpCondition } from '../utils/s3-access-policy';
import { LAMBDA_RUNTIME_NODEJS } from '../../consts';
+import {
+ InterfaceVpcEndpoint,
+ IVpc,
+ ISecurityGroup,
+} from 'aws-cdk-lib/aws-ec2';
export interface BackendApiProps {
// Context Params
@@ -44,6 +55,7 @@ export interface BackendApiProps {
readonly crossAccountBedrockRoleArn?: string | null;
readonly allowedIpV4AddressRanges?: string[] | null;
readonly allowedIpV6AddressRanges?: string[] | null;
+ readonly additionalS3Buckets?: Bucket[];
// Resource
readonly userPool: UserPool;
@@ -55,6 +67,11 @@ export interface BackendApiProps {
readonly agents?: Agent[];
readonly guardrailIdentify?: string;
readonly guardrailVersion?: string;
+
+ // Closed network
+ readonly vpc?: IVpc;
+ readonly securityGroups?: ISecurityGroup[];
+ readonly apiGatewayVpcEndpoint?: InterfaceVpcEndpoint;
}
export class Api extends Construct {
@@ -88,6 +105,9 @@ export class Api extends Construct {
knowledgeBaseId,
queryDecompositionEnabled,
rerankingModelId,
+ vpc,
+ securityGroups,
+ apiGatewayVpcEndpoint,
} = props;
const agents: Agent[] = [...(props.agents ?? []), ...props.customAgents];
@@ -173,6 +193,8 @@ export class Api extends Construct {
bundling: {
nodeModules: ['@aws-sdk/client-bedrock-runtime'],
},
+ vpc,
+ securityGroups,
});
const predictStreamFunction = new NodejsFunction(this, 'PredictStream', {
@@ -208,6 +230,8 @@ export class Api extends Construct {
'@aws-sdk/client-sagemaker-runtime',
],
},
+ vpc,
+ securityGroups,
});
fileBucket.grantReadWrite(predictStreamFunction);
predictStreamFunction.grantInvoke(idPool.authenticatedRole);
@@ -226,6 +250,8 @@ export class Api extends Construct {
environment: {
MODEL_REGION: modelRegion,
},
+ vpc,
+ securityGroups,
});
invokeFlowFunction.grantInvoke(idPool.authenticatedRole);
@@ -250,6 +276,8 @@ export class Api extends Construct {
? { GUARDRAIL_VERSION: props.guardrailVersion }
: {}),
},
+ vpc,
+ securityGroups,
});
table.grantWriteData(predictTitleFunction);
@@ -267,6 +295,8 @@ export class Api extends Construct {
bundling: {
nodeModules: ['@aws-sdk/client-bedrock-runtime'],
},
+ vpc,
+ securityGroups,
});
const generateVideoFunction = new NodejsFunction(this, 'GenerateVideo', {
@@ -287,6 +317,8 @@ export class Api extends Construct {
bundling: {
nodeModules: ['@aws-sdk/client-bedrock-runtime'],
},
+ vpc,
+ securityGroups,
});
for (const region of Object.keys(props.videoBucketRegionMap)) {
const bucketName = props.videoBucketRegionMap[region];
@@ -321,6 +353,8 @@ export class Api extends Construct {
bundling: {
nodeModules: ['@aws-sdk/client-bedrock-runtime'],
},
+ vpc,
+ securityGroups,
});
for (const region of Object.keys(props.videoBucketRegionMap)) {
const bucketName = props.videoBucketRegionMap[region];
@@ -356,6 +390,8 @@ export class Api extends Construct {
bundling: {
nodeModules: ['@aws-sdk/client-bedrock-runtime'],
},
+ vpc,
+ securityGroups,
});
table.grantReadWriteData(listVideoJobs);
copyVideoJob.grantInvoke(listVideoJobs);
@@ -370,6 +406,8 @@ export class Api extends Construct {
VIDEO_GENERATION_MODEL_IDS: JSON.stringify(videoGenerationModelIds),
TABLE_NAME: table.tableName,
},
+ vpc,
+ securityGroups,
});
table.grantWriteData(deleteVideoJob);
@@ -386,6 +424,8 @@ export class Api extends Construct {
environment: {
MODEL_REGION: modelRegion,
},
+ vpc,
+ securityGroups,
}
);
optimizePromptFunction.grantInvoke(idPool.authenticatedRole);
@@ -397,6 +437,8 @@ export class Api extends Construct {
environment: {
BUCKET_NAME: fileBucket.bucketName,
},
+ vpc,
+ securityGroups,
});
// Grant S3 write permissions with source IP condition
if (getSignedUrlFunction.role) {
@@ -420,11 +462,15 @@ export class Api extends Construct {
timeout: Duration.minutes(15),
environment: {
CROSS_ACCOUNT_BEDROCK_ROLE_ARN: crossAccountBedrockRoleArn ?? '',
+ MODEL_REGION: modelRegion,
},
+ vpc,
+ securityGroups,
}
);
// Grant S3 read permissions with source IP condition
if (getFileDownloadSignedUrlFunction.role) {
+ // Default bucket permissions
allowS3AccessWithSourceIpCondition(
fileBucket.bucketName,
getFileDownloadSignedUrlFunction.role,
@@ -434,6 +480,21 @@ export class Api extends Construct {
ipv6: props.allowedIpV6AddressRanges,
}
);
+
+ // Additional buckets permissions (AgentCore, external buckets, etc.)
+ if (props.additionalS3Buckets) {
+ props.additionalS3Buckets.forEach((bucket) => {
+ allowS3AccessWithSourceIpCondition(
+ bucket.bucketName,
+ getFileDownloadSignedUrlFunction.role!,
+ 'read',
+ {
+ ipv4: props.allowedIpV4AddressRanges,
+ ipv6: props.allowedIpV6AddressRanges,
+ }
+ );
+ });
+ }
}
// If SageMaker Endpoint exists, grant permission
@@ -514,6 +575,8 @@ export class Api extends Construct {
environment: {
TABLE_NAME: table.tableName,
},
+ vpc,
+ securityGroups,
});
table.grantWriteData(createChatFunction);
@@ -524,6 +587,8 @@ export class Api extends Construct {
environment: {
TABLE_NAME: table.tableName,
},
+ vpc,
+ securityGroups,
});
table.grantReadWriteData(deleteChatFunction);
@@ -536,6 +601,8 @@ export class Api extends Construct {
STATS_TABLE_NAME: props.statsTable.tableName,
BUCKET_NAME: fileBucket.bucketName,
},
+ vpc,
+ securityGroups,
});
table.grantReadWriteData(createMessagesFunction);
props.statsTable.grantReadWriteData(createMessagesFunction);
@@ -550,6 +617,8 @@ export class Api extends Construct {
environment: {
TABLE_NAME: table.tableName,
},
+ vpc,
+ securityGroups,
}
);
table.grantReadWriteData(updateChatTitleFunction);
@@ -561,6 +630,8 @@ export class Api extends Construct {
environment: {
TABLE_NAME: table.tableName,
},
+ vpc,
+ securityGroups,
});
table.grantReadData(listChatsFunction);
@@ -571,6 +642,8 @@ export class Api extends Construct {
environment: {
TABLE_NAME: table.tableName,
},
+ vpc,
+ securityGroups,
});
table.grantReadData(findChatbyIdFunction);
@@ -581,6 +654,8 @@ export class Api extends Construct {
environment: {
TABLE_NAME: table.tableName,
},
+ vpc,
+ securityGroups,
});
table.grantReadData(listMessagesFunction);
@@ -591,6 +666,8 @@ export class Api extends Construct {
environment: {
TABLE_NAME: table.tableName,
},
+ vpc,
+ securityGroups,
});
table.grantReadWriteData(updateFeedbackFunction);
@@ -598,6 +675,8 @@ export class Api extends Construct {
runtime: LAMBDA_RUNTIME_NODEJS,
entry: './lambda/getWebText.ts',
timeout: Duration.minutes(15),
+ vpc,
+ securityGroups,
});
const createShareId = new NodejsFunction(this, 'CreateShareId', {
@@ -607,6 +686,8 @@ export class Api extends Construct {
environment: {
TABLE_NAME: table.tableName,
},
+ vpc,
+ securityGroups,
});
table.grantReadWriteData(createShareId);
@@ -617,6 +698,8 @@ export class Api extends Construct {
environment: {
TABLE_NAME: table.tableName,
},
+ vpc,
+ securityGroups,
});
table.grantReadData(getSharedChat);
@@ -627,6 +710,8 @@ export class Api extends Construct {
environment: {
TABLE_NAME: table.tableName,
},
+ vpc,
+ securityGroups,
});
table.grantReadData(findShareId);
@@ -637,6 +722,8 @@ export class Api extends Construct {
environment: {
TABLE_NAME: table.tableName,
},
+ vpc,
+ securityGroups,
});
table.grantReadWriteData(deleteShareId);
@@ -650,6 +737,8 @@ export class Api extends Construct {
environment: {
TABLE_NAME: table.tableName,
},
+ vpc,
+ securityGroups,
}
);
table.grantReadData(listSystemContextsFunction);
@@ -664,6 +753,8 @@ export class Api extends Construct {
environment: {
TABLE_NAME: table.tableName,
},
+ vpc,
+ securityGroups,
}
);
table.grantWriteData(createSystemContextFunction);
@@ -678,6 +769,8 @@ export class Api extends Construct {
environment: {
TABLE_NAME: table.tableName,
},
+ vpc,
+ securityGroups,
}
);
table.grantReadWriteData(updateSystemContextTitleFunction);
@@ -692,6 +785,8 @@ export class Api extends Construct {
environment: {
TABLE_NAME: table.tableName,
},
+ vpc,
+ securityGroups,
}
);
table.grantReadWriteData(deleteSystemContextFunction);
@@ -703,6 +798,8 @@ export class Api extends Construct {
environment: {
BUCKET_NAME: fileBucket.bucketName,
},
+ vpc,
+ securityGroups,
});
fileBucket.grantDelete(deleteFileFunction);
@@ -714,6 +811,8 @@ export class Api extends Construct {
TABLE_NAME: table.tableName,
STATS_TABLE_NAME: props.statsTable.tableName,
},
+ vpc,
+ securityGroups,
});
table.grantReadData(getTokenUsageFunction);
props.statsTable.grantReadData(getTokenUsageFunction);
@@ -738,6 +837,31 @@ export class Api extends Construct {
},
cloudWatchRole: true,
defaultMethodOptions: commonAuthorizerProps,
+ endpointConfiguration: vpc
+ ? {
+ types: [EndpointType.PRIVATE],
+ vpcEndpoints: [apiGatewayVpcEndpoint!],
+ }
+ : undefined,
+ policy: vpc
+ ? new PolicyDocument({
+ statements: [apiGatewayVpcEndpoint!].map(
+ (e: InterfaceVpcEndpoint) => {
+ return new PolicyStatement({
+ effect: Effect.ALLOW,
+ principals: [new AnyPrincipal()],
+ actions: ['execute-api:Invoke'],
+ resources: ['execute-api:/*'],
+ conditions: {
+ StringEquals: {
+ 'aws:SourceVpce': e.vpcEndpointId,
+ },
+ },
+ });
+ }
+ ),
+ })
+ : undefined,
});
api.addGatewayResponse('Api4XX', {
diff --git a/packages/cdk/lib/construct/closedNetwork/closed-vpc.ts b/packages/cdk/lib/construct/closedNetwork/closed-vpc.ts
new file mode 100644
index 000000000..7d3963f8f
--- /dev/null
+++ b/packages/cdk/lib/construct/closedNetwork/closed-vpc.ts
@@ -0,0 +1,129 @@
+import { Construct } from 'constructs';
+import * as ec2 from 'aws-cdk-lib/aws-ec2';
+import { PrivateHostedZone } from 'aws-cdk-lib/aws-route53';
+
+const VPC_ENDPOINTS: Record = {
+ // VPC Endpoints required by user side
+ ApiGateway: ec2.InterfaceVpcEndpointAwsService.APIGATEWAY,
+ Lambda: ec2.InterfaceVpcEndpointAwsService.LAMBDA,
+ Transcribe: ec2.InterfaceVpcEndpointAwsService.TRANSCRIBE,
+ TranscribeStreaming: ec2.InterfaceVpcEndpointAwsService.TRANSCRIBE_STREAMING,
+ Polly: ec2.InterfaceVpcEndpointAwsService.POLLY,
+ // VPC Endpoints required by app side
+ Bedrock: ec2.InterfaceVpcEndpointAwsService.BEDROCK_RUNTIME,
+ BedrockAgent: ec2.InterfaceVpcEndpointAwsService.BEDROCK_AGENT_RUNTIME,
+ BedrockAgentApi: ec2.InterfaceVpcEndpointAwsService.BEDROCK_AGENT,
+ Ecr: ec2.InterfaceVpcEndpointAwsService.ECR,
+ EcrDocker: ec2.InterfaceVpcEndpointAwsService.ECR_DOCKER,
+ CloudWatchLogs: ec2.InterfaceVpcEndpointAwsService.CLOUDWATCH_LOGS,
+ Kendra: ec2.InterfaceVpcEndpointAwsService.KENDRA,
+ Sts: ec2.InterfaceVpcEndpointAwsService.STS,
+};
+
+export interface ClosedVpcProps {
+ readonly vpcId?: string | null;
+ readonly subnetIds?: string[] | null;
+ readonly ipv4Cidr: string;
+ readonly domainName?: string | null;
+}
+
+export class ClosedVpc extends Construct {
+ public readonly vpc: ec2.IVpc;
+ public readonly apiGatewayVpcEndpoint: ec2.InterfaceVpcEndpoint;
+ public readonly hostedZone: PrivateHostedZone | undefined;
+
+ constructor(scope: Construct, id: string, props: ClosedVpcProps) {
+ super(scope, id);
+
+ let vpc: ec2.IVpc;
+
+ if (props.vpcId) {
+ vpc = ec2.Vpc.fromLookup(this, 'ImportedVpc', {
+ vpcId: props.vpcId,
+ });
+ } else {
+ vpc = new ec2.Vpc(this, 'ClosedVpc', {
+ ipAddresses: ec2.IpAddresses.cidr(props.ipv4Cidr),
+ maxAzs: 2,
+ subnetConfiguration: [
+ {
+ name: 'isolated',
+ subnetType: ec2.SubnetType.PRIVATE_ISOLATED,
+ },
+ ],
+ });
+ }
+
+ vpc.addGatewayEndpoint('S3GatewayEndpoint', {
+ service: ec2.GatewayVpcEndpointAwsService.S3,
+ });
+
+ vpc.addGatewayEndpoint('DynamoDbGatewayEndpoint', {
+ service: ec2.GatewayVpcEndpointAwsService.DYNAMODB,
+ });
+
+ const securityGroup = new ec2.SecurityGroup(this, 'SecurityGroup', {
+ vpc,
+ });
+
+ securityGroup.addIngressRule(
+ ec2.Peer.ipv4(vpc.vpcCidrBlock),
+ ec2.Port.tcp(443)
+ );
+
+ const securityGroupWebSocket = new ec2.SecurityGroup(
+ this,
+ 'SecurityGroupWebSocket',
+ {
+ vpc,
+ }
+ );
+
+ securityGroupWebSocket.addIngressRule(
+ ec2.Peer.ipv4(vpc.vpcCidrBlock),
+ ec2.Port.tcp(443)
+ );
+
+ securityGroupWebSocket.addIngressRule(
+ ec2.Peer.ipv4(vpc.vpcCidrBlock),
+ ec2.Port.tcp(8443)
+ );
+
+ for (const [name, service] of Object.entries(VPC_ENDPOINTS)) {
+ const vpcEndpoint = new ec2.InterfaceVpcEndpoint(
+ this,
+ `VpcEndpoint${name}`,
+ {
+ vpc,
+ service,
+ subnets: props.subnetIds
+ ? {
+ subnetFilters: [ec2.SubnetFilter.byIds(props.subnetIds)],
+ }
+ : {
+ subnetType: ec2.SubnetType.PRIVATE_ISOLATED,
+ },
+ securityGroups: [
+ name !== 'TranscribeStreaming'
+ ? securityGroup
+ : securityGroupWebSocket,
+ ],
+ privateDnsEnabled: true,
+ }
+ );
+
+ if (name === 'ApiGateway') {
+ this.apiGatewayVpcEndpoint = vpcEndpoint;
+ }
+ }
+
+ if (props.domainName) {
+ this.hostedZone = new PrivateHostedZone(this, 'HostedZone', {
+ vpc,
+ zoneName: props.domainName,
+ });
+ }
+
+ this.vpc = vpc;
+ }
+}
diff --git a/packages/cdk/lib/construct/closedNetwork/closed-web.ts b/packages/cdk/lib/construct/closedNetwork/closed-web.ts
new file mode 100644
index 000000000..cdf8c2c1c
--- /dev/null
+++ b/packages/cdk/lib/construct/closedNetwork/closed-web.ts
@@ -0,0 +1,133 @@
+import { RemovalPolicy } from 'aws-cdk-lib';
+import { Construct } from 'constructs';
+import { IVpc, SubnetFilter, SubnetType } from 'aws-cdk-lib/aws-ec2';
+import {
+ PrivateHostedZone,
+ ARecord,
+ RecordTarget,
+} from 'aws-cdk-lib/aws-route53';
+import { LoadBalancerTarget } from 'aws-cdk-lib/aws-route53-targets';
+import * as s3 from 'aws-cdk-lib/aws-s3';
+import { Certificate } from 'aws-cdk-lib/aws-certificatemanager';
+import {
+ Cluster,
+ ContainerImage,
+ CpuArchitecture,
+ OperatingSystemFamily,
+} from 'aws-cdk-lib/aws-ecs';
+import { ApplicationLoadBalancedFargateService } from 'aws-cdk-lib/aws-ecs-patterns';
+import { Platform } from 'aws-cdk-lib/aws-ecr-assets';
+import { ApplicationLoadBalancer } from 'aws-cdk-lib/aws-elasticloadbalancingv2';
+
+export interface ClosedWebProps {
+ vpc: IVpc;
+ subnetIds?: string[] | null;
+ // For HTTPS listener
+ hostedZone?: PrivateHostedZone;
+ certificateArn?: string | null;
+}
+
+export class ClosedWeb extends Construct {
+ public readonly bucket: s3.Bucket;
+ public readonly alb: ApplicationLoadBalancer;
+
+ constructor(scope: Construct, id: string, props: ClosedWebProps) {
+ super(scope, id);
+
+ const bucket = new s3.Bucket(this, 'WebBucket', {
+ blockPublicAccess: s3.BlockPublicAccess.BLOCK_ALL,
+ encryption: s3.BucketEncryption.S3_MANAGED,
+ autoDeleteObjects: true,
+ removalPolicy: RemovalPolicy.DESTROY,
+ objectOwnership: s3.ObjectOwnership.OBJECT_WRITER,
+ enforceSSL: true,
+ });
+
+ const cluster = new Cluster(this, 'Cluster', { vpc: props.vpc });
+
+ const httpsProps =
+ props.hostedZone && props.certificateArn
+ ? {
+ certificate: Certificate.fromCertificateArn(
+ this,
+ 'Certificate',
+ props.certificateArn
+ ),
+ domainZone: props.hostedZone,
+ }
+ : {};
+
+ const loadBalancer = new ApplicationLoadBalancer(this, 'Alb', {
+ vpc: props.vpc,
+ internetFacing: false,
+ vpcSubnets: props.subnetIds
+ ? {
+ subnetFilters: [SubnetFilter.byIds(props.subnetIds)],
+ }
+ : {
+ subnetType: SubnetType.PRIVATE_ISOLATED,
+ },
+ });
+
+ const service = new ApplicationLoadBalancedFargateService(this, 'Service', {
+ cluster,
+ cpu: 256,
+ memoryLimitMiB: 512,
+ desiredCount: 1,
+ taskImageOptions: {
+ image: ContainerImage.fromAsset('./fargate-s3-server', {
+ platform: Platform.LINUX_AMD64,
+ }),
+ containerPort: 8080,
+ environment: {
+ BUCKET_NAME: bucket.bucketName,
+ },
+ },
+ loadBalancer,
+ publicLoadBalancer: false,
+ runtimePlatform: {
+ cpuArchitecture: CpuArchitecture.X86_64,
+ operatingSystemFamily: OperatingSystemFamily.LINUX,
+ },
+ taskSubnets: props.subnetIds
+ ? {
+ subnetFilters: [SubnetFilter.byIds(props.subnetIds)],
+ }
+ : {
+ subnetType: SubnetType.PRIVATE_ISOLATED,
+ },
+ ...httpsProps,
+ });
+
+ service.targetGroup.configureHealthCheck({
+ path: '/healthcheck',
+ });
+
+ const target = service.service.autoScaleTaskCount({
+ minCapacity: 1,
+ maxCapacity: 20,
+ });
+
+ target.scaleOnCpuUtilization('CpuScaling', {
+ targetUtilizationPercent: 50,
+ });
+
+ target.scaleOnMemoryUtilization('MemoryScaling', {
+ targetUtilizationPercent: 50,
+ });
+
+ bucket.grantRead(service.taskDefinition.taskRole);
+
+ if (props.hostedZone) {
+ new ARecord(this, 'LbRecord', {
+ zone: props.hostedZone,
+ target: RecordTarget.fromAlias(
+ new LoadBalancerTarget(service.loadBalancer)
+ ),
+ });
+ }
+
+ this.bucket = bucket;
+ this.alb = service.loadBalancer;
+ }
+}
diff --git a/packages/cdk/lib/construct/closedNetwork/cognito-private-proxy.ts b/packages/cdk/lib/construct/closedNetwork/cognito-private-proxy.ts
new file mode 100644
index 000000000..a342bf646
--- /dev/null
+++ b/packages/cdk/lib/construct/closedNetwork/cognito-private-proxy.ts
@@ -0,0 +1,217 @@
+import * as cdk from 'aws-cdk-lib';
+import * as agw from 'aws-cdk-lib/aws-apigateway';
+import * as ec2 from 'aws-cdk-lib/aws-ec2';
+import * as iam from 'aws-cdk-lib/aws-iam';
+import { Construct } from 'constructs';
+
+export interface CognitoPrivateProxyProps {
+ readonly vpcEndpoint: ec2.IInterfaceVpcEndpoint;
+}
+
+export class CognitoPrivateProxy extends Construct {
+ public readonly cognitoUserPoolProxyApi: agw.RestApi;
+ public readonly cognitoIdPoolProxyApi: agw.RestApi;
+
+ constructor(scope: Construct, id: string, props: CognitoPrivateProxyProps) {
+ super(scope, id);
+
+ const region = cdk.Stack.of(this).region;
+ const cognitoUserPoolEndpoint = `https://cognito-idp.${region}.amazonaws.com`;
+ const cognitoIdPoolEndpoint = `https://cognito-identity.${region}.amazonaws.com`;
+
+ this.cognitoUserPoolProxyApi = new agw.RestApi(
+ this,
+ 'CognitoUserPoolProxyApi',
+ {
+ restApiName: 'GenU Cognito UserPool Proxy API',
+ defaultCorsPreflightOptions: {
+ allowOrigins: agw.Cors.ALL_ORIGINS,
+ allowMethods: ['POST', 'OPTIONS'],
+ allowHeaders: [
+ 'amz-sdk-invocation-id',
+ 'amz-sdk-request',
+ 'cache-control',
+ 'content-type',
+ 'x-amz-target',
+ 'x-amz-user-agent',
+ ],
+ },
+ endpointConfiguration: {
+ types: [agw.EndpointType.PRIVATE],
+ vpcEndpoints: [props.vpcEndpoint],
+ },
+ policy: new iam.PolicyDocument({
+ statements: [
+ new iam.PolicyStatement({
+ effect: iam.Effect.DENY,
+ principals: [new iam.AnyPrincipal()],
+ actions: ['execute-api:Invoke'],
+ resources: ['execute-api:/*'],
+ conditions: {
+ StringNotEquals: {
+ 'aws:SourceVpce': props.vpcEndpoint.vpcEndpointId,
+ },
+ },
+ }),
+ new iam.PolicyStatement({
+ effect: iam.Effect.ALLOW,
+ principals: [new iam.AnyPrincipal()],
+ actions: ['execute-api:Invoke'],
+ resources: ['execute-api:/*'],
+ }),
+ ],
+ }),
+ }
+ );
+
+ // Add POST method to the root resource to proxy Cognito UserPool requests
+ this.cognitoUserPoolProxyApi.root.addMethod(
+ 'POST',
+ new agw.HttpIntegration(cognitoUserPoolEndpoint, {
+ proxy: true,
+ httpMethod: 'POST',
+ options: {
+ requestParameters: {
+ 'integration.request.header.Authorization':
+ 'method.request.header.Authorization',
+ 'integration.request.header.Content-Type':
+ 'method.request.header.Content-Type',
+ 'integration.request.header.X-Amz-Target':
+ 'method.request.header.X-Amz-Target',
+ 'integration.request.header.X-Amz-User-Agent':
+ 'method.request.header.X-Amz-User-Agent',
+ },
+ passthroughBehavior: agw.PassthroughBehavior.WHEN_NO_MATCH,
+ integrationResponses: [
+ {
+ statusCode: '200',
+ responseParameters: {
+ 'method.response.header.Access-Control-Allow-Origin': `'*'`,
+ 'method.response.header.Access-Control-Allow-Headers':
+ "'Content-Type,Authorization,Cache-Control,X-Amz-Target,X-Amz-User-Agent'",
+ 'method.response.header.Access-Control-Allow-Methods':
+ "'POST,OPTIONS'",
+ },
+ },
+ ],
+ },
+ }),
+ {
+ requestParameters: {
+ 'method.request.header.Authorization': false,
+ 'method.request.header.Content-Type': false,
+ 'method.request.header.X-Amz-Target': false,
+ 'method.request.header.X-Amz-User-Agent': false,
+ },
+ methodResponses: [
+ {
+ statusCode: '200',
+ responseParameters: {
+ 'method.response.header.Access-Control-Allow-Origin': true,
+ 'method.response.header.Access-Control-Allow-Headers': true,
+ 'method.response.header.Access-Control-Allow-Methods': true,
+ },
+ },
+ ],
+ }
+ );
+
+ // Create private API Gateway for Cognito Identity Pool proxy with enhanced logging
+ this.cognitoIdPoolProxyApi = new agw.RestApi(
+ this,
+ 'CognitoIdPoolProxyApi',
+ {
+ restApiName: 'GenU Cognito ID Pool Proxy API',
+ defaultCorsPreflightOptions: {
+ allowOrigins: agw.Cors.ALL_ORIGINS,
+ allowMethods: ['POST', 'OPTIONS'],
+ allowHeaders: [
+ 'amz-sdk-invocation-id',
+ 'amz-sdk-request',
+ 'cache-control',
+ 'content-type',
+ 'x-amz-target',
+ 'x-amz-user-agent',
+ ],
+ },
+ endpointConfiguration: {
+ types: [agw.EndpointType.PRIVATE],
+ vpcEndpoints: [props.vpcEndpoint],
+ },
+ policy: new iam.PolicyDocument({
+ statements: [
+ new iam.PolicyStatement({
+ effect: iam.Effect.DENY,
+ principals: [new iam.AnyPrincipal()],
+ actions: ['execute-api:Invoke'],
+ resources: ['execute-api:/*'],
+ conditions: {
+ StringNotEquals: {
+ 'aws:SourceVpce': props.vpcEndpoint.vpcEndpointId,
+ },
+ },
+ }),
+ new iam.PolicyStatement({
+ effect: iam.Effect.ALLOW,
+ principals: [new iam.AnyPrincipal()],
+ actions: ['execute-api:Invoke'],
+ resources: ['execute-api:/*'],
+ }),
+ ],
+ }),
+ }
+ );
+
+ // Add POST method to the root resource to proxy Cognito Identity PPool requests
+ this.cognitoIdPoolProxyApi.root.addMethod(
+ 'POST',
+ new agw.HttpIntegration(cognitoIdPoolEndpoint, {
+ proxy: true,
+ httpMethod: 'POST',
+ options: {
+ requestParameters: {
+ 'integration.request.header.Authorization':
+ 'method.request.header.Authorization',
+ 'integration.request.header.Content-Type':
+ 'method.request.header.Content-Type',
+ 'integration.request.header.X-Amz-Target':
+ 'method.request.header.X-Amz-Target',
+ 'integration.request.header.X-Amz-User-Agent':
+ 'method.request.header.X-Amz-User-Agent',
+ },
+ passthroughBehavior: agw.PassthroughBehavior.WHEN_NO_MATCH,
+ integrationResponses: [
+ {
+ statusCode: '200',
+ responseParameters: {
+ 'method.response.header.Access-Control-Allow-Origin': `'*'`,
+ 'method.response.header.Access-Control-Allow-Headers':
+ "'Content-Type,Authorization,Cache-Control,X-Amz-Target,X-Amz-User-Agent'",
+ 'method.response.header.Access-Control-Allow-Methods':
+ "'POST,OPTIONS'",
+ },
+ },
+ ],
+ },
+ }),
+ {
+ requestParameters: {
+ 'method.request.header.Authorization': false,
+ 'method.request.header.Content-Type': false,
+ 'method.request.header.X-Amz-Target': false,
+ 'method.request.header.X-Amz-User-Agent': false,
+ },
+ methodResponses: [
+ {
+ statusCode: '200',
+ responseParameters: {
+ 'method.response.header.Access-Control-Allow-Origin': true,
+ 'method.response.header.Access-Control-Allow-Headers': true,
+ 'method.response.header.Access-Control-Allow-Methods': true,
+ },
+ },
+ ],
+ }
+ );
+ }
+}
diff --git a/packages/cdk/lib/construct/closedNetwork/index.ts b/packages/cdk/lib/construct/closedNetwork/index.ts
new file mode 100644
index 000000000..46554f5ee
--- /dev/null
+++ b/packages/cdk/lib/construct/closedNetwork/index.ts
@@ -0,0 +1,5 @@
+export * from './closed-vpc';
+export * from './closed-web';
+export * from './windows-rdp';
+export * from './cognito-private-proxy';
+export * from './resolver';
diff --git a/packages/cdk/lib/construct/closedNetwork/resolver.ts b/packages/cdk/lib/construct/closedNetwork/resolver.ts
new file mode 100644
index 000000000..fb0e837c2
--- /dev/null
+++ b/packages/cdk/lib/construct/closedNetwork/resolver.ts
@@ -0,0 +1,70 @@
+import {
+ IVpc,
+ Peer,
+ Port,
+ SecurityGroup,
+ ISubnet,
+ SubnetType,
+ SubnetFilter,
+} from 'aws-cdk-lib/aws-ec2';
+import { CfnResolverEndpoint } from 'aws-cdk-lib/aws-route53resolver';
+import { Construct } from 'constructs';
+
+export interface ResolverProps {
+ vpc: IVpc;
+ subnetIds?: string[] | null;
+}
+
+export class Resolver extends Construct {
+ public readonly resolverEndpoint: CfnResolverEndpoint;
+
+ constructor(scope: Construct, id: string, props: ResolverProps) {
+ super(scope, id);
+
+ const resolverSecurityGroup = new SecurityGroup(
+ this,
+ 'ResolverSecurityGroup',
+ {
+ vpc: props.vpc,
+ allowAllOutbound: true,
+ }
+ );
+
+ resolverSecurityGroup.addIngressRule(
+ Peer.anyIpv4(),
+ Port.tcp(53),
+ 'DNS TCP'
+ );
+ resolverSecurityGroup.addIngressRule(
+ Peer.anyIpv4(),
+ Port.udp(53),
+ 'DNS UDP'
+ );
+
+ const subnets = props.vpc.selectSubnets(
+ props.subnetIds
+ ? {
+ subnetFilters: [SubnetFilter.byIds(props.subnetIds)],
+ }
+ : {
+ subnetType: SubnetType.PRIVATE_ISOLATED,
+ }
+ ).subnets;
+
+ const ipAddresses: CfnResolverEndpoint.IpAddressRequestProperty[] =
+ subnets.map((s: ISubnet) => ({ subnetId: s.subnetId }));
+
+ // https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-route53resolver-resolverendpoint.html#cfn-route53resolver-resolverendpoint-ipaddresses
+ if (ipAddresses.length < 2) {
+ throw new Error('Need at least 2 isolated subnets in different AZs.');
+ }
+
+ const resolverEndpoint = new CfnResolverEndpoint(this, 'InbountEndpoint', {
+ direction: 'INBOUND',
+ ipAddresses,
+ securityGroupIds: [resolverSecurityGroup.securityGroupId],
+ });
+
+ this.resolverEndpoint = resolverEndpoint;
+ }
+}
diff --git a/packages/cdk/lib/construct/closedNetwork/windows-rdp.ts b/packages/cdk/lib/construct/closedNetwork/windows-rdp.ts
new file mode 100644
index 000000000..5593aabcb
--- /dev/null
+++ b/packages/cdk/lib/construct/closedNetwork/windows-rdp.ts
@@ -0,0 +1,112 @@
+import * as cdk from 'aws-cdk-lib';
+import { Construct } from 'constructs';
+import * as ec2 from 'aws-cdk-lib/aws-ec2';
+import * as iam from 'aws-cdk-lib/aws-iam';
+
+const VPC_ENDPOINTS: Record = {
+ Ssm: ec2.InterfaceVpcEndpointAwsService.SSM,
+ SsmMessages: ec2.InterfaceVpcEndpointAwsService.SSM_MESSAGES,
+ Ec2Messages: ec2.InterfaceVpcEndpointAwsService.EC2_MESSAGES,
+};
+
+export interface WindowsRdpProps {
+ readonly vpc: ec2.IVpc;
+ readonly subnetIds?: string[] | null;
+}
+
+export class WindowsRdp extends Construct {
+ constructor(scope: Construct, id: string, props: WindowsRdpProps) {
+ super(scope, id);
+
+ const region = cdk.Stack.of(this).region;
+ const keyPair = new ec2.KeyPair(this, 'WindowsKeyPair');
+
+ new cdk.CfnOutput(this, 'GetSSMKeyCommand', {
+ value: `aws ssm get-parameter --name /ec2/keypair/${keyPair.keyPairId} --region ${
+ region
+ } --with-decryption --query Parameter.Value --output text`,
+ });
+
+ const windowsSecurityGroup = new ec2.SecurityGroup(this, 'WindowsSg', {
+ vpc: props.vpc,
+ });
+
+ const vpcEndpointSecurityGroup = new ec2.SecurityGroup(
+ this,
+ 'WindowsVpcEndpointSg',
+ {
+ vpc: props.vpc,
+ }
+ );
+
+ vpcEndpointSecurityGroup.addIngressRule(
+ ec2.Peer.ipv4(props.vpc.vpcCidrBlock),
+ ec2.Port.tcp(443)
+ );
+
+ for (const [name, service] of Object.entries(VPC_ENDPOINTS)) {
+ const vpcEndpoint = new ec2.InterfaceVpcEndpoint(
+ this,
+ `VpcEndpoint${name}`,
+ {
+ vpc: props.vpc,
+ service,
+ subnets: props.subnetIds
+ ? {
+ subnetFilters: [ec2.SubnetFilter.byIds(props.subnetIds)],
+ }
+ : {
+ subnetType: ec2.SubnetType.PRIVATE_ISOLATED,
+ },
+ securityGroups: [vpcEndpointSecurityGroup],
+ privateDnsEnabled: true,
+ }
+ );
+
+ windowsSecurityGroup.connections.allowFrom(
+ vpcEndpoint,
+ ec2.Port.tcp(443)
+ );
+ }
+
+ const role = new iam.Role(this, 'WindowsRole', {
+ assumedBy: new iam.ServicePrincipal('ec2.amazonaws.com'),
+ });
+
+ role.addManagedPolicy(
+ iam.ManagedPolicy.fromAwsManagedPolicyName('AmazonSSMManagedInstanceCore')
+ );
+
+ new ec2.Instance(this, 'windowsInstance', {
+ vpc: props.vpc,
+ vpcSubnets: props.subnetIds
+ ? {
+ subnetFilters: [ec2.SubnetFilter.byIds(props.subnetIds)],
+ }
+ : {
+ subnetType: ec2.SubnetType.PRIVATE_ISOLATED,
+ },
+ securityGroup: windowsSecurityGroup,
+ instanceType: ec2.InstanceType.of(
+ ec2.InstanceClass.MEMORY6_INTEL,
+ ec2.InstanceSize.LARGE
+ ),
+ machineImage: ec2.MachineImage.latestWindows(
+ ec2.WindowsVersion.WINDOWS_SERVER_2025_ENGLISH_FULL_BASE
+ ),
+ keyPair,
+ instanceProfile: new iam.InstanceProfile(this, 'InstanceProfile', {
+ role,
+ }),
+ blockDevices: [
+ {
+ deviceName: '/dev/sda1',
+ volume: ec2.BlockDeviceVolume.ebs(100, {
+ volumeType: ec2.EbsDeviceVolumeType.GP3,
+ encrypted: true,
+ }),
+ },
+ ],
+ });
+ }
+}
diff --git a/packages/cdk/lib/construct/generic-agent-core.ts b/packages/cdk/lib/construct/generic-agent-core.ts
new file mode 100644
index 000000000..c32f798ee
--- /dev/null
+++ b/packages/cdk/lib/construct/generic-agent-core.ts
@@ -0,0 +1,505 @@
+import { Construct } from 'constructs';
+import {
+ Effect,
+ PolicyStatement,
+ Role,
+ ServicePrincipal,
+ ManagedPolicy,
+} from 'aws-cdk-lib/aws-iam';
+import { CustomResource, Duration, Stack, RemovalPolicy } from 'aws-cdk-lib';
+import { Provider } from 'aws-cdk-lib/custom-resources';
+import { NodejsFunction } from 'aws-cdk-lib/aws-lambda-nodejs';
+import { Repository } from 'aws-cdk-lib/aws-ecr';
+import { DockerImageAsset, Platform } from 'aws-cdk-lib/aws-ecr-assets';
+import {
+ Bucket,
+ BlockPublicAccess,
+ BucketEncryption,
+} from 'aws-cdk-lib/aws-s3';
+import { BucketInfo } from 'generative-ai-use-cases';
+import * as path from 'path';
+import { LAMBDA_RUNTIME_NODEJS } from '../../consts';
+
+export interface AgentCoreRuntimeConfig {
+ name: string;
+ instructions?: string;
+ memorySize?: number;
+ customRuntimeConfig?: Record;
+ dockerPath?: string; // Docker file path of AgentCore Runtime
+ networkMode?: string; // PUBLIC
+ serverProtocol?: string; // HTTP, MCP
+ environmentVariables?: Record;
+}
+
+export interface GenericAgentCoreProps {
+ // Add any specific configuration props if needed
+ env: string;
+}
+
+// UUID for Agent Core Runtime
+const AGENT_CORE_RUNTIME_UUID = 'B8F5E892-3A1C-4D2F-9B7E-6C8A5F9D2E1B';
+
+export class GenericAgentCore extends Construct {
+ private _deployedGenericRuntimeArn?: string;
+ private _ecrRepository?: Repository;
+ private _imageUri?: string;
+ private readonly genericRuntimeConfig: AgentCoreRuntimeConfig;
+ private readonly _fileBucket: Bucket;
+
+ constructor(scope: Construct, id: string, props: GenericAgentCoreProps) {
+ super(scope, id);
+
+ const { env } = props;
+
+ // Create dedicated S3 bucket for Agent Core Runtime
+ this._fileBucket = new Bucket(this, 'AgentCoreFileBucket', {
+ blockPublicAccess: BlockPublicAccess.BLOCK_ALL,
+ encryption: BucketEncryption.S3_MANAGED,
+ removalPolicy: RemovalPolicy.DESTROY,
+ autoDeleteObjects: true,
+ });
+
+ // Default configuration for Generic AgentCore Runtime
+ this.genericRuntimeConfig = {
+ name: `GenericAgentCoreRuntime${env}`,
+ instructions: 'You are a helpful assistant powered by AWS Bedrock.',
+ memorySize: 2048,
+ dockerPath: 'lambda-python/generic-agent-core-runtime',
+ networkMode: 'PUBLIC',
+ serverProtocol: 'HTTP',
+ environmentVariables: {
+ FILE_BUCKET: this._fileBucket.bucketName,
+ },
+ };
+
+ // Deploy generic AgentCore Runtime
+ const result = this.deployGenericRuntime();
+ this._ecrRepository = result.repository;
+ this._imageUri = result.imageUri;
+ }
+
+ /**
+ * Deploy the generic AgentCore Runtime
+ */
+ private deployGenericRuntime(): { repository: Repository; imageUri: string } {
+ const dockerImageAsset = this.createDockerImageAsset();
+ const { customResourceRole, agentCoreRuntimeRole } = this.createIamRoles();
+ const customResourceProvider =
+ this.createCustomResourceProvider(customResourceRole);
+
+ const customResource = this.createAgentCoreRuntime(
+ 'GenericAgentCoreRuntime',
+ this.genericRuntimeConfig,
+ agentCoreRuntimeRole,
+ customResourceProvider,
+ dockerImageAsset.imageUri
+ );
+
+ // Get the actual runtime ARN and ID from CustomResource response
+ this._deployedGenericRuntimeArn = customResource.getAttString(
+ 'AgentCoreRuntimeArn'
+ );
+
+ return dockerImageAsset;
+ }
+
+ /**
+ * Create Docker image asset for the MCP API
+ */
+ private createDockerImageAsset(): {
+ repository: Repository;
+ imageUri: string;
+ } {
+ const dockerPath =
+ this.genericRuntimeConfig.dockerPath ||
+ 'lambda-python/generic-agent-core-runtime';
+ const pathName = dockerPath.replace(/[^a-zA-Z0-9]/g, '-').toLowerCase();
+
+ const repository = new Repository(this, 'AgentCoreRuntimeRepository', {
+ repositoryName: `${pathName}-${Stack.of(this).stackName.toLowerCase()}`,
+ imageScanOnPush: true,
+ removalPolicy: RemovalPolicy.DESTROY,
+ });
+
+ const dockerAsset = new DockerImageAsset(
+ this,
+ 'AgentCoreRuntimeDockerAsset',
+ {
+ directory: path.join(__dirname, `../../${dockerPath}`),
+ platform: Platform.LINUX_ARM64, // AgentCore for ARM platform
+ }
+ );
+
+ return {
+ repository,
+ imageUri: dockerAsset.imageUri,
+ };
+ }
+
+ /**
+ * Create IAM roles for AgentCore operations
+ */
+ private createIamRoles(): {
+ customResourceRole: Role;
+ agentCoreRuntimeRole: Role;
+ } {
+ const customResourceRole = this.createCustomResourceRole();
+ const agentCoreRuntimeRole = this.createAgentCoreRuntimeRole();
+
+ return { customResourceRole, agentCoreRuntimeRole };
+ }
+
+ /**
+ * Create IAM role for Custom Resource operations
+ */
+ private createCustomResourceRole(): Role {
+ const role = new Role(this, 'AgentCoreCustomResourceRole', {
+ assumedBy: new ServicePrincipal('lambda.amazonaws.com'),
+ managedPolicies: [
+ ManagedPolicy.fromAwsManagedPolicyName(
+ 'service-role/AWSLambdaBasicExecutionRole'
+ ),
+ ],
+ });
+
+ role.addToPolicy(
+ new PolicyStatement({
+ sid: 'BedrockAgentCorePermissions',
+ effect: Effect.ALLOW,
+ actions: ['bedrock-agentcore:*'],
+ resources: ['*'],
+ })
+ );
+
+ role.addToPolicy(
+ new PolicyStatement({
+ sid: 'IAMPassRolePermissions',
+ effect: Effect.ALLOW,
+ actions: ['iam:PassRole'],
+ resources: ['*'],
+ conditions: {
+ StringEquals: {
+ 'iam:PassedToService': 'bedrock-agentcore.amazonaws.com',
+ },
+ },
+ })
+ );
+
+ return role;
+ }
+
+ /**
+ * Create IAM role for AgentCore Runtime execution with comprehensive permissions
+ */
+ private createAgentCoreRuntimeRole(): Role {
+ const role = new Role(this, 'AgentCoreRuntimeRole', {
+ assumedBy: new ServicePrincipal('bedrock-agentcore.amazonaws.com', {
+ conditions: {
+ StringEquals: {
+ 'aws:SourceAccount': Stack.of(this).account,
+ },
+ ArnLike: {
+ 'aws:SourceArn': `arn:aws:bedrock-agentcore:${Stack.of(this).region}:${Stack.of(this).account}:*`,
+ },
+ },
+ }),
+ managedPolicies: [
+ ManagedPolicy.fromAwsManagedPolicyName(
+ 'service-role/AWSLambdaBasicExecutionRole'
+ ),
+ ],
+ });
+
+ // Bedrock
+
+ role.addToPolicy(
+ new PolicyStatement({
+ sid: 'BedrockPermissions',
+ effect: Effect.ALLOW,
+ actions: [
+ 'bedrock:InvokeModel',
+ 'bedrock:InvokeModelWithResponseStream',
+ ],
+ resources: ['*'],
+ })
+ );
+
+ // ECR
+
+ role.addToPolicy(
+ new PolicyStatement({
+ sid: 'ECRImageAccess',
+ effect: Effect.ALLOW,
+ actions: ['ecr:BatchGetImage', 'ecr:GetDownloadUrlForLayer'],
+ resources: [
+ `arn:aws:ecr:${Stack.of(this).region}:${Stack.of(this).account}:repository/*`,
+ ],
+ })
+ );
+
+ role.addToPolicy(
+ new PolicyStatement({
+ sid: 'ECRTokenAccess',
+ effect: Effect.ALLOW,
+ actions: ['ecr:GetAuthorizationToken'],
+ resources: ['*'],
+ })
+ );
+
+ // Logging
+
+ const logGroupArn = `arn:aws:logs:${Stack.of(this).region}:${Stack.of(this).account}:log-group:/aws/bedrock-agentcore/runtimes/*`;
+
+ role.addToPolicy(
+ new PolicyStatement({
+ effect: Effect.ALLOW,
+ actions: ['logs:DescribeLogStreams', 'logs:CreateLogGroup'],
+ resources: [logGroupArn],
+ })
+ );
+
+ role.addToPolicy(
+ new PolicyStatement({
+ effect: Effect.ALLOW,
+ actions: ['logs:DescribeLogGroups'],
+ resources: [
+ `arn:aws:logs:${Stack.of(this).region}:${Stack.of(this).account}:log-group:*`,
+ ],
+ })
+ );
+
+ role.addToPolicy(
+ new PolicyStatement({
+ effect: Effect.ALLOW,
+ actions: ['logs:CreateLogStream', 'logs:PutLogEvents'],
+ resources: [`${logGroupArn}:log-stream:*`],
+ })
+ );
+
+ // Monitoring
+ role.addToPolicy(
+ new PolicyStatement({
+ effect: Effect.ALLOW,
+ actions: [
+ 'xray:PutTraceSegments',
+ 'xray:PutTelemetryRecords',
+ 'xray:GetSamplingRules',
+ 'xray:GetSamplingTargets',
+ ],
+ resources: ['*'],
+ })
+ );
+
+ role.addToPolicy(
+ new PolicyStatement({
+ effect: Effect.ALLOW,
+ actions: ['cloudwatch:PutMetricData'],
+ resources: ['*'],
+ conditions: {
+ StringEquals: {
+ 'cloudwatch:namespace': 'bedrock-agentcore',
+ },
+ },
+ })
+ );
+
+ // Workload
+
+ role.addToPolicy(
+ new PolicyStatement({
+ sid: 'GetAgentAccessToken',
+ effect: Effect.ALLOW,
+ actions: [
+ 'bedrock-agentcore:GetWorkloadAccessToken',
+ 'bedrock-agentcore:GetWorkloadAccessTokenForJWT',
+ 'bedrock-agentcore:GetWorkloadAccessTokenForUserId',
+ ],
+ resources: [
+ `arn:aws:bedrock-agentcore:${Stack.of(this).region}:${Stack.of(this).account}:workload-identity-directory/default`,
+ `arn:aws:bedrock-agentcore:${Stack.of(this).region}:${Stack.of(this).account}:workload-identity-directory/default/workload-identity/*`,
+ ],
+ })
+ );
+
+ // S3 File Bucket Access
+ this._fileBucket.grantReadWrite(role);
+
+ role.addToPolicy(
+ new PolicyStatement({
+ sid: 'S3BucketAccess',
+ effect: Effect.ALLOW,
+ actions: [
+ 's3:GetObject',
+ 's3:PutObject',
+ 's3:ListBucket',
+ 's3:DeleteObject',
+ ],
+ resources: [
+ this._fileBucket.bucketArn,
+ `${this._fileBucket.bucketArn}/*`,
+ ],
+ })
+ );
+
+ // Tools
+ role.addToPolicy(
+ new PolicyStatement({
+ sid: 'Tools',
+ effect: Effect.ALLOW,
+ actions: [
+ 'bedrock-agentcore:CreateCodeInterpreter',
+ 'bedrock-agentcore:StartCodeInterpreterSession',
+ 'bedrock-agentcore:InvokeCodeInterpreter',
+ 'bedrock-agentcore:StopCodeInterpreterSession',
+ 'bedrock-agentcore:DeleteCodeInterpreter',
+ 'bedrock-agentcore:ListCodeInterpreters',
+ 'bedrock-agentcore:GetCodeInterpreter',
+ 'bedrock-agentcore:GetCodeInterpreterSession',
+ 'bedrock-agentcore:ListCodeInterpreterSessions',
+ ],
+ resources: ['*'],
+ })
+ );
+
+ return role;
+ }
+
+ /**
+ * Get or create a singleton NodejsFunction using unique ID pattern
+ */
+ private getOrCreateSingletonFunction(
+ uniqueId: string,
+ functionName: string,
+ entry: string,
+ role: Role
+ ): NodejsFunction {
+ const stack = Stack.of(this);
+ const singletonId = `Singleton-${uniqueId}`;
+
+ // Try to find existing function in the stack scope
+ const existingConstruct = stack.node.tryFindChild(singletonId);
+
+ if (existingConstruct && existingConstruct instanceof NodejsFunction) {
+ // Reuse existing function
+ return existingConstruct;
+ }
+
+ // Create new NodejsFunction
+ return new NodejsFunction(stack, singletonId, {
+ functionName: `${functionName}-${Stack.of(this).stackName}-${uniqueId.slice(0, 8)}`,
+ description: `${functionName} CustomResource Lambda Function (Singleton)`,
+ runtime: LAMBDA_RUNTIME_NODEJS,
+ entry,
+ handler: 'handler',
+ timeout: Duration.minutes(10),
+ role,
+ environment: {
+ AWS_NODEJS_CONNECTION_REUSE_ENABLED: '1',
+ },
+ bundling: {
+ minify: false,
+ target: 'es2020',
+ nodeModules: ['@aws-sdk/client-bedrock-agentcore-control'],
+ },
+ });
+ }
+
+ /**
+ * Create Custom Resource provider with custom singleton logic
+ */
+ private createCustomResourceProvider(customResourceRole: Role): Provider {
+ const lambdaFunction = this.getOrCreateSingletonFunction(
+ AGENT_CORE_RUNTIME_UUID,
+ 'AgentCoreRuntime',
+ path.join(
+ __dirname,
+ '../../custom-resources/agent-core-runtime/index.ts'
+ ),
+ customResourceRole
+ );
+
+ return new Provider(this, 'AgentCoreRuntimeProvider', {
+ onEventHandler: lambdaFunction,
+ });
+ }
+
+ /**
+ * Create individual AgentCore Runtime using Custom Resource
+ */
+ private createAgentCoreRuntime(
+ id: string,
+ config: AgentCoreRuntimeConfig,
+ agentCoreRuntimeRole: Role,
+ customResourceProvider: Provider,
+ imageUri: string
+ ): CustomResource {
+ if (!imageUri) {
+ throw new Error(
+ `AgentCore Runtime '${config.name}' requires imageUri to be provided`
+ );
+ }
+
+ const customConfig = { ...config.customRuntimeConfig };
+ customConfig.containerImageUri = imageUri;
+
+ if (config.environmentVariables) {
+ customConfig.environmentVariables = config.environmentVariables;
+ }
+
+ return new CustomResource(this, id, {
+ serviceToken: customResourceProvider.serviceToken,
+ properties: {
+ AgentCoreRuntimeName: config.name,
+ RoleArn: agentCoreRuntimeRole.roleArn,
+ NetworkMode: config.networkMode || 'PUBLIC',
+ ServerProtocol: config.serverProtocol || 'HTTP',
+ CustomConfig: customConfig,
+ },
+ });
+ }
+
+ /**
+ * Get ECR repository
+ */
+ public get ecrRepository(): Repository | undefined {
+ return this._ecrRepository;
+ }
+
+ /**
+ * Get MCP API image URI
+ */
+ public get imageUri(): string | undefined {
+ return this._imageUri;
+ }
+
+ /**
+ * Get deployed generic runtime ARN
+ */
+ public get deployedGenericRuntimeArn(): string | undefined {
+ return this._deployedGenericRuntimeArn;
+ }
+
+ /**
+ * Get the generic runtime configuration
+ */
+ public getGenericRuntimeConfig(): AgentCoreRuntimeConfig {
+ return { ...this.genericRuntimeConfig };
+ }
+
+ /**
+ * Get the file bucket for Agent Core Runtime
+ */
+ public get fileBucket(): Bucket {
+ return this._fileBucket;
+ }
+
+ /**
+ * Get the file bucket information (bucket name and region)
+ */
+ public get fileBucketInfo(): BucketInfo {
+ return {
+ bucketName: this._fileBucket.bucketName,
+ region: Stack.of(this).region,
+ };
+ }
+}
diff --git a/packages/cdk/lib/construct/index.ts b/packages/cdk/lib/construct/index.ts
index 80b0ca64b..3a86a2a1a 100644
--- a/packages/cdk/lib/construct/index.ts
+++ b/packages/cdk/lib/construct/index.ts
@@ -10,3 +10,6 @@ export * from './rag-knowledge-base';
export * from './guardrail';
export * from './speech-to-speech';
export * from './mcp-api';
+export * from './closedNetwork';
+export * from './agent-core';
+export * from './generic-agent-core';
diff --git a/packages/cdk/lib/construct/mcp-api.ts b/packages/cdk/lib/construct/mcp-api.ts
index 5789ceb46..62300392b 100644
--- a/packages/cdk/lib/construct/mcp-api.ts
+++ b/packages/cdk/lib/construct/mcp-api.ts
@@ -12,11 +12,14 @@ import { PolicyStatement, Effect } from 'aws-cdk-lib/aws-iam';
import { IdentityPool } from 'aws-cdk-lib/aws-cognito-identitypool';
import { NetworkMode } from 'aws-cdk-lib/aws-ecr-assets';
import { Bucket } from 'aws-cdk-lib/aws-s3';
+import { ISecurityGroup, IVpc } from 'aws-cdk-lib/aws-ec2';
export interface McpApiProps {
readonly idPool: IdentityPool;
readonly isSageMakerStudio: boolean;
readonly fileBucket: Bucket;
+ readonly vpc?: IVpc;
+ readonly securityGroups?: ISecurityGroup[];
}
export class McpApi extends Construct {
@@ -38,6 +41,8 @@ export class McpApi extends Construct {
AWS_LWA_INVOKE_MODE: 'RESPONSE_STREAM',
FILE_BUCKET: props.fileBucket.bucketName,
},
+ vpc: props.vpc,
+ securityGroups: props.securityGroups,
});
mcpFunction.role?.addToPrincipalPolicy(
diff --git a/packages/cdk/lib/construct/rag-knowledge-base.ts b/packages/cdk/lib/construct/rag-knowledge-base.ts
index 81680148a..73deccbe1 100644
--- a/packages/cdk/lib/construct/rag-knowledge-base.ts
+++ b/packages/cdk/lib/construct/rag-knowledge-base.ts
@@ -10,6 +10,7 @@ import {
} from 'aws-cdk-lib/aws-apigateway';
import { NodejsFunction } from 'aws-cdk-lib/aws-lambda-nodejs';
import { LAMBDA_RUNTIME_NODEJS } from '../../consts';
+import { ISecurityGroup, IVpc } from 'aws-cdk-lib/aws-ec2';
export interface RagKnowledgeBaseProps {
// Context Params
@@ -20,6 +21,10 @@ export interface RagKnowledgeBaseProps {
readonly knowledgeBaseId: string;
readonly userPool: UserPool;
readonly api: RestApi;
+
+ // Closed network
+ readonly vpc?: IVpc;
+ readonly securityGroups?: ISecurityGroup[];
}
export class RagKnowledgeBase extends Construct {
@@ -37,6 +42,8 @@ export class RagKnowledgeBase extends Construct {
MODEL_REGION: modelRegion,
CROSS_ACCOUNT_BEDROCK_ROLE_ARN: props.crossAccountBedrockRoleArn ?? '',
},
+ vpc: props.vpc,
+ securityGroups: props.securityGroups,
});
if (!props.crossAccountBedrockRoleArn) {
diff --git a/packages/cdk/lib/construct/rag.ts b/packages/cdk/lib/construct/rag.ts
index 7e1eaa209..4306a11e8 100644
--- a/packages/cdk/lib/construct/rag.ts
+++ b/packages/cdk/lib/construct/rag.ts
@@ -18,6 +18,7 @@ import {
} from 'aws-cdk-lib/aws-apigateway';
import { NodejsFunction } from 'aws-cdk-lib/aws-lambda-nodejs';
import { LAMBDA_RUNTIME_NODEJS } from '../../consts';
+import { ISecurityGroup, IVpc } from 'aws-cdk-lib/aws-ec2';
const KENDRA_STATE_CFN_PARAMETER_NAME = 'kendraState';
@@ -34,6 +35,10 @@ export interface RagProps {
// Resource
readonly userPool: UserPool;
readonly api: RestApi;
+
+ // Closed network
+ readonly vpc?: IVpc;
+ readonly securityGroups?: ISecurityGroup[];
}
export interface IndexScheduleCron {
@@ -515,6 +520,8 @@ export class Rag extends Construct {
INDEX_ID: kendraIndexId,
LANGUAGE: kendraIndexLanguage,
},
+ vpc: props.vpc,
+ securityGroups: props.securityGroups,
});
queryFunction.role?.addToPrincipalPolicy(
new iam.PolicyStatement({
@@ -536,6 +543,8 @@ export class Rag extends Construct {
INDEX_ID: kendraIndexId,
LANGUAGE: kendraIndexLanguage,
},
+ vpc: props.vpc,
+ securityGroups: props.securityGroups,
});
retrieveFunction.role?.addToPrincipalPolicy(
new iam.PolicyStatement({
diff --git a/packages/cdk/lib/construct/speech-to-speech.ts b/packages/cdk/lib/construct/speech-to-speech.ts
index 98d024bad..2014b8ade 100644
--- a/packages/cdk/lib/construct/speech-to-speech.ts
+++ b/packages/cdk/lib/construct/speech-to-speech.ts
@@ -8,6 +8,7 @@ import { Effect, PolicyStatement } from 'aws-cdk-lib/aws-iam';
import { ModelConfiguration } from 'generative-ai-use-cases';
import { BEDROCK_SPEECH_TO_SPEECH_MODELS } from '@generative-ai-use-cases/common';
import { LAMBDA_RUNTIME_NODEJS } from '../../consts';
+import { ISecurityGroup, IVpc } from 'aws-cdk-lib/aws-ec2';
export interface SpeechToSpeechProps {
readonly envSuffix: string;
@@ -15,6 +16,8 @@ export interface SpeechToSpeechProps {
readonly api: agw.RestApi;
readonly speechToSpeechModelIds: ModelConfiguration[];
readonly crossAccountBedrockRoleArn?: string | null;
+ readonly vpc?: IVpc;
+ readonly securityGroups?: ISecurityGroup[];
}
export class SpeechToSpeech extends Construct {
@@ -76,12 +79,15 @@ export class SpeechToSpeech extends Construct {
environment: {
EVENT_API_ENDPOINT: eventApiEndpoint,
NAMESPACE: channelNamespaceName,
+ SPEECH_TO_SPEECH_MODEL_IDS: JSON.stringify(speechToSpeechModelIds),
CROSS_ACCOUNT_BEDROCK_ROLE_ARN: props.crossAccountBedrockRoleArn ?? '',
},
bundling: {
nodeModules: ['@aws-sdk/client-bedrock-runtime'],
},
memorySize: 512,
+ vpc: props.vpc,
+ securityGroups: props.securityGroups,
});
eventApi.grantConnect(speechToSpeechTask);
@@ -119,10 +125,13 @@ export class SpeechToSpeech extends Construct {
timeout: Duration.minutes(15),
environment: {
SPEECH_TO_SPEECH_TASK_FUNCTION_ARN: speechToSpeechTask.functionArn,
+ SPEECH_TO_SPEECH_MODEL_IDS: JSON.stringify(speechToSpeechModelIds),
},
bundling: {
nodeModules: ['@aws-sdk/client-bedrock-runtime'],
},
+ vpc: props.vpc,
+ securityGroups: props.securityGroups,
}
);
diff --git a/packages/cdk/lib/construct/transcribe.ts b/packages/cdk/lib/construct/transcribe.ts
index d05011260..c9a208fe6 100644
--- a/packages/cdk/lib/construct/transcribe.ts
+++ b/packages/cdk/lib/construct/transcribe.ts
@@ -18,6 +18,7 @@ import {
import { Construct } from 'constructs';
import { allowS3AccessWithSourceIpCondition } from '../utils/s3-access-policy';
import { LAMBDA_RUNTIME_NODEJS } from '../../consts';
+import { ISecurityGroup, IVpc } from 'aws-cdk-lib/aws-ec2';
export interface TranscribeProps {
readonly userPool: UserPool;
@@ -25,6 +26,8 @@ export interface TranscribeProps {
readonly api: RestApi;
readonly allowedIpV4AddressRanges?: string[] | null;
readonly allowedIpV6AddressRanges?: string[] | null;
+ readonly vpc?: IVpc;
+ readonly securityGroups?: ISecurityGroup[];
}
export class Transcribe extends Construct {
@@ -61,6 +64,8 @@ export class Transcribe extends Construct {
environment: {
BUCKET_NAME: audioBucket.bucketName,
},
+ vpc: props.vpc,
+ securityGroups: props.securityGroups,
});
if (getSignedUrlFunction.role) {
allowS3AccessWithSourceIpCondition(
@@ -91,6 +96,8 @@ export class Transcribe extends Construct {
resources: ['*'],
}),
],
+ vpc: props.vpc,
+ securityGroups: props.securityGroups,
}
);
audioBucket.grantRead(startTranscriptionFunction);
@@ -110,6 +117,8 @@ export class Transcribe extends Construct {
resources: ['*'],
}),
],
+ vpc: props.vpc,
+ securityGroups: props.securityGroups,
}
);
transcriptBucket.grantRead(getTranscriptionFunction);
diff --git a/packages/cdk/lib/construct/use-case-builder.ts b/packages/cdk/lib/construct/use-case-builder.ts
index b4376749d..3011d1a95 100644
--- a/packages/cdk/lib/construct/use-case-builder.ts
+++ b/packages/cdk/lib/construct/use-case-builder.ts
@@ -13,10 +13,13 @@ import { Duration } from 'aws-cdk-lib';
import { UserPool } from 'aws-cdk-lib/aws-cognito';
import * as ddb from 'aws-cdk-lib/aws-dynamodb';
import { LAMBDA_RUNTIME_NODEJS } from '../../consts';
+import { ISecurityGroup, IVpc } from 'aws-cdk-lib/aws-ec2';
export interface UseCaseBuilderProps {
readonly userPool: UserPool;
readonly api: RestApi;
+ readonly vpc?: IVpc;
+ readonly securityGroups?: ISecurityGroup[];
}
export class UseCaseBuilder extends Construct {
constructor(scope: Construct, id: string, props: UseCaseBuilderProps) {
@@ -57,6 +60,8 @@ export class UseCaseBuilder extends Construct {
USECASE_TABLE_NAME: useCaseBuilderTable.tableName,
USECASE_ID_INDEX_NAME: useCaseIdIndexName,
},
+ vpc: props.vpc,
+ securityGroups: props.securityGroups,
};
const commonPath = './lambda/useCaseBuilder';
diff --git a/packages/cdk/lib/construct/web.ts b/packages/cdk/lib/construct/web.ts
index f5a50a86b..42bee5e0c 100644
--- a/packages/cdk/lib/construct/web.ts
+++ b/packages/cdk/lib/construct/web.ts
@@ -6,10 +6,10 @@ import {
} from '@aws-solutions-constructs/aws-cloudfront-s3';
import {
CfnDistribution,
- Distribution,
ResponseHeadersPolicy,
HeadersFrameOption,
HeadersReferrerPolicy,
+ IDistribution,
} from 'aws-cdk-lib/aws-cloudfront';
import { NodejsBuild } from 'deploy-time-build';
import * as s3 from 'aws-cdk-lib/aws-s3';
@@ -17,6 +17,7 @@ import { ARecord, HostedZone, RecordTarget } from 'aws-cdk-lib/aws-route53';
import { CloudFrontTarget } from 'aws-cdk-lib/aws-route53-targets';
import { ICertificate } from 'aws-cdk-lib/aws-certificatemanager';
import {
+ AgentCoreConfiguration,
Flow,
HiddenUseCases,
ModelConfiguration,
@@ -58,58 +59,24 @@ export interface WebProps {
readonly speechToSpeechModelIds: ModelConfiguration[];
readonly mcpEnabled: boolean;
readonly mcpEndpoint: string | null;
+ readonly webBucket?: s3.Bucket;
+ readonly cognitoUserPoolProxyEndpoint?: string;
+ readonly cognitoIdentityPoolProxyEndpoint?: string;
+ readonly agentCoreEnabled: boolean;
+ readonly agentCoreGenericRuntime?: AgentCoreConfiguration;
+ readonly agentCoreExternalRuntimes: AgentCoreConfiguration[];
+ readonly agentCoreRegion?: string;
}
export class Web extends Construct {
- public readonly distribution: Distribution;
+ // public readonly distribution: Distribution;
+ public readonly webUrl: string;
constructor(scope: Construct, id: string, props: WebProps) {
super(scope, id);
- const cspSaml = props.samlCognitoDomainName
- ? ` https://${props.samlCognitoDomainName}`
- : '';
- const csp = `default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; img-src 'self' data: blob: https:; media-src 'self' blob: https://*.amazonaws.com; connect-src 'self' https://*.amazonaws.com https://*.amazoncognito.com wss://*.amazonaws.com:* https://*.on.aws https://raw.githubusercontent.com https://api.github.com${cspSaml}; font-src 'self' https://fonts.gstatic.com data:; object-src 'none'; frame-ancestors 'none'; frame-src 'self' https://www.youtube.com/;`;
-
- // Create Response Headers Policy for security headers
- const responseHeadersPolicy = new ResponseHeadersPolicy(
- this,
- 'SecurityHeadersPolicy',
- {
- securityHeadersBehavior: {
- // Content Security Policy configuration
- contentSecurityPolicy: {
- contentSecurityPolicy: csp,
- override: true,
- },
- // Clickjacking protection
- frameOptions: {
- frameOption: HeadersFrameOption.DENY,
- override: true,
- },
- // Other security headers
- strictTransportSecurity: {
- accessControlMaxAge: Duration.days(365 * 2),
- includeSubdomains: true,
- preload: true,
- override: true,
- },
- xssProtection: {
- protection: true,
- modeBlock: true,
- override: true,
- },
- contentTypeOptions: {
- override: true,
- },
- referrerPolicy: {
- referrerPolicy:
- HeadersReferrerPolicy.STRICT_ORIGIN_WHEN_CROSS_ORIGIN,
- override: true,
- },
- },
- }
- );
+ let distribution: IDistribution | undefined = undefined;
+ let webBucket: s3.IBucket;
const commonBucketProps: s3.BucketProps = {
blockPublicAccess: s3.BlockPublicAccess.BLOCK_ALL,
@@ -120,80 +87,135 @@ export class Web extends Construct {
enforceSSL: true,
};
- const cloudFrontToS3Props: CloudFrontToS3Props = {
- insertHttpSecurityHeaders: false,
- loggingBucketProps: commonBucketProps,
- bucketProps: commonBucketProps,
- cloudFrontLoggingBucketProps: commonBucketProps,
- cloudFrontLoggingBucketAccessLogBucketProps: commonBucketProps,
- cloudFrontDistributionProps: {
- defaultBehavior: {
- responseHeadersPolicy: responseHeadersPolicy,
- },
- errorResponses: [
- {
- httpStatus: 403,
- responseHttpStatus: 200,
- responsePagePath: '/index.html',
- },
- {
- httpStatus: 404,
- responseHttpStatus: 200,
- responsePagePath: '/index.html',
- },
- ],
- },
- };
-
- if (
- props.cert &&
- props.hostName &&
- props.domainName &&
- props.hostedZoneId
- ) {
- cloudFrontToS3Props.cloudFrontDistributionProps.certificate = props.cert;
- cloudFrontToS3Props.cloudFrontDistributionProps.domainNames = [
- `${props.hostName}.${props.domainName}`,
- ];
- }
-
- const { cloudFrontWebDistribution, s3BucketInterface } = new CloudFrontToS3(
- this,
- 'Web',
- cloudFrontToS3Props
- );
+ if (!props.webBucket) {
+ const cspSaml = props.samlCognitoDomainName
+ ? ` https://${props.samlCognitoDomainName}`
+ : '';
+ const csp = `default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; img-src 'self' data: blob: https:; media-src 'self' blob: https://*.amazonaws.com; connect-src 'self' https://*.amazonaws.com https://*.amazoncognito.com wss://*.amazonaws.com:* https://*.on.aws https://raw.githubusercontent.com https://api.github.com${cspSaml}; font-src 'self' https://fonts.gstatic.com data:; object-src 'none'; frame-ancestors 'none'; frame-src 'self' https://www.youtube.com/;`;
- if (
- props.cert &&
- props.hostName &&
- props.domainName &&
- props.hostedZoneId
- ) {
- // DNS record for custom domain
- const hostedZone = HostedZone.fromHostedZoneAttributes(
+ // Create Response Headers Policy for security headers
+ const responseHeadersPolicy = new ResponseHeadersPolicy(
this,
- 'HostedZone',
+ 'SecurityHeadersPolicy',
{
- hostedZoneId: props.hostedZoneId,
- zoneName: props.domainName,
+ securityHeadersBehavior: {
+ // Content Security Policy configuration
+ contentSecurityPolicy: {
+ contentSecurityPolicy: csp,
+ override: true,
+ },
+ // Clickjacking protection
+ frameOptions: {
+ frameOption: HeadersFrameOption.DENY,
+ override: true,
+ },
+ // Other security headers
+ strictTransportSecurity: {
+ accessControlMaxAge: Duration.days(365 * 2),
+ includeSubdomains: true,
+ preload: true,
+ override: true,
+ },
+ xssProtection: {
+ protection: true,
+ modeBlock: true,
+ override: true,
+ },
+ contentTypeOptions: {
+ override: true,
+ },
+ referrerPolicy: {
+ referrerPolicy:
+ HeadersReferrerPolicy.STRICT_ORIGIN_WHEN_CROSS_ORIGIN,
+ override: true,
+ },
+ },
}
);
- new ARecord(this, 'ARecord', {
- zone: hostedZone,
- recordName: props.hostName,
- target: RecordTarget.fromAlias(
- new CloudFrontTarget(cloudFrontWebDistribution)
- ),
- });
- }
- if (props.webAclId) {
- const existingCloudFrontWebDistribution = cloudFrontWebDistribution.node
- .defaultChild as CfnDistribution;
- existingCloudFrontWebDistribution.addPropertyOverride(
- 'DistributionConfig.WebACLId',
- props.webAclId
- );
+ const cloudFrontToS3Props: CloudFrontToS3Props = {
+ insertHttpSecurityHeaders: false,
+ loggingBucketProps: commonBucketProps,
+ bucketProps: commonBucketProps,
+ cloudFrontLoggingBucketProps: commonBucketProps,
+ cloudFrontLoggingBucketAccessLogBucketProps: commonBucketProps,
+ cloudFrontDistributionProps: {
+ defaultBehavior: {
+ responseHeadersPolicy: responseHeadersPolicy,
+ },
+ errorResponses: [
+ {
+ httpStatus: 403,
+ responseHttpStatus: 200,
+ responsePagePath: '/index.html',
+ },
+ {
+ httpStatus: 404,
+ responseHttpStatus: 200,
+ responsePagePath: '/index.html',
+ },
+ ],
+ },
+ };
+
+ if (
+ props.cert &&
+ props.hostName &&
+ props.domainName &&
+ props.hostedZoneId
+ ) {
+ cloudFrontToS3Props.cloudFrontDistributionProps.certificate =
+ props.cert;
+ cloudFrontToS3Props.cloudFrontDistributionProps.domainNames = [
+ `${props.hostName}.${props.domainName}`,
+ ];
+ }
+
+ const { cloudFrontWebDistribution, s3BucketInterface } =
+ new CloudFrontToS3(this, 'Web', cloudFrontToS3Props);
+
+ if (
+ props.cert &&
+ props.hostName &&
+ props.domainName &&
+ props.hostedZoneId
+ ) {
+ // DNS record for custom domain
+ const hostedZone = HostedZone.fromHostedZoneAttributes(
+ this,
+ 'HostedZone',
+ {
+ hostedZoneId: props.hostedZoneId,
+ zoneName: props.domainName,
+ }
+ );
+ new ARecord(this, 'ARecord', {
+ zone: hostedZone,
+ recordName: props.hostName,
+ target: RecordTarget.fromAlias(
+ new CloudFrontTarget(cloudFrontWebDistribution)
+ ),
+ });
+ this.webUrl = `https://${props.hostName}.${props.domainName}`;
+ } else {
+ this.webUrl = `https://${cloudFrontWebDistribution.domainName}`;
+ }
+
+ if (props.webAclId) {
+ const existingCloudFrontWebDistribution = cloudFrontWebDistribution.node
+ .defaultChild as CfnDistribution;
+ existingCloudFrontWebDistribution.addPropertyOverride(
+ 'DistributionConfig.WebACLId',
+ props.webAclId
+ );
+ }
+
+ distribution = cloudFrontWebDistribution;
+ webBucket = s3BucketInterface;
+ } else {
+ // Closed network
+ webBucket = props.webBucket!;
+ this.webUrl = 'CLOSED_NETWORK_MODE';
}
const build = new NodejsBuild(this, 'BuildWeb', {
@@ -222,8 +244,8 @@ export class Web extends Construct {
],
},
],
- destinationBucket: s3BucketInterface,
- distribution: cloudFrontWebDistribution,
+ destinationBucket: webBucket,
+ distribution: distribution,
outputSourceDirectory: './packages/web/dist',
buildCommands: ['npm ci', 'npm run web:build'],
buildEnvironment: {
@@ -264,13 +286,22 @@ export class Web extends Construct {
),
VITE_APP_MCP_ENABLED: props.mcpEnabled.toString(),
VITE_APP_MCP_ENDPOINT: props.mcpEndpoint ?? '',
+ VITE_APP_COGNITO_USER_POOL_PROXY_ENDPOINT:
+ props.cognitoUserPoolProxyEndpoint ?? '',
+ VITE_APP_COGNITO_IDENTITY_POOL_PROXY_ENDPOINT:
+ props.cognitoIdentityPoolProxyEndpoint ?? '',
+ VITE_APP_AGENT_CORE_ENABLED: props.agentCoreEnabled.toString(),
+ VITE_APP_AGENT_CORE_GENERIC_RUNTIME: JSON.stringify(
+ props.agentCoreGenericRuntime
+ ),
+ VITE_APP_AGENT_CORE_EXTERNAL_RUNTIMES: JSON.stringify(
+ props.agentCoreExternalRuntimes
+ ),
},
});
// Enhance computing resources
(
build.node.findChild('Project').node.defaultChild as CfnResource
).addPropertyOverride('Environment.ComputeType', ComputeType.MEDIUM);
-
- this.distribution = cloudFrontWebDistribution;
}
}
diff --git a/packages/cdk/lib/create-stacks.ts b/packages/cdk/lib/create-stacks.ts
index 9f8da7a81..76fa94693 100644
--- a/packages/cdk/lib/create-stacks.ts
+++ b/packages/cdk/lib/create-stacks.ts
@@ -6,8 +6,11 @@ import { DashboardStack } from './dashboard-stack';
import { AgentStack } from './agent-stack';
import { RagKnowledgeBaseStack } from './rag-knowledge-base-stack';
import { GuardrailStack } from './guardrail-stack';
+import { AgentCoreStack } from './agent-core-stack';
import { ProcessedStackInput } from './stack-input';
import { VideoTmpBucketStack } from './video-tmp-bucket-stack';
+import { ApplicationInferenceProfileStack } from './application-inference-profile-stack';
+import { ClosedNetworkStack } from './closed-network-stack';
class DeletionPolicySetter implements cdk.IAspect {
constructor(private readonly policy: cdk.RemovalPolicy) {}
@@ -19,64 +22,161 @@ class DeletionPolicySetter implements cdk.IAspect {
}
}
+// Merges inference profile ARNs into ModelIds and returns a new array
+const mergeModelIdsAndInferenceProfileArn = (
+ modelIds: ProcessedStackInput['modelIds'],
+ inferenceProfileStacks: Record
+) => {
+ return modelIds.map((modelId) => {
+ const result = { ...modelId };
+ const stack = inferenceProfileStacks[modelId.region];
+ if (stack && stack.inferenceProfileArns[modelId.modelId]) {
+ result.inferenceProfileArn = stack.inferenceProfileArns[modelId.modelId];
+ }
+ return result;
+ });
+};
+
export const createStacks = (app: cdk.App, params: ProcessedStackInput) => {
+ // Create an ApplicationInferenceProfile for each region of the model to be used
+ const modelRegions = [
+ ...new Set([
+ ...params.modelIds.map((model) => model.region),
+ ...params.imageGenerationModelIds.map((model) => model.region),
+ ...params.videoGenerationModelIds.map((model) => model.region),
+ ...params.speechToSpeechModelIds.map((model) => model.region),
+ ]),
+ ];
+ const inferenceProfileStacks: Record<
+ string,
+ ApplicationInferenceProfileStack
+ > = {};
+ for (const region of modelRegions) {
+ const applicationInferenceProfileStack =
+ new ApplicationInferenceProfileStack(
+ app,
+ `ApplicationInferenceProfileStack${params.env}${region}`,
+ {
+ env: {
+ account: params.account,
+ region,
+ },
+ params,
+ }
+ );
+ inferenceProfileStacks[region] = applicationInferenceProfileStack;
+ }
+
+ // Set inference profile ARNs to model IDs
+ const updatedParams: ProcessedStackInput = JSON.parse(JSON.stringify(params));
+ updatedParams.modelIds = mergeModelIdsAndInferenceProfileArn(
+ params.modelIds,
+ inferenceProfileStacks
+ );
+ updatedParams.imageGenerationModelIds = mergeModelIdsAndInferenceProfileArn(
+ params.imageGenerationModelIds,
+ inferenceProfileStacks
+ );
+ updatedParams.videoGenerationModelIds = mergeModelIdsAndInferenceProfileArn(
+ params.videoGenerationModelIds,
+ inferenceProfileStacks
+ );
+ updatedParams.speechToSpeechModelIds = mergeModelIdsAndInferenceProfileArn(
+ params.speechToSpeechModelIds,
+ inferenceProfileStacks
+ );
+
+ let closedNetworkStack: ClosedNetworkStack | undefined = undefined;
+
+ if (params.closedNetworkMode) {
+ closedNetworkStack = new ClosedNetworkStack(
+ app,
+ `ClosedNetworkStack${params.env}`,
+ {
+ env: {
+ account: params.account,
+ region: params.region,
+ },
+ params,
+ }
+ );
+ }
+
// CloudFront WAF
// Only deploy CloudFrontWafStack if IP address range (v4 or v6) or geographic restriction is defined
// WAF v2 is only deployable in us-east-1, so the Stack is separated
const cloudFrontWafStack =
- params.allowedIpV4AddressRanges ||
- params.allowedIpV6AddressRanges ||
- params.allowedCountryCodes ||
- params.hostName
+ (params.allowedIpV4AddressRanges ||
+ params.allowedIpV6AddressRanges ||
+ params.allowedCountryCodes ||
+ params.hostName) &&
+ !params.closedNetworkMode
? new CloudFrontWafStack(app, `CloudFrontWafStack${params.env}`, {
env: {
- account: params.account,
+ account: updatedParams.account,
region: 'us-east-1',
},
- params: params,
+ params: updatedParams,
crossRegionReferences: true,
})
: null;
// RAG Knowledge Base
const ragKnowledgeBaseStack =
- params.ragKnowledgeBaseEnabled && !params.ragKnowledgeBaseId
- ? new RagKnowledgeBaseStack(app, `RagKnowledgeBaseStack${params.env}`, {
- env: {
- account: params.account,
- region: params.modelRegion,
- },
- params: params,
- crossRegionReferences: true,
- })
+ updatedParams.ragKnowledgeBaseEnabled && !updatedParams.ragKnowledgeBaseId
+ ? new RagKnowledgeBaseStack(
+ app,
+ `RagKnowledgeBaseStack${updatedParams.env}`,
+ {
+ env: {
+ account: updatedParams.account,
+ region: updatedParams.modelRegion,
+ },
+ params: updatedParams,
+ crossRegionReferences: true,
+ }
+ )
: null;
// Agent
- if (params.crossAccountBedrockRoleArn) {
- if (params.agentEnabled || params.searchApiKey) {
+ if (updatedParams.crossAccountBedrockRoleArn) {
+ if (updatedParams.agentEnabled || updatedParams.searchApiKey) {
throw new Error(
'When `crossAccountBedrockRoleArn` is specified, the `agentEnabled` and `searchApiKey` parameters are not supported. Please create agents in the other account and specify them in the `agents` parameter.'
);
}
}
- const agentStack = params.agentEnabled
- ? new AgentStack(app, `WebSearchAgentStack${params.env}`, {
+ const agentStack = updatedParams.agentEnabled
+ ? new AgentStack(app, `WebSearchAgentStack${updatedParams.env}`, {
env: {
- account: params.account,
- region: params.modelRegion,
+ account: updatedParams.account,
+ region: updatedParams.modelRegion,
},
- params: params,
+ params: updatedParams,
crossRegionReferences: true,
+ vpc: closedNetworkStack?.vpc,
})
: null;
// Guardrail
- const guardrail = params.guardrailEnabled
- ? new GuardrailStack(app, `GuardrailStack${params.env}`, {
+ const guardrail = updatedParams.guardrailEnabled
+ ? new GuardrailStack(app, `GuardrailStack${updatedParams.env}`, {
+ env: {
+ account: updatedParams.account,
+ region: updatedParams.modelRegion,
+ },
+ crossRegionReferences: true,
+ })
+ : null;
+
+ // Agent Core Runtime
+ const agentCoreStack = params.createGenericAgentCoreRuntime
+ ? new AgentCoreStack(app, `AgentCoreStack${params.env}`, {
env: {
account: params.account,
- region: params.modelRegion,
+ region: params.agentCoreRegion,
},
+ params: params,
crossRegionReferences: true,
})
: null;
@@ -84,20 +184,22 @@ export const createStacks = (app: cdk.App, params: ProcessedStackInput) => {
// Create S3 Bucket for each unique region for StartAsyncInvoke in video generation
// because the S3 Bucket must be in the same region as Bedrock Runtime
const videoModelRegions = [
- ...new Set(params.videoGenerationModelIds.map((model) => model.region)),
+ ...new Set(
+ updatedParams.videoGenerationModelIds.map((model) => model.region)
+ ),
];
const videoBucketRegionMap: Record = {};
for (const region of videoModelRegions) {
const videoTmpBucketStack = new VideoTmpBucketStack(
app,
- `VideoTmpBucketStack${params.env}${region}`,
+ `VideoTmpBucketStack${updatedParams.env}${region}`,
{
env: {
- account: params.account,
+ account: updatedParams.account,
region,
},
- params,
+ params: updatedParams,
}
);
@@ -108,16 +210,16 @@ export const createStacks = (app: cdk.App, params: ProcessedStackInput) => {
const isSageMakerStudio = 'SAGEMAKER_APP_TYPE_LOWERCASE' in process.env;
const generativeAiUseCasesStack = new GenerativeAiUseCasesStack(
app,
- `GenerativeAiUseCasesStack${params.env}`,
+ `GenerativeAiUseCasesStack${updatedParams.env}`,
{
env: {
- account: params.account,
- region: params.region,
+ account: updatedParams.account,
+ region: updatedParams.region,
},
- description: params.anonymousUsageTracking
+ description: updatedParams.anonymousUsageTracking
? 'Generative AI Use Cases (uksb-1tupboc48)'
: undefined,
- params: params,
+ params: updatedParams,
crossRegionReferences: true,
// RAG Knowledge Base
knowledgeBaseId: ragKnowledgeBaseStack?.knowledgeBaseId,
@@ -125,6 +227,8 @@ export const createStacks = (app: cdk.App, params: ProcessedStackInput) => {
ragKnowledgeBaseStack?.dataSourceBucketName,
// Agent
agents: agentStack?.agents,
+ // Agent Core
+ agentCoreStack: agentCoreStack || undefined,
// Video Generation
videoBucketRegionMap,
// Guardrail
@@ -136,6 +240,14 @@ export const createStacks = (app: cdk.App, params: ProcessedStackInput) => {
cert: cloudFrontWafStack?.cert,
// Image build environment
isSageMakerStudio,
+ // Closed network
+ vpc: closedNetworkStack?.vpc,
+ apiGatewayVpcEndpoint: closedNetworkStack?.apiGatewayVpcEndpoint,
+ webBucket: closedNetworkStack?.webBucket,
+ cognitoUserPoolProxyEndpoint:
+ closedNetworkStack?.cognitoUserPoolProxyApi?.url ?? '',
+ cognitoIdentityPoolProxyEndpoint:
+ closedNetworkStack?.cognitoIdPoolProxyApi?.url ?? '',
}
);
@@ -143,29 +255,31 @@ export const createStacks = (app: cdk.App, params: ProcessedStackInput) => {
new DeletionPolicySetter(cdk.RemovalPolicy.DESTROY)
);
- const dashboardStack = params.dashboard
+ const dashboardStack = updatedParams.dashboard
? new DashboardStack(
app,
- `GenerativeAiUseCasesDashboardStack${params.env}`,
+ `GenerativeAiUseCasesDashboardStack${updatedParams.env}`,
{
env: {
- account: params.account,
- region: params.modelRegion,
+ account: updatedParams.account,
+ region: updatedParams.modelRegion,
},
- params: params,
+ params: updatedParams,
userPool: generativeAiUseCasesStack.userPool,
userPoolClient: generativeAiUseCasesStack.userPoolClient,
- appRegion: params.region,
+ appRegion: updatedParams.region,
crossRegionReferences: true,
}
)
: null;
return {
+ closedNetworkStack,
cloudFrontWafStack,
ragKnowledgeBaseStack,
agentStack,
guardrail,
+ agentCoreStack,
generativeAiUseCasesStack,
dashboardStack,
};
diff --git a/packages/cdk/lib/generative-ai-use-cases-stack.ts b/packages/cdk/lib/generative-ai-use-cases-stack.ts
index fbe81dd24..09110b298 100644
--- a/packages/cdk/lib/generative-ai-use-cases-stack.ts
+++ b/packages/cdk/lib/generative-ai-use-cases-stack.ts
@@ -11,6 +11,7 @@ import {
CommonWebAcl,
SpeechToSpeech,
McpApi,
+ AgentCore,
} from './construct';
import { CfnWebACLAssociation } from 'aws-cdk-lib/aws-wafv2';
import * as cognito from 'aws-cdk-lib/aws-cognito';
@@ -19,6 +20,14 @@ import { Agent } from 'generative-ai-use-cases';
import { UseCaseBuilder } from './construct/use-case-builder';
import { ProcessedStackInput } from './stack-input';
import { allowS3AccessWithSourceIpCondition } from './utils/s3-access-policy';
+import {
+ InterfaceVpcEndpoint,
+ IVpc,
+ ISecurityGroup,
+ SecurityGroup,
+} from 'aws-cdk-lib/aws-ec2';
+import { Bucket } from 'aws-cdk-lib/aws-s3';
+import { AgentCoreStack } from './agent-core-stack';
export interface GenerativeAiUseCasesStackProps extends StackProps {
readonly params: ProcessedStackInput;
@@ -27,6 +36,8 @@ export interface GenerativeAiUseCasesStackProps extends StackProps {
readonly knowledgeBaseDataSourceBucketName?: string;
// Agent
readonly agents?: Agent[];
+ // Agent Core
+ readonly agentCoreStack?: AgentCoreStack;
// Video Generation
readonly videoBucketRegionMap: Record;
// Guardrail
@@ -38,6 +49,12 @@ export interface GenerativeAiUseCasesStackProps extends StackProps {
readonly cert?: ICertificate;
// Image build environment
readonly isSageMakerStudio: boolean;
+ // Closed network
+ readonly vpc?: IVpc;
+ readonly apiGatewayVpcEndpoint?: InterfaceVpcEndpoint;
+ readonly webBucket?: Bucket;
+ readonly cognitoUserPoolProxyEndpoint?: string;
+ readonly cognitoIdentityPoolProxyEndpoint?: string;
}
export class GenerativeAiUseCasesStack extends Stack {
@@ -54,6 +71,18 @@ export class GenerativeAiUseCasesStack extends Stack {
const params = props.params;
+ // Common security group for saving ENI in Closed network mode
+ let securityGroups: ISecurityGroup[] | undefined = undefined;
+ if (props.vpc) {
+ securityGroups = [
+ new SecurityGroup(this, 'LambdaSeurityGroup', {
+ vpc: props.vpc,
+ description: 'GenU Lambda Security Group',
+ allowAllOutbound: true,
+ }),
+ ];
+ }
+
// Auth
const auth = new Auth(this, 'Auth', {
selfSignUpEnabled: params.selfSignUpEnabled,
@@ -80,6 +109,9 @@ export class GenerativeAiUseCasesStack extends Stack {
crossAccountBedrockRoleArn: params.crossAccountBedrockRoleArn,
allowedIpV4AddressRanges: params.allowedIpV4AddressRanges,
allowedIpV6AddressRanges: params.allowedIpV6AddressRanges,
+ additionalS3Buckets: props.agentCoreStack?.fileBucket
+ ? [props.agentCoreStack.fileBucket]
+ : undefined,
userPool: auth.userPool,
idPool: auth.idPool,
userPoolClient: auth.client,
@@ -89,6 +121,9 @@ export class GenerativeAiUseCasesStack extends Stack {
agents: props.agents,
guardrailIdentify: props.guardrailIdentifier,
guardrailVersion: props.guardrailVersion,
+ vpc: props.vpc,
+ securityGroups,
+ apiGatewayVpcEndpoint: props.apiGatewayVpcEndpoint,
});
// WAF
@@ -120,6 +155,8 @@ export class GenerativeAiUseCasesStack extends Stack {
userPool: auth.userPool,
speechToSpeechModelIds: params.speechToSpeechModelIds,
crossAccountBedrockRoleArn: params.crossAccountBedrockRoleArn,
+ vpc: props.vpc,
+ securityGroups,
});
// MCP
@@ -129,10 +166,32 @@ export class GenerativeAiUseCasesStack extends Stack {
idPool: auth.idPool,
isSageMakerStudio: props.isSageMakerStudio,
fileBucket: api.fileBucket,
+ vpc: props.vpc,
+ securityGroups,
});
mcpEndpoint = mcpApi.endpoint;
}
+ // AgentCore Runtime (External runtimes and permissions only)
+ let genericRuntimeArn: string | undefined;
+ let genericRuntimeName: string | undefined;
+
+ // Get generic runtime info from AgentCore stack if it exists
+ if (props.agentCoreStack) {
+ genericRuntimeArn = props.agentCoreStack.deployedGenericRuntimeArn;
+ genericRuntimeName = props.agentCoreStack.getGenericRuntimeConfig()?.name;
+ }
+
+ // Create AgentCore construct for external runtimes and permissions
+ if (params.agentCoreExternalRuntimes.length > 0 || genericRuntimeArn) {
+ new AgentCore(this, 'AgentCore', {
+ agentCoreExternalRuntimes: params.agentCoreExternalRuntimes,
+ idPool: auth.idPool,
+ genericRuntimeArn,
+ genericRuntimeName,
+ });
+ }
+
// Web Frontend
const web = new Web(this, 'Api', {
// Auth
@@ -167,6 +226,17 @@ export class GenerativeAiUseCasesStack extends Stack {
speechToSpeechModelIds: params.speechToSpeechModelIds,
mcpEnabled: params.mcpEnabled,
mcpEndpoint,
+ agentCoreEnabled:
+ params.createGenericAgentCoreRuntime ||
+ params.agentCoreExternalRuntimes.length > 0,
+ agentCoreGenericRuntime: genericRuntimeArn
+ ? {
+ name: genericRuntimeName || 'GenericAgentCoreRuntime',
+ arn: genericRuntimeArn,
+ }
+ : undefined,
+ agentCoreExternalRuntimes: params.agentCoreExternalRuntimes,
+ agentCoreRegion: params.agentCoreRegion,
// Frontend
hiddenUseCases: params.hiddenUseCases,
// Custom Domain
@@ -174,6 +244,10 @@ export class GenerativeAiUseCasesStack extends Stack {
hostName: params.hostName,
domainName: params.domainName,
hostedZoneId: params.hostedZoneId,
+ // Closed network
+ webBucket: props.webBucket,
+ cognitoUserPoolProxyEndpoint: props.cognitoUserPoolProxyEndpoint,
+ cognitoIdentityPoolProxyEndpoint: props.cognitoIdentityPoolProxyEndpoint,
});
// RAG
@@ -188,6 +262,8 @@ export class GenerativeAiUseCasesStack extends Stack {
kendraIndexScheduleDeleteCron: params.kendraIndexScheduleDeleteCron,
userPool: auth.userPool,
api: api.api,
+ vpc: props.vpc,
+ securityGroups,
});
// Allow downloading files from the File API to the data source Bucket
@@ -220,6 +296,8 @@ export class GenerativeAiUseCasesStack extends Stack {
knowledgeBaseId: knowledgeBaseId,
userPool: auth.userPool,
api: api.api,
+ vpc: props.vpc,
+ securityGroups,
});
// Allow downloading files from the File API to the data source Bucket
if (
@@ -244,6 +322,8 @@ export class GenerativeAiUseCasesStack extends Stack {
new UseCaseBuilder(this, 'UseCaseBuilder', {
userPool: auth.userPool,
api: api.api,
+ vpc: props.vpc,
+ securityGroups,
});
}
@@ -254,6 +334,8 @@ export class GenerativeAiUseCasesStack extends Stack {
api: api.api,
allowedIpV4AddressRanges: params.allowedIpV4AddressRanges,
allowedIpV6AddressRanges: params.allowedIpV6AddressRanges,
+ vpc: props.vpc,
+ securityGroups,
});
// Cfn Outputs
@@ -261,15 +343,9 @@ export class GenerativeAiUseCasesStack extends Stack {
value: this.region,
});
- if (params.hostName && params.domainName) {
- new CfnOutput(this, 'WebUrl', {
- value: `https://${params.hostName}.${params.domainName}`,
- });
- } else {
- new CfnOutput(this, 'WebUrl', {
- value: `https://${web.distribution.domainName}`,
- });
- }
+ new CfnOutput(this, 'WebUrl', {
+ value: web.webUrl,
+ });
new CfnOutput(this, 'ApiEndpoint', {
value: api.api.url,
@@ -383,6 +459,26 @@ export class GenerativeAiUseCasesStack extends Stack {
value: mcpEndpoint ?? '',
});
+ new CfnOutput(this, 'AgentCoreEnabled', {
+ value: (
+ params.createGenericAgentCoreRuntime ||
+ params.agentCoreExternalRuntimes.length > 0
+ ).toString(),
+ });
+
+ new CfnOutput(this, 'AgentCoreGenericRuntime', {
+ value: genericRuntimeArn
+ ? JSON.stringify({
+ name: genericRuntimeName || 'GenericAgentCoreRuntime',
+ arn: genericRuntimeArn,
+ })
+ : 'null',
+ });
+
+ new CfnOutput(this, 'AgentCoreExternalRuntimes', {
+ value: JSON.stringify(params.agentCoreExternalRuntimes),
+ });
+
this.userPool = auth.userPool;
this.userPoolClient = auth.client;
diff --git a/packages/cdk/lib/rag-knowledge-base-stack.ts b/packages/cdk/lib/rag-knowledge-base-stack.ts
index 9f98662ad..c39c2396b 100644
--- a/packages/cdk/lib/rag-knowledge-base-stack.ts
+++ b/packages/cdk/lib/rag-knowledge-base-stack.ts
@@ -8,7 +8,7 @@ import * as s3 from 'aws-cdk-lib/aws-s3';
import * as s3Deploy from 'aws-cdk-lib/aws-s3-deployment';
import * as iam from 'aws-cdk-lib/aws-iam';
import { ProcessedStackInput } from './stack-input';
-import { LAMBDA_RUNTIME_NODEJS } from '../consts';
+import { LAMBDA_RUNTIME_NODEJS, TAG_KEY } from '../consts';
const UUID = '339C5FED-A1B5-43B6-B40A-5E8E59E5734D';
@@ -102,7 +102,7 @@ class OpenSearchServerlessIndex extends Construct {
'OpenSearchServerlessIndex',
{
runtime: LAMBDA_RUNTIME_NODEJS,
- code: lambda.Code.fromAsset('custom-resources'),
+ code: lambda.Code.fromAsset('custom-resources/opensearch-index'),
handler: 'oss-index.handler',
uuid: UUID,
lambdaPurpose: 'OpenSearchServerlessIndex',
@@ -145,6 +145,7 @@ export class RagKnowledgeBaseStack extends Stack {
ragKnowledgeBaseAdvancedParsingModelId,
ragKnowledgeBaseBinaryVector,
crossAccountBedrockRoleArn,
+ tagValue,
} = props.params;
if (typeof embeddingModelId !== 'string') {
@@ -192,6 +193,7 @@ export class RagKnowledgeBaseStack extends Stack {
description: 'GenU Collection',
type: 'VECTORSEARCH',
standbyReplicas: ragKnowledgeBaseStandbyReplicas ? 'ENABLED' : 'DISABLED',
+ // Do not specify tags here to avoid CloudFormation replacement errors
});
const ossIndex = new OpenSearchServerlessIndex(this, 'OssIndex', {
@@ -291,6 +293,52 @@ export class RagKnowledgeBaseStack extends Stack {
collection.node.addDependency(networkPolicy);
collection.node.addDependency(encryptionPolicy);
+ // Since we need to apply tags directly through AWS SDK instead of CloudFormation
+ // We'll use a custom resource to apply tags after the collection is created
+ // This avoids CloudFormation attempting to replace the collection when adding tags
+
+ // Always create the tag applier custom resource to handle both tag application and removal
+ const tagApplier = new lambda.SingletonFunction(this, 'TagApplier', {
+ runtime: LAMBDA_RUNTIME_NODEJS,
+ code: lambda.Code.fromAsset('custom-resources/apply-tags'),
+ handler: 'apply-tags.handler',
+ uuid: 'E2488E36-B465-4D1F-9D1C-89FB99F1CC01',
+ lambdaPurpose: 'ApplyTagsToResources',
+ timeout: cdk.Duration.minutes(5),
+ });
+
+ const applyTagsResource = new cdk.CustomResource(this, 'ApplyTags', {
+ serviceToken: tagApplier.functionArn,
+ resourceType: 'Custom::ApplyTags',
+ properties: {
+ tag: {
+ key: TAG_KEY,
+ value: tagValue || '', // Pass empty string when tagValue is unset
+ },
+ collectionId: collection.ref,
+ region: this.region,
+ accountId: this.account,
+ },
+ });
+
+ // Ensure tag application happens after collection creation
+ applyTagsResource.node.addDependency(collection);
+
+ // Grant permissions to apply and remove tags
+ tagApplier.addToRolePolicy(
+ new iam.PolicyStatement({
+ effect: iam.Effect.ALLOW,
+ resources: [
+ `arn:aws:aoss:${this.region}:${this.account}:collection/${collection.ref}`,
+ ],
+ actions: [
+ 'aoss:TagResource',
+ 'aoss:UntagResource',
+ 'aoss:ListTagsForResource',
+ ],
+ })
+ );
+
const accessLogsBucket = new s3.Bucket(this, 'DataSourceAccessLogsBucket', {
blockPublicAccess: s3.BlockPublicAccess.BLOCK_ALL,
encryption: s3.BucketEncryption.S3_MANAGED,
diff --git a/packages/cdk/lib/stack-input.ts b/packages/cdk/lib/stack-input.ts
index 638f74a05..986694047 100644
--- a/packages/cdk/lib/stack-input.ts
+++ b/packages/cdk/lib/stack-input.ts
@@ -136,6 +136,17 @@ const baseStackInputSchema = z.object({
)
.default([]),
inlineAgents: z.boolean().default(false),
+ // Agent Core Runtime
+ createGenericAgentCoreRuntime: z.boolean().default(false),
+ agentCoreRegion: z.string().nullish(),
+ agentCoreExternalRuntimes: z
+ .array(
+ z.object({
+ name: z.string(),
+ arn: z.string(),
+ })
+ )
+ .default([]),
// MCP
mcpEnabled: z.boolean().default(false),
// Guardrail
@@ -163,6 +174,17 @@ const baseStackInputSchema = z.object({
hostedZoneId: z.string().nullish(),
// Dashboard
dashboard: z.boolean().default(false),
+ // Tag
+ tagValue: z.string().nullish(),
+ // Closed network
+ closedNetworkMode: z.boolean().default(false),
+ closedNetworkVpcIpv4Cidr: z.string().default('10.0.0.0/16'),
+ closedNetworkVpcId: z.string().nullish(),
+ closedNetworkSubnetIds: z.array(z.string()).nullish(),
+ closedNetworkCertificateArn: z.string().nullish(),
+ closedNetworkDomainName: z.string().nullish(),
+ closedNetworkCreateTestEnvironment: z.boolean().default(true),
+ closedNetworkCreateResolverEndpoint: z.boolean().default(true),
});
// Common Validator with refine
@@ -186,26 +208,32 @@ export const processedStackInputSchema = baseStackInputSchema.extend({
z.object({
modelId: z.string(),
region: z.string(),
+ inferenceProfileArn: z.string().optional(),
})
),
imageGenerationModelIds: z.array(
z.object({
modelId: z.string(),
region: z.string(),
+ inferenceProfileArn: z.string().optional(),
})
),
videoGenerationModelIds: z.array(
z.object({
modelId: z.string(),
region: z.string(),
+ inferenceProfileArn: z.string().optional(),
})
),
speechToSpeechModelIds: z.array(
z.object({
modelId: z.string(),
region: z.string(),
+ inferenceProfileArn: z.string().optional(),
})
),
+ // Processed agentCoreRegion (null -> modelRegion)
+ agentCoreRegion: z.string(),
});
export type StackInput = z.infer;
diff --git a/packages/cdk/package.json b/packages/cdk/package.json
index 997c4fbea..5dee1fb18 100644
--- a/packages/cdk/package.json
+++ b/packages/cdk/package.json
@@ -9,7 +9,7 @@
"cdk": "cdk",
"lint": "eslint . --ext ts --report-unused-disable-directives --max-warnings 0",
"lambda-build-dryrun": "tsc --noEmit --skipLibCheck",
- "postinstall": "npm ci --prefix custom-resources"
+ "postinstall": "npm ci --prefix custom-resources/agent-core-runtime && npm ci --prefix custom-resources/opensearch-index && npm ci --prefix custom-resources/apply-tags && npm ci --prefix fargate-s3-server"
},
"devDependencies": {
"@types/aws-lambda": "^8.10.137",
@@ -29,6 +29,8 @@
"@aws-cdk/aws-lambda-python-alpha": "^2.154.1-alpha.0",
"@aws-sdk/client-bedrock-agent": "^3.755.0",
"@aws-sdk/client-bedrock-agent-runtime": "^3.755.0",
+ "@aws-sdk/client-bedrock-agentcore": "^3.755.0",
+ "@aws-sdk/client-bedrock-agentcore-control": "^3.755.0",
"@aws-sdk/client-bedrock-runtime": "^3.755.0",
"@aws-sdk/client-dynamodb": "^3.755.0",
"@aws-sdk/client-kendra": "^3.755.0",
@@ -41,6 +43,7 @@
"@aws-sdk/lib-dynamodb": "^3.755.0",
"@aws-sdk/s3-request-presigner": "^3.755.0",
"@aws-solutions-constructs/aws-cloudfront-s3": "^2.68.0",
+ "@smithy/node-http-handler": "^4.0.4",
"aws-amplify": "^6.14.2",
"aws-cdk-lib": "^2.154.1",
"aws-jwt-verify": "^4.0.0",
@@ -48,7 +51,6 @@
"deploy-time-build": "^0.3.17",
"node-html-parser": "^6.1.13",
"sanitize-html": "^2.13.0",
- "@smithy/node-http-handler": "^4.0.4",
"source-map-support": "^0.5.21",
"upsert-slr": "^1.0.4",
"ws": "^8.18.0",
diff --git a/packages/cdk/parameter.ts b/packages/cdk/parameter.ts
index c1b03ad67..0be2be67a 100644
--- a/packages/cdk/parameter.ts
+++ b/packages/cdk/parameter.ts
@@ -71,5 +71,7 @@ export const getParams = (app: cdk.App): ProcessedStackInput => {
params.speechToSpeechModelIds,
params.modelRegion
),
+ // Process agentCoreRegion: null -> modelRegion
+ agentCoreRegion: params.agentCoreRegion || params.modelRegion,
};
};
diff --git a/packages/cdk/test/__snapshots__/generative-ai-use-cases.test.ts.snap b/packages/cdk/test/__snapshots__/generative-ai-use-cases.test.ts.snap
index cac6bcf5c..a171c267a 100644
--- a/packages/cdk/test/__snapshots__/generative-ai-use-cases.test.ts.snap
+++ b/packages/cdk/test/__snapshots__/generative-ai-use-cases.test.ts.snap
@@ -1,120 +1,195 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
-exports[`GenerativeAiUseCases matches the snapshot 1`] = `
+exports[`GenerativeAiUseCases matches the snapshot (closed network mode) 1`] = `
{
"Outputs": {
- "ExportsOutputFnGetAttWebAclCloudFrontWafStackWebAclWebAclCloudFrontWafStackAC643995Arn2B4CD922": {
- "Export": {
- "Name": "CloudFrontWafStack:ExportsOutputFnGetAttWebAclCloudFrontWafStackWebAclWebAclCloudFrontWafStackAC643995Arn2B4CD922",
- },
+ "ClosedWebServiceLoadBalancerDNS4C7B439A": {
"Value": {
"Fn::GetAtt": [
- "WebAclCloudFrontWafStackWebAclWebAclCloudFrontWafStackAC643995",
- "Arn",
+ "ClosedWebAlb02DA384F",
+ "DNSName",
],
},
},
- "WebAclId": {
+ "ClosedWebServiceServiceURL12B63050": {
"Value": {
- "Fn::GetAtt": [
- "WebAclCloudFrontWafStackWebAclWebAclCloudFrontWafStackAC643995",
- "Arn",
+ "Fn::Join": [
+ "",
+ [
+ "http://",
+ {
+ "Fn::GetAtt": [
+ "ClosedWebAlb02DA384F",
+ "DNSName",
+ ],
+ },
+ ],
],
},
},
- },
- "Parameters": {
- "BootstrapVersion": {
- "Default": "/cdk-bootstrap/hnb659fds/version",
- "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]",
- "Type": "AWS::SSM::Parameter::Value",
+ "CognitoPrivateProxyCognitoIdPoolProxyApiEndpointB14E563C": {
+ "Value": {
+ "Fn::Join": [
+ "",
+ [
+ "https://",
+ {
+ "Ref": "CognitoPrivateProxyCognitoIdPoolProxyApi29D89399",
+ },
+ ".execute-api.us-east-1.",
+ {
+ "Ref": "AWS::URLSuffix",
+ },
+ "/",
+ {
+ "Ref": "CognitoPrivateProxyCognitoIdPoolProxyApiDeploymentStageprodF7892673",
+ },
+ "/",
+ ],
+ ],
+ },
},
- },
- "Resources": {
- "WebAclCloudFrontWafStackWebAclWebAclCloudFrontWafStackAC643995": {
- "Properties": {
- "DefaultAction": {
- "Block": {},
- },
- "Name": "WebAcl-CloudFrontWafStackWebAclCloudFrontWafStackD5ED98FA",
- "Rules": [
- {
- "Action": {
- "Allow": {},
+ "CognitoPrivateProxyCognitoUserPoolProxyApiEndpoint941ECBCB": {
+ "Value": {
+ "Fn::Join": [
+ "",
+ [
+ "https://",
+ {
+ "Ref": "CognitoPrivateProxyCognitoUserPoolProxyApi818B53B1",
},
- "Name": "GeoMatchRuleWebAclCloudFrontWafStack",
- "Priority": 3,
- "Statement": {
- "GeoMatchStatement": {
- "CountryCodes": [
- "JP",
- ],
- },
+ ".execute-api.us-east-1.",
+ {
+ "Ref": "AWS::URLSuffix",
},
- "VisibilityConfig": {
- "CloudWatchMetricsEnabled": true,
- "MetricName": "GeoMatchRuleWebAclCloudFrontWafStack",
- "SampledRequestsEnabled": true,
+ "/",
+ {
+ "Ref": "CognitoPrivateProxyCognitoUserPoolProxyApiDeploymentStageprod0C2BA9A5",
},
- },
+ "/",
+ ],
],
- "Scope": "CLOUDFRONT",
- "VisibilityConfig": {
- "CloudWatchMetricsEnabled": true,
- "MetricName": "WebAcl-CloudFrontWafStackWebAclCloudFrontWafStackD5ED98FA",
- "SampledRequestsEnabled": true,
- },
},
- "Type": "AWS::WAFv2::WebACL",
},
- },
- "Rules": {
- "CheckBootstrapVersion": {
- "Assertions": [
- {
- "Assert": {
- "Fn::Not": [
- {
- "Fn::Contains": [
- [
- "1",
- "2",
- "3",
- "4",
- "5",
- ],
- {
- "Ref": "BootstrapVersion",
- },
- ],
- },
- ],
- },
- "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI.",
- },
- ],
+ "ExportsOutputFnGetAttClosedWebWebBucket6C6180ECArn51D7CA47": {
+ "Export": {
+ "Name": "ClosedNetworkStack:ExportsOutputFnGetAttClosedWebWebBucket6C6180ECArn51D7CA47",
+ },
+ "Value": {
+ "Fn::GetAtt": [
+ "ClosedWebWebBucket6C6180EC",
+ "Arn",
+ ],
+ },
},
- },
-}
-`;
-
-exports[`GenerativeAiUseCases matches the snapshot 2`] = `
-{
- "Outputs": {
- "ExportsOutputRefDataSourceBucket9FA93E04BB6984D1": {
+ "ExportsOutputRefClosedVpcC15583C91CC421C2": {
"Export": {
- "Name": "RagKnowledgeBaseStack:ExportsOutputRefDataSourceBucket9FA93E04BB6984D1",
+ "Name": "ClosedNetworkStack:ExportsOutputRefClosedVpcC15583C91CC421C2",
},
"Value": {
- "Ref": "DataSourceBucket9FA93E04",
+ "Ref": "ClosedVpcC15583C9",
},
},
- "ExportsOutputRefKnowledgeBaseD054384B": {
+ "ExportsOutputRefClosedVpcVpcEndpointApiGateway6200AA118EB915E2": {
"Export": {
- "Name": "RagKnowledgeBaseStack:ExportsOutputRefKnowledgeBaseD054384B",
+ "Name": "ClosedNetworkStack:ExportsOutputRefClosedVpcVpcEndpointApiGateway6200AA118EB915E2",
},
"Value": {
- "Ref": "KnowledgeBase",
+ "Ref": "ClosedVpcVpcEndpointApiGateway6200AA11",
+ },
+ },
+ "ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312": {
+ "Export": {
+ "Name": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ "Value": {
+ "Ref": "ClosedVpcisolatedSubnet1Subnet2EF6D3F3",
+ },
+ },
+ "ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40": {
+ "Export": {
+ "Name": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ "Value": {
+ "Ref": "ClosedVpcisolatedSubnet2SubnetB169C8D3",
+ },
+ },
+ "ExportsOutputRefClosedWebWebBucket6C6180EC94FAE0A6": {
+ "Export": {
+ "Name": "ClosedNetworkStack:ExportsOutputRefClosedWebWebBucket6C6180EC94FAE0A6",
+ },
+ "Value": {
+ "Ref": "ClosedWebWebBucket6C6180EC",
+ },
+ },
+ "ExportsOutputRefCognitoPrivateProxyCognitoIdPoolProxyApi29D893997F7F25A2": {
+ "Export": {
+ "Name": "ClosedNetworkStack:ExportsOutputRefCognitoPrivateProxyCognitoIdPoolProxyApi29D893997F7F25A2",
+ },
+ "Value": {
+ "Ref": "CognitoPrivateProxyCognitoIdPoolProxyApi29D89399",
+ },
+ },
+ "ExportsOutputRefCognitoPrivateProxyCognitoIdPoolProxyApiDeploymentStageprodF789267346799973": {
+ "Export": {
+ "Name": "ClosedNetworkStack:ExportsOutputRefCognitoPrivateProxyCognitoIdPoolProxyApiDeploymentStageprodF789267346799973",
+ },
+ "Value": {
+ "Ref": "CognitoPrivateProxyCognitoIdPoolProxyApiDeploymentStageprodF7892673",
+ },
+ },
+ "ExportsOutputRefCognitoPrivateProxyCognitoUserPoolProxyApi818B53B11EFC652B": {
+ "Export": {
+ "Name": "ClosedNetworkStack:ExportsOutputRefCognitoPrivateProxyCognitoUserPoolProxyApi818B53B11EFC652B",
+ },
+ "Value": {
+ "Ref": "CognitoPrivateProxyCognitoUserPoolProxyApi818B53B1",
+ },
+ },
+ "ExportsOutputRefCognitoPrivateProxyCognitoUserPoolProxyApiDeploymentStageprod0C2BA9A5793BEF8B": {
+ "Export": {
+ "Name": "ClosedNetworkStack:ExportsOutputRefCognitoPrivateProxyCognitoUserPoolProxyApiDeploymentStageprod0C2BA9A5793BEF8B",
+ },
+ "Value": {
+ "Ref": "CognitoPrivateProxyCognitoUserPoolProxyApiDeploymentStageprod0C2BA9A5",
+ },
+ },
+ "ResolverId": {
+ "Value": {
+ "Ref": "ResolverInbountEndpointA5AA48E5",
+ },
+ },
+ "WebUrl": {
+ "Value": {
+ "Fn::Join": [
+ "",
+ [
+ "http://",
+ {
+ "Fn::GetAtt": [
+ "ClosedWebAlb02DA384F",
+ "DNSName",
+ ],
+ },
+ ],
+ ],
+ },
+ },
+ "WindowsRdpGetSSMKeyCommand20B8FDD2": {
+ "Value": {
+ "Fn::Join": [
+ "",
+ [
+ "aws ssm get-parameter --name /ec2/keypair/",
+ {
+ "Fn::GetAtt": [
+ "WindowsRdpWindowsKeyPair02415E47",
+ "KeyPairId",
+ ],
+ },
+ " --region us-east-1 --with-decryption --query Parameter.Value --output text",
+ ],
+ ],
},
},
},
@@ -124,310 +199,24639 @@ exports[`GenerativeAiUseCases matches the snapshot 2`] = `
"Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]",
"Type": "AWS::SSM::Parameter::Value",
},
+ "SsmParameterValueawsserviceamiwindowslatestWindowsServer2025EnglishFullBaseC96584B6F00A464EAD1953AFF4B05118Parameter": {
+ "Default": "/aws/service/ami-windows-latest/Windows_Server-2025-English-Full-Base",
+ "Type": "AWS::SSM::Parameter::Value",
+ },
},
"Resources": {
- "AccessPolicy": {
+ "ClosedVpcC15583C9": {
"Properties": {
- "Name": "generative-ai-use-cases-jp",
- "Policy": {
+ "CidrBlock": "10.0.0.0/16",
+ "EnableDnsHostnames": true,
+ "EnableDnsSupport": true,
+ "InstanceTenancy": "default",
+ "Tags": [
+ {
+ "Key": "Name",
+ "Value": "ClosedNetworkStack/ClosedVpc/ClosedVpc",
+ },
+ ],
+ },
+ "Type": "AWS::EC2::VPC",
+ },
+ "ClosedVpcDynamoDbGatewayEndpoint13A60BCF": {
+ "Properties": {
+ "RouteTableIds": [
+ {
+ "Ref": "ClosedVpcisolatedSubnet1RouteTable4CF03F70",
+ },
+ {
+ "Ref": "ClosedVpcisolatedSubnet2RouteTable864FDF25",
+ },
+ ],
+ "ServiceName": {
"Fn::Join": [
"",
[
- "[{"Rules":[{"Resource":["collection/generative-ai-use-cases-jp"],"Permission":["aoss:DescribeCollectionItems","aoss:CreateCollectionItems","aoss:UpdateCollectionItems"],"ResourceType":"collection"},{"Resource":["index/generative-ai-use-cases-jp/*"],"Permission":["aoss:UpdateIndex","aoss:DescribeIndex","aoss:ReadDocument","aoss:WriteDocument","aoss:CreateIndex","aoss:DeleteIndex"],"ResourceType":"index"}],"Principal":["",
+ "com.amazonaws.",
{
- "Fn::GetAtt": [
- "KnowledgeBaseRoleA2B317B9",
- "Arn",
- ],
+ "Ref": "AWS::Region",
},
- "","",
+ ".dynamodb",
+ ],
+ ],
+ },
+ "Tags": [
+ {
+ "Key": "Name",
+ "Value": "ClosedNetworkStack/ClosedVpc/ClosedVpc",
+ },
+ ],
+ "VpcEndpointType": "Gateway",
+ "VpcId": {
+ "Ref": "ClosedVpcC15583C9",
+ },
+ },
+ "Type": "AWS::EC2::VPCEndpoint",
+ },
+ "ClosedVpcS3GatewayEndpointF98C5474": {
+ "Properties": {
+ "RouteTableIds": [
+ {
+ "Ref": "ClosedVpcisolatedSubnet1RouteTable4CF03F70",
+ },
+ {
+ "Ref": "ClosedVpcisolatedSubnet2RouteTable864FDF25",
+ },
+ ],
+ "ServiceName": {
+ "Fn::Join": [
+ "",
+ [
+ "com.amazonaws.",
{
- "Fn::GetAtt": [
- "OpenSearchServerlessIndex339C5FEDA1B543B6B40A5E8E59E5734DServiceRole367CC992",
- "Arn",
- ],
+ "Ref": "AWS::Region",
},
- ""],"Description":""}]",
+ ".s3",
],
],
},
- "Type": "data",
+ "Tags": [
+ {
+ "Key": "Name",
+ "Value": "ClosedNetworkStack/ClosedVpc/ClosedVpc",
+ },
+ ],
+ "VpcEndpointType": "Gateway",
+ "VpcId": {
+ "Ref": "ClosedVpcC15583C9",
+ },
},
- "Type": "AWS::OpenSearchServerless::AccessPolicy",
+ "Type": "AWS::EC2::VPCEndpoint",
},
- "Collection": {
- "DependsOn": [
- "AccessPolicy",
- "EncryptionPolicy",
- "NetworkPolicy",
- ],
- "Properties": {
- "Description": "GenU Collection",
- "Name": "generative-ai-use-cases-jp",
- "StandbyReplicas": "DISABLED",
- "Type": "VECTORSEARCH",
- },
- "Type": "AWS::OpenSearchServerless::Collection",
- },
- "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C1024MiBB049752D": {
- "DependsOn": [
- "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C1024MiBServiceRoleDefaultPolicy0801355D",
- "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C1024MiBServiceRole739949D8",
- ],
+ "ClosedVpcSecurityGroup985DC3EC": {
"Properties": {
- "Code": {
- "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
- "S3Key": "HASH-REPLACED.zip",
- },
- "Environment": {
- "Variables": {
- "AWS_CA_BUNDLE": "/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem",
+ "GroupDescription": "ClosedNetworkStack/ClosedVpc/SecurityGroup",
+ "SecurityGroupEgress": [
+ {
+ "CidrIp": "0.0.0.0/0",
+ "Description": "Allow all outbound traffic by default",
+ "IpProtocol": "-1",
},
- },
- "Handler": "index.handler",
- "Layers": [
+ ],
+ "SecurityGroupIngress": [
{
- "Ref": "DeployDocsAwsCliLayer98E5B499",
+ "CidrIp": {
+ "Fn::GetAtt": [
+ "ClosedVpcC15583C9",
+ "CidrBlock",
+ ],
+ },
+ "Description": {
+ "Fn::Join": [
+ "",
+ [
+ "from ",
+ {
+ "Fn::GetAtt": [
+ "ClosedVpcC15583C9",
+ "CidrBlock",
+ ],
+ },
+ ":443",
+ ],
+ ],
+ },
+ "FromPort": 443,
+ "IpProtocol": "tcp",
+ "ToPort": 443,
},
],
- "MemorySize": 1024,
- "Role": {
- "Fn::GetAtt": [
- "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C1024MiBServiceRole739949D8",
- "Arn",
- ],
+ "VpcId": {
+ "Ref": "ClosedVpcC15583C9",
},
- "Runtime": "python3.11",
- "Timeout": 900,
},
- "Type": "AWS::Lambda::Function",
+ "Type": "AWS::EC2::SecurityGroup",
},
- "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C1024MiBServiceRole739949D8": {
+ "ClosedVpcSecurityGroupWebSocketB193A873": {
"Properties": {
- "AssumeRolePolicyDocument": {
- "Statement": [
- {
- "Action": "sts:AssumeRole",
- "Effect": "Allow",
- "Principal": {
- "Service": "lambda.amazonaws.com",
- },
- },
- ],
- "Version": "2012-10-17",
- },
- "ManagedPolicyArns": [
+ "GroupDescription": "ClosedNetworkStack/ClosedVpc/SecurityGroupWebSocket",
+ "SecurityGroupEgress": [
{
- "Fn::Join": [
- "",
- [
- "arn:",
- {
- "Ref": "AWS::Partition",
- },
- ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
- ],
- ],
+ "CidrIp": "0.0.0.0/0",
+ "Description": "Allow all outbound traffic by default",
+ "IpProtocol": "-1",
},
],
- },
- "Type": "AWS::IAM::Role",
- },
- "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C1024MiBServiceRoleDefaultPolicy0801355D": {
- "Properties": {
- "PolicyDocument": {
- "Statement": [
- {
- "Action": [
- "s3:GetObject*",
- "s3:GetBucket*",
- "s3:List*",
+ "SecurityGroupIngress": [
+ {
+ "CidrIp": {
+ "Fn::GetAtt": [
+ "ClosedVpcC15583C9",
+ "CidrBlock",
],
- "Effect": "Allow",
- "Resource": [
- {
- "Fn::Join": [
- "",
- [
- "arn:",
- {
- "Ref": "AWS::Partition",
- },
- ":s3:::cdk-hnb659fds-assets-123456890123-us-east-1",
- ],
- ],
- },
- {
- "Fn::Join": [
- "",
- [
- "arn:",
- {
- "Ref": "AWS::Partition",
- },
- ":s3:::cdk-hnb659fds-assets-123456890123-us-east-1/*",
+ },
+ "Description": {
+ "Fn::Join": [
+ "",
+ [
+ "from ",
+ {
+ "Fn::GetAtt": [
+ "ClosedVpcC15583C9",
+ "CidrBlock",
],
- ],
- },
+ },
+ ":443",
+ ],
],
},
- {
- "Action": [
- "s3:GetObject*",
- "s3:GetBucket*",
- "s3:List*",
- "s3:DeleteObject*",
- "s3:PutObject",
- "s3:PutObjectLegalHold",
- "s3:PutObjectRetention",
- "s3:PutObjectTagging",
- "s3:PutObjectVersionTagging",
- "s3:Abort*",
+ "FromPort": 443,
+ "IpProtocol": "tcp",
+ "ToPort": 443,
+ },
+ {
+ "CidrIp": {
+ "Fn::GetAtt": [
+ "ClosedVpcC15583C9",
+ "CidrBlock",
],
- "Effect": "Allow",
- "Resource": [
- {
- "Fn::GetAtt": [
- "DataSourceBucket9FA93E04",
- "Arn",
- ],
- },
- {
- "Fn::Join": [
- "",
- [
- {
- "Fn::GetAtt": [
- "DataSourceBucket9FA93E04",
- "Arn",
- ],
- },
- "/*",
+ },
+ "Description": {
+ "Fn::Join": [
+ "",
+ [
+ "from ",
+ {
+ "Fn::GetAtt": [
+ "ClosedVpcC15583C9",
+ "CidrBlock",
],
- ],
- },
+ },
+ ":8443",
+ ],
],
},
- ],
- "Version": "2012-10-17",
- },
- "PolicyName": "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C1024MiBServiceRoleDefaultPolicy0801355D",
- "Roles": [
- {
- "Ref": "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C1024MiBServiceRole739949D8",
+ "FromPort": 8443,
+ "IpProtocol": "tcp",
+ "ToPort": 8443,
},
],
+ "VpcId": {
+ "Ref": "ClosedVpcC15583C9",
+ },
},
- "Type": "AWS::IAM::Policy",
+ "Type": "AWS::EC2::SecurityGroup",
},
- "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F": {
- "DependsOn": [
- "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
- ],
+ "ClosedVpcVpcEndpointApiGateway6200AA11": {
"Properties": {
- "Code": {
- "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
- "S3Key": "HASH-REPLACED.zip",
- },
- "Description": {
- "Fn::Join": [
- "",
- [
- "Lambda function for auto-deleting objects in ",
- {
- "Ref": "DataSourceAccessLogsBucketE5273C2E",
- },
- " S3 bucket.",
+ "PrivateDnsEnabled": true,
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "ClosedVpcSecurityGroup985DC3EC",
+ "GroupId",
],
- ],
- },
- "Handler": "index.handler",
- "MemorySize": 128,
- "Role": {
- "Fn::GetAtt": [
- "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
- "Arn",
- ],
+ },
+ ],
+ "ServiceName": "com.amazonaws.us-east-1.execute-api",
+ "SubnetIds": [
+ {
+ "Ref": "ClosedVpcisolatedSubnet1Subnet2EF6D3F3",
+ },
+ {
+ "Ref": "ClosedVpcisolatedSubnet2SubnetB169C8D3",
+ },
+ ],
+ "VpcEndpointType": "Interface",
+ "VpcId": {
+ "Ref": "ClosedVpcC15583C9",
},
- "Runtime": "nodejs20.x",
- "Timeout": 900,
},
- "Type": "AWS::Lambda::Function",
+ "Type": "AWS::EC2::VPCEndpoint",
},
- "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092": {
+ "ClosedVpcVpcEndpointBedrock2167E760": {
"Properties": {
- "AssumeRolePolicyDocument": {
- "Statement": [
- {
- "Action": "sts:AssumeRole",
- "Effect": "Allow",
- "Principal": {
- "Service": "lambda.amazonaws.com",
- },
- },
- ],
- "Version": "2012-10-17",
- },
- "ManagedPolicyArns": [
+ "PrivateDnsEnabled": true,
+ "SecurityGroupIds": [
{
- "Fn::Sub": "arn:\${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ "Fn::GetAtt": [
+ "ClosedVpcSecurityGroup985DC3EC",
+ "GroupId",
+ ],
+ },
+ ],
+ "ServiceName": "com.amazonaws.us-east-1.bedrock-runtime",
+ "SubnetIds": [
+ {
+ "Ref": "ClosedVpcisolatedSubnet1Subnet2EF6D3F3",
+ },
+ {
+ "Ref": "ClosedVpcisolatedSubnet2SubnetB169C8D3",
},
],
+ "VpcEndpointType": "Interface",
+ "VpcId": {
+ "Ref": "ClosedVpcC15583C9",
+ },
},
- "Type": "AWS::IAM::Role",
+ "Type": "AWS::EC2::VPCEndpoint",
},
- "DataSource": {
+ "ClosedVpcVpcEndpointBedrockAgent58903AF0": {
"Properties": {
- "DataSourceConfiguration": {
- "S3Configuration": {
- "BucketArn": {
- "Fn::Join": [
- "",
- [
- "arn:aws:s3:::",
- {
- "Ref": "DataSourceBucket9FA93E04",
- },
- ],
- ],
- },
- "InclusionPrefixes": [
- "docs/",
+ "PrivateDnsEnabled": true,
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "ClosedVpcSecurityGroup985DC3EC",
+ "GroupId",
],
},
- "Type": "S3",
- },
+ ],
+ "ServiceName": "com.amazonaws.us-east-1.bedrock-agent-runtime",
+ "SubnetIds": [
+ {
+ "Ref": "ClosedVpcisolatedSubnet1Subnet2EF6D3F3",
+ },
+ {
+ "Ref": "ClosedVpcisolatedSubnet2SubnetB169C8D3",
+ },
+ ],
+ "VpcEndpointType": "Interface",
+ "VpcId": {
+ "Ref": "ClosedVpcC15583C9",
+ },
+ },
+ "Type": "AWS::EC2::VPCEndpoint",
+ },
+ "ClosedVpcVpcEndpointBedrockAgentApiA7EA4FF6": {
+ "Properties": {
+ "PrivateDnsEnabled": true,
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "ClosedVpcSecurityGroup985DC3EC",
+ "GroupId",
+ ],
+ },
+ ],
+ "ServiceName": "com.amazonaws.us-east-1.bedrock-agent",
+ "SubnetIds": [
+ {
+ "Ref": "ClosedVpcisolatedSubnet1Subnet2EF6D3F3",
+ },
+ {
+ "Ref": "ClosedVpcisolatedSubnet2SubnetB169C8D3",
+ },
+ ],
+ "VpcEndpointType": "Interface",
+ "VpcId": {
+ "Ref": "ClosedVpcC15583C9",
+ },
+ },
+ "Type": "AWS::EC2::VPCEndpoint",
+ },
+ "ClosedVpcVpcEndpointCloudWatchLogs8A2A4714": {
+ "Properties": {
+ "PrivateDnsEnabled": true,
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "ClosedVpcSecurityGroup985DC3EC",
+ "GroupId",
+ ],
+ },
+ ],
+ "ServiceName": "com.amazonaws.us-east-1.logs",
+ "SubnetIds": [
+ {
+ "Ref": "ClosedVpcisolatedSubnet1Subnet2EF6D3F3",
+ },
+ {
+ "Ref": "ClosedVpcisolatedSubnet2SubnetB169C8D3",
+ },
+ ],
+ "VpcEndpointType": "Interface",
+ "VpcId": {
+ "Ref": "ClosedVpcC15583C9",
+ },
+ },
+ "Type": "AWS::EC2::VPCEndpoint",
+ },
+ "ClosedVpcVpcEndpointEcr015769B4": {
+ "Properties": {
+ "PrivateDnsEnabled": true,
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "ClosedVpcSecurityGroup985DC3EC",
+ "GroupId",
+ ],
+ },
+ ],
+ "ServiceName": "com.amazonaws.us-east-1.ecr.api",
+ "SubnetIds": [
+ {
+ "Ref": "ClosedVpcisolatedSubnet1Subnet2EF6D3F3",
+ },
+ {
+ "Ref": "ClosedVpcisolatedSubnet2SubnetB169C8D3",
+ },
+ ],
+ "VpcEndpointType": "Interface",
+ "VpcId": {
+ "Ref": "ClosedVpcC15583C9",
+ },
+ },
+ "Type": "AWS::EC2::VPCEndpoint",
+ },
+ "ClosedVpcVpcEndpointEcrDocker585949D8": {
+ "Properties": {
+ "PrivateDnsEnabled": true,
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "ClosedVpcSecurityGroup985DC3EC",
+ "GroupId",
+ ],
+ },
+ ],
+ "ServiceName": "com.amazonaws.us-east-1.ecr.dkr",
+ "SubnetIds": [
+ {
+ "Ref": "ClosedVpcisolatedSubnet1Subnet2EF6D3F3",
+ },
+ {
+ "Ref": "ClosedVpcisolatedSubnet2SubnetB169C8D3",
+ },
+ ],
+ "VpcEndpointType": "Interface",
+ "VpcId": {
+ "Ref": "ClosedVpcC15583C9",
+ },
+ },
+ "Type": "AWS::EC2::VPCEndpoint",
+ },
+ "ClosedVpcVpcEndpointKendraC6CCED0C": {
+ "Properties": {
+ "PrivateDnsEnabled": true,
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "ClosedVpcSecurityGroup985DC3EC",
+ "GroupId",
+ ],
+ },
+ ],
+ "ServiceName": "com.amazonaws.us-east-1.kendra",
+ "SubnetIds": [
+ {
+ "Ref": "ClosedVpcisolatedSubnet1Subnet2EF6D3F3",
+ },
+ {
+ "Ref": "ClosedVpcisolatedSubnet2SubnetB169C8D3",
+ },
+ ],
+ "VpcEndpointType": "Interface",
+ "VpcId": {
+ "Ref": "ClosedVpcC15583C9",
+ },
+ },
+ "Type": "AWS::EC2::VPCEndpoint",
+ },
+ "ClosedVpcVpcEndpointLambda622E8F74": {
+ "Properties": {
+ "PrivateDnsEnabled": true,
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "ClosedVpcSecurityGroup985DC3EC",
+ "GroupId",
+ ],
+ },
+ ],
+ "ServiceName": "com.amazonaws.us-east-1.lambda",
+ "SubnetIds": [
+ {
+ "Ref": "ClosedVpcisolatedSubnet1Subnet2EF6D3F3",
+ },
+ {
+ "Ref": "ClosedVpcisolatedSubnet2SubnetB169C8D3",
+ },
+ ],
+ "VpcEndpointType": "Interface",
+ "VpcId": {
+ "Ref": "ClosedVpcC15583C9",
+ },
+ },
+ "Type": "AWS::EC2::VPCEndpoint",
+ },
+ "ClosedVpcVpcEndpointPolly5546061C": {
+ "Properties": {
+ "PrivateDnsEnabled": true,
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "ClosedVpcSecurityGroup985DC3EC",
+ "GroupId",
+ ],
+ },
+ ],
+ "ServiceName": "com.amazonaws.us-east-1.polly",
+ "SubnetIds": [
+ {
+ "Ref": "ClosedVpcisolatedSubnet1Subnet2EF6D3F3",
+ },
+ {
+ "Ref": "ClosedVpcisolatedSubnet2SubnetB169C8D3",
+ },
+ ],
+ "VpcEndpointType": "Interface",
+ "VpcId": {
+ "Ref": "ClosedVpcC15583C9",
+ },
+ },
+ "Type": "AWS::EC2::VPCEndpoint",
+ },
+ "ClosedVpcVpcEndpointSts83B28EBD": {
+ "Properties": {
+ "PrivateDnsEnabled": true,
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "ClosedVpcSecurityGroup985DC3EC",
+ "GroupId",
+ ],
+ },
+ ],
+ "ServiceName": "com.amazonaws.us-east-1.sts",
+ "SubnetIds": [
+ {
+ "Ref": "ClosedVpcisolatedSubnet1Subnet2EF6D3F3",
+ },
+ {
+ "Ref": "ClosedVpcisolatedSubnet2SubnetB169C8D3",
+ },
+ ],
+ "VpcEndpointType": "Interface",
+ "VpcId": {
+ "Ref": "ClosedVpcC15583C9",
+ },
+ },
+ "Type": "AWS::EC2::VPCEndpoint",
+ },
+ "ClosedVpcVpcEndpointTranscribeB07BF39C": {
+ "Properties": {
+ "PrivateDnsEnabled": true,
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "ClosedVpcSecurityGroup985DC3EC",
+ "GroupId",
+ ],
+ },
+ ],
+ "ServiceName": "com.amazonaws.us-east-1.transcribe",
+ "SubnetIds": [
+ {
+ "Ref": "ClosedVpcisolatedSubnet1Subnet2EF6D3F3",
+ },
+ {
+ "Ref": "ClosedVpcisolatedSubnet2SubnetB169C8D3",
+ },
+ ],
+ "VpcEndpointType": "Interface",
+ "VpcId": {
+ "Ref": "ClosedVpcC15583C9",
+ },
+ },
+ "Type": "AWS::EC2::VPCEndpoint",
+ },
+ "ClosedVpcVpcEndpointTranscribeStreaming3CA40548": {
+ "Properties": {
+ "PrivateDnsEnabled": true,
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "ClosedVpcSecurityGroupWebSocketB193A873",
+ "GroupId",
+ ],
+ },
+ ],
+ "ServiceName": "com.amazonaws.us-east-1.transcribestreaming",
+ "SubnetIds": [
+ {
+ "Ref": "ClosedVpcisolatedSubnet1Subnet2EF6D3F3",
+ },
+ {
+ "Ref": "ClosedVpcisolatedSubnet2SubnetB169C8D3",
+ },
+ ],
+ "VpcEndpointType": "Interface",
+ "VpcId": {
+ "Ref": "ClosedVpcC15583C9",
+ },
+ },
+ "Type": "AWS::EC2::VPCEndpoint",
+ },
+ "ClosedVpcisolatedSubnet1RouteTable4CF03F70": {
+ "Properties": {
+ "Tags": [
+ {
+ "Key": "Name",
+ "Value": "ClosedNetworkStack/ClosedVpc/ClosedVpc/isolatedSubnet1",
+ },
+ ],
+ "VpcId": {
+ "Ref": "ClosedVpcC15583C9",
+ },
+ },
+ "Type": "AWS::EC2::RouteTable",
+ },
+ "ClosedVpcisolatedSubnet1RouteTableAssociationA5BFF8C6": {
+ "Properties": {
+ "RouteTableId": {
+ "Ref": "ClosedVpcisolatedSubnet1RouteTable4CF03F70",
+ },
+ "SubnetId": {
+ "Ref": "ClosedVpcisolatedSubnet1Subnet2EF6D3F3",
+ },
+ },
+ "Type": "AWS::EC2::SubnetRouteTableAssociation",
+ },
+ "ClosedVpcisolatedSubnet1Subnet2EF6D3F3": {
+ "Properties": {
+ "AvailabilityZone": "dummy1a",
+ "CidrBlock": "10.0.0.0/17",
+ "MapPublicIpOnLaunch": false,
+ "Tags": [
+ {
+ "Key": "aws-cdk:subnet-name",
+ "Value": "isolated",
+ },
+ {
+ "Key": "aws-cdk:subnet-type",
+ "Value": "Isolated",
+ },
+ {
+ "Key": "Name",
+ "Value": "ClosedNetworkStack/ClosedVpc/ClosedVpc/isolatedSubnet1",
+ },
+ ],
+ "VpcId": {
+ "Ref": "ClosedVpcC15583C9",
+ },
+ },
+ "Type": "AWS::EC2::Subnet",
+ },
+ "ClosedVpcisolatedSubnet2RouteTable864FDF25": {
+ "Properties": {
+ "Tags": [
+ {
+ "Key": "Name",
+ "Value": "ClosedNetworkStack/ClosedVpc/ClosedVpc/isolatedSubnet2",
+ },
+ ],
+ "VpcId": {
+ "Ref": "ClosedVpcC15583C9",
+ },
+ },
+ "Type": "AWS::EC2::RouteTable",
+ },
+ "ClosedVpcisolatedSubnet2RouteTableAssociation3773B24C": {
+ "Properties": {
+ "RouteTableId": {
+ "Ref": "ClosedVpcisolatedSubnet2RouteTable864FDF25",
+ },
+ "SubnetId": {
+ "Ref": "ClosedVpcisolatedSubnet2SubnetB169C8D3",
+ },
+ },
+ "Type": "AWS::EC2::SubnetRouteTableAssociation",
+ },
+ "ClosedVpcisolatedSubnet2SubnetB169C8D3": {
+ "Properties": {
+ "AvailabilityZone": "dummy1b",
+ "CidrBlock": "10.0.128.0/17",
+ "MapPublicIpOnLaunch": false,
+ "Tags": [
+ {
+ "Key": "aws-cdk:subnet-name",
+ "Value": "isolated",
+ },
+ {
+ "Key": "aws-cdk:subnet-type",
+ "Value": "Isolated",
+ },
+ {
+ "Key": "Name",
+ "Value": "ClosedNetworkStack/ClosedVpc/ClosedVpc/isolatedSubnet2",
+ },
+ ],
+ "VpcId": {
+ "Ref": "ClosedVpcC15583C9",
+ },
+ },
+ "Type": "AWS::EC2::Subnet",
+ },
+ "ClosedWebAlb02DA384F": {
+ "Properties": {
+ "LoadBalancerAttributes": [
+ {
+ "Key": "deletion_protection.enabled",
+ "Value": "false",
+ },
+ ],
+ "Scheme": "internal",
+ "SecurityGroups": [
+ {
+ "Fn::GetAtt": [
+ "ClosedWebAlbSecurityGroup4036E135",
+ "GroupId",
+ ],
+ },
+ ],
+ "Subnets": [
+ {
+ "Ref": "ClosedVpcisolatedSubnet1Subnet2EF6D3F3",
+ },
+ {
+ "Ref": "ClosedVpcisolatedSubnet2SubnetB169C8D3",
+ },
+ ],
+ "Type": "application",
+ },
+ "Type": "AWS::ElasticLoadBalancingV2::LoadBalancer",
+ },
+ "ClosedWebAlbPublicListener2C7784BD": {
+ "Properties": {
+ "DefaultActions": [
+ {
+ "TargetGroupArn": {
+ "Ref": "ClosedWebAlbPublicListenerECSGroupB932E848",
+ },
+ "Type": "forward",
+ },
+ ],
+ "LoadBalancerArn": {
+ "Ref": "ClosedWebAlb02DA384F",
+ },
+ "Port": 80,
+ "Protocol": "HTTP",
+ },
+ "Type": "AWS::ElasticLoadBalancingV2::Listener",
+ },
+ "ClosedWebAlbPublicListenerECSGroupB932E848": {
+ "Properties": {
+ "HealthCheckPath": "/healthcheck",
+ "Port": 80,
+ "Protocol": "HTTP",
+ "TargetGroupAttributes": [
+ {
+ "Key": "stickiness.enabled",
+ "Value": "false",
+ },
+ ],
+ "TargetType": "ip",
+ "VpcId": {
+ "Ref": "ClosedVpcC15583C9",
+ },
+ },
+ "Type": "AWS::ElasticLoadBalancingV2::TargetGroup",
+ },
+ "ClosedWebAlbSecurityGroup4036E135": {
+ "Properties": {
+ "GroupDescription": "Automatically created Security Group for ELB ClosedNetworkStackClosedWebAlb1D88C121",
+ "SecurityGroupIngress": [
+ {
+ "CidrIp": "0.0.0.0/0",
+ "Description": "Allow from anyone on port 80",
+ "FromPort": 80,
+ "IpProtocol": "tcp",
+ "ToPort": 80,
+ },
+ ],
+ "VpcId": {
+ "Ref": "ClosedVpcC15583C9",
+ },
+ },
+ "Type": "AWS::EC2::SecurityGroup",
+ },
+ "ClosedWebAlbSecurityGrouptoClosedNetworkStackClosedWebServiceSecurityGroup64DB8B7F8080BFB1DD6E": {
+ "Properties": {
+ "Description": "Load balancer to target",
+ "DestinationSecurityGroupId": {
+ "Fn::GetAtt": [
+ "ClosedWebServiceSecurityGroupD2730E37",
+ "GroupId",
+ ],
+ },
+ "FromPort": 8080,
+ "GroupId": {
+ "Fn::GetAtt": [
+ "ClosedWebAlbSecurityGroup4036E135",
+ "GroupId",
+ ],
+ },
+ "IpProtocol": "tcp",
+ "ToPort": 8080,
+ },
+ "Type": "AWS::EC2::SecurityGroupEgress",
+ },
+ "ClosedWebCluster09BBE0C2": {
+ "Type": "AWS::ECS::Cluster",
+ },
+ "ClosedWebService1F389222": {
+ "DependsOn": [
+ "ClosedWebAlbPublicListenerECSGroupB932E848",
+ "ClosedWebAlbPublicListener2C7784BD",
+ "ClosedWebServiceTaskDefTaskRoleDefaultPolicy11809144",
+ "ClosedWebServiceTaskDefTaskRoleDB198F40",
+ ],
+ "Properties": {
+ "Cluster": {
+ "Ref": "ClosedWebCluster09BBE0C2",
+ },
+ "DeploymentConfiguration": {
+ "Alarms": {
+ "AlarmNames": [],
+ "Enable": false,
+ "Rollback": false,
+ },
+ "MaximumPercent": 200,
+ "MinimumHealthyPercent": 50,
+ },
+ "DesiredCount": 1,
+ "EnableECSManagedTags": false,
+ "HealthCheckGracePeriodSeconds": 60,
+ "LaunchType": "FARGATE",
+ "LoadBalancers": [
+ {
+ "ContainerName": "web",
+ "ContainerPort": 8080,
+ "TargetGroupArn": {
+ "Ref": "ClosedWebAlbPublicListenerECSGroupB932E848",
+ },
+ },
+ ],
+ "NetworkConfiguration": {
+ "AwsvpcConfiguration": {
+ "AssignPublicIp": "DISABLED",
+ "SecurityGroups": [
+ {
+ "Fn::GetAtt": [
+ "ClosedWebServiceSecurityGroupD2730E37",
+ "GroupId",
+ ],
+ },
+ ],
+ "Subnets": [
+ {
+ "Ref": "ClosedVpcisolatedSubnet1Subnet2EF6D3F3",
+ },
+ {
+ "Ref": "ClosedVpcisolatedSubnet2SubnetB169C8D3",
+ },
+ ],
+ },
+ },
+ "TaskDefinition": {
+ "Ref": "ClosedWebServiceTaskDef2F7838D3",
+ },
+ },
+ "Type": "AWS::ECS::Service",
+ },
+ "ClosedWebServiceSecurityGroupD2730E37": {
+ "DependsOn": [
+ "ClosedWebServiceTaskDefTaskRoleDefaultPolicy11809144",
+ "ClosedWebServiceTaskDefTaskRoleDB198F40",
+ ],
+ "Properties": {
+ "GroupDescription": "ClosedNetworkStack/ClosedWeb/Service/Service/SecurityGroup",
+ "SecurityGroupEgress": [
+ {
+ "CidrIp": "0.0.0.0/0",
+ "Description": "Allow all outbound traffic by default",
+ "IpProtocol": "-1",
+ },
+ ],
+ "VpcId": {
+ "Ref": "ClosedVpcC15583C9",
+ },
+ },
+ "Type": "AWS::EC2::SecurityGroup",
+ },
+ "ClosedWebServiceSecurityGroupfromClosedNetworkStackClosedWebAlbSecurityGroupD1B9221A8080E55E8C40": {
+ "DependsOn": [
+ "ClosedWebServiceTaskDefTaskRoleDefaultPolicy11809144",
+ "ClosedWebServiceTaskDefTaskRoleDB198F40",
+ ],
+ "Properties": {
+ "Description": "Load balancer to target",
+ "FromPort": 8080,
+ "GroupId": {
+ "Fn::GetAtt": [
+ "ClosedWebServiceSecurityGroupD2730E37",
+ "GroupId",
+ ],
+ },
+ "IpProtocol": "tcp",
+ "SourceSecurityGroupId": {
+ "Fn::GetAtt": [
+ "ClosedWebAlbSecurityGroup4036E135",
+ "GroupId",
+ ],
+ },
+ "ToPort": 8080,
+ },
+ "Type": "AWS::EC2::SecurityGroupIngress",
+ },
+ "ClosedWebServiceTaskCountTarget8545D676": {
+ "DependsOn": [
+ "ClosedWebServiceTaskDefTaskRoleDefaultPolicy11809144",
+ "ClosedWebServiceTaskDefTaskRoleDB198F40",
+ ],
+ "Properties": {
+ "MaxCapacity": 20,
+ "MinCapacity": 1,
+ "ResourceId": {
+ "Fn::Join": [
+ "",
+ [
+ "service/",
+ {
+ "Ref": "ClosedWebCluster09BBE0C2",
+ },
+ "/",
+ {
+ "Fn::GetAtt": [
+ "ClosedWebService1F389222",
+ "Name",
+ ],
+ },
+ ],
+ ],
+ },
+ "RoleARN": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::123456890123:role/aws-service-role/ecs.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_ECSService",
+ ],
+ ],
+ },
+ "ScalableDimension": "ecs:service:DesiredCount",
+ "ServiceNamespace": "ecs",
+ },
+ "Type": "AWS::ApplicationAutoScaling::ScalableTarget",
+ },
+ "ClosedWebServiceTaskCountTargetCpuScalingBFBF6899": {
+ "DependsOn": [
+ "ClosedWebServiceTaskDefTaskRoleDefaultPolicy11809144",
+ "ClosedWebServiceTaskDefTaskRoleDB198F40",
+ ],
+ "Properties": {
+ "PolicyName": "ClosedNetworkStackClosedWebServiceTaskCountTargetCpuScaling82043AB4",
+ "PolicyType": "TargetTrackingScaling",
+ "ScalingTargetId": {
+ "Ref": "ClosedWebServiceTaskCountTarget8545D676",
+ },
+ "TargetTrackingScalingPolicyConfiguration": {
+ "PredefinedMetricSpecification": {
+ "PredefinedMetricType": "ECSServiceAverageCPUUtilization",
+ },
+ "TargetValue": 50,
+ },
+ },
+ "Type": "AWS::ApplicationAutoScaling::ScalingPolicy",
+ },
+ "ClosedWebServiceTaskCountTargetMemoryScaling35B65A0C": {
+ "DependsOn": [
+ "ClosedWebServiceTaskDefTaskRoleDefaultPolicy11809144",
+ "ClosedWebServiceTaskDefTaskRoleDB198F40",
+ ],
+ "Properties": {
+ "PolicyName": "ClosedNetworkStackClosedWebServiceTaskCountTargetMemoryScaling27188BEA",
+ "PolicyType": "TargetTrackingScaling",
+ "ScalingTargetId": {
+ "Ref": "ClosedWebServiceTaskCountTarget8545D676",
+ },
+ "TargetTrackingScalingPolicyConfiguration": {
+ "PredefinedMetricSpecification": {
+ "PredefinedMetricType": "ECSServiceAverageMemoryUtilization",
+ },
+ "TargetValue": 50,
+ },
+ },
+ "Type": "AWS::ApplicationAutoScaling::ScalingPolicy",
+ },
+ "ClosedWebServiceTaskDef2F7838D3": {
+ "Properties": {
+ "ContainerDefinitions": [
+ {
+ "Environment": [
+ {
+ "Name": "BUCKET_NAME",
+ "Value": {
+ "Ref": "ClosedWebWebBucket6C6180EC",
+ },
+ },
+ ],
+ "Essential": true,
+ "Image": {
+ "Fn::Sub": "123456890123.dkr.ecr.us-east-1.\${AWS::URLSuffix}/cdk-hnb659fds-container-assets-123456890123-us-east-1:7d1a9cbcd523fa1f30afeb1394c611b18778bbdc6343bc4d9ed3f9109ce669e9",
+ },
+ "LogConfiguration": {
+ "LogDriver": "awslogs",
+ "Options": {
+ "awslogs-group": {
+ "Ref": "ClosedWebServiceTaskDefwebLogGroupB8C3FF1B",
+ },
+ "awslogs-region": "us-east-1",
+ "awslogs-stream-prefix": "Service",
+ },
+ },
+ "Name": "web",
+ "PortMappings": [
+ {
+ "ContainerPort": 8080,
+ "Protocol": "tcp",
+ },
+ ],
+ },
+ ],
+ "Cpu": "256",
+ "ExecutionRoleArn": {
+ "Fn::GetAtt": [
+ "ClosedWebServiceTaskDefExecutionRole22DA6D47",
+ "Arn",
+ ],
+ },
+ "Family": "ClosedNetworkStackClosedWebServiceTaskDef0947393F",
+ "Memory": "512",
+ "NetworkMode": "awsvpc",
+ "RequiresCompatibilities": [
+ "FARGATE",
+ ],
+ "RuntimePlatform": {
+ "CpuArchitecture": "X86_64",
+ "OperatingSystemFamily": "LINUX",
+ },
+ "TaskRoleArn": {
+ "Fn::GetAtt": [
+ "ClosedWebServiceTaskDefTaskRoleDB198F40",
+ "Arn",
+ ],
+ },
+ },
+ "Type": "AWS::ECS::TaskDefinition",
+ },
+ "ClosedWebServiceTaskDefExecutionRole22DA6D47": {
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "ecs-tasks.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ },
+ "Type": "AWS::IAM::Role",
+ },
+ "ClosedWebServiceTaskDefExecutionRoleDefaultPolicy9B013351": {
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "ecr:BatchCheckLayerAvailability",
+ "ecr:GetDownloadUrlForLayer",
+ "ecr:BatchGetImage",
+ ],
+ "Effect": "Allow",
+ "Resource": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":ecr:us-east-1:123456890123:repository/cdk-hnb659fds-container-assets-123456890123-us-east-1",
+ ],
+ ],
+ },
+ },
+ {
+ "Action": "ecr:GetAuthorizationToken",
+ "Effect": "Allow",
+ "Resource": "*",
+ },
+ {
+ "Action": [
+ "logs:CreateLogStream",
+ "logs:PutLogEvents",
+ ],
+ "Effect": "Allow",
+ "Resource": {
+ "Fn::GetAtt": [
+ "ClosedWebServiceTaskDefwebLogGroupB8C3FF1B",
+ "Arn",
+ ],
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "ClosedWebServiceTaskDefExecutionRoleDefaultPolicy9B013351",
+ "Roles": [
+ {
+ "Ref": "ClosedWebServiceTaskDefExecutionRole22DA6D47",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ },
+ "ClosedWebServiceTaskDefTaskRoleDB198F40": {
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "ecs-tasks.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ },
+ "Type": "AWS::IAM::Role",
+ },
+ "ClosedWebServiceTaskDefTaskRoleDefaultPolicy11809144": {
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "s3:GetObject*",
+ "s3:GetBucket*",
+ "s3:List*",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "ClosedWebWebBucket6C6180EC",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "ClosedWebWebBucket6C6180EC",
+ "Arn",
+ ],
+ },
+ "/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "ClosedWebServiceTaskDefTaskRoleDefaultPolicy11809144",
+ "Roles": [
+ {
+ "Ref": "ClosedWebServiceTaskDefTaskRoleDB198F40",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ },
+ "ClosedWebServiceTaskDefwebLogGroupB8C3FF1B": {
+ "DeletionPolicy": "Retain",
+ "Type": "AWS::Logs::LogGroup",
+ "UpdateReplacePolicy": "Retain",
+ },
+ "ClosedWebWebBucket6C6180EC": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "BucketEncryption": {
+ "ServerSideEncryptionConfiguration": [
+ {
+ "ServerSideEncryptionByDefault": {
+ "SSEAlgorithm": "AES256",
+ },
+ },
+ ],
+ },
+ "OwnershipControls": {
+ "Rules": [
+ {
+ "ObjectOwnership": "ObjectWriter",
+ },
+ ],
+ },
+ "PublicAccessBlockConfiguration": {
+ "BlockPublicAcls": true,
+ "BlockPublicPolicy": true,
+ "IgnorePublicAcls": true,
+ "RestrictPublicBuckets": true,
+ },
+ "Tags": [
+ {
+ "Key": "aws-cdk:auto-delete-objects",
+ "Value": "true",
+ },
+ {
+ "Key": "aws-cdk:cr-owned:656af005",
+ "Value": "true",
+ },
+ ],
+ },
+ "Type": "AWS::S3::Bucket",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "ClosedWebWebBucketAutoDeleteObjectsCustomResource2D0A0E18": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "ClosedWebWebBucketPolicy9CCBE9E3",
+ ],
+ "Properties": {
+ "BucketName": {
+ "Ref": "ClosedWebWebBucket6C6180EC",
+ },
+ "ServiceToken": {
+ "Fn::GetAtt": [
+ "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F",
+ "Arn",
+ ],
+ },
+ },
+ "Type": "Custom::S3AutoDeleteObjects",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "ClosedWebWebBucketPolicy9CCBE9E3": {
+ "Properties": {
+ "Bucket": {
+ "Ref": "ClosedWebWebBucket6C6180EC",
+ },
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": "s3:*",
+ "Condition": {
+ "Bool": {
+ "aws:SecureTransport": "false",
+ },
+ },
+ "Effect": "Deny",
+ "Principal": {
+ "AWS": "*",
+ },
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "ClosedWebWebBucket6C6180EC",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "ClosedWebWebBucket6C6180EC",
+ "Arn",
+ ],
+ },
+ "/*",
+ ],
+ ],
+ },
+ ],
+ },
+ {
+ "Action": [
+ "s3:PutBucketPolicy",
+ "s3:GetBucket*",
+ "s3:List*",
+ "s3:DeleteObject*",
+ ],
+ "Effect": "Allow",
+ "Principal": {
+ "AWS": {
+ "Fn::GetAtt": [
+ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
+ "Arn",
+ ],
+ },
+ },
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "ClosedWebWebBucket6C6180EC",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "ClosedWebWebBucket6C6180EC",
+ "Arn",
+ ],
+ },
+ "/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ },
+ "Type": "AWS::S3::BucketPolicy",
+ },
+ "CognitoPrivateProxyCognitoIdPoolProxyApi29D89399": {
+ "Properties": {
+ "EndpointConfiguration": {
+ "Types": [
+ "PRIVATE",
+ ],
+ "VpcEndpointIds": [
+ {
+ "Ref": "ClosedVpcVpcEndpointApiGateway6200AA11",
+ },
+ ],
+ },
+ "Name": "GenU Cognito ID Pool Proxy API",
+ "Policy": {
+ "Statement": [
+ {
+ "Action": "execute-api:Invoke",
+ "Condition": {
+ "StringNotEquals": {
+ "aws:SourceVpce": {
+ "Ref": "ClosedVpcVpcEndpointApiGateway6200AA11",
+ },
+ },
+ },
+ "Effect": "Deny",
+ "Principal": {
+ "AWS": "*",
+ },
+ "Resource": "execute-api:/*",
+ },
+ {
+ "Action": "execute-api:Invoke",
+ "Effect": "Allow",
+ "Principal": {
+ "AWS": "*",
+ },
+ "Resource": "execute-api:/*",
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ },
+ "Type": "AWS::ApiGateway::RestApi",
+ },
+ "CognitoPrivateProxyCognitoIdPoolProxyApiAccount085E0E94": {
+ "DeletionPolicy": "Retain",
+ "DependsOn": [
+ "CognitoPrivateProxyCognitoIdPoolProxyApi29D89399",
+ ],
+ "Properties": {
+ "CloudWatchRoleArn": {
+ "Fn::GetAtt": [
+ "CognitoPrivateProxyCognitoIdPoolProxyApiCloudWatchRole96031FD0",
+ "Arn",
+ ],
+ },
+ },
+ "Type": "AWS::ApiGateway::Account",
+ "UpdateReplacePolicy": "Retain",
+ },
+ "CognitoPrivateProxyCognitoIdPoolProxyApiCloudWatchRole96031FD0": {
+ "DeletionPolicy": "Retain",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "apigateway.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AmazonAPIGatewayPushToCloudWatchLogs",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Retain",
+ },
+ "CognitoPrivateProxyCognitoIdPoolProxyApiDeploymentE3A3456Dc0e8ebfc951475ad78678c9d506574db": {
+ "DependsOn": [
+ "CognitoPrivateProxyCognitoIdPoolProxyApiOPTIONS3BB922AD",
+ "CognitoPrivateProxyCognitoIdPoolProxyApiPOSTA5AA1C45",
+ ],
+ "Metadata": {
+ "aws:cdk:do-not-refactor": true,
+ },
+ "Properties": {
+ "Description": "Automatically created by the RestApi construct",
+ "RestApiId": {
+ "Ref": "CognitoPrivateProxyCognitoIdPoolProxyApi29D89399",
+ },
+ },
+ "Type": "AWS::ApiGateway::Deployment",
+ },
+ "CognitoPrivateProxyCognitoIdPoolProxyApiDeploymentStageprodF7892673": {
+ "DependsOn": [
+ "CognitoPrivateProxyCognitoIdPoolProxyApiAccount085E0E94",
+ ],
+ "Properties": {
+ "DeploymentId": {
+ "Ref": "CognitoPrivateProxyCognitoIdPoolProxyApiDeploymentE3A3456Dc0e8ebfc951475ad78678c9d506574db",
+ },
+ "RestApiId": {
+ "Ref": "CognitoPrivateProxyCognitoIdPoolProxyApi29D89399",
+ },
+ "StageName": "prod",
+ },
+ "Type": "AWS::ApiGateway::Stage",
+ },
+ "CognitoPrivateProxyCognitoIdPoolProxyApiOPTIONS3BB922AD": {
+ "Properties": {
+ "ApiKeyRequired": false,
+ "AuthorizationType": "NONE",
+ "HttpMethod": "OPTIONS",
+ "Integration": {
+ "IntegrationResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": "'amz-sdk-invocation-id,amz-sdk-request,cache-control,content-type,x-amz-target,x-amz-user-agent'",
+ "method.response.header.Access-Control-Allow-Methods": "'POST,OPTIONS'",
+ "method.response.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "RequestTemplates": {
+ "application/json": "{ statusCode: 200 }",
+ },
+ "Type": "MOCK",
+ },
+ "MethodResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": true,
+ "method.response.header.Access-Control-Allow-Methods": true,
+ "method.response.header.Access-Control-Allow-Origin": true,
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "ResourceId": {
+ "Fn::GetAtt": [
+ "CognitoPrivateProxyCognitoIdPoolProxyApi29D89399",
+ "RootResourceId",
+ ],
+ },
+ "RestApiId": {
+ "Ref": "CognitoPrivateProxyCognitoIdPoolProxyApi29D89399",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ },
+ "CognitoPrivateProxyCognitoIdPoolProxyApiPOSTA5AA1C45": {
+ "Properties": {
+ "AuthorizationType": "NONE",
+ "HttpMethod": "POST",
+ "Integration": {
+ "IntegrationHttpMethod": "POST",
+ "IntegrationResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": "'Content-Type,Authorization,Cache-Control,X-Amz-Target,X-Amz-User-Agent'",
+ "method.response.header.Access-Control-Allow-Methods": "'POST,OPTIONS'",
+ "method.response.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "StatusCode": "200",
+ },
+ ],
+ "PassthroughBehavior": "WHEN_NO_MATCH",
+ "RequestParameters": {
+ "integration.request.header.Authorization": "method.request.header.Authorization",
+ "integration.request.header.Content-Type": "method.request.header.Content-Type",
+ "integration.request.header.X-Amz-Target": "method.request.header.X-Amz-Target",
+ "integration.request.header.X-Amz-User-Agent": "method.request.header.X-Amz-User-Agent",
+ },
+ "Type": "HTTP_PROXY",
+ "Uri": "https://cognito-identity.us-east-1.amazonaws.com",
+ },
+ "MethodResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": true,
+ "method.response.header.Access-Control-Allow-Methods": true,
+ "method.response.header.Access-Control-Allow-Origin": true,
+ },
+ "StatusCode": "200",
+ },
+ ],
+ "RequestParameters": {
+ "method.request.header.Authorization": false,
+ "method.request.header.Content-Type": false,
+ "method.request.header.X-Amz-Target": false,
+ "method.request.header.X-Amz-User-Agent": false,
+ },
+ "ResourceId": {
+ "Fn::GetAtt": [
+ "CognitoPrivateProxyCognitoIdPoolProxyApi29D89399",
+ "RootResourceId",
+ ],
+ },
+ "RestApiId": {
+ "Ref": "CognitoPrivateProxyCognitoIdPoolProxyApi29D89399",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ },
+ "CognitoPrivateProxyCognitoUserPoolProxyApi818B53B1": {
+ "Properties": {
+ "EndpointConfiguration": {
+ "Types": [
+ "PRIVATE",
+ ],
+ "VpcEndpointIds": [
+ {
+ "Ref": "ClosedVpcVpcEndpointApiGateway6200AA11",
+ },
+ ],
+ },
+ "Name": "GenU Cognito UserPool Proxy API",
+ "Policy": {
+ "Statement": [
+ {
+ "Action": "execute-api:Invoke",
+ "Condition": {
+ "StringNotEquals": {
+ "aws:SourceVpce": {
+ "Ref": "ClosedVpcVpcEndpointApiGateway6200AA11",
+ },
+ },
+ },
+ "Effect": "Deny",
+ "Principal": {
+ "AWS": "*",
+ },
+ "Resource": "execute-api:/*",
+ },
+ {
+ "Action": "execute-api:Invoke",
+ "Effect": "Allow",
+ "Principal": {
+ "AWS": "*",
+ },
+ "Resource": "execute-api:/*",
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ },
+ "Type": "AWS::ApiGateway::RestApi",
+ },
+ "CognitoPrivateProxyCognitoUserPoolProxyApiAccount8D7130CF": {
+ "DeletionPolicy": "Retain",
+ "DependsOn": [
+ "CognitoPrivateProxyCognitoUserPoolProxyApi818B53B1",
+ ],
+ "Properties": {
+ "CloudWatchRoleArn": {
+ "Fn::GetAtt": [
+ "CognitoPrivateProxyCognitoUserPoolProxyApiCloudWatchRole13ECA7CB",
+ "Arn",
+ ],
+ },
+ },
+ "Type": "AWS::ApiGateway::Account",
+ "UpdateReplacePolicy": "Retain",
+ },
+ "CognitoPrivateProxyCognitoUserPoolProxyApiCloudWatchRole13ECA7CB": {
+ "DeletionPolicy": "Retain",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "apigateway.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AmazonAPIGatewayPushToCloudWatchLogs",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Retain",
+ },
+ "CognitoPrivateProxyCognitoUserPoolProxyApiDeployment11D70EC105771a0029216e27aa20a3859719b309": {
+ "DependsOn": [
+ "CognitoPrivateProxyCognitoUserPoolProxyApiOPTIONSCE339C8F",
+ "CognitoPrivateProxyCognitoUserPoolProxyApiPOST0CAE9A7C",
+ ],
+ "Metadata": {
+ "aws:cdk:do-not-refactor": true,
+ },
+ "Properties": {
+ "Description": "Automatically created by the RestApi construct",
+ "RestApiId": {
+ "Ref": "CognitoPrivateProxyCognitoUserPoolProxyApi818B53B1",
+ },
+ },
+ "Type": "AWS::ApiGateway::Deployment",
+ },
+ "CognitoPrivateProxyCognitoUserPoolProxyApiDeploymentStageprod0C2BA9A5": {
+ "DependsOn": [
+ "CognitoPrivateProxyCognitoUserPoolProxyApiAccount8D7130CF",
+ ],
+ "Properties": {
+ "DeploymentId": {
+ "Ref": "CognitoPrivateProxyCognitoUserPoolProxyApiDeployment11D70EC105771a0029216e27aa20a3859719b309",
+ },
+ "RestApiId": {
+ "Ref": "CognitoPrivateProxyCognitoUserPoolProxyApi818B53B1",
+ },
+ "StageName": "prod",
+ },
+ "Type": "AWS::ApiGateway::Stage",
+ },
+ "CognitoPrivateProxyCognitoUserPoolProxyApiOPTIONSCE339C8F": {
+ "Properties": {
+ "ApiKeyRequired": false,
+ "AuthorizationType": "NONE",
+ "HttpMethod": "OPTIONS",
+ "Integration": {
+ "IntegrationResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": "'amz-sdk-invocation-id,amz-sdk-request,cache-control,content-type,x-amz-target,x-amz-user-agent'",
+ "method.response.header.Access-Control-Allow-Methods": "'POST,OPTIONS'",
+ "method.response.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "RequestTemplates": {
+ "application/json": "{ statusCode: 200 }",
+ },
+ "Type": "MOCK",
+ },
+ "MethodResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": true,
+ "method.response.header.Access-Control-Allow-Methods": true,
+ "method.response.header.Access-Control-Allow-Origin": true,
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "ResourceId": {
+ "Fn::GetAtt": [
+ "CognitoPrivateProxyCognitoUserPoolProxyApi818B53B1",
+ "RootResourceId",
+ ],
+ },
+ "RestApiId": {
+ "Ref": "CognitoPrivateProxyCognitoUserPoolProxyApi818B53B1",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ },
+ "CognitoPrivateProxyCognitoUserPoolProxyApiPOST0CAE9A7C": {
+ "Properties": {
+ "AuthorizationType": "NONE",
+ "HttpMethod": "POST",
+ "Integration": {
+ "IntegrationHttpMethod": "POST",
+ "IntegrationResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": "'Content-Type,Authorization,Cache-Control,X-Amz-Target,X-Amz-User-Agent'",
+ "method.response.header.Access-Control-Allow-Methods": "'POST,OPTIONS'",
+ "method.response.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "StatusCode": "200",
+ },
+ ],
+ "PassthroughBehavior": "WHEN_NO_MATCH",
+ "RequestParameters": {
+ "integration.request.header.Authorization": "method.request.header.Authorization",
+ "integration.request.header.Content-Type": "method.request.header.Content-Type",
+ "integration.request.header.X-Amz-Target": "method.request.header.X-Amz-Target",
+ "integration.request.header.X-Amz-User-Agent": "method.request.header.X-Amz-User-Agent",
+ },
+ "Type": "HTTP_PROXY",
+ "Uri": "https://cognito-idp.us-east-1.amazonaws.com",
+ },
+ "MethodResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": true,
+ "method.response.header.Access-Control-Allow-Methods": true,
+ "method.response.header.Access-Control-Allow-Origin": true,
+ },
+ "StatusCode": "200",
+ },
+ ],
+ "RequestParameters": {
+ "method.request.header.Authorization": false,
+ "method.request.header.Content-Type": false,
+ "method.request.header.X-Amz-Target": false,
+ "method.request.header.X-Amz-User-Agent": false,
+ },
+ "ResourceId": {
+ "Fn::GetAtt": [
+ "CognitoPrivateProxyCognitoUserPoolProxyApi818B53B1",
+ "RootResourceId",
+ ],
+ },
+ "RestApiId": {
+ "Ref": "CognitoPrivateProxyCognitoUserPoolProxyApi818B53B1",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ },
+ "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F": {
+ "DependsOn": [
+ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Description": {
+ "Fn::Join": [
+ "",
+ [
+ "Lambda function for auto-deleting objects in ",
+ {
+ "Ref": "ClosedWebWebBucket6C6180EC",
+ },
+ " S3 bucket.",
+ ],
+ ],
+ },
+ "Handler": "index.handler",
+ "MemorySize": 128,
+ "Role": {
+ "Fn::GetAtt": [
+ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ },
+ "Type": "AWS::Lambda::Function",
+ },
+ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092": {
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Sub": "arn:\${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ },
+ "ResolverInbountEndpointA5AA48E5": {
+ "Properties": {
+ "Direction": "INBOUND",
+ "IpAddresses": [
+ {
+ "SubnetId": {
+ "Ref": "ClosedVpcisolatedSubnet1Subnet2EF6D3F3",
+ },
+ },
+ {
+ "SubnetId": {
+ "Ref": "ClosedVpcisolatedSubnet2SubnetB169C8D3",
+ },
+ },
+ ],
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "ResolverResolverSecurityGroupEB0C52DC",
+ "GroupId",
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::Route53Resolver::ResolverEndpoint",
+ },
+ "ResolverResolverSecurityGroupEB0C52DC": {
+ "Properties": {
+ "GroupDescription": "ClosedNetworkStack/Resolver/ResolverSecurityGroup",
+ "SecurityGroupEgress": [
+ {
+ "CidrIp": "0.0.0.0/0",
+ "Description": "Allow all outbound traffic by default",
+ "IpProtocol": "-1",
+ },
+ ],
+ "SecurityGroupIngress": [
+ {
+ "CidrIp": "0.0.0.0/0",
+ "Description": "DNS TCP",
+ "FromPort": 53,
+ "IpProtocol": "tcp",
+ "ToPort": 53,
+ },
+ {
+ "CidrIp": "0.0.0.0/0",
+ "Description": "DNS UDP",
+ "FromPort": 53,
+ "IpProtocol": "udp",
+ "ToPort": 53,
+ },
+ ],
+ "VpcId": {
+ "Ref": "ClosedVpcC15583C9",
+ },
+ },
+ "Type": "AWS::EC2::SecurityGroup",
+ },
+ "WindowsRdpInstanceProfile1902810C": {
+ "Properties": {
+ "Roles": [
+ {
+ "Ref": "WindowsRdpWindowsRoleA2F13548",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::InstanceProfile",
+ },
+ "WindowsRdpVpcEndpointEc2Messages2366BC7E": {
+ "Properties": {
+ "PrivateDnsEnabled": true,
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "WindowsRdpWindowsVpcEndpointSg7CF46751",
+ "GroupId",
+ ],
+ },
+ ],
+ "ServiceName": "com.amazonaws.us-east-1.ec2messages",
+ "SubnetIds": [
+ {
+ "Ref": "ClosedVpcisolatedSubnet1Subnet2EF6D3F3",
+ },
+ {
+ "Ref": "ClosedVpcisolatedSubnet2SubnetB169C8D3",
+ },
+ ],
+ "VpcEndpointType": "Interface",
+ "VpcId": {
+ "Ref": "ClosedVpcC15583C9",
+ },
+ },
+ "Type": "AWS::EC2::VPCEndpoint",
+ },
+ "WindowsRdpVpcEndpointSsm69BD738D": {
+ "Properties": {
+ "PrivateDnsEnabled": true,
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "WindowsRdpWindowsVpcEndpointSg7CF46751",
+ "GroupId",
+ ],
+ },
+ ],
+ "ServiceName": "com.amazonaws.us-east-1.ssm",
+ "SubnetIds": [
+ {
+ "Ref": "ClosedVpcisolatedSubnet1Subnet2EF6D3F3",
+ },
+ {
+ "Ref": "ClosedVpcisolatedSubnet2SubnetB169C8D3",
+ },
+ ],
+ "VpcEndpointType": "Interface",
+ "VpcId": {
+ "Ref": "ClosedVpcC15583C9",
+ },
+ },
+ "Type": "AWS::EC2::VPCEndpoint",
+ },
+ "WindowsRdpVpcEndpointSsmMessages4738E190": {
+ "Properties": {
+ "PrivateDnsEnabled": true,
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "WindowsRdpWindowsVpcEndpointSg7CF46751",
+ "GroupId",
+ ],
+ },
+ ],
+ "ServiceName": "com.amazonaws.us-east-1.ssmmessages",
+ "SubnetIds": [
+ {
+ "Ref": "ClosedVpcisolatedSubnet1Subnet2EF6D3F3",
+ },
+ {
+ "Ref": "ClosedVpcisolatedSubnet2SubnetB169C8D3",
+ },
+ ],
+ "VpcEndpointType": "Interface",
+ "VpcId": {
+ "Ref": "ClosedVpcC15583C9",
+ },
+ },
+ "Type": "AWS::EC2::VPCEndpoint",
+ },
+ "WindowsRdpWindowsKeyPair02415E47": {
+ "Properties": {
+ "KeyFormat": "pem",
+ "KeyName": "ClosedNetworkStackWindowsRdpWindowsKeyPairD4B3BA96",
+ "KeyType": "rsa",
+ },
+ "Type": "AWS::EC2::KeyPair",
+ },
+ "WindowsRdpWindowsRoleA2F13548": {
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "ec2.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/AmazonSSMManagedInstanceCore",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ },
+ "WindowsRdpWindowsSg0DCBDB4D": {
+ "Properties": {
+ "GroupDescription": "ClosedNetworkStack/WindowsRdp/WindowsSg",
+ "SecurityGroupEgress": [
+ {
+ "CidrIp": "0.0.0.0/0",
+ "Description": "Allow all outbound traffic by default",
+ "IpProtocol": "-1",
+ },
+ ],
+ "VpcId": {
+ "Ref": "ClosedVpcC15583C9",
+ },
+ },
+ "Type": "AWS::EC2::SecurityGroup",
+ },
+ "WindowsRdpWindowsSgfromClosedNetworkStackWindowsRdpWindowsVpcEndpointSgAEDCCEBD443E501CEBB": {
+ "Properties": {
+ "Description": "from ClosedNetworkStackWindowsRdpWindowsVpcEndpointSgAEDCCEBD:443",
+ "FromPort": 443,
+ "GroupId": {
+ "Fn::GetAtt": [
+ "WindowsRdpWindowsSg0DCBDB4D",
+ "GroupId",
+ ],
+ },
+ "IpProtocol": "tcp",
+ "SourceSecurityGroupId": {
+ "Fn::GetAtt": [
+ "WindowsRdpWindowsVpcEndpointSg7CF46751",
+ "GroupId",
+ ],
+ },
+ "ToPort": 443,
+ },
+ "Type": "AWS::EC2::SecurityGroupIngress",
+ },
+ "WindowsRdpWindowsVpcEndpointSg7CF46751": {
+ "Properties": {
+ "GroupDescription": "ClosedNetworkStack/WindowsRdp/WindowsVpcEndpointSg",
+ "SecurityGroupEgress": [
+ {
+ "CidrIp": "0.0.0.0/0",
+ "Description": "Allow all outbound traffic by default",
+ "IpProtocol": "-1",
+ },
+ ],
+ "SecurityGroupIngress": [
+ {
+ "CidrIp": {
+ "Fn::GetAtt": [
+ "ClosedVpcC15583C9",
+ "CidrBlock",
+ ],
+ },
+ "Description": {
+ "Fn::Join": [
+ "",
+ [
+ "from ",
+ {
+ "Fn::GetAtt": [
+ "ClosedVpcC15583C9",
+ "CidrBlock",
+ ],
+ },
+ ":443",
+ ],
+ ],
+ },
+ "FromPort": 443,
+ "IpProtocol": "tcp",
+ "ToPort": 443,
+ },
+ ],
+ "VpcId": {
+ "Ref": "ClosedVpcC15583C9",
+ },
+ },
+ "Type": "AWS::EC2::SecurityGroup",
+ },
+ "WindowsRdpwindowsInstance6078E7F7": {
+ "DependsOn": [
+ "WindowsRdpWindowsRoleA2F13548",
+ ],
+ "Properties": {
+ "AvailabilityZone": "dummy1a",
+ "BlockDeviceMappings": [
+ {
+ "DeviceName": "/dev/sda1",
+ "Ebs": {
+ "Encrypted": true,
+ "VolumeSize": 100,
+ "VolumeType": "gp3",
+ },
+ },
+ ],
+ "IamInstanceProfile": {
+ "Ref": "WindowsRdpInstanceProfile1902810C",
+ },
+ "ImageId": {
+ "Ref": "SsmParameterValueawsserviceamiwindowslatestWindowsServer2025EnglishFullBaseC96584B6F00A464EAD1953AFF4B05118Parameter",
+ },
+ "InstanceType": "r6i.large",
+ "KeyName": {
+ "Ref": "WindowsRdpWindowsKeyPair02415E47",
+ },
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "WindowsRdpWindowsSg0DCBDB4D",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetId": {
+ "Ref": "ClosedVpcisolatedSubnet1Subnet2EF6D3F3",
+ },
+ "Tags": [
+ {
+ "Key": "Name",
+ "Value": "ClosedNetworkStack/WindowsRdp/windowsInstance",
+ },
+ ],
+ "UserData": {
+ "Fn::Base64": " ",
+ },
+ },
+ "Type": "AWS::EC2::Instance",
+ },
+ },
+ "Rules": {
+ "CheckBootstrapVersion": {
+ "Assertions": [
+ {
+ "Assert": {
+ "Fn::Not": [
+ {
+ "Fn::Contains": [
+ [
+ "1",
+ "2",
+ "3",
+ "4",
+ "5",
+ ],
+ {
+ "Ref": "BootstrapVersion",
+ },
+ ],
+ },
+ ],
+ },
+ "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI.",
+ },
+ ],
+ },
+ },
+}
+`;
+
+exports[`GenerativeAiUseCases matches the snapshot (closed network mode) 2`] = `
+{
+ "Outputs": {
+ "ExportsOutputRefDataSourceBucket9FA93E04BB6984D1": {
+ "Export": {
+ "Name": "RagKnowledgeBaseStack:ExportsOutputRefDataSourceBucket9FA93E04BB6984D1",
+ },
+ "Value": {
+ "Ref": "DataSourceBucket9FA93E04",
+ },
+ },
+ "ExportsOutputRefKnowledgeBaseD054384B": {
+ "Export": {
+ "Name": "RagKnowledgeBaseStack:ExportsOutputRefKnowledgeBaseD054384B",
+ },
+ "Value": {
+ "Ref": "KnowledgeBase",
+ },
+ },
+ },
+ "Parameters": {
+ "BootstrapVersion": {
+ "Default": "/cdk-bootstrap/hnb659fds/version",
+ "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]",
+ "Type": "AWS::SSM::Parameter::Value",
+ },
+ },
+ "Resources": {
+ "AccessPolicy": {
+ "Properties": {
+ "Name": "generative-ai-use-cases-jp",
+ "Policy": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"Rules":[{"Resource":["collection/generative-ai-use-cases-jp"],"Permission":["aoss:DescribeCollectionItems","aoss:CreateCollectionItems","aoss:UpdateCollectionItems"],"ResourceType":"collection"},{"Resource":["index/generative-ai-use-cases-jp/*"],"Permission":["aoss:UpdateIndex","aoss:DescribeIndex","aoss:ReadDocument","aoss:WriteDocument","aoss:CreateIndex","aoss:DeleteIndex"],"ResourceType":"index"}],"Principal":["",
+ {
+ "Fn::GetAtt": [
+ "KnowledgeBaseRoleA2B317B9",
+ "Arn",
+ ],
+ },
+ "","",
+ {
+ "Fn::GetAtt": [
+ "OpenSearchServerlessIndex339C5FEDA1B543B6B40A5E8E59E5734DServiceRole367CC992",
+ "Arn",
+ ],
+ },
+ ""],"Description":""}]",
+ ],
+ ],
+ },
+ "Type": "data",
+ },
+ "Type": "AWS::OpenSearchServerless::AccessPolicy",
+ },
+ "ApplyTags": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "Collection",
+ ],
+ "Properties": {
+ "ServiceToken": {
+ "Fn::GetAtt": [
+ "ApplyTagsToResourcesE2488E36B4654D1F9D1C89FB99F1CC01E87E9E73",
+ "Arn",
+ ],
+ },
+ "accountId": "123456890123",
+ "collectionId": {
+ "Ref": "Collection",
+ },
+ "region": "us-east-1",
+ "tag": {
+ "key": "GenU",
+ "value": "",
+ },
+ },
+ "Type": "Custom::ApplyTags",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "ApplyTagsToResourcesE2488E36B4654D1F9D1C89FB99F1CC01E87E9E73": {
+ "DependsOn": [
+ "ApplyTagsToResourcesE2488E36B4654D1F9D1C89FB99F1CC01ServiceRoleDefaultPolicy0493DEDD",
+ "ApplyTagsToResourcesE2488E36B4654D1F9D1C89FB99F1CC01ServiceRole61085692",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Handler": "apply-tags.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "ApplyTagsToResourcesE2488E36B4654D1F9D1C89FB99F1CC01ServiceRole61085692",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 300,
+ },
+ "Type": "AWS::Lambda::Function",
+ },
+ "ApplyTagsToResourcesE2488E36B4654D1F9D1C89FB99F1CC01ServiceRole61085692": {
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ },
+ "ApplyTagsToResourcesE2488E36B4654D1F9D1C89FB99F1CC01ServiceRoleDefaultPolicy0493DEDD": {
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "aoss:TagResource",
+ "aoss:UntagResource",
+ "aoss:ListTagsForResource",
+ ],
+ "Effect": "Allow",
+ "Resource": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:aws:aoss:us-east-1:123456890123:collection/",
+ {
+ "Ref": "Collection",
+ },
+ ],
+ ],
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "ApplyTagsToResourcesE2488E36B4654D1F9D1C89FB99F1CC01ServiceRoleDefaultPolicy0493DEDD",
+ "Roles": [
+ {
+ "Ref": "ApplyTagsToResourcesE2488E36B4654D1F9D1C89FB99F1CC01ServiceRole61085692",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ },
+ "Collection": {
+ "DependsOn": [
+ "AccessPolicy",
+ "EncryptionPolicy",
+ "NetworkPolicy",
+ ],
+ "Properties": {
+ "Description": "GenU Collection",
+ "Name": "generative-ai-use-cases-jp",
+ "StandbyReplicas": "DISABLED",
+ "Type": "VECTORSEARCH",
+ },
+ "Type": "AWS::OpenSearchServerless::Collection",
+ },
+ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C1024MiBB049752D": {
+ "DependsOn": [
+ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C1024MiBServiceRoleDefaultPolicy0801355D",
+ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C1024MiBServiceRole739949D8",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "AWS_CA_BUNDLE": "/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem",
+ },
+ },
+ "Handler": "index.handler",
+ "Layers": [
+ {
+ "Ref": "DeployDocsAwsCliLayer98E5B499",
+ },
+ ],
+ "MemorySize": 1024,
+ "Role": {
+ "Fn::GetAtt": [
+ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C1024MiBServiceRole739949D8",
+ "Arn",
+ ],
+ },
+ "Runtime": "python3.11",
+ "Timeout": 900,
+ },
+ "Type": "AWS::Lambda::Function",
+ },
+ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C1024MiBServiceRole739949D8": {
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ },
+ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C1024MiBServiceRoleDefaultPolicy0801355D": {
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "s3:GetObject*",
+ "s3:GetBucket*",
+ "s3:List*",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":s3:::cdk-hnb659fds-assets-123456890123-us-east-1",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":s3:::cdk-hnb659fds-assets-123456890123-us-east-1/*",
+ ],
+ ],
+ },
+ ],
+ },
+ {
+ "Action": [
+ "s3:GetObject*",
+ "s3:GetBucket*",
+ "s3:List*",
+ "s3:DeleteObject*",
+ "s3:PutObject",
+ "s3:PutObjectLegalHold",
+ "s3:PutObjectRetention",
+ "s3:PutObjectTagging",
+ "s3:PutObjectVersionTagging",
+ "s3:Abort*",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "DataSourceBucket9FA93E04",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "DataSourceBucket9FA93E04",
+ "Arn",
+ ],
+ },
+ "/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C1024MiBServiceRoleDefaultPolicy0801355D",
+ "Roles": [
+ {
+ "Ref": "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C1024MiBServiceRole739949D8",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ },
+ "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F": {
+ "DependsOn": [
+ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Description": {
+ "Fn::Join": [
+ "",
+ [
+ "Lambda function for auto-deleting objects in ",
+ {
+ "Ref": "DataSourceAccessLogsBucketE5273C2E",
+ },
+ " S3 bucket.",
+ ],
+ ],
+ },
+ "Handler": "index.handler",
+ "MemorySize": 128,
+ "Role": {
+ "Fn::GetAtt": [
+ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ },
+ "Type": "AWS::Lambda::Function",
+ },
+ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092": {
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Sub": "arn:\${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ },
+ "DataSource": {
+ "Properties": {
+ "DataSourceConfiguration": {
+ "S3Configuration": {
+ "BucketArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:aws:s3:::",
+ {
+ "Ref": "DataSourceBucket9FA93E04",
+ },
+ ],
+ ],
+ },
+ "InclusionPrefixes": [
+ "docs/",
+ ],
+ },
+ "Type": "S3",
+ },
+ "KnowledgeBaseId": {
+ "Ref": "KnowledgeBase",
+ },
+ "Name": "s3-data-source",
+ "VectorIngestionConfiguration": {},
+ },
+ "Type": "AWS::Bedrock::DataSource",
+ },
+ "DataSourceAccessLogsBucketAutoDeleteObjectsCustomResourceB4DAFB7C": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "DataSourceAccessLogsBucketPolicy6B5E758D",
+ ],
+ "Properties": {
+ "BucketName": {
+ "Ref": "DataSourceAccessLogsBucketE5273C2E",
+ },
+ "ServiceToken": {
+ "Fn::GetAtt": [
+ "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F",
+ "Arn",
+ ],
+ },
+ },
+ "Type": "Custom::S3AutoDeleteObjects",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "DataSourceAccessLogsBucketE5273C2E": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AccessControl": "LogDeliveryWrite",
+ "BucketEncryption": {
+ "ServerSideEncryptionConfiguration": [
+ {
+ "ServerSideEncryptionByDefault": {
+ "SSEAlgorithm": "AES256",
+ },
+ },
+ ],
+ },
+ "OwnershipControls": {
+ "Rules": [
+ {
+ "ObjectOwnership": "ObjectWriter",
+ },
+ ],
+ },
+ "PublicAccessBlockConfiguration": {
+ "BlockPublicAcls": true,
+ "BlockPublicPolicy": true,
+ "IgnorePublicAcls": true,
+ "RestrictPublicBuckets": true,
+ },
+ "Tags": [
+ {
+ "Key": "aws-cdk:auto-delete-objects",
+ "Value": "true",
+ },
+ ],
+ },
+ "Type": "AWS::S3::Bucket",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "DataSourceAccessLogsBucketPolicy6B5E758D": {
+ "Properties": {
+ "Bucket": {
+ "Ref": "DataSourceAccessLogsBucketE5273C2E",
+ },
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": "s3:*",
+ "Condition": {
+ "Bool": {
+ "aws:SecureTransport": "false",
+ },
+ },
+ "Effect": "Deny",
+ "Principal": {
+ "AWS": "*",
+ },
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "DataSourceAccessLogsBucketE5273C2E",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "DataSourceAccessLogsBucketE5273C2E",
+ "Arn",
+ ],
+ },
+ "/*",
+ ],
+ ],
+ },
+ ],
+ },
+ {
+ "Action": [
+ "s3:PutBucketPolicy",
+ "s3:GetBucket*",
+ "s3:List*",
+ "s3:DeleteObject*",
+ ],
+ "Effect": "Allow",
+ "Principal": {
+ "AWS": {
+ "Fn::GetAtt": [
+ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
+ "Arn",
+ ],
+ },
+ },
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "DataSourceAccessLogsBucketE5273C2E",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "DataSourceAccessLogsBucketE5273C2E",
+ "Arn",
+ ],
+ },
+ "/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ },
+ "Type": "AWS::S3::BucketPolicy",
+ },
+ "DataSourceBucket9FA93E04": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "BucketEncryption": {
+ "ServerSideEncryptionConfiguration": [
+ {
+ "ServerSideEncryptionByDefault": {
+ "SSEAlgorithm": "AES256",
+ },
+ },
+ ],
+ },
+ "LoggingConfiguration": {
+ "DestinationBucketName": {
+ "Ref": "DataSourceAccessLogsBucketE5273C2E",
+ },
+ "LogFilePrefix": "AccessLogs/",
+ },
+ "OwnershipControls": {
+ "Rules": [
+ {
+ "ObjectOwnership": "ObjectWriter",
+ },
+ ],
+ },
+ "PublicAccessBlockConfiguration": {
+ "BlockPublicAcls": true,
+ "BlockPublicPolicy": true,
+ "IgnorePublicAcls": true,
+ "RestrictPublicBuckets": true,
+ },
+ "Tags": [
+ {
+ "Key": "aws-cdk:auto-delete-objects",
+ "Value": "true",
+ },
+ {
+ "Key": "aws-cdk:cr-owned:af230d0d",
+ "Value": "true",
+ },
+ ],
+ },
+ "Type": "AWS::S3::Bucket",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "DataSourceBucketAutoDeleteObjectsCustomResourceE8C6F6B1": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "DataSourceBucketPolicy817DBB38",
+ ],
+ "Properties": {
+ "BucketName": {
+ "Ref": "DataSourceBucket9FA93E04",
+ },
+ "ServiceToken": {
+ "Fn::GetAtt": [
+ "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F",
+ "Arn",
+ ],
+ },
+ },
+ "Type": "Custom::S3AutoDeleteObjects",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "DataSourceBucketPolicy817DBB38": {
+ "Properties": {
+ "Bucket": {
+ "Ref": "DataSourceBucket9FA93E04",
+ },
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": "s3:*",
+ "Condition": {
+ "Bool": {
+ "aws:SecureTransport": "false",
+ },
+ },
+ "Effect": "Deny",
+ "Principal": {
+ "AWS": "*",
+ },
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "DataSourceBucket9FA93E04",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "DataSourceBucket9FA93E04",
+ "Arn",
+ ],
+ },
+ "/*",
+ ],
+ ],
+ },
+ ],
+ },
+ {
+ "Action": [
+ "s3:PutBucketPolicy",
+ "s3:GetBucket*",
+ "s3:List*",
+ "s3:DeleteObject*",
+ ],
+ "Effect": "Allow",
+ "Principal": {
+ "AWS": {
+ "Fn::GetAtt": [
+ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
+ "Arn",
+ ],
+ },
+ },
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "DataSourceBucket9FA93E04",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "DataSourceBucket9FA93E04",
+ "Arn",
+ ],
+ },
+ "/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ },
+ "Type": "AWS::S3::BucketPolicy",
+ },
+ "DeployDocsAwsCliLayer98E5B499": {
+ "Properties": {
+ "Content": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Description": "/opt/awscli/aws",
+ },
+ "Type": "AWS::Lambda::LayerVersion",
+ },
+ "DeployDocsCustomResource1024MiB91B30E63": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "DestinationBucketName": {
+ "Ref": "DataSourceBucket9FA93E04",
+ },
+ "Exclude": [
+ "AccessLogs/*",
+ "logs*",
+ ],
+ "OutputObjectKeys": true,
+ "Prune": false,
+ "ServiceToken": {
+ "Fn::GetAtt": [
+ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C1024MiBB049752D",
+ "Arn",
+ ],
+ },
+ "SourceBucketNames": [
+ "cdk-hnb659fds-assets-123456890123-us-east-1",
+ ],
+ "SourceObjectKeys": [
+ "HASH-REPLACED.zip",
+ ],
+ },
+ "Type": "Custom::CDKBucketDeployment",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "EncryptionPolicy": {
+ "Properties": {
+ "Name": "generative-ai-use-cases-jp",
+ "Policy": "{"Rules":[{"Resource":["collection/generative-ai-use-cases-jp"],"ResourceType":"collection"}],"AWSOwnedKey":true}",
+ "Type": "encryption",
+ },
+ "Type": "AWS::OpenSearchServerless::SecurityPolicy",
+ },
+ "KnowledgeBase": {
+ "DependsOn": [
+ "Collection",
+ "OssIndexCustomResourceFB9548E5",
+ ],
+ "Properties": {
+ "KnowledgeBaseConfiguration": {
+ "Type": "VECTOR",
+ "VectorKnowledgeBaseConfiguration": {
+ "EmbeddingModelArn": "arn:aws:bedrock:us-east-1::foundation-model/amazon.titan-embed-text-v2:0",
+ },
+ },
+ "Name": "generative-ai-use-cases-jp",
+ "RoleArn": {
+ "Fn::GetAtt": [
+ "KnowledgeBaseRoleA2B317B9",
+ "Arn",
+ ],
+ },
+ "StorageConfiguration": {
+ "OpensearchServerlessConfiguration": {
+ "CollectionArn": {
+ "Fn::GetAtt": [
+ "Collection",
+ "Arn",
+ ],
+ },
+ "FieldMapping": {
+ "MetadataField": "AMAZON_BEDROCK_METADATA",
+ "TextField": "AMAZON_BEDROCK_TEXT_CHUNK",
+ "VectorField": "bedrock-knowledge-base-default-vector",
+ },
+ "VectorIndexName": "bedrock-knowledge-base-default",
+ },
+ "Type": "OPENSEARCH_SERVERLESS",
+ },
+ },
+ "Type": "AWS::Bedrock::KnowledgeBase",
+ },
+ "KnowledgeBaseRoleA2B317B9": {
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "bedrock.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ },
+ "Type": "AWS::IAM::Role",
+ },
+ "KnowledgeBaseRoleDefaultPolicyB3F66209": {
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": "bedrock:InvokeModel",
+ "Effect": "Allow",
+ "Resource": "*",
+ },
+ {
+ "Action": "aoss:APIAccessAll",
+ "Effect": "Allow",
+ "Resource": {
+ "Fn::GetAtt": [
+ "Collection",
+ "Arn",
+ ],
+ },
+ },
+ {
+ "Action": "s3:ListBucket",
+ "Effect": "Allow",
+ "Resource": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:aws:s3:::",
+ {
+ "Ref": "DataSourceBucket9FA93E04",
+ },
+ ],
+ ],
+ },
+ },
+ {
+ "Action": "s3:GetObject",
+ "Effect": "Allow",
+ "Resource": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:aws:s3:::",
+ {
+ "Ref": "DataSourceBucket9FA93E04",
+ },
+ "/*",
+ ],
+ ],
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "KnowledgeBaseRoleDefaultPolicyB3F66209",
+ "Roles": [
+ {
+ "Ref": "KnowledgeBaseRoleA2B317B9",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ },
+ "NetworkPolicy": {
+ "Properties": {
+ "Name": "generative-ai-use-cases-jp",
+ "Policy": "[{"Rules":[{"Resource":["collection/generative-ai-use-cases-jp"],"ResourceType":"collection"},{"Resource":["collection/generative-ai-use-cases-jp"],"ResourceType":"dashboard"}],"AllowFromPublic":true}]",
+ "Type": "network",
+ },
+ "Type": "AWS::OpenSearchServerless::SecurityPolicy",
+ },
+ "OpenSearchServerlessIndex339C5FEDA1B543B6B40A5E8E59E5734D5A536997": {
+ "DependsOn": [
+ "OpenSearchServerlessIndex339C5FEDA1B543B6B40A5E8E59E5734DServiceRoleDefaultPolicy4DF6601A",
+ "OpenSearchServerlessIndex339C5FEDA1B543B6B40A5E8E59E5734DServiceRole367CC992",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Handler": "oss-index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "OpenSearchServerlessIndex339C5FEDA1B543B6B40A5E8E59E5734DServiceRole367CC992",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ },
+ "Type": "AWS::Lambda::Function",
+ },
+ "OpenSearchServerlessIndex339C5FEDA1B543B6B40A5E8E59E5734DServiceRole367CC992": {
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ },
+ "OpenSearchServerlessIndex339C5FEDA1B543B6B40A5E8E59E5734DServiceRoleDefaultPolicy4DF6601A": {
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": "aoss:APIAccessAll",
+ "Effect": "Allow",
+ "Resource": {
+ "Fn::GetAtt": [
+ "Collection",
+ "Arn",
+ ],
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "OpenSearchServerlessIndex339C5FEDA1B543B6B40A5E8E59E5734DServiceRoleDefaultPolicy4DF6601A",
+ "Roles": [
+ {
+ "Ref": "OpenSearchServerlessIndex339C5FEDA1B543B6B40A5E8E59E5734DServiceRole367CC992",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ },
+ "OssIndexCustomResourceFB9548E5": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ServiceToken": {
+ "Fn::GetAtt": [
+ "OpenSearchServerlessIndex339C5FEDA1B543B6B40A5E8E59E5734D5A536997",
+ "Arn",
+ ],
+ },
+ "collectionId": {
+ "Ref": "Collection",
+ },
+ "metadataField": "AMAZON_BEDROCK_METADATA",
+ "ragKnowledgeBaseBinaryVector": false,
+ "textField": "AMAZON_BEDROCK_TEXT_CHUNK",
+ "vectorDimension": "1024",
+ "vectorField": "bedrock-knowledge-base-default-vector",
+ "vectorIndexName": "bedrock-knowledge-base-default",
+ },
+ "Type": "Custom::OssIndex",
+ "UpdateReplacePolicy": "Delete",
+ },
+ },
+ "Rules": {
+ "CheckBootstrapVersion": {
+ "Assertions": [
+ {
+ "Assert": {
+ "Fn::Not": [
+ {
+ "Fn::Contains": [
+ [
+ "1",
+ "2",
+ "3",
+ "4",
+ "5",
+ ],
+ {
+ "Ref": "BootstrapVersion",
+ },
+ ],
+ },
+ ],
+ },
+ "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI.",
+ },
+ ],
+ },
+ },
+}
+`;
+
+exports[`GenerativeAiUseCases matches the snapshot (closed network mode) 3`] = `
+{
+ "Outputs": {
+ "ExportsOutputFnGetAttAgentCodeInterpreterAgent98889BFEAgentIdFAC9D557": {
+ "Export": {
+ "Name": "WebSearchAgentStack:ExportsOutputFnGetAttAgentCodeInterpreterAgent98889BFEAgentIdFAC9D557",
+ },
+ "Value": {
+ "Fn::GetAtt": [
+ "AgentCodeInterpreterAgent98889BFE",
+ "AgentId",
+ ],
+ },
+ },
+ "ExportsOutputFnGetAttAgentCodeInterpreterAgentAliasB6F54C31AgentAliasIdE516C748": {
+ "Export": {
+ "Name": "WebSearchAgentStack:ExportsOutputFnGetAttAgentCodeInterpreterAgentAliasB6F54C31AgentAliasIdE516C748",
+ },
+ "Value": {
+ "Fn::GetAtt": [
+ "AgentCodeInterpreterAgentAliasB6F54C31",
+ "AgentAliasId",
+ ],
+ },
+ },
+ "ExportsOutputFnGetAttAgentSearchAgent3AF6EC6FAgentIdF3D3B4F6": {
+ "Export": {
+ "Name": "WebSearchAgentStack:ExportsOutputFnGetAttAgentSearchAgent3AF6EC6FAgentIdF3D3B4F6",
+ },
+ "Value": {
+ "Fn::GetAtt": [
+ "AgentSearchAgent3AF6EC6F",
+ "AgentId",
+ ],
+ },
+ },
+ "ExportsOutputFnGetAttAgentSearchAgentAliasD59C2A47AgentAliasId0289A97F": {
+ "Export": {
+ "Name": "WebSearchAgentStack:ExportsOutputFnGetAttAgentSearchAgentAliasD59C2A47AgentAliasId0289A97F",
+ },
+ "Value": {
+ "Fn::GetAtt": [
+ "AgentSearchAgentAliasD59C2A47",
+ "AgentAliasId",
+ ],
+ },
+ },
+ },
+ "Parameters": {
+ "BootstrapVersion": {
+ "Default": "/cdk-bootstrap/hnb659fds/version",
+ "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]",
+ "Type": "AWS::SSM::Parameter::Value",
+ },
+ },
+ "Resources": {
+ "AgentApiSchemaBucketAwsCliLayer2C3ACF8A": {
+ "Properties": {
+ "Content": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Description": "/opt/awscli/aws",
+ },
+ "Type": "AWS::Lambda::LayerVersion",
+ },
+ "AgentApiSchemaBucketCustomResource1D7C4CC4": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "DestinationBucketArn": {
+ "Fn::GetAtt": [
+ "AgentBucket77F66FF4",
+ "Arn",
+ ],
+ },
+ "DestinationBucketKeyPrefix": "api-schema",
+ "DestinationBucketName": {
+ "Ref": "AgentBucket77F66FF4",
+ },
+ "OutputObjectKeys": true,
+ "Prune": true,
+ "ServiceToken": {
+ "Fn::GetAtt": [
+ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C81C01536",
+ "Arn",
+ ],
+ },
+ "SourceBucketNames": [
+ "cdk-hnb659fds-assets-123456890123-us-east-1",
+ ],
+ "SourceObjectKeys": [
+ "HASH-REPLACED.zip",
+ ],
+ },
+ "Type": "Custom::CDKBucketDeployment",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "AgentBedrockAgentLambda3510C7EB": {
+ "DependsOn": [
+ "AgentBedrockAgentLambdaServiceRole91E15FC7",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "SEARCH_API_KEY": "XXXXXX",
+ "SEARCH_ENGINE": "Brave",
+ },
+ },
+ "Handler": "index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "AgentBedrockAgentLambdaServiceRole91E15FC7",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 300,
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "AgentBedrockAgentLambdaSecurityGroupEA7F942D",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ },
+ "AgentBedrockAgentLambdaInvokeu1TDdDMoLpes23omAp0kUXOcNSkFsO0n9KPkoXL68FBA4836E": {
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "AgentBedrockAgentLambda3510C7EB",
+ "Arn",
+ ],
+ },
+ "Principal": "bedrock.amazonaws.com",
+ },
+ "Type": "AWS::Lambda::Permission",
+ },
+ "AgentBedrockAgentLambdaSecurityGroupEA7F942D": {
+ "Properties": {
+ "GroupDescription": "Automatic security group for Lambda Function WebSearchAgentStackAgentBedrockAgentLambda8933AF6C",
+ "SecurityGroupEgress": [
+ {
+ "CidrIp": "0.0.0.0/0",
+ "Description": "Allow all outbound traffic by default",
+ "IpProtocol": "-1",
+ },
+ ],
+ "VpcId": {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcC15583C91CC421C2",
+ },
+ },
+ "Type": "AWS::EC2::SecurityGroup",
+ },
+ "AgentBedrockAgentLambdaServiceRole91E15FC7": {
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ },
+ "AgentBedrockAgentRole5FEB7025": {
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "bedrock.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "Policies": [
+ {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": "*",
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "AgentBucket77F66FF4",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "AgentBucket77F66FF4",
+ "Arn",
+ ],
+ },
+ "/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "BedrockAgentS3BucketPolicy",
+ },
+ {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": "bedrock:*",
+ "Effect": "Allow",
+ "Resource": "*",
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "BedrockAgentBedrockModelPolicy",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ },
+ "AgentBucket77F66FF4": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "BucketEncryption": {
+ "ServerSideEncryptionConfiguration": [
+ {
+ "ServerSideEncryptionByDefault": {
+ "SSEAlgorithm": "AES256",
+ },
+ },
+ ],
+ },
+ "PublicAccessBlockConfiguration": {
+ "BlockPublicAcls": true,
+ "BlockPublicPolicy": true,
+ "IgnorePublicAcls": true,
+ "RestrictPublicBuckets": true,
+ },
+ "Tags": [
+ {
+ "Key": "aws-cdk:auto-delete-objects",
+ "Value": "true",
+ },
+ {
+ "Key": "aws-cdk:cr-owned:api-schema:b7d6a79e",
+ "Value": "true",
+ },
+ ],
+ },
+ "Type": "AWS::S3::Bucket",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "AgentBucketAutoDeleteObjectsCustomResourceBD94B538": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "AgentBucketPolicy37E1CD3C",
+ ],
+ "Properties": {
+ "BucketName": {
+ "Ref": "AgentBucket77F66FF4",
+ },
+ "ServiceToken": {
+ "Fn::GetAtt": [
+ "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F",
+ "Arn",
+ ],
+ },
+ },
+ "Type": "Custom::S3AutoDeleteObjects",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "AgentBucketPolicy37E1CD3C": {
+ "Properties": {
+ "Bucket": {
+ "Ref": "AgentBucket77F66FF4",
+ },
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": "s3:*",
+ "Condition": {
+ "Bool": {
+ "aws:SecureTransport": "false",
+ },
+ },
+ "Effect": "Deny",
+ "Principal": {
+ "AWS": "*",
+ },
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "AgentBucket77F66FF4",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "AgentBucket77F66FF4",
+ "Arn",
+ ],
+ },
+ "/*",
+ ],
+ ],
+ },
+ ],
+ },
+ {
+ "Action": [
+ "s3:PutBucketPolicy",
+ "s3:GetBucket*",
+ "s3:List*",
+ "s3:DeleteObject*",
+ ],
+ "Effect": "Allow",
+ "Principal": {
+ "AWS": {
+ "Fn::GetAtt": [
+ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
+ "Arn",
+ ],
+ },
+ },
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "AgentBucket77F66FF4",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "AgentBucket77F66FF4",
+ "Arn",
+ ],
+ },
+ "/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ },
+ "Type": "AWS::S3::BucketPolicy",
+ },
+ "AgentCodeInterpreterAgent98889BFE": {
+ "Properties": {
+ "ActionGroups": [
+ {
+ "ActionGroupName": "CodeInterpreter",
+ "ParentActionGroupSignature": "AMAZON.CodeInterpreter",
+ },
+ ],
+ "AgentName": "CodeInterpreterAgent-WebSearchAgentStackAgent49BCEDE6",
+ "AgentResourceRoleArn": {
+ "Fn::GetAtt": [
+ "AgentBedrockAgentRole5FEB7025",
+ "Arn",
+ ],
+ },
+ "AutoPrepare": true,
+ "Description": "Code Interpreter",
+ "FoundationModel": "us.anthropic.claude-3-5-sonnet-20241022-v2:0",
+ "IdleSessionTTLInSeconds": 3600,
+ "Instruction": "You are an advanced AI agent with the ability to execute code, generate charts, and perform complex data analysis.
+Your main function is to solve problems and meet user requests by utilizing these capabilities.
+Your main characteristics and instructions are as follows.
+
+Code Execution:
+- Access the Python environment in real time to write and run code.
+- When asked to perform calculations or data operations, always use this code execution feature to ensure accuracy.
+- After running the code, report the exact output and explain the results.
+
+Data Analysis:
+- You are excellent at statistical analysis, data visualization, machine learning applications, and other complex data analysis tasks.
+- Understand the problem, prepare the data, perform the analysis, and interpret the results systematically.
+
+Problem Solving Approach:
+- When a problem or request is presented, break it down into steps.
+- Clearly communicate the process and steps taken.
+- If a task requires multiple steps or tools, outline the approach before starting.
+
+Transparency and Accuracy:
+- Always clarify what you are doing. If you are executing code, inform the user. If you are generating an image, explain that.
+- If you are unsure about something or the task exceeds your capabilities, clearly communicate that.
+- Do not present hypothetical results as actual results. Only report actual results from code execution or image generation.
+
+Dialog Style:
+- Provide a concise answer to simple questions and a detailed explanation for complex tasks.
+- Use appropriate technical terms, but be prepared to explain in simple terms if requested.
+- Actively propose useful related information or alternative approaches.
+
+Continuous Improvement:
+- After completing a task, ask the user if they need an explanation.
+- Listen to feedback and adjust the approach accordingly.
+
+Your goal is to provide support that is accurate and useful by utilizing the unique features of code execution, image generation, and data analysis.
+Always strive to provide the most practical and effective solutions to user requests.
+
+Automatically detect the language of the user's request and think and answer in the same language.",
+ },
+ "Type": "AWS::Bedrock::Agent",
+ },
+ "AgentCodeInterpreterAgentAliasB6F54C31": {
+ "Properties": {
+ "AgentAliasName": "v1",
+ "AgentId": {
+ "Fn::GetAtt": [
+ "AgentCodeInterpreterAgent98889BFE",
+ "AgentId",
+ ],
+ },
+ },
+ "Type": "AWS::Bedrock::AgentAlias",
+ },
+ "AgentSearchAgent3AF6EC6F": {
+ "Properties": {
+ "ActionGroups": [
+ {
+ "ActionGroupExecutor": {
+ "Lambda": {
+ "Fn::GetAtt": [
+ "AgentBedrockAgentLambda3510C7EB",
+ "Arn",
+ ],
+ },
+ },
+ "ActionGroupName": "Search",
+ "ApiSchema": {
+ "S3": {
+ "S3BucketName": {
+ "Fn::Select": [
+ 0,
+ {
+ "Fn::Split": [
+ "/",
+ {
+ "Fn::Select": [
+ 5,
+ {
+ "Fn::Split": [
+ ":",
+ {
+ "Fn::GetAtt": [
+ "AgentApiSchemaBucketCustomResource1D7C4CC4",
+ "DestinationBucketArn",
+ ],
+ },
+ ],
+ },
+ ],
+ },
+ ],
+ },
+ ],
+ },
+ "S3ObjectKey": "api-schema/api-schema.json",
+ },
+ },
+ "Description": "Search",
+ },
+ {
+ "ActionGroupName": "UserInputAction",
+ "ParentActionGroupSignature": "AMAZON.UserInput",
+ },
+ ],
+ "AgentName": "SearchEngineAgent-WebSearchAgentStackAgent49BCEDE6",
+ "AgentResourceRoleArn": {
+ "Fn::GetAtt": [
+ "AgentBedrockAgentRole5FEB7025",
+ "Arn",
+ ],
+ },
+ "AutoPrepare": true,
+ "Description": "Search Agent",
+ "FoundationModel": "us.anthropic.claude-3-5-sonnet-20241022-v2:0",
+ "IdleSessionTTLInSeconds": 3600,
+ "Instruction": "You are an advanced assistant with the ability to search and retrieve information from the web to perform complex research tasks.
+Your main function is to solve problems and meet user requests by utilizing these capabilities.
+Your main characteristics and instructions are as follows.
+
+- Understand the user's request and construct hypothesis on research strategy. If the user's request is not clear, ask the user for more information.
+- Think right search keywords to retrieve information relevant to the user's request.
+- Search the web for information relevant to the user's request.
+- Retrieve information from the web to answer the user's request.
+- If the information needed to respond to the instruction is sufficient, answer immediately.
+- If the information is insufficient, revise research strategy and collect more information.
+- Multiple searches are possible. You can search up to 5 times.
+
+Automatically detect the language of the user's request and think and answer in the same language.",
+ },
+ "Type": "AWS::Bedrock::Agent",
+ },
+ "AgentSearchAgentAliasD59C2A47": {
+ "Properties": {
+ "AgentAliasName": "v1",
+ "AgentId": {
+ "Fn::GetAtt": [
+ "AgentSearchAgent3AF6EC6F",
+ "AgentId",
+ ],
+ },
+ },
+ "Type": "AWS::Bedrock::AgentAlias",
+ },
+ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C81C01536": {
+ "DependsOn": [
+ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRoleDefaultPolicy88902FDF",
+ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRole89A01265",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "AWS_CA_BUNDLE": "/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem",
+ },
+ },
+ "Handler": "index.handler",
+ "Layers": [
+ {
+ "Ref": "AgentApiSchemaBucketAwsCliLayer2C3ACF8A",
+ },
+ ],
+ "Role": {
+ "Fn::GetAtt": [
+ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRole89A01265",
+ "Arn",
+ ],
+ },
+ "Runtime": "python3.11",
+ "Timeout": 900,
+ },
+ "Type": "AWS::Lambda::Function",
+ },
+ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRole89A01265": {
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ },
+ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRoleDefaultPolicy88902FDF": {
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "s3:GetObject*",
+ "s3:GetBucket*",
+ "s3:List*",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":s3:::cdk-hnb659fds-assets-123456890123-us-east-1",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":s3:::cdk-hnb659fds-assets-123456890123-us-east-1/*",
+ ],
+ ],
+ },
+ ],
+ },
+ {
+ "Action": [
+ "s3:GetObject*",
+ "s3:GetBucket*",
+ "s3:List*",
+ "s3:DeleteObject*",
+ "s3:PutObject",
+ "s3:PutObjectLegalHold",
+ "s3:PutObjectRetention",
+ "s3:PutObjectTagging",
+ "s3:PutObjectVersionTagging",
+ "s3:Abort*",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "AgentBucket77F66FF4",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "AgentBucket77F66FF4",
+ "Arn",
+ ],
+ },
+ "/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRoleDefaultPolicy88902FDF",
+ "Roles": [
+ {
+ "Ref": "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRole89A01265",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ },
+ "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F": {
+ "DependsOn": [
+ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Description": {
+ "Fn::Join": [
+ "",
+ [
+ "Lambda function for auto-deleting objects in ",
+ {
+ "Ref": "AgentBucket77F66FF4",
+ },
+ " S3 bucket.",
+ ],
+ ],
+ },
+ "Handler": "index.handler",
+ "MemorySize": 128,
+ "Role": {
+ "Fn::GetAtt": [
+ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ },
+ "Type": "AWS::Lambda::Function",
+ },
+ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092": {
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Sub": "arn:\${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ },
+ },
+ "Rules": {
+ "CheckBootstrapVersion": {
+ "Assertions": [
+ {
+ "Assert": {
+ "Fn::Not": [
+ {
+ "Fn::Contains": [
+ [
+ "1",
+ "2",
+ "3",
+ "4",
+ "5",
+ ],
+ {
+ "Ref": "BootstrapVersion",
+ },
+ ],
+ },
+ ],
+ },
+ "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI.",
+ },
+ ],
+ },
+ },
+}
+`;
+
+exports[`GenerativeAiUseCases matches the snapshot (closed network mode) 4`] = `
+{
+ "Outputs": {
+ "ExportsOutputFnGetAttGenericAgentCoreGenericAgentCoreRuntimeD3EBAAF7AgentCoreRuntimeArn010E372F": {
+ "Export": {
+ "Name": "AgentCoreStack:ExportsOutputFnGetAttGenericAgentCoreGenericAgentCoreRuntimeD3EBAAF7AgentCoreRuntimeArn010E372F",
+ },
+ "Value": {
+ "Fn::GetAtt": [
+ "GenericAgentCoreGenericAgentCoreRuntimeD3EBAAF7",
+ "AgentCoreRuntimeArn",
+ ],
+ },
+ },
+ "ExportsOutputRefGenericAgentCoreAgentCoreFileBucket0430DA423298A79F": {
+ "Export": {
+ "Name": "AgentCoreStack:ExportsOutputRefGenericAgentCoreAgentCoreFileBucket0430DA423298A79F",
+ },
+ "Value": {
+ "Ref": "GenericAgentCoreAgentCoreFileBucket0430DA42",
+ },
+ },
+ "GenericAgentCoreRuntimeArn": {
+ "Export": {
+ "Name": "AgentCoreStack-GenericAgentCoreRuntimeArn",
+ },
+ "Value": {
+ "Fn::GetAtt": [
+ "GenericAgentCoreGenericAgentCoreRuntimeD3EBAAF7",
+ "AgentCoreRuntimeArn",
+ ],
+ },
+ },
+ "GenericAgentCoreRuntimeName": {
+ "Export": {
+ "Name": "AgentCoreStack-GenericAgentCoreRuntimeName",
+ },
+ "Value": "GenericAgentCoreRuntime",
+ },
+ },
+ "Parameters": {
+ "BootstrapVersion": {
+ "Default": "/cdk-bootstrap/hnb659fds/version",
+ "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]",
+ "Type": "AWS::SSM::Parameter::Value",
+ },
+ },
+ "Resources": {
+ "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F": {
+ "DependsOn": [
+ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Description": {
+ "Fn::Join": [
+ "",
+ [
+ "Lambda function for auto-deleting objects in ",
+ {
+ "Ref": "GenericAgentCoreAgentCoreFileBucket0430DA42",
+ },
+ " S3 bucket.",
+ ],
+ ],
+ },
+ "Handler": "index.handler",
+ "MemorySize": 128,
+ "Role": {
+ "Fn::GetAtt": [
+ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ },
+ "Type": "AWS::Lambda::Function",
+ },
+ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092": {
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Sub": "arn:\${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ },
+ "GenericAgentCoreAgentCoreCustomResourceRoleBDED8F6B": {
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ },
+ "GenericAgentCoreAgentCoreCustomResourceRoleDefaultPolicy673FD2FE": {
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": "bedrock-agentcore:*",
+ "Effect": "Allow",
+ "Resource": "*",
+ "Sid": "BedrockAgentCorePermissions",
+ },
+ {
+ "Action": "iam:PassRole",
+ "Condition": {
+ "StringEquals": {
+ "iam:PassedToService": "bedrock-agentcore.amazonaws.com",
+ },
+ },
+ "Effect": "Allow",
+ "Resource": "*",
+ "Sid": "IAMPassRolePermissions",
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "GenericAgentCoreAgentCoreCustomResourceRoleDefaultPolicy673FD2FE",
+ "Roles": [
+ {
+ "Ref": "GenericAgentCoreAgentCoreCustomResourceRoleBDED8F6B",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ },
+ "GenericAgentCoreAgentCoreFileBucket0430DA42": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "BucketEncryption": {
+ "ServerSideEncryptionConfiguration": [
+ {
+ "ServerSideEncryptionByDefault": {
+ "SSEAlgorithm": "AES256",
+ },
+ },
+ ],
+ },
+ "PublicAccessBlockConfiguration": {
+ "BlockPublicAcls": true,
+ "BlockPublicPolicy": true,
+ "IgnorePublicAcls": true,
+ "RestrictPublicBuckets": true,
+ },
+ "Tags": [
+ {
+ "Key": "aws-cdk:auto-delete-objects",
+ "Value": "true",
+ },
+ ],
+ },
+ "Type": "AWS::S3::Bucket",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "GenericAgentCoreAgentCoreFileBucketAutoDeleteObjectsCustomResourceC1B4B54D": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "GenericAgentCoreAgentCoreFileBucketPolicyB659200A",
+ ],
+ "Properties": {
+ "BucketName": {
+ "Ref": "GenericAgentCoreAgentCoreFileBucket0430DA42",
+ },
+ "ServiceToken": {
+ "Fn::GetAtt": [
+ "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F",
+ "Arn",
+ ],
+ },
+ },
+ "Type": "Custom::S3AutoDeleteObjects",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "GenericAgentCoreAgentCoreFileBucketPolicyB659200A": {
+ "Properties": {
+ "Bucket": {
+ "Ref": "GenericAgentCoreAgentCoreFileBucket0430DA42",
+ },
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "s3:PutBucketPolicy",
+ "s3:GetBucket*",
+ "s3:List*",
+ "s3:DeleteObject*",
+ ],
+ "Effect": "Allow",
+ "Principal": {
+ "AWS": {
+ "Fn::GetAtt": [
+ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
+ "Arn",
+ ],
+ },
+ },
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "GenericAgentCoreAgentCoreFileBucket0430DA42",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "GenericAgentCoreAgentCoreFileBucket0430DA42",
+ "Arn",
+ ],
+ },
+ "/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ },
+ "Type": "AWS::S3::BucketPolicy",
+ },
+ "GenericAgentCoreAgentCoreRuntimeProviderframeworkonEventC9CCB51A": {
+ "DependsOn": [
+ "GenericAgentCoreAgentCoreRuntimeProviderframeworkonEventServiceRoleDefaultPolicyBB9E52E2",
+ "GenericAgentCoreAgentCoreRuntimeProviderframeworkonEventServiceRole032FFAFA",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Description": "AWS CDK resource provider framework - onEvent (AgentCoreStack/GenericAgentCore/AgentCoreRuntimeProvider)",
+ "Environment": {
+ "Variables": {
+ "USER_ON_EVENT_FUNCTION_ARN": {
+ "Fn::GetAtt": [
+ "SingletonB8F5E8923A1C4D2F9B7E6C8A5F9D2E1B1B378805",
+ "Arn",
+ ],
+ },
+ },
+ },
+ "Handler": "framework.onEvent",
+ "LoggingConfig": {
+ "ApplicationLogLevel": "FATAL",
+ "LogFormat": "JSON",
+ },
+ "Role": {
+ "Fn::GetAtt": [
+ "GenericAgentCoreAgentCoreRuntimeProviderframeworkonEventServiceRole032FFAFA",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ },
+ "Type": "AWS::Lambda::Function",
+ },
+ "GenericAgentCoreAgentCoreRuntimeProviderframeworkonEventServiceRole032FFAFA": {
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ },
+ "GenericAgentCoreAgentCoreRuntimeProviderframeworkonEventServiceRoleDefaultPolicyBB9E52E2": {
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": "lambda:InvokeFunction",
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "SingletonB8F5E8923A1C4D2F9B7E6C8A5F9D2E1B1B378805",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "SingletonB8F5E8923A1C4D2F9B7E6C8A5F9D2E1B1B378805",
+ "Arn",
+ ],
+ },
+ ":*",
+ ],
+ ],
+ },
+ ],
+ },
+ {
+ "Action": "lambda:GetFunction",
+ "Effect": "Allow",
+ "Resource": {
+ "Fn::GetAtt": [
+ "SingletonB8F5E8923A1C4D2F9B7E6C8A5F9D2E1B1B378805",
+ "Arn",
+ ],
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "GenericAgentCoreAgentCoreRuntimeProviderframeworkonEventServiceRoleDefaultPolicyBB9E52E2",
+ "Roles": [
+ {
+ "Ref": "GenericAgentCoreAgentCoreRuntimeProviderframeworkonEventServiceRole032FFAFA",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ },
+ "GenericAgentCoreAgentCoreRuntimeRepository6901D0DC": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ImageScanningConfiguration": {
+ "ScanOnPush": true,
+ },
+ "RepositoryName": "lambda-python-generic-agent-core-runtime-agentcorestack",
+ },
+ "Type": "AWS::ECR::Repository",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "GenericAgentCoreAgentCoreRuntimeRoleDefaultPolicy4E847841": {
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "bedrock:InvokeModel",
+ "bedrock:InvokeModelWithResponseStream",
+ ],
+ "Effect": "Allow",
+ "Resource": "*",
+ "Sid": "BedrockPermissions",
+ },
+ {
+ "Action": [
+ "ecr:BatchGetImage",
+ "ecr:GetDownloadUrlForLayer",
+ ],
+ "Effect": "Allow",
+ "Resource": "arn:aws:ecr:us-east-1:123456890123:repository/*",
+ "Sid": "ECRImageAccess",
+ },
+ {
+ "Action": "ecr:GetAuthorizationToken",
+ "Effect": "Allow",
+ "Resource": "*",
+ "Sid": "ECRTokenAccess",
+ },
+ {
+ "Action": [
+ "logs:DescribeLogStreams",
+ "logs:CreateLogGroup",
+ ],
+ "Effect": "Allow",
+ "Resource": "arn:aws:logs:us-east-1:123456890123:log-group:/aws/bedrock-agentcore/runtimes/*",
+ },
+ {
+ "Action": "logs:DescribeLogGroups",
+ "Effect": "Allow",
+ "Resource": "arn:aws:logs:us-east-1:123456890123:log-group:*",
+ },
+ {
+ "Action": [
+ "logs:CreateLogStream",
+ "logs:PutLogEvents",
+ ],
+ "Effect": "Allow",
+ "Resource": "arn:aws:logs:us-east-1:123456890123:log-group:/aws/bedrock-agentcore/runtimes/*:log-stream:*",
+ },
+ {
+ "Action": [
+ "xray:PutTraceSegments",
+ "xray:PutTelemetryRecords",
+ "xray:GetSamplingRules",
+ "xray:GetSamplingTargets",
+ ],
+ "Effect": "Allow",
+ "Resource": "*",
+ },
+ {
+ "Action": "cloudwatch:PutMetricData",
+ "Condition": {
+ "StringEquals": {
+ "cloudwatch:namespace": "bedrock-agentcore",
+ },
+ },
+ "Effect": "Allow",
+ "Resource": "*",
+ },
+ {
+ "Action": [
+ "bedrock-agentcore:GetWorkloadAccessToken",
+ "bedrock-agentcore:GetWorkloadAccessTokenForJWT",
+ "bedrock-agentcore:GetWorkloadAccessTokenForUserId",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ "arn:aws:bedrock-agentcore:us-east-1:123456890123:workload-identity-directory/default",
+ "arn:aws:bedrock-agentcore:us-east-1:123456890123:workload-identity-directory/default/workload-identity/*",
+ ],
+ "Sid": "GetAgentAccessToken",
+ },
+ {
+ "Action": [
+ "s3:GetObject*",
+ "s3:GetBucket*",
+ "s3:List*",
+ "s3:DeleteObject*",
+ "s3:PutObject",
+ "s3:PutObjectLegalHold",
+ "s3:PutObjectRetention",
+ "s3:PutObjectTagging",
+ "s3:PutObjectVersionTagging",
+ "s3:Abort*",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "GenericAgentCoreAgentCoreFileBucket0430DA42",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "GenericAgentCoreAgentCoreFileBucket0430DA42",
+ "Arn",
+ ],
+ },
+ "/*",
+ ],
+ ],
+ },
+ ],
+ },
+ {
+ "Action": [
+ "s3:GetObject",
+ "s3:PutObject",
+ "s3:ListBucket",
+ "s3:DeleteObject",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "GenericAgentCoreAgentCoreFileBucket0430DA42",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "GenericAgentCoreAgentCoreFileBucket0430DA42",
+ "Arn",
+ ],
+ },
+ "/*",
+ ],
+ ],
+ },
+ ],
+ "Sid": "S3BucketAccess",
+ },
+ {
+ "Action": [
+ "bedrock-agentcore:CreateCodeInterpreter",
+ "bedrock-agentcore:StartCodeInterpreterSession",
+ "bedrock-agentcore:InvokeCodeInterpreter",
+ "bedrock-agentcore:StopCodeInterpreterSession",
+ "bedrock-agentcore:DeleteCodeInterpreter",
+ "bedrock-agentcore:ListCodeInterpreters",
+ "bedrock-agentcore:GetCodeInterpreter",
+ "bedrock-agentcore:GetCodeInterpreterSession",
+ "bedrock-agentcore:ListCodeInterpreterSessions",
+ ],
+ "Effect": "Allow",
+ "Resource": "*",
+ "Sid": "Tools",
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "GenericAgentCoreAgentCoreRuntimeRoleDefaultPolicy4E847841",
+ "Roles": [
+ {
+ "Ref": "GenericAgentCoreAgentCoreRuntimeRoleF34B80EA",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ },
+ "GenericAgentCoreAgentCoreRuntimeRoleF34B80EA": {
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Condition": {
+ "ArnLike": {
+ "aws:SourceArn": "arn:aws:bedrock-agentcore:us-east-1:123456890123:*",
+ },
+ "StringEquals": {
+ "aws:SourceAccount": "123456890123",
+ },
+ },
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "bedrock-agentcore.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ },
+ "GenericAgentCoreGenericAgentCoreRuntimeD3EBAAF7": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AgentCoreRuntimeName": "GenericAgentCoreRuntime",
+ "CustomConfig": {
+ "containerImageUri": {
+ "Fn::Sub": "123456890123.dkr.ecr.us-east-1.\${AWS::URLSuffix}/cdk-hnb659fds-container-assets-123456890123-us-east-1:64ba68f71e3d29f5b84d8e8d062e841cb600c436bb68a540d6fce32fded36c08",
+ },
+ "environmentVariables": {
+ "FILE_BUCKET": {
+ "Ref": "GenericAgentCoreAgentCoreFileBucket0430DA42",
+ },
+ },
+ },
+ "NetworkMode": "PUBLIC",
+ "RoleArn": {
+ "Fn::GetAtt": [
+ "GenericAgentCoreAgentCoreRuntimeRoleF34B80EA",
+ "Arn",
+ ],
+ },
+ "ServerProtocol": "HTTP",
+ "ServiceToken": {
+ "Fn::GetAtt": [
+ "GenericAgentCoreAgentCoreRuntimeProviderframeworkonEventC9CCB51A",
+ "Arn",
+ ],
+ },
+ },
+ "Type": "AWS::CloudFormation::CustomResource",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "SingletonB8F5E8923A1C4D2F9B7E6C8A5F9D2E1B1B378805": {
+ "DependsOn": [
+ "GenericAgentCoreAgentCoreCustomResourceRoleDefaultPolicy673FD2FE",
+ "GenericAgentCoreAgentCoreCustomResourceRoleBDED8F6B",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Description": "AgentCoreRuntime CustomResource Lambda Function (Singleton)",
+ "Environment": {
+ "Variables": {
+ "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1",
+ },
+ },
+ "FunctionName": "AgentCoreRuntime-AgentCoreStack-B8F5E892",
+ "Handler": "index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "GenericAgentCoreAgentCoreCustomResourceRoleBDED8F6B",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 600,
+ },
+ "Type": "AWS::Lambda::Function",
+ },
+ },
+ "Rules": {
+ "CheckBootstrapVersion": {
+ "Assertions": [
+ {
+ "Assert": {
+ "Fn::Not": [
+ {
+ "Fn::Contains": [
+ [
+ "1",
+ "2",
+ "3",
+ "4",
+ "5",
+ ],
+ {
+ "Ref": "BootstrapVersion",
+ },
+ ],
+ },
+ ],
+ },
+ "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI.",
+ },
+ ],
+ },
+ },
+}
+`;
+
+exports[`GenerativeAiUseCases matches the snapshot (closed network mode) 5`] = `
+{
+ "Outputs": {
+ "ExportsOutputFnGetAttGuardrailguardrail03A76CF4GuardrailIdDBA991AF": {
+ "Export": {
+ "Name": "GuardrailStack:ExportsOutputFnGetAttGuardrailguardrail03A76CF4GuardrailIdDBA991AF",
+ },
+ "Value": {
+ "Fn::GetAtt": [
+ "Guardrailguardrail03A76CF4",
+ "GuardrailId",
+ ],
+ },
+ },
+ },
+ "Parameters": {
+ "BootstrapVersion": {
+ "Default": "/cdk-bootstrap/hnb659fds/version",
+ "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]",
+ "Type": "AWS::SSM::Parameter::Value",
+ },
+ },
+ "Resources": {
+ "Guardrailguardrail03A76CF4": {
+ "Properties": {
+ "BlockedInputMessaging": "Detected blocked input. Please start the conversation from the beginning or contact the administrator.",
+ "BlockedOutputsMessaging": "Detected output that is prohibited. Please start the conversation from the beginning or contact the administrator.",
+ "Name": "Guardrail-GuardrailStackGuardrail9A24D506",
+ "SensitiveInformationPolicyConfig": {
+ "PiiEntitiesConfig": [
+ {
+ "Action": "BLOCK",
+ "Type": "AGE",
+ },
+ {
+ "Action": "BLOCK",
+ "Type": "AWS_ACCESS_KEY",
+ },
+ {
+ "Action": "BLOCK",
+ "Type": "AWS_SECRET_KEY",
+ },
+ {
+ "Action": "BLOCK",
+ "Type": "CREDIT_DEBIT_CARD_CVV",
+ },
+ {
+ "Action": "BLOCK",
+ "Type": "CREDIT_DEBIT_CARD_EXPIRY",
+ },
+ {
+ "Action": "BLOCK",
+ "Type": "CREDIT_DEBIT_CARD_NUMBER",
+ },
+ {
+ "Action": "BLOCK",
+ "Type": "EMAIL",
+ },
+ {
+ "Action": "BLOCK",
+ "Type": "INTERNATIONAL_BANK_ACCOUNT_NUMBER",
+ },
+ {
+ "Action": "BLOCK",
+ "Type": "IP_ADDRESS",
+ },
+ {
+ "Action": "BLOCK",
+ "Type": "LICENSE_PLATE",
+ },
+ {
+ "Action": "BLOCK",
+ "Type": "MAC_ADDRESS",
+ },
+ {
+ "Action": "BLOCK",
+ "Type": "PASSWORD",
+ },
+ {
+ "Action": "BLOCK",
+ "Type": "PHONE",
+ },
+ {
+ "Action": "BLOCK",
+ "Type": "PIN",
+ },
+ {
+ "Action": "BLOCK",
+ "Type": "SWIFT_CODE",
+ },
+ {
+ "Action": "BLOCK",
+ "Type": "URL",
+ },
+ {
+ "Action": "BLOCK",
+ "Type": "USERNAME",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Bedrock::Guardrail",
+ },
+ },
+ "Rules": {
+ "CheckBootstrapVersion": {
+ "Assertions": [
+ {
+ "Assert": {
+ "Fn::Not": [
+ {
+ "Fn::Contains": [
+ [
+ "1",
+ "2",
+ "3",
+ "4",
+ "5",
+ ],
+ {
+ "Ref": "BootstrapVersion",
+ },
+ ],
+ },
+ ],
+ },
+ "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI.",
+ },
+ ],
+ },
+ },
+}
+`;
+
+exports[`GenerativeAiUseCases matches the snapshot (closed network mode) 6`] = `
+{
+ "Description": "Generative AI Use Cases (uksb-1tupboc48)",
+ "Outputs": {
+ "APIApiEndpoint036547C6": {
+ "Value": {
+ "Fn::Join": [
+ "",
+ [
+ "https://",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ ".execute-api.us-east-1.",
+ {
+ "Ref": "AWS::URLSuffix",
+ },
+ "/",
+ {
+ "Ref": "APIApiDeploymentStageapiCD55D117",
+ },
+ "/",
+ ],
+ ],
+ },
+ },
+ "AgentCoreEnabled": {
+ "Value": "true",
+ },
+ "AgentCoreExternalRuntimes": {
+ "Value": "[]",
+ },
+ "AgentCoreGenericRuntime": {
+ "Value": {
+ "Fn::Join": [
+ "",
+ [
+ "{"name":"GenericAgentCoreRuntime","arn":"",
+ {
+ "Fn::ImportValue": "AgentCoreStack:ExportsOutputFnGetAttGenericAgentCoreGenericAgentCoreRuntimeD3EBAAF7AgentCoreRuntimeArn010E372F",
+ },
+ ""}",
+ ],
+ ],
+ },
+ },
+ "AgentEnabled": {
+ "Value": "true",
+ },
+ "AgentNames": {
+ "Value": "WyJTZWFyY2hFbmdpbmUiLCJDb2RlSW50ZXJwcmV0ZXIiXQ==",
+ },
+ "ApiEndpoint": {
+ "Value": {
+ "Fn::Join": [
+ "",
+ [
+ "https://",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ ".execute-api.us-east-1.",
+ {
+ "Ref": "AWS::URLSuffix",
+ },
+ "/",
+ {
+ "Ref": "APIApiDeploymentStageapiCD55D117",
+ },
+ "/",
+ ],
+ ],
+ },
+ },
+ "EndpointNames": {
+ "Value": "[]",
+ },
+ "ExportsOutputRefAuthUserPool8115E87F4F9C6D4C": {
+ "Export": {
+ "Name": "GenerativeAiUseCasesStack:ExportsOutputRefAuthUserPool8115E87F4F9C6D4C",
+ },
+ "Value": {
+ "Ref": "AuthUserPool8115E87F",
+ },
+ },
+ "ExportsOutputRefAuthUserPoolclientA74673A913CB5D33": {
+ "Export": {
+ "Name": "GenerativeAiUseCasesStack:ExportsOutputRefAuthUserPoolclientA74673A913CB5D33",
+ },
+ "Value": {
+ "Ref": "AuthUserPoolclientA74673A9",
+ },
+ },
+ "Flows": {
+ "Value": "W10=",
+ },
+ "HiddenUseCases": {
+ "Value": "{}",
+ },
+ "IdPoolId": {
+ "Value": {
+ "Ref": "AuthIdentityPool659E7F64",
+ },
+ },
+ "ImageGenerateModelIds": {
+ "Value": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"stability.stable-diffusion-xl-v1","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfilestabilitystablediffusionxlv1InferenceProfileArn20CB2491",
+ },
+ ""}]",
+ ],
+ ],
+ },
+ },
+ "InlineAgents": {
+ "Value": "false",
+ },
+ "InvokeFlowFunctionArn": {
+ "Value": {
+ "Fn::GetAtt": [
+ "APIInvokeFlow03786D76",
+ "Arn",
+ ],
+ },
+ },
+ "McpEnabled": {
+ "Value": "false",
+ },
+ "McpEndpoint": {
+ "Value": "",
+ },
+ "ModelIds": {
+ "Value": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"anthropic.claude-3-sonnet-20240229-v1:0","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfileanthropicclaude3sonnet20240229v10InferenceProfileArnB9E9C888",
+ },
+ ""}]",
+ ],
+ ],
+ },
+ },
+ "ModelRegion": {
+ "Value": "us-east-1",
+ },
+ "OptimizePromptFunctionArn": {
+ "Value": {
+ "Fn::GetAtt": [
+ "APIOptimizePromptFunctionC14E6D1B",
+ "Arn",
+ ],
+ },
+ },
+ "PredictStreamFunctionArn": {
+ "Value": {
+ "Fn::GetAtt": [
+ "APIPredictStream44DDBC25",
+ "Arn",
+ ],
+ },
+ },
+ "RagEnabled": {
+ "Value": "true",
+ },
+ "RagKnowledgeBaseEnabled": {
+ "Value": "true",
+ },
+ "Region": {
+ "Value": "us-east-1",
+ },
+ "SamlAuthEnabled": {
+ "Value": "false",
+ },
+ "SamlCognitoDomainName": {
+ "Value": "",
+ },
+ "SamlCognitoFederatedIdentityProviderName": {
+ "Value": "",
+ },
+ "SelfSignUpEnabled": {
+ "Value": "true",
+ },
+ "SpeechToSpeechEventApiEndpoint": {
+ "Value": {
+ "Fn::Join": [
+ "",
+ [
+ "https://",
+ {
+ "Fn::GetAtt": [
+ "SpeechToSpeechEventApi1E2E9AB4",
+ "Dns.Http",
+ ],
+ },
+ "/event",
+ ],
+ ],
+ },
+ },
+ "SpeechToSpeechModelIds": {
+ "Value": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"amazon.nova-sonic-v1:0","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfileamazonnovasonicv10InferenceProfileArnDDA114DD",
+ },
+ ""}]",
+ ],
+ ],
+ },
+ },
+ "SpeechToSpeechNamespace": {
+ "Value": "speech-to-speech",
+ },
+ "UseCaseBuilderEnabled": {
+ "Value": "true",
+ },
+ "UserPoolClientId": {
+ "Value": {
+ "Ref": "AuthUserPoolclientA74673A9",
+ },
+ },
+ "UserPoolId": {
+ "Value": {
+ "Ref": "AuthUserPool8115E87F",
+ },
+ },
+ "VideoGenerateModelIds": {
+ "Value": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"amazon.nova-reel-v1:0","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfileamazonnovareelv10InferenceProfileArn5E8F5854",
+ },
+ ""}]",
+ ],
+ ],
+ },
+ },
+ "WebUrl": {
+ "Value": "CLOSED_NETWORK_MODE",
+ },
+ },
+ "Parameters": {
+ "BootstrapVersion": {
+ "Default": "/cdk-bootstrap/hnb659fds/version",
+ "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]",
+ "Type": "AWS::SSM::Parameter::Value",
+ },
+ },
+ "Resources": {
+ "APIApiAccountF2C87424": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "APIApiFFA96F67",
+ ],
+ "Properties": {
+ "CloudWatchRoleArn": {
+ "Fn::GetAtt": [
+ "APIApiCloudWatchRoleD747A0A6",
+ "Arn",
+ ],
+ },
+ },
+ "Type": "AWS::ApiGateway::Account",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiApi4XXDCF913C8": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ResponseParameters": {
+ "gatewayresponse.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "ResponseType": "DEFAULT_4XX",
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::GatewayResponse",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiApi5XX11B67643": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ResponseParameters": {
+ "gatewayresponse.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "ResponseType": "DEFAULT_5XX",
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::GatewayResponse",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiCloudWatchRoleD747A0A6": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "apigateway.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AmazonAPIGatewayPushToCloudWatchLogs",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiDeployment3A5021231e35051e75cb37230e3365d2f55dbe60": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "APIApiApi4XXDCF913C8",
+ "APIApiApi5XX11B67643",
+ "APIApichatschatIdDELETE4578D41B",
+ "APIApichatschatIdfeedbacksOPTIONS7AB34AA5",
+ "APIApichatschatIdfeedbacksPOST3E9ACBEC",
+ "APIApichatschatIdfeedbacksF371F57A",
+ "APIApichatschatIdGET152C9123",
+ "APIApichatschatIdmessagesGET94AB097F",
+ "APIApichatschatIdmessagesOPTIONS20207E07",
+ "APIApichatschatIdmessagesPOST4197DA8F",
+ "APIApichatschatIdmessagesAF527CE8",
+ "APIApichatschatIdOPTIONS4498230E",
+ "APIApichatschatIdE67019A6",
+ "APIApichatschatIdtitleOPTIONSFA0EB6B7",
+ "APIApichatschatIdtitlePUT15099F54",
+ "APIApichatschatIdtitleC5AEA917",
+ "APIApichatsGET40767623",
+ "APIApichatsOPTIONSDFF708CB",
+ "APIApichatsPOSTF32299AA",
+ "APIApichatsE061702A",
+ "APIApifilefileNameDELETE54EB1050",
+ "APIApifilefileNameOPTIONS6C97AC5A",
+ "APIApifilefileName2B0471F4",
+ "APIApifileOPTIONS64A72556",
+ "APIApifile76AB343B",
+ "APIApifileurlGET6E9EDFE6",
+ "APIApifileurlOPTIONS658BFB93",
+ "APIApifileurlPOST73D5BB3A",
+ "APIApifileurl08DA507F",
+ "APIApiimagegenerateOPTIONS58BC3827",
+ "APIApiimagegeneratePOST0F60597D",
+ "APIApiimagegenerate70662BCD",
+ "APIApiimageOPTIONSA57099DB",
+ "APIApiimage6FBCA1DF",
+ "APIApiOPTIONSE134DC36",
+ "APIApipredictOPTIONS9065A8D6",
+ "APIApipredictPOST376D7D2E",
+ "APIApipredict6CA3C413",
+ "APIApipredicttitleOPTIONS3DCF08ED",
+ "APIApipredicttitlePOSTAC11F63E",
+ "APIApipredicttitle8F6A9913",
+ "APIApiragknowledgebaseOPTIONSF0724AB5",
+ "APIApiragknowledgebase25F53940",
+ "APIApiragknowledgebaseretrieveOPTIONS520513E9",
+ "APIApiragknowledgebaseretrievePOST8609F339",
+ "APIApiragknowledgebaseretrieve42B4F7F4",
+ "APIApiragOPTIONSAF55562D",
+ "APIApiragqueryOPTIONS0831C743",
+ "APIApiragqueryPOST959F42AE",
+ "APIApiragqueryBFCC1FE8",
+ "APIApiragB0FA73F7",
+ "APIApiragretrieveOPTIONS76F86387",
+ "APIApiragretrievePOST1B75699C",
+ "APIApiragretrieve8A07B1EB",
+ "APIApishareschatchatIdGETFD670180",
+ "APIApishareschatchatIdOPTIONSBA4BB233",
+ "APIApishareschatchatIdPOSTC94D0E3B",
+ "APIApishareschatchatIdABA7B83C",
+ "APIApishareschatOPTIONSB4A81F6A",
+ "APIApishareschatA32CD614",
+ "APIApisharesOPTIONSF1049E3B",
+ "APIApishares3C1C04E5",
+ "APIApisharesshareshareIdDELETE231A4EBF",
+ "APIApisharesshareshareIdGETADBE379F",
+ "APIApisharesshareshareIdOPTIONSC762F46F",
+ "APIApisharesshareshareId3696CDAF",
+ "APIApisharesshareOPTIONS6D42A67D",
+ "APIApisharesshareF2EC0273",
+ "APIApispeechtospeechOPTIONS92DBE1B9",
+ "APIApispeechtospeechPOST8D76474A",
+ "APIApispeechtospeechD6FA255B",
+ "APIApisystemcontextssystemContextIdDELETEB527E743",
+ "APIApisystemcontextssystemContextIdOPTIONS96E8D02C",
+ "APIApisystemcontextssystemContextId9D6F9E56",
+ "APIApisystemcontextssystemContextIdtitleOPTIONS069062F2",
+ "APIApisystemcontextssystemContextIdtitlePUT66B31C9A",
+ "APIApisystemcontextssystemContextIdtitleD469F521",
+ "APIApisystemcontextsGET7ECB64D3",
+ "APIApisystemcontextsOPTIONS0D2703AA",
+ "APIApisystemcontextsPOST3883EC4A",
+ "APIApisystemcontexts57785227",
+ "APIApitokenusageGETF4970022",
+ "APIApitokenusageOPTIONS59BB9297",
+ "APIApitokenusageD4EF3867",
+ "APIApitranscribeOPTIONS5030955A",
+ "APIApitranscribe874542A9",
+ "APIApitranscriberesultjobNameGET5C0FF2AB",
+ "APIApitranscriberesultjobNameOPTIONS7E77FDC0",
+ "APIApitranscriberesultjobName32470D3A",
+ "APIApitranscriberesultOPTIONS36EC9D59",
+ "APIApitranscriberesult3CDED854",
+ "APIApitranscribestartOPTIONSFA1C7723",
+ "APIApitranscribestartPOSTC6AF1C94",
+ "APIApitranscribestartB105DFD0",
+ "APIApitranscribeurlOPTIONS6B7DF1F0",
+ "APIApitranscribeurlPOSTFBEEA27D",
+ "APIApitranscribeurlAA281183",
+ "APIApiusecasesuseCaseIdDELETE1F3AB356",
+ "APIApiusecasesuseCaseIdfavoriteOPTIONS0F973203",
+ "APIApiusecasesuseCaseIdfavoritePUT21685F6D",
+ "APIApiusecasesuseCaseIdfavorite90DE0E70",
+ "APIApiusecasesuseCaseIdGETC2534B44",
+ "APIApiusecasesuseCaseIdOPTIONSED014E42",
+ "APIApiusecasesuseCaseIdPUTA7E744AE",
+ "APIApiusecasesuseCaseId0C4C07B7",
+ "APIApiusecasesuseCaseIdsharedOPTIONSAB2FF611",
+ "APIApiusecasesuseCaseIdsharedPUTDF4FDAF2",
+ "APIApiusecasesuseCaseIdshared2A60752B",
+ "APIApiusecasesfavoriteGET8A304871",
+ "APIApiusecasesfavoriteOPTIONSD85A54B6",
+ "APIApiusecasesfavorite18DA851B",
+ "APIApiusecasesGET38D0EBF4",
+ "APIApiusecasesOPTIONSCF3D8287",
+ "APIApiusecasesPOST3244C369",
+ "APIApiusecasesrecentuseCaseIdOPTIONSCE83DFE2",
+ "APIApiusecasesrecentuseCaseIdPUT1B7638B2",
+ "APIApiusecasesrecentuseCaseId2CF3EF72",
+ "APIApiusecasesrecentGETCE116566",
+ "APIApiusecasesrecentOPTIONS750FF00D",
+ "APIApiusecasesrecent31965B7B",
+ "APIApiusecases8321EF30",
+ "APIApivideogeneratecreatedDateDELETE0F2B03A2",
+ "APIApivideogeneratecreatedDateOPTIONS9EB2B1CE",
+ "APIApivideogeneratecreatedDate1AAB9D62",
+ "APIApivideogenerateGETC779E422",
+ "APIApivideogenerateOPTIONS14AE6956",
+ "APIApivideogeneratePOSTACA060AA",
+ "APIApivideogenerateCBF56796",
+ "APIApivideoOPTIONS20C58EF2",
+ "APIApivideoAEC3C4D1",
+ "APIApiwebtextGETB44776EB",
+ "APIApiwebtextOPTIONS5EFD2A2D",
+ "APIApiwebtext0828B9D5",
+ ],
+ "Metadata": {
+ "aws:cdk:do-not-refactor": true,
+ },
+ "Properties": {
+ "Description": "Automatically created by the RestApi construct",
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Deployment",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiDeploymentStageapiCD55D117": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "APIApiAccountF2C87424",
+ ],
+ "Properties": {
+ "DeploymentId": {
+ "Ref": "APIApiDeployment3A5021231e35051e75cb37230e3365d2f55dbe60",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ "StageName": "api",
+ },
+ "Type": "AWS::ApiGateway::Stage",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiFFA96F67": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "EndpointConfiguration": {
+ "Types": [
+ "PRIVATE",
+ ],
+ "VpcEndpointIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcVpcEndpointApiGateway6200AA118EB915E2",
+ },
+ ],
+ },
+ "Name": "Api",
+ "Policy": {
+ "Statement": [
+ {
+ "Action": "execute-api:Invoke",
+ "Condition": {
+ "StringEquals": {
+ "aws:SourceVpce": {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcVpcEndpointApiGateway6200AA118EB915E2",
+ },
+ },
+ },
+ "Effect": "Allow",
+ "Principal": {
+ "AWS": "*",
+ },
+ "Resource": "execute-api:/*",
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ },
+ "Type": "AWS::ApiGateway::RestApi",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiOPTIONSE134DC36": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ApiKeyRequired": false,
+ "AuthorizationType": "NONE",
+ "HttpMethod": "OPTIONS",
+ "Integration": {
+ "IntegrationResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'",
+ "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'",
+ "method.response.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "RequestTemplates": {
+ "application/json": "{ statusCode: 200 }",
+ },
+ "Type": "MOCK",
+ },
+ "MethodResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": true,
+ "method.response.header.Access-Control-Allow-Methods": true,
+ "method.response.header.Access-Control-Allow-Origin": true,
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "ResourceId": {
+ "Fn::GetAtt": [
+ "APIApiFFA96F67",
+ "RootResourceId",
+ ],
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApichatsE061702A": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ParentId": {
+ "Fn::GetAtt": [
+ "APIApiFFA96F67",
+ "RootResourceId",
+ ],
+ },
+ "PathPart": "chats",
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Resource",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApichatsGET40767623": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AuthorizationType": "COGNITO_USER_POOLS",
+ "AuthorizerId": {
+ "Ref": "APIAuthorizer9DCC037B",
+ },
+ "HttpMethod": "GET",
+ "Integration": {
+ "IntegrationHttpMethod": "POST",
+ "Type": "AWS_PROXY",
+ "Uri": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":apigateway:us-east-1:lambda:path/2015-03-31/functions/",
+ {
+ "Fn::GetAtt": [
+ "APIListChats12807275",
+ "Arn",
+ ],
+ },
+ "/invocations",
+ ],
+ ],
+ },
+ },
+ "ResourceId": {
+ "Ref": "APIApichatsE061702A",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApichatsGETApiPermissionGenerativeAiUseCasesStackAPIApi89219E17GETchats3464EF3A": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APIListChats12807275",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/",
+ {
+ "Ref": "APIApiDeploymentStageapiCD55D117",
+ },
+ "/GET/chats",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApichatsGETApiPermissionTestGenerativeAiUseCasesStackAPIApi89219E17GETchatsE1DE3C5A": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APIListChats12807275",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/test-invoke-stage/GET/chats",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApichatsOPTIONSDFF708CB": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ApiKeyRequired": false,
+ "AuthorizationType": "NONE",
+ "HttpMethod": "OPTIONS",
+ "Integration": {
+ "IntegrationResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'",
+ "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'",
+ "method.response.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "RequestTemplates": {
+ "application/json": "{ statusCode: 200 }",
+ },
+ "Type": "MOCK",
+ },
+ "MethodResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": true,
+ "method.response.header.Access-Control-Allow-Methods": true,
+ "method.response.header.Access-Control-Allow-Origin": true,
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "ResourceId": {
+ "Ref": "APIApichatsE061702A",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApichatsPOSTApiPermissionGenerativeAiUseCasesStackAPIApi89219E17POSTchats6FB5CEC9": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APICreateChatE07AFAF4",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/",
+ {
+ "Ref": "APIApiDeploymentStageapiCD55D117",
+ },
+ "/POST/chats",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApichatsPOSTApiPermissionTestGenerativeAiUseCasesStackAPIApi89219E17POSTchatsE0E202B2": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APICreateChatE07AFAF4",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/test-invoke-stage/POST/chats",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApichatsPOSTF32299AA": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AuthorizationType": "COGNITO_USER_POOLS",
+ "AuthorizerId": {
+ "Ref": "APIAuthorizer9DCC037B",
+ },
+ "HttpMethod": "POST",
+ "Integration": {
+ "IntegrationHttpMethod": "POST",
+ "Type": "AWS_PROXY",
+ "Uri": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":apigateway:us-east-1:lambda:path/2015-03-31/functions/",
+ {
+ "Fn::GetAtt": [
+ "APICreateChatE07AFAF4",
+ "Arn",
+ ],
+ },
+ "/invocations",
+ ],
+ ],
+ },
+ },
+ "ResourceId": {
+ "Ref": "APIApichatsE061702A",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApichatschatIdDELETE4578D41B": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AuthorizationType": "COGNITO_USER_POOLS",
+ "AuthorizerId": {
+ "Ref": "APIAuthorizer9DCC037B",
+ },
+ "HttpMethod": "DELETE",
+ "Integration": {
+ "IntegrationHttpMethod": "POST",
+ "Type": "AWS_PROXY",
+ "Uri": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":apigateway:us-east-1:lambda:path/2015-03-31/functions/",
+ {
+ "Fn::GetAtt": [
+ "APIDeleteChat1517278C",
+ "Arn",
+ ],
+ },
+ "/invocations",
+ ],
+ ],
+ },
+ },
+ "ResourceId": {
+ "Ref": "APIApichatschatIdE67019A6",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApichatschatIdDELETEApiPermissionGenerativeAiUseCasesStackAPIApi89219E17DELETEchatschatIdCBAD7732": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APIDeleteChat1517278C",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/",
+ {
+ "Ref": "APIApiDeploymentStageapiCD55D117",
+ },
+ "/DELETE/chats/*",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApichatschatIdDELETEApiPermissionTestGenerativeAiUseCasesStackAPIApi89219E17DELETEchatschatId6DBAD3C3": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APIDeleteChat1517278C",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/test-invoke-stage/DELETE/chats/*",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApichatschatIdE67019A6": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ParentId": {
+ "Ref": "APIApichatsE061702A",
+ },
+ "PathPart": "{chatId}",
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Resource",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApichatschatIdGET152C9123": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AuthorizationType": "COGNITO_USER_POOLS",
+ "AuthorizerId": {
+ "Ref": "APIAuthorizer9DCC037B",
+ },
+ "HttpMethod": "GET",
+ "Integration": {
+ "IntegrationHttpMethod": "POST",
+ "Type": "AWS_PROXY",
+ "Uri": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":apigateway:us-east-1:lambda:path/2015-03-31/functions/",
+ {
+ "Fn::GetAtt": [
+ "APIFindChatbyId74476825",
+ "Arn",
+ ],
+ },
+ "/invocations",
+ ],
+ ],
+ },
+ },
+ "ResourceId": {
+ "Ref": "APIApichatschatIdE67019A6",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApichatschatIdGETApiPermissionGenerativeAiUseCasesStackAPIApi89219E17GETchatschatIdC82A138E": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APIFindChatbyId74476825",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/",
+ {
+ "Ref": "APIApiDeploymentStageapiCD55D117",
+ },
+ "/GET/chats/*",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApichatschatIdGETApiPermissionTestGenerativeAiUseCasesStackAPIApi89219E17GETchatschatIdCA130D83": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APIFindChatbyId74476825",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/test-invoke-stage/GET/chats/*",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApichatschatIdOPTIONS4498230E": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ApiKeyRequired": false,
+ "AuthorizationType": "NONE",
+ "HttpMethod": "OPTIONS",
+ "Integration": {
+ "IntegrationResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'",
+ "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'",
+ "method.response.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "RequestTemplates": {
+ "application/json": "{ statusCode: 200 }",
+ },
+ "Type": "MOCK",
+ },
+ "MethodResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": true,
+ "method.response.header.Access-Control-Allow-Methods": true,
+ "method.response.header.Access-Control-Allow-Origin": true,
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "ResourceId": {
+ "Ref": "APIApichatschatIdE67019A6",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApichatschatIdfeedbacksF371F57A": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ParentId": {
+ "Ref": "APIApichatschatIdE67019A6",
+ },
+ "PathPart": "feedbacks",
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Resource",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApichatschatIdfeedbacksOPTIONS7AB34AA5": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ApiKeyRequired": false,
+ "AuthorizationType": "NONE",
+ "HttpMethod": "OPTIONS",
+ "Integration": {
+ "IntegrationResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'",
+ "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'",
+ "method.response.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "RequestTemplates": {
+ "application/json": "{ statusCode: 200 }",
+ },
+ "Type": "MOCK",
+ },
+ "MethodResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": true,
+ "method.response.header.Access-Control-Allow-Methods": true,
+ "method.response.header.Access-Control-Allow-Origin": true,
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "ResourceId": {
+ "Ref": "APIApichatschatIdfeedbacksF371F57A",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApichatschatIdfeedbacksPOST3E9ACBEC": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AuthorizationType": "COGNITO_USER_POOLS",
+ "AuthorizerId": {
+ "Ref": "APIAuthorizer9DCC037B",
+ },
+ "HttpMethod": "POST",
+ "Integration": {
+ "IntegrationHttpMethod": "POST",
+ "Type": "AWS_PROXY",
+ "Uri": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":apigateway:us-east-1:lambda:path/2015-03-31/functions/",
+ {
+ "Fn::GetAtt": [
+ "APIUpdateFeedback2F9276A1",
+ "Arn",
+ ],
+ },
+ "/invocations",
+ ],
+ ],
+ },
+ },
+ "ResourceId": {
+ "Ref": "APIApichatschatIdfeedbacksF371F57A",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApichatschatIdfeedbacksPOSTApiPermissionGenerativeAiUseCasesStackAPIApi89219E17POSTchatschatIdfeedbacksE8588286": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APIUpdateFeedback2F9276A1",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/",
+ {
+ "Ref": "APIApiDeploymentStageapiCD55D117",
+ },
+ "/POST/chats/*/feedbacks",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApichatschatIdfeedbacksPOSTApiPermissionTestGenerativeAiUseCasesStackAPIApi89219E17POSTchatschatIdfeedbacks52610594": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APIUpdateFeedback2F9276A1",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/test-invoke-stage/POST/chats/*/feedbacks",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApichatschatIdmessagesAF527CE8": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ParentId": {
+ "Ref": "APIApichatschatIdE67019A6",
+ },
+ "PathPart": "messages",
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Resource",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApichatschatIdmessagesGET94AB097F": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AuthorizationType": "COGNITO_USER_POOLS",
+ "AuthorizerId": {
+ "Ref": "APIAuthorizer9DCC037B",
+ },
+ "HttpMethod": "GET",
+ "Integration": {
+ "IntegrationHttpMethod": "POST",
+ "Type": "AWS_PROXY",
+ "Uri": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":apigateway:us-east-1:lambda:path/2015-03-31/functions/",
+ {
+ "Fn::GetAtt": [
+ "APIListMessages536ED2CC",
+ "Arn",
+ ],
+ },
+ "/invocations",
+ ],
+ ],
+ },
+ },
+ "ResourceId": {
+ "Ref": "APIApichatschatIdmessagesAF527CE8",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApichatschatIdmessagesGETApiPermissionGenerativeAiUseCasesStackAPIApi89219E17GETchatschatIdmessages122A59FC": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APIListMessages536ED2CC",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/",
+ {
+ "Ref": "APIApiDeploymentStageapiCD55D117",
+ },
+ "/GET/chats/*/messages",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApichatschatIdmessagesGETApiPermissionTestGenerativeAiUseCasesStackAPIApi89219E17GETchatschatIdmessages3F025E8E": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APIListMessages536ED2CC",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/test-invoke-stage/GET/chats/*/messages",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApichatschatIdmessagesOPTIONS20207E07": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ApiKeyRequired": false,
+ "AuthorizationType": "NONE",
+ "HttpMethod": "OPTIONS",
+ "Integration": {
+ "IntegrationResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'",
+ "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'",
+ "method.response.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "RequestTemplates": {
+ "application/json": "{ statusCode: 200 }",
+ },
+ "Type": "MOCK",
+ },
+ "MethodResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": true,
+ "method.response.header.Access-Control-Allow-Methods": true,
+ "method.response.header.Access-Control-Allow-Origin": true,
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "ResourceId": {
+ "Ref": "APIApichatschatIdmessagesAF527CE8",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApichatschatIdmessagesPOST4197DA8F": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AuthorizationType": "COGNITO_USER_POOLS",
+ "AuthorizerId": {
+ "Ref": "APIAuthorizer9DCC037B",
+ },
+ "HttpMethod": "POST",
+ "Integration": {
+ "IntegrationHttpMethod": "POST",
+ "Type": "AWS_PROXY",
+ "Uri": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":apigateway:us-east-1:lambda:path/2015-03-31/functions/",
+ {
+ "Fn::GetAtt": [
+ "APICreateMessages1C3421C0",
+ "Arn",
+ ],
+ },
+ "/invocations",
+ ],
+ ],
+ },
+ },
+ "ResourceId": {
+ "Ref": "APIApichatschatIdmessagesAF527CE8",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApichatschatIdmessagesPOSTApiPermissionGenerativeAiUseCasesStackAPIApi89219E17POSTchatschatIdmessages832E69DC": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APICreateMessages1C3421C0",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/",
+ {
+ "Ref": "APIApiDeploymentStageapiCD55D117",
+ },
+ "/POST/chats/*/messages",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApichatschatIdmessagesPOSTApiPermissionTestGenerativeAiUseCasesStackAPIApi89219E17POSTchatschatIdmessagesDB24918A": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APICreateMessages1C3421C0",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/test-invoke-stage/POST/chats/*/messages",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApichatschatIdtitleC5AEA917": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ParentId": {
+ "Ref": "APIApichatschatIdE67019A6",
+ },
+ "PathPart": "title",
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Resource",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApichatschatIdtitleOPTIONSFA0EB6B7": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ApiKeyRequired": false,
+ "AuthorizationType": "NONE",
+ "HttpMethod": "OPTIONS",
+ "Integration": {
+ "IntegrationResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'",
+ "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'",
+ "method.response.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "RequestTemplates": {
+ "application/json": "{ statusCode: 200 }",
+ },
+ "Type": "MOCK",
+ },
+ "MethodResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": true,
+ "method.response.header.Access-Control-Allow-Methods": true,
+ "method.response.header.Access-Control-Allow-Origin": true,
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "ResourceId": {
+ "Ref": "APIApichatschatIdtitleC5AEA917",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApichatschatIdtitlePUT15099F54": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AuthorizationType": "COGNITO_USER_POOLS",
+ "AuthorizerId": {
+ "Ref": "APIAuthorizer9DCC037B",
+ },
+ "HttpMethod": "PUT",
+ "Integration": {
+ "IntegrationHttpMethod": "POST",
+ "Type": "AWS_PROXY",
+ "Uri": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":apigateway:us-east-1:lambda:path/2015-03-31/functions/",
+ {
+ "Fn::GetAtt": [
+ "APIUpdateChatTitleF8FCA547",
+ "Arn",
+ ],
+ },
+ "/invocations",
+ ],
+ ],
+ },
+ },
+ "ResourceId": {
+ "Ref": "APIApichatschatIdtitleC5AEA917",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApichatschatIdtitlePUTApiPermissionGenerativeAiUseCasesStackAPIApi89219E17PUTchatschatIdtitleF57C315F": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APIUpdateChatTitleF8FCA547",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/",
+ {
+ "Ref": "APIApiDeploymentStageapiCD55D117",
+ },
+ "/PUT/chats/*/title",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApichatschatIdtitlePUTApiPermissionTestGenerativeAiUseCasesStackAPIApi89219E17PUTchatschatIdtitle5F294013": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APIUpdateChatTitleF8FCA547",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/test-invoke-stage/PUT/chats/*/title",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApifile76AB343B": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ParentId": {
+ "Fn::GetAtt": [
+ "APIApiFFA96F67",
+ "RootResourceId",
+ ],
+ },
+ "PathPart": "file",
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Resource",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApifileOPTIONS64A72556": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ApiKeyRequired": false,
+ "AuthorizationType": "NONE",
+ "HttpMethod": "OPTIONS",
+ "Integration": {
+ "IntegrationResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'",
+ "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'",
+ "method.response.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "RequestTemplates": {
+ "application/json": "{ statusCode: 200 }",
+ },
+ "Type": "MOCK",
+ },
+ "MethodResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": true,
+ "method.response.header.Access-Control-Allow-Methods": true,
+ "method.response.header.Access-Control-Allow-Origin": true,
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "ResourceId": {
+ "Ref": "APIApifile76AB343B",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApifilefileName2B0471F4": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ParentId": {
+ "Ref": "APIApifile76AB343B",
+ },
+ "PathPart": "{fileName}",
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Resource",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApifilefileNameDELETE54EB1050": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AuthorizationType": "COGNITO_USER_POOLS",
+ "AuthorizerId": {
+ "Ref": "APIAuthorizer9DCC037B",
+ },
+ "HttpMethod": "DELETE",
+ "Integration": {
+ "IntegrationHttpMethod": "POST",
+ "Type": "AWS_PROXY",
+ "Uri": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":apigateway:us-east-1:lambda:path/2015-03-31/functions/",
+ {
+ "Fn::GetAtt": [
+ "APIDeleteFileFunctionC52312C7",
+ "Arn",
+ ],
+ },
+ "/invocations",
+ ],
+ ],
+ },
+ },
+ "ResourceId": {
+ "Ref": "APIApifilefileName2B0471F4",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApifilefileNameDELETEApiPermissionGenerativeAiUseCasesStackAPIApi89219E17DELETEfilefileName48EC68D3": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APIDeleteFileFunctionC52312C7",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/",
+ {
+ "Ref": "APIApiDeploymentStageapiCD55D117",
+ },
+ "/DELETE/file/*",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApifilefileNameDELETEApiPermissionTestGenerativeAiUseCasesStackAPIApi89219E17DELETEfilefileName6979E07E": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APIDeleteFileFunctionC52312C7",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/test-invoke-stage/DELETE/file/*",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApifilefileNameOPTIONS6C97AC5A": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ApiKeyRequired": false,
+ "AuthorizationType": "NONE",
+ "HttpMethod": "OPTIONS",
+ "Integration": {
+ "IntegrationResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'",
+ "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'",
+ "method.response.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "RequestTemplates": {
+ "application/json": "{ statusCode: 200 }",
+ },
+ "Type": "MOCK",
+ },
+ "MethodResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": true,
+ "method.response.header.Access-Control-Allow-Methods": true,
+ "method.response.header.Access-Control-Allow-Origin": true,
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "ResourceId": {
+ "Ref": "APIApifilefileName2B0471F4",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApifileurl08DA507F": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ParentId": {
+ "Ref": "APIApifile76AB343B",
+ },
+ "PathPart": "url",
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Resource",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApifileurlGET6E9EDFE6": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AuthorizationType": "COGNITO_USER_POOLS",
+ "AuthorizerId": {
+ "Ref": "APIAuthorizer9DCC037B",
+ },
+ "HttpMethod": "GET",
+ "Integration": {
+ "IntegrationHttpMethod": "POST",
+ "Type": "AWS_PROXY",
+ "Uri": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":apigateway:us-east-1:lambda:path/2015-03-31/functions/",
+ {
+ "Fn::GetAtt": [
+ "APIGetFileDownloadSignedUrlFunction8B43389C",
+ "Arn",
+ ],
+ },
+ "/invocations",
+ ],
+ ],
+ },
+ },
+ "ResourceId": {
+ "Ref": "APIApifileurl08DA507F",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApifileurlGETApiPermissionGenerativeAiUseCasesStackAPIApi89219E17GETfileurl0485E8FF": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APIGetFileDownloadSignedUrlFunction8B43389C",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/",
+ {
+ "Ref": "APIApiDeploymentStageapiCD55D117",
+ },
+ "/GET/file/url",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApifileurlGETApiPermissionTestGenerativeAiUseCasesStackAPIApi89219E17GETfileurl88BCDC54": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APIGetFileDownloadSignedUrlFunction8B43389C",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/test-invoke-stage/GET/file/url",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApifileurlOPTIONS658BFB93": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ApiKeyRequired": false,
+ "AuthorizationType": "NONE",
+ "HttpMethod": "OPTIONS",
+ "Integration": {
+ "IntegrationResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'",
+ "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'",
+ "method.response.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "RequestTemplates": {
+ "application/json": "{ statusCode: 200 }",
+ },
+ "Type": "MOCK",
+ },
+ "MethodResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": true,
+ "method.response.header.Access-Control-Allow-Methods": true,
+ "method.response.header.Access-Control-Allow-Origin": true,
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "ResourceId": {
+ "Ref": "APIApifileurl08DA507F",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApifileurlPOST73D5BB3A": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AuthorizationType": "COGNITO_USER_POOLS",
+ "AuthorizerId": {
+ "Ref": "APIAuthorizer9DCC037B",
+ },
+ "HttpMethod": "POST",
+ "Integration": {
+ "IntegrationHttpMethod": "POST",
+ "Type": "AWS_PROXY",
+ "Uri": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":apigateway:us-east-1:lambda:path/2015-03-31/functions/",
+ {
+ "Fn::GetAtt": [
+ "APIGetSignedUrl0A6EC682",
+ "Arn",
+ ],
+ },
+ "/invocations",
+ ],
+ ],
+ },
+ },
+ "ResourceId": {
+ "Ref": "APIApifileurl08DA507F",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApifileurlPOSTApiPermissionGenerativeAiUseCasesStackAPIApi89219E17POSTfileurl83D310CC": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APIGetSignedUrl0A6EC682",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/",
+ {
+ "Ref": "APIApiDeploymentStageapiCD55D117",
+ },
+ "/POST/file/url",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApifileurlPOSTApiPermissionTestGenerativeAiUseCasesStackAPIApi89219E17POSTfileurlB327A180": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APIGetSignedUrl0A6EC682",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/test-invoke-stage/POST/file/url",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiimage6FBCA1DF": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ParentId": {
+ "Fn::GetAtt": [
+ "APIApiFFA96F67",
+ "RootResourceId",
+ ],
+ },
+ "PathPart": "image",
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Resource",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiimageOPTIONSA57099DB": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ApiKeyRequired": false,
+ "AuthorizationType": "NONE",
+ "HttpMethod": "OPTIONS",
+ "Integration": {
+ "IntegrationResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'",
+ "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'",
+ "method.response.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "RequestTemplates": {
+ "application/json": "{ statusCode: 200 }",
+ },
+ "Type": "MOCK",
+ },
+ "MethodResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": true,
+ "method.response.header.Access-Control-Allow-Methods": true,
+ "method.response.header.Access-Control-Allow-Origin": true,
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "ResourceId": {
+ "Ref": "APIApiimage6FBCA1DF",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiimagegenerate70662BCD": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ParentId": {
+ "Ref": "APIApiimage6FBCA1DF",
+ },
+ "PathPart": "generate",
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Resource",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiimagegenerateOPTIONS58BC3827": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ApiKeyRequired": false,
+ "AuthorizationType": "NONE",
+ "HttpMethod": "OPTIONS",
+ "Integration": {
+ "IntegrationResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'",
+ "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'",
+ "method.response.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "RequestTemplates": {
+ "application/json": "{ statusCode: 200 }",
+ },
+ "Type": "MOCK",
+ },
+ "MethodResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": true,
+ "method.response.header.Access-Control-Allow-Methods": true,
+ "method.response.header.Access-Control-Allow-Origin": true,
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "ResourceId": {
+ "Ref": "APIApiimagegenerate70662BCD",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiimagegeneratePOST0F60597D": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AuthorizationType": "COGNITO_USER_POOLS",
+ "AuthorizerId": {
+ "Ref": "APIAuthorizer9DCC037B",
+ },
+ "HttpMethod": "POST",
+ "Integration": {
+ "IntegrationHttpMethod": "POST",
+ "Type": "AWS_PROXY",
+ "Uri": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":apigateway:us-east-1:lambda:path/2015-03-31/functions/",
+ {
+ "Fn::GetAtt": [
+ "APIGenerateImage777647C7",
+ "Arn",
+ ],
+ },
+ "/invocations",
+ ],
+ ],
+ },
+ },
+ "ResourceId": {
+ "Ref": "APIApiimagegenerate70662BCD",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiimagegeneratePOSTApiPermissionGenerativeAiUseCasesStackAPIApi89219E17POSTimagegenerate41F8E49F": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APIGenerateImage777647C7",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/",
+ {
+ "Ref": "APIApiDeploymentStageapiCD55D117",
+ },
+ "/POST/image/generate",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiimagegeneratePOSTApiPermissionTestGenerativeAiUseCasesStackAPIApi89219E17POSTimagegenerateFE576B22": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APIGenerateImage777647C7",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/test-invoke-stage/POST/image/generate",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApipredict6CA3C413": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ParentId": {
+ "Fn::GetAtt": [
+ "APIApiFFA96F67",
+ "RootResourceId",
+ ],
+ },
+ "PathPart": "predict",
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Resource",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApipredictOPTIONS9065A8D6": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ApiKeyRequired": false,
+ "AuthorizationType": "NONE",
+ "HttpMethod": "OPTIONS",
+ "Integration": {
+ "IntegrationResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'",
+ "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'",
+ "method.response.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "RequestTemplates": {
+ "application/json": "{ statusCode: 200 }",
+ },
+ "Type": "MOCK",
+ },
+ "MethodResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": true,
+ "method.response.header.Access-Control-Allow-Methods": true,
+ "method.response.header.Access-Control-Allow-Origin": true,
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "ResourceId": {
+ "Ref": "APIApipredict6CA3C413",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApipredictPOST376D7D2E": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AuthorizationType": "COGNITO_USER_POOLS",
+ "AuthorizerId": {
+ "Ref": "APIAuthorizer9DCC037B",
+ },
+ "HttpMethod": "POST",
+ "Integration": {
+ "IntegrationHttpMethod": "POST",
+ "Type": "AWS_PROXY",
+ "Uri": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":apigateway:us-east-1:lambda:path/2015-03-31/functions/",
+ {
+ "Fn::GetAtt": [
+ "APIPredict09E4E4FF",
+ "Arn",
+ ],
+ },
+ "/invocations",
+ ],
+ ],
+ },
+ },
+ "ResourceId": {
+ "Ref": "APIApipredict6CA3C413",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApipredictPOSTApiPermissionGenerativeAiUseCasesStackAPIApi89219E17POSTpredict03DB8E81": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APIPredict09E4E4FF",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/",
+ {
+ "Ref": "APIApiDeploymentStageapiCD55D117",
+ },
+ "/POST/predict",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApipredictPOSTApiPermissionTestGenerativeAiUseCasesStackAPIApi89219E17POSTpredictFAF8FA72": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APIPredict09E4E4FF",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/test-invoke-stage/POST/predict",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApipredicttitle8F6A9913": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ParentId": {
+ "Ref": "APIApipredict6CA3C413",
+ },
+ "PathPart": "title",
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Resource",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApipredicttitleOPTIONS3DCF08ED": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ApiKeyRequired": false,
+ "AuthorizationType": "NONE",
+ "HttpMethod": "OPTIONS",
+ "Integration": {
+ "IntegrationResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'",
+ "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'",
+ "method.response.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "RequestTemplates": {
+ "application/json": "{ statusCode: 200 }",
+ },
+ "Type": "MOCK",
+ },
+ "MethodResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": true,
+ "method.response.header.Access-Control-Allow-Methods": true,
+ "method.response.header.Access-Control-Allow-Origin": true,
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "ResourceId": {
+ "Ref": "APIApipredicttitle8F6A9913",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApipredicttitlePOSTAC11F63E": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AuthorizationType": "COGNITO_USER_POOLS",
+ "AuthorizerId": {
+ "Ref": "APIAuthorizer9DCC037B",
+ },
+ "HttpMethod": "POST",
+ "Integration": {
+ "IntegrationHttpMethod": "POST",
+ "Type": "AWS_PROXY",
+ "Uri": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":apigateway:us-east-1:lambda:path/2015-03-31/functions/",
+ {
+ "Fn::GetAtt": [
+ "APIPredictTitle95F64FA4",
+ "Arn",
+ ],
+ },
+ "/invocations",
+ ],
+ ],
+ },
+ },
+ "ResourceId": {
+ "Ref": "APIApipredicttitle8F6A9913",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApipredicttitlePOSTApiPermissionGenerativeAiUseCasesStackAPIApi89219E17POSTpredicttitle9C698441": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APIPredictTitle95F64FA4",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/",
+ {
+ "Ref": "APIApiDeploymentStageapiCD55D117",
+ },
+ "/POST/predict/title",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApipredicttitlePOSTApiPermissionTestGenerativeAiUseCasesStackAPIApi89219E17POSTpredicttitleF8561C52": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APIPredictTitle95F64FA4",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/test-invoke-stage/POST/predict/title",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiragB0FA73F7": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ParentId": {
+ "Fn::GetAtt": [
+ "APIApiFFA96F67",
+ "RootResourceId",
+ ],
+ },
+ "PathPart": "rag",
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Resource",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiragOPTIONSAF55562D": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ApiKeyRequired": false,
+ "AuthorizationType": "NONE",
+ "HttpMethod": "OPTIONS",
+ "Integration": {
+ "IntegrationResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'",
+ "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'",
+ "method.response.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "RequestTemplates": {
+ "application/json": "{ statusCode: 200 }",
+ },
+ "Type": "MOCK",
+ },
+ "MethodResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": true,
+ "method.response.header.Access-Control-Allow-Methods": true,
+ "method.response.header.Access-Control-Allow-Origin": true,
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "ResourceId": {
+ "Ref": "APIApiragB0FA73F7",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiragknowledgebase25F53940": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ParentId": {
+ "Fn::GetAtt": [
+ "APIApiFFA96F67",
+ "RootResourceId",
+ ],
+ },
+ "PathPart": "rag-knowledge-base",
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Resource",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiragknowledgebaseOPTIONSF0724AB5": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ApiKeyRequired": false,
+ "AuthorizationType": "NONE",
+ "HttpMethod": "OPTIONS",
+ "Integration": {
+ "IntegrationResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'",
+ "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'",
+ "method.response.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "RequestTemplates": {
+ "application/json": "{ statusCode: 200 }",
+ },
+ "Type": "MOCK",
+ },
+ "MethodResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": true,
+ "method.response.header.Access-Control-Allow-Methods": true,
+ "method.response.header.Access-Control-Allow-Origin": true,
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "ResourceId": {
+ "Ref": "APIApiragknowledgebase25F53940",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiragknowledgebaseretrieve42B4F7F4": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ParentId": {
+ "Ref": "APIApiragknowledgebase25F53940",
+ },
+ "PathPart": "retrieve",
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Resource",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiragknowledgebaseretrieveOPTIONS520513E9": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ApiKeyRequired": false,
+ "AuthorizationType": "NONE",
+ "HttpMethod": "OPTIONS",
+ "Integration": {
+ "IntegrationResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'",
+ "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'",
+ "method.response.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "RequestTemplates": {
+ "application/json": "{ statusCode: 200 }",
+ },
+ "Type": "MOCK",
+ },
+ "MethodResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": true,
+ "method.response.header.Access-Control-Allow-Methods": true,
+ "method.response.header.Access-Control-Allow-Origin": true,
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "ResourceId": {
+ "Ref": "APIApiragknowledgebaseretrieve42B4F7F4",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiragknowledgebaseretrievePOST8609F339": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AuthorizationType": "COGNITO_USER_POOLS",
+ "AuthorizerId": {
+ "Ref": "RagKnowledgeBaseAuthorizerE73D3108",
+ },
+ "HttpMethod": "POST",
+ "Integration": {
+ "IntegrationHttpMethod": "POST",
+ "Type": "AWS_PROXY",
+ "Uri": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":apigateway:us-east-1:lambda:path/2015-03-31/functions/",
+ {
+ "Fn::GetAtt": [
+ "RagKnowledgeBaseRetrieve67B5F652",
+ "Arn",
+ ],
+ },
+ "/invocations",
+ ],
+ ],
+ },
+ },
+ "ResourceId": {
+ "Ref": "APIApiragknowledgebaseretrieve42B4F7F4",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiragknowledgebaseretrievePOSTApiPermissionGenerativeAiUseCasesStackAPIApi89219E17POSTragknowledgebaseretrieveB37A11F0": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "RagKnowledgeBaseRetrieve67B5F652",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/",
+ {
+ "Ref": "APIApiDeploymentStageapiCD55D117",
+ },
+ "/POST/rag-knowledge-base/retrieve",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiragknowledgebaseretrievePOSTApiPermissionTestGenerativeAiUseCasesStackAPIApi89219E17POSTragknowledgebaseretrieveC4571797": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "RagKnowledgeBaseRetrieve67B5F652",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/test-invoke-stage/POST/rag-knowledge-base/retrieve",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiragqueryBFCC1FE8": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ParentId": {
+ "Ref": "APIApiragB0FA73F7",
+ },
+ "PathPart": "query",
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Resource",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiragqueryOPTIONS0831C743": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ApiKeyRequired": false,
+ "AuthorizationType": "NONE",
+ "HttpMethod": "OPTIONS",
+ "Integration": {
+ "IntegrationResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'",
+ "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'",
+ "method.response.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "RequestTemplates": {
+ "application/json": "{ statusCode: 200 }",
+ },
+ "Type": "MOCK",
+ },
+ "MethodResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": true,
+ "method.response.header.Access-Control-Allow-Methods": true,
+ "method.response.header.Access-Control-Allow-Origin": true,
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "ResourceId": {
+ "Ref": "APIApiragqueryBFCC1FE8",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiragqueryPOST959F42AE": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AuthorizationType": "COGNITO_USER_POOLS",
+ "AuthorizerId": {
+ "Ref": "RagAuthorizer1D577454",
+ },
+ "HttpMethod": "POST",
+ "Integration": {
+ "IntegrationHttpMethod": "POST",
+ "Type": "AWS_PROXY",
+ "Uri": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":apigateway:us-east-1:lambda:path/2015-03-31/functions/",
+ {
+ "Fn::GetAtt": [
+ "RagQuery46261080",
+ "Arn",
+ ],
+ },
+ "/invocations",
+ ],
+ ],
+ },
+ },
+ "ResourceId": {
+ "Ref": "APIApiragqueryBFCC1FE8",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiragqueryPOSTApiPermissionGenerativeAiUseCasesStackAPIApi89219E17POSTragquery34589789": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "RagQuery46261080",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/",
+ {
+ "Ref": "APIApiDeploymentStageapiCD55D117",
+ },
+ "/POST/rag/query",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiragqueryPOSTApiPermissionTestGenerativeAiUseCasesStackAPIApi89219E17POSTragquery4D39714A": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "RagQuery46261080",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/test-invoke-stage/POST/rag/query",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiragretrieve8A07B1EB": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ParentId": {
+ "Ref": "APIApiragB0FA73F7",
+ },
+ "PathPart": "retrieve",
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Resource",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiragretrieveOPTIONS76F86387": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ApiKeyRequired": false,
+ "AuthorizationType": "NONE",
+ "HttpMethod": "OPTIONS",
+ "Integration": {
+ "IntegrationResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'",
+ "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'",
+ "method.response.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "RequestTemplates": {
+ "application/json": "{ statusCode: 200 }",
+ },
+ "Type": "MOCK",
+ },
+ "MethodResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": true,
+ "method.response.header.Access-Control-Allow-Methods": true,
+ "method.response.header.Access-Control-Allow-Origin": true,
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "ResourceId": {
+ "Ref": "APIApiragretrieve8A07B1EB",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiragretrievePOST1B75699C": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AuthorizationType": "COGNITO_USER_POOLS",
+ "AuthorizerId": {
+ "Ref": "RagAuthorizer1D577454",
+ },
+ "HttpMethod": "POST",
+ "Integration": {
+ "IntegrationHttpMethod": "POST",
+ "Type": "AWS_PROXY",
+ "Uri": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":apigateway:us-east-1:lambda:path/2015-03-31/functions/",
+ {
+ "Fn::GetAtt": [
+ "RagRetrieve78B54C98",
+ "Arn",
+ ],
+ },
+ "/invocations",
+ ],
+ ],
+ },
+ },
+ "ResourceId": {
+ "Ref": "APIApiragretrieve8A07B1EB",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiragretrievePOSTApiPermissionGenerativeAiUseCasesStackAPIApi89219E17POSTragretrieve4FD20ADA": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "RagRetrieve78B54C98",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/",
+ {
+ "Ref": "APIApiDeploymentStageapiCD55D117",
+ },
+ "/POST/rag/retrieve",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiragretrievePOSTApiPermissionTestGenerativeAiUseCasesStackAPIApi89219E17POSTragretrieve5954A588": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "RagRetrieve78B54C98",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/test-invoke-stage/POST/rag/retrieve",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApishares3C1C04E5": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ParentId": {
+ "Fn::GetAtt": [
+ "APIApiFFA96F67",
+ "RootResourceId",
+ ],
+ },
+ "PathPart": "shares",
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Resource",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApisharesOPTIONSF1049E3B": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ApiKeyRequired": false,
+ "AuthorizationType": "NONE",
+ "HttpMethod": "OPTIONS",
+ "Integration": {
+ "IntegrationResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'",
+ "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'",
+ "method.response.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "RequestTemplates": {
+ "application/json": "{ statusCode: 200 }",
+ },
+ "Type": "MOCK",
+ },
+ "MethodResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": true,
+ "method.response.header.Access-Control-Allow-Methods": true,
+ "method.response.header.Access-Control-Allow-Origin": true,
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "ResourceId": {
+ "Ref": "APIApishares3C1C04E5",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApishareschatA32CD614": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ParentId": {
+ "Ref": "APIApishares3C1C04E5",
+ },
+ "PathPart": "chat",
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Resource",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApishareschatOPTIONSB4A81F6A": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ApiKeyRequired": false,
+ "AuthorizationType": "NONE",
+ "HttpMethod": "OPTIONS",
+ "Integration": {
+ "IntegrationResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'",
+ "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'",
+ "method.response.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "RequestTemplates": {
+ "application/json": "{ statusCode: 200 }",
+ },
+ "Type": "MOCK",
+ },
+ "MethodResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": true,
+ "method.response.header.Access-Control-Allow-Methods": true,
+ "method.response.header.Access-Control-Allow-Origin": true,
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "ResourceId": {
+ "Ref": "APIApishareschatA32CD614",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApishareschatchatIdABA7B83C": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ParentId": {
+ "Ref": "APIApishareschatA32CD614",
+ },
+ "PathPart": "{chatId}",
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Resource",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApishareschatchatIdGETApiPermissionGenerativeAiUseCasesStackAPIApi89219E17GETshareschatchatId4FEA8BD7": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APIFindShareId3F1AA77B",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/",
+ {
+ "Ref": "APIApiDeploymentStageapiCD55D117",
+ },
+ "/GET/shares/chat/*",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApishareschatchatIdGETApiPermissionTestGenerativeAiUseCasesStackAPIApi89219E17GETshareschatchatId9DA80291": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APIFindShareId3F1AA77B",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/test-invoke-stage/GET/shares/chat/*",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApishareschatchatIdGETFD670180": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AuthorizationType": "COGNITO_USER_POOLS",
+ "AuthorizerId": {
+ "Ref": "APIAuthorizer9DCC037B",
+ },
+ "HttpMethod": "GET",
+ "Integration": {
+ "IntegrationHttpMethod": "POST",
+ "Type": "AWS_PROXY",
+ "Uri": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":apigateway:us-east-1:lambda:path/2015-03-31/functions/",
+ {
+ "Fn::GetAtt": [
+ "APIFindShareId3F1AA77B",
+ "Arn",
+ ],
+ },
+ "/invocations",
+ ],
+ ],
+ },
+ },
+ "ResourceId": {
+ "Ref": "APIApishareschatchatIdABA7B83C",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApishareschatchatIdOPTIONSBA4BB233": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ApiKeyRequired": false,
+ "AuthorizationType": "NONE",
+ "HttpMethod": "OPTIONS",
+ "Integration": {
+ "IntegrationResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'",
+ "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'",
+ "method.response.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "RequestTemplates": {
+ "application/json": "{ statusCode: 200 }",
+ },
+ "Type": "MOCK",
+ },
+ "MethodResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": true,
+ "method.response.header.Access-Control-Allow-Methods": true,
+ "method.response.header.Access-Control-Allow-Origin": true,
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "ResourceId": {
+ "Ref": "APIApishareschatchatIdABA7B83C",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApishareschatchatIdPOSTApiPermissionGenerativeAiUseCasesStackAPIApi89219E17POSTshareschatchatId5D45558E": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APICreateShareId3D7F7B2B",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/",
+ {
+ "Ref": "APIApiDeploymentStageapiCD55D117",
+ },
+ "/POST/shares/chat/*",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApishareschatchatIdPOSTApiPermissionTestGenerativeAiUseCasesStackAPIApi89219E17POSTshareschatchatIdD6448444": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APICreateShareId3D7F7B2B",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/test-invoke-stage/POST/shares/chat/*",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApishareschatchatIdPOSTC94D0E3B": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AuthorizationType": "COGNITO_USER_POOLS",
+ "AuthorizerId": {
+ "Ref": "APIAuthorizer9DCC037B",
+ },
+ "HttpMethod": "POST",
+ "Integration": {
+ "IntegrationHttpMethod": "POST",
+ "Type": "AWS_PROXY",
+ "Uri": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":apigateway:us-east-1:lambda:path/2015-03-31/functions/",
+ {
+ "Fn::GetAtt": [
+ "APICreateShareId3D7F7B2B",
+ "Arn",
+ ],
+ },
+ "/invocations",
+ ],
+ ],
+ },
+ },
+ "ResourceId": {
+ "Ref": "APIApishareschatchatIdABA7B83C",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApisharesshareF2EC0273": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ParentId": {
+ "Ref": "APIApishares3C1C04E5",
+ },
+ "PathPart": "share",
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Resource",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApisharesshareOPTIONS6D42A67D": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ApiKeyRequired": false,
+ "AuthorizationType": "NONE",
+ "HttpMethod": "OPTIONS",
+ "Integration": {
+ "IntegrationResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'",
+ "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'",
+ "method.response.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "RequestTemplates": {
+ "application/json": "{ statusCode: 200 }",
+ },
+ "Type": "MOCK",
+ },
+ "MethodResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": true,
+ "method.response.header.Access-Control-Allow-Methods": true,
+ "method.response.header.Access-Control-Allow-Origin": true,
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "ResourceId": {
+ "Ref": "APIApisharesshareF2EC0273",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApisharesshareshareId3696CDAF": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ParentId": {
+ "Ref": "APIApisharesshareF2EC0273",
+ },
+ "PathPart": "{shareId}",
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Resource",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApisharesshareshareIdDELETE231A4EBF": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AuthorizationType": "COGNITO_USER_POOLS",
+ "AuthorizerId": {
+ "Ref": "APIAuthorizer9DCC037B",
+ },
+ "HttpMethod": "DELETE",
+ "Integration": {
+ "IntegrationHttpMethod": "POST",
+ "Type": "AWS_PROXY",
+ "Uri": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":apigateway:us-east-1:lambda:path/2015-03-31/functions/",
+ {
+ "Fn::GetAtt": [
+ "APIDeleteShareIdFE187370",
+ "Arn",
+ ],
+ },
+ "/invocations",
+ ],
+ ],
+ },
+ },
+ "ResourceId": {
+ "Ref": "APIApisharesshareshareId3696CDAF",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApisharesshareshareIdDELETEApiPermissionGenerativeAiUseCasesStackAPIApi89219E17DELETEsharesshareshareId73BA7001": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APIDeleteShareIdFE187370",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/",
+ {
+ "Ref": "APIApiDeploymentStageapiCD55D117",
+ },
+ "/DELETE/shares/share/*",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApisharesshareshareIdDELETEApiPermissionTestGenerativeAiUseCasesStackAPIApi89219E17DELETEsharesshareshareId451B7B87": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APIDeleteShareIdFE187370",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/test-invoke-stage/DELETE/shares/share/*",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApisharesshareshareIdGETADBE379F": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AuthorizationType": "COGNITO_USER_POOLS",
+ "AuthorizerId": {
+ "Ref": "APIAuthorizer9DCC037B",
+ },
+ "HttpMethod": "GET",
+ "Integration": {
+ "IntegrationHttpMethod": "POST",
+ "Type": "AWS_PROXY",
+ "Uri": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":apigateway:us-east-1:lambda:path/2015-03-31/functions/",
+ {
+ "Fn::GetAtt": [
+ "APIGetSharedChatF02561ED",
+ "Arn",
+ ],
+ },
+ "/invocations",
+ ],
+ ],
+ },
+ },
+ "ResourceId": {
+ "Ref": "APIApisharesshareshareId3696CDAF",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApisharesshareshareIdGETApiPermissionGenerativeAiUseCasesStackAPIApi89219E17GETsharesshareshareIdF221D57E": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APIGetSharedChatF02561ED",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/",
+ {
+ "Ref": "APIApiDeploymentStageapiCD55D117",
+ },
+ "/GET/shares/share/*",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApisharesshareshareIdGETApiPermissionTestGenerativeAiUseCasesStackAPIApi89219E17GETsharesshareshareIdA0DBEBA8": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APIGetSharedChatF02561ED",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/test-invoke-stage/GET/shares/share/*",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApisharesshareshareIdOPTIONSC762F46F": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ApiKeyRequired": false,
+ "AuthorizationType": "NONE",
+ "HttpMethod": "OPTIONS",
+ "Integration": {
+ "IntegrationResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'",
+ "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'",
+ "method.response.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "RequestTemplates": {
+ "application/json": "{ statusCode: 200 }",
+ },
+ "Type": "MOCK",
+ },
+ "MethodResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": true,
+ "method.response.header.Access-Control-Allow-Methods": true,
+ "method.response.header.Access-Control-Allow-Origin": true,
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "ResourceId": {
+ "Ref": "APIApisharesshareshareId3696CDAF",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApispeechtospeechD6FA255B": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ParentId": {
+ "Fn::GetAtt": [
+ "APIApiFFA96F67",
+ "RootResourceId",
+ ],
+ },
+ "PathPart": "speech-to-speech",
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Resource",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApispeechtospeechOPTIONS92DBE1B9": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ApiKeyRequired": false,
+ "AuthorizationType": "NONE",
+ "HttpMethod": "OPTIONS",
+ "Integration": {
+ "IntegrationResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'",
+ "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'",
+ "method.response.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "RequestTemplates": {
+ "application/json": "{ statusCode: 200 }",
+ },
+ "Type": "MOCK",
+ },
+ "MethodResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": true,
+ "method.response.header.Access-Control-Allow-Methods": true,
+ "method.response.header.Access-Control-Allow-Origin": true,
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "ResourceId": {
+ "Ref": "APIApispeechtospeechD6FA255B",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApispeechtospeechPOST8D76474A": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AuthorizationType": "COGNITO_USER_POOLS",
+ "AuthorizerId": {
+ "Ref": "SpeechToSpeechAuthorizerF61277A4",
+ },
+ "HttpMethod": "POST",
+ "Integration": {
+ "IntegrationHttpMethod": "POST",
+ "Type": "AWS_PROXY",
+ "Uri": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":apigateway:us-east-1:lambda:path/2015-03-31/functions/",
+ {
+ "Fn::GetAtt": [
+ "SpeechToSpeechStartSession80A7495E",
+ "Arn",
+ ],
+ },
+ "/invocations",
+ ],
+ ],
+ },
+ },
+ "ResourceId": {
+ "Ref": "APIApispeechtospeechD6FA255B",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApispeechtospeechPOSTApiPermissionGenerativeAiUseCasesStackAPIApi89219E17POSTspeechtospeech0FB686CB": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "SpeechToSpeechStartSession80A7495E",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/",
+ {
+ "Ref": "APIApiDeploymentStageapiCD55D117",
+ },
+ "/POST/speech-to-speech",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApispeechtospeechPOSTApiPermissionTestGenerativeAiUseCasesStackAPIApi89219E17POSTspeechtospeech2C9E93F5": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "SpeechToSpeechStartSession80A7495E",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/test-invoke-stage/POST/speech-to-speech",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApisystemcontexts57785227": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ParentId": {
+ "Fn::GetAtt": [
+ "APIApiFFA96F67",
+ "RootResourceId",
+ ],
+ },
+ "PathPart": "systemcontexts",
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Resource",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApisystemcontextsGET7ECB64D3": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AuthorizationType": "COGNITO_USER_POOLS",
+ "AuthorizerId": {
+ "Ref": "APIAuthorizer9DCC037B",
+ },
+ "HttpMethod": "GET",
+ "Integration": {
+ "IntegrationHttpMethod": "POST",
+ "Type": "AWS_PROXY",
+ "Uri": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":apigateway:us-east-1:lambda:path/2015-03-31/functions/",
+ {
+ "Fn::GetAtt": [
+ "APIListSystemContexts08AE4129",
+ "Arn",
+ ],
+ },
+ "/invocations",
+ ],
+ ],
+ },
+ },
+ "ResourceId": {
+ "Ref": "APIApisystemcontexts57785227",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApisystemcontextsGETApiPermissionGenerativeAiUseCasesStackAPIApi89219E17GETsystemcontextsDB07D691": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APIListSystemContexts08AE4129",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/",
+ {
+ "Ref": "APIApiDeploymentStageapiCD55D117",
+ },
+ "/GET/systemcontexts",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApisystemcontextsGETApiPermissionTestGenerativeAiUseCasesStackAPIApi89219E17GETsystemcontextsF0766633": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APIListSystemContexts08AE4129",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/test-invoke-stage/GET/systemcontexts",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApisystemcontextsOPTIONS0D2703AA": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ApiKeyRequired": false,
+ "AuthorizationType": "NONE",
+ "HttpMethod": "OPTIONS",
+ "Integration": {
+ "IntegrationResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'",
+ "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'",
+ "method.response.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "RequestTemplates": {
+ "application/json": "{ statusCode: 200 }",
+ },
+ "Type": "MOCK",
+ },
+ "MethodResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": true,
+ "method.response.header.Access-Control-Allow-Methods": true,
+ "method.response.header.Access-Control-Allow-Origin": true,
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "ResourceId": {
+ "Ref": "APIApisystemcontexts57785227",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApisystemcontextsPOST3883EC4A": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AuthorizationType": "COGNITO_USER_POOLS",
+ "AuthorizerId": {
+ "Ref": "APIAuthorizer9DCC037B",
+ },
+ "HttpMethod": "POST",
+ "Integration": {
+ "IntegrationHttpMethod": "POST",
+ "Type": "AWS_PROXY",
+ "Uri": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":apigateway:us-east-1:lambda:path/2015-03-31/functions/",
+ {
+ "Fn::GetAtt": [
+ "APICreateSystemContextsB5DC1BC2",
+ "Arn",
+ ],
+ },
+ "/invocations",
+ ],
+ ],
+ },
+ },
+ "ResourceId": {
+ "Ref": "APIApisystemcontexts57785227",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApisystemcontextsPOSTApiPermissionGenerativeAiUseCasesStackAPIApi89219E17POSTsystemcontexts30E77A37": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APICreateSystemContextsB5DC1BC2",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/",
+ {
+ "Ref": "APIApiDeploymentStageapiCD55D117",
+ },
+ "/POST/systemcontexts",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApisystemcontextsPOSTApiPermissionTestGenerativeAiUseCasesStackAPIApi89219E17POSTsystemcontexts9936F5B4": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APICreateSystemContextsB5DC1BC2",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/test-invoke-stage/POST/systemcontexts",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApisystemcontextssystemContextId9D6F9E56": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ParentId": {
+ "Ref": "APIApisystemcontexts57785227",
+ },
+ "PathPart": "{systemContextId}",
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Resource",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApisystemcontextssystemContextIdDELETEApiPermissionGenerativeAiUseCasesStackAPIApi89219E17DELETEsystemcontextssystemContextId630D4328": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APIDeleteSystemContexts7B545538",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/",
+ {
+ "Ref": "APIApiDeploymentStageapiCD55D117",
+ },
+ "/DELETE/systemcontexts/*",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApisystemcontextssystemContextIdDELETEApiPermissionTestGenerativeAiUseCasesStackAPIApi89219E17DELETEsystemcontextssystemContextId35BF96AA": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APIDeleteSystemContexts7B545538",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/test-invoke-stage/DELETE/systemcontexts/*",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApisystemcontextssystemContextIdDELETEB527E743": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AuthorizationType": "COGNITO_USER_POOLS",
+ "AuthorizerId": {
+ "Ref": "APIAuthorizer9DCC037B",
+ },
+ "HttpMethod": "DELETE",
+ "Integration": {
+ "IntegrationHttpMethod": "POST",
+ "Type": "AWS_PROXY",
+ "Uri": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":apigateway:us-east-1:lambda:path/2015-03-31/functions/",
+ {
+ "Fn::GetAtt": [
+ "APIDeleteSystemContexts7B545538",
+ "Arn",
+ ],
+ },
+ "/invocations",
+ ],
+ ],
+ },
+ },
+ "ResourceId": {
+ "Ref": "APIApisystemcontextssystemContextId9D6F9E56",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApisystemcontextssystemContextIdOPTIONS96E8D02C": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ApiKeyRequired": false,
+ "AuthorizationType": "NONE",
+ "HttpMethod": "OPTIONS",
+ "Integration": {
+ "IntegrationResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'",
+ "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'",
+ "method.response.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "RequestTemplates": {
+ "application/json": "{ statusCode: 200 }",
+ },
+ "Type": "MOCK",
+ },
+ "MethodResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": true,
+ "method.response.header.Access-Control-Allow-Methods": true,
+ "method.response.header.Access-Control-Allow-Origin": true,
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "ResourceId": {
+ "Ref": "APIApisystemcontextssystemContextId9D6F9E56",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApisystemcontextssystemContextIdtitleD469F521": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ParentId": {
+ "Ref": "APIApisystemcontextssystemContextId9D6F9E56",
+ },
+ "PathPart": "title",
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Resource",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApisystemcontextssystemContextIdtitleOPTIONS069062F2": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ApiKeyRequired": false,
+ "AuthorizationType": "NONE",
+ "HttpMethod": "OPTIONS",
+ "Integration": {
+ "IntegrationResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'",
+ "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'",
+ "method.response.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "RequestTemplates": {
+ "application/json": "{ statusCode: 200 }",
+ },
+ "Type": "MOCK",
+ },
+ "MethodResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": true,
+ "method.response.header.Access-Control-Allow-Methods": true,
+ "method.response.header.Access-Control-Allow-Origin": true,
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "ResourceId": {
+ "Ref": "APIApisystemcontextssystemContextIdtitleD469F521",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApisystemcontextssystemContextIdtitlePUT66B31C9A": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AuthorizationType": "COGNITO_USER_POOLS",
+ "AuthorizerId": {
+ "Ref": "APIAuthorizer9DCC037B",
+ },
+ "HttpMethod": "PUT",
+ "Integration": {
+ "IntegrationHttpMethod": "POST",
+ "Type": "AWS_PROXY",
+ "Uri": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":apigateway:us-east-1:lambda:path/2015-03-31/functions/",
+ {
+ "Fn::GetAtt": [
+ "APIUpdateSystemContextTitle5806E033",
+ "Arn",
+ ],
+ },
+ "/invocations",
+ ],
+ ],
+ },
+ },
+ "ResourceId": {
+ "Ref": "APIApisystemcontextssystemContextIdtitleD469F521",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApisystemcontextssystemContextIdtitlePUTApiPermissionGenerativeAiUseCasesStackAPIApi89219E17PUTsystemcontextssystemContextIdtitle58A35261": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APIUpdateSystemContextTitle5806E033",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/",
+ {
+ "Ref": "APIApiDeploymentStageapiCD55D117",
+ },
+ "/PUT/systemcontexts/*/title",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApisystemcontextssystemContextIdtitlePUTApiPermissionTestGenerativeAiUseCasesStackAPIApi89219E17PUTsystemcontextssystemContextIdtitleE4838F65": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APIUpdateSystemContextTitle5806E033",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/test-invoke-stage/PUT/systemcontexts/*/title",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApitokenusageD4EF3867": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ParentId": {
+ "Fn::GetAtt": [
+ "APIApiFFA96F67",
+ "RootResourceId",
+ ],
+ },
+ "PathPart": "token-usage",
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Resource",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApitokenusageGETApiPermissionGenerativeAiUseCasesStackAPIApi89219E17GETtokenusageB8578FCA": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APIGetTokenUsageE1C5C872",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/",
+ {
+ "Ref": "APIApiDeploymentStageapiCD55D117",
+ },
+ "/GET/token-usage",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApitokenusageGETApiPermissionTestGenerativeAiUseCasesStackAPIApi89219E17GETtokenusage69F1E4E9": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APIGetTokenUsageE1C5C872",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/test-invoke-stage/GET/token-usage",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApitokenusageGETF4970022": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AuthorizationType": "COGNITO_USER_POOLS",
+ "AuthorizerId": {
+ "Ref": "APIAuthorizer9DCC037B",
+ },
+ "HttpMethod": "GET",
+ "Integration": {
+ "IntegrationHttpMethod": "POST",
+ "Type": "AWS_PROXY",
+ "Uri": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":apigateway:us-east-1:lambda:path/2015-03-31/functions/",
+ {
+ "Fn::GetAtt": [
+ "APIGetTokenUsageE1C5C872",
+ "Arn",
+ ],
+ },
+ "/invocations",
+ ],
+ ],
+ },
+ },
+ "ResourceId": {
+ "Ref": "APIApitokenusageD4EF3867",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApitokenusageOPTIONS59BB9297": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ApiKeyRequired": false,
+ "AuthorizationType": "NONE",
+ "HttpMethod": "OPTIONS",
+ "Integration": {
+ "IntegrationResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'",
+ "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'",
+ "method.response.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "RequestTemplates": {
+ "application/json": "{ statusCode: 200 }",
+ },
+ "Type": "MOCK",
+ },
+ "MethodResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": true,
+ "method.response.header.Access-Control-Allow-Methods": true,
+ "method.response.header.Access-Control-Allow-Origin": true,
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "ResourceId": {
+ "Ref": "APIApitokenusageD4EF3867",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApitranscribe874542A9": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ParentId": {
+ "Fn::GetAtt": [
+ "APIApiFFA96F67",
+ "RootResourceId",
+ ],
+ },
+ "PathPart": "transcribe",
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Resource",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApitranscribeOPTIONS5030955A": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ApiKeyRequired": false,
+ "AuthorizationType": "NONE",
+ "HttpMethod": "OPTIONS",
+ "Integration": {
+ "IntegrationResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'",
+ "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'",
+ "method.response.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "RequestTemplates": {
+ "application/json": "{ statusCode: 200 }",
+ },
+ "Type": "MOCK",
+ },
+ "MethodResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": true,
+ "method.response.header.Access-Control-Allow-Methods": true,
+ "method.response.header.Access-Control-Allow-Origin": true,
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "ResourceId": {
+ "Ref": "APIApitranscribe874542A9",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApitranscriberesult3CDED854": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ParentId": {
+ "Ref": "APIApitranscribe874542A9",
+ },
+ "PathPart": "result",
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Resource",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApitranscriberesultOPTIONS36EC9D59": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ApiKeyRequired": false,
+ "AuthorizationType": "NONE",
+ "HttpMethod": "OPTIONS",
+ "Integration": {
+ "IntegrationResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'",
+ "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'",
+ "method.response.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "RequestTemplates": {
+ "application/json": "{ statusCode: 200 }",
+ },
+ "Type": "MOCK",
+ },
+ "MethodResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": true,
+ "method.response.header.Access-Control-Allow-Methods": true,
+ "method.response.header.Access-Control-Allow-Origin": true,
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "ResourceId": {
+ "Ref": "APIApitranscriberesult3CDED854",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApitranscriberesultjobName32470D3A": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ParentId": {
+ "Ref": "APIApitranscriberesult3CDED854",
+ },
+ "PathPart": "{jobName}",
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Resource",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApitranscriberesultjobNameGET5C0FF2AB": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AuthorizationType": "COGNITO_USER_POOLS",
+ "AuthorizerId": {
+ "Ref": "TranscribeAuthorizerAD1EA74B",
+ },
+ "HttpMethod": "GET",
+ "Integration": {
+ "IntegrationHttpMethod": "POST",
+ "Type": "AWS_PROXY",
+ "Uri": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":apigateway:us-east-1:lambda:path/2015-03-31/functions/",
+ {
+ "Fn::GetAtt": [
+ "TranscribeGetTranscription3C736BFC",
+ "Arn",
+ ],
+ },
+ "/invocations",
+ ],
+ ],
+ },
+ },
+ "ResourceId": {
+ "Ref": "APIApitranscriberesultjobName32470D3A",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApitranscriberesultjobNameGETApiPermissionGenerativeAiUseCasesStackAPIApi89219E17GETtranscriberesultjobName373CF04F": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "TranscribeGetTranscription3C736BFC",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/",
+ {
+ "Ref": "APIApiDeploymentStageapiCD55D117",
+ },
+ "/GET/transcribe/result/*",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApitranscriberesultjobNameGETApiPermissionTestGenerativeAiUseCasesStackAPIApi89219E17GETtranscriberesultjobName7DED403C": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "TranscribeGetTranscription3C736BFC",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/test-invoke-stage/GET/transcribe/result/*",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApitranscriberesultjobNameOPTIONS7E77FDC0": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ApiKeyRequired": false,
+ "AuthorizationType": "NONE",
+ "HttpMethod": "OPTIONS",
+ "Integration": {
+ "IntegrationResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'",
+ "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'",
+ "method.response.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "RequestTemplates": {
+ "application/json": "{ statusCode: 200 }",
+ },
+ "Type": "MOCK",
+ },
+ "MethodResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": true,
+ "method.response.header.Access-Control-Allow-Methods": true,
+ "method.response.header.Access-Control-Allow-Origin": true,
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "ResourceId": {
+ "Ref": "APIApitranscriberesultjobName32470D3A",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApitranscribestartB105DFD0": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ParentId": {
+ "Ref": "APIApitranscribe874542A9",
+ },
+ "PathPart": "start",
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Resource",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApitranscribestartOPTIONSFA1C7723": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ApiKeyRequired": false,
+ "AuthorizationType": "NONE",
+ "HttpMethod": "OPTIONS",
+ "Integration": {
+ "IntegrationResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'",
+ "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'",
+ "method.response.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "RequestTemplates": {
+ "application/json": "{ statusCode: 200 }",
+ },
+ "Type": "MOCK",
+ },
+ "MethodResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": true,
+ "method.response.header.Access-Control-Allow-Methods": true,
+ "method.response.header.Access-Control-Allow-Origin": true,
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "ResourceId": {
+ "Ref": "APIApitranscribestartB105DFD0",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApitranscribestartPOSTApiPermissionGenerativeAiUseCasesStackAPIApi89219E17POSTtranscribestart805B4A00": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "TranscribeStartTranscription7C6A7A96",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/",
+ {
+ "Ref": "APIApiDeploymentStageapiCD55D117",
+ },
+ "/POST/transcribe/start",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApitranscribestartPOSTApiPermissionTestGenerativeAiUseCasesStackAPIApi89219E17POSTtranscribestartB4BBCC0F": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "TranscribeStartTranscription7C6A7A96",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/test-invoke-stage/POST/transcribe/start",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApitranscribestartPOSTC6AF1C94": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AuthorizationType": "COGNITO_USER_POOLS",
+ "AuthorizerId": {
+ "Ref": "TranscribeAuthorizerAD1EA74B",
+ },
+ "HttpMethod": "POST",
+ "Integration": {
+ "IntegrationHttpMethod": "POST",
+ "Type": "AWS_PROXY",
+ "Uri": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":apigateway:us-east-1:lambda:path/2015-03-31/functions/",
+ {
+ "Fn::GetAtt": [
+ "TranscribeStartTranscription7C6A7A96",
+ "Arn",
+ ],
+ },
+ "/invocations",
+ ],
+ ],
+ },
+ },
+ "ResourceId": {
+ "Ref": "APIApitranscribestartB105DFD0",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApitranscribeurlAA281183": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ParentId": {
+ "Ref": "APIApitranscribe874542A9",
+ },
+ "PathPart": "url",
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Resource",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApitranscribeurlOPTIONS6B7DF1F0": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ApiKeyRequired": false,
+ "AuthorizationType": "NONE",
+ "HttpMethod": "OPTIONS",
+ "Integration": {
+ "IntegrationResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'",
+ "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'",
+ "method.response.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "RequestTemplates": {
+ "application/json": "{ statusCode: 200 }",
+ },
+ "Type": "MOCK",
+ },
+ "MethodResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": true,
+ "method.response.header.Access-Control-Allow-Methods": true,
+ "method.response.header.Access-Control-Allow-Origin": true,
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "ResourceId": {
+ "Ref": "APIApitranscribeurlAA281183",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApitranscribeurlPOSTApiPermissionGenerativeAiUseCasesStackAPIApi89219E17POSTtranscribeurl0730085A": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "TranscribeGetSignedUrlB23CCF77",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/",
+ {
+ "Ref": "APIApiDeploymentStageapiCD55D117",
+ },
+ "/POST/transcribe/url",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApitranscribeurlPOSTApiPermissionTestGenerativeAiUseCasesStackAPIApi89219E17POSTtranscribeurl5D712187": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "TranscribeGetSignedUrlB23CCF77",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/test-invoke-stage/POST/transcribe/url",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApitranscribeurlPOSTFBEEA27D": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AuthorizationType": "COGNITO_USER_POOLS",
+ "AuthorizerId": {
+ "Ref": "TranscribeAuthorizerAD1EA74B",
+ },
+ "HttpMethod": "POST",
+ "Integration": {
+ "IntegrationHttpMethod": "POST",
+ "Type": "AWS_PROXY",
+ "Uri": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":apigateway:us-east-1:lambda:path/2015-03-31/functions/",
+ {
+ "Fn::GetAtt": [
+ "TranscribeGetSignedUrlB23CCF77",
+ "Arn",
+ ],
+ },
+ "/invocations",
+ ],
+ ],
+ },
+ },
+ "ResourceId": {
+ "Ref": "APIApitranscribeurlAA281183",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiusecases8321EF30": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ParentId": {
+ "Fn::GetAtt": [
+ "APIApiFFA96F67",
+ "RootResourceId",
+ ],
+ },
+ "PathPart": "usecases",
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Resource",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiusecasesGET38D0EBF4": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AuthorizationType": "COGNITO_USER_POOLS",
+ "AuthorizerId": {
+ "Ref": "UseCaseBuilderAuthorizer8C07733E",
+ },
+ "HttpMethod": "GET",
+ "Integration": {
+ "IntegrationHttpMethod": "POST",
+ "Type": "AWS_PROXY",
+ "Uri": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":apigateway:us-east-1:lambda:path/2015-03-31/functions/",
+ {
+ "Fn::GetAtt": [
+ "UseCaseBuilderListUseCases151E3C64",
+ "Arn",
+ ],
+ },
+ "/invocations",
+ ],
+ ],
+ },
+ },
+ "ResourceId": {
+ "Ref": "APIApiusecases8321EF30",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiusecasesGETApiPermissionGenerativeAiUseCasesStackAPIApi89219E17GETusecasesF8C58050": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "UseCaseBuilderListUseCases151E3C64",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/",
+ {
+ "Ref": "APIApiDeploymentStageapiCD55D117",
+ },
+ "/GET/usecases",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiusecasesGETApiPermissionTestGenerativeAiUseCasesStackAPIApi89219E17GETusecases14666936": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "UseCaseBuilderListUseCases151E3C64",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/test-invoke-stage/GET/usecases",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiusecasesOPTIONSCF3D8287": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ApiKeyRequired": false,
+ "AuthorizationType": "NONE",
+ "HttpMethod": "OPTIONS",
+ "Integration": {
+ "IntegrationResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'",
+ "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'",
+ "method.response.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "RequestTemplates": {
+ "application/json": "{ statusCode: 200 }",
+ },
+ "Type": "MOCK",
+ },
+ "MethodResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": true,
+ "method.response.header.Access-Control-Allow-Methods": true,
+ "method.response.header.Access-Control-Allow-Origin": true,
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "ResourceId": {
+ "Ref": "APIApiusecases8321EF30",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiusecasesPOST3244C369": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AuthorizationType": "COGNITO_USER_POOLS",
+ "AuthorizerId": {
+ "Ref": "UseCaseBuilderAuthorizer8C07733E",
+ },
+ "HttpMethod": "POST",
+ "Integration": {
+ "IntegrationHttpMethod": "POST",
+ "Type": "AWS_PROXY",
+ "Uri": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":apigateway:us-east-1:lambda:path/2015-03-31/functions/",
+ {
+ "Fn::GetAtt": [
+ "UseCaseBuilderCreateUseCase63174982",
+ "Arn",
+ ],
+ },
+ "/invocations",
+ ],
+ ],
+ },
+ },
+ "ResourceId": {
+ "Ref": "APIApiusecases8321EF30",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiusecasesPOSTApiPermissionGenerativeAiUseCasesStackAPIApi89219E17POSTusecasesE4BDB3E8": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "UseCaseBuilderCreateUseCase63174982",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/",
+ {
+ "Ref": "APIApiDeploymentStageapiCD55D117",
+ },
+ "/POST/usecases",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiusecasesPOSTApiPermissionTestGenerativeAiUseCasesStackAPIApi89219E17POSTusecasesC5D90CEC": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "UseCaseBuilderCreateUseCase63174982",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/test-invoke-stage/POST/usecases",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiusecasesfavorite18DA851B": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ParentId": {
+ "Ref": "APIApiusecases8321EF30",
+ },
+ "PathPart": "favorite",
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Resource",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiusecasesfavoriteGET8A304871": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AuthorizationType": "COGNITO_USER_POOLS",
+ "AuthorizerId": {
+ "Ref": "UseCaseBuilderAuthorizer8C07733E",
+ },
+ "HttpMethod": "GET",
+ "Integration": {
+ "IntegrationHttpMethod": "POST",
+ "Type": "AWS_PROXY",
+ "Uri": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":apigateway:us-east-1:lambda:path/2015-03-31/functions/",
+ {
+ "Fn::GetAtt": [
+ "UseCaseBuilderListFavoriteUseCasesC4AF9A45",
+ "Arn",
+ ],
+ },
+ "/invocations",
+ ],
+ ],
+ },
+ },
+ "ResourceId": {
+ "Ref": "APIApiusecasesfavorite18DA851B",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiusecasesfavoriteGETApiPermissionGenerativeAiUseCasesStackAPIApi89219E17GETusecasesfavoriteC6AE1271": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "UseCaseBuilderListFavoriteUseCasesC4AF9A45",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/",
+ {
+ "Ref": "APIApiDeploymentStageapiCD55D117",
+ },
+ "/GET/usecases/favorite",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiusecasesfavoriteGETApiPermissionTestGenerativeAiUseCasesStackAPIApi89219E17GETusecasesfavoriteA4037737": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "UseCaseBuilderListFavoriteUseCasesC4AF9A45",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/test-invoke-stage/GET/usecases/favorite",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiusecasesfavoriteOPTIONSD85A54B6": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ApiKeyRequired": false,
+ "AuthorizationType": "NONE",
+ "HttpMethod": "OPTIONS",
+ "Integration": {
+ "IntegrationResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'",
+ "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'",
+ "method.response.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "RequestTemplates": {
+ "application/json": "{ statusCode: 200 }",
+ },
+ "Type": "MOCK",
+ },
+ "MethodResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": true,
+ "method.response.header.Access-Control-Allow-Methods": true,
+ "method.response.header.Access-Control-Allow-Origin": true,
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "ResourceId": {
+ "Ref": "APIApiusecasesfavorite18DA851B",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiusecasesrecent31965B7B": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ParentId": {
+ "Ref": "APIApiusecases8321EF30",
+ },
+ "PathPart": "recent",
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Resource",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiusecasesrecentGETApiPermissionGenerativeAiUseCasesStackAPIApi89219E17GETusecasesrecent7027584C": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "UseCaseBuilderListRecentlyUsedUseCases8560B5B5",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/",
+ {
+ "Ref": "APIApiDeploymentStageapiCD55D117",
+ },
+ "/GET/usecases/recent",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiusecasesrecentGETApiPermissionTestGenerativeAiUseCasesStackAPIApi89219E17GETusecasesrecent309376FC": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "UseCaseBuilderListRecentlyUsedUseCases8560B5B5",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/test-invoke-stage/GET/usecases/recent",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiusecasesrecentGETCE116566": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AuthorizationType": "COGNITO_USER_POOLS",
+ "AuthorizerId": {
+ "Ref": "UseCaseBuilderAuthorizer8C07733E",
+ },
+ "HttpMethod": "GET",
+ "Integration": {
+ "IntegrationHttpMethod": "POST",
+ "Type": "AWS_PROXY",
+ "Uri": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":apigateway:us-east-1:lambda:path/2015-03-31/functions/",
+ {
+ "Fn::GetAtt": [
+ "UseCaseBuilderListRecentlyUsedUseCases8560B5B5",
+ "Arn",
+ ],
+ },
+ "/invocations",
+ ],
+ ],
+ },
+ },
+ "ResourceId": {
+ "Ref": "APIApiusecasesrecent31965B7B",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiusecasesrecentOPTIONS750FF00D": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ApiKeyRequired": false,
+ "AuthorizationType": "NONE",
+ "HttpMethod": "OPTIONS",
+ "Integration": {
+ "IntegrationResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'",
+ "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'",
+ "method.response.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "RequestTemplates": {
+ "application/json": "{ statusCode: 200 }",
+ },
+ "Type": "MOCK",
+ },
+ "MethodResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": true,
+ "method.response.header.Access-Control-Allow-Methods": true,
+ "method.response.header.Access-Control-Allow-Origin": true,
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "ResourceId": {
+ "Ref": "APIApiusecasesrecent31965B7B",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiusecasesrecentuseCaseId2CF3EF72": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ParentId": {
+ "Ref": "APIApiusecasesrecent31965B7B",
+ },
+ "PathPart": "{useCaseId}",
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Resource",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiusecasesrecentuseCaseIdOPTIONSCE83DFE2": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ApiKeyRequired": false,
+ "AuthorizationType": "NONE",
+ "HttpMethod": "OPTIONS",
+ "Integration": {
+ "IntegrationResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'",
+ "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'",
+ "method.response.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "RequestTemplates": {
+ "application/json": "{ statusCode: 200 }",
+ },
+ "Type": "MOCK",
+ },
+ "MethodResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": true,
+ "method.response.header.Access-Control-Allow-Methods": true,
+ "method.response.header.Access-Control-Allow-Origin": true,
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "ResourceId": {
+ "Ref": "APIApiusecasesrecentuseCaseId2CF3EF72",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiusecasesrecentuseCaseIdPUT1B7638B2": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AuthorizationType": "COGNITO_USER_POOLS",
+ "AuthorizerId": {
+ "Ref": "UseCaseBuilderAuthorizer8C07733E",
+ },
+ "HttpMethod": "PUT",
+ "Integration": {
+ "IntegrationHttpMethod": "POST",
+ "Type": "AWS_PROXY",
+ "Uri": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":apigateway:us-east-1:lambda:path/2015-03-31/functions/",
+ {
+ "Fn::GetAtt": [
+ "UseCaseBuilderUpdateRecentlyUsedUseCase67823255",
+ "Arn",
+ ],
+ },
+ "/invocations",
+ ],
+ ],
+ },
+ },
+ "ResourceId": {
+ "Ref": "APIApiusecasesrecentuseCaseId2CF3EF72",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiusecasesrecentuseCaseIdPUTApiPermissionGenerativeAiUseCasesStackAPIApi89219E17PUTusecasesrecentuseCaseIdB54F2E73": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "UseCaseBuilderUpdateRecentlyUsedUseCase67823255",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/",
+ {
+ "Ref": "APIApiDeploymentStageapiCD55D117",
+ },
+ "/PUT/usecases/recent/*",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiusecasesrecentuseCaseIdPUTApiPermissionTestGenerativeAiUseCasesStackAPIApi89219E17PUTusecasesrecentuseCaseIdFB75AFDF": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "UseCaseBuilderUpdateRecentlyUsedUseCase67823255",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/test-invoke-stage/PUT/usecases/recent/*",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiusecasesuseCaseId0C4C07B7": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ParentId": {
+ "Ref": "APIApiusecases8321EF30",
+ },
+ "PathPart": "{useCaseId}",
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Resource",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiusecasesuseCaseIdDELETE1F3AB356": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AuthorizationType": "COGNITO_USER_POOLS",
+ "AuthorizerId": {
+ "Ref": "UseCaseBuilderAuthorizer8C07733E",
+ },
+ "HttpMethod": "DELETE",
+ "Integration": {
+ "IntegrationHttpMethod": "POST",
+ "Type": "AWS_PROXY",
+ "Uri": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":apigateway:us-east-1:lambda:path/2015-03-31/functions/",
+ {
+ "Fn::GetAtt": [
+ "UseCaseBuilderDeleteUseCaseA7529A4C",
+ "Arn",
+ ],
+ },
+ "/invocations",
+ ],
+ ],
+ },
+ },
+ "ResourceId": {
+ "Ref": "APIApiusecasesuseCaseId0C4C07B7",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiusecasesuseCaseIdDELETEApiPermissionGenerativeAiUseCasesStackAPIApi89219E17DELETEusecasesuseCaseIdF5289441": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "UseCaseBuilderDeleteUseCaseA7529A4C",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/",
+ {
+ "Ref": "APIApiDeploymentStageapiCD55D117",
+ },
+ "/DELETE/usecases/*",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiusecasesuseCaseIdDELETEApiPermissionTestGenerativeAiUseCasesStackAPIApi89219E17DELETEusecasesuseCaseId6F61629B": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "UseCaseBuilderDeleteUseCaseA7529A4C",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/test-invoke-stage/DELETE/usecases/*",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiusecasesuseCaseIdGETApiPermissionGenerativeAiUseCasesStackAPIApi89219E17GETusecasesuseCaseIdE0A0D134": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "UseCaseBuilderGetUseCaseAB744D97",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/",
+ {
+ "Ref": "APIApiDeploymentStageapiCD55D117",
+ },
+ "/GET/usecases/*",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiusecasesuseCaseIdGETApiPermissionTestGenerativeAiUseCasesStackAPIApi89219E17GETusecasesuseCaseId01DAE5E0": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "UseCaseBuilderGetUseCaseAB744D97",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/test-invoke-stage/GET/usecases/*",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiusecasesuseCaseIdGETC2534B44": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AuthorizationType": "COGNITO_USER_POOLS",
+ "AuthorizerId": {
+ "Ref": "UseCaseBuilderAuthorizer8C07733E",
+ },
+ "HttpMethod": "GET",
+ "Integration": {
+ "IntegrationHttpMethod": "POST",
+ "Type": "AWS_PROXY",
+ "Uri": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":apigateway:us-east-1:lambda:path/2015-03-31/functions/",
+ {
+ "Fn::GetAtt": [
+ "UseCaseBuilderGetUseCaseAB744D97",
+ "Arn",
+ ],
+ },
+ "/invocations",
+ ],
+ ],
+ },
+ },
+ "ResourceId": {
+ "Ref": "APIApiusecasesuseCaseId0C4C07B7",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiusecasesuseCaseIdOPTIONSED014E42": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ApiKeyRequired": false,
+ "AuthorizationType": "NONE",
+ "HttpMethod": "OPTIONS",
+ "Integration": {
+ "IntegrationResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'",
+ "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'",
+ "method.response.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "RequestTemplates": {
+ "application/json": "{ statusCode: 200 }",
+ },
+ "Type": "MOCK",
+ },
+ "MethodResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": true,
+ "method.response.header.Access-Control-Allow-Methods": true,
+ "method.response.header.Access-Control-Allow-Origin": true,
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "ResourceId": {
+ "Ref": "APIApiusecasesuseCaseId0C4C07B7",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiusecasesuseCaseIdPUTA7E744AE": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AuthorizationType": "COGNITO_USER_POOLS",
+ "AuthorizerId": {
+ "Ref": "UseCaseBuilderAuthorizer8C07733E",
+ },
+ "HttpMethod": "PUT",
+ "Integration": {
+ "IntegrationHttpMethod": "POST",
+ "Type": "AWS_PROXY",
+ "Uri": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":apigateway:us-east-1:lambda:path/2015-03-31/functions/",
+ {
+ "Fn::GetAtt": [
+ "UseCaseBuilderUpdateUseCaseFF8D7827",
+ "Arn",
+ ],
+ },
+ "/invocations",
+ ],
+ ],
+ },
+ },
+ "ResourceId": {
+ "Ref": "APIApiusecasesuseCaseId0C4C07B7",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiusecasesuseCaseIdPUTApiPermissionGenerativeAiUseCasesStackAPIApi89219E17PUTusecasesuseCaseId6882E5B9": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "UseCaseBuilderUpdateUseCaseFF8D7827",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/",
+ {
+ "Ref": "APIApiDeploymentStageapiCD55D117",
+ },
+ "/PUT/usecases/*",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiusecasesuseCaseIdPUTApiPermissionTestGenerativeAiUseCasesStackAPIApi89219E17PUTusecasesuseCaseIdEB0CB97B": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "UseCaseBuilderUpdateUseCaseFF8D7827",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/test-invoke-stage/PUT/usecases/*",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiusecasesuseCaseIdfavorite90DE0E70": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ParentId": {
+ "Ref": "APIApiusecasesuseCaseId0C4C07B7",
+ },
+ "PathPart": "favorite",
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Resource",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiusecasesuseCaseIdfavoriteOPTIONS0F973203": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ApiKeyRequired": false,
+ "AuthorizationType": "NONE",
+ "HttpMethod": "OPTIONS",
+ "Integration": {
+ "IntegrationResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'",
+ "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'",
+ "method.response.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "RequestTemplates": {
+ "application/json": "{ statusCode: 200 }",
+ },
+ "Type": "MOCK",
+ },
+ "MethodResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": true,
+ "method.response.header.Access-Control-Allow-Methods": true,
+ "method.response.header.Access-Control-Allow-Origin": true,
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "ResourceId": {
+ "Ref": "APIApiusecasesuseCaseIdfavorite90DE0E70",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiusecasesuseCaseIdfavoritePUT21685F6D": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AuthorizationType": "COGNITO_USER_POOLS",
+ "AuthorizerId": {
+ "Ref": "UseCaseBuilderAuthorizer8C07733E",
+ },
+ "HttpMethod": "PUT",
+ "Integration": {
+ "IntegrationHttpMethod": "POST",
+ "Type": "AWS_PROXY",
+ "Uri": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":apigateway:us-east-1:lambda:path/2015-03-31/functions/",
+ {
+ "Fn::GetAtt": [
+ "UseCaseBuilderToggleFavoriteA16A6638",
+ "Arn",
+ ],
+ },
+ "/invocations",
+ ],
+ ],
+ },
+ },
+ "ResourceId": {
+ "Ref": "APIApiusecasesuseCaseIdfavorite90DE0E70",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiusecasesuseCaseIdfavoritePUTApiPermissionGenerativeAiUseCasesStackAPIApi89219E17PUTusecasesuseCaseIdfavoriteC25AF779": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "UseCaseBuilderToggleFavoriteA16A6638",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/",
+ {
+ "Ref": "APIApiDeploymentStageapiCD55D117",
+ },
+ "/PUT/usecases/*/favorite",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiusecasesuseCaseIdfavoritePUTApiPermissionTestGenerativeAiUseCasesStackAPIApi89219E17PUTusecasesuseCaseIdfavoriteB500B92B": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "UseCaseBuilderToggleFavoriteA16A6638",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/test-invoke-stage/PUT/usecases/*/favorite",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiusecasesuseCaseIdshared2A60752B": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ParentId": {
+ "Ref": "APIApiusecasesuseCaseId0C4C07B7",
+ },
+ "PathPart": "shared",
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Resource",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiusecasesuseCaseIdsharedOPTIONSAB2FF611": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ApiKeyRequired": false,
+ "AuthorizationType": "NONE",
+ "HttpMethod": "OPTIONS",
+ "Integration": {
+ "IntegrationResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'",
+ "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'",
+ "method.response.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "RequestTemplates": {
+ "application/json": "{ statusCode: 200 }",
+ },
+ "Type": "MOCK",
+ },
+ "MethodResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": true,
+ "method.response.header.Access-Control-Allow-Methods": true,
+ "method.response.header.Access-Control-Allow-Origin": true,
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "ResourceId": {
+ "Ref": "APIApiusecasesuseCaseIdshared2A60752B",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiusecasesuseCaseIdsharedPUTApiPermissionGenerativeAiUseCasesStackAPIApi89219E17PUTusecasesuseCaseIdshared2575AD5D": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "UseCaseBuilderToggleSharedB07A30CD",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/",
+ {
+ "Ref": "APIApiDeploymentStageapiCD55D117",
+ },
+ "/PUT/usecases/*/shared",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiusecasesuseCaseIdsharedPUTApiPermissionTestGenerativeAiUseCasesStackAPIApi89219E17PUTusecasesuseCaseIdsharedEA8D2A41": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "UseCaseBuilderToggleSharedB07A30CD",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/test-invoke-stage/PUT/usecases/*/shared",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiusecasesuseCaseIdsharedPUTDF4FDAF2": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AuthorizationType": "COGNITO_USER_POOLS",
+ "AuthorizerId": {
+ "Ref": "UseCaseBuilderAuthorizer8C07733E",
+ },
+ "HttpMethod": "PUT",
+ "Integration": {
+ "IntegrationHttpMethod": "POST",
+ "Type": "AWS_PROXY",
+ "Uri": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":apigateway:us-east-1:lambda:path/2015-03-31/functions/",
+ {
+ "Fn::GetAtt": [
+ "UseCaseBuilderToggleSharedB07A30CD",
+ "Arn",
+ ],
+ },
+ "/invocations",
+ ],
+ ],
+ },
+ },
+ "ResourceId": {
+ "Ref": "APIApiusecasesuseCaseIdshared2A60752B",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApivideoAEC3C4D1": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ParentId": {
+ "Fn::GetAtt": [
+ "APIApiFFA96F67",
+ "RootResourceId",
+ ],
+ },
+ "PathPart": "video",
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Resource",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApivideoOPTIONS20C58EF2": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ApiKeyRequired": false,
+ "AuthorizationType": "NONE",
+ "HttpMethod": "OPTIONS",
+ "Integration": {
+ "IntegrationResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'",
+ "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'",
+ "method.response.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "RequestTemplates": {
+ "application/json": "{ statusCode: 200 }",
+ },
+ "Type": "MOCK",
+ },
+ "MethodResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": true,
+ "method.response.header.Access-Control-Allow-Methods": true,
+ "method.response.header.Access-Control-Allow-Origin": true,
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "ResourceId": {
+ "Ref": "APIApivideoAEC3C4D1",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApivideogenerateCBF56796": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ParentId": {
+ "Ref": "APIApivideoAEC3C4D1",
+ },
+ "PathPart": "generate",
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Resource",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApivideogenerateGETApiPermissionGenerativeAiUseCasesStackAPIApi89219E17GETvideogenerate1240836A": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APIListVideoJobsBF828ABB",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/",
+ {
+ "Ref": "APIApiDeploymentStageapiCD55D117",
+ },
+ "/GET/video/generate",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApivideogenerateGETApiPermissionTestGenerativeAiUseCasesStackAPIApi89219E17GETvideogenerate761C5A6E": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APIListVideoJobsBF828ABB",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/test-invoke-stage/GET/video/generate",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApivideogenerateGETC779E422": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AuthorizationType": "COGNITO_USER_POOLS",
+ "AuthorizerId": {
+ "Ref": "APIAuthorizer9DCC037B",
+ },
+ "HttpMethod": "GET",
+ "Integration": {
+ "IntegrationHttpMethod": "POST",
+ "Type": "AWS_PROXY",
+ "Uri": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":apigateway:us-east-1:lambda:path/2015-03-31/functions/",
+ {
+ "Fn::GetAtt": [
+ "APIListVideoJobsBF828ABB",
+ "Arn",
+ ],
+ },
+ "/invocations",
+ ],
+ ],
+ },
+ },
+ "ResourceId": {
+ "Ref": "APIApivideogenerateCBF56796",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApivideogenerateOPTIONS14AE6956": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ApiKeyRequired": false,
+ "AuthorizationType": "NONE",
+ "HttpMethod": "OPTIONS",
+ "Integration": {
+ "IntegrationResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'",
+ "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'",
+ "method.response.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "RequestTemplates": {
+ "application/json": "{ statusCode: 200 }",
+ },
+ "Type": "MOCK",
+ },
+ "MethodResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": true,
+ "method.response.header.Access-Control-Allow-Methods": true,
+ "method.response.header.Access-Control-Allow-Origin": true,
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "ResourceId": {
+ "Ref": "APIApivideogenerateCBF56796",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApivideogeneratePOSTACA060AA": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AuthorizationType": "COGNITO_USER_POOLS",
+ "AuthorizerId": {
+ "Ref": "APIAuthorizer9DCC037B",
+ },
+ "HttpMethod": "POST",
+ "Integration": {
+ "IntegrationHttpMethod": "POST",
+ "Type": "AWS_PROXY",
+ "Uri": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":apigateway:us-east-1:lambda:path/2015-03-31/functions/",
+ {
+ "Fn::GetAtt": [
+ "APIGenerateVideo311A6D70",
+ "Arn",
+ ],
+ },
+ "/invocations",
+ ],
+ ],
+ },
+ },
+ "ResourceId": {
+ "Ref": "APIApivideogenerateCBF56796",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApivideogeneratePOSTApiPermissionGenerativeAiUseCasesStackAPIApi89219E17POSTvideogenerate4636D5B4": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APIGenerateVideo311A6D70",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/",
+ {
+ "Ref": "APIApiDeploymentStageapiCD55D117",
+ },
+ "/POST/video/generate",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApivideogeneratePOSTApiPermissionTestGenerativeAiUseCasesStackAPIApi89219E17POSTvideogenerateCA4ED193": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APIGenerateVideo311A6D70",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/test-invoke-stage/POST/video/generate",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApivideogeneratecreatedDate1AAB9D62": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ParentId": {
+ "Ref": "APIApivideogenerateCBF56796",
+ },
+ "PathPart": "{createdDate}",
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Resource",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApivideogeneratecreatedDateDELETE0F2B03A2": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AuthorizationType": "COGNITO_USER_POOLS",
+ "AuthorizerId": {
+ "Ref": "APIAuthorizer9DCC037B",
+ },
+ "HttpMethod": "DELETE",
+ "Integration": {
+ "IntegrationHttpMethod": "POST",
+ "Type": "AWS_PROXY",
+ "Uri": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":apigateway:us-east-1:lambda:path/2015-03-31/functions/",
+ {
+ "Fn::GetAtt": [
+ "APIDeleteVideoJobD99C15C2",
+ "Arn",
+ ],
+ },
+ "/invocations",
+ ],
+ ],
+ },
+ },
+ "ResourceId": {
+ "Ref": "APIApivideogeneratecreatedDate1AAB9D62",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApivideogeneratecreatedDateDELETEApiPermissionGenerativeAiUseCasesStackAPIApi89219E17DELETEvideogeneratecreatedDate292B42E6": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APIDeleteVideoJobD99C15C2",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/",
+ {
+ "Ref": "APIApiDeploymentStageapiCD55D117",
+ },
+ "/DELETE/video/generate/*",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApivideogeneratecreatedDateDELETEApiPermissionTestGenerativeAiUseCasesStackAPIApi89219E17DELETEvideogeneratecreatedDateACA94630": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APIDeleteVideoJobD99C15C2",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/test-invoke-stage/DELETE/video/generate/*",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApivideogeneratecreatedDateOPTIONS9EB2B1CE": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ApiKeyRequired": false,
+ "AuthorizationType": "NONE",
+ "HttpMethod": "OPTIONS",
+ "Integration": {
+ "IntegrationResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'",
+ "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'",
+ "method.response.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "RequestTemplates": {
+ "application/json": "{ statusCode: 200 }",
+ },
+ "Type": "MOCK",
+ },
+ "MethodResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": true,
+ "method.response.header.Access-Control-Allow-Methods": true,
+ "method.response.header.Access-Control-Allow-Origin": true,
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "ResourceId": {
+ "Ref": "APIApivideogeneratecreatedDate1AAB9D62",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiwebtext0828B9D5": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ParentId": {
+ "Fn::GetAtt": [
+ "APIApiFFA96F67",
+ "RootResourceId",
+ ],
+ },
+ "PathPart": "web-text",
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Resource",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiwebtextGETApiPermissionGenerativeAiUseCasesStackAPIApi89219E17GETwebtext02F70E92": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APIGetWebText363F573D",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/",
+ {
+ "Ref": "APIApiDeploymentStageapiCD55D117",
+ },
+ "/GET/web-text",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiwebtextGETApiPermissionTestGenerativeAiUseCasesStackAPIApi89219E17GETwebtext850757AA": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "APIGetWebText363F573D",
+ "Arn",
+ ],
+ },
+ "Principal": "apigateway.amazonaws.com",
+ "SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":execute-api:us-east-1:123456890123:",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/test-invoke-stage/GET/web-text",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Permission",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiwebtextGETB44776EB": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AuthorizationType": "COGNITO_USER_POOLS",
+ "AuthorizerId": {
+ "Ref": "APIAuthorizer9DCC037B",
+ },
+ "HttpMethod": "GET",
+ "Integration": {
+ "IntegrationHttpMethod": "POST",
+ "Type": "AWS_PROXY",
+ "Uri": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":apigateway:us-east-1:lambda:path/2015-03-31/functions/",
+ {
+ "Fn::GetAtt": [
+ "APIGetWebText363F573D",
+ "Arn",
+ ],
+ },
+ "/invocations",
+ ],
+ ],
+ },
+ },
+ "ResourceId": {
+ "Ref": "APIApiwebtext0828B9D5",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIApiwebtextOPTIONS5EFD2A2D": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ApiKeyRequired": false,
+ "AuthorizationType": "NONE",
+ "HttpMethod": "OPTIONS",
+ "Integration": {
+ "IntegrationResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'",
+ "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET,PUT,POST,DELETE,PATCH,HEAD'",
+ "method.response.header.Access-Control-Allow-Origin": "'*'",
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "RequestTemplates": {
+ "application/json": "{ statusCode: 200 }",
+ },
+ "Type": "MOCK",
+ },
+ "MethodResponses": [
+ {
+ "ResponseParameters": {
+ "method.response.header.Access-Control-Allow-Headers": true,
+ "method.response.header.Access-Control-Allow-Methods": true,
+ "method.response.header.Access-Control-Allow-Origin": true,
+ },
+ "StatusCode": "204",
+ },
+ ],
+ "ResourceId": {
+ "Ref": "APIApiwebtext0828B9D5",
+ },
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ },
+ "Type": "AWS::ApiGateway::Method",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIAuthorizer9DCC037B": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "IdentitySource": "method.request.header.Authorization",
+ "Name": "GenerativeAiUseCasesStackAPIAuthorizer21D53881",
+ "ProviderARNs": [
+ {
+ "Fn::GetAtt": [
+ "AuthUserPool8115E87F",
+ "Arn",
+ ],
+ },
+ ],
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ "Type": "COGNITO_USER_POOLS",
+ },
+ "Type": "AWS::ApiGateway::Authorizer",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APICopyVideoJobB772026B": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "APICopyVideoJobServiceRoleDefaultPolicy1BE7F305",
+ "APICopyVideoJobServiceRoleEB5412FA",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "BUCKET_NAME": {
+ "Ref": "APIFileBucket8FB29855",
+ },
+ "CROSS_ACCOUNT_BEDROCK_ROLE_ARN": "",
+ "IMAGE_GENERATION_MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"stability.stable-diffusion-xl-v1","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfilestabilitystablediffusionxlv1InferenceProfileArn20CB2491",
+ },
+ ""}]",
+ ],
+ ],
+ },
+ "MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"anthropic.claude-3-sonnet-20240229-v1:0","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfileanthropicclaude3sonnet20240229v10InferenceProfileArnB9E9C888",
+ },
+ ""}]",
+ ],
+ ],
+ },
+ "MODEL_REGION": "us-east-1",
+ "TABLE_NAME": {
+ "Ref": "DatabaseTableF104A135",
+ },
+ "VIDEO_BUCKET_REGION_MAP": {
+ "Fn::Join": [
+ "",
+ [
+ "{"us-east-1":"",
+ {
+ "Fn::ImportValue": "VideoTmpBucketStackus-east-1:ExportsOutputRefBucket83908E7781C90AC0",
+ },
+ ""}",
+ ],
+ ],
+ },
+ "VIDEO_GENERATION_MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"amazon.nova-reel-v1:0","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfileamazonnovareelv10InferenceProfileArn5E8F5854",
+ },
+ ""}]",
+ ],
+ ],
+ },
+ },
+ },
+ "Handler": "index.handler",
+ "MemorySize": 512,
+ "Role": {
+ "Fn::GetAtt": [
+ "APICopyVideoJobServiceRoleEB5412FA",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "LambdaSeurityGroup14B5161A",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APICopyVideoJobServiceRoleDefaultPolicy1BE7F305": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "s3:GetObject",
+ "s3:DeleteObject",
+ "s3:ListBucket",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:aws:s3:::",
+ {
+ "Fn::ImportValue": "VideoTmpBucketStackus-east-1:ExportsOutputRefBucket83908E7781C90AC0",
+ },
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:aws:s3:::",
+ {
+ "Fn::ImportValue": "VideoTmpBucketStackus-east-1:ExportsOutputRefBucket83908E7781C90AC0",
+ },
+ "/*",
+ ],
+ ],
+ },
+ ],
+ },
+ {
+ "Action": [
+ "s3:DeleteObject*",
+ "s3:PutObject",
+ "s3:PutObjectLegalHold",
+ "s3:PutObjectRetention",
+ "s3:PutObjectTagging",
+ "s3:PutObjectVersionTagging",
+ "s3:Abort*",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "APIFileBucket8FB29855",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "APIFileBucket8FB29855",
+ "Arn",
+ ],
+ },
+ "/*",
+ ],
+ ],
+ },
+ ],
+ },
+ {
+ "Action": [
+ "dynamodb:BatchWriteItem",
+ "dynamodb:PutItem",
+ "dynamodb:UpdateItem",
+ "dynamodb:DeleteItem",
+ "dynamodb:DescribeTable",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "DatabaseTableF104A135",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "DatabaseTableF104A135",
+ "Arn",
+ ],
+ },
+ "/index/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "APICopyVideoJobServiceRoleDefaultPolicy1BE7F305",
+ "Roles": [
+ {
+ "Ref": "APICopyVideoJobServiceRoleEB5412FA",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APICopyVideoJobServiceRoleEB5412FA": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APICreateChatE07AFAF4": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "APICreateChatServiceRoleDefaultPolicy0072EEC4",
+ "APICreateChatServiceRoleC49F5DA3",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "TABLE_NAME": {
+ "Ref": "DatabaseTableF104A135",
+ },
+ },
+ },
+ "Handler": "index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "APICreateChatServiceRoleC49F5DA3",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "LambdaSeurityGroup14B5161A",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APICreateChatServiceRoleC49F5DA3": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APICreateChatServiceRoleDefaultPolicy0072EEC4": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "dynamodb:BatchWriteItem",
+ "dynamodb:PutItem",
+ "dynamodb:UpdateItem",
+ "dynamodb:DeleteItem",
+ "dynamodb:DescribeTable",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "DatabaseTableF104A135",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "DatabaseTableF104A135",
+ "Arn",
+ ],
+ },
+ "/index/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "APICreateChatServiceRoleDefaultPolicy0072EEC4",
+ "Roles": [
+ {
+ "Ref": "APICreateChatServiceRoleC49F5DA3",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APICreateMessages1C3421C0": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "APICreateMessagesServiceRoleDefaultPolicy6B2A82CC",
+ "APICreateMessagesServiceRole3B693939",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "BUCKET_NAME": {
+ "Ref": "APIFileBucket8FB29855",
+ },
+ "STATS_TABLE_NAME": {
+ "Ref": "DatabaseStatsTable9C709761",
+ },
+ "TABLE_NAME": {
+ "Ref": "DatabaseTableF104A135",
+ },
+ },
+ },
+ "Handler": "index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "APICreateMessagesServiceRole3B693939",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "LambdaSeurityGroup14B5161A",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APICreateMessagesServiceRole3B693939": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APICreateMessagesServiceRoleDefaultPolicy6B2A82CC": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "dynamodb:BatchGetItem",
+ "dynamodb:GetRecords",
+ "dynamodb:GetShardIterator",
+ "dynamodb:Query",
+ "dynamodb:GetItem",
+ "dynamodb:Scan",
+ "dynamodb:ConditionCheckItem",
+ "dynamodb:BatchWriteItem",
+ "dynamodb:PutItem",
+ "dynamodb:UpdateItem",
+ "dynamodb:DeleteItem",
+ "dynamodb:DescribeTable",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "DatabaseTableF104A135",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "DatabaseTableF104A135",
+ "Arn",
+ ],
+ },
+ "/index/*",
+ ],
+ ],
+ },
+ ],
+ },
+ {
+ "Action": [
+ "dynamodb:BatchGetItem",
+ "dynamodb:GetRecords",
+ "dynamodb:GetShardIterator",
+ "dynamodb:Query",
+ "dynamodb:GetItem",
+ "dynamodb:Scan",
+ "dynamodb:ConditionCheckItem",
+ "dynamodb:BatchWriteItem",
+ "dynamodb:PutItem",
+ "dynamodb:UpdateItem",
+ "dynamodb:DeleteItem",
+ "dynamodb:DescribeTable",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "DatabaseStatsTable9C709761",
+ "Arn",
+ ],
+ },
+ {
+ "Ref": "AWS::NoValue",
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "APICreateMessagesServiceRoleDefaultPolicy6B2A82CC",
+ "Roles": [
+ {
+ "Ref": "APICreateMessagesServiceRole3B693939",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APICreateShareId3D7F7B2B": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "APICreateShareIdServiceRoleDefaultPolicy2ECB25CC",
+ "APICreateShareIdServiceRoleB27F0BB3",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "TABLE_NAME": {
+ "Ref": "DatabaseTableF104A135",
+ },
+ },
+ },
+ "Handler": "index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "APICreateShareIdServiceRoleB27F0BB3",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "LambdaSeurityGroup14B5161A",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APICreateShareIdServiceRoleB27F0BB3": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APICreateShareIdServiceRoleDefaultPolicy2ECB25CC": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "dynamodb:BatchGetItem",
+ "dynamodb:GetRecords",
+ "dynamodb:GetShardIterator",
+ "dynamodb:Query",
+ "dynamodb:GetItem",
+ "dynamodb:Scan",
+ "dynamodb:ConditionCheckItem",
+ "dynamodb:BatchWriteItem",
+ "dynamodb:PutItem",
+ "dynamodb:UpdateItem",
+ "dynamodb:DeleteItem",
+ "dynamodb:DescribeTable",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "DatabaseTableF104A135",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "DatabaseTableF104A135",
+ "Arn",
+ ],
+ },
+ "/index/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "APICreateShareIdServiceRoleDefaultPolicy2ECB25CC",
+ "Roles": [
+ {
+ "Ref": "APICreateShareIdServiceRoleB27F0BB3",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APICreateSystemContextsB5DC1BC2": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "APICreateSystemContextsServiceRoleDefaultPolicy14B29479",
+ "APICreateSystemContextsServiceRoleD588AFD4",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "TABLE_NAME": {
+ "Ref": "DatabaseTableF104A135",
+ },
+ },
+ },
+ "Handler": "index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "APICreateSystemContextsServiceRoleD588AFD4",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "LambdaSeurityGroup14B5161A",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APICreateSystemContextsServiceRoleD588AFD4": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APICreateSystemContextsServiceRoleDefaultPolicy14B29479": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "dynamodb:BatchWriteItem",
+ "dynamodb:PutItem",
+ "dynamodb:UpdateItem",
+ "dynamodb:DeleteItem",
+ "dynamodb:DescribeTable",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "DatabaseTableF104A135",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "DatabaseTableF104A135",
+ "Arn",
+ ],
+ },
+ "/index/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "APICreateSystemContextsServiceRoleDefaultPolicy14B29479",
+ "Roles": [
+ {
+ "Ref": "APICreateSystemContextsServiceRoleD588AFD4",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIDeleteChat1517278C": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "APIDeleteChatServiceRoleDefaultPolicy010EC0CA",
+ "APIDeleteChatServiceRole6340C3C0",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "TABLE_NAME": {
+ "Ref": "DatabaseTableF104A135",
+ },
+ },
+ },
+ "Handler": "index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "APIDeleteChatServiceRole6340C3C0",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "LambdaSeurityGroup14B5161A",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIDeleteChatServiceRole6340C3C0": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIDeleteChatServiceRoleDefaultPolicy010EC0CA": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "dynamodb:BatchGetItem",
+ "dynamodb:GetRecords",
+ "dynamodb:GetShardIterator",
+ "dynamodb:Query",
+ "dynamodb:GetItem",
+ "dynamodb:Scan",
+ "dynamodb:ConditionCheckItem",
+ "dynamodb:BatchWriteItem",
+ "dynamodb:PutItem",
+ "dynamodb:UpdateItem",
+ "dynamodb:DeleteItem",
+ "dynamodb:DescribeTable",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "DatabaseTableF104A135",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "DatabaseTableF104A135",
+ "Arn",
+ ],
+ },
+ "/index/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "APIDeleteChatServiceRoleDefaultPolicy010EC0CA",
+ "Roles": [
+ {
+ "Ref": "APIDeleteChatServiceRole6340C3C0",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIDeleteFileFunctionC52312C7": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "APIDeleteFileFunctionServiceRoleDefaultPolicy2347797A",
+ "APIDeleteFileFunctionServiceRoleCEF08B07",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "BUCKET_NAME": {
+ "Ref": "APIFileBucket8FB29855",
+ },
+ },
+ },
+ "Handler": "index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "APIDeleteFileFunctionServiceRoleCEF08B07",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "LambdaSeurityGroup14B5161A",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIDeleteFileFunctionServiceRoleCEF08B07": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIDeleteFileFunctionServiceRoleDefaultPolicy2347797A": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": "s3:DeleteObject*",
+ "Effect": "Allow",
+ "Resource": {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "APIFileBucket8FB29855",
+ "Arn",
+ ],
+ },
+ "/*",
+ ],
+ ],
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "APIDeleteFileFunctionServiceRoleDefaultPolicy2347797A",
+ "Roles": [
+ {
+ "Ref": "APIDeleteFileFunctionServiceRoleCEF08B07",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIDeleteShareIdFE187370": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "APIDeleteShareIdServiceRoleDefaultPolicy7764E7A7",
+ "APIDeleteShareIdServiceRole02E8B695",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "TABLE_NAME": {
+ "Ref": "DatabaseTableF104A135",
+ },
+ },
+ },
+ "Handler": "index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "APIDeleteShareIdServiceRole02E8B695",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "LambdaSeurityGroup14B5161A",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIDeleteShareIdServiceRole02E8B695": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIDeleteShareIdServiceRoleDefaultPolicy7764E7A7": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "dynamodb:BatchGetItem",
+ "dynamodb:GetRecords",
+ "dynamodb:GetShardIterator",
+ "dynamodb:Query",
+ "dynamodb:GetItem",
+ "dynamodb:Scan",
+ "dynamodb:ConditionCheckItem",
+ "dynamodb:BatchWriteItem",
+ "dynamodb:PutItem",
+ "dynamodb:UpdateItem",
+ "dynamodb:DeleteItem",
+ "dynamodb:DescribeTable",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "DatabaseTableF104A135",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "DatabaseTableF104A135",
+ "Arn",
+ ],
+ },
+ "/index/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "APIDeleteShareIdServiceRoleDefaultPolicy7764E7A7",
+ "Roles": [
+ {
+ "Ref": "APIDeleteShareIdServiceRole02E8B695",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIDeleteSystemContexts7B545538": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "APIDeleteSystemContextsServiceRoleDefaultPolicy7DF20D3B",
+ "APIDeleteSystemContextsServiceRole63CAEFD9",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "TABLE_NAME": {
+ "Ref": "DatabaseTableF104A135",
+ },
+ },
+ },
+ "Handler": "index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "APIDeleteSystemContextsServiceRole63CAEFD9",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "LambdaSeurityGroup14B5161A",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIDeleteSystemContextsServiceRole63CAEFD9": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIDeleteSystemContextsServiceRoleDefaultPolicy7DF20D3B": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "dynamodb:BatchGetItem",
+ "dynamodb:GetRecords",
+ "dynamodb:GetShardIterator",
+ "dynamodb:Query",
+ "dynamodb:GetItem",
+ "dynamodb:Scan",
+ "dynamodb:ConditionCheckItem",
+ "dynamodb:BatchWriteItem",
+ "dynamodb:PutItem",
+ "dynamodb:UpdateItem",
+ "dynamodb:DeleteItem",
+ "dynamodb:DescribeTable",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "DatabaseTableF104A135",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "DatabaseTableF104A135",
+ "Arn",
+ ],
+ },
+ "/index/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "APIDeleteSystemContextsServiceRoleDefaultPolicy7DF20D3B",
+ "Roles": [
+ {
+ "Ref": "APIDeleteSystemContextsServiceRole63CAEFD9",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIDeleteVideoJobD99C15C2": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "APIDeleteVideoJobServiceRoleDefaultPolicyFA4EF7B6",
+ "APIDeleteVideoJobServiceRole42910CE4",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "IMAGE_GENERATION_MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"stability.stable-diffusion-xl-v1","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfilestabilitystablediffusionxlv1InferenceProfileArn20CB2491",
+ },
+ ""}]",
+ ],
+ ],
+ },
+ "MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"anthropic.claude-3-sonnet-20240229-v1:0","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfileanthropicclaude3sonnet20240229v10InferenceProfileArnB9E9C888",
+ },
+ ""}]",
+ ],
+ ],
+ },
+ "TABLE_NAME": {
+ "Ref": "DatabaseTableF104A135",
+ },
+ "VIDEO_GENERATION_MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"amazon.nova-reel-v1:0","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfileamazonnovareelv10InferenceProfileArn5E8F5854",
+ },
+ ""}]",
+ ],
+ ],
+ },
+ },
+ },
+ "Handler": "index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "APIDeleteVideoJobServiceRole42910CE4",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "LambdaSeurityGroup14B5161A",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIDeleteVideoJobServiceRole42910CE4": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIDeleteVideoJobServiceRoleDefaultPolicyFA4EF7B6": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "dynamodb:BatchWriteItem",
+ "dynamodb:PutItem",
+ "dynamodb:UpdateItem",
+ "dynamodb:DeleteItem",
+ "dynamodb:DescribeTable",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "DatabaseTableF104A135",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "DatabaseTableF104A135",
+ "Arn",
+ ],
+ },
+ "/index/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "APIDeleteVideoJobServiceRoleDefaultPolicyFA4EF7B6",
+ "Roles": [
+ {
+ "Ref": "APIDeleteVideoJobServiceRole42910CE4",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIFileBucket8FB29855": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "BucketEncryption": {
+ "ServerSideEncryptionConfiguration": [
+ {
+ "ServerSideEncryptionByDefault": {
+ "SSEAlgorithm": "AES256",
+ },
+ },
+ ],
+ },
+ "CorsConfiguration": {
+ "CorsRules": [
+ {
+ "AllowedHeaders": [
+ "*",
+ ],
+ "AllowedMethods": [
+ "GET",
+ "POST",
+ "PUT",
+ ],
+ "AllowedOrigins": [
+ "*",
+ ],
+ "ExposedHeaders": [],
+ "MaxAge": 3000,
+ },
+ ],
+ },
+ "PublicAccessBlockConfiguration": {
+ "BlockPublicAcls": true,
+ "BlockPublicPolicy": true,
+ "IgnorePublicAcls": true,
+ "RestrictPublicBuckets": true,
+ },
+ "Tags": [
+ {
+ "Key": "aws-cdk:auto-delete-objects",
+ "Value": "true",
+ },
+ ],
+ },
+ "Type": "AWS::S3::Bucket",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIFileBucketAutoDeleteObjectsCustomResourceDAA1C1BF": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "APIFileBucketPolicyDD3E15C2",
+ ],
+ "Properties": {
+ "BucketName": {
+ "Ref": "APIFileBucket8FB29855",
+ },
+ "ServiceToken": {
+ "Fn::GetAtt": [
+ "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F",
+ "Arn",
+ ],
+ },
+ },
+ "Type": "Custom::S3AutoDeleteObjects",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIFileBucketPolicyDD3E15C2": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Bucket": {
+ "Ref": "APIFileBucket8FB29855",
+ },
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": "s3:*",
+ "Condition": {
+ "Bool": {
+ "aws:SecureTransport": "false",
+ },
+ },
+ "Effect": "Deny",
+ "Principal": {
+ "AWS": "*",
+ },
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "APIFileBucket8FB29855",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "APIFileBucket8FB29855",
+ "Arn",
+ ],
+ },
+ "/*",
+ ],
+ ],
+ },
+ ],
+ },
+ {
+ "Action": [
+ "s3:PutBucketPolicy",
+ "s3:GetBucket*",
+ "s3:List*",
+ "s3:DeleteObject*",
+ ],
+ "Effect": "Allow",
+ "Principal": {
+ "AWS": {
+ "Fn::GetAtt": [
+ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
+ "Arn",
+ ],
+ },
+ },
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "APIFileBucket8FB29855",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "APIFileBucket8FB29855",
+ "Arn",
+ ],
+ },
+ "/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ },
+ "Type": "AWS::S3::BucketPolicy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIFindChatbyId74476825": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "APIFindChatbyIdServiceRoleDefaultPolicyDDD2446A",
+ "APIFindChatbyIdServiceRole35A1548F",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "TABLE_NAME": {
+ "Ref": "DatabaseTableF104A135",
+ },
+ },
+ },
+ "Handler": "index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "APIFindChatbyIdServiceRole35A1548F",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "LambdaSeurityGroup14B5161A",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIFindChatbyIdServiceRole35A1548F": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIFindChatbyIdServiceRoleDefaultPolicyDDD2446A": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "dynamodb:BatchGetItem",
+ "dynamodb:GetRecords",
+ "dynamodb:GetShardIterator",
+ "dynamodb:Query",
+ "dynamodb:GetItem",
+ "dynamodb:Scan",
+ "dynamodb:ConditionCheckItem",
+ "dynamodb:DescribeTable",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "DatabaseTableF104A135",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "DatabaseTableF104A135",
+ "Arn",
+ ],
+ },
+ "/index/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "APIFindChatbyIdServiceRoleDefaultPolicyDDD2446A",
+ "Roles": [
+ {
+ "Ref": "APIFindChatbyIdServiceRole35A1548F",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIFindShareId3F1AA77B": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "APIFindShareIdServiceRoleDefaultPolicy60AF3775",
+ "APIFindShareIdServiceRole2DC02BD9",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "TABLE_NAME": {
+ "Ref": "DatabaseTableF104A135",
+ },
+ },
+ },
+ "Handler": "index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "APIFindShareIdServiceRole2DC02BD9",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "LambdaSeurityGroup14B5161A",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIFindShareIdServiceRole2DC02BD9": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIFindShareIdServiceRoleDefaultPolicy60AF3775": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "dynamodb:BatchGetItem",
+ "dynamodb:GetRecords",
+ "dynamodb:GetShardIterator",
+ "dynamodb:Query",
+ "dynamodb:GetItem",
+ "dynamodb:Scan",
+ "dynamodb:ConditionCheckItem",
+ "dynamodb:DescribeTable",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "DatabaseTableF104A135",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "DatabaseTableF104A135",
+ "Arn",
+ ],
+ },
+ "/index/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "APIFindShareIdServiceRoleDefaultPolicy60AF3775",
+ "Roles": [
+ {
+ "Ref": "APIFindShareIdServiceRole2DC02BD9",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIGenerateImage777647C7": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "APIGenerateImageServiceRoleDefaultPolicy62C0EC56",
+ "APIGenerateImageServiceRoleC0428356",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "CROSS_ACCOUNT_BEDROCK_ROLE_ARN": "",
+ "IMAGE_GENERATION_MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"stability.stable-diffusion-xl-v1","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfilestabilitystablediffusionxlv1InferenceProfileArn20CB2491",
+ },
+ ""}]",
+ ],
+ ],
+ },
+ "MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"anthropic.claude-3-sonnet-20240229-v1:0","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfileanthropicclaude3sonnet20240229v10InferenceProfileArnB9E9C888",
+ },
+ ""}]",
+ ],
+ ],
+ },
+ "MODEL_REGION": "us-east-1",
+ "VIDEO_GENERATION_MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"amazon.nova-reel-v1:0","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfileamazonnovareelv10InferenceProfileArn5E8F5854",
+ },
+ ""}]",
+ ],
+ ],
+ },
+ },
+ },
+ "Handler": "index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "APIGenerateImageServiceRoleC0428356",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "LambdaSeurityGroup14B5161A",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIGenerateImageServiceRoleC0428356": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIGenerateImageServiceRoleDefaultPolicy62C0EC56": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "bedrock:*",
+ "logs:*",
+ ],
+ "Effect": "Allow",
+ "Resource": "*",
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "APIGenerateImageServiceRoleDefaultPolicy62C0EC56",
+ "Roles": [
+ {
+ "Ref": "APIGenerateImageServiceRoleC0428356",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIGenerateVideo311A6D70": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "APIGenerateVideoServiceRoleDefaultPolicy34AB447C",
+ "APIGenerateVideoServiceRole3DDCDDA7",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "BUCKET_NAME": {
+ "Ref": "APIFileBucket8FB29855",
+ },
+ "CROSS_ACCOUNT_BEDROCK_ROLE_ARN": "",
+ "IMAGE_GENERATION_MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"stability.stable-diffusion-xl-v1","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfilestabilitystablediffusionxlv1InferenceProfileArn20CB2491",
+ },
+ ""}]",
+ ],
+ ],
+ },
+ "MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"anthropic.claude-3-sonnet-20240229-v1:0","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfileanthropicclaude3sonnet20240229v10InferenceProfileArnB9E9C888",
+ },
+ ""}]",
+ ],
+ ],
+ },
+ "MODEL_REGION": "us-east-1",
+ "TABLE_NAME": {
+ "Ref": "DatabaseTableF104A135",
+ },
+ "VIDEO_BUCKET_OWNER": "123456890123",
+ "VIDEO_BUCKET_REGION_MAP": {
+ "Fn::Join": [
+ "",
+ [
+ "{"us-east-1":"",
+ {
+ "Fn::ImportValue": "VideoTmpBucketStackus-east-1:ExportsOutputRefBucket83908E7781C90AC0",
+ },
+ ""}",
+ ],
+ ],
+ },
+ "VIDEO_GENERATION_MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"amazon.nova-reel-v1:0","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfileamazonnovareelv10InferenceProfileArn5E8F5854",
+ },
+ ""}]",
+ ],
+ ],
+ },
+ },
+ },
+ "Handler": "index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "APIGenerateVideoServiceRole3DDCDDA7",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "LambdaSeurityGroup14B5161A",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIGenerateVideoServiceRole3DDCDDA7": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIGenerateVideoServiceRoleDefaultPolicy34AB447C": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": "s3:PutObject",
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:aws:s3:::",
+ {
+ "Fn::ImportValue": "VideoTmpBucketStackus-east-1:ExportsOutputRefBucket83908E7781C90AC0",
+ },
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:aws:s3:::",
+ {
+ "Fn::ImportValue": "VideoTmpBucketStackus-east-1:ExportsOutputRefBucket83908E7781C90AC0",
+ },
+ "/*",
+ ],
+ ],
+ },
+ ],
+ },
+ {
+ "Action": [
+ "dynamodb:BatchWriteItem",
+ "dynamodb:PutItem",
+ "dynamodb:UpdateItem",
+ "dynamodb:DeleteItem",
+ "dynamodb:DescribeTable",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "DatabaseTableF104A135",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "DatabaseTableF104A135",
+ "Arn",
+ ],
+ },
+ "/index/*",
+ ],
+ ],
+ },
+ ],
+ },
+ {
+ "Action": [
+ "bedrock:*",
+ "logs:*",
+ ],
+ "Effect": "Allow",
+ "Resource": "*",
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "APIGenerateVideoServiceRoleDefaultPolicy34AB447C",
+ "Roles": [
+ {
+ "Ref": "APIGenerateVideoServiceRole3DDCDDA7",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIGetFileDownloadSignedUrlFunction8B43389C": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "APIGetFileDownloadSignedUrlFunctionServiceRoleDefaultPolicy2880D406",
+ "APIGetFileDownloadSignedUrlFunctionServiceRole83916D13",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "CROSS_ACCOUNT_BEDROCK_ROLE_ARN": "",
+ "MODEL_REGION": "us-east-1",
+ },
+ },
+ "Handler": "index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "APIGetFileDownloadSignedUrlFunctionServiceRole83916D13",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "LambdaSeurityGroup14B5161A",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIGetFileDownloadSignedUrlFunctionServiceRole83916D13": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIGetFileDownloadSignedUrlFunctionServiceRoleDefaultPolicy2880D406": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "s3:GetBucket*",
+ "s3:GetObject*",
+ "s3:List*",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:aws:s3:::",
+ {
+ "Ref": "APIFileBucket8FB29855",
+ },
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:aws:s3:::",
+ {
+ "Ref": "APIFileBucket8FB29855",
+ },
+ "/*",
+ ],
+ ],
+ },
+ ],
+ },
+ {
+ "Action": [
+ "s3:GetBucket*",
+ "s3:GetObject*",
+ "s3:List*",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:aws:s3:::",
+ {
+ "Fn::ImportValue": "AgentCoreStack:ExportsOutputRefGenericAgentCoreAgentCoreFileBucket0430DA423298A79F",
+ },
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:aws:s3:::",
+ {
+ "Fn::ImportValue": "AgentCoreStack:ExportsOutputRefGenericAgentCoreAgentCoreFileBucket0430DA423298A79F",
+ },
+ "/*",
+ ],
+ ],
+ },
+ ],
+ },
+ {
+ "Action": [
+ "s3:GetBucket*",
+ "s3:GetObject*",
+ "s3:List*",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:aws:s3:::",
+ {
+ "Ref": "RagDataSourceBucket091872DB",
+ },
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:aws:s3:::",
+ {
+ "Ref": "RagDataSourceBucket091872DB",
+ },
+ "/*",
+ ],
+ ],
+ },
+ ],
+ },
+ {
+ "Action": [
+ "s3:GetBucket*",
+ "s3:GetObject*",
+ "s3:List*",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:aws:s3:::",
+ {
+ "Fn::ImportValue": "RagKnowledgeBaseStack:ExportsOutputRefDataSourceBucket9FA93E04BB6984D1",
+ },
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:aws:s3:::",
+ {
+ "Fn::ImportValue": "RagKnowledgeBaseStack:ExportsOutputRefDataSourceBucket9FA93E04BB6984D1",
+ },
+ "/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "APIGetFileDownloadSignedUrlFunctionServiceRoleDefaultPolicy2880D406",
+ "Roles": [
+ {
+ "Ref": "APIGetFileDownloadSignedUrlFunctionServiceRole83916D13",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIGetSharedChatF02561ED": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "APIGetSharedChatServiceRoleDefaultPolicy99124ED8",
+ "APIGetSharedChatServiceRole20022F3B",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "TABLE_NAME": {
+ "Ref": "DatabaseTableF104A135",
+ },
+ },
+ },
+ "Handler": "index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "APIGetSharedChatServiceRole20022F3B",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "LambdaSeurityGroup14B5161A",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIGetSharedChatServiceRole20022F3B": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIGetSharedChatServiceRoleDefaultPolicy99124ED8": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "dynamodb:BatchGetItem",
+ "dynamodb:GetRecords",
+ "dynamodb:GetShardIterator",
+ "dynamodb:Query",
+ "dynamodb:GetItem",
+ "dynamodb:Scan",
+ "dynamodb:ConditionCheckItem",
+ "dynamodb:DescribeTable",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "DatabaseTableF104A135",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "DatabaseTableF104A135",
+ "Arn",
+ ],
+ },
+ "/index/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "APIGetSharedChatServiceRoleDefaultPolicy99124ED8",
+ "Roles": [
+ {
+ "Ref": "APIGetSharedChatServiceRole20022F3B",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIGetSignedUrl0A6EC682": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "APIGetSignedUrlServiceRoleDefaultPolicy7028155F",
+ "APIGetSignedUrlServiceRole3309134D",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "BUCKET_NAME": {
+ "Ref": "APIFileBucket8FB29855",
+ },
+ },
+ },
+ "Handler": "index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "APIGetSignedUrlServiceRole3309134D",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "LambdaSeurityGroup14B5161A",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIGetSignedUrlServiceRole3309134D": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIGetSignedUrlServiceRoleDefaultPolicy7028155F": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "s3:Abort*",
+ "s3:DeleteObject*",
+ "s3:PutObject*",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:aws:s3:::",
+ {
+ "Ref": "APIFileBucket8FB29855",
+ },
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:aws:s3:::",
+ {
+ "Ref": "APIFileBucket8FB29855",
+ },
+ "/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "APIGetSignedUrlServiceRoleDefaultPolicy7028155F",
+ "Roles": [
+ {
+ "Ref": "APIGetSignedUrlServiceRole3309134D",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIGetTokenUsageE1C5C872": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "APIGetTokenUsageServiceRoleDefaultPolicy9A5B3DA6",
+ "APIGetTokenUsageServiceRoleBA7D93BB",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "STATS_TABLE_NAME": {
+ "Ref": "DatabaseStatsTable9C709761",
+ },
+ "TABLE_NAME": {
+ "Ref": "DatabaseTableF104A135",
+ },
+ },
+ },
+ "Handler": "index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "APIGetTokenUsageServiceRoleBA7D93BB",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "LambdaSeurityGroup14B5161A",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIGetTokenUsageServiceRoleBA7D93BB": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIGetTokenUsageServiceRoleDefaultPolicy9A5B3DA6": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "dynamodb:BatchGetItem",
+ "dynamodb:GetRecords",
+ "dynamodb:GetShardIterator",
+ "dynamodb:Query",
+ "dynamodb:GetItem",
+ "dynamodb:Scan",
+ "dynamodb:ConditionCheckItem",
+ "dynamodb:DescribeTable",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "DatabaseTableF104A135",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "DatabaseTableF104A135",
+ "Arn",
+ ],
+ },
+ "/index/*",
+ ],
+ ],
+ },
+ ],
+ },
+ {
+ "Action": [
+ "dynamodb:BatchGetItem",
+ "dynamodb:GetRecords",
+ "dynamodb:GetShardIterator",
+ "dynamodb:Query",
+ "dynamodb:GetItem",
+ "dynamodb:Scan",
+ "dynamodb:ConditionCheckItem",
+ "dynamodb:DescribeTable",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "DatabaseStatsTable9C709761",
+ "Arn",
+ ],
+ },
+ {
+ "Ref": "AWS::NoValue",
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "APIGetTokenUsageServiceRoleDefaultPolicy9A5B3DA6",
+ "Roles": [
+ {
+ "Ref": "APIGetTokenUsageServiceRoleBA7D93BB",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIGetWebText363F573D": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "APIGetWebTextServiceRole2A2618E2",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Handler": "index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "APIGetWebTextServiceRole2A2618E2",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "LambdaSeurityGroup14B5161A",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIGetWebTextServiceRole2A2618E2": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIInvokeFlow03786D76": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "APIInvokeFlowServiceRoleDefaultPolicyF59A1D3B",
+ "APIInvokeFlowServiceRole61C02E4B",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "MODEL_REGION": "us-east-1",
+ },
+ },
+ "Handler": "index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "APIInvokeFlowServiceRole61C02E4B",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "LambdaSeurityGroup14B5161A",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIInvokeFlowServiceRole61C02E4B": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIInvokeFlowServiceRoleDefaultPolicyF59A1D3B": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "bedrock:*",
+ "logs:*",
+ ],
+ "Effect": "Allow",
+ "Resource": "*",
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "APIInvokeFlowServiceRoleDefaultPolicyF59A1D3B",
+ "Roles": [
+ {
+ "Ref": "APIInvokeFlowServiceRole61C02E4B",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIListChats12807275": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "APIListChatsServiceRoleDefaultPolicyD6E68E36",
+ "APIListChatsServiceRole336654B4",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "TABLE_NAME": {
+ "Ref": "DatabaseTableF104A135",
+ },
+ },
+ },
+ "Handler": "index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "APIListChatsServiceRole336654B4",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "LambdaSeurityGroup14B5161A",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIListChatsServiceRole336654B4": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIListChatsServiceRoleDefaultPolicyD6E68E36": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "dynamodb:BatchGetItem",
+ "dynamodb:GetRecords",
+ "dynamodb:GetShardIterator",
+ "dynamodb:Query",
+ "dynamodb:GetItem",
+ "dynamodb:Scan",
+ "dynamodb:ConditionCheckItem",
+ "dynamodb:DescribeTable",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "DatabaseTableF104A135",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "DatabaseTableF104A135",
+ "Arn",
+ ],
+ },
+ "/index/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "APIListChatsServiceRoleDefaultPolicyD6E68E36",
+ "Roles": [
+ {
+ "Ref": "APIListChatsServiceRole336654B4",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIListMessages536ED2CC": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "APIListMessagesServiceRoleDefaultPolicy8E659637",
+ "APIListMessagesServiceRole4C0AC764",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "TABLE_NAME": {
+ "Ref": "DatabaseTableF104A135",
+ },
+ },
+ },
+ "Handler": "index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "APIListMessagesServiceRole4C0AC764",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "LambdaSeurityGroup14B5161A",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIListMessagesServiceRole4C0AC764": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIListMessagesServiceRoleDefaultPolicy8E659637": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "dynamodb:BatchGetItem",
+ "dynamodb:GetRecords",
+ "dynamodb:GetShardIterator",
+ "dynamodb:Query",
+ "dynamodb:GetItem",
+ "dynamodb:Scan",
+ "dynamodb:ConditionCheckItem",
+ "dynamodb:DescribeTable",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "DatabaseTableF104A135",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "DatabaseTableF104A135",
+ "Arn",
+ ],
+ },
+ "/index/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "APIListMessagesServiceRoleDefaultPolicy8E659637",
+ "Roles": [
+ {
+ "Ref": "APIListMessagesServiceRole4C0AC764",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIListSystemContexts08AE4129": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "APIListSystemContextsServiceRoleDefaultPolicy40C08CBE",
+ "APIListSystemContextsServiceRole60484AB7",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "TABLE_NAME": {
+ "Ref": "DatabaseTableF104A135",
+ },
+ },
+ },
+ "Handler": "index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "APIListSystemContextsServiceRole60484AB7",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "LambdaSeurityGroup14B5161A",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIListSystemContextsServiceRole60484AB7": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIListSystemContextsServiceRoleDefaultPolicy40C08CBE": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "dynamodb:BatchGetItem",
+ "dynamodb:GetRecords",
+ "dynamodb:GetShardIterator",
+ "dynamodb:Query",
+ "dynamodb:GetItem",
+ "dynamodb:Scan",
+ "dynamodb:ConditionCheckItem",
+ "dynamodb:DescribeTable",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "DatabaseTableF104A135",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "DatabaseTableF104A135",
+ "Arn",
+ ],
+ },
+ "/index/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "APIListSystemContextsServiceRoleDefaultPolicy40C08CBE",
+ "Roles": [
+ {
+ "Ref": "APIListSystemContextsServiceRole60484AB7",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIListVideoJobsBF828ABB": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "APIListVideoJobsServiceRoleDefaultPolicy546B8673",
+ "APIListVideoJobsServiceRole171468E3",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "BUCKET_NAME": {
+ "Ref": "APIFileBucket8FB29855",
+ },
+ "COPY_VIDEO_JOB_FUNCTION_ARN": {
+ "Fn::GetAtt": [
+ "APICopyVideoJobB772026B",
+ "Arn",
+ ],
+ },
+ "CROSS_ACCOUNT_BEDROCK_ROLE_ARN": "",
+ "IMAGE_GENERATION_MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"stability.stable-diffusion-xl-v1","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfilestabilitystablediffusionxlv1InferenceProfileArn20CB2491",
+ },
+ ""}]",
+ ],
+ ],
+ },
+ "MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"anthropic.claude-3-sonnet-20240229-v1:0","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfileanthropicclaude3sonnet20240229v10InferenceProfileArnB9E9C888",
+ },
+ ""}]",
+ ],
+ ],
+ },
+ "MODEL_REGION": "us-east-1",
+ "TABLE_NAME": {
+ "Ref": "DatabaseTableF104A135",
+ },
+ "VIDEO_BUCKET_REGION_MAP": {
+ "Fn::Join": [
+ "",
+ [
+ "{"us-east-1":"",
+ {
+ "Fn::ImportValue": "VideoTmpBucketStackus-east-1:ExportsOutputRefBucket83908E7781C90AC0",
+ },
+ ""}",
+ ],
+ ],
+ },
+ "VIDEO_GENERATION_MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"amazon.nova-reel-v1:0","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfileamazonnovareelv10InferenceProfileArn5E8F5854",
+ },
+ ""}]",
+ ],
+ ],
+ },
+ },
+ },
+ "Handler": "index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "APIListVideoJobsServiceRole171468E3",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "LambdaSeurityGroup14B5161A",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIListVideoJobsServiceRole171468E3": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIListVideoJobsServiceRoleDefaultPolicy546B8673": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "dynamodb:BatchGetItem",
+ "dynamodb:GetRecords",
+ "dynamodb:GetShardIterator",
+ "dynamodb:Query",
+ "dynamodb:GetItem",
+ "dynamodb:Scan",
+ "dynamodb:ConditionCheckItem",
+ "dynamodb:BatchWriteItem",
+ "dynamodb:PutItem",
+ "dynamodb:UpdateItem",
+ "dynamodb:DeleteItem",
+ "dynamodb:DescribeTable",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "DatabaseTableF104A135",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "DatabaseTableF104A135",
+ "Arn",
+ ],
+ },
+ "/index/*",
+ ],
+ ],
+ },
+ ],
+ },
+ {
+ "Action": "lambda:InvokeFunction",
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "APICopyVideoJobB772026B",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "APICopyVideoJobB772026B",
+ "Arn",
+ ],
+ },
+ ":*",
+ ],
+ ],
+ },
+ ],
+ },
+ {
+ "Action": [
+ "bedrock:*",
+ "logs:*",
+ ],
+ "Effect": "Allow",
+ "Resource": "*",
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "APIListVideoJobsServiceRoleDefaultPolicy546B8673",
+ "Roles": [
+ {
+ "Ref": "APIListVideoJobsServiceRole171468E3",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIOptimizePromptFunctionC14E6D1B": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "APIOptimizePromptFunctionServiceRoleDefaultPolicyD6B88C0F",
+ "APIOptimizePromptFunctionServiceRole408208AA",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "MODEL_REGION": "us-east-1",
+ },
+ },
+ "Handler": "index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "APIOptimizePromptFunctionServiceRole408208AA",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "LambdaSeurityGroup14B5161A",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIOptimizePromptFunctionServiceRole408208AA": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIOptimizePromptFunctionServiceRoleDefaultPolicyD6B88C0F": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "bedrock:*",
+ "logs:*",
+ ],
+ "Effect": "Allow",
+ "Resource": "*",
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "APIOptimizePromptFunctionServiceRoleDefaultPolicyD6B88C0F",
+ "Roles": [
+ {
+ "Ref": "APIOptimizePromptFunctionServiceRole408208AA",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIPredict09E4E4FF": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "APIPredictServiceRoleDefaultPolicy0D908F6B",
+ "APIPredictServiceRole6B8A4E2C",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "CROSS_ACCOUNT_BEDROCK_ROLE_ARN": "",
+ "GUARDRAIL_IDENTIFIER": {
+ "Fn::ImportValue": "GuardrailStack:ExportsOutputFnGetAttGuardrailguardrail03A76CF4GuardrailIdDBA991AF",
+ },
+ "GUARDRAIL_VERSION": "DRAFT",
+ "IMAGE_GENERATION_MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"stability.stable-diffusion-xl-v1","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfilestabilitystablediffusionxlv1InferenceProfileArn20CB2491",
+ },
+ ""}]",
+ ],
+ ],
+ },
+ "MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"anthropic.claude-3-sonnet-20240229-v1:0","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfileanthropicclaude3sonnet20240229v10InferenceProfileArnB9E9C888",
+ },
+ ""}]",
+ ],
+ ],
+ },
+ "MODEL_REGION": "us-east-1",
+ "VIDEO_GENERATION_MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"amazon.nova-reel-v1:0","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfileamazonnovareelv10InferenceProfileArn5E8F5854",
+ },
+ ""}]",
+ ],
+ ],
+ },
+ },
+ },
+ "Handler": "index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "APIPredictServiceRole6B8A4E2C",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "LambdaSeurityGroup14B5161A",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIPredictServiceRole6B8A4E2C": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIPredictServiceRoleDefaultPolicy0D908F6B": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "bedrock:*",
+ "logs:*",
+ ],
+ "Effect": "Allow",
+ "Resource": "*",
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "APIPredictServiceRoleDefaultPolicy0D908F6B",
+ "Roles": [
+ {
+ "Ref": "APIPredictServiceRole6B8A4E2C",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIPredictStream44DDBC25": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "APIPredictStreamServiceRoleDefaultPolicy07B1CCF0",
+ "APIPredictStreamServiceRole2B2C7355",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "AGENT_MAP": {
+ "Fn::Join": [
+ "",
+ [
+ "{"SearchEngine":{"agentId":"",
+ {
+ "Fn::ImportValue": "WebSearchAgentStack:ExportsOutputFnGetAttAgentSearchAgent3AF6EC6FAgentIdF3D3B4F6",
+ },
+ "","aliasId":"",
+ {
+ "Fn::ImportValue": "WebSearchAgentStack:ExportsOutputFnGetAttAgentSearchAgentAliasD59C2A47AgentAliasId0289A97F",
+ },
+ ""},"CodeInterpreter":{"agentId":"",
+ {
+ "Fn::ImportValue": "WebSearchAgentStack:ExportsOutputFnGetAttAgentCodeInterpreterAgent98889BFEAgentIdFAC9D557",
+ },
+ "","aliasId":"",
+ {
+ "Fn::ImportValue": "WebSearchAgentStack:ExportsOutputFnGetAttAgentCodeInterpreterAgentAliasB6F54C31AgentAliasIdE516C748",
+ },
+ ""}}",
+ ],
+ ],
+ },
+ "BUCKET_NAME": {
+ "Ref": "APIFileBucket8FB29855",
+ },
+ "CROSS_ACCOUNT_BEDROCK_ROLE_ARN": "",
+ "GUARDRAIL_IDENTIFIER": {
+ "Fn::ImportValue": "GuardrailStack:ExportsOutputFnGetAttGuardrailguardrail03A76CF4GuardrailIdDBA991AF",
+ },
+ "GUARDRAIL_VERSION": "DRAFT",
+ "IMAGE_GENERATION_MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"stability.stable-diffusion-xl-v1","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfilestabilitystablediffusionxlv1InferenceProfileArn20CB2491",
+ },
+ ""}]",
+ ],
+ ],
+ },
+ "KNOWLEDGE_BASE_ID": {
+ "Fn::ImportValue": "RagKnowledgeBaseStack:ExportsOutputRefKnowledgeBaseD054384B",
+ },
+ "MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"anthropic.claude-3-sonnet-20240229-v1:0","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfileanthropicclaude3sonnet20240229v10InferenceProfileArnB9E9C888",
+ },
+ ""}]",
+ ],
+ ],
+ },
+ "MODEL_REGION": "us-east-1",
+ "QUERY_DECOMPOSITION_ENABLED": "false",
+ "RERANKING_MODEL_ID": "",
+ "USER_POOL_CLIENT_ID": {
+ "Ref": "AuthUserPoolclientA74673A9",
+ },
+ "USER_POOL_ID": {
+ "Ref": "AuthUserPool8115E87F",
+ },
+ "VIDEO_GENERATION_MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"amazon.nova-reel-v1:0","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfileamazonnovareelv10InferenceProfileArn5E8F5854",
+ },
+ ""}]",
+ ],
+ ],
+ },
+ },
+ },
+ "Handler": "index.handler",
+ "MemorySize": 256,
+ "Role": {
+ "Fn::GetAtt": [
+ "APIPredictStreamServiceRole2B2C7355",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "LambdaSeurityGroup14B5161A",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIPredictStreamServiceRole2B2C7355": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIPredictStreamServiceRoleDefaultPolicy07B1CCF0": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "s3:GetObject*",
+ "s3:GetBucket*",
+ "s3:List*",
+ "s3:DeleteObject*",
+ "s3:PutObject",
+ "s3:PutObjectLegalHold",
+ "s3:PutObjectRetention",
+ "s3:PutObjectTagging",
+ "s3:PutObjectVersionTagging",
+ "s3:Abort*",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "APIFileBucket8FB29855",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "APIFileBucket8FB29855",
+ "Arn",
+ ],
+ },
+ "/*",
+ ],
+ ],
+ },
+ ],
+ },
+ {
+ "Action": [
+ "bedrock:*",
+ "logs:*",
+ ],
+ "Effect": "Allow",
+ "Resource": "*",
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "APIPredictStreamServiceRoleDefaultPolicy07B1CCF0",
+ "Roles": [
+ {
+ "Ref": "APIPredictStreamServiceRole2B2C7355",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIPredictTitle95F64FA4": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "APIPredictTitleServiceRoleDefaultPolicy2FBAD754",
+ "APIPredictTitleServiceRoleAC90BDCD",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "CROSS_ACCOUNT_BEDROCK_ROLE_ARN": "",
+ "GUARDRAIL_IDENTIFIER": {
+ "Fn::ImportValue": "GuardrailStack:ExportsOutputFnGetAttGuardrailguardrail03A76CF4GuardrailIdDBA991AF",
+ },
+ "GUARDRAIL_VERSION": "DRAFT",
+ "IMAGE_GENERATION_MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"stability.stable-diffusion-xl-v1","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfilestabilitystablediffusionxlv1InferenceProfileArn20CB2491",
+ },
+ ""}]",
+ ],
+ ],
+ },
+ "MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"anthropic.claude-3-sonnet-20240229-v1:0","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfileanthropicclaude3sonnet20240229v10InferenceProfileArnB9E9C888",
+ },
+ ""}]",
+ ],
+ ],
+ },
+ "MODEL_REGION": "us-east-1",
+ "TABLE_NAME": {
+ "Ref": "DatabaseTableF104A135",
+ },
+ "VIDEO_GENERATION_MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"amazon.nova-reel-v1:0","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfileamazonnovareelv10InferenceProfileArn5E8F5854",
+ },
+ ""}]",
+ ],
+ ],
+ },
+ },
+ },
+ "Handler": "index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "APIPredictTitleServiceRoleAC90BDCD",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "LambdaSeurityGroup14B5161A",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIPredictTitleServiceRoleAC90BDCD": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIPredictTitleServiceRoleDefaultPolicy2FBAD754": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "dynamodb:BatchWriteItem",
+ "dynamodb:PutItem",
+ "dynamodb:UpdateItem",
+ "dynamodb:DeleteItem",
+ "dynamodb:DescribeTable",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "DatabaseTableF104A135",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "DatabaseTableF104A135",
+ "Arn",
+ ],
+ },
+ "/index/*",
+ ],
+ ],
+ },
+ ],
+ },
+ {
+ "Action": [
+ "bedrock:*",
+ "logs:*",
+ ],
+ "Effect": "Allow",
+ "Resource": "*",
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "APIPredictTitleServiceRoleDefaultPolicy2FBAD754",
+ "Roles": [
+ {
+ "Ref": "APIPredictTitleServiceRoleAC90BDCD",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIUpdateChatTitleF8FCA547": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "APIUpdateChatTitleServiceRoleDefaultPolicyCE257C4E",
+ "APIUpdateChatTitleServiceRoleDF447D6E",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "TABLE_NAME": {
+ "Ref": "DatabaseTableF104A135",
+ },
+ },
+ },
+ "Handler": "index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "APIUpdateChatTitleServiceRoleDF447D6E",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "LambdaSeurityGroup14B5161A",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIUpdateChatTitleServiceRoleDF447D6E": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIUpdateChatTitleServiceRoleDefaultPolicyCE257C4E": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "dynamodb:BatchGetItem",
+ "dynamodb:GetRecords",
+ "dynamodb:GetShardIterator",
+ "dynamodb:Query",
+ "dynamodb:GetItem",
+ "dynamodb:Scan",
+ "dynamodb:ConditionCheckItem",
+ "dynamodb:BatchWriteItem",
+ "dynamodb:PutItem",
+ "dynamodb:UpdateItem",
+ "dynamodb:DeleteItem",
+ "dynamodb:DescribeTable",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "DatabaseTableF104A135",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "DatabaseTableF104A135",
+ "Arn",
+ ],
+ },
+ "/index/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "APIUpdateChatTitleServiceRoleDefaultPolicyCE257C4E",
+ "Roles": [
+ {
+ "Ref": "APIUpdateChatTitleServiceRoleDF447D6E",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIUpdateFeedback2F9276A1": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "APIUpdateFeedbackServiceRoleDefaultPolicyB3422366",
+ "APIUpdateFeedbackServiceRole1A31F75D",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "TABLE_NAME": {
+ "Ref": "DatabaseTableF104A135",
+ },
+ },
+ },
+ "Handler": "index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "APIUpdateFeedbackServiceRole1A31F75D",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "LambdaSeurityGroup14B5161A",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIUpdateFeedbackServiceRole1A31F75D": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIUpdateFeedbackServiceRoleDefaultPolicyB3422366": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "dynamodb:BatchGetItem",
+ "dynamodb:GetRecords",
+ "dynamodb:GetShardIterator",
+ "dynamodb:Query",
+ "dynamodb:GetItem",
+ "dynamodb:Scan",
+ "dynamodb:ConditionCheckItem",
+ "dynamodb:BatchWriteItem",
+ "dynamodb:PutItem",
+ "dynamodb:UpdateItem",
+ "dynamodb:DeleteItem",
+ "dynamodb:DescribeTable",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "DatabaseTableF104A135",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "DatabaseTableF104A135",
+ "Arn",
+ ],
+ },
+ "/index/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "APIUpdateFeedbackServiceRoleDefaultPolicyB3422366",
+ "Roles": [
+ {
+ "Ref": "APIUpdateFeedbackServiceRole1A31F75D",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIUpdateSystemContextTitle5806E033": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "APIUpdateSystemContextTitleServiceRoleDefaultPolicy5EA8F0B5",
+ "APIUpdateSystemContextTitleServiceRoleAE4E6BD7",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "TABLE_NAME": {
+ "Ref": "DatabaseTableF104A135",
+ },
+ },
+ },
+ "Handler": "index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "APIUpdateSystemContextTitleServiceRoleAE4E6BD7",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "LambdaSeurityGroup14B5161A",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIUpdateSystemContextTitleServiceRoleAE4E6BD7": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "APIUpdateSystemContextTitleServiceRoleDefaultPolicy5EA8F0B5": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "dynamodb:BatchGetItem",
+ "dynamodb:GetRecords",
+ "dynamodb:GetShardIterator",
+ "dynamodb:Query",
+ "dynamodb:GetItem",
+ "dynamodb:Scan",
+ "dynamodb:ConditionCheckItem",
+ "dynamodb:BatchWriteItem",
+ "dynamodb:PutItem",
+ "dynamodb:UpdateItem",
+ "dynamodb:DeleteItem",
+ "dynamodb:DescribeTable",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "DatabaseTableF104A135",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "DatabaseTableF104A135",
+ "Arn",
+ ],
+ },
+ "/index/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "APIUpdateSystemContextTitleServiceRoleDefaultPolicy5EA8F0B5",
+ "Roles": [
+ {
+ "Ref": "APIUpdateSystemContextTitleServiceRoleAE4E6BD7",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "AgentCoreAgentCoreRuntimePolicyA2A56192": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": "bedrock-agentcore:InvokeAgentRuntime",
+ "Effect": "Allow",
+ "Resource": {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::ImportValue": "AgentCoreStack:ExportsOutputFnGetAttGenericAgentCoreGenericAgentCoreRuntimeD3EBAAF7AgentCoreRuntimeArn010E372F",
+ },
+ "*",
+ ],
+ ],
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "AgentCoreAgentCoreRuntimePolicyA2A56192",
+ "Roles": [
+ {
+ "Ref": "AuthIdentityPoolAuthenticatedRole09311B20",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "ApiBuildWeb746ABF13": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ServiceToken": {
+ "Fn::GetAtt": [
+ "NodejsBuildCustomResourceHandler25648b212c404f09aa65b6bbb0c446591C4101F8",
+ "Arn",
+ ],
+ },
+ "buildCommands": [
+ "npm ci",
+ "npm run web:build",
+ ],
+ "codeBuildProjectName": {
+ "Ref": "ApiBuildWebProjectDF2CE9D0",
+ },
+ "destinationBucketName": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "environment": {
+ "NODE_OPTIONS": "--max-old-space-size=4096",
+ "VITE_APP_AGENT_CORE_ENABLED": "true",
+ "VITE_APP_AGENT_CORE_EXTERNAL_RUNTIMES": "[]",
+ "VITE_APP_AGENT_CORE_GENERIC_RUNTIME": {
+ "Fn::Join": [
+ "",
+ [
+ "{"name":"GenericAgentCoreRuntime","arn":"",
+ {
+ "Fn::ImportValue": "AgentCoreStack:ExportsOutputFnGetAttGenericAgentCoreGenericAgentCoreRuntimeD3EBAAF7AgentCoreRuntimeArn010E372F",
+ },
+ ""}",
+ ],
+ ],
+ },
+ "VITE_APP_AGENT_ENABLED": "true",
+ "VITE_APP_AGENT_NAMES": "["SearchEngine","CodeInterpreter"]",
+ "VITE_APP_API_ENDPOINT": {
+ "Fn::Join": [
+ "",
+ [
+ "https://",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ ".execute-api.us-east-1.",
+ {
+ "Ref": "AWS::URLSuffix",
+ },
+ "/",
+ {
+ "Ref": "APIApiDeploymentStageapiCD55D117",
+ },
+ "/",
+ ],
+ ],
+ },
+ "VITE_APP_COGNITO_IDENTITY_POOL_PROXY_ENDPOINT": {
+ "Fn::Join": [
+ "",
+ [
+ "https://",
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefCognitoPrivateProxyCognitoIdPoolProxyApi29D893997F7F25A2",
+ },
+ ".execute-api.us-east-1.",
+ {
+ "Ref": "AWS::URLSuffix",
+ },
+ "/",
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefCognitoPrivateProxyCognitoIdPoolProxyApiDeploymentStageprodF789267346799973",
+ },
+ "/",
+ ],
+ ],
+ },
+ "VITE_APP_COGNITO_USER_POOL_PROXY_ENDPOINT": {
+ "Fn::Join": [
+ "",
+ [
+ "https://",
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefCognitoPrivateProxyCognitoUserPoolProxyApi818B53B11EFC652B",
+ },
+ ".execute-api.us-east-1.",
+ {
+ "Ref": "AWS::URLSuffix",
+ },
+ "/",
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefCognitoPrivateProxyCognitoUserPoolProxyApiDeploymentStageprod0C2BA9A5793BEF8B",
+ },
+ "/",
+ ],
+ ],
+ },
+ "VITE_APP_ENDPOINT_NAMES": "[]",
+ "VITE_APP_FLOWS": "[]",
+ "VITE_APP_FLOW_STREAM_FUNCTION_ARN": {
+ "Fn::GetAtt": [
+ "APIInvokeFlow03786D76",
+ "Arn",
+ ],
+ },
+ "VITE_APP_HIDDEN_USE_CASES": "{}",
+ "VITE_APP_IDENTITY_POOL_ID": {
+ "Ref": "AuthIdentityPool659E7F64",
+ },
+ "VITE_APP_IMAGE_MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"stability.stable-diffusion-xl-v1","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfilestabilitystablediffusionxlv1InferenceProfileArn20CB2491",
+ },
+ ""}]",
+ ],
+ ],
+ },
+ "VITE_APP_INLINE_AGENTS": "false",
+ "VITE_APP_MCP_ENABLED": "false",
+ "VITE_APP_MCP_ENDPOINT": "",
+ "VITE_APP_MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"anthropic.claude-3-sonnet-20240229-v1:0","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfileanthropicclaude3sonnet20240229v10InferenceProfileArnB9E9C888",
+ },
+ ""}]",
+ ],
+ ],
+ },
+ "VITE_APP_MODEL_REGION": "us-east-1",
+ "VITE_APP_OPTIMIZE_PROMPT_FUNCTION_ARN": {
+ "Fn::GetAtt": [
+ "APIOptimizePromptFunctionC14E6D1B",
+ "Arn",
+ ],
+ },
+ "VITE_APP_PREDICT_STREAM_FUNCTION_ARN": {
+ "Fn::GetAtt": [
+ "APIPredictStream44DDBC25",
+ "Arn",
+ ],
+ },
+ "VITE_APP_RAG_ENABLED": "true",
+ "VITE_APP_RAG_KNOWLEDGE_BASE_ENABLED": "true",
+ "VITE_APP_REGION": "us-east-1",
+ "VITE_APP_SAMLAUTH_ENABLED": "false",
+ "VITE_APP_SAML_COGNITO_DOMAIN_NAME": "",
+ "VITE_APP_SAML_COGNITO_FEDERATED_IDENTITY_PROVIDER_NAME": "",
+ "VITE_APP_SELF_SIGN_UP_ENABLED": "true",
+ "VITE_APP_SPEECH_TO_SPEECH_EVENT_API_ENDPOINT": {
+ "Fn::Join": [
+ "",
+ [
+ "https://",
+ {
+ "Fn::GetAtt": [
+ "SpeechToSpeechEventApi1E2E9AB4",
+ "Dns.Http",
+ ],
+ },
+ "/event",
+ ],
+ ],
+ },
+ "VITE_APP_SPEECH_TO_SPEECH_MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"amazon.nova-sonic-v1:0","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfileamazonnovasonicv10InferenceProfileArnDDA114DD",
+ },
+ ""}]",
+ ],
+ ],
+ },
+ "VITE_APP_SPEECH_TO_SPEECH_NAMESPACE": "speech-to-speech",
+ "VITE_APP_USER_POOL_CLIENT_ID": {
+ "Ref": "AuthUserPoolclientA74673A9",
+ },
+ "VITE_APP_USER_POOL_ID": {
+ "Ref": "AuthUserPool8115E87F",
+ },
+ "VITE_APP_USE_CASE_BUILDER_ENABLED": "true",
+ "VITE_APP_VIDEO_MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"amazon.nova-reel-v1:0","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfileamazonnovareelv10InferenceProfileArn5E8F5854",
+ },
+ ""}]",
+ ],
+ ],
+ },
+ },
+ "outputEnvFile": false,
+ "outputSourceDirectory": "../packages/web/dist",
+ "sources": [
+ {
+ "extractPath": "..",
+ "sourceBucketName": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "sourceObjectKey": "HASH-REPLACED.zip",
+ },
+ ],
+ "type": "NodejsBuild",
+ "workingDirectory": "..",
+ },
+ "Type": "Custom::CDKNodejsBuild",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "ApiBuildWebDeployAwsCliLayer187512BE": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "ApiBuildWeb746ABF13",
+ ],
+ "Properties": {
+ "Content": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Description": "/opt/awscli/aws",
+ },
+ "Type": "AWS::Lambda::LayerVersion",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "ApiBuildWebDeployCustomResource512MiBE7E7D353": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "ApiBuildWeb746ABF13",
+ ],
+ "Properties": {
+ "DestinationBucketName": {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedWebWebBucket6C6180EC94FAE0A6",
+ },
+ "OutputObjectKeys": true,
+ "Prune": true,
+ "ServiceToken": {
+ "Fn::GetAtt": [
+ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C512MiB6723FB92",
+ "Arn",
+ ],
+ },
+ "SourceBucketNames": [
+ "cdk-hnb659fds-assets-123456890123-us-east-1",
+ ],
+ "SourceObjectKeys": [
+ {
+ "Fn::GetAtt": [
+ "ApiBuildWeb746ABF13",
+ "destinationObjectKey",
+ ],
+ },
+ ],
+ },
+ "Type": "Custom::CDKBucketDeployment",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "ApiBuildWebProjectDF2CE9D0": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Artifacts": {
+ "Type": "NO_ARTIFACTS",
+ },
+ "Cache": {
+ "Type": "NO_CACHE",
+ },
+ "EncryptionKey": "alias/aws/s3",
+ "Environment": {
+ "ComputeType": "BUILD_GENERAL1_MEDIUM",
+ "Image": "aws/codebuild/standard:7.0",
+ "ImagePullCredentialsType": "CODEBUILD",
+ "PrivilegedMode": false,
+ "Type": "LINUX_CONTAINER",
+ },
+ "ServiceRole": {
+ "Fn::GetAtt": [
+ "ApiBuildWebProjectRole8A770CFE",
+ "Arn",
+ ],
+ },
+ "Source": {
+ "BuildSpec": "{
+ "version": "0.2",
+ "env": {
+ "shell": "bash"
+ },
+ "phases": {
+ "install": {
+ "runtime-versions": {
+ "nodejs": 18
+ }
+ },
+ "build": {
+ "commands": [
+ "current_dir=$(pwd)",
+ "\\necho \\"$input\\"\\nfor obj in $(echo \\"$input\\" | jq -r '.[] | @base64'); do\\n decoded=$(echo \\"$obj\\" | base64 --decode)\\n assetUrl=$(echo \\"$decoded\\" | jq -r '.assetUrl')\\n extractPath=$(echo \\"$decoded\\" | jq -r '.extractPath')\\n commands=$(echo \\"$decoded\\" | jq -r '.commands')\\n\\n # Download the zip file\\n aws s3 cp \\"$assetUrl\\" temp.zip\\n\\n # Extract the zip file to the extractPath directory\\n mkdir -p \\"$extractPath\\"\\n unzip temp.zip -d \\"$extractPath\\"\\n\\n # Remove the zip file\\n rm temp.zip\\n\\n # Run the specified commands in the extractPath directory\\n cd \\"$extractPath\\"\\n ls -la\\n eval \\"$commands\\"\\n cd \\"$current_dir\\"\\n ls -la\\ndone\\n ",
+ "ls -la",
+ "cd \\"$workingDirectory\\"",
+ "eval \\"$buildCommands\\"",
+ "ls -la",
+ "cd \\"$current_dir\\"",
+ "cd \\"$outputSourceDirectory\\"",
+ "zip -r output.zip ./",
+ "aws s3 cp output.zip \\"s3://$destinationBucketName/$destinationObjectKey\\"",
+ "\\nif [[ $outputEnvFile == \\"true\\" ]]\\nthen\\n # Split the comma-separated string into an array\\n for var_name in \${envNames//,/ }\\n do\\n echo \\"Element: $var_name\\"\\n var_value=\\"\${!var_name}\\"\\n echo \\"$var_name=$var_value\\" >> tmp.env\\n done\\n\\n aws s3 cp tmp.env \\"s3://$destinationBucketName/$envFileKey\\"\\nfi\\n "
+ ]
+ },
+ "post_build": {
+ "commands": [
+ "echo Build completed on \`date\`",
+ "\\nSTATUS='SUCCESS'\\nif [ $CODEBUILD_BUILD_SUCCEEDING -ne 1 ] # Test if the build is failing\\nthen\\nSTATUS='FAILED'\\nREASON=\\"NodejsBuild failed. See CloudWatch Log stream for the detailed reason: \\nhttps://$AWS_REGION.console.aws.amazon.com/cloudwatch/home?region=$AWS_REGION#logsV2:log-groups/log-group/\\\\$252Faws\\\\$252Fcodebuild\\\\$252F$projectName/log-events/$CODEBUILD_LOG_PATH\\"\\nfi\\ncat < payload.json\\n{\\n \\"StackId\\": \\"$stackId\\",\\n \\"RequestId\\": \\"$requestId\\",\\n \\"LogicalResourceId\\":\\"$logicalResourceId\\",\\n \\"PhysicalResourceId\\": \\"$logicalResourceId\\",\\n \\"Status\\": \\"$STATUS\\",\\n \\"Reason\\": \\"$REASON\\",\\n \\"Data\\": {\\n \\"destinationObjectKey\\": \\"$destinationObjectKey\\",\\n \\"envFileKey\\": \\"$envFileKey\\"\\n }\\n}\\nEOF\\ncurl -v -i -X PUT -H 'Content-Type:' -d \\"@payload.json\\" \\"$responseURL\\"\\n "
+ ]
+ }
+ }
+}",
+ "Type": "NO_SOURCE",
+ },
+ },
+ "Type": "AWS::CodeBuild::Project",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "ApiBuildWebProjectRole8A770CFE": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "codebuild.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "ApiBuildWebProjectRoleDefaultPolicyEA537DDE": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "logs:CreateLogGroup",
+ "logs:CreateLogStream",
+ "logs:PutLogEvents",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":logs:us-east-1:123456890123:log-group:/aws/codebuild/",
+ {
+ "Ref": "ApiBuildWebProjectDF2CE9D0",
+ },
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":logs:us-east-1:123456890123:log-group:/aws/codebuild/",
+ {
+ "Ref": "ApiBuildWebProjectDF2CE9D0",
+ },
+ ":*",
+ ],
+ ],
+ },
+ ],
+ },
+ {
+ "Action": [
+ "codebuild:CreateReportGroup",
+ "codebuild:CreateReport",
+ "codebuild:UpdateReport",
+ "codebuild:BatchPutTestCases",
+ "codebuild:BatchPutCodeCoverages",
+ ],
+ "Effect": "Allow",
+ "Resource": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":codebuild:us-east-1:123456890123:report-group/",
+ {
+ "Ref": "ApiBuildWebProjectDF2CE9D0",
+ },
+ "-*",
+ ],
+ ],
+ },
+ },
+ {
+ "Action": [
+ "s3:GetObject*",
+ "s3:GetBucket*",
+ "s3:List*",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":s3:::cdk-hnb659fds-assets-123456890123-us-east-1",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":s3:::cdk-hnb659fds-assets-123456890123-us-east-1/*",
+ ],
+ ],
+ },
+ ],
+ },
+ {
+ "Action": [
+ "s3:DeleteObject*",
+ "s3:PutObject",
+ "s3:PutObjectLegalHold",
+ "s3:PutObjectRetention",
+ "s3:PutObjectTagging",
+ "s3:PutObjectVersionTagging",
+ "s3:Abort*",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":s3:::cdk-hnb659fds-assets-123456890123-us-east-1",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":s3:::cdk-hnb659fds-assets-123456890123-us-east-1/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "ApiBuildWebProjectRoleDefaultPolicyEA537DDE",
+ "Roles": [
+ {
+ "Ref": "ApiBuildWebProjectRole8A770CFE",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "ApiWafAssociation": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ResourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":apigateway:us-east-1::/restapis/",
+ {
+ "Ref": "APIApiFFA96F67",
+ },
+ "/stages/",
+ {
+ "Ref": "APIApiDeploymentStageapiCD55D117",
+ },
+ ],
+ ],
+ },
+ "WebACLArn": {
+ "Fn::GetAtt": [
+ "RegionalWafWebAclRegionalWaf7F1BE9A6",
+ "Arn",
+ ],
+ },
+ },
+ "Type": "AWS::WAFv2::WebACLAssociation",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "AuthIdentityPool659E7F64": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "AuthUserPoolclientA74673A9",
+ "AuthUserPool8115E87F",
+ ],
+ "Properties": {
+ "AllowUnauthenticatedIdentities": false,
+ "CognitoIdentityProviders": [
+ {
+ "ClientId": {
+ "Ref": "AuthUserPoolclientA74673A9",
+ },
+ "ProviderName": {
+ "Fn::Join": [
+ "",
+ [
+ "cognito-idp.us-east-1.",
+ {
+ "Ref": "AWS::URLSuffix",
+ },
+ "/",
+ {
+ "Ref": "AuthUserPool8115E87F",
+ },
+ ],
+ ],
+ },
+ "ServerSideTokenCheck": true,
+ },
+ ],
+ },
+ "Type": "AWS::Cognito::IdentityPool",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "AuthIdentityPoolAuthenticatedRole09311B20": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "AuthUserPoolclientA74673A9",
+ "AuthUserPool8115E87F",
+ ],
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRoleWithWebIdentity",
+ "Condition": {
+ "ForAnyValue:StringLike": {
+ "cognito-identity.amazonaws.com:amr": "authenticated",
+ },
+ "StringEquals": {
+ "cognito-identity.amazonaws.com:aud": {
+ "Ref": "AuthIdentityPool659E7F64",
+ },
+ },
+ },
+ "Effect": "Allow",
+ "Principal": {
+ "Federated": "cognito-identity.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "Description": {
+ "Fn::Join": [
+ "",
+ [
+ "Default Authenticated Role for Identity Pool ",
+ {
+ "Fn::GetAtt": [
+ "AuthIdentityPool659E7F64",
+ "Name",
+ ],
+ },
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "AuthIdentityPoolAuthenticatedRoleDefaultPolicy2F0603CE": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "AuthUserPoolclientA74673A9",
+ "AuthUserPool8115E87F",
+ ],
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": "lambda:InvokeFunction",
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "APIPredictStream44DDBC25",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "APIPredictStream44DDBC25",
+ "Arn",
+ ],
+ },
+ ":*",
+ ],
+ ],
+ },
+ ],
+ },
+ {
+ "Action": "lambda:InvokeFunction",
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "APIInvokeFlow03786D76",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "APIInvokeFlow03786D76",
+ "Arn",
+ ],
+ },
+ ":*",
+ ],
+ ],
+ },
+ ],
+ },
+ {
+ "Action": "lambda:InvokeFunction",
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "APIOptimizePromptFunctionC14E6D1B",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "APIOptimizePromptFunctionC14E6D1B",
+ "Arn",
+ ],
+ },
+ ":*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "AuthIdentityPoolAuthenticatedRoleDefaultPolicy2F0603CE",
+ "Roles": [
+ {
+ "Ref": "AuthIdentityPoolAuthenticatedRole09311B20",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "AuthIdentityPoolDefaultRoleAttachmentA62DEBB8": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "AuthUserPoolclientA74673A9",
+ "AuthUserPool8115E87F",
+ ],
+ "Properties": {
+ "IdentityPoolId": {
+ "Ref": "AuthIdentityPool659E7F64",
+ },
+ "Roles": {
+ "authenticated": {
+ "Fn::GetAtt": [
+ "AuthIdentityPoolAuthenticatedRole09311B20",
+ "Arn",
+ ],
+ },
+ "unauthenticated": {
+ "Fn::GetAtt": [
+ "AuthIdentityPoolUnauthenticatedRoleA421F307",
+ "Arn",
+ ],
+ },
+ },
+ },
+ "Type": "AWS::Cognito::IdentityPoolRoleAttachment",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "AuthIdentityPoolUnauthenticatedRoleA421F307": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "AuthUserPoolclientA74673A9",
+ "AuthUserPool8115E87F",
+ ],
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRoleWithWebIdentity",
+ "Condition": {
+ "ForAnyValue:StringLike": {
+ "cognito-identity.amazonaws.com:amr": "unauthenticated",
+ },
+ "StringEquals": {
+ "cognito-identity.amazonaws.com:aud": {
+ "Ref": "AuthIdentityPool659E7F64",
+ },
+ },
+ },
+ "Effect": "Allow",
+ "Principal": {
+ "Federated": "cognito-identity.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "Description": {
+ "Fn::Join": [
+ "",
+ [
+ "Default Unauthenticated Role for Identity Pool ",
+ {
+ "Fn::GetAtt": [
+ "AuthIdentityPool659E7F64",
+ "Name",
+ ],
+ },
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "AuthPollyPolicy8CB5A12A": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": "polly:SynthesizeSpeech",
+ "Effect": "Allow",
+ "Resource": "*",
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "AuthPollyPolicy8CB5A12A",
+ "Roles": [
+ {
+ "Ref": "AuthIdentityPoolAuthenticatedRole09311B20",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "AuthUserPool8115E87F": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AccountRecoverySetting": {
+ "RecoveryMechanisms": [
+ {
+ "Name": "verified_phone_number",
+ "Priority": 1,
+ },
+ {
+ "Name": "verified_email",
+ "Priority": 2,
+ },
+ ],
+ },
+ "AdminCreateUserConfig": {
+ "AllowAdminCreateUserOnly": false,
+ },
+ "AutoVerifiedAttributes": [
+ "email",
+ ],
+ "EmailVerificationMessage": "The verification code to your new account is {####}",
+ "EmailVerificationSubject": "Verify your new account",
+ "Policies": {
+ "PasswordPolicy": {
+ "MinimumLength": 8,
+ "RequireNumbers": true,
+ "RequireSymbols": true,
+ "RequireUppercase": true,
+ },
+ },
+ "SmsVerificationMessage": "The verification code to your new account is {####}",
+ "UsernameAttributes": [
+ "email",
+ ],
+ "VerificationMessageTemplate": {
+ "DefaultEmailOption": "CONFIRM_WITH_CODE",
+ "EmailMessage": "The verification code to your new account is {####}",
+ "EmailSubject": "Verify your new account",
+ "SmsMessage": "The verification code to your new account is {####}",
+ },
+ },
+ "Type": "AWS::Cognito::UserPool",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "AuthUserPoolclientA74673A9": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AllowedOAuthFlows": [
+ "implicit",
+ "code",
+ ],
+ "AllowedOAuthFlowsUserPoolClient": true,
+ "AllowedOAuthScopes": [
+ "profile",
+ "phone",
+ "email",
+ "openid",
+ "aws.cognito.signin.user.admin",
+ ],
+ "CallbackURLs": [
+ "https://example.com",
+ ],
+ "IdTokenValidity": 1440,
+ "SupportedIdentityProviders": [
+ "COGNITO",
+ ],
+ "TokenValidityUnits": {
+ "IdToken": "minutes",
+ },
+ "UserPoolId": {
+ "Ref": "AuthUserPool8115E87F",
+ },
+ },
+ "Type": "AWS::Cognito::UserPoolClient",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C1024MiBB049752D": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C1024MiBServiceRoleDefaultPolicy0801355D",
+ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C1024MiBServiceRole739949D8",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "AWS_CA_BUNDLE": "/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem",
+ },
+ },
+ "Handler": "index.handler",
+ "Layers": [
+ {
+ "Ref": "RagDeployDocsAwsCliLayerB3D6B7FC",
+ },
+ ],
+ "MemorySize": 1024,
+ "Role": {
+ "Fn::GetAtt": [
+ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C1024MiBServiceRole739949D8",
+ "Arn",
+ ],
+ },
+ "Runtime": "python3.11",
+ "Timeout": 900,
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C1024MiBServiceRole739949D8": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C1024MiBServiceRoleDefaultPolicy0801355D": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "s3:GetObject*",
+ "s3:GetBucket*",
+ "s3:List*",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":s3:::cdk-hnb659fds-assets-123456890123-us-east-1",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":s3:::cdk-hnb659fds-assets-123456890123-us-east-1/*",
+ ],
+ ],
+ },
+ ],
+ },
+ {
+ "Action": [
+ "s3:GetObject*",
+ "s3:GetBucket*",
+ "s3:List*",
+ "s3:DeleteObject*",
+ "s3:PutObject",
+ "s3:PutObjectLegalHold",
+ "s3:PutObjectRetention",
+ "s3:PutObjectTagging",
+ "s3:PutObjectVersionTagging",
+ "s3:Abort*",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "RagDataSourceBucket091872DB",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "RagDataSourceBucket091872DB",
+ "Arn",
+ ],
+ },
+ "/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C1024MiBServiceRoleDefaultPolicy0801355D",
+ "Roles": [
+ {
+ "Ref": "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C1024MiBServiceRole739949D8",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C512MiB6723FB92": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C512MiBServiceRoleDefaultPolicy96C3E726",
+ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C512MiBServiceRoleBA21DBC1",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "AWS_CA_BUNDLE": "/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem",
+ },
+ },
+ "Handler": "index.handler",
+ "Layers": [
+ {
+ "Ref": "ApiBuildWebDeployAwsCliLayer187512BE",
+ },
+ ],
+ "MemorySize": 512,
+ "Role": {
+ "Fn::GetAtt": [
+ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C512MiBServiceRoleBA21DBC1",
+ "Arn",
+ ],
+ },
+ "Runtime": "python3.11",
+ "Timeout": 900,
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C512MiBServiceRoleBA21DBC1": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C512MiBServiceRoleDefaultPolicy96C3E726": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "s3:GetObject*",
+ "s3:GetBucket*",
+ "s3:List*",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":s3:::cdk-hnb659fds-assets-123456890123-us-east-1",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":s3:::cdk-hnb659fds-assets-123456890123-us-east-1/*",
+ ],
+ ],
+ },
+ ],
+ },
+ {
+ "Action": [
+ "s3:GetObject*",
+ "s3:GetBucket*",
+ "s3:List*",
+ "s3:DeleteObject*",
+ "s3:PutObject",
+ "s3:PutObjectLegalHold",
+ "s3:PutObjectRetention",
+ "s3:PutObjectTagging",
+ "s3:PutObjectVersionTagging",
+ "s3:Abort*",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputFnGetAttClosedWebWebBucket6C6180ECArn51D7CA47",
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputFnGetAttClosedWebWebBucket6C6180ECArn51D7CA47",
+ },
+ "/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C512MiBServiceRoleDefaultPolicy96C3E726",
+ "Roles": [
+ {
+ "Ref": "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C512MiBServiceRoleBA21DBC1",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Description": {
+ "Fn::Join": [
+ "",
+ [
+ "Lambda function for auto-deleting objects in ",
+ {
+ "Ref": "APIFileBucket8FB29855",
+ },
+ " S3 bucket.",
+ ],
+ ],
+ },
+ "Handler": "index.handler",
+ "MemorySize": 128,
+ "Role": {
+ "Fn::GetAtt": [
+ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Sub": "arn:\${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "DatabaseStatsTable9C709761": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AttributeDefinitions": [
+ {
+ "AttributeName": "id",
+ "AttributeType": "S",
+ },
+ {
+ "AttributeName": "userId",
+ "AttributeType": "S",
+ },
+ ],
+ "BillingMode": "PAY_PER_REQUEST",
+ "KeySchema": [
+ {
+ "AttributeName": "id",
+ "KeyType": "HASH",
+ },
+ {
+ "AttributeName": "userId",
+ "KeyType": "RANGE",
+ },
+ ],
+ },
+ "Type": "AWS::DynamoDB::Table",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "DatabaseTableF104A135": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AttributeDefinitions": [
+ {
+ "AttributeName": "id",
+ "AttributeType": "S",
+ },
+ {
+ "AttributeName": "createdDate",
+ "AttributeType": "S",
+ },
+ {
+ "AttributeName": "feedback",
+ "AttributeType": "S",
+ },
+ ],
+ "BillingMode": "PAY_PER_REQUEST",
+ "GlobalSecondaryIndexes": [
+ {
+ "IndexName": "FeedbackIndex",
+ "KeySchema": [
+ {
+ "AttributeName": "feedback",
+ "KeyType": "HASH",
+ },
+ ],
+ "Projection": {
+ "ProjectionType": "ALL",
+ },
+ },
+ ],
+ "KeySchema": [
+ {
+ "AttributeName": "id",
+ "KeyType": "HASH",
+ },
+ {
+ "AttributeName": "createdDate",
+ "KeyType": "RANGE",
+ },
+ ],
+ },
+ "Type": "AWS::DynamoDB::Table",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "LambdaSeurityGroup14B5161A": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "GroupDescription": "GenU Lambda Security Group",
+ "SecurityGroupEgress": [
+ {
+ "CidrIp": "0.0.0.0/0",
+ "Description": "Allow all outbound traffic by default",
+ "IpProtocol": "-1",
+ },
+ ],
+ "VpcId": {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcC15583C91CC421C2",
+ },
+ },
+ "Type": "AWS::EC2::SecurityGroup",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "NodejsBuildCustomResourceHandler25648b212c404f09aa65b6bbb0c446591C4101F8": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "NodejsBuildCustomResourceHandler25648b212c404f09aa65b6bbb0c44659ServiceRoleDefaultPolicyCF8879D3",
+ "NodejsBuildCustomResourceHandler25648b212c404f09aa65b6bbb0c44659ServiceRoleCB01FBE6",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Handler": "index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "NodejsBuildCustomResourceHandler25648b212c404f09aa65b6bbb0c44659ServiceRoleCB01FBE6",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs20.x",
+ "Timeout": 300,
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "NodejsBuildCustomResourceHandler25648b212c404f09aa65b6bbb0c44659ServiceRoleCB01FBE6": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "NodejsBuildCustomResourceHandler25648b212c404f09aa65b6bbb0c44659ServiceRoleDefaultPolicyCF8879D3": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": "codebuild:StartBuild",
+ "Effect": "Allow",
+ "Resource": {
+ "Fn::GetAtt": [
+ "ApiBuildWebProjectDF2CE9D0",
+ "Arn",
+ ],
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "NodejsBuildCustomResourceHandler25648b212c404f09aa65b6bbb0c44659ServiceRoleDefaultPolicyCF8879D3",
+ "Roles": [
+ {
+ "Ref": "NodejsBuildCustomResourceHandler25648b212c404f09aa65b6bbb0c44659ServiceRoleCB01FBE6",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "RagAuthorizer1D577454": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "IdentitySource": "method.request.header.Authorization",
+ "Name": "GenerativeAiUseCasesStackRagAuthorizer01650AA3",
+ "ProviderARNs": [
+ {
+ "Fn::GetAtt": [
+ "AuthUserPool8115E87F",
+ "Arn",
+ ],
+ },
+ ],
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ "Type": "COGNITO_USER_POOLS",
+ },
+ "Type": "AWS::ApiGateway::Authorizer",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "RagDataSourceAccessLogsBucket19E6B2F2": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AccessControl": "LogDeliveryWrite",
+ "BucketEncryption": {
+ "ServerSideEncryptionConfiguration": [
+ {
+ "ServerSideEncryptionByDefault": {
+ "SSEAlgorithm": "AES256",
+ },
+ },
+ ],
+ },
+ "OwnershipControls": {
+ "Rules": [
+ {
+ "ObjectOwnership": "ObjectWriter",
+ },
+ ],
+ },
+ "PublicAccessBlockConfiguration": {
+ "BlockPublicAcls": true,
+ "BlockPublicPolicy": true,
+ "IgnorePublicAcls": true,
+ "RestrictPublicBuckets": true,
+ },
+ "Tags": [
+ {
+ "Key": "aws-cdk:auto-delete-objects",
+ "Value": "true",
+ },
+ ],
+ },
+ "Type": "AWS::S3::Bucket",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "RagDataSourceAccessLogsBucketAutoDeleteObjectsCustomResourceFF20BC83": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "RagDataSourceAccessLogsBucketPolicy62E1908B",
+ ],
+ "Properties": {
+ "BucketName": {
+ "Ref": "RagDataSourceAccessLogsBucket19E6B2F2",
+ },
+ "ServiceToken": {
+ "Fn::GetAtt": [
+ "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F",
+ "Arn",
+ ],
+ },
+ },
+ "Type": "Custom::S3AutoDeleteObjects",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "RagDataSourceAccessLogsBucketPolicy62E1908B": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Bucket": {
+ "Ref": "RagDataSourceAccessLogsBucket19E6B2F2",
+ },
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": "s3:*",
+ "Condition": {
+ "Bool": {
+ "aws:SecureTransport": "false",
+ },
+ },
+ "Effect": "Deny",
+ "Principal": {
+ "AWS": "*",
+ },
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "RagDataSourceAccessLogsBucket19E6B2F2",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "RagDataSourceAccessLogsBucket19E6B2F2",
+ "Arn",
+ ],
+ },
+ "/*",
+ ],
+ ],
+ },
+ ],
+ },
+ {
+ "Action": [
+ "s3:PutBucketPolicy",
+ "s3:GetBucket*",
+ "s3:List*",
+ "s3:DeleteObject*",
+ ],
+ "Effect": "Allow",
+ "Principal": {
+ "AWS": {
+ "Fn::GetAtt": [
+ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
+ "Arn",
+ ],
+ },
+ },
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "RagDataSourceAccessLogsBucket19E6B2F2",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "RagDataSourceAccessLogsBucket19E6B2F2",
+ "Arn",
+ ],
+ },
+ "/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ },
+ "Type": "AWS::S3::BucketPolicy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "RagDataSourceBucket091872DB": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "BucketEncryption": {
+ "ServerSideEncryptionConfiguration": [
+ {
+ "ServerSideEncryptionByDefault": {
+ "SSEAlgorithm": "AES256",
+ },
+ },
+ ],
+ },
+ "LoggingConfiguration": {
+ "DestinationBucketName": {
+ "Ref": "RagDataSourceAccessLogsBucket19E6B2F2",
+ },
+ "LogFilePrefix": "AccessLogs/",
+ },
+ "OwnershipControls": {
+ "Rules": [
+ {
+ "ObjectOwnership": "ObjectWriter",
+ },
+ ],
+ },
+ "PublicAccessBlockConfiguration": {
+ "BlockPublicAcls": true,
+ "BlockPublicPolicy": true,
+ "IgnorePublicAcls": true,
+ "RestrictPublicBuckets": true,
+ },
+ "Tags": [
+ {
+ "Key": "aws-cdk:auto-delete-objects",
+ "Value": "true",
+ },
+ {
+ "Key": "aws-cdk:cr-owned:3a24f5d1",
+ "Value": "true",
+ },
+ ],
+ },
+ "Type": "AWS::S3::Bucket",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "RagDataSourceBucketAutoDeleteObjectsCustomResource68020032": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "RagDataSourceBucketPolicyD4E0A087",
+ ],
+ "Properties": {
+ "BucketName": {
+ "Ref": "RagDataSourceBucket091872DB",
+ },
+ "ServiceToken": {
+ "Fn::GetAtt": [
+ "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F",
+ "Arn",
+ ],
+ },
+ },
+ "Type": "Custom::S3AutoDeleteObjects",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "RagDataSourceBucketPolicyD4E0A087": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Bucket": {
+ "Ref": "RagDataSourceBucket091872DB",
+ },
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": "s3:*",
+ "Condition": {
+ "Bool": {
+ "aws:SecureTransport": "false",
+ },
+ },
+ "Effect": "Deny",
+ "Principal": {
+ "AWS": "*",
+ },
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "RagDataSourceBucket091872DB",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "RagDataSourceBucket091872DB",
+ "Arn",
+ ],
+ },
+ "/*",
+ ],
+ ],
+ },
+ ],
+ },
+ {
+ "Action": [
+ "s3:PutBucketPolicy",
+ "s3:GetBucket*",
+ "s3:List*",
+ "s3:DeleteObject*",
+ ],
+ "Effect": "Allow",
+ "Principal": {
+ "AWS": {
+ "Fn::GetAtt": [
+ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
+ "Arn",
+ ],
+ },
+ },
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "RagDataSourceBucket091872DB",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "RagDataSourceBucket091872DB",
+ "Arn",
+ ],
+ },
+ "/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ },
+ "Type": "AWS::S3::BucketPolicy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "RagDataSourceRole3AFE601B": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "kendra.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "RagDataSourceRoleDefaultPolicyA0697035": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": "s3:ListBucket",
+ "Effect": "Allow",
+ "Resource": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:aws:s3:::",
+ {
+ "Ref": "RagDataSourceBucket091872DB",
+ },
+ ],
+ ],
+ },
+ },
+ {
+ "Action": "s3:GetObject",
+ "Effect": "Allow",
+ "Resource": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:aws:s3:::",
+ {
+ "Ref": "RagDataSourceBucket091872DB",
+ },
+ "/*",
+ ],
+ ],
+ },
+ },
+ {
+ "Action": [
+ "kendra:BatchPutDocument",
+ "kendra:BatchDeleteDocument",
+ ],
+ "Effect": "Allow",
+ "Resource": {
+ "Fn::GetAtt": [
+ "RagKendraIndexFEF3924C",
+ "Arn",
+ ],
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "RagDataSourceRoleDefaultPolicyA0697035",
+ "Roles": [
+ {
+ "Ref": "RagDataSourceRole3AFE601B",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "RagDeployDocsAwsCliLayerB3D6B7FC": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Content": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Description": "/opt/awscli/aws",
+ },
+ "Type": "AWS::Lambda::LayerVersion",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "RagDeployDocsCustomResource1024MiB43EE2539": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "DestinationBucketName": {
+ "Ref": "RagDataSourceBucket091872DB",
+ },
+ "Exclude": [
+ "AccessLogs/*",
+ "logs*",
+ "docs/bedrock-ug.pdf.metadata.json",
+ "docs/nova-ug.pdf.metadata.json",
+ ],
+ "OutputObjectKeys": true,
+ "Prune": false,
+ "ServiceToken": {
+ "Fn::GetAtt": [
+ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C1024MiBB049752D",
+ "Arn",
+ ],
+ },
+ "SourceBucketNames": [
+ "cdk-hnb659fds-assets-123456890123-us-east-1",
+ ],
+ "SourceObjectKeys": [
+ "HASH-REPLACED.zip",
+ ],
+ },
+ "Type": "Custom::CDKBucketDeployment",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "RagKendraIndexFEF3924C": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Edition": "DEVELOPER_EDITION",
+ "Name": "generative-ai-use-cases-index",
+ "RoleArn": {
+ "Fn::GetAtt": [
+ "RagKendraIndexRole183684D3",
+ "Arn",
+ ],
+ },
+ "UserContextPolicy": "USER_TOKEN",
+ "UserTokenConfigurations": [
+ {
+ "JwtTokenTypeConfiguration": {
+ "GroupAttributeField": "cognito:groups",
+ "KeyLocation": "URL",
+ "URL": {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "AuthUserPool8115E87F",
+ "ProviderURL",
+ ],
+ },
+ "/.well-known/jwks.json",
+ ],
+ ],
+ },
+ "UserNameAttributeField": "cognito:username",
+ },
+ },
+ ],
+ },
+ "Type": "AWS::Kendra::Index",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "RagKendraIndexRole183684D3": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "kendra.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/CloudWatchLogsFullAccess",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "RagKendraIndexRoleDefaultPolicyFC744A27": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": "s3:GetObject",
+ "Effect": "Allow",
+ "Resource": "*",
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "RagKendraIndexRoleDefaultPolicyFC744A27",
+ "Roles": [
+ {
+ "Ref": "RagKendraIndexRole183684D3",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "RagKnowledgeBaseAuthorizerE73D3108": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "IdentitySource": "method.request.header.Authorization",
+ "Name": "GenerativeAiUseCasesStackRagKnowledgeBaseAuthorizer981836CD",
+ "ProviderARNs": [
+ {
+ "Fn::GetAtt": [
+ "AuthUserPool8115E87F",
+ "Arn",
+ ],
+ },
+ ],
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ "Type": "COGNITO_USER_POOLS",
+ },
+ "Type": "AWS::ApiGateway::Authorizer",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "RagKnowledgeBaseRetrieve67B5F652": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "RagKnowledgeBaseRetrieveServiceRoleDefaultPolicy83CCDA03",
+ "RagKnowledgeBaseRetrieveServiceRoleCB099EEC",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "CROSS_ACCOUNT_BEDROCK_ROLE_ARN": "",
+ "KNOWLEDGE_BASE_ID": {
+ "Fn::ImportValue": "RagKnowledgeBaseStack:ExportsOutputRefKnowledgeBaseD054384B",
+ },
+ "MODEL_REGION": "us-east-1",
+ },
+ },
+ "Handler": "index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "RagKnowledgeBaseRetrieveServiceRoleCB099EEC",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "LambdaSeurityGroup14B5161A",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "RagKnowledgeBaseRetrieveServiceRoleCB099EEC": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "RagKnowledgeBaseRetrieveServiceRoleDefaultPolicy83CCDA03": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": "bedrock:Retrieve",
+ "Effect": "Allow",
+ "Resource": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:aws:bedrock:us-east-1:123456890123:knowledge-base/",
+ {
+ "Fn::ImportValue": "RagKnowledgeBaseStack:ExportsOutputRefKnowledgeBaseD054384B",
+ },
+ ],
+ ],
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "RagKnowledgeBaseRetrieveServiceRoleDefaultPolicy83CCDA03",
+ "Roles": [
+ {
+ "Ref": "RagKnowledgeBaseRetrieveServiceRoleCB099EEC",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "RagQuery46261080": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "RagQueryServiceRoleDefaultPolicy7B690C59",
+ "RagQueryServiceRoleF4A9010B",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "INDEX_ID": {
+ "Ref": "RagKendraIndexFEF3924C",
+ },
+ "LANGUAGE": "ja",
+ },
+ },
+ "Handler": "index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "RagQueryServiceRoleF4A9010B",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "LambdaSeurityGroup14B5161A",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "RagQueryServiceRoleDefaultPolicy7B690C59": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": "kendra:Query",
+ "Effect": "Allow",
+ "Resource": {
+ "Fn::GetAtt": [
+ "RagKendraIndexFEF3924C",
+ "Arn",
+ ],
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "RagQueryServiceRoleDefaultPolicy7B690C59",
+ "Roles": [
+ {
+ "Ref": "RagQueryServiceRoleF4A9010B",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "RagQueryServiceRoleF4A9010B": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "RagRetrieve78B54C98": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "RagRetrieveServiceRoleDefaultPolicyDAF1DB92",
+ "RagRetrieveServiceRoleF745466E",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "INDEX_ID": {
+ "Ref": "RagKendraIndexFEF3924C",
+ },
+ "LANGUAGE": "ja",
+ },
+ },
+ "Handler": "index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "RagRetrieveServiceRoleF745466E",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "LambdaSeurityGroup14B5161A",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "RagRetrieveServiceRoleDefaultPolicyDAF1DB92": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": "kendra:Retrieve",
+ "Effect": "Allow",
+ "Resource": {
+ "Fn::GetAtt": [
+ "RagKendraIndexFEF3924C",
+ "Arn",
+ ],
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "RagRetrieveServiceRoleDefaultPolicyDAF1DB92",
+ "Roles": [
+ {
+ "Ref": "RagRetrieveServiceRoleF745466E",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "RagRetrieveServiceRoleF745466E": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "RagS3DataSourceDEE56AB6": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "RagKendraIndexFEF3924C",
+ ],
+ "Properties": {
+ "DataSourceConfiguration": {
+ "S3Configuration": {
+ "BucketName": {
+ "Ref": "RagDataSourceBucket091872DB",
+ },
+ "InclusionPrefixes": [
+ "docs",
+ ],
+ },
+ },
+ "IndexId": {
+ "Fn::GetAtt": [
+ "RagKendraIndexFEF3924C",
+ "Id",
+ ],
+ },
+ "LanguageCode": "ja",
+ "Name": "s3-data-source",
+ "RoleArn": {
+ "Fn::GetAtt": [
+ "RagDataSourceRole3AFE601B",
+ "Arn",
+ ],
+ },
+ "Type": "S3",
+ },
+ "Type": "AWS::Kendra::DataSource",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "RegionalWafWebAclRegionalWaf7F1BE9A6": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "DefaultAction": {
+ "Block": {},
+ },
+ "Name": "WebAcl-GenerativeAiUseCasesStackRegionalWaf2D5714A0",
+ "Rules": [
+ {
+ "Action": {
+ "Allow": {},
+ },
+ "Name": "GeoMatchRuleRegionalWaf",
+ "Priority": 3,
+ "Statement": {
+ "GeoMatchStatement": {
+ "CountryCodes": [
+ "JP",
+ ],
+ },
+ },
+ "VisibilityConfig": {
+ "CloudWatchMetricsEnabled": true,
+ "MetricName": "GeoMatchRuleRegionalWaf",
+ "SampledRequestsEnabled": true,
+ },
+ },
+ ],
+ "Scope": "REGIONAL",
+ "VisibilityConfig": {
+ "CloudWatchMetricsEnabled": true,
+ "MetricName": "WebAcl-GenerativeAiUseCasesStackRegionalWaf2D5714A0",
+ "SampledRequestsEnabled": true,
+ },
+ },
+ "Type": "AWS::WAFv2::WebACL",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "SpeechToSpeechAuthorizerF61277A4": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "IdentitySource": "method.request.header.Authorization",
+ "Name": "GenerativeAiUseCasesStackSpeechToSpeechAuthorizerC597101F",
+ "ProviderARNs": [
+ {
+ "Fn::GetAtt": [
+ "AuthUserPool8115E87F",
+ "Arn",
+ ],
+ },
+ ],
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ "Type": "COGNITO_USER_POOLS",
+ },
+ "Type": "AWS::ApiGateway::Authorizer",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "SpeechToSpeechChannelNameCA32A058": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ApiId": {
+ "Fn::GetAtt": [
+ "SpeechToSpeechEventApi1E2E9AB4",
+ "ApiId",
+ ],
+ },
+ "HandlerConfigs": {},
+ "Name": "speech-to-speech",
+ },
+ "Type": "AWS::AppSync::ChannelNamespace",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "SpeechToSpeechEventApi1E2E9AB4": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "EventConfig": {
+ "AuthProviders": [
+ {
+ "AuthType": "AWS_IAM",
+ },
+ {
+ "AuthType": "AMAZON_COGNITO_USER_POOLS",
+ "CognitoConfig": {
+ "AwsRegion": "us-east-1",
+ "UserPoolId": {
+ "Ref": "AuthUserPool8115E87F",
+ },
+ },
+ },
+ ],
+ "ConnectionAuthModes": [
+ {
+ "AuthType": "AWS_IAM",
+ },
+ {
+ "AuthType": "AMAZON_COGNITO_USER_POOLS",
+ },
+ ],
+ "DefaultPublishAuthModes": [
+ {
+ "AuthType": "AWS_IAM",
+ },
+ {
+ "AuthType": "AMAZON_COGNITO_USER_POOLS",
+ },
+ ],
+ "DefaultSubscribeAuthModes": [
+ {
+ "AuthType": "AWS_IAM",
+ },
+ {
+ "AuthType": "AMAZON_COGNITO_USER_POOLS",
+ },
+ ],
+ },
+ "Name": "SpeechToSpeech",
+ },
+ "Type": "AWS::AppSync::Api",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "SpeechToSpeechStartSession80A7495E": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "SpeechToSpeechStartSessionServiceRoleDefaultPolicy4D6D3AC7",
+ "SpeechToSpeechStartSessionServiceRoleEBE56984",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "SPEECH_TO_SPEECH_MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"amazon.nova-sonic-v1:0","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfileamazonnovasonicv10InferenceProfileArnDDA114DD",
+ },
+ ""}]",
+ ],
+ ],
+ },
+ "SPEECH_TO_SPEECH_TASK_FUNCTION_ARN": {
+ "Fn::GetAtt": [
+ "SpeechToSpeechTaskC1149BF3",
+ "Arn",
+ ],
+ },
+ },
+ },
+ "Handler": "index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "SpeechToSpeechStartSessionServiceRoleEBE56984",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "LambdaSeurityGroup14B5161A",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "SpeechToSpeechStartSessionServiceRoleDefaultPolicy4D6D3AC7": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": "lambda:InvokeFunction",
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "SpeechToSpeechTaskC1149BF3",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "SpeechToSpeechTaskC1149BF3",
+ "Arn",
+ ],
+ },
+ ":*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "SpeechToSpeechStartSessionServiceRoleDefaultPolicy4D6D3AC7",
+ "Roles": [
+ {
+ "Ref": "SpeechToSpeechStartSessionServiceRoleEBE56984",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "SpeechToSpeechStartSessionServiceRoleEBE56984": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "SpeechToSpeechTaskC1149BF3": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "SpeechToSpeechTaskServiceRoleDefaultPolicy1048205C",
+ "SpeechToSpeechTaskServiceRole6B9DD524",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "CROSS_ACCOUNT_BEDROCK_ROLE_ARN": "",
+ "EVENT_API_ENDPOINT": {
+ "Fn::Join": [
+ "",
+ [
+ "https://",
+ {
+ "Fn::GetAtt": [
+ "SpeechToSpeechEventApi1E2E9AB4",
+ "Dns.Http",
+ ],
+ },
+ "/event",
+ ],
+ ],
+ },
+ "NAMESPACE": "speech-to-speech",
+ "SPEECH_TO_SPEECH_MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"amazon.nova-sonic-v1:0","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfileamazonnovasonicv10InferenceProfileArnDDA114DD",
+ },
+ ""}]",
+ ],
+ ],
+ },
+ },
+ },
+ "Handler": "index.handler",
+ "MemorySize": 512,
+ "Role": {
+ "Fn::GetAtt": [
+ "SpeechToSpeechTaskServiceRole6B9DD524",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "LambdaSeurityGroup14B5161A",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "SpeechToSpeechTaskServiceRole6B9DD524": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "SpeechToSpeechTaskServiceRoleDefaultPolicy1048205C": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": "appsync:EventConnect",
+ "Effect": "Allow",
+ "Resource": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":appsync:us-east-1:123456890123:apis/",
+ {
+ "Fn::GetAtt": [
+ "SpeechToSpeechEventApi1E2E9AB4",
+ "ApiId",
+ ],
+ },
+ ],
+ ],
+ },
+ },
+ {
+ "Action": [
+ "appsync:EventPublish",
+ "appsync:EventSubscribe",
+ ],
+ "Effect": "Allow",
+ "Resource": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":appsync:us-east-1:123456890123:apis/",
+ {
+ "Fn::GetAtt": [
+ "SpeechToSpeechEventApi1E2E9AB4",
+ "ApiId",
+ ],
+ },
+ "/channelNamespace/speech-to-speech",
+ ],
+ ],
+ },
+ },
+ {
+ "Action": "bedrock:*",
+ "Effect": "Allow",
+ "Resource": "*",
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "SpeechToSpeechTaskServiceRoleDefaultPolicy1048205C",
+ "Roles": [
+ {
+ "Ref": "SpeechToSpeechTaskServiceRole6B9DD524",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "TranscribeAudioBucket39DFF290": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "BucketEncryption": {
+ "ServerSideEncryptionConfiguration": [
+ {
+ "ServerSideEncryptionByDefault": {
+ "SSEAlgorithm": "AES256",
+ },
+ },
+ ],
+ },
+ "CorsConfiguration": {
+ "CorsRules": [
+ {
+ "AllowedHeaders": [
+ "*",
+ ],
+ "AllowedMethods": [
+ "PUT",
+ ],
+ "AllowedOrigins": [
+ "*",
+ ],
+ "ExposedHeaders": [],
+ "MaxAge": 3000,
+ },
+ ],
+ },
+ "PublicAccessBlockConfiguration": {
+ "BlockPublicAcls": true,
+ "BlockPublicPolicy": true,
+ "IgnorePublicAcls": true,
+ "RestrictPublicBuckets": true,
+ },
+ "Tags": [
+ {
+ "Key": "aws-cdk:auto-delete-objects",
+ "Value": "true",
+ },
+ ],
+ },
+ "Type": "AWS::S3::Bucket",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "TranscribeAudioBucketAutoDeleteObjectsCustomResourceD2EB7175": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "TranscribeAudioBucketPolicyB71E621B",
+ ],
+ "Properties": {
+ "BucketName": {
+ "Ref": "TranscribeAudioBucket39DFF290",
+ },
+ "ServiceToken": {
+ "Fn::GetAtt": [
+ "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F",
+ "Arn",
+ ],
+ },
+ },
+ "Type": "Custom::S3AutoDeleteObjects",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "TranscribeAudioBucketPolicyB71E621B": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Bucket": {
+ "Ref": "TranscribeAudioBucket39DFF290",
+ },
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": "s3:*",
+ "Condition": {
+ "Bool": {
+ "aws:SecureTransport": "false",
+ },
+ },
+ "Effect": "Deny",
+ "Principal": {
+ "AWS": "*",
+ },
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "TranscribeAudioBucket39DFF290",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "TranscribeAudioBucket39DFF290",
+ "Arn",
+ ],
+ },
+ "/*",
+ ],
+ ],
+ },
+ ],
+ },
+ {
+ "Action": [
+ "s3:PutBucketPolicy",
+ "s3:GetBucket*",
+ "s3:List*",
+ "s3:DeleteObject*",
+ ],
+ "Effect": "Allow",
+ "Principal": {
+ "AWS": {
+ "Fn::GetAtt": [
+ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
+ "Arn",
+ ],
+ },
+ },
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "TranscribeAudioBucket39DFF290",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "TranscribeAudioBucket39DFF290",
+ "Arn",
+ ],
+ },
+ "/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ },
+ "Type": "AWS::S3::BucketPolicy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "TranscribeAuthorizerAD1EA74B": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "IdentitySource": "method.request.header.Authorization",
+ "Name": "GenerativeAiUseCasesStackTranscribeAuthorizerAF169A6F",
+ "ProviderARNs": [
+ {
+ "Fn::GetAtt": [
+ "AuthUserPool8115E87F",
+ "Arn",
+ ],
+ },
+ ],
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ "Type": "COGNITO_USER_POOLS",
+ },
+ "Type": "AWS::ApiGateway::Authorizer",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "TranscribeGetSignedUrlB23CCF77": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "TranscribeGetSignedUrlServiceRoleDefaultPolicyD897275F",
+ "TranscribeGetSignedUrlServiceRoleA1966EF9",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "BUCKET_NAME": {
+ "Ref": "TranscribeAudioBucket39DFF290",
+ },
+ },
+ },
+ "Handler": "index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "TranscribeGetSignedUrlServiceRoleA1966EF9",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "LambdaSeurityGroup14B5161A",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "TranscribeGetSignedUrlServiceRoleA1966EF9": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "TranscribeGetSignedUrlServiceRoleDefaultPolicyD897275F": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "s3:Abort*",
+ "s3:DeleteObject*",
+ "s3:PutObject*",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:aws:s3:::",
+ {
+ "Ref": "TranscribeAudioBucket39DFF290",
+ },
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:aws:s3:::",
+ {
+ "Ref": "TranscribeAudioBucket39DFF290",
+ },
+ "/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "TranscribeGetSignedUrlServiceRoleDefaultPolicyD897275F",
+ "Roles": [
+ {
+ "Ref": "TranscribeGetSignedUrlServiceRoleA1966EF9",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "TranscribeGetTranscription3C736BFC": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "TranscribeGetTranscriptionServiceRoleDefaultPolicy319B7E4B",
+ "TranscribeGetTranscriptionServiceRoleF0840D49",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Handler": "index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "TranscribeGetTranscriptionServiceRoleF0840D49",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "LambdaSeurityGroup14B5161A",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "TranscribeGetTranscriptionServiceRoleDefaultPolicy319B7E4B": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": "transcribe:*",
+ "Effect": "Allow",
+ "Resource": "*",
+ },
+ {
+ "Action": [
+ "s3:GetObject*",
+ "s3:GetBucket*",
+ "s3:List*",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "TranscribeTranscriptBucketE67CAF92",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "TranscribeTranscriptBucketE67CAF92",
+ "Arn",
+ ],
+ },
+ "/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "TranscribeGetTranscriptionServiceRoleDefaultPolicy319B7E4B",
+ "Roles": [
+ {
+ "Ref": "TranscribeGetTranscriptionServiceRoleF0840D49",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "TranscribeGetTranscriptionServiceRoleF0840D49": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "TranscribeGrantAccessTranscribeStream9E9439CC": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": "transcribe:StartStreamTranscriptionWebSocket",
+ "Effect": "Allow",
+ "Resource": "*",
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "TranscribeGrantAccessTranscribeStream9E9439CC",
+ "Roles": [
+ {
+ "Ref": "AuthIdentityPoolAuthenticatedRole09311B20",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "TranscribeStartTranscription7C6A7A96": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "TranscribeStartTranscriptionServiceRoleDefaultPolicyE7AED37C",
+ "TranscribeStartTranscriptionServiceRoleE21CF5C0",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "TRANSCRIPT_BUCKET_NAME": {
+ "Ref": "TranscribeTranscriptBucketE67CAF92",
+ },
+ },
+ },
+ "Handler": "index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "TranscribeStartTranscriptionServiceRoleE21CF5C0",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "LambdaSeurityGroup14B5161A",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "TranscribeStartTranscriptionServiceRoleDefaultPolicyE7AED37C": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": "transcribe:*",
+ "Effect": "Allow",
+ "Resource": "*",
+ },
+ {
+ "Action": [
+ "s3:GetObject*",
+ "s3:GetBucket*",
+ "s3:List*",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "TranscribeAudioBucket39DFF290",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "TranscribeAudioBucket39DFF290",
+ "Arn",
+ ],
+ },
+ "/*",
+ ],
+ ],
+ },
+ ],
+ },
+ {
+ "Action": [
+ "s3:DeleteObject*",
+ "s3:PutObject",
+ "s3:PutObjectLegalHold",
+ "s3:PutObjectRetention",
+ "s3:PutObjectTagging",
+ "s3:PutObjectVersionTagging",
+ "s3:Abort*",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "TranscribeTranscriptBucketE67CAF92",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "TranscribeTranscriptBucketE67CAF92",
+ "Arn",
+ ],
+ },
+ "/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "TranscribeStartTranscriptionServiceRoleDefaultPolicyE7AED37C",
+ "Roles": [
+ {
+ "Ref": "TranscribeStartTranscriptionServiceRoleE21CF5C0",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "TranscribeStartTranscriptionServiceRoleE21CF5C0": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "TranscribeTranscriptBucketAutoDeleteObjectsCustomResourceE45B855F": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "TranscribeTranscriptBucketPolicy80F67AB4",
+ ],
+ "Properties": {
+ "BucketName": {
+ "Ref": "TranscribeTranscriptBucketE67CAF92",
+ },
+ "ServiceToken": {
+ "Fn::GetAtt": [
+ "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F",
+ "Arn",
+ ],
+ },
+ },
+ "Type": "Custom::S3AutoDeleteObjects",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "TranscribeTranscriptBucketE67CAF92": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "BucketEncryption": {
+ "ServerSideEncryptionConfiguration": [
+ {
+ "ServerSideEncryptionByDefault": {
+ "SSEAlgorithm": "AES256",
+ },
+ },
+ ],
+ },
+ "PublicAccessBlockConfiguration": {
+ "BlockPublicAcls": true,
+ "BlockPublicPolicy": true,
+ "IgnorePublicAcls": true,
+ "RestrictPublicBuckets": true,
+ },
+ "Tags": [
+ {
+ "Key": "aws-cdk:auto-delete-objects",
+ "Value": "true",
+ },
+ ],
+ },
+ "Type": "AWS::S3::Bucket",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "TranscribeTranscriptBucketPolicy80F67AB4": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "Bucket": {
+ "Ref": "TranscribeTranscriptBucketE67CAF92",
+ },
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": "s3:*",
+ "Condition": {
+ "Bool": {
+ "aws:SecureTransport": "false",
+ },
+ },
+ "Effect": "Deny",
+ "Principal": {
+ "AWS": "*",
+ },
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "TranscribeTranscriptBucketE67CAF92",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "TranscribeTranscriptBucketE67CAF92",
+ "Arn",
+ ],
+ },
+ "/*",
+ ],
+ ],
+ },
+ ],
+ },
+ {
+ "Action": [
+ "s3:PutBucketPolicy",
+ "s3:GetBucket*",
+ "s3:List*",
+ "s3:DeleteObject*",
+ ],
+ "Effect": "Allow",
+ "Principal": {
+ "AWS": {
+ "Fn::GetAtt": [
+ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
+ "Arn",
+ ],
+ },
+ },
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "TranscribeTranscriptBucketE67CAF92",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "TranscribeTranscriptBucketE67CAF92",
+ "Arn",
+ ],
+ },
+ "/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ },
+ "Type": "AWS::S3::BucketPolicy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "UseCaseBuilderAuthorizer8C07733E": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "IdentitySource": "method.request.header.Authorization",
+ "Name": "GenerativeAiUseCasesStackUseCaseBuilderAuthorizer9AB4C426",
+ "ProviderARNs": [
+ {
+ "Fn::GetAtt": [
+ "AuthUserPool8115E87F",
+ "Arn",
+ ],
+ },
+ ],
+ "RestApiId": {
+ "Ref": "APIApiFFA96F67",
+ },
+ "Type": "COGNITO_USER_POOLS",
+ },
+ "Type": "AWS::ApiGateway::Authorizer",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "UseCaseBuilderCreateUseCase63174982": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "UseCaseBuilderCreateUseCaseServiceRoleDefaultPolicyC8ABD900",
+ "UseCaseBuilderCreateUseCaseServiceRoleA3FFCC29",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "USECASE_ID_INDEX_NAME": "UseCaseIdIndexName",
+ "USECASE_TABLE_NAME": {
+ "Ref": "UseCaseBuilderUseCaseBuilderTable449740F3",
+ },
+ },
+ },
+ "Handler": "index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "UseCaseBuilderCreateUseCaseServiceRoleA3FFCC29",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "LambdaSeurityGroup14B5161A",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "UseCaseBuilderCreateUseCaseServiceRoleA3FFCC29": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "UseCaseBuilderCreateUseCaseServiceRoleDefaultPolicyC8ABD900": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "dynamodb:BatchWriteItem",
+ "dynamodb:PutItem",
+ "dynamodb:UpdateItem",
+ "dynamodb:DeleteItem",
+ "dynamodb:DescribeTable",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "UseCaseBuilderUseCaseBuilderTable449740F3",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "UseCaseBuilderUseCaseBuilderTable449740F3",
+ "Arn",
+ ],
+ },
+ "/index/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "UseCaseBuilderCreateUseCaseServiceRoleDefaultPolicyC8ABD900",
+ "Roles": [
+ {
+ "Ref": "UseCaseBuilderCreateUseCaseServiceRoleA3FFCC29",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "UseCaseBuilderDeleteUseCaseA7529A4C": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "UseCaseBuilderDeleteUseCaseServiceRoleDefaultPolicy40E63535",
+ "UseCaseBuilderDeleteUseCaseServiceRoleCC0155F5",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "USECASE_ID_INDEX_NAME": "UseCaseIdIndexName",
+ "USECASE_TABLE_NAME": {
+ "Ref": "UseCaseBuilderUseCaseBuilderTable449740F3",
+ },
+ },
+ },
+ "Handler": "index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "UseCaseBuilderDeleteUseCaseServiceRoleCC0155F5",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "LambdaSeurityGroup14B5161A",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "UseCaseBuilderDeleteUseCaseServiceRoleCC0155F5": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "UseCaseBuilderDeleteUseCaseServiceRoleDefaultPolicy40E63535": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "dynamodb:BatchGetItem",
+ "dynamodb:GetRecords",
+ "dynamodb:GetShardIterator",
+ "dynamodb:Query",
+ "dynamodb:GetItem",
+ "dynamodb:Scan",
+ "dynamodb:ConditionCheckItem",
+ "dynamodb:BatchWriteItem",
+ "dynamodb:PutItem",
+ "dynamodb:UpdateItem",
+ "dynamodb:DeleteItem",
+ "dynamodb:DescribeTable",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "UseCaseBuilderUseCaseBuilderTable449740F3",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "UseCaseBuilderUseCaseBuilderTable449740F3",
+ "Arn",
+ ],
+ },
+ "/index/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "UseCaseBuilderDeleteUseCaseServiceRoleDefaultPolicy40E63535",
+ "Roles": [
+ {
+ "Ref": "UseCaseBuilderDeleteUseCaseServiceRoleCC0155F5",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "UseCaseBuilderGetUseCaseAB744D97": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "UseCaseBuilderGetUseCaseServiceRoleDefaultPolicyB8CCBF75",
+ "UseCaseBuilderGetUseCaseServiceRoleF32AAC5F",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "USECASE_ID_INDEX_NAME": "UseCaseIdIndexName",
+ "USECASE_TABLE_NAME": {
+ "Ref": "UseCaseBuilderUseCaseBuilderTable449740F3",
+ },
+ },
+ },
+ "Handler": "index.handler",
+ "MemorySize": 512,
+ "Role": {
+ "Fn::GetAtt": [
+ "UseCaseBuilderGetUseCaseServiceRoleF32AAC5F",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "LambdaSeurityGroup14B5161A",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "UseCaseBuilderGetUseCaseServiceRoleDefaultPolicyB8CCBF75": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "dynamodb:BatchGetItem",
+ "dynamodb:GetRecords",
+ "dynamodb:GetShardIterator",
+ "dynamodb:Query",
+ "dynamodb:GetItem",
+ "dynamodb:Scan",
+ "dynamodb:ConditionCheckItem",
+ "dynamodb:DescribeTable",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "UseCaseBuilderUseCaseBuilderTable449740F3",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "UseCaseBuilderUseCaseBuilderTable449740F3",
+ "Arn",
+ ],
+ },
+ "/index/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "UseCaseBuilderGetUseCaseServiceRoleDefaultPolicyB8CCBF75",
+ "Roles": [
+ {
+ "Ref": "UseCaseBuilderGetUseCaseServiceRoleF32AAC5F",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "UseCaseBuilderGetUseCaseServiceRoleF32AAC5F": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "UseCaseBuilderListFavoriteUseCasesC4AF9A45": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "UseCaseBuilderListFavoriteUseCasesServiceRoleDefaultPolicy51BC1ECC",
+ "UseCaseBuilderListFavoriteUseCasesServiceRole5BCFD9A7",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "USECASE_ID_INDEX_NAME": "UseCaseIdIndexName",
+ "USECASE_TABLE_NAME": {
+ "Ref": "UseCaseBuilderUseCaseBuilderTable449740F3",
+ },
+ },
+ },
+ "Handler": "index.handler",
+ "MemorySize": 512,
+ "Role": {
+ "Fn::GetAtt": [
+ "UseCaseBuilderListFavoriteUseCasesServiceRole5BCFD9A7",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "LambdaSeurityGroup14B5161A",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "UseCaseBuilderListFavoriteUseCasesServiceRole5BCFD9A7": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "UseCaseBuilderListFavoriteUseCasesServiceRoleDefaultPolicy51BC1ECC": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "dynamodb:BatchGetItem",
+ "dynamodb:GetRecords",
+ "dynamodb:GetShardIterator",
+ "dynamodb:Query",
+ "dynamodb:GetItem",
+ "dynamodb:Scan",
+ "dynamodb:ConditionCheckItem",
+ "dynamodb:DescribeTable",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "UseCaseBuilderUseCaseBuilderTable449740F3",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "UseCaseBuilderUseCaseBuilderTable449740F3",
+ "Arn",
+ ],
+ },
+ "/index/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "UseCaseBuilderListFavoriteUseCasesServiceRoleDefaultPolicy51BC1ECC",
+ "Roles": [
+ {
+ "Ref": "UseCaseBuilderListFavoriteUseCasesServiceRole5BCFD9A7",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "UseCaseBuilderListRecentlyUsedUseCases8560B5B5": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "UseCaseBuilderListRecentlyUsedUseCasesServiceRoleDefaultPolicy957AE976",
+ "UseCaseBuilderListRecentlyUsedUseCasesServiceRole977F8D35",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "USECASE_ID_INDEX_NAME": "UseCaseIdIndexName",
+ "USECASE_TABLE_NAME": {
+ "Ref": "UseCaseBuilderUseCaseBuilderTable449740F3",
+ },
+ },
+ },
+ "Handler": "index.handler",
+ "MemorySize": 512,
+ "Role": {
+ "Fn::GetAtt": [
+ "UseCaseBuilderListRecentlyUsedUseCasesServiceRole977F8D35",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "LambdaSeurityGroup14B5161A",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "UseCaseBuilderListRecentlyUsedUseCasesServiceRole977F8D35": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "UseCaseBuilderListRecentlyUsedUseCasesServiceRoleDefaultPolicy957AE976": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "dynamodb:BatchGetItem",
+ "dynamodb:GetRecords",
+ "dynamodb:GetShardIterator",
+ "dynamodb:Query",
+ "dynamodb:GetItem",
+ "dynamodb:Scan",
+ "dynamodb:ConditionCheckItem",
+ "dynamodb:DescribeTable",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "UseCaseBuilderUseCaseBuilderTable449740F3",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "UseCaseBuilderUseCaseBuilderTable449740F3",
+ "Arn",
+ ],
+ },
+ "/index/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "UseCaseBuilderListRecentlyUsedUseCasesServiceRoleDefaultPolicy957AE976",
+ "Roles": [
+ {
+ "Ref": "UseCaseBuilderListRecentlyUsedUseCasesServiceRole977F8D35",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "UseCaseBuilderListUseCases151E3C64": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "UseCaseBuilderListUseCasesServiceRoleDefaultPolicy43BE80BA",
+ "UseCaseBuilderListUseCasesServiceRoleDE660444",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "USECASE_ID_INDEX_NAME": "UseCaseIdIndexName",
+ "USECASE_TABLE_NAME": {
+ "Ref": "UseCaseBuilderUseCaseBuilderTable449740F3",
+ },
+ },
+ },
+ "Handler": "index.handler",
+ "MemorySize": 512,
+ "Role": {
+ "Fn::GetAtt": [
+ "UseCaseBuilderListUseCasesServiceRoleDE660444",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "LambdaSeurityGroup14B5161A",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "UseCaseBuilderListUseCasesServiceRoleDE660444": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "UseCaseBuilderListUseCasesServiceRoleDefaultPolicy43BE80BA": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "dynamodb:BatchGetItem",
+ "dynamodb:GetRecords",
+ "dynamodb:GetShardIterator",
+ "dynamodb:Query",
+ "dynamodb:GetItem",
+ "dynamodb:Scan",
+ "dynamodb:ConditionCheckItem",
+ "dynamodb:DescribeTable",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "UseCaseBuilderUseCaseBuilderTable449740F3",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "UseCaseBuilderUseCaseBuilderTable449740F3",
+ "Arn",
+ ],
+ },
+ "/index/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "UseCaseBuilderListUseCasesServiceRoleDefaultPolicy43BE80BA",
+ "Roles": [
+ {
+ "Ref": "UseCaseBuilderListUseCasesServiceRoleDE660444",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "UseCaseBuilderToggleFavoriteA16A6638": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "UseCaseBuilderToggleFavoriteServiceRoleDefaultPolicyE7EBFEAE",
+ "UseCaseBuilderToggleFavoriteServiceRoleB35C95DC",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "USECASE_ID_INDEX_NAME": "UseCaseIdIndexName",
+ "USECASE_TABLE_NAME": {
+ "Ref": "UseCaseBuilderUseCaseBuilderTable449740F3",
+ },
+ },
+ },
+ "Handler": "index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "UseCaseBuilderToggleFavoriteServiceRoleB35C95DC",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "LambdaSeurityGroup14B5161A",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "UseCaseBuilderToggleFavoriteServiceRoleB35C95DC": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "UseCaseBuilderToggleFavoriteServiceRoleDefaultPolicyE7EBFEAE": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "dynamodb:BatchGetItem",
+ "dynamodb:GetRecords",
+ "dynamodb:GetShardIterator",
+ "dynamodb:Query",
+ "dynamodb:GetItem",
+ "dynamodb:Scan",
+ "dynamodb:ConditionCheckItem",
+ "dynamodb:BatchWriteItem",
+ "dynamodb:PutItem",
+ "dynamodb:UpdateItem",
+ "dynamodb:DeleteItem",
+ "dynamodb:DescribeTable",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "UseCaseBuilderUseCaseBuilderTable449740F3",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "UseCaseBuilderUseCaseBuilderTable449740F3",
+ "Arn",
+ ],
+ },
+ "/index/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "UseCaseBuilderToggleFavoriteServiceRoleDefaultPolicyE7EBFEAE",
+ "Roles": [
+ {
+ "Ref": "UseCaseBuilderToggleFavoriteServiceRoleB35C95DC",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "UseCaseBuilderToggleSharedB07A30CD": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "UseCaseBuilderToggleSharedServiceRoleDefaultPolicyC3050E12",
+ "UseCaseBuilderToggleSharedServiceRole38B2DFFA",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "USECASE_ID_INDEX_NAME": "UseCaseIdIndexName",
+ "USECASE_TABLE_NAME": {
+ "Ref": "UseCaseBuilderUseCaseBuilderTable449740F3",
+ },
+ },
+ },
+ "Handler": "index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "UseCaseBuilderToggleSharedServiceRole38B2DFFA",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "LambdaSeurityGroup14B5161A",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "UseCaseBuilderToggleSharedServiceRole38B2DFFA": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "UseCaseBuilderToggleSharedServiceRoleDefaultPolicyC3050E12": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "dynamodb:BatchGetItem",
+ "dynamodb:GetRecords",
+ "dynamodb:GetShardIterator",
+ "dynamodb:Query",
+ "dynamodb:GetItem",
+ "dynamodb:Scan",
+ "dynamodb:ConditionCheckItem",
+ "dynamodb:BatchWriteItem",
+ "dynamodb:PutItem",
+ "dynamodb:UpdateItem",
+ "dynamodb:DeleteItem",
+ "dynamodb:DescribeTable",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "UseCaseBuilderUseCaseBuilderTable449740F3",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "UseCaseBuilderUseCaseBuilderTable449740F3",
+ "Arn",
+ ],
+ },
+ "/index/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "UseCaseBuilderToggleSharedServiceRoleDefaultPolicyC3050E12",
+ "Roles": [
+ {
+ "Ref": "UseCaseBuilderToggleSharedServiceRole38B2DFFA",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "UseCaseBuilderUpdateRecentlyUsedUseCase67823255": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "UseCaseBuilderUpdateRecentlyUsedUseCaseServiceRoleDefaultPolicy3710A5C8",
+ "UseCaseBuilderUpdateRecentlyUsedUseCaseServiceRoleB21E07B0",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "USECASE_ID_INDEX_NAME": "UseCaseIdIndexName",
+ "USECASE_TABLE_NAME": {
+ "Ref": "UseCaseBuilderUseCaseBuilderTable449740F3",
+ },
+ },
+ },
+ "Handler": "index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "UseCaseBuilderUpdateRecentlyUsedUseCaseServiceRoleB21E07B0",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "LambdaSeurityGroup14B5161A",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "UseCaseBuilderUpdateRecentlyUsedUseCaseServiceRoleB21E07B0": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "UseCaseBuilderUpdateRecentlyUsedUseCaseServiceRoleDefaultPolicy3710A5C8": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "dynamodb:BatchGetItem",
+ "dynamodb:GetRecords",
+ "dynamodb:GetShardIterator",
+ "dynamodb:Query",
+ "dynamodb:GetItem",
+ "dynamodb:Scan",
+ "dynamodb:ConditionCheckItem",
+ "dynamodb:BatchWriteItem",
+ "dynamodb:PutItem",
+ "dynamodb:UpdateItem",
+ "dynamodb:DeleteItem",
+ "dynamodb:DescribeTable",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "UseCaseBuilderUseCaseBuilderTable449740F3",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "UseCaseBuilderUseCaseBuilderTable449740F3",
+ "Arn",
+ ],
+ },
+ "/index/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "UseCaseBuilderUpdateRecentlyUsedUseCaseServiceRoleDefaultPolicy3710A5C8",
+ "Roles": [
+ {
+ "Ref": "UseCaseBuilderUpdateRecentlyUsedUseCaseServiceRoleB21E07B0",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "UseCaseBuilderUpdateUseCaseFF8D7827": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "UseCaseBuilderUpdateUseCaseServiceRoleDefaultPolicy3934DEC9",
+ "UseCaseBuilderUpdateUseCaseServiceRole754D86C5",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "USECASE_ID_INDEX_NAME": "UseCaseIdIndexName",
+ "USECASE_TABLE_NAME": {
+ "Ref": "UseCaseBuilderUseCaseBuilderTable449740F3",
+ },
+ },
+ },
+ "Handler": "index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "UseCaseBuilderUpdateUseCaseServiceRole754D86C5",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ "VpcConfig": {
+ "SecurityGroupIds": [
+ {
+ "Fn::GetAtt": [
+ "LambdaSeurityGroup14B5161A",
+ "GroupId",
+ ],
+ },
+ ],
+ "SubnetIds": [
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet1Subnet2EF6D3F36370B312",
+ },
+ {
+ "Fn::ImportValue": "ClosedNetworkStack:ExportsOutputRefClosedVpcisolatedSubnet2SubnetB169C8D3D828FC40",
+ },
+ ],
+ },
+ },
+ "Type": "AWS::Lambda::Function",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "UseCaseBuilderUpdateUseCaseServiceRole754D86C5": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "UseCaseBuilderUpdateUseCaseServiceRoleDefaultPolicy3934DEC9": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "dynamodb:BatchGetItem",
+ "dynamodb:GetRecords",
+ "dynamodb:GetShardIterator",
+ "dynamodb:Query",
+ "dynamodb:GetItem",
+ "dynamodb:Scan",
+ "dynamodb:ConditionCheckItem",
+ "dynamodb:BatchWriteItem",
+ "dynamodb:PutItem",
+ "dynamodb:UpdateItem",
+ "dynamodb:DeleteItem",
+ "dynamodb:DescribeTable",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "UseCaseBuilderUseCaseBuilderTable449740F3",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "UseCaseBuilderUseCaseBuilderTable449740F3",
+ "Arn",
+ ],
+ },
+ "/index/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "UseCaseBuilderUpdateUseCaseServiceRoleDefaultPolicy3934DEC9",
+ "Roles": [
+ {
+ "Ref": "UseCaseBuilderUpdateUseCaseServiceRole754D86C5",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "UseCaseBuilderUseCaseBuilderTable449740F3": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AttributeDefinitions": [
+ {
+ "AttributeName": "id",
+ "AttributeType": "S",
+ },
+ {
+ "AttributeName": "dataType",
+ "AttributeType": "S",
+ },
+ {
+ "AttributeName": "useCaseId",
+ "AttributeType": "S",
+ },
+ ],
+ "BillingMode": "PAY_PER_REQUEST",
+ "GlobalSecondaryIndexes": [
+ {
+ "IndexName": "UseCaseIdIndexName",
+ "KeySchema": [
+ {
+ "AttributeName": "useCaseId",
+ "KeyType": "HASH",
+ },
+ {
+ "AttributeName": "dataType",
+ "KeyType": "RANGE",
+ },
+ ],
+ "Projection": {
+ "ProjectionType": "ALL",
+ },
+ },
+ ],
+ "KeySchema": [
+ {
+ "AttributeName": "id",
+ "KeyType": "HASH",
+ },
+ {
+ "AttributeName": "dataType",
+ "KeyType": "RANGE",
+ },
+ ],
+ },
+ "Type": "AWS::DynamoDB::Table",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "UserPoolWafAssociation": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ResourceArn": {
+ "Fn::GetAtt": [
+ "AuthUserPool8115E87F",
+ "Arn",
+ ],
+ },
+ "WebACLArn": {
+ "Fn::GetAtt": [
+ "RegionalWafWebAclRegionalWaf7F1BE9A6",
+ "Arn",
+ ],
+ },
+ },
+ "Type": "AWS::WAFv2::WebACLAssociation",
+ "UpdateReplacePolicy": "Delete",
+ },
+ },
+ "Rules": {
+ "CheckBootstrapVersion": {
+ "Assertions": [
+ {
+ "Assert": {
+ "Fn::Not": [
+ {
+ "Fn::Contains": [
+ [
+ "1",
+ "2",
+ "3",
+ "4",
+ "5",
+ ],
+ {
+ "Ref": "BootstrapVersion",
+ },
+ ],
+ },
+ ],
+ },
+ "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI.",
+ },
+ ],
+ },
+ },
+}
+`;
+
+exports[`GenerativeAiUseCases matches the snapshot (closed network mode) 7`] = `
+{
+ "Outputs": {
+ "BedrockLogGroup": {
+ "Value": {
+ "Ref": "LogGroupF5B46931",
+ },
+ },
+ "DashboardName": {
+ "Value": {
+ "Ref": "Dashboard9E4231ED",
+ },
+ },
+ "DashboardUrl": {
+ "Value": {
+ "Fn::Join": [
+ "",
+ [
+ "https://console.aws.amazon.com/cloudwatch/home#dashboards/dashboard/",
+ {
+ "Ref": "Dashboard9E4231ED",
+ },
+ ],
+ ],
+ },
+ },
+ },
+ "Parameters": {
+ "BootstrapVersion": {
+ "Default": "/cdk-bootstrap/hnb659fds/version",
+ "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]",
+ "Type": "AWS::SSM::Parameter::Value",
+ },
+ },
+ "Resources": {
+ "Dashboard9E4231ED": {
+ "Properties": {
+ "DashboardBody": {
+ "Fn::Join": [
+ "",
+ [
+ "{"start":"-P7D","widgets":[{"type":"text","width":18,"height":1,"x":0,"y":0,"properties":{"markdown":"**Amazon Bedrock Metrics**"}},{"type":"text","width":6,"height":1,"x":18,"y":0,"properties":{"markdown":"**User Metrics**"}},{"type":"metric","width":6,"height":6,"x":0,"y":1,"properties":{"view":"timeSeries","title":"InputTokenCount (Daily)","region":"",
+ {
+ "Ref": "AWS::Region",
+ },
+ "","metrics":[["AWS/Bedrock","InputTokenCount","ModelId","anthropic.claude-3-sonnet-20240229-v1:0",{"region":"us-east-1","period":86400,"stat":"Sum"}]],"yAxis":{}}},{"type":"metric","width":6,"height":6,"x":6,"y":1,"properties":{"view":"timeSeries","title":"OutputTokenCount (Daily)","region":"",
+ {
+ "Ref": "AWS::Region",
+ },
+ "","metrics":[["AWS/Bedrock","OutputTokenCount","ModelId","anthropic.claude-3-sonnet-20240229-v1:0",{"region":"us-east-1","period":86400,"stat":"Sum"}]],"yAxis":{}}},{"type":"metric","width":6,"height":6,"x":12,"y":1,"properties":{"view":"timeSeries","title":"Invocations (Daily)","region":"",
+ {
+ "Ref": "AWS::Region",
+ },
+ "","metrics":[["AWS/Bedrock","Invocations","ModelId","anthropic.claude-3-sonnet-20240229-v1:0",{"region":"us-east-1","period":86400,"stat":"Sum"}],["AWS/Bedrock","Invocations","ModelId","stability.stable-diffusion-xl-v1",{"region":"us-east-1","period":86400,"stat":"Sum"}]],"yAxis":{}}},{"type":"metric","width":6,"height":6,"x":18,"y":1,"properties":{"view":"timeSeries","title":"UserPool","region":"",
+ {
+ "Ref": "AWS::Region",
+ },
+ "","metrics":[["AWS/Cognito","SignInSuccesses","UserPool","",
+ {
+ "Fn::ImportValue": "GenerativeAiUseCasesStack:ExportsOutputRefAuthUserPool8115E87F4F9C6D4C",
+ },
+ "","UserPoolClient","",
+ {
+ "Fn::ImportValue": "GenerativeAiUseCasesStack:ExportsOutputRefAuthUserPoolclientA74673A913CB5D33",
+ },
+ "",{"region":"us-east-1","period":3600,"stat":"Sum"}],["AWS/Cognito","TokenRefreshSuccesses","UserPool","",
+ {
+ "Fn::ImportValue": "GenerativeAiUseCasesStack:ExportsOutputRefAuthUserPool8115E87F4F9C6D4C",
+ },
+ "","UserPoolClient","",
+ {
+ "Fn::ImportValue": "GenerativeAiUseCasesStack:ExportsOutputRefAuthUserPoolclientA74673A913CB5D33",
+ },
+ "",{"region":"us-east-1","period":3600,"stat":"Sum"}],["AWS/Cognito","SignUpSuccesses","UserPool","",
+ {
+ "Fn::ImportValue": "GenerativeAiUseCasesStack:ExportsOutputRefAuthUserPool8115E87F4F9C6D4C",
+ },
+ "","UserPoolClient","",
+ {
+ "Fn::ImportValue": "GenerativeAiUseCasesStack:ExportsOutputRefAuthUserPoolclientA74673A913CB5D33",
+ },
+ "",{"region":"us-east-1","period":3600,"stat":"Sum"}]],"yAxis":{}}},{"type":"text","width":24,"height":1,"x":0,"y":7,"properties":{"markdown":"**Prompt Logs**"}},{"type":"log","width":24,"height":6,"x":0,"y":8,"properties":{"view":"table","title":"Prompt Logs","region":"",
+ {
+ "Ref": "AWS::Region",
+ },
+ "","query":"SOURCE '",
+ {
+ "Ref": "LogGroupF5B46931",
+ },
+ "' | filter @logStream = 'aws/bedrock/modelinvocations'\\n| filter schemaType like 'ModelInvocationLog'\\n| filter concat(input.inputBodyJson.prompt, input.inputBodyJson.messages.0.content.0.text) not like /.*.*/\\n| sort @timestamp desc\\n| fields @timestamp, concat(input.inputBodyJson.prompt, input.inputBodyJson.messages.0.content.0.text) as input, modelId"}}]}",
+ ],
+ ],
+ },
+ },
+ "Type": "AWS::CloudWatch::Dashboard",
+ },
+ "LogGroupF5B46931": {
+ "DeletionPolicy": "Retain",
+ "Properties": {
+ "RetentionInDays": 365,
+ },
+ "Type": "AWS::Logs::LogGroup",
+ "UpdateReplacePolicy": "Retain",
+ },
+ },
+ "Rules": {
+ "CheckBootstrapVersion": {
+ "Assertions": [
+ {
+ "Assert": {
+ "Fn::Not": [
+ {
+ "Fn::Contains": [
+ [
+ "1",
+ "2",
+ "3",
+ "4",
+ "5",
+ ],
+ {
+ "Ref": "BootstrapVersion",
+ },
+ ],
+ },
+ ],
+ },
+ "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI.",
+ },
+ ],
+ },
+ },
+}
+`;
+
+exports[`GenerativeAiUseCases matches the snapshot 1`] = `
+{
+ "Outputs": {
+ "ExportsOutputFnGetAttWebAclCloudFrontWafStackWebAclWebAclCloudFrontWafStackAC643995Arn2B4CD922": {
+ "Export": {
+ "Name": "CloudFrontWafStack:ExportsOutputFnGetAttWebAclCloudFrontWafStackWebAclWebAclCloudFrontWafStackAC643995Arn2B4CD922",
+ },
+ "Value": {
+ "Fn::GetAtt": [
+ "WebAclCloudFrontWafStackWebAclWebAclCloudFrontWafStackAC643995",
+ "Arn",
+ ],
+ },
+ },
+ "WebAclId": {
+ "Value": {
+ "Fn::GetAtt": [
+ "WebAclCloudFrontWafStackWebAclWebAclCloudFrontWafStackAC643995",
+ "Arn",
+ ],
+ },
+ },
+ },
+ "Parameters": {
+ "BootstrapVersion": {
+ "Default": "/cdk-bootstrap/hnb659fds/version",
+ "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]",
+ "Type": "AWS::SSM::Parameter::Value",
+ },
+ },
+ "Resources": {
+ "WebAclCloudFrontWafStackWebAclWebAclCloudFrontWafStackAC643995": {
+ "Properties": {
+ "DefaultAction": {
+ "Block": {},
+ },
+ "Name": "WebAcl-CloudFrontWafStackWebAclCloudFrontWafStackD5ED98FA",
+ "Rules": [
+ {
+ "Action": {
+ "Allow": {},
+ },
+ "Name": "GeoMatchRuleWebAclCloudFrontWafStack",
+ "Priority": 3,
+ "Statement": {
+ "GeoMatchStatement": {
+ "CountryCodes": [
+ "JP",
+ ],
+ },
+ },
+ "VisibilityConfig": {
+ "CloudWatchMetricsEnabled": true,
+ "MetricName": "GeoMatchRuleWebAclCloudFrontWafStack",
+ "SampledRequestsEnabled": true,
+ },
+ },
+ ],
+ "Scope": "CLOUDFRONT",
+ "VisibilityConfig": {
+ "CloudWatchMetricsEnabled": true,
+ "MetricName": "WebAcl-CloudFrontWafStackWebAclCloudFrontWafStackD5ED98FA",
+ "SampledRequestsEnabled": true,
+ },
+ },
+ "Type": "AWS::WAFv2::WebACL",
+ },
+ },
+ "Rules": {
+ "CheckBootstrapVersion": {
+ "Assertions": [
+ {
+ "Assert": {
+ "Fn::Not": [
+ {
+ "Fn::Contains": [
+ [
+ "1",
+ "2",
+ "3",
+ "4",
+ "5",
+ ],
+ {
+ "Ref": "BootstrapVersion",
+ },
+ ],
+ },
+ ],
+ },
+ "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI.",
+ },
+ ],
+ },
+ },
+}
+`;
+
+exports[`GenerativeAiUseCases matches the snapshot 2`] = `
+{
+ "Outputs": {
+ "ExportsOutputRefDataSourceBucket9FA93E04BB6984D1": {
+ "Export": {
+ "Name": "RagKnowledgeBaseStack:ExportsOutputRefDataSourceBucket9FA93E04BB6984D1",
+ },
+ "Value": {
+ "Ref": "DataSourceBucket9FA93E04",
+ },
+ },
+ "ExportsOutputRefKnowledgeBaseD054384B": {
+ "Export": {
+ "Name": "RagKnowledgeBaseStack:ExportsOutputRefKnowledgeBaseD054384B",
+ },
+ "Value": {
+ "Ref": "KnowledgeBase",
+ },
+ },
+ },
+ "Parameters": {
+ "BootstrapVersion": {
+ "Default": "/cdk-bootstrap/hnb659fds/version",
+ "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]",
+ "Type": "AWS::SSM::Parameter::Value",
+ },
+ },
+ "Resources": {
+ "AccessPolicy": {
+ "Properties": {
+ "Name": "generative-ai-use-cases-jp",
+ "Policy": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"Rules":[{"Resource":["collection/generative-ai-use-cases-jp"],"Permission":["aoss:DescribeCollectionItems","aoss:CreateCollectionItems","aoss:UpdateCollectionItems"],"ResourceType":"collection"},{"Resource":["index/generative-ai-use-cases-jp/*"],"Permission":["aoss:UpdateIndex","aoss:DescribeIndex","aoss:ReadDocument","aoss:WriteDocument","aoss:CreateIndex","aoss:DeleteIndex"],"ResourceType":"index"}],"Principal":["",
+ {
+ "Fn::GetAtt": [
+ "KnowledgeBaseRoleA2B317B9",
+ "Arn",
+ ],
+ },
+ "","",
+ {
+ "Fn::GetAtt": [
+ "OpenSearchServerlessIndex339C5FEDA1B543B6B40A5E8E59E5734DServiceRole367CC992",
+ "Arn",
+ ],
+ },
+ ""],"Description":""}]",
+ ],
+ ],
+ },
+ "Type": "data",
+ },
+ "Type": "AWS::OpenSearchServerless::AccessPolicy",
+ },
+ "ApplyTags": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "Collection",
+ ],
+ "Properties": {
+ "ServiceToken": {
+ "Fn::GetAtt": [
+ "ApplyTagsToResourcesE2488E36B4654D1F9D1C89FB99F1CC01E87E9E73",
+ "Arn",
+ ],
+ },
+ "accountId": "123456890123",
+ "collectionId": {
+ "Ref": "Collection",
+ },
+ "region": "us-east-1",
+ "tag": {
+ "key": "GenU",
+ "value": "",
+ },
+ },
+ "Type": "Custom::ApplyTags",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "ApplyTagsToResourcesE2488E36B4654D1F9D1C89FB99F1CC01E87E9E73": {
+ "DependsOn": [
+ "ApplyTagsToResourcesE2488E36B4654D1F9D1C89FB99F1CC01ServiceRoleDefaultPolicy0493DEDD",
+ "ApplyTagsToResourcesE2488E36B4654D1F9D1C89FB99F1CC01ServiceRole61085692",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Handler": "apply-tags.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "ApplyTagsToResourcesE2488E36B4654D1F9D1C89FB99F1CC01ServiceRole61085692",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 300,
+ },
+ "Type": "AWS::Lambda::Function",
+ },
+ "ApplyTagsToResourcesE2488E36B4654D1F9D1C89FB99F1CC01ServiceRole61085692": {
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ },
+ "ApplyTagsToResourcesE2488E36B4654D1F9D1C89FB99F1CC01ServiceRoleDefaultPolicy0493DEDD": {
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "aoss:TagResource",
+ "aoss:UntagResource",
+ "aoss:ListTagsForResource",
+ ],
+ "Effect": "Allow",
+ "Resource": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:aws:aoss:us-east-1:123456890123:collection/",
+ {
+ "Ref": "Collection",
+ },
+ ],
+ ],
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "ApplyTagsToResourcesE2488E36B4654D1F9D1C89FB99F1CC01ServiceRoleDefaultPolicy0493DEDD",
+ "Roles": [
+ {
+ "Ref": "ApplyTagsToResourcesE2488E36B4654D1F9D1C89FB99F1CC01ServiceRole61085692",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ },
+ "Collection": {
+ "DependsOn": [
+ "AccessPolicy",
+ "EncryptionPolicy",
+ "NetworkPolicy",
+ ],
+ "Properties": {
+ "Description": "GenU Collection",
+ "Name": "generative-ai-use-cases-jp",
+ "StandbyReplicas": "DISABLED",
+ "Type": "VECTORSEARCH",
+ },
+ "Type": "AWS::OpenSearchServerless::Collection",
+ },
+ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C1024MiBB049752D": {
+ "DependsOn": [
+ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C1024MiBServiceRoleDefaultPolicy0801355D",
+ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C1024MiBServiceRole739949D8",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "AWS_CA_BUNDLE": "/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem",
+ },
+ },
+ "Handler": "index.handler",
+ "Layers": [
+ {
+ "Ref": "DeployDocsAwsCliLayer98E5B499",
+ },
+ ],
+ "MemorySize": 1024,
+ "Role": {
+ "Fn::GetAtt": [
+ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C1024MiBServiceRole739949D8",
+ "Arn",
+ ],
+ },
+ "Runtime": "python3.11",
+ "Timeout": 900,
+ },
+ "Type": "AWS::Lambda::Function",
+ },
+ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C1024MiBServiceRole739949D8": {
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ },
+ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C1024MiBServiceRoleDefaultPolicy0801355D": {
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "s3:GetObject*",
+ "s3:GetBucket*",
+ "s3:List*",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":s3:::cdk-hnb659fds-assets-123456890123-us-east-1",
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":s3:::cdk-hnb659fds-assets-123456890123-us-east-1/*",
+ ],
+ ],
+ },
+ ],
+ },
+ {
+ "Action": [
+ "s3:GetObject*",
+ "s3:GetBucket*",
+ "s3:List*",
+ "s3:DeleteObject*",
+ "s3:PutObject",
+ "s3:PutObjectLegalHold",
+ "s3:PutObjectRetention",
+ "s3:PutObjectTagging",
+ "s3:PutObjectVersionTagging",
+ "s3:Abort*",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "DataSourceBucket9FA93E04",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "DataSourceBucket9FA93E04",
+ "Arn",
+ ],
+ },
+ "/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C1024MiBServiceRoleDefaultPolicy0801355D",
+ "Roles": [
+ {
+ "Ref": "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C1024MiBServiceRole739949D8",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ },
+ "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F": {
+ "DependsOn": [
+ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Description": {
+ "Fn::Join": [
+ "",
+ [
+ "Lambda function for auto-deleting objects in ",
+ {
+ "Ref": "DataSourceAccessLogsBucketE5273C2E",
+ },
+ " S3 bucket.",
+ ],
+ ],
+ },
+ "Handler": "index.handler",
+ "MemorySize": 128,
+ "Role": {
+ "Fn::GetAtt": [
+ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ },
+ "Type": "AWS::Lambda::Function",
+ },
+ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092": {
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Sub": "arn:\${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ },
+ "DataSource": {
+ "Properties": {
+ "DataSourceConfiguration": {
+ "S3Configuration": {
+ "BucketArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:aws:s3:::",
+ {
+ "Ref": "DataSourceBucket9FA93E04",
+ },
+ ],
+ ],
+ },
+ "InclusionPrefixes": [
+ "docs/",
+ ],
+ },
+ "Type": "S3",
+ },
"KnowledgeBaseId": {
"Ref": "KnowledgeBase",
},
- "Name": "s3-data-source",
- "VectorIngestionConfiguration": {},
+ "Name": "s3-data-source",
+ "VectorIngestionConfiguration": {},
+ },
+ "Type": "AWS::Bedrock::DataSource",
+ },
+ "DataSourceAccessLogsBucketAutoDeleteObjectsCustomResourceB4DAFB7C": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "DataSourceAccessLogsBucketPolicy6B5E758D",
+ ],
+ "Properties": {
+ "BucketName": {
+ "Ref": "DataSourceAccessLogsBucketE5273C2E",
+ },
+ "ServiceToken": {
+ "Fn::GetAtt": [
+ "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F",
+ "Arn",
+ ],
+ },
+ },
+ "Type": "Custom::S3AutoDeleteObjects",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "DataSourceAccessLogsBucketE5273C2E": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AccessControl": "LogDeliveryWrite",
+ "BucketEncryption": {
+ "ServerSideEncryptionConfiguration": [
+ {
+ "ServerSideEncryptionByDefault": {
+ "SSEAlgorithm": "AES256",
+ },
+ },
+ ],
+ },
+ "OwnershipControls": {
+ "Rules": [
+ {
+ "ObjectOwnership": "ObjectWriter",
+ },
+ ],
+ },
+ "PublicAccessBlockConfiguration": {
+ "BlockPublicAcls": true,
+ "BlockPublicPolicy": true,
+ "IgnorePublicAcls": true,
+ "RestrictPublicBuckets": true,
+ },
+ "Tags": [
+ {
+ "Key": "aws-cdk:auto-delete-objects",
+ "Value": "true",
+ },
+ ],
+ },
+ "Type": "AWS::S3::Bucket",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "DataSourceAccessLogsBucketPolicy6B5E758D": {
+ "Properties": {
+ "Bucket": {
+ "Ref": "DataSourceAccessLogsBucketE5273C2E",
+ },
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": "s3:*",
+ "Condition": {
+ "Bool": {
+ "aws:SecureTransport": "false",
+ },
+ },
+ "Effect": "Deny",
+ "Principal": {
+ "AWS": "*",
+ },
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "DataSourceAccessLogsBucketE5273C2E",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "DataSourceAccessLogsBucketE5273C2E",
+ "Arn",
+ ],
+ },
+ "/*",
+ ],
+ ],
+ },
+ ],
+ },
+ {
+ "Action": [
+ "s3:PutBucketPolicy",
+ "s3:GetBucket*",
+ "s3:List*",
+ "s3:DeleteObject*",
+ ],
+ "Effect": "Allow",
+ "Principal": {
+ "AWS": {
+ "Fn::GetAtt": [
+ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
+ "Arn",
+ ],
+ },
+ },
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "DataSourceAccessLogsBucketE5273C2E",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "DataSourceAccessLogsBucketE5273C2E",
+ "Arn",
+ ],
+ },
+ "/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ },
+ "Type": "AWS::S3::BucketPolicy",
+ },
+ "DataSourceBucket9FA93E04": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "BucketEncryption": {
+ "ServerSideEncryptionConfiguration": [
+ {
+ "ServerSideEncryptionByDefault": {
+ "SSEAlgorithm": "AES256",
+ },
+ },
+ ],
+ },
+ "LoggingConfiguration": {
+ "DestinationBucketName": {
+ "Ref": "DataSourceAccessLogsBucketE5273C2E",
+ },
+ "LogFilePrefix": "AccessLogs/",
+ },
+ "OwnershipControls": {
+ "Rules": [
+ {
+ "ObjectOwnership": "ObjectWriter",
+ },
+ ],
+ },
+ "PublicAccessBlockConfiguration": {
+ "BlockPublicAcls": true,
+ "BlockPublicPolicy": true,
+ "IgnorePublicAcls": true,
+ "RestrictPublicBuckets": true,
+ },
+ "Tags": [
+ {
+ "Key": "aws-cdk:auto-delete-objects",
+ "Value": "true",
+ },
+ {
+ "Key": "aws-cdk:cr-owned:af230d0d",
+ "Value": "true",
+ },
+ ],
+ },
+ "Type": "AWS::S3::Bucket",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "DataSourceBucketAutoDeleteObjectsCustomResourceE8C6F6B1": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "DataSourceBucketPolicy817DBB38",
+ ],
+ "Properties": {
+ "BucketName": {
+ "Ref": "DataSourceBucket9FA93E04",
+ },
+ "ServiceToken": {
+ "Fn::GetAtt": [
+ "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F",
+ "Arn",
+ ],
+ },
+ },
+ "Type": "Custom::S3AutoDeleteObjects",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "DataSourceBucketPolicy817DBB38": {
+ "Properties": {
+ "Bucket": {
+ "Ref": "DataSourceBucket9FA93E04",
+ },
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": "s3:*",
+ "Condition": {
+ "Bool": {
+ "aws:SecureTransport": "false",
+ },
+ },
+ "Effect": "Deny",
+ "Principal": {
+ "AWS": "*",
+ },
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "DataSourceBucket9FA93E04",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "DataSourceBucket9FA93E04",
+ "Arn",
+ ],
+ },
+ "/*",
+ ],
+ ],
+ },
+ ],
+ },
+ {
+ "Action": [
+ "s3:PutBucketPolicy",
+ "s3:GetBucket*",
+ "s3:List*",
+ "s3:DeleteObject*",
+ ],
+ "Effect": "Allow",
+ "Principal": {
+ "AWS": {
+ "Fn::GetAtt": [
+ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
+ "Arn",
+ ],
+ },
+ },
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "DataSourceBucket9FA93E04",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "DataSourceBucket9FA93E04",
+ "Arn",
+ ],
+ },
+ "/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ },
+ "Type": "AWS::S3::BucketPolicy",
+ },
+ "DeployDocsAwsCliLayer98E5B499": {
+ "Properties": {
+ "Content": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Description": "/opt/awscli/aws",
+ },
+ "Type": "AWS::Lambda::LayerVersion",
+ },
+ "DeployDocsCustomResource1024MiB91B30E63": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "DestinationBucketName": {
+ "Ref": "DataSourceBucket9FA93E04",
+ },
+ "Exclude": [
+ "AccessLogs/*",
+ "logs*",
+ ],
+ "OutputObjectKeys": true,
+ "Prune": false,
+ "ServiceToken": {
+ "Fn::GetAtt": [
+ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C1024MiBB049752D",
+ "Arn",
+ ],
+ },
+ "SourceBucketNames": [
+ "cdk-hnb659fds-assets-123456890123-us-east-1",
+ ],
+ "SourceObjectKeys": [
+ "HASH-REPLACED.zip",
+ ],
+ },
+ "Type": "Custom::CDKBucketDeployment",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "EncryptionPolicy": {
+ "Properties": {
+ "Name": "generative-ai-use-cases-jp",
+ "Policy": "{"Rules":[{"Resource":["collection/generative-ai-use-cases-jp"],"ResourceType":"collection"}],"AWSOwnedKey":true}",
+ "Type": "encryption",
+ },
+ "Type": "AWS::OpenSearchServerless::SecurityPolicy",
+ },
+ "KnowledgeBase": {
+ "DependsOn": [
+ "Collection",
+ "OssIndexCustomResourceFB9548E5",
+ ],
+ "Properties": {
+ "KnowledgeBaseConfiguration": {
+ "Type": "VECTOR",
+ "VectorKnowledgeBaseConfiguration": {
+ "EmbeddingModelArn": "arn:aws:bedrock:us-east-1::foundation-model/amazon.titan-embed-text-v2:0",
+ },
+ },
+ "Name": "generative-ai-use-cases-jp",
+ "RoleArn": {
+ "Fn::GetAtt": [
+ "KnowledgeBaseRoleA2B317B9",
+ "Arn",
+ ],
+ },
+ "StorageConfiguration": {
+ "OpensearchServerlessConfiguration": {
+ "CollectionArn": {
+ "Fn::GetAtt": [
+ "Collection",
+ "Arn",
+ ],
+ },
+ "FieldMapping": {
+ "MetadataField": "AMAZON_BEDROCK_METADATA",
+ "TextField": "AMAZON_BEDROCK_TEXT_CHUNK",
+ "VectorField": "bedrock-knowledge-base-default-vector",
+ },
+ "VectorIndexName": "bedrock-knowledge-base-default",
+ },
+ "Type": "OPENSEARCH_SERVERLESS",
+ },
+ },
+ "Type": "AWS::Bedrock::KnowledgeBase",
+ },
+ "KnowledgeBaseRoleA2B317B9": {
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "bedrock.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ },
+ "Type": "AWS::IAM::Role",
+ },
+ "KnowledgeBaseRoleDefaultPolicyB3F66209": {
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": "bedrock:InvokeModel",
+ "Effect": "Allow",
+ "Resource": "*",
+ },
+ {
+ "Action": "aoss:APIAccessAll",
+ "Effect": "Allow",
+ "Resource": {
+ "Fn::GetAtt": [
+ "Collection",
+ "Arn",
+ ],
+ },
+ },
+ {
+ "Action": "s3:ListBucket",
+ "Effect": "Allow",
+ "Resource": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:aws:s3:::",
+ {
+ "Ref": "DataSourceBucket9FA93E04",
+ },
+ ],
+ ],
+ },
+ },
+ {
+ "Action": "s3:GetObject",
+ "Effect": "Allow",
+ "Resource": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:aws:s3:::",
+ {
+ "Ref": "DataSourceBucket9FA93E04",
+ },
+ "/*",
+ ],
+ ],
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "KnowledgeBaseRoleDefaultPolicyB3F66209",
+ "Roles": [
+ {
+ "Ref": "KnowledgeBaseRoleA2B317B9",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ },
+ "NetworkPolicy": {
+ "Properties": {
+ "Name": "generative-ai-use-cases-jp",
+ "Policy": "[{"Rules":[{"Resource":["collection/generative-ai-use-cases-jp"],"ResourceType":"collection"},{"Resource":["collection/generative-ai-use-cases-jp"],"ResourceType":"dashboard"}],"AllowFromPublic":true}]",
+ "Type": "network",
+ },
+ "Type": "AWS::OpenSearchServerless::SecurityPolicy",
+ },
+ "OpenSearchServerlessIndex339C5FEDA1B543B6B40A5E8E59E5734D5A536997": {
+ "DependsOn": [
+ "OpenSearchServerlessIndex339C5FEDA1B543B6B40A5E8E59E5734DServiceRoleDefaultPolicy4DF6601A",
+ "OpenSearchServerlessIndex339C5FEDA1B543B6B40A5E8E59E5734DServiceRole367CC992",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Handler": "oss-index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "OpenSearchServerlessIndex339C5FEDA1B543B6B40A5E8E59E5734DServiceRole367CC992",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 900,
+ },
+ "Type": "AWS::Lambda::Function",
+ },
+ "OpenSearchServerlessIndex339C5FEDA1B543B6B40A5E8E59E5734DServiceRole367CC992": {
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ },
+ "OpenSearchServerlessIndex339C5FEDA1B543B6B40A5E8E59E5734DServiceRoleDefaultPolicy4DF6601A": {
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": "aoss:APIAccessAll",
+ "Effect": "Allow",
+ "Resource": {
+ "Fn::GetAtt": [
+ "Collection",
+ "Arn",
+ ],
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "OpenSearchServerlessIndex339C5FEDA1B543B6B40A5E8E59E5734DServiceRoleDefaultPolicy4DF6601A",
+ "Roles": [
+ {
+ "Ref": "OpenSearchServerlessIndex339C5FEDA1B543B6B40A5E8E59E5734DServiceRole367CC992",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ },
+ "OssIndexCustomResourceFB9548E5": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ServiceToken": {
+ "Fn::GetAtt": [
+ "OpenSearchServerlessIndex339C5FEDA1B543B6B40A5E8E59E5734D5A536997",
+ "Arn",
+ ],
+ },
+ "collectionId": {
+ "Ref": "Collection",
+ },
+ "metadataField": "AMAZON_BEDROCK_METADATA",
+ "ragKnowledgeBaseBinaryVector": false,
+ "textField": "AMAZON_BEDROCK_TEXT_CHUNK",
+ "vectorDimension": "1024",
+ "vectorField": "bedrock-knowledge-base-default-vector",
+ "vectorIndexName": "bedrock-knowledge-base-default",
+ },
+ "Type": "Custom::OssIndex",
+ "UpdateReplacePolicy": "Delete",
+ },
+ },
+ "Rules": {
+ "CheckBootstrapVersion": {
+ "Assertions": [
+ {
+ "Assert": {
+ "Fn::Not": [
+ {
+ "Fn::Contains": [
+ [
+ "1",
+ "2",
+ "3",
+ "4",
+ "5",
+ ],
+ {
+ "Ref": "BootstrapVersion",
+ },
+ ],
+ },
+ ],
+ },
+ "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI.",
+ },
+ ],
+ },
+ },
+}
+`;
+
+exports[`GenerativeAiUseCases matches the snapshot 3`] = `
+{
+ "Outputs": {
+ "ExportsOutputFnGetAttAgentCodeInterpreterAgent98889BFEAgentIdFAC9D557": {
+ "Export": {
+ "Name": "WebSearchAgentStack:ExportsOutputFnGetAttAgentCodeInterpreterAgent98889BFEAgentIdFAC9D557",
+ },
+ "Value": {
+ "Fn::GetAtt": [
+ "AgentCodeInterpreterAgent98889BFE",
+ "AgentId",
+ ],
+ },
+ },
+ "ExportsOutputFnGetAttAgentCodeInterpreterAgentAliasB6F54C31AgentAliasIdE516C748": {
+ "Export": {
+ "Name": "WebSearchAgentStack:ExportsOutputFnGetAttAgentCodeInterpreterAgentAliasB6F54C31AgentAliasIdE516C748",
+ },
+ "Value": {
+ "Fn::GetAtt": [
+ "AgentCodeInterpreterAgentAliasB6F54C31",
+ "AgentAliasId",
+ ],
+ },
+ },
+ "ExportsOutputFnGetAttAgentSearchAgent3AF6EC6FAgentIdF3D3B4F6": {
+ "Export": {
+ "Name": "WebSearchAgentStack:ExportsOutputFnGetAttAgentSearchAgent3AF6EC6FAgentIdF3D3B4F6",
+ },
+ "Value": {
+ "Fn::GetAtt": [
+ "AgentSearchAgent3AF6EC6F",
+ "AgentId",
+ ],
+ },
+ },
+ "ExportsOutputFnGetAttAgentSearchAgentAliasD59C2A47AgentAliasId0289A97F": {
+ "Export": {
+ "Name": "WebSearchAgentStack:ExportsOutputFnGetAttAgentSearchAgentAliasD59C2A47AgentAliasId0289A97F",
+ },
+ "Value": {
+ "Fn::GetAtt": [
+ "AgentSearchAgentAliasD59C2A47",
+ "AgentAliasId",
+ ],
+ },
+ },
+ },
+ "Parameters": {
+ "BootstrapVersion": {
+ "Default": "/cdk-bootstrap/hnb659fds/version",
+ "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]",
+ "Type": "AWS::SSM::Parameter::Value",
+ },
+ },
+ "Resources": {
+ "AgentApiSchemaBucketAwsCliLayer2C3ACF8A": {
+ "Properties": {
+ "Content": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Description": "/opt/awscli/aws",
},
- "Type": "AWS::Bedrock::DataSource",
+ "Type": "AWS::Lambda::LayerVersion",
},
- "DataSourceAccessLogsBucketAutoDeleteObjectsCustomResourceB4DAFB7C": {
+ "AgentApiSchemaBucketCustomResource1D7C4CC4": {
"DeletionPolicy": "Delete",
- "DependsOn": [
- "DataSourceAccessLogsBucketPolicy6B5E758D",
- ],
"Properties": {
- "BucketName": {
- "Ref": "DataSourceAccessLogsBucketE5273C2E",
+ "DestinationBucketArn": {
+ "Fn::GetAtt": [
+ "AgentBucket77F66FF4",
+ "Arn",
+ ],
+ },
+ "DestinationBucketKeyPrefix": "api-schema",
+ "DestinationBucketName": {
+ "Ref": "AgentBucket77F66FF4",
},
+ "OutputObjectKeys": true,
+ "Prune": true,
"ServiceToken": {
"Fn::GetAtt": [
- "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F",
+ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C81C01536",
"Arn",
],
},
+ "SourceBucketNames": [
+ "cdk-hnb659fds-assets-123456890123-us-east-1",
+ ],
+ "SourceObjectKeys": [
+ "HASH-REPLACED.zip",
+ ],
},
- "Type": "Custom::S3AutoDeleteObjects",
+ "Type": "Custom::CDKBucketDeployment",
"UpdateReplacePolicy": "Delete",
},
- "DataSourceAccessLogsBucketE5273C2E": {
+ "AgentBedrockAgentLambda3510C7EB": {
+ "DependsOn": [
+ "AgentBedrockAgentLambdaServiceRole91E15FC7",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Environment": {
+ "Variables": {
+ "SEARCH_API_KEY": "XXXXXX",
+ "SEARCH_ENGINE": "Brave",
+ },
+ },
+ "Handler": "index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "AgentBedrockAgentLambdaServiceRole91E15FC7",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 300,
+ },
+ "Type": "AWS::Lambda::Function",
+ },
+ "AgentBedrockAgentLambdaInvokeu1TDdDMoLpes23omAp0kUXOcNSkFsO0n9KPkoXL68FBA4836E": {
+ "Properties": {
+ "Action": "lambda:InvokeFunction",
+ "FunctionName": {
+ "Fn::GetAtt": [
+ "AgentBedrockAgentLambda3510C7EB",
+ "Arn",
+ ],
+ },
+ "Principal": "bedrock.amazonaws.com",
+ },
+ "Type": "AWS::Lambda::Permission",
+ },
+ "AgentBedrockAgentLambdaServiceRole91E15FC7": {
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ },
+ "AgentBedrockAgentRole5FEB7025": {
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "bedrock.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "Policies": [
+ {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": "*",
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "AgentBucket77F66FF4",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "AgentBucket77F66FF4",
+ "Arn",
+ ],
+ },
+ "/*",
+ ],
+ ],
+ },
+ ],
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "BedrockAgentS3BucketPolicy",
+ },
+ {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": "bedrock:*",
+ "Effect": "Allow",
+ "Resource": "*",
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "BedrockAgentBedrockModelPolicy",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Role",
+ },
+ "AgentBucket77F66FF4": {
"DeletionPolicy": "Delete",
"Properties": {
- "AccessControl": "LogDeliveryWrite",
"BucketEncryption": {
"ServerSideEncryptionConfiguration": [
{
@@ -437,33 +24841,49 @@ exports[`GenerativeAiUseCases matches the snapshot 2`] = `
},
],
},
- "OwnershipControls": {
- "Rules": [
- {
- "ObjectOwnership": "ObjectWriter",
- },
- ],
+ "PublicAccessBlockConfiguration": {
+ "BlockPublicAcls": true,
+ "BlockPublicPolicy": true,
+ "IgnorePublicAcls": true,
+ "RestrictPublicBuckets": true,
+ },
+ "Tags": [
+ {
+ "Key": "aws-cdk:auto-delete-objects",
+ "Value": "true",
+ },
+ {
+ "Key": "aws-cdk:cr-owned:api-schema:b7d6a79e",
+ "Value": "true",
+ },
+ ],
+ },
+ "Type": "AWS::S3::Bucket",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "AgentBucketAutoDeleteObjectsCustomResourceBD94B538": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "AgentBucketPolicy37E1CD3C",
+ ],
+ "Properties": {
+ "BucketName": {
+ "Ref": "AgentBucket77F66FF4",
},
- "PublicAccessBlockConfiguration": {
- "BlockPublicAcls": true,
- "BlockPublicPolicy": true,
- "IgnorePublicAcls": true,
- "RestrictPublicBuckets": true,
+ "ServiceToken": {
+ "Fn::GetAtt": [
+ "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F",
+ "Arn",
+ ],
},
- "Tags": [
- {
- "Key": "aws-cdk:auto-delete-objects",
- "Value": "true",
- },
- ],
},
- "Type": "AWS::S3::Bucket",
+ "Type": "Custom::S3AutoDeleteObjects",
"UpdateReplacePolicy": "Delete",
},
- "DataSourceAccessLogsBucketPolicy6B5E758D": {
+ "AgentBucketPolicy37E1CD3C": {
"Properties": {
"Bucket": {
- "Ref": "DataSourceAccessLogsBucketE5273C2E",
+ "Ref": "AgentBucket77F66FF4",
},
"PolicyDocument": {
"Statement": [
@@ -481,7 +24901,7 @@ exports[`GenerativeAiUseCases matches the snapshot 2`] = `
"Resource": [
{
"Fn::GetAtt": [
- "DataSourceAccessLogsBucketE5273C2E",
+ "AgentBucket77F66FF4",
"Arn",
],
},
@@ -491,7 +24911,7 @@ exports[`GenerativeAiUseCases matches the snapshot 2`] = `
[
{
"Fn::GetAtt": [
- "DataSourceAccessLogsBucketE5273C2E",
+ "AgentBucket77F66FF4",
"Arn",
],
},
@@ -520,7 +24940,7 @@ exports[`GenerativeAiUseCases matches the snapshot 2`] = `
"Resource": [
{
"Fn::GetAtt": [
- "DataSourceAccessLogsBucketE5273C2E",
+ "AgentBucket77F66FF4",
"Arn",
],
},
@@ -530,7 +24950,7 @@ exports[`GenerativeAiUseCases matches the snapshot 2`] = `
[
{
"Fn::GetAtt": [
- "DataSourceAccessLogsBucketE5273C2E",
+ "AgentBucket77F66FF4",
"Arn",
],
},
@@ -546,106 +24966,262 @@ exports[`GenerativeAiUseCases matches the snapshot 2`] = `
},
"Type": "AWS::S3::BucketPolicy",
},
- "DataSourceBucket9FA93E04": {
- "DeletionPolicy": "Delete",
+ "AgentCodeInterpreterAgent98889BFE": {
"Properties": {
- "BucketEncryption": {
- "ServerSideEncryptionConfiguration": [
- {
- "ServerSideEncryptionByDefault": {
- "SSEAlgorithm": "AES256",
- },
- },
- ],
- },
- "LoggingConfiguration": {
- "DestinationBucketName": {
- "Ref": "DataSourceAccessLogsBucketE5273C2E",
+ "ActionGroups": [
+ {
+ "ActionGroupName": "CodeInterpreter",
+ "ParentActionGroupSignature": "AMAZON.CodeInterpreter",
},
- "LogFilePrefix": "AccessLogs/",
- },
- "OwnershipControls": {
- "Rules": [
- {
- "ObjectOwnership": "ObjectWriter",
- },
+ ],
+ "AgentName": "CodeInterpreterAgent-WebSearchAgentStackAgent49BCEDE6",
+ "AgentResourceRoleArn": {
+ "Fn::GetAtt": [
+ "AgentBedrockAgentRole5FEB7025",
+ "Arn",
],
},
- "PublicAccessBlockConfiguration": {
- "BlockPublicAcls": true,
- "BlockPublicPolicy": true,
- "IgnorePublicAcls": true,
- "RestrictPublicBuckets": true,
+ "AutoPrepare": true,
+ "Description": "Code Interpreter",
+ "FoundationModel": "us.anthropic.claude-3-5-sonnet-20241022-v2:0",
+ "IdleSessionTTLInSeconds": 3600,
+ "Instruction": "You are an advanced AI agent with the ability to execute code, generate charts, and perform complex data analysis.
+Your main function is to solve problems and meet user requests by utilizing these capabilities.
+Your main characteristics and instructions are as follows.
+
+Code Execution:
+- Access the Python environment in real time to write and run code.
+- When asked to perform calculations or data operations, always use this code execution feature to ensure accuracy.
+- After running the code, report the exact output and explain the results.
+
+Data Analysis:
+- You are excellent at statistical analysis, data visualization, machine learning applications, and other complex data analysis tasks.
+- Understand the problem, prepare the data, perform the analysis, and interpret the results systematically.
+
+Problem Solving Approach:
+- When a problem or request is presented, break it down into steps.
+- Clearly communicate the process and steps taken.
+- If a task requires multiple steps or tools, outline the approach before starting.
+
+Transparency and Accuracy:
+- Always clarify what you are doing. If you are executing code, inform the user. If you are generating an image, explain that.
+- If you are unsure about something or the task exceeds your capabilities, clearly communicate that.
+- Do not present hypothetical results as actual results. Only report actual results from code execution or image generation.
+
+Dialog Style:
+- Provide a concise answer to simple questions and a detailed explanation for complex tasks.
+- Use appropriate technical terms, but be prepared to explain in simple terms if requested.
+- Actively propose useful related information or alternative approaches.
+
+Continuous Improvement:
+- After completing a task, ask the user if they need an explanation.
+- Listen to feedback and adjust the approach accordingly.
+
+Your goal is to provide support that is accurate and useful by utilizing the unique features of code execution, image generation, and data analysis.
+Always strive to provide the most practical and effective solutions to user requests.
+
+Automatically detect the language of the user's request and think and answer in the same language.",
+ },
+ "Type": "AWS::Bedrock::Agent",
+ },
+ "AgentCodeInterpreterAgentAliasB6F54C31": {
+ "Properties": {
+ "AgentAliasName": "v1",
+ "AgentId": {
+ "Fn::GetAtt": [
+ "AgentCodeInterpreterAgent98889BFE",
+ "AgentId",
+ ],
},
- "Tags": [
+ },
+ "Type": "AWS::Bedrock::AgentAlias",
+ },
+ "AgentSearchAgent3AF6EC6F": {
+ "Properties": {
+ "ActionGroups": [
{
- "Key": "aws-cdk:auto-delete-objects",
- "Value": "true",
+ "ActionGroupExecutor": {
+ "Lambda": {
+ "Fn::GetAtt": [
+ "AgentBedrockAgentLambda3510C7EB",
+ "Arn",
+ ],
+ },
+ },
+ "ActionGroupName": "Search",
+ "ApiSchema": {
+ "S3": {
+ "S3BucketName": {
+ "Fn::Select": [
+ 0,
+ {
+ "Fn::Split": [
+ "/",
+ {
+ "Fn::Select": [
+ 5,
+ {
+ "Fn::Split": [
+ ":",
+ {
+ "Fn::GetAtt": [
+ "AgentApiSchemaBucketCustomResource1D7C4CC4",
+ "DestinationBucketArn",
+ ],
+ },
+ ],
+ },
+ ],
+ },
+ ],
+ },
+ ],
+ },
+ "S3ObjectKey": "api-schema/api-schema.json",
+ },
+ },
+ "Description": "Search",
},
{
- "Key": "aws-cdk:cr-owned:af230d0d",
- "Value": "true",
+ "ActionGroupName": "UserInputAction",
+ "ParentActionGroupSignature": "AMAZON.UserInput",
},
],
+ "AgentName": "SearchEngineAgent-WebSearchAgentStackAgent49BCEDE6",
+ "AgentResourceRoleArn": {
+ "Fn::GetAtt": [
+ "AgentBedrockAgentRole5FEB7025",
+ "Arn",
+ ],
+ },
+ "AutoPrepare": true,
+ "Description": "Search Agent",
+ "FoundationModel": "us.anthropic.claude-3-5-sonnet-20241022-v2:0",
+ "IdleSessionTTLInSeconds": 3600,
+ "Instruction": "You are an advanced assistant with the ability to search and retrieve information from the web to perform complex research tasks.
+Your main function is to solve problems and meet user requests by utilizing these capabilities.
+Your main characteristics and instructions are as follows.
+
+- Understand the user's request and construct hypothesis on research strategy. If the user's request is not clear, ask the user for more information.
+- Think right search keywords to retrieve information relevant to the user's request.
+- Search the web for information relevant to the user's request.
+- Retrieve information from the web to answer the user's request.
+- If the information needed to respond to the instruction is sufficient, answer immediately.
+- If the information is insufficient, revise research strategy and collect more information.
+- Multiple searches are possible. You can search up to 5 times.
+
+Automatically detect the language of the user's request and think and answer in the same language.",
},
- "Type": "AWS::S3::Bucket",
- "UpdateReplacePolicy": "Delete",
+ "Type": "AWS::Bedrock::Agent",
},
- "DataSourceBucketAutoDeleteObjectsCustomResourceE8C6F6B1": {
- "DeletionPolicy": "Delete",
+ "AgentSearchAgentAliasD59C2A47": {
+ "Properties": {
+ "AgentAliasName": "v1",
+ "AgentId": {
+ "Fn::GetAtt": [
+ "AgentSearchAgent3AF6EC6F",
+ "AgentId",
+ ],
+ },
+ },
+ "Type": "AWS::Bedrock::AgentAlias",
+ },
+ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C81C01536": {
"DependsOn": [
- "DataSourceBucketPolicy817DBB38",
+ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRoleDefaultPolicy88902FDF",
+ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRole89A01265",
],
"Properties": {
- "BucketName": {
- "Ref": "DataSourceBucket9FA93E04",
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
},
- "ServiceToken": {
+ "Environment": {
+ "Variables": {
+ "AWS_CA_BUNDLE": "/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem",
+ },
+ },
+ "Handler": "index.handler",
+ "Layers": [
+ {
+ "Ref": "AgentApiSchemaBucketAwsCliLayer2C3ACF8A",
+ },
+ ],
+ "Role": {
"Fn::GetAtt": [
- "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F",
+ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRole89A01265",
"Arn",
],
},
+ "Runtime": "python3.11",
+ "Timeout": 900,
+ },
+ "Type": "AWS::Lambda::Function",
+ },
+ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRole89A01265": {
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
+ },
+ ],
},
- "Type": "Custom::S3AutoDeleteObjects",
- "UpdateReplacePolicy": "Delete",
+ "Type": "AWS::IAM::Role",
},
- "DataSourceBucketPolicy817DBB38": {
+ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRoleDefaultPolicy88902FDF": {
"Properties": {
- "Bucket": {
- "Ref": "DataSourceBucket9FA93E04",
- },
"PolicyDocument": {
"Statement": [
{
- "Action": "s3:*",
- "Condition": {
- "Bool": {
- "aws:SecureTransport": "false",
- },
- },
- "Effect": "Deny",
- "Principal": {
- "AWS": "*",
- },
+ "Action": [
+ "s3:GetObject*",
+ "s3:GetBucket*",
+ "s3:List*",
+ ],
+ "Effect": "Allow",
"Resource": [
{
- "Fn::GetAtt": [
- "DataSourceBucket9FA93E04",
- "Arn",
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":s3:::cdk-hnb659fds-assets-123456890123-us-east-1",
+ ],
],
},
{
"Fn::Join": [
"",
[
+ "arn:",
{
- "Fn::GetAtt": [
- "DataSourceBucket9FA93E04",
- "Arn",
- ],
+ "Ref": "AWS::Partition",
},
- "/*",
+ ":s3:::cdk-hnb659fds-assets-123456890123-us-east-1/*",
],
],
},
@@ -653,24 +25229,22 @@ exports[`GenerativeAiUseCases matches the snapshot 2`] = `
},
{
"Action": [
- "s3:PutBucketPolicy",
+ "s3:GetObject*",
"s3:GetBucket*",
"s3:List*",
"s3:DeleteObject*",
+ "s3:PutObject",
+ "s3:PutObjectLegalHold",
+ "s3:PutObjectRetention",
+ "s3:PutObjectTagging",
+ "s3:PutObjectVersionTagging",
+ "s3:Abort*",
],
"Effect": "Allow",
- "Principal": {
- "AWS": {
- "Fn::GetAtt": [
- "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
- "Arn",
- ],
- },
- },
"Resource": [
{
"Fn::GetAtt": [
- "DataSourceBucket9FA93E04",
+ "AgentBucket77F66FF4",
"Arn",
],
},
@@ -680,7 +25254,7 @@ exports[`GenerativeAiUseCases matches the snapshot 2`] = `
[
{
"Fn::GetAtt": [
- "DataSourceBucket9FA93E04",
+ "AgentBucket77F66FF4",
"Arn",
],
},
@@ -693,195 +25267,41 @@ exports[`GenerativeAiUseCases matches the snapshot 2`] = `
],
"Version": "2012-10-17",
},
- },
- "Type": "AWS::S3::BucketPolicy",
- },
- "DeployDocsAwsCliLayer98E5B499": {
- "Properties": {
- "Content": {
- "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
- "S3Key": "HASH-REPLACED.zip",
- },
- "Description": "/opt/awscli/aws",
- },
- "Type": "AWS::Lambda::LayerVersion",
- },
- "DeployDocsCustomResource1024MiB91B30E63": {
- "DeletionPolicy": "Delete",
- "Properties": {
- "DestinationBucketName": {
- "Ref": "DataSourceBucket9FA93E04",
- },
- "Exclude": [
- "AccessLogs/*",
- "logs*",
- ],
- "OutputObjectKeys": true,
- "Prune": false,
- "ServiceToken": {
- "Fn::GetAtt": [
- "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C1024MiBB049752D",
- "Arn",
- ],
- },
- "SourceBucketNames": [
- "cdk-hnb659fds-assets-123456890123-us-east-1",
- ],
- "SourceObjectKeys": [
- "HASH-REPLACED.zip",
- ],
- },
- "Type": "Custom::CDKBucketDeployment",
- "UpdateReplacePolicy": "Delete",
- },
- "EncryptionPolicy": {
- "Properties": {
- "Name": "generative-ai-use-cases-jp",
- "Policy": "{"Rules":[{"Resource":["collection/generative-ai-use-cases-jp"],"ResourceType":"collection"}],"AWSOwnedKey":true}",
- "Type": "encryption",
- },
- "Type": "AWS::OpenSearchServerless::SecurityPolicy",
- },
- "KnowledgeBase": {
- "DependsOn": [
- "Collection",
- "OssIndexCustomResourceFB9548E5",
- ],
- "Properties": {
- "KnowledgeBaseConfiguration": {
- "Type": "VECTOR",
- "VectorKnowledgeBaseConfiguration": {
- "EmbeddingModelArn": "arn:aws:bedrock:us-east-1::foundation-model/amazon.titan-embed-text-v2:0",
- },
- },
- "Name": "generative-ai-use-cases-jp",
- "RoleArn": {
- "Fn::GetAtt": [
- "KnowledgeBaseRoleA2B317B9",
- "Arn",
- ],
- },
- "StorageConfiguration": {
- "OpensearchServerlessConfiguration": {
- "CollectionArn": {
- "Fn::GetAtt": [
- "Collection",
- "Arn",
- ],
- },
- "FieldMapping": {
- "MetadataField": "AMAZON_BEDROCK_METADATA",
- "TextField": "AMAZON_BEDROCK_TEXT_CHUNK",
- "VectorField": "bedrock-knowledge-base-default-vector",
- },
- "VectorIndexName": "bedrock-knowledge-base-default",
- },
- "Type": "OPENSEARCH_SERVERLESS",
- },
- },
- "Type": "AWS::Bedrock::KnowledgeBase",
- },
- "KnowledgeBaseRoleA2B317B9": {
- "Properties": {
- "AssumeRolePolicyDocument": {
- "Statement": [
- {
- "Action": "sts:AssumeRole",
- "Effect": "Allow",
- "Principal": {
- "Service": "bedrock.amazonaws.com",
- },
- },
- ],
- "Version": "2012-10-17",
- },
- },
- "Type": "AWS::IAM::Role",
- },
- "KnowledgeBaseRoleDefaultPolicyB3F66209": {
- "Properties": {
- "PolicyDocument": {
- "Statement": [
- {
- "Action": "bedrock:InvokeModel",
- "Effect": "Allow",
- "Resource": "*",
- },
- {
- "Action": "aoss:APIAccessAll",
- "Effect": "Allow",
- "Resource": {
- "Fn::GetAtt": [
- "Collection",
- "Arn",
- ],
- },
- },
- {
- "Action": "s3:ListBucket",
- "Effect": "Allow",
- "Resource": {
- "Fn::Join": [
- "",
- [
- "arn:aws:s3:::",
- {
- "Ref": "DataSourceBucket9FA93E04",
- },
- ],
- ],
- },
- },
- {
- "Action": "s3:GetObject",
- "Effect": "Allow",
- "Resource": {
- "Fn::Join": [
- "",
- [
- "arn:aws:s3:::",
- {
- "Ref": "DataSourceBucket9FA93E04",
- },
- "/*",
- ],
- ],
- },
- },
- ],
- "Version": "2012-10-17",
- },
- "PolicyName": "KnowledgeBaseRoleDefaultPolicyB3F66209",
+ "PolicyName": "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRoleDefaultPolicy88902FDF",
"Roles": [
{
- "Ref": "KnowledgeBaseRoleA2B317B9",
+ "Ref": "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRole89A01265",
},
],
},
"Type": "AWS::IAM::Policy",
},
- "NetworkPolicy": {
- "Properties": {
- "Name": "generative-ai-use-cases-jp",
- "Policy": "[{"Rules":[{"Resource":["collection/generative-ai-use-cases-jp"],"ResourceType":"collection"},{"Resource":["collection/generative-ai-use-cases-jp"],"ResourceType":"dashboard"}],"AllowFromPublic":true}]",
- "Type": "network",
- },
- "Type": "AWS::OpenSearchServerless::SecurityPolicy",
- },
- "OpenSearchServerlessIndex339C5FEDA1B543B6B40A5E8E59E5734D5A536997": {
+ "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F": {
"DependsOn": [
- "OpenSearchServerlessIndex339C5FEDA1B543B6B40A5E8E59E5734DServiceRoleDefaultPolicy4DF6601A",
- "OpenSearchServerlessIndex339C5FEDA1B543B6B40A5E8E59E5734DServiceRole367CC992",
+ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
],
"Properties": {
"Code": {
"S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
"S3Key": "HASH-REPLACED.zip",
},
- "Handler": "oss-index.handler",
+ "Description": {
+ "Fn::Join": [
+ "",
+ [
+ "Lambda function for auto-deleting objects in ",
+ {
+ "Ref": "AgentBucket77F66FF4",
+ },
+ " S3 bucket.",
+ ],
+ ],
+ },
+ "Handler": "index.handler",
+ "MemorySize": 128,
"Role": {
"Fn::GetAtt": [
- "OpenSearchServerlessIndex339C5FEDA1B543B6B40A5E8E59E5734DServiceRole367CC992",
+ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
"Arn",
],
},
@@ -890,7 +25310,7 @@ exports[`GenerativeAiUseCases matches the snapshot 2`] = `
},
"Type": "AWS::Lambda::Function",
},
- "OpenSearchServerlessIndex339C5FEDA1B543B6B40A5E8E59E5734DServiceRole367CC992": {
+ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092": {
"Properties": {
"AssumeRolePolicyDocument": {
"Statement": [
@@ -906,69 +25326,12 @@ exports[`GenerativeAiUseCases matches the snapshot 2`] = `
},
"ManagedPolicyArns": [
{
- "Fn::Join": [
- "",
- [
- "arn:",
- {
- "Ref": "AWS::Partition",
- },
- ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
- ],
- ],
+ "Fn::Sub": "arn:\${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
},
],
},
"Type": "AWS::IAM::Role",
},
- "OpenSearchServerlessIndex339C5FEDA1B543B6B40A5E8E59E5734DServiceRoleDefaultPolicy4DF6601A": {
- "Properties": {
- "PolicyDocument": {
- "Statement": [
- {
- "Action": "aoss:APIAccessAll",
- "Effect": "Allow",
- "Resource": {
- "Fn::GetAtt": [
- "Collection",
- "Arn",
- ],
- },
- },
- ],
- "Version": "2012-10-17",
- },
- "PolicyName": "OpenSearchServerlessIndex339C5FEDA1B543B6B40A5E8E59E5734DServiceRoleDefaultPolicy4DF6601A",
- "Roles": [
- {
- "Ref": "OpenSearchServerlessIndex339C5FEDA1B543B6B40A5E8E59E5734DServiceRole367CC992",
- },
- ],
- },
- "Type": "AWS::IAM::Policy",
- },
- "OssIndexCustomResourceFB9548E5": {
- "DeletionPolicy": "Delete",
- "Properties": {
- "ServiceToken": {
- "Fn::GetAtt": [
- "OpenSearchServerlessIndex339C5FEDA1B543B6B40A5E8E59E5734D5A536997",
- "Arn",
- ],
- },
- "collectionId": {
- "Ref": "Collection",
- },
- "metadataField": "AMAZON_BEDROCK_METADATA",
- "ragKnowledgeBaseBinaryVector": false,
- "textField": "AMAZON_BEDROCK_TEXT_CHUNK",
- "vectorDimension": "1024",
- "vectorField": "bedrock-knowledge-base-default-vector",
- "vectorIndexName": "bedrock-knowledge-base-default",
- },
- "Type": "Custom::OssIndex",
- "UpdateReplacePolicy": "Delete",
- },
},
"Rules": {
"CheckBootstrapVersion": {
@@ -1000,52 +25363,44 @@ exports[`GenerativeAiUseCases matches the snapshot 2`] = `
}
`;
-exports[`GenerativeAiUseCases matches the snapshot 3`] = `
+exports[`GenerativeAiUseCases matches the snapshot 4`] = `
{
"Outputs": {
- "ExportsOutputFnGetAttAgentCodeInterpreterAgent98889BFEAgentIdFAC9D557": {
+ "ExportsOutputFnGetAttGenericAgentCoreGenericAgentCoreRuntimeD3EBAAF7AgentCoreRuntimeArn010E372F": {
"Export": {
- "Name": "WebSearchAgentStack:ExportsOutputFnGetAttAgentCodeInterpreterAgent98889BFEAgentIdFAC9D557",
+ "Name": "AgentCoreStack:ExportsOutputFnGetAttGenericAgentCoreGenericAgentCoreRuntimeD3EBAAF7AgentCoreRuntimeArn010E372F",
},
"Value": {
"Fn::GetAtt": [
- "AgentCodeInterpreterAgent98889BFE",
- "AgentId",
+ "GenericAgentCoreGenericAgentCoreRuntimeD3EBAAF7",
+ "AgentCoreRuntimeArn",
],
},
},
- "ExportsOutputFnGetAttAgentCodeInterpreterAgentAliasB6F54C31AgentAliasIdE516C748": {
+ "ExportsOutputRefGenericAgentCoreAgentCoreFileBucket0430DA423298A79F": {
"Export": {
- "Name": "WebSearchAgentStack:ExportsOutputFnGetAttAgentCodeInterpreterAgentAliasB6F54C31AgentAliasIdE516C748",
+ "Name": "AgentCoreStack:ExportsOutputRefGenericAgentCoreAgentCoreFileBucket0430DA423298A79F",
},
"Value": {
- "Fn::GetAtt": [
- "AgentCodeInterpreterAgentAliasB6F54C31",
- "AgentAliasId",
- ],
+ "Ref": "GenericAgentCoreAgentCoreFileBucket0430DA42",
},
},
- "ExportsOutputFnGetAttAgentSearchAgent3AF6EC6FAgentIdF3D3B4F6": {
+ "GenericAgentCoreRuntimeArn": {
"Export": {
- "Name": "WebSearchAgentStack:ExportsOutputFnGetAttAgentSearchAgent3AF6EC6FAgentIdF3D3B4F6",
+ "Name": "AgentCoreStack-GenericAgentCoreRuntimeArn",
},
"Value": {
"Fn::GetAtt": [
- "AgentSearchAgent3AF6EC6F",
- "AgentId",
+ "GenericAgentCoreGenericAgentCoreRuntimeD3EBAAF7",
+ "AgentCoreRuntimeArn",
],
},
},
- "ExportsOutputFnGetAttAgentSearchAgentAliasD59C2A47AgentAliasId0289A97F": {
+ "GenericAgentCoreRuntimeName": {
"Export": {
- "Name": "WebSearchAgentStack:ExportsOutputFnGetAttAgentSearchAgentAliasD59C2A47AgentAliasId0289A97F",
- },
- "Value": {
- "Fn::GetAtt": [
- "AgentSearchAgentAliasD59C2A47",
- "AgentAliasId",
- ],
+ "Name": "AgentCoreStack-GenericAgentCoreRuntimeName",
},
+ "Value": "GenericAgentCoreRuntime",
},
},
"Parameters": {
@@ -1056,88 +25411,41 @@ exports[`GenerativeAiUseCases matches the snapshot 3`] = `
},
},
"Resources": {
- "AgentApiSchemaBucketAwsCliLayer2C3ACF8A": {
- "Properties": {
- "Content": {
- "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
- "S3Key": "HASH-REPLACED.zip",
- },
- "Description": "/opt/awscli/aws",
- },
- "Type": "AWS::Lambda::LayerVersion",
- },
- "AgentApiSchemaBucketCustomResource1D7C4CC4": {
- "DeletionPolicy": "Delete",
- "Properties": {
- "DestinationBucketArn": {
- "Fn::GetAtt": [
- "AgentBucket77F66FF4",
- "Arn",
- ],
- },
- "DestinationBucketKeyPrefix": "api-schema",
- "DestinationBucketName": {
- "Ref": "AgentBucket77F66FF4",
- },
- "OutputObjectKeys": true,
- "Prune": true,
- "ServiceToken": {
- "Fn::GetAtt": [
- "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C81C01536",
- "Arn",
- ],
- },
- "SourceBucketNames": [
- "cdk-hnb659fds-assets-123456890123-us-east-1",
- ],
- "SourceObjectKeys": [
- "HASH-REPLACED.zip",
- ],
- },
- "Type": "Custom::CDKBucketDeployment",
- "UpdateReplacePolicy": "Delete",
- },
- "AgentBedrockAgentLambda3510C7EB": {
+ "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F": {
"DependsOn": [
- "AgentBedrockAgentLambdaServiceRole91E15FC7",
+ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
],
"Properties": {
"Code": {
"S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
"S3Key": "HASH-REPLACED.zip",
},
- "Environment": {
- "Variables": {
- "SEARCH_API_KEY": "XXXXXX",
- "SEARCH_ENGINE": "Brave",
- },
+ "Description": {
+ "Fn::Join": [
+ "",
+ [
+ "Lambda function for auto-deleting objects in ",
+ {
+ "Ref": "GenericAgentCoreAgentCoreFileBucket0430DA42",
+ },
+ " S3 bucket.",
+ ],
+ ],
},
"Handler": "index.handler",
+ "MemorySize": 128,
"Role": {
"Fn::GetAtt": [
- "AgentBedrockAgentLambdaServiceRole91E15FC7",
+ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
"Arn",
],
},
"Runtime": "nodejs22.x",
- "Timeout": 300,
+ "Timeout": 900,
},
"Type": "AWS::Lambda::Function",
},
- "AgentBedrockAgentLambdaInvokeu1TDdDMoLpes23omAp0kUXOcNSkFsO0n9KPkoXL68FBA4836E": {
- "Properties": {
- "Action": "lambda:InvokeFunction",
- "FunctionName": {
- "Fn::GetAtt": [
- "AgentBedrockAgentLambda3510C7EB",
- "Arn",
- ],
- },
- "Principal": "bedrock.amazonaws.com",
- },
- "Type": "AWS::Lambda::Permission",
- },
- "AgentBedrockAgentLambdaServiceRole91E15FC7": {
+ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092": {
"Properties": {
"AssumeRolePolicyDocument": {
"Statement": [
@@ -1153,417 +25461,213 @@ exports[`GenerativeAiUseCases matches the snapshot 3`] = `
},
"ManagedPolicyArns": [
{
- "Fn::Join": [
- "",
- [
- "arn:",
- {
- "Ref": "AWS::Partition",
- },
- ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
- ],
- ],
- },
- ],
- },
- "Type": "AWS::IAM::Role",
- },
- "AgentBedrockAgentRole5FEB7025": {
- "Properties": {
- "AssumeRolePolicyDocument": {
- "Statement": [
- {
- "Action": "sts:AssumeRole",
- "Effect": "Allow",
- "Principal": {
- "Service": "bedrock.amazonaws.com",
- },
- },
- ],
- "Version": "2012-10-17",
- },
- "Policies": [
- {
- "PolicyDocument": {
- "Statement": [
- {
- "Action": "*",
- "Effect": "Allow",
- "Resource": [
- {
- "Fn::GetAtt": [
- "AgentBucket77F66FF4",
- "Arn",
- ],
- },
- {
- "Fn::Join": [
- "",
- [
- {
- "Fn::GetAtt": [
- "AgentBucket77F66FF4",
- "Arn",
- ],
- },
- "/*",
- ],
- ],
- },
- ],
- },
- ],
- "Version": "2012-10-17",
- },
- "PolicyName": "BedrockAgentS3BucketPolicy",
- },
- {
- "PolicyDocument": {
- "Statement": [
- {
- "Action": "bedrock:*",
- "Effect": "Allow",
- "Resource": "*",
- },
- ],
- "Version": "2012-10-17",
- },
- "PolicyName": "BedrockAgentBedrockModelPolicy",
+ "Fn::Sub": "arn:\${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
},
],
},
"Type": "AWS::IAM::Role",
},
- "AgentBucket77F66FF4": {
- "DeletionPolicy": "Delete",
+ "GenericAgentCoreAgentCoreCustomResourceRoleBDED8F6B": {
"Properties": {
- "BucketEncryption": {
- "ServerSideEncryptionConfiguration": [
+ "AssumeRolePolicyDocument": {
+ "Statement": [
{
- "ServerSideEncryptionByDefault": {
- "SSEAlgorithm": "AES256",
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com",
},
},
],
+ "Version": "2012-10-17",
},
- "PublicAccessBlockConfiguration": {
- "BlockPublicAcls": true,
- "BlockPublicPolicy": true,
- "IgnorePublicAcls": true,
- "RestrictPublicBuckets": true,
- },
- "Tags": [
- {
- "Key": "aws-cdk:auto-delete-objects",
- "Value": "true",
- },
+ "ManagedPolicyArns": [
{
- "Key": "aws-cdk:cr-owned:api-schema:b7d6a79e",
- "Value": "true",
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
},
],
},
- "Type": "AWS::S3::Bucket",
- "UpdateReplacePolicy": "Delete",
- },
- "AgentBucketAutoDeleteObjectsCustomResourceBD94B538": {
- "DeletionPolicy": "Delete",
- "DependsOn": [
- "AgentBucketPolicy37E1CD3C",
- ],
- "Properties": {
- "BucketName": {
- "Ref": "AgentBucket77F66FF4",
- },
- "ServiceToken": {
- "Fn::GetAtt": [
- "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F",
- "Arn",
- ],
- },
- },
- "Type": "Custom::S3AutoDeleteObjects",
- "UpdateReplacePolicy": "Delete",
+ "Type": "AWS::IAM::Role",
},
- "AgentBucketPolicy37E1CD3C": {
+ "GenericAgentCoreAgentCoreCustomResourceRoleDefaultPolicy673FD2FE": {
"Properties": {
- "Bucket": {
- "Ref": "AgentBucket77F66FF4",
- },
"PolicyDocument": {
"Statement": [
{
- "Action": "s3:*",
- "Condition": {
- "Bool": {
- "aws:SecureTransport": "false",
- },
- },
- "Effect": "Deny",
- "Principal": {
- "AWS": "*",
- },
- "Resource": [
- {
- "Fn::GetAtt": [
- "AgentBucket77F66FF4",
- "Arn",
- ],
- },
- {
- "Fn::Join": [
- "",
- [
- {
- "Fn::GetAtt": [
- "AgentBucket77F66FF4",
- "Arn",
- ],
- },
- "/*",
- ],
- ],
- },
- ],
+ "Action": "bedrock-agentcore:*",
+ "Effect": "Allow",
+ "Resource": "*",
+ "Sid": "BedrockAgentCorePermissions",
},
{
- "Action": [
- "s3:PutBucketPolicy",
- "s3:GetBucket*",
- "s3:List*",
- "s3:DeleteObject*",
- ],
- "Effect": "Allow",
- "Principal": {
- "AWS": {
- "Fn::GetAtt": [
- "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
- "Arn",
- ],
+ "Action": "iam:PassRole",
+ "Condition": {
+ "StringEquals": {
+ "iam:PassedToService": "bedrock-agentcore.amazonaws.com",
},
},
- "Resource": [
- {
- "Fn::GetAtt": [
- "AgentBucket77F66FF4",
- "Arn",
- ],
- },
- {
- "Fn::Join": [
- "",
- [
- {
- "Fn::GetAtt": [
- "AgentBucket77F66FF4",
- "Arn",
- ],
- },
- "/*",
- ],
- ],
- },
- ],
+ "Effect": "Allow",
+ "Resource": "*",
+ "Sid": "IAMPassRolePermissions",
},
],
"Version": "2012-10-17",
},
- },
- "Type": "AWS::S3::BucketPolicy",
- },
- "AgentCodeInterpreterAgent98889BFE": {
- "Properties": {
- "ActionGroups": [
+ "PolicyName": "GenericAgentCoreAgentCoreCustomResourceRoleDefaultPolicy673FD2FE",
+ "Roles": [
{
- "ActionGroupName": "CodeInterpreter",
- "ParentActionGroupSignature": "AMAZON.CodeInterpreter",
+ "Ref": "GenericAgentCoreAgentCoreCustomResourceRoleBDED8F6B",
},
],
- "AgentName": "CodeInterpreterAgent-WebSearchAgentStackAgent49BCEDE6",
- "AgentResourceRoleArn": {
- "Fn::GetAtt": [
- "AgentBedrockAgentRole5FEB7025",
- "Arn",
- ],
- },
- "AutoPrepare": true,
- "Description": "Code Interpreter",
- "FoundationModel": "us.anthropic.claude-3-5-sonnet-20241022-v2:0",
- "IdleSessionTTLInSeconds": 3600,
- "Instruction": "You are an advanced AI agent with the ability to execute code, generate charts, and perform complex data analysis.
-Your main function is to solve problems and meet user requests by utilizing these capabilities.
-Your main characteristics and instructions are as follows.
-
-Code Execution:
-- Access the Python environment in real time to write and run code.
-- When asked to perform calculations or data operations, always use this code execution feature to ensure accuracy.
-- After running the code, report the exact output and explain the results.
-
-Data Analysis:
-- You are excellent at statistical analysis, data visualization, machine learning applications, and other complex data analysis tasks.
-- Understand the problem, prepare the data, perform the analysis, and interpret the results systematically.
-
-Problem Solving Approach:
-- When a problem or request is presented, break it down into steps.
-- Clearly communicate the process and steps taken.
-- If a task requires multiple steps or tools, outline the approach before starting.
-
-Transparency and Accuracy:
-- Always clarify what you are doing. If you are executing code, inform the user. If you are generating an image, explain that.
-- If you are unsure about something or the task exceeds your capabilities, clearly communicate that.
-- Do not present hypothetical results as actual results. Only report actual results from code execution or image generation.
-
-Dialog Style:
-- Provide a concise answer to simple questions and a detailed explanation for complex tasks.
-- Use appropriate technical terms, but be prepared to explain in simple terms if requested.
-- Actively propose useful related information or alternative approaches.
-
-Continuous Improvement:
-- After completing a task, ask the user if they need an explanation.
-- Listen to feedback and adjust the approach accordingly.
-
-Your goal is to provide support that is accurate and useful by utilizing the unique features of code execution, image generation, and data analysis.
-Always strive to provide the most practical and effective solutions to user requests.
-
-Automatically detect the language of the user's request and think and answer in the same language.",
},
- "Type": "AWS::Bedrock::Agent",
- },
- "AgentCodeInterpreterAgentAliasB6F54C31": {
- "Properties": {
- "AgentAliasName": "v1",
- "AgentId": {
- "Fn::GetAtt": [
- "AgentCodeInterpreterAgent98889BFE",
- "AgentId",
- ],
- },
- },
- "Type": "AWS::Bedrock::AgentAlias",
+ "Type": "AWS::IAM::Policy",
},
- "AgentSearchAgent3AF6EC6F": {
+ "GenericAgentCoreAgentCoreFileBucket0430DA42": {
+ "DeletionPolicy": "Delete",
"Properties": {
- "ActionGroups": [
- {
- "ActionGroupExecutor": {
- "Lambda": {
- "Fn::GetAtt": [
- "AgentBedrockAgentLambda3510C7EB",
- "Arn",
- ],
- },
- },
- "ActionGroupName": "Search",
- "ApiSchema": {
- "S3": {
- "S3BucketName": {
- "Fn::Select": [
- 0,
- {
- "Fn::Split": [
- "/",
- {
- "Fn::Select": [
- 5,
- {
- "Fn::Split": [
- ":",
- {
- "Fn::GetAtt": [
- "AgentApiSchemaBucketCustomResource1D7C4CC4",
- "DestinationBucketArn",
- ],
- },
- ],
- },
- ],
- },
- ],
- },
- ],
- },
- "S3ObjectKey": "api-schema/api-schema.json",
+ "BucketEncryption": {
+ "ServerSideEncryptionConfiguration": [
+ {
+ "ServerSideEncryptionByDefault": {
+ "SSEAlgorithm": "AES256",
},
- },
- "Description": "Search",
- },
+ },
+ ],
+ },
+ "PublicAccessBlockConfiguration": {
+ "BlockPublicAcls": true,
+ "BlockPublicPolicy": true,
+ "IgnorePublicAcls": true,
+ "RestrictPublicBuckets": true,
+ },
+ "Tags": [
{
- "ActionGroupName": "UserInputAction",
- "ParentActionGroupSignature": "AMAZON.UserInput",
+ "Key": "aws-cdk:auto-delete-objects",
+ "Value": "true",
},
],
- "AgentName": "SearchEngineAgent-WebSearchAgentStackAgent49BCEDE6",
- "AgentResourceRoleArn": {
+ },
+ "Type": "AWS::S3::Bucket",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "GenericAgentCoreAgentCoreFileBucketAutoDeleteObjectsCustomResourceC1B4B54D": {
+ "DeletionPolicy": "Delete",
+ "DependsOn": [
+ "GenericAgentCoreAgentCoreFileBucketPolicyB659200A",
+ ],
+ "Properties": {
+ "BucketName": {
+ "Ref": "GenericAgentCoreAgentCoreFileBucket0430DA42",
+ },
+ "ServiceToken": {
"Fn::GetAtt": [
- "AgentBedrockAgentRole5FEB7025",
+ "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F",
"Arn",
],
},
- "AutoPrepare": true,
- "Description": "Search Agent",
- "FoundationModel": "us.anthropic.claude-3-5-sonnet-20241022-v2:0",
- "IdleSessionTTLInSeconds": 3600,
- "Instruction": "You are an advanced assistant with the ability to search and retrieve information from the web to perform complex research tasks.
-Your main function is to solve problems and meet user requests by utilizing these capabilities.
-Your main characteristics and instructions are as follows.
-
-- Understand the user's request and construct hypothesis on research strategy. If the user's request is not clear, ask the user for more information.
-- Think right search keywords to retrieve information relevant to the user's request.
-- Search the web for information relevant to the user's request.
-- Retrieve information from the web to answer the user's request.
-- If the information needed to respond to the instruction is sufficient, answer immediately.
-- If the information is insufficient, revise research strategy and collect more information.
-- Multiple searches are possible. You can search up to 5 times.
-
-Automatically detect the language of the user's request and think and answer in the same language.",
},
- "Type": "AWS::Bedrock::Agent",
+ "Type": "Custom::S3AutoDeleteObjects",
+ "UpdateReplacePolicy": "Delete",
},
- "AgentSearchAgentAliasD59C2A47": {
+ "GenericAgentCoreAgentCoreFileBucketPolicyB659200A": {
"Properties": {
- "AgentAliasName": "v1",
- "AgentId": {
- "Fn::GetAtt": [
- "AgentSearchAgent3AF6EC6F",
- "AgentId",
+ "Bucket": {
+ "Ref": "GenericAgentCoreAgentCoreFileBucket0430DA42",
+ },
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "s3:PutBucketPolicy",
+ "s3:GetBucket*",
+ "s3:List*",
+ "s3:DeleteObject*",
+ ],
+ "Effect": "Allow",
+ "Principal": {
+ "AWS": {
+ "Fn::GetAtt": [
+ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
+ "Arn",
+ ],
+ },
+ },
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "GenericAgentCoreAgentCoreFileBucket0430DA42",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "GenericAgentCoreAgentCoreFileBucket0430DA42",
+ "Arn",
+ ],
+ },
+ "/*",
+ ],
+ ],
+ },
+ ],
+ },
],
+ "Version": "2012-10-17",
},
},
- "Type": "AWS::Bedrock::AgentAlias",
+ "Type": "AWS::S3::BucketPolicy",
},
- "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C81C01536": {
+ "GenericAgentCoreAgentCoreRuntimeProviderframeworkonEventC9CCB51A": {
"DependsOn": [
- "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRoleDefaultPolicy88902FDF",
- "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRole89A01265",
+ "GenericAgentCoreAgentCoreRuntimeProviderframeworkonEventServiceRoleDefaultPolicyBB9E52E2",
+ "GenericAgentCoreAgentCoreRuntimeProviderframeworkonEventServiceRole032FFAFA",
],
"Properties": {
"Code": {
"S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
"S3Key": "HASH-REPLACED.zip",
},
+ "Description": "AWS CDK resource provider framework - onEvent (AgentCoreStack/GenericAgentCore/AgentCoreRuntimeProvider)",
"Environment": {
"Variables": {
- "AWS_CA_BUNDLE": "/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem",
+ "USER_ON_EVENT_FUNCTION_ARN": {
+ "Fn::GetAtt": [
+ "SingletonB8F5E8923A1C4D2F9B7E6C8A5F9D2E1B1B378805",
+ "Arn",
+ ],
+ },
},
},
- "Handler": "index.handler",
- "Layers": [
- {
- "Ref": "AgentApiSchemaBucketAwsCliLayer2C3ACF8A",
- },
- ],
+ "Handler": "framework.onEvent",
+ "LoggingConfig": {
+ "ApplicationLogLevel": "FATAL",
+ "LogFormat": "JSON",
+ },
"Role": {
"Fn::GetAtt": [
- "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRole89A01265",
+ "GenericAgentCoreAgentCoreRuntimeProviderframeworkonEventServiceRole032FFAFA",
"Arn",
],
},
- "Runtime": "python3.11",
+ "Runtime": "nodejs22.x",
"Timeout": 900,
},
"Type": "AWS::Lambda::Function",
},
- "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRole89A01265": {
+ "GenericAgentCoreAgentCoreRuntimeProviderframeworkonEventServiceRole032FFAFA": {
"Properties": {
"AssumeRolePolicyDocument": {
"Statement": [
@@ -1594,44 +25698,151 @@ Automatically detect the language of the user's request and think and answer in
},
"Type": "AWS::IAM::Role",
},
- "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRoleDefaultPolicy88902FDF": {
+ "GenericAgentCoreAgentCoreRuntimeProviderframeworkonEventServiceRoleDefaultPolicyBB9E52E2": {
"Properties": {
"PolicyDocument": {
"Statement": [
{
- "Action": [
- "s3:GetObject*",
- "s3:GetBucket*",
- "s3:List*",
- ],
+ "Action": "lambda:InvokeFunction",
"Effect": "Allow",
"Resource": [
{
- "Fn::Join": [
- "",
- [
- "arn:",
- {
- "Ref": "AWS::Partition",
- },
- ":s3:::cdk-hnb659fds-assets-123456890123-us-east-1",
- ],
+ "Fn::GetAtt": [
+ "SingletonB8F5E8923A1C4D2F9B7E6C8A5F9D2E1B1B378805",
+ "Arn",
],
},
{
"Fn::Join": [
"",
[
- "arn:",
{
- "Ref": "AWS::Partition",
+ "Fn::GetAtt": [
+ "SingletonB8F5E8923A1C4D2F9B7E6C8A5F9D2E1B1B378805",
+ "Arn",
+ ],
},
- ":s3:::cdk-hnb659fds-assets-123456890123-us-east-1/*",
+ ":*",
],
],
},
],
},
+ {
+ "Action": "lambda:GetFunction",
+ "Effect": "Allow",
+ "Resource": {
+ "Fn::GetAtt": [
+ "SingletonB8F5E8923A1C4D2F9B7E6C8A5F9D2E1B1B378805",
+ "Arn",
+ ],
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "GenericAgentCoreAgentCoreRuntimeProviderframeworkonEventServiceRoleDefaultPolicyBB9E52E2",
+ "Roles": [
+ {
+ "Ref": "GenericAgentCoreAgentCoreRuntimeProviderframeworkonEventServiceRole032FFAFA",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ },
+ "GenericAgentCoreAgentCoreRuntimeRepository6901D0DC": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "ImageScanningConfiguration": {
+ "ScanOnPush": true,
+ },
+ "RepositoryName": "lambda-python-generic-agent-core-runtime-agentcorestack",
+ },
+ "Type": "AWS::ECR::Repository",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "GenericAgentCoreAgentCoreRuntimeRoleDefaultPolicy4E847841": {
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "bedrock:InvokeModel",
+ "bedrock:InvokeModelWithResponseStream",
+ ],
+ "Effect": "Allow",
+ "Resource": "*",
+ "Sid": "BedrockPermissions",
+ },
+ {
+ "Action": [
+ "ecr:BatchGetImage",
+ "ecr:GetDownloadUrlForLayer",
+ ],
+ "Effect": "Allow",
+ "Resource": "arn:aws:ecr:us-east-1:123456890123:repository/*",
+ "Sid": "ECRImageAccess",
+ },
+ {
+ "Action": "ecr:GetAuthorizationToken",
+ "Effect": "Allow",
+ "Resource": "*",
+ "Sid": "ECRTokenAccess",
+ },
+ {
+ "Action": [
+ "logs:DescribeLogStreams",
+ "logs:CreateLogGroup",
+ ],
+ "Effect": "Allow",
+ "Resource": "arn:aws:logs:us-east-1:123456890123:log-group:/aws/bedrock-agentcore/runtimes/*",
+ },
+ {
+ "Action": "logs:DescribeLogGroups",
+ "Effect": "Allow",
+ "Resource": "arn:aws:logs:us-east-1:123456890123:log-group:*",
+ },
+ {
+ "Action": [
+ "logs:CreateLogStream",
+ "logs:PutLogEvents",
+ ],
+ "Effect": "Allow",
+ "Resource": "arn:aws:logs:us-east-1:123456890123:log-group:/aws/bedrock-agentcore/runtimes/*:log-stream:*",
+ },
+ {
+ "Action": [
+ "xray:PutTraceSegments",
+ "xray:PutTelemetryRecords",
+ "xray:GetSamplingRules",
+ "xray:GetSamplingTargets",
+ ],
+ "Effect": "Allow",
+ "Resource": "*",
+ },
+ {
+ "Action": "cloudwatch:PutMetricData",
+ "Condition": {
+ "StringEquals": {
+ "cloudwatch:namespace": "bedrock-agentcore",
+ },
+ },
+ "Effect": "Allow",
+ "Resource": "*",
+ },
+ {
+ "Action": [
+ "bedrock-agentcore:GetWorkloadAccessToken",
+ "bedrock-agentcore:GetWorkloadAccessTokenForJWT",
+ "bedrock-agentcore:GetWorkloadAccessTokenForUserId",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ "arn:aws:bedrock-agentcore:us-east-1:123456890123:workload-identity-directory/default",
+ "arn:aws:bedrock-agentcore:us-east-1:123456890123:workload-identity-directory/default/workload-identity/*",
+ ],
+ "Sid": "GetAgentAccessToken",
+ },
{
"Action": [
"s3:GetObject*",
@@ -1649,7 +25860,7 @@ Automatically detect the language of the user's request and think and answer in
"Resource": [
{
"Fn::GetAtt": [
- "AgentBucket77F66FF4",
+ "GenericAgentCoreAgentCoreFileBucket0430DA42",
"Arn",
],
},
@@ -1659,7 +25870,7 @@ Automatically detect the language of the user's request and think and answer in
[
{
"Fn::GetAtt": [
- "AgentBucket77F66FF4",
+ "GenericAgentCoreAgentCoreFileBucket0430DA42",
"Arn",
],
},
@@ -1669,61 +25880,83 @@ Automatically detect the language of the user's request and think and answer in
},
],
},
+ {
+ "Action": [
+ "s3:GetObject",
+ "s3:PutObject",
+ "s3:ListBucket",
+ "s3:DeleteObject",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "GenericAgentCoreAgentCoreFileBucket0430DA42",
+ "Arn",
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "GenericAgentCoreAgentCoreFileBucket0430DA42",
+ "Arn",
+ ],
+ },
+ "/*",
+ ],
+ ],
+ },
+ ],
+ "Sid": "S3BucketAccess",
+ },
+ {
+ "Action": [
+ "bedrock-agentcore:CreateCodeInterpreter",
+ "bedrock-agentcore:StartCodeInterpreterSession",
+ "bedrock-agentcore:InvokeCodeInterpreter",
+ "bedrock-agentcore:StopCodeInterpreterSession",
+ "bedrock-agentcore:DeleteCodeInterpreter",
+ "bedrock-agentcore:ListCodeInterpreters",
+ "bedrock-agentcore:GetCodeInterpreter",
+ "bedrock-agentcore:GetCodeInterpreterSession",
+ "bedrock-agentcore:ListCodeInterpreterSessions",
+ ],
+ "Effect": "Allow",
+ "Resource": "*",
+ "Sid": "Tools",
+ },
],
"Version": "2012-10-17",
},
- "PolicyName": "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRoleDefaultPolicy88902FDF",
+ "PolicyName": "GenericAgentCoreAgentCoreRuntimeRoleDefaultPolicy4E847841",
"Roles": [
{
- "Ref": "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRole89A01265",
+ "Ref": "GenericAgentCoreAgentCoreRuntimeRoleF34B80EA",
},
],
},
"Type": "AWS::IAM::Policy",
},
- "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F": {
- "DependsOn": [
- "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
- ],
- "Properties": {
- "Code": {
- "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
- "S3Key": "HASH-REPLACED.zip",
- },
- "Description": {
- "Fn::Join": [
- "",
- [
- "Lambda function for auto-deleting objects in ",
- {
- "Ref": "AgentBucket77F66FF4",
- },
- " S3 bucket.",
- ],
- ],
- },
- "Handler": "index.handler",
- "MemorySize": 128,
- "Role": {
- "Fn::GetAtt": [
- "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
- "Arn",
- ],
- },
- "Runtime": "nodejs20.x",
- "Timeout": 900,
- },
- "Type": "AWS::Lambda::Function",
- },
- "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092": {
+ "GenericAgentCoreAgentCoreRuntimeRoleF34B80EA": {
"Properties": {
"AssumeRolePolicyDocument": {
"Statement": [
{
"Action": "sts:AssumeRole",
+ "Condition": {
+ "ArnLike": {
+ "aws:SourceArn": "arn:aws:bedrock-agentcore:us-east-1:123456890123:*",
+ },
+ "StringEquals": {
+ "aws:SourceAccount": "123456890123",
+ },
+ },
"Effect": "Allow",
"Principal": {
- "Service": "lambda.amazonaws.com",
+ "Service": "bedrock-agentcore.amazonaws.com",
},
},
],
@@ -1731,12 +25964,82 @@ Automatically detect the language of the user's request and think and answer in
},
"ManagedPolicyArns": [
{
- "Fn::Sub": "arn:\${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ ],
+ ],
},
],
},
"Type": "AWS::IAM::Role",
},
+ "GenericAgentCoreGenericAgentCoreRuntimeD3EBAAF7": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "AgentCoreRuntimeName": "GenericAgentCoreRuntime",
+ "CustomConfig": {
+ "containerImageUri": {
+ "Fn::Sub": "123456890123.dkr.ecr.us-east-1.\${AWS::URLSuffix}/cdk-hnb659fds-container-assets-123456890123-us-east-1:64ba68f71e3d29f5b84d8e8d062e841cb600c436bb68a540d6fce32fded36c08",
+ },
+ "environmentVariables": {
+ "FILE_BUCKET": {
+ "Ref": "GenericAgentCoreAgentCoreFileBucket0430DA42",
+ },
+ },
+ },
+ "NetworkMode": "PUBLIC",
+ "RoleArn": {
+ "Fn::GetAtt": [
+ "GenericAgentCoreAgentCoreRuntimeRoleF34B80EA",
+ "Arn",
+ ],
+ },
+ "ServerProtocol": "HTTP",
+ "ServiceToken": {
+ "Fn::GetAtt": [
+ "GenericAgentCoreAgentCoreRuntimeProviderframeworkonEventC9CCB51A",
+ "Arn",
+ ],
+ },
+ },
+ "Type": "AWS::CloudFormation::CustomResource",
+ "UpdateReplacePolicy": "Delete",
+ },
+ "SingletonB8F5E8923A1C4D2F9B7E6C8A5F9D2E1B1B378805": {
+ "DependsOn": [
+ "GenericAgentCoreAgentCoreCustomResourceRoleDefaultPolicy673FD2FE",
+ "GenericAgentCoreAgentCoreCustomResourceRoleBDED8F6B",
+ ],
+ "Properties": {
+ "Code": {
+ "S3Bucket": "cdk-hnb659fds-assets-123456890123-us-east-1",
+ "S3Key": "HASH-REPLACED.zip",
+ },
+ "Description": "AgentCoreRuntime CustomResource Lambda Function (Singleton)",
+ "Environment": {
+ "Variables": {
+ "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1",
+ },
+ },
+ "FunctionName": "AgentCoreRuntime-AgentCoreStack-B8F5E892",
+ "Handler": "index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "GenericAgentCoreAgentCoreCustomResourceRoleBDED8F6B",
+ "Arn",
+ ],
+ },
+ "Runtime": "nodejs22.x",
+ "Timeout": 600,
+ },
+ "Type": "AWS::Lambda::Function",
+ },
},
"Rules": {
"CheckBootstrapVersion": {
@@ -1768,7 +26071,7 @@ Automatically detect the language of the user's request and think and answer in
}
`;
-exports[`GenerativeAiUseCases matches the snapshot 4`] = `
+exports[`GenerativeAiUseCases matches the snapshot 5`] = `
{
"Outputs": {
"ExportsOutputFnGetAttGuardrailguardrail03A76CF4GuardrailIdDBA991AF": {
@@ -1902,7 +26205,7 @@ exports[`GenerativeAiUseCases matches the snapshot 4`] = `
}
`;
-exports[`GenerativeAiUseCases matches the snapshot 5`] = `
+exports[`GenerativeAiUseCases matches the snapshot 6`] = `
{
"Description": "Generative AI Use Cases (uksb-1tupboc48)",
"Outputs": {
@@ -1928,6 +26231,26 @@ exports[`GenerativeAiUseCases matches the snapshot 5`] = `
],
},
},
+ "AgentCoreEnabled": {
+ "Value": "true",
+ },
+ "AgentCoreExternalRuntimes": {
+ "Value": "[]",
+ },
+ "AgentCoreGenericRuntime": {
+ "Value": {
+ "Fn::Join": [
+ "",
+ [
+ "{"name":"GenericAgentCoreRuntime","arn":"",
+ {
+ "Fn::ImportValue": "AgentCoreStack:ExportsOutputFnGetAttGenericAgentCoreGenericAgentCoreRuntimeD3EBAAF7AgentCoreRuntimeArn010E372F",
+ },
+ ""}",
+ ],
+ ],
+ },
+ },
"AgentEnabled": {
"Value": "true",
},
@@ -1987,7 +26310,18 @@ exports[`GenerativeAiUseCases matches the snapshot 5`] = `
},
},
"ImageGenerateModelIds": {
- "Value": "[{"modelId":"stability.stable-diffusion-xl-v1","region":"us-east-1"}]",
+ "Value": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"stability.stable-diffusion-xl-v1","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfilestabilitystablediffusionxlv1InferenceProfileArn20CB2491",
+ },
+ ""}]",
+ ],
+ ],
+ },
},
"InlineAgents": {
"Value": "false",
@@ -2007,7 +26341,18 @@ exports[`GenerativeAiUseCases matches the snapshot 5`] = `
"Value": "",
},
"ModelIds": {
- "Value": "[{"modelId":"anthropic.claude-3-sonnet-20240229-v1:0","region":"us-east-1"}]",
+ "Value": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"anthropic.claude-3-sonnet-20240229-v1:0","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfileanthropicclaude3sonnet20240229v10InferenceProfileArnB9E9C888",
+ },
+ ""}]",
+ ],
+ ],
+ },
},
"ModelRegion": {
"Value": "us-east-1",
@@ -2067,7 +26412,18 @@ exports[`GenerativeAiUseCases matches the snapshot 5`] = `
},
},
"SpeechToSpeechModelIds": {
- "Value": "[{"modelId":"amazon.nova-sonic-v1:0","region":"us-east-1"}]",
+ "Value": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"amazon.nova-sonic-v1:0","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfileamazonnovasonicv10InferenceProfileArnDDA114DD",
+ },
+ ""}]",
+ ],
+ ],
+ },
},
"SpeechToSpeechNamespace": {
"Value": "speech-to-speech",
@@ -2086,7 +26442,18 @@ exports[`GenerativeAiUseCases matches the snapshot 5`] = `
},
},
"VideoGenerateModelIds": {
- "Value": "[{"modelId":"amazon.nova-reel-v1:0","region":"us-east-1"}]",
+ "Value": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"amazon.nova-reel-v1:0","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfileamazonnovareelv10InferenceProfileArn5E8F5854",
+ },
+ ""}]",
+ ],
+ ],
+ },
},
"WebUrl": {
"Value": {
@@ -2327,6 +26694,9 @@ exports[`GenerativeAiUseCases matches the snapshot 5`] = `
"APIApiwebtextOPTIONS5EFD2A2D",
"APIApiwebtext0828B9D5",
],
+ "Metadata": {
+ "aws:cdk:do-not-refactor": true,
+ },
"Properties": {
"Description": "Automatically created by the RestApi construct",
"RestApiId": {
@@ -9602,8 +33972,30 @@ exports[`GenerativeAiUseCases matches the snapshot 5`] = `
"Ref": "APIFileBucket8FB29855",
},
"CROSS_ACCOUNT_BEDROCK_ROLE_ARN": "",
- "IMAGE_GENERATION_MODEL_IDS": "[{"modelId":"stability.stable-diffusion-xl-v1","region":"us-east-1"}]",
- "MODEL_IDS": "[{"modelId":"anthropic.claude-3-sonnet-20240229-v1:0","region":"us-east-1"}]",
+ "IMAGE_GENERATION_MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"stability.stable-diffusion-xl-v1","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfilestabilitystablediffusionxlv1InferenceProfileArn20CB2491",
+ },
+ ""}]",
+ ],
+ ],
+ },
+ "MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"anthropic.claude-3-sonnet-20240229-v1:0","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfileanthropicclaude3sonnet20240229v10InferenceProfileArnB9E9C888",
+ },
+ ""}]",
+ ],
+ ],
+ },
"MODEL_REGION": "us-east-1",
"TABLE_NAME": {
"Ref": "DatabaseTableF104A135",
@@ -9620,7 +34012,18 @@ exports[`GenerativeAiUseCases matches the snapshot 5`] = `
],
],
},
- "VIDEO_GENERATION_MODEL_IDS": "[{"modelId":"amazon.nova-reel-v1:0","region":"us-east-1"}]",
+ "VIDEO_GENERATION_MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"amazon.nova-reel-v1:0","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfileamazonnovareelv10InferenceProfileArn5E8F5854",
+ },
+ ""}]",
+ ],
+ ],
+ },
},
},
"Handler": "index.handler",
@@ -10767,12 +35170,45 @@ exports[`GenerativeAiUseCases matches the snapshot 5`] = `
},
"Environment": {
"Variables": {
- "IMAGE_GENERATION_MODEL_IDS": "[{"modelId":"stability.stable-diffusion-xl-v1","region":"us-east-1"}]",
- "MODEL_IDS": "[{"modelId":"anthropic.claude-3-sonnet-20240229-v1:0","region":"us-east-1"}]",
+ "IMAGE_GENERATION_MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"stability.stable-diffusion-xl-v1","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfilestabilitystablediffusionxlv1InferenceProfileArn20CB2491",
+ },
+ ""}]",
+ ],
+ ],
+ },
+ "MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"anthropic.claude-3-sonnet-20240229-v1:0","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfileanthropicclaude3sonnet20240229v10InferenceProfileArnB9E9C888",
+ },
+ ""}]",
+ ],
+ ],
+ },
"TABLE_NAME": {
"Ref": "DatabaseTableF104A135",
},
- "VIDEO_GENERATION_MODEL_IDS": "[{"modelId":"amazon.nova-reel-v1:0","region":"us-east-1"}]",
+ "VIDEO_GENERATION_MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"amazon.nova-reel-v1:0","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfileamazonnovareelv10InferenceProfileArn5E8F5854",
+ },
+ ""}]",
+ ],
+ ],
+ },
},
},
"Handler": "index.handler",
@@ -11273,10 +35709,43 @@ exports[`GenerativeAiUseCases matches the snapshot 5`] = `
"Environment": {
"Variables": {
"CROSS_ACCOUNT_BEDROCK_ROLE_ARN": "",
- "IMAGE_GENERATION_MODEL_IDS": "[{"modelId":"stability.stable-diffusion-xl-v1","region":"us-east-1"}]",
- "MODEL_IDS": "[{"modelId":"anthropic.claude-3-sonnet-20240229-v1:0","region":"us-east-1"}]",
+ "IMAGE_GENERATION_MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"stability.stable-diffusion-xl-v1","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfilestabilitystablediffusionxlv1InferenceProfileArn20CB2491",
+ },
+ ""}]",
+ ],
+ ],
+ },
+ "MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"anthropic.claude-3-sonnet-20240229-v1:0","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfileanthropicclaude3sonnet20240229v10InferenceProfileArnB9E9C888",
+ },
+ ""}]",
+ ],
+ ],
+ },
"MODEL_REGION": "us-east-1",
- "VIDEO_GENERATION_MODEL_IDS": "[{"modelId":"amazon.nova-reel-v1:0","region":"us-east-1"}]",
+ "VIDEO_GENERATION_MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"amazon.nova-reel-v1:0","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfileamazonnovareelv10InferenceProfileArn5E8F5854",
+ },
+ ""}]",
+ ],
+ ],
+ },
},
},
"Handler": "index.handler",
@@ -11368,26 +35837,59 @@ exports[`GenerativeAiUseCases matches the snapshot 5`] = `
"Ref": "APIFileBucket8FB29855",
},
"CROSS_ACCOUNT_BEDROCK_ROLE_ARN": "",
- "IMAGE_GENERATION_MODEL_IDS": "[{"modelId":"stability.stable-diffusion-xl-v1","region":"us-east-1"}]",
- "MODEL_IDS": "[{"modelId":"anthropic.claude-3-sonnet-20240229-v1:0","region":"us-east-1"}]",
+ "IMAGE_GENERATION_MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"stability.stable-diffusion-xl-v1","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfilestabilitystablediffusionxlv1InferenceProfileArn20CB2491",
+ },
+ ""}]",
+ ],
+ ],
+ },
+ "MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"anthropic.claude-3-sonnet-20240229-v1:0","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfileanthropicclaude3sonnet20240229v10InferenceProfileArnB9E9C888",
+ },
+ ""}]",
+ ],
+ ],
+ },
"MODEL_REGION": "us-east-1",
"TABLE_NAME": {
"Ref": "DatabaseTableF104A135",
},
- "VIDEO_BUCKET_OWNER": "123456890123",
- "VIDEO_BUCKET_REGION_MAP": {
+ "VIDEO_BUCKET_OWNER": "123456890123",
+ "VIDEO_BUCKET_REGION_MAP": {
+ "Fn::Join": [
+ "",
+ [
+ "{"us-east-1":"",
+ {
+ "Fn::ImportValue": "VideoTmpBucketStackus-east-1:ExportsOutputRefBucket83908E7781C90AC0",
+ },
+ ""}",
+ ],
+ ],
+ },
+ "VIDEO_GENERATION_MODEL_IDS": {
"Fn::Join": [
"",
[
- "{"us-east-1":"",
+ "[{"modelId":"amazon.nova-reel-v1:0","region":"us-east-1","inferenceProfileArn":"",
{
- "Fn::ImportValue": "VideoTmpBucketStackus-east-1:ExportsOutputRefBucket83908E7781C90AC0",
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfileamazonnovareelv10InferenceProfileArn5E8F5854",
},
- ""}",
+ ""}]",
],
],
},
- "VIDEO_GENERATION_MODEL_IDS": "[{"modelId":"amazon.nova-reel-v1:0","region":"us-east-1"}]",
},
},
"Handler": "index.handler",
@@ -11537,6 +36039,7 @@ exports[`GenerativeAiUseCases matches the snapshot 5`] = `
"Environment": {
"Variables": {
"CROSS_ACCOUNT_BEDROCK_ROLE_ARN": "",
+ "MODEL_REGION": "us-east-1",
},
},
"Handler": "index.handler",
@@ -11623,6 +36126,39 @@ exports[`GenerativeAiUseCases matches the snapshot 5`] = `
},
],
},
+ {
+ "Action": [
+ "s3:GetBucket*",
+ "s3:GetObject*",
+ "s3:List*",
+ ],
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:aws:s3:::",
+ {
+ "Fn::ImportValue": "AgentCoreStack:ExportsOutputRefGenericAgentCoreAgentCoreFileBucket0430DA423298A79F",
+ },
+ ],
+ ],
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:aws:s3:::",
+ {
+ "Fn::ImportValue": "AgentCoreStack:ExportsOutputRefGenericAgentCoreAgentCoreFileBucket0430DA423298A79F",
+ },
+ "/*",
+ ],
+ ],
+ },
+ ],
+ },
{
"Action": [
"s3:GetBucket*",
@@ -12595,8 +37131,30 @@ exports[`GenerativeAiUseCases matches the snapshot 5`] = `
],
},
"CROSS_ACCOUNT_BEDROCK_ROLE_ARN": "",
- "IMAGE_GENERATION_MODEL_IDS": "[{"modelId":"stability.stable-diffusion-xl-v1","region":"us-east-1"}]",
- "MODEL_IDS": "[{"modelId":"anthropic.claude-3-sonnet-20240229-v1:0","region":"us-east-1"}]",
+ "IMAGE_GENERATION_MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"stability.stable-diffusion-xl-v1","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfilestabilitystablediffusionxlv1InferenceProfileArn20CB2491",
+ },
+ ""}]",
+ ],
+ ],
+ },
+ "MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"anthropic.claude-3-sonnet-20240229-v1:0","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfileanthropicclaude3sonnet20240229v10InferenceProfileArnB9E9C888",
+ },
+ ""}]",
+ ],
+ ],
+ },
"MODEL_REGION": "us-east-1",
"TABLE_NAME": {
"Ref": "DatabaseTableF104A135",
@@ -12613,7 +37171,18 @@ exports[`GenerativeAiUseCases matches the snapshot 5`] = `
],
],
},
- "VIDEO_GENERATION_MODEL_IDS": "[{"modelId":"amazon.nova-reel-v1:0","region":"us-east-1"}]",
+ "VIDEO_GENERATION_MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"amazon.nova-reel-v1:0","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfileamazonnovareelv10InferenceProfileArn5E8F5854",
+ },
+ ""}]",
+ ],
+ ],
+ },
},
},
"Handler": "index.handler",
@@ -12859,10 +37428,43 @@ exports[`GenerativeAiUseCases matches the snapshot 5`] = `
"Fn::ImportValue": "GuardrailStack:ExportsOutputFnGetAttGuardrailguardrail03A76CF4GuardrailIdDBA991AF",
},
"GUARDRAIL_VERSION": "DRAFT",
- "IMAGE_GENERATION_MODEL_IDS": "[{"modelId":"stability.stable-diffusion-xl-v1","region":"us-east-1"}]",
- "MODEL_IDS": "[{"modelId":"anthropic.claude-3-sonnet-20240229-v1:0","region":"us-east-1"}]",
+ "IMAGE_GENERATION_MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"stability.stable-diffusion-xl-v1","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfilestabilitystablediffusionxlv1InferenceProfileArn20CB2491",
+ },
+ ""}]",
+ ],
+ ],
+ },
+ "MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"anthropic.claude-3-sonnet-20240229-v1:0","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfileanthropicclaude3sonnet20240229v10InferenceProfileArnB9E9C888",
+ },
+ ""}]",
+ ],
+ ],
+ },
"MODEL_REGION": "us-east-1",
- "VIDEO_GENERATION_MODEL_IDS": "[{"modelId":"amazon.nova-reel-v1:0","region":"us-east-1"}]",
+ "VIDEO_GENERATION_MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"amazon.nova-reel-v1:0","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfileamazonnovareelv10InferenceProfileArn5E8F5854",
+ },
+ ""}]",
+ ],
+ ],
+ },
},
},
"Handler": "index.handler",
@@ -12982,11 +37584,33 @@ exports[`GenerativeAiUseCases matches the snapshot 5`] = `
"Fn::ImportValue": "GuardrailStack:ExportsOutputFnGetAttGuardrailguardrail03A76CF4GuardrailIdDBA991AF",
},
"GUARDRAIL_VERSION": "DRAFT",
- "IMAGE_GENERATION_MODEL_IDS": "[{"modelId":"stability.stable-diffusion-xl-v1","region":"us-east-1"}]",
+ "IMAGE_GENERATION_MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"stability.stable-diffusion-xl-v1","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfilestabilitystablediffusionxlv1InferenceProfileArn20CB2491",
+ },
+ ""}]",
+ ],
+ ],
+ },
"KNOWLEDGE_BASE_ID": {
"Fn::ImportValue": "RagKnowledgeBaseStack:ExportsOutputRefKnowledgeBaseD054384B",
},
- "MODEL_IDS": "[{"modelId":"anthropic.claude-3-sonnet-20240229-v1:0","region":"us-east-1"}]",
+ "MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"anthropic.claude-3-sonnet-20240229-v1:0","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfileanthropicclaude3sonnet20240229v10InferenceProfileArnB9E9C888",
+ },
+ ""}]",
+ ],
+ ],
+ },
"MODEL_REGION": "us-east-1",
"QUERY_DECOMPOSITION_ENABLED": "false",
"RERANKING_MODEL_ID": "",
@@ -12996,7 +37620,18 @@ exports[`GenerativeAiUseCases matches the snapshot 5`] = `
"USER_POOL_ID": {
"Ref": "AuthUserPool8115E87F",
},
- "VIDEO_GENERATION_MODEL_IDS": "[{"modelId":"amazon.nova-reel-v1:0","region":"us-east-1"}]",
+ "VIDEO_GENERATION_MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"amazon.nova-reel-v1:0","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfileamazonnovareelv10InferenceProfileArn5E8F5854",
+ },
+ ""}]",
+ ],
+ ],
+ },
},
},
"Handler": "index.handler",
@@ -13127,13 +37762,46 @@ exports[`GenerativeAiUseCases matches the snapshot 5`] = `
"Fn::ImportValue": "GuardrailStack:ExportsOutputFnGetAttGuardrailguardrail03A76CF4GuardrailIdDBA991AF",
},
"GUARDRAIL_VERSION": "DRAFT",
- "IMAGE_GENERATION_MODEL_IDS": "[{"modelId":"stability.stable-diffusion-xl-v1","region":"us-east-1"}]",
- "MODEL_IDS": "[{"modelId":"anthropic.claude-3-sonnet-20240229-v1:0","region":"us-east-1"}]",
+ "IMAGE_GENERATION_MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"stability.stable-diffusion-xl-v1","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfilestabilitystablediffusionxlv1InferenceProfileArn20CB2491",
+ },
+ ""}]",
+ ],
+ ],
+ },
+ "MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"anthropic.claude-3-sonnet-20240229-v1:0","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfileanthropicclaude3sonnet20240229v10InferenceProfileArnB9E9C888",
+ },
+ ""}]",
+ ],
+ ],
+ },
"MODEL_REGION": "us-east-1",
"TABLE_NAME": {
"Ref": "DatabaseTableF104A135",
},
- "VIDEO_GENERATION_MODEL_IDS": "[{"modelId":"amazon.nova-reel-v1:0","region":"us-east-1"}]",
+ "VIDEO_GENERATION_MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"amazon.nova-reel-v1:0","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfileamazonnovareelv10InferenceProfileArn5E8F5854",
+ },
+ ""}]",
+ ],
+ ],
+ },
},
},
"Handler": "index.handler",
@@ -13603,6 +38271,39 @@ exports[`GenerativeAiUseCases matches the snapshot 5`] = `
"Type": "AWS::IAM::Policy",
"UpdateReplacePolicy": "Delete",
},
+ "AgentCoreAgentCoreRuntimePolicyA2A56192": {
+ "DeletionPolicy": "Delete",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": "bedrock-agentcore:InvokeAgentRuntime",
+ "Effect": "Allow",
+ "Resource": {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::ImportValue": "AgentCoreStack:ExportsOutputFnGetAttGenericAgentCoreGenericAgentCoreRuntimeD3EBAAF7AgentCoreRuntimeArn010E372F",
+ },
+ "*",
+ ],
+ ],
+ },
+ },
+ ],
+ "Version": "2012-10-17",
+ },
+ "PolicyName": "AgentCoreAgentCoreRuntimePolicyA2A56192",
+ "Roles": [
+ {
+ "Ref": "AuthIdentityPoolAuthenticatedRole09311B20",
+ },
+ ],
+ },
+ "Type": "AWS::IAM::Policy",
+ "UpdateReplacePolicy": "Delete",
+ },
"ApiBuildWeb746ABF13": {
"DeletionPolicy": "Delete",
"Properties": {
@@ -13622,6 +38323,20 @@ exports[`GenerativeAiUseCases matches the snapshot 5`] = `
"destinationBucketName": "cdk-hnb659fds-assets-123456890123-us-east-1",
"environment": {
"NODE_OPTIONS": "--max-old-space-size=4096",
+ "VITE_APP_AGENT_CORE_ENABLED": "true",
+ "VITE_APP_AGENT_CORE_EXTERNAL_RUNTIMES": "[]",
+ "VITE_APP_AGENT_CORE_GENERIC_RUNTIME": {
+ "Fn::Join": [
+ "",
+ [
+ "{"name":"GenericAgentCoreRuntime","arn":"",
+ {
+ "Fn::ImportValue": "AgentCoreStack:ExportsOutputFnGetAttGenericAgentCoreGenericAgentCoreRuntimeD3EBAAF7AgentCoreRuntimeArn010E372F",
+ },
+ ""}",
+ ],
+ ],
+ },
"VITE_APP_AGENT_ENABLED": "true",
"VITE_APP_AGENT_NAMES": "["SearchEngine","CodeInterpreter"]",
"VITE_APP_API_ENDPOINT": {
@@ -13644,6 +38359,8 @@ exports[`GenerativeAiUseCases matches the snapshot 5`] = `
],
],
},
+ "VITE_APP_COGNITO_IDENTITY_POOL_PROXY_ENDPOINT": "",
+ "VITE_APP_COGNITO_USER_POOL_PROXY_ENDPOINT": "",
"VITE_APP_ENDPOINT_NAMES": "[]",
"VITE_APP_FLOWS": "[]",
"VITE_APP_FLOW_STREAM_FUNCTION_ARN": {
@@ -13656,11 +38373,33 @@ exports[`GenerativeAiUseCases matches the snapshot 5`] = `
"VITE_APP_IDENTITY_POOL_ID": {
"Ref": "AuthIdentityPool659E7F64",
},
- "VITE_APP_IMAGE_MODEL_IDS": "[{"modelId":"stability.stable-diffusion-xl-v1","region":"us-east-1"}]",
+ "VITE_APP_IMAGE_MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"stability.stable-diffusion-xl-v1","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfilestabilitystablediffusionxlv1InferenceProfileArn20CB2491",
+ },
+ ""}]",
+ ],
+ ],
+ },
"VITE_APP_INLINE_AGENTS": "false",
"VITE_APP_MCP_ENABLED": "false",
"VITE_APP_MCP_ENDPOINT": "",
- "VITE_APP_MODEL_IDS": "[{"modelId":"anthropic.claude-3-sonnet-20240229-v1:0","region":"us-east-1"}]",
+ "VITE_APP_MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"anthropic.claude-3-sonnet-20240229-v1:0","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfileanthropicclaude3sonnet20240229v10InferenceProfileArnB9E9C888",
+ },
+ ""}]",
+ ],
+ ],
+ },
"VITE_APP_MODEL_REGION": "us-east-1",
"VITE_APP_OPTIMIZE_PROMPT_FUNCTION_ARN": {
"Fn::GetAtt": [
@@ -13696,7 +38435,18 @@ exports[`GenerativeAiUseCases matches the snapshot 5`] = `
],
],
},
- "VITE_APP_SPEECH_TO_SPEECH_MODEL_IDS": "[{"modelId":"amazon.nova-sonic-v1:0","region":"us-east-1"}]",
+ "VITE_APP_SPEECH_TO_SPEECH_MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"amazon.nova-sonic-v1:0","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfileamazonnovasonicv10InferenceProfileArnDDA114DD",
+ },
+ ""}]",
+ ],
+ ],
+ },
"VITE_APP_SPEECH_TO_SPEECH_NAMESPACE": "speech-to-speech",
"VITE_APP_USER_POOL_CLIENT_ID": {
"Ref": "AuthUserPoolclientA74673A9",
@@ -13705,7 +38455,18 @@ exports[`GenerativeAiUseCases matches the snapshot 5`] = `
"Ref": "AuthUserPool8115E87F",
},
"VITE_APP_USE_CASE_BUILDER_ENABLED": "true",
- "VITE_APP_VIDEO_MODEL_IDS": "[{"modelId":"amazon.nova-reel-v1:0","region":"us-east-1"}]",
+ "VITE_APP_VIDEO_MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"amazon.nova-reel-v1:0","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfileamazonnovareelv10InferenceProfileArn5E8F5854",
+ },
+ ""}]",
+ ],
+ ],
+ },
},
"outputEnvFile": false,
"outputSourceDirectory": "../packages/web/dist",
@@ -14745,6 +39506,42 @@ exports[`GenerativeAiUseCases matches the snapshot 5`] = `
],
},
},
+ {
+ "Action": "s3:ListBucket",
+ "Condition": {
+ "StringEquals": {
+ "AWS:SourceArn": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition",
+ },
+ ":cloudfront::",
+ {
+ "Ref": "AWS::AccountId",
+ },
+ ":distribution/",
+ {
+ "Ref": "ApiWebCloudFrontDistributionA115FBC3",
+ },
+ ],
+ ],
+ },
+ },
+ },
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "cloudfront.amazonaws.com",
+ },
+ "Resource": {
+ "Fn::GetAtt": [
+ "ApiWebS3Bucket26EF98D6",
+ "Arn",
+ ],
+ },
+ },
],
"Version": "2012-10-17",
},
@@ -15650,7 +40447,7 @@ exports[`GenerativeAiUseCases matches the snapshot 5`] = `
"Arn",
],
},
- "Runtime": "nodejs20.x",
+ "Runtime": "nodejs22.x",
"Timeout": 900,
},
"Type": "AWS::Lambda::Function",
@@ -16849,6 +41646,18 @@ exports[`GenerativeAiUseCases matches the snapshot 5`] = `
},
"Environment": {
"Variables": {
+ "SPEECH_TO_SPEECH_MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"amazon.nova-sonic-v1:0","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfileamazonnovasonicv10InferenceProfileArnDDA114DD",
+ },
+ ""}]",
+ ],
+ ],
+ },
"SPEECH_TO_SPEECH_TASK_FUNCTION_ARN": {
"Fn::GetAtt": [
"SpeechToSpeechTaskC1149BF3",
@@ -16977,6 +41786,18 @@ exports[`GenerativeAiUseCases matches the snapshot 5`] = `
],
},
"NAMESPACE": "speech-to-speech",
+ "SPEECH_TO_SPEECH_MODEL_IDS": {
+ "Fn::Join": [
+ "",
+ [
+ "[{"modelId":"amazon.nova-sonic-v1:0","region":"us-east-1","inferenceProfileArn":"",
+ {
+ "Fn::ImportValue": "ApplicationInferenceProfileStackus-east-1:ExportsOutputFnGetAttApplicationInferenceProfileamazonnovasonicv10InferenceProfileArnDDA114DD",
+ },
+ ""}]",
+ ],
+ ],
+ },
},
},
"Handler": "index.handler",
@@ -19126,7 +43947,7 @@ exports[`GenerativeAiUseCases matches the snapshot 5`] = `
}
`;
-exports[`GenerativeAiUseCases matches the snapshot 6`] = `
+exports[`GenerativeAiUseCases matches the snapshot 7`] = `
{
"Outputs": {
"BedrockLogGroup": {
diff --git a/packages/cdk/test/generative-ai-use-cases.test.ts b/packages/cdk/test/generative-ai-use-cases.test.ts
index 3c9c6343c..b68cb0ab9 100644
--- a/packages/cdk/test/generative-ai-use-cases.test.ts
+++ b/packages/cdk/test/generative-ai-use-cases.test.ts
@@ -1,73 +1,79 @@
import { Template } from 'aws-cdk-lib/assertions';
import * as cdk from 'aws-cdk-lib';
-import { processedStackInputSchema } from '../lib/stack-input';
+import { processedStackInputSchema, StackInput } from '../lib/stack-input';
import { createStacks } from '../lib/create-stacks';
describe('GenerativeAiUseCases', () => {
+ const stackInput: Partial = {
+ account: '123456890123',
+ region: 'us-east-1',
+ env: '',
+ ragEnabled: true,
+ kendraIndexArn: null,
+ kendraDataSourceBucketName: null,
+ kendraIndexScheduleEnabled: false,
+ kendraIndexScheduleCreateCron: null,
+ kendraIndexScheduleDeleteCron: null,
+ ragKnowledgeBaseEnabled: true,
+ ragKnowledgeBaseStandbyReplicas: false,
+ ragKnowledgeBaseAdvancedParsing: false,
+ ragKnowledgeBaseAdvancedParsingModelId:
+ 'anthropic.claude-3-sonnet-20240229-v1:0',
+ embeddingModelId: 'amazon.titan-embed-text-v2:0',
+ selfSignUpEnabled: true,
+ allowedSignUpEmailDomains: null,
+ samlAuthEnabled: false,
+ samlCognitoDomainName: '',
+ samlCognitoFederatedIdentityProviderName: '',
+ modelRegion: 'us-east-1',
+ modelIds: [
+ {
+ modelId: 'anthropic.claude-3-sonnet-20240229-v1:0',
+ region: 'us-east-1',
+ },
+ ],
+ imageGenerationModelIds: [
+ { modelId: 'stability.stable-diffusion-xl-v1', region: 'us-east-1' },
+ ],
+ videoGenerationModelIds: [
+ { modelId: 'amazon.nova-reel-v1:0', region: 'us-east-1' },
+ ],
+ speechToSpeechModelIds: [
+ { modelId: 'amazon.nova-sonic-v1:0', region: 'us-east-1' },
+ ],
+ endpointNames: [],
+ agentEnabled: true,
+ searchAgentEnabled: true,
+ searchEngine: 'Brave',
+ searchApiKey: 'XXXXXX',
+ agents: [],
+ flows: [],
+ createGenericAgentCoreRuntime: true,
+ agentCoreRegion: 'us-east-1',
+ agentCoreExternalRuntimes: [],
+ allowedIpV4AddressRanges: null,
+ allowedIpV6AddressRanges: null,
+ allowedCountryCodes: ['JP'],
+ hostName: null,
+ domainName: null,
+ hostedZoneId: null,
+ dashboard: true,
+ anonymousUsageTracking: true,
+ guardrailEnabled: true,
+ crossAccountBedrockRoleArn: '',
+ useCaseBuilderEnabled: true,
+ };
+
test('matches the snapshot', () => {
const app = new cdk.App();
- const params = processedStackInputSchema.parse({
- account: '123456890123',
- region: 'us-east-1',
- env: '',
- ragEnabled: true,
- kendraIndexArn: null,
- kendraDataSourceBucketName: null,
- kendraIndexScheduleEnabled: false,
- kendraIndexScheduleCreateCron: null,
- kendraIndexScheduleDeleteCron: null,
- ragKnowledgeBaseEnabled: true,
- ragKnowledgeBaseStandbyReplicas: false,
- ragKnowledgeBaseAdvancedParsing: false,
- ragKnowledgeBaseAdvancedParsingModelId:
- 'anthropic.claude-3-sonnet-20240229-v1:0',
- embeddingModelId: 'amazon.titan-embed-text-v2:0',
- selfSignUpEnabled: true,
- allowedSignUpEmailDomains: null,
- samlAuthEnabled: false,
- samlCognitoDomainName: '',
- samlCognitoFederatedIdentityProviderName: '',
- modelRegion: 'us-east-1',
- modelIds: [
- {
- modelId: 'anthropic.claude-3-sonnet-20240229-v1:0',
- region: 'us-east-1',
- },
- ],
- imageGenerationModelIds: [
- { modelId: 'stability.stable-diffusion-xl-v1', region: 'us-east-1' },
- ],
- videoGenerationModelIds: [
- { modelId: 'amazon.nova-reel-v1:0', region: 'us-east-1' },
- ],
- speechToSpeechModelIds: [
- { modelId: 'amazon.nova-sonic-v1:0', region: 'us-east-1' },
- ],
- endpointNames: [],
- agentEnabled: true,
- searchAgentEnabled: true,
- searchEngine: 'Brave',
- searchApiKey: 'XXXXXX',
- agents: [],
- flows: [],
- allowedIpV4AddressRanges: null,
- allowedIpV6AddressRanges: null,
- allowedCountryCodes: ['JP'],
- hostName: null,
- domainName: null,
- hostedZoneId: null,
- dashboard: true,
- anonymousUsageTracking: true,
- guardrailEnabled: true,
- crossAccountBedrockRoleArn: '',
- useCaseBuilderEnabled: true,
- });
+ const params = processedStackInputSchema.parse(stackInput);
const {
cloudFrontWafStack,
ragKnowledgeBaseStack,
agentStack,
+ agentCoreStack,
guardrail,
generativeAiUseCasesStack,
dashboardStack,
@@ -78,6 +84,7 @@ describe('GenerativeAiUseCases', () => {
!cloudFrontWafStack ||
!ragKnowledgeBaseStack ||
!agentStack ||
+ !agentCoreStack ||
!guardrail ||
!generativeAiUseCasesStack ||
!dashboardStack
@@ -87,6 +94,7 @@ describe('GenerativeAiUseCases', () => {
const cloudFrontWafTemplate = Template.fromStack(cloudFrontWafStack);
const ragKnowledgeBaseTemplate = Template.fromStack(ragKnowledgeBaseStack);
const agentTemplate = Template.fromStack(agentStack);
+ const agentCoreTemplate = Template.fromStack(agentCoreStack);
const guardrailTemplate = Template.fromStack(guardrail);
const generativeAiUseCasesTemplate = Template.fromStack(
generativeAiUseCasesStack
@@ -97,6 +105,57 @@ describe('GenerativeAiUseCases', () => {
expect(cloudFrontWafTemplate.toJSON()).toMatchSnapshot();
expect(ragKnowledgeBaseTemplate.toJSON()).toMatchSnapshot();
expect(agentTemplate.toJSON()).toMatchSnapshot();
+ expect(agentCoreTemplate.toJSON()).toMatchSnapshot();
+ expect(guardrailTemplate.toJSON()).toMatchSnapshot();
+ expect(generativeAiUseCasesTemplate.toJSON()).toMatchSnapshot();
+ expect(dashboardTemplate.toJSON()).toMatchSnapshot();
+ });
+
+ test('matches the snapshot (closed network mode)', () => {
+ const app = new cdk.App();
+
+ const params = processedStackInputSchema.parse({
+ ...stackInput,
+ closedNetworkMode: true,
+ });
+
+ const {
+ closedNetworkStack,
+ ragKnowledgeBaseStack,
+ agentStack,
+ agentCoreStack,
+ guardrail,
+ generativeAiUseCasesStack,
+ dashboardStack,
+ } = createStacks(app, params);
+
+ // Create Templates
+ if (
+ !closedNetworkStack ||
+ !ragKnowledgeBaseStack ||
+ !agentStack ||
+ !agentCoreStack ||
+ !guardrail ||
+ !generativeAiUseCasesStack ||
+ !dashboardStack
+ ) {
+ throw new Error('Not all stacks are created');
+ }
+ const closedNetworkTemplate = Template.fromStack(closedNetworkStack);
+ const ragKnowledgeBaseTemplate = Template.fromStack(ragKnowledgeBaseStack);
+ const agentTemplate = Template.fromStack(agentStack);
+ const agentCoreTemplate = Template.fromStack(agentCoreStack);
+ const guardrailTemplate = Template.fromStack(guardrail);
+ const generativeAiUseCasesTemplate = Template.fromStack(
+ generativeAiUseCasesStack
+ );
+ const dashboardTemplate = Template.fromStack(dashboardStack);
+
+ // Assert
+ expect(closedNetworkTemplate.toJSON()).toMatchSnapshot();
+ expect(ragKnowledgeBaseTemplate.toJSON()).toMatchSnapshot();
+ expect(agentTemplate.toJSON()).toMatchSnapshot();
+ expect(agentCoreTemplate.toJSON()).toMatchSnapshot();
expect(guardrailTemplate.toJSON()).toMatchSnapshot();
expect(generativeAiUseCasesTemplate.toJSON()).toMatchSnapshot();
expect(dashboardTemplate.toJSON()).toMatchSnapshot();
diff --git a/packages/cdk/tsconfig.json b/packages/cdk/tsconfig.json
index aefc51650..997b238cb 100644
--- a/packages/cdk/tsconfig.json
+++ b/packages/cdk/tsconfig.json
@@ -5,6 +5,7 @@
"module": "commonjs",
"lib": ["es2020", "dom"],
"declaration": true,
+ "outDir": "./dist",
// Strict type checking settings
"strict": true,
@@ -27,11 +28,12 @@
// Other settings
"experimentalDecorators": true,
"esModuleInterop": true,
+ "skipLibCheck": true,
// Type definition file settings
"typeRoots": ["../../node_modules/@types"],
"types": ["jest", "node"]
},
// Exclude files and directories
- "exclude": ["node_modules", "cdk.out"]
+ "exclude": ["node_modules", "cdk.out", "custom-resources/**", "dist"]
}
diff --git a/packages/common/src/application/model.ts b/packages/common/src/application/model.ts
index 191b565b8..e63724924 100644
--- a/packages/common/src/application/model.ts
+++ b/packages/common/src/application/model.ts
@@ -387,6 +387,15 @@ export const modelMetadata: Record = {
flags: MODEL_FEATURE.TEXT_DOC,
displayName: 'Palmyra X5',
},
+ // OpenAI
+ 'openai.gpt-oss-120b-1:0': {
+ flags: MODEL_FEATURE.TEXT_ONLY,
+ displayName: 'GPT OSS 120B',
+ },
+ 'openai.gpt-oss-20b-1:0': {
+ flags: MODEL_FEATURE.TEXT_ONLY,
+ displayName: 'GPT OSS 20B',
+ },
// === Image ===
diff --git a/packages/types/src/agent-core.d.ts b/packages/types/src/agent-core.d.ts
new file mode 100644
index 000000000..93126d0c1
--- /dev/null
+++ b/packages/types/src/agent-core.d.ts
@@ -0,0 +1,295 @@
+import { Model } from './message';
+
+export type AgentCoreConfiguration = {
+ name: string;
+ arn: string;
+};
+
+// AgentCore Runtime Request (compatible with Strands)
+export type AgentCoreRequest = StrandsRequest;
+
+export type AgentCoreStreamResponse = StrandsStreamEvent;
+
+// ===
+// Strands type definition
+// https://github.com/strands-agents/sdk-python/blob/main/src/strands/types
+// ===
+
+// Strands Agent(...) parameter
+export type StrandsRequest = {
+ systemPrompt: string;
+ prompt: StrandsContentBlock[];
+ messages: StrandsMessage[];
+ model: Model;
+};
+
+// Strands format response
+export type StrandsResponse = {
+ message?: StrandsMessage;
+};
+
+export type StrandsStreamResponse = {
+ event: StrandsStreamEvent;
+};
+
+// Content
+
+// Strands role type (system is not included)
+export type StrandsRole = 'user' | 'assistant';
+
+// Strands format message
+export type StrandsMessage = {
+ role: StrandsRole;
+ content: StrandsContentBlock[];
+};
+
+// Content blocks based on the Python SDK structure
+// Each content block is a dictionary with specific keys, not a discriminated union with a type field
+
+// Text content block
+export type StrandsTextBlock = {
+ text: string;
+};
+
+// Image content block
+export type StrandsImageBlock = {
+ image: {
+ format?: 'png' | 'jpeg' | 'gif' | 'webp';
+ source?: {
+ bytes: string; // base64 encoded string. Converted to bytes in backend
+ };
+ };
+};
+
+// Document content block
+export type StrandsDocumentBlock = {
+ document: {
+ // Document properties
+ format?:
+ | 'pdf'
+ | 'csv'
+ | 'doc'
+ | 'docx'
+ | 'xls'
+ | 'xlsx'
+ | 'html'
+ | 'txt'
+ | 'md';
+ name?: string;
+ source?: {
+ bytes: string; // base64 encoded string. Converted to bytes in backend
+ };
+ };
+};
+
+// Video content block
+export type StrandsVideoBlock = {
+ video: {
+ format?:
+ | 'flv'
+ | 'mkv'
+ | 'mov'
+ | 'mpeg'
+ | 'mpg'
+ | 'mp4'
+ | 'three_gp'
+ | 'webm'
+ | 'wmv';
+ source?: {
+ bytes: string; // base64 encoded string. Converted to bytes in backend
+ };
+ };
+};
+
+// Tool use content block
+export type StrandsToolUseBlock = {
+ toolUse: {
+ name: string;
+ input: Record;
+ };
+};
+
+// Tool result content block
+export type StrandsToolResultBlock = {
+ toolResult: {
+ content: StrandsContentBlock[];
+ };
+};
+
+// Guard content block
+export type StrandsGuardContentBlock = {
+ guardContent: {
+ // Guard content properties
+ content?: string;
+ };
+};
+
+// Cache point content block
+export type StrandsCachePointBlock = {
+ cachePoint: {
+ // Cache point properties
+ id?: string;
+ };
+};
+
+// Reasoning content block
+export type StrandsReasoningContentBlock = {
+ reasoningContent: {
+ // Reasoning content properties
+ content?: string;
+ };
+};
+
+// Citations content block
+export type StrandsCitationsContentBlock = {
+ citationsContent: {
+ // Citations content properties
+ citations?: any[];
+ };
+};
+
+// Union type for all content blocks
+export type StrandsContentBlock =
+ | StrandsTextBlock
+ | StrandsImageBlock
+ | StrandsDocumentBlock
+ | StrandsVideoBlock
+ | StrandsToolUseBlock
+ | StrandsToolResultBlock
+ | StrandsGuardContentBlock
+ | StrandsCachePointBlock
+ | StrandsReasoningContentBlock
+ | StrandsCitationsContentBlock;
+
+// Streaming
+
+// Supporting types for streaming events
+export type StrandsStopReason =
+ | 'end_turn'
+ | 'max_tokens'
+ | 'stop_sequence'
+ | 'tool_use';
+
+export type StrandsUsage = {
+ inputTokens: number;
+ outputTokens: number;
+ totalTokens: number;
+ cacheReadInputTokens?: number;
+ cacheWriteInputTokens?: number;
+};
+
+export type StrandsMetrics = {
+ latencyMs?: number;
+ [key: string]: any;
+};
+
+export type StrandsTrace = {
+ [key: string]: any;
+};
+
+// Content block start information
+export type StrandsContentBlockStart = StrandsContentBlock;
+
+// Message start event
+export type StrandsMessageStartEvent = {
+ role: StrandsRole;
+};
+
+// Content block start event
+export type StrandsContentBlockStartEvent = {
+ contentBlockIndex?: number;
+ start: StrandsContentBlockStart;
+};
+
+// Content block delta types
+export type StrandsContentBlockDeltaText = {
+ text: string;
+};
+
+export type StrandsContentBlockDeltaToolUse = {
+ input: string;
+};
+
+export type StrandsReasoningContentBlockDelta = {
+ redactedContent?: Uint8Array;
+ signature?: string;
+ text?: string;
+};
+
+export type StrandsContentBlockDelta = {
+ reasoningContent?: StrandsReasoningContentBlockDelta;
+ text?: string;
+ toolUse?: StrandsContentBlockDeltaToolUse;
+};
+
+// Content block delta event
+export type StrandsContentBlockDeltaEvent = {
+ contentBlockIndex?: number;
+ delta: StrandsContentBlockDelta;
+};
+
+// Content block stop event
+export type StrandsContentBlockStopEvent = {
+ contentBlockIndex?: number;
+};
+
+// Message stop event
+export type StrandsMessageStopEvent = {
+ additionalModelResponseFields?: any;
+ stopReason: StrandsStopReason;
+};
+
+// Metadata event
+export type StrandsMetadataEvent = {
+ metrics?: StrandsMetrics;
+ trace?: StrandsTrace;
+ usage: StrandsUsage;
+};
+
+// Exception event base
+export type StrandsExceptionEvent = {
+ message: string;
+};
+
+// Model stream error event
+export type StrandsModelStreamErrorEvent = StrandsExceptionEvent & {
+ originalMessage: string;
+ originalStatusCode: number;
+};
+
+// Redact content event
+export type StrandsRedactContentEvent = {
+ redactUserContentMessage?: string;
+ redactAssistantContentMessage?: string;
+};
+
+// Main stream event type (matches the Python StreamEvent TypedDict)
+export type StrandsStreamEvent = {
+ contentBlockDelta?: StrandsContentBlockDeltaEvent;
+ contentBlockStart?: StrandsContentBlockStartEvent;
+ contentBlockStop?: StrandsContentBlockStopEvent;
+ internalServerException?: StrandsExceptionEvent;
+ messageStart?: StrandsMessageStartEvent;
+ messageStop?: StrandsMessageStopEvent;
+ metadata?: StrandsMetadataEvent;
+ modelStreamErrorException?: StrandsModelStreamErrorEvent;
+ redactContent?: StrandsRedactContentEvent;
+ serviceUnavailableException?: StrandsExceptionEvent;
+ throttlingException?: StrandsExceptionEvent;
+ validationException?: StrandsExceptionEvent;
+};
+
+// Helper type to determine which event type is present
+export type StrandsStreamEventType =
+ | 'contentBlockDelta'
+ | 'contentBlockStart'
+ | 'contentBlockStop'
+ | 'internalServerException'
+ | 'messageStart'
+ | 'messageStop'
+ | 'metadata'
+ | 'modelStreamErrorException'
+ | 'redactContent'
+ | 'serviceUnavailableException'
+ | 'throttlingException'
+ | 'validationException';
diff --git a/packages/types/src/index.d.ts b/packages/types/src/index.d.ts
index cc3a2c55a..fd6cc4568 100644
--- a/packages/types/src/index.d.ts
+++ b/packages/types/src/index.d.ts
@@ -18,3 +18,4 @@ export * from './share';
export * from './speech-to-speech';
export * from './stat';
export * from './mcp';
+export * from './agent-core';
diff --git a/packages/types/src/message.d.ts b/packages/types/src/message.d.ts
index 714eda44b..5d3c219f3 100644
--- a/packages/types/src/message.d.ts
+++ b/packages/types/src/message.d.ts
@@ -10,6 +10,7 @@ export type Model = {
modelParameters?: AdditionalModelRequestFields;
sessionId?: string;
region?: string;
+ inferenceProfileArn?: string;
};
export type Agent = {
diff --git a/packages/types/src/model.d.ts b/packages/types/src/model.d.ts
index 6b651c1a9..ff14cf639 100644
--- a/packages/types/src/model.d.ts
+++ b/packages/types/src/model.d.ts
@@ -23,6 +23,7 @@ export type FeatureFlags = {
export type ModelConfiguration = {
modelId: string;
region: string;
+ inferenceProfileArn?: string;
};
export type ModelMetadata = {
diff --git a/packages/types/src/protocol.d.ts b/packages/types/src/protocol.d.ts
index 83dfce854..837f42148 100644
--- a/packages/types/src/protocol.d.ts
+++ b/packages/types/src/protocol.d.ts
@@ -133,7 +133,12 @@ export type RetrieveKnowledgeBaseRequest = {
export type RetrieveKnowledgeBaseResponse = RetrieveCommandOutputKnowledgeBase;
-export type S3Type = 'default' | 'knowledgeBase';
+export type S3Type = 'default' | 'knowledgeBase' | 'agentcore';
+
+export type BucketInfo = {
+ bucketName: string;
+ region: string;
+};
export type GetFileDownloadSignedUrlRequest = {
bucketName: string;
diff --git a/packages/web/package.json b/packages/web/package.json
index 5ba5e2780..f6f055e14 100644
--- a/packages/web/package.json
+++ b/packages/web/package.json
@@ -13,6 +13,7 @@
"dependencies": {
"@aws-amplify/ui-react": "^6.1.12",
"@aws-crypto/sha256-js": "^5.2.0",
+ "@aws-sdk/client-bedrock-agentcore": "^3.755.0",
"@aws-sdk/client-cognito-identity": "^3.755.0",
"@aws-sdk/client-kendra": "^3.755.0",
"@aws-sdk/client-lambda": "^3.755.0",
@@ -108,6 +109,7 @@
"vite": "^6.3.4",
"vite-plugin-node-polyfills": "^0.23.0",
"vite-plugin-svgr": "^4.2.0",
+ "vite-plugin-webfont-dl": "^3.11.1",
"vitest": "^3.0.7"
}
}
diff --git a/packages/web/public/locales/translation/en.yaml b/packages/web/public/locales/translation/en.yaml
index 1230c001a..13179521f 100644
--- a/packages/web/public/locales/translation/en.yaml
+++ b/packages/web/public/locales/translation/en.yaml
@@ -1,6 +1,9 @@
agent:
drop_files: Drop files to upload
title: Agent Chat
+agent_core:
+ start_conversation: Start a conversation with AgentCore
+ title: AgentCore
auth:
loading: Loading...
login: Login
@@ -447,7 +450,9 @@ generateText:
landing:
alert:
description: >-
- This is an environment used for internal demos by SA. When giving demos to customers, please use the one deployed in your own AWS account as a rule. Do not input customer data or use it for business purposes.
+ This is an environment used for internal demos by SA. When giving demos to
+ customers, please use the one deployed in your own AWS account as a rule.
+ Do not input customer data or use it for business purposes.
title: About GenU Demo Environment
demo:
agent:
@@ -489,7 +494,8 @@ landing:
music, photography, trendy smartphone, city background
mcp:
content: >-
- Please research about Amazon Bedrock security. Is user input used for model training?
+ Please research about Amazon Bedrock security. Is user input used for
+ model training?
rag:
content: >-
Please provide an overview of Amazon Nova Canvas and explain its key
@@ -533,6 +539,9 @@ landing:
execute actions or reference the vector database of Knowledge Bases for
Amazon Bedrock.
title: Agent Chat
+ agent_core:
+ description: AgentCore Chat is a feature that utilizes various Agents created with Bedrock AgentCore.
+ title: AgentCore
chat:
description: >-
You can have interactive dialogues with an LLM in a chat format. It can
@@ -566,12 +575,16 @@ landing:
title: Image Generation
mcp_chat:
description: >-
- MCP Chat is a chat function that seamlessly integrates Bedrock's LLM models with external data and external tools through the Model Context Protocol (MCP). You can freely add tools by editing the mcp.json file. Leveraging Strands Agents as an MCP agent.
+ MCP Chat is a chat function that seamlessly integrates Bedrock's LLM
+ models with external data and external tools through the Model Context
+ Protocol (MCP). You can freely add tools by editing the mcp.json file.
+ Leveraging Strands Agents as an MCP agent.
title: MCP Chat
meeting-minutes:
description: >-
- Automatically generate meeting minutes from audio recordings or real-time transcription.
- No need to write prompts - choose from near-original transcription, newspaper style, or FAQ format.
+ Automatically generate meeting minutes from audio recordings or
+ real-time transcription. No need to write prompts - choose from
+ near-original transcription, newspaper style, or FAQ format.
title: Meeting Minutes Generation
rag_chat:
description_kb: >-
@@ -850,7 +863,9 @@ summarize:
transcribe:
detailed_parameters: Detailed parameters
direct_input: Direct Input
- direct_input_instruction: Please enter the source text for meeting minutes directly in the "Transcript" area below.
+ direct_input_instruction: >-
+ Please enter the source text for meeting minutes directly in the
+ "Transcript" area below.
direct_input_placeholder: Please enter the source text for meeting minutes here...
file_upload: File Upload
max_speakers: Max Speakers
@@ -1268,11 +1283,6 @@ videoAnalyzer:
voiceChat:
close: Close session
default_system_prompt: You are an AI assistant.
- experimental_warning: >-
- Voice Chat is still in an experimental stage. The architecture, etc. may be
- changed in the future. Conversation history will not be saved. The supported
- language is English only.
- experimental_warning_title: About Voice Chat
im_listening: I'm listening...
start: Start new session
title: Voice Chat
diff --git a/packages/web/public/locales/translation/ja.yaml b/packages/web/public/locales/translation/ja.yaml
index 32a24728c..63203da20 100644
--- a/packages/web/public/locales/translation/ja.yaml
+++ b/packages/web/public/locales/translation/ja.yaml
@@ -1,6 +1,9 @@
agent:
drop_files: ファイルをドロップしてアップロード
title: Agent チャット
+agent_core:
+ start_conversation: AgentCore と会話を始める
+ title: AgentCore
auth:
loading: 読み込み中...
login: ログイン
@@ -357,7 +360,8 @@ generateText:
landing:
alert:
description: >-
- こちらは SA が内部デモのために利用する環境です。カスタマーにデモをする場合は、原則自分の AWS アカウントにデプロイしたものを利用してください。カスタマーのデータの入力や業務利用をしてはいけません。
+ こちらは SA が内部デモのために利用する環境です。カスタマーにデモをする場合は、原則自分の AWS
+ アカウントにデプロイしたものを利用してください。カスタマーのデータの入力や業務利用をしてはいけません。
title: GenU デモ環境について
demo:
agent:
@@ -384,8 +388,7 @@ landing:
スマホ広告のデザイン案を出力してください。
可愛い、おしゃれ、使いやすい、POPカルチャー、親しみやすい、若者向け、音楽、写真、流行のスマホ、背景が街
mcp:
- content: >-
- Amazon Bedrock のセキュリティについて調べてください。ユーザーの入力はモデルの学習に使われますか?
+ content: Amazon Bedrock のセキュリティについて調べてください。ユーザーの入力はモデルの学習に使われますか?
rag:
content: Claude のパラメータを説明し、その設定方法も教えてください。
summarize:
@@ -418,6 +421,9 @@ landing:
Agent チャットユースケースでは Agents for Amazon Bedrock を利用してアクションを実行させたり、Knowledge
Bases for Amazon Bedrock のベクトルデータベースを参照することが可能です。
title: Agent チャット
+ agent_core:
+ description: AgentCore チャットは Bedrock AgentCore で作成したさまざまな Agent を利用する機能です
+ title: AgentCore
chat:
description: >-
LLM
@@ -445,7 +451,9 @@ landing:
title: 画像生成
mcp_chat:
description: >-
- MCP チャットは Model Context Protocol (MCP) を通じて、Bedrock の LLM モデルと外部データや外部ツールをシームレスに連携させるチャット機能です。mcp.json を編集することで、自由にツールを追加できます。MCP のエージェントとして Strands Agents を活用しています。
+ MCP チャットは Model Context Protocol (MCP) を通じて、Bedrock の LLM
+ モデルと外部データや外部ツールをシームレスに連携させるチャット機能です。mcp.json を編集することで、自由にツールを追加できます。MCP
+ のエージェントとして Strands Agents を活用しています。
title: MCP チャット
meeting-minutes:
description: >-
@@ -1025,8 +1033,6 @@ videoAnalyzer:
voiceChat:
close: セッションを終了する
default_system_prompt: You are an AI assistant.
- experimental_warning: 音声チャットはまだ実験的な段階です。アーキテクチャ等は今後変更される可能性があります。会話履歴は保存されません。対応言語は英語のみです。
- experimental_warning_title: 音声チャットについて
im_listening: 発言してください
start: セッションを始める
title: 音声チャット
diff --git a/packages/web/public/locales/translation/th.yaml b/packages/web/public/locales/translation/th.yaml
index 5c0d7dea6..91df40ea6 100644
--- a/packages/web/public/locales/translation/th.yaml
+++ b/packages/web/public/locales/translation/th.yaml
@@ -1081,9 +1081,6 @@ videoAnalyzer:
voiceChat:
close: ปิดเซสชั่น
default_system_prompt: You are an AI assistant.
- experimental_warning: >-
- Voice Chat ยังอยู่ในระยะทดลอง สถาปัตยกรรมและอื่นๆ อาจมีการเปลี่ยนแปลงในอนาคต ประวัติการสนทนาจะไม่ได้รับการบันทึก ภาษาที่รองรับคือภาษาอังกฤษเท่านั้น
- experimental_warning_title: เกี่ยวกับ Voice Chat
im_listening: กำลังฟัง...
start: เริ่มเซสชันใหม่
title: Voice Chat
diff --git a/packages/web/public/locales/translation/vi.yaml b/packages/web/public/locales/translation/vi.yaml
index a27cb24f0..17fa536f8 100644
--- a/packages/web/public/locales/translation/vi.yaml
+++ b/packages/web/public/locales/translation/vi.yaml
@@ -1049,9 +1049,6 @@ videoAnalyzer:
voiceChat:
close: Kết thúc Phiên
default_system_prompt: You are an AI assistant.
- experimental_warning: >-
- Voice chat vẫn đang trong giai đoạn thử nghiệm. Kiến trúc và các yếu tố khác có thể thay đổi trong tương lai. Lịch sử hội thoại sẽ không được lưu. Chỉ hỗ trợ tiếng Anh.
- experimental_warning_title: Về voice chat
im_listening: Hãy phát biểu
start: Bắt đầu phiên
title: Voice Chat
diff --git a/packages/web/public/locales/translation/zh.yaml b/packages/web/public/locales/translation/zh.yaml
index b35aede5c..0f8bee7ad 100644
--- a/packages/web/public/locales/translation/zh.yaml
+++ b/packages/web/public/locales/translation/zh.yaml
@@ -896,8 +896,6 @@ videoAnalyzer:
voiceChat:
close: 结束会话
default_system_prompt: 您是一个AI助手。
- experimental_warning: 语音聊天仍处于实验阶段。架构等可能在未来发生变化。对话历史不会保存。仅支持英语。
- experimental_warning_title: 关于语音聊天
im_listening: 请说话
start: 开始会话
title: 语音聊天
diff --git a/packages/web/src/App.tsx b/packages/web/src/App.tsx
index 414f7f65f..3967c1515 100644
--- a/packages/web/src/App.tsx
+++ b/packages/web/src/App.tsx
@@ -44,6 +44,8 @@ const ragKnowledgeBaseEnabled: boolean =
const agentEnabled: boolean = import.meta.env.VITE_APP_AGENT_ENABLED === 'true';
const inlineAgents: boolean = import.meta.env.VITE_APP_INLINE_AGENTS === 'true';
const mcpEnabled: boolean = import.meta.env.VITE_APP_MCP_ENABLED === 'true';
+const agentCoreEnabled: boolean =
+ import.meta.env.VITE_APP_AGENT_CORE_ENABLED === 'true';
const {
visionEnabled,
imageGenModelIds,
@@ -134,6 +136,15 @@ const App: React.FC = () => {
to: '/mcp',
icon: ,
display: 'usecase' as const,
+ sub: 'Deprecated',
+ }
+ : null,
+ agentCoreEnabled
+ ? {
+ label: t('agent_core.title'),
+ to: '/agent-core',
+ icon: ,
+ display: 'usecase' as const,
sub: 'Experimental',
}
: null,
@@ -151,7 +162,6 @@ const App: React.FC = () => {
to: '/voice-chat',
icon: ,
display: 'usecase' as const,
- sub: 'Experimental',
}
: null,
enabled('generate')
diff --git a/packages/web/src/components/AuthWithUserpool.tsx b/packages/web/src/components/AuthWithUserpool.tsx
index a9185dd67..d3c6be969 100644
--- a/packages/web/src/components/AuthWithUserpool.tsx
+++ b/packages/web/src/components/AuthWithUserpool.tsx
@@ -8,6 +8,10 @@ const selfSignUpEnabled: boolean =
import.meta.env.VITE_APP_SELF_SIGN_UP_ENABLED === 'true';
const speechToSpeechEventApiEndpoint: string = import.meta.env
.VITE_APP_SPEECH_TO_SPEECH_EVENT_API_ENDPOINT;
+const cognitoUserPoolProxyEndpoint = import.meta.env
+ .VITE_APP_COGNITO_USER_POOL_PROXY_ENDPOINT;
+const cognitoIdentityPoolProxyEndpoint = import.meta.env
+ .VITE_APP_COGNITO_IDENTITY_POOL_PROXY_ENDPOINT;
type Props = {
children: React.ReactNode;
@@ -21,6 +25,13 @@ const AuthWithUserpool: React.FC = (props) => {
userPoolId: import.meta.env.VITE_APP_USER_POOL_ID,
userPoolClientId: import.meta.env.VITE_APP_USER_POOL_CLIENT_ID,
identityPoolId: import.meta.env.VITE_APP_IDENTITY_POOL_ID,
+ ...(cognitoUserPoolProxyEndpoint && cognitoIdentityPoolProxyEndpoint
+ ? {
+ userPoolEndpoint: cognitoUserPoolProxyEndpoint,
+ identityPoolEndpoint: cognitoIdentityPoolProxyEndpoint,
+ region: import.meta.env.VITE_APP_REGION,
+ }
+ : {}),
},
},
API: {
diff --git a/packages/web/src/hooks/useAgentCore.ts b/packages/web/src/hooks/useAgentCore.ts
new file mode 100644
index 000000000..da9bf591f
--- /dev/null
+++ b/packages/web/src/hooks/useAgentCore.ts
@@ -0,0 +1,140 @@
+import useChat from './useChat';
+import useAgentCoreApi, { AgentCoreRuntimeRequest } from './useAgentCoreApi';
+import {
+ AgentCoreConfiguration,
+ UnrecordedMessage,
+} from 'generative-ai-use-cases';
+import { findModelByModelId } from './useModel';
+
+// Get environment variables for separated generic and external runtimes
+const agentCoreEnabled = import.meta.env.VITE_APP_AGENT_CORE_ENABLED === 'true';
+
+// Generic runtime (deployed by CDK)
+const agentCoreGenericRuntime =
+ import.meta.env.VITE_APP_AGENT_CORE_GENERIC_RUNTIME !== 'null'
+ ? (JSON.parse(
+ import.meta.env.VITE_APP_AGENT_CORE_GENERIC_RUNTIME || 'null'
+ ) as AgentCoreConfiguration | null)
+ : null;
+
+// External runtimes (pre-defined)
+const agentCoreExternalRuntimes = JSON.parse(
+ import.meta.env.VITE_APP_AGENT_CORE_EXTERNAL_RUNTIMES || '[]'
+) as AgentCoreConfiguration[];
+
+const useAgentCore = (id: string) => {
+ const {
+ getModelId,
+ setModelId,
+ init,
+ getCurrentSystemContext,
+ updateSystemContext,
+ rawMessages,
+ messages,
+ isEmpty,
+ clear,
+ } = useChat(id);
+
+ const { postMessage, loading } = useAgentCoreApi(id);
+
+ const invokeAgentRuntime = async (
+ agentRuntimeArn: string,
+ sessionId: string,
+ userPrompt: string,
+ qualifier = 'DEFAULT',
+ files?: File[]
+ ) => {
+ const model = findModelByModelId(getModelId());
+
+ // Get previous messages for context, excluding:
+ // 1. System messages (will be sent as system_prompt)
+ // 2. Empty assistant messages
+ const previousMessages = rawMessages
+ .filter((msg) => {
+ // Exclude system messages
+ if (msg.role === 'system') return false;
+ // Exclude empty assistant messages
+ if (msg.role === 'assistant' && msg.content.trim() === '') return false;
+
+ return true;
+ })
+ .map(
+ (msg): UnrecordedMessage => ({
+ role: msg.role,
+ content: msg.content,
+ trace: msg.trace,
+ extraData: msg.extraData,
+ llmType: msg.llmType,
+ metadata: msg.metadata,
+ })
+ );
+
+ const request: AgentCoreRuntimeRequest = {
+ agentRuntimeArn,
+ sessionId,
+ qualifier,
+ system_prompt:
+ getCurrentSystemContext() || 'You are a helpful assistant.',
+ prompt: userPrompt,
+ previousMessages, // Pass the raw messages to be converted in useAgentCoreApi
+ model,
+ files, // Pass the uploaded files - they will be converted to Strands format in useAgentCoreApi
+ };
+
+ await postMessage(request);
+ };
+
+ const isAgentCoreEnabled = () => {
+ return (
+ agentCoreEnabled &&
+ (!!agentCoreGenericRuntime || agentCoreExternalRuntimes.length > 0)
+ );
+ };
+
+ const getGenericRuntime = () => {
+ return agentCoreGenericRuntime;
+ };
+
+ const getExternalRuntimes = () => {
+ return agentCoreExternalRuntimes;
+ };
+
+ const getAllAvailableRuntimes = (): AgentCoreConfiguration[] => {
+ const allRuntimes: AgentCoreConfiguration[] = [];
+
+ // Add generic runtime if available
+ if (agentCoreGenericRuntime) {
+ allRuntimes.push(agentCoreGenericRuntime);
+ }
+
+ // Add external runtimes
+ allRuntimes.push(...agentCoreExternalRuntimes);
+
+ return allRuntimes;
+ };
+
+ const getAllAvailableRuntimeArns = (): string[] => {
+ return getAllAvailableRuntimes().map((runtime) => runtime.arn);
+ };
+
+ return {
+ getModelId,
+ setModelId,
+ init,
+ getCurrentSystemContext,
+ updateSystemContext,
+ rawMessages,
+ messages,
+ isEmpty,
+ clear,
+ loading,
+ invokeAgentRuntime,
+ isAgentCoreEnabled,
+ getGenericRuntime,
+ getExternalRuntimes,
+ getAllAvailableRuntimes,
+ getAllAvailableRuntimeArns,
+ };
+};
+
+export { useAgentCore };
diff --git a/packages/web/src/hooks/useAgentCoreApi.ts b/packages/web/src/hooks/useAgentCoreApi.ts
new file mode 100644
index 000000000..54a90579a
--- /dev/null
+++ b/packages/web/src/hooks/useAgentCoreApi.ts
@@ -0,0 +1,291 @@
+import { useCallback } from 'react';
+import useChat from './useChat';
+import useChatApi from './useChatApi';
+import {
+ BedrockAgentCoreClient,
+ InvokeAgentRuntimeCommand,
+ InvokeAgentRuntimeCommandInput,
+} from '@aws-sdk/client-bedrock-agentcore';
+import { fromCognitoIdentityPool } from '@aws-sdk/credential-provider-cognito-identity';
+import { fetchAuthSession } from 'aws-amplify/auth';
+import { CognitoIdentityClient } from '@aws-sdk/client-cognito-identity';
+import {
+ AgentCoreRequest,
+ Model,
+ UnrecordedMessage,
+ StrandsContentBlock,
+} from 'generative-ai-use-cases';
+import {
+ StrandsStreamProcessor,
+ convertToStrandsFormat,
+ convertFilesToStrandsContentBlocks,
+} from '../utils/strandsUtils';
+import { getRegionFromArn } from '../utils/arnUtils';
+
+// Get environment variables
+const region = import.meta.env.VITE_APP_REGION as string;
+const modelRegion = import.meta.env.VITE_APP_MODEL_REGION as string;
+const identityPoolId = import.meta.env.VITE_APP_IDENTITY_POOL_ID as string;
+const userPoolId = import.meta.env.VITE_APP_USER_POOL_ID as string;
+
+// Define simplified request interface for the hook
+export interface AgentCoreRuntimeRequest {
+ agentRuntimeArn: string;
+ sessionId?: string;
+ qualifier?: string;
+ system_prompt?: string; // Keep this name for backward compatibility with useAgentCore
+ prompt: string; // User prompt as string
+ previousMessages?: UnrecordedMessage[]; // Raw messages that will be converted to Strands format
+ model: Model;
+ files?: File[]; // Added support for file uploads
+}
+
+const useAgentCoreApi = (id: string) => {
+ const {
+ loading,
+ setLoading,
+ pushMessage,
+ popMessage,
+ createChatIfNotExist,
+ addChunkToAssistantMessage,
+ addMessageIdsToUnrecordedMessages,
+ replaceMessages,
+ setPredictedTitle,
+ } = useChat(id);
+ const { createMessages } = useChatApi();
+
+ // Create a stream processor instance that maintains state across chunks
+ const streamProcessor = useCallback(() => new StrandsStreamProcessor(), []);
+
+ // Process a chunk of Strands event data and add it to the assistant message
+ const processChunk = useCallback(
+ (eventText: string, model: Model, processor: StrandsStreamProcessor) => {
+ const processed = processor.processEvent(eventText);
+
+ if (processed) {
+ if (processed.text || processed.trace || processed.metadata) {
+ addChunkToAssistantMessage(
+ processed.text || '',
+ processed.trace || undefined,
+ model,
+ processed.metadata
+ );
+ }
+ }
+ },
+ [addChunkToAssistantMessage]
+ );
+
+ // Convert messages to Strands format
+ const convertMessagesToStrandsFormat = useCallback(
+ (messages: UnrecordedMessage[]) => {
+ return convertToStrandsFormat(messages);
+ },
+ []
+ );
+
+ const postMessage = useCallback(
+ async (req: AgentCoreRuntimeRequest) => {
+ setLoading(true);
+ let isFirstChunk = true;
+
+ // Create a new stream processor for this request
+ const processor = streamProcessor();
+
+ try {
+ pushMessage('user', req.prompt);
+ pushMessage('assistant', 'Thinking...');
+
+ // Get the ID token from the authenticated user
+ const token = (await fetchAuthSession()).tokens?.idToken?.toString();
+ if (!token) {
+ throw new Error('User is not authenticated');
+ }
+
+ const clientRegion = getRegionFromArn(req.agentRuntimeArn) || region;
+
+ // Create the Cognito Identity client
+ const cognito = new CognitoIdentityClient({ region });
+ const providerName = `cognito-idp.${region}.amazonaws.com/${userPoolId}`;
+
+ // Create the BedrockAgentCore client with the determined region
+ const client = new BedrockAgentCoreClient({
+ region: clientRegion,
+ credentials: fromCognitoIdentityPool({
+ client: cognito,
+ identityPoolId,
+ logins: {
+ [providerName]: token,
+ },
+ }),
+ });
+
+ // Convert previous messages to Strands format if provided
+ const strandsMessages = req.previousMessages
+ ? convertMessagesToStrandsFormat(req.previousMessages)
+ : [];
+
+ // Process files if provided and convert them to Strands content blocks
+ const promptBlocks: StrandsContentBlock[] = [{ text: req.prompt }];
+
+ if (req.files && req.files.length > 0) {
+ try {
+ const fileContentBlocks = await convertFilesToStrandsContentBlocks(
+ req.files
+ );
+ promptBlocks.push(...fileContentBlocks);
+ } catch (error) {
+ console.error(
+ 'Error converting files to Strands content blocks:',
+ error
+ );
+ }
+ }
+
+ // Create the request with the exact schema: messages, systemPrompt, prompt, model
+ const agentCoreRequest: AgentCoreRequest = {
+ messages: strandsMessages,
+ systemPrompt: req.system_prompt || '',
+ prompt: promptBlocks,
+ model: {
+ type: 'bedrock',
+ modelId:
+ req.model.modelId ||
+ 'us.anthropic.claude-3-5-sonnet-20241022-v2:0',
+ region: req.model.region || modelRegion,
+ },
+ };
+
+ const commandInput: InvokeAgentRuntimeCommandInput = {
+ agentRuntimeArn: req.agentRuntimeArn,
+ ...(req.sessionId ? { runtimeSessionId: req.sessionId } : {}),
+ qualifier: req.qualifier || 'DEFAULT',
+ payload: JSON.stringify(agentCoreRequest),
+ };
+
+ const command = new InvokeAgentRuntimeCommand(commandInput);
+ const response = await client.send(command);
+
+ // Handle streaming response
+ const responseWithStream = response as unknown as {
+ response?: ReadableStream | AsyncIterable;
+ contentType?: string;
+ };
+
+ let buffer = '';
+
+ if (responseWithStream.response) {
+ const stream = responseWithStream.response;
+
+ if (Symbol.asyncIterator in stream) {
+ // Handle as async iterable
+ for await (const chunk of stream as AsyncIterable) {
+ if (isFirstChunk) {
+ popMessage(); // Remove loading message
+ pushMessage('assistant', '');
+ isFirstChunk = false;
+ }
+
+ const chunkText = new TextDecoder('utf-8').decode(chunk);
+ buffer += chunkText;
+
+ // Process complete lines
+ const lines = buffer.split('\n');
+ buffer = lines.pop() || '';
+
+ for (const line of lines) {
+ if (line.trim()) {
+ let processedText = line;
+
+ // Handle SSE format: "data: "
+ if (line.startsWith('data: ')) {
+ processedText = line.substring(6);
+ }
+
+ if (processedText.trim()) {
+ processChunk(processedText, req.model, processor);
+ }
+ }
+ }
+ }
+
+ // Process any remaining buffer content
+ if (buffer.trim()) {
+ let processedText = buffer;
+ if (buffer.startsWith('data: ')) {
+ processedText = buffer.substring(6);
+ }
+ if (processedText.trim()) {
+ processChunk(processedText, req.model, processor);
+ }
+ }
+ } else {
+ // Fallback: treat as single response
+ if (isFirstChunk) {
+ popMessage();
+ pushMessage('assistant', '');
+ isFirstChunk = false;
+ }
+ processChunk(
+ JSON.stringify(response, null, 2),
+ req.model,
+ processor
+ );
+ }
+ } else {
+ // Fallback: if no response stream, stringify the entire response
+ if (isFirstChunk) {
+ popMessage();
+ pushMessage('assistant', '');
+ isFirstChunk = false;
+ }
+ processChunk(JSON.stringify(response, null, 2), req.model, processor);
+ }
+
+ // Save chat history
+ const chatId = await createChatIfNotExist();
+ await setPredictedTitle();
+ const toBeRecordedMessages = addMessageIdsToUnrecordedMessages();
+ const { messages } = await createMessages(chatId, {
+ messages: toBeRecordedMessages,
+ });
+ replaceMessages(messages);
+ } catch (error) {
+ console.error('Error invoking AgentCore Runtime:', error);
+ const errorMessage =
+ error instanceof Error ? error.message : 'Unknown error occurred';
+ // processChunk(`Error: ${errorMessage}`, req.model, processor);
+ addChunkToAssistantMessage(
+ errorMessage,
+ undefined,
+ req.model,
+ undefined
+ );
+ } finally {
+ setLoading(false);
+ }
+ },
+ [
+ setLoading,
+ streamProcessor,
+ pushMessage,
+ convertMessagesToStrandsFormat,
+ createChatIfNotExist,
+ setPredictedTitle,
+ addMessageIdsToUnrecordedMessages,
+ createMessages,
+ replaceMessages,
+ popMessage,
+ processChunk,
+ addChunkToAssistantMessage,
+ ]
+ );
+
+ return {
+ loading,
+ postMessage,
+ convertMessagesToStrandsFormat,
+ };
+};
+
+export default useAgentCoreApi;
diff --git a/packages/web/src/hooks/useChat.ts b/packages/web/src/hooks/useChat.ts
index 2befbbca3..734e6c73a 100644
--- a/packages/web/src/hooks/useChat.ts
+++ b/packages/web/src/hooks/useChat.ts
@@ -128,7 +128,8 @@ const useChatState = create<{
id: string,
chunk: string,
trace?: string,
- model?: Model
+ model?: Model,
+ metadata?: Metadata
) => void;
addMessageIdsToUnrecordedMessages: (id: string) => ToBeRecordedMessage[];
replaceMessages: (id: string, messages: RecordedMessage[]) => void;
@@ -392,14 +393,30 @@ const useChatState = create<{
) => {
set((state) => {
const newChats = produce(state.chats, (draft) => {
- let traceInlineMessage: string | undefined = undefined;
+ const oldAssistantMessage = draft[id].messages.pop()!;
// If the received trace is a code block, do not display it as an inline message
+ let traceInlineMessage: string | undefined = undefined;
if (trace && !isExactlyCodeBlock(trace.trim())) {
traceInlineMessage = trace.trim();
}
- const oldAssistantMessage = draft[id].messages.pop()!;
+ // If new metadata came when old metadata exist, add up numbers
+ if (metadata && oldAssistantMessage.metadata) {
+ metadata.usage.inputTokens +=
+ oldAssistantMessage.metadata.usage.inputTokens || 0;
+ metadata.usage.outputTokens +=
+ oldAssistantMessage.metadata.usage.outputTokens || 0;
+ metadata.usage.totalTokens +=
+ oldAssistantMessage.metadata.usage.totalTokens || 0;
+ metadata.usage.cacheReadInputTokens =
+ (metadata.usage.cacheReadInputTokens || 0) +
+ (oldAssistantMessage.metadata.usage.cacheReadInputTokens || 0);
+ metadata.usage.cacheWriteInputTokens =
+ (metadata.usage.cacheWriteInputTokens || 0) +
+ (oldAssistantMessage.metadata.usage.cacheWriteInputTokens || 0);
+ }
+
const newAssistantMessage: ShownMessage = {
...oldAssistantMessage,
role: 'assistant',
@@ -563,14 +580,34 @@ const useChatState = create<{
base64Cache
);
- const stream = predictStream({
- model: model,
- messages: formattedMessages,
- id: id,
- });
+ const stream = predictStream(
+ {
+ model: model,
+ messages: formattedMessages,
+ id: id,
+ },
+ false
+ );
+
+ const splitByNewlineBinary = (data: Uint8Array): Uint8Array[] => {
+ const newline = 0x0a; // '\n'
+ const result: Uint8Array[] = [];
+
+ let start = 0;
+
+ for (let i = 0; i <= data.length; i++) {
+ if (i === data.length || data[i] === newline) {
+ result.push(data.slice(start, i));
+ start = i + 1;
+ }
+ }
+
+ return result;
+ };
// Update the assistant's message
let tmpChunk = '';
+ let tmpBuffer: Uint8Array = new Uint8Array([]);
for await (const chunk of stream) {
if (get().chats[id].forcedStop) {
@@ -583,11 +620,31 @@ const useChatState = create<{
setWriting(id, true);
}
- const chunks = chunk.split('\n');
+ const chunks = splitByNewlineBinary(chunk as Uint8Array);
for (const c of chunks) {
if (c && c.length > 0) {
- const payload = JSON.parse(c) as StreamingChunk;
+ let payload: StreamingChunk;
+
+ try {
+ if (tmpBuffer.length === 0) {
+ payload = JSON.parse(
+ new TextDecoder('utf-8').decode(c)
+ ) as StreamingChunk;
+ } else {
+ payload = JSON.parse(
+ new TextDecoder('utf-8').decode(
+ new Uint8Array([...tmpBuffer, ...c])
+ )
+ ) as StreamingChunk;
+ tmpBuffer = new Uint8Array([]);
+ }
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
+ } catch (e: any) {
+ console.warn(e);
+ tmpBuffer = new Uint8Array([...tmpBuffer, ...c]);
+ continue;
+ }
if (payload.text.length > 0) {
tmpChunk += payload.text;
@@ -1188,9 +1245,10 @@ const useChat = (id: string, chatId?: string) => {
addChunkToAssistantMessage: (
chunk: string,
trace?: string,
- model?: Model
+ model?: Model,
+ metadata?: Metadata
) => {
- addChunkToAssistantMessage(id, chunk, trace, model);
+ addChunkToAssistantMessage(id, chunk, trace, model, metadata);
},
addMessageIdsToUnrecordedMessages: () => {
return addMessageIdsToUnrecordedMessages(id);
diff --git a/packages/web/src/hooks/useChatApi.ts b/packages/web/src/hooks/useChatApi.ts
index 0286689f7..7273947ca 100644
--- a/packages/web/src/hooks/useChatApi.ts
+++ b/packages/web/src/hooks/useChatApi.ts
@@ -94,7 +94,10 @@ const useChatApi = () => {
return res.data;
},
// Streaming Response
- predictStream: async function* (req: PredictRequest) {
+ predictStream: async function* (
+ req: PredictRequest,
+ decode: boolean = true
+ ) {
const token = (await fetchAuthSession()).tokens?.idToken?.toString();
if (!token) {
throw new Error('Not authenticated');
@@ -103,10 +106,22 @@ const useChatApi = () => {
const region = import.meta.env.VITE_APP_REGION;
const userPoolId = import.meta.env.VITE_APP_USER_POOL_ID;
const idPoolId = import.meta.env.VITE_APP_IDENTITY_POOL_ID;
- const cognito = new CognitoIdentityClient({ region });
+ const cognitoIdentityPoolProxyEndpoint = import.meta.env
+ .VITE_APP_COGNITO_IDENTITY_POOL_PROXY_ENDPOINT;
+ const cognito = new CognitoIdentityClient({
+ region,
+ ...(cognitoIdentityPoolProxyEndpoint
+ ? { endpoint: cognitoIdentityPoolProxyEndpoint }
+ : {}),
+ });
const providerName = `cognito-idp.${region}.amazonaws.com/${userPoolId}`;
const lambda = new LambdaClient({
region,
+ requestHandler: {
+ requestTimeout: 300000,
+ socketTimeout: 300000,
+ connectionTimeout: 10000,
+ },
credentials: fromCognitoIdentityPool({
client: cognito,
identityPoolId: idPoolId,
@@ -129,7 +144,11 @@ const useChatApi = () => {
for await (const event of events) {
if (event.PayloadChunk) {
- yield new TextDecoder('utf-8').decode(event.PayloadChunk.Payload);
+ if (decode) {
+ yield new TextDecoder('utf-8').decode(event.PayloadChunk.Payload);
+ } else {
+ yield event.PayloadChunk.Payload;
+ }
}
if (event.InvokeComplete) {
diff --git a/packages/web/src/hooks/useFlowApi.ts b/packages/web/src/hooks/useFlowApi.ts
index 3aa672f68..879004f28 100644
--- a/packages/web/src/hooks/useFlowApi.ts
+++ b/packages/web/src/hooks/useFlowApi.ts
@@ -35,7 +35,14 @@ const useFlowApi = () => {
const region = import.meta.env.VITE_APP_REGION;
const userPoolId = import.meta.env.VITE_APP_USER_POOL_ID;
const idPoolId = import.meta.env.VITE_APP_IDENTITY_POOL_ID;
- const cognito = new CognitoIdentityClient({ region });
+ const cognitoIdentityPoolProxyEndpoint = import.meta.env
+ .VITE_APP_COGNITO_IDENTITY_POOL_PROXY_ENDPOINT;
+ const cognito = new CognitoIdentityClient({
+ region,
+ ...(cognitoIdentityPoolProxyEndpoint
+ ? { endpoint: cognitoIdentityPoolProxyEndpoint }
+ : {}),
+ });
const providerName = `cognito-idp.${region}.amazonaws.com/${userPoolId}`;
const lambda = new LambdaClient({
region,
diff --git a/packages/web/src/hooks/useMcpApi.ts b/packages/web/src/hooks/useMcpApi.ts
index c0b9011ab..c03a8a49d 100644
--- a/packages/web/src/hooks/useMcpApi.ts
+++ b/packages/web/src/hooks/useMcpApi.ts
@@ -71,7 +71,14 @@ const useMcpApi = (id: string) => {
const region = import.meta.env.VITE_APP_REGION;
const userPoolId = import.meta.env.VITE_APP_USER_POOL_ID;
const idPoolId = import.meta.env.VITE_APP_IDENTITY_POOL_ID;
- const cognito = new CognitoIdentityClient({ region });
+ const cognitoIdentityPoolProxyEndpoint = import.meta.env
+ .VITE_APP_COGNITO_IDENTITY_POOL_PROXY_ENDPOINT;
+ const cognito = new CognitoIdentityClient({
+ region,
+ ...(cognitoIdentityPoolProxyEndpoint
+ ? { endpoint: cognitoIdentityPoolProxyEndpoint }
+ : {}),
+ });
const providerName = `cognito-idp.${region}.amazonaws.com/${userPoolId}`;
const credentialProvider = fromCognitoIdentityPool({
client: cognito,
diff --git a/packages/web/src/hooks/useMeetingMinutes.ts b/packages/web/src/hooks/useMeetingMinutes.ts
index 6d419cba4..9f9a0a464 100644
--- a/packages/web/src/hooks/useMeetingMinutes.ts
+++ b/packages/web/src/hooks/useMeetingMinutes.ts
@@ -77,7 +77,7 @@ export const useMeetingMinutes = (
for await (const chunk of stream) {
if (chunk) {
- const chunks = chunk.split('\n');
+ const chunks = (chunk as string).split('\n');
for (const c of chunks) {
if (c && c.length > 0) {
diff --git a/packages/web/src/hooks/useMicrophone.ts b/packages/web/src/hooks/useMicrophone.ts
index 55fa87b36..f1feda45e 100644
--- a/packages/web/src/hooks/useMicrophone.ts
+++ b/packages/web/src/hooks/useMicrophone.ts
@@ -26,7 +26,14 @@ const pcmEncodeChunk = (chunk: Buffer) => {
};
const region = import.meta.env.VITE_APP_REGION;
-const cognito = new CognitoIdentityClient({ region });
+const cognitoIdentityPoolProxyEndpoint = import.meta.env
+ .VITE_APP_COGNITO_IDENTITY_POOL_PROXY_ENDPOINT;
+const cognito = new CognitoIdentityClient({
+ region,
+ ...(cognitoIdentityPoolProxyEndpoint
+ ? { endpoint: cognitoIdentityPoolProxyEndpoint }
+ : {}),
+});
const userPoolId = import.meta.env.VITE_APP_USER_POOL_ID;
const idPoolId = import.meta.env.VITE_APP_IDENTITY_POOL_ID;
const providerName = `cognito-idp.${region}.amazonaws.com/${userPoolId}`;
diff --git a/packages/web/src/hooks/useOptimizePrompt.ts b/packages/web/src/hooks/useOptimizePrompt.ts
index 83ace9165..6d6dd8ff7 100644
--- a/packages/web/src/hooks/useOptimizePrompt.ts
+++ b/packages/web/src/hooks/useOptimizePrompt.ts
@@ -62,7 +62,14 @@ const useOptimizePrompt = () => {
const region = import.meta.env.VITE_APP_REGION;
const userPoolId = import.meta.env.VITE_APP_USER_POOL_ID;
const idPoolId = import.meta.env.VITE_APP_IDENTITY_POOL_ID;
- const cognito = new CognitoIdentityClient({ region });
+ const cognitoIdentityPoolProxyEndpoint = import.meta.env
+ .VITE_APP_COGNITO_IDENTITY_POOL_PROXY_ENDPOINT;
+ const cognito = new CognitoIdentityClient({
+ region,
+ ...(cognitoIdentityPoolProxyEndpoint
+ ? { endpoint: cognitoIdentityPoolProxyEndpoint }
+ : {}),
+ });
const providerName = `cognito-idp.${region}.amazonaws.com/${userPoolId}`;
const lambda = new LambdaClient({
region,
diff --git a/packages/web/src/hooks/useScreenAudio.ts b/packages/web/src/hooks/useScreenAudio.ts
index 2f1a58d81..7a416f414 100644
--- a/packages/web/src/hooks/useScreenAudio.ts
+++ b/packages/web/src/hooks/useScreenAudio.ts
@@ -26,7 +26,14 @@ const pcmEncodeChunk = (chunk: Buffer) => {
};
const region = import.meta.env.VITE_APP_REGION;
-const cognito = new CognitoIdentityClient({ region });
+const cognitoIdentityPoolProxyEndpoint = import.meta.env
+ .VITE_APP_COGNITO_IDENTITY_POOL_PROXY_ENDPOINT;
+const cognito = new CognitoIdentityClient({
+ region,
+ ...(cognitoIdentityPoolProxyEndpoint
+ ? { endpoint: cognitoIdentityPoolProxyEndpoint }
+ : {}),
+});
const userPoolId = import.meta.env.VITE_APP_USER_POOL_ID;
const idPoolId = import.meta.env.VITE_APP_IDENTITY_POOL_ID;
const providerName = `cognito-idp.${region}.amazonaws.com/${userPoolId}`;
diff --git a/packages/web/src/hooks/useSpeach.ts b/packages/web/src/hooks/useSpeach.ts
index e3075e328..e001cc50c 100644
--- a/packages/web/src/hooks/useSpeach.ts
+++ b/packages/web/src/hooks/useSpeach.ts
@@ -46,7 +46,14 @@ const useSpeach = (language: string) => {
const region = import.meta.env.VITE_APP_REGION;
const userPoolId = import.meta.env.VITE_APP_USER_POOL_ID;
const idPoolId = import.meta.env.VITE_APP_IDENTITY_POOL_ID;
- const cognito = new CognitoIdentityClient({ region });
+ const cognitoIdentityPoolProxyEndpoint = import.meta.env
+ .VITE_APP_COGNITO_IDENTITY_POOL_PROXY_ENDPOINT;
+ const cognito = new CognitoIdentityClient({
+ region,
+ ...(cognitoIdentityPoolProxyEndpoint
+ ? { endpoint: cognitoIdentityPoolProxyEndpoint }
+ : {}),
+ });
const providerName = `cognito-idp.${region}.amazonaws.com/${userPoolId}`;
const polly = new Polly({
diff --git a/packages/web/src/hooks/useWriter.ts b/packages/web/src/hooks/useWriter.ts
index 8d6b0bdab..2bf809df4 100644
--- a/packages/web/src/hooks/useWriter.ts
+++ b/packages/web/src/hooks/useWriter.ts
@@ -38,7 +38,7 @@ export const useWriter = () => {
let tmpChunk = '';
let tmpTrace = '';
for await (const chunk of stream) {
- const chunks = chunk.split('\n');
+ const chunks = (chunk as string).split('\n');
for (const c of chunks) {
if (c && c.length > 0) {
diff --git a/packages/web/src/main.tsx b/packages/web/src/main.tsx
index 5fbec4ef4..f417f2293 100644
--- a/packages/web/src/main.tsx
+++ b/packages/web/src/main.tsx
@@ -31,6 +31,7 @@ import AgentChatPage from './pages/AgentChatPage.tsx';
import FlowChatPage from './pages/FlowChatPage';
import VoiceChatPage from './pages/VoiceChatPage';
import McpChatPage from './pages/McpChatPage';
+import AgentCorePage from './pages/AgentCorePage.tsx';
import { MODELS } from './hooks/useModel';
import { Authenticator } from '@aws-amplify/ui-react';
import UseCaseBuilderEditPage from './pages/useCaseBuilder/UseCaseBuilderEditPage.tsx';
@@ -53,6 +54,8 @@ const samlAuthEnabled: boolean =
const agentEnabled: boolean = import.meta.env.VITE_APP_AGENT_ENABLED === 'true';
const inlineAgents: boolean = import.meta.env.VITE_APP_INLINE_AGENTS === 'true';
const mcpEnabled: boolean = import.meta.env.VITE_APP_MCP_ENABLED === 'true';
+const agentCoreEnabled: boolean =
+ import.meta.env.VITE_APP_AGENT_CORE_ENABLED === 'true';
const {
visionEnabled,
imageGenModelIds,
@@ -199,6 +202,12 @@ const routes: RouteObject[] = [
element: ,
}
: null,
+ agentCoreEnabled
+ ? {
+ path: '/agent-core',
+ element: ,
+ }
+ : null,
{
path: '*',
element: ,
diff --git a/packages/web/src/pages/AgentCorePage.tsx b/packages/web/src/pages/AgentCorePage.tsx
new file mode 100644
index 000000000..4e65e0627
--- /dev/null
+++ b/packages/web/src/pages/AgentCorePage.tsx
@@ -0,0 +1,343 @@
+import React, { useCallback, useEffect, useMemo, useState } from 'react';
+import { useLocation } from 'react-router-dom';
+import InputChatContent from '../components/InputChatContent';
+import ChatMessage from '../components/ChatMessage';
+import Select from '../components/Select';
+import ScrollTopBottom from '../components/ScrollTopBottom';
+import useFollow from '../hooks/useFollow';
+import { create } from 'zustand';
+import BedrockIcon from '../assets/bedrock.svg?react';
+import { v4 as uuidv4 } from 'uuid';
+import useFiles from '../hooks/useFiles';
+import { FileLimit } from 'generative-ai-use-cases';
+import { useTranslation } from 'react-i18next';
+import { useAgentCore } from '../hooks/useAgentCore';
+import { MODELS } from '../hooks/useModel';
+
+// Define file limits for the chat interface
+const fileLimit: FileLimit = {
+ accept: {
+ doc: [
+ '.csv',
+ '.doc',
+ '.docx',
+ '.html',
+ '.md',
+ '.pdf',
+ '.txt',
+ '.xls',
+ '.xlsx',
+ '.yaml',
+ '.json',
+ ],
+ image: ['.jpg', '.jpeg', '.png', '.gif', '.webp'],
+ video: [],
+ },
+ maxFileCount: 5,
+ maxFileSizeMB: 10,
+ maxImageFileCount: 5,
+ maxImageFileSizeMB: 5,
+ maxVideoFileCount: 0,
+ maxVideoFileSizeMB: 0,
+};
+
+// State management with zustand
+type StateType = {
+ content: string;
+ inputSystemContext: string;
+ setContent: (c: string) => void;
+ setInputSystemContext: (c: string) => void;
+};
+
+const useAgentCorePageState = create((set) => {
+ return {
+ content: '',
+ inputSystemContext: '',
+ setContent: (s: string) => {
+ set(() => ({
+ content: s,
+ }));
+ },
+ setInputSystemContext: (s: string) => {
+ set(() => ({
+ inputSystemContext: s,
+ }));
+ },
+ };
+});
+
+const AgentCorePage: React.FC = () => {
+ const { t } = useTranslation();
+ const pageTitle = t('agent_core.title', 'AgentCore');
+ const { pathname } = useLocation();
+ const { content, setContent } = useAgentCorePageState();
+
+ // Use a fixed ID for Agent Core Runtime similar to MCP
+ const fixedId = '/agent-core';
+ const {
+ messages,
+ isEmpty,
+ clear,
+ loading,
+ invokeAgentRuntime,
+ getGenericRuntime,
+ getAllAvailableRuntimes,
+ getModelId,
+ setModelId,
+ } = useAgentCore(fixedId);
+
+ const { scrollableContainer, setFollowing } = useFollow();
+
+ // Get runtimes
+ const allAvailableRuntimes = getAllAvailableRuntimes();
+ const genericRuntime = getGenericRuntime();
+
+ // Get models from MODELS like ChatPage does
+ const { modelIds: availableModels, modelDisplayName } = MODELS;
+ const modelId = getModelId();
+
+ const [selectedArn, setSelectedArn] = useState('');
+ const [sessionId] = useState(uuidv4());
+ const [isOver, setIsOver] = useState(false);
+ const [writing, setWriting] = useState(false);
+
+ const { clear: clearFiles, uploadFiles, uploadedFiles } = useFiles(pathname);
+
+ // Set the first available ARN as default if none is selected
+ useEffect(() => {
+ if (allAvailableRuntimes.length > 0 && !selectedArn) {
+ setSelectedArn(allAvailableRuntimes[0].arn);
+ }
+ // eslint-disable-next-line react-hooks/exhaustive-deps
+ }, [allAvailableRuntimes]);
+
+ // Initialize system context and model ID only once on mount
+ useEffect(() => {
+ const _modelId = !modelId ? availableModels[0] : modelId;
+ setModelId(_modelId);
+ // eslint-disable-next-line react-hooks/exhaustive-deps
+ }, [availableModels]);
+
+ // Accept file types based on model
+ const accept = useMemo(() => {
+ if (!modelId) return [];
+ const feature = MODELS.modelMetadata[modelId];
+ return [
+ ...(feature.flags.doc ? fileLimit.accept.doc : []),
+ ...(feature.flags.image ? fileLimit.accept.image : []),
+ ...(feature.flags.video ? fileLimit.accept.video : []),
+ ];
+ }, [modelId]);
+
+ // File upload enabled
+ const fileUpload = useMemo(() => {
+ return accept.length > 0;
+ }, [accept]);
+
+ // Handle sending a message
+ const onSend = useCallback(() => {
+ if (!content || !selectedArn || loading) return;
+
+ setFollowing(true);
+ setWriting(true);
+
+ try {
+ // Get uploaded files from the useFiles hook
+ const uploadedFileObjects = uploadedFiles.filter(
+ (file) => !file.errorMessages.length && !file.uploading
+ );
+ const filesToSend =
+ uploadedFileObjects.length > 0
+ ? uploadedFileObjects.map((uploadedFile) => uploadedFile.file)
+ : undefined;
+
+ // Invoke agent runtime with content and files
+ invokeAgentRuntime(
+ selectedArn,
+ sessionId,
+ content,
+ 'DEFAULT',
+ filesToSend
+ );
+ setContent('');
+ clearFiles();
+ } catch (error) {
+ console.error('Error sending message:', error);
+ setWriting(false);
+ }
+ // eslint-disable-next-line react-hooks/exhaustive-deps
+ }, [
+ content,
+ selectedArn,
+ loading,
+ setFollowing,
+ invokeAgentRuntime,
+ sessionId,
+ clearFiles,
+ uploadedFiles,
+ ]);
+
+ // Handle reset
+ const onReset = useCallback(() => {
+ clear();
+ setContent('');
+ clearFiles();
+ }, [clear, clearFiles, setContent]);
+
+ // Handle stop generation
+ const onStop = useCallback(() => {
+ setWriting(false);
+ // Note: AgentCore doesn't have a direct forceToStop method, so we just update the UI state
+ }, []);
+
+ // Handle drag and drop for files
+ const handleDragOver = (event: React.DragEvent) => {
+ event.preventDefault();
+ setIsOver(true);
+ };
+
+ const handleDragLeave = (event: React.DragEvent) => {
+ event.preventDefault();
+ setIsOver(false);
+ };
+
+ const handleDrop = (event: React.DragEvent) => {
+ event.preventDefault();
+ setIsOver(false);
+ if (event.dataTransfer.files) {
+ uploadFiles(Array.from(event.dataTransfer.files), fileLimit, accept);
+ }
+ };
+
+ // Prepare runtime options
+ const runtimeOptions = useMemo(() => {
+ return allAvailableRuntimes.map((runtime) => {
+ const isGeneric = genericRuntime && runtime.arn === genericRuntime.arn;
+ const typeLabel = isGeneric ? '[Generic]' : '[External]';
+ return {
+ value: runtime.arn,
+ label: `${runtime.name} ${typeLabel}`,
+ };
+ });
+ }, [allAvailableRuntimes, genericRuntime]);
+
+ // Prepare model options
+ const modelOptions = useMemo(() => {
+ return availableModels.map((m) => {
+ return { value: m, label: modelDisplayName(m) };
+ });
+ // eslint-disable-next-line react-hooks/exhaustive-deps
+ }, [availableModels]);
+
+ const showingMessages = useMemo(() => {
+ return messages;
+ }, [messages]);
+
+ return (
+ <>
+
+
+ {pageTitle}
+
+
+ {/* File Drop Overlay */}
+ {isOver && fileUpload && (
+
+
+
+ {t('chat.drop_files', 'Drop files here')}
+
+
+
+ )}
+
+ {/* Selection Controls */}
+
+ {/* AgentCore Runtime Selection */}
+
+
+
+
+ {/* Model Selection */}
+
+
+
+
+
+ {/* Empty State */}
+ {isEmpty && (
+
+
+
+ {t(
+ 'agent_core.start_conversation',
+ 'Start a conversation with AgentCore'
+ )}
+
+
+ )}
+
+ {/* Chat Messages */}
+ {!isEmpty && (
+
+ {showingMessages.map((message, idx) => (
+
+ {idx === 0 && (
+
+ )}
+
+
+
+ ))}
+
+ )}
+
+ {/* Scroll Controls */}
+
+
+
+
+ {/* Input Area */}
+
+ {
+ if (!loading) {
+ onSend();
+ } else {
+ onStop();
+ }
+ }}
+ onReset={onReset}
+ fileUpload={fileUpload}
+ fileLimit={fileLimit}
+ accept={accept}
+ canStop={writing}
+ />
+
+
+ >
+ );
+};
+
+export default AgentCorePage;
diff --git a/packages/web/src/pages/LandingPage.tsx b/packages/web/src/pages/LandingPage.tsx
index 755e57035..15473a0b8 100644
--- a/packages/web/src/pages/LandingPage.tsx
+++ b/packages/web/src/pages/LandingPage.tsx
@@ -47,6 +47,8 @@ const ragEnabled: boolean = import.meta.env.VITE_APP_RAG_ENABLED === 'true';
const ragKnowledgeBaseEnabled: boolean =
import.meta.env.VITE_APP_RAG_KNOWLEDGE_BASE_ENABLED === 'true';
const agentEnabled: boolean = import.meta.env.VITE_APP_AGENT_ENABLED === 'true';
+const agentCoreEnabled: boolean =
+ import.meta.env.VITE_APP_AGENT_CORE_ENABLED === 'true';
const inlineAgents: boolean = import.meta.env.VITE_APP_INLINE_AGENTS === 'true';
const mcpEnabled: boolean = import.meta.env.VITE_APP_MCP_ENABLED === 'true';
const {
@@ -98,6 +100,10 @@ const LandingPage: React.FC = () => {
}
};
+ const demoAgentCore = () => {
+ navigate(`/agent-core`);
+ };
+
const demoMcp = () => {
const params: McpPageQueryParams = {
content: t('landing.demo.mcp.content'),
@@ -324,6 +330,14 @@ const LandingPage: React.FC = () => {
description={t('landing.use_cases.agent_chat.description')}
/>
)}
+ {agentCoreEnabled && (
+ }
+ description={t('landing.use_cases.agent_core.description')}
+ />
+ )}
{mcpEnabled && (
{
{isEmpty && !isLoading && !isActive && (
-
- {t('voiceChat.experimental_warning')}
-
diff --git a/packages/web/src/utils/arnUtils.ts b/packages/web/src/utils/arnUtils.ts
new file mode 100644
index 000000000..ebfa8f700
--- /dev/null
+++ b/packages/web/src/utils/arnUtils.ts
@@ -0,0 +1,108 @@
+/**
+ * AWS ARN utilities for parsing and extracting information
+ */
+
+export interface ParsedArn {
+ partition: string;
+ service: string;
+ region: string;
+ accountId: string;
+ resource: string;
+}
+
+/**
+ * Parse AWS ARN and extract components
+ * ARN format: arn:partition:service:region:account-id:resource
+ *
+ * @param arn - AWS ARN string
+ * @returns Parsed ARN components or null if invalid
+ */
+export const parseArn = (arn: string): ParsedArn | null => {
+ if (!arn || typeof arn !== 'string') {
+ return null;
+ }
+
+ const arnParts = arn.split(':');
+
+ // ARN must have at least 6 parts: arn:partition:service:region:account-id:resource
+ if (arnParts.length < 6 || arnParts[0] !== 'arn') {
+ return null;
+ }
+
+ return {
+ partition: arnParts[1],
+ service: arnParts[2],
+ region: arnParts[3],
+ accountId: arnParts[4],
+ resource: arnParts.slice(5).join(':'), // Resource can contain colons
+ };
+};
+
+/**
+ * Extract region from AWS ARN
+ *
+ * @param arn - AWS ARN string
+ * @returns Region string or null if invalid ARN
+ */
+export const getRegionFromArn = (arn: string): string | null => {
+ const parsed = parseArn(arn);
+ return parsed?.region || null;
+};
+
+/**
+ * Extract service from AWS ARN
+ *
+ * @param arn - AWS ARN string
+ * @returns Service string or null if invalid ARN
+ */
+export const getServiceFromArn = (arn: string): string | null => {
+ const parsed = parseArn(arn);
+ return parsed?.service || null;
+};
+
+/**
+ * Validate if ARN is for a specific AWS service
+ *
+ * @param arn - AWS ARN string
+ * @param service - Expected service name
+ * @returns True if ARN is for the specified service
+ */
+export const isArnForService = (arn: string, service: string): boolean => {
+ const parsed = parseArn(arn);
+ return parsed?.service === service;
+};
+
+/**
+ * Validate if ARN is for Bedrock Agent Core
+ *
+ * @param arn - AWS ARN string
+ * @returns True if ARN is for Bedrock Agent Core
+ */
+export const isBedrockAgentCoreArn = (arn: string): boolean => {
+ return isArnForService(arn, 'bedrock-agentcore');
+};
+
+/**
+ * Get runtime ID from Bedrock Agent Core ARN
+ *
+ * @param arn - Bedrock Agent Core ARN
+ * @returns Runtime ID or null if invalid
+ */
+export const getAgentCoreRuntimeIdFromArn = (arn: string): string | null => {
+ if (!isBedrockAgentCoreArn(arn)) {
+ return null;
+ }
+
+ const parsed = parseArn(arn);
+ if (!parsed) {
+ return null;
+ }
+
+ // Resource format: runtime/runtime-id
+ const resourceParts = parsed.resource.split('/');
+ if (resourceParts.length >= 2 && resourceParts[0] === 'runtime') {
+ return resourceParts.slice(1).join('/'); // Runtime ID can contain slashes
+ }
+
+ return null;
+};
diff --git a/packages/web/src/utils/strandsUtils.ts b/packages/web/src/utils/strandsUtils.ts
new file mode 100644
index 000000000..1797fdaa4
--- /dev/null
+++ b/packages/web/src/utils/strandsUtils.ts
@@ -0,0 +1,434 @@
+/**
+ * Utility functions for converting between Strands and GenU formats
+ */
+
+import {
+ ExtraData,
+ Metadata,
+ StrandsContentBlock,
+ StrandsMessage,
+ StrandsRole,
+ StrandsStreamEvent,
+ UnrecordedMessage,
+ UploadedFileType,
+} from 'generative-ai-use-cases';
+
+/**
+ * Convert GenU messages to Strands format
+ */
+export const convertToStrandsFormat = (
+ messages: UnrecordedMessage[],
+ uploadedFiles?: UploadedFileType[],
+ base64Cache?: Record
+): StrandsMessage[] => {
+ console.log('convertToStrandsFormat', uploadedFiles, base64Cache);
+ return messages.map((message) => {
+ const contentBlocks: StrandsContentBlock[] = [];
+
+ // Add text content if present
+ if (message.content && message.content.trim()) {
+ contentBlocks.push({ text: message.content });
+ }
+
+ // Convert extraData to Strands content blocks
+ if (message.extraData) {
+ for (const data of message.extraData) {
+ const contentBlock = convertExtraDataToStrandsContentBlock(
+ data,
+ uploadedFiles,
+ base64Cache
+ );
+ if (contentBlock) {
+ contentBlocks.push(contentBlock);
+ }
+ }
+ }
+
+ // Ensure at least one content block exists
+ if (contentBlocks.length === 0) {
+ contentBlocks.push({ text: message.content || '' });
+ }
+
+ return {
+ role: message.role as StrandsRole,
+ content: contentBlocks,
+ };
+ });
+};
+
+/**
+ * Convert ExtraData to Strands content block
+ */
+const convertExtraDataToStrandsContentBlock = (
+ data: ExtraData,
+ uploadedFiles?: UploadedFileType[],
+ base64Cache?: Record
+): StrandsContentBlock | null => {
+ let base64Data: string | undefined;
+
+ // Get base64 data based on source type
+ if (data.source.type === 'base64') {
+ base64Data = data.source.data;
+ } else if (data.source.type === 's3') {
+ // Try to find base64 data from uploadedFiles or base64Cache
+ base64Data =
+ uploadedFiles
+ ?.find((uploadedFile) => uploadedFile.s3Url === data.source.data)
+ ?.base64EncodedData?.replace(/^data:(.*,)?/, '') ??
+ base64Cache?.[data.source.data]?.replace(/^data:(.*,)?/, '');
+ }
+
+ if (!base64Data) {
+ console.warn('No base64 data found for extraData:', data);
+ return null;
+ }
+
+ // Convert based on data type
+ switch (data.type) {
+ case 'image':
+ return {
+ image: {
+ format: getImageFormatFromMimeType(data.source.mediaType),
+ source: {
+ bytes: base64Data,
+ },
+ },
+ };
+
+ case 'file':
+ return {
+ document: {
+ format: getDocumentFormatFromMimeType(data.source.mediaType),
+ name: data.name,
+ source: {
+ bytes: base64Data,
+ },
+ },
+ };
+
+ case 'video':
+ return {
+ video: {
+ format: getVideoFormatFromMimeType(data.source.mediaType),
+ source: {
+ bytes: base64Data,
+ },
+ },
+ };
+
+ default:
+ console.warn('Unsupported extraData type:', data.type);
+ return null;
+ }
+};
+
+/**
+ * Extract image format from MIME type
+ */
+const getImageFormatFromMimeType = (
+ mimeType: string
+): 'png' | 'jpeg' | 'gif' | 'webp' | undefined => {
+ const formatMap: Record = {
+ 'image/png': 'png',
+ 'image/jpeg': 'jpeg',
+ 'image/jpg': 'jpeg',
+ 'image/gif': 'gif',
+ 'image/webp': 'webp',
+ };
+ return formatMap[mimeType.toLowerCase()];
+};
+
+/**
+ * Extract document format from MIME type
+ */
+const getDocumentFormatFromMimeType = (
+ mimeType: string
+):
+ | 'pdf'
+ | 'csv'
+ | 'doc'
+ | 'docx'
+ | 'xls'
+ | 'xlsx'
+ | 'html'
+ | 'txt'
+ | 'md'
+ | undefined => {
+ const formatMap: Record<
+ string,
+ 'pdf' | 'csv' | 'doc' | 'docx' | 'xls' | 'xlsx' | 'html' | 'txt' | 'md'
+ > = {
+ 'application/pdf': 'pdf',
+ 'text/csv': 'csv',
+ 'application/msword': 'doc',
+ 'application/vnd.openxmlformats-officedocument.wordprocessingml.document':
+ 'docx',
+ 'application/vnd.ms-excel': 'xls',
+ 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet': 'xlsx',
+ 'text/html': 'html',
+ 'text/plain': 'txt',
+ 'text/markdown': 'md',
+ };
+ return formatMap[mimeType.toLowerCase()];
+};
+
+/**
+ * Extract video format from MIME type
+ */
+const getVideoFormatFromMimeType = (
+ mimeType: string
+):
+ | 'flv'
+ | 'mkv'
+ | 'mov'
+ | 'mpeg'
+ | 'mpg'
+ | 'mp4'
+ | 'three_gp'
+ | 'webm'
+ | 'wmv'
+ | undefined => {
+ const formatMap: Record<
+ string,
+ 'flv' | 'mkv' | 'mov' | 'mpeg' | 'mpg' | 'mp4' | 'three_gp' | 'webm' | 'wmv'
+ > = {
+ 'video/x-flv': 'flv',
+ 'video/x-matroska': 'mkv',
+ 'video/quicktime': 'mov',
+ 'video/mpeg': 'mpeg',
+ 'video/mp4': 'mp4',
+ 'video/3gpp': 'three_gp',
+ 'video/webm': 'webm',
+ 'video/x-ms-wmv': 'wmv',
+ };
+ return formatMap[mimeType.toLowerCase()];
+};
+
+/**
+ * Convert File objects to Strands content blocks
+ */
+export const convertFilesToStrandsContentBlocks = async (
+ files: File[]
+): Promise => {
+ console.log('convertFilesToStrandsContentBlocks', files);
+ const contentBlocks: StrandsContentBlock[] = [];
+
+ for (const file of files) {
+ try {
+ const base64Data = await fileToBase64(file);
+ const contentBlock = await convertFileToStrandsContentBlock(
+ file,
+ base64Data
+ );
+ if (contentBlock) {
+ contentBlocks.push(contentBlock);
+ }
+ } catch (error) {
+ console.error('Error converting file to Strands content block:', error);
+ }
+ }
+
+ return contentBlocks;
+};
+
+/**
+ * Convert a single File to base64 string
+ */
+const fileToBase64 = (file: File): Promise => {
+ return new Promise((resolve, reject) => {
+ const reader = new FileReader();
+ reader.onload = () => {
+ const result = reader.result as string;
+ // Remove the data URL prefix (e.g., "data:image/png;base64,")
+ const base64Data = result.split(',')[1];
+ resolve(base64Data);
+ };
+ reader.onerror = reject;
+ reader.readAsDataURL(file);
+ });
+};
+
+/**
+ * Convert a single File to Strands content block
+ */
+const convertFileToStrandsContentBlock = async (
+ file: File,
+ base64Data: string
+): Promise => {
+ const mimeType = file.type;
+ const fileName = file.name.replace(/[^a-zA-Z0-9\s\-()[\]]/g, 'X');
+
+ // Determine file type based on MIME type
+ if (mimeType.startsWith('image/')) {
+ return {
+ image: {
+ format: getImageFormatFromMimeType(mimeType),
+ source: {
+ bytes: base64Data,
+ },
+ },
+ };
+ } else if (mimeType.startsWith('video/')) {
+ return {
+ video: {
+ format: getVideoFormatFromMimeType(mimeType),
+ source: {
+ bytes: base64Data,
+ },
+ },
+ };
+ } else {
+ // Treat as document
+ return {
+ document: {
+ format: getDocumentFormatFromMimeType(mimeType),
+ name: fileName,
+ source: {
+ bytes: base64Data,
+ },
+ },
+ };
+ }
+};
+
+/**
+ * Content block types for state tracking
+ */
+type ContentBlockType = 'text' | 'toolUse' | 'reasoning' | null;
+
+/**
+ * Stateful stream processor for Strands events
+ */
+export class StrandsStreamProcessor {
+ private currentContentBlockType: ContentBlockType = null;
+ private toolUseBuffer: string = '';
+
+ /**
+ * Process a streaming event and return formatted content
+ */
+ processEvent(
+ eventText: string
+ ): { text: string; trace?: string; metadata?: Metadata } | null {
+ try {
+ const parsedEvent = JSON.parse(eventText);
+ const streamEvent = parsedEvent.event as StrandsStreamEvent;
+
+ if (!streamEvent) return null;
+
+ // Handle message start event
+ if (streamEvent.messageStart) {
+ this.reset();
+ return null;
+ }
+
+ // Handle content block start event
+ if (streamEvent.contentBlockStart) {
+ const start = streamEvent.contentBlockStart.start;
+
+ if ('text' in start && start.text) {
+ this.currentContentBlockType = 'text';
+ return { text: start.text };
+ } else if ('toolUse' in start && start.toolUse) {
+ this.currentContentBlockType = 'toolUse';
+ this.toolUseBuffer = '';
+ return { text: '', trace: `\`\`\`${start.toolUse.name}\n` };
+ }
+ }
+
+ // Handle content block delta event (incremental updates)
+ if (streamEvent.contentBlockDelta) {
+ const delta = streamEvent.contentBlockDelta.delta;
+
+ if (delta.text) {
+ this.currentContentBlockType = 'text';
+ return { text: delta.text };
+ } else if (delta.toolUse) {
+ this.currentContentBlockType = 'toolUse';
+ this.toolUseBuffer += delta.toolUse.input;
+ return { text: '', trace: delta.toolUse.input };
+ } else if (delta.reasoningContent?.text) {
+ this.currentContentBlockType = 'reasoning';
+ return { text: '', trace: delta.reasoningContent.text };
+ }
+ }
+
+ // Handle content block stop event
+ if (streamEvent.contentBlockStop) {
+ if (this.currentContentBlockType === 'text') {
+ // Close the text block
+ const result = { text: '\n' };
+ this.currentContentBlockType = null;
+ return result;
+ } else if (this.currentContentBlockType === 'toolUse') {
+ // Close the tool use block
+ const result = { text: '', trace: `\n\`\`\`\n` };
+ this.currentContentBlockType = null;
+ return result;
+ }
+ this.currentContentBlockType = null;
+ return null;
+ }
+
+ // Handle message stop event
+ if (streamEvent.messageStop) {
+ this.reset();
+ return null;
+ }
+
+ // Handle metadata event
+ if (streamEvent.metadata) {
+ return {
+ text: '',
+ metadata: {
+ usage: {
+ inputTokens: streamEvent.metadata.usage.inputTokens,
+ outputTokens: streamEvent.metadata.usage.outputTokens,
+ totalTokens: streamEvent.metadata.usage.totalTokens,
+ cacheReadInputTokens:
+ streamEvent.metadata.usage.cacheReadInputTokens,
+ cacheWriteInputTokens:
+ streamEvent.metadata.usage.cacheWriteInputTokens,
+ },
+ },
+ };
+ }
+
+ // Handle error events
+ const errorEvent =
+ streamEvent.internalServerException ||
+ streamEvent.modelStreamErrorException ||
+ streamEvent.serviceUnavailableException ||
+ streamEvent.throttlingException ||
+ streamEvent.validationException;
+
+ if (errorEvent) {
+ return {
+ text: `Error: ${errorEvent.message || 'An error occurred'}`,
+ };
+ }
+
+ // Handle redact content event
+ if (streamEvent.redactContent) {
+ if (streamEvent.redactContent.redactAssistantContentMessage) {
+ return {
+ text: streamEvent.redactContent.redactAssistantContentMessage,
+ };
+ }
+ return null;
+ }
+
+ return null;
+ } catch (error) {
+ console.error('Error processing stream event:', error);
+ return null;
+ }
+ }
+
+ /**
+ * Reset the processor state
+ */
+ reset(): void {
+ this.currentContentBlockType = null;
+ this.toolUseBuffer = '';
+ }
+}
diff --git a/packages/web/src/vite-env.d.ts b/packages/web/src/vite-env.d.ts
index d3707dbff..ac6bac3a7 100644
--- a/packages/web/src/vite-env.d.ts
+++ b/packages/web/src/vite-env.d.ts
@@ -32,6 +32,11 @@ interface ImportMetaEnv {
readonly VITE_APP_SPEECH_TO_SPEECH_MODEL_IDS: string;
readonly VITE_APP_MCP_ENABLED: string;
readonly VITE_APP_MCP_ENDPOINT: string;
+ readonly VITE_APP_COGNITO_USER_POOL_PROXY_ENDPOINT: string;
+ readonly VITE_APP_COGNITO_IDENTITY_POOL_PROXY_ENDPOINT: string;
+ readonly VITE_APP_AGENT_CORE_ENABLED: string;
+ readonly VITE_APP_AGENT_CORE_GENERIC_RUNTIME: string;
+ readonly VITE_APP_AGENT_CORE_EXTERNAL_RUNTIMES: string;
}
interface ImportMeta {
diff --git a/packages/web/vite.config.ts b/packages/web/vite.config.ts
index 50884a66e..d53472440 100644
--- a/packages/web/vite.config.ts
+++ b/packages/web/vite.config.ts
@@ -5,6 +5,7 @@ import svgr from 'vite-plugin-svgr';
import { nodePolyfills } from 'vite-plugin-node-polyfills';
import { VitePWA } from 'vite-plugin-pwa';
import { visualizer } from 'rollup-plugin-visualizer';
+import webfontDownload from 'vite-plugin-webfont-dl';
// https://vitejs.dev/config/
export default defineConfig(({ mode }) => ({
@@ -31,6 +32,7 @@ export default defineConfig(({ mode }) => ({
process: true,
},
}),
+ webfontDownload(),
VitePWA({
strategies: 'generateSW',
registerType: 'autoUpdate',
diff --git a/setup-env.sh b/setup-env.sh
index be904c828..013fc4518 100755
--- a/setup-env.sh
+++ b/setup-env.sh
@@ -52,3 +52,8 @@ export VITE_APP_SPEECH_TO_SPEECH_EVENT_API_ENDPOINT=$(extract_value "$stack_outp
export VITE_APP_SPEECH_TO_SPEECH_MODEL_IDS=$(extract_value "$stack_output" SpeechToSpeechModelIds)
export VITE_APP_MCP_ENABLED=$(extract_value "$stack_output" McpEnabled)
export VITE_APP_MCP_ENDPOINT=$(extract_value "$stack_output" McpEndpoint)
+export VITE_APP_COGNITO_USER_POOL_PROXY_ENDPOINT=$(extract_value "$stack_output" CognitoUserPoolProxyEndpoint)
+export VITE_APP_COGNITO_IDENTITY_POOL_PROXY_ENDPOINT=$(extract_value "$stack_output" CognitoIdentityPoolProxyEndpoint)
+export VITE_APP_AGENT_CORE_ENABLED=$(extract_value "$stack_output" AgentCoreEnabled)
+export VITE_APP_AGENT_CORE_GENERIC_RUNTIME=$(extract_value "$stack_output" AgentCoreGenericRuntime)
+export VITE_APP_AGENT_CORE_EXTERNAL_RUNTIMES=$(extract_value "$stack_output" AgentCoreExternalRuntimes)
diff --git a/web_devw_win.ps1 b/web_devw_win.ps1
index bdd627d77..c199bc57c 100644
--- a/web_devw_win.ps1
+++ b/web_devw_win.ps1
@@ -85,5 +85,10 @@ $env:VITE_APP_SPEECH_TO_SPEECH_EVENT_API_ENDPOINT = Extract-Value $stack_output
$env:VITE_APP_SPEECH_TO_SPEECH_MODEL_IDS = Extract-Value $stack_output "SpeechToSpeechModelIds"
$env:VITE_APP_MCP_ENABLED = Extract-Value $stack_output "McpEnabled"
$env:VITE_APP_MCP_ENDPOINT = Extract-Value $stack_output "McpEndpoint"
+$env:VITE_APP_COGNITO_USER_POOL_PROXY_ENDPOINT = Extract-Value $stack_output "CognitoUserPoolProxyEndpoint"
+$env:VITE_APP_COGNITO_IDENTITY_POOL_PROXY_ENDPOINT = Extract-Value $stack_output "CognitoIdentityPoolProxyEndpoint"
+$env:VITE_APP_AGENT_CORE_ENABLED = Extract-Value $stack_output "AgentCoreEnabled"
+$env:VITE_APP_AGENT_CORE_GENERIC_RUNTIME = Extract-Value $stack_output "AgentCoreGenericRuntime"
+$env:VITE_APP_AGENT_CORE_EXTERNAL_RUNTIMES = Extract-Value $stack_output "AgentCoreExternalRuntimes"
npm -w packages/web run dev