From 1c26bbc5abbdfc07ab48e793bc046e05d2a39351 Mon Sep 17 00:00:00 2001 From: Christiaan Arnoldus Date: Wed, 23 Jul 2025 14:39:27 +0200 Subject: [PATCH 01/25] Fix todo list toggle not working (#6103) --- src/core/task/Task.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/core/task/Task.ts b/src/core/task/Task.ts index ccd24b7d71..d4a5d823d5 100644 --- a/src/core/task/Task.ts +++ b/src/core/task/Task.ts @@ -1626,6 +1626,7 @@ export class Task extends EventEmitter { language, maxConcurrentFileReads, maxReadFileLine, + apiConfiguration, } = state ?? {} return await (async () => { @@ -1654,6 +1655,7 @@ export class Task extends EventEmitter { maxReadFileLine !== -1, { maxConcurrentFileReads, + todoListEnabled: apiConfiguration?.todoListEnabled, }, ) })() From b0820ac75557e6e87ec1003549e5e6971d9ea208 Mon Sep 17 00:00:00 2001 From: Daniel <57051444+daniel-lxs@users.noreply.github.com> Date: Wed, 23 Jul 2025 07:43:36 -0500 Subject: [PATCH 02/25] fix: resolve 'Bad substitution' error in command parsing (#5743) --- .../__tests__/command-validation.spec.ts | 117 ++++++++++++++++++ webview-ui/src/utils/command-validation.ts | 82 +++++++++++- 2 files changed, 194 insertions(+), 5 deletions(-) diff --git a/webview-ui/src/utils/__tests__/command-validation.spec.ts b/webview-ui/src/utils/__tests__/command-validation.spec.ts index e926561682..661d09c802 100644 --- a/webview-ui/src/utils/__tests__/command-validation.spec.ts +++ b/webview-ui/src/utils/__tests__/command-validation.spec.ts @@ -276,6 +276,123 @@ done` parseCommand(problematicPart) }).not.toThrow("Bad substitution") }) + + it("should handle bash arithmetic expressions with $(())", () => { + // Test the exact script from the user's error + const bashScript = `jsx_files=$(find resources/js -name "*.jsx" -type f -not -path "*/node_modules/*") +count=0 +for file in $jsx_files; do + ts_file="\${file%.jsx}.tsx" + if [ ! -f "$ts_file" ]; then + cp "$file" "$ts_file" + count=$((count + 1)) + fi +done +echo "Successfully converted $count .jsx files to .tsx"` + + expect(() => { + parseCommand(bashScript) + }).not.toThrow("Bad substitution: calc.add") + }) + + it("should correctly parse commands with arithmetic expressions", () => { + const result = parseCommand("count=$((count + 1)) && echo $count") + expect(result).toEqual(["count=$((count + 1))", "echo $count"]) + }) + + it("should handle nested arithmetic expressions", () => { + const result = parseCommand("result=$((10 * (5 + 3))) && echo $result") + expect(result).toEqual(["result=$((10 * (5 + 3)))", "echo $result"]) + }) + + it("should handle arithmetic expressions with variables", () => { + const result = parseCommand("total=$((price * quantity + tax))") + expect(result).toEqual(["total=$((price * quantity + tax))"]) + }) + + it("should handle complex parameter expansions without errors", () => { + const commands = [ + "echo ${var:-default}", + "echo ${#array[@]}", + "echo ${var%suffix}", + "echo ${var#prefix}", + "echo ${var/pattern/replacement}", + "echo ${!var}", + "echo ${var:0:5}", + "echo ${var,,}", + "echo ${var^^}", + ] + + commands.forEach((cmd) => { + expect(() => { + parseCommand(cmd) + }).not.toThrow() + }) + }) + + it("should handle process substitutions without errors", () => { + const commands = [ + "diff <(sort file1) <(sort file2)", + "command >(gzip > output.gz)", + "while read line; do echo $line; done < <(cat file)", + ] + + commands.forEach((cmd) => { + expect(() => { + parseCommand(cmd) + }).not.toThrow() + }) + }) + + it("should handle special bash variables without errors", () => { + const commands = [ + "echo $?", + "echo $!", + "echo $#", + "echo $$", + "echo $@", + "echo $*", + "echo $-", + "echo $0", + "echo $1 $2 $3", + ] + + commands.forEach((cmd) => { + expect(() => { + parseCommand(cmd) + }).not.toThrow() + }) + }) + + it("should handle mixed complex bash constructs", () => { + const complexCommand = ` + for file in \${files[@]}; do + if [[ -f "\${file%.txt}.bak" ]]; then + count=\$((count + 1)) + echo "Processing \${file} (\$count/\${#files[@]})" + result=\$(process_file "\$file" 2>&1) + if [[ \$? -eq 0 ]]; then + echo "Success: \$result" >(logger) + fi + fi + done + ` + + expect(() => { + parseCommand(complexCommand) + }).not.toThrow() + }) + + it("should handle fallback parsing when shell-quote fails", () => { + // Test a command that might cause shell-quote to fail + const problematicCommand = "echo ${unclosed" + + expect(() => { + const result = parseCommand(problematicCommand) + // Should not throw and should return some result + expect(Array.isArray(result)).toBe(true) + }).not.toThrow() + }) }) describe("isAutoApprovedCommand (legacy behavior)", () => { diff --git a/webview-ui/src/utils/command-validation.ts b/webview-ui/src/utils/command-validation.ts index 1243cd1ee2..1dbc722943 100644 --- a/webview-ui/src/utils/command-validation.ts +++ b/webview-ui/src/utils/command-validation.ts @@ -76,6 +76,10 @@ export function parseCommand(command: string): string[] { const subshells: string[] = [] const quotes: string[] = [] const arrayIndexing: string[] = [] + const arithmeticExpressions: string[] = [] + const variables: string[] = [] + const parameterExpansions: string[] = [] + const processSubstitutions: string[] = [] // First handle PowerShell redirections by temporarily replacing them let processedCommand = command.replace(/\d*>&\d*/g, (match) => { @@ -83,10 +87,37 @@ export function parseCommand(command: string): string[] { return `__REDIR_${redirections.length - 1}__` }) - // Handle array indexing expressions: ${array[...]} pattern and partial expressions - processedCommand = processedCommand.replace(/\$\{[^}]*\[[^\]]*(\]([^}]*\})?)?/g, (match) => { - arrayIndexing.push(match) - return `__ARRAY_${arrayIndexing.length - 1}__` + // Handle arithmetic expressions: $((...)) pattern + // Match the entire arithmetic expression including nested parentheses + processedCommand = processedCommand.replace(/\$\(\([^)]*(?:\)[^)]*)*\)\)/g, (match) => { + arithmeticExpressions.push(match) + return `__ARITH_${arithmeticExpressions.length - 1}__` + }) + + // Handle parameter expansions: ${...} patterns (including array indexing) + // This covers ${var}, ${var:-default}, ${var:+alt}, ${#var}, ${var%pattern}, etc. + processedCommand = processedCommand.replace(/\$\{[^}]+\}/g, (match) => { + parameterExpansions.push(match) + return `__PARAM_${parameterExpansions.length - 1}__` + }) + + // Handle process substitutions: <(...) and >(...) + processedCommand = processedCommand.replace(/[<>]\([^)]+\)/g, (match) => { + processSubstitutions.push(match) + return `__PROCSUB_${processSubstitutions.length - 1}__` + }) + + // Handle simple variable references: $varname pattern + // This prevents shell-quote from splitting $count into separate tokens + processedCommand = processedCommand.replace(/\$[a-zA-Z_][a-zA-Z0-9_]*/g, (match) => { + variables.push(match) + return `__VAR_${variables.length - 1}__` + }) + + // Handle special bash variables: $?, $!, $#, $$, $@, $*, $-, $0-$9 + processedCommand = processedCommand.replace(/\$[?!#$@*\-0-9]/g, (match) => { + variables.push(match) + return `__VAR_${variables.length - 1}__` }) // Then handle subshell commands @@ -106,7 +137,40 @@ export function parseCommand(command: string): string[] { return `__QUOTE_${quotes.length - 1}__` }) - const tokens = parse(processedCommand) as ShellToken[] + let tokens: ShellToken[] + try { + tokens = parse(processedCommand) as ShellToken[] + } catch (error: any) { + // If shell-quote fails to parse, fall back to simple splitting + console.warn("shell-quote parse error:", error.message, "for command:", processedCommand) + + // Simple fallback: split by common operators + const fallbackCommands = processedCommand + .split(/(?:&&|\|\||;|\|)/) + .map((cmd) => cmd.trim()) + .filter((cmd) => cmd.length > 0) + + // Restore all placeholders for each command + return fallbackCommands.map((cmd) => { + let result = cmd + // Restore quotes + result = result.replace(/__QUOTE_(\d+)__/g, (_, i) => quotes[parseInt(i)]) + // Restore redirections + result = result.replace(/__REDIR_(\d+)__/g, (_, i) => redirections[parseInt(i)]) + // Restore array indexing expressions + result = result.replace(/__ARRAY_(\d+)__/g, (_, i) => arrayIndexing[parseInt(i)]) + // Restore arithmetic expressions + result = result.replace(/__ARITH_(\d+)__/g, (_, i) => arithmeticExpressions[parseInt(i)]) + // Restore parameter expansions + result = result.replace(/__PARAM_(\d+)__/g, (_, i) => parameterExpansions[parseInt(i)]) + // Restore process substitutions + result = result.replace(/__PROCSUB_(\d+)__/g, (_, i) => processSubstitutions[parseInt(i)]) + // Restore variable references + result = result.replace(/__VAR_(\d+)__/g, (_, i) => variables[parseInt(i)]) + return result + }) + } + const commands: string[] = [] let currentCommand: string[] = [] @@ -151,6 +215,14 @@ export function parseCommand(command: string): string[] { result = result.replace(/__REDIR_(\d+)__/g, (_, i) => redirections[parseInt(i)]) // Restore array indexing expressions result = result.replace(/__ARRAY_(\d+)__/g, (_, i) => arrayIndexing[parseInt(i)]) + // Restore arithmetic expressions + result = result.replace(/__ARITH_(\d+)__/g, (_, i) => arithmeticExpressions[parseInt(i)]) + // Restore parameter expansions + result = result.replace(/__PARAM_(\d+)__/g, (_, i) => parameterExpansions[parseInt(i)]) + // Restore process substitutions + result = result.replace(/__PROCSUB_(\d+)__/g, (_, i) => processSubstitutions[parseInt(i)]) + // Restore variable references + result = result.replace(/__VAR_(\d+)__/g, (_, i) => variables[parseInt(i)]) return result }) } From 3e89b06f25d60811e85d336cb3123c8fba7d3b2a Mon Sep 17 00:00:00 2001 From: KJ7LNW <93454819+KJ7LNW@users.noreply.github.com> Date: Wed, 23 Jul 2025 05:45:35 -0700 Subject: [PATCH 03/25] debug: Add ErrorBoundary component for better error handling (#5085) Co-authored-by: Eric Wheeler --- pnpm-lock.yaml | 14 ++ src/.vscodeignore | 2 +- src/core/webview/ClineProvider.ts | 4 +- .../webview/__tests__/ClineProvider.spec.ts | 4 +- src/esbuild.mjs | 2 +- webview-ui/package.json | 2 + webview-ui/src/App.tsx | 36 +++- webview-ui/src/__tests__/App.spec.tsx | 84 ++++++++ .../src/__tests__/ErrorBoundary.spec.tsx | 88 ++++++++ webview-ui/src/components/ErrorBoundary.tsx | 98 +++++++++ .../__tests__/ErrorBoundary.spec.tsx | 97 +++++++++ webview-ui/src/components/settings/About.tsx | 32 ++- webview-ui/src/i18n/locales/ca/common.json | 8 + webview-ui/src/i18n/locales/de/common.json | 8 + webview-ui/src/i18n/locales/en/common.json | 8 + webview-ui/src/i18n/locales/es/common.json | 8 + webview-ui/src/i18n/locales/fr/common.json | 8 + webview-ui/src/i18n/locales/hi/common.json | 8 + webview-ui/src/i18n/locales/id/common.json | 8 + webview-ui/src/i18n/locales/it/common.json | 8 + webview-ui/src/i18n/locales/ja/common.json | 8 + webview-ui/src/i18n/locales/ko/common.json | 8 + webview-ui/src/i18n/locales/nl/common.json | 8 + webview-ui/src/i18n/locales/pl/common.json | 8 + webview-ui/src/i18n/locales/pt-BR/common.json | 8 + webview-ui/src/i18n/locales/ru/common.json | 8 + webview-ui/src/i18n/locales/tr/common.json | 8 + webview-ui/src/i18n/locales/vi/common.json | 8 + webview-ui/src/i18n/locales/zh-CN/common.json | 8 + webview-ui/src/i18n/locales/zh-TW/common.json | 8 + .../utils/__tests__/sourceMapUtils.spec.ts | 88 ++++++++ webview-ui/src/utils/sourceMapInitializer.ts | 180 +++++++++++++++++ webview-ui/src/utils/sourceMapUtils.ts | 190 ++++++++++++++++++ .../src/vite-plugins/sourcemapPlugin.ts | 116 +++++++++++ webview-ui/vite.config.ts | 10 +- 35 files changed, 1175 insertions(+), 16 deletions(-) create mode 100644 webview-ui/src/__tests__/ErrorBoundary.spec.tsx create mode 100644 webview-ui/src/components/ErrorBoundary.tsx create mode 100644 webview-ui/src/components/__tests__/ErrorBoundary.spec.tsx create mode 100644 webview-ui/src/utils/__tests__/sourceMapUtils.spec.ts create mode 100644 webview-ui/src/utils/sourceMapInitializer.ts create mode 100644 webview-ui/src/utils/sourceMapUtils.ts create mode 100644 webview-ui/src/vite-plugins/sourcemapPlugin.ts diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5030055fea..0b94b47a1e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1036,6 +1036,9 @@ importers: source-map: specifier: ^0.7.4 version: 0.7.4 + stacktrace-js: + specifier: ^2.0.2 + version: 2.0.2 styled-components: specifier: ^6.1.13 version: 6.1.18(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -1097,6 +1100,9 @@ importers: '@types/shell-quote': specifier: ^1.7.5 version: 1.7.5 + '@types/stacktrace-js': + specifier: ^2.0.3 + version: 2.0.3 '@types/vscode-webview': specifier: ^1.57.5 version: 1.57.5 @@ -3888,6 +3894,10 @@ packages: '@types/stack-utils@2.0.3': resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + '@types/stacktrace-js@2.0.3': + resolution: {integrity: sha512-B6JnMic4NAZ4mLWmRi4RvayCN2HZQvpcVF0MkoqubtuZx1AQB0/kRlrngGiocEPyO7R+TFocTEoLKQ0HzmEOPw==} + deprecated: This is a stub types definition. stacktrace-js provides its own type definitions, so you do not need this installed. + '@types/stream-chain@2.1.0': resolution: {integrity: sha512-guDyAl6s/CAzXUOWpGK2bHvdiopLIwpGu8v10+lb9hnQOyo4oj/ZUQFOvqFjKGsE3wJP1fpIesCcMvbXuWsqOg==} @@ -13090,6 +13100,10 @@ snapshots: '@types/stack-utils@2.0.3': {} + '@types/stacktrace-js@2.0.3': + dependencies: + stacktrace-js: 2.0.2 + '@types/stream-chain@2.1.0': dependencies: '@types/node': 20.19.1 diff --git a/src/.vscodeignore b/src/.vscodeignore index 8eed90df07..9695b185a6 100644 --- a/src/.vscodeignore +++ b/src/.vscodeignore @@ -14,7 +14,7 @@ !dist # Include the built webview -**/*.map +!**/*.map !webview-ui/audio !webview-ui/build/assets/*.js !webview-ui/build/assets/*.ttf diff --git a/src/core/webview/ClineProvider.ts b/src/core/webview/ClineProvider.ts index 6231f08167..96d42ec3d1 100644 --- a/src/core/webview/ClineProvider.ts +++ b/src/core/webview/ClineProvider.ts @@ -682,7 +682,7 @@ export class ClineProvider `img-src ${webview.cspSource} https://storage.googleapis.com https://img.clerk.com data:`, `media-src ${webview.cspSource}`, `script-src 'unsafe-eval' ${webview.cspSource} https://* https://*.posthog.com http://${localServerUrl} http://0.0.0.0:${localPort} 'nonce-${nonce}'`, - `connect-src https://* https://*.posthog.com ws://${localServerUrl} ws://0.0.0.0:${localPort} http://${localServerUrl} http://0.0.0.0:${localPort}`, + `connect-src ${webview.cspSource} https://* https://*.posthog.com ws://${localServerUrl} ws://0.0.0.0:${localPort} http://${localServerUrl} http://0.0.0.0:${localPort}`, ] return /*html*/ ` @@ -764,7 +764,7 @@ export class ClineProvider - +
From 7f70145cb122f2b6983d9fd3f413f7942cf2adfa Mon Sep 17 00:00:00 2001 From: Chris Estreich Date: Thu, 24 Jul 2025 19:13:40 -0700 Subject: [PATCH 20/25] Expose default modes in @roo-code/types (#6184) --- packages/types/npm/package.json | 2 +- packages/types/src/mode.ts | 65 +++++++++++++++++++++++++++ src/shared/modes.ts | 79 +++++---------------------------- 3 files changed, 76 insertions(+), 70 deletions(-) diff --git a/packages/types/npm/package.json b/packages/types/npm/package.json index 7f364e3d4f..95461be5cc 100644 --- a/packages/types/npm/package.json +++ b/packages/types/npm/package.json @@ -1,6 +1,6 @@ { "name": "@roo-code/types", - "version": "1.36.0", + "version": "1.37.0", "description": "TypeScript type definitions for Roo Code.", "publishConfig": { "access": "public", diff --git a/packages/types/src/mode.ts b/packages/types/src/mode.ts index 175ec095fc..88dcbb9574 100644 --- a/packages/types/src/mode.ts +++ b/packages/types/src/mode.ts @@ -128,3 +128,68 @@ export type CustomModePrompts = z.infer export const customSupportPromptsSchema = z.record(z.string(), z.string().optional()) export type CustomSupportPrompts = z.infer + +/** + * DEFAULT_MODES + */ + +export const DEFAULT_MODES: readonly ModeConfig[] = [ + { + slug: "architect", + name: "🏗️ Architect", + roleDefinition: + "You are Roo, an experienced technical leader who is inquisitive and an excellent planner. Your goal is to gather information and get context to create a detailed plan for accomplishing the user's task, which the user will review and approve before they switch into another mode to implement the solution.", + whenToUse: + "Use this mode when you need to plan, design, or strategize before implementation. Perfect for breaking down complex problems, creating technical specifications, designing system architecture, or brainstorming solutions before coding.", + description: "Plan and design before implementation", + groups: ["read", ["edit", { fileRegex: "\\.md$", description: "Markdown files only" }], "browser", "mcp"], + customInstructions: + "1. Do some information gathering (using provided tools) to get more context about the task.\n\n2. You should also ask the user clarifying questions to get a better understanding of the task.\n\n3. Once you've gained more context about the user's request, break down the task into clear, actionable steps and create a todo list using the `update_todo_list` tool. Each todo item should be:\n - Specific and actionable\n - Listed in logical execution order\n - Focused on a single, well-defined outcome\n - Clear enough that another mode could execute it independently\n\n **Note:** If the `update_todo_list` tool is not available, write the plan to a markdown file (e.g., `plan.md` or `todo.md`) instead.\n\n4. As you gather more information or discover new requirements, update the todo list to reflect the current understanding of what needs to be accomplished.\n\n5. Ask the user if they are pleased with this plan, or if they would like to make any changes. Think of this as a brainstorming session where you can discuss the task and refine the todo list.\n\n6. Include Mermaid diagrams if they help clarify complex workflows or system architecture. Please avoid using double quotes (\"\") and parentheses () inside square brackets ([]) in Mermaid diagrams, as this can cause parsing errors.\n\n7. Use the switch_mode tool to request that the user switch to another mode to implement the solution.\n\n**IMPORTANT: Focus on creating clear, actionable todo lists rather than lengthy markdown documents. Use the todo list as your primary planning tool to track and organize the work that needs to be done.**", + }, + { + slug: "code", + name: "💻 Code", + roleDefinition: + "You are Roo, a highly skilled software engineer with extensive knowledge in many programming languages, frameworks, design patterns, and best practices.", + whenToUse: + "Use this mode when you need to write, modify, or refactor code. Ideal for implementing features, fixing bugs, creating new files, or making code improvements across any programming language or framework.", + description: "Write, modify, and refactor code", + groups: ["read", "edit", "browser", "command", "mcp"], + }, + { + slug: "ask", + name: "❓ Ask", + roleDefinition: + "You are Roo, a knowledgeable technical assistant focused on answering questions and providing information about software development, technology, and related topics.", + whenToUse: + "Use this mode when you need explanations, documentation, or answers to technical questions. Best for understanding concepts, analyzing existing code, getting recommendations, or learning about technologies without making changes.", + description: "Get answers and explanations", + groups: ["read", "browser", "mcp"], + customInstructions: + "You can analyze code, explain concepts, and access external resources. Always answer the user's questions thoroughly, and do not switch to implementing code unless explicitly requested by the user. Include Mermaid diagrams when they clarify your response.", + }, + { + slug: "debug", + name: "🪲 Debug", + roleDefinition: + "You are Roo, an expert software debugger specializing in systematic problem diagnosis and resolution.", + whenToUse: + "Use this mode when you're troubleshooting issues, investigating errors, or diagnosing problems. Specialized in systematic debugging, adding logging, analyzing stack traces, and identifying root causes before applying fixes.", + description: "Diagnose and fix software issues", + groups: ["read", "edit", "browser", "command", "mcp"], + customInstructions: + "Reflect on 5-7 different possible sources of the problem, distill those down to 1-2 most likely sources, and then add logs to validate your assumptions. Explicitly ask the user to confirm the diagnosis before fixing the problem.", + }, + { + slug: "orchestrator", + name: "🪃 Orchestrator", + roleDefinition: + "You are Roo, a strategic workflow orchestrator who coordinates complex tasks by delegating them to appropriate specialized modes. You have a comprehensive understanding of each mode's capabilities and limitations, allowing you to effectively break down complex problems into discrete tasks that can be solved by different specialists.", + whenToUse: + "Use this mode for complex, multi-step projects that require coordination across different specialties. Ideal when you need to break down large tasks into subtasks, manage workflows, or coordinate work that spans multiple domains or expertise areas.", + description: "Coordinate tasks across multiple modes", + groups: [], + customInstructions: + "Your role is to coordinate complex workflows by delegating tasks to specialized modes. As an orchestrator, you should:\n\n1. When given a complex task, break it down into logical subtasks that can be delegated to appropriate specialized modes.\n\n2. For each subtask, use the `new_task` tool to delegate. Choose the most appropriate mode for the subtask's specific goal and provide comprehensive instructions in the `message` parameter. These instructions must include:\n * All necessary context from the parent task or previous subtasks required to complete the work.\n * A clearly defined scope, specifying exactly what the subtask should accomplish.\n * An explicit statement that the subtask should *only* perform the work outlined in these instructions and not deviate.\n * An instruction for the subtask to signal completion by using the `attempt_completion` tool, providing a concise yet thorough summary of the outcome in the `result` parameter, keeping in mind that this summary will be the source of truth used to keep track of what was completed on this project.\n * A statement that these specific instructions supersede any conflicting general instructions the subtask's mode might have.\n\n3. Track and manage the progress of all subtasks. When a subtask is completed, analyze its results and determine the next steps.\n\n4. Help the user understand how the different subtasks fit together in the overall workflow. Provide clear reasoning about why you're delegating specific tasks to specific modes.\n\n5. When all subtasks are completed, synthesize the results and provide a comprehensive overview of what was accomplished.\n\n6. Ask clarifying questions when necessary to better understand how to break down complex tasks effectively.\n\n7. Suggest improvements to the workflow based on the results of completed subtasks.\n\nUse subtasks to maintain clarity. If a request significantly shifts focus or requires a different expertise (mode), consider creating a subtask rather than overloading the current one.", + }, +] as const diff --git a/src/shared/modes.ts b/src/shared/modes.ts index 168f4ff867..f68d25c682 100644 --- a/src/shared/modes.ts +++ b/src/shared/modes.ts @@ -1,13 +1,14 @@ import * as vscode from "vscode" -import type { - GroupOptions, - GroupEntry, - ModeConfig, - CustomModePrompts, - ExperimentId, - ToolGroup, - PromptComponent, +import { + type GroupOptions, + type GroupEntry, + type ModeConfig, + type CustomModePrompts, + type ExperimentId, + type ToolGroup, + type PromptComponent, + DEFAULT_MODES, } from "@roo-code/types" import { addCustomInstructions } from "../core/prompts/sections/custom-instructions" @@ -60,67 +61,7 @@ export function getToolsForMode(groups: readonly GroupEntry[]): string[] { } // Main modes configuration as an ordered array -// Note: The first mode in this array is the default mode for new installations -export const modes: readonly ModeConfig[] = [ - { - slug: "architect", - name: "🏗️ Architect", - roleDefinition: - "You are Roo, an experienced technical leader who is inquisitive and an excellent planner. Your goal is to gather information and get context to create a detailed plan for accomplishing the user's task, which the user will review and approve before they switch into another mode to implement the solution.", - whenToUse: - "Use this mode when you need to plan, design, or strategize before implementation. Perfect for breaking down complex problems, creating technical specifications, designing system architecture, or brainstorming solutions before coding.", - description: "Plan and design before implementation", - groups: ["read", ["edit", { fileRegex: "\\.md$", description: "Markdown files only" }], "browser", "mcp"], - customInstructions: - "1. Do some information gathering (using provided tools) to get more context about the task.\n\n2. You should also ask the user clarifying questions to get a better understanding of the task.\n\n3. Once you've gained more context about the user's request, break down the task into clear, actionable steps and create a todo list using the `update_todo_list` tool. Each todo item should be:\n - Specific and actionable\n - Listed in logical execution order\n - Focused on a single, well-defined outcome\n - Clear enough that another mode could execute it independently\n\n **Note:** If the `update_todo_list` tool is not available, write the plan to a markdown file (e.g., `plan.md` or `todo.md`) instead.\n\n4. As you gather more information or discover new requirements, update the todo list to reflect the current understanding of what needs to be accomplished.\n\n5. Ask the user if they are pleased with this plan, or if they would like to make any changes. Think of this as a brainstorming session where you can discuss the task and refine the todo list.\n\n6. Include Mermaid diagrams if they help clarify complex workflows or system architecture. Please avoid using double quotes (\"\") and parentheses () inside square brackets ([]) in Mermaid diagrams, as this can cause parsing errors.\n\n7. Use the switch_mode tool to request that the user switch to another mode to implement the solution.\n\n**IMPORTANT: Focus on creating clear, actionable todo lists rather than lengthy markdown documents. Use the todo list as your primary planning tool to track and organize the work that needs to be done.**", - }, - { - slug: "code", - name: "💻 Code", - roleDefinition: - "You are Roo, a highly skilled software engineer with extensive knowledge in many programming languages, frameworks, design patterns, and best practices.", - whenToUse: - "Use this mode when you need to write, modify, or refactor code. Ideal for implementing features, fixing bugs, creating new files, or making code improvements across any programming language or framework.", - description: "Write, modify, and refactor code", - groups: ["read", "edit", "browser", "command", "mcp"], - }, - { - slug: "ask", - name: "❓ Ask", - roleDefinition: - "You are Roo, a knowledgeable technical assistant focused on answering questions and providing information about software development, technology, and related topics.", - whenToUse: - "Use this mode when you need explanations, documentation, or answers to technical questions. Best for understanding concepts, analyzing existing code, getting recommendations, or learning about technologies without making changes.", - description: "Get answers and explanations", - groups: ["read", "browser", "mcp"], - customInstructions: - "You can analyze code, explain concepts, and access external resources. Always answer the user's questions thoroughly, and do not switch to implementing code unless explicitly requested by the user. Include Mermaid diagrams when they clarify your response.", - }, - { - slug: "debug", - name: "🪲 Debug", - roleDefinition: - "You are Roo, an expert software debugger specializing in systematic problem diagnosis and resolution.", - whenToUse: - "Use this mode when you're troubleshooting issues, investigating errors, or diagnosing problems. Specialized in systematic debugging, adding logging, analyzing stack traces, and identifying root causes before applying fixes.", - description: "Diagnose and fix software issues", - groups: ["read", "edit", "browser", "command", "mcp"], - customInstructions: - "Reflect on 5-7 different possible sources of the problem, distill those down to 1-2 most likely sources, and then add logs to validate your assumptions. Explicitly ask the user to confirm the diagnosis before fixing the problem.", - }, - { - slug: "orchestrator", - name: "🪃 Orchestrator", - roleDefinition: - "You are Roo, a strategic workflow orchestrator who coordinates complex tasks by delegating them to appropriate specialized modes. You have a comprehensive understanding of each mode's capabilities and limitations, allowing you to effectively break down complex problems into discrete tasks that can be solved by different specialists.", - whenToUse: - "Use this mode for complex, multi-step projects that require coordination across different specialties. Ideal when you need to break down large tasks into subtasks, manage workflows, or coordinate work that spans multiple domains or expertise areas.", - description: "Coordinate tasks across multiple modes", - groups: [], - customInstructions: - "Your role is to coordinate complex workflows by delegating tasks to specialized modes. As an orchestrator, you should:\n\n1. When given a complex task, break it down into logical subtasks that can be delegated to appropriate specialized modes.\n\n2. For each subtask, use the `new_task` tool to delegate. Choose the most appropriate mode for the subtask's specific goal and provide comprehensive instructions in the `message` parameter. These instructions must include:\n * All necessary context from the parent task or previous subtasks required to complete the work.\n * A clearly defined scope, specifying exactly what the subtask should accomplish.\n * An explicit statement that the subtask should *only* perform the work outlined in these instructions and not deviate.\n * An instruction for the subtask to signal completion by using the `attempt_completion` tool, providing a concise yet thorough summary of the outcome in the `result` parameter, keeping in mind that this summary will be the source of truth used to keep track of what was completed on this project.\n * A statement that these specific instructions supersede any conflicting general instructions the subtask's mode might have.\n\n3. Track and manage the progress of all subtasks. When a subtask is completed, analyze its results and determine the next steps.\n\n4. Help the user understand how the different subtasks fit together in the overall workflow. Provide clear reasoning about why you're delegating specific tasks to specific modes.\n\n5. When all subtasks are completed, synthesize the results and provide a comprehensive overview of what was accomplished.\n\n6. Ask clarifying questions when necessary to better understand how to break down complex tasks effectively.\n\n7. Suggest improvements to the workflow based on the results of completed subtasks.\n\nUse subtasks to maintain clarity. If a request significantly shifts focus or requires a different expertise (mode), consider creating a subtask rather than overloading the current one.", - }, -] as const +export const modes = DEFAULT_MODES // Export the default mode slug export const defaultModeSlug = modes[0].slug From 02118c5e7f12a559788ab3a172acebaae7bdfa80 Mon Sep 17 00:00:00 2001 From: Matt Rubens Date: Thu, 24 Jul 2025 22:16:43 -0400 Subject: [PATCH 21/25] Add type for allowing org members to view all tasks (#6193) --- packages/types/npm/package.json | 2 +- packages/types/src/cloud.ts | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/types/npm/package.json b/packages/types/npm/package.json index 95461be5cc..e99ffe30c2 100644 --- a/packages/types/npm/package.json +++ b/packages/types/npm/package.json @@ -1,6 +1,6 @@ { "name": "@roo-code/types", - "version": "1.37.0", + "version": "1.39.0", "description": "TypeScript type definitions for Roo Code.", "publishConfig": { "access": "public", diff --git a/packages/types/src/cloud.ts b/packages/types/src/cloud.ts index 75ff0b08b9..6df7292dd5 100644 --- a/packages/types/src/cloud.ts +++ b/packages/types/src/cloud.ts @@ -96,6 +96,7 @@ export const organizationCloudSettingsSchema = z.object({ recordTaskMessages: z.boolean().optional(), enableTaskSharing: z.boolean().optional(), taskShareExpirationDays: z.number().int().positive().optional(), + allowMembersViewAllTasks: z.boolean().optional(), }) export type OrganizationCloudSettings = z.infer @@ -128,6 +129,7 @@ export const ORGANIZATION_DEFAULT: OrganizationSettings = { recordTaskMessages: true, enableTaskSharing: true, taskShareExpirationDays: 30, + allowMembersViewAllTasks: true, }, defaultSettings: {}, allowList: ORGANIZATION_ALLOW_ALL, From 25857a4809c81a91b39e734ce63dd98fcb441ffe Mon Sep 17 00:00:00 2001 From: KJ7LNW <93454819+KJ7LNW@users.noreply.github.com> Date: Thu, 24 Jul 2025 21:40:43 -0700 Subject: [PATCH 22/25] feat: add efficiency warning for single SEARCH/REPLACE blocks in apply_diff (#6055) Co-authored-by: Eric Wheeler Co-authored-by: Daniel Riccio --- src/core/tools/applyDiffTool.ts | 11 +++++++++-- src/core/tools/multiApplyDiffTool.ts | 16 +++++++++++++++- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/src/core/tools/applyDiffTool.ts b/src/core/tools/applyDiffTool.ts index ad4bb0590f..f046ba67d2 100644 --- a/src/core/tools/applyDiffTool.ts +++ b/src/core/tools/applyDiffTool.ts @@ -193,10 +193,17 @@ export async function applyDiffToolLegacy( // Get the formatted response message const message = await cline.diffViewProvider.pushToolWriteResult(cline, cline.cwd, !fileExists) + // Check for single SEARCH/REPLACE block warning + const searchBlocks = (diffContent.match(/<<<<<<< SEARCH/g) || []).length + const singleBlockNotice = + searchBlocks === 1 + ? "\nMaking multiple related changes in a single apply_diff is more efficient. If other changes are needed in this file, please include them as additional SEARCH/REPLACE blocks." + : "" + if (partFailHint) { - pushToolResult(partFailHint + message) + pushToolResult(partFailHint + message + singleBlockNotice) } else { - pushToolResult(message) + pushToolResult(message + singleBlockNotice) } await cline.diffViewProvider.reset() diff --git a/src/core/tools/multiApplyDiffTool.ts b/src/core/tools/multiApplyDiffTool.ts index 4ddef4880b..ec8c77a63b 100644 --- a/src/core/tools/multiApplyDiffTool.ts +++ b/src/core/tools/multiApplyDiffTool.ts @@ -601,8 +601,22 @@ ${errorDetails ? `\nTechnical details:\n${errorDetails}\n` : ""} await cline.say("diff_error", allDiffErrors.join("\n")) } + // Check for single SEARCH/REPLACE block warning + let totalSearchBlocks = 0 + for (const operation of operations) { + for (const diffItem of operation.diff) { + const searchBlocks = (diffItem.content.match(/<<<<<<< SEARCH/g) || []).length + totalSearchBlocks += searchBlocks + } + } + + const singleBlockNotice = + totalSearchBlocks === 1 + ? "\nMaking multiple related changes in a single apply_diff is more efficient. If other changes are needed in this file, please include them as additional SEARCH/REPLACE blocks." + : "" + // Push the final result combining all operation results - pushToolResult(results.join("\n\n")) + pushToolResult(results.join("\n\n") + singleBlockNotice) return } catch (error) { await handleError("applying diff", error) From d54e3fcdfc730b66b7409944d34cfa52e109fc64 Mon Sep 17 00:00:00 2001 From: KJ7LNW <93454819+KJ7LNW@users.noreply.github.com> Date: Thu, 24 Jul 2025 21:41:12 -0700 Subject: [PATCH 23/25] fix: allow auto-approve checkbox to be toggled at any time (#6061) Co-authored-by: Eric Wheeler Co-authored-by: Daniel Riccio --- webview-ui/src/components/chat/AutoApproveMenu.tsx | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/webview-ui/src/components/chat/AutoApproveMenu.tsx b/webview-ui/src/components/chat/AutoApproveMenu.tsx index 2e987b7c49..0feafae15d 100644 --- a/webview-ui/src/components/chat/AutoApproveMenu.tsx +++ b/webview-ui/src/components/chat/AutoApproveMenu.tsx @@ -1,4 +1,4 @@ -import { useCallback, useMemo, useState } from "react" +import { memo, useCallback, useMemo, useState } from "react" import { Trans } from "react-i18next" import { VSCodeCheckbox, VSCodeLink, VSCodeTextField } from "@vscode/webview-ui-toolkit/react" @@ -129,11 +129,6 @@ const AutoApproveMenu = ({ style }: AutoApproveMenuProps) => { setIsExpanded((prev) => !prev) }, []) - // Disable main checkbox while menu is open or no options selected - const isCheckboxDisabled = useMemo(() => { - return !hasEnabledOptions || isExpanded - }, [hasEnabledOptions, isExpanded]) - const enabledActionsList = Object.entries(toggles) .filter(([_key, value]) => !!value) .map(([key]) => t(autoApproveSettingsConfig[key as AutoApproveSetting].labelKey)) @@ -178,7 +173,7 @@ const AutoApproveMenu = ({ style }: AutoApproveMenuProps) => { content={!hasEnabledOptions ? t("chat:autoApprove.selectOptionsFirst") : undefined}> { ) } -export default AutoApproveMenu +export default memo(AutoApproveMenu) From b1406342a86ab2f50e1df0162e7f9d56f17529bd Mon Sep 17 00:00:00 2001 From: Nahim EL ATMANI Date: Thu, 24 Jul 2025 21:41:35 -0700 Subject: [PATCH 24/25] Fix Ollama API URL normalization by removing trailing slashes (#6079) Co-authored-by: Nahim El Atmani <2959826+Naam@users.noreply.github.com> --- .../embedders/__tests__/ollama.spec.ts | 84 +++++++++++++++++++ src/services/code-index/embedders/ollama.ts | 7 +- 2 files changed, 90 insertions(+), 1 deletion(-) diff --git a/src/services/code-index/embedders/__tests__/ollama.spec.ts b/src/services/code-index/embedders/__tests__/ollama.spec.ts index ad95a18a3a..253158dd50 100644 --- a/src/services/code-index/embedders/__tests__/ollama.spec.ts +++ b/src/services/code-index/embedders/__tests__/ollama.spec.ts @@ -80,6 +80,90 @@ describe("CodeIndexOllamaEmbedder", () => { const embedderWithDefaults = new CodeIndexOllamaEmbedder({}) expect(embedderWithDefaults.embedderInfo.name).toBe("ollama") }) + + it("should normalize URLs with trailing slashes", async () => { + // Create embedder with URL that has a trailing slash + const embedderWithTrailingSlash = new CodeIndexOllamaEmbedder({ + ollamaBaseUrl: "http://localhost:11434/", + ollamaModelId: "nomic-embed-text", + }) + + // Mock successful /api/tags call to test the normalized URL + mockFetch.mockImplementationOnce(() => + Promise.resolve({ + ok: true, + status: 200, + json: () => Promise.resolve({ models: [{ name: "nomic-embed-text" }] }), + } as Response), + ) + + // Call a method that uses the baseUrl + await embedderWithTrailingSlash.validateConfiguration() + + // Verify the URL used in the fetch call doesn't have a trailing slash + expect(mockFetch).toHaveBeenCalledWith( + "http://localhost:11434/api/tags", + expect.objectContaining({ + method: "GET", + }), + ) + }) + + it("should not modify URLs without trailing slashes", async () => { + // Create embedder with URL that doesn't have a trailing slash + const embedderWithoutTrailingSlash = new CodeIndexOllamaEmbedder({ + ollamaBaseUrl: "http://localhost:11434", + ollamaModelId: "nomic-embed-text", + }) + + // Mock successful /api/tags call + mockFetch.mockImplementationOnce(() => + Promise.resolve({ + ok: true, + status: 200, + json: () => Promise.resolve({ models: [{ name: "nomic-embed-text" }] }), + } as Response), + ) + + // Call a method that uses the baseUrl + await embedderWithoutTrailingSlash.validateConfiguration() + + // Verify the URL used in the fetch call is correct + expect(mockFetch).toHaveBeenCalledWith( + "http://localhost:11434/api/tags", + expect.objectContaining({ + method: "GET", + }), + ) + }) + + it("should handle multiple trailing slashes", async () => { + // Create embedder with URL that has multiple trailing slashes + const embedderWithMultipleTrailingSlashes = new CodeIndexOllamaEmbedder({ + ollamaBaseUrl: "http://localhost:11434///", + ollamaModelId: "nomic-embed-text", + }) + + // Mock successful /api/tags call + mockFetch.mockImplementationOnce(() => + Promise.resolve({ + ok: true, + status: 200, + json: () => Promise.resolve({ models: [{ name: "nomic-embed-text" }] }), + } as Response), + ) + + // Call a method that uses the baseUrl + await embedderWithMultipleTrailingSlashes.validateConfiguration() + + // Verify the URL used in the fetch call doesn't have trailing slashes + expect(mockFetch).toHaveBeenCalledWith( + "http://localhost:11434/api/tags", + expect.objectContaining({ + method: "GET", + }), + ) + }) }) describe("validateConfiguration", () => { diff --git a/src/services/code-index/embedders/ollama.ts b/src/services/code-index/embedders/ollama.ts index c160d39490..9688a15ff0 100644 --- a/src/services/code-index/embedders/ollama.ts +++ b/src/services/code-index/embedders/ollama.ts @@ -20,7 +20,12 @@ export class CodeIndexOllamaEmbedder implements IEmbedder { constructor(options: ApiHandlerOptions) { // Ensure ollamaBaseUrl and ollamaModelId exist on ApiHandlerOptions or add defaults - this.baseUrl = options.ollamaBaseUrl || "http://localhost:11434" + let baseUrl = options.ollamaBaseUrl || "http://localhost:11434" + + // Normalize the baseUrl by removing all trailing slashes + baseUrl = baseUrl.replace(/\/+$/, "") + + this.baseUrl = baseUrl this.defaultModelId = options.ollamaModelId || "nomic-embed-text:latest" } From d62a2605765842eb96e17cc1dbeae8845c07f01b Mon Sep 17 00:00:00 2001 From: John Richmond <5629+jr@users.noreply.github.com> Date: Thu, 24 Jul 2025 22:04:49 -0700 Subject: [PATCH 25/25] Add support for bedrock api keys (#6132) Co-authored-by: Roo Code --- packages/types/src/global-settings.ts | 1 + packages/types/src/provider-settings.ts | 2 + packages/types/src/providers/bedrock.ts | 4 +- pnpm-lock.yaml | 1147 +++++++++-------- .../bedrock-inference-profiles.spec.ts | 2 +- .../__tests__/bedrock-reasoning.spec.ts | 46 + .../__tests__/bedrock-vpc-endpoint.spec.ts | 2 +- src/api/providers/bedrock.ts | 20 +- src/package.json | 4 +- .../components/settings/providers/Bedrock.tsx | 54 +- .../providers/__tests__/Bedrock.spec.tsx | 136 +- webview-ui/src/i18n/locales/ca/settings.json | 1 + webview-ui/src/i18n/locales/de/settings.json | 1 + webview-ui/src/i18n/locales/en/settings.json | 1 + webview-ui/src/i18n/locales/es/settings.json | 1 + webview-ui/src/i18n/locales/fr/settings.json | 1 + webview-ui/src/i18n/locales/hi/settings.json | 3 +- webview-ui/src/i18n/locales/id/settings.json | 1 + webview-ui/src/i18n/locales/it/settings.json | 1 + webview-ui/src/i18n/locales/ja/settings.json | 1 + webview-ui/src/i18n/locales/ko/settings.json | 1 + webview-ui/src/i18n/locales/nl/settings.json | 1 + webview-ui/src/i18n/locales/pl/settings.json | 1 + .../src/i18n/locales/pt-BR/settings.json | 1 + webview-ui/src/i18n/locales/ru/settings.json | 1 + webview-ui/src/i18n/locales/tr/settings.json | 1 + webview-ui/src/i18n/locales/vi/settings.json | 1 + .../src/i18n/locales/zh-CN/settings.json | 1 + .../src/i18n/locales/zh-TW/settings.json | 1 + 29 files changed, 858 insertions(+), 580 deletions(-) diff --git a/packages/types/src/global-settings.ts b/packages/types/src/global-settings.ts index a7732f8026..d5e76eccea 100644 --- a/packages/types/src/global-settings.ts +++ b/packages/types/src/global-settings.ts @@ -164,6 +164,7 @@ export const SECRET_STATE_KEYS = [ "glamaApiKey", "openRouterApiKey", "awsAccessKey", + "awsApiKey", "awsSecretKey", "awsSessionToken", "openAiApiKey", diff --git a/packages/types/src/provider-settings.ts b/packages/types/src/provider-settings.ts index ea7089a81e..682514b0fa 100644 --- a/packages/types/src/provider-settings.ts +++ b/packages/types/src/provider-settings.ts @@ -114,6 +114,8 @@ const bedrockSchema = apiModelIdProviderModelSchema.extend({ awsUsePromptCache: z.boolean().optional(), awsProfile: z.string().optional(), awsUseProfile: z.boolean().optional(), + awsApiKey: z.string().optional(), + awsUseApiKey: z.boolean().optional(), awsCustomArn: z.string().optional(), awsModelContextWindow: z.number().optional(), awsBedrockEndpointEnabled: z.boolean().optional(), diff --git a/packages/types/src/providers/bedrock.ts b/packages/types/src/providers/bedrock.ts index 58e860dd94..9c1f349334 100644 --- a/packages/types/src/providers/bedrock.ts +++ b/packages/types/src/providers/bedrock.ts @@ -360,7 +360,7 @@ export const BEDROCK_MAX_TOKENS = 4096 export const BEDROCK_DEFAULT_CONTEXT = 128_000 -// AWS Bedrock Inference Profile mapping based on official documentation +// Amazon Bedrock Inference Profile mapping based on official documentation // https://docs.aws.amazon.com/bedrock/latest/userguide/inference-profiles-support.html // This mapping is pre-ordered by pattern length (descending) to ensure more specific patterns match first export const AWS_INFERENCE_PROFILE_MAPPING: Array<[string, string]> = [ @@ -378,7 +378,7 @@ export const AWS_INFERENCE_PROFILE_MAPPING: Array<[string, string]> = [ ["sa-", "sa."], ] -// AWS Bedrock supported regions for the regions dropdown +// Amazon Bedrock supported regions for the regions dropdown // Based on official AWS documentation export const BEDROCK_REGIONS = [ { value: "us-east-1", label: "us-east-1" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0b94b47a1e..14e33596d1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -568,11 +568,11 @@ importers: specifier: ^0.7.0 version: 0.7.0 '@aws-sdk/client-bedrock-runtime': - specifier: ^3.779.0 - version: 3.817.0 + specifier: ^3.848.0 + version: 3.848.0 '@aws-sdk/credential-providers': - specifier: ^3.806.0 - version: 3.817.0 + specifier: ^3.848.0 + version: 3.848.0 '@google/genai': specifier: ^1.0.0 version: 1.3.0(@modelcontextprotocol/sdk@1.12.0) @@ -1188,111 +1188,123 @@ packages: '@aws-crypto/util@5.2.0': resolution: {integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==} - '@aws-sdk/client-bedrock-runtime@3.817.0': - resolution: {integrity: sha512-fG3QAjIEq7P0a134E2P8r4qw/V6rL0X5voUPIcXte1oNKUXUjNXJb21N/NGmcDLCUVWvYXb24dD0YXyQ2kwZdA==} + '@aws-sdk/client-bedrock-runtime@3.848.0': + resolution: {integrity: sha512-oWXy0eLanklzZLz6TQwcxxnwqYFjdDCHnKkdMWLOHSPgPJVZxqGfr1KD72XHwg9386+vxInZ0VYIggs0cut/Hw==} engines: {node: '>=18.0.0'} - '@aws-sdk/client-cognito-identity@3.817.0': - resolution: {integrity: sha512-MNGwOJDQU0jpvsLLPSuPQDhPtDzFTc/k7rLmiKoPrIlgb3Y8pSF4crpJ+ZH3+xod2NWyyOVMEMQeMaKFFdMaKw==} + '@aws-sdk/client-cognito-identity@3.848.0': + resolution: {integrity: sha512-Sin8aLnA81MgvUJrfQsBIQ1UJg4klWT3NuYYjExLiVQf3A0/F7Bfx1HTIyWXtSchY4QgGr7MMone0/0KZ4Dy9g==} engines: {node: '>=18.0.0'} - '@aws-sdk/client-sso@3.817.0': - resolution: {integrity: sha512-fCh5rUHmWmWDvw70NNoWpE5+BRdtNi45kDnIoeoszqVg7UKF79SlG+qYooUT52HKCgDNHqgbWaXxMOSqd2I/OQ==} + '@aws-sdk/client-sso@3.848.0': + resolution: {integrity: sha512-mD+gOwoeZQvbecVLGoCmY6pS7kg02BHesbtIxUj+PeBqYoZV5uLvjUOmuGfw1SfoSobKvS11urxC9S7zxU/Maw==} engines: {node: '>=18.0.0'} - '@aws-sdk/core@3.816.0': - resolution: {integrity: sha512-Lx50wjtyarzKpMFV6V+gjbSZDgsA/71iyifbClGUSiNPoIQ4OCV0KVOmAAj7mQRVvGJqUMWKVM+WzK79CjbjWA==} + '@aws-sdk/core@3.846.0': + resolution: {integrity: sha512-7CX0pM906r4WSS68fCTNMTtBCSkTtf3Wggssmx13gD40gcWEZXsU00KzPp1bYheNRyPlAq3rE22xt4wLPXbuxA==} engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-cognito-identity@3.817.0': - resolution: {integrity: sha512-+dzgWGmdmMNDdeSF+VvONN+hwqoGKX5A6Z3+siMO4CIoKWN7u5nDOx/JLjTGdVQji3522pJjJ+o9veQJNWOMRg==} + '@aws-sdk/credential-provider-cognito-identity@3.848.0': + resolution: {integrity: sha512-2cm/Ye6ktagW1h7FmF4sgo8STZyBr2+0+L9lr/veuPKZVWoi/FyhJR3l0TtKrd8z78no9P5xbsGUmxoDLtsxiw==} engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-env@3.816.0': - resolution: {integrity: sha512-wUJZwRLe+SxPxRV9AENYBLrJZRrNIo+fva7ZzejsC83iz7hdfq6Rv6B/aHEdPwG/nQC4+q7UUvcRPlomyrpsBA==} + '@aws-sdk/credential-provider-env@3.846.0': + resolution: {integrity: sha512-QuCQZET9enja7AWVISY+mpFrEIeHzvkx/JEEbHYzHhUkxcnC2Kq2c0bB7hDihGD0AZd3Xsm653hk1O97qu69zg==} engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-http@3.816.0': - resolution: {integrity: sha512-gcWGzMQ7yRIF+ljTkR8Vzp7727UY6cmeaPrFQrvcFB8PhOqWpf7g0JsgOf5BSaP8CkkSQcTQHc0C5ZYAzUFwPg==} + '@aws-sdk/credential-provider-http@3.846.0': + resolution: {integrity: sha512-Jh1iKUuepdmtreMYozV2ePsPcOF5W9p3U4tWhi3v6nDvz0GsBjzjAROW+BW8XMz9vAD3I9R+8VC3/aq63p5nlw==} engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-ini@3.817.0': - resolution: {integrity: sha512-kyEwbQyuXE+phWVzloMdkFv6qM6NOon+asMXY5W0fhDKwBz9zQLObDRWBrvQX9lmqq8BbDL1sCfZjOh82Y+RFw==} + '@aws-sdk/credential-provider-ini@3.848.0': + resolution: {integrity: sha512-r6KWOG+En2xujuMhgZu7dzOZV3/M5U/5+PXrG8dLQ3rdPRB3vgp5tc56KMqLwm/EXKRzAOSuw/UE4HfNOAB8Hw==} engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-node@3.817.0': - resolution: {integrity: sha512-b5mz7av0Lhavs1Bz3Zb+jrs0Pki93+8XNctnVO0drBW98x1fM4AR38cWvGbM/w9F9Q0/WEH3TinkmrMPrP4T/w==} + '@aws-sdk/credential-provider-node@3.848.0': + resolution: {integrity: sha512-AblNesOqdzrfyASBCo1xW3uweiSro4Kft9/htdxLeCVU1KVOnFWA5P937MNahViRmIQm2sPBCqL8ZG0u9lnh5g==} engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-process@3.816.0': - resolution: {integrity: sha512-9Tm+AxMoV2Izvl5b9tyMQRbBwaex8JP06HN7ZeCXgC5sAsSN+o8dsThnEhf8jKN+uBpT6CLWKN1TXuUMrAmW1A==} + '@aws-sdk/credential-provider-process@3.846.0': + resolution: {integrity: sha512-mEpwDYarJSH+CIXnnHN0QOe0MXI+HuPStD6gsv3z/7Q6ESl8KRWon3weFZCDnqpiJMUVavlDR0PPlAFg2MQoPg==} engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-sso@3.817.0': - resolution: {integrity: sha512-gFUAW3VmGvdnueK1bh6TOcRX+j99Xm0men1+gz3cA4RE+rZGNy1Qjj8YHlv0hPwI9OnTPZquvPzA5fkviGREWg==} + '@aws-sdk/credential-provider-sso@3.848.0': + resolution: {integrity: sha512-pozlDXOwJZL0e7w+dqXLgzVDB7oCx4WvtY0sk6l4i07uFliWF/exupb6pIehFWvTUcOvn5aFTTqcQaEzAD5Wsg==} engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-web-identity@3.817.0': - resolution: {integrity: sha512-A2kgkS9g6NY0OMT2f2EdXHpL17Ym81NhbGnQ8bRXPqESIi7TFypFD2U6osB2VnsFv+MhwM+Ke4PKXSmLun22/A==} + '@aws-sdk/credential-provider-web-identity@3.848.0': + resolution: {integrity: sha512-D1fRpwPxtVDhcSc/D71exa2gYweV+ocp4D3brF0PgFd//JR3XahZ9W24rVnTQwYEcK9auiBZB89Ltv+WbWN8qw==} engines: {node: '>=18.0.0'} - '@aws-sdk/credential-providers@3.817.0': - resolution: {integrity: sha512-i6Q2MyktWHG4YG+EmLlnXTgNVjW9/yeNHSKzF55GTho5fjqfU+t9beJfuMWclanRCifamm3N5e5OCm52rVDdTQ==} + '@aws-sdk/credential-providers@3.848.0': + resolution: {integrity: sha512-lRDuU05YC+r/1JmRULngJQli7scP5hmq0/7D+xw1s8eRM0H2auaH7LQFlq/SLxQZLMkVNPCrmsug3b3KcLj1NA==} engines: {node: '>=18.0.0'} - '@aws-sdk/eventstream-handler-node@3.804.0': - resolution: {integrity: sha512-LZddQVBUCB86tZtLJRhqiDyIqr4hfRxZCcUp1fZSfpBMcf419lgcFRGWMR3J/kCWHQ0G05aor7fSeoeaxskuNQ==} + '@aws-sdk/eventstream-handler-node@3.840.0': + resolution: {integrity: sha512-m/zVrSSAEHq+6h4sy0JUEBScB1pGgs/1+iRVhfzfbnf+/gTr4ut2jRq4tDiNEX9pQ1oFVvw+ntPua5qfquQeRQ==} engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-eventstream@3.804.0': - resolution: {integrity: sha512-3lPxZshOJoKSxIMUq8FCiIre+FZ1g/t+O7DHwOMB6EuzJ8lp5QyUeh1wE5iD/gB8VhWZoj90rGIaWCmT8ccEuA==} + '@aws-sdk/middleware-eventstream@3.840.0': + resolution: {integrity: sha512-4khgf7AjJ4llh3aiNmZ+x4PGl4vkKNxRHn0xTgi6Iw1J3SChsF2mnNaLXK8hoXeydx756rw+JhqOuZH91i5l4w==} engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-host-header@3.804.0': - resolution: {integrity: sha512-bum1hLVBrn2lJCi423Z2fMUYtsbkGI2s4N+2RI2WSjvbaVyMSv/WcejIrjkqiiMR+2Y7m5exgoKeg4/TODLDPQ==} + '@aws-sdk/middleware-host-header@3.840.0': + resolution: {integrity: sha512-ub+hXJAbAje94+Ya6c6eL7sYujoE8D4Bumu1NUI8TXjUhVVn0HzVWQjpRLshdLsUp1AW7XyeJaxyajRaJQ8+Xg==} engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-logger@3.804.0': - resolution: {integrity: sha512-w/qLwL3iq0KOPQNat0Kb7sKndl9BtceigINwBU7SpkYWX9L/Lem6f8NPEKrC9Tl4wDBht3Yztub4oRTy/horJA==} + '@aws-sdk/middleware-logger@3.840.0': + resolution: {integrity: sha512-lSV8FvjpdllpGaRspywss4CtXV8M7NNNH+2/j86vMH+YCOZ6fu2T/TyFd/tHwZ92vDfHctWkRbQxg0bagqwovA==} engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-recursion-detection@3.804.0': - resolution: {integrity: sha512-zqHOrvLRdsUdN/ehYfZ9Tf8svhbiLLz5VaWUz22YndFv6m9qaAcijkpAOlKexsv3nLBMJdSdJ6GUTAeIy3BZzw==} + '@aws-sdk/middleware-recursion-detection@3.840.0': + resolution: {integrity: sha512-Gu7lGDyfddyhIkj1Z1JtrY5NHb5+x/CRiB87GjaSrKxkDaydtX2CU977JIABtt69l9wLbcGDIQ+W0uJ5xPof7g==} engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-user-agent@3.816.0': - resolution: {integrity: sha512-bHRSlWZ0xDsFR8E2FwDb//0Ff6wMkVx4O+UKsfyNlAbtqCiiHRt5ANNfKPafr95cN2CCxLxiPvFTFVblQM5TsQ==} + '@aws-sdk/middleware-user-agent@3.848.0': + resolution: {integrity: sha512-rjMuqSWJEf169/ByxvBqfdei1iaduAnfolTshsZxwcmLIUtbYrFUmts0HrLQqsAG8feGPpDLHA272oPl+NTCCA==} engines: {node: '>=18.0.0'} - '@aws-sdk/nested-clients@3.817.0': - resolution: {integrity: sha512-vQ2E06A48STJFssueJQgxYD8lh1iGJoLJnHdshRDWOQb8gy1wVQR+a7MkPGhGR6lGoS0SCnF/Qp6CZhnwLsqsQ==} + '@aws-sdk/middleware-websocket@3.844.0': + resolution: {integrity: sha512-5ZtntUZ9ZMdUbQZ3kI5e5tpiZPN/O57h6fnGZ+GHB+wpSVSOQS78TBt0qYZW+CoZr8iyRsVkJheGETajFCMaUg==} + engines: {node: '>= 14.0.0'} + + '@aws-sdk/nested-clients@3.848.0': + resolution: {integrity: sha512-joLsyyo9u61jnZuyYzo1z7kmS7VgWRAkzSGESVzQHfOA1H2PYeUFek6vLT4+c9xMGrX/Z6B0tkRdzfdOPiatLg==} engines: {node: '>=18.0.0'} - '@aws-sdk/region-config-resolver@3.808.0': - resolution: {integrity: sha512-9x2QWfphkARZY5OGkl9dJxZlSlYM2l5inFeo2bKntGuwg4A4YUe5h7d5yJ6sZbam9h43eBrkOdumx03DAkQF9A==} + '@aws-sdk/region-config-resolver@3.840.0': + resolution: {integrity: sha512-Qjnxd/yDv9KpIMWr90ZDPtRj0v75AqGC92Lm9+oHXZ8p1MjG5JE2CW0HL8JRgK9iKzgKBL7pPQRXI8FkvEVfrA==} engines: {node: '>=18.0.0'} - '@aws-sdk/token-providers@3.817.0': - resolution: {integrity: sha512-CYN4/UO0VaqyHf46ogZzNrVX7jI3/CfiuktwKlwtpKA6hjf2+ivfgHSKzPpgPBcSEfiibA/26EeLuMnB6cpSrQ==} + '@aws-sdk/token-providers@3.848.0': + resolution: {integrity: sha512-oNPyM4+Di2Umu0JJRFSxDcKQ35+Chl/rAwD47/bS0cDPI8yrao83mLXLeDqpRPHyQW4sXlP763FZcuAibC0+mg==} engines: {node: '>=18.0.0'} '@aws-sdk/types@3.804.0': resolution: {integrity: sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==} engines: {node: '>=18.0.0'} - '@aws-sdk/util-endpoints@3.808.0': - resolution: {integrity: sha512-N6Lic98uc4ADB7fLWlzx+1uVnq04VgVjngZvwHoujcRg9YDhIg9dUDiTzD5VZv13g1BrPYmvYP1HhsildpGV6w==} + '@aws-sdk/types@3.840.0': + resolution: {integrity: sha512-xliuHaUFZxEx1NSXeLLZ9Dyu6+EJVQKEoD+yM+zqUo3YDZ7medKJWY6fIOKiPX/N7XbLdBYwajb15Q7IL8KkeA==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/util-endpoints@3.848.0': + resolution: {integrity: sha512-fY/NuFFCq/78liHvRyFKr+aqq1aA/uuVSANjzr5Ym8c+9Z3HRPE9OrExAHoMrZ6zC8tHerQwlsXYYH5XZ7H+ww==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/util-format-url@3.840.0': + resolution: {integrity: sha512-VB1PWyI1TQPiPvg4w7tgUGGQER1xxXPNUqfh3baxUSFi1Oh8wHrDnFywkxLm3NMmgDmnLnSZ5Q326qAoyqKLSg==} engines: {node: '>=18.0.0'} '@aws-sdk/util-locate-window@3.804.0': resolution: {integrity: sha512-zVoRfpmBVPodYlnMjgVjfGoEZagyRF5IPn3Uo6ZvOZp24chnW/FRstH7ESDHDDRga4z3V+ElUQHKpFDXWyBW5A==} engines: {node: '>=18.0.0'} - '@aws-sdk/util-user-agent-browser@3.804.0': - resolution: {integrity: sha512-KfW6T6nQHHM/vZBBdGn6fMyG/MgX5lq82TDdX4HRQRRuHKLgBWGpKXqqvBwqIaCdXwWHgDrg2VQups6GqOWW2A==} + '@aws-sdk/util-user-agent-browser@3.840.0': + resolution: {integrity: sha512-JdyZM3EhhL4PqwFpttZu1afDpPJCCc3eyZOLi+srpX11LsGj6sThf47TYQN75HT1CarZ7cCdQHGzP2uy3/xHfQ==} - '@aws-sdk/util-user-agent-node@3.816.0': - resolution: {integrity: sha512-Q6dxmuj4hL7pudhrneWEQ7yVHIQRBFr0wqKLF1opwOi1cIePuoEbPyJ2jkel6PDEv1YMfvsAKaRshp6eNA8VHg==} + '@aws-sdk/util-user-agent-node@3.848.0': + resolution: {integrity: sha512-Zz1ft9NiLqbzNj/M0jVNxaoxI2F4tGXN0ZbZIj+KJ+PbJo+w5+Jo6d0UDAtbj3AEd79pjcCaP4OA9NTVzItUdw==} engines: {node: '>=18.0.0'} peerDependencies: aws-crt: '>=1.0.0' @@ -1303,6 +1315,10 @@ packages: '@aws-sdk/util-utf8-browser@3.259.0': resolution: {integrity: sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==} + '@aws-sdk/xml-builder@3.821.0': + resolution: {integrity: sha512-DIIotRnefVL6DiaHtO6/21DhJ4JZnnIwdNbpwiAhdt/AVbttcE4yw925gsjur0OGv5BTYXQXU3YnANBYnZjuQA==} + engines: {node: '>=18.0.0'} + '@azure/abort-controller@2.1.2': resolution: {integrity: sha512-nBrLsEWm4J2u5LpAPjxADTlq3trDgVZZXHNKabeXZtpq3d3AbN/KGO82R87rdDz5/lYB024rtEf10/q0urNgsA==} engines: {node: '>=18.0.0'} @@ -3103,66 +3119,66 @@ packages: resolution: {integrity: sha512-wRlta7GuLWpTqtFfGo+nZyOO1vEvewdNR1R4rTxpC8XU6vG/NDyrFBhwLZsqg1NUoR1noVaXJPC/7ZK47QCySw==} engines: {node: '>=14.0.0'} - '@smithy/abort-controller@4.0.3': - resolution: {integrity: sha512-AqXFf6DXnuRBXy4SoK/n1mfgHaKaq36bmkphmD1KO0nHq6xK/g9KHSW4HEsPQUBCGdIEfuJifGHwxFXPIFay9Q==} + '@smithy/abort-controller@4.0.4': + resolution: {integrity: sha512-gJnEjZMvigPDQWHrW3oPrFhQtkrgqBkyjj3pCIdF3A5M6vsZODG93KNlfJprv6bp4245bdT32fsHK4kkH3KYDA==} engines: {node: '>=18.0.0'} - '@smithy/config-resolver@4.1.3': - resolution: {integrity: sha512-N5e7ofiyYDmHxnPnqF8L4KtsbSDwyxFRfDK9bp1d9OyPO4ytRLd0/XxCqi5xVaaqB65v4woW8uey6jND6zxzxQ==} + '@smithy/config-resolver@4.1.4': + resolution: {integrity: sha512-prmU+rDddxHOH0oNcwemL+SwnzcG65sBF2yXRO7aeXIn/xTlq2pX7JLVbkBnVLowHLg4/OL4+jBmv9hVrVGS+w==} engines: {node: '>=18.0.0'} - '@smithy/core@3.4.0': - resolution: {integrity: sha512-dDYISQo7k0Ml/rXlFIjkTmTcQze/LxhtIRAEmZ6HJ/EI0inVxVEVnrUXJ7jPx6ZP0GHUhFm40iQcCgS5apXIXA==} + '@smithy/core@3.7.1': + resolution: {integrity: sha512-ExRCsHnXFtBPnM7MkfKBPcBBdHw1h/QS/cbNw4ho95qnyNHvnpmGbR39MIAv9KggTr5qSPxRSEL+hRXlyGyGQw==} engines: {node: '>=18.0.0'} - '@smithy/credential-provider-imds@4.0.5': - resolution: {integrity: sha512-saEAGwrIlkb9XxX/m5S5hOtzjoJPEK6Qw2f9pYTbIsMPOFyGSXBBTw95WbOyru8A1vIS2jVCCU1Qhz50QWG3IA==} + '@smithy/credential-provider-imds@4.0.6': + resolution: {integrity: sha512-hKMWcANhUiNbCJouYkZ9V3+/Qf9pteR1dnwgdyzR09R4ODEYx8BbUysHwRSyex4rZ9zapddZhLFTnT4ZijR4pw==} engines: {node: '>=18.0.0'} '@smithy/eventstream-codec@2.2.0': resolution: {integrity: sha512-8janZoJw85nJmQZc4L8TuePp2pk1nxLgkxIR0TUjKJ5Dkj5oelB9WtiSSGXCQvNsJl0VSTvK/2ueMXxvpa9GVw==} - '@smithy/eventstream-codec@4.0.3': - resolution: {integrity: sha512-V22KIPXZsE2mc4zEgYGANM/7UbL9jWlOACEolyGyMuTY+jjHJ2PQ0FdopOTS1CS7u6PlAkALmypkv2oQ4aftcg==} + '@smithy/eventstream-codec@4.0.4': + resolution: {integrity: sha512-7XoWfZqWb/QoR/rAU4VSi0mWnO2vu9/ltS6JZ5ZSZv0eovLVfDfu0/AX4ub33RsJTOth3TiFWSHS5YdztvFnig==} engines: {node: '>=18.0.0'} - '@smithy/eventstream-serde-browser@4.0.3': - resolution: {integrity: sha512-oe1d/tfCGVZBMX8O6HApaM4G+fF9JNdyLP7tWXt00epuL/kLOdp/4o9VqheLFeJaXgao+9IaBgs/q/oM48hxzg==} + '@smithy/eventstream-serde-browser@4.0.4': + resolution: {integrity: sha512-3fb/9SYaYqbpy/z/H3yIi0bYKyAa89y6xPmIqwr2vQiUT2St+avRt8UKwsWt9fEdEasc5d/V+QjrviRaX1JRFA==} engines: {node: '>=18.0.0'} - '@smithy/eventstream-serde-config-resolver@4.1.1': - resolution: {integrity: sha512-XXCPGjRNwpFWHKQJMKIjGLfFKYULYckFnxGcWmBC2mBf3NsrvUKgqHax4NCqc0TfbDAimPDHOc6HOKtzsXK9Gw==} + '@smithy/eventstream-serde-config-resolver@4.1.2': + resolution: {integrity: sha512-JGtambizrWP50xHgbzZI04IWU7LdI0nh/wGbqH3sJesYToMi2j/DcoElqyOcqEIG/D4tNyxgRuaqBXWE3zOFhQ==} engines: {node: '>=18.0.0'} '@smithy/eventstream-serde-node@2.2.0': resolution: {integrity: sha512-zpQMtJVqCUMn+pCSFcl9K/RPNtQE0NuMh8sKpCdEHafhwRsjP50Oq/4kMmvxSRy6d8Jslqd8BLvDngrUtmN9iA==} engines: {node: '>=14.0.0'} - '@smithy/eventstream-serde-node@4.0.3': - resolution: {integrity: sha512-HOEbRmm9TrikCoFrypYu0J/gC4Lsk8gl5LtOz1G3laD2Jy44+ht2Pd2E9qjNQfhMJIzKDZ/gbuUH0s0v4kWQ0A==} + '@smithy/eventstream-serde-node@4.0.4': + resolution: {integrity: sha512-RD6UwNZ5zISpOWPuhVgRz60GkSIp0dy1fuZmj4RYmqLVRtejFqQ16WmfYDdoSoAjlp1LX+FnZo+/hkdmyyGZ1w==} engines: {node: '>=18.0.0'} '@smithy/eventstream-serde-universal@2.2.0': resolution: {integrity: sha512-pvoe/vvJY0mOpuF84BEtyZoYfbehiFj8KKWk1ds2AT0mTLYFVs+7sBJZmioOFdBXKd48lfrx1vumdPdmGlCLxA==} engines: {node: '>=14.0.0'} - '@smithy/eventstream-serde-universal@4.0.3': - resolution: {integrity: sha512-ShOP512CZrYI9n+h64PJ84udzoNHUQtPddyh1j175KNTKsSnMEDNscOWJWyEoLQiuhWWw51lSa+k6ea9ZGXcRg==} + '@smithy/eventstream-serde-universal@4.0.4': + resolution: {integrity: sha512-UeJpOmLGhq1SLox79QWw/0n2PFX+oPRE1ZyRMxPIaFEfCqWaqpB7BU9C8kpPOGEhLF7AwEqfFbtwNxGy4ReENA==} engines: {node: '>=18.0.0'} '@smithy/fetch-http-handler@2.5.0': resolution: {integrity: sha512-BOWEBeppWhLn/no/JxUL/ghTfANTjT7kg3Ww2rPqTUY9R4yHPXxJ9JhMe3Z03LN3aPwiwlpDIUcVw1xDyHqEhw==} - '@smithy/fetch-http-handler@5.0.3': - resolution: {integrity: sha512-yBZwavI31roqTndNI7ONHqesfH01JmjJK6L3uUpZAhyAmr86LN5QiPzfyZGIxQmed8VEK2NRSQT3/JX5V1njfQ==} + '@smithy/fetch-http-handler@5.1.0': + resolution: {integrity: sha512-mADw7MS0bYe2OGKkHYMaqarOXuDwRbO6ArD91XhHcl2ynjGCFF+hvqf0LyQcYxkA1zaWjefSkU7Ne9mqgApSgQ==} engines: {node: '>=18.0.0'} - '@smithy/hash-node@4.0.3': - resolution: {integrity: sha512-W5Uhy6v/aYrgtjh9y0YP332gIQcwccQ+EcfWhllL0B9rPae42JngTTUpb8W6wuxaNFzqps4xq5klHckSSOy5fw==} + '@smithy/hash-node@4.0.4': + resolution: {integrity: sha512-qnbTPUhCVnCgBp4z4BUJUhOEkVwxiEi1cyFM+Zj6o+aY8OFGxUQleKWq8ltgp3dujuhXojIvJWdoqpm6dVO3lQ==} engines: {node: '>=18.0.0'} - '@smithy/invalid-dependency@4.0.3': - resolution: {integrity: sha512-1Bo8Ur1ZGqxvwTqBmv6DZEn0rXtwJGeqiiO2/JFcCtz3nBakOqeXbJBElXJMMzd0ghe8+eB6Dkw98nMYctgizg==} + '@smithy/invalid-dependency@4.0.4': + resolution: {integrity: sha512-bNYMi7WKTJHu0gn26wg8OscncTt1t2b8KcsZxvOv56XA6cyXtOAAAaNP7+m45xfppXfOatXF3Sb1MNsLUgVLTw==} engines: {node: '>=18.0.0'} '@smithy/is-array-buffer@2.2.0': @@ -3177,112 +3193,112 @@ packages: resolution: {integrity: sha512-saYhF8ZZNoJDTvJBEWgeBccCg+yvp1CX+ed12yORU3NilJScfc6gfch2oVb4QgxZrGUx3/ZJlb+c/dJbyupxlw==} engines: {node: '>=18.0.0'} - '@smithy/middleware-content-length@4.0.3': - resolution: {integrity: sha512-NE/Zph4BP5u16bzYq2csq9qD0T6UBLeg4AuNrwNJ7Gv9uLYaGEgelZUOdRndGdMGcUfSGvNlXGb2aA2hPCwJ6g==} + '@smithy/middleware-content-length@4.0.4': + resolution: {integrity: sha512-F7gDyfI2BB1Kc+4M6rpuOLne5LOcEknH1n6UQB69qv+HucXBR1rkzXBnQTB2q46sFy1PM/zuSJOB532yc8bg3w==} engines: {node: '>=18.0.0'} '@smithy/middleware-endpoint@2.5.1': resolution: {integrity: sha512-1/8kFp6Fl4OsSIVTWHnNjLnTL8IqpIb/D3sTSczrKFnrE9VMNWxnrRKNvpUHOJ6zpGD5f62TPm7+17ilTJpiCQ==} engines: {node: '>=14.0.0'} - '@smithy/middleware-endpoint@4.1.7': - resolution: {integrity: sha512-KDzM7Iajo6K7eIWNNtukykRT4eWwlHjCEsULZUaSfi/SRSBK8BPRqG5FsVfp58lUxcvre8GT8AIPIqndA0ERKw==} + '@smithy/middleware-endpoint@4.1.16': + resolution: {integrity: sha512-plpa50PIGLqzMR2ANKAw2yOW5YKS626KYKqae3atwucbz4Ve4uQ9K9BEZxDLIFmCu7hKLcrq2zmj4a+PfmUV5w==} engines: {node: '>=18.0.0'} - '@smithy/middleware-retry@4.1.8': - resolution: {integrity: sha512-e2OtQgFzzlSG0uCjcJmi02QuFSRTrpT11Eh2EcqqDFy7DYriteHZJkkf+4AsxsrGDugAtPFcWBz1aq06sSX5fQ==} + '@smithy/middleware-retry@4.1.17': + resolution: {integrity: sha512-gsCimeG6BApj0SBecwa1Be+Z+JOJe46iy3B3m3A8jKJHf7eIihP76Is4LwLrbJ1ygoS7Vg73lfqzejmLOrazUA==} engines: {node: '>=18.0.0'} '@smithy/middleware-serde@2.3.0': resolution: {integrity: sha512-sIADe7ojwqTyvEQBe1nc/GXB9wdHhi9UwyX0lTyttmUWDJLP655ZYE1WngnNyXREme8I27KCaUhyhZWRXL0q7Q==} engines: {node: '>=14.0.0'} - '@smithy/middleware-serde@4.0.6': - resolution: {integrity: sha512-YECyl7uNII+jCr/9qEmCu8xYL79cU0fqjo0qxpcVIU18dAPHam/iYwcknAu4Jiyw1uN+sAx7/SMf/Kmef/Jjsg==} + '@smithy/middleware-serde@4.0.8': + resolution: {integrity: sha512-iSSl7HJoJaGyMIoNn2B7czghOVwJ9nD7TMvLhMWeSB5vt0TnEYyRRqPJu/TqW76WScaNvYYB8nRoiBHR9S1Ddw==} engines: {node: '>=18.0.0'} '@smithy/middleware-stack@2.2.0': resolution: {integrity: sha512-Qntc3jrtwwrsAC+X8wms8zhrTr0sFXnyEGhZd9sLtsJ/6gGQKFzNB+wWbOcpJd7BR8ThNCoKt76BuQahfMvpeA==} engines: {node: '>=14.0.0'} - '@smithy/middleware-stack@4.0.3': - resolution: {integrity: sha512-baeV7t4jQfQtFxBADFmnhmqBmqR38dNU5cvEgHcMK/Kp3D3bEI0CouoX2Sr/rGuntR+Eg0IjXdxnGGTc6SbIkw==} + '@smithy/middleware-stack@4.0.4': + resolution: {integrity: sha512-kagK5ggDrBUCCzI93ft6DjteNSfY8Ulr83UtySog/h09lTIOAJ/xUSObutanlPT0nhoHAkpmW9V5K8oPyLh+QA==} engines: {node: '>=18.0.0'} '@smithy/node-config-provider@2.3.0': resolution: {integrity: sha512-0elK5/03a1JPWMDPaS726Iw6LpQg80gFut1tNpPfxFuChEEklo2yL823V94SpTZTxmKlXFtFgsP55uh3dErnIg==} engines: {node: '>=14.0.0'} - '@smithy/node-config-provider@4.1.2': - resolution: {integrity: sha512-SUvNup8iU1v7fmM8XPk+27m36udmGCfSz+VZP5Gb0aJ3Ne0X28K/25gnsrg3X1rWlhcnhzNUUysKW/Ied46ivQ==} + '@smithy/node-config-provider@4.1.3': + resolution: {integrity: sha512-HGHQr2s59qaU1lrVH6MbLlmOBxadtzTsoO4c+bF5asdgVik3I8o7JIOzoeqWc5MjVa+vD36/LWE0iXKpNqooRw==} engines: {node: '>=18.0.0'} '@smithy/node-http-handler@2.5.0': resolution: {integrity: sha512-mVGyPBzkkGQsPoxQUbxlEfRjrj6FPyA3u3u2VXGr9hT8wilsoQdZdvKpMBFMB8Crfhv5dNkKHIW0Yyuc7eABqA==} engines: {node: '>=14.0.0'} - '@smithy/node-http-handler@4.0.5': - resolution: {integrity: sha512-T7QglZC1vS7SPT44/1qSIAQEx5bFKb3LfO6zw/o4Xzt1eC5HNoH1TkS4lMYA9cWFbacUhx4hRl/blLun4EOCkg==} + '@smithy/node-http-handler@4.1.0': + resolution: {integrity: sha512-vqfSiHz2v8b3TTTrdXi03vNz1KLYYS3bhHCDv36FYDqxT7jvTll1mMnCrkD+gOvgwybuunh/2VmvOMqwBegxEg==} engines: {node: '>=18.0.0'} '@smithy/property-provider@2.2.0': resolution: {integrity: sha512-+xiil2lFhtTRzXkx8F053AV46QnIw6e7MV8od5Mi68E1ICOjCeCHw2XfLnDEUHnT9WGUIkwcqavXjfwuJbGlpg==} engines: {node: '>=14.0.0'} - '@smithy/property-provider@4.0.3': - resolution: {integrity: sha512-Wcn17QNdawJZcZZPBuMuzyBENVi1AXl4TdE0jvzo4vWX2x5df/oMlmr/9M5XAAC6+yae4kWZlOYIsNsgDrMU9A==} + '@smithy/property-provider@4.0.4': + resolution: {integrity: sha512-qHJ2sSgu4FqF4U/5UUp4DhXNmdTrgmoAai6oQiM+c5RZ/sbDwJ12qxB1M6FnP+Tn/ggkPZf9ccn4jqKSINaquw==} engines: {node: '>=18.0.0'} '@smithy/protocol-http@3.3.0': resolution: {integrity: sha512-Xy5XK1AFWW2nlY/biWZXu6/krgbaf2dg0q492D8M5qthsnU2H+UgFeZLbM76FnH7s6RO/xhQRkj+T6KBO3JzgQ==} engines: {node: '>=14.0.0'} - '@smithy/protocol-http@5.1.1': - resolution: {integrity: sha512-Vsay2mzq05DwNi9jK01yCFtfvu9HimmgC7a4HTs7lhX12Sx8aWsH0mfz6q/02yspSp+lOB+Q2HJwi4IV2GKz7A==} + '@smithy/protocol-http@5.1.2': + resolution: {integrity: sha512-rOG5cNLBXovxIrICSBm95dLqzfvxjEmuZx4KK3hWwPFHGdW3lxY0fZNXfv2zebfRO7sJZ5pKJYHScsqopeIWtQ==} engines: {node: '>=18.0.0'} '@smithy/querystring-builder@2.2.0': resolution: {integrity: sha512-L1kSeviUWL+emq3CUVSgdogoM/D9QMFaqxL/dd0X7PCNWmPXqt+ExtrBjqT0V7HLN03Vs9SuiLrG3zy3JGnE5A==} engines: {node: '>=14.0.0'} - '@smithy/querystring-builder@4.0.3': - resolution: {integrity: sha512-UUzIWMVfPmDZcOutk2/r1vURZqavvQW0OHvgsyNV0cKupChvqg+/NKPRMaMEe+i8tP96IthMFeZOZWpV+E4RAw==} + '@smithy/querystring-builder@4.0.4': + resolution: {integrity: sha512-SwREZcDnEYoh9tLNgMbpop+UTGq44Hl9tdj3rf+yeLcfH7+J8OXEBaMc2kDxtyRHu8BhSg9ADEx0gFHvpJgU8w==} engines: {node: '>=18.0.0'} '@smithy/querystring-parser@2.2.0': resolution: {integrity: sha512-BvHCDrKfbG5Yhbpj4vsbuPV2GgcpHiAkLeIlcA1LtfpMz3jrqizP1+OguSNSj1MwBHEiN+jwNisXLGdajGDQJA==} engines: {node: '>=14.0.0'} - '@smithy/querystring-parser@4.0.3': - resolution: {integrity: sha512-K5M4ZJQpFCblOJ5Oyw7diICpFg1qhhR47m2/5Ef1PhGE19RaIZf50tjYFrxa6usqcuXyTiFPGo4d1geZdH4YcQ==} + '@smithy/querystring-parser@4.0.4': + resolution: {integrity: sha512-6yZf53i/qB8gRHH/l2ZwUG5xgkPgQF15/KxH0DdXMDHjesA9MeZje/853ifkSY0x4m5S+dfDZ+c4x439PF0M2w==} engines: {node: '>=18.0.0'} - '@smithy/service-error-classification@4.0.4': - resolution: {integrity: sha512-W5ScbQ1bTzgH91kNEE2CvOzM4gXlDOqdow4m8vMFSIXCel2scbHwjflpVNnC60Y3F1m5i7w2gQg9lSnR+JsJAA==} + '@smithy/service-error-classification@4.0.6': + resolution: {integrity: sha512-RRoTDL//7xi4tn5FrN2NzH17jbgmnKidUqd4KvquT0954/i6CXXkh1884jBiunq24g9cGtPBEXlU40W6EpNOOg==} engines: {node: '>=18.0.0'} '@smithy/shared-ini-file-loader@2.4.0': resolution: {integrity: sha512-WyujUJL8e1B6Z4PBfAqC/aGY1+C7T0w20Gih3yrvJSk97gpiVfB+y7c46T4Nunk+ZngLq0rOIdeVeIklk0R3OA==} engines: {node: '>=14.0.0'} - '@smithy/shared-ini-file-loader@4.0.3': - resolution: {integrity: sha512-vHwlrqhZGIoLwaH8vvIjpHnloShqdJ7SUPNM2EQtEox+yEDFTVQ7E+DLZ+6OhnYEgFUwPByJyz6UZaOu2tny6A==} + '@smithy/shared-ini-file-loader@4.0.4': + resolution: {integrity: sha512-63X0260LoFBjrHifPDs+nM9tV0VMkOTl4JRMYNuKh/f5PauSjowTfvF3LogfkWdcPoxsA9UjqEOgjeYIbhb7Nw==} engines: {node: '>=18.0.0'} '@smithy/signature-v4@3.1.2': resolution: {integrity: sha512-3BcPylEsYtD0esM4Hoyml/+s7WP2LFhcM3J2AGdcL2vx9O60TtfpDOL72gjb4lU8NeRPeKAwR77YNyyGvMbuEA==} engines: {node: '>=16.0.0'} - '@smithy/signature-v4@5.1.1': - resolution: {integrity: sha512-zy8Repr5zvT0ja+Tf5wjV/Ba6vRrhdiDcp/ww6cvqYbSEudIkziDe3uppNRlFoCViyJXdPnLcwyZdDLA4CHzSg==} + '@smithy/signature-v4@5.1.2': + resolution: {integrity: sha512-d3+U/VpX7a60seHziWnVZOHuEgJlclufjkS6zhXvxcJgkJq4UWdH5eOBLzHRMx6gXjsdT9h6lfpmLzbrdupHgQ==} engines: {node: '>=18.0.0'} '@smithy/smithy-client@2.5.1': resolution: {integrity: sha512-jrbSQrYCho0yDaaf92qWgd+7nAeap5LtHTI51KXqmpIFCceKU3K9+vIVTUH72bOJngBMqa4kyu1VJhRcSrk/CQ==} engines: {node: '>=14.0.0'} - '@smithy/smithy-client@4.3.0': - resolution: {integrity: sha512-DNsRA38pN6tYHUjebmwD9e4KcgqTLldYQb2gC6K+oxXYdCTxPn6wV9+FvOa6wrU2FQEnGJoi+3GULzOTKck/tg==} + '@smithy/smithy-client@4.4.8': + resolution: {integrity: sha512-pcW691/lx7V54gE+dDGC26nxz8nrvnvRSCJaIYD6XLPpOInEZeKdV/SpSux+wqeQ4Ine7LJQu8uxMvobTIBK0w==} engines: {node: '>=18.0.0'} '@smithy/types@2.12.0': @@ -3293,15 +3309,15 @@ packages: resolution: {integrity: sha512-bNwBYYmN8Eh9RyjS1p2gW6MIhSO2rl7X9QeLM8iTdcGRP+eDiIWDt66c9IysCc22gefKszZv+ubV9qZc7hdESg==} engines: {node: '>=16.0.0'} - '@smithy/types@4.3.0': - resolution: {integrity: sha512-+1iaIQHthDh9yaLhRzaoQxRk+l9xlk+JjMFxGRhNLz+m9vKOkjNeU8QuB4w3xvzHyVR/BVlp/4AXDHjoRIkfgQ==} + '@smithy/types@4.3.1': + resolution: {integrity: sha512-UqKOQBL2x6+HWl3P+3QqFD4ncKq0I8Nuz9QItGv5WuKuMHuuwlhvqcZCoXGfc+P1QmfJE7VieykoYYmrOoFJxA==} engines: {node: '>=18.0.0'} '@smithy/url-parser@2.2.0': resolution: {integrity: sha512-hoA4zm61q1mNTpksiSWp2nEl1dt3j726HdRhiNgVJQMj7mLp7dprtF57mOB6JvEk/x9d2bsuL5hlqZbBuHQylQ==} - '@smithy/url-parser@4.0.3': - resolution: {integrity: sha512-n5/DnosDu/tweOqUUNtUbu7eRIR4J/Wz9nL7V5kFYQQVb8VYdj7a4G5NJHCw6o21ul7CvZoJkOpdTnsQDLT0tQ==} + '@smithy/url-parser@4.0.4': + resolution: {integrity: sha512-eMkc144MuN7B0TDA4U2fKs+BqczVbk3W+qIvcoCY6D1JY3hnAdCuhCZODC+GAeaxj0p6Jroz4+XMUn3PCxQQeQ==} engines: {node: '>=18.0.0'} '@smithy/util-base64@2.3.0': @@ -3336,16 +3352,16 @@ packages: resolution: {integrity: sha512-L1RBVzLyfE8OXH+1hsJ8p+acNUSirQnWQ6/EgpchV88G6zGBTDPdXiiExei6Z1wR2RxYvxY/XLw6AMNCCt8H3w==} engines: {node: '>=18.0.0'} - '@smithy/util-defaults-mode-browser@4.0.15': - resolution: {integrity: sha512-bJJ/B8owQbHAflatSq92f9OcV8858DJBQF1Y3GRjB8psLyUjbISywszYPFw16beREHO/C3I3taW4VGH+tOuwrQ==} + '@smithy/util-defaults-mode-browser@4.0.24': + resolution: {integrity: sha512-UkQNgaQ+bidw1MgdgPO1z1k95W/v8Ej/5o/T/Is8PiVUYPspl/ZxV6WO/8DrzZQu5ULnmpB9CDdMSRwgRc21AA==} engines: {node: '>=18.0.0'} - '@smithy/util-defaults-mode-node@4.0.15': - resolution: {integrity: sha512-8CUrEW2Ni5q+NmYkj8wsgkfqoP7l4ZquptFbq92yQE66xevc4SxqP2zH6tMtN158kgBqBDsZ+qlrRwXWOjCR8A==} + '@smithy/util-defaults-mode-node@4.0.24': + resolution: {integrity: sha512-phvGi/15Z4MpuQibTLOYIumvLdXb+XIJu8TA55voGgboln85jytA3wiD7CkUE8SNcWqkkb+uptZKPiuFouX/7g==} engines: {node: '>=18.0.0'} - '@smithy/util-endpoints@3.0.5': - resolution: {integrity: sha512-PjDpqLk24/vAl340tmtCA++Q01GRRNH9cwL9qh46NspAX9S+IQVcK+GOzPt0GLJ6KYGyn8uOgo2kvJhiThclJw==} + '@smithy/util-endpoints@3.0.6': + resolution: {integrity: sha512-YARl3tFL3WgPuLzljRUnrS2ngLiUtkwhQtj8PAL13XZSyUiNLQxwG3fBBq3QXFqGFUXepIN73pINp3y8c2nBmA==} engines: {node: '>=18.0.0'} '@smithy/util-hex-encoding@2.2.0': @@ -3368,20 +3384,20 @@ packages: resolution: {integrity: sha512-dWpyc1e1R6VoXrwLoLDd57U1z6CwNSdkM69Ie4+6uYh2GC7Vg51Qtan7ITzczuVpqezdDTKJGJB95fFvvjU/ow==} engines: {node: '>=16.0.0'} - '@smithy/util-middleware@4.0.3': - resolution: {integrity: sha512-iIsC6qZXxkD7V3BzTw3b1uK8RVC1M8WvwNxK1PKrH9FnxntCd30CSunXjL/8iJBE8Z0J14r2P69njwIpRG4FBQ==} + '@smithy/util-middleware@4.0.4': + resolution: {integrity: sha512-9MLKmkBmf4PRb0ONJikCbCwORACcil6gUWojwARCClT7RmLzF04hUR4WdRprIXal7XVyrddadYNfp2eF3nrvtQ==} engines: {node: '>=18.0.0'} - '@smithy/util-retry@4.0.4': - resolution: {integrity: sha512-Aoqr9W2jDYGrI6OxljN8VmLDQIGO4VdMAUKMf9RGqLG8hn6or+K41NEy1Y5dtum9q8F7e0obYAuKl2mt/GnpZg==} + '@smithy/util-retry@4.0.6': + resolution: {integrity: sha512-+YekoF2CaSMv6zKrA6iI/N9yva3Gzn4L6n35Luydweu5MMPYpiGZlWqehPHDHyNbnyaYlz/WJyYAZnC+loBDZg==} engines: {node: '>=18.0.0'} '@smithy/util-stream@2.2.0': resolution: {integrity: sha512-17faEXbYWIRst1aU9SvPZyMdWmqIrduZjVOqCPMIsWFNxs5yQQgFrJL6b2SdiCzyW9mJoDjFtgi53xx7EH+BXA==} engines: {node: '>=14.0.0'} - '@smithy/util-stream@4.2.1': - resolution: {integrity: sha512-W3IR0x5DY6iVtjj5p902oNhD+Bz7vs5S+p6tppbPa509rV9BdeXZjGuRSCtVEad9FA0Mba+tNUtUmtnSI1nwUw==} + '@smithy/util-stream@4.2.3': + resolution: {integrity: sha512-cQn412DWHHFNKrQfbHY8vSFI3nTROY1aIKji9N0tpp8gUABRilr7wdf8fqBbSlXresobM+tQFNk6I+0LXK/YZg==} engines: {node: '>=18.0.0'} '@smithy/util-uri-escape@2.2.0': @@ -5674,14 +5690,14 @@ packages: fast-shallow-equal@1.0.0: resolution: {integrity: sha512-HPtaa38cPgWvaCFmRNhlc6NG7pv6NUHqjPgVAkWGoB9mQMwYB27/K0CvOM5Czy+qpT3e8XJ6Q4aPAnzpNpzNaw==} - fast-xml-parser@4.4.1: - resolution: {integrity: sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==} - hasBin: true - fast-xml-parser@5.2.3: resolution: {integrity: sha512-OdCYfRqfpuLUFonTNjvd30rCBZUneHpSQkCqfaeWQ9qrKcl6XlWeDBNVwGb+INAIxRshuN2jF+BE0L6gbBO2mw==} hasBin: true + fast-xml-parser@5.2.5: + resolution: {integrity: sha512-pfX9uG9Ki0yekDHx2SiuRIyFdyAr1kMIMitPvb0YBo8SUfKvia7w7FIyd/l6av85pFYRhZscS75MwMnbvY+hcQ==} + hasBin: true + fastest-levenshtein@1.0.16: resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} engines: {node: '>= 4.9.1'} @@ -8767,9 +8783,6 @@ packages: strip-literal@3.0.0: resolution: {integrity: sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==} - strnum@1.1.2: - resolution: {integrity: sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==} - strnum@2.1.1: resolution: {integrity: sha512-7ZvoFTiCnGxBtDqJ//Cu6fWtZtc7Y3x+QOirG15wztbdngGSkht27o2pyGWrVy0b4WAy3jbKmnoK6g5VlVNUUw==} @@ -9753,8 +9766,8 @@ snapshots: dependencies: '@anthropic-ai/sdk': 0.37.0 '@aws-crypto/sha256-js': 4.0.0 - '@aws-sdk/client-bedrock-runtime': 3.817.0 - '@aws-sdk/credential-providers': 3.817.0 + '@aws-sdk/client-bedrock-runtime': 3.848.0 + '@aws-sdk/credential-providers': 3.848.0 '@smithy/eventstream-serde-node': 2.2.0 '@smithy/fetch-http-handler': 2.5.0 '@smithy/protocol-http': 3.3.0 @@ -9797,13 +9810,13 @@ snapshots: '@aws-crypto/crc32@3.0.0': dependencies: '@aws-crypto/util': 3.0.0 - '@aws-sdk/types': 3.804.0 + '@aws-sdk/types': 3.840.0 tslib: 1.14.1 '@aws-crypto/crc32@5.2.0': dependencies: '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.804.0 + '@aws-sdk/types': 3.840.0 tslib: 2.8.1 '@aws-crypto/sha256-browser@5.2.0': @@ -9811,7 +9824,7 @@ snapshots: '@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.804.0 + '@aws-sdk/types': 3.840.0 '@aws-sdk/util-locate-window': 3.804.0 '@smithy/util-utf8': 2.3.0 tslib: 2.8.1 @@ -9825,7 +9838,7 @@ snapshots: '@aws-crypto/sha256-js@5.2.0': dependencies: '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.804.0 + '@aws-sdk/types': 3.840.0 tslib: 2.8.1 '@aws-crypto/supports-web-crypto@5.2.0': @@ -9834,67 +9847,69 @@ snapshots: '@aws-crypto/util@3.0.0': dependencies: - '@aws-sdk/types': 3.804.0 + '@aws-sdk/types': 3.840.0 '@aws-sdk/util-utf8-browser': 3.259.0 tslib: 1.14.1 '@aws-crypto/util@4.0.0': dependencies: - '@aws-sdk/types': 3.804.0 + '@aws-sdk/types': 3.840.0 '@aws-sdk/util-utf8-browser': 3.259.0 tslib: 1.14.1 '@aws-crypto/util@5.2.0': dependencies: - '@aws-sdk/types': 3.804.0 + '@aws-sdk/types': 3.840.0 '@smithy/util-utf8': 2.3.0 tslib: 2.8.1 - '@aws-sdk/client-bedrock-runtime@3.817.0': + '@aws-sdk/client-bedrock-runtime@3.848.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.816.0 - '@aws-sdk/credential-provider-node': 3.817.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.816.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.816.0 - '@smithy/config-resolver': 4.1.3 - '@smithy/core': 3.4.0 - '@smithy/eventstream-serde-browser': 4.0.3 - '@smithy/eventstream-serde-config-resolver': 4.1.1 - '@smithy/eventstream-serde-node': 4.0.3 - '@smithy/fetch-http-handler': 5.0.3 - '@smithy/hash-node': 4.0.3 - '@smithy/invalid-dependency': 4.0.3 - '@smithy/middleware-content-length': 4.0.3 - '@smithy/middleware-endpoint': 4.1.7 - '@smithy/middleware-retry': 4.1.8 - '@smithy/middleware-serde': 4.0.6 - '@smithy/middleware-stack': 4.0.3 - '@smithy/node-config-provider': 4.1.2 - '@smithy/node-http-handler': 4.0.5 - '@smithy/protocol-http': 5.1.1 - '@smithy/smithy-client': 4.3.0 - '@smithy/types': 4.3.0 - '@smithy/url-parser': 4.0.3 + '@aws-sdk/core': 3.846.0 + '@aws-sdk/credential-provider-node': 3.848.0 + '@aws-sdk/eventstream-handler-node': 3.840.0 + '@aws-sdk/middleware-eventstream': 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.848.0 + '@aws-sdk/middleware-websocket': 3.844.0 + '@aws-sdk/region-config-resolver': 3.840.0 + '@aws-sdk/token-providers': 3.848.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.1 + '@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-node': 4.0.4 + '@smithy/invalid-dependency': 4.0.4 + '@smithy/middleware-content-length': 4.0.4 + '@smithy/middleware-endpoint': 4.1.16 + '@smithy/middleware-retry': 4.1.17 + '@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.8 + '@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.15 - '@smithy/util-defaults-mode-node': 4.0.15 - '@smithy/util-endpoints': 3.0.5 - '@smithy/util-middleware': 4.0.3 - '@smithy/util-retry': 4.0.4 - '@smithy/util-stream': 4.2.1 + '@smithy/util-defaults-mode-browser': 4.0.24 + '@smithy/util-defaults-mode-node': 4.0.24 + '@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 '@types/uuid': 9.0.8 tslib: 2.8.1 @@ -9902,373 +9917,408 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/client-cognito-identity@3.817.0': + '@aws-sdk/client-cognito-identity@3.848.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.816.0 - '@aws-sdk/credential-provider-node': 3.817.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.816.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.816.0 - '@smithy/config-resolver': 4.1.3 - '@smithy/core': 3.4.0 - '@smithy/fetch-http-handler': 5.0.3 - '@smithy/hash-node': 4.0.3 - '@smithy/invalid-dependency': 4.0.3 - '@smithy/middleware-content-length': 4.0.3 - '@smithy/middleware-endpoint': 4.1.7 - '@smithy/middleware-retry': 4.1.8 - '@smithy/middleware-serde': 4.0.6 - '@smithy/middleware-stack': 4.0.3 - '@smithy/node-config-provider': 4.1.2 - '@smithy/node-http-handler': 4.0.5 - '@smithy/protocol-http': 5.1.1 - '@smithy/smithy-client': 4.3.0 - '@smithy/types': 4.3.0 - '@smithy/url-parser': 4.0.3 + '@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.1 + '@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.16 + '@smithy/middleware-retry': 4.1.17 + '@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.8 + '@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.15 - '@smithy/util-defaults-mode-node': 4.0.15 - '@smithy/util-endpoints': 3.0.5 - '@smithy/util-middleware': 4.0.3 - '@smithy/util-retry': 4.0.4 + '@smithy/util-defaults-mode-browser': 4.0.24 + '@smithy/util-defaults-mode-node': 4.0.24 + '@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.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/client-sso@3.817.0': + '@aws-sdk/client-sso@3.848.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.816.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.816.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.816.0 - '@smithy/config-resolver': 4.1.3 - '@smithy/core': 3.4.0 - '@smithy/fetch-http-handler': 5.0.3 - '@smithy/hash-node': 4.0.3 - '@smithy/invalid-dependency': 4.0.3 - '@smithy/middleware-content-length': 4.0.3 - '@smithy/middleware-endpoint': 4.1.7 - '@smithy/middleware-retry': 4.1.8 - '@smithy/middleware-serde': 4.0.6 - '@smithy/middleware-stack': 4.0.3 - '@smithy/node-config-provider': 4.1.2 - '@smithy/node-http-handler': 4.0.5 - '@smithy/protocol-http': 5.1.1 - '@smithy/smithy-client': 4.3.0 - '@smithy/types': 4.3.0 - '@smithy/url-parser': 4.0.3 + '@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.1 + '@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.16 + '@smithy/middleware-retry': 4.1.17 + '@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.8 + '@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.15 - '@smithy/util-defaults-mode-node': 4.0.15 - '@smithy/util-endpoints': 3.0.5 - '@smithy/util-middleware': 4.0.3 - '@smithy/util-retry': 4.0.4 + '@smithy/util-defaults-mode-browser': 4.0.24 + '@smithy/util-defaults-mode-node': 4.0.24 + '@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.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/core@3.816.0': + '@aws-sdk/core@3.846.0': dependencies: - '@aws-sdk/types': 3.804.0 - '@smithy/core': 3.4.0 - '@smithy/node-config-provider': 4.1.2 - '@smithy/property-provider': 4.0.3 - '@smithy/protocol-http': 5.1.1 - '@smithy/signature-v4': 5.1.1 - '@smithy/smithy-client': 4.3.0 - '@smithy/types': 4.3.0 - '@smithy/util-middleware': 4.0.3 - fast-xml-parser: 4.4.1 + '@aws-sdk/types': 3.840.0 + '@aws-sdk/xml-builder': 3.821.0 + '@smithy/core': 3.7.1 + '@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.8 + '@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.8.1 - '@aws-sdk/credential-provider-cognito-identity@3.817.0': + '@aws-sdk/credential-provider-cognito-identity@3.848.0': dependencies: - '@aws-sdk/client-cognito-identity': 3.817.0 - '@aws-sdk/types': 3.804.0 - '@smithy/property-provider': 4.0.3 - '@smithy/types': 4.3.0 + '@aws-sdk/client-cognito-identity': 3.848.0 + '@aws-sdk/types': 3.840.0 + '@smithy/property-provider': 4.0.4 + '@smithy/types': 4.3.1 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-env@3.816.0': + '@aws-sdk/credential-provider-env@3.846.0': dependencies: - '@aws-sdk/core': 3.816.0 - '@aws-sdk/types': 3.804.0 - '@smithy/property-provider': 4.0.3 - '@smithy/types': 4.3.0 + '@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.8.1 - '@aws-sdk/credential-provider-http@3.816.0': + '@aws-sdk/credential-provider-http@3.846.0': dependencies: - '@aws-sdk/core': 3.816.0 - '@aws-sdk/types': 3.804.0 - '@smithy/fetch-http-handler': 5.0.3 - '@smithy/node-http-handler': 4.0.5 - '@smithy/property-provider': 4.0.3 - '@smithy/protocol-http': 5.1.1 - '@smithy/smithy-client': 4.3.0 - '@smithy/types': 4.3.0 - '@smithy/util-stream': 4.2.1 + '@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.8 + '@smithy/types': 4.3.1 + '@smithy/util-stream': 4.2.3 tslib: 2.8.1 - '@aws-sdk/credential-provider-ini@3.817.0': + '@aws-sdk/credential-provider-ini@3.848.0': dependencies: - '@aws-sdk/core': 3.816.0 - '@aws-sdk/credential-provider-env': 3.816.0 - '@aws-sdk/credential-provider-http': 3.816.0 - '@aws-sdk/credential-provider-process': 3.816.0 - '@aws-sdk/credential-provider-sso': 3.817.0 - '@aws-sdk/credential-provider-web-identity': 3.817.0 - '@aws-sdk/nested-clients': 3.817.0 - '@aws-sdk/types': 3.804.0 - '@smithy/credential-provider-imds': 4.0.5 - '@smithy/property-provider': 4.0.3 - '@smithy/shared-ini-file-loader': 4.0.3 - '@smithy/types': 4.3.0 + '@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.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-node@3.817.0': + '@aws-sdk/credential-provider-node@3.848.0': dependencies: - '@aws-sdk/credential-provider-env': 3.816.0 - '@aws-sdk/credential-provider-http': 3.816.0 - '@aws-sdk/credential-provider-ini': 3.817.0 - '@aws-sdk/credential-provider-process': 3.816.0 - '@aws-sdk/credential-provider-sso': 3.817.0 - '@aws-sdk/credential-provider-web-identity': 3.817.0 - '@aws-sdk/types': 3.804.0 - '@smithy/credential-provider-imds': 4.0.5 - '@smithy/property-provider': 4.0.3 - '@smithy/shared-ini-file-loader': 4.0.3 - '@smithy/types': 4.3.0 + '@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.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-process@3.816.0': + '@aws-sdk/credential-provider-process@3.846.0': dependencies: - '@aws-sdk/core': 3.816.0 - '@aws-sdk/types': 3.804.0 - '@smithy/property-provider': 4.0.3 - '@smithy/shared-ini-file-loader': 4.0.3 - '@smithy/types': 4.3.0 + '@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.8.1 - '@aws-sdk/credential-provider-sso@3.817.0': + '@aws-sdk/credential-provider-sso@3.848.0': dependencies: - '@aws-sdk/client-sso': 3.817.0 - '@aws-sdk/core': 3.816.0 - '@aws-sdk/token-providers': 3.817.0 - '@aws-sdk/types': 3.804.0 - '@smithy/property-provider': 4.0.3 - '@smithy/shared-ini-file-loader': 4.0.3 - '@smithy/types': 4.3.0 + '@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.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-web-identity@3.817.0': + '@aws-sdk/credential-provider-web-identity@3.848.0': dependencies: - '@aws-sdk/core': 3.816.0 - '@aws-sdk/nested-clients': 3.817.0 - '@aws-sdk/types': 3.804.0 - '@smithy/property-provider': 4.0.3 - '@smithy/types': 4.3.0 + '@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.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-providers@3.817.0': + '@aws-sdk/credential-providers@3.848.0': dependencies: - '@aws-sdk/client-cognito-identity': 3.817.0 - '@aws-sdk/core': 3.816.0 - '@aws-sdk/credential-provider-cognito-identity': 3.817.0 - '@aws-sdk/credential-provider-env': 3.816.0 - '@aws-sdk/credential-provider-http': 3.816.0 - '@aws-sdk/credential-provider-ini': 3.817.0 - '@aws-sdk/credential-provider-node': 3.817.0 - '@aws-sdk/credential-provider-process': 3.816.0 - '@aws-sdk/credential-provider-sso': 3.817.0 - '@aws-sdk/credential-provider-web-identity': 3.817.0 - '@aws-sdk/nested-clients': 3.817.0 - '@aws-sdk/types': 3.804.0 - '@smithy/config-resolver': 4.1.3 - '@smithy/core': 3.4.0 - '@smithy/credential-provider-imds': 4.0.5 - '@smithy/node-config-provider': 4.1.2 - '@smithy/property-provider': 4.0.3 - '@smithy/types': 4.3.0 + '@aws-sdk/client-cognito-identity': 3.848.0 + '@aws-sdk/core': 3.846.0 + '@aws-sdk/credential-provider-cognito-identity': 3.848.0 + '@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-node': 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/nested-clients': 3.848.0 + '@aws-sdk/types': 3.840.0 + '@smithy/config-resolver': 4.1.4 + '@smithy/core': 3.7.1 + '@smithy/credential-provider-imds': 4.0.6 + '@smithy/node-config-provider': 4.1.3 + '@smithy/property-provider': 4.0.4 + '@smithy/types': 4.3.1 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/eventstream-handler-node@3.804.0': + '@aws-sdk/eventstream-handler-node@3.840.0': dependencies: - '@aws-sdk/types': 3.804.0 - '@smithy/eventstream-codec': 4.0.3 - '@smithy/types': 4.3.0 + '@aws-sdk/types': 3.840.0 + '@smithy/eventstream-codec': 4.0.4 + '@smithy/types': 4.3.1 tslib: 2.8.1 - '@aws-sdk/middleware-eventstream@3.804.0': + '@aws-sdk/middleware-eventstream@3.840.0': dependencies: - '@aws-sdk/types': 3.804.0 - '@smithy/protocol-http': 5.1.1 - '@smithy/types': 4.3.0 + '@aws-sdk/types': 3.840.0 + '@smithy/protocol-http': 5.1.2 + '@smithy/types': 4.3.1 tslib: 2.8.1 - '@aws-sdk/middleware-host-header@3.804.0': + '@aws-sdk/middleware-host-header@3.840.0': dependencies: - '@aws-sdk/types': 3.804.0 - '@smithy/protocol-http': 5.1.1 - '@smithy/types': 4.3.0 + '@aws-sdk/types': 3.840.0 + '@smithy/protocol-http': 5.1.2 + '@smithy/types': 4.3.1 tslib: 2.8.1 - '@aws-sdk/middleware-logger@3.804.0': + '@aws-sdk/middleware-logger@3.840.0': dependencies: - '@aws-sdk/types': 3.804.0 - '@smithy/types': 4.3.0 + '@aws-sdk/types': 3.840.0 + '@smithy/types': 4.3.1 tslib: 2.8.1 - '@aws-sdk/middleware-recursion-detection@3.804.0': + '@aws-sdk/middleware-recursion-detection@3.840.0': dependencies: - '@aws-sdk/types': 3.804.0 - '@smithy/protocol-http': 5.1.1 - '@smithy/types': 4.3.0 + '@aws-sdk/types': 3.840.0 + '@smithy/protocol-http': 5.1.2 + '@smithy/types': 4.3.1 tslib: 2.8.1 - '@aws-sdk/middleware-user-agent@3.816.0': + '@aws-sdk/middleware-user-agent@3.848.0': dependencies: - '@aws-sdk/core': 3.816.0 - '@aws-sdk/types': 3.804.0 - '@aws-sdk/util-endpoints': 3.808.0 - '@smithy/core': 3.4.0 - '@smithy/protocol-http': 5.1.1 - '@smithy/types': 4.3.0 + '@aws-sdk/core': 3.846.0 + '@aws-sdk/types': 3.840.0 + '@aws-sdk/util-endpoints': 3.848.0 + '@smithy/core': 3.7.1 + '@smithy/protocol-http': 5.1.2 + '@smithy/types': 4.3.1 tslib: 2.8.1 - '@aws-sdk/nested-clients@3.817.0': + '@aws-sdk/middleware-websocket@3.844.0': + dependencies: + '@aws-sdk/types': 3.840.0 + '@aws-sdk/util-format-url': 3.840.0 + '@smithy/eventstream-codec': 4.0.4 + '@smithy/eventstream-serde-browser': 4.0.4 + '@smithy/fetch-http-handler': 5.1.0 + '@smithy/protocol-http': 5.1.2 + '@smithy/signature-v4': 5.1.2 + '@smithy/types': 4.3.1 + '@smithy/util-hex-encoding': 4.0.0 + tslib: 2.8.1 + + '@aws-sdk/nested-clients@3.848.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.816.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.816.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.816.0 - '@smithy/config-resolver': 4.1.3 - '@smithy/core': 3.4.0 - '@smithy/fetch-http-handler': 5.0.3 - '@smithy/hash-node': 4.0.3 - '@smithy/invalid-dependency': 4.0.3 - '@smithy/middleware-content-length': 4.0.3 - '@smithy/middleware-endpoint': 4.1.7 - '@smithy/middleware-retry': 4.1.8 - '@smithy/middleware-serde': 4.0.6 - '@smithy/middleware-stack': 4.0.3 - '@smithy/node-config-provider': 4.1.2 - '@smithy/node-http-handler': 4.0.5 - '@smithy/protocol-http': 5.1.1 - '@smithy/smithy-client': 4.3.0 - '@smithy/types': 4.3.0 - '@smithy/url-parser': 4.0.3 + '@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.1 + '@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.16 + '@smithy/middleware-retry': 4.1.17 + '@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.8 + '@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.15 - '@smithy/util-defaults-mode-node': 4.0.15 - '@smithy/util-endpoints': 3.0.5 - '@smithy/util-middleware': 4.0.3 - '@smithy/util-retry': 4.0.4 + '@smithy/util-defaults-mode-browser': 4.0.24 + '@smithy/util-defaults-mode-node': 4.0.24 + '@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.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/region-config-resolver@3.808.0': + '@aws-sdk/region-config-resolver@3.840.0': dependencies: - '@aws-sdk/types': 3.804.0 - '@smithy/node-config-provider': 4.1.2 - '@smithy/types': 4.3.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.3 + '@smithy/util-middleware': 4.0.4 tslib: 2.8.1 - '@aws-sdk/token-providers@3.817.0': + '@aws-sdk/token-providers@3.848.0': dependencies: - '@aws-sdk/core': 3.816.0 - '@aws-sdk/nested-clients': 3.817.0 - '@aws-sdk/types': 3.804.0 - '@smithy/property-provider': 4.0.3 - '@smithy/shared-ini-file-loader': 4.0.3 - '@smithy/types': 4.3.0 + '@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.8.1 transitivePeerDependencies: - aws-crt '@aws-sdk/types@3.804.0': dependencies: - '@smithy/types': 4.3.0 + '@smithy/types': 4.3.1 tslib: 2.8.1 - '@aws-sdk/util-endpoints@3.808.0': + '@aws-sdk/types@3.840.0': dependencies: - '@aws-sdk/types': 3.804.0 - '@smithy/types': 4.3.0 - '@smithy/util-endpoints': 3.0.5 + '@smithy/types': 4.3.1 + tslib: 2.8.1 + + '@aws-sdk/util-endpoints@3.848.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.8.1 + + '@aws-sdk/util-format-url@3.840.0': + dependencies: + '@aws-sdk/types': 3.840.0 + '@smithy/querystring-builder': 4.0.4 + '@smithy/types': 4.3.1 tslib: 2.8.1 '@aws-sdk/util-locate-window@3.804.0': dependencies: tslib: 2.8.1 - '@aws-sdk/util-user-agent-browser@3.804.0': + '@aws-sdk/util-user-agent-browser@3.840.0': dependencies: - '@aws-sdk/types': 3.804.0 - '@smithy/types': 4.3.0 + '@aws-sdk/types': 3.840.0 + '@smithy/types': 4.3.1 bowser: 2.11.0 tslib: 2.8.1 - '@aws-sdk/util-user-agent-node@3.816.0': + '@aws-sdk/util-user-agent-node@3.848.0': dependencies: - '@aws-sdk/middleware-user-agent': 3.816.0 - '@aws-sdk/types': 3.804.0 - '@smithy/node-config-provider': 4.1.2 - '@smithy/types': 4.3.0 + '@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.8.1 '@aws-sdk/util-utf8-browser@3.259.0': dependencies: tslib: 2.8.1 + '@aws-sdk/xml-builder@3.821.0': + dependencies: + '@smithy/types': 4.3.1 + tslib: 2.8.1 + '@azure/abort-controller@2.1.2': dependencies: tslib: 2.8.1 @@ -12133,36 +12183,37 @@ snapshots: '@smithy/types': 2.12.0 tslib: 2.8.1 - '@smithy/abort-controller@4.0.3': + '@smithy/abort-controller@4.0.4': dependencies: - '@smithy/types': 4.3.0 + '@smithy/types': 4.3.1 tslib: 2.8.1 - '@smithy/config-resolver@4.1.3': + '@smithy/config-resolver@4.1.4': dependencies: - '@smithy/node-config-provider': 4.1.2 - '@smithy/types': 4.3.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.3 + '@smithy/util-middleware': 4.0.4 tslib: 2.8.1 - '@smithy/core@3.4.0': + '@smithy/core@3.7.1': dependencies: - '@smithy/middleware-serde': 4.0.6 - '@smithy/protocol-http': 5.1.1 - '@smithy/types': 4.3.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.3 - '@smithy/util-stream': 4.2.1 + '@smithy/util-middleware': 4.0.4 + '@smithy/util-stream': 4.2.3 '@smithy/util-utf8': 4.0.0 tslib: 2.8.1 - '@smithy/credential-provider-imds@4.0.5': + '@smithy/credential-provider-imds@4.0.6': dependencies: - '@smithy/node-config-provider': 4.1.2 - '@smithy/property-provider': 4.0.3 - '@smithy/types': 4.3.0 - '@smithy/url-parser': 4.0.3 + '@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.8.1 '@smithy/eventstream-codec@2.2.0': @@ -12172,22 +12223,22 @@ snapshots: '@smithy/util-hex-encoding': 2.2.0 tslib: 2.8.1 - '@smithy/eventstream-codec@4.0.3': + '@smithy/eventstream-codec@4.0.4': dependencies: '@aws-crypto/crc32': 5.2.0 - '@smithy/types': 4.3.0 + '@smithy/types': 4.3.1 '@smithy/util-hex-encoding': 4.0.0 tslib: 2.8.1 - '@smithy/eventstream-serde-browser@4.0.3': + '@smithy/eventstream-serde-browser@4.0.4': dependencies: - '@smithy/eventstream-serde-universal': 4.0.3 - '@smithy/types': 4.3.0 + '@smithy/eventstream-serde-universal': 4.0.4 + '@smithy/types': 4.3.1 tslib: 2.8.1 - '@smithy/eventstream-serde-config-resolver@4.1.1': + '@smithy/eventstream-serde-config-resolver@4.1.2': dependencies: - '@smithy/types': 4.3.0 + '@smithy/types': 4.3.1 tslib: 2.8.1 '@smithy/eventstream-serde-node@2.2.0': @@ -12196,10 +12247,10 @@ snapshots: '@smithy/types': 2.12.0 tslib: 2.8.1 - '@smithy/eventstream-serde-node@4.0.3': + '@smithy/eventstream-serde-node@4.0.4': dependencies: - '@smithy/eventstream-serde-universal': 4.0.3 - '@smithy/types': 4.3.0 + '@smithy/eventstream-serde-universal': 4.0.4 + '@smithy/types': 4.3.1 tslib: 2.8.1 '@smithy/eventstream-serde-universal@2.2.0': @@ -12208,10 +12259,10 @@ snapshots: '@smithy/types': 2.12.0 tslib: 2.8.1 - '@smithy/eventstream-serde-universal@4.0.3': + '@smithy/eventstream-serde-universal@4.0.4': dependencies: - '@smithy/eventstream-codec': 4.0.3 - '@smithy/types': 4.3.0 + '@smithy/eventstream-codec': 4.0.4 + '@smithy/types': 4.3.1 tslib: 2.8.1 '@smithy/fetch-http-handler@2.5.0': @@ -12222,24 +12273,24 @@ snapshots: '@smithy/util-base64': 2.3.0 tslib: 2.8.1 - '@smithy/fetch-http-handler@5.0.3': + '@smithy/fetch-http-handler@5.1.0': dependencies: - '@smithy/protocol-http': 5.1.1 - '@smithy/querystring-builder': 4.0.3 - '@smithy/types': 4.3.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.8.1 - '@smithy/hash-node@4.0.3': + '@smithy/hash-node@4.0.4': dependencies: - '@smithy/types': 4.3.0 + '@smithy/types': 4.3.1 '@smithy/util-buffer-from': 4.0.0 '@smithy/util-utf8': 4.0.0 tslib: 2.8.1 - '@smithy/invalid-dependency@4.0.3': + '@smithy/invalid-dependency@4.0.4': dependencies: - '@smithy/types': 4.3.0 + '@smithy/types': 4.3.1 tslib: 2.8.1 '@smithy/is-array-buffer@2.2.0': @@ -12254,10 +12305,10 @@ snapshots: dependencies: tslib: 2.8.1 - '@smithy/middleware-content-length@4.0.3': + '@smithy/middleware-content-length@4.0.4': dependencies: - '@smithy/protocol-http': 5.1.1 - '@smithy/types': 4.3.0 + '@smithy/protocol-http': 5.1.2 + '@smithy/types': 4.3.1 tslib: 2.8.1 '@smithy/middleware-endpoint@2.5.1': @@ -12270,26 +12321,26 @@ snapshots: '@smithy/util-middleware': 2.2.0 tslib: 2.8.1 - '@smithy/middleware-endpoint@4.1.7': + '@smithy/middleware-endpoint@4.1.16': dependencies: - '@smithy/core': 3.4.0 - '@smithy/middleware-serde': 4.0.6 - '@smithy/node-config-provider': 4.1.2 - '@smithy/shared-ini-file-loader': 4.0.3 - '@smithy/types': 4.3.0 - '@smithy/url-parser': 4.0.3 - '@smithy/util-middleware': 4.0.3 + '@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.8.1 - '@smithy/middleware-retry@4.1.8': + '@smithy/middleware-retry@4.1.17': dependencies: - '@smithy/node-config-provider': 4.1.2 - '@smithy/protocol-http': 5.1.1 - '@smithy/service-error-classification': 4.0.4 - '@smithy/smithy-client': 4.3.0 - '@smithy/types': 4.3.0 - '@smithy/util-middleware': 4.0.3 - '@smithy/util-retry': 4.0.4 + '@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.8.1 uuid: 9.0.1 @@ -12298,10 +12349,10 @@ snapshots: '@smithy/types': 2.12.0 tslib: 2.8.1 - '@smithy/middleware-serde@4.0.6': + '@smithy/middleware-serde@4.0.8': dependencies: - '@smithy/protocol-http': 5.1.1 - '@smithy/types': 4.3.0 + '@smithy/protocol-http': 5.1.2 + '@smithy/types': 4.3.1 tslib: 2.8.1 '@smithy/middleware-stack@2.2.0': @@ -12309,9 +12360,9 @@ snapshots: '@smithy/types': 2.12.0 tslib: 2.8.1 - '@smithy/middleware-stack@4.0.3': + '@smithy/middleware-stack@4.0.4': dependencies: - '@smithy/types': 4.3.0 + '@smithy/types': 4.3.1 tslib: 2.8.1 '@smithy/node-config-provider@2.3.0': @@ -12321,11 +12372,11 @@ snapshots: '@smithy/types': 2.12.0 tslib: 2.8.1 - '@smithy/node-config-provider@4.1.2': + '@smithy/node-config-provider@4.1.3': dependencies: - '@smithy/property-provider': 4.0.3 - '@smithy/shared-ini-file-loader': 4.0.3 - '@smithy/types': 4.3.0 + '@smithy/property-provider': 4.0.4 + '@smithy/shared-ini-file-loader': 4.0.4 + '@smithy/types': 4.3.1 tslib: 2.8.1 '@smithy/node-http-handler@2.5.0': @@ -12336,12 +12387,12 @@ snapshots: '@smithy/types': 2.12.0 tslib: 2.8.1 - '@smithy/node-http-handler@4.0.5': + '@smithy/node-http-handler@4.1.0': dependencies: - '@smithy/abort-controller': 4.0.3 - '@smithy/protocol-http': 5.1.1 - '@smithy/querystring-builder': 4.0.3 - '@smithy/types': 4.3.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.8.1 '@smithy/property-provider@2.2.0': @@ -12349,9 +12400,9 @@ snapshots: '@smithy/types': 2.12.0 tslib: 2.8.1 - '@smithy/property-provider@4.0.3': + '@smithy/property-provider@4.0.4': dependencies: - '@smithy/types': 4.3.0 + '@smithy/types': 4.3.1 tslib: 2.8.1 '@smithy/protocol-http@3.3.0': @@ -12359,9 +12410,9 @@ snapshots: '@smithy/types': 2.12.0 tslib: 2.8.1 - '@smithy/protocol-http@5.1.1': + '@smithy/protocol-http@5.1.2': dependencies: - '@smithy/types': 4.3.0 + '@smithy/types': 4.3.1 tslib: 2.8.1 '@smithy/querystring-builder@2.2.0': @@ -12370,9 +12421,9 @@ snapshots: '@smithy/util-uri-escape': 2.2.0 tslib: 2.8.1 - '@smithy/querystring-builder@4.0.3': + '@smithy/querystring-builder@4.0.4': dependencies: - '@smithy/types': 4.3.0 + '@smithy/types': 4.3.1 '@smithy/util-uri-escape': 4.0.0 tslib: 2.8.1 @@ -12381,23 +12432,23 @@ snapshots: '@smithy/types': 2.12.0 tslib: 2.8.1 - '@smithy/querystring-parser@4.0.3': + '@smithy/querystring-parser@4.0.4': dependencies: - '@smithy/types': 4.3.0 + '@smithy/types': 4.3.1 tslib: 2.8.1 - '@smithy/service-error-classification@4.0.4': + '@smithy/service-error-classification@4.0.6': dependencies: - '@smithy/types': 4.3.0 + '@smithy/types': 4.3.1 '@smithy/shared-ini-file-loader@2.4.0': dependencies: '@smithy/types': 2.12.0 tslib: 2.8.1 - '@smithy/shared-ini-file-loader@4.0.3': + '@smithy/shared-ini-file-loader@4.0.4': dependencies: - '@smithy/types': 4.3.0 + '@smithy/types': 4.3.1 tslib: 2.8.1 '@smithy/signature-v4@3.1.2': @@ -12410,13 +12461,13 @@ snapshots: '@smithy/util-utf8': 3.0.0 tslib: 2.8.1 - '@smithy/signature-v4@5.1.1': + '@smithy/signature-v4@5.1.2': dependencies: '@smithy/is-array-buffer': 4.0.0 - '@smithy/protocol-http': 5.1.1 - '@smithy/types': 4.3.0 + '@smithy/protocol-http': 5.1.2 + '@smithy/types': 4.3.1 '@smithy/util-hex-encoding': 4.0.0 - '@smithy/util-middleware': 4.0.3 + '@smithy/util-middleware': 4.0.4 '@smithy/util-uri-escape': 4.0.0 '@smithy/util-utf8': 4.0.0 tslib: 2.8.1 @@ -12430,14 +12481,14 @@ snapshots: '@smithy/util-stream': 2.2.0 tslib: 2.8.1 - '@smithy/smithy-client@4.3.0': + '@smithy/smithy-client@4.4.8': dependencies: - '@smithy/core': 3.4.0 - '@smithy/middleware-endpoint': 4.1.7 - '@smithy/middleware-stack': 4.0.3 - '@smithy/protocol-http': 5.1.1 - '@smithy/types': 4.3.0 - '@smithy/util-stream': 4.2.1 + '@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.8.1 '@smithy/types@2.12.0': @@ -12448,7 +12499,7 @@ snapshots: dependencies: tslib: 2.8.1 - '@smithy/types@4.3.0': + '@smithy/types@4.3.1': dependencies: tslib: 2.8.1 @@ -12458,10 +12509,10 @@ snapshots: '@smithy/types': 2.12.0 tslib: 2.8.1 - '@smithy/url-parser@4.0.3': + '@smithy/url-parser@4.0.4': dependencies: - '@smithy/querystring-parser': 4.0.3 - '@smithy/types': 4.3.0 + '@smithy/querystring-parser': 4.0.4 + '@smithy/types': 4.3.1 tslib: 2.8.1 '@smithy/util-base64@2.3.0': @@ -12503,28 +12554,28 @@ snapshots: dependencies: tslib: 2.8.1 - '@smithy/util-defaults-mode-browser@4.0.15': + '@smithy/util-defaults-mode-browser@4.0.24': dependencies: - '@smithy/property-provider': 4.0.3 - '@smithy/smithy-client': 4.3.0 - '@smithy/types': 4.3.0 + '@smithy/property-provider': 4.0.4 + '@smithy/smithy-client': 4.4.8 + '@smithy/types': 4.3.1 bowser: 2.11.0 tslib: 2.8.1 - '@smithy/util-defaults-mode-node@4.0.15': + '@smithy/util-defaults-mode-node@4.0.24': dependencies: - '@smithy/config-resolver': 4.1.3 - '@smithy/credential-provider-imds': 4.0.5 - '@smithy/node-config-provider': 4.1.2 - '@smithy/property-provider': 4.0.3 - '@smithy/smithy-client': 4.3.0 - '@smithy/types': 4.3.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.8 + '@smithy/types': 4.3.1 tslib: 2.8.1 - '@smithy/util-endpoints@3.0.5': + '@smithy/util-endpoints@3.0.6': dependencies: - '@smithy/node-config-provider': 4.1.2 - '@smithy/types': 4.3.0 + '@smithy/node-config-provider': 4.1.3 + '@smithy/types': 4.3.1 tslib: 2.8.1 '@smithy/util-hex-encoding@2.2.0': @@ -12549,15 +12600,15 @@ snapshots: '@smithy/types': 3.7.2 tslib: 2.8.1 - '@smithy/util-middleware@4.0.3': + '@smithy/util-middleware@4.0.4': dependencies: - '@smithy/types': 4.3.0 + '@smithy/types': 4.3.1 tslib: 2.8.1 - '@smithy/util-retry@4.0.4': + '@smithy/util-retry@4.0.6': dependencies: - '@smithy/service-error-classification': 4.0.4 - '@smithy/types': 4.3.0 + '@smithy/service-error-classification': 4.0.6 + '@smithy/types': 4.3.1 tslib: 2.8.1 '@smithy/util-stream@2.2.0': @@ -12571,11 +12622,11 @@ snapshots: '@smithy/util-utf8': 2.3.0 tslib: 2.8.1 - '@smithy/util-stream@4.2.1': + '@smithy/util-stream@4.2.3': dependencies: - '@smithy/fetch-http-handler': 5.0.3 - '@smithy/node-http-handler': 4.0.5 - '@smithy/types': 4.3.0 + '@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 @@ -15176,14 +15227,14 @@ snapshots: fast-shallow-equal@1.0.0: {} - fast-xml-parser@4.4.1: - dependencies: - strnum: 1.1.2 - fast-xml-parser@5.2.3: dependencies: strnum: 2.1.1 + fast-xml-parser@5.2.5: + dependencies: + strnum: 2.1.1 + fastest-levenshtein@1.0.16: {} fastest-stable-stringify@2.0.2: {} @@ -18847,8 +18898,6 @@ snapshots: dependencies: js-tokens: 9.0.1 - strnum@1.1.2: {} - strnum@2.1.1: {} strong-type@0.1.6: {} diff --git a/src/api/providers/__tests__/bedrock-inference-profiles.spec.ts b/src/api/providers/__tests__/bedrock-inference-profiles.spec.ts index 7eef16d241..16ee002e20 100644 --- a/src/api/providers/__tests__/bedrock-inference-profiles.spec.ts +++ b/src/api/providers/__tests__/bedrock-inference-profiles.spec.ts @@ -16,7 +16,7 @@ vitest.mock("@aws-sdk/client-bedrock-runtime", () => { } }) -describe("AWS Bedrock Inference Profiles", () => { +describe("Amazon Bedrock Inference Profiles", () => { // Helper function to create a handler with specific options const createHandler = (options: Partial = {}) => { const defaultOptions: ApiHandlerOptions = { diff --git a/src/api/providers/__tests__/bedrock-reasoning.spec.ts b/src/api/providers/__tests__/bedrock-reasoning.spec.ts index f11a27fa96..f8d9beb0eb 100644 --- a/src/api/providers/__tests__/bedrock-reasoning.spec.ts +++ b/src/api/providers/__tests__/bedrock-reasoning.spec.ts @@ -278,5 +278,51 @@ describe("AwsBedrockHandler - Extended Thinking", () => { expect(reasoningChunks[0].text).toBe("Let me think...") expect(reasoningChunks[1].text).toBe(" about this problem.") }) + + it("should support API key authentication", async () => { + handler = new AwsBedrockHandler({ + apiProvider: "bedrock", + apiModelId: "anthropic.claude-3-5-sonnet-20241022-v2:0", + awsRegion: "us-east-1", + awsUseApiKey: true, + awsApiKey: "test-api-key-token", + }) + + mockSend.mockResolvedValue({ + stream: (async function* () { + yield { messageStart: { role: "assistant" } } + yield { + contentBlockStart: { + start: { text: "Hello from API key auth" }, + contentBlockIndex: 0, + }, + } + yield { metadata: { usage: { inputTokens: 100, outputTokens: 50 } } } + })(), + }) + + const messages = [{ role: "user" as const, content: "Test message" }] + const stream = handler.createMessage("System prompt", messages) + + const chunks = [] + for await (const chunk of stream) { + chunks.push(chunk) + } + + // Verify the client was created with API key token + expect(BedrockRuntimeClient).toHaveBeenCalledWith( + expect.objectContaining({ + region: "us-east-1", + token: { token: "test-api-key-token" }, + authSchemePreference: ["httpBearerAuth"], + }), + ) + + // Verify the stream worked correctly + expect(mockSend).toHaveBeenCalledTimes(1) + const textChunks = chunks.filter((c) => c.type === "text") + expect(textChunks).toHaveLength(1) + expect(textChunks[0].text).toBe("Hello from API key auth") + }) }) }) diff --git a/src/api/providers/__tests__/bedrock-vpc-endpoint.spec.ts b/src/api/providers/__tests__/bedrock-vpc-endpoint.spec.ts index ca8329ec11..7823775bea 100644 --- a/src/api/providers/__tests__/bedrock-vpc-endpoint.spec.ts +++ b/src/api/providers/__tests__/bedrock-vpc-endpoint.spec.ts @@ -29,7 +29,7 @@ import { BedrockRuntimeClient } from "@aws-sdk/client-bedrock-runtime" // Get access to the mocked functions const mockBedrockRuntimeClient = vi.mocked(BedrockRuntimeClient) -describe("AWS Bedrock VPC Endpoint Functionality", () => { +describe("Amazon Bedrock VPC Endpoint Functionality", () => { beforeEach(() => { // Clear all mocks before each test vi.clearAllMocks() diff --git a/src/api/providers/bedrock.ts b/src/api/providers/bedrock.ts index a25fea5200..76e502e6c7 100644 --- a/src/api/providers/bedrock.ts +++ b/src/api/providers/bedrock.ts @@ -222,7 +222,11 @@ export class AwsBedrockHandler extends BaseProvider implements SingleCompletionH this.options.awsBedrockEndpointEnabled && { endpoint: this.options.awsBedrockEndpoint }), } - if (this.options.awsUseProfile && this.options.awsProfile) { + if (this.options.awsUseApiKey && this.options.awsApiKey) { + // Use API key/token-based authentication if enabled and API key is set + clientConfig.token = { token: this.options.awsApiKey } + clientConfig.authSchemePreference = ["httpBearerAuth"] // Otherwise there's no end of credential problems. + } else if (this.options.awsUseProfile && this.options.awsProfile) { // Use profile-based credentials if enabled and profile is set clientConfig.credentials = fromIni({ profile: this.options.awsProfile, @@ -1078,7 +1082,7 @@ Please verify: "throttl", "rate", "limit", - "bedrock is unable to process your request", // AWS Bedrock specific throttling message + "bedrock is unable to process your request", // Amazon Bedrock specific throttling message "please wait", "quota exceeded", "service unavailable", @@ -1124,7 +1128,7 @@ Suggestions: Please try: 1. Contact AWS support to request a quota increase 2. Reduce request frequency temporarily -3. Check your AWS Bedrock quotas in the AWS console +3. Check your Amazon Bedrock quotas in the AWS console 4. Consider using a different model or region with available capacity `, @@ -1139,7 +1143,7 @@ Please try: Please try: 1. Wait a few minutes and retry -2. Check the model status in AWS Bedrock console +2. Check the model status in Amazon Bedrock console 3. Verify the model is properly provisioned `, @@ -1147,7 +1151,7 @@ Please try: }, INTERNAL_SERVER_ERROR: { patterns: ["internal server error", "internal error", "server error", "service error"], - messageTemplate: `AWS Bedrock internal server error. This is a temporary service issue. + messageTemplate: `Amazon Bedrock internal server error. This is a temporary service issue. Please try: 1. Retry the request after a brief delay @@ -1184,7 +1188,7 @@ Please try: ], messageTemplate: `Parameter validation error: {errorMessage} -This error indicates that the request parameters don't match AWS Bedrock's expected format. +This error indicates that the request parameters don't match Amazon Bedrock's expected format. Common causes: 1. Extended thinking parameter format is incorrect @@ -1193,7 +1197,7 @@ Common causes: Please check: - Model supports the requested features (extended thinking, etc.) -- Parameter format matches AWS Bedrock specification +- Parameter format matches Amazon Bedrock specification - Model ID is correct for the requested features`, logLevel: "error", }, @@ -1218,7 +1222,7 @@ Please check: return "THROTTLING" } - // Check for AWS Bedrock specific throttling exception names + // Check for Amazon Bedrock specific throttling exception names if ((error as any).name === "ThrottlingException" || (error as any).__type === "ThrottlingException") { return "THROTTLING" } diff --git a/src/package.json b/src/package.json index 1fac5fb365..c816837bb7 100644 --- a/src/package.json +++ b/src/package.json @@ -413,8 +413,8 @@ "@anthropic-ai/bedrock-sdk": "^0.10.2", "@anthropic-ai/sdk": "^0.37.0", "@anthropic-ai/vertex-sdk": "^0.7.0", - "@aws-sdk/client-bedrock-runtime": "^3.779.0", - "@aws-sdk/credential-providers": "^3.806.0", + "@aws-sdk/client-bedrock-runtime": "^3.848.0", + "@aws-sdk/credential-providers": "^3.848.0", "@google/genai": "^1.0.0", "@lmstudio/sdk": "^1.1.1", "@mistralai/mistralai": "^1.3.6", diff --git a/webview-ui/src/components/settings/providers/Bedrock.tsx b/webview-ui/src/components/settings/providers/Bedrock.tsx index 1839298f9b..750f631856 100644 --- a/webview-ui/src/components/settings/providers/Bedrock.tsx +++ b/webview-ui/src/components/settings/providers/Bedrock.tsx @@ -1,6 +1,6 @@ import { useCallback, useState, useEffect } from "react" import { Checkbox } from "vscrui" -import { VSCodeTextField, VSCodeRadio, VSCodeRadioGroup } from "@vscode/webview-ui-toolkit/react" +import { VSCodeTextField } from "@vscode/webview-ui-toolkit/react" import { type ProviderSettings, type ModelInfo, BEDROCK_REGIONS } from "@roo-code/types" @@ -37,19 +37,51 @@ export const Bedrock = ({ apiConfiguration, setApiConfigurationField, selectedMo return ( <> - (e.target as HTMLInputElement).value === "profile", - )}> - {t("settings:providers.awsCredentials")} - {t("settings:providers.awsProfile")} - +
+ + +
{t("settings:providers.apiKeyStorageNotice")}
- {apiConfiguration?.awsUseProfile ? ( + {apiConfiguration?.awsUseApiKey ? ( + + + + ) : apiConfiguration?.awsUseProfile ? ( ({ // Mock the UI components vi.mock("@src/components/ui", () => ({ - Select: ({ children }: any) =>
{children}
, - SelectContent: ({ children }: any) =>
{children}
, - SelectItem: () =>
Item
, - SelectTrigger: ({ children }: any) =>
{children}
, - SelectValue: () =>
Value
, + Select: ({ children, value, onValueChange }: any) => ( + + ), + SelectContent: ({ children }: any) => <>{children}, + SelectItem: ({ children, value }: any) => , + SelectTrigger: ({ children }: any) => <>{children}, + SelectValue: () => null, + StandardTooltip: ({ children }: any) =>
{children}
, })) // Mock the constants @@ -424,5 +429,126 @@ describe("Bedrock Component", () => { expect(screen.getByTestId("vpc-endpoint-input")).toBeInTheDocument() expect(screen.getByTestId("vpc-endpoint-input")).toHaveValue("https://updated-endpoint.aws.com") }) + + // Test Scenario 6: Authentication Method Selection Tests + describe("Authentication Method Selection", () => { + it("should display credentials option as selected when neither awsUseProfile nor awsUseApiKey is true", () => { + const apiConfiguration: Partial = { + awsUseProfile: false, + awsUseApiKey: false, + } + + render( + , + ) + + // Find the first select element (authentication method) + const selectInputs = screen.getAllByRole("combobox") + const authSelect = selectInputs[0] as HTMLSelectElement + expect(authSelect).toHaveValue("credentials") + }) + + it("should display profile option as selected when awsUseProfile is true", () => { + const apiConfiguration: Partial = { + awsUseProfile: true, + awsUseApiKey: false, + } + + render( + , + ) + + const selectInputs = screen.getAllByRole("combobox") + const authSelect = selectInputs[0] as HTMLSelectElement + expect(authSelect).toHaveValue("profile") + }) + + it("should display apikey option as selected when awsUseApiKey is true", () => { + const apiConfiguration: Partial = { + awsUseProfile: false, + awsUseApiKey: true, + } + + render( + , + ) + + const selectInputs = screen.getAllByRole("combobox") + const authSelect = selectInputs[0] as HTMLSelectElement + expect(authSelect).toHaveValue("apikey") + }) + + it("should call setApiConfigurationField correctly when switching to profile", () => { + const apiConfiguration: Partial = { + awsUseProfile: false, + awsUseApiKey: false, + } + + render( + , + ) + + const selectInputs = screen.getAllByRole("combobox") + const authSelect = selectInputs[0] as HTMLSelectElement + fireEvent.change(authSelect, { target: { value: "profile" } }) + + expect(mockSetApiConfigurationField).toHaveBeenCalledWith("awsUseApiKey", false) + expect(mockSetApiConfigurationField).toHaveBeenCalledWith("awsUseProfile", true) + }) + + it("should call setApiConfigurationField correctly when switching to apikey", () => { + const apiConfiguration: Partial = { + awsUseProfile: false, + awsUseApiKey: false, + } + + render( + , + ) + + const selectInputs = screen.getAllByRole("combobox") + const authSelect = selectInputs[0] as HTMLSelectElement + fireEvent.change(authSelect, { target: { value: "apikey" } }) + + expect(mockSetApiConfigurationField).toHaveBeenCalledWith("awsUseApiKey", true) + expect(mockSetApiConfigurationField).toHaveBeenCalledWith("awsUseProfile", false) + }) + + it("should call setApiConfigurationField correctly when switching to credentials", () => { + const apiConfiguration: Partial = { + awsUseProfile: true, + awsUseApiKey: false, + } + + render( + , + ) + + const selectInputs = screen.getAllByRole("combobox") + const authSelect = selectInputs[0] as HTMLSelectElement + fireEvent.change(authSelect, { target: { value: "credentials" } }) + + expect(mockSetApiConfigurationField).toHaveBeenCalledWith("awsUseApiKey", false) + expect(mockSetApiConfigurationField).toHaveBeenCalledWith("awsUseProfile", false) + }) + }) }) }) diff --git a/webview-ui/src/i18n/locales/ca/settings.json b/webview-ui/src/i18n/locales/ca/settings.json index 047b5858bf..ab929d724d 100644 --- a/webview-ui/src/i18n/locales/ca/settings.json +++ b/webview-ui/src/i18n/locales/ca/settings.json @@ -287,6 +287,7 @@ "litellmBaseUrl": "URL base de LiteLLM", "awsCredentials": "Credencials d'AWS", "awsProfile": "Perfil d'AWS", + "awsApiKey": "Clau d'API d'Amazon Bedrock", "awsProfileName": "Nom del perfil d'AWS", "awsAccessKey": "Clau d'accés d'AWS", "awsSecretKey": "Clau secreta d'AWS", diff --git a/webview-ui/src/i18n/locales/de/settings.json b/webview-ui/src/i18n/locales/de/settings.json index fa64685462..766bc891e4 100644 --- a/webview-ui/src/i18n/locales/de/settings.json +++ b/webview-ui/src/i18n/locales/de/settings.json @@ -287,6 +287,7 @@ "litellmBaseUrl": "LiteLLM Basis-URL", "awsCredentials": "AWS Anmeldedaten", "awsProfile": "AWS Profil", + "awsApiKey": "Amazon Bedrock API-Schlüssel", "awsProfileName": "AWS Profilname", "awsAccessKey": "AWS Zugangsschlüssel", "awsSecretKey": "AWS Geheimschlüssel", diff --git a/webview-ui/src/i18n/locales/en/settings.json b/webview-ui/src/i18n/locales/en/settings.json index f2b05b3369..cfd5b04286 100644 --- a/webview-ui/src/i18n/locales/en/settings.json +++ b/webview-ui/src/i18n/locales/en/settings.json @@ -287,6 +287,7 @@ "litellmBaseUrl": "LiteLLM Base URL", "awsCredentials": "AWS Credentials", "awsProfile": "AWS Profile", + "awsApiKey": "Amazon Bedrock API Key", "awsProfileName": "AWS Profile Name", "awsAccessKey": "AWS Access Key", "awsSecretKey": "AWS Secret Key", diff --git a/webview-ui/src/i18n/locales/es/settings.json b/webview-ui/src/i18n/locales/es/settings.json index 3d60bfb45c..f536863909 100644 --- a/webview-ui/src/i18n/locales/es/settings.json +++ b/webview-ui/src/i18n/locales/es/settings.json @@ -287,6 +287,7 @@ "litellmBaseUrl": "URL base de LiteLLM", "awsCredentials": "Credenciales de AWS", "awsProfile": "Perfil de AWS", + "awsApiKey": "Clave de API de Amazon Bedrock", "awsProfileName": "Nombre del perfil de AWS", "awsAccessKey": "Clave de acceso de AWS", "awsSecretKey": "Clave secreta de AWS", diff --git a/webview-ui/src/i18n/locales/fr/settings.json b/webview-ui/src/i18n/locales/fr/settings.json index 2654afcbdc..0e12c58d38 100644 --- a/webview-ui/src/i18n/locales/fr/settings.json +++ b/webview-ui/src/i18n/locales/fr/settings.json @@ -287,6 +287,7 @@ "litellmBaseUrl": "URL de base LiteLLM", "awsCredentials": "Identifiants AWS", "awsProfile": "Profil AWS", + "awsApiKey": "Clé API Amazon Bedrock", "awsProfileName": "Nom du profil AWS", "awsAccessKey": "Clé d'accès AWS", "awsSecretKey": "Clé secrète AWS", diff --git a/webview-ui/src/i18n/locales/hi/settings.json b/webview-ui/src/i18n/locales/hi/settings.json index 279de29ada..d2cfa971ff 100644 --- a/webview-ui/src/i18n/locales/hi/settings.json +++ b/webview-ui/src/i18n/locales/hi/settings.json @@ -221,7 +221,7 @@ "noProviderMatchFound": "कोई प्रदाता नहीं मिला", "noMatchFound": "कोई मिलान प्रोफ़ाइल नहीं मिला", "vscodeLmDescription": "VS कोड भाषा मॉडल API आपको अन्य VS कोड एक्सटेंशन (जैसे GitHub Copilot) द्वारा प्रदान किए गए मॉडल चलाने की अनुमति देता है। शुरू करने का सबसे आसान तरीका VS कोड मार्केटप्लेस से Copilot और Copilot चैट एक्सटेंशन इंस्टॉल करना है।", - "awsCustomArnUse": "आप जिस मॉडल का उपयोग करना चाहते हैं, उसके लिए एक वैध AWS बेडरॉक ARN दर्ज करें। प्रारूप उदाहरण:", + "awsCustomArnUse": "आप जिस मॉडल का उपयोग करना चाहते हैं, उसके लिए एक वैध Amazon बेडरॉक ARN दर्ज करें। प्रारूप उदाहरण:", "awsCustomArnDesc": "सुनिश्चित करें कि ARN में क्षेत्र ऊपर चयनित AWS क्षेत्र से मेल खाता है।", "openRouterApiKey": "OpenRouter API कुंजी", "getOpenRouterApiKey": "OpenRouter API कुंजी प्राप्त करें", @@ -287,6 +287,7 @@ "litellmBaseUrl": "LiteLLM आधार URL", "awsCredentials": "AWS क्रेडेंशियल्स", "awsProfile": "AWS प्रोफाइल", + "awsApiKey": "Amazon बेडरॉक API कुंजी", "awsProfileName": "AWS प्रोफाइल नाम", "awsAccessKey": "AWS एक्सेस कुंजी", "awsSecretKey": "AWS सीक्रेट कुंजी", diff --git a/webview-ui/src/i18n/locales/id/settings.json b/webview-ui/src/i18n/locales/id/settings.json index d54db7122e..3f362f650d 100644 --- a/webview-ui/src/i18n/locales/id/settings.json +++ b/webview-ui/src/i18n/locales/id/settings.json @@ -291,6 +291,7 @@ "litellmBaseUrl": "LiteLLM Base URL", "awsCredentials": "AWS Credentials", "awsProfile": "AWS Profile", + "awsApiKey": "Kunci API Amazon Bedrock", "awsProfileName": "Nama AWS Profile", "awsAccessKey": "AWS Access Key", "awsSecretKey": "AWS Secret Key", diff --git a/webview-ui/src/i18n/locales/it/settings.json b/webview-ui/src/i18n/locales/it/settings.json index ed77701914..14deda20ea 100644 --- a/webview-ui/src/i18n/locales/it/settings.json +++ b/webview-ui/src/i18n/locales/it/settings.json @@ -287,6 +287,7 @@ "litellmBaseUrl": "URL base LiteLLM", "awsCredentials": "Credenziali AWS", "awsProfile": "Profilo AWS", + "awsApiKey": "Chiave API Amazon Bedrock", "awsProfileName": "Nome profilo AWS", "awsAccessKey": "Chiave di accesso AWS", "awsSecretKey": "Chiave segreta AWS", diff --git a/webview-ui/src/i18n/locales/ja/settings.json b/webview-ui/src/i18n/locales/ja/settings.json index efa020b320..d7864e40db 100644 --- a/webview-ui/src/i18n/locales/ja/settings.json +++ b/webview-ui/src/i18n/locales/ja/settings.json @@ -287,6 +287,7 @@ "litellmBaseUrl": "LiteLLM ベースURL", "awsCredentials": "AWS認証情報", "awsProfile": "AWSプロファイル", + "awsApiKey": "Amazon Bedrock APIキー", "awsProfileName": "AWSプロファイル名", "awsAccessKey": "AWSアクセスキー", "awsSecretKey": "AWSシークレットキー", diff --git a/webview-ui/src/i18n/locales/ko/settings.json b/webview-ui/src/i18n/locales/ko/settings.json index 39b8fd6e33..adbe216463 100644 --- a/webview-ui/src/i18n/locales/ko/settings.json +++ b/webview-ui/src/i18n/locales/ko/settings.json @@ -287,6 +287,7 @@ "litellmBaseUrl": "LiteLLM 기본 URL", "awsCredentials": "AWS 자격 증명", "awsProfile": "AWS 프로필", + "awsApiKey": "Amazon Bedrock API 키", "awsProfileName": "AWS 프로필 이름", "awsAccessKey": "AWS 액세스 키", "awsSecretKey": "AWS 시크릿 키", diff --git a/webview-ui/src/i18n/locales/nl/settings.json b/webview-ui/src/i18n/locales/nl/settings.json index d7eba61045..6085be8fb1 100644 --- a/webview-ui/src/i18n/locales/nl/settings.json +++ b/webview-ui/src/i18n/locales/nl/settings.json @@ -287,6 +287,7 @@ "litellmBaseUrl": "LiteLLM basis-URL", "awsCredentials": "AWS-inloggegevens", "awsProfile": "AWS-profiel", + "awsApiKey": "Amazon Bedrock API-sleutel", "awsProfileName": "AWS-profielnaam", "awsAccessKey": "AWS-toegangssleutel", "awsSecretKey": "AWS-geheime sleutel", diff --git a/webview-ui/src/i18n/locales/pl/settings.json b/webview-ui/src/i18n/locales/pl/settings.json index 960c59724b..9107fd959e 100644 --- a/webview-ui/src/i18n/locales/pl/settings.json +++ b/webview-ui/src/i18n/locales/pl/settings.json @@ -287,6 +287,7 @@ "litellmBaseUrl": "URL bazowy LiteLLM", "awsCredentials": "Poświadczenia AWS", "awsProfile": "Profil AWS", + "awsApiKey": "Klucz API Amazon Bedrock", "awsProfileName": "Nazwa profilu AWS", "awsAccessKey": "Klucz dostępu AWS", "awsSecretKey": "Klucz tajny AWS", diff --git a/webview-ui/src/i18n/locales/pt-BR/settings.json b/webview-ui/src/i18n/locales/pt-BR/settings.json index 2bb9d4b921..8137d917ae 100644 --- a/webview-ui/src/i18n/locales/pt-BR/settings.json +++ b/webview-ui/src/i18n/locales/pt-BR/settings.json @@ -287,6 +287,7 @@ "litellmBaseUrl": "URL base LiteLLM", "awsCredentials": "Credenciais AWS", "awsProfile": "Perfil AWS", + "awsApiKey": "Chave de API Amazon Bedrock", "awsProfileName": "Nome do Perfil AWS", "awsAccessKey": "Chave de Acesso AWS", "awsSecretKey": "Chave Secreta AWS", diff --git a/webview-ui/src/i18n/locales/ru/settings.json b/webview-ui/src/i18n/locales/ru/settings.json index c57a8db3d6..e93f24e9d7 100644 --- a/webview-ui/src/i18n/locales/ru/settings.json +++ b/webview-ui/src/i18n/locales/ru/settings.json @@ -287,6 +287,7 @@ "litellmBaseUrl": "Базовый URL LiteLLM", "awsCredentials": "AWS-учётные данные", "awsProfile": "Профиль AWS", + "awsApiKey": "Ключ API Amazon Bedrock", "awsProfileName": "Имя профиля AWS", "awsAccessKey": "AWS Access Key", "awsSecretKey": "AWS Secret Key", diff --git a/webview-ui/src/i18n/locales/tr/settings.json b/webview-ui/src/i18n/locales/tr/settings.json index 576e3c1b53..450738183b 100644 --- a/webview-ui/src/i18n/locales/tr/settings.json +++ b/webview-ui/src/i18n/locales/tr/settings.json @@ -287,6 +287,7 @@ "litellmBaseUrl": "LiteLLM Temel URL", "awsCredentials": "AWS Kimlik Bilgileri", "awsProfile": "AWS Profili", + "awsApiKey": "Amazon Bedrock API Anahtarı", "awsProfileName": "AWS Profil Adı", "awsAccessKey": "AWS Erişim Anahtarı", "awsSecretKey": "AWS Gizli Anahtarı", diff --git a/webview-ui/src/i18n/locales/vi/settings.json b/webview-ui/src/i18n/locales/vi/settings.json index 76a4f9397d..87e99ce6f5 100644 --- a/webview-ui/src/i18n/locales/vi/settings.json +++ b/webview-ui/src/i18n/locales/vi/settings.json @@ -287,6 +287,7 @@ "litellmBaseUrl": "URL cơ sở LiteLLM", "awsCredentials": "Thông tin xác thực AWS", "awsProfile": "Hồ sơ AWS", + "awsApiKey": "Khóa API Amazon Bedrock", "awsProfileName": "Tên hồ sơ AWS", "awsAccessKey": "Khóa truy cập AWS", "awsSecretKey": "Khóa bí mật AWS", diff --git a/webview-ui/src/i18n/locales/zh-CN/settings.json b/webview-ui/src/i18n/locales/zh-CN/settings.json index 748b9f1d5d..e94c857e65 100644 --- a/webview-ui/src/i18n/locales/zh-CN/settings.json +++ b/webview-ui/src/i18n/locales/zh-CN/settings.json @@ -287,6 +287,7 @@ "litellmBaseUrl": "LiteLLM 基础 URL", "awsCredentials": "AWS 凭证", "awsProfile": "AWS 配置文件", + "awsApiKey": "Amazon Bedrock API 密钥", "awsProfileName": "AWS 配置文件名称", "awsAccessKey": "AWS 访问密钥", "awsSecretKey": "AWS 密钥", diff --git a/webview-ui/src/i18n/locales/zh-TW/settings.json b/webview-ui/src/i18n/locales/zh-TW/settings.json index f4a6149102..fa10cf3028 100644 --- a/webview-ui/src/i18n/locales/zh-TW/settings.json +++ b/webview-ui/src/i18n/locales/zh-TW/settings.json @@ -287,6 +287,7 @@ "litellmBaseUrl": "LiteLLM 基礎 URL", "awsCredentials": "AWS 認證", "awsProfile": "AWS Profile", + "awsApiKey": "Amazon Bedrock API 金鑰", "awsProfileName": "AWS Profile 名稱", "awsAccessKey": "AWS Access Key", "awsSecretKey": "AWS Secret Key",