From 21289f6477a83efb791a5b8d04846626eb0d7f53 Mon Sep 17 00:00:00 2001 From: madushajg Date: Thu, 9 Oct 2025 20:18:09 +0530 Subject: [PATCH 001/491] Add 'create as workspace' option in creation form --- .../src/rpc-types/bi-diagram/interfaces.ts | 2 + .../rpc-managers/bi-diagram/rpc-manager.ts | 10 +- .../ballerina-extension/src/utils/bi.ts | 117 ++++++++++++++---- .../ConfigureProjectForm.tsx | 4 + .../BI/ProjectForm/ProjectFormFields.tsx | 35 +++++- .../src/views/BI/ProjectForm/index.tsx | 6 +- 6 files changed, 143 insertions(+), 31 deletions(-) diff --git a/workspaces/ballerina/ballerina-core/src/rpc-types/bi-diagram/interfaces.ts b/workspaces/ballerina/ballerina-core/src/rpc-types/bi-diagram/interfaces.ts index 1e756452a72..baf58a15516 100644 --- a/workspaces/ballerina/ballerina-core/src/rpc-types/bi-diagram/interfaces.ts +++ b/workspaces/ballerina/ballerina-core/src/rpc-types/bi-diagram/interfaces.ts @@ -26,6 +26,8 @@ export interface ProjectRequest { packageName: string; projectPath: string; createDirectory: boolean; + createAsWorkspace: boolean; + workspaceName: string; orgName?: string; version?: string; } diff --git a/workspaces/ballerina/ballerina-extension/src/rpc-managers/bi-diagram/rpc-manager.ts b/workspaces/ballerina/ballerina-extension/src/rpc-managers/bi-diagram/rpc-manager.ts index 2766bc90a2c..49bb797cc19 100644 --- a/workspaces/ballerina/ballerina-extension/src/rpc-managers/bi-diagram/rpc-manager.ts +++ b/workspaces/ballerina/ballerina-extension/src/rpc-managers/bi-diagram/rpc-manager.ts @@ -168,7 +168,7 @@ import { BreakpointManager } from "../../features/debugger/breakpoint-manager"; import { StateMachine, updateView } from "../../stateMachine"; import { getAccessToken, getLoginMethod } from "../../utils/ai/auth"; import { getCompleteSuggestions } from '../../utils/ai/completions'; -import { README_FILE, createBIAutomation, createBIFunction, createBIProjectPure } from "../../utils/bi"; +import { README_FILE, createBIAutomation, createBIFunction, createBIProjectPure, createBIWorkspace, openInVSCode } from "../../utils/bi"; import { writeBallerinaFileDidOpen } from "../../utils/modification"; import { updateSourceCode } from "../../utils/source-utils"; import { checkProjectDiagnostics, removeUnusedImports } from "../ai-panel/repair-utils"; @@ -576,7 +576,13 @@ export class BiDiagramRpcManager implements BIDiagramAPI { } async createProject(params: ProjectRequest): Promise { - createBIProjectPure(params); + if (params.createAsWorkspace) { + const workspaceRoot = createBIWorkspace(params); + openInVSCode(workspaceRoot); + } else { + const projectRoot = createBIProjectPure(params); + openInVSCode(projectRoot); + } } async getWorkspaces(): Promise { diff --git a/workspaces/ballerina/ballerina-extension/src/utils/bi.ts b/workspaces/ballerina/ballerina-extension/src/utils/bi.ts index 5a4610ab88f..4ebc4d42700 100644 --- a/workspaces/ballerina/ballerina-extension/src/utils/bi.ts +++ b/workspaces/ballerina/ballerina-extension/src/utils/bi.ts @@ -31,6 +31,18 @@ export const README_FILE = "readme.md"; export const FUNCTIONS_FILE = "functions.bal"; export const DATA_MAPPING_FILE = "data_mappings.bal"; +/** + * Interface for the processed project information + */ +interface ProcessedProjectInfo { + sanitizedPackageName: string; + projectRoot: string; + finalOrgName: string; + finalVersion: string; + packageName: string; + integrationName: string; +} + const settingsJsonContent = ` { "ballerina.isBI": true @@ -86,15 +98,6 @@ generated/ Config.toml `; -export function openBIProject() { - window.showOpenDialog({ canSelectFolders: true, canSelectFiles: false, openLabel: 'Open Integration' }) - .then(uri => { - if (uri && uri[0]) { - commands.executeCommand('vscode.openFolder', uri[0]); - } - }); -} - export function createBIProject(name: string, isService: boolean) { window.showOpenDialog({ canSelectFolders: true, canSelectFiles: false, openLabel: 'Select Project Location' }) .then(uri => { @@ -147,23 +150,64 @@ export function getUsername(): string { return username; } -function setupProjectInfo(projectRequest: ProjectRequest) { - const sanitizedPackageName = sanitizeName(projectRequest.packageName); - - const projectRoot = projectRequest.createDirectory - ? path.join(projectRequest.projectPath, sanitizedPackageName) - : projectRequest.projectPath; +/** + * Generic function to resolve directory paths and create directories if needed + * Can be used for both project and workspace directory creation + * @param basePath - Base directory path + * @param directoryName - Name of the directory to create (optional) + * @param shouldCreateDirectory - Whether to create a new directory + * @returns The resolved directory path + */ +function resolveDirectoryPath(basePath: string, directoryName?: string, shouldCreateDirectory: boolean = true): string { + const resolvedPath = directoryName + ? path.join(basePath, directoryName) + : basePath; - // Create project root directory if needed - if (projectRequest.createDirectory && !fs.existsSync(projectRoot)) { - fs.mkdirSync(projectRoot, { recursive: true }); + if (shouldCreateDirectory && !fs.existsSync(resolvedPath)) { + fs.mkdirSync(resolvedPath, { recursive: true }); } + + return resolvedPath; +} - let finalOrgName = projectRequest.orgName; - if (!finalOrgName) { - finalOrgName = getUsername(); - } +/** + * Resolves the project root path and creates the directory if needed + * @param projectPath - Base project path + * @param sanitizedPackageName - Sanitized package name for directory creation + * @param createDirectory - Whether to create a new directory + * @returns The resolved project root path + */ +function resolveProjectPath(projectPath: string, sanitizedPackageName: string, createDirectory: boolean): string { + return resolveDirectoryPath( + projectPath, + createDirectory ? sanitizedPackageName : undefined, + createDirectory + ); +} + +/** + * Resolves the workspace root path and creates the directory + * @param basePath - Base path where workspace should be created + * @param workspaceName - Name of the workspace directory + * @returns The resolved workspace root path + */ +function resolveWorkspacePath(basePath: string, workspaceName: string): string { + return resolveDirectoryPath(basePath, workspaceName, true); +} +/** + * Orchestrates the setup of project information + * @param projectRequest - The project request containing all necessary information + * @returns Processed project information ready for use + */ +function setupProjectInfo(projectRequest: ProjectRequest): ProcessedProjectInfo { + const sanitizedPackageName = sanitizeName(projectRequest.packageName); + const projectRoot = resolveProjectPath( + projectRequest.projectPath, + sanitizedPackageName, + projectRequest.createDirectory + ); + const finalOrgName = projectRequest.orgName || getUsername(); const finalVersion = projectRequest.version || "0.1.0"; return { @@ -176,7 +220,28 @@ function setupProjectInfo(projectRequest: ProjectRequest) { }; } -export function createBIProjectPure(projectRequest: ProjectRequest) { +export function createBIWorkspace(projectRequest: ProjectRequest): string { + const ballerinaTomlContent = ` +[workspace] +packages = ["${projectRequest.packageName}"] + +`; + + // Use the workspace-specific directory resolver + const workspaceRoot = resolveWorkspacePath(projectRequest.projectPath, projectRequest.workspaceName); + + // Create Ballerina.toml file + const ballerinaTomlPath = path.join(workspaceRoot, 'Ballerina.toml'); + writeBallerinaFileDidOpen(ballerinaTomlPath, ballerinaTomlContent); + + // Create Ballerina Package + createBIProjectPure({...projectRequest, projectPath: workspaceRoot, createDirectory: true}); + + console.log(`BI workspace created successfully at ${workspaceRoot}`); + return workspaceRoot; +} + +export function createBIProjectPure(projectRequest: ProjectRequest): string { const projectInfo = setupProjectInfo(projectRequest); const { projectRoot, finalOrgName, finalVersion, packageName: finalPackageName, integrationName } = projectInfo; @@ -194,8 +259,6 @@ sticky = true `; - - // Create Ballerina.toml file const ballerinaTomlPath = path.join(projectRoot, 'Ballerina.toml'); writeBallerinaFileDidOpen(ballerinaTomlPath, ballerinaTomlContent); @@ -247,6 +310,10 @@ sticky = true fs.writeFileSync(gitignorePath, gitignoreContent.trim()); console.log(`BI project created successfully at ${projectRoot}`); + return projectRoot; +} + +export function openInVSCode(projectRoot: string) { commands.executeCommand('vscode.openFolder', Uri.file(path.resolve(projectRoot))); } diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ImportIntegration/ConfigureProjectForm.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ImportIntegration/ConfigureProjectForm.tsx index 3e55736eb3c..cb0c791bd48 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ImportIntegration/ConfigureProjectForm.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ImportIntegration/ConfigureProjectForm.tsx @@ -30,6 +30,8 @@ export function ConfigureProjectForm({ onNext, onBack }: ConfigureProjectFormPro packageName: "", path: "", createDirectory: true, + createAsWorkspace: false, + workspaceName: "", orgName: "", version: "", }); @@ -44,6 +46,8 @@ export function ConfigureProjectForm({ onNext, onBack }: ConfigureProjectFormPro packageName: formData.packageName, projectPath: formData.path, createDirectory: formData.createDirectory, + createAsWorkspace: formData.createAsWorkspace, + workspaceName: formData.workspaceName, orgName: formData.orgName || undefined, version: formData.version || undefined, }); diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ProjectForm/ProjectFormFields.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ProjectForm/ProjectFormFields.tsx index 43a1d230c63..198d96afd59 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ProjectForm/ProjectFormFields.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ProjectForm/ProjectFormFields.tsx @@ -17,7 +17,7 @@ */ import { useEffect, useState } from "react"; -import { LocationSelector, TextField, CheckBox, LinkButton, ThemeColors, Codicon } from "@wso2/ui-toolkit"; +import { LocationSelector, TextField, CheckBox, LinkButton, ThemeColors, Codicon, FormCheckBox } from "@wso2/ui-toolkit"; import styled from "@emotion/styled"; import { useRpcContext } from "@wso2/ballerina-rpc-client"; import { sanitizePackageName, validatePackageName } from "./utils"; @@ -50,11 +50,19 @@ const OptionalConfigContent = styled.div` margin-top: 16px; `; +const Description = styled.div` + color: var(--vscode-list-deemphasizedForeground); + margin-top: 4px; + text-align: left; +`; + export interface ProjectFormData { integrationName: string; packageName: string; path: string; createDirectory: boolean; + createAsWorkspace: boolean; + workspaceName: string; orgName: string; version: string; } @@ -144,7 +152,7 @@ export function ProjectFormFields({ formData, onFormDataChange, onValidationChan onFormDataChange({ createDirectory: checked })} /> @@ -185,6 +193,27 @@ export function ProjectFormFields({ formData, onFormDataChange, onValidationChan {showOptionalConfigurations && ( + + + onFormDataChange({ createAsWorkspace: checked })} + /> + + Include this integration in a new workspace for multi-project management. + + + {formData.createAsWorkspace && ( + onFormDataChange({ workspaceName: value })} + value={formData.workspaceName} + label="Workspace Name" + placeholder="Enter workspace name" + required={true} + /> + )} + onFormDataChange({ orgName: value })} diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ProjectForm/index.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ProjectForm/index.tsx index 3303ceef8e5..f32e948b1c3 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ProjectForm/index.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ProjectForm/index.tsx @@ -66,6 +66,8 @@ export function ProjectForm() { packageName: "", path: "", createDirectory: true, + createAsWorkspace: false, + workspaceName: "", orgName: "", version: "", }); @@ -80,6 +82,8 @@ export function ProjectForm() { packageName: formData.packageName, projectPath: formData.path, createDirectory: formData.createDirectory, + createAsWorkspace: formData.createAsWorkspace, + workspaceName: formData.workspaceName, orgName: formData.orgName || undefined, version: formData.version || undefined, }); @@ -114,7 +118,7 @@ export function ProjectForm() { onClick={handleCreateProject} appearance="primary" > - Create Integration + {formData.createAsWorkspace ? "Create Workspace" : "Create Integration"} From b0a10f6ff3b2b5485fc32c59dbe4582618b3755f Mon Sep 17 00:00:00 2001 From: madushajg Date: Fri, 10 Oct 2025 18:39:24 +0530 Subject: [PATCH 002/491] Fix handling of local connectors in project artifacts by ensuring a default empty array is used when no modules are returned. --- .../ballerina-extension/src/utils/project-artifacts.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workspaces/ballerina/ballerina-extension/src/utils/project-artifacts.ts b/workspaces/ballerina/ballerina-extension/src/utils/project-artifacts.ts index c9638370f2d..47ddfdf8527 100644 --- a/workspaces/ballerina/ballerina-extension/src/utils/project-artifacts.ts +++ b/workspaces/ballerina/ballerina-extension/src/utils/project-artifacts.ts @@ -443,7 +443,7 @@ async function traverseUpdatedComponents(publishedArtifacts: Artifacts, currentP async function populateLocalConnectors(projectDir: string, response: ProjectStructureResponse) { const filePath = `${projectDir}/Ballerina.toml`; - const localConnectors = (await StateMachine.langClient().getOpenApiGeneratedModules({ projectPath: projectDir })).modules; + const localConnectors = (await StateMachine.langClient().getOpenApiGeneratedModules({ projectPath: projectDir })).modules || []; const mappedEntries: ProjectStructureArtifactResponse[] = localConnectors.map(moduleName => ({ id: moduleName, name: moduleName, From 11553073ae1060270e296a2c28e282f65b975383 Mon Sep 17 00:00:00 2001 From: madushajg Date: Fri, 10 Oct 2025 23:57:18 +0530 Subject: [PATCH 003/491] Enable rendering package overview when opening ballerina workspace --- .../ballerina-extension/src/stateMachine.ts | 87 ++++++++++++------- .../ballerina-extension/src/utils/config.ts | 59 ++++++++++++- .../src/utils/project-artifacts.ts | 23 +++-- 3 files changed, 130 insertions(+), 39 deletions(-) diff --git a/workspaces/ballerina/ballerina-extension/src/stateMachine.ts b/workspaces/ballerina/ballerina-extension/src/stateMachine.ts index dbc86d127c5..cbcdb72ba6b 100644 --- a/workspaces/ballerina/ballerina-extension/src/stateMachine.ts +++ b/workspaces/ballerina/ballerina-extension/src/stateMachine.ts @@ -14,7 +14,7 @@ import { extension } from './BalExtensionContext'; import { BiDiagramRpcManager } from './rpc-managers/bi-diagram/rpc-manager'; import { AIStateMachine } from './views/ai-panel/aiMachine'; import { StateMachinePopup } from './stateMachinePopup'; -import { checkIsBallerina, checkIsBI, fetchScope, getOrgPackageName, UndoRedoManager } from './utils'; +import { checkIsBallerinaPackage, checkIsBallerinaWorkspace, checkIsBI, fetchScope, getFirstWorkspacePackageName, getOrgPackageName, UndoRedoManager } from './utils'; import { buildProjectArtifactsStructure } from './utils/project-artifacts'; interface MachineContext extends VisualizerLocation { @@ -717,31 +717,30 @@ async function checkForProjects(): Promise<{ isBI: boolean, projectPath: string, } if (workspaceFolders.length > 1) { - return await handleMultipleWorkspaces(workspaceFolders); + return await handleMultipleWorkspaceFolders(workspaceFolders); } - return await handleSingleWorkspace(workspaceFolders[0].uri); + return await handleSingleWorkspaceFolder(workspaceFolders[0].uri); } -async function handleMultipleWorkspaces(workspaceFolders: readonly WorkspaceFolder[]) { - const balProjects = workspaceFolders.filter(folder => checkIsBallerina(folder.uri)); +async function handleMultipleWorkspaceFolders(workspaceFolders: readonly WorkspaceFolder[]) { + const balProjects = workspaceFolders.filter(folder => checkIsBallerinaPackage(folder.uri)); if (balProjects.length > 1) { - const projectPaths = balProjects.map(folder => folder.uri.fsPath); - let selectedProject = await window.showQuickPick(projectPaths, { - placeHolder: 'Select a project to load the WSO2 Integrator' + // Show notification to guide users to use Ballerina workspaces instead of VSCode workspaces + window.showInformationMessage( + 'Multiple Ballerina projects detected in VSCode workspace. Please use Ballerina workspaces for better project management and native support.', + 'Learn More' + ).then(selection => { + if (selection === 'Learn More') { + // TODO: Add a guide on how to use Ballerina workspaces + // Open documentation or guide about Ballerina workspaces + commands.executeCommand('vscode.open', Uri.parse('https://ballerina.io/learn/organize-ballerina-code/')); + } }); - - if (!selectedProject) { - // Pick the first project if the user cancels the selection - selectedProject = projectPaths[0]; - } - - const isBI = checkIsBI(Uri.file(selectedProject)); - const scope = isBI && fetchScope(Uri.file(selectedProject)); - const { orgName, packageName } = getOrgPackageName(selectedProject); - setBIContext(isBI); - return { isBI, projectPath: selectedProject, scope, orgName, packageName }; + + // Return empty result to indicate no project should be loaded + return { isBI: false, projectPath: '' }; } else if (balProjects.length === 1) { const isBI = checkIsBI(balProjects[0].uri); const scope = isBI && fetchScope(balProjects[0].uri); @@ -753,19 +752,45 @@ async function handleMultipleWorkspaces(workspaceFolders: readonly WorkspaceFold return { isBI: false, projectPath: '' }; } -async function handleSingleWorkspace(workspaceURI: any) { - const isBallerina = checkIsBallerina(workspaceURI); - const isBI = isBallerina && checkIsBI(workspaceURI); - const scope = fetchScope(workspaceURI); - const projectPath = isBallerina ? workspaceURI.fsPath : ""; - const { orgName, packageName } = getOrgPackageName(projectPath); - - setBIContext(isBI); - if (!isBI) { - console.error("No BI enabled workspace found"); +async function handleSingleWorkspaceFolder(workspaceURI: any) { + const isBallerinaWorkspace = checkIsBallerinaWorkspace(workspaceURI); + + if (isBallerinaWorkspace) { + const firstPackage = getFirstWorkspacePackageName(workspaceURI); + + if (firstPackage) { + const packagePath = path.join(workspaceURI.fsPath, firstPackage); + const packageUri = Uri.file(packagePath); + + const isBallerinaPackage = checkIsBallerinaPackage(packageUri); + const isBI = isBallerinaPackage && checkIsBI(packageUri); + const scope = fetchScope(packageUri); + const projectPath = isBallerinaPackage ? packagePath : ""; + const { orgName, packageName } = getOrgPackageName(projectPath); + + setBIContext(isBI); + if (!isBI) { + console.error("No BI enabled workspace found"); + } + + return { isBI, projectPath, scope, orgName, packageName }; + } else { + return { isBI: false, projectPath: '' }; + } + } else { + const isBallerinaPackage = checkIsBallerinaPackage(workspaceURI); + const isBI = isBallerinaPackage && checkIsBI(workspaceURI); + const scope = fetchScope(workspaceURI); + const projectPath = isBallerinaPackage ? workspaceURI.fsPath : ""; + const { orgName, packageName } = getOrgPackageName(projectPath); + + setBIContext(isBI); + if (!isBI) { + console.error("No BI enabled workspace found"); + } + + return { isBI, projectPath, scope, orgName, packageName }; } - - return { isBI, projectPath, scope, orgName, packageName }; } function setBIContext(isBI: boolean) { diff --git a/workspaces/ballerina/ballerina-extension/src/utils/config.ts b/workspaces/ballerina/ballerina-extension/src/utils/config.ts index 53073684086..2d23128b64f 100644 --- a/workspaces/ballerina/ballerina-extension/src/utils/config.ts +++ b/workspaces/ballerina/ballerina-extension/src/utils/config.ts @@ -126,9 +126,64 @@ export function checkIsBI(uri: Uri): boolean { return false; // Return false if isBI is not set } -export function checkIsBallerina(uri: Uri): boolean { +export function checkIsBallerinaPackage(uri: Uri): boolean { const ballerinaTomlPath = path.join(uri.fsPath, 'Ballerina.toml'); - return fs.existsSync(ballerinaTomlPath); + + // First check if the file exists + if (!fs.existsSync(ballerinaTomlPath)) { + return false; + } + + try { + // Read the file content and check for [package] section + const tomlContent = fs.readFileSync(ballerinaTomlPath, 'utf8'); + const packageSectionRegex = /\[package\]/; + return packageSectionRegex.test(tomlContent); + } catch (error) { + // If there's an error reading the file, it's not a valid Ballerina project + console.error(`Error reading package Ballerina.toml: ${error}`); + return false; + } +} + +export function checkIsBallerinaWorkspace(uri: Uri): boolean { + const ballerinaTomlPath = path.join(uri.fsPath, 'Ballerina.toml'); + + // First check if the file exists + if (!fs.existsSync(ballerinaTomlPath)) { + return false; + } + + try { + // Read the file content and check for [workspace] section + const tomlContent = fs.readFileSync(ballerinaTomlPath, 'utf8'); + const workspaceSectionRegex = /\[workspace\]/; + return workspaceSectionRegex.test(tomlContent); + } catch (error) { + // If there's an error reading the file, it's not a valid Ballerina workspace + console.error(`Error reading workspace Ballerina.toml: ${error}`); + return false; + } +} + +export function getFirstWorkspacePackageName(uri: Uri): string | null { + const ballerinaTomlPath = path.join(uri.fsPath, 'Ballerina.toml'); + + try { + // Read the file content + const tomlContent = fs.readFileSync(ballerinaTomlPath, 'utf8'); + + // Regular expression to match packages array in [workspace] section + // This matches: packages = ["package1", "package2", ...] + const packagesRegex = /packages\s*=\s*\[\s*"([^"]+)"/; + const match = tomlContent.match(packagesRegex); + + return match?.[1] || null; + } catch (error) { + // If there's an error reading the file, return null + console.error(`Error reading workspace Ballerina.toml: ${error}`); + return null; + } } export function getOrgPackageName(projectPath: string): { orgName: string, packageName: string } { diff --git a/workspaces/ballerina/ballerina-extension/src/utils/project-artifacts.ts b/workspaces/ballerina/ballerina-extension/src/utils/project-artifacts.ts index 47ddfdf8527..88a200ceabd 100644 --- a/workspaces/ballerina/ballerina-extension/src/utils/project-artifacts.ts +++ b/workspaces/ballerina/ballerina-extension/src/utils/project-artifacts.ts @@ -53,13 +53,24 @@ export async function buildProjectArtifactsStructure(projectDir: string, langCli } // Attempt to get the project name from the workspace folder as a fallback if not found in Ballerina.toml const workspace = vscode.workspace.workspaceFolders?.find(folder => folder.uri.fsPath === projectDir); - let projectName = workspace?.name; - // Get the project name from the ballerina.toml file - const commonRpcManager = new CommonRpcManager(); - const tomlValues = await commonRpcManager.getCurrentProjectTomlValues(); - if (tomlValues && tomlValues.package.title) { - projectName = tomlValues.package.title; + + let projectName = ""; + if (workspace) { + projectName = workspace.name; + + // Get the project name from the ballerina.toml file + const commonRpcManager = new CommonRpcManager(); + const tomlValues = await commonRpcManager.getCurrentProjectTomlValues(); + if (tomlValues && tomlValues.package.title) { + projectName = tomlValues.package.title; + } + } else { + // Project defined within a Ballerina workspace + projectName = path.basename(projectDir); + + // TODO: Get the project name from the package Ballerina.toml file } + result.projectName = projectName; if (isUpdate) { From 967d180d4ee66a333f83969d2d39f54a7c34c8d4 Mon Sep 17 00:00:00 2001 From: madushajg Date: Tue, 14 Oct 2025 13:49:36 +0530 Subject: [PATCH 004/491] Fix rendering BI project-explorer for BI workspaces --- .../ballerina-extension/src/stateMachine.ts | 42 ++++++++++++++----- .../ballerina-extension/src/utils/config.ts | 35 ++++++++++++++++ .../project-explorer-provider.ts | 28 +++++++++---- 3 files changed, 87 insertions(+), 18 deletions(-) diff --git a/workspaces/ballerina/ballerina-extension/src/stateMachine.ts b/workspaces/ballerina/ballerina-extension/src/stateMachine.ts index cbcdb72ba6b..abc0170c4dd 100644 --- a/workspaces/ballerina/ballerina-extension/src/stateMachine.ts +++ b/workspaces/ballerina/ballerina-extension/src/stateMachine.ts @@ -14,9 +14,18 @@ import { extension } from './BalExtensionContext'; import { BiDiagramRpcManager } from './rpc-managers/bi-diagram/rpc-manager'; import { AIStateMachine } from './views/ai-panel/aiMachine'; import { StateMachinePopup } from './stateMachinePopup'; -import { checkIsBallerinaPackage, checkIsBallerinaWorkspace, checkIsBI, fetchScope, getFirstWorkspacePackageName, getOrgPackageName, UndoRedoManager } from './utils'; +import { checkIsBallerinaPackage, checkIsBallerinaWorkspace, checkIsBI, fetchScope, getFirstWorkspacePackageName, getOrgPackageName, getWorkspacePackageNames, UndoRedoManager } from './utils'; import { buildProjectArtifactsStructure } from './utils/project-artifacts'; +export interface ProjectMetadata { + readonly isBI: boolean; + readonly projectPath: string; + readonly workspacePath?: string; + readonly scope?: SCOPE; + readonly orgName?: string; + readonly packageName?: string; +} + interface MachineContext extends VisualizerLocation { langClient: ExtendedLangClient | null; isBISupported: boolean; @@ -82,6 +91,7 @@ const stateMachine = createMachine( assign({ isBI: (context, event) => event.data.isBI, projectUri: (context, event) => event.data.projectPath, + workspacePath: (context, event) => event.data.workspacePath, scope: (context, event) => event.data.scope, org: (context, event) => event.data.orgName, package: (context, event) => event.data.packageName, @@ -105,6 +115,7 @@ const stateMachine = createMachine( actions: assign({ isBI: (context, event) => event.data.isBI, projectUri: (context, event) => event.data.projectPath, + workspacePath: (context, event) => event.data.workspacePath, scope: (context, event) => event.data.scope, org: (context, event) => event.data.orgName, package: (context, event) => event.data.packageName, @@ -116,6 +127,7 @@ const stateMachine = createMachine( actions: assign({ isBI: (context, event) => event.data.isBI, projectUri: (context, event) => event.data.projectPath, + workspacePath: (context, event) => event.data.workspacePath, scope: (context, event) => event.data.scope, org: (context, event) => event.data.orgName, package: (context, event) => event.data.packageName, @@ -321,8 +333,8 @@ const stateMachine = createMachine( registerProjectArtifactsStructure: (context, event) => { return new Promise(async (resolve, reject) => { try { - // If the project uri is not set, we don't need to build the project structure - if (context.projectUri) { + // If the project uri or workspace path is not set, we don't need to build the project structure + if (context.projectUri || context.workspacePath) { // Add a 2 second delay before registering artifacts await new Promise(resolve => setTimeout(resolve, 1000)); @@ -709,7 +721,7 @@ function getLastHistory() { return historyStack?.[historyStack?.length - 1]; } -async function checkForProjects(): Promise<{ isBI: boolean, projectPath: string, scope?: SCOPE }> { +async function checkForProjects(): Promise { const workspaceFolders = workspace.workspaceFolders; if (!workspaceFolders) { @@ -723,7 +735,7 @@ async function checkForProjects(): Promise<{ isBI: boolean, projectPath: string, return await handleSingleWorkspaceFolder(workspaceFolders[0].uri); } -async function handleMultipleWorkspaceFolders(workspaceFolders: readonly WorkspaceFolder[]) { +async function handleMultipleWorkspaceFolders(workspaceFolders: readonly WorkspaceFolder[]): Promise { const balProjects = workspaceFolders.filter(folder => checkIsBallerinaPackage(folder.uri)); if (balProjects.length > 1) { @@ -752,14 +764,24 @@ async function handleMultipleWorkspaceFolders(workspaceFolders: readonly Workspa return { isBI: false, projectPath: '' }; } -async function handleSingleWorkspaceFolder(workspaceURI: any) { +async function handleSingleWorkspaceFolder(workspaceURI: Uri): Promise { const isBallerinaWorkspace = checkIsBallerinaWorkspace(workspaceURI); if (isBallerinaWorkspace) { - const firstPackage = getFirstWorkspacePackageName(workspaceURI); + // TODO: Provide a quick pick to select the package to load the WSO2 Integrator + // if the user selects a package, then load the WSO2 Integrator for that package + // if the user cancels the selection, then load the WSO2 Integrator for the first package + const packages = getWorkspacePackageNames(workspaceURI); + const userSelectedPackage = await window.showQuickPick(packages, { + title: 'Select Package for WSO2 Integrator: BI', + placeHolder: 'Choose a package from your workspace to load in BI mode', + ignoreFocusOut: true + }); + + const targetPackage = userSelectedPackage || getFirstWorkspacePackageName(workspaceURI); - if (firstPackage) { - const packagePath = path.join(workspaceURI.fsPath, firstPackage); + if (targetPackage) { + const packagePath = path.join(workspaceURI.fsPath, targetPackage); const packageUri = Uri.file(packagePath); const isBallerinaPackage = checkIsBallerinaPackage(packageUri); @@ -773,7 +795,7 @@ async function handleSingleWorkspaceFolder(workspaceURI: any) { console.error("No BI enabled workspace found"); } - return { isBI, projectPath, scope, orgName, packageName }; + return { isBI, projectPath, workspacePath: workspaceURI.fsPath, scope, orgName, packageName }; } else { return { isBI: false, projectPath: '' }; } diff --git a/workspaces/ballerina/ballerina-extension/src/utils/config.ts b/workspaces/ballerina/ballerina-extension/src/utils/config.ts index 2d23128b64f..400a2a0f605 100644 --- a/workspaces/ballerina/ballerina-extension/src/utils/config.ts +++ b/workspaces/ballerina/ballerina-extension/src/utils/config.ts @@ -166,6 +166,41 @@ export function checkIsBallerinaWorkspace(uri: Uri): boolean { } } +export function getWorkspacePackageNames(uri: Uri) { + const ballerinaTomlPath = path.join(uri.fsPath, 'Ballerina.toml'); + + try { + // Read the file content + const tomlContent = fs.readFileSync(ballerinaTomlPath, 'utf8'); + + // Regular expression to match the entire packages array in [workspace] section + // This matches: packages = ["package1", "package2", ...] + const packagesRegex = /packages\s*=\s*\[([\s\S]*?)\]/; + const match = tomlContent.match(packagesRegex); + + if (!match || !match[1]) { + return null; + } + + // Extract all package names from the array content + const arrayContent = match[1]; + const packageNameRegex = /"([^"]+)"/g; + const packageNames: string[] = []; + let packageMatch; + + while ((packageMatch = packageNameRegex.exec(arrayContent)) !== null) { + packageNames.push(packageMatch[1]); + } + + return packageNames.length > 0 ? packageNames : null; + } catch (error) { + // If there's an error reading the file, return null + console.error(`Error reading workspace Ballerina.toml: ${error}`); + return null; + } +} + + export function getFirstWorkspacePackageName(uri: Uri): string | null { const ballerinaTomlPath = path.join(uri.fsPath, 'Ballerina.toml'); diff --git a/workspaces/bi/bi-extension/src/project-explorer/project-explorer-provider.ts b/workspaces/bi/bi-extension/src/project-explorer/project-explorer-provider.ts index 3d38d3f2460..4f8509a685f 100644 --- a/workspaces/bi/bi-extension/src/project-explorer/project-explorer-provider.ts +++ b/workspaces/bi/bi-extension/src/project-explorer/project-explorer-provider.ts @@ -134,20 +134,29 @@ async function getProjectStructureData(): Promise { const data: ProjectExplorerEntry[] = []; if (extension.langClient) { const stateContext: VisualizerLocation = await commands.executeCommand(SHARED_COMMANDS.GET_STATE_CONTEXT); - const workspace = vscode + const ballerinaWorkspace = stateContext?.workspacePath; + const workspaceFolderOfPackage = vscode .workspace .workspaceFolders .find(folder => folder.uri.fsPath === stateContext.projectUri); - if (!workspace) { - return []; + let packageName = workspaceFolderOfPackage?.name; + let packagePath = workspaceFolderOfPackage?.uri.fsPath; + + if (!workspaceFolderOfPackage) { + if (ballerinaWorkspace) { + packageName = path.basename(Uri.parse(stateContext.projectUri).path); + packagePath = stateContext.projectUri; + } else { + return []; + } } // Get the state context from ballerina extension as it maintain the event driven tree data let projectStructure; if (typeof stateContext === 'object' && stateContext !== null && 'projectStructure' in stateContext && stateContext.projectStructure !== null) { projectStructure = stateContext.projectStructure; - const projectTree = generateTreeData(workspace, projectStructure); + const projectTree = generateTreeData(packageName, packagePath, projectStructure); if (projectTree) { data.push(projectTree); } @@ -159,12 +168,15 @@ async function getProjectStructureData(): Promise { return []; } -function generateTreeData(project: vscode.WorkspaceFolder, components: ProjectStructureResponse): ProjectExplorerEntry | undefined { - const projectRootPath = project.uri.fsPath; +function generateTreeData( + packageName: string, + packagePath: string, + components: ProjectStructureResponse +): ProjectExplorerEntry | undefined { const projectRootEntry = new ProjectExplorerEntry( - `${project.name}`, + `${packageName}`, vscode.TreeItemCollapsibleState.Expanded, - projectRootPath, + packagePath, 'project', true ); From 4b4f419fb26f3c7b346de7653f1b78688e2a5875 Mon Sep 17 00:00:00 2001 From: madushajg Date: Tue, 14 Oct 2025 16:34:20 +0530 Subject: [PATCH 005/491] Add wide-chevron SVG icon to common libraries --- .../font-wso2-vscode/src/icons/wide-chevron.svg | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 workspaces/common-libs/font-wso2-vscode/src/icons/wide-chevron.svg diff --git a/workspaces/common-libs/font-wso2-vscode/src/icons/wide-chevron.svg b/workspaces/common-libs/font-wso2-vscode/src/icons/wide-chevron.svg new file mode 100644 index 00000000000..ac16ed6d2df --- /dev/null +++ b/workspaces/common-libs/font-wso2-vscode/src/icons/wide-chevron.svg @@ -0,0 +1,7 @@ + + + + + + + From f4198cbe763b0e214bf60e7410290fa19e6feffd Mon Sep 17 00:00:00 2001 From: madushajg Date: Tue, 14 Oct 2025 23:11:45 +0530 Subject: [PATCH 006/491] Enhance state machine and top navigation bar to include package information in history entries --- .../src/rpc-managers/common/rpc-manager.ts | 1 + .../ballerina-extension/src/stateMachine.ts | 10 +++- .../src/components/TopNavigationBar/index.tsx | 52 +++++++++++++++---- 3 files changed, 53 insertions(+), 10 deletions(-) diff --git a/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-manager.ts b/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-manager.ts index 5207d4d34a5..a5bc5e264f3 100644 --- a/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-manager.ts +++ b/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-manager.ts @@ -254,6 +254,7 @@ export class CommonRpcManager implements CommonRPCAPI { const workspaceFolderPath = workspaceFolders[0].uri.fsPath; // Check if workspaceFolderPath is a Ballerina project // Assuming a Ballerina project must contain a 'Ballerina.toml' file + // TODO: This logic needs to be updated for multi-package workspaces const ballerinaProjectFile = path.join(workspaceFolderPath, 'Ballerina.toml'); if (fs.existsSync(ballerinaProjectFile)) { return workspaceFolderPath; diff --git a/workspaces/ballerina/ballerina-extension/src/stateMachine.ts b/workspaces/ballerina/ballerina-extension/src/stateMachine.ts index abc0170c4dd..43ac817adc1 100644 --- a/workspaces/ballerina/ballerina-extension/src/stateMachine.ts +++ b/workspaces/ballerina/ballerina-extension/src/stateMachine.ts @@ -460,10 +460,17 @@ const stateMachine = createMachine( return new Promise(async (resolve, reject) => { if (!context.view && context.langClient) { if (!context.position || ("groupId" in context.position)) { - history.push({ location: { view: MACHINE_VIEW.Overview, documentUri: context.documentUri } }); + history.push({ + location: { + view: MACHINE_VIEW.Overview, + documentUri: context.documentUri, + package: context.package + } + }); return resolve(); } const view = await getView(context.documentUri, context.position, context?.projectUri); + view.location.package = context.package; history.push(view); return resolve(); } else { @@ -473,6 +480,7 @@ const stateMachine = createMachine( documentUri: context.documentUri, position: context.position, identifier: context.identifier, + package: context.package, type: context?.type, isGraphql: context?.isGraphql, addType: context?.addType, diff --git a/workspaces/ballerina/ballerina-visualizer/src/components/TopNavigationBar/index.tsx b/workspaces/ballerina/ballerina-visualizer/src/components/TopNavigationBar/index.tsx index 65db8c07a93..756fa04427e 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/components/TopNavigationBar/index.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/components/TopNavigationBar/index.tsx @@ -20,7 +20,7 @@ import React, { useEffect, useState } from "react"; import styled from "@emotion/styled"; import { Icon } from "@wso2/ui-toolkit"; import { useRpcContext } from "@wso2/ballerina-rpc-client"; -import { MACHINE_VIEW } from "@wso2/ballerina-core"; +import { HistoryEntry, MACHINE_VIEW } from "@wso2/ballerina-core"; const NavContainer = styled.div` display: flex; @@ -60,7 +60,14 @@ const IconButton = styled.div` } `; -const BreadcrumbItem = styled.span<{ clickable?: boolean }>` +const BreadcrumbItem = styled.div` + display: flex; + flex-direction: column; + align-items: flex-start; + gap: 2px; +`; + +const BreadcrumbText = styled.span<{ clickable?: boolean }>` ${({ clickable }: { clickable?: boolean }) => clickable && ` @@ -71,6 +78,18 @@ const BreadcrumbItem = styled.span<{ clickable?: boolean }>` `} `; +const PackageName = styled.div` + color: var(--vscode-foreground); + background-color: var(--vscode-editor-inactiveSelectionBackground); + max-width: 100px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + padding: 2px 4px; + font-size: 10px; + border-radius: 4px; +`; + interface TopNavigationBarProps { onBack?: () => void; onHome?: () => void; @@ -79,7 +98,7 @@ interface TopNavigationBarProps { export function TopNavigationBar(props: TopNavigationBarProps) { const { onBack, onHome } = props; const { rpcClient } = useRpcContext(); - const [history, setHistory] = useState([]); + const [history, setHistory] = useState([]); useEffect(() => { rpcClient @@ -126,12 +145,27 @@ export function TopNavigationBar(props: TopNavigationBarProps) { existingLabels.add(shortName); return ( - {index > 0 && /} - index < history.length - 1 && handleCrumbClick(index)} - > - {shortName} + {index > 0 && ( + + )} + + index < history.length - 1 && handleCrumbClick(index)} + > + {shortName} + + {crumb.location?.workspacePath && crumb.location.package && ( + {crumb.location.package} + )} ); From 217d8278ac97a277e07afa968c77ac100730146e Mon Sep 17 00:00:00 2001 From: madushajg Date: Tue, 14 Oct 2025 23:18:57 +0530 Subject: [PATCH 007/491] Add rpc fn to check for ballerina workspaces --- .../ballerina-core/src/rpc-types/common/index.ts | 1 + .../ballerina-core/src/rpc-types/common/rpc-type.ts | 1 + .../src/rpc-managers/common/rpc-handler.ts | 2 ++ .../src/rpc-managers/common/rpc-manager.ts | 5 +++++ .../src/rpc-clients/common/rpc-client.ts | 9 +++++++-- 5 files changed, 16 insertions(+), 2 deletions(-) diff --git a/workspaces/ballerina/ballerina-core/src/rpc-types/common/index.ts b/workspaces/ballerina/ballerina-core/src/rpc-types/common/index.ts index 964b6cea6d6..f4e89f44d87 100644 --- a/workspaces/ballerina/ballerina-core/src/rpc-types/common/index.ts +++ b/workspaces/ballerina/ballerina-core/src/rpc-types/common/index.ts @@ -49,5 +49,6 @@ export interface CommonRPCAPI { getWorkspaceRoot: () => Promise; showErrorMessage: (params: ShowErrorMessageRequest) => void; getCurrentProjectTomlValues: () => Promise>; + isBallerinaWorkspace: () => Promise; } diff --git a/workspaces/ballerina/ballerina-core/src/rpc-types/common/rpc-type.ts b/workspaces/ballerina/ballerina-core/src/rpc-types/common/rpc-type.ts index c1816ec958b..7dc50ff555f 100644 --- a/workspaces/ballerina/ballerina-core/src/rpc-types/common/rpc-type.ts +++ b/workspaces/ballerina/ballerina-core/src/rpc-types/common/rpc-type.ts @@ -51,3 +51,4 @@ export const isNPSupported: RequestType = { method: `${_preFix}/i export const getWorkspaceRoot: RequestType = { method: `${_preFix}/getWorkspaceRoot` }; export const showErrorMessage: NotificationType = { method: `${_preFix}/showErrorMessage` }; export const getCurrentProjectTomlValues: RequestType = { method: `${_preFix}/getCurrentProjectTomlValues` }; +export const isBallerinaWorkspace: RequestType = { method: `${_preFix}/isBallerinaWorkspace` }; diff --git a/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-handler.ts b/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-handler.ts index 82ab5d908c4..f5a548f3523 100644 --- a/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-handler.ts +++ b/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-handler.ts @@ -34,6 +34,7 @@ import { getWorkspaceFiles, getWorkspaceRoot, goToSource, + isBallerinaWorkspace, isNPSupported, openExternalUrl, runBackgroundTerminalCommand, @@ -60,4 +61,5 @@ export function registerCommonRpcHandlers(messenger: Messenger) { messenger.onRequest(getWorkspaceRoot, () => rpcManger.getWorkspaceRoot()); messenger.onNotification(showErrorMessage, (args: ShowErrorMessageRequest) => rpcManger.showErrorMessage(args)); messenger.onRequest(getCurrentProjectTomlValues, () => rpcManger.getCurrentProjectTomlValues()); + messenger.onRequest(isBallerinaWorkspace, () => rpcManger.isBallerinaWorkspace()); } diff --git a/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-manager.ts b/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-manager.ts index a5bc5e264f3..c046ed868c4 100644 --- a/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-manager.ts +++ b/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-manager.ts @@ -275,4 +275,9 @@ export class CommonRpcManager implements CommonRPCAPI { } } } + + async isBallerinaWorkspace(): Promise { + // ADD YOUR IMPLEMENTATION HERE + throw new Error('Not implemented'); + } } diff --git a/workspaces/ballerina/ballerina-rpc-client/src/rpc-clients/common/rpc-client.ts b/workspaces/ballerina/ballerina-rpc-client/src/rpc-clients/common/rpc-client.ts index cbbcbeafe3a..438c629aa2f 100644 --- a/workspaces/ballerina/ballerina-rpc-client/src/rpc-clients/common/rpc-client.ts +++ b/workspaces/ballerina/ballerina-rpc-client/src/rpc-clients/common/rpc-client.ts @@ -48,7 +48,8 @@ import { getCurrentProjectTomlValues, TomlValues, selectFileOrFolderPath, - showErrorMessage + showErrorMessage, + isBallerinaWorkspace } from "@wso2/ballerina-core"; import { HOST_EXTENSION } from "vscode-messenger-common"; import { Messenger } from "vscode-messenger-webview"; @@ -111,8 +112,12 @@ export class CommonRpcClient implements CommonRPCAPI { showErrorMessage(params: ShowErrorMessageRequest): void { return this._messenger.sendNotification(showErrorMessage, HOST_EXTENSION, params); } - + getCurrentProjectTomlValues(): Promise { return this._messenger.sendRequest(getCurrentProjectTomlValues, HOST_EXTENSION); } + + isBallerinaWorkspace(): Promise { + return this._messenger.sendRequest(isBallerinaWorkspace, HOST_EXTENSION); + } } From e78d60d9d371ec984119b22578143a09ba776546 Mon Sep 17 00:00:00 2001 From: madushajg Date: Tue, 14 Oct 2025 23:42:34 +0530 Subject: [PATCH 008/491] Display package names in top nav bar only for worskapces --- .../ballerina-core/src/state-machine-types.ts | 1 + .../src/rpc-managers/common/rpc-manager.ts | 10 +++++++--- .../src/components/TopNavigationBar/index.tsx | 15 ++++++++++----- 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/workspaces/ballerina/ballerina-core/src/state-machine-types.ts b/workspaces/ballerina/ballerina-core/src/state-machine-types.ts index f3abdb08668..7e34569825c 100644 --- a/workspaces/ballerina/ballerina-core/src/state-machine-types.ts +++ b/workspaces/ballerina/ballerina-core/src/state-machine-types.ts @@ -120,6 +120,7 @@ export interface VisualizerLocation { view?: MACHINE_VIEW | null; documentUri?: string; projectUri?: string; + workspacePath?: string; identifier?: string; parentIdentifier?: string; artifactType?: DIRECTORY_MAP; diff --git a/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-manager.ts b/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-manager.ts index c046ed868c4..1dcea2dd78d 100644 --- a/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-manager.ts +++ b/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-manager.ts @@ -46,7 +46,7 @@ import { Uri, commands, env, window, workspace, MarkdownString } from "vscode"; import { URI } from "vscode-uri"; import { extension } from "../../BalExtensionContext"; import { StateMachine } from "../../stateMachine"; -import { goToSource } from "../../utils"; +import { checkIsBallerinaWorkspace, goToSource } from "../../utils"; import { askFileOrFolderPath, askFilePath, askProjectPath, BALLERINA_INTEGRATOR_ISSUES_URL, getUpdatedSource } from "./utils"; import { parse } from 'toml'; import * as fs from 'fs'; @@ -277,7 +277,11 @@ export class CommonRpcManager implements CommonRPCAPI { } async isBallerinaWorkspace(): Promise { - // ADD YOUR IMPLEMENTATION HERE - throw new Error('Not implemented'); + const workspaceFolders = workspace.workspaceFolders; + if (!workspaceFolders) { + throw new Error("No workspaces found."); + } + const workspaceFolderPath = workspaceFolders[0].uri.fsPath; + return checkIsBallerinaWorkspace(Uri.file(workspaceFolderPath)); } } diff --git a/workspaces/ballerina/ballerina-visualizer/src/components/TopNavigationBar/index.tsx b/workspaces/ballerina/ballerina-visualizer/src/components/TopNavigationBar/index.tsx index 756fa04427e..7ba6efc24bc 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/components/TopNavigationBar/index.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/components/TopNavigationBar/index.tsx @@ -16,7 +16,7 @@ * under the License. */ -import React, { useEffect, useState } from "react"; +import React, { useEffect, useMemo, useState } from "react"; import styled from "@emotion/styled"; import { Icon } from "@wso2/ui-toolkit"; import { useRpcContext } from "@wso2/ballerina-rpc-client"; @@ -125,6 +125,11 @@ export function TopNavigationBar(props: TopNavigationBarProps) { rpcClient.getVisualizerRpcClient().goSelected(index); } }; + + const isBallerinaWorkspace = useMemo(() => { + return rpcClient.getCommonRpcClient().isBallerinaWorkspace(); + }, []); + // HACK: To remove forms from breadcrumb. Will have to fix from the state machine side const hackToSkipForms = ["overview", "automation", "service", "function", "add natural function", "data mapper", "connection"]; const existingLabels = new Set(); @@ -150,9 +155,9 @@ export function TopNavigationBar(props: TopNavigationBarProps) { name="wide-chevron" iconSx={{ color: "var(--vscode-foreground)", - fontSize: crumb.location?.workspacePath ? "20px" : "15px", - opacity: 0.5 } - } + fontSize: isBallerinaWorkspace ? "20px" : "15px", + opacity: 0.5 + }} sx={{ alignSelf: "center" }} /> )} @@ -163,7 +168,7 @@ export function TopNavigationBar(props: TopNavigationBarProps) { > {shortName} - {crumb.location?.workspacePath && crumb.location.package && ( + {isBallerinaWorkspace && crumb.location.package && ( {crumb.location.package} )} From 7cd834c66177bf2c0890b7f54ae518ff71cc7179 Mon Sep 17 00:00:00 2001 From: madushajg Date: Wed, 15 Oct 2025 22:52:41 +0530 Subject: [PATCH 009/491] Refactor TopNavigationBar to enhance package name display with icon and improved styling --- .../src/components/TopNavigationBar/index.tsx | 29 ++++++++++++++----- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/workspaces/ballerina/ballerina-visualizer/src/components/TopNavigationBar/index.tsx b/workspaces/ballerina/ballerina-visualizer/src/components/TopNavigationBar/index.tsx index 7ba6efc24bc..e7ddb604063 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/components/TopNavigationBar/index.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/components/TopNavigationBar/index.tsx @@ -18,7 +18,7 @@ import React, { useEffect, useMemo, useState } from "react"; import styled from "@emotion/styled"; -import { Icon } from "@wso2/ui-toolkit"; +import { Codicon, Icon } from "@wso2/ui-toolkit"; import { useRpcContext } from "@wso2/ballerina-rpc-client"; import { HistoryEntry, MACHINE_VIEW } from "@wso2/ballerina-core"; @@ -78,16 +78,24 @@ const BreadcrumbText = styled.span<{ clickable?: boolean }>` `} `; -const PackageName = styled.div` +const PackageContainer = styled.div` + display: flex; + align-items: center; + gap: 4px; color: var(--vscode-foreground); background-color: var(--vscode-editor-inactiveSelectionBackground); - max-width: 100px; + max-width: 120px; + overflow: hidden; + padding: 3px 4px; + font-size: 10px; + border-radius: 5px; + line-height: 1; +`; + +const PackageName = styled.span` overflow: hidden; text-overflow: ellipsis; white-space: nowrap; - padding: 2px 4px; - font-size: 10px; - border-radius: 4px; `; interface TopNavigationBarProps { @@ -169,7 +177,14 @@ export function TopNavigationBar(props: TopNavigationBarProps) { {shortName} {isBallerinaWorkspace && crumb.location.package && ( - {crumb.location.package} + + + {crumb.location.package} + )} From b7c8f386f44b978f79c563ed1aa63bd40462e76d Mon Sep 17 00:00:00 2001 From: madushajg Date: Thu, 16 Oct 2025 22:57:18 +0530 Subject: [PATCH 010/491] Add 'Add Project' functionality with form and validation in BI visualizer --- .../src/rpc-types/bi-diagram/index.ts | 4 +- .../src/rpc-types/bi-diagram/interfaces.ts | 10 + .../src/rpc-types/bi-diagram/rpc-type.ts | 4 +- .../ballerina-core/src/state-machine-types.ts | 1 + .../src/features/bi/activator.ts | 5 +- .../rpc-managers/bi-diagram/rpc-manager.ts | 15 ++ .../src/rpc-clients/bi-diagram/rpc-client.ts | 6 + .../ballerina-visualizer/src/MainPanel.tsx | 6 +- .../src/components/TopNavigationBar/index.tsx | 22 +- .../views/BI/ProjectForm/AddProjectForm.tsx | 136 ++++++++++++ .../BI/ProjectForm/AddProjectFormFields.tsx | 201 ++++++++++++++++++ .../src/views/BI/ProjectForm/utils.ts | 10 + .../src/views/BI/index.tsx | 1 + 13 files changed, 404 insertions(+), 17 deletions(-) create mode 100644 workspaces/ballerina/ballerina-visualizer/src/views/BI/ProjectForm/AddProjectForm.tsx create mode 100644 workspaces/ballerina/ballerina-visualizer/src/views/BI/ProjectForm/AddProjectFormFields.tsx diff --git a/workspaces/ballerina/ballerina-core/src/rpc-types/bi-diagram/index.ts b/workspaces/ballerina/ballerina-core/src/rpc-types/bi-diagram/index.ts index 3b4eff402c3..843041578d1 100644 --- a/workspaces/ballerina/ballerina-core/src/rpc-types/bi-diagram/index.ts +++ b/workspaces/ballerina/ballerina-core/src/rpc-types/bi-diagram/index.ts @@ -115,7 +115,8 @@ import { RecordsInWorkspaceMentions, BuildMode, DevantMetadata, - GeneratedClientSaveResponse + GeneratedClientSaveResponse, + AddProjectToWorkspaceRequest } from "./interfaces"; export interface BIDiagramAPI { @@ -134,6 +135,7 @@ export interface BIDiagramAPI { getNodeTemplate: (params: BINodeTemplateRequest) => Promise; getAiSuggestions: (params: BIAiSuggestionsRequest) => Promise; createProject: (params: ProjectRequest) => void; + addProjectToWorkspace: (params: AddProjectToWorkspaceRequest) => void; getWorkspaces: () => Promise; getProjectStructure: () => Promise; getProjectComponents: () => Promise; diff --git a/workspaces/ballerina/ballerina-core/src/rpc-types/bi-diagram/interfaces.ts b/workspaces/ballerina/ballerina-core/src/rpc-types/bi-diagram/interfaces.ts index baf58a15516..169040dd0dc 100644 --- a/workspaces/ballerina/ballerina-core/src/rpc-types/bi-diagram/interfaces.ts +++ b/workspaces/ballerina/ballerina-core/src/rpc-types/bi-diagram/interfaces.ts @@ -32,6 +32,16 @@ export interface ProjectRequest { version?: string; } +export interface AddProjectToWorkspaceRequest { + projectName: string; + packageName: string; + path: string; + convertToWorkspace?: boolean; + workspaceName?: string; + orgName?: string; + version?: string; +} + export interface WorkspacesResponse { workspaces: WorkspaceFolder[]; } diff --git a/workspaces/ballerina/ballerina-core/src/rpc-types/bi-diagram/rpc-type.ts b/workspaces/ballerina/ballerina-core/src/rpc-types/bi-diagram/rpc-type.ts index c3c6a948a00..1d7214d7a99 100644 --- a/workspaces/ballerina/ballerina-core/src/rpc-types/bi-diagram/rpc-type.ts +++ b/workspaces/ballerina/ballerina-core/src/rpc-types/bi-diagram/rpc-type.ts @@ -116,7 +116,8 @@ import { RecordsInWorkspaceMentions, BuildMode, DevantMetadata, - GeneratedClientSaveResponse + GeneratedClientSaveResponse, + AddProjectToWorkspaceRequest } from "./interfaces"; import { RequestType, NotificationType } from "vscode-messenger-common"; @@ -136,6 +137,7 @@ export const getEnclosedFunction: RequestType = { method: `${_preFix}/getNodeTemplate` }; export const getAiSuggestions: RequestType = { method: `${_preFix}/getAiSuggestions` }; export const createProject: NotificationType = { method: `${_preFix}/createProject` }; +export const addProjectToWorkspace: NotificationType = { method: `${_preFix}/addProjectToWorkspace` }; export const getWorkspaces: RequestType = { method: `${_preFix}/getWorkspaces` }; export const getProjectStructure: RequestType = { method: `${_preFix}/getProjectStructure` }; export const getProjectComponents: RequestType = { method: `${_preFix}/getProjectComponents` }; diff --git a/workspaces/ballerina/ballerina-core/src/state-machine-types.ts b/workspaces/ballerina/ballerina-core/src/state-machine-types.ts index 7e34569825c..4f2dbbf514e 100644 --- a/workspaces/ballerina/ballerina-core/src/state-machine-types.ts +++ b/workspaces/ballerina/ballerina-core/src/state-machine-types.ts @@ -77,6 +77,7 @@ export enum MACHINE_VIEW { BIWelcome = "BI Welcome", BIProjectForm = "BI Project SKIP", BIImportIntegration = "BI Import Integration SKIP", + BIAddProjectForm = "BI Add Project SKIP", BIComponentView = "BI Component View", AddConnectionWizard = "Add Connection Wizard", AddCustomConnector = "Add Custom Connector", diff --git a/workspaces/ballerina/ballerina-extension/src/features/bi/activator.ts b/workspaces/ballerina/ballerina-extension/src/features/bi/activator.ts index cc2561641cf..a9f5bd9596b 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/bi/activator.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/bi/activator.ts @@ -87,8 +87,9 @@ export function activate(context: BallerinaExtension) { openView(EVENT_TYPE.OPEN_VIEW, { view: MACHINE_VIEW.Overview }); }); - commands.registerCommand(BI_COMMANDS.ADD_PROJECT, () => { - openView(EVENT_TYPE.OPEN_VIEW, { view: MACHINE_VIEW.BIComponentView }); + commands.registerCommand(BI_COMMANDS.ADD_PROJECT, async () => { + const workspacePath = StateMachine.context().workspacePath; + openView(EVENT_TYPE.OPEN_VIEW, { view: MACHINE_VIEW.BIAddProjectForm, workspacePath: workspacePath }); }); commands.registerCommand(BI_COMMANDS.ADD_DATA_MAPPER, () => { diff --git a/workspaces/ballerina/ballerina-extension/src/rpc-managers/bi-diagram/rpc-manager.ts b/workspaces/ballerina/ballerina-extension/src/rpc-managers/bi-diagram/rpc-manager.ts index 49bb797cc19..2a23e49254b 100644 --- a/workspaces/ballerina/ballerina-extension/src/rpc-managers/bi-diagram/rpc-manager.ts +++ b/workspaces/ballerina/ballerina-extension/src/rpc-managers/bi-diagram/rpc-manager.ts @@ -143,6 +143,7 @@ import { Item, Category, NodePosition, + AddProjectToWorkspaceRequest, } from "@wso2/ballerina-core"; import * as fs from "fs"; import * as path from 'path'; @@ -585,6 +586,20 @@ export class BiDiagramRpcManager implements BIDiagramAPI { } } + async addProjectToWorkspace(params: AddProjectToWorkspaceRequest): Promise { + if (params.convertToWorkspace) { + // Create a new direcotory using the workspace name at same level as the current project and move the project to the new directory + const newDirectory = path.join(path.dirname(StateMachine.context().projectUri), params.workspaceName); + if (!fs.existsSync(newDirectory)) { + fs.mkdirSync(newDirectory, { recursive: true }); + } + fs.renameSync(StateMachine.context().projectUri, path.join(newDirectory, path.basename(StateMachine.context().projectUri))); + openInVSCode(newDirectory); + } else { + // TODO: Just add the project to the workspace + } + } + async getWorkspaces(): Promise { return new Promise(async (resolve) => { const workspaces = workspace.workspaceFolders; diff --git a/workspaces/ballerina/ballerina-rpc-client/src/rpc-clients/bi-diagram/rpc-client.ts b/workspaces/ballerina/ballerina-rpc-client/src/rpc-clients/bi-diagram/rpc-client.ts index 98ae747249f..5cb6d09514f 100644 --- a/workspaces/ballerina/ballerina-rpc-client/src/rpc-clients/bi-diagram/rpc-client.ts +++ b/workspaces/ballerina/ballerina-rpc-client/src/rpc-clients/bi-diagram/rpc-client.ts @@ -119,6 +119,7 @@ import { createComponent, createGraphqlClassType, createProject, + addProjectToWorkspace, deleteByComponentInfo, deleteConfigVariableV2, deleteFlowNode, @@ -191,6 +192,7 @@ import { VerifyTypeDeleteResponse, verifyTypeDelete, ConfigVariableRequest, + AddProjectToWorkspaceRequest, } from "@wso2/ballerina-core"; import { HOST_EXTENSION } from "vscode-messenger-common"; import { Messenger } from "vscode-messenger-webview"; @@ -262,6 +264,10 @@ export class BiDiagramRpcClient implements BIDiagramAPI { return this._messenger.sendNotification(createProject, HOST_EXTENSION, params); } + addProjectToWorkspace(params: AddProjectToWorkspaceRequest): void { + return this._messenger.sendNotification(addProjectToWorkspace, HOST_EXTENSION, params); + } + getWorkspaces(): Promise { return this._messenger.sendRequest(getWorkspaces, HOST_EXTENSION); } diff --git a/workspaces/ballerina/ballerina-visualizer/src/MainPanel.tsx b/workspaces/ballerina/ballerina-visualizer/src/MainPanel.tsx index d90084333b6..59436e3bc63 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/MainPanel.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/MainPanel.tsx @@ -41,6 +41,7 @@ import { ServiceDesigner } from "./views/BI/ServiceDesigner"; import { WelcomeView, ProjectForm, + AddProjectForm, ComponentListView, PopupMessage, FunctionForm, @@ -442,7 +443,10 @@ const MainPanel = () => { setShowHome(false); setViewComponent(); break; - + case MACHINE_VIEW.BIAddProjectForm: + setShowHome(false); + setViewComponent(); + break; case MACHINE_VIEW.BIComponentView: setViewComponent(); break; diff --git a/workspaces/ballerina/ballerina-visualizer/src/components/TopNavigationBar/index.tsx b/workspaces/ballerina/ballerina-visualizer/src/components/TopNavigationBar/index.tsx index e7ddb604063..7e9a3fbaadf 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/components/TopNavigationBar/index.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/components/TopNavigationBar/index.tsx @@ -16,7 +16,7 @@ * under the License. */ -import React, { useEffect, useMemo, useState } from "react"; +import React, { useEffect, useState } from "react"; import styled from "@emotion/styled"; import { Codicon, Icon } from "@wso2/ui-toolkit"; import { useRpcContext } from "@wso2/ballerina-rpc-client"; @@ -107,15 +107,17 @@ export function TopNavigationBar(props: TopNavigationBarProps) { const { onBack, onHome } = props; const { rpcClient } = useRpcContext(); const [history, setHistory] = useState([]); + const [isBallerinaWorkspace, setIsBallerinaWorkspace] = useState(false); useEffect(() => { - rpcClient - .getVisualizerRpcClient() - .getHistory() - .then((history) => { - console.log(">>> history", history); - setHistory(history); - }); + Promise.all([ + rpcClient.getVisualizerRpcClient().getHistory(), + rpcClient.getCommonRpcClient().isBallerinaWorkspace() + ]).then(([history, isWorkspace]) => { + console.log(">>> history", history); + setHistory(history); + setIsBallerinaWorkspace(isWorkspace); + }); }, []); const handleBack = () => { @@ -134,10 +136,6 @@ export function TopNavigationBar(props: TopNavigationBarProps) { } }; - const isBallerinaWorkspace = useMemo(() => { - return rpcClient.getCommonRpcClient().isBallerinaWorkspace(); - }, []); - // HACK: To remove forms from breadcrumb. Will have to fix from the state machine side const hackToSkipForms = ["overview", "automation", "service", "function", "add natural function", "data mapper", "connection"]; const existingLabels = new Set(); diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ProjectForm/AddProjectForm.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ProjectForm/AddProjectForm.tsx new file mode 100644 index 00000000000..fd54855494a --- /dev/null +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ProjectForm/AddProjectForm.tsx @@ -0,0 +1,136 @@ +/** + * Copyright (c) 2025, WSO2 LLC. (https://www.wso2.com) All Rights Reserved. + * + * WSO2 LLC. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import { useEffect, useMemo, useState } from "react"; +import { + Button, + Icon, + Typography, +} from "@wso2/ui-toolkit"; +import styled from "@emotion/styled"; +import { useRpcContext } from "@wso2/ballerina-rpc-client"; +import { AddProjectFormFields, AddProjectFormData } from "./AddProjectFormFields"; +import { isFormValidAddProject } from "./utils"; + +const FormContainer = styled.div` + display: flex; + flex-direction: column; + margin: 80px 120px; + max-width: 600px; +`; + +const TitleContainer = styled.div` + display: flex; + align-items: center; + gap: 8px; + margin-bottom: 32px; +`; + +const ButtonWrapper = styled.div` + margin-top: 20px; + display: flex; + justify-content: flex-end; +`; + +const IconButton = styled.div` + cursor: pointer; + border-radius: 4px; + width: 20px; + height: 20px; + font-size: 20px; + &:hover { + background-color: var(--vscode-toolbar-hoverBackground); + } +`; + +export function AddProjectForm() { + const { rpcClient } = useRpcContext(); + const [formData, setFormData] = useState({ + integrationName: "", + packageName: "", + workspaceName: "", + orgName: "", + version: "", + }); + const [isInWorkspace, setIsInWorkspace] = useState(false); + const [path, setPath] = useState(""); + + const handleFormDataChange = (data: Partial) => { + setFormData(prev => ({ ...prev, ...data })); + }; + + useEffect(() => { + Promise.all([ + rpcClient.getCommonRpcClient().getWorkspaceRoot(), + rpcClient.getCommonRpcClient().isBallerinaWorkspace() + ]).then(([path, isWorkspace]) => { + setPath(path.path); + setIsInWorkspace(isWorkspace); + }); + }, []); + + const handleAddProject = () => { + rpcClient.getBIDiagramRpcClient().addProjectToWorkspace({ + projectName: formData.integrationName, + packageName: formData.packageName, + convertToWorkspace: !isInWorkspace, + path: path, + workspaceName: formData.workspaceName, + orgName: formData.orgName || undefined, + version: formData.version || undefined, + }); + }; + + const goBack = () => { + rpcClient.getVisualizerRpcClient().goBack(); + }; + + return ( + + + + + + + {!isInWorkspace + ? "Convert to Workspace & Add Integration" + : "Add New Integration"} + + + + + + + + + + ); +} + diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ProjectForm/AddProjectFormFields.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ProjectForm/AddProjectFormFields.tsx new file mode 100644 index 00000000000..a45c65388b0 --- /dev/null +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ProjectForm/AddProjectFormFields.tsx @@ -0,0 +1,201 @@ +/** + * Copyright (c) 2025, WSO2 LLC. (https://www.wso2.com) All Rights Reserved. + * + * WSO2 LLC. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import { useEffect, useState } from "react"; +import { TextField, CheckBox, LinkButton, ThemeColors, Codicon } from "@wso2/ui-toolkit"; +import styled from "@emotion/styled"; +import { sanitizePackageName, validatePackageName } from "./utils"; + +const FieldGroup = styled.div` + margin-bottom: 20px; +`; + +const CheckboxContainer = styled.div` + margin: 16px 0; +`; + +const OptionalConfigRow = styled.div` + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + width: 100%; + margin-bottom: 8px; +`; + +const OptionalConfigButtonContainer = styled.div` + display: flex; + flex-direction: row; + flex-grow: 1; + justify-content: flex-end; +`; + +const OptionalConfigContent = styled.div` + margin-top: 16px; +`; + +const Description = styled.div` + color: var(--vscode-list-deemphasizedForeground); + margin-top: 4px; + text-align: left; +`; + +const WorkspaceSection = styled.div` + margin-bottom: 24px; + padding-bottom: 24px; + border-bottom: 1px solid var(--vscode-panel-border); +`; + +export interface AddProjectFormData { + integrationName: string; + packageName: string; + workspaceName?: string; + orgName: string; + version: string; +} + +export interface AddProjectFormFieldsProps { + formData: AddProjectFormData; + onFormDataChange: (data: Partial) => void; + isInWorkspace: boolean; // true if already in a workspace, false if in a package +} + +export function AddProjectFormFields({ + formData, + onFormDataChange, + isInWorkspace +}: AddProjectFormFieldsProps) { + const [packageNameTouched, setPackageNameTouched] = useState(false); + const [showOptionalConfigurations, setShowOptionalConfigurations] = useState(false); + const [packageNameError, setPackageNameError] = useState(null); + + const handleIntegrationName = (value: string) => { + onFormDataChange({ integrationName: value }); + // Auto-populate package name if user hasn't manually edited it + if (!packageNameTouched) { + onFormDataChange({ packageName: sanitizePackageName(value) }); + } + }; + + const handlePackageName = (value: string) => { + const sanitized = sanitizePackageName(value); + onFormDataChange({ packageName: sanitized }); + setPackageNameTouched(value.length > 0); + // Clear error while typing + if (packageNameError) { + setPackageNameError(null); + } + }; + + const handleShowOptionalConfigurations = () => { + setShowOptionalConfigurations(true); + }; + + const handleHideOptionalConfigurations = () => { + setShowOptionalConfigurations(false); + }; + + // Effect to trigger validation when requested by parent + useEffect(() => { + const error = validatePackageName(formData.packageName, formData.integrationName); + setPackageNameError(error); + }, [formData.packageName]); + + return ( + <> + {!isInWorkspace && ( + + onFormDataChange({ workspaceName: value })} + value={formData.workspaceName} + label="Workspace Name" + placeholder="Enter workspace name" + required={true} + /> + + )} + + + + + + + + + + + Optional Configurations + + {!showOptionalConfigurations && ( + + + Expand + + )} + {showOptionalConfigurations && ( + + + Collapse + + )} + + + + {showOptionalConfigurations && ( + + + onFormDataChange({ orgName: value })} + value={formData.orgName} + label="Organization Name" + description="The organization that owns this Ballerina package." + /> + + + onFormDataChange({ version: value })} + value={formData.version} + label="Package Version" + placeholder="0.1.0" + description="Version of the Ballerina package." + /> + + + )} + + ); +} diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ProjectForm/utils.ts b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ProjectForm/utils.ts index 8c0ab104b43..ee139208971 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ProjectForm/utils.ts +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ProjectForm/utils.ts @@ -17,6 +17,7 @@ */ // Import from the component file since types.ts was removed +import { AddProjectFormData } from "./AddProjectFormFields"; import { ProjectFormData } from "./ProjectFormFields"; export const isValidPackageName = (name: string): boolean => { @@ -64,6 +65,15 @@ export const isFormValid = (formData: ProjectFormData): boolean => { ); }; +export const isFormValidAddProject = (formData: AddProjectFormData, isInWorkspace: boolean): boolean => { + return ( + formData.integrationName.length >= 2 && + formData.packageName.length >= 2 && + (isInWorkspace || (!isInWorkspace && formData.workspaceName.length >= 1)) && + validatePackageName(formData.packageName, formData.integrationName) === null + ); +}; + export const sanitizePackageName = (name: string): string => { // Allow dots but sanitize other characters, then convert consecutive dots to single dot return name diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/index.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/index.tsx index cc0d267d5c0..602e603c82a 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/index.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/index.tsx @@ -18,6 +18,7 @@ export { WelcomeView } from "./WelcomeView"; export { ProjectForm } from "./ProjectForm"; +export { AddProjectForm } from "./ProjectForm/AddProjectForm"; export { Overview as BIOverview } from "./Overview"; export { ComponentListView } from "./ComponentListView"; export { ComponentDiagram } from "./ComponentDiagram"; From 17b09cbeca5cbddd244f6c227e7f582f575297b4 Mon Sep 17 00:00:00 2001 From: madushajg Date: Fri, 17 Oct 2025 13:55:37 +0530 Subject: [PATCH 011/491] Refactor project URI references to project path in ballerina extension and visualizer components --- .../src/interfaces/extended-lang-client.ts | 2 +- .../ballerina-core/src/state-machine-types.ts | 2 +- .../ballerina-extension/src/RPCLayer.ts | 4 +- .../ballerina-extension/src/extension.ts | 2 +- .../src/features/ai/activator.ts | 2 +- .../src/features/bi/activator.ts | 16 ++-- .../config-generator/configGenerator.ts | 22 +++-- .../src/features/debugger/config-provider.ts | 4 +- .../features/natural-programming/activator.ts | 2 +- .../src/features/natural-programming/utils.ts | 29 +++--- .../src/features/test-explorer/commands.ts | 6 +- .../src/features/test-explorer/discover.ts | 7 +- .../src/features/test-explorer/runner.ts | 6 +- .../src/rpc-managers/ai-agent/rpc-manager.ts | 32 +++---- .../src/rpc-managers/ai-panel/rpc-manager.ts | 4 +- .../rpc-managers/bi-diagram/rpc-manager.ts | 95 ++++++++++--------- .../src/rpc-managers/common/rpc-manager.ts | 4 +- .../rpc-managers/icp-service/rpc-manager.ts | 6 +- .../record-creator/rpc-manager.ts | 8 +- .../service-designer/rpc-manager.ts | 30 +++--- .../rpc-managers/visualizer/rpc-manager.ts | 2 +- .../ballerina-extension/src/stateMachine.ts | 20 ++-- .../src/stateMachinePopup.ts | 2 +- .../ballerina-extension/src/utils/bi.ts | 10 +- .../src/utils/project-artifacts.ts | 28 +++--- .../src/utils/project-utils.ts | 4 +- .../src/utils/state-machine-utils.ts | 37 ++++---- .../src/views/visualizer/activate.ts | 2 +- .../src/views/visualizer/webview.ts | 4 +- .../ballerina-visualizer/src/MainPanel.tsx | 57 +++++++---- .../ballerina-visualizer/src/PopupPanel.tsx | 9 +- .../ConnectionSelector/ConnectionConfig.tsx | 2 +- .../ConnectionSelector/ConnectionCreator.tsx | 2 +- .../ConnectionSelectionList.tsx | 2 +- .../views/AIPanel/components/AIChat/index.tsx | 2 +- .../BI/AIChatAgent/AIChatAgentWizard.tsx | 4 +- .../src/views/BI/AIChatAgent/AddMcpServer.tsx | 4 +- .../src/views/BI/AIChatAgent/NewAgent.tsx | 4 +- .../src/views/BI/AIChatAgent/NewTool.tsx | 8 +- .../src/views/BI/AIChatAgent/utils.ts | 12 +-- .../Connection/AddConnectionWizard/index.tsx | 2 +- .../Connection/EditConnectionWizard/index.tsx | 1 - .../BI/HelperPaneNew/Views/Configurables.tsx | 4 +- .../BI/HelperPaneNew/Views/Functions.tsx | 8 +- .../BI/HelperPaneNew/Views/Variables.tsx | 4 +- .../ServiceClassEditor/ServiceClassConfig.tsx | 3 +- .../src/views/DataMapper/DataMapperView.tsx | 5 +- .../src/views/DataMapper/index.tsx | 2 +- .../GraphQLDiagram/ObjectViewer/index.tsx | 3 +- .../src/views/GraphQLDiagram/index.tsx | 4 +- .../src/views/TypeDiagram/index.tsx | 3 +- .../src/TypeEditor/IdentifierField.tsx | 4 +- .../src/TypeEditor/Tabs/ImportTab.tsx | 4 +- .../src/TypeEditor/Tabs/TypeCreatorTab.tsx | 4 +- .../type-editor/src/TypeEditor/TypeField.tsx | 4 +- .../project-explorer-provider.ts | 6 +- 56 files changed, 298 insertions(+), 261 deletions(-) diff --git a/workspaces/ballerina/ballerina-core/src/interfaces/extended-lang-client.ts b/workspaces/ballerina/ballerina-core/src/interfaces/extended-lang-client.ts index 87b6d04102c..d2abbf96b96 100644 --- a/workspaces/ballerina/ballerina-core/src/interfaces/extended-lang-client.ts +++ b/workspaces/ballerina/ballerina-core/src/interfaces/extended-lang-client.ts @@ -583,7 +583,7 @@ export interface ExecutorPositions { // Test Manager related interfaces export interface TestsDiscoveryRequest { - filePath: string; + projectPath: string; } export interface TestsDiscoveryResponse { diff --git a/workspaces/ballerina/ballerina-core/src/state-machine-types.ts b/workspaces/ballerina/ballerina-core/src/state-machine-types.ts index 4f2dbbf514e..5a1901b1d96 100644 --- a/workspaces/ballerina/ballerina-core/src/state-machine-types.ts +++ b/workspaces/ballerina/ballerina-core/src/state-machine-types.ts @@ -120,7 +120,7 @@ export type FocusFlowDiagramView = typeof FOCUS_FLOW_DIAGRAM_VIEW[keyof typeof F export interface VisualizerLocation { view?: MACHINE_VIEW | null; documentUri?: string; - projectUri?: string; + projectPath?: string; workspacePath?: string; identifier?: string; parentIdentifier?: string; diff --git a/workspaces/ballerina/ballerina-extension/src/RPCLayer.ts b/workspaces/ballerina/ballerina-extension/src/RPCLayer.ts index 42dea359982..240404826cb 100644 --- a/workspaces/ballerina/ballerina-extension/src/RPCLayer.ts +++ b/workspaces/ballerina/ballerina-extension/src/RPCLayer.ts @@ -130,7 +130,7 @@ async function getContext(): Promise { position: context.position, syntaxTree: context.syntaxTree, isBI: context.isBI, - projectUri: context.projectUri, + projectPath: context.projectPath, serviceType: context.serviceType, type: context.type, isGraphql: context.isGraphql, @@ -140,7 +140,7 @@ async function getContext(): Promise { metadata: { isBISupported: context.isBISupported, haveLS: StateMachine.langClient() && true, - recordFilePath: path.join(context.projectUri, "types.bal"), + recordFilePath: path.join(context.projectPath, "types.bal"), enableSequenceDiagram: extension.ballerinaExtInstance.enableSequenceDiagramView(), target: context.metadata?.target }, diff --git a/workspaces/ballerina/ballerina-extension/src/extension.ts b/workspaces/ballerina/ballerina-extension/src/extension.ts index d86b93b39d8..68873ed7b8e 100644 --- a/workspaces/ballerina/ballerina-extension/src/extension.ts +++ b/workspaces/ballerina/ballerina-extension/src/extension.ts @@ -112,7 +112,7 @@ export async function activate(context: ExtensionContext) { // Wait for the ballerina extension to be ready await StateMachine.initialize(); // Then return the ballerina extension context - return { ballerinaExtInstance: extension.ballerinaExtInstance, projectPath: StateMachine.context().projectUri }; + return { ballerinaExtInstance: extension.ballerinaExtInstance, projectPath: StateMachine.context().projectPath }; } export async function activateBallerina(): Promise { diff --git a/workspaces/ballerina/ballerina-extension/src/features/ai/activator.ts b/workspaces/ballerina/ballerina-extension/src/features/ai/activator.ts index 49f20d0cf09..402c16dfdce 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/ai/activator.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/ai/activator.ts @@ -42,7 +42,7 @@ export function activateAIFeatures(ballerinaExternalInstance: BallerinaExtension }); } - const projectPath = StateMachine.context().projectUri; + const projectPath = StateMachine.context().projectPath; commands.registerCommand(CONFIGURE_DEFAULT_MODEL_COMMAND, async (...args: any[]) => { const configPath = await getConfigFilePath(ballerinaExternalInstance, projectPath); diff --git a/workspaces/ballerina/ballerina-extension/src/features/bi/activator.ts b/workspaces/ballerina/ballerina-extension/src/features/bi/activator.ts index a9f5bd9596b..05bfc3e0230 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/bi/activator.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/bi/activator.ts @@ -43,12 +43,12 @@ const TRACE_SERVER_VERBOSE = "verbose"; export function activate(context: BallerinaExtension) { commands.registerCommand(BI_COMMANDS.BI_RUN_PROJECT, () => { - prepareAndGenerateConfig(context, StateMachine.context().projectUri, false, true); + prepareAndGenerateConfig(context, StateMachine.context().projectPath, false, true); }); commands.registerCommand(BI_COMMANDS.BI_DEBUG_PROJECT, () => { commands.executeCommand(FOCUS_DEBUG_CONSOLE_COMMAND); - startDebugging(Uri.file(StateMachine.context().projectUri), false, true); + startDebugging(Uri.file(StateMachine.context().projectPath), false, true); }); commands.registerCommand(BI_COMMANDS.ADD_CONNECTIONS, () => { @@ -126,8 +126,8 @@ export function activate(context: BallerinaExtension) { function openBallerinaTomlFile(context: BallerinaExtension) { - const projectRoot = StateMachine.context().projectUri; - const ballerinaTomlFile = path.join(projectRoot, "Ballerina.toml"); + const projectPath = StateMachine.context().projectPath; + const ballerinaTomlFile = path.join(projectPath, "Ballerina.toml"); try { const content = readFileSync(ballerinaTomlFile, "utf8"); if (content) { @@ -149,12 +149,12 @@ function openBallerinaTomlFile(context: BallerinaExtension) { } function openAllBallerinaFiles(context: BallerinaExtension) { - const projectRoot = StateMachine.context().projectUri; + const projectPath = StateMachine.context().projectPath; - if (context.langClient && projectRoot) { + if (context.langClient && projectPath) { try { // Find all Ballerina files in the project - const ballerinaFiles = findBallerinaFiles(projectRoot); + const ballerinaFiles = findBallerinaFiles(projectPath); console.log(`>>> Found ${ballerinaFiles.length} Ballerina files in the project`); // Open each Ballerina file @@ -316,7 +316,7 @@ function isFlowNodeOpenInDiagram(connector: FlowNode) { endLine: connector.codedata.lineRange.endLine.line, endColumn: connector.codedata.lineRange.endLine.offset }; - const flowNodeFilePath = path.join(StateMachine.context().projectUri, connector.codedata.lineRange.fileName); + const flowNodeFilePath = path.join(StateMachine.context().projectPath, connector.codedata.lineRange.fileName); return isFilePathsEqual(openedComponentFilePath, flowNodeFilePath) && isPositionEqual(openedCompoentPosition, flowNodePosition); diff --git a/workspaces/ballerina/ballerina-extension/src/features/config-generator/configGenerator.ts b/workspaces/ballerina/ballerina-extension/src/features/config-generator/configGenerator.ts index 5c437fd2363..d72ac0761dc 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/config-generator/configGenerator.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/config-generator/configGenerator.ts @@ -34,20 +34,27 @@ import * as path from "path"; const UNUSED_IMPORT_ERR_CODE = "BCE2002"; -export async function prepareAndGenerateConfig(ballerinaExtInstance: BallerinaExtension, filePath: string, isCommand?: boolean, isBi?: boolean, executeRun: boolean = true, includeOptional: boolean = false): Promise { - const currentProject: BallerinaProject | undefined = await getCurrentBIProject(filePath); +export async function prepareAndGenerateConfig( + ballerinaExtInstance: BallerinaExtension, + projectPath: string, + isCommand?: boolean, + isBi?: boolean, + executeRun: boolean = true, + includeOptional: boolean = false +): Promise { + const currentProject: BallerinaProject | undefined = await getCurrentBIProject(projectPath); const ignoreFile = path.join(currentProject.path, ".gitignore"); const configFile = path.join(currentProject.path, BAL_CONFIG_FILE); const hasWarnings = ( await checkConfigUpdateRequired( ballerinaExtInstance, - filePath + projectPath )).hasWarnings; if (!hasWarnings) { if (!isCommand && executeRun) { - executeRunCommand(ballerinaExtInstance, filePath, isBi); + executeRunCommand(ballerinaExtInstance, projectPath, isBi); } return; } @@ -55,12 +62,15 @@ export async function prepareAndGenerateConfig(ballerinaExtInstance: BallerinaEx await handleOnUnSetValues(currentProject.packageName, configFile, ignoreFile, ballerinaExtInstance, isCommand, isBi); } -export async function checkConfigUpdateRequired(ballerinaExtInstance: BallerinaExtension, filePath: string): Promise<{ hasWarnings: boolean }> { +export async function checkConfigUpdateRequired( + ballerinaExtInstance: BallerinaExtension, + projectPath: string +): Promise<{ hasWarnings: boolean }> { try { const showLibraryConfigVariables = ballerinaExtInstance.showLibraryConfigVariables(); const response = await ballerinaExtInstance.langClient?.getConfigVariablesV2({ - projectPath: filePath, + projectPath, includeLibraries: showLibraryConfigVariables !== false }) as ConfigVariableResponse; diff --git a/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts b/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts index dfc152e73c4..9839d621303 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts @@ -114,7 +114,7 @@ function getValueFromProgramArgs(programArgs: string[], idx: number) { async function handleMainFunctionParams(config: DebugConfiguration) { const res = await extension.ballerinaExtInstance.langClient?.getMainFunctionParams({ projectRootIdentifier: { - uri: "file://" + StateMachine.context().projectUri + uri: Uri.file(StateMachine.context().projectPath).toString() } }) as MainFunctionParamsResponse; if (res.hasMain) { @@ -520,7 +520,7 @@ async function handleBreakpointVisualization(uri: Uri, clientBreakpoint: DebugPr const newContext = StateMachine.context(); // Check if breakpoint is in a different project - if (!uri.fsPath.startsWith(newContext.projectUri)) { + if (!uri.fsPath.startsWith(newContext.projectPath)) { console.log("Breakpoint is in a different project"); window.showInformationMessage("Cannot visualize breakpoint since it belongs to a different project"); openView(EVENT_TYPE.OPEN_VIEW, newContext); diff --git a/workspaces/ballerina/ballerina-extension/src/features/natural-programming/activator.ts b/workspaces/ballerina/ballerina-extension/src/features/natural-programming/activator.ts index a1aecbde09f..f27851bbb6b 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/natural-programming/activator.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/natural-programming/activator.ts @@ -41,7 +41,7 @@ export function activate(ballerinaExtInstance: BallerinaExtension) { diagnosticCollection = vscode.languages.createDiagnosticCollection('ballerina'); ballerinaExtInstance.context.subscriptions.push(diagnosticCollection); - const projectPath = StateMachine.context().projectUri; + const projectPath = StateMachine.context().projectPath; if (backgroundDriftCheckConfig) { if (!ballerinaExtInstance.context || projectPath == null || projectPath == "") { return; diff --git a/workspaces/ballerina/ballerina-extension/src/features/natural-programming/utils.ts b/workspaces/ballerina/ballerina-extension/src/features/natural-programming/utils.ts index 6739245acfb..a434477a9cf 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/natural-programming/utils.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/natural-programming/utils.ts @@ -49,11 +49,11 @@ import { fetchWithAuth } from '../ai/service/connection'; let controller = new AbortController(); -export async function getLLMDiagnostics(projectUri: string, diagnosticCollection +export async function getLLMDiagnostics(projectPath: string, diagnosticCollection : vscode.DiagnosticCollection): Promise { - const ballerinaProjectSource: BallerinaSource = await getBallerinaProjectSourceFiles(projectUri); + const ballerinaProjectSource: BallerinaSource = await getBallerinaProjectSourceFiles(projectPath); const sourcesOfNonDefaultModulesWithReadme: BallerinaSource[] - = getSourcesOfNonDefaultModulesWithReadme(path.join(projectUri, "modules")); + = getSourcesOfNonDefaultModulesWithReadme(path.join(projectPath, "modules")); const sources: BallerinaSource[] = [ballerinaProjectSource, ...sourcesOfNonDefaultModulesWithReadme]; const backendurl = await getBackendURL(); @@ -69,7 +69,7 @@ export async function getLLMDiagnostics(projectUri: string, diagnosticCollection return responses; } - await createDiagnosticCollection(responses, projectUri, diagnosticCollection); + await createDiagnosticCollection(responses, projectPath, diagnosticCollection); } async function getLLMResponses(sources: BallerinaSource[], token: string, backendurl: string) @@ -143,12 +143,15 @@ async function getLLMResponses(sources: BallerinaSource[], token: string, backen return extractedResponses; } -async function createDiagnosticCollection(responses: any[], projectUri: string, - diagnosticCollection: vscode.DiagnosticCollection) { +async function createDiagnosticCollection( + responses: any[], + projectPath: string, + diagnosticCollection: vscode.DiagnosticCollection +) { let diagnosticsMap = new Map(); for (const response of responses) { - diagnosticsMap = await createDiagnosticsResponse(response, projectUri, diagnosticsMap); + diagnosticsMap = await createDiagnosticsResponse(response, projectPath, diagnosticsMap); } // Set diagnostics in VS Code @@ -261,10 +264,10 @@ async function createDiagnostic(result: ResultItem, uri: Uri): Promise { - const ballerinaProjectSource: BallerinaSource = await getBallerinaProjectSourceFiles(projectUri); +export async function getLLMDiagnosticArrayAsString(projectPath: string): Promise { + const ballerinaProjectSource: BallerinaSource = await getBallerinaProjectSourceFiles(projectPath); const sourcesOfNonDefaultModulesWithReadme: BallerinaSource[] - = getSourcesOfNonDefaultModulesWithReadme(path.join(projectUri, "modules")); + = getSourcesOfNonDefaultModulesWithReadme(path.join(projectPath, "modules")); const sources: BallerinaSource[] = [ballerinaProjectSource, ...sourcesOfNonDefaultModulesWithReadme]; const backendurl = await getBackendURL(); @@ -280,7 +283,7 @@ export async function getLLMDiagnosticArrayAsString(projectUri: string): Promise return responses; } - let diagnosticArray = (await createDiagnosticArray(responses, projectUri)).map(diagnostic => { + let diagnosticArray = (await createDiagnosticArray(responses, projectPath)).map(diagnostic => { return `${diagnostic.message}`; }) .join("\n\n"); @@ -288,11 +291,11 @@ export async function getLLMDiagnosticArrayAsString(projectUri: string): Promise return diagnosticArray; } -async function createDiagnosticArray(responses: any[], projectUri: string): Promise { +async function createDiagnosticArray(responses: any[], projectPath: string): Promise { const diagnostics = []; for (const response of responses) { - await createDiagnosticList(response, projectUri, diagnostics); + await createDiagnosticList(response, projectPath, diagnostics); } function filterUniqueDiagnostics(diagnostics: vscode.Diagnostic[]): vscode.Diagnostic[] { diff --git a/workspaces/ballerina/ballerina-extension/src/features/test-explorer/commands.ts b/workspaces/ballerina/ballerina-extension/src/features/test-explorer/commands.ts index 756d1d23afe..81a1cf1eefa 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/test-explorer/commands.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/test-explorer/commands.ts @@ -32,7 +32,7 @@ export function activateEditBiTest() { } const fileName = entry.id.split(":")[1]; - const fileUri = path.resolve(StateMachine.context().projectUri, `tests`, fileName); + const fileUri = path.resolve(StateMachine.context().projectPath, `tests`, fileName); if (fileUri) { const range = entry.range; openView(EVENT_TYPE.OPEN_VIEW, { documentUri: fileUri, @@ -43,7 +43,7 @@ export function activateEditBiTest() { }); commands.registerCommand(BI_COMMANDS.BI_ADD_TEST_FUNCTION, () => { - const fileUri = path.resolve(StateMachine.context().projectUri, `tests`, `tests.bal`); + const fileUri = path.resolve(StateMachine.context().projectPath, `tests`, `tests.bal`); ensureFileExists(fileUri); openView(EVENT_TYPE.OPEN_VIEW, { view: MACHINE_VIEW.BITestFunctionForm, documentUri: fileUri, identifier: '', serviceType: 'ADD_NEW_TEST' }); @@ -55,7 +55,7 @@ export function activateEditBiTest() { } const fileName = entry.id.split(":")[1]; - const fileUri = path.resolve(StateMachine.context().projectUri, `tests`, fileName); + const fileUri = path.resolve(StateMachine.context().projectPath, `tests`, fileName); if (fileUri) { openView(EVENT_TYPE.OPEN_VIEW, { view: MACHINE_VIEW.BITestFunctionForm, documentUri: fileUri, identifier: entry.label, serviceType: 'UPDATE_TEST' }); diff --git a/workspaces/ballerina/ballerina-extension/src/features/test-explorer/discover.ts b/workspaces/ballerina/ballerina-extension/src/features/test-explorer/discover.ts index cc31b0a2d61..66edd255077 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/test-explorer/discover.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/test-explorer/discover.ts @@ -28,9 +28,8 @@ let groups: string[] = []; export async function discoverTestFunctionsInProject(ballerinaExtInstance: BallerinaExtension, testController: TestController) { groups.push(testController.id); - const filePath: string = path.join(StateMachine.context().projectUri); const request: TestsDiscoveryRequest = { - filePath + projectPath: StateMachine.context().projectPath }; const response: TestsDiscoveryResponse = await ballerinaExtInstance.langClient?.getProjectTestFunctions(request); if (response) { @@ -41,8 +40,6 @@ export async function discoverTestFunctionsInProject(ballerinaExtInstance: Balle function createTests(response: TestsDiscoveryResponse, testController: TestController) { if (response.result) { - const projectDir = path.join(StateMachine.context().projectUri); - // Check if the result is a Map or a plain object const isMap = response.result instanceof Map; @@ -74,7 +71,7 @@ function createTests(response: TestsDiscoveryResponse, testController: TestContr const testFunc: FunctionTreeNode = tf as FunctionTreeNode; // Generate a unique ID for the test item using the function name const fileName: string = testFunc.lineRange.fileName; - const fileUri = Uri.file(path.join(projectDir, fileName)); + const fileUri = Uri.file(path.join(StateMachine.context().projectPath, fileName)); const testId = `test:${path.basename(fileUri.path)}:${testFunc.functionName}`; // Create a test item for the test function diff --git a/workspaces/ballerina/ballerina-extension/src/features/test-explorer/runner.ts b/workspaces/ballerina/ballerina-extension/src/features/test-explorer/runner.ts index e6c03cd9b4e..576d1e197c8 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/test-explorer/runner.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/test-explorer/runner.ts @@ -138,7 +138,7 @@ enum TEST_STATUS { } async function reportTestResults(run: TestRun, testItems: TestItem[], timeElapsed: number, individualTest: boolean = false) { - const projectRoot = StateMachine.context().projectUri; + const projectRoot = StateMachine.context().projectPath; // reading test results let testsJson: JSON | undefined = undefined; @@ -213,7 +213,7 @@ function endGroup(test: TestItem, allPassed: boolean, run: TestRun) { async function runCommand(command: string): Promise { return new Promise((resolve, reject) => { - exec(command, { cwd: StateMachine.context().projectUri }, (error, stdout, stderr) => { + exec(command, { cwd: StateMachine.context().projectPath }, (error, stdout, stderr) => { if (error) { // Report test failure reject(new Error(stderr || 'Test failed!')); @@ -229,7 +229,7 @@ async function runCommand(command: string): Promise { */ export async function startDebugging(testDebug: boolean, args: any[]) : Promise { - const uri: Uri = Uri.parse(StateMachine.context().projectUri); + const uri: Uri = Uri.parse(StateMachine.context().projectPath); const workspaceFolder: WorkspaceFolder | undefined = workspace.getWorkspaceFolder(uri); const debugConfig: DebugConfiguration = await constructDebugConfig(uri, testDebug, args); diff --git a/workspaces/ballerina/ballerina-extension/src/rpc-managers/ai-agent/rpc-manager.ts b/workspaces/ballerina/ballerina-extension/src/rpc-managers/ai-agent/rpc-manager.ts index f858b7ac5b8..4b8fc158b40 100644 --- a/workspaces/ballerina/ballerina-extension/src/rpc-managers/ai-agent/rpc-manager.ts +++ b/workspaces/ballerina/ballerina-extension/src/rpc-managers/ai-agent/rpc-manager.ts @@ -150,8 +150,8 @@ export class AiAgentRpcManager implements AIAgentAPI { const context = StateMachine.context(); try { - const projectUri = context.projectUri; - const filePath = Utils.joinPath(URI.file(projectUri), "agents.bal").fsPath; + const projectPath = context.projectPath; + const filePath = Utils.joinPath(URI.file(projectPath), "agents.bal").fsPath; let selectedModel = ""; // Create the tools first if (params.newTools.length > 0) { @@ -161,7 +161,7 @@ export class AiAgentRpcManager implements AIAgentAPI { } // Create the model Second - const aiModuleOrg = await StateMachine.langClient().getAiModuleOrg({ projectPath: projectUri }); + const aiModuleOrg = await StateMachine.langClient().getAiModuleOrg({ projectPath: projectPath }); const allAgents = (await StateMachine.langClient().getAllAgents({ filePath, orgName: aiModuleOrg.orgName })); console.log("All Agents: ", allAgents); @@ -230,8 +230,8 @@ export class AiAgentRpcManager implements AIAgentAPI { return new Promise(async (resolve) => { const context = StateMachine.context(); try { - const projectUri = context.projectUri; - const filePath = Utils.joinPath(URI.file(projectUri), "agents.bal").fsPath; + const projectPath = context.projectPath; + const filePath = Utils.joinPath(URI.file(projectPath), "agents.bal").fsPath; // Create the tools if there are any if (params.newTools.length > 0) { for (const tool of params.newTools) { @@ -269,14 +269,14 @@ export class AiAgentRpcManager implements AIAgentAPI { async createTool(tool: AgentTool): Promise { try { - const projectUri = StateMachine.context().projectUri; + const projectPath = StateMachine.context().projectPath; const toolName = tool.toolName; const connectionName = tool.connectionName; - const toolsPath = Utils.joinPath(URI.file(projectUri), "agents.bal").fsPath; + const toolsPath = Utils.joinPath(URI.file(projectPath), "agents.bal").fsPath; let flowNode: FlowNode; // REMOTE_ACTION_CALL| FUNCTION_DEFINITION if (tool.toolType === "Connector") { - const filePath = Utils.joinPath(URI.file(projectUri), "connections.bal").fsPath; + const filePath = Utils.joinPath(URI.file(projectPath), "connections.bal").fsPath; const connectorFlowNode = tool.connectorFlowNode; const connectorActionCodeData = tool.connectorActionCodeData; @@ -301,7 +301,7 @@ export class AiAgentRpcManager implements AIAgentAPI { this.updateFlowNodeProperties(flowNode); } if (tool.toolType === "Function") { - const filePath = Utils.joinPath(URI.file(projectUri), "functions.bal").fsPath; + const filePath = Utils.joinPath(URI.file(projectPath), "functions.bal").fsPath; if (tool.functionState === 1) { // 1 = Create the function first // Get new function flow node @@ -328,7 +328,7 @@ export class AiAgentRpcManager implements AIAgentAPI { .getFunctionNode({ functionName: tool.functionName, fileName: "functions.bal", - projectPath: projectUri + projectPath }); flowNode = existingFunctionFlowNode.functionDefinition as FlowNode; } @@ -351,14 +351,14 @@ export class AiAgentRpcManager implements AIAgentAPI { async createAgentTool(tool: AgentToolRequest): Promise { try { - const projectUri = StateMachine.context().projectUri; + const projectPath = StateMachine.context().projectPath; const toolName = tool.toolName; - const toolsPath = Utils.joinPath(URI.file(projectUri), "agents.bal").fsPath; + const toolsPath = Utils.joinPath(URI.file(projectPath), "agents.bal").fsPath; let flowNode: FlowNode; // REMOTE_ACTION_CALL| FUNCTION_DEFINITION const selectedCodeData = tool.selectedCodeData; if (selectedCodeData.node === "REMOTE_ACTION_CALL") { - const filePath = Utils.joinPath(URI.file(projectUri), "connections.bal").fsPath; + const filePath = Utils.joinPath(URI.file(projectPath), "connections.bal").fsPath; // Get the flowNode for connector action const connectorActionFlowNode = await StateMachine.langClient() .getNodeTemplate({ @@ -370,7 +370,7 @@ export class AiAgentRpcManager implements AIAgentAPI { this.updateFlowNodeProperties(flowNode); } if (selectedCodeData.node === "FUNCTION_CALL") { - const filePath = Utils.joinPath(URI.file(projectUri), "functions.bal").fsPath; + const filePath = Utils.joinPath(URI.file(projectPath), "functions.bal").fsPath; // Get the flowNode for existing function action const existingFunctionFlowNode = await StateMachine.langClient() .getNodeTemplate({ @@ -410,8 +410,8 @@ export class AiAgentRpcManager implements AIAgentAPI { } async updateMCPToolKit(params: McpToolUpdateRequest): Promise { - const projectUri = StateMachine.context().projectUri; - const filePath = Utils.joinPath(URI.file(projectUri), "agents.bal").fsPath; + const projectPath = StateMachine.context().projectPath; + const filePath = Utils.joinPath(URI.file(projectPath), "agents.bal").fsPath; // Generate the variable name from the server name const variableName = params.updatedNode.properties["variable"].value; diff --git a/workspaces/ballerina/ballerina-extension/src/rpc-managers/ai-panel/rpc-manager.ts b/workspaces/ballerina/ballerina-extension/src/rpc-managers/ai-panel/rpc-manager.ts index 72b14d15476..316fae8f5ba 100644 --- a/workspaces/ballerina/ballerina-extension/src/rpc-managers/ai-panel/rpc-manager.ts +++ b/workspaces/ballerina/ballerina-extension/src/rpc-managers/ai-panel/rpc-manager.ts @@ -660,8 +660,8 @@ export class AiPanelRpcManager implements AIPanelAPI { async getModuleDirectory(params: GetModuleDirParams): Promise { return new Promise((resolve) => { - const projectUri = params.filePath; - const projectFsPath = URI.parse(projectUri).fsPath; + const projectPath = params.filePath; + const projectFsPath = URI.parse(projectPath).fsPath; const moduleName = params.moduleName; const generatedPath = path.join(projectFsPath, "generated", moduleName); if (fs.existsSync(generatedPath) && fs.statSync(generatedPath).isDirectory()) { diff --git a/workspaces/ballerina/ballerina-extension/src/rpc-managers/bi-diagram/rpc-manager.ts b/workspaces/ballerina/ballerina-extension/src/rpc-managers/bi-diagram/rpc-manager.ts index 2a23e49254b..9209529b9ab 100644 --- a/workspaces/ballerina/ballerina-extension/src/rpc-managers/bi-diagram/rpc-manager.ts +++ b/workspaces/ballerina/ballerina-extension/src/rpc-managers/bi-diagram/rpc-manager.ts @@ -589,11 +589,11 @@ export class BiDiagramRpcManager implements BIDiagramAPI { async addProjectToWorkspace(params: AddProjectToWorkspaceRequest): Promise { if (params.convertToWorkspace) { // Create a new direcotory using the workspace name at same level as the current project and move the project to the new directory - const newDirectory = path.join(path.dirname(StateMachine.context().projectUri), params.workspaceName); + const newDirectory = path.join(path.dirname(StateMachine.context().projectPath), params.workspaceName); if (!fs.existsSync(newDirectory)) { fs.mkdirSync(newDirectory, { recursive: true }); } - fs.renameSync(StateMachine.context().projectUri, path.join(newDirectory, path.basename(StateMachine.context().projectUri))); + fs.renameSync(StateMachine.context().projectPath, path.join(newDirectory, path.basename(StateMachine.context().projectPath))); openInVSCode(newDirectory); } else { // TODO: Just add the project to the workspace @@ -639,7 +639,7 @@ export class BiDiagramRpcManager implements BIDiagramAPI { async getProjectComponents(): Promise { return new Promise(async (resolve) => { const components = await StateMachine.langClient().getBallerinaProjectComponents({ - documentIdentifiers: [{ uri: Uri.file(StateMachine.context().projectUri).toString() }], + documentIdentifiers: [{ uri: Uri.file(StateMachine.context().projectPath).toString() }], }); resolve({ components }); }); @@ -781,7 +781,7 @@ export class BiDiagramRpcManager implements BIDiagramAPI { async deleteFlowNode(params: BISourceCodeRequest): Promise { console.log(">>> requesting bi delete node from ls", params); // Clean project diagnostics before deleting flow node - await cleanAndValidateProject(StateMachine.langClient(), StateMachine.context().projectUri); + await cleanAndValidateProject(StateMachine.langClient(), StateMachine.context().projectPath); return new Promise((resolve) => { StateMachine.langClient() @@ -803,8 +803,8 @@ export class BiDiagramRpcManager implements BIDiagramAPI { async handleReadmeContent(params: ReadmeContentRequest): Promise { // console.log(">>> Savineadme.md", params); return new Promise((resolve) => { - const projectUri = StateMachine.context().projectUri; - const readmePath = path.join(projectUri, README_FILE); + const projectPath = StateMachine.context().projectPath; + const readmePath = path.join(projectPath, README_FILE); if (params.read) { if (!fs.existsSync(readmePath)) { resolve({ content: "" }); @@ -843,7 +843,7 @@ export class BiDiagramRpcManager implements BIDiagramAPI { async getConfigVariables(): Promise { return new Promise(async (resolve) => { - const projectPath = path.join(StateMachine.context().projectUri); + const projectPath = StateMachine.context().projectPath; const variables = await StateMachine.langClient().getConfigVariables({ projectPath: projectPath }) as ConfigVariableResponse; resolve(variables); }); @@ -867,7 +867,7 @@ export class BiDiagramRpcManager implements BIDiagramAPI { async getConfigVariablesV2(params: ConfigVariableRequest): Promise { return new Promise(async (resolve) => { - const projectPath = path.join(StateMachine.context().projectUri); + const projectPath = StateMachine.context().projectPath; const showLibraryConfigVariables = extension.ballerinaExtInstance.showLibraryConfigVariables(); // if params includeLibraries is not set, then use settings @@ -932,8 +932,8 @@ export class BiDiagramRpcManager implements BIDiagramAPI { return new Promise(async (resolve) => { const currentProject: BallerinaProject | undefined = await getCurrentBIProject(params.filePath); - const configFilePath = path.join(StateMachine.context().projectUri, "Config.toml"); - const ignoreFile = path.join(StateMachine.context().projectUri, ".gitignore"); + const configFilePath = path.join(StateMachine.context().projectPath, "Config.toml"); + const ignoreFile = path.join(StateMachine.context().projectPath, ".gitignore"); const docLink = "https://ballerina.io/learn/provide-values-to-configurable-variables/#provide-via-toml-syntax"; const uri = Uri.file(configFilePath); @@ -1053,8 +1053,8 @@ export class BiDiagramRpcManager implements BIDiagramAPI { const deployementParams: ICreateComponentCmdParams = { integrationType: integrationType as any, buildPackLang: "ballerina", // Example language - name: path.basename(StateMachine.context().projectUri), - componentDir: StateMachine.context().projectUri, + name: path.basename(StateMachine.context().projectPath), + componentDir: StateMachine.context().projectPath, extName: "Devant" }; commands.executeCommand(PlatformExtCommandIds.CreateNewComponent, deployementParams); @@ -1078,15 +1078,15 @@ export class BiDiagramRpcManager implements BIDiagramAPI { console.log(">>> requesting bi module nodes from ls"); return new Promise((resolve) => { const context = StateMachine.context(); - if (!context.projectUri) { - console.log(">>> projectUri not found in the context"); + if (!context.projectPath) { + console.log(">>> projectPath not found in the context"); return new Promise((resolve) => { resolve(undefined); }); } const params: BIModuleNodesRequest = { - filePath: context.projectUri, + filePath: context.projectPath, }; StateMachine.langClient() @@ -1213,7 +1213,7 @@ export class BiDiagramRpcManager implements BIDiagramAPI { async deleteByComponentInfo(params: BIDeleteByComponentInfoRequest): Promise { console.log(">>> requesting bi delete node from ls by componentInfo", params); - const projectDiags: Diagnostics[] = await checkProjectDiagnostics(StateMachine.langClient(), StateMachine.context().projectUri); + const projectDiags: Diagnostics[] = await checkProjectDiagnostics(StateMachine.langClient(), StateMachine.context().projectPath); const position: NodePosition = { startLine: params.component?.startLine, @@ -1223,10 +1223,10 @@ export class BiDiagramRpcManager implements BIDiagramAPI { }; // Check if the filepath is only the filename or the full path if not concatenate the project uri let filePath = params.component?.filePath; - if (!filePath.includes(StateMachine.context().projectUri)) { - filePath = path.join(StateMachine.context().projectUri, filePath); + if (!filePath.includes(StateMachine.context().projectPath)) { + filePath = path.join(StateMachine.context().projectPath, filePath); } - const componentView = await getView(filePath, position, StateMachine.context().projectUri); + const componentView = await getView(filePath, position, StateMachine.context().projectPath); // Helper function to perform the actual delete operation const performDelete = async (): Promise => { return new Promise((resolve, reject) => { @@ -1346,8 +1346,8 @@ export class BiDiagramRpcManager implements BIDiagramAPI { } async getAllImports(): Promise { - const projectUri = StateMachine.context().projectUri; - const ballerinaFiles = await getBallerinaFiles(Uri.file(projectUri).fsPath); + const projectPath = StateMachine.context().projectPath; + const ballerinaFiles = await getBallerinaFiles(Uri.file(projectPath).fsPath); const imports: ImportStatements[] = []; for (const file of ballerinaFiles) { @@ -1356,7 +1356,7 @@ export class BiDiagramRpcManager implements BIDiagramAPI { imports.push(fileImports); } return { - projectPath: projectUri, + projectPath, imports, }; } @@ -1437,10 +1437,10 @@ export class BiDiagramRpcManager implements BIDiagramAPI { async getDesignModel(): Promise { console.log(">>> requesting design model from ls"); return new Promise((resolve) => { - const projectUri = StateMachine.context().projectUri; + const projectPath = StateMachine.context().projectPath; StateMachine.langClient() - .getDesignModel({ projectPath: projectUri }) + .getDesignModel({ projectPath }) .then((model) => { console.log(">>> design model from ls", model); resolve(model); @@ -1457,8 +1457,8 @@ export class BiDiagramRpcManager implements BIDiagramAPI { async getTypes(params: GetTypesRequest): Promise { - const projectUri = StateMachine.context().projectUri; - const ballerinaFiles = await getBallerinaFiles(Uri.file(projectUri).fsPath); + const projectPath = StateMachine.context().projectPath; + const ballerinaFiles = await getBallerinaFiles(Uri.file(projectPath).fsPath); return new Promise((resolve, reject) => { StateMachine.langClient() @@ -1473,8 +1473,8 @@ export class BiDiagramRpcManager implements BIDiagramAPI { } async updateType(params: UpdateTypeRequest): Promise { - const projectUri = StateMachine.context().projectUri; - const filePath = path.join(projectUri, params.filePath); + const projectPath = StateMachine.context().projectPath; + const filePath = path.join(projectPath, params.filePath); return new Promise((resolve, reject) => { console.log(">>> updating type request", params.type); StateMachine.langClient() @@ -1586,8 +1586,8 @@ export class BiDiagramRpcManager implements BIDiagramAPI { } async createGraphqlClassType(params: UpdateTypeRequest): Promise { - const projectUri = StateMachine.context().projectUri; - const filePath = path.join(projectUri, params.filePath); + const projectPath = StateMachine.context().projectPath; + const filePath = path.join(projectPath, params.filePath); return new Promise((resolve, reject) => { StateMachine.langClient() .createGraphqlClassType({ filePath, type: params.type, description: "" }) @@ -1650,8 +1650,8 @@ export class BiDiagramRpcManager implements BIDiagramAPI { } async renameIdentifier(params: RenameIdentifierRequest): Promise { - const projectUri = StateMachine.context().projectUri; - const filePath = path.join(projectUri, params.fileName); + const projectPath = StateMachine.context().projectPath; + const filePath = path.join(projectPath, params.fileName); const fileUri = Uri.file(filePath).toString(); const request: RenameRequest = { textDocument: { @@ -1725,8 +1725,8 @@ export class BiDiagramRpcManager implements BIDiagramAPI { let hasComponent = false; let hasLocalChanges = false; try { - const projectRoot = StateMachine.context().projectUri; - const repoRoot = getRepoRoot(projectRoot); + const projectPath = StateMachine.context().projectPath; + const repoRoot = getRepoRoot(projectPath); if (repoRoot) { const contextYamlPath = path.join(repoRoot, ".choreo", "context.yaml"); if (fs.existsSync(contextYamlPath)) { @@ -1739,10 +1739,10 @@ export class BiDiagramRpcManager implements BIDiagramAPI { return { hasComponent: hasContextYaml, isLoggedIn: false }; } const platformExtAPI: IWso2PlatformExtensionAPI = await platformExt.activate(); - hasLocalChanges = await platformExtAPI.localRepoHasChanges(projectRoot); + hasLocalChanges = await platformExtAPI.localRepoHasChanges(projectPath); isLoggedIn = platformExtAPI.isLoggedIn(); if (isLoggedIn) { - const components = platformExtAPI.getDirectoryComponents(projectRoot); + const components = platformExtAPI.getDirectoryComponents(projectPath); hasComponent = components.length > 0; return { isLoggedIn, hasComponent, hasLocalChanges }; } @@ -1800,8 +1800,8 @@ export class BiDiagramRpcManager implements BIDiagramAPI { async updateTypes(params: UpdateTypesRequest): Promise { return new Promise((resolve, reject) => { - const projectUri = StateMachine.context().projectUri; - const completeFilePath = path.join(projectUri, params.filePath); + const projectPath = StateMachine.context().projectPath; + const completeFilePath = path.join(projectPath, params.filePath); StateMachine.langClient().updateTypes( { filePath: completeFilePath, types: params.types } @@ -1844,7 +1844,7 @@ export class BiDiagramRpcManager implements BIDiagramAPI { async generateOpenApiClient(params: OpenAPIClientGenerationRequest): Promise { return new Promise((resolve, reject) => { - const projectPath = StateMachine.context().projectUri; + const projectPath = StateMachine.context().projectPath; const request: OpenAPIClientGenerationRequest = { openApiContractPath: params.openApiContractPath, projectPath: projectPath, @@ -1878,7 +1878,7 @@ export class BiDiagramRpcManager implements BIDiagramAPI { async getOpenApiGeneratedModules(params: OpenAPIGeneratedModulesRequest): Promise { return new Promise((resolve, reject) => { - const projectPath = StateMachine.context().projectUri; + const projectPath = StateMachine.context().projectPath; const request: OpenAPIGeneratedModulesRequest = { projectPath: projectPath }; @@ -1893,7 +1893,7 @@ export class BiDiagramRpcManager implements BIDiagramAPI { async deleteOpenApiGeneratedModules(params: OpenAPIClientDeleteRequest): Promise { return new Promise((resolve, reject) => { - const projectPath = StateMachine.context().projectUri; + const projectPath = StateMachine.context().projectPath; const request: OpenAPIClientDeleteRequest = { projectPath: projectPath, module: params.module @@ -1928,8 +1928,8 @@ export class BiDiagramRpcManager implements BIDiagramAPI { async getTypeFromJson(params: JsonToTypeRequest): Promise { return new Promise((resolve, reject) => { - const projectUri = StateMachine.context().projectUri; - const filePath = path.join(projectUri, 'types.bal'); + const projectPath = StateMachine.context().projectPath; + const filePath = path.join(projectPath, 'types.bal'); StateMachine.langClient().getTypeFromJson({ ...params, filePath }) .then((response) => { console.log(">>> type from json response", response); @@ -1944,8 +1944,8 @@ export class BiDiagramRpcManager implements BIDiagramAPI { async deleteType(params: DeleteTypeRequest): Promise { return new Promise((resolve, reject) => { - const projectUri = StateMachine.context().projectUri; - const filePath = path.join(projectUri, params.filePath); + const projectPath = StateMachine.context().projectPath; + const filePath = path.join(projectPath, params.filePath); StateMachine.langClient().deleteType({ filePath: filePath, lineRange: params.lineRange }) .then(async (deleteTypeResponse: DeleteTypeResponse) => { if (deleteTypeResponse.textEdits) { @@ -1961,8 +1961,8 @@ export class BiDiagramRpcManager implements BIDiagramAPI { } async verifyTypeDelete(params: VerifyTypeDeleteRequest): Promise { - const projectUri = StateMachine.context().projectUri; - const filePath = path.join(projectUri, params.filePath); + const projectPath = StateMachine.context().projectPath; + const filePath = path.join(projectPath, params.filePath); const request: VerifyTypeDeleteRequest = { filePath: filePath, @@ -1982,6 +1982,7 @@ export class BiDiagramRpcManager implements BIDiagramAPI { export function getRepoRoot(projectRoot: string): string | undefined { // traverse up the directory tree until .git directory is found + // TODO: Evaluate this with multi-project workspaces. const gitDir = path.join(projectRoot, ".git"); if (fs.existsSync(gitDir)) { return projectRoot; diff --git a/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-manager.ts b/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-manager.ts index 1dcea2dd78d..c7331366fac 100644 --- a/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-manager.ts +++ b/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-manager.ts @@ -78,8 +78,8 @@ export class CommonRpcManager implements CommonRPCAPI { async goToSource(params: GoToSourceRequest): Promise { const context = StateMachine.context(); let filePath = params?.filePath || context.documentUri!; - if (params?.fileName && context?.projectUri) { - filePath = path.join(context.projectUri, params.fileName); + if (params?.fileName && context?.projectPath) { + filePath = path.join(context.projectPath, params.fileName); } goToSource(params.position, filePath); } diff --git a/workspaces/ballerina/ballerina-extension/src/rpc-managers/icp-service/rpc-manager.ts b/workspaces/ballerina/ballerina-extension/src/rpc-managers/icp-service/rpc-manager.ts index 20a886773ef..625c6cddd6e 100644 --- a/workspaces/ballerina/ballerina-extension/src/rpc-managers/icp-service/rpc-manager.ts +++ b/workspaces/ballerina/ballerina-extension/src/rpc-managers/icp-service/rpc-manager.ts @@ -36,7 +36,7 @@ export class ICPServiceRpcManager implements ICPServiceAPI { return new Promise(async (resolve) => { const context = StateMachine.context(); try { - const projectPath: string = context.projectUri; + const projectPath: string = context.projectPath; const param = { projectPath }; const res: TestSourceEditResponse = await context.langClient.addICP(param); await updateSourceCode({ textEdits: res.textEdits }, null, 'ICP Creation'); @@ -52,7 +52,7 @@ export class ICPServiceRpcManager implements ICPServiceAPI { return new Promise(async (resolve) => { const context = StateMachine.context(); try { - const projectPath: string = context.projectUri; + const projectPath: string = context.projectPath; const param = { projectPath }; const res: TestSourceEditResponse = await context.langClient.disableICP(param); await updateSourceCode({ textEdits: res.textEdits }, null, 'ICP Disable'); @@ -69,7 +69,7 @@ export class ICPServiceRpcManager implements ICPServiceAPI { return new Promise(async (resolve) => { const context = StateMachine.context(); try { - const projectPath: string = context.projectUri; + const projectPath: string = context.projectPath; const param = { projectPath }; const res: ICPEnabledResponse = await context.langClient.isIcpEnabled(param); resolve(res); diff --git a/workspaces/ballerina/ballerina-extension/src/rpc-managers/record-creator/rpc-manager.ts b/workspaces/ballerina/ballerina-extension/src/rpc-managers/record-creator/rpc-manager.ts index bfdc3950e64..16561f73fc1 100644 --- a/workspaces/ballerina/ballerina-extension/src/rpc-managers/record-creator/rpc-manager.ts +++ b/workspaces/ballerina/ballerina-extension/src/rpc-managers/record-creator/rpc-manager.ts @@ -44,8 +44,8 @@ export class RecordCreatorRpcManager implements RecordCreatorAPI { } async convertJsonToRecordType(params: JsonToRecordParams): Promise { - const projectUri = StateMachine.context().projectUri; - const filePathUri = path.join(projectUri, 'types.bal'); + const projectPath = StateMachine.context().projectPath; + const filePathUri = path.join(projectPath, 'types.bal'); return new Promise(async (resolve) => { const response = await StateMachine.langClient().convertJsonToRecordType({ ...params, @@ -56,8 +56,8 @@ export class RecordCreatorRpcManager implements RecordCreatorAPI { } async convertXmlToRecordType(params: XMLToRecordParams): Promise { - const projectUri = StateMachine.context().projectUri; - const filePath = path.join(projectUri, 'types.bal'); + const projectPath = StateMachine.context().projectPath; + const filePath = path.join(projectPath, 'types.bal'); return new Promise(async (resolve) => { const response = await StateMachine.langClient().convertXmlToRecordType({ ...params, diff --git a/workspaces/ballerina/ballerina-extension/src/rpc-managers/service-designer/rpc-manager.ts b/workspaces/ballerina/ballerina-extension/src/rpc-managers/service-designer/rpc-manager.ts index c180b7d875a..108c927e789 100644 --- a/workspaces/ballerina/ballerina-extension/src/rpc-managers/service-designer/rpc-manager.ts +++ b/workspaces/ballerina/ballerina-extension/src/rpc-managers/service-designer/rpc-manager.ts @@ -96,8 +96,8 @@ export class ServiceDesignerRpcManager implements ServiceDesignerAPI { return new Promise(async (resolve) => { const context = StateMachine.context(); try { - const projectDir = path.join(StateMachine.context().projectUri); - const targetFile = path.join(projectDir, `main.bal`); + const projectPath = path.join(StateMachine.context().projectPath); + const targetFile = path.join(projectPath, `main.bal`); this.ensureFileExists(targetFile); params.filePath = targetFile; const res: ListenersResponse = await context.langClient.getListeners(params); @@ -124,8 +124,8 @@ export class ServiceDesignerRpcManager implements ServiceDesignerAPI { return new Promise(async (resolve) => { const context = StateMachine.context(); try { - const projectDir = path.join(StateMachine.context().projectUri); - const targetFile = path.join(projectDir, `main.bal`); + const projectPath = path.join(StateMachine.context().projectPath); + const targetFile = path.join(projectPath, `main.bal`); this.ensureFileExists(targetFile); params.filePath = targetFile; const res: ListenerSourceCodeResponse = await context.langClient.addListenerSourceCode(params); @@ -161,8 +161,8 @@ export class ServiceDesignerRpcManager implements ServiceDesignerAPI { return new Promise(async (resolve) => { const context = StateMachine.context(); try { - const projectDir = path.join(StateMachine.context().projectUri); - const targetFile = path.join(projectDir, `main.bal`); + const projectPath = path.join(StateMachine.context().projectPath); + const targetFile = path.join(projectPath, `main.bal`); this.ensureFileExists(targetFile); params.filePath = targetFile; const res: ListenerSourceCodeResponse = await context.langClient.updateListenerSourceCode(params); @@ -181,8 +181,8 @@ export class ServiceDesignerRpcManager implements ServiceDesignerAPI { return new Promise(async (resolve) => { const context = StateMachine.context(); try { - const projectDir = path.join(StateMachine.context().projectUri); - const targetFile = path.join(projectDir, `main.bal`); + const projectPath = path.join(StateMachine.context().projectPath); + const targetFile = path.join(projectPath, `main.bal`); this.ensureFileExists(targetFile); params.filePath = targetFile; const res: ServiceModelResponse = await context.langClient.getServiceModel(params); @@ -197,8 +197,8 @@ export class ServiceDesignerRpcManager implements ServiceDesignerAPI { return new Promise(async (resolve) => { const context = StateMachine.context(); try { - const projectDir = path.join(StateMachine.context().projectUri); - const targetFile = path.join(projectDir, `main.bal`); + const projectPath = path.join(StateMachine.context().projectPath); + const targetFile = path.join(projectPath, `main.bal`); this.ensureFileExists(targetFile); params.filePath = targetFile; const identifiers = []; @@ -236,8 +236,8 @@ export class ServiceDesignerRpcManager implements ServiceDesignerAPI { return new Promise(async (resolve) => { const context = StateMachine.context(); try { - const projectDir = path.join(StateMachine.context().projectUri); - const targetFile = path.join(projectDir, `main.bal`); + const projectPath = path.join(StateMachine.context().projectPath); + const targetFile = path.join(projectPath, `main.bal`); this.ensureFileExists(targetFile); params.filePath = targetFile; const identifiers = []; @@ -293,9 +293,9 @@ export class ServiceDesignerRpcManager implements ServiceDesignerAPI { return new Promise(async (resolve) => { const context = StateMachine.context(); try { - const projectDir = path.join(StateMachine.context().projectUri); + const projectPath = path.join(StateMachine.context().projectPath); if (!params.filePath) { - const targetFile = path.join(projectDir, `main.bal`); + const targetFile = path.join(projectPath, `main.bal`); this.ensureFileExists(targetFile); params.filePath = targetFile; } @@ -391,7 +391,7 @@ export class ServiceDesignerRpcManager implements ServiceDesignerAPI { async getResourceReturnTypes(params: ResourceReturnTypesRequest): Promise { return new Promise(async (resolve) => { const context = StateMachine.context(); - params.filePath = StateMachine.context().projectUri; + params.filePath = StateMachine.context().projectPath; params.context = "HTTP_STATUS_CODE"; try { const res: ResourceReturnTypesResponse = await context.langClient.getResourceReturnTypes(params); diff --git a/workspaces/ballerina/ballerina-extension/src/rpc-managers/visualizer/rpc-manager.ts b/workspaces/ballerina/ballerina-extension/src/rpc-managers/visualizer/rpc-manager.ts index 2d67a76554c..2ec5762c7e6 100644 --- a/workspaces/ballerina/ballerina-extension/src/rpc-managers/visualizer/rpc-manager.ts +++ b/workspaces/ballerina/ballerina-extension/src/rpc-managers/visualizer/rpc-manager.ts @@ -197,7 +197,7 @@ export class VisualizerRpcManager implements VisualizerAPI { async joinProjectPath(segments: string | string[]): Promise { return new Promise((resolve) => { - const projectPath = StateMachine.context().projectUri; + const projectPath = StateMachine.context().projectPath; const filePath = Array.isArray(segments) ? Utils.joinPath(URI.file(projectPath), ...segments) : Utils.joinPath(URI.file(projectPath), segments); resolve(filePath.fsPath); }); diff --git a/workspaces/ballerina/ballerina-extension/src/stateMachine.ts b/workspaces/ballerina/ballerina-extension/src/stateMachine.ts index 43ac817adc1..281a225c6db 100644 --- a/workspaces/ballerina/ballerina-extension/src/stateMachine.ts +++ b/workspaces/ballerina/ballerina-extension/src/stateMachine.ts @@ -90,7 +90,7 @@ const stateMachine = createMachine( actions: [ assign({ isBI: (context, event) => event.data.isBI, - projectUri: (context, event) => event.data.projectPath, + projectPath: (context, event) => event.data.projectPath, workspacePath: (context, event) => event.data.workspacePath, scope: (context, event) => event.data.scope, org: (context, event) => event.data.orgName, @@ -114,7 +114,7 @@ const stateMachine = createMachine( cond: (context, event) => event.data && event.data.isBI, actions: assign({ isBI: (context, event) => event.data.isBI, - projectUri: (context, event) => event.data.projectPath, + projectPath: (context, event) => event.data.projectPath, workspacePath: (context, event) => event.data.workspacePath, scope: (context, event) => event.data.scope, org: (context, event) => event.data.orgName, @@ -126,7 +126,7 @@ const stateMachine = createMachine( cond: (context, event) => event.data && event.data.isBI === false, actions: assign({ isBI: (context, event) => event.data.isBI, - projectUri: (context, event) => event.data.projectPath, + projectPath: (context, event) => event.data.projectPath, workspacePath: (context, event) => event.data.workspacePath, scope: (context, event) => event.data.scope, org: (context, event) => event.data.orgName, @@ -334,14 +334,14 @@ const stateMachine = createMachine( return new Promise(async (resolve, reject) => { try { // If the project uri or workspace path is not set, we don't need to build the project structure - if (context.projectUri || context.workspacePath) { + if (context.projectPath || context.workspacePath) { // Add a 2 second delay before registering artifacts await new Promise(resolve => setTimeout(resolve, 1000)); // Register the event driven listener to get the artifact changes context.langClient.registerPublishArtifacts(); // Initial Project Structure - const projectStructure = await buildProjectArtifactsStructure(context.projectUri, context.langClient); + const projectStructure = await buildProjectArtifactsStructure(context.projectPath, context.langClient); resolve({ projectStructure }); } else { resolve({ projectStructure: undefined }); @@ -379,10 +379,10 @@ const stateMachine = createMachine( }, resolveMissingDependencies: (context, event) => { return new Promise(async (resolve, reject) => { - if (context?.projectUri) { + if (context?.projectPath) { const diagnostics: ProjectDiagnosticsResponse = await StateMachine.langClient().getProjectDiagnostics({ projectRootIdentifier: { - uri: Uri.file(context.projectUri).toString(), + uri: Uri.file(context.projectPath).toString(), } }); @@ -469,7 +469,7 @@ const stateMachine = createMachine( }); return resolve(); } - const view = await getView(context.documentUri, context.position, context?.projectUri); + const view = await getView(context.documentUri, context.position, context?.projectPath); view.location.package = context.package; history.push(view); return resolve(); @@ -648,7 +648,7 @@ export function openView(type: EVENT_TYPE, viewLocation: VisualizerLocation, res stateService.send({ type: type, viewLocation: viewLocation }); } -export function updateView(refreshTreeView?: boolean, projectUri?: string) { +export function updateView(refreshTreeView?: boolean) { let lastView = getLastHistory(); // Step over to the next location if the last view is skippable if (!refreshTreeView && lastView?.location.view.includes("SKIP")) { @@ -694,7 +694,7 @@ export function updateView(refreshTreeView?: boolean, projectUri?: string) { stateService.send({ type: "VIEW_UPDATE", viewLocation: lastView ? newLocation : { view: "Overview" } }); if (refreshTreeView) { - buildProjectArtifactsStructure(projectUri || StateMachine.context().projectUri, StateMachine.langClient(), true); + buildProjectArtifactsStructure(StateMachine.context().projectPath, StateMachine.langClient(), true); } notifyCurrentWebview(); } diff --git a/workspaces/ballerina/ballerina-extension/src/stateMachinePopup.ts b/workspaces/ballerina/ballerina-extension/src/stateMachinePopup.ts index a9e3022be13..b0506e90673 100644 --- a/workspaces/ballerina/ballerina-extension/src/stateMachinePopup.ts +++ b/workspaces/ballerina/ballerina-extension/src/stateMachinePopup.ts @@ -146,7 +146,7 @@ const stateMachinePopup = createMachine({ initializeData: (context, event) => { // Get context values from the project storage so that we can restore the earlier state when user reopens vscode return new Promise((resolve, reject) => { - const documentUri = StateMachine.context().projectUri; + const documentUri = StateMachine.context().projectPath; resolve({ documentUri }); }); }, diff --git a/workspaces/ballerina/ballerina-extension/src/utils/bi.ts b/workspaces/ballerina/ballerina-extension/src/utils/bi.ts index 4ebc4d42700..a0e9db513ce 100644 --- a/workspaces/ballerina/ballerina-extension/src/utils/bi.ts +++ b/workspaces/ballerina/ballerina-extension/src/utils/bi.ts @@ -362,7 +362,7 @@ export async function createBIAutomation(params: ComponentRequest): Promise { const functionFile = await handleAutomationCreation(params); const components = await StateMachine.langClient().getBallerinaProjectComponents({ - documentIdentifiers: [{ uri: URI.file(StateMachine.context().projectUri).toString() }] + documentIdentifiers: [{ uri: URI.file(StateMachine.context().projectPath).toString() }] }) as BallerinaProjectComponents; const position: NodePosition = {}; for (const pkg of components.packages) { @@ -384,9 +384,9 @@ export async function createBIAutomation(params: ComponentRequest): Promise { return new Promise(async (resolve) => { const isExpressionBodied = params.functionType.isExpressionBodied; - const projectDir = path.join(StateMachine.context().projectUri); + const projectPath = StateMachine.context().projectPath; // Hack to create trasformation function (Use LS API to create the function when available) - const targetFile = path.join(projectDir, isExpressionBodied ? DATA_MAPPING_FILE : FUNCTIONS_FILE); + const targetFile = path.join(projectPath, isExpressionBodied ? DATA_MAPPING_FILE : FUNCTIONS_FILE); if (!fs.existsSync(targetFile)) { writeBallerinaFileDidOpen(targetFile, ''); } @@ -430,9 +430,9 @@ ${funcSignature} } } `; - const projectDir = path.join(StateMachine.context().projectUri); + const projectPath = StateMachine.context().projectPath; // Create foo.bal file within services directory - const taskFile = path.join(projectDir, `automation.bal`); + const taskFile = path.join(projectPath, `automation.bal`); writeBallerinaFileDidOpen(taskFile, balContent); console.log('Task Created.', `automation.bal`); return taskFile; diff --git a/workspaces/ballerina/ballerina-extension/src/utils/project-artifacts.ts b/workspaces/ballerina/ballerina-extension/src/utils/project-artifacts.ts index 88a200ceabd..75680d3111e 100644 --- a/workspaces/ballerina/ballerina-extension/src/utils/project-artifacts.ts +++ b/workspaces/ballerina/ballerina-extension/src/utils/project-artifacts.ts @@ -28,7 +28,11 @@ import { injectAgentCode } from "./source-utils"; import { ArtifactsUpdated, ArtifactNotificationHandler } from "./project-artifacts-handler"; import { CommonRpcManager } from "../rpc-managers/common/rpc-manager"; -export async function buildProjectArtifactsStructure(projectDir: string, langClient: ExtendedLangClient, isUpdate: boolean = false): Promise { +export async function buildProjectArtifactsStructure( + projectPath: string, + langClient: ExtendedLangClient, + isUpdate: boolean = false +): Promise { const result: ProjectStructureResponse = { projectName: "", directoryMap: { @@ -45,14 +49,14 @@ export async function buildProjectArtifactsStructure(projectDir: string, langCli [DIRECTORY_MAP.LOCAL_CONNECTORS]: [], } }; - const designArtifacts = await langClient.getProjectArtifacts({ projectPath: projectDir }); + const designArtifacts = await langClient.getProjectArtifacts({ projectPath }); console.log("designArtifacts", designArtifacts); if (designArtifacts?.artifacts) { traverseComponents(designArtifacts.artifacts, result); - await populateLocalConnectors(projectDir, result); + await populateLocalConnectors(projectPath, result); } // Attempt to get the project name from the workspace folder as a fallback if not found in Ballerina.toml - const workspace = vscode.workspace.workspaceFolders?.find(folder => folder.uri.fsPath === projectDir); + const workspace = vscode.workspace.workspaceFolders?.find(folder => folder.uri.fsPath === projectPath); let projectName = ""; if (workspace) { @@ -66,7 +70,7 @@ export async function buildProjectArtifactsStructure(projectDir: string, langCli } } else { // Project defined within a Ballerina workspace - projectName = path.basename(projectDir); + projectName = path.basename(projectPath); // TODO: Get the project name from the package Ballerina.toml file } @@ -82,8 +86,10 @@ export async function buildProjectArtifactsStructure(projectDir: string, langCli export async function updateProjectArtifacts(publishedArtifacts: ArtifactsNotification): Promise { // Current project structure const currentProjectStructure: ProjectStructureResponse = StateMachine.context().projectStructure; - const projectUri = URI.file(StateMachine.context().projectUri); - const isWithinProject = URI.parse(publishedArtifacts.uri).fsPath.toLowerCase().includes(projectUri.fsPath.toLowerCase()); + const projectUri = URI.file(StateMachine.context().projectPath); + const isWithinProject = URI + .parse(publishedArtifacts.uri).fsPath.toLowerCase() + .includes(projectUri.fsPath.toLowerCase()); if (currentProjectStructure && isWithinProject) { const entryLocations = await traverseUpdatedComponents(publishedArtifacts.artifacts, currentProjectStructure); const notificationHandler = ArtifactNotificationHandler.getInstance(); @@ -133,7 +139,7 @@ async function getComponents(artifacts: Record, artifactTy } async function getEntryValue(artifact: BaseArtifact, icon: string, moduleName?: string) { - const targetFile = Utils.joinPath(URI.file(StateMachine.context().projectUri), artifact.location.fileName).fsPath; + const targetFile = Utils.joinPath(URI.file(StateMachine.context().projectPath), artifact.location.fileName).fsPath; const entryValue: ProjectStructureArtifactResponse = { id: artifact.id, name: artifact.name, @@ -214,13 +220,13 @@ async function getEntryValue(artifact: BaseArtifact, icon: string, moduleName?: // This has to be replaced once we have a proper design for AI Agent Chat Service async function injectAIAgent(serviceArtifact: BaseArtifact) { // Fetch the organization name for importing the AI package - const aiModuleOrg = await new AiAgentRpcManager().getAiModuleOrg({ projectPath: StateMachine.context().projectUri }); + const aiModuleOrg = await new AiAgentRpcManager().getAiModuleOrg({ projectPath: StateMachine.context().projectPath }); //get AgentName const agentName = serviceArtifact.name.split('-')[1].trim().replace(/\//g, ''); // Retrieve the service model - const targetFile = Utils.joinPath(URI.file(StateMachine.context().projectUri), serviceArtifact.location.fileName).fsPath; + const targetFile = Utils.joinPath(URI.file(StateMachine.context().projectPath), serviceArtifact.location.fileName).fsPath; const updatedService = await new ServiceDesignerRpcManager().getServiceModelFromCode({ filePath: targetFile, codedata: { @@ -235,7 +241,7 @@ async function injectAIAgent(serviceArtifact: BaseArtifact) { return; } const injectionPosition = updatedService.service.functions[0].codedata.lineRange.endLine; - const serviceFile = path.join(StateMachine.context().projectUri, `main.bal`); + const serviceFile = path.join(StateMachine.context().projectPath, `main.bal`); ensureFileExists(serviceFile); await injectAgentCode(agentName, serviceFile, injectionPosition, aiModuleOrg.orgName); const functionPosition: NodePosition = { diff --git a/workspaces/ballerina/ballerina-extension/src/utils/project-utils.ts b/workspaces/ballerina/ballerina-extension/src/utils/project-utils.ts index 55bf802e4b1..b41581c4821 100644 --- a/workspaces/ballerina/ballerina-extension/src/utils/project-utils.ts +++ b/workspaces/ballerina/ballerina-extension/src/utils/project-utils.ts @@ -22,11 +22,11 @@ import * as path from 'path'; import { isSupportedVersion, VERSION } from "./config"; import { BallerinaProject } from "@wso2/ballerina-core"; -function getCurrentBallerinaProject(file?: string): Promise { +function getCurrentBallerinaProject(projectPath?: string): Promise { return new Promise((resolve, reject) => { const activeEditor = window.activeTextEditor; // get path of the current bal file - const uri = file ? Uri.file(file) : activeEditor.document.uri; + const uri = projectPath ? Uri.file(projectPath) : activeEditor.document.uri; // if currently opened file is a bal file if (extension.ballerinaExtInstance.langClient && isSupportedVersion(extension.ballerinaExtInstance, VERSION.BETA, 1)) { // get Ballerina Project path for current Ballerina file diff --git a/workspaces/ballerina/ballerina-extension/src/utils/state-machine-utils.ts b/workspaces/ballerina/ballerina-extension/src/utils/state-machine-utils.ts index 6a7ed14191d..1df1b53fa50 100644 --- a/workspaces/ballerina/ballerina-extension/src/utils/state-machine-utils.ts +++ b/workspaces/ballerina/ballerina-extension/src/utils/state-machine-utils.ts @@ -28,10 +28,10 @@ import { getConstructBodyString } from "./history/util"; import { extension } from "../BalExtensionContext"; import path from "path"; -export async function getView(documentUri: string, position: NodePosition, projectUri?: string): Promise { +export async function getView(documentUri: string, position: NodePosition, projectPath?: string): Promise { const haveTreeData = !!StateMachine.context().projectStructure; const isServiceClassFunction = await checkForServiceClassFunctions(documentUri, position); - if (isServiceClassFunction || path.relative(projectUri || '', documentUri).startsWith("tests")) { + if (isServiceClassFunction || path.relative(projectPath || '', documentUri).startsWith("tests")) { return { location: { view: MACHINE_VIEW.BIDiagram, @@ -42,10 +42,10 @@ export async function getView(documentUri: string, position: NodePosition, proje dataMapperDepth: 0 }; } else if (haveTreeData) { - return getViewByArtifacts(documentUri, position, projectUri); + return getViewByArtifacts(documentUri, position, projectPath); } else { - return await getViewBySTRange(documentUri, position, projectUri); + return await getViewBySTRange(documentUri, position, projectPath); } } @@ -66,7 +66,7 @@ async function checkForServiceClassFunctions(documentUri: string, position: Node } // TODO: This is not used anymore. Remove it. -async function getViewBySTRange(documentUri: string, position: NodePosition, projectUri?: string) { +async function getViewBySTRange(documentUri: string, position: NodePosition, projectPath?: string): Promise { const req = getSTByRangeReq(documentUri, position); const node = await StateMachine.langClient().getSTByRange(req) as SyntaxTreeResponse; if (node.parseSuccess) { @@ -85,7 +85,7 @@ async function getViewBySTRange(documentUri: string, position: NodePosition, pro documentUri: documentUri, position: position, identifier: name, - projectUri: projectUri + projectPath } }; } @@ -104,7 +104,7 @@ async function getViewBySTRange(documentUri: string, position: NodePosition, pro documentUri: documentUri, position: position, identifier: name, - projectUri: projectUri + projectPath } }; } @@ -123,7 +123,7 @@ async function getViewBySTRange(documentUri: string, position: NodePosition, pro documentUri: documentUri, position: position, identifier: name, - projectUri: projectUri + projectPath } }; } @@ -174,7 +174,7 @@ async function getViewBySTRange(documentUri: string, position: NodePosition, pro identifier: node.syntaxTree.absoluteResourcePath.map((path) => path.value).join(''), documentUri: documentUri, position: position, - projectUri: projectUri + projectPath } }; } else { @@ -249,7 +249,7 @@ async function getViewBySTRange(documentUri: string, position: NodePosition, pro } -function getViewByArtifacts(documentUri: string, position: NodePosition, projectUri?: string) { +function getViewByArtifacts(documentUri: string, position: NodePosition, projectPath?: string) { const currentProjectArtifacts = StateMachine.context().projectStructure; if (currentProjectArtifacts) { // Iterate through each category in the directory map @@ -259,7 +259,7 @@ function getViewByArtifacts(documentUri: string, position: NodePosition, project // Go through the resources array if it exists if (dir.resources && dir.resources.length > 0) { for (const resource of dir.resources) { - const view = findViewByArtifact(resource, position, documentUri, projectUri); + const view = findViewByArtifact(resource, position, documentUri, projectPath); if (view) { view.location.parentIdentifier = dir.name; return view; @@ -267,7 +267,7 @@ function getViewByArtifacts(documentUri: string, position: NodePosition, project } } // Check the current directory - const view = findViewByArtifact(dir, position, documentUri, projectUri); + const view = findViewByArtifact(dir, position, documentUri, projectPath); if (view) { return view; } @@ -278,7 +278,12 @@ function getViewByArtifacts(documentUri: string, position: NodePosition, project } } -function findViewByArtifact(dir: ProjectStructureArtifactResponse, position: NodePosition, documentUri: string, projectUri?: string): HistoryEntry { +function findViewByArtifact( + dir: ProjectStructureArtifactResponse, + position: NodePosition, + documentUri: string, + projectPath?: string +): HistoryEntry { const currentDocumentUri = documentUri; const artifactUri = dir.path; if (artifactUri === currentDocumentUri && isPositionWithinRange(position, dir.position)) { @@ -291,7 +296,7 @@ function findViewByArtifact(dir: ProjectStructureArtifactResponse, position: Nod identifier: dir.name, documentUri: currentDocumentUri, position: position, - projectUri: projectUri, + projectPath: projectPath, artifactType: DIRECTORY_MAP.SERVICE } }; @@ -302,7 +307,7 @@ function findViewByArtifact(dir: ProjectStructureArtifactResponse, position: Nod identifier: dir.name, documentUri: currentDocumentUri, position: position, - projectUri: projectUri, + projectPath: projectPath, artifactType: DIRECTORY_MAP.SERVICE, } }; @@ -381,7 +386,7 @@ function findViewByArtifact(dir: ProjectStructureArtifactResponse, position: Nod documentUri: currentDocumentUri, position: position, identifier: dir.name, - projectUri: projectUri, + projectPath: projectPath, artifactType: DIRECTORY_MAP.TYPE } }; diff --git a/workspaces/ballerina/ballerina-extension/src/views/visualizer/activate.ts b/workspaces/ballerina/ballerina-extension/src/views/visualizer/activate.ts index e0894d64d09..100839a44f5 100644 --- a/workspaces/ballerina/ballerina-extension/src/views/visualizer/activate.ts +++ b/workspaces/ballerina/ballerina-extension/src/views/visualizer/activate.ts @@ -86,7 +86,7 @@ export function activateSubscriptions() { context.subscriptions.push( vscode.commands.registerCommand(SHARED_COMMANDS.FORCE_UPDATE_PROJECT_ARTIFACTS, () => { - return buildProjectArtifactsStructure(StateMachine.context().projectUri, StateMachine.langClient(), true); + return buildProjectArtifactsStructure(StateMachine.context().projectPath, StateMachine.langClient(), true); }) ); diff --git a/workspaces/ballerina/ballerina-extension/src/views/visualizer/webview.ts b/workspaces/ballerina/ballerina-extension/src/views/visualizer/webview.ts index e64ae2a9c7d..8e8cc3e270e 100644 --- a/workspaces/ballerina/ballerina-extension/src/views/visualizer/webview.ts +++ b/workspaces/ballerina/ballerina-extension/src/views/visualizer/webview.ts @@ -64,9 +64,9 @@ export class VisualizerWebview { } // Check the file is changed in the project. - const projectUri = StateMachine.context().projectUri; + const projectPath = StateMachine.context().projectPath; const documentUri = document.document.uri.toString(); - const isDocumentUnderProject = documentUri.includes(projectUri); + const isDocumentUnderProject = documentUri.includes(projectPath); // Reset visualizer the undo-redo stack if user did changes in the editor if (isOpened && isDocumentUnderProject) { undoRedoManager.reset(); diff --git a/workspaces/ballerina/ballerina-visualizer/src/MainPanel.tsx b/workspaces/ballerina/ballerina-visualizer/src/MainPanel.tsx index 59436e3bc63..167871c024e 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/MainPanel.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/MainPanel.tsx @@ -281,7 +281,7 @@ const MainPanel = () => { case MACHINE_VIEW.Overview: setViewComponent( ); break; @@ -321,7 +321,7 @@ const MainPanel = () => { { setViewComponent( { setViewComponent( ); } else { // To support rerendering when user click on view all btn from left side panel setViewComponent( - ); @@ -382,7 +381,7 @@ const MainPanel = () => { filePath={value.documentUri} codedata={value?.dataMapperMetadata?.codeData} name={value?.dataMapperMetadata?.name} - projectUri={value.projectUri} + projectPath={value.projectPath} position={position} reusable /> @@ -400,7 +399,7 @@ const MainPanel = () => { case MACHINE_VIEW.BIDataMapperForm: setViewComponent( { case MACHINE_VIEW.BINPFunctionForm: setViewComponent( { break; case MACHINE_VIEW.GraphQLDiagram: const getProjectStructure = await rpcClient.getBIDiagramRpcClient().getProjectStructure(); - const entryPoint = getProjectStructure.directoryMap[DIRECTORY_MAP.SERVICE].find((service: ProjectStructureArtifactResponse) => service.name === value?.identifier); - setViewComponent(); + const entryPoint = getProjectStructure + .directoryMap[DIRECTORY_MAP.SERVICE] + .find((service: ProjectStructureArtifactResponse) => service.name === value?.identifier); + setViewComponent( + ); break; case MACHINE_VIEW.BallerinaUpdateView: setNavActive(false); @@ -466,14 +472,18 @@ const MainPanel = () => { ); break; case MACHINE_VIEW.BIServiceConfigView: - setViewComponent(); + setViewComponent( + ); break; case MACHINE_VIEW.BIServiceClassConfigView: setViewComponent( + /> ); break; case MACHINE_VIEW.BIListenerConfigView: @@ -482,14 +492,13 @@ const MainPanel = () => { case MACHINE_VIEW.AddConnectionWizard: setViewComponent( ); break; case MACHINE_VIEW.EditConnectionWizard: setViewComponent( ); @@ -497,16 +506,28 @@ const MainPanel = () => { case MACHINE_VIEW.AddCustomConnector: setViewComponent( ); break; case MACHINE_VIEW.BIMainFunctionForm: - setViewComponent(); + setViewComponent( + + ); break; case MACHINE_VIEW.BIFunctionForm: - setViewComponent(); + setViewComponent( + ); break; case MACHINE_VIEW.BITestFunctionForm: setViewComponent( { rpcClient.getVisualizerLocation().then((location) => { setViewComponent( { setViewComponent( <> @@ -98,7 +97,7 @@ const PopupPanel = (props: PopupPanelProps) => { rpcClient.getVisualizerLocation().then(async (location) => { const defaultFunctionsFile = await rpcClient.getVisualizerRpcClient().joinProjectPath('functions.bal'); setViewComponent( @@ -111,7 +110,7 @@ const PopupPanel = (props: PopupPanelProps) => { const defaultFunctionsFile = await rpcClient.getVisualizerRpcClient().joinProjectPath('data_mappings.bal'); setViewComponent( { const defaultFunctionsFile = await rpcClient.getVisualizerRpcClient().joinProjectPath('functions.bal'); setViewComponent( { setLoading(true); - projectPath.current = await rpcClient.getVisualizerLocation().then((location) => location.projectUri); + projectPath.current = await rpcClient.getVisualizerLocation().then((location) => location.projectPath); await fetchSelectedConnection(); setLoading(false); }; diff --git a/workspaces/ballerina/ballerina-visualizer/src/components/ConnectionSelector/ConnectionCreator.tsx b/workspaces/ballerina/ballerina-visualizer/src/components/ConnectionSelector/ConnectionCreator.tsx index 30a4eef7c6e..2f05944ab14 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/components/ConnectionSelector/ConnectionCreator.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/components/ConnectionSelector/ConnectionCreator.tsx @@ -51,7 +51,7 @@ export function ConnectionCreator(props: ConnectionCreatorProps): JSX.Element { const initPanel = async () => { setLoading(true); - projectPath.current = await rpcClient.getVisualizerLocation().then((location) => location.projectUri); + projectPath.current = await rpcClient.getVisualizerLocation().then((location) => location.projectPath); const currentPosition = await rpcClient.getVisualizerLocation().then((location) => location.position); targetLineRangeRef.current = { startLine: { diff --git a/workspaces/ballerina/ballerina-visualizer/src/components/ConnectionSelector/ConnectionSelectionList.tsx b/workspaces/ballerina/ballerina-visualizer/src/components/ConnectionSelector/ConnectionSelectionList.tsx index 78a50a02136..3b065af2205 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/components/ConnectionSelector/ConnectionSelectionList.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/components/ConnectionSelector/ConnectionSelectionList.tsx @@ -51,7 +51,7 @@ export function ConnectionSelectionList(props: ConnectionSelectionListProps): JS const initPanel = async () => { setLoading(true); - projectPath.current = await rpcClient.getVisualizerLocation().then((location) => location.projectUri); + projectPath.current = await rpcClient.getVisualizerLocation().then((location) => location.projectPath); aiModuleOrg.current = await getAiModuleOrg(rpcClient, selectedNode?.codedata?.node); searchConfig.current = getSearchConfig(connectionKind, aiModuleOrg.current); progressTimeoutRef.current = setTimeout(() => { diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/AIPanel/components/AIChat/index.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/AIPanel/components/AIChat/index.tsx index cd03ed6b9a9..87f2fa6a9aa 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/AIPanel/components/AIChat/index.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/AIPanel/components/AIChat/index.tsx @@ -201,7 +201,7 @@ const AIChat: React.FC = () => { async function fetchBackendUrl() { try { backendRootUri = await rpcClient.getAiPanelRpcClient().getBackendUrl(); - chatLocation = (await rpcClient.getVisualizerLocation()).projectUri; + chatLocation = (await rpcClient.getVisualizerLocation()).projectPath ; setIsReqFileExists( chatLocation != null && chatLocation != undefined && diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/AIChatAgent/AIChatAgentWizard.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/AIChatAgent/AIChatAgentWizard.tsx index 19b357b08a3..107b3e10bd7 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/AIChatAgent/AIChatAgentWizard.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/AIChatAgent/AIChatAgentWizard.tsx @@ -111,8 +111,8 @@ export function AIChatAgentWizard(props: AIChatAgentWizardProps) { aiModuleOrg.current = await getAiModuleOrg(rpcClient); // get project path - const filePath = await rpcClient.getVisualizerLocation(); - projectPath.current = filePath.projectUri; + const visualizerContext = await rpcClient.getVisualizerLocation(); + projectPath.current = visualizerContext.projectPath; // Search for agent node in the current file const agentSearchResponse = await rpcClient.getBIDiagramRpcClient().search({ diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/AIChatAgent/AddMcpServer.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/AIChatAgent/AddMcpServer.tsx index 24063f3e594..a8d894bc0ea 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/AIChatAgent/AddMcpServer.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/AIChatAgent/AddMcpServer.tsx @@ -286,8 +286,8 @@ export function AddMcpServer(props: AddToolProps): JSX.Element { hasUpdatedToolsField.current = false; // Reset on panel init setLoading(true); // get project path - const filePath = await rpcClient.getVisualizerLocation(); - projectPath.current = filePath.projectUri; + const visualizerContext = await rpcClient.getVisualizerLocation(); + projectPath.current = visualizerContext.projectPath; // get agent file path agentFilePath.current = await getAgentFilePath(rpcClient); // fetch tools and agent node diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/AIChatAgent/NewAgent.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/AIChatAgent/NewAgent.tsx index 64ad91ab210..8aef3258682 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/AIChatAgent/NewAgent.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/AIChatAgent/NewAgent.tsx @@ -71,8 +71,8 @@ export function NewAgent(props: NewAgentProps): JSX.Element { const initPanel = async () => { setLoading(true); // get project path - const filePath = await rpcClient.getVisualizerLocation(); - projectPath.current = filePath.projectUri; + const visualizerContext = await rpcClient.getVisualizerLocation(); + projectPath.current = visualizerContext.projectPath; // get agent org aiModuleOrg.current = await getAiModuleOrg(rpcClient); // fetch agent node diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/AIChatAgent/NewTool.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/AIChatAgent/NewTool.tsx index 4e34ed4c025..b46793c5fa7 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/AIChatAgent/NewTool.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/AIChatAgent/NewTool.tsx @@ -53,7 +53,7 @@ export function NewTool(props: NewToolProps): JSX.Element { const [savingForm, setSavingForm] = useState(false); const agentFilePath = useRef(""); - const projectUri = useRef(""); + const projectPath = useRef(""); useEffect(() => { initPanel(); @@ -61,9 +61,9 @@ export function NewTool(props: NewToolProps): JSX.Element { const initPanel = async () => { // get agent file path - const filePath = await rpcClient.getVisualizerLocation(); + const visualizerContext = await rpcClient.getVisualizerLocation(); agentFilePath.current = await rpcClient.getVisualizerRpcClient().joinProjectPath("agents.bal"); - projectUri.current = filePath.projectUri; + projectPath.current = visualizerContext.projectPath; // fetch tools and agent node await fetchAgentNode(); }; @@ -152,7 +152,7 @@ export function NewTool(props: NewToolProps): JSX.Element { return ( <> {agentFilePath.current && !savingForm && ( - + )} {(!agentFilePath.current || savingForm) && ( diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/AIChatAgent/utils.ts b/workspaces/ballerina/ballerina-visualizer/src/views/BI/AIChatAgent/utils.ts index ffd17f11bd1..f704e0ce0e3 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/AIChatAgent/utils.ts +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/AIChatAgent/utils.ts @@ -39,10 +39,10 @@ export const getNodeTemplate = async ( export const getAiModuleOrg = async (rpcClient: BallerinaRpcClient, nodeKind?: NodeKind) => { if (nodeKind && (nodeKind === "NP_FUNCTION" || nodeKind === "NP_FUNCTION_DEFINITION")) return BALLERINA; - const filePath = await rpcClient.getVisualizerLocation(); + const visualizerContext = await rpcClient.getVisualizerLocation(); const aiModuleOrgResponse = await rpcClient .getAIAgentRpcClient() - .getAiModuleOrg({ projectPath: filePath.projectUri }); + .getAiModuleOrg({ projectPath: visualizerContext.projectPath }); console.log(">>> agent org", aiModuleOrgResponse.orgName); return aiModuleOrgResponse.orgName; } @@ -54,17 +54,17 @@ export const getAgentFilePath = async (rpcClient: BallerinaRpcClient) => { }; export const getNPFilePath = async (rpcClient: BallerinaRpcClient) => { - const filePath = await rpcClient.getVisualizerLocation(); + const visualizerContext = await rpcClient.getVisualizerLocation(); // Create the NP file path - const agentFilePath = Utils.joinPath(URI.file(filePath.projectUri), "functions.bal").fsPath; + const agentFilePath = Utils.joinPath(URI.file(visualizerContext.projectPath), "functions.bal").fsPath; return agentFilePath; }; export const getMainFilePath = async (rpcClient: BallerinaRpcClient) => { // Get the main file path and update the node - const filePath = await rpcClient.getVisualizerLocation(); + const visualizerContext = await rpcClient.getVisualizerLocation(); // Create the main file path - const mainFilePath = Utils.joinPath(URI.file(filePath.projectUri), "main.bal").fsPath; + const mainFilePath = Utils.joinPath(URI.file(visualizerContext.projectPath), "main.bal").fsPath; return mainFilePath; }; diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/Connection/AddConnectionWizard/index.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/Connection/AddConnectionWizard/index.tsx index b65f5e71d95..ebfd323c449 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/Connection/AddConnectionWizard/index.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/Connection/AddConnectionWizard/index.tsx @@ -237,7 +237,7 @@ export function AddConnectionWizard(props: AddConnectionWizardProps) { if (selectedNodeRef.current) { setSavingFormStatus(SavingFormStatus.SAVING); const visualizerLocation = await rpcClient.getVisualizerLocation(); - let connectionsFilePath = visualizerLocation.documentUri || visualizerLocation.projectUri; + let connectionsFilePath = visualizerLocation.documentUri || visualizerLocation.projectPath; if (node.codedata.isGenerated && !connectionsFilePath.endsWith(".bal")) { connectionsFilePath += "/main.bal"; diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/Connection/EditConnectionWizard/index.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/Connection/EditConnectionWizard/index.tsx index 4eb8afe443c..076559ebf36 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/Connection/EditConnectionWizard/index.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/Connection/EditConnectionWizard/index.tsx @@ -49,7 +49,6 @@ export enum WizardView { } interface EditConnectionWizardProps { - projectUri: string; connectionName: string; onClose?: () => void; } diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/HelperPaneNew/Views/Configurables.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/HelperPaneNew/Views/Configurables.tsx index b6038b78b6c..c0d1bb50ce6 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/HelperPaneNew/Views/Configurables.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/HelperPaneNew/Views/Configurables.tsx @@ -102,8 +102,8 @@ export const Configurables = (props: ConfigurablesPageProps) => { }, []) const getProjectInfo = async () => { - const projectPath = await rpcClient.getVisualizerLocation(); - setProjectPathUri(URI.file(projectPath.projectUri).fsPath); + const visualizerContext = await rpcClient.getVisualizerLocation(); + setProjectPathUri(URI.file(visualizerContext.projectPath).fsPath); } const getConfigVariables = async () => { diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/HelperPaneNew/Views/Functions.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/HelperPaneNew/Views/Functions.tsx index d079620dde8..3117950d0c7 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/HelperPaneNew/Views/Functions.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/HelperPaneNew/Views/Functions.tsx @@ -66,14 +66,14 @@ export const FunctionsPage = ({ const [isLoading, setIsLoading] = useState(false); const [functionInfo, setFunctionInfo] = useState(undefined); const [libraryBrowserInfo, setLibraryBrowserInfo] = useState(undefined); - const [projectUri, setProjectUri] = useState(''); + const [projectPath, setProjectPath] = useState(''); const { addModal , closeModal} = useModalStack(); //TODO: get the correct filepath - let defaultFunctionsFile = Utils.joinPath(URI.file(projectUri), 'functions.bal').fsPath; + let defaultFunctionsFile = Utils.joinPath(URI.file(projectPath), 'functions.bal').fsPath; const debounceFetchFunctionInfo = useCallback( debounce((searchText: string, includeAvailableFunctions?: string) => { @@ -150,7 +150,7 @@ export const FunctionsPage = ({ const setDefaultFunctionsPath = () => { rpcClient.getVisualizerLocation().then((location) => { - setProjectUri(location?.projectUri || '') + setProjectPath(location?.projectPath || '') }) } @@ -180,7 +180,7 @@ export const FunctionsPage = ({ const handleNewFunctionClick = () => { addModal( { }, [targetLineRange]) const getProjectInfo = async () => { - const projectPath = await rpcClient.getVisualizerLocation(); - setProjectPathUri(URI.file(projectPath.projectUri).fsPath); + const visualizerContext = await rpcClient.getVisualizerLocation(); + setProjectPathUri(URI.file(visualizerContext.projectPath).fsPath); } const handleSubmit = (updatedNode?: FlowNode, dataMapperMode?: DataMapperDisplayMode) => { diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceClassEditor/ServiceClassConfig.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceClassEditor/ServiceClassConfig.tsx index 2623e3362d1..e138477245d 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceClassEditor/ServiceClassConfig.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceClassEditor/ServiceClassConfig.tsx @@ -60,12 +60,11 @@ const LoadingContainer = styled.div` interface ServiceClassConfigProps { fileName: string; position: NodePosition; - projectUri: string; } // TODO: Need to support inclusion type configurable option export function ServiceClassConfig(props: ServiceClassConfigProps) { - const { fileName, position, projectUri } = props; + const { fileName, position } = props; const { rpcClient } = useRpcContext(); const [serviceClassModel, setServiceClassModel] = useState(null); const [serviceClassFields, setServiceClassFields] = useState([]); diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/DataMapper/DataMapperView.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/DataMapper/DataMapperView.tsx index 7909fd0644f..6aae6e3b8dd 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/DataMapper/DataMapperView.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/DataMapper/DataMapperView.tsx @@ -56,6 +56,7 @@ import { calculateExpressionOffsets, convertBalCompletion, updateLineRange } fro import { createAddSubMappingRequest } from "./utils"; import { FunctionForm } from "../BI/FunctionForm"; import { UndoRedoGroup } from "../../components/UndoRedoGroup"; +import { p } from "@tanstack/query-core/build/legacy/hydration-Cvr-9VdO"; // Types for model comparison interface ModelSignature { @@ -66,7 +67,7 @@ interface ModelSignature { } export function DataMapperView(props: DataMapperProps) { - const { filePath, codedata, name, projectUri, position, reusable, onClose } = props; + const { filePath, codedata, name, projectPath, position, reusable, onClose } = props; const [isFileUpdateError, setIsFileUpdateError] = useState(false); const [modelState, setModelState] = useState({ @@ -642,7 +643,7 @@ export function DataMapperView(props: DataMapperProps) { <> {reusable && (!hasInputs || !hasOutputs) ? ( void; diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/GraphQLDiagram/ObjectViewer/index.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/GraphQLDiagram/ObjectViewer/index.tsx index 92dae494004..021b910663c 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/GraphQLDiagram/ObjectViewer/index.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/GraphQLDiagram/ObjectViewer/index.tsx @@ -146,12 +146,11 @@ interface GraphqlObjectViewerProps { type: Type; onClose: () => void; onImplementation: (type: Type) => void; - projectUri: string; serviceIdentifier: string; } export function GraphqlObjectViewer(props: GraphqlObjectViewerProps) { - const { onClose, type, projectUri, onImplementation, serviceIdentifier } = props; + const { onClose, type, onImplementation, serviceIdentifier } = props; const { rpcClient } = useRpcContext(); const [serviceClassModel, setServiceClassModel] = useState(); const [editingFunction, setEditingFunction] = useState(undefined); diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/GraphQLDiagram/index.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/GraphQLDiagram/index.tsx index 9809b398cd4..0d3db9aa33a 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/GraphQLDiagram/index.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/GraphQLDiagram/index.tsx @@ -80,12 +80,11 @@ const Path = styled.span` interface GraphQLDiagramProps { filePath: string; position: NodePosition; - projectUri?: string; serviceIdentifier: string; } export function GraphQLDiagram(props: GraphQLDiagramProps) { - const { filePath, position, projectUri, serviceIdentifier } = props; + const { filePath, position, serviceIdentifier } = props; const { rpcClient } = useRpcContext(); const queryClient = useQueryClient(); const [isServiceEditorOpen, setIsServiceEditorOpen] = useState(false); @@ -519,7 +518,6 @@ export function GraphQLDiagram(props: GraphQLDiagramProps) { serviceIdentifier={serviceIdentifier} onClose={onTypeEditorClosed} type={editingType} - projectUri={projectUri} onImplementation={handleOnImplementation} /> )} diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/TypeDiagram/index.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/TypeDiagram/index.tsx index 094d595e7f0..67a58e8b2e3 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/TypeDiagram/index.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/TypeDiagram/index.tsx @@ -37,7 +37,6 @@ export const Title: React.FC = styled.div` interface TypeDiagramProps { selectedTypeId?: string; - projectUri?: string; addType?: boolean; } @@ -51,7 +50,7 @@ interface TypeEditorState { const MAX_TYPES_FOR_FULL_VIEW = 80; export function TypeDiagram(props: TypeDiagramProps) { - const { selectedTypeId, projectUri, addType } = props; + const { selectedTypeId, addType } = props; const { rpcClient } = useRpcContext(); const commonRpcClient = rpcClient.getCommonRpcClient(); const [visualizerLocation, setVisualizerLocation] = React.useState(); diff --git a/workspaces/ballerina/type-editor/src/TypeEditor/IdentifierField.tsx b/workspaces/ballerina/type-editor/src/TypeEditor/IdentifierField.tsx index 87d7565ea88..bae86fd2072 100644 --- a/workspaces/ballerina/type-editor/src/TypeEditor/IdentifierField.tsx +++ b/workspaces/ballerina/type-editor/src/TypeEditor/IdentifierField.tsx @@ -53,10 +53,10 @@ export const IdentifierField = forwardRef { - const projectUri = await rpcClient.getVisualizerLocation().then((res) => res.projectUri); + const projectPath = await rpcClient.getVisualizerLocation().then((res) => res.projectPath); const endPosition = await rpcClient.getBIDiagramRpcClient().getEndOfFile({ - filePath: Utils.joinPath(URI.file(projectUri), 'types.bal').fsPath + filePath: Utils.joinPath(URI.file(projectPath), 'types.bal').fsPath }); const response = await rpcClient.getBIDiagramRpcClient().getExpressionDiagnostics({ diff --git a/workspaces/ballerina/type-editor/src/TypeEditor/Tabs/ImportTab.tsx b/workspaces/ballerina/type-editor/src/TypeEditor/Tabs/ImportTab.tsx index d549288612a..23909b37463 100644 --- a/workspaces/ballerina/type-editor/src/TypeEditor/Tabs/ImportTab.tsx +++ b/workspaces/ballerina/type-editor/src/TypeEditor/Tabs/ImportTab.tsx @@ -88,10 +88,10 @@ export function ImportTab(props: ImportTabProps) { } const validateTypeName = useCallback(debounce(async (value: string) => { - const projectUri = await rpcClient.getVisualizerLocation().then((res) => res.projectUri); + const projectPath = await rpcClient.getVisualizerLocation().then((res) => res.projectPath); const endPosition = await rpcClient.getBIDiagramRpcClient().getEndOfFile({ - filePath: Utils.joinPath(URI.file(projectUri), 'types.bal').fsPath + filePath: Utils.joinPath(URI.file(projectPath), 'types.bal').fsPath }); const response = await rpcClient.getBIDiagramRpcClient().getExpressionDiagnostics({ diff --git a/workspaces/ballerina/type-editor/src/TypeEditor/Tabs/TypeCreatorTab.tsx b/workspaces/ballerina/type-editor/src/TypeEditor/Tabs/TypeCreatorTab.tsx index c09f6538a6c..d4aa221902c 100644 --- a/workspaces/ballerina/type-editor/src/TypeEditor/Tabs/TypeCreatorTab.tsx +++ b/workspaces/ballerina/type-editor/src/TypeEditor/Tabs/TypeCreatorTab.tsx @@ -343,10 +343,10 @@ export function TypeCreatorTab(props: TypeCreatorTabProps) { return; } - const projectUri = await rpcClient.getVisualizerLocation().then((res) => res.projectUri); + const projectPath = await rpcClient.getVisualizerLocation().then((res) => res.projectPath); const endPosition = await rpcClient.getBIDiagramRpcClient().getEndOfFile({ - filePath: Utils.joinPath(URI.file(projectUri), 'types.bal').fsPath + filePath: Utils.joinPath(URI.file(projectPath), 'types.bal').fsPath }); const response = await rpcClient.getBIDiagramRpcClient().getExpressionDiagnostics({ diff --git a/workspaces/ballerina/type-editor/src/TypeEditor/TypeField.tsx b/workspaces/ballerina/type-editor/src/TypeEditor/TypeField.tsx index 719a303a745..8a7e57ed833 100644 --- a/workspaces/ballerina/type-editor/src/TypeEditor/TypeField.tsx +++ b/workspaces/ballerina/type-editor/src/TypeEditor/TypeField.tsx @@ -125,10 +125,10 @@ export const TypeField = forwardRef((props, re return; } } - const projectUri = await rpcClient.getVisualizerLocation().then((res) => res.projectUri); + const projectPath = await rpcClient.getVisualizerLocation().then((res) => res.projectPath); const endPosition = await rpcClient.getBIDiagramRpcClient().getEndOfFile({ - filePath: Utils.joinPath(URI.file(projectUri), 'types.bal').fsPath + filePath: Utils.joinPath(URI.file(projectPath), 'types.bal').fsPath }); const response = await rpcClient.getBIDiagramRpcClient().getExpressionDiagnostics({ diff --git a/workspaces/bi/bi-extension/src/project-explorer/project-explorer-provider.ts b/workspaces/bi/bi-extension/src/project-explorer/project-explorer-provider.ts index 4f8509a685f..05411a61d06 100644 --- a/workspaces/bi/bi-extension/src/project-explorer/project-explorer-provider.ts +++ b/workspaces/bi/bi-extension/src/project-explorer/project-explorer-provider.ts @@ -138,15 +138,15 @@ async function getProjectStructureData(): Promise { const workspaceFolderOfPackage = vscode .workspace .workspaceFolders - .find(folder => folder.uri.fsPath === stateContext.projectUri); + .find(folder => folder.uri.fsPath === stateContext.projectPath); let packageName = workspaceFolderOfPackage?.name; let packagePath = workspaceFolderOfPackage?.uri.fsPath; if (!workspaceFolderOfPackage) { if (ballerinaWorkspace) { - packageName = path.basename(Uri.parse(stateContext.projectUri).path); - packagePath = stateContext.projectUri; + packageName = path.basename(Uri.parse(stateContext.projectPath).path); + packagePath = stateContext.projectPath; } else { return []; } From 1ec97e953a9d6606abc4b6fdf28ded3980a35fcb Mon Sep 17 00:00:00 2001 From: madushajg Date: Fri, 17 Oct 2025 15:13:13 +0530 Subject: [PATCH 012/491] Refactor documentation and test generation functions to use project path from StateMachine, removing dependency on getBallerinaProjectRoot --- .../ai/service/documentation/doc_generator.ts | 8 +- .../ai/service/test/function_tests.ts | 10 +-- .../src/features/ai/service/test/test_plan.ts | 10 +-- .../src/rpc-managers/ai-panel/rpc-manager.ts | 75 +++++++------------ .../src/rpc-managers/common/rpc-manager.ts | 20 +---- 5 files changed, 45 insertions(+), 78 deletions(-) diff --git a/workspaces/ballerina/ballerina-extension/src/features/ai/service/documentation/doc_generator.ts b/workspaces/ballerina/ballerina-extension/src/features/ai/service/documentation/doc_generator.ts index 3cd3b3dd1a3..81ff2892c39 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/ai/service/documentation/doc_generator.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/ai/service/documentation/doc_generator.ts @@ -18,24 +18,24 @@ import { DocGenerationRequest } from '@wso2/ballerina-core'; import { getServiceDeclaration } from '../../testGenerator'; -import { getBallerinaProjectRoot } from '../../../../rpc-managers/ai-panel/rpc-manager'; import { generateDocumentation, DocumentationGenerationRequest } from './documentation'; import { getProjectSource, getOpenAPISpecification } from '../../utils'; +import { StateMachine } from '../../../../stateMachine'; // Main documentation generator function that handles all the logic export async function generateDocumentationForService(params: DocGenerationRequest): Promise { try { // Get the project root - const projectRoot = await getBallerinaProjectRoot(); + const projectPath = StateMachine.context().projectPath; // Get the project source files - const projectSource = await getProjectSource(projectRoot); + const projectSource = await getProjectSource(projectPath); if (!projectSource) { throw new Error("The current project is not recognized as a valid Ballerina project. Please ensure you have opened a Ballerina project."); } // Find the service declaration and get OpenAPI spec - const { serviceDocFilePath } = await getServiceDeclaration(projectRoot, params.serviceName); + const { serviceDocFilePath } = await getServiceDeclaration(projectPath, params.serviceName); const openApiSpec = await getOpenAPISpecification(serviceDocFilePath); // Create the documentation generation request diff --git a/workspaces/ballerina/ballerina-extension/src/features/ai/service/test/function_tests.ts b/workspaces/ballerina/ballerina-extension/src/features/ai/service/test/function_tests.ts index f163a14c390..0e3460a2df1 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/ai/service/test/function_tests.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/ai/service/test/function_tests.ts @@ -17,10 +17,10 @@ import { TestGenerationTarget, TestGeneratorIntermediaryState, Command } from "@wso2/ballerina-core"; import { getErrorMessage } from "../utils"; import { generateTest, getDiagnostics } from "../../testGenerator"; -import { getBallerinaProjectRoot } from "../../../../rpc-managers/ai-panel/rpc-manager"; import { URI } from "vscode-uri"; import * as fs from "fs"; import { CopilotEventHandler, createWebviewEventHandler } from "../event"; +import { StateMachine } from "../../../../stateMachine"; // Core function test generation that emits events export async function generateFunctionTestsCore( @@ -39,8 +39,8 @@ export async function generateFunctionTestsCore( content: `\n\nGenerating tests for the function ${functionIdentifier}. This may take a moment.`, }); - const projectRoot = await getBallerinaProjectRoot(); - const response = await generateTest(projectRoot, { + const projectPath = StateMachine.context().projectPath; + const response = await generateTest(projectPath, { targetType: TestGenerationTarget.Function, targetIdentifier: functionIdentifier, testPlan: params.testPlan, @@ -63,7 +63,7 @@ export async function generateFunctionTestsCore( ? existingSource + "\n\n// >>>>>>>>>>>>>>TEST CASES NEED TO BE FIXED <<<<<<<<<<<<<<<\n\n" + response.testSource : response.testSource; - const diagnostics = await getDiagnostics(projectRoot, { + const diagnostics = await getDiagnostics(projectPath, { testSource: generatedFullSource, }); @@ -78,7 +78,7 @@ export async function generateFunctionTestsCore( content: `\nRefining tests based on feedback to ensure accuracy and reliability.`, }); - const fixedCode = await generateTest(projectRoot, { + const fixedCode = await generateTest(projectPath, { targetType: TestGenerationTarget.Function, targetIdentifier: functionIdentifier, testPlan: params.testPlan, diff --git a/workspaces/ballerina/ballerina-extension/src/features/ai/service/test/test_plan.ts b/workspaces/ballerina/ballerina-extension/src/features/ai/service/test/test_plan.ts index ff65265998a..395976cd102 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/ai/service/test/test_plan.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/ai/service/test/test_plan.ts @@ -19,9 +19,9 @@ import { getAnthropicClient, ANTHROPIC_SONNET_4 } from "../connection"; import { getErrorMessage } from "../utils"; import { TestGenerationTarget, TestPlanGenerationRequest, Command } from "@wso2/ballerina-core"; import { generateTest, getDiagnostics } from "../../testGenerator"; -import { getBallerinaProjectRoot } from "../../../../rpc-managers/ai-panel/rpc-manager"; import { CopilotEventHandler, createWebviewEventHandler } from "../event"; import { AIPanelAbortController } from "../../../../../src/rpc-managers/ai-panel/utils"; +import { StateMachine } from "../../../../stateMachine"; export interface TestPlanResponse { testPlan: string; @@ -168,8 +168,8 @@ export async function generateTestPlanCore( type: "content_block", content: `\n\nGenerating tests for the ${target} service. This may take a moment.`, }); - const projectRoot = await getBallerinaProjectRoot(); - const testResp = await generateTest(projectRoot, { + const projectPath = StateMachine.context().projectPath; + const testResp = await generateTest(projectPath, { targetType: TestGenerationTarget.Service, targetIdentifier: target, testPlan: assistantResponse, @@ -178,7 +178,7 @@ export async function generateTestPlanCore( type: "content_block", content: `\nAnalyzing generated tests for potential issues.`, }); - const diagnostics = await getDiagnostics(projectRoot, testResp); + const diagnostics = await getDiagnostics(projectPath, testResp); let testCode = testResp.testSource; const testConfig = testResp.testConfig; if (diagnostics.diagnostics.length > 0) { @@ -186,7 +186,7 @@ export async function generateTestPlanCore( type: "content_block", content: `\nRefining tests based on feedback to ensure accuracy and reliability.`, }); - const fixedCode = await generateTest(projectRoot, { + const fixedCode = await generateTest(projectPath, { targetType: TestGenerationTarget.Service, targetIdentifier: target, testPlan: assistantResponse, diff --git a/workspaces/ballerina/ballerina-extension/src/rpc-managers/ai-panel/rpc-manager.ts b/workspaces/ballerina/ballerina-extension/src/rpc-managers/ai-panel/rpc-manager.ts index 316fae8f5ba..25c77c7682b 100644 --- a/workspaces/ballerina/ballerina-extension/src/rpc-managers/ai-panel/rpc-manager.ts +++ b/workspaces/ballerina/ballerina-extension/src/rpc-managers/ai-panel/rpc-manager.ts @@ -379,9 +379,9 @@ export class AiPanelRpcManager implements AIPanelAPI { async getGeneratedTests(params: TestGenerationRequest): Promise { return new Promise(async (resolve, reject) => { try { - const projectRoot = await getBallerinaProjectRoot(); + const projectPath = StateMachine.context().projectPath; - const generatedTests = await generateTest(projectRoot, params, AIPanelAbortController.getInstance()); + const generatedTests = await generateTest(projectPath, params, AIPanelAbortController.getInstance()); resolve(generatedTests); } catch (error) { reject(error); @@ -392,8 +392,8 @@ export class AiPanelRpcManager implements AIPanelAPI { async getTestDiagnostics(params: TestGenerationResponse): Promise { return new Promise(async (resolve, reject) => { try { - const projectRoot = await getBallerinaProjectRoot(); - const diagnostics = await getDiagnostics(projectRoot, params); + const projectPath = StateMachine.context().projectPath; + const diagnostics = await getDiagnostics(projectPath, params); resolve(diagnostics); } catch (error) { reject(error); @@ -404,8 +404,8 @@ export class AiPanelRpcManager implements AIPanelAPI { async getServiceSourceForName(params: string): Promise { return new Promise(async (resolve, reject) => { try { - const projectRoot = await getBallerinaProjectRoot(); - const { serviceDeclaration, serviceDocFilePath } = await getServiceDeclaration(projectRoot, params); + const projectPath = StateMachine.context().projectPath; + const { serviceDeclaration } = await getServiceDeclaration(projectPath, params); resolve(serviceDeclaration.source); } catch (error) { reject(error); @@ -416,8 +416,8 @@ export class AiPanelRpcManager implements AIPanelAPI { async getResourceSourceForMethodAndPath(params: string): Promise { return new Promise(async (resolve, reject) => { try { - const projectRoot = await getBallerinaProjectRoot(); - const { serviceDeclaration, resourceAccessorDef, serviceDocFilePath } = await getResourceAccessorDef(projectRoot, params); + const projectPath = StateMachine.context().projectPath; + const { resourceAccessorDef } = await getResourceAccessorDef(projectPath, params); resolve(resourceAccessorDef.source); } catch (error) { reject(error); @@ -428,8 +428,8 @@ export class AiPanelRpcManager implements AIPanelAPI { async getServiceNames(): Promise { return new Promise(async (resolve, reject) => { try { - const projectRoot = await getBallerinaProjectRoot(); - const serviceDeclNames = await getServiceDeclarationNames(projectRoot); + const projectPath = StateMachine.context().projectPath; + const serviceDeclNames = await getServiceDeclarationNames(projectPath); resolve({ mentions: serviceDeclNames }); @@ -442,8 +442,8 @@ export class AiPanelRpcManager implements AIPanelAPI { async getResourceMethodAndPaths(): Promise { return new Promise(async (resolve, reject) => { try { - const projectRoot = await getBallerinaProjectRoot(); - const resourceAccessorNames = await getResourceAccessorNames(projectRoot); + const projectPath = StateMachine.context().projectPath; + const resourceAccessorNames = await getResourceAccessorNames(projectPath); resolve({ mentions: resourceAccessorNames }); @@ -466,9 +466,9 @@ export class AiPanelRpcManager implements AIPanelAPI { } async applyDoOnFailBlocks(): Promise { - const projectRoot = await getBallerinaProjectRoot(); + const projectPath = StateMachine.context().projectPath; - if (!projectRoot) { + if (!projectPath) { return null; } @@ -487,7 +487,7 @@ export class AiPanelRpcManager implements AIPanelAPI { } }; - findBalFiles(projectRoot); + findBalFiles(projectPath); for (const balFile of balFiles) { const req: BIModuleNodesRequest = { @@ -748,9 +748,9 @@ export class AiPanelRpcManager implements AIPanelAPI { } async createTempFileAndGenerateMetadata(params: CreateTempFileRequest): Promise { - const projectRoot = await getBallerinaProjectRoot(); + const projectPath = StateMachine.context().projectPath; const filePath = await createTempDataMappingFile( - projectRoot, + projectPath, params.inputs, params.output, params.functionName, @@ -1082,14 +1082,14 @@ interface BalModification { async function setupProjectEnvironment(project: ProjectSource): Promise<{ langClient: any, tempDir: string } | null> { //TODO: Move this to LS - const projectRoot = await getBallerinaProjectRoot(); - if (!projectRoot) { + const projectPath = StateMachine.context().projectPath; + if (!projectPath) { return null; } const randomNum = Math.floor(Math.random() * 90000) + 10000; const tempDir = fs.mkdtempSync(path.join(os.tmpdir(), `bal-proj-${randomNum}-`)); - fs.cpSync(projectRoot, tempDir, { recursive: true }); + fs.cpSync(projectPath, tempDir, { recursive: true }); //Copy project const langClient = StateMachine.langClient(); //Apply edits @@ -1161,14 +1161,14 @@ enum CodeGenerationType { } async function getCurrentProjectSource(requestType: OperationType): Promise { - const projectRoot = await getBallerinaProjectRoot(); + const projectPath = StateMachine.context().projectPath; - if (!projectRoot) { + if (!projectPath) { return null; } // Read the Ballerina.toml file to get package name - const ballerinaTomlPath = path.join(projectRoot, 'Ballerina.toml'); + const ballerinaTomlPath = path.join(projectPath, 'Ballerina.toml'); let packageName; if (fs.existsSync(ballerinaTomlPath)) { const tomlContent = await fs.promises.readFile(ballerinaTomlPath, 'utf-8'); @@ -1188,20 +1188,20 @@ async function getCurrentProjectSource(requestType: OperationType): Promise { - - const workspaceFolders = workspace.workspaceFolders; - if (!workspaceFolders) { - throw new Error("No workspaces found."); - } - - const workspaceFolderPath = workspaceFolders[0].uri.fsPath; - // Check if workspaceFolderPath is a Ballerina project - // Assuming a Ballerina project must contain a 'Ballerina.toml' file - const ballerinaProjectFile = path.join(workspaceFolderPath, 'Ballerina.toml'); - if (fs.existsSync(ballerinaProjectFile)) { - return workspaceFolderPath; - } - return null; -} - export async function postProcess(req: PostProcessRequest): Promise { let assist_resp = req.assistant_response; diff --git a/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-manager.ts b/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-manager.ts index c7331366fac..d25fd2b8b6d 100644 --- a/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-manager.ts +++ b/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-manager.ts @@ -246,25 +246,9 @@ export class CommonRpcManager implements CommonRPCAPI { return extension.ballerinaExtInstance.isNPSupported; } - async getBallerinaProjectRoot(): Promise { - const workspaceFolders = workspace.workspaceFolders; - if (!workspaceFolders) { - throw new Error("No workspaces found."); - } - const workspaceFolderPath = workspaceFolders[0].uri.fsPath; - // Check if workspaceFolderPath is a Ballerina project - // Assuming a Ballerina project must contain a 'Ballerina.toml' file - // TODO: This logic needs to be updated for multi-package workspaces - const ballerinaProjectFile = path.join(workspaceFolderPath, 'Ballerina.toml'); - if (fs.existsSync(ballerinaProjectFile)) { - return workspaceFolderPath; - } - return null; - } - async getCurrentProjectTomlValues(): Promise { - const projectRoot = await this.getBallerinaProjectRoot(); - const ballerinaTomlPath = path.join(projectRoot, 'Ballerina.toml'); + const projectPath = StateMachine.context().projectPath; + const ballerinaTomlPath = path.join(projectPath, 'Ballerina.toml'); if (fs.existsSync(ballerinaTomlPath)) { const tomlContent = await fs.promises.readFile(ballerinaTomlPath, 'utf-8'); try { From 16ff7412b26c355d22999dcf35c2d271ffa3fc72 Mon Sep 17 00:00:00 2001 From: madushajg Date: Mon, 20 Oct 2025 13:13:51 +0530 Subject: [PATCH 013/491] Enable adding new projects for existing workspaces --- .../src/rpc-types/bi-diagram/interfaces.ts | 4 +- .../src/features/test-explorer/discover.ts | 2 +- .../src/rpc-managers/ai-panel/rpc-manager.ts | 2 +- .../rpc-managers/bi-diagram/rpc-handler.ts | 5 +- .../rpc-managers/bi-diagram/rpc-manager.ts | 20 +-- .../ballerina-extension/src/stateMachine.ts | 2 + .../ballerina-extension/src/utils/bi.ts | 131 ++++++++++++------ .../views/BI/ProjectForm/AddProjectForm.tsx | 18 ++- 8 files changed, 125 insertions(+), 59 deletions(-) diff --git a/workspaces/ballerina/ballerina-core/src/rpc-types/bi-diagram/interfaces.ts b/workspaces/ballerina/ballerina-core/src/rpc-types/bi-diagram/interfaces.ts index 169040dd0dc..b0fde8df477 100644 --- a/workspaces/ballerina/ballerina-core/src/rpc-types/bi-diagram/interfaces.ts +++ b/workspaces/ballerina/ballerina-core/src/rpc-types/bi-diagram/interfaces.ts @@ -26,8 +26,8 @@ export interface ProjectRequest { packageName: string; projectPath: string; createDirectory: boolean; - createAsWorkspace: boolean; - workspaceName: string; + createAsWorkspace?: boolean; + workspaceName?: string; orgName?: string; version?: string; } diff --git a/workspaces/ballerina/ballerina-extension/src/features/test-explorer/discover.ts b/workspaces/ballerina/ballerina-extension/src/features/test-explorer/discover.ts index 66edd255077..ed9751c9afc 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/test-explorer/discover.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/test-explorer/discover.ts @@ -99,7 +99,7 @@ function createTests(response: TestsDiscoveryResponse, testController: TestContr export async function handleFileChange(ballerinaExtInstance: BallerinaExtension, uri: Uri, testController: TestController) { const request: TestsDiscoveryRequest = { - filePath: uri.path + projectPath: uri.path }; const response: TestsDiscoveryResponse = await ballerinaExtInstance.langClient?.getFileTestFunctions(request); if (!response || !response.result) { diff --git a/workspaces/ballerina/ballerina-extension/src/rpc-managers/ai-panel/rpc-manager.ts b/workspaces/ballerina/ballerina-extension/src/rpc-managers/ai-panel/rpc-manager.ts index 25c77c7682b..7dbb1cf6ce0 100644 --- a/workspaces/ballerina/ballerina-extension/src/rpc-managers/ai-panel/rpc-manager.ts +++ b/workspaces/ballerina/ballerina-extension/src/rpc-managers/ai-panel/rpc-manager.ts @@ -203,7 +203,7 @@ export class AiPanelRpcManager implements AIPanelAPI { } async addToProject(req: AddToProjectRequest): Promise { - + // TODO: Ensure this is working for multi-project workspaces. const workspaceFolders = workspace.workspaceFolders; if (!workspaceFolders) { throw new Error("No workspaces found."); diff --git a/workspaces/ballerina/ballerina-extension/src/rpc-managers/bi-diagram/rpc-handler.ts b/workspaces/ballerina/ballerina-extension/src/rpc-managers/bi-diagram/rpc-handler.ts index 0bee6a351da..c34e4d2574c 100644 --- a/workspaces/ballerina/ballerina-extension/src/rpc-managers/bi-diagram/rpc-handler.ts +++ b/workspaces/ballerina/ballerina-extension/src/rpc-managers/bi-diagram/rpc-handler.ts @@ -142,7 +142,9 @@ import { UpdateTypesRequest, verifyTypeDelete, VerifyTypeDeleteRequest, - VisibleTypesRequest + VisibleTypesRequest, + addProjectToWorkspace, + AddProjectToWorkspaceRequest } from "@wso2/ballerina-core"; import { Messenger } from "vscode-messenger"; import { BiDiagramRpcManager } from "./rpc-manager"; @@ -164,6 +166,7 @@ export function registerBiDiagramRpcHandlers(messenger: Messenger) { messenger.onRequest(getNodeTemplate, (args: BINodeTemplateRequest) => rpcManger.getNodeTemplate(args)); messenger.onRequest(getAiSuggestions, (args: BIAiSuggestionsRequest) => rpcManger.getAiSuggestions(args)); messenger.onNotification(createProject, (args: ProjectRequest) => rpcManger.createProject(args)); + messenger.onNotification(addProjectToWorkspace, (args: AddProjectToWorkspaceRequest) => rpcManger.addProjectToWorkspace(args)); messenger.onRequest(getWorkspaces, () => rpcManger.getWorkspaces()); messenger.onRequest(getProjectStructure, () => rpcManger.getProjectStructure()); messenger.onRequest(getProjectComponents, () => rpcManger.getProjectComponents()); diff --git a/workspaces/ballerina/ballerina-extension/src/rpc-managers/bi-diagram/rpc-manager.ts b/workspaces/ballerina/ballerina-extension/src/rpc-managers/bi-diagram/rpc-manager.ts index 9209529b9ab..cb7910c2920 100644 --- a/workspaces/ballerina/ballerina-extension/src/rpc-managers/bi-diagram/rpc-manager.ts +++ b/workspaces/ballerina/ballerina-extension/src/rpc-managers/bi-diagram/rpc-manager.ts @@ -144,10 +144,14 @@ import { Category, NodePosition, AddProjectToWorkspaceRequest, + MACHINE_VIEW, + EVENT_TYPE, + VisualizerLocation, } from "@wso2/ballerina-core"; import * as fs from "fs"; import * as path from 'path'; import * as vscode from "vscode"; +import { parse } from 'toml'; import { ICreateComponentCmdParams, IWso2PlatformExtensionAPI, CommandIds as PlatformExtCommandIds } from "@wso2/wso2-platform-core"; import { @@ -166,14 +170,16 @@ import { notifyBreakpointChange } from "../../RPCLayer"; import { OLD_BACKEND_URL } from "../../features/ai/utils"; import { cleanAndValidateProject, getCurrentBIProject } from "../../features/config-generator/configGenerator"; import { BreakpointManager } from "../../features/debugger/breakpoint-manager"; -import { StateMachine, updateView } from "../../stateMachine"; +import { openView, StateMachine, updateView } from "../../stateMachine"; import { getAccessToken, getLoginMethod } from "../../utils/ai/auth"; import { getCompleteSuggestions } from '../../utils/ai/completions'; -import { README_FILE, createBIAutomation, createBIFunction, createBIProjectPure, createBIWorkspace, openInVSCode } from "../../utils/bi"; +import { README_FILE, addProjectToExistingWorkspace, convertProjectToWorkspace, createBIAutomation, createBIFunction, createBIProjectPure, createBIWorkspace, openInVSCode } from "../../utils/bi"; import { writeBallerinaFileDidOpen } from "../../utils/modification"; import { updateSourceCode } from "../../utils/source-utils"; import { checkProjectDiagnostics, removeUnusedImports } from "../ai-panel/repair-utils"; import { getView } from "../../utils/state-machine-utils"; +import { buildProjectArtifactsStructure } from "../../utils/project-artifacts"; + export class BiDiagramRpcManager implements BIDiagramAPI { OpenConfigTomlRequest: (params: OpenConfigTomlRequest) => Promise; @@ -588,15 +594,9 @@ export class BiDiagramRpcManager implements BIDiagramAPI { async addProjectToWorkspace(params: AddProjectToWorkspaceRequest): Promise { if (params.convertToWorkspace) { - // Create a new direcotory using the workspace name at same level as the current project and move the project to the new directory - const newDirectory = path.join(path.dirname(StateMachine.context().projectPath), params.workspaceName); - if (!fs.existsSync(newDirectory)) { - fs.mkdirSync(newDirectory, { recursive: true }); - } - fs.renameSync(StateMachine.context().projectPath, path.join(newDirectory, path.basename(StateMachine.context().projectPath))); - openInVSCode(newDirectory); + convertProjectToWorkspace(params.workspaceName); } else { - // TODO: Just add the project to the workspace + await addProjectToExistingWorkspace(params); } } diff --git a/workspaces/ballerina/ballerina-extension/src/stateMachine.ts b/workspaces/ballerina/ballerina-extension/src/stateMachine.ts index 281a225c6db..f97909669ec 100644 --- a/workspaces/ballerina/ballerina-extension/src/stateMachine.ts +++ b/workspaces/ballerina/ballerina-extension/src/stateMachine.ts @@ -273,6 +273,8 @@ const stateMachine = createMachine( position: (context, event) => event.viewLocation.position, identifier: (context, event) => event.viewLocation.identifier, serviceType: (context, event) => event.viewLocation.serviceType, + projectPath: (context, event) => event.viewLocation?.projectPath || context?.projectPath, + package: (context, event) => event.viewLocation?.package, type: (context, event) => event.viewLocation?.type, isGraphql: (context, event) => event.viewLocation?.isGraphql, metadata: (context, event) => event.viewLocation?.metadata, diff --git a/workspaces/ballerina/ballerina-extension/src/utils/bi.ts b/workspaces/ballerina/ballerina-extension/src/utils/bi.ts index a0e9db513ce..8de2403ac41 100644 --- a/workspaces/ballerina/ballerina-extension/src/utils/bi.ts +++ b/workspaces/ballerina/ballerina-extension/src/utils/bi.ts @@ -20,12 +20,14 @@ import { exec } from "child_process"; import { window, commands, workspace, Uri } from "vscode"; import * as fs from 'fs'; import path from "path"; -import { BallerinaProjectComponents, ComponentRequest, CreateComponentResponse, createFunctionSignature, EVENT_TYPE, MigrateRequest, NodePosition, ProjectRequest, STModification, SyntaxTreeResponse } from "@wso2/ballerina-core"; +import { AddProjectToWorkspaceRequest, BallerinaProjectComponents, ComponentRequest, CreateComponentResponse, createFunctionSignature, EVENT_TYPE, MACHINE_VIEW, MigrateRequest, NodePosition, ProjectRequest, STModification, SyntaxTreeResponse, VisualizerLocation } from "@wso2/ballerina-core"; import { StateMachine, history, openView } from "../stateMachine"; import { applyModifications, modifyFileContent, writeBallerinaFileDidOpen } from "./modification"; import { ModulePart, STKindChecker } from "@wso2/syntax-tree"; import { URI } from "vscode-uri"; import { debug } from "./logger"; +import { parse } from "toml"; +import { buildProjectArtifactsStructure } from "./project-artifacts"; export const README_FILE = "readme.md"; export const FUNCTIONS_FILE = "functions.bal"; @@ -98,45 +100,6 @@ generated/ Config.toml `; -export function createBIProject(name: string, isService: boolean) { - window.showOpenDialog({ canSelectFolders: true, canSelectFiles: false, openLabel: 'Select Project Location' }) - .then(uri => { - if (uri && uri[0]) { - const projectLocation = uri[0].fsPath; - - const command = isService ? `bal new -t service ${name}` : `bal new ${name}`; - const options = { cwd: projectLocation }; - - exec(command, options, (error, stdout, stderr) => { - if (error) { - console.error(`Error creating BI project: ${error.message}`); - return; - } - - console.log(`BI project created successfully at ${projectLocation}`); - console.log(`stdout: ${stdout}`); - console.error(`stderr: ${stderr}`); - - // Update Ballerina.toml file in the created project folder - const tomlFilePath = `${projectLocation}/${name}/Ballerina.toml`; - hackToUpdateBallerinaToml(tomlFilePath); - - if (isService) { - const filePath = `${projectLocation}/${name}/service.bal`; - hackToUpdateService(filePath); - } else { - const filePath = `${projectLocation}/${name}/main.bal`; - hackToUpdateMain(filePath); - } - - const newProjectUri = Uri.joinPath(uri[0], name); - commands.executeCommand('vscode.openFolder', newProjectUri); - - }); - } - }); -} - export function getUsername(): string { // Get current username from the system across different OS platforms let username: string; @@ -313,6 +276,94 @@ sticky = true return projectRoot; } +export function convertProjectToWorkspace(workspaceName: string) { + const currentProjectPath = StateMachine.context().projectPath; + const newDirectory = path.join(path.dirname(currentProjectPath), workspaceName); + + if (!fs.existsSync(newDirectory)) { + fs.mkdirSync(newDirectory, { recursive: true }); + } + + const newProjectPath = path.join(newDirectory, path.basename(currentProjectPath)); + fs.renameSync(currentProjectPath, newProjectPath); + openInVSCode(newDirectory); +} + +export async function addProjectToExistingWorkspace(params: AddProjectToWorkspaceRequest): Promise { + const workspacePath = StateMachine.context().workspacePath; + + updateWorkspaceToml(workspacePath, params.packageName); + + const projectPath = createProjectInWorkspace(params, workspacePath); + + await openNewlyCreatedProject(params, workspacePath, projectPath); +} + +function updateWorkspaceToml(workspacePath: string, packageName: string) { + const ballerinaTomlPath = path.join(workspacePath, 'Ballerina.toml'); + + if (!fs.existsSync(ballerinaTomlPath)) { + return; + } + + try { + const ballerinaTomlContent = fs.readFileSync(ballerinaTomlPath, 'utf8'); + const tomlData = parse(ballerinaTomlContent); + const existingPackages: string[] = tomlData.packages || []; + + if (existingPackages.includes(packageName)) { + return; // Package already exists + } + + const updatedContent = addPackageToToml(ballerinaTomlContent, packageName); + fs.writeFileSync(ballerinaTomlPath, updatedContent); + } catch (error) { + console.error('Failed to update workspace Ballerina.toml:', error); + } +} + +function addPackageToToml(tomlContent: string, packageName: string): string { + const packagesRegex = /packages\s*=\s*\[([\s\S]*?)\]/; + const match = tomlContent.match(packagesRegex); + + if (match) { + const currentArrayContent = match[1].trim(); + const newArrayContent = currentArrayContent === '' + ? `"${packageName}"` + : `${currentArrayContent}, "${packageName}"`; + + return tomlContent.replace(packagesRegex, `packages = [${newArrayContent}]`); + } else { + return tomlContent + `\npackages = ["${packageName}"]\n`; + } +} + +function createProjectInWorkspace(params: AddProjectToWorkspaceRequest, workspacePath: string): string { + const projectRequest: ProjectRequest = { + projectName: params.projectName, + packageName: params.packageName, + projectPath: workspacePath, + createDirectory: true, + orgName: params.orgName, + version: params.version + }; + + return createBIProjectPure(projectRequest); +} + +async function openNewlyCreatedProject(params: AddProjectToWorkspaceRequest, workspacePath: string, projectPath: string) { + const viewLocation: VisualizerLocation = { + view: MACHINE_VIEW.Overview, + workspacePath: workspacePath, + projectPath: projectPath, + package: params.packageName, + org: params.orgName + }; + + await buildProjectArtifactsStructure(projectPath, StateMachine.langClient(), true); + openView(EVENT_TYPE.OPEN_VIEW, viewLocation); +} + export function openInVSCode(projectRoot: string) { commands.executeCommand('vscode.openFolder', Uri.file(path.resolve(projectRoot))); } diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ProjectForm/AddProjectForm.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ProjectForm/AddProjectForm.tsx index fd54855494a..6fee4906bba 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ProjectForm/AddProjectForm.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ProjectForm/AddProjectForm.tsx @@ -69,6 +69,7 @@ export function AddProjectForm() { }); const [isInWorkspace, setIsInWorkspace] = useState(false); const [path, setPath] = useState(""); + const [isLoading, setIsLoading] = useState(false); const handleFormDataChange = (data: Partial) => { setFormData(prev => ({ ...prev, ...data })); @@ -85,6 +86,7 @@ export function AddProjectForm() { }, []); const handleAddProject = () => { + setIsLoading(true); rpcClient.getBIDiagramRpcClient().addProjectToWorkspace({ projectName: formData.integrationName, packageName: formData.packageName, @@ -121,13 +123,21 @@ export function AddProjectForm() { From 3b821ad11b55a5ed4121930d80be004513fce627 Mon Sep 17 00:00:00 2001 From: madushajg Date: Mon, 20 Oct 2025 20:53:21 +0530 Subject: [PATCH 014/491] Enable converting exsisting projects into workspaces --- .../rpc-managers/bi-diagram/rpc-manager.ts | 3 +-- .../src/rpc-managers/common/rpc-manager.ts | 16 ++---------- .../src/rpc-managers/common/utils.ts | 19 ++++++++++++-- .../ballerina-extension/src/utils/bi.ts | 26 ++++++++++++++++--- .../BI/ProjectForm/AddProjectFormFields.tsx | 3 ++- 5 files changed, 44 insertions(+), 23 deletions(-) diff --git a/workspaces/ballerina/ballerina-extension/src/rpc-managers/bi-diagram/rpc-manager.ts b/workspaces/ballerina/ballerina-extension/src/rpc-managers/bi-diagram/rpc-manager.ts index cb7910c2920..eb1cbfdcb09 100644 --- a/workspaces/ballerina/ballerina-extension/src/rpc-managers/bi-diagram/rpc-manager.ts +++ b/workspaces/ballerina/ballerina-extension/src/rpc-managers/bi-diagram/rpc-manager.ts @@ -178,7 +178,6 @@ import { writeBallerinaFileDidOpen } from "../../utils/modification"; import { updateSourceCode } from "../../utils/source-utils"; import { checkProjectDiagnostics, removeUnusedImports } from "../ai-panel/repair-utils"; import { getView } from "../../utils/state-machine-utils"; -import { buildProjectArtifactsStructure } from "../../utils/project-artifacts"; export class BiDiagramRpcManager implements BIDiagramAPI { OpenConfigTomlRequest: (params: OpenConfigTomlRequest) => Promise; @@ -594,7 +593,7 @@ export class BiDiagramRpcManager implements BIDiagramAPI { async addProjectToWorkspace(params: AddProjectToWorkspaceRequest): Promise { if (params.convertToWorkspace) { - convertProjectToWorkspace(params.workspaceName); + await convertProjectToWorkspace(params); } else { await addProjectToExistingWorkspace(params); } diff --git a/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-manager.ts b/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-manager.ts index d25fd2b8b6d..9844273b864 100644 --- a/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-manager.ts +++ b/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-manager.ts @@ -47,9 +47,7 @@ import { URI } from "vscode-uri"; import { extension } from "../../BalExtensionContext"; import { StateMachine } from "../../stateMachine"; import { checkIsBallerinaWorkspace, goToSource } from "../../utils"; -import { askFileOrFolderPath, askFilePath, askProjectPath, BALLERINA_INTEGRATOR_ISSUES_URL, getUpdatedSource } from "./utils"; -import { parse } from 'toml'; -import * as fs from 'fs'; +import { askFileOrFolderPath, askFilePath, askProjectPath, BALLERINA_INTEGRATOR_ISSUES_URL, getProjectTomlValues, getUpdatedSource } from "./utils"; import path from "path"; export class CommonRpcManager implements CommonRPCAPI { @@ -247,17 +245,7 @@ export class CommonRpcManager implements CommonRPCAPI { } async getCurrentProjectTomlValues(): Promise { - const projectPath = StateMachine.context().projectPath; - const ballerinaTomlPath = path.join(projectPath, 'Ballerina.toml'); - if (fs.existsSync(ballerinaTomlPath)) { - const tomlContent = await fs.promises.readFile(ballerinaTomlPath, 'utf-8'); - try { - return parse(tomlContent); - } catch (error) { - console.error("Failed to load Ballerina.toml content", error); - return; - } - } + return getProjectTomlValues(StateMachine.context().projectPath); } async isBallerinaWorkspace(): Promise { diff --git a/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/utils.ts b/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/utils.ts index 73d9100ae37..2a9e03aca75 100644 --- a/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/utils.ts +++ b/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/utils.ts @@ -16,10 +16,12 @@ * under the License. */ +import * as fs from 'fs'; +import path from "path"; import { NodePosition } from "@wso2/syntax-tree"; import { Position, Range, Uri, window, workspace, WorkspaceEdit } from "vscode"; -import * as os from 'os'; -import { TextEdit } from "@wso2/ballerina-core"; +import { TextEdit, TomlValues } from "@wso2/ballerina-core"; +import { parse } from "toml"; export const BALLERINA_INTEGRATOR_ISSUES_URL = "https://github.com/wso2/product-ballerina-integrator/issues"; @@ -111,3 +113,16 @@ export async function applyBallerinaTomlEdit(tomlPath: Uri, textEdit: TextEdit) } }); } + +export async function getProjectTomlValues(projectPath: string): Promise { + const ballerinaTomlPath = path.join(projectPath, 'Ballerina.toml'); + if (fs.existsSync(ballerinaTomlPath)) { + const tomlContent = await fs.promises.readFile(ballerinaTomlPath, 'utf-8'); + try { + return parse(tomlContent); + } catch (error) { + console.error("Failed to load Ballerina.toml content for project at path: ", projectPath, error); + return; + } + } +} diff --git a/workspaces/ballerina/ballerina-extension/src/utils/bi.ts b/workspaces/ballerina/ballerina-extension/src/utils/bi.ts index 8de2403ac41..11bbada319f 100644 --- a/workspaces/ballerina/ballerina-extension/src/utils/bi.ts +++ b/workspaces/ballerina/ballerina-extension/src/utils/bi.ts @@ -28,6 +28,7 @@ import { URI } from "vscode-uri"; import { debug } from "./logger"; import { parse } from "toml"; import { buildProjectArtifactsStructure } from "./project-artifacts"; +import { getProjectTomlValues } from "../rpc-managers/common/utils"; export const README_FILE = "readme.md"; export const FUNCTIONS_FILE = "functions.bal"; @@ -276,16 +277,24 @@ sticky = true return projectRoot; } -export function convertProjectToWorkspace(workspaceName: string) { +export async function convertProjectToWorkspace(params: AddProjectToWorkspaceRequest) { const currentProjectPath = StateMachine.context().projectPath; - const newDirectory = path.join(path.dirname(currentProjectPath), workspaceName); + const { package: { name: currentPackageName } } = await getProjectTomlValues(currentProjectPath); + + const newDirectory = path.join(path.dirname(currentProjectPath), params.workspaceName); if (!fs.existsSync(newDirectory)) { fs.mkdirSync(newDirectory, { recursive: true }); } - const newProjectPath = path.join(newDirectory, path.basename(currentProjectPath)); - fs.renameSync(currentProjectPath, newProjectPath); + const updatedProjectPath = path.join(newDirectory, path.basename(currentProjectPath)); + fs.renameSync(currentProjectPath, updatedProjectPath); + + createWorkspaceToml(newDirectory, currentPackageName); + updateWorkspaceToml(newDirectory, params.packageName); + + createProjectInWorkspace(params, newDirectory); + openInVSCode(newDirectory); } @@ -299,6 +308,15 @@ export async function addProjectToExistingWorkspace(params: AddProjectToWorkspac await openNewlyCreatedProject(params, workspacePath, projectPath); } +function createWorkspaceToml(workspacePath: string, packageName: string) { + const ballerinaTomlContent = ` +[workspace] +packages = ["${packageName}"] +`; + const ballerinaTomlPath = path.join(workspacePath, 'Ballerina.toml'); + writeBallerinaFileDidOpen(ballerinaTomlPath, ballerinaTomlContent); +} + function updateWorkspaceToml(workspacePath: string, packageName: string) { const ballerinaTomlPath = path.join(workspacePath, 'Ballerina.toml'); diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ProjectForm/AddProjectFormFields.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ProjectForm/AddProjectFormFields.tsx index a45c65388b0..4193218b369 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ProjectForm/AddProjectFormFields.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ProjectForm/AddProjectFormFields.tsx @@ -125,6 +125,7 @@ export function AddProjectFormFields({ value={formData.workspaceName} label="Workspace Name" placeholder="Enter workspace name" + autoFocus={true} required={true} /> @@ -136,7 +137,7 @@ export function AddProjectFormFields({ value={formData.integrationName} label="Integration Name" placeholder="Enter an integration name" - autoFocus={true} + autoFocus={isInWorkspace} required={true} /> From ce6ca9e96e17a547859c534bb10acbfb10e24abb Mon Sep 17 00:00:00 2001 From: madushajg Date: Tue, 21 Oct 2025 11:26:36 +0530 Subject: [PATCH 015/491] Enable switch between workspace packages --- common/config/rush/pnpm-lock.yaml | 9 +- .../src/rpc-types/common/interfaces.ts | 10 +- .../src/rpc-managers/common/rpc-manager.ts | 4 +- .../src/rpc-managers/common/utils.ts | 4 +- .../src/rpc-clients/common/rpc-client.ts | 4 +- workspaces/bi/bi-extension/package.json | 5 +- .../src/project-explorer/activate.ts | 12 +- .../bi/bi-extension/src/stateMachine.ts | 8 +- workspaces/bi/bi-extension/src/utils.ts | 169 ++++++++++++++++-- 9 files changed, 185 insertions(+), 40 deletions(-) diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index f3b8c1ddaa9..cf08320f4e3 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -2109,6 +2109,9 @@ importers: '@wso2/font-wso2-vscode': specifier: workspace:* version: link:../../common-libs/font-wso2-vscode + toml: + specifier: ^3.0.0 + version: 3.0.0 xstate: specifier: ^4.38.3 version: 4.38.3 @@ -24259,7 +24262,10 @@ snapshots: jest-runner: 25.5.4 jest-runtime: 25.5.4 transitivePeerDependencies: + - bufferutil + - canvas - supports-color + - utf-8-validate '@jest/test-sequencer@29.7.0': dependencies: @@ -39867,10 +39873,7 @@ snapshots: pretty-format: 25.5.0 throat: 5.0.0 transitivePeerDependencies: - - bufferutil - - canvas - supports-color - - utf-8-validate jest-leak-detector@25.5.0: dependencies: diff --git a/workspaces/ballerina/ballerina-core/src/rpc-types/common/interfaces.ts b/workspaces/ballerina/ballerina-core/src/rpc-types/common/interfaces.ts index 6ccd232ffcc..6f21d545c3e 100644 --- a/workspaces/ballerina/ballerina-core/src/rpc-types/common/interfaces.ts +++ b/workspaces/ballerina/ballerina-core/src/rpc-types/common/interfaces.ts @@ -91,6 +91,10 @@ export interface ShowErrorMessageRequest { message: string; } +export interface TomlWorkspace { + packages: string[]; +} + export interface TomlPackage { org: string; name: string; @@ -98,6 +102,10 @@ export interface TomlPackage { title: string; } -export interface TomlValues { +export interface WorkspaceTomlValues { + workspace: TomlWorkspace; +} + +export interface PackageTomlValues { package: TomlPackage; } diff --git a/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-manager.ts b/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-manager.ts index 9844273b864..6825fdf84df 100644 --- a/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-manager.ts +++ b/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-manager.ts @@ -35,7 +35,7 @@ import { RunExternalCommandResponse, ShowErrorMessageRequest, SyntaxTree, - TomlValues, + PackageTomlValues, TypeResponse, WorkspaceFileRequest, WorkspaceRootResponse, @@ -244,7 +244,7 @@ export class CommonRpcManager implements CommonRPCAPI { return extension.ballerinaExtInstance.isNPSupported; } - async getCurrentProjectTomlValues(): Promise { + async getCurrentProjectTomlValues(): Promise { return getProjectTomlValues(StateMachine.context().projectPath); } diff --git a/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/utils.ts b/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/utils.ts index 2a9e03aca75..e8a8388dffe 100644 --- a/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/utils.ts +++ b/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/utils.ts @@ -20,7 +20,7 @@ import * as fs from 'fs'; import path from "path"; import { NodePosition } from "@wso2/syntax-tree"; import { Position, Range, Uri, window, workspace, WorkspaceEdit } from "vscode"; -import { TextEdit, TomlValues } from "@wso2/ballerina-core"; +import { TextEdit, PackageTomlValues } from "@wso2/ballerina-core"; import { parse } from "toml"; export const BALLERINA_INTEGRATOR_ISSUES_URL = "https://github.com/wso2/product-ballerina-integrator/issues"; @@ -114,7 +114,7 @@ export async function applyBallerinaTomlEdit(tomlPath: Uri, textEdit: TextEdit) }); } -export async function getProjectTomlValues(projectPath: string): Promise { +export async function getProjectTomlValues(projectPath: string): Promise { const ballerinaTomlPath = path.join(projectPath, 'Ballerina.toml'); if (fs.existsSync(ballerinaTomlPath)) { const tomlContent = await fs.promises.readFile(ballerinaTomlPath, 'utf-8'); diff --git a/workspaces/ballerina/ballerina-rpc-client/src/rpc-clients/common/rpc-client.ts b/workspaces/ballerina/ballerina-rpc-client/src/rpc-clients/common/rpc-client.ts index 438c629aa2f..6a08500f333 100644 --- a/workspaces/ballerina/ballerina-rpc-client/src/rpc-clients/common/rpc-client.ts +++ b/workspaces/ballerina/ballerina-rpc-client/src/rpc-clients/common/rpc-client.ts @@ -46,7 +46,7 @@ import { runBackgroundTerminalCommand, selectFileOrDirPath, getCurrentProjectTomlValues, - TomlValues, + PackageTomlValues, selectFileOrFolderPath, showErrorMessage, isBallerinaWorkspace @@ -113,7 +113,7 @@ export class CommonRpcClient implements CommonRPCAPI { return this._messenger.sendNotification(showErrorMessage, HOST_EXTENSION, params); } - getCurrentProjectTomlValues(): Promise { + getCurrentProjectTomlValues(): Promise { return this._messenger.sendRequest(getCurrentProjectTomlValues, HOST_EXTENSION); } diff --git a/workspaces/bi/bi-extension/package.json b/workspaces/bi/bi-extension/package.json index 0a57bdc8251..acc1840c837 100644 --- a/workspaces/bi/bi-extension/package.json +++ b/workspaces/bi/bi-extension/package.json @@ -137,7 +137,7 @@ "view/title": [ { "command": "BI.project-explorer.switch-project", - "when": "view == BI.project-explorer && BI.isMultiRoot == true", + "when": "view == BI.project-explorer && BI.isBalWorkspace == true", "group": "navigation" }, { @@ -175,7 +175,8 @@ "dependencies": { "@wso2/ballerina-core": "workspace:*", "@wso2/font-wso2-vscode": "workspace:*", - "xstate": "^4.38.3" + "xstate": "^4.38.3", + "toml": "^3.0.0" }, "devDependencies": { "@vscode/vsce": "^3.4.0", diff --git a/workspaces/bi/bi-extension/src/project-explorer/activate.ts b/workspaces/bi/bi-extension/src/project-explorer/activate.ts index 7820d33e9da..67abc97fe9c 100644 --- a/workspaces/bi/bi-extension/src/project-explorer/activate.ts +++ b/workspaces/bi/bi-extension/src/project-explorer/activate.ts @@ -25,11 +25,11 @@ interface ExplorerActivationConfig { context: ExtensionContext; isBI: boolean; isBallerina?: boolean; - isMultiRoot?: boolean; + isBalWorkspace?: boolean; } export function activateProjectExplorer(config: ExplorerActivationConfig) { - const { context, isBI, isBallerina, isMultiRoot } = config; + const { context, isBI, isBallerina, isBalWorkspace } = config; if (extension.langClient && extension.biSupported) { setLoadingStatus(); @@ -39,7 +39,7 @@ export function activateProjectExplorer(config: ExplorerActivationConfig) { const projectTree = createProjectTree(projectExplorerDataProvider); if (isBallerina) { - registerBallerinaCommands(projectExplorerDataProvider, isBI, isMultiRoot); + registerBallerinaCommands(projectExplorerDataProvider, isBI, isBalWorkspace); } handleVisibilityChangeEvents(projectTree, projectExplorerDataProvider, isBallerina); @@ -54,11 +54,11 @@ function createProjectTree(dataProvider: ProjectExplorerEntryProvider) { return window.createTreeView(BI_COMMANDS.PROJECT_EXPLORER, { treeDataProvider: dataProvider }); } -function registerBallerinaCommands(dataProvider: ProjectExplorerEntryProvider, isBI: boolean, isMultiRoot?: boolean) { +function registerBallerinaCommands(dataProvider: ProjectExplorerEntryProvider, isBI: boolean, isBalWorkspace?: boolean) { commands.registerCommand(BI_COMMANDS.REFRESH_COMMAND, () => dataProvider.refresh()); - if (isMultiRoot) { - commands.executeCommand('setContext', 'BI.isMultiRoot', true); + if (isBalWorkspace) { + commands.executeCommand('setContext', 'BI.isBalWorkspace', true); } if (isBI) { registerBICommands(); diff --git a/workspaces/bi/bi-extension/src/stateMachine.ts b/workspaces/bi/bi-extension/src/stateMachine.ts index 68aced9d28c..2e6439a2867 100644 --- a/workspaces/bi/bi-extension/src/stateMachine.ts +++ b/workspaces/bi/bi-extension/src/stateMachine.ts @@ -24,7 +24,7 @@ import { fetchProjectInfo, ProjectInfo } from './utils'; interface MachineContext { isBI: boolean; isBallerina?: boolean; - isMultiRoot?: boolean; + isBalWorkspace?: boolean; } const stateMachine = createMachine({ @@ -45,7 +45,7 @@ const stateMachine = createMachine({ actions: assign({ isBI: (context, event) => event.data.isBI, isBallerina: (context, event) => event.data.isBallerina, - isMultiRoot: (context, event) => event.data.isMultiRoot + isBalWorkspace: (context, event) => event.data.isBalWorkspace }) }, ], @@ -68,7 +68,7 @@ const stateMachine = createMachine({ context: extension.context, isBI: context.isBI, isBallerina: context.isBallerina, - isMultiRoot: context.isMultiRoot + isBalWorkspace: context.isBalWorkspace }); } }, @@ -84,5 +84,5 @@ export const StateMachine = { }; async function findProjectInfo(): Promise { - return fetchProjectInfo(); + return await fetchProjectInfo(); }; diff --git a/workspaces/bi/bi-extension/src/utils.ts b/workspaces/bi/bi-extension/src/utils.ts index 01bb21b115c..f6d746249f6 100644 --- a/workspaces/bi/bi-extension/src/utils.ts +++ b/workspaces/bi/bi-extension/src/utils.ts @@ -20,11 +20,13 @@ import { Uri, Webview, workspace } from "vscode"; import * as fs from 'fs'; import * as path from 'path'; import { extension } from "./biExtentionContext"; +import { WorkspaceTomlValues } from "@wso2/ballerina-core"; +import { parse } from "toml"; export interface ProjectInfo { isBI: boolean; isBallerina: boolean; - isMultiRoot: boolean; + isBalWorkspace: boolean; }; export function getUri(webview: Webview, extensionUri: Uri, pathList: string[]) { @@ -34,26 +36,64 @@ export function getUri(webview: Webview, extensionUri: Uri, pathList: string[]) return webview.asWebviewUri(Uri.joinPath(extensionUri, ...pathList)); } -export function fetchProjectInfo(): ProjectInfo { - const workspaceUris = workspace.workspaceFolders ? workspace.workspaceFolders.map(folder => folder.uri) : []; - let isBICount = 0; // Counter for workspaces with isBI set to true - let isBalCount = 0; // Counter for workspaces with Ballerina project - - // Check each workspace folder's configuration for 'isBI' - for (const uri of workspaceUris) { - const isBallerina = checkIsBallerina(uri); - if (isBallerina) { - isBalCount++; - if (checkIsBI(uri)) { - isBICount++; +/** + * Fetches project information for the current workspace. + * Analyzes the workspace to determine if it's a Ballerina Integrator (BI) project, + * a Ballerina project, and whether it's a multi-root workspace. + * + * @returns A Promise that resolves to ProjectInfo containing: + * - isBI: true if the workspace is a Ballerina Integrator project + * - isBallerina: true if the workspace contains a valid Ballerina project/workspace + * - isBalWorkspace: true if the workspace is a Ballerina workspace with multiple packages + * + * @remarks + * - Returns all false values if no workspace folders exist or multiple workspace folders are present + * - For Ballerina workspaces, filters package paths to ensure they exist within the workspace + */ +export async function fetchProjectInfo(): Promise { + const workspaceFolders = workspace.workspaceFolders; + + if (!workspaceFolders || workspaceFolders.length > 1) { + return { isBI: false, isBallerina: false, isBalWorkspace: false }; + } + + const workspaceUri = workspaceFolders[0].uri; + const isBallerinaWorkspace = checkIsBallerinaWorkspace(workspaceUri); + + if (isBallerinaWorkspace) { + const workspaceTomlValues = await getWorkspaceTomlValues(workspaceUri.fsPath); + const packagePaths = workspaceTomlValues.workspace.packages; + + const filteredPackagePaths = filterPackagePaths(packagePaths, workspaceUri.fsPath); + + let isBICount = 0; // Counter for workspaces with isBI set to true + let isBalCount = 0; // Counter for workspaces with Ballerina project + + for (const pkgPath of filteredPackagePaths) { + let packagePath = path.join(workspaceUri.fsPath, pkgPath); + if (pkgPath.startsWith('/')) { + packagePath = path.resolve(pkgPath); + } + const isBallerina = checkIsBallerinaPackage(Uri.file(packagePath)); + if (isBallerina) { + isBalCount++; + if (checkIsBI(Uri.file(packagePath))) { + isBICount++; + } } } + + return { + isBI: isBICount > 0, + isBallerina: isBalCount > 0, + isBalWorkspace: true + }; } return { - isBI: isBICount > 0, - isBallerina: isBalCount > 0, - isMultiRoot: isBalCount > 1 // Set to true only if more than one workspace has a Ballerina project + isBI: checkIsBI(workspaceUri), + isBallerina: checkIsBallerinaPackage(workspaceUri), + isBalWorkspace: false }; } @@ -73,7 +113,100 @@ export function checkIsBI(uri: Uri): boolean { return false; // Return false if isBI is not set } -export function checkIsBallerina(uri: Uri): boolean { +/** + * Checks if the given URI represents a Ballerina package directory. + * A directory is considered a Ballerina package if it contains a Ballerina.toml file + * with a [package] section. + * + * @param uri - The URI of the directory to check + * @returns true if the directory is a valid Ballerina package, false otherwise + */ +export function checkIsBallerinaPackage(uri: Uri): boolean { const ballerinaTomlPath = path.join(uri.fsPath, 'Ballerina.toml'); - return fs.existsSync(ballerinaTomlPath); + + // First check if the file exists + if (!fs.existsSync(ballerinaTomlPath)) { + return false; + } + + try { + // Read the file content and check for [package] section + const tomlContent = fs.readFileSync(ballerinaTomlPath, 'utf8'); + const packageSectionRegex = /\[package\]/; + return packageSectionRegex.test(tomlContent); + } catch (error) { + // If there's an error reading the file, it's not a valid Ballerina project + console.error(`Error reading package Ballerina.toml: ${error}`); + return false; + } +} + +/** + * Checks if the given URI represents a Ballerina workspace directory. + * A directory is considered a Ballerina workspace if it contains a Ballerina.toml file + * with a [workspace] section. + * + * @param uri - The URI of the directory to check + * @returns true if the directory is a valid Ballerina workspace, false otherwise + */ +export function checkIsBallerinaWorkspace(uri: Uri): boolean { + const ballerinaTomlPath = path.join(uri.fsPath, 'Ballerina.toml'); + + // First check if the file exists + if (!fs.existsSync(ballerinaTomlPath)) { + return false; + } + + try { + // Read the file content and check for [workspace] section + const tomlContent = fs.readFileSync(ballerinaTomlPath, 'utf8'); + const workspaceSectionRegex = /\[workspace\]/; + return workspaceSectionRegex.test(tomlContent); + } catch (error) { + // If there's an error reading the file, it's not a valid Ballerina workspace + console.error(`Error reading workspace Ballerina.toml: ${error}`); + return false; + } +} + +/** + * Reads and parses the Ballerina.toml file from the given workspace path. + * + * @param workspacePath - The file system path to the workspace directory + * @returns A Promise that resolves to the parsed TOML values if successful, + * or undefined if the file doesn't exist or parsing fails + */ +export async function getWorkspaceTomlValues(workspacePath: string): Promise { + const ballerinaTomlPath = path.join(workspacePath, 'Ballerina.toml'); + if (fs.existsSync(ballerinaTomlPath)) { + const tomlContent = await fs.promises.readFile(ballerinaTomlPath, 'utf-8'); + try { + return parse(tomlContent); + } catch (error) { + console.error("Failed to load Ballerina.toml content for workspace at path: ", workspacePath, error); + return; + } + } +} + +/** + * Filters package paths to only include valid paths. + * - Keeps all relative paths (as they are implicitly within the workspace) + * - For absolute paths, only keeps them if they exist AND are within the workspace + * + * @param packagePaths Array of package paths (relative or absolute) + * @param workspacePath Absolute path to the workspace root + * @returns Filtered array of valid package paths + */ +function filterPackagePaths(packagePaths: string[], workspacePath: string): string[] { + return packagePaths.filter(pkgPath => { + if (pkgPath.startsWith('/')) { + // Check if the absolute path exists AND is within the workspace + const resolvedPath = path.resolve(pkgPath); + const resolvedWorkspacePath = path.resolve(workspacePath); + return fs.existsSync(resolvedPath) && resolvedPath.startsWith(resolvedWorkspacePath); + } + // Keep relative paths as they are + return true; + }); } From 6d6b59d6af2cb77a7d707f7629534a7c9b88bc20 Mon Sep 17 00:00:00 2001 From: madushajg Date: Tue, 21 Oct 2025 11:57:26 +0530 Subject: [PATCH 016/491] Add missing import --- workspaces/ballerina/ballerina-extension/package.json | 8 ++++---- .../ballerina-extension/src/rpc-managers/common/utils.ts | 1 + workspaces/choreo/choreo-extension/package.json | 2 +- workspaces/mi/mi-extension/package.json | 4 ++-- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/workspaces/ballerina/ballerina-extension/package.json b/workspaces/ballerina/ballerina-extension/package.json index 13f53d827ba..e72a01a8013 100644 --- a/workspaces/ballerina/ballerina-extension/package.json +++ b/workspaces/ballerina/ballerina-extension/package.json @@ -965,21 +965,21 @@ "description": "design-view", "default": { "fontPath": "./resources/font-wso2-vscode/dist/wso2-vscode.woff", - "fontCharacter": "\\f180" + "fontCharacter": "\\f182" } }, "distro-start": { "description": "start", "default": { "fontPath": "./resources/font-wso2-vscode/dist/wso2-vscode.woff", - "fontCharacter": "\\f1f5" + "fontCharacter": "\\f1f7" } }, "distro-debug": { "description": "debug", "default": { "fontPath": "./resources/font-wso2-vscode/dist/wso2-vscode.woff", - "fontCharacter": "\\f17b" + "fontCharacter": "\\f17d" } }, "distro-source-view": { @@ -993,7 +993,7 @@ "description": "persist-diagram", "default": { "fontPath": "./resources/font-wso2-vscode/dist/wso2-vscode.woff", - "fontCharacter": "\\f1d0" + "fontCharacter": "\\f1d2" } }, "distro-cached-rounded": { diff --git a/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/utils.ts b/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/utils.ts index e8a8388dffe..81c1d326d1f 100644 --- a/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/utils.ts +++ b/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/utils.ts @@ -16,6 +16,7 @@ * under the License. */ +import * as os from 'os'; import * as fs from 'fs'; import path from "path"; import { NodePosition } from "@wso2/syntax-tree"; diff --git a/workspaces/choreo/choreo-extension/package.json b/workspaces/choreo/choreo-extension/package.json index 7ebb0206ea2..122bdbcae0e 100644 --- a/workspaces/choreo/choreo-extension/package.json +++ b/workspaces/choreo/choreo-extension/package.json @@ -158,7 +158,7 @@ "description": "choreo-2", "default": { "fontPath": "./resources/font-wso2-vscode/dist/wso2-vscode.woff", - "fontCharacter": "\\f166" + "fontCharacter": "\\f168" } } } diff --git a/workspaces/mi/mi-extension/package.json b/workspaces/mi/mi-extension/package.json index 346a9caf352..3630bc3a074 100644 --- a/workspaces/mi/mi-extension/package.json +++ b/workspaces/mi/mi-extension/package.json @@ -931,14 +931,14 @@ "description": "design-view", "default": { "fontPath": "./resources/font-wso2-vscode/dist/wso2-vscode.woff", - "fontCharacter": "\\f180" + "fontCharacter": "\\f182" } }, "distro-build-package": { "description": "build-package", "default": { "fontPath": "./resources/font-wso2-vscode/dist/wso2-vscode.woff", - "fontCharacter": "\\f15b" + "fontCharacter": "\\f15d" } } } From 4e3c335560ba6988bb18b986ea66083c3544b937 Mon Sep 17 00:00:00 2001 From: madushajg Date: Tue, 21 Oct 2025 22:38:37 +0530 Subject: [PATCH 017/491] Update package filtering logic to ensure only valid Ballerina packages are included --- .../src/rpc-managers/common/utils.ts | 15 +++- .../ballerina-extension/src/stateMachine.ts | 23 ++++-- .../ballerina-extension/src/utils/config.ts | 77 +++++++------------ workspaces/bi/bi-extension/src/utils.ts | 30 +++++--- 4 files changed, 74 insertions(+), 71 deletions(-) diff --git a/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/utils.ts b/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/utils.ts index 81c1d326d1f..c17da93d6f2 100644 --- a/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/utils.ts +++ b/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/utils.ts @@ -21,7 +21,7 @@ import * as fs from 'fs'; import path from "path"; import { NodePosition } from "@wso2/syntax-tree"; import { Position, Range, Uri, window, workspace, WorkspaceEdit } from "vscode"; -import { TextEdit, PackageTomlValues } from "@wso2/ballerina-core"; +import { TextEdit, PackageTomlValues, WorkspaceTomlValues } from "@wso2/ballerina-core"; import { parse } from "toml"; export const BALLERINA_INTEGRATOR_ISSUES_URL = "https://github.com/wso2/product-ballerina-integrator/issues"; @@ -127,3 +127,16 @@ export async function getProjectTomlValues(projectPath: string): Promise { + const ballerinaTomlPath = path.join(workspacePath, 'Ballerina.toml'); + if (fs.existsSync(ballerinaTomlPath)) { + const tomlContent = await fs.promises.readFile(ballerinaTomlPath, 'utf-8'); + try { + return parse(tomlContent); + } catch (error) { + console.error("Failed to load Ballerina.toml content for workspace at path: ", workspacePath, error); + return; + } + } +} diff --git a/workspaces/ballerina/ballerina-extension/src/stateMachine.ts b/workspaces/ballerina/ballerina-extension/src/stateMachine.ts index f97909669ec..40957571e28 100644 --- a/workspaces/ballerina/ballerina-extension/src/stateMachine.ts +++ b/workspaces/ballerina/ballerina-extension/src/stateMachine.ts @@ -9,13 +9,12 @@ import { commands, extensions, ShellExecution, Task, TaskDefinition, tasks, Uri, import { notifyCurrentWebview, RPCLayer } from './RPCLayer'; import { generateUid, getComponentIdentifier, getNodeByIndex, getNodeByName, getNodeByUid, getView } from './utils/state-machine-utils'; import * as path from 'path'; -import * as fs from 'fs'; import { extension } from './BalExtensionContext'; -import { BiDiagramRpcManager } from './rpc-managers/bi-diagram/rpc-manager'; import { AIStateMachine } from './views/ai-panel/aiMachine'; import { StateMachinePopup } from './stateMachinePopup'; -import { checkIsBallerinaPackage, checkIsBallerinaWorkspace, checkIsBI, fetchScope, getFirstWorkspacePackageName, getOrgPackageName, getWorkspacePackageNames, UndoRedoManager } from './utils'; +import { checkIsBallerinaPackage, checkIsBallerinaWorkspace, checkIsBI, fetchScope, filterPackagePaths, getOrgPackageName, UndoRedoManager } from './utils'; import { buildProjectArtifactsStructure } from './utils/project-artifacts'; +import { getWorkspaceTomlValues } from './rpc-managers/common/utils'; export interface ProjectMetadata { readonly isBI: boolean; @@ -778,17 +777,25 @@ async function handleSingleWorkspaceFolder(workspaceURI: Uri): Promise { + if (path.isAbsolute(pkgPath)) { + const resolvedPath = path.resolve(pkgPath); + const resolvedWorkspacePath = path.resolve(workspacePath); + if (fs.existsSync(resolvedPath) && resolvedPath.startsWith(resolvedWorkspacePath)) { + return checkIsBallerinaPackage(Uri.file(resolvedPath)); + } } - - // Extract all package names from the array content - const arrayContent = match[1]; - const packageNameRegex = /"([^"]+)"/g; - const packageNames: string[] = []; - let packageMatch; - - while ((packageMatch = packageNameRegex.exec(arrayContent)) !== null) { - packageNames.push(packageMatch[1]); + const resolvedPath = path.resolve(workspacePath, pkgPath); + if (fs.existsSync(resolvedPath) && resolvedPath.startsWith(workspacePath)) { + return checkIsBallerinaPackage(Uri.file(resolvedPath)); } - - return packageNames.length > 0 ? packageNames : null; - } catch (error) { - // If there's an error reading the file, return null - console.error(`Error reading workspace Ballerina.toml: ${error}`); - return null; - } -} - - -export function getFirstWorkspacePackageName(uri: Uri): string | null { - const ballerinaTomlPath = path.join(uri.fsPath, 'Ballerina.toml'); - - try { - // Read the file content - const tomlContent = fs.readFileSync(ballerinaTomlPath, 'utf8'); - - // Regular expression to match packages array in [workspace] section - // This matches: packages = ["package1", "package2", ...] - const packagesRegex = /packages\s*=\s*\[\s*"([^"]+)"/; - const match = tomlContent.match(packagesRegex); - - return match?.[1] || null; - } catch (error) { - // If there's an error reading the file, return null - console.error(`Error reading workspace Ballerina.toml: ${error}`); - return null; - } + return false; + }); } export function getOrgPackageName(projectPath: string): { orgName: string, packageName: string } { diff --git a/workspaces/bi/bi-extension/src/utils.ts b/workspaces/bi/bi-extension/src/utils.ts index f6d746249f6..ac8f5786feb 100644 --- a/workspaces/bi/bi-extension/src/utils.ts +++ b/workspaces/bi/bi-extension/src/utils.ts @@ -71,7 +71,7 @@ export async function fetchProjectInfo(): Promise { for (const pkgPath of filteredPackagePaths) { let packagePath = path.join(workspaceUri.fsPath, pkgPath); - if (pkgPath.startsWith('/')) { + if (path.isAbsolute(pkgPath)) { packagePath = path.resolve(pkgPath); } const isBallerina = checkIsBallerinaPackage(Uri.file(packagePath)); @@ -190,23 +190,31 @@ export async function getWorkspaceTomlValues(workspacePath: string): Promise { - if (pkgPath.startsWith('/')) { - // Check if the absolute path exists AND is within the workspace + if (path.isAbsolute(pkgPath)) { const resolvedPath = path.resolve(pkgPath); const resolvedWorkspacePath = path.resolve(workspacePath); - return fs.existsSync(resolvedPath) && resolvedPath.startsWith(resolvedWorkspacePath); + if (fs.existsSync(resolvedPath) && resolvedPath.startsWith(resolvedWorkspacePath)) { + return checkIsBallerinaPackage(Uri.file(resolvedPath)); + } } - // Keep relative paths as they are - return true; + const resolvedPath = path.resolve(workspacePath, pkgPath); + if (fs.existsSync(resolvedPath) && resolvedPath.startsWith(workspacePath)) { + return checkIsBallerinaPackage(Uri.file(resolvedPath)); + } + return false; }); } From 32e217b149e7476bf732ed6ab7260c8094ac4cdc Mon Sep 17 00:00:00 2001 From: madushajg Date: Wed, 22 Oct 2025 16:20:17 +0530 Subject: [PATCH 018/491] Refactor project path handling in AI panel RPC manager and state machine. Update package selection logic to accommodate multi-project workspaces. --- .../src/features/bi/activator.ts | 1 + .../src/rpc-managers/ai-panel/rpc-manager.ts | 56 +++++-------------- .../rpc-managers/bi-diagram/rpc-manager.ts | 1 - .../src/rpc-managers/common/rpc-manager.ts | 4 +- .../src/rpc-managers/common/utils.ts | 26 --------- .../ballerina-extension/src/stateMachine.ts | 32 ++++++----- .../ballerina-extension/src/utils/bi.ts | 2 +- .../ballerina-extension/src/utils/config.ts | 29 +++++++++- 8 files changed, 66 insertions(+), 85 deletions(-) diff --git a/workspaces/ballerina/ballerina-extension/src/features/bi/activator.ts b/workspaces/ballerina/ballerina-extension/src/features/bi/activator.ts index 05bfc3e0230..33f4afddde6 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/bi/activator.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/bi/activator.ts @@ -103,6 +103,7 @@ export function activate(context: BallerinaExtension) { commands.registerCommand(BI_COMMANDS.SWITCH_PROJECT, async () => { // Hack to switch the project. This will reload the window and prompt the user to select the project. // This is a temporary solution until we provide the support for multi root workspaces. + // Ref: https://github.com/wso2/product-ballerina-integrator/issues/1465 StateMachine.sendEvent("SWITCH_PROJECT" as any); }); diff --git a/workspaces/ballerina/ballerina-extension/src/rpc-managers/ai-panel/rpc-manager.ts b/workspaces/ballerina/ballerina-extension/src/rpc-managers/ai-panel/rpc-manager.ts index cb758502aa5..7d197f31ca1 100644 --- a/workspaces/ballerina/ballerina-extension/src/rpc-managers/ai-panel/rpc-manager.ts +++ b/workspaces/ballerina/ballerina-extension/src/rpc-managers/ai-panel/rpc-manager.ts @@ -187,21 +187,15 @@ export class AiPanelRpcManager implements AIPanelAPI { } async addToProject(req: AddToProjectRequest): Promise { - // TODO: Ensure this is working for multi-project workspaces. - const workspaceFolders = workspace.workspaceFolders; - if (!workspaceFolders) { - throw new Error("No workspaces found."); - } - - const workspaceFolderPath = workspaceFolders[0].uri.fsPath; + const projectPath = StateMachine.context().projectPath; // Check if workspaceFolderPath is a Ballerina project // Assuming a Ballerina project must contain a 'Ballerina.toml' file - const ballerinaProjectFile = path.join(workspaceFolderPath, 'Ballerina.toml'); + const ballerinaProjectFile = path.join(projectPath, 'Ballerina.toml'); if (!fs.existsSync(ballerinaProjectFile)) { throw new Error("Not a Ballerina project."); } - let balFilePath = path.join(workspaceFolderPath, req.filePath); + let balFilePath = path.join(projectPath, req.filePath); const directory = path.dirname(balFilePath); if (!fs.existsSync(directory)) { @@ -217,36 +211,26 @@ export class AiPanelRpcManager implements AIPanelAPI { async getFromFile(req: GetFromFileRequest): Promise { return new Promise(async (resolve) => { - const workspaceFolders = workspace.workspaceFolders; - if (!workspaceFolders) { - throw new Error("No workspaces found."); - } - - const workspaceFolderPath = workspaceFolders[0].uri.fsPath; - const ballerinaProjectFile = path.join(workspaceFolderPath, 'Ballerina.toml'); + const projectPath = StateMachine.context().projectPath; + const ballerinaProjectFile = path.join(projectPath, 'Ballerina.toml'); if (!fs.existsSync(ballerinaProjectFile)) { throw new Error("Not a Ballerina project."); } - const balFilePath = path.join(workspaceFolderPath, req.filePath); + const balFilePath = path.join(projectPath, req.filePath); const content = fs.promises.readFile(balFilePath, 'utf-8'); resolve(content); }); } async deleteFromProject(req: DeleteFromProjectRequest): Promise { - const workspaceFolders = workspace.workspaceFolders; - if (!workspaceFolders) { - throw new Error("No workspaces found."); - } - - const workspaceFolderPath = workspaceFolders[0].uri.fsPath; - const ballerinaProjectFile = path.join(workspaceFolderPath, 'Ballerina.toml'); + const projectPath = StateMachine.context().projectPath; + const ballerinaProjectFile = path.join(projectPath, 'Ballerina.toml'); if (!fs.existsSync(ballerinaProjectFile)) { throw new Error("Not a Ballerina project."); } - const balFilePath = path.join(workspaceFolderPath, req.filePath); + const balFilePath = path.join(projectPath, req.filePath); if (fs.existsSync(balFilePath)) { try { fs.unlinkSync(balFilePath); @@ -262,18 +246,13 @@ export class AiPanelRpcManager implements AIPanelAPI { } async getFileExists(req: GetFromFileRequest): Promise { - const workspaceFolders = workspace.workspaceFolders; - if (!workspaceFolders) { - throw new Error("No workspaces found."); - } - - const workspaceFolderPath = workspaceFolders[0].uri.fsPath; - const ballerinaProjectFile = path.join(workspaceFolderPath, 'Ballerina.toml'); + const projectPath = StateMachine.context().projectPath; + const ballerinaProjectFile = path.join(projectPath, 'Ballerina.toml'); if (!fs.existsSync(ballerinaProjectFile)) { throw new Error("Not a Ballerina project."); } - const balFilePath = path.join(workspaceFolderPath, req.filePath); + const balFilePath = path.join(projectPath, req.filePath); if (fs.existsSync(balFilePath)) { return true; } @@ -675,18 +654,13 @@ export class AiPanelRpcManager implements AIPanelAPI { async addFilesToProject(params: AddFilesToProjectRequest): Promise { try { - const workspaceFolders = workspace.workspaceFolders; - if (!workspaceFolders) { - throw new Error("No workspaces found."); - } - - const workspaceFolderPath = workspaceFolders[0].uri.fsPath; + const projectPath = StateMachine.context().projectPath; - const ballerinaProjectFile = path.join(workspaceFolderPath, "Ballerina.toml"); + const ballerinaProjectFile = path.join(projectPath, "Ballerina.toml"); if (!fs.existsSync(ballerinaProjectFile)) { throw new Error("Not a Ballerina project."); } - await addToIntegration(workspaceFolderPath, params.fileChanges); + await addToIntegration(projectPath, params.fileChanges); updateView(); return true; } catch (error) { diff --git a/workspaces/ballerina/ballerina-extension/src/rpc-managers/bi-diagram/rpc-manager.ts b/workspaces/ballerina/ballerina-extension/src/rpc-managers/bi-diagram/rpc-manager.ts index 3341518eb2d..3de77d0e98e 100644 --- a/workspaces/ballerina/ballerina-extension/src/rpc-managers/bi-diagram/rpc-manager.ts +++ b/workspaces/ballerina/ballerina-extension/src/rpc-managers/bi-diagram/rpc-manager.ts @@ -1957,7 +1957,6 @@ export class BiDiagramRpcManager implements BIDiagramAPI { export function getRepoRoot(projectRoot: string): string | undefined { // traverse up the directory tree until .git directory is found - // TODO: Evaluate this with multi-project workspaces. const gitDir = path.join(projectRoot, ".git"); if (fs.existsSync(gitDir)) { return projectRoot; diff --git a/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-manager.ts b/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-manager.ts index 6825fdf84df..91a55e75f65 100644 --- a/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-manager.ts +++ b/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-manager.ts @@ -46,8 +46,8 @@ import { Uri, commands, env, window, workspace, MarkdownString } from "vscode"; import { URI } from "vscode-uri"; import { extension } from "../../BalExtensionContext"; import { StateMachine } from "../../stateMachine"; -import { checkIsBallerinaWorkspace, goToSource } from "../../utils"; -import { askFileOrFolderPath, askFilePath, askProjectPath, BALLERINA_INTEGRATOR_ISSUES_URL, getProjectTomlValues, getUpdatedSource } from "./utils"; +import { checkIsBallerinaWorkspace, getProjectTomlValues, goToSource } from "../../utils"; +import { askFileOrFolderPath, askFilePath, askProjectPath, BALLERINA_INTEGRATOR_ISSUES_URL, getUpdatedSource } from "./utils"; import path from "path"; export class CommonRpcManager implements CommonRPCAPI { diff --git a/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/utils.ts b/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/utils.ts index c17da93d6f2..3080f926014 100644 --- a/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/utils.ts +++ b/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/utils.ts @@ -114,29 +114,3 @@ export async function applyBallerinaTomlEdit(tomlPath: Uri, textEdit: TextEdit) } }); } - -export async function getProjectTomlValues(projectPath: string): Promise { - const ballerinaTomlPath = path.join(projectPath, 'Ballerina.toml'); - if (fs.existsSync(ballerinaTomlPath)) { - const tomlContent = await fs.promises.readFile(ballerinaTomlPath, 'utf-8'); - try { - return parse(tomlContent); - } catch (error) { - console.error("Failed to load Ballerina.toml content for project at path: ", projectPath, error); - return; - } - } -} - -export async function getWorkspaceTomlValues(workspacePath: string): Promise { - const ballerinaTomlPath = path.join(workspacePath, 'Ballerina.toml'); - if (fs.existsSync(ballerinaTomlPath)) { - const tomlContent = await fs.promises.readFile(ballerinaTomlPath, 'utf-8'); - try { - return parse(tomlContent); - } catch (error) { - console.error("Failed to load Ballerina.toml content for workspace at path: ", workspacePath, error); - return; - } - } -} diff --git a/workspaces/ballerina/ballerina-extension/src/stateMachine.ts b/workspaces/ballerina/ballerina-extension/src/stateMachine.ts index 40957571e28..c22c72aa6a6 100644 --- a/workspaces/ballerina/ballerina-extension/src/stateMachine.ts +++ b/workspaces/ballerina/ballerina-extension/src/stateMachine.ts @@ -12,9 +12,8 @@ import * as path from 'path'; import { extension } from './BalExtensionContext'; import { AIStateMachine } from './views/ai-panel/aiMachine'; import { StateMachinePopup } from './stateMachinePopup'; -import { checkIsBallerinaPackage, checkIsBallerinaWorkspace, checkIsBI, fetchScope, filterPackagePaths, getOrgPackageName, UndoRedoManager } from './utils'; +import { checkIsBallerinaPackage, checkIsBallerinaWorkspace, checkIsBI, fetchScope, filterPackagePaths, getOrgPackageName, UndoRedoManager, getProjectTomlValues, getWorkspaceTomlValues } from './utils'; import { buildProjectArtifactsStructure } from './utils/project-artifacts'; -import { getWorkspaceTomlValues } from './rpc-managers/common/utils'; export interface ProjectMetadata { readonly isBI: boolean; @@ -459,19 +458,21 @@ const stateMachine = createMachine( }, findView(context, event): Promise { return new Promise(async (resolve, reject) => { + const projectTomlValues = await getProjectTomlValues(context.projectPath); + const packageName = projectTomlValues?.package?.name; if (!context.view && context.langClient) { if (!context.position || ("groupId" in context.position)) { history.push({ location: { view: MACHINE_VIEW.Overview, documentUri: context.documentUri, - package: context.package + package: packageName || context.package } }); return resolve(); } const view = await getView(context.documentUri, context.position, context?.projectPath); - view.location.package = context.package; + view.location.package = packageName || context.package; history.push(view); return resolve(); } else { @@ -481,7 +482,7 @@ const stateMachine = createMachine( documentUri: context.documentUri, position: context.position, identifier: context.identifier, - package: context.package, + package: packageName || context.package, type: context?.type, isGraphql: context?.isGraphql, addType: context?.addType, @@ -788,17 +789,22 @@ async function handleSingleWorkspaceFolder(workspaceURI: Uri): Promise 1) { + targetPackage = await window.showQuickPick(packages, { + title: 'Select Package for WSO2 Integrator: BI', + placeHolder: 'Choose a package from your workspace to load in BI mode', + ignoreFocusOut: true + }); + } else if (packages.length === 1) { + targetPackage = packages[0]; + } if (targetPackage) { - const packagePath = path.join(workspaceURI.fsPath, targetPackage); + const packagePath = path.isAbsolute(targetPackage) + ? targetPackage + : path.join(workspaceURI.fsPath, targetPackage); const packageUri = Uri.file(packagePath); const isBallerinaPackage = checkIsBallerinaPackage(packageUri); diff --git a/workspaces/ballerina/ballerina-extension/src/utils/bi.ts b/workspaces/ballerina/ballerina-extension/src/utils/bi.ts index b2e5cc88d62..8d0bcdb3714 100644 --- a/workspaces/ballerina/ballerina-extension/src/utils/bi.ts +++ b/workspaces/ballerina/ballerina-extension/src/utils/bi.ts @@ -28,7 +28,7 @@ import { URI } from "vscode-uri"; import { debug } from "./logger"; import { parse } from "toml"; import { buildProjectArtifactsStructure } from "./project-artifacts"; -import { getProjectTomlValues } from "../rpc-managers/common/utils"; +import { getProjectTomlValues } from "./config"; export const README_FILE = "readme.md"; export const FUNCTIONS_FILE = "functions.bal"; diff --git a/workspaces/ballerina/ballerina-extension/src/utils/config.ts b/workspaces/ballerina/ballerina-extension/src/utils/config.ts index 3767f87e0cc..3f13725d2e5 100644 --- a/workspaces/ballerina/ballerina-extension/src/utils/config.ts +++ b/workspaces/ballerina/ballerina-extension/src/utils/config.ts @@ -16,11 +16,12 @@ * under the License. */ -import { SCOPE } from '@wso2/ballerina-core'; +import { PackageTomlValues, SCOPE, WorkspaceTomlValues } from '@wso2/ballerina-core'; import { BallerinaExtension } from '../core'; import { WorkspaceConfiguration, workspace, Uri } from 'vscode'; import * as fs from 'fs'; import * as path from 'path'; +import { parse } from 'toml'; export enum VERSION { BETA = 'beta', @@ -221,6 +222,32 @@ export function getOrgPackageName(projectPath: string): { orgName: string, packa } } +export async function getProjectTomlValues(projectPath: string): Promise { + const ballerinaTomlPath = path.join(projectPath, 'Ballerina.toml'); + if (fs.existsSync(ballerinaTomlPath)) { + const tomlContent = await fs.promises.readFile(ballerinaTomlPath, 'utf-8'); + try { + return parse(tomlContent); + } catch (error) { + console.error("Failed to load Ballerina.toml content for project at path: ", projectPath, error); + return; + } + } +} + +export async function getWorkspaceTomlValues(workspacePath: string): Promise { + const ballerinaTomlPath = path.join(workspacePath, 'Ballerina.toml'); + if (fs.existsSync(ballerinaTomlPath)) { + const tomlContent = await fs.promises.readFile(ballerinaTomlPath, 'utf-8'); + try { + return parse(tomlContent); + } catch (error) { + console.error("Failed to load Ballerina.toml content for workspace at path: ", workspacePath, error); + return; + } + } +} + export function fetchScope(uri: Uri): SCOPE { const config = workspace.getConfiguration('ballerina', uri); const inspected = config.inspect('scope'); From e9d7a38104fd1d2fa611ad235d7915bf9e5a68d6 Mon Sep 17 00:00:00 2001 From: NipunaRanasinghe Date: Wed, 22 Oct 2025 21:05:37 +0530 Subject: [PATCH 019/491] Fix fast-run to work with workspace projects --- .../src/features/debugger/config-provider.ts | 37 +++++++++++-------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts b/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts index 9839d621303..1ed99c5de9c 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts @@ -484,7 +484,7 @@ class BallerinaDebugAdapterTrackerFactory implements DebugAdapterTrackerFactory notifyBreakpointChange(); // restart the fast-run - getCurrentRoot().then(async (root) => { + getCurrentProjectRoot().then(async (root) => { const didStop = await stopRunFast(root); if (didStop) { runFast(root, msg.body); @@ -570,7 +570,7 @@ class BallerinaDebugAdapterDescriptorFactory implements DebugAdapterDescriptorFa async createDebugAdapterDescriptor(session: DebugSession, executable: DebugAdapterExecutable | undefined): Promise { // Check if the project contains errors(and fix the possible ones) before starting the debug session const langClient = extension.ballerinaExtInstance.langClient; - const projectRoot = await getCurrentRoot(); + const projectRoot = await getCurrentProjectRoot(); await cleanAndValidateProject(langClient, projectRoot); // Check if config generation is required before starting the debug session @@ -665,7 +665,7 @@ class FastRunDebugAdapter extends LoggingDebugSession { }); this.notificationHandler = notificationHandler; this.programArgs = (args as any).programArgs; - getCurrentRoot().then((root) => { + getCurrentProjectRoot().then((root) => { this.root = root; runFast(root, { programArgs: this.programArgs }).then((didRan) => { response.success = didRan; @@ -790,7 +790,14 @@ async function stopRunFast(root: string): Promise { }); } -async function getCurrentRoot(): Promise { +async function getCurrentProjectRoot(): Promise { + // 1. Check if the project path is already set in the state machine context + let currentProjectRoot = StateMachine.context().projectPath; + if (currentProjectRoot) { + return currentProjectRoot; + } + + // 2. Try to get the any open Ballerina files in the editor and determine the project root from there let file: string | undefined; try { file = getCurrentBallerinaFile(); @@ -798,19 +805,19 @@ async function getCurrentRoot(): Promise { // ignore } - // If no Ballerina files are open, safe to assume that the workspace root is same as the package root in BI mode. - if (!file) { - const workspaceRoot = getWorkspaceRoot(); - if (!workspaceRoot && StateMachine.context().isBI) { - throw new Error("Unable to determine the current workspace root."); - } - if (isBallerinaProject(workspaceRoot)) { - return workspaceRoot; - } + if (file) { + const currentProject = await getCurrentBallerinaProject(file); + return (currentProject.kind !== PROJECT_TYPE.SINGLE_FILE) ? currentProject.path! : file; } - const currentProject = await getCurrentBallerinaProject(file); - return (currentProject.kind !== PROJECT_TYPE.SINGLE_FILE) ? currentProject.path! : file; + // 3. Fallback to workspace root + const workspaceRoot = getWorkspaceRoot(); + if (!workspaceRoot && StateMachine.context().isBI) { + throw new Error("Unable to determine the current workspace root."); + } + if (isBallerinaProject(workspaceRoot)) { + return workspaceRoot; + } } function getJavaCommand(): string { From 5634d8267fe4617666a2690c0d89b5a1db9ec106 Mon Sep 17 00:00:00 2001 From: madushajg Date: Thu, 23 Oct 2025 19:14:55 +0530 Subject: [PATCH 020/491] Refactor Ballerina workspace handling to use async functions for checking workspace and package validity. Update related logic in state machine and AI utilities for improved performance and accuracy. --- .../ballerina-extension/src/core/extension.ts | 16 ++-- .../src/features/ai/testGenerator.ts | 39 ++-------- .../src/features/ai/utils.ts | 37 +--------- .../src/features/natural-programming/utils.ts | 19 +---- .../src/features/project/cmds/cmd-runner.ts | 1 - .../src/rpc-managers/common/rpc-manager.ts | 2 +- .../ballerina-extension/src/stateMachine.ts | 4 +- .../ballerina-extension/src/utils/bi.ts | 74 ------------------- .../ballerina-extension/src/utils/config.ts | 24 +++--- .../src/utils/file-utils.ts | 25 +++++-- .../src/utils/project-artifacts.ts | 15 ++-- .../views/persist-layer-diagram/activator.ts | 23 +++--- 12 files changed, 63 insertions(+), 216 deletions(-) diff --git a/workspaces/ballerina/ballerina-extension/src/core/extension.ts b/workspaces/ballerina/ballerina-extension/src/core/extension.ts index e8de14a22a0..1ef2d9d86e0 100644 --- a/workspaces/ballerina/ballerina-extension/src/core/extension.ts +++ b/workspaces/ballerina/ballerina-extension/src/core/extension.ts @@ -2346,13 +2346,15 @@ export class BallerinaExtension { public setPersistStatusContext(textEditor: TextEditor) { if (textEditor?.document) { const fileUri: Uri = textEditor.document.uri; - if (checkIsPersistModelFile(fileUri)) { - this.isPersist = true; - commands.executeCommand('setContext', 'isPersistModelActive', true); - return; - } else { - this.isPersist = false; - } + checkIsPersistModelFile(fileUri).then(isPersistModelFile => { + if (isPersistModelFile) { + this.isPersist = true; + commands.executeCommand('setContext', 'isPersistModelActive', true); + return; + } else { + this.isPersist = false; + } + }); } commands.executeCommand('setContext', 'isPersistModelActive', false); } diff --git a/workspaces/ballerina/ballerina-extension/src/features/ai/testGenerator.ts b/workspaces/ballerina/ballerina-extension/src/features/ai/testGenerator.ts index 059ee5c5a12..89e5f6af3dd 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/ai/testGenerator.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/ai/testGenerator.ts @@ -19,7 +19,7 @@ import { DiagnosticEntry, Diagnostics, OpenAPISpec, ProjectDiagnostics, ProjectModule, ProjectSource, SyntaxTree, TestGenerationRequest, TestGenerationResponse, TestGenerationTarget } from '@wso2/ballerina-core'; import { ErrorCode } from "@wso2/ballerina-core"; import { DotToken, IdentifierToken, ModulePart, ResourceAccessorDefinition, ResourcePathRestParam, ResourcePathSegmentParam, ServiceDeclaration, SlashToken, STKindChecker } from "@wso2/syntax-tree"; -import { Uri, workspace } from "vscode"; +import { Uri } from "vscode"; import { PARSING_ERROR, UNKNOWN_ERROR, ENDPOINT_REMOVED } from '../../views/ai-panel/errorCodes'; import { langClient } from './activator'; import * as fs from 'fs'; @@ -28,6 +28,7 @@ import * as os from 'os'; import { writeBallerinaFileDidOpenTemp } from '../../utils/modification'; import { closeAllBallerinaFiles } from './utils'; import { generateTestFromLLM, TestGenerationRequest1 } from './service/test/test'; +import { findBallerinaPackageRoot } from '../../utils'; const TEST_GEN_REQUEST_TIMEOUT = 100000; @@ -222,7 +223,7 @@ export async function getDiagnostics( projectRoot: string, generatedTestSource: TestGenerationResponse ): Promise { - const ballerinaProjectRoot = await findBallerinaProjectRoot(projectRoot); + const ballerinaProjectRoot = await findBallerinaPackageRoot(projectRoot); const tempDir = fs.mkdtempSync(path.join(os.tmpdir(), 'temp-bal-test-gen-')); fs.cpSync(ballerinaProjectRoot, tempDir, { recursive: true }); const tempTestFolderPath = path.join(tempDir, 'tests'); @@ -245,7 +246,7 @@ export async function getDiagnostics( } async function getProjectSource(dirPath: string): Promise { - const projectRoot = await findBallerinaProjectRoot(dirPath); + const projectRoot = await findBallerinaPackageRoot(dirPath); if (!projectRoot) { return null; @@ -298,7 +299,7 @@ async function getProjectSource(dirPath: string): Promise } async function getProjectSourceWithTests(dirPath: string): Promise { - const projectRoot = await findBallerinaProjectRoot(dirPath); + const projectRoot = await findBallerinaPackageRoot(dirPath); if (!projectRoot) { return null; @@ -445,36 +446,6 @@ async function filterTestGenResponse(resp: Response): Promise { - if (dirPath === null) { - return null; - } - - const workspaceFolders = workspace.workspaceFolders; - if (!workspaceFolders) { - return null; - } - - // Check if the directory is within any of the workspace folders - const workspaceFolder = workspaceFolders.find(folder => dirPath.startsWith(folder.uri.fsPath)); - if (!workspaceFolder) { - return null; - } - - let currentDir = dirPath; - - while (currentDir.startsWith(workspaceFolder.uri.fsPath)) { - const ballerinaTomlPath = path.join(currentDir, 'Ballerina.toml'); - if (fs.existsSync(ballerinaTomlPath)) { - return currentDir; - } - currentDir = path.dirname(currentDir); - } - - return null; -} - function isErrorCode(error: any): boolean { return error.hasOwnProperty("code") && error.hasOwnProperty("message"); } diff --git a/workspaces/ballerina/ballerina-extension/src/features/ai/utils.ts b/workspaces/ballerina/ballerina-extension/src/features/ai/utils.ts index 60ba64e058c..618df1917a2 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/ai/utils.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/ai/utils.ts @@ -278,44 +278,13 @@ async function showNoBallerinaSourceWarningMessage() { import { ProjectSource, ProjectModule, OpenAPISpec } from '@wso2/ballerina-core'; import { langClient } from './activator'; - -/** - * Finds the root directory of a Ballerina project by searching for Ballerina.toml - */ -export async function findBallerinaProjectRoot(dirPath: string): Promise { - if (dirPath === null) { - return null; - } - - const workspaceFolders = workspace.workspaceFolders; - if (!workspaceFolders) { - return null; - } - - // Check if the directory is within any of the workspace folders - const workspaceFolder = workspaceFolders.find(folder => dirPath.startsWith(folder.uri.fsPath)); - if (!workspaceFolder) { - return null; - } - - let currentDir = dirPath; - - while (currentDir.startsWith(workspaceFolder.uri.fsPath)) { - const ballerinaTomlPath = path.join(currentDir, 'Ballerina.toml'); - if (fs.existsSync(ballerinaTomlPath)) { - return currentDir; - } - currentDir = path.dirname(currentDir); - } - - return null; -} +import { findBallerinaPackageRoot } from '../../utils'; /** * Gets the project source including all .bal files and modules */ export async function getProjectSource(dirPath: string): Promise { - const projectRoot = await findBallerinaProjectRoot(dirPath); + const projectRoot = await findBallerinaPackageRoot(dirPath); if (!projectRoot) { return null; @@ -371,7 +340,7 @@ export async function getProjectSource(dirPath: string): Promise { - const projectRoot = await findBallerinaProjectRoot(dirPath); + const projectRoot = await findBallerinaPackageRoot(dirPath); if (!projectRoot) { return null; diff --git a/workspaces/ballerina/ballerina-extension/src/features/natural-programming/utils.ts b/workspaces/ballerina/ballerina-extension/src/features/natural-programming/utils.ts index a434477a9cf..f5e731c6063 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/natural-programming/utils.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/natural-programming/utils.ts @@ -39,7 +39,7 @@ import { } from "./constants"; import { isError, isNumber } from 'lodash'; import { HttpStatusCode } from 'axios'; -import { OLD_BACKEND_URL } from '../ai/utils'; +import { isBallerinaProjectAsync, OLD_BACKEND_URL } from '../ai/utils'; import { AIMachineEventType, BallerinaProject, LoginMethod } from '@wso2/ballerina-core'; import { getCurrentBallerinaProjectFromContext } from '../config-generator/configGenerator'; import { BallerinaExtension } from 'src/core'; @@ -723,20 +723,3 @@ export async function addConfigFile(configPath: string, isNaturalFunctionsAvaila } ); } - -async function isBallerinaProjectAsync(rootPath: string): Promise { - try { - if (!fs.existsSync(rootPath)) { - return false; - } - - const files = fs.readdirSync(rootPath); - return files.some(file => - file.toLowerCase() === 'ballerina.toml' || - file.toLowerCase().endsWith('.bal') - ); - } catch (error) { - console.error(`Error checking Ballerina project: ${error}`); - return false; - } -} diff --git a/workspaces/ballerina/ballerina-extension/src/features/project/cmds/cmd-runner.ts b/workspaces/ballerina/ballerina-extension/src/features/project/cmds/cmd-runner.ts index 8dcdc8a3c69..9fd0c8cef8a 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/project/cmds/cmd-runner.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/project/cmds/cmd-runner.ts @@ -90,7 +90,6 @@ export enum MESSAGES { } export const BAL_CONFIG_FILE = 'Config.toml'; -export const BAL_TOML = "Ballerina.toml"; const TERMINAL_NAME = 'Terminal'; const BAL_CONFIG_FILES = 'BAL_CONFIG_FILES'; diff --git a/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-manager.ts b/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-manager.ts index 91a55e75f65..7563ca5731e 100644 --- a/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-manager.ts +++ b/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-manager.ts @@ -254,6 +254,6 @@ export class CommonRpcManager implements CommonRPCAPI { throw new Error("No workspaces found."); } const workspaceFolderPath = workspaceFolders[0].uri.fsPath; - return checkIsBallerinaWorkspace(Uri.file(workspaceFolderPath)); + return await checkIsBallerinaWorkspace(Uri.file(workspaceFolderPath)); } } diff --git a/workspaces/ballerina/ballerina-extension/src/stateMachine.ts b/workspaces/ballerina/ballerina-extension/src/stateMachine.ts index c22c72aa6a6..a3d1b34b987 100644 --- a/workspaces/ballerina/ballerina-extension/src/stateMachine.ts +++ b/workspaces/ballerina/ballerina-extension/src/stateMachine.ts @@ -775,7 +775,7 @@ async function handleMultipleWorkspaceFolders(workspaceFolders: readonly Workspa } async function handleSingleWorkspaceFolder(workspaceURI: Uri): Promise { - const isBallerinaWorkspace = checkIsBallerinaWorkspace(workspaceURI); + const isBallerinaWorkspace = await checkIsBallerinaWorkspace(workspaceURI); if (isBallerinaWorkspace) { // A workaround for supporting multiple packages in a workspace @@ -788,7 +788,7 @@ async function handleSingleWorkspaceFolder(workspaceURI: Uri): Promise 1) { diff --git a/workspaces/ballerina/ballerina-extension/src/utils/bi.ts b/workspaces/ballerina/ballerina-extension/src/utils/bi.ts index 8d0bcdb3714..b50cdd0a9d0 100644 --- a/workspaces/ballerina/ballerina-extension/src/utils/bi.ts +++ b/workspaces/ballerina/ballerina-extension/src/utils/bi.ts @@ -560,77 +560,3 @@ export async function handleFunctionCreation(targetFile: string, params: Compone export function sanitizeName(name: string): string { return name.replace(/[^a-z0-9]_./gi, '_').toLowerCase(); // Replace invalid characters with underscores } - -// ------------------- HACKS TO MANIPULATE PROJECT FILES ----------------> -function hackToUpdateBallerinaToml(filePath: string) { - fs.readFile(filePath, 'utf8', (err, data) => { - if (err) { - console.error(`Error reading Ballerina.toml file: ${err.message}`); - return; - } - - // Append "bi=true" to the Ballerina.toml content - const updatedContent = `${data.trim()}\nbi = true\n`; - - // Write the updated content back to the Ballerina.toml file - fs.writeFile(filePath, updatedContent, 'utf8', (err) => { - if (err) { - console.error(`Error updating Ballerina.toml file: ${err.message}`); - } else { - console.log('Ballerina.toml file updated successfully'); - } - }); - }); -} - -function hackToUpdateService(filePath: string) { - fs.readFile(filePath, 'utf8', (err, data) => { - if (err) { - console.error(`Error reading Ballerina.toml file: ${err.message}`); - return; - } - - // Append "bi=true" to the Ballerina.toml content - const newContent = `import ballerina/http; - - service /hello on new http:Listener(9090) { - resource function get greeting(string name) returns string|error { - - } - } - `; - - // Write the updated content back to the Ballerina.toml file - fs.writeFile(filePath, newContent, 'utf8', (err) => { - if (err) { - console.error(`Error updating Ballerina.toml file: ${err.message}`); - } else { - console.log('Ballerina.toml file updated successfully'); - } - }); - }); -} - -function hackToUpdateMain(filePath: string) { - fs.readFile(filePath, 'utf8', (err, data) => { - if (err) { - console.error(`Error reading Ballerina.toml file: ${err.message}`); - return; - } - - // Append "bi=true" to the Ballerina.toml content - const newContent = `public function main() { - - } - `; - - // Write the updated content back to the Ballerina.toml file - fs.writeFile(filePath, newContent, 'utf8', (err) => { - if (err) { - console.error(`Error updating Ballerina.toml file: ${err.message}`); - } else { - console.log('Ballerina.toml file updated successfully'); - } - }); - }); -} diff --git a/workspaces/ballerina/ballerina-extension/src/utils/config.ts b/workspaces/ballerina/ballerina-extension/src/utils/config.ts index 3f13725d2e5..78e96f55120 100644 --- a/workspaces/ballerina/ballerina-extension/src/utils/config.ts +++ b/workspaces/ballerina/ballerina-extension/src/utils/config.ts @@ -127,7 +127,7 @@ export function checkIsBI(uri: Uri): boolean { return false; // Return false if isBI is not set } -export function checkIsBallerinaPackage(uri: Uri): boolean { +export async function checkIsBallerinaPackage(uri: Uri): Promise { const ballerinaTomlPath = path.join(uri.fsPath, 'Ballerina.toml'); // First check if the file exists @@ -136,10 +136,8 @@ export function checkIsBallerinaPackage(uri: Uri): boolean { } try { - // Read the file content and check for [package] section - const tomlContent = fs.readFileSync(ballerinaTomlPath, 'utf8'); - const packageSectionRegex = /\[package\]/; - return packageSectionRegex.test(tomlContent); + const tomlValues = await getProjectTomlValues(uri.fsPath); + return tomlValues?.package !== undefined; } catch (error) { // If there's an error reading the file, it's not a valid Ballerina project console.error(`Error reading package Ballerina.toml: ${error}`); @@ -147,7 +145,7 @@ export function checkIsBallerinaPackage(uri: Uri): boolean { } } -export function checkIsBallerinaWorkspace(uri: Uri): boolean { +export async function checkIsBallerinaWorkspace(uri: Uri): Promise { const ballerinaTomlPath = path.join(uri.fsPath, 'Ballerina.toml'); // First check if the file exists @@ -156,10 +154,8 @@ export function checkIsBallerinaWorkspace(uri: Uri): boolean { } try { - // Read the file content and check for [workspace] section - const tomlContent = fs.readFileSync(ballerinaTomlPath, 'utf8'); - const workspaceSectionRegex = /\[workspace\]/; - return workspaceSectionRegex.test(tomlContent); + const tomlValues = await getWorkspaceTomlValues(uri.fsPath); + return tomlValues?.workspace !== undefined; } catch (error) { // If there's an error reading the file, it's not a valid Ballerina workspace console.error(`Error reading workspace Ballerina.toml: ${error}`); @@ -180,18 +176,18 @@ export function checkIsBallerinaWorkspace(uri: Uri): boolean { * @param workspacePath Absolute path to the workspace root * @returns Filtered array of valid Ballerina package paths that exist within the workspace */ -export function filterPackagePaths(packagePaths: string[], workspacePath: string): string[] { - return packagePaths.filter(pkgPath => { +export async function filterPackagePaths(packagePaths: string[], workspacePath: string): Promise { + return packagePaths.filter(async pkgPath => { if (path.isAbsolute(pkgPath)) { const resolvedPath = path.resolve(pkgPath); const resolvedWorkspacePath = path.resolve(workspacePath); if (fs.existsSync(resolvedPath) && resolvedPath.startsWith(resolvedWorkspacePath)) { - return checkIsBallerinaPackage(Uri.file(resolvedPath)); + return await checkIsBallerinaPackage(Uri.file(resolvedPath)); } } const resolvedPath = path.resolve(workspacePath, pkgPath); if (fs.existsSync(resolvedPath) && resolvedPath.startsWith(workspacePath)) { - return checkIsBallerinaPackage(Uri.file(resolvedPath)); + return await checkIsBallerinaPackage(Uri.file(resolvedPath)); } return false; }); diff --git a/workspaces/ballerina/ballerina-extension/src/utils/file-utils.ts b/workspaces/ballerina/ballerina-extension/src/utils/file-utils.ts index 9bc57e70ffa..bcaa0befb9d 100644 --- a/workspaces/ballerina/ballerina-extension/src/utils/file-utils.ts +++ b/workspaces/ballerina/ballerina-extension/src/utils/file-utils.ts @@ -38,6 +38,7 @@ import { } from "../features/telemetry"; import { NodePosition } from "@wso2/syntax-tree"; import { existsSync } from "fs"; +import { checkIsBallerinaPackage } from "./config"; interface ProgressMessage { message: string; increment?: number; @@ -47,7 +48,6 @@ const ALLOWED_ORG_LIST = ['ballerina-platform', 'ballerina-guides', 'ballerinax' const GIT_DOMAIN = "github.com"; const GIST_OWNER = "ballerina-github-bot"; const NEXT_STARTING_UP_FILE = "next-starting-up-file"; -const BALLERINA_TOML = "Ballerina.toml"; const REPO_LOCATIONS = "repository-locations"; const buildStatusItem = window.createStatusBarItem(StatusBarAlignment.Left, 100); @@ -384,8 +384,8 @@ function getGitHubRawFileUrl(githubFileUrl) { } async function resolveModules(langClient: ExtendedLangClient, pathValue) { - const isBallerinProject = findBallerinaTomlFile(pathValue); - if (isBallerinProject) { + const ballerinProjectPath = await findBallerinaPackageRoot(pathValue); + if (ballerinProjectPath) { // Create a status bar item for the build notification buildStatusItem.text = "$(sync~spin) Pulling modules..."; buildStatusItem.tooltip = "Pulling the missing ballerina modules."; @@ -427,19 +427,28 @@ async function resolveModules(langClient: ExtendedLangClient, pathValue) { } } -function findBallerinaTomlFile(filePath) { +export async function findBallerinaPackageRoot(filePath: string) { + if (!filePath) { + return null; + } + let currentFolderPath = path.dirname(filePath); while (currentFolderPath !== path.sep) { - const tomlFilePath = path.join(currentFolderPath, BALLERINA_TOML); - if (fs.existsSync(tomlFilePath)) { + const isBallerinaPackage = await checkIsBallerinaPackage(Uri.parse(currentFolderPath)); + if (isBallerinaPackage) { return currentFolderPath; } - currentFolderPath = path.dirname(currentFolderPath); + const parentPath = path.dirname(currentFolderPath); + // Prevent infinite loop + if (parentPath === currentFolderPath) { + break; + } + currentFolderPath = parentPath; } - return null; // Ballerina.toml not found in any parent folder + return null; } export async function handleResolveMissingDependencies(ballerinaExtInstance: BallerinaExtension) { diff --git a/workspaces/ballerina/ballerina-extension/src/utils/project-artifacts.ts b/workspaces/ballerina/ballerina-extension/src/utils/project-artifacts.ts index e96afdbc0e0..531e04f2f99 100644 --- a/workspaces/ballerina/ballerina-extension/src/utils/project-artifacts.ts +++ b/workspaces/ballerina/ballerina-extension/src/utils/project-artifacts.ts @@ -57,18 +57,15 @@ export async function buildProjectArtifactsStructure( let projectName = ""; if (workspace) { projectName = workspace.name; - - // Get the project name from the ballerina.toml file - const commonRpcManager = new CommonRpcManager(); - const tomlValues = await commonRpcManager.getCurrentProjectTomlValues(); - if (tomlValues && tomlValues.package.title) { - projectName = tomlValues.package.title; - } } else { // Project defined within a Ballerina workspace projectName = path.basename(projectPath); - - // TODO: Get the project name from the package Ballerina.toml file + } + // Get the project name from the ballerina.toml file + const commonRpcManager = new CommonRpcManager(); + const tomlValues = await commonRpcManager.getCurrentProjectTomlValues(); + if (tomlValues && tomlValues.package.title) { + projectName = tomlValues.package.title; } result.projectName = projectName; diff --git a/workspaces/ballerina/ballerina-extension/src/views/persist-layer-diagram/activator.ts b/workspaces/ballerina/ballerina-extension/src/views/persist-layer-diagram/activator.ts index ff24490d7fa..76eb85b55a9 100644 --- a/workspaces/ballerina/ballerina-extension/src/views/persist-layer-diagram/activator.ts +++ b/workspaces/ballerina/ballerina-extension/src/views/persist-layer-diagram/activator.ts @@ -16,19 +16,10 @@ * under the License. */ -import { TextEditor, Uri, ViewColumn, WebviewPanel, commands, window, workspace } from "vscode"; -import { debounce } from "lodash"; -import { basename, dirname, join } from "path"; -import { existsSync } from "fs"; -import { PALETTE_COMMANDS } from "../../features/project/cmds/cmd-runner"; +import { TextEditor, Uri, window } from "vscode"; +import { basename, dirname } from "path"; import { BallerinaExtension, ExtendedLangClient } from "../../core"; -import { getCommonWebViewOptions } from "../../utils"; -import { render } from "./renderer"; - -const COMPATIBILITY_MESSAGE = "An incompatible Ballerina version was detected. Update Ballerina to 2201.6.0 or higher to use the feature."; - -let diagramWebview: WebviewPanel | undefined; -let filePath: string | undefined; +import { checkIsBallerinaPackage } from "../../utils"; export function activate(ballerinaExtInstance: BallerinaExtension) { const langClient = ballerinaExtInstance.langClient; @@ -119,6 +110,10 @@ export function activate(ballerinaExtInstance: BallerinaExtension) { // return parseFloat(ballerinaVersion) >= 2201.6; // } -export function checkIsPersistModelFile(fileUri: Uri): boolean { - return basename(dirname(fileUri.fsPath)) === 'persist' && existsSync(join(dirname(dirname(fileUri.fsPath)), 'Ballerina.toml')); +export async function checkIsPersistModelFile(fileUri: Uri): Promise { + const directoryPath = dirname(fileUri.fsPath); + const parentDirectoryPath = dirname(directoryPath); + const directoryName = basename(directoryPath); + const isBallerinaPackage = await checkIsBallerinaPackage(Uri.parse(parentDirectoryPath)); + return directoryName === 'persist' && isBallerinaPackage; } From 2f15ea3ca7e363fb0ba90196f56fcbeda483959c Mon Sep 17 00:00:00 2001 From: madushajg Date: Thu, 23 Oct 2025 21:04:30 +0530 Subject: [PATCH 021/491] Refactor project URI handling to use projectPath instead of projectUri --- .../src/rpc-managers/service-designer/rpc-manager.ts | 4 ++-- workspaces/ballerina/ballerina-visualizer/src/MainPanel.tsx | 2 +- .../src/components/ContextBasedFormTypeEditor/index.tsx | 5 +++-- .../TypeEditor/ContextBasedTypeEditor/ContextTypeCreator.tsx | 4 ++-- .../src/TypeEditor/ContextBasedTypeEditor/EditTypeView.tsx | 4 ++-- .../TypeEditor/ContextBasedTypeEditor/GenericImportTab.tsx | 4 ++-- 6 files changed, 12 insertions(+), 11 deletions(-) diff --git a/workspaces/ballerina/ballerina-extension/src/rpc-managers/service-designer/rpc-manager.ts b/workspaces/ballerina/ballerina-extension/src/rpc-managers/service-designer/rpc-manager.ts index 00f1eafdc76..3f7d71f8c93 100644 --- a/workspaces/ballerina/ballerina-extension/src/rpc-managers/service-designer/rpc-manager.ts +++ b/workspaces/ballerina/ballerina-extension/src/rpc-managers/service-designer/rpc-manager.ts @@ -423,7 +423,7 @@ export class ServiceDesignerRpcManager implements ServiceDesignerAPI { return new Promise(async (resolve) => { const context = StateMachine.context(); try { - const projectDir = path.join(StateMachine.context().projectUri); + const projectDir = path.join(StateMachine.context().projectPath); const targetFile = path.join(projectDir, `main.bal`); this.ensureFileExists(targetFile); params.filePath = targetFile; @@ -439,7 +439,7 @@ export class ServiceDesignerRpcManager implements ServiceDesignerAPI { return new Promise(async (resolve) => { const context = StateMachine.context(); try { - const projectDir = path.join(StateMachine.context().projectUri); + const projectDir = path.join(StateMachine.context().projectPath); const targetFile = path.join(projectDir, `main.bal`); this.ensureFileExists(targetFile); params.filePath = targetFile; diff --git a/workspaces/ballerina/ballerina-visualizer/src/MainPanel.tsx b/workspaces/ballerina/ballerina-visualizer/src/MainPanel.tsx index ed544d86cbe..2120e127498 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/MainPanel.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/MainPanel.tsx @@ -564,7 +564,7 @@ const MainPanel = () => { ); break; diff --git a/workspaces/ballerina/ballerina-visualizer/src/components/ContextBasedFormTypeEditor/index.tsx b/workspaces/ballerina/ballerina-visualizer/src/components/ContextBasedFormTypeEditor/index.tsx index 053799a42c2..e3796055f30 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/components/ContextBasedFormTypeEditor/index.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/components/ContextBasedFormTypeEditor/index.tsx @@ -24,6 +24,7 @@ import DynamicModal from '../Modal'; import { FormTypeEditor } from '../../views/BI/TypeEditor'; import { useRpcContext } from '@wso2/ballerina-rpc-client'; import { ProgressRing } from '@wso2/ui-toolkit'; +import { URI, Utils } from 'vscode-uri'; const BreadcrumbContainer = styled.div` display: flex; @@ -209,8 +210,8 @@ export const ContextBasedFormTypeEditor: React.FC res.projectUri); - const filePath = `${projectUri}/types.bal`; + const projectPath = await rpcClient.getVisualizerLocation().then((res) => res.projectPath); + const filePath = Utils.joinPath(URI.file(projectPath), 'types.bal').fsPath; // Fetch all types from the file const typesResponse = await rpcClient.getBIDiagramRpcClient().getTypes({ diff --git a/workspaces/ballerina/type-editor/src/TypeEditor/ContextBasedTypeEditor/ContextTypeCreator.tsx b/workspaces/ballerina/type-editor/src/TypeEditor/ContextBasedTypeEditor/ContextTypeCreator.tsx index b4daea98a56..15c46a0b50d 100644 --- a/workspaces/ballerina/type-editor/src/TypeEditor/ContextBasedTypeEditor/ContextTypeCreator.tsx +++ b/workspaces/ballerina/type-editor/src/TypeEditor/ContextBasedTypeEditor/ContextTypeCreator.tsx @@ -334,10 +334,10 @@ export function ContextTypeCreatorTab(props: ContextTypeCreatorProps) { return; } - const projectUri = await rpcClient.getVisualizerLocation().then((res) => res.projectUri); + const projectPath = await rpcClient.getVisualizerLocation().then((res) => res.projectPath); const endPosition = await rpcClient.getBIDiagramRpcClient().getEndOfFile({ - filePath: Utils.joinPath(URI.file(projectUri), 'types.bal').fsPath + filePath: Utils.joinPath(URI.file(projectPath), 'types.bal').fsPath }); const response = await rpcClient.getBIDiagramRpcClient().getExpressionDiagnostics({ diff --git a/workspaces/ballerina/type-editor/src/TypeEditor/ContextBasedTypeEditor/EditTypeView.tsx b/workspaces/ballerina/type-editor/src/TypeEditor/ContextBasedTypeEditor/EditTypeView.tsx index 71781ac5cb2..0fd31c80691 100644 --- a/workspaces/ballerina/type-editor/src/TypeEditor/ContextBasedTypeEditor/EditTypeView.tsx +++ b/workspaces/ballerina/type-editor/src/TypeEditor/ContextBasedTypeEditor/EditTypeView.tsx @@ -344,10 +344,10 @@ export function EditTypeView(props: EditTypeViewProps) { return; } - const projectUri = await rpcClient.getVisualizerLocation().then((res) => res.projectUri); + const projectPath = await rpcClient.getVisualizerLocation().then((res) => res.projectPath); const endPosition = await rpcClient.getBIDiagramRpcClient().getEndOfFile({ - filePath: Utils.joinPath(URI.file(projectUri), 'types.bal').fsPath + filePath: Utils.joinPath(URI.file(projectPath), 'types.bal').fsPath }); const response = await rpcClient.getBIDiagramRpcClient().getExpressionDiagnostics({ diff --git a/workspaces/ballerina/type-editor/src/TypeEditor/ContextBasedTypeEditor/GenericImportTab.tsx b/workspaces/ballerina/type-editor/src/TypeEditor/ContextBasedTypeEditor/GenericImportTab.tsx index fc5bbe74941..111b0139b69 100644 --- a/workspaces/ballerina/type-editor/src/TypeEditor/ContextBasedTypeEditor/GenericImportTab.tsx +++ b/workspaces/ballerina/type-editor/src/TypeEditor/ContextBasedTypeEditor/GenericImportTab.tsx @@ -194,10 +194,10 @@ export function GenericImportTab(props: GenericImportTabProps) { }; const validateTypeName = useCallback(debounce(async (value: string) => { - const projectUri = await rpcClient.getVisualizerLocation().then((res) => res.projectUri); + const projectPath = await rpcClient.getVisualizerLocation().then((res) => res.projectPath); const endPosition = await rpcClient.getBIDiagramRpcClient().getEndOfFile({ - filePath: Utils.joinPath(URI.file(projectUri), 'types.bal').fsPath + filePath: Utils.joinPath(URI.file(projectPath), 'types.bal').fsPath }); const response = await rpcClient.getBIDiagramRpcClient().getExpressionDiagnostics({ From 91e1195dfa52371c911d4284abe85d58bcd4b253 Mon Sep 17 00:00:00 2001 From: NipunaRanasinghe Date: Mon, 27 Oct 2025 23:50:11 +0530 Subject: [PATCH 022/491] Fix error messages shown when stepping into other packages within the workspace --- .../src/features/debugger/config-provider.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts b/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts index 1ed99c5de9c..97b640fc6fe 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts @@ -467,7 +467,7 @@ class BallerinaDebugAdapterTrackerFactory implements DebugAdapterTrackerFactory BreakpointManager.getInstance().setActiveBreakpoint(clientBreakpoint); if (isWebviewPresent) { - await handleBreakpointVisualization(uri, clientBreakpoint); + await handleDebugHitVisualization(uri, clientBreakpoint); } } else if (msg.command === "continue" || msg.command === "next" || msg.command === "stepIn" || msg.command === "stepOut") { // clear the active breakpoint @@ -516,13 +516,13 @@ class BallerinaDebugAdapterTrackerFactory implements DebugAdapterTrackerFactory } } -async function handleBreakpointVisualization(uri: Uri, clientBreakpoint: DebugProtocol.StackFrame) { +async function handleDebugHitVisualization(uri: Uri, clientBreakpoint: DebugProtocol.StackFrame) { const newContext = StateMachine.context(); - // Check if breakpoint is in a different project + // Check if breakpoint is in a different package if (!uri.fsPath.startsWith(newContext.projectPath)) { - console.log("Breakpoint is in a different project"); - window.showInformationMessage("Cannot visualize breakpoint since it belongs to a different project"); + console.log("Debug hit in a different package"); + window.showInformationMessage("Cannot visualize debug hit since it belongs to a different integration"); openView(EVENT_TYPE.OPEN_VIEW, newContext); notifyBreakpointChange(); return; @@ -540,7 +540,7 @@ async function handleBreakpointVisualization(uri: Uri, clientBreakpoint: DebugPr const res = await StateMachine.langClient().getEnclosedFunctionDef(req); if (!res?.startLine || !res?.endLine) { - window.showInformationMessage("Failed to open the respective view for the breakpoint. Please manually navigate to the respective view."); + window.showInformationMessage("Failed to open the respective view for the debug hit. Please manually navigate to the respective view."); notifyBreakpointChange(); return; } From a9ca37033b348d1aa028924f53655887d2dd5a40 Mon Sep 17 00:00:00 2001 From: NipunaRanasinghe Date: Tue, 28 Oct 2025 09:02:15 +0530 Subject: [PATCH 023/491] Fix project selection and debug restart flows in BI mode --- .../src/features/debugger/config-provider.ts | 90 ++++--------------- .../src/utils/project-utils.ts | 63 ++++++++++++- 2 files changed, 80 insertions(+), 73 deletions(-) diff --git a/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts b/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts index 97b640fc6fe..a421fce0cc8 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts @@ -26,8 +26,7 @@ import { TaskExecution, DebugAdapterTrackerFactory, DebugAdapterTracker, - ViewColumn, - TabInputText + ViewColumn } from 'vscode'; import * as child_process from "child_process"; import { getPortPromise } from 'portfinder'; @@ -36,7 +35,6 @@ import { BallerinaExtension, LANGUAGE, OLD_BALLERINA_VERSION_DEBUGGER_RUNINTERMINAL, UNSUPPORTED_DEBUGGER_RUNINTERMINAL_KIND, INVALID_DEBUGGER_RUNINTERMINAL_KIND } from '../../core'; -import { ExtendedLangClient } from '../../core/extended-language-client'; import { TM_EVENT_START_DEBUG_SESSION, CMP_DEBUGGER, sendTelemetryEvent, sendTelemetryException, CMP_NOTEBOOK, TM_EVENT_START_NOTEBOOK_DEBUG @@ -45,15 +43,14 @@ import { log, debug as debugLog, isSupportedSLVersion, isWindows } from "../../u import { decimal, ExecutableOptions } from 'vscode-languageclient/node'; import { BAL_NOTEBOOK, getTempFile, NOTEBOOK_CELL_SCHEME } from '../../views/notebook'; import fileUriToPath from 'file-uri-to-path'; -import { existsSync, readFileSync } from 'fs'; -import { dirname, join, sep } from 'path'; -import { parseTomlToConfig } from '../config-generator/utils'; +import { existsSync } from 'fs'; +import { join } from 'path'; import { LoggingDebugSession, OutputEvent, TerminatedEvent } from 'vscode-debugadapter'; import { DebugProtocol } from 'vscode-debugprotocol'; import { PALETTE_COMMANDS, PROJECT_TYPE } from '../project/cmds/cmd-runner'; import { Disposable } from 'monaco-languageclient'; -import { getCurrentBallerinaFile, getCurrentBallerinaProject } from '../../utils/project-utils'; -import { BallerinaProject, BallerinaProjectComponents, BIGetEnclosedFunctionRequest, EVENT_TYPE, MainFunctionParamsResponse } from '@wso2/ballerina-core'; +import { getCurrentBallerinaFile, getCurrentBallerinaProject, selectBallerinaProjectForDebugging } from '../../utils/project-utils'; +import { BallerinaProjectComponents, BIGetEnclosedFunctionRequest, EVENT_TYPE, MainFunctionParamsResponse } from '@wso2/ballerina-core'; import { openView, StateMachine } from '../../stateMachine'; import { waitForBallerinaService } from '../tryit/utils'; import { BreakpointManager } from './breakpoint-manager'; @@ -67,8 +64,6 @@ import { findHighestVersionJdk } from '../../utils/server/server'; const BALLERINA_COMMAND = "ballerina.command"; const EXTENDED_CLIENT_CAPABILITIES = "capabilities"; -const BALLERINA_TOML_REGEX = `**${sep}Ballerina.toml`; -const BALLERINA_FILE_REGEX = `**${sep}*.bal`; const BALLERINA_TOML = `Ballerina.toml`; export enum DEBUG_REQUEST { @@ -80,17 +75,6 @@ export enum DEBUG_CONFIG { TEST_DEBUG_NAME = 'Ballerina Test' } -export interface BALLERINA_TOML { - package: PACKAGE; - "build-options": any; -} - -export interface PACKAGE { - org: string; - name: string; - version: string; - distribution: string; -} class DebugConfigProvider implements DebugConfigurationProvider { async resolveDebugConfiguration(_folder: WorkspaceFolder, config: DebugConfiguration) @@ -253,6 +237,12 @@ async function getModifiedConfigs(workspaceFolder: WorkspaceFolder, config: Debu config.noDebug = Boolean(config.noDebug); + // Notify debug server that the debug session is started in low-code mode + const isWebviewPresent = isVisualizerWebviewActive(); + if (isWebviewPresent && StateMachine.context().isBI) { + config.lowCodeMode = true; + } + const activeTextEditor = window.activeTextEditor; if (activeTextEditor && activeTextEditor.document.fileName.endsWith(BAL_NOTEBOOK)) { @@ -267,52 +257,11 @@ async function getModifiedConfigs(workspaceFolder: WorkspaceFolder, config: Debu } if (!config.script) { - const tomls = await workspace.findFiles(workspaceFolder ? new RelativePattern(workspaceFolder, BALLERINA_TOML_REGEX) : BALLERINA_TOML_REGEX); - const projects: { project: BallerinaProject; balFile: Uri; relativePath: string }[] = []; - for (const toml of tomls) { - const projectRoot = dirname(toml.fsPath); - const balFiles = await workspace.findFiles(new RelativePattern(projectRoot, BALLERINA_FILE_REGEX), undefined, 1); - if (balFiles.length > 0) { - - const tomlContent: string = readFileSync(toml.fsPath, 'utf8'); - const tomlObj: BALLERINA_TOML = parseTomlToConfig(tomlContent) as BALLERINA_TOML; - const relativePath = workspace.asRelativePath(projectRoot); - projects.push({ project: { packageName: tomlObj.package.name }, balFile: balFiles[0], relativePath }); - } - } - - if (projects.length > 0) { - if (projects.length === 1) { - config.script = projects[0].balFile.fsPath; - } else { - const selectedProject = await window.showQuickPick(projects.map((project) => { - return { - label: project.project.packageName, - description: project.relativePath - }; - }), { placeHolder: "Select a Ballerina project to debug", canPickMany: false }); - if (selectedProject) { - config.script = projects[projects.indexOf(projects.find((project) => { - return project.project.packageName === selectedProject.label; - }))].balFile.fsPath; - } else { - return Promise.reject(); - } - } + // if webview is present and in BI mode, use the project path from the state machine (focused project in BI) + if (StateMachine.context().isBI && isWebviewPresent) { + config.script = StateMachine.context().projectPath; } else { - extension.ballerinaExtInstance.showMessageInvalidProject(); - return Promise.reject(); - } - - let langClient = extension.ballerinaExtInstance.langClient; - if (langClient.initializeResult) { - const { experimental } = langClient.initializeResult!.capabilities; - if (experimental && experimental.introspection && experimental.introspection.port > 0) { - config.networkLogsPort = experimental.introspection.port; - if (config.networkLogs === undefined) { - config.networkLogs = false; - } - } + config.script = await selectBallerinaProjectForDebugging(workspaceFolder); } } @@ -338,14 +287,13 @@ async function getModifiedConfigs(workspaceFolder: WorkspaceFolder, config: Debu config.debugServer = debugServerPort.toString(); } - // Notify debug server that the debug session is started in low-code mode - const isWebviewPresent = VisualizerWebview.currentPanel !== undefined; - if (isWebviewPresent && StateMachine.context().isBI) { - config.lowCodeMode = true; - } return config; } +function isVisualizerWebviewActive() { + return VisualizerWebview.currentPanel !== undefined; +} + export async function constructDebugConfig(uri: Uri, testDebug: boolean, args?: any): Promise { const launchConfig: WorkspaceConfiguration = workspace.getConfiguration('launch').length > 0 ? workspace.getConfiguration('launch') : diff --git a/workspaces/ballerina/ballerina-extension/src/utils/project-utils.ts b/workspaces/ballerina/ballerina-extension/src/utils/project-utils.ts index b41581c4821..af40ac2f531 100644 --- a/workspaces/ballerina/ballerina-extension/src/utils/project-utils.ts +++ b/workspaces/ballerina/ballerina-extension/src/utils/project-utils.ts @@ -17,10 +17,28 @@ */ import { extension } from "../BalExtensionContext"; -import { Uri, window, workspace } from "vscode"; +import { Uri, window, workspace, RelativePattern, WorkspaceFolder } from "vscode"; import * as path from 'path'; import { isSupportedVersion, VERSION } from "./config"; import { BallerinaProject } from "@wso2/ballerina-core"; +import { readFileSync } from 'fs'; +import { dirname, sep } from 'path'; +import { parseTomlToConfig } from '../features/config-generator/utils'; + +const BALLERINA_TOML_REGEX = `**${sep}Ballerina.toml`; +const BALLERINA_FILE_REGEX = `**${sep}*.bal`; + +export interface BALLERINA_TOML { + package: PACKAGE; + "build-options": any; +} + +export interface PACKAGE { + org: string; + name: string; + version: string; + distribution: string; +} function getCurrentBallerinaProject(projectPath?: string): Promise { return new Promise((resolve, reject) => { @@ -78,4 +96,45 @@ function addToWorkspace(url: string) { workspace.updateWorkspaceFolders(workspace.workspaceFolders ? workspace.workspaceFolders.length : 0, null, { uri: Uri.parse(url) }); } -export { addToWorkspace, getCurrentBallerinaProject, getCurrentBallerinaFile, getCurrenDirectoryPath }; +async function selectBallerinaProjectForDebugging(workspaceFolder?: WorkspaceFolder): Promise { + const tomls = await workspace.findFiles(workspaceFolder ? new RelativePattern(workspaceFolder, BALLERINA_TOML_REGEX) : BALLERINA_TOML_REGEX); + const projects: { project: BallerinaProject; balFile: Uri; relativePath: string }[] = []; + + for (const toml of tomls) { + const projectRoot = dirname(toml.fsPath); + const balFiles = await workspace.findFiles(new RelativePattern(projectRoot, BALLERINA_FILE_REGEX), undefined, 1); + if (balFiles.length > 0) { + const tomlContent: string = readFileSync(toml.fsPath, 'utf8'); + const tomlObj: BALLERINA_TOML = parseTomlToConfig(tomlContent) as BALLERINA_TOML; + const relativePath = workspace.asRelativePath(projectRoot); + // Add only if package name is present in Ballerina.toml (this is to exclude workspace projects) + if (tomlObj.package && tomlObj.package.name) { + projects.push({ project: { packageName: tomlObj.package.name }, balFile: balFiles[0], relativePath }); + } + } + } + + if (projects.length === 1) { + return projects[0].balFile.fsPath; + } else if (projects.length > 1) { + const selectedProject = await window.showQuickPick(projects.map((project) => { + return { + label: project.project.packageName, + description: project.relativePath + }; + }), { placeHolder: "Detected multiple Ballerina projects within the workspace. Select one to debug.", canPickMany: false }); + + if (selectedProject) { + const foundProject = projects.find((project) => project.project.packageName === selectedProject.label); + if (foundProject) { + return foundProject.balFile.fsPath; + } + } + throw new Error("Project selection cancelled"); + } else { + extension.ballerinaExtInstance.showMessageInvalidProject(); + throw new Error("No valid Ballerina projects found"); + } +} + +export { addToWorkspace, getCurrentBallerinaProject, getCurrentBallerinaFile, getCurrenDirectoryPath, selectBallerinaProjectForDebugging }; From be7b4f56e6f9638072fbe0c77f3800d016bffa8d Mon Sep 17 00:00:00 2001 From: Nipuna Ransinghe Date: Tue, 28 Oct 2025 13:28:40 +0530 Subject: [PATCH 024/491] Apply suggestions from code review Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .../src/features/debugger/config-provider.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts b/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts index a421fce0cc8..6f910e7df42 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts @@ -257,7 +257,7 @@ async function getModifiedConfigs(workspaceFolder: WorkspaceFolder, config: Debu } if (!config.script) { - // if webview is present and in BI mode, use the project path from the state machine (focused project in BI) + // If webview is present and in BI mode, use the project path from the state machine (focused project in BI) if (StateMachine.context().isBI && isWebviewPresent) { config.script = StateMachine.context().projectPath; } else { @@ -745,7 +745,7 @@ async function getCurrentProjectRoot(): Promise { return currentProjectRoot; } - // 2. Try to get the any open Ballerina files in the editor and determine the project root from there + // 2. Try to get any open Ballerina files in the editor and determine the project root from there let file: string | undefined; try { file = getCurrentBallerinaFile(); From 98ed3135dc6a2f0074a7f9353fa18e2a06aa7b97 Mon Sep 17 00:00:00 2001 From: NipunaRanasinghe Date: Tue, 28 Oct 2025 15:19:04 +0530 Subject: [PATCH 025/491] Address more review suggestions --- .../src/features/config-generator/configGenerator.ts | 10 ++++++---- .../src/features/debugger/config-provider.ts | 8 ++++++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/workspaces/ballerina/ballerina-extension/src/features/config-generator/configGenerator.ts b/workspaces/ballerina/ballerina-extension/src/features/config-generator/configGenerator.ts index d72ac0761dc..2a28d03619d 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/config-generator/configGenerator.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/config-generator/configGenerator.ts @@ -29,7 +29,7 @@ import { TextDocumentEdit } from "vscode-languageserver-types"; import { modifyFileContent } from "../../utils/modification"; import { fileURLToPath } from "url"; import { startDebugging } from "../editor-support/activator"; -import { openView } from "../../stateMachine"; +import { openView, StateMachine } from "../../stateMachine"; import * as path from "path"; const UNUSED_IMPORT_ERR_CODE = "BCE2002"; @@ -150,9 +150,11 @@ export async function getCurrentBallerinaProjectFromContext(ballerinaExtInstance } export async function getCurrentBIProject(projectPath: string): Promise { - let currentProject: BallerinaProject = {}; - currentProject = await getCurrentBallerinaProject(projectPath); - return currentProject; + if (StateMachine.context().projectPath) { + projectPath = StateMachine.context().projectPath; + } + + return await getCurrentBallerinaProject(projectPath); } export async function handleOnUnSetValues(packageName: string, configFile: string, ignoreFile: string, ballerinaExtInstance: BallerinaExtension, isCommand: boolean, isBi: boolean): Promise { diff --git a/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts b/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts index 6f910e7df42..463ef865017 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts @@ -258,7 +258,7 @@ async function getModifiedConfigs(workspaceFolder: WorkspaceFolder, config: Debu if (!config.script) { // If webview is present and in BI mode, use the project path from the state machine (focused project in BI) - if (StateMachine.context().isBI && isWebviewPresent) { + if (StateMachine.context().isBI && isWebviewPresent && StateMachine.context().projectPath) { config.script = StateMachine.context().projectPath; } else { config.script = await selectBallerinaProjectForDebugging(workspaceFolder); @@ -755,7 +755,11 @@ async function getCurrentProjectRoot(): Promise { if (file) { const currentProject = await getCurrentBallerinaProject(file); - return (currentProject.kind !== PROJECT_TYPE.SINGLE_FILE) ? currentProject.path! : file; + if (currentProject.kind === PROJECT_TYPE.SINGLE_FILE) { + return file; + } else if (currentProject.path) { + return currentProject.path; + } } // 3. Fallback to workspace root From efa9269beac3a42a16f38adfb470863e5b2e4faf Mon Sep 17 00:00:00 2001 From: madushajg Date: Thu, 30 Oct 2025 16:23:20 +0530 Subject: [PATCH 026/491] Refactor TryIt view to use project path from StateMachine instead of workspace root --- .../src/features/tryit/activator.ts | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/workspaces/ballerina/ballerina-extension/src/features/tryit/activator.ts b/workspaces/ballerina/ballerina-extension/src/features/tryit/activator.ts index 78f3bc072d4..30b030a1b75 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/tryit/activator.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/tryit/activator.ts @@ -28,6 +28,7 @@ import { BIDesignModelResponse, OpenAPISpec } from "@wso2/ballerina-core"; import { startDebugging } from "../editor-support/activator"; import { v4 as uuidv4 } from "uuid"; import { createGraphqlView } from "../../views/graphql"; +import { StateMachine } from "../../stateMachine"; // File constants const FILE_NAMES = { @@ -65,16 +66,16 @@ async function openTryItView(withNotice: boolean = false, resourceMetadata?: Res throw new Error('Ballerina Language Server is not connected'); } - const workspaceRoot = vscode.workspace.workspaceFolders && vscode.workspace.workspaceFolders[0].uri.fsPath; - if (!workspaceRoot) { + const projectPath = StateMachine.context().projectUri; + if (!projectPath) { throw new Error('Please open a workspace first'); } - let services: ServiceInfo[] | null = await getAvailableServices(workspaceRoot); + let services: ServiceInfo[] | null = await getAvailableServices(projectPath); // if the getDesignModel() LS API is unavailable, create a ServiceInfo from ServiceMetadata to support Try It functionality. (a fallback logic for Ballerina versions prior to 2201.12.x) if (services == null && serviceMetadata && filePath) { - const service = createServiceInfoFromMetadata(serviceMetadata, workspaceRoot, filePath); + const service = createServiceInfoFromMetadata(serviceMetadata, projectPath, filePath); services = [service]; } @@ -94,7 +95,7 @@ async function openTryItView(withNotice: boolean = false, resourceMetadata?: Res return; } } else { - const processesRunning = await checkBallerinaProcessRunning(workspaceRoot); + const processesRunning = await checkBallerinaProcessRunning(projectPath); if (!processesRunning) { return; } @@ -146,33 +147,33 @@ async function openTryItView(withNotice: boolean = false, resourceMetadata?: Res return; } - const targetDir = path.join(workspaceRoot, 'target'); + const targetDir = path.join(projectPath, 'target'); if (!fs.existsSync(targetDir)) { fs.mkdirSync(targetDir); } if (selectedService.type === ServiceType.HTTP) { const openapiSpec: OAISpec = await getOpenAPIDefinition(selectedService); - const selectedPort: number = await getServicePort(workspaceRoot, selectedService, openapiSpec); + const selectedPort: number = await getServicePort(projectPath, selectedService, openapiSpec); selectedService.port = selectedPort; const tryitFileUri = await generateTryItFileContent(targetDir, openapiSpec, selectedService, resourceMetadata); await openInSplitView(tryitFileUri, 'http'); } else if (selectedService.type === ServiceType.GRAPHQL) { - const selectedPort: number = await getServicePort(workspaceRoot, selectedService); + const selectedPort: number = await getServicePort(projectPath, selectedService); const port = selectedPort; const path = selectedService.basePath; const service = `http://localhost:${port}${path}`; await createGraphqlView(service); } else if (selectedService.type === ServiceType.MCP) { - const selectedPort: number = await getServicePort(workspaceRoot, selectedService); + const selectedPort: number = await getServicePort(projectPath, selectedService); selectedService.port = selectedPort; const path = selectedService.basePath; const serviceUrl = `http://localhost:${selectedPort}${path}`; await openMcpInspector(serviceUrl); } else { - const selectedPort: number = await getServicePort(workspaceRoot, selectedService); + const selectedPort: number = await getServicePort(projectPath, selectedService); selectedService.port = selectedPort; await openChatView(selectedService.basePath, selectedPort.toString()); @@ -291,7 +292,8 @@ async function findServiceForResource(services: ServiceInfo[], resourceMetadata: async function getAvailableServices(projectDir: string): Promise { try { - const langClient = clientManager.getClient(); + // const langClient = clientManager.getClient(); + const langClient = StateMachine.langClient(); const response: BIDesignModelResponse = await langClient.getDesignModel({ projectPath: projectDir From 1d4a5100880b45daef2ebd78b16bad0fbf4dee71 Mon Sep 17 00:00:00 2001 From: NipunaRanasinghe Date: Wed, 22 Oct 2025 21:05:37 +0530 Subject: [PATCH 027/491] Fix fast-run to work with workspace projects --- .../src/features/debugger/config-provider.ts | 37 +++++++++++-------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts b/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts index dfc152e73c4..facb28b5b3a 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts @@ -484,7 +484,7 @@ class BallerinaDebugAdapterTrackerFactory implements DebugAdapterTrackerFactory notifyBreakpointChange(); // restart the fast-run - getCurrentRoot().then(async (root) => { + getCurrentProjectRoot().then(async (root) => { const didStop = await stopRunFast(root); if (didStop) { runFast(root, msg.body); @@ -570,7 +570,7 @@ class BallerinaDebugAdapterDescriptorFactory implements DebugAdapterDescriptorFa async createDebugAdapterDescriptor(session: DebugSession, executable: DebugAdapterExecutable | undefined): Promise { // Check if the project contains errors(and fix the possible ones) before starting the debug session const langClient = extension.ballerinaExtInstance.langClient; - const projectRoot = await getCurrentRoot(); + const projectRoot = await getCurrentProjectRoot(); await cleanAndValidateProject(langClient, projectRoot); // Check if config generation is required before starting the debug session @@ -665,7 +665,7 @@ class FastRunDebugAdapter extends LoggingDebugSession { }); this.notificationHandler = notificationHandler; this.programArgs = (args as any).programArgs; - getCurrentRoot().then((root) => { + getCurrentProjectRoot().then((root) => { this.root = root; runFast(root, { programArgs: this.programArgs }).then((didRan) => { response.success = didRan; @@ -790,7 +790,14 @@ async function stopRunFast(root: string): Promise { }); } -async function getCurrentRoot(): Promise { +async function getCurrentProjectRoot(): Promise { + // 1. Check if the project path is already set in the state machine context + let currentProjectRoot = StateMachine.context().projectPath; + if (currentProjectRoot) { + return currentProjectRoot; + } + + // 2. Try to get the any open Ballerina files in the editor and determine the project root from there let file: string | undefined; try { file = getCurrentBallerinaFile(); @@ -798,19 +805,19 @@ async function getCurrentRoot(): Promise { // ignore } - // If no Ballerina files are open, safe to assume that the workspace root is same as the package root in BI mode. - if (!file) { - const workspaceRoot = getWorkspaceRoot(); - if (!workspaceRoot && StateMachine.context().isBI) { - throw new Error("Unable to determine the current workspace root."); - } - if (isBallerinaProject(workspaceRoot)) { - return workspaceRoot; - } + if (file) { + const currentProject = await getCurrentBallerinaProject(file); + return (currentProject.kind !== PROJECT_TYPE.SINGLE_FILE) ? currentProject.path! : file; } - const currentProject = await getCurrentBallerinaProject(file); - return (currentProject.kind !== PROJECT_TYPE.SINGLE_FILE) ? currentProject.path! : file; + // 3. Fallback to workspace root + const workspaceRoot = getWorkspaceRoot(); + if (!workspaceRoot && StateMachine.context().isBI) { + throw new Error("Unable to determine the current workspace root."); + } + if (isBallerinaProject(workspaceRoot)) { + return workspaceRoot; + } } function getJavaCommand(): string { From dce528f92ef8366cfea23e9634735bc3fcbfd4d0 Mon Sep 17 00:00:00 2001 From: NipunaRanasinghe Date: Mon, 27 Oct 2025 23:50:11 +0530 Subject: [PATCH 028/491] Fix error messages shown when stepping into other packages within the workspace --- .../src/features/debugger/config-provider.ts | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts b/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts index facb28b5b3a..97b640fc6fe 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts @@ -114,7 +114,7 @@ function getValueFromProgramArgs(programArgs: string[], idx: number) { async function handleMainFunctionParams(config: DebugConfiguration) { const res = await extension.ballerinaExtInstance.langClient?.getMainFunctionParams({ projectRootIdentifier: { - uri: "file://" + StateMachine.context().projectUri + uri: Uri.file(StateMachine.context().projectPath).toString() } }) as MainFunctionParamsResponse; if (res.hasMain) { @@ -467,7 +467,7 @@ class BallerinaDebugAdapterTrackerFactory implements DebugAdapterTrackerFactory BreakpointManager.getInstance().setActiveBreakpoint(clientBreakpoint); if (isWebviewPresent) { - await handleBreakpointVisualization(uri, clientBreakpoint); + await handleDebugHitVisualization(uri, clientBreakpoint); } } else if (msg.command === "continue" || msg.command === "next" || msg.command === "stepIn" || msg.command === "stepOut") { // clear the active breakpoint @@ -516,13 +516,13 @@ class BallerinaDebugAdapterTrackerFactory implements DebugAdapterTrackerFactory } } -async function handleBreakpointVisualization(uri: Uri, clientBreakpoint: DebugProtocol.StackFrame) { +async function handleDebugHitVisualization(uri: Uri, clientBreakpoint: DebugProtocol.StackFrame) { const newContext = StateMachine.context(); - // Check if breakpoint is in a different project - if (!uri.fsPath.startsWith(newContext.projectUri)) { - console.log("Breakpoint is in a different project"); - window.showInformationMessage("Cannot visualize breakpoint since it belongs to a different project"); + // Check if breakpoint is in a different package + if (!uri.fsPath.startsWith(newContext.projectPath)) { + console.log("Debug hit in a different package"); + window.showInformationMessage("Cannot visualize debug hit since it belongs to a different integration"); openView(EVENT_TYPE.OPEN_VIEW, newContext); notifyBreakpointChange(); return; @@ -540,7 +540,7 @@ async function handleBreakpointVisualization(uri: Uri, clientBreakpoint: DebugPr const res = await StateMachine.langClient().getEnclosedFunctionDef(req); if (!res?.startLine || !res?.endLine) { - window.showInformationMessage("Failed to open the respective view for the breakpoint. Please manually navigate to the respective view."); + window.showInformationMessage("Failed to open the respective view for the debug hit. Please manually navigate to the respective view."); notifyBreakpointChange(); return; } From 5231889fcbce40df396bcc63415cd20af863a4a1 Mon Sep 17 00:00:00 2001 From: NipunaRanasinghe Date: Tue, 28 Oct 2025 09:02:15 +0530 Subject: [PATCH 029/491] Fix project selection and debug restart flows in BI mode --- .../src/features/debugger/config-provider.ts | 90 ++++--------------- .../src/utils/project-utils.ts | 63 ++++++++++++- 2 files changed, 80 insertions(+), 73 deletions(-) diff --git a/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts b/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts index 97b640fc6fe..a421fce0cc8 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts @@ -26,8 +26,7 @@ import { TaskExecution, DebugAdapterTrackerFactory, DebugAdapterTracker, - ViewColumn, - TabInputText + ViewColumn } from 'vscode'; import * as child_process from "child_process"; import { getPortPromise } from 'portfinder'; @@ -36,7 +35,6 @@ import { BallerinaExtension, LANGUAGE, OLD_BALLERINA_VERSION_DEBUGGER_RUNINTERMINAL, UNSUPPORTED_DEBUGGER_RUNINTERMINAL_KIND, INVALID_DEBUGGER_RUNINTERMINAL_KIND } from '../../core'; -import { ExtendedLangClient } from '../../core/extended-language-client'; import { TM_EVENT_START_DEBUG_SESSION, CMP_DEBUGGER, sendTelemetryEvent, sendTelemetryException, CMP_NOTEBOOK, TM_EVENT_START_NOTEBOOK_DEBUG @@ -45,15 +43,14 @@ import { log, debug as debugLog, isSupportedSLVersion, isWindows } from "../../u import { decimal, ExecutableOptions } from 'vscode-languageclient/node'; import { BAL_NOTEBOOK, getTempFile, NOTEBOOK_CELL_SCHEME } from '../../views/notebook'; import fileUriToPath from 'file-uri-to-path'; -import { existsSync, readFileSync } from 'fs'; -import { dirname, join, sep } from 'path'; -import { parseTomlToConfig } from '../config-generator/utils'; +import { existsSync } from 'fs'; +import { join } from 'path'; import { LoggingDebugSession, OutputEvent, TerminatedEvent } from 'vscode-debugadapter'; import { DebugProtocol } from 'vscode-debugprotocol'; import { PALETTE_COMMANDS, PROJECT_TYPE } from '../project/cmds/cmd-runner'; import { Disposable } from 'monaco-languageclient'; -import { getCurrentBallerinaFile, getCurrentBallerinaProject } from '../../utils/project-utils'; -import { BallerinaProject, BallerinaProjectComponents, BIGetEnclosedFunctionRequest, EVENT_TYPE, MainFunctionParamsResponse } from '@wso2/ballerina-core'; +import { getCurrentBallerinaFile, getCurrentBallerinaProject, selectBallerinaProjectForDebugging } from '../../utils/project-utils'; +import { BallerinaProjectComponents, BIGetEnclosedFunctionRequest, EVENT_TYPE, MainFunctionParamsResponse } from '@wso2/ballerina-core'; import { openView, StateMachine } from '../../stateMachine'; import { waitForBallerinaService } from '../tryit/utils'; import { BreakpointManager } from './breakpoint-manager'; @@ -67,8 +64,6 @@ import { findHighestVersionJdk } from '../../utils/server/server'; const BALLERINA_COMMAND = "ballerina.command"; const EXTENDED_CLIENT_CAPABILITIES = "capabilities"; -const BALLERINA_TOML_REGEX = `**${sep}Ballerina.toml`; -const BALLERINA_FILE_REGEX = `**${sep}*.bal`; const BALLERINA_TOML = `Ballerina.toml`; export enum DEBUG_REQUEST { @@ -80,17 +75,6 @@ export enum DEBUG_CONFIG { TEST_DEBUG_NAME = 'Ballerina Test' } -export interface BALLERINA_TOML { - package: PACKAGE; - "build-options": any; -} - -export interface PACKAGE { - org: string; - name: string; - version: string; - distribution: string; -} class DebugConfigProvider implements DebugConfigurationProvider { async resolveDebugConfiguration(_folder: WorkspaceFolder, config: DebugConfiguration) @@ -253,6 +237,12 @@ async function getModifiedConfigs(workspaceFolder: WorkspaceFolder, config: Debu config.noDebug = Boolean(config.noDebug); + // Notify debug server that the debug session is started in low-code mode + const isWebviewPresent = isVisualizerWebviewActive(); + if (isWebviewPresent && StateMachine.context().isBI) { + config.lowCodeMode = true; + } + const activeTextEditor = window.activeTextEditor; if (activeTextEditor && activeTextEditor.document.fileName.endsWith(BAL_NOTEBOOK)) { @@ -267,52 +257,11 @@ async function getModifiedConfigs(workspaceFolder: WorkspaceFolder, config: Debu } if (!config.script) { - const tomls = await workspace.findFiles(workspaceFolder ? new RelativePattern(workspaceFolder, BALLERINA_TOML_REGEX) : BALLERINA_TOML_REGEX); - const projects: { project: BallerinaProject; balFile: Uri; relativePath: string }[] = []; - for (const toml of tomls) { - const projectRoot = dirname(toml.fsPath); - const balFiles = await workspace.findFiles(new RelativePattern(projectRoot, BALLERINA_FILE_REGEX), undefined, 1); - if (balFiles.length > 0) { - - const tomlContent: string = readFileSync(toml.fsPath, 'utf8'); - const tomlObj: BALLERINA_TOML = parseTomlToConfig(tomlContent) as BALLERINA_TOML; - const relativePath = workspace.asRelativePath(projectRoot); - projects.push({ project: { packageName: tomlObj.package.name }, balFile: balFiles[0], relativePath }); - } - } - - if (projects.length > 0) { - if (projects.length === 1) { - config.script = projects[0].balFile.fsPath; - } else { - const selectedProject = await window.showQuickPick(projects.map((project) => { - return { - label: project.project.packageName, - description: project.relativePath - }; - }), { placeHolder: "Select a Ballerina project to debug", canPickMany: false }); - if (selectedProject) { - config.script = projects[projects.indexOf(projects.find((project) => { - return project.project.packageName === selectedProject.label; - }))].balFile.fsPath; - } else { - return Promise.reject(); - } - } + // if webview is present and in BI mode, use the project path from the state machine (focused project in BI) + if (StateMachine.context().isBI && isWebviewPresent) { + config.script = StateMachine.context().projectPath; } else { - extension.ballerinaExtInstance.showMessageInvalidProject(); - return Promise.reject(); - } - - let langClient = extension.ballerinaExtInstance.langClient; - if (langClient.initializeResult) { - const { experimental } = langClient.initializeResult!.capabilities; - if (experimental && experimental.introspection && experimental.introspection.port > 0) { - config.networkLogsPort = experimental.introspection.port; - if (config.networkLogs === undefined) { - config.networkLogs = false; - } - } + config.script = await selectBallerinaProjectForDebugging(workspaceFolder); } } @@ -338,14 +287,13 @@ async function getModifiedConfigs(workspaceFolder: WorkspaceFolder, config: Debu config.debugServer = debugServerPort.toString(); } - // Notify debug server that the debug session is started in low-code mode - const isWebviewPresent = VisualizerWebview.currentPanel !== undefined; - if (isWebviewPresent && StateMachine.context().isBI) { - config.lowCodeMode = true; - } return config; } +function isVisualizerWebviewActive() { + return VisualizerWebview.currentPanel !== undefined; +} + export async function constructDebugConfig(uri: Uri, testDebug: boolean, args?: any): Promise { const launchConfig: WorkspaceConfiguration = workspace.getConfiguration('launch').length > 0 ? workspace.getConfiguration('launch') : diff --git a/workspaces/ballerina/ballerina-extension/src/utils/project-utils.ts b/workspaces/ballerina/ballerina-extension/src/utils/project-utils.ts index 55bf802e4b1..9d97e793900 100644 --- a/workspaces/ballerina/ballerina-extension/src/utils/project-utils.ts +++ b/workspaces/ballerina/ballerina-extension/src/utils/project-utils.ts @@ -17,10 +17,28 @@ */ import { extension } from "../BalExtensionContext"; -import { Uri, window, workspace } from "vscode"; +import { Uri, window, workspace, RelativePattern, WorkspaceFolder } from "vscode"; import * as path from 'path'; import { isSupportedVersion, VERSION } from "./config"; import { BallerinaProject } from "@wso2/ballerina-core"; +import { readFileSync } from 'fs'; +import { dirname, sep } from 'path'; +import { parseTomlToConfig } from '../features/config-generator/utils'; + +const BALLERINA_TOML_REGEX = `**${sep}Ballerina.toml`; +const BALLERINA_FILE_REGEX = `**${sep}*.bal`; + +export interface BALLERINA_TOML { + package: PACKAGE; + "build-options": any; +} + +export interface PACKAGE { + org: string; + name: string; + version: string; + distribution: string; +} function getCurrentBallerinaProject(file?: string): Promise { return new Promise((resolve, reject) => { @@ -78,4 +96,45 @@ function addToWorkspace(url: string) { workspace.updateWorkspaceFolders(workspace.workspaceFolders ? workspace.workspaceFolders.length : 0, null, { uri: Uri.parse(url) }); } -export { addToWorkspace, getCurrentBallerinaProject, getCurrentBallerinaFile, getCurrenDirectoryPath }; +async function selectBallerinaProjectForDebugging(workspaceFolder?: WorkspaceFolder): Promise { + const tomls = await workspace.findFiles(workspaceFolder ? new RelativePattern(workspaceFolder, BALLERINA_TOML_REGEX) : BALLERINA_TOML_REGEX); + const projects: { project: BallerinaProject; balFile: Uri; relativePath: string }[] = []; + + for (const toml of tomls) { + const projectRoot = dirname(toml.fsPath); + const balFiles = await workspace.findFiles(new RelativePattern(projectRoot, BALLERINA_FILE_REGEX), undefined, 1); + if (balFiles.length > 0) { + const tomlContent: string = readFileSync(toml.fsPath, 'utf8'); + const tomlObj: BALLERINA_TOML = parseTomlToConfig(tomlContent) as BALLERINA_TOML; + const relativePath = workspace.asRelativePath(projectRoot); + // Add only if package name is present in Ballerina.toml (this is to exclude workspace projects) + if (tomlObj.package && tomlObj.package.name) { + projects.push({ project: { packageName: tomlObj.package.name }, balFile: balFiles[0], relativePath }); + } + } + } + + if (projects.length === 1) { + return projects[0].balFile.fsPath; + } else if (projects.length > 1) { + const selectedProject = await window.showQuickPick(projects.map((project) => { + return { + label: project.project.packageName, + description: project.relativePath + }; + }), { placeHolder: "Detected multiple Ballerina projects within the workspace. Select one to debug.", canPickMany: false }); + + if (selectedProject) { + const foundProject = projects.find((project) => project.project.packageName === selectedProject.label); + if (foundProject) { + return foundProject.balFile.fsPath; + } + } + throw new Error("Project selection cancelled"); + } else { + extension.ballerinaExtInstance.showMessageInvalidProject(); + throw new Error("No valid Ballerina projects found"); + } +} + +export { addToWorkspace, getCurrentBallerinaProject, getCurrentBallerinaFile, getCurrenDirectoryPath, selectBallerinaProjectForDebugging }; From dec5d40806f3d77449593224dd26e28b8986dce0 Mon Sep 17 00:00:00 2001 From: Nipuna Ransinghe Date: Tue, 28 Oct 2025 13:28:40 +0530 Subject: [PATCH 030/491] Apply suggestions from code review Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .../src/features/debugger/config-provider.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts b/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts index a421fce0cc8..6f910e7df42 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts @@ -257,7 +257,7 @@ async function getModifiedConfigs(workspaceFolder: WorkspaceFolder, config: Debu } if (!config.script) { - // if webview is present and in BI mode, use the project path from the state machine (focused project in BI) + // If webview is present and in BI mode, use the project path from the state machine (focused project in BI) if (StateMachine.context().isBI && isWebviewPresent) { config.script = StateMachine.context().projectPath; } else { @@ -745,7 +745,7 @@ async function getCurrentProjectRoot(): Promise { return currentProjectRoot; } - // 2. Try to get the any open Ballerina files in the editor and determine the project root from there + // 2. Try to get any open Ballerina files in the editor and determine the project root from there let file: string | undefined; try { file = getCurrentBallerinaFile(); From c9200276b665bec059da4735d12baf27e7517f31 Mon Sep 17 00:00:00 2001 From: NipunaRanasinghe Date: Tue, 28 Oct 2025 15:19:04 +0530 Subject: [PATCH 031/491] Address more review suggestions --- .../features/config-generator/configGenerator.ts | 10 ++++++---- .../src/features/debugger/config-provider.ts | 14 +++++++++----- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/workspaces/ballerina/ballerina-extension/src/features/config-generator/configGenerator.ts b/workspaces/ballerina/ballerina-extension/src/features/config-generator/configGenerator.ts index 5c437fd2363..ca894e8fe6c 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/config-generator/configGenerator.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/config-generator/configGenerator.ts @@ -29,7 +29,7 @@ import { TextDocumentEdit } from "vscode-languageserver-types"; import { modifyFileContent } from "../../utils/modification"; import { fileURLToPath } from "url"; import { startDebugging } from "../editor-support/activator"; -import { openView } from "../../stateMachine"; +import { openView, StateMachine } from "../../stateMachine"; import * as path from "path"; const UNUSED_IMPORT_ERR_CODE = "BCE2002"; @@ -140,9 +140,11 @@ export async function getCurrentBallerinaProjectFromContext(ballerinaExtInstance } export async function getCurrentBIProject(projectPath: string): Promise { - let currentProject: BallerinaProject = {}; - currentProject = await getCurrentBallerinaProject(projectPath); - return currentProject; + if (StateMachine.context().projectUri) { + projectPath = StateMachine.context().projectUri; + } + + return await getCurrentBallerinaProject(projectPath); } export async function handleOnUnSetValues(packageName: string, configFile: string, ignoreFile: string, ballerinaExtInstance: BallerinaExtension, isCommand: boolean, isBi: boolean): Promise { diff --git a/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts b/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts index 6f910e7df42..71ae838d7d4 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts @@ -98,7 +98,7 @@ function getValueFromProgramArgs(programArgs: string[], idx: number) { async function handleMainFunctionParams(config: DebugConfiguration) { const res = await extension.ballerinaExtInstance.langClient?.getMainFunctionParams({ projectRootIdentifier: { - uri: Uri.file(StateMachine.context().projectPath).toString() + uri: Uri.file(StateMachine.context().projectUri).toString() } }) as MainFunctionParamsResponse; if (res.hasMain) { @@ -258,8 +258,8 @@ async function getModifiedConfigs(workspaceFolder: WorkspaceFolder, config: Debu if (!config.script) { // If webview is present and in BI mode, use the project path from the state machine (focused project in BI) - if (StateMachine.context().isBI && isWebviewPresent) { - config.script = StateMachine.context().projectPath; + if (StateMachine.context().isBI && isWebviewPresent && StateMachine.context().projectUri) { + config.script = StateMachine.context().projectUri; } else { config.script = await selectBallerinaProjectForDebugging(workspaceFolder); } @@ -740,7 +740,7 @@ async function stopRunFast(root: string): Promise { async function getCurrentProjectRoot(): Promise { // 1. Check if the project path is already set in the state machine context - let currentProjectRoot = StateMachine.context().projectPath; + let currentProjectRoot = StateMachine.context().projectUri; if (currentProjectRoot) { return currentProjectRoot; } @@ -755,7 +755,11 @@ async function getCurrentProjectRoot(): Promise { if (file) { const currentProject = await getCurrentBallerinaProject(file); - return (currentProject.kind !== PROJECT_TYPE.SINGLE_FILE) ? currentProject.path! : file; + if (currentProject.kind === PROJECT_TYPE.SINGLE_FILE) { + return file; + } else if (currentProject.path) { + return currentProject.path; + } } // 3. Fallback to workspace root From 766afdb71a68a32bb6cd14e5651c7b7bc0003972 Mon Sep 17 00:00:00 2001 From: madushajg Date: Fri, 31 Oct 2025 23:14:39 +0530 Subject: [PATCH 032/491] Refactor filterPackagePaths to use Promise.all for improved async handling and streamline package validation logic. --- .../ballerina-extension/src/utils/config.ts | 27 ++++++++++--------- 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/workspaces/ballerina/ballerina-extension/src/utils/config.ts b/workspaces/ballerina/ballerina-extension/src/utils/config.ts index 78e96f55120..1eb016d40b4 100644 --- a/workspaces/ballerina/ballerina-extension/src/utils/config.ts +++ b/workspaces/ballerina/ballerina-extension/src/utils/config.ts @@ -177,20 +177,23 @@ export async function checkIsBallerinaWorkspace(uri: Uri): Promise { * @returns Filtered array of valid Ballerina package paths that exist within the workspace */ export async function filterPackagePaths(packagePaths: string[], workspacePath: string): Promise { - return packagePaths.filter(async pkgPath => { - if (path.isAbsolute(pkgPath)) { - const resolvedPath = path.resolve(pkgPath); - const resolvedWorkspacePath = path.resolve(workspacePath); - if (fs.existsSync(resolvedPath) && resolvedPath.startsWith(resolvedWorkspacePath)) { + const results = await Promise.all( + packagePaths.map(async pkgPath => { + if (path.isAbsolute(pkgPath)) { + const resolvedPath = path.resolve(pkgPath); + const resolvedWorkspacePath = path.resolve(workspacePath); + if (fs.existsSync(resolvedPath) && resolvedPath.startsWith(resolvedWorkspacePath)) { + return await checkIsBallerinaPackage(Uri.file(resolvedPath)); + } + } + const resolvedPath = path.resolve(workspacePath, pkgPath); + if (fs.existsSync(resolvedPath) && resolvedPath.startsWith(workspacePath)) { return await checkIsBallerinaPackage(Uri.file(resolvedPath)); } - } - const resolvedPath = path.resolve(workspacePath, pkgPath); - if (fs.existsSync(resolvedPath) && resolvedPath.startsWith(workspacePath)) { - return await checkIsBallerinaPackage(Uri.file(resolvedPath)); - } - return false; - }); + return false; + }) + ); + return packagePaths.filter((_, index) => results[index]); } export function getOrgPackageName(projectPath: string): { orgName: string, packageName: string } { From 8a57d5dadbbfd922450682512310890e48663a60 Mon Sep 17 00:00:00 2001 From: ChamodA Date: Sun, 2 Nov 2025 19:43:53 +0530 Subject: [PATCH 033/491] Add ClauseConnectorNode, factory, widget, and index files --- .../ClauseConnector/ClauseConnectorNode.ts | 228 ++++++++++++++++++ .../ClauseConnectorNodeFactory.tsx | 43 ++++ .../ClauseConnectorNodeWidget.tsx | 116 +++++++++ .../Diagram/Node/ClauseConnector/index.ts | 20 ++ 4 files changed, 407 insertions(+) create mode 100644 workspaces/ballerina/data-mapper/src/components/Diagram/Node/ClauseConnector/ClauseConnectorNode.ts create mode 100644 workspaces/ballerina/data-mapper/src/components/Diagram/Node/ClauseConnector/ClauseConnectorNodeFactory.tsx create mode 100644 workspaces/ballerina/data-mapper/src/components/Diagram/Node/ClauseConnector/ClauseConnectorNodeWidget.tsx create mode 100644 workspaces/ballerina/data-mapper/src/components/Diagram/Node/ClauseConnector/index.ts diff --git a/workspaces/ballerina/data-mapper/src/components/Diagram/Node/ClauseConnector/ClauseConnectorNode.ts b/workspaces/ballerina/data-mapper/src/components/Diagram/Node/ClauseConnector/ClauseConnectorNode.ts new file mode 100644 index 00000000000..5b6941a9d20 --- /dev/null +++ b/workspaces/ballerina/data-mapper/src/components/Diagram/Node/ClauseConnector/ClauseConnectorNode.ts @@ -0,0 +1,228 @@ +/** + * Copyright (c) 2025, WSO2 LLC. (https://www.wso2.com) All Rights Reserved. + * + * WSO2 LLC. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +import { DMDiagnostic, Mapping } from "@wso2/ballerina-core"; + +import { IDataMapperContext } from "../../../../utils/DataMapperContext/DataMapperContext"; +import { DataMapperLinkModel } from "../../Link"; +import { InputOutputPortModel, IntermediatePortModel } from "../../Port"; +import { DataMapperNodeModel } from "../commons/DataMapperNode"; +import { ArrayOutputNode } from "../ArrayOutput"; +import { ObjectOutputNode } from "../ObjectOutput"; +import { findInputNode } from "../../utils/node-utils"; +import { getInputPort, getOutputPort, getTargetPortPrefix } from "../../utils/port-utils"; +import { OFFSETS } from "../../utils/constants"; +import { removeMapping } from "../../utils/modification-utils"; +import { QueryOutputNode } from "../QueryOutput"; +import { useDMSearchStore } from "../../../../store/store"; + +export const CLAUSE_CONNECTOR_NODE_TYPE = "clause-connector-node"; +const NODE_ID = "clause-connector-node"; + +export class ClauseConnectorNode extends DataMapperNodeModel { + + public sourcePorts: InputOutputPortModel[] = []; + public targetPort: InputOutputPortModel; + public targetMappedPort: InputOutputPortModel; + + public inPort: IntermediatePortModel; + public outPort: IntermediatePortModel; + + public diagnostics: DMDiagnostic[]; + public value: string; + public hidden: boolean; + public shouldInitLinks: boolean; + public label: string; + + constructor( + public context: IDataMapperContext, + public mapping: Mapping + ) { + super( + NODE_ID, + context, + CLAUSE_CONNECTOR_NODE_TYPE + ); + this.value = mapping.expression; + this.diagnostics = mapping.diagnostics; + } + + initPorts(): void { + const prevSourcePorts = this.sourcePorts; + this.sourcePorts = []; + this.targetMappedPort = undefined; + this.inPort = new IntermediatePortModel(`${this.mapping.inputs.join('_')}_${this.mapping.output}_IN`, "IN"); + this.outPort = new IntermediatePortModel(`${this.mapping.inputs.join('_')}_${this.mapping.output}_OUT`, "OUT"); + this.addPort(this.inPort); + this.addPort(this.outPort); + + const inputSearch = useDMSearchStore.getState().inputSearch; + const outputSearch = useDMSearchStore.getState().outputSearch; + + const views = this.context.views; + const lastViewIndex = views.length - 1; + + this.mapping.inputs.forEach((field) => { + const inputField = field?.split('.').pop(); + const matchedSearch = inputSearch === "" || inputField.toLowerCase().includes(inputSearch.toLowerCase()); + + if (!matchedSearch) return; + + const inputNode = findInputNode(field, this, views, lastViewIndex); + if (inputNode) { + const inputPort = getInputPort(inputNode, field?.replace(/\.\d+/g, '')); + if (!this.sourcePorts.some(port => port.getID() === inputPort.getID())) { + this.sourcePorts.push(inputPort); + } + } + }) + + const outputField = this.mapping.output.split(".").pop(); + const matchedSearch = outputSearch === "" || outputField.toLowerCase().includes(outputSearch.toLowerCase()); + + if (matchedSearch && this.outPort) { + this.getModel().getNodes().map((node) => { + + if (node instanceof ObjectOutputNode || node instanceof ArrayOutputNode || node instanceof QueryOutputNode) { + const targetPortPrefix = getTargetPortPrefix(node); + + this.targetPort = node.getPort(`${targetPortPrefix}.${this.mapping.output}.IN`) as InputOutputPortModel; + this.targetMappedPort = this.targetPort; + + [this.targetPort, this.targetMappedPort] = getOutputPort(node, this.mapping.output); + const previouslyHidden = this.hidden; + this.hidden = this.targetMappedPort?.attributes.portName !== this.targetPort?.attributes.portName; + if (this.hidden !== previouslyHidden + || (prevSourcePorts.length !== this.sourcePorts.length + || prevSourcePorts.map(port => port.getID()).join('') + !== this.sourcePorts.map(port => port.getID()).join(''))) + { + this.shouldInitLinks = true; + } + } + }); + } + } + + initLinks(): void { + if (!this.shouldInitLinks) { + return; + } + if (this.hidden) { + if (this.targetMappedPort) { + this.sourcePorts.forEach((sourcePort) => { + const inPort = this.targetMappedPort; + const lm = new DataMapperLinkModel(undefined, this.diagnostics, true); + + sourcePort.addLinkedPort(this.targetMappedPort); + + lm.setTargetPort(this.targetMappedPort); + lm.setSourcePort(sourcePort); + lm.registerListener({ + selectionChanged(event) { + if (event.isSelected) { + inPort.fireEvent({}, "link-selected"); + sourcePort.fireEvent({}, "link-selected"); + } else { + inPort.fireEvent({}, "link-unselected"); + sourcePort.fireEvent({}, "link-unselected"); + } + }, + }) + this.getModel().addAll(lm as any); + + if (!this.label) { + this.label = this.targetMappedPort.attributes.fieldFQN.split('.').pop(); + } + }) + } + } else { + this.sourcePorts.forEach((sourcePort) => { + const inPort = this.inPort; + const lm = new DataMapperLinkModel(undefined, this.diagnostics, true); + + if (sourcePort) { + sourcePort.addLinkedPort(this.inPort); + sourcePort.addLinkedPort(this.targetMappedPort) + + lm.setTargetPort(this.inPort); + lm.setSourcePort(sourcePort); + lm.registerListener({ + selectionChanged(event) { + if (event.isSelected) { + inPort.fireEvent({}, "link-selected"); + sourcePort.fireEvent({}, "link-selected"); + } else { + inPort.fireEvent({}, "link-unselected"); + sourcePort.fireEvent({}, "link-unselected"); + } + }, + }) + this.getModel().addAll(lm as any); + } + }) + + if (this.targetMappedPort) { + const outPort = this.outPort; + const targetPort = this.targetMappedPort; + + const lm = new DataMapperLinkModel(undefined, this.diagnostics, true); + + lm.setTargetPort(this.targetMappedPort); + lm.setSourcePort(this.outPort); + lm.registerListener({ + selectionChanged(event) { + if (event.isSelected) { + outPort.fireEvent({}, "link-selected"); + targetPort.fireEvent({}, "link-selected"); + } else { + outPort.fireEvent({}, "link-unselected"); + targetPort.fireEvent({}, "link-unselected"); + } + }, + }) + + if (!this.label) { + const fieldFQN = this.targetMappedPort.attributes.fieldFQN; + this.label = fieldFQN ? this.targetMappedPort.attributes.fieldFQN.split('.').pop() : ''; + } + this.getModel().addAll(lm as any); + } + } + this.shouldInitLinks = false; + } + + public updatePosition() { + if (this.targetMappedPort) { + const position = this.targetMappedPort.getPosition(); + this.setPosition( + this.hasError() + ? OFFSETS.LINK_CONNECTOR_NODE_WITH_ERROR.X + : OFFSETS.LINK_CONNECTOR_NODE.X, + position.y - 2 + ); + } + } + + public async deleteLink(): Promise { + await removeMapping(this.mapping, this.context); + } + + public hasError(): boolean { + return this.diagnostics?.length > 0; + } +} \ No newline at end of file diff --git a/workspaces/ballerina/data-mapper/src/components/Diagram/Node/ClauseConnector/ClauseConnectorNodeFactory.tsx b/workspaces/ballerina/data-mapper/src/components/Diagram/Node/ClauseConnector/ClauseConnectorNodeFactory.tsx new file mode 100644 index 00000000000..e2ae6becd22 --- /dev/null +++ b/workspaces/ballerina/data-mapper/src/components/Diagram/Node/ClauseConnector/ClauseConnectorNodeFactory.tsx @@ -0,0 +1,43 @@ +/** + * Copyright (c) 2025, WSO2 LLC. (https://www.wso2.com) All Rights Reserved. + * + * WSO2 LLC. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +import * as React from 'react'; + +import { AbstractReactFactory } from '@projectstorm/react-canvas-core'; +import { DiagramEngine } from '@projectstorm/react-diagrams-core'; + +import { ClauseConnectorNode, CLAUSE_CONNECTOR_NODE_TYPE } from './ClauseConnectorNode'; +import { ClauseConnectorNodeWidget } from './ClauseConnectorNodeWidget'; + +export class ClauseConnectorNodeFactory extends AbstractReactFactory { + constructor() { + super(CLAUSE_CONNECTOR_NODE_TYPE); + } + + generateReactWidget(event: { model: ClauseConnectorNode; }): JSX.Element { + const inputPortHasLinks = Object.keys(event.model.inPort.links).length; + const outputPortHasLinks = Object.keys(event.model.outPort.links).length; + if (inputPortHasLinks && outputPortHasLinks) { + return ; + } + return null; + } + + generateModel(): ClauseConnectorNode { + return undefined; + } +} \ No newline at end of file diff --git a/workspaces/ballerina/data-mapper/src/components/Diagram/Node/ClauseConnector/ClauseConnectorNodeWidget.tsx b/workspaces/ballerina/data-mapper/src/components/Diagram/Node/ClauseConnector/ClauseConnectorNodeWidget.tsx new file mode 100644 index 00000000000..11578b960d9 --- /dev/null +++ b/workspaces/ballerina/data-mapper/src/components/Diagram/Node/ClauseConnector/ClauseConnectorNodeWidget.tsx @@ -0,0 +1,116 @@ +/** + * Copyright (c) 2025, WSO2 LLC. (https://www.wso2.com) All Rights Reserved. + * + * WSO2 LLC. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +// tslint:disable: jsx-no-multiline-js +import React, { useState } from "react"; +import { DiagramEngine } from '@projectstorm/react-diagrams-core'; +import { Button, Codicon, ProgressRing } from '@wso2/ui-toolkit'; +import classnames from 'classnames'; + +import { useIntermediateNodeStyles } from '../../../styles'; +import { ClauseConnectorNode } from './ClauseConnectorNode'; +import { renderDeleteButton, renderEditButton, renderPortWidget } from "../LinkConnector/LinkConnectorWidgetComponents"; +import { DiagnosticWidget } from "../../Diagnostic/DiagnosticWidget"; +import { expandArrayFn } from "../../utils/common-utils"; +import { useDMCollapsedFieldsStore, useDMExpandedFieldsStore, useDMExpressionBarStore } from "../../../../store/store"; + +export interface ClauseConnectorNodeWidgetProps { + node: ClauseConnectorNode; + engine: DiagramEngine; +} + +export function ClauseConnectorNodeWidget(props: ClauseConnectorNodeWidgetProps) { + const { node, engine } = props; + + const classes = useIntermediateNodeStyles(); + const setExprBarFocusedPort = useDMExpressionBarStore(state => state.setFocusedPort); + const collapsedFieldsStore = useDMCollapsedFieldsStore(); + const expandedFieldsStore = useDMExpandedFieldsStore(); + + const diagnostic = node.hasError() ? node.diagnostics[0] : null; + const value = node.value; + + const [deleteInProgress, setDeleteInProgress] = useState(false); + + const onClickEdit = () => { + const targetPort = node.targetMappedPort; + setExprBarFocusedPort(targetPort); + }; + + const onClickDelete = async () => { + setDeleteInProgress(true); + if (node.deleteLink) { + await node.deleteLink(); + } + setDeleteInProgress(false); + }; + + const onFocusClause = () => { + const sourcePorts = node.sourcePorts.map(port => port.attributes.portName); + const targetPort = node.targetMappedPort.attributes.portName; + + sourcePorts.forEach((port) => { + collapsedFieldsStore.removeField(port); + expandedFieldsStore.removeField(port); + }); + collapsedFieldsStore.removeField(targetPort); + expandedFieldsStore.removeField(targetPort); + + const context = node.context; + const lastView = context.views[context.views.length - 1]; + const mapping = node.targetMappedPort.attributes.value; + expandArrayFn(context, mapping.inputs[0], mapping.output, lastView.targetField); + }; + + const loadingScreen = ( +
+ +
+ ); + + return (!node.hidden && ( +
+
+ {renderPortWidget(engine, node.inPort, `${node?.value}-input`)} + {renderEditButton(onClickEdit, node?.value)} + + {deleteInProgress ? ( + loadingScreen + ) : ( + <>{renderDeleteButton(onClickDelete, node?.value)} + )} + {diagnostic && ( + + )} + {renderPortWidget(engine, node.outPort, `${node?.value}-output`)} +
+
+ ) + ); +} \ No newline at end of file diff --git a/workspaces/ballerina/data-mapper/src/components/Diagram/Node/ClauseConnector/index.ts b/workspaces/ballerina/data-mapper/src/components/Diagram/Node/ClauseConnector/index.ts new file mode 100644 index 00000000000..8c732f99edb --- /dev/null +++ b/workspaces/ballerina/data-mapper/src/components/Diagram/Node/ClauseConnector/index.ts @@ -0,0 +1,20 @@ +/** + * Copyright (c) 2025, WSO2 LLC. (https://www.wso2.com) All Rights Reserved. + * + * WSO2 LLC. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +export * from "./ClauseConnectorNode"; +export * from "./ClauseConnectorNodeFactory"; +export * from "./ClauseConnectorNodeWidget"; \ No newline at end of file From e0ab1c92fdeb575609dd8da35d09dfc2cd6f81e5 Mon Sep 17 00:00:00 2001 From: ChamodA Date: Sun, 2 Nov 2025 19:46:29 +0530 Subject: [PATCH 034/491] Register ClauseConnectorNodeFactory in the diagram engine and export ClauseConnector from the node index --- .../ballerina/data-mapper/src/components/Diagram/Diagram.tsx | 1 + .../ballerina/data-mapper/src/components/Diagram/Node/index.ts | 1 + 2 files changed, 2 insertions(+) diff --git a/workspaces/ballerina/data-mapper/src/components/Diagram/Diagram.tsx b/workspaces/ballerina/data-mapper/src/components/Diagram/Diagram.tsx index 542a0886935..63d6cd763f6 100644 --- a/workspaces/ballerina/data-mapper/src/components/Diagram/Diagram.tsx +++ b/workspaces/ballerina/data-mapper/src/components/Diagram/Diagram.tsx @@ -87,6 +87,7 @@ function initDiagramEngine() { engine.getNodeFactories().registerFactory(new Nodes.QueryOutputNodeFactory()); engine.getNodeFactories().registerFactory(new Nodes.LinkConnectorNodeFactory()); engine.getNodeFactories().registerFactory(new Nodes.QueryExprConnectorNodeFactory()); + engine.getNodeFactories().registerFactory(new Nodes.ClauseConnectorNodeFactory()); engine.getNodeFactories().registerFactory(new Nodes.DataImportNodeFactory()); engine.getNodeFactories().registerFactory(new Nodes.EmptyInputsNodeFactory()); diff --git a/workspaces/ballerina/data-mapper/src/components/Diagram/Node/index.ts b/workspaces/ballerina/data-mapper/src/components/Diagram/Node/index.ts index 8da41fe9613..2aa01e08ba9 100644 --- a/workspaces/ballerina/data-mapper/src/components/Diagram/Node/index.ts +++ b/workspaces/ballerina/data-mapper/src/components/Diagram/Node/index.ts @@ -25,4 +25,5 @@ export * from "./PrimitiveOutput"; export * from "./QueryOutput"; export * from "./LinkConnector"; export * from "./QueryExprConnector"; +export * from "./ClauseConnector"; export * from "./EmptyInputs"; From 91e06a171945e5ff11b1be522674153809a08d59 Mon Sep 17 00:00:00 2001 From: ChamodA Date: Sun, 2 Nov 2025 21:42:38 +0530 Subject: [PATCH 035/491] Refactor ClauseConnectorNode to use Query and update related components --- .../ClauseConnector/ClauseConnectorNode.ts | 153 +++++++----------- .../ClauseConnectorNodeWidget.tsx | 27 +--- .../Node/QueryOutput/QueryOutputNode.ts | 34 ++-- .../data-mapper/src/utils/model-utils.ts | 12 +- .../data-mapper/src/visitors/BaseVisitor.ts | 6 +- .../visitors/IntermediateNodeInitVisitor.ts | 10 +- 6 files changed, 102 insertions(+), 140 deletions(-) diff --git a/workspaces/ballerina/data-mapper/src/components/Diagram/Node/ClauseConnector/ClauseConnectorNode.ts b/workspaces/ballerina/data-mapper/src/components/Diagram/Node/ClauseConnector/ClauseConnectorNode.ts index 5b6941a9d20..25d26bdaf74 100644 --- a/workspaces/ballerina/data-mapper/src/components/Diagram/Node/ClauseConnector/ClauseConnectorNode.ts +++ b/workspaces/ballerina/data-mapper/src/components/Diagram/Node/ClauseConnector/ClauseConnectorNode.ts @@ -15,7 +15,7 @@ * specific language governing permissions and limitations * under the License. */ -import { DMDiagnostic, Mapping } from "@wso2/ballerina-core"; +import { DMDiagnostic, Query } from "@wso2/ballerina-core"; import { IDataMapperContext } from "../../../../utils/DataMapperContext/DataMapperContext"; import { DataMapperLinkModel } from "../../Link"; @@ -37,36 +37,34 @@ export class ClauseConnectorNode extends DataMapperNodeModel { public sourcePorts: InputOutputPortModel[] = []; public targetPort: InputOutputPortModel; - public targetMappedPort: InputOutputPortModel; public inPort: IntermediatePortModel; public outPort: IntermediatePortModel; public diagnostics: DMDiagnostic[]; public value: string; - public hidden: boolean; public shouldInitLinks: boolean; public label: string; constructor( public context: IDataMapperContext, - public mapping: Mapping + public query: Query ) { super( NODE_ID, context, CLAUSE_CONNECTOR_NODE_TYPE ); - this.value = mapping.expression; - this.diagnostics = mapping.diagnostics; + this.value = query.output; + this.diagnostics = query.diagnostics; } initPorts(): void { const prevSourcePorts = this.sourcePorts; this.sourcePorts = []; - this.targetMappedPort = undefined; - this.inPort = new IntermediatePortModel(`${this.mapping.inputs.join('_')}_${this.mapping.output}_IN`, "IN"); - this.outPort = new IntermediatePortModel(`${this.mapping.inputs.join('_')}_${this.mapping.output}_OUT`, "OUT"); + this.targetPort = undefined; + this.inPort = new IntermediatePortModel(`${this.query.inputs.join('_')}_${this.query.output}_IN`, "IN"); + this.outPort = new IntermediatePortModel(`${this.query.inputs.join('_')}_${this.query.output}_OUT`, "OUT"); this.addPort(this.inPort); this.addPort(this.outPort); @@ -76,7 +74,7 @@ export class ClauseConnectorNode extends DataMapperNodeModel { const views = this.context.views; const lastViewIndex = views.length - 1; - this.mapping.inputs.forEach((field) => { + this.query.inputs.forEach((field) => { const inputField = field?.split('.').pop(); const matchedSearch = inputSearch === "" || inputField.toLowerCase().includes(inputSearch.toLowerCase()); @@ -91,26 +89,19 @@ export class ClauseConnectorNode extends DataMapperNodeModel { } }) - const outputField = this.mapping.output.split(".").pop(); + const outputField = this.query.output.split(".").pop(); const matchedSearch = outputSearch === "" || outputField.toLowerCase().includes(outputSearch.toLowerCase()); if (matchedSearch && this.outPort) { this.getModel().getNodes().map((node) => { - if (node instanceof ObjectOutputNode || node instanceof ArrayOutputNode || node instanceof QueryOutputNode) { + if (node instanceof QueryOutputNode) { const targetPortPrefix = getTargetPortPrefix(node); - this.targetPort = node.getPort(`${targetPortPrefix}.${this.mapping.output}.IN`) as InputOutputPortModel; - this.targetMappedPort = this.targetPort; - - [this.targetPort, this.targetMappedPort] = getOutputPort(node, this.mapping.output); - const previouslyHidden = this.hidden; - this.hidden = this.targetMappedPort?.attributes.portName !== this.targetPort?.attributes.portName; - if (this.hidden !== previouslyHidden - || (prevSourcePorts.length !== this.sourcePorts.length - || prevSourcePorts.map(port => port.getID()).join('') - !== this.sourcePorts.map(port => port.getID()).join(''))) - { + this.targetPort = node.getPort(`${targetPortPrefix}.${this.query.output}.#.IN`) as InputOutputPortModel; + + if (prevSourcePorts.length !== this.sourcePorts.length || + prevSourcePorts.map(port => port.getID()).join('') !== this.sourcePorts.map(port => port.getID()).join('')) { this.shouldInitLinks = true; } } @@ -122,93 +113,65 @@ export class ClauseConnectorNode extends DataMapperNodeModel { if (!this.shouldInitLinks) { return; } - if (this.hidden) { - if (this.targetMappedPort) { - this.sourcePorts.forEach((sourcePort) => { - const inPort = this.targetMappedPort; - const lm = new DataMapperLinkModel(undefined, this.diagnostics, true); - - sourcePort.addLinkedPort(this.targetMappedPort); - - lm.setTargetPort(this.targetMappedPort); - lm.setSourcePort(sourcePort); - lm.registerListener({ - selectionChanged(event) { - if (event.isSelected) { - inPort.fireEvent({}, "link-selected"); - sourcePort.fireEvent({}, "link-selected"); - } else { - inPort.fireEvent({}, "link-unselected"); - sourcePort.fireEvent({}, "link-unselected"); - } - }, - }) - this.getModel().addAll(lm as any); - - if (!this.label) { - this.label = this.targetMappedPort.attributes.fieldFQN.split('.').pop(); - } - }) - } - } else { - this.sourcePorts.forEach((sourcePort) => { - const inPort = this.inPort; - const lm = new DataMapperLinkModel(undefined, this.diagnostics, true); - - if (sourcePort) { - sourcePort.addLinkedPort(this.inPort); - sourcePort.addLinkedPort(this.targetMappedPort) - - lm.setTargetPort(this.inPort); - lm.setSourcePort(sourcePort); - lm.registerListener({ - selectionChanged(event) { - if (event.isSelected) { - inPort.fireEvent({}, "link-selected"); - sourcePort.fireEvent({}, "link-selected"); - } else { - inPort.fireEvent({}, "link-unselected"); - sourcePort.fireEvent({}, "link-unselected"); - } - }, - }) - this.getModel().addAll(lm as any); - } - }) - if (this.targetMappedPort) { - const outPort = this.outPort; - const targetPort = this.targetMappedPort; + this.sourcePorts.forEach((sourcePort) => { + const inPort = this.inPort; + const lm = new DataMapperLinkModel(undefined, this.diagnostics, true, undefined, true); - const lm = new DataMapperLinkModel(undefined, this.diagnostics, true); + if (sourcePort) { + sourcePort.addLinkedPort(this.inPort); + sourcePort.addLinkedPort(this.targetPort) - lm.setTargetPort(this.targetMappedPort); - lm.setSourcePort(this.outPort); + lm.setTargetPort(this.inPort); + lm.setSourcePort(sourcePort); lm.registerListener({ selectionChanged(event) { if (event.isSelected) { - outPort.fireEvent({}, "link-selected"); - targetPort.fireEvent({}, "link-selected"); + inPort.fireEvent({}, "link-selected"); + sourcePort.fireEvent({}, "link-selected"); } else { - outPort.fireEvent({}, "link-unselected"); - targetPort.fireEvent({}, "link-unselected"); + inPort.fireEvent({}, "link-unselected"); + sourcePort.fireEvent({}, "link-unselected"); } }, }) - - if (!this.label) { - const fieldFQN = this.targetMappedPort.attributes.fieldFQN; - this.label = fieldFQN ? this.targetMappedPort.attributes.fieldFQN.split('.').pop() : ''; - } this.getModel().addAll(lm as any); } + }) + + if (this.targetPort) { + const outPort = this.outPort; + const targetPort = this.targetPort; + + const lm = new DataMapperLinkModel(undefined, this.diagnostics, true, undefined, true); + + lm.setTargetPort(this.targetPort); + lm.setSourcePort(this.outPort); + lm.registerListener({ + selectionChanged(event) { + if (event.isSelected) { + outPort.fireEvent({}, "link-selected"); + targetPort.fireEvent({}, "link-selected"); + } else { + outPort.fireEvent({}, "link-unselected"); + targetPort.fireEvent({}, "link-unselected"); + } + }, + }) + + if (!this.label) { + const fieldFQN = this.targetPort.attributes.fieldFQN; + this.label = fieldFQN ? this.targetPort.attributes.fieldFQN.split('.').pop() : ''; + } + this.getModel().addAll(lm as any); } + this.shouldInitLinks = false; } public updatePosition() { - if (this.targetMappedPort) { - const position = this.targetMappedPort.getPosition(); + if (this.targetPort) { + const position = this.targetPort.getPosition(); this.setPosition( this.hasError() ? OFFSETS.LINK_CONNECTOR_NODE_WITH_ERROR.X @@ -218,10 +181,6 @@ export class ClauseConnectorNode extends DataMapperNodeModel { } } - public async deleteLink(): Promise { - await removeMapping(this.mapping, this.context); - } - public hasError(): boolean { return this.diagnostics?.length > 0; } diff --git a/workspaces/ballerina/data-mapper/src/components/Diagram/Node/ClauseConnector/ClauseConnectorNodeWidget.tsx b/workspaces/ballerina/data-mapper/src/components/Diagram/Node/ClauseConnector/ClauseConnectorNodeWidget.tsx index 11578b960d9..2f97be030c9 100644 --- a/workspaces/ballerina/data-mapper/src/components/Diagram/Node/ClauseConnector/ClauseConnectorNodeWidget.tsx +++ b/workspaces/ballerina/data-mapper/src/components/Diagram/Node/ClauseConnector/ClauseConnectorNodeWidget.tsx @@ -47,21 +47,13 @@ export function ClauseConnectorNodeWidget(props: ClauseConnectorNodeWidgetProps) const [deleteInProgress, setDeleteInProgress] = useState(false); const onClickEdit = () => { - const targetPort = node.targetMappedPort; + const targetPort = node.targetPort; setExprBarFocusedPort(targetPort); }; - const onClickDelete = async () => { - setDeleteInProgress(true); - if (node.deleteLink) { - await node.deleteLink(); - } - setDeleteInProgress(false); - }; - const onFocusClause = () => { const sourcePorts = node.sourcePorts.map(port => port.attributes.portName); - const targetPort = node.targetMappedPort.attributes.portName; + const targetPort = node.targetPort.attributes.portName; sourcePorts.forEach((port) => { collapsedFieldsStore.removeField(port); @@ -72,7 +64,7 @@ export function ClauseConnectorNodeWidget(props: ClauseConnectorNodeWidgetProps) const context = node.context; const lastView = context.views[context.views.length - 1]; - const mapping = node.targetMappedPort.attributes.value; + const mapping = node.targetPort.attributes.value; expandArrayFn(context, mapping.inputs[0], mapping.output, lastView.targetField); }; @@ -82,24 +74,18 @@ export function ClauseConnectorNodeWidget(props: ClauseConnectorNodeWidgetProps) ); - return (!node.hidden && ( + return (
{renderPortWidget(engine, node.inPort, `${node?.value}-input`)} - {renderEditButton(onClickEdit, node?.value)} - {deleteInProgress ? ( - loadingScreen - ) : ( - <>{renderDeleteButton(onClickDelete, node?.value)} - )} {diagnostic && (
- ) ); } \ No newline at end of file diff --git a/workspaces/ballerina/data-mapper/src/components/Diagram/Node/QueryOutput/QueryOutputNode.ts b/workspaces/ballerina/data-mapper/src/components/Diagram/Node/QueryOutput/QueryOutputNode.ts index 83d43bc2d2d..a3203d16f8e 100644 --- a/workspaces/ballerina/data-mapper/src/components/Diagram/Node/QueryOutput/QueryOutputNode.ts +++ b/workspaces/ballerina/data-mapper/src/components/Diagram/Node/QueryOutput/QueryOutputNode.ts @@ -115,7 +115,7 @@ export class QueryOutputNode extends DataMapperNodeModel { const views = this.context.views; const lastViewIndex = views.length - 1; - const { inputs: queryInputs, output: queryOutput} = this.context.model.query; + // const { inputs: queryInputs, output: queryOutput} = this.context.model.query; mappings.forEach((mapping) => { @@ -164,27 +164,27 @@ export class QueryOutputNode extends DataMapperNodeModel { } }); - const inputNode = findInputNode(queryInputs[0], this, views, lastViewIndex); - let inPort: InputOutputPortModel; - if (inputNode) { - inPort = getInputPort(inputNode, queryInputs[0].replace(/\.\d+/g, '')); - } + // const inputNode = findInputNode(queryInputs[0], this, views, lastViewIndex); + // let inPort: InputOutputPortModel; + // if (inputNode) { + // inPort = getInputPort(inputNode, queryInputs[0].replace(/\.\d+/g, '')); + // } - const [_, mappedOutPort] = getOutputPort(this, queryOutput + ".#"); + // const [_, mappedOutPort] = getOutputPort(this, queryOutput + ".#"); - if (inPort && mappedOutPort) { - const lm = new DataMapperLinkModel(undefined, undefined, true, undefined, true); + // if (inPort && mappedOutPort) { + // const lm = new DataMapperLinkModel(undefined, undefined, true, undefined, true); - lm.setTargetPort(mappedOutPort); - lm.setSourcePort(inPort); - inPort.addLinkedPort(mappedOutPort); + // lm.setTargetPort(mappedOutPort); + // lm.setSourcePort(inPort); + // inPort.addLinkedPort(mappedOutPort); - lm.addLabel(new ExpressionLabelModel({ - isQuery: true - })); + // lm.addLabel(new ExpressionLabelModel({ + // isQuery: true + // })); - this.getModel().addAll(lm as any); - } + // this.getModel().addAll(lm as any); + // } } diff --git a/workspaces/ballerina/data-mapper/src/utils/model-utils.ts b/workspaces/ballerina/data-mapper/src/utils/model-utils.ts index e48f3a5c39e..cfd7951d5c2 100644 --- a/workspaces/ballerina/data-mapper/src/utils/model-utils.ts +++ b/workspaces/ballerina/data-mapper/src/utils/model-utils.ts @@ -16,7 +16,7 @@ * under the License. */ -import { ExpandedDMModel, IOType, Mapping } from "@wso2/ballerina-core"; +import { ExpandedDMModel, IOType, Mapping, Query } from "@wso2/ballerina-core"; import { BaseVisitor } from "../visitors/BaseVisitor"; export function traverseNode(model: ExpandedDMModel, visitor: BaseVisitor) { @@ -43,6 +43,11 @@ export function traverseNode(model: ExpandedDMModel, visitor: BaseVisitor) { } } + // Visit query + if (model.query) { + traverseQuery(model.query, model, visitor); + } + visitor.endVisit?.(model); } @@ -76,3 +81,8 @@ function traverseMappings(mappings: Mapping[], parentMapping: Mapping, parentMod visitor.endVisitMapping?.(mapping, parentMapping, parentModel); } } + +function traverseQuery(query: Query, parent: ExpandedDMModel, visitor: BaseVisitor) { + visitor.beginVisitQuery?.(query, parent); + visitor.endVisitQuery?.(query, parent); +} diff --git a/workspaces/ballerina/data-mapper/src/visitors/BaseVisitor.ts b/workspaces/ballerina/data-mapper/src/visitors/BaseVisitor.ts index d0f5d48b952..c0f6b9b2a2e 100644 --- a/workspaces/ballerina/data-mapper/src/visitors/BaseVisitor.ts +++ b/workspaces/ballerina/data-mapper/src/visitors/BaseVisitor.ts @@ -16,7 +16,7 @@ * under the License. */ -import { ExpandedDMModel, IOType, Mapping } from "@wso2/ballerina-core"; +import { ExpandedDMModel, IOType, Mapping, Query } from "@wso2/ballerina-core"; export interface BaseVisitor { beginVisit?(node: ExpandedDMModel, parent?: ExpandedDMModel): void; @@ -33,4 +33,8 @@ export interface BaseVisitor { beginVisitMapping?(node: Mapping, parentMapping: Mapping, parentModel?: ExpandedDMModel): void; endVisitMapping?(node: Mapping, parentMapping: Mapping, parentModel?: ExpandedDMModel): void; + + beginVisitQuery?(query: Query, parent?: ExpandedDMModel): void; + endVisitQuery?(query: Query, parent?: ExpandedDMModel): void; + } diff --git a/workspaces/ballerina/data-mapper/src/visitors/IntermediateNodeInitVisitor.ts b/workspaces/ballerina/data-mapper/src/visitors/IntermediateNodeInitVisitor.ts index f8cecbcd587..c757ee1245a 100644 --- a/workspaces/ballerina/data-mapper/src/visitors/IntermediateNodeInitVisitor.ts +++ b/workspaces/ballerina/data-mapper/src/visitors/IntermediateNodeInitVisitor.ts @@ -15,12 +15,11 @@ * specific language governing permissions and limitations * under the License. */ -import { LinkConnectorNode } from "../components/Diagram/Node"; +import { LinkConnectorNode, QueryExprConnectorNode, ClauseConnectorNode } from "../components/Diagram/Node"; import { DataMapperNodeModel } from "../components/Diagram/Node/commons/DataMapperNode"; import { DataMapperContext } from "../utils/DataMapperContext/DataMapperContext"; -import { Mapping } from "@wso2/ballerina-core"; +import { Mapping, Query } from "@wso2/ballerina-core"; import { BaseVisitor } from "./BaseVisitor"; -import { QueryExprConnectorNode } from "../components/Diagram/Node/QueryExprConnector"; export class IntermediateNodeInitVisitor implements BaseVisitor { private intermediateNodes: DataMapperNodeModel[] = []; @@ -45,6 +44,11 @@ export class IntermediateNodeInitVisitor implements BaseVisitor { } } + beginVisitQuery(query: Query): void { + const clauseConnectorNode = new ClauseConnectorNode(this.context, query); + this.intermediateNodes.push(clauseConnectorNode); + } + getNodes() { return this.intermediateNodes; } From 7d6492dea30647ccb251591d50009b6ca20766d9 Mon Sep 17 00:00:00 2001 From: ChamodA Date: Mon, 3 Nov 2025 11:27:36 +0530 Subject: [PATCH 036/491] Add ClauseConnectorNode support in IONodesScrollCanvasAction and positioning in Diagram --- .../components/Diagram/Actions/IONodesScrollCanvasAction.ts | 4 ++-- .../data-mapper/src/components/Diagram/Diagram.tsx | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/workspaces/ballerina/data-mapper/src/components/Diagram/Actions/IONodesScrollCanvasAction.ts b/workspaces/ballerina/data-mapper/src/components/Diagram/Actions/IONodesScrollCanvasAction.ts index 8688fee82ca..436a2c0fb2e 100644 --- a/workspaces/ballerina/data-mapper/src/components/Diagram/Actions/IONodesScrollCanvasAction.ts +++ b/workspaces/ballerina/data-mapper/src/components/Diagram/Actions/IONodesScrollCanvasAction.ts @@ -27,7 +27,7 @@ import { isOutputNode } from "./utils"; import { IO_NODE_DEFAULT_WIDTH, VISUALIZER_PADDING, defaultModelOptions } from "../utils/constants"; -import { LinkConnectorNode, QueryExprConnectorNode } from "../Node"; +import { ClauseConnectorNode, LinkConnectorNode, QueryExprConnectorNode } from "../Node"; export interface PanAndZoomCanvasActionOptions { inverseZoom?: boolean; @@ -161,7 +161,7 @@ function repositionIntermediateNodes(outputNode: NodeModel) { if (link instanceof DataMapperLinkModel) { const sourceNode = link.getSourcePort().getNode(); const targetPortPosition = link.getTargetPort().getPosition(); - if (sourceNode instanceof LinkConnectorNode || sourceNode instanceof QueryExprConnectorNode) { + if (sourceNode instanceof LinkConnectorNode || sourceNode instanceof QueryExprConnectorNode || sourceNode instanceof ClauseConnectorNode) { sourceNode.setPosition(sourceNode.getX(), targetPortPosition.y - 4.5); } } diff --git a/workspaces/ballerina/data-mapper/src/components/Diagram/Diagram.tsx b/workspaces/ballerina/data-mapper/src/components/Diagram/Diagram.tsx index 63d6cd763f6..b989f16cda2 100644 --- a/workspaces/ballerina/data-mapper/src/components/Diagram/Diagram.tsx +++ b/workspaces/ballerina/data-mapper/src/components/Diagram/Diagram.tsx @@ -36,7 +36,7 @@ import { DataMapperCanvasContainerWidget } from './Canvas/DataMapperCanvasContai import { DataMapperCanvasWidget } from './Canvas/DataMapperCanvasWidget'; import { DefaultState as LinkState } from './LinkState/DefaultState'; import { DataMapperNodeModel } from './Node/commons/DataMapperNode'; -import { LinkConnectorNode, QueryExprConnectorNode } from './Node'; +import { ClauseConnectorNode, LinkConnectorNode, QueryExprConnectorNode } from './Node'; import { OverlayLayerFactory } from './OverlayLayer/OverlayLayerFactory'; import { OverriddenLinkLayerFactory } from './OverriddenLinkLayer/LinkLayerFactory'; import { useDiagramModel, useFocusLinkedNodes, useRepositionedNodes } from './hooks'; @@ -158,10 +158,10 @@ function DataMapperDiagram(props: DataMapperDiagramProps): React.ReactElement { if (!isFetching && engine.getModel()) { const modelNodes = engine.getModel().getNodes(); const nodesToUpdate = modelNodes.filter(node => - node instanceof LinkConnectorNode || node instanceof QueryExprConnectorNode + node instanceof LinkConnectorNode || node instanceof QueryExprConnectorNode || node instanceof ClauseConnectorNode ); - nodesToUpdate.forEach((node: LinkConnectorNode | QueryExprConnectorNode) => { + nodesToUpdate.forEach((node: LinkConnectorNode | QueryExprConnectorNode | ClauseConnectorNode) => { const targetPortPosition = node.targetMappedPort?.getPosition(); if (targetPortPosition) { node.setPosition(targetPortPosition.x - 155, targetPortPosition.y - 6.5); From 15f0c9ee76fc5c7e45d0ec7f193f2a484b77467d Mon Sep 17 00:00:00 2001 From: ChamodA Date: Mon, 3 Nov 2025 11:32:03 +0530 Subject: [PATCH 037/491] Add focus link support for ClauseConnector --- .../src/components/Diagram/Actions/utils.ts | 6 +++-- .../ClauseConnector/ClauseConnectorNode.ts | 22 +++++++++---------- .../ClauseConnectorNodeWidget.tsx | 8 +++---- .../Diagram/utils/focus-positioning-utils.ts | 4 ++-- 4 files changed, 21 insertions(+), 19 deletions(-) diff --git a/workspaces/ballerina/data-mapper/src/components/Diagram/Actions/utils.ts b/workspaces/ballerina/data-mapper/src/components/Diagram/Actions/utils.ts index aa47689df42..f148ecc2ada 100644 --- a/workspaces/ballerina/data-mapper/src/components/Diagram/Actions/utils.ts +++ b/workspaces/ballerina/data-mapper/src/components/Diagram/Actions/utils.ts @@ -25,7 +25,8 @@ import { QueryExprConnectorNode, LinkConnectorNode, QueryOutputNode, - SubMappingNode + SubMappingNode, + ClauseConnectorNode } from "../Node"; import { IO_NODE_DEFAULT_WIDTH } from "../utils/constants"; import { DataMapperLinkModel } from "../Link"; @@ -44,7 +45,8 @@ export const OUTPUT_NODES = [ export const INTERMEDIATE_NODES = [ LinkConnectorNode, - QueryExprConnectorNode + QueryExprConnectorNode, + ClauseConnectorNode ]; export const MIN_VISIBLE_HEIGHT = 68; diff --git a/workspaces/ballerina/data-mapper/src/components/Diagram/Node/ClauseConnector/ClauseConnectorNode.ts b/workspaces/ballerina/data-mapper/src/components/Diagram/Node/ClauseConnector/ClauseConnectorNode.ts index 25d26bdaf74..5775b234a8c 100644 --- a/workspaces/ballerina/data-mapper/src/components/Diagram/Node/ClauseConnector/ClauseConnectorNode.ts +++ b/workspaces/ballerina/data-mapper/src/components/Diagram/Node/ClauseConnector/ClauseConnectorNode.ts @@ -36,7 +36,7 @@ const NODE_ID = "clause-connector-node"; export class ClauseConnectorNode extends DataMapperNodeModel { public sourcePorts: InputOutputPortModel[] = []; - public targetPort: InputOutputPortModel; + public targetMappedPort: InputOutputPortModel; public inPort: IntermediatePortModel; public outPort: IntermediatePortModel; @@ -62,7 +62,7 @@ export class ClauseConnectorNode extends DataMapperNodeModel { initPorts(): void { const prevSourcePorts = this.sourcePorts; this.sourcePorts = []; - this.targetPort = undefined; + this.targetMappedPort = undefined; this.inPort = new IntermediatePortModel(`${this.query.inputs.join('_')}_${this.query.output}_IN`, "IN"); this.outPort = new IntermediatePortModel(`${this.query.inputs.join('_')}_${this.query.output}_OUT`, "OUT"); this.addPort(this.inPort); @@ -98,7 +98,7 @@ export class ClauseConnectorNode extends DataMapperNodeModel { if (node instanceof QueryOutputNode) { const targetPortPrefix = getTargetPortPrefix(node); - this.targetPort = node.getPort(`${targetPortPrefix}.${this.query.output}.#.IN`) as InputOutputPortModel; + this.targetMappedPort = node.getPort(`${targetPortPrefix}.${this.query.output}.#.IN`) as InputOutputPortModel; if (prevSourcePorts.length !== this.sourcePorts.length || prevSourcePorts.map(port => port.getID()).join('') !== this.sourcePorts.map(port => port.getID()).join('')) { @@ -120,7 +120,7 @@ export class ClauseConnectorNode extends DataMapperNodeModel { if (sourcePort) { sourcePort.addLinkedPort(this.inPort); - sourcePort.addLinkedPort(this.targetPort) + sourcePort.addLinkedPort(this.targetMappedPort) lm.setTargetPort(this.inPort); lm.setSourcePort(sourcePort); @@ -139,13 +139,13 @@ export class ClauseConnectorNode extends DataMapperNodeModel { } }) - if (this.targetPort) { + if (this.targetMappedPort) { const outPort = this.outPort; - const targetPort = this.targetPort; + const targetPort = this.targetMappedPort; const lm = new DataMapperLinkModel(undefined, this.diagnostics, true, undefined, true); - lm.setTargetPort(this.targetPort); + lm.setTargetPort(this.targetMappedPort); lm.setSourcePort(this.outPort); lm.registerListener({ selectionChanged(event) { @@ -160,8 +160,8 @@ export class ClauseConnectorNode extends DataMapperNodeModel { }) if (!this.label) { - const fieldFQN = this.targetPort.attributes.fieldFQN; - this.label = fieldFQN ? this.targetPort.attributes.fieldFQN.split('.').pop() : ''; + const fieldFQN = this.targetMappedPort.attributes.fieldFQN; + this.label = fieldFQN ? this.targetMappedPort.attributes.fieldFQN.split('.').pop() : ''; } this.getModel().addAll(lm as any); } @@ -170,8 +170,8 @@ export class ClauseConnectorNode extends DataMapperNodeModel { } public updatePosition() { - if (this.targetPort) { - const position = this.targetPort.getPosition(); + if (this.targetMappedPort) { + const position = this.targetMappedPort.getPosition(); this.setPosition( this.hasError() ? OFFSETS.LINK_CONNECTOR_NODE_WITH_ERROR.X diff --git a/workspaces/ballerina/data-mapper/src/components/Diagram/Node/ClauseConnector/ClauseConnectorNodeWidget.tsx b/workspaces/ballerina/data-mapper/src/components/Diagram/Node/ClauseConnector/ClauseConnectorNodeWidget.tsx index 2f97be030c9..ea0a2941e80 100644 --- a/workspaces/ballerina/data-mapper/src/components/Diagram/Node/ClauseConnector/ClauseConnectorNodeWidget.tsx +++ b/workspaces/ballerina/data-mapper/src/components/Diagram/Node/ClauseConnector/ClauseConnectorNodeWidget.tsx @@ -47,13 +47,13 @@ export function ClauseConnectorNodeWidget(props: ClauseConnectorNodeWidgetProps) const [deleteInProgress, setDeleteInProgress] = useState(false); const onClickEdit = () => { - const targetPort = node.targetPort; + const targetPort = node.targetMappedPort; setExprBarFocusedPort(targetPort); }; const onFocusClause = () => { const sourcePorts = node.sourcePorts.map(port => port.attributes.portName); - const targetPort = node.targetPort.attributes.portName; + const targetPort = node.targetMappedPort.attributes.portName; sourcePorts.forEach((port) => { collapsedFieldsStore.removeField(port); @@ -64,7 +64,7 @@ export function ClauseConnectorNodeWidget(props: ClauseConnectorNodeWidgetProps) const context = node.context; const lastView = context.views[context.views.length - 1]; - const mapping = node.targetPort.attributes.value; + const mapping = node.targetMappedPort.attributes.value; expandArrayFn(context, mapping.inputs[0], mapping.output, lastView.targetField); }; @@ -82,7 +82,7 @@ export function ClauseConnectorNodeWidget(props: ClauseConnectorNodeWidgetProps) appearance="icon" tooltip="Map clause elements" onClick={onFocusClause} - data-testid={`expand-clause-fn-${node?.targetPort?.attributes.fieldFQN}`} + data-testid={`expand-clause-fn-${node?.targetMappedPort?.attributes.fieldFQN}`} > diff --git a/workspaces/ballerina/data-mapper/src/components/Diagram/utils/focus-positioning-utils.ts b/workspaces/ballerina/data-mapper/src/components/Diagram/utils/focus-positioning-utils.ts index 514b133425f..912ccc625db 100644 --- a/workspaces/ballerina/data-mapper/src/components/Diagram/utils/focus-positioning-utils.ts +++ b/workspaces/ballerina/data-mapper/src/components/Diagram/utils/focus-positioning-utils.ts @@ -17,7 +17,7 @@ */ import { DiagramModel, NodeModel, PortModel } from "@projectstorm/react-diagrams"; -import { LinkConnectorNode, QueryExprConnectorNode } from "../Node"; +import { ClauseConnectorNode, LinkConnectorNode, QueryExprConnectorNode } from "../Node"; import { isInputNode, isIntermediateNode, isOutputNode } from "../Actions/utils"; import { animateNodesWithIndividualOffsets, @@ -157,7 +157,7 @@ export const resolveTargetNodeAndPort = ( let targetPort = targetNode?.getPort(targetPortId); if (isIntermediateNode(targetNode)) { - const intermediateNode = targetNode as LinkConnectorNode | QueryExprConnectorNode; + const intermediateNode = targetNode as LinkConnectorNode | QueryExprConnectorNode | ClauseConnectorNode; const intermediatePort = intermediateNode.targetMappedPort; targetNode = intermediatePort?.getNode(); From 5391f8597029a554f748d4a0dfffb874a941e37c Mon Sep 17 00:00:00 2001 From: ChamodA Date: Mon, 3 Nov 2025 14:03:16 +0530 Subject: [PATCH 038/491] Add JOIN clause to IntermediateClauseType and extend IntermediateClauseProps --- .../ballerina/ballerina-core/src/interfaces/data-mapper.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/workspaces/ballerina/ballerina-core/src/interfaces/data-mapper.ts b/workspaces/ballerina/ballerina-core/src/interfaces/data-mapper.ts index f8c7aca78c5..fedb6272733 100644 --- a/workspaces/ballerina/ballerina-core/src/interfaces/data-mapper.ts +++ b/workspaces/ballerina/ballerina-core/src/interfaces/data-mapper.ts @@ -58,7 +58,8 @@ export enum IntermediateClauseType { WHERE = "where", FROM = "from", ORDER_BY = "order by", - LIMIT = "limit" + LIMIT = "limit", + JOIN = "join", } export enum ResultClauseType { @@ -205,6 +206,9 @@ export interface IntermediateClauseProps { type?: string; expression: string; order?: "ascending" | "descending"; + lhsExpression?: string; + rhsExpression?: string; + isOuter?: boolean; } export interface IntermediateClause { From 434ed31635f2a86c4ac42778f2d9cd1d4692b721 Mon Sep 17 00:00:00 2001 From: madushajg Date: Mon, 3 Nov 2025 14:03:32 +0530 Subject: [PATCH 039/491] Add wide-chevron SVG icon to common libraries --- .../src/icons/wide-chevron.svg | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 workspaces/common-libs/font-wso2-vscode/src/icons/wide-chevron.svg diff --git a/workspaces/common-libs/font-wso2-vscode/src/icons/wide-chevron.svg b/workspaces/common-libs/font-wso2-vscode/src/icons/wide-chevron.svg new file mode 100644 index 00000000000..fdba2357b8c --- /dev/null +++ b/workspaces/common-libs/font-wso2-vscode/src/icons/wide-chevron.svg @@ -0,0 +1,25 @@ + + + + + + + + + From 4d2d670e316e8792c15dc2dd5ccde925a212ee09 Mon Sep 17 00:00:00 2001 From: madushajg Date: Mon, 3 Nov 2025 14:04:22 +0530 Subject: [PATCH 040/491] Add getWorkspaceType method and related RPC handling to support workspace type detection --- .../src/rpc-types/common/index.ts | 5 ++- .../src/rpc-types/common/rpc-type.ts | 4 +- .../src/rpc-managers/common/rpc-handler.ts | 2 + .../src/rpc-managers/common/rpc-manager.ts | 39 +++++++++++++++++-- .../src/rpc-clients/common/rpc-client.ts | 12 ++++-- 5 files changed, 53 insertions(+), 9 deletions(-) diff --git a/workspaces/ballerina/ballerina-core/src/rpc-types/common/index.ts b/workspaces/ballerina/ballerina-core/src/rpc-types/common/index.ts index 964b6cea6d6..00a73090246 100644 --- a/workspaces/ballerina/ballerina-core/src/rpc-types/common/index.ts +++ b/workspaces/ballerina/ballerina-core/src/rpc-types/common/index.ts @@ -31,7 +31,8 @@ import { WorkspacesFileResponse, FileOrDirRequest, WorkspaceRootResponse, - ShowErrorMessageRequest + ShowErrorMessageRequest, + WorkspaceTypeResponse } from "./interfaces"; export interface CommonRPCAPI { @@ -49,5 +50,5 @@ export interface CommonRPCAPI { getWorkspaceRoot: () => Promise; showErrorMessage: (params: ShowErrorMessageRequest) => void; getCurrentProjectTomlValues: () => Promise>; - + getWorkspaceType: () => Promise; } diff --git a/workspaces/ballerina/ballerina-core/src/rpc-types/common/rpc-type.ts b/workspaces/ballerina/ballerina-core/src/rpc-types/common/rpc-type.ts index c1816ec958b..581db37332b 100644 --- a/workspaces/ballerina/ballerina-core/src/rpc-types/common/rpc-type.ts +++ b/workspaces/ballerina/ballerina-core/src/rpc-types/common/rpc-type.ts @@ -32,7 +32,8 @@ import { WorkspacesFileResponse, FileOrDirRequest, WorkspaceRootResponse, - ShowErrorMessageRequest + ShowErrorMessageRequest, + WorkspaceTypeResponse } from "./interfaces"; import { RequestType, NotificationType } from "vscode-messenger-common"; @@ -51,3 +52,4 @@ export const isNPSupported: RequestType = { method: `${_preFix}/i export const getWorkspaceRoot: RequestType = { method: `${_preFix}/getWorkspaceRoot` }; export const showErrorMessage: NotificationType = { method: `${_preFix}/showErrorMessage` }; export const getCurrentProjectTomlValues: RequestType = { method: `${_preFix}/getCurrentProjectTomlValues` }; +export const getWorkspaceType: RequestType = { method: `${_preFix}/getWorkspaceType` }; diff --git a/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-handler.ts b/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-handler.ts index 82ab5d908c4..c47b09628ba 100644 --- a/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-handler.ts +++ b/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-handler.ts @@ -33,6 +33,7 @@ import { getTypeCompletions, getWorkspaceFiles, getWorkspaceRoot, + getWorkspaceType, goToSource, isNPSupported, openExternalUrl, @@ -60,4 +61,5 @@ export function registerCommonRpcHandlers(messenger: Messenger) { messenger.onRequest(getWorkspaceRoot, () => rpcManger.getWorkspaceRoot()); messenger.onNotification(showErrorMessage, (args: ShowErrorMessageRequest) => rpcManger.showErrorMessage(args)); messenger.onRequest(getCurrentProjectTomlValues, () => rpcManger.getCurrentProjectTomlValues()); + messenger.onRequest(getWorkspaceType, () => rpcManger.getWorkspaceType()); } diff --git a/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-manager.ts b/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-manager.ts index 193da678729..e2c02627a87 100644 --- a/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-manager.ts +++ b/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-manager.ts @@ -35,18 +35,19 @@ import { RunExternalCommandResponse, ShowErrorMessageRequest, SyntaxTree, - TomlValues, + PackageTomlValues, TypeResponse, WorkspaceFileRequest, WorkspaceRootResponse, WorkspacesFileResponse, + WorkspaceTypeResponse, } from "@wso2/ballerina-core"; import child_process from 'child_process'; import { Uri, commands, env, window, workspace, MarkdownString } from "vscode"; import { URI } from "vscode-uri"; import { extension } from "../../BalExtensionContext"; import { StateMachine } from "../../stateMachine"; -import { getProjectTomlValues, goToSource } from "../../utils"; +import { checkIsBallerinaPackage, checkIsBallerinaWorkspace, getProjectTomlValues, goToSource, hasMultipleBallerinaPackages } from "../../utils"; import { askFileOrFolderPath, askFilePath, askProjectPath, BALLERINA_INTEGRATOR_ISSUES_URL, getUpdatedSource } from "./utils"; import { parse } from 'toml'; import * as fs from 'fs'; @@ -246,7 +247,39 @@ export class CommonRpcManager implements CommonRPCAPI { return extension.ballerinaExtInstance.isNPSupported; } - async getCurrentProjectTomlValues(): Promise { + async getCurrentProjectTomlValues(): Promise { return getProjectTomlValues(StateMachine.context().projectUri); } + + async getWorkspaceType(): Promise { + const workspaceFolders = workspace.workspaceFolders; + if (!workspaceFolders) { + throw new Error("No workspaces found."); + } + + if (workspaceFolders.length > 1) { + return { type: "VSCODE_WORKSPACE" }; + } else if (workspaceFolders.length === 1) { + const workspaceFolderPath = workspaceFolders[0].uri.fsPath; + + const isBallerinaWorkspace = await checkIsBallerinaWorkspace(Uri.file(workspaceFolderPath)); + if (isBallerinaWorkspace) { + return { type: "BALLERINA_WORKSPACE" }; + } + + const isBallerinaPackage = await checkIsBallerinaPackage(Uri.file(workspaceFolderPath)); + if (isBallerinaPackage) { + return { type: "SINGLE_PROJECT" }; + } + + const hasMultiplePackages = await hasMultipleBallerinaPackages(Uri.file(workspaceFolderPath)); + if (hasMultiplePackages) { + return { type: "MULTIPLE_PROJECTS" }; + } + + return { type: "UNKNOWN" }; + } + + return { type: "UNKNOWN" }; + } } diff --git a/workspaces/ballerina/ballerina-rpc-client/src/rpc-clients/common/rpc-client.ts b/workspaces/ballerina/ballerina-rpc-client/src/rpc-clients/common/rpc-client.ts index cbbcbeafe3a..54b1724faeb 100644 --- a/workspaces/ballerina/ballerina-rpc-client/src/rpc-clients/common/rpc-client.ts +++ b/workspaces/ballerina/ballerina-rpc-client/src/rpc-clients/common/rpc-client.ts @@ -46,9 +46,11 @@ import { runBackgroundTerminalCommand, selectFileOrDirPath, getCurrentProjectTomlValues, - TomlValues, + PackageTomlValues, selectFileOrFolderPath, - showErrorMessage + showErrorMessage, + WorkspaceTypeResponse, + getWorkspaceType } from "@wso2/ballerina-core"; import { HOST_EXTENSION } from "vscode-messenger-common"; import { Messenger } from "vscode-messenger-webview"; @@ -112,7 +114,11 @@ export class CommonRpcClient implements CommonRPCAPI { return this._messenger.sendNotification(showErrorMessage, HOST_EXTENSION, params); } - getCurrentProjectTomlValues(): Promise { + getCurrentProjectTomlValues(): Promise { return this._messenger.sendRequest(getCurrentProjectTomlValues, HOST_EXTENSION); } + + getWorkspaceType(): Promise { + return this._messenger.sendRequest(getWorkspaceType, HOST_EXTENSION); + } } From 771ed13b939dd20286742ef3230b7c267ede1cf1 Mon Sep 17 00:00:00 2001 From: madushajg Date: Mon, 3 Nov 2025 14:08:53 +0530 Subject: [PATCH 041/491] Add new interfaces for workspace and package configurations --- .../src/rpc-types/common/interfaces.ts | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/workspaces/ballerina/ballerina-core/src/rpc-types/common/interfaces.ts b/workspaces/ballerina/ballerina-core/src/rpc-types/common/interfaces.ts index 6ccd232ffcc..1679814a771 100644 --- a/workspaces/ballerina/ballerina-core/src/rpc-types/common/interfaces.ts +++ b/workspaces/ballerina/ballerina-core/src/rpc-types/common/interfaces.ts @@ -91,6 +91,10 @@ export interface ShowErrorMessageRequest { message: string; } +export interface TomlWorkspace { + packages: string[]; +} + export interface TomlPackage { org: string; name: string; @@ -98,6 +102,14 @@ export interface TomlPackage { title: string; } -export interface TomlValues { +export interface WorkspaceTomlValues { + workspace: TomlWorkspace; +} + +export interface PackageTomlValues { package: TomlPackage; } + +export interface WorkspaceTypeResponse { + type: "SINGLE_PROJECT" | "MULTIPLE_PROJECTS" | "BALLERINA_WORKSPACE" | "VSCODE_WORKSPACE" | "UNKNOWN" +} From bc8a3cab336bffb4c53149b7abda39376b6e6625 Mon Sep 17 00:00:00 2001 From: madushajg Date: Mon, 3 Nov 2025 14:09:14 +0530 Subject: [PATCH 042/491] Enhance Ballerina project and workspace validation with new utility functions and improved TOML handling --- .../ballerina-extension/src/utils/config.ts | 94 ++++++++++++++++++- 1 file changed, 89 insertions(+), 5 deletions(-) diff --git a/workspaces/ballerina/ballerina-extension/src/utils/config.ts b/workspaces/ballerina/ballerina-extension/src/utils/config.ts index e03e89a422c..5c0156646fc 100644 --- a/workspaces/ballerina/ballerina-extension/src/utils/config.ts +++ b/workspaces/ballerina/ballerina-extension/src/utils/config.ts @@ -16,9 +16,9 @@ * under the License. */ -import { SCOPE, TomlValues } from '@wso2/ballerina-core'; +import { SCOPE, PackageTomlValues, WorkspaceTomlValues } from '@wso2/ballerina-core'; import { BallerinaExtension } from '../core'; -import { WorkspaceConfiguration, workspace, Uri } from 'vscode'; +import { WorkspaceConfiguration, workspace, Uri, RelativePattern } from 'vscode'; import * as fs from 'fs'; import * as path from 'path'; import { parse } from 'toml'; @@ -127,9 +127,80 @@ export function checkIsBI(uri: Uri): boolean { return false; // Return false if isBI is not set } -export function checkIsBallerina(uri: Uri): boolean { +export async function checkIsBallerinaPackage(uri: Uri): Promise { const ballerinaTomlPath = path.join(uri.fsPath, 'Ballerina.toml'); - return fs.existsSync(ballerinaTomlPath); + + // First check if the file exists + if (!fs.existsSync(ballerinaTomlPath)) { + return false; + } + + try { + const tomlValues = await getProjectTomlValues(uri.fsPath); + return tomlValues?.package !== undefined; + } catch (error) { + // If there's an error reading the file, it's not a valid Ballerina project + console.error(`Error reading package Ballerina.toml: ${error}`); + return false; + } +} + + +export async function checkIsBallerinaWorkspace(uri: Uri): Promise { + const ballerinaTomlPath = path.join(uri.fsPath, 'Ballerina.toml'); + + // First check if the file exists + if (!fs.existsSync(ballerinaTomlPath)) { + return false; + } + + try { + const tomlValues = await getWorkspaceTomlValues(uri.fsPath); + return tomlValues?.workspace !== undefined; + } catch (error) { + // If there's an error reading the file, it's not a valid Ballerina workspace + console.error(`Error reading workspace Ballerina.toml: ${error}`); + return false; + } +} + +export async function hasMultipleBallerinaPackages(uri: Uri): Promise { + try { + const ballerinaTomlPattern = `**${path.sep}Ballerina.toml`; + const tomls = await workspace.findFiles( + new RelativePattern(uri.fsPath, ballerinaTomlPattern) + ); + + if (tomls.length <= 1) { + return false; + } + + // Count valid packages (Ballerina.toml files with [package] section) + let packageCount = 0; + + for (const toml of tomls) { + const projectRoot = path.dirname(toml.fsPath); + try { + const tomlValues = await getProjectTomlValues(projectRoot); + // Only count as a package if it has a package section + if (tomlValues?.package !== undefined) { + packageCount++; + // Early exit if we found more than one package + if (packageCount > 1) { + return true; + } + } + } catch (error) { + // Skip invalid TOML files + console.error(`Error reading Ballerina.toml at ${toml.fsPath}: ${error}`); + } + } + + return false; + } catch (error) { + console.error(`Error checking for multiple Ballerina packages: ${error}`); + return false; + } } export function getOrgPackageName(projectPath: string): { orgName: string, packageName: string } { @@ -185,7 +256,7 @@ export function setupBIFiles(projectDir: string): void { }); } -export async function getProjectTomlValues(projectPath: string): Promise { +export async function getProjectTomlValues(projectPath: string): Promise { const ballerinaTomlPath = path.join(projectPath, 'Ballerina.toml'); if (fs.existsSync(ballerinaTomlPath)) { const tomlContent = await fs.promises.readFile(ballerinaTomlPath, 'utf-8'); @@ -197,3 +268,16 @@ export async function getProjectTomlValues(projectPath: string): Promise { + const ballerinaTomlPath = path.join(workspacePath, 'Ballerina.toml'); + if (fs.existsSync(ballerinaTomlPath)) { + const tomlContent = await fs.promises.readFile(ballerinaTomlPath, 'utf-8'); + try { + return parse(tomlContent); + } catch (error) { + console.error("Failed to load Ballerina.toml content for workspace at path: ", workspacePath, error); + return; + } + } +} From 8ea5d7e5b3e9098fa293a8035b49f4aabfc1afa6 Mon Sep 17 00:00:00 2001 From: madushajg Date: Mon, 3 Nov 2025 14:09:44 +0530 Subject: [PATCH 043/491] Enhance state machine context with project and package information --- .../ballerina-extension/src/stateMachine.ts | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/workspaces/ballerina/ballerina-extension/src/stateMachine.ts b/workspaces/ballerina/ballerina-extension/src/stateMachine.ts index b20027e0701..d5707dadae6 100644 --- a/workspaces/ballerina/ballerina-extension/src/stateMachine.ts +++ b/workspaces/ballerina/ballerina-extension/src/stateMachine.ts @@ -9,12 +9,10 @@ import { commands, extensions, ShellExecution, Task, TaskDefinition, tasks, Uri, import { notifyCurrentWebview, RPCLayer } from './RPCLayer'; import { generateUid, getComponentIdentifier, getNodeByIndex, getNodeByName, getNodeByUid, getView } from './utils/state-machine-utils'; import * as path from 'path'; -import * as fs from 'fs'; import { extension } from './BalExtensionContext'; -import { BiDiagramRpcManager } from './rpc-managers/bi-diagram/rpc-manager'; import { AIStateMachine } from './views/ai-panel/aiMachine'; import { StateMachinePopup } from './stateMachinePopup'; -import { checkIsBallerina, checkIsBI, fetchScope, getOrgPackageName, UndoRedoManager } from './utils'; +import { checkIsBallerinaPackage, checkIsBI, fetchScope, getOrgPackageName, UndoRedoManager, getProjectTomlValues } from './utils'; import { buildProjectArtifactsStructure } from './utils/project-artifacts'; interface MachineContext extends VisualizerLocation { @@ -276,6 +274,8 @@ const stateMachine = createMachine( position: (context, event) => event.viewLocation.position, identifier: (context, event) => event.viewLocation.identifier, serviceType: (context, event) => event.viewLocation.serviceType, + projectUri: (context, event) => event.viewLocation?.projectUri || context?.projectUri, + package: (context, event) => event.viewLocation?.package, type: (context, event) => event.viewLocation?.type, isGraphql: (context, event) => event.viewLocation?.isGraphql, metadata: (context, event) => event.viewLocation?.metadata, @@ -463,12 +463,21 @@ const stateMachine = createMachine( }, findView(context, event): Promise { return new Promise(async (resolve, reject) => { + const projectTomlValues = await getProjectTomlValues(context.projectUri); + const packageName = projectTomlValues?.package?.name; if (!context.view && context.langClient) { if (!context.position || ("groupId" in context.position)) { - history.push({ location: { view: MACHINE_VIEW.Overview, documentUri: context.documentUri } }); + history.push({ + location: { + view: MACHINE_VIEW.Overview, + documentUri: context.documentUri, + package: packageName || context.package + } + }); return resolve(); } const view = await getView(context.documentUri, context.position, context?.projectUri); + view.location.package = packageName || context.package; history.push(view); return resolve(); } else { @@ -478,6 +487,7 @@ const stateMachine = createMachine( documentUri: context.documentUri, position: context.position, identifier: context.identifier, + package: packageName || context.package, type: context?.type, isGraphql: context?.isGraphql, addType: context?.addType, @@ -747,7 +757,7 @@ async function checkForProjects(): Promise<{ isBI: boolean, projectPath: string, } async function handleMultipleWorkspaces(workspaceFolders: readonly WorkspaceFolder[]) { - const balProjects = workspaceFolders.filter(folder => checkIsBallerina(folder.uri)); + const balProjects = workspaceFolders.filter(folder => checkIsBallerinaPackage(folder.uri)); if (balProjects.length > 1) { const projectPaths = balProjects.map(folder => folder.uri.fsPath); @@ -777,7 +787,7 @@ async function handleMultipleWorkspaces(workspaceFolders: readonly WorkspaceFold } async function handleSingleWorkspace(workspaceURI: any) { - const isBallerina = checkIsBallerina(workspaceURI); + const isBallerina = checkIsBallerinaPackage(workspaceURI); const isBI = isBallerina && checkIsBI(workspaceURI); const scope = fetchScope(workspaceURI); const projectPath = isBallerina ? workspaceURI.fsPath : ""; From 4d1f56e51745a7822d8da115bd783598726a48ba Mon Sep 17 00:00:00 2001 From: madushajg Date: Mon, 3 Nov 2025 14:10:04 +0530 Subject: [PATCH 044/491] Refactor TopNavigationBar to include workspace type handling and improve breadcrumb display --- .../src/components/TopNavigationBar/index.tsx | 92 +++++++++++++++---- 1 file changed, 74 insertions(+), 18 deletions(-) diff --git a/workspaces/ballerina/ballerina-visualizer/src/components/TopNavigationBar/index.tsx b/workspaces/ballerina/ballerina-visualizer/src/components/TopNavigationBar/index.tsx index 65db8c07a93..86894abf673 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/components/TopNavigationBar/index.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/components/TopNavigationBar/index.tsx @@ -16,11 +16,11 @@ * under the License. */ -import React, { useEffect, useState } from "react"; +import React, { useEffect, useMemo, useState } from "react"; import styled from "@emotion/styled"; -import { Icon } from "@wso2/ui-toolkit"; +import { Codicon, Icon } from "@wso2/ui-toolkit"; import { useRpcContext } from "@wso2/ballerina-rpc-client"; -import { MACHINE_VIEW } from "@wso2/ballerina-core"; +import { HistoryEntry, MACHINE_VIEW, WorkspaceTypeResponse } from "@wso2/ballerina-core"; const NavContainer = styled.div` display: flex; @@ -60,7 +60,14 @@ const IconButton = styled.div` } `; -const BreadcrumbItem = styled.span<{ clickable?: boolean }>` +const BreadcrumbItem = styled.div` + display: flex; + flex-direction: column; + align-items: flex-start; + gap: 2px; +`; + +const BreadcrumbText = styled.span<{ clickable?: boolean }>` ${({ clickable }: { clickable?: boolean }) => clickable && ` @@ -71,6 +78,26 @@ const BreadcrumbItem = styled.span<{ clickable?: boolean }>` `} `; +const PackageContainer = styled.div` + display: flex; + align-items: center; + gap: 4px; + color: var(--vscode-foreground); + background-color: var(--vscode-editor-inactiveSelectionBackground); + max-width: 120px; + overflow: hidden; + padding: 3px 4px; + font-size: 10px; + border-radius: 5px; + line-height: 1; +`; + +const PackageName = styled.span` + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +`; + interface TopNavigationBarProps { onBack?: () => void; onHome?: () => void; @@ -79,16 +106,18 @@ interface TopNavigationBarProps { export function TopNavigationBar(props: TopNavigationBarProps) { const { onBack, onHome } = props; const { rpcClient } = useRpcContext(); - const [history, setHistory] = useState([]); + const [history, setHistory] = useState([]); + const [workspaceType, setWorkspaceType] = useState(null); useEffect(() => { - rpcClient - .getVisualizerRpcClient() - .getHistory() - .then((history) => { - console.log(">>> history", history); - setHistory(history); - }); + Promise.all([ + rpcClient.getVisualizerRpcClient().getHistory(), + rpcClient.getCommonRpcClient().getWorkspaceType() + ]).then(([history, workspaceType]) => { + console.log(">>> history", history); + setHistory(history); + setWorkspaceType(workspaceType); + }); }, []); const handleBack = () => { @@ -106,6 +135,11 @@ export function TopNavigationBar(props: TopNavigationBarProps) { rpcClient.getVisualizerRpcClient().goSelected(index); } }; + + const isBalWorkspaceOrHasMultiplePackages = useMemo(() => { + return workspaceType?.type === "BALLERINA_WORKSPACE" || workspaceType?.type === "MULTIPLE_PROJECTS"; + }, [workspaceType]); + // HACK: To remove forms from breadcrumb. Will have to fix from the state machine side const hackToSkipForms = ["overview", "automation", "service", "function", "add natural function", "data mapper", "connection"]; const existingLabels = new Set(); @@ -126,12 +160,34 @@ export function TopNavigationBar(props: TopNavigationBarProps) { existingLabels.add(shortName); return ( - {index > 0 && /} - index < history.length - 1 && handleCrumbClick(index)} - > - {shortName} + {index > 0 && ( + + )} + + index < history.length - 1 && handleCrumbClick(index)} + > + {shortName} + + {isBalWorkspaceOrHasMultiplePackages && crumb.location.package && ( + + + {crumb.location.package} + + )} ); From 1c778674c8ba34e868132a238e3b0ded5bde35f0 Mon Sep 17 00:00:00 2001 From: ChamodA Date: Mon, 3 Nov 2025 14:11:28 +0530 Subject: [PATCH 045/491] Remove focusedMemberId handling from IOType and refactor InputNode and DataMapperNodeModel --- .../ballerina-core/src/interfaces/data-mapper.ts | 1 - .../src/components/Diagram/Node/Input/InputNode.ts | 7 ------- .../Diagram/Node/commons/DataMapperNode.ts | 13 +------------ 3 files changed, 1 insertion(+), 20 deletions(-) diff --git a/workspaces/ballerina/ballerina-core/src/interfaces/data-mapper.ts b/workspaces/ballerina/ballerina-core/src/interfaces/data-mapper.ts index fedb6272733..5e8c0ce45e9 100644 --- a/workspaces/ballerina/ballerina-core/src/interfaces/data-mapper.ts +++ b/workspaces/ballerina/ballerina-core/src/interfaces/data-mapper.ts @@ -94,7 +94,6 @@ export interface IOType { members?: IOType[]; defaultValue?: unknown; optional?: boolean; - focusedMemberId?: string; isFocused?: boolean; isRecursive?: boolean; isDeepNested?: boolean; diff --git a/workspaces/ballerina/data-mapper/src/components/Diagram/Node/Input/InputNode.ts b/workspaces/ballerina/data-mapper/src/components/Diagram/Node/Input/InputNode.ts index e3337a1776d..456c46100fe 100644 --- a/workspaces/ballerina/data-mapper/src/components/Diagram/Node/Input/InputNode.ts +++ b/workspaces/ballerina/data-mapper/src/components/Diagram/Node/Input/InputNode.ts @@ -100,13 +100,6 @@ export class InputNode extends DataMapperNodeModel { }); } } else if (this.filteredInputType.kind === TypeKind.Array) { - const focusedMemberId = this.filteredInputType?.focusedMemberId; - if (focusedMemberId) { - const focusedMemberField = this.context.model.inputs.find(input => input.id === focusedMemberId); - if (focusedMemberField) { - this.filteredInputType.member = focusedMemberField; - } - } this.numberOfFields += await this.addPortsForInputField({ field: this.filteredInputType?.member, portType: "OUT", diff --git a/workspaces/ballerina/data-mapper/src/components/Diagram/Node/commons/DataMapperNode.ts b/workspaces/ballerina/data-mapper/src/components/Diagram/Node/commons/DataMapperNode.ts index 4912f5006b3..cd32e27a636 100644 --- a/workspaces/ballerina/data-mapper/src/components/Diagram/Node/commons/DataMapperNode.ts +++ b/workspaces/ballerina/data-mapper/src/components/Diagram/Node/commons/DataMapperNode.ts @@ -381,7 +381,7 @@ export abstract class DataMapperNodeModel extends NodeModel { - const memberField = this.resolveArrayMemberField(attributes); + const memberField = attributes.field?.member; return await this.addPortsForInputField({ ...attributes, hidden: isHidden, @@ -390,17 +390,6 @@ export abstract class DataMapperNodeModel extends NodeModel input.id === focusedMemberId); - if (focusedMemberField) { - return focusedMemberField; - } - } - return attributes.field?.member; - } - private async processRecordField(attributes: OutputPortAttributes) { const fields = attributes.field?.fields?.filter(f => !!f); if (fields && fields.length) { From 6ae1e871402e39941be7ec145223085cdba4a757 Mon Sep 17 00:00:00 2001 From: ChamodA Date: Mon, 3 Nov 2025 14:24:51 +0530 Subject: [PATCH 046/491] Refactor ExpressionLabelFactory and ExpressionLabelModel to remove QueryExprLabelWidget references and clean up QueryOutputNode by removing unused query handling code --- .../Diagram/Label/ExpressionLabelFactory.tsx | 4 - .../Diagram/Label/ExpressionLabelModel.ts | 3 - .../Diagram/Label/QueryExprLabelWidget.tsx | 123 ------------------ .../Node/QueryOutput/QueryOutputNode.ts | 25 ---- 4 files changed, 155 deletions(-) delete mode 100644 workspaces/ballerina/data-mapper/src/components/Diagram/Label/QueryExprLabelWidget.tsx diff --git a/workspaces/ballerina/data-mapper/src/components/Diagram/Label/ExpressionLabelFactory.tsx b/workspaces/ballerina/data-mapper/src/components/Diagram/Label/ExpressionLabelFactory.tsx index 7e25a57183b..5dbf3b6a993 100644 --- a/workspaces/ballerina/data-mapper/src/components/Diagram/Label/ExpressionLabelFactory.tsx +++ b/workspaces/ballerina/data-mapper/src/components/Diagram/Label/ExpressionLabelFactory.tsx @@ -22,7 +22,6 @@ import { DiagramEngine } from '@projectstorm/react-diagrams'; import { ExpressionLabelModel } from './ExpressionLabelModel'; import { ExpressionLabelWidget } from './ExpressionLabelWidget'; -import { QueryExprLabelWidget } from './QueryExprLabelWidget'; import { MappingOptionsWidget } from './MappingOptionsWidget'; export class ExpressionLabelFactory extends AbstractReactFactory { @@ -35,9 +34,6 @@ export class ExpressionLabelFactory extends AbstractReactFactory): JSX.Element { - if (event.model.isQuery) { - return ; - } if (event.model.link?.pendingMappingType) { return ; } diff --git a/workspaces/ballerina/data-mapper/src/components/Diagram/Label/ExpressionLabelModel.ts b/workspaces/ballerina/data-mapper/src/components/Diagram/Label/ExpressionLabelModel.ts index 5cef5a7b0df..8808cc1dea8 100644 --- a/workspaces/ballerina/data-mapper/src/components/Diagram/Label/ExpressionLabelModel.ts +++ b/workspaces/ballerina/data-mapper/src/components/Diagram/Label/ExpressionLabelModel.ts @@ -28,7 +28,6 @@ export interface ExpressionLabelOptions extends BaseModelOptions { link?: DataMapperLinkModel; field?: Node; editorLabel?: string; - isQuery?: boolean; collectClauseFn?: string; deleteLink?: () => void; } @@ -37,7 +36,6 @@ export class ExpressionLabelModel extends LabelModel { context?: IDataMapperContext; link?: DataMapperLinkModel; value?: string; - isQuery?: boolean; collectClauseFn?: string; deleteLink?: () => void; @@ -49,7 +47,6 @@ export class ExpressionLabelModel extends LabelModel { this.context = options.context; this.link = options.link; this.value = options.value || ''; - this.isQuery = options.isQuery; this.collectClauseFn = options.collectClauseFn; this.updateSource = this.updateSource.bind(this); this.deleteLink = options.deleteLink; diff --git a/workspaces/ballerina/data-mapper/src/components/Diagram/Label/QueryExprLabelWidget.tsx b/workspaces/ballerina/data-mapper/src/components/Diagram/Label/QueryExprLabelWidget.tsx deleted file mode 100644 index 53a4489b471..00000000000 --- a/workspaces/ballerina/data-mapper/src/components/Diagram/Label/QueryExprLabelWidget.tsx +++ /dev/null @@ -1,123 +0,0 @@ -/** - * Copyright (c) 2025, WSO2 LLC. (https://www.wso2.com) All Rights Reserved. - * - * WSO2 LLC. licenses this file to you under the Apache License, - * Version 2.0 (the "License"); you may not use this file except - * in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -// tslint:disable: jsx-no-multiline-js -import React, { MouseEvent, ReactNode } from 'react'; - -import { Button, Codicon } from '@wso2/ui-toolkit'; -import { css } from '@emotion/css'; -import classNames from "classnames"; - -import { ExpressionLabelModel } from './ExpressionLabelModel'; -import { useDMQueryClausesPanelStore } from '../../../store/store'; - - -export interface QueryExprLabelWidgetProps { - model: ExpressionLabelModel; -} - -export const useStyles = () => ({ - container: css({ - width: '100%', - backgroundColor: "var(--vscode-sideBar-background)", - padding: "2px", - borderRadius: "6px", - display: "flex", - color: "var(--vscode-checkbox-border)", - alignItems: "center", - "& > vscode-button > *": { - margin: "0 2px" - } - }), - btnContainer: css({ - display: "flex", - flexDirection: "row", - justifyContent: "space-between", - alignItems: "center", - "& > *": { - margin: "0 2px" - } - }), - deleteIconButton: css({ - color: 'var(--vscode-checkbox-border)', - }), - separator: css({ - height: 'fit-content', - width: '1px', - backgroundColor: 'var(--vscode-editor-lineHighlightBorder)', - }), - rightBorder: css({ - borderRightWidth: '2px', - borderColor: 'var(--vscode-pickerGroup-border)', - }), - loadingContainer: css({ - padding: '10px', - }), -}); - -export function QueryExprLabelWidget(props: QueryExprLabelWidgetProps) { - - const classes = useStyles(); - const { link, value} = props.model; - const diagnostic = link && link.hasError() ? link.diagnostics[0] || link.diagnostics[0] : null; - - const { setIsQueryClausesPanelOpen } = useDMQueryClausesPanelStore(); - const onClickOpenClausePanel = (evt?: MouseEvent) => { - setIsQueryClausesPanelOpen(true); - }; - - const elements: ReactNode[] = [ - ( -
- -
- ), - ]; - - return ( -
-
- -
-
- ); -} diff --git a/workspaces/ballerina/data-mapper/src/components/Diagram/Node/QueryOutput/QueryOutputNode.ts b/workspaces/ballerina/data-mapper/src/components/Diagram/Node/QueryOutput/QueryOutputNode.ts index a3203d16f8e..9260b81d0f5 100644 --- a/workspaces/ballerina/data-mapper/src/components/Diagram/Node/QueryOutput/QueryOutputNode.ts +++ b/workspaces/ballerina/data-mapper/src/components/Diagram/Node/QueryOutput/QueryOutputNode.ts @@ -115,7 +115,6 @@ export class QueryOutputNode extends DataMapperNodeModel { const views = this.context.views; const lastViewIndex = views.length - 1; - // const { inputs: queryInputs, output: queryOutput} = this.context.model.query; mappings.forEach((mapping) => { @@ -163,30 +162,6 @@ export class QueryOutputNode extends DataMapperNodeModel { this.getModel().addAll(lm as any); } }); - - // const inputNode = findInputNode(queryInputs[0], this, views, lastViewIndex); - // let inPort: InputOutputPortModel; - // if (inputNode) { - // inPort = getInputPort(inputNode, queryInputs[0].replace(/\.\d+/g, '')); - // } - - // const [_, mappedOutPort] = getOutputPort(this, queryOutput + ".#"); - - // if (inPort && mappedOutPort) { - // const lm = new DataMapperLinkModel(undefined, undefined, true, undefined, true); - - // lm.setTargetPort(mappedOutPort); - // lm.setSourcePort(inPort); - // inPort.addLinkedPort(mappedOutPort); - - // lm.addLabel(new ExpressionLabelModel({ - // isQuery: true - // })); - - // this.getModel().addAll(lm as any); - // } - - } async deleteField(mapping: Mapping) { From 93bd1839999744fb844930b5b0a9c4ccd323f3e7 Mon Sep 17 00:00:00 2001 From: Senith Uthsara Date: Mon, 3 Nov 2025 14:59:10 +0530 Subject: [PATCH 047/491] Rework type browser and the functions browser and remove dependecy with anchorRef --- .../ballerina-visualizer/src/Context.tsx | 1 + .../src/components/Popup/Form/index.tsx | 15 +- .../src/views/BI/HelperPane/FunctionsPage.tsx | 8 +- .../views/BI/HelperPane/LibraryBrowser.tsx | 179 ++++++++++++------ .../BI/HelperPaneNew/Views/Functions.tsx | 37 ++-- .../src/TypeHelper/TypeBrowser.tsx | 117 ++++++------ .../components/BrowserComponents/index.tsx | 95 ++++++++++ .../components/Common/HelperPane/index.tsx | 11 +- .../common-libs/ui-toolkit/src/index.ts | 1 + 9 files changed, 320 insertions(+), 144 deletions(-) create mode 100644 workspaces/common-libs/ui-toolkit/src/components/BrowserComponents/index.tsx diff --git a/workspaces/ballerina/ballerina-visualizer/src/Context.tsx b/workspaces/ballerina/ballerina-visualizer/src/Context.tsx index 312223fc88f..bcde06cdec3 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/Context.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/Context.tsx @@ -138,6 +138,7 @@ export const POPUP_IDS = { FUNCTION: "FUNCTION", CONFIGURABLES: "CONFIGURABLES", RECORD_CONFIG: "RECORD_CONFIG", + LIBRARY_BROWSER: "LIBRARY_BROWSER", } as const; type ModalStackItem = { diff --git a/workspaces/ballerina/ballerina-visualizer/src/components/Popup/Form/index.tsx b/workspaces/ballerina/ballerina-visualizer/src/components/Popup/Form/index.tsx index 14cd93e6175..996e803a043 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/components/Popup/Form/index.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/components/Popup/Form/index.tsx @@ -40,7 +40,7 @@ const PopupFormBox = styled.div<{ width?: number; height?: number }>` position: relative; display: flex; flex-direction: column; - overflow: auto; + overflow: hidden; padding: 16px; border-radius: 3px; background-color: ${ThemeColors.SURFACE_DIM}; @@ -63,6 +63,15 @@ export type PopupFormProps = { onClose?: () => void; }; + +const PopupFormContent = styled.div` + flex: 1; + min-height: 0; /* Critical for nested flex scroll areas */ + display: flex; + flex-direction: column; +`; + + export const PopupForm = (props: PopupFormProps) => { const { width, height, title, children, onClose } = props; @@ -76,7 +85,9 @@ export const PopupForm = (props: PopupFormProps) => { -
{children}
+ + {children} + ) diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/HelperPane/FunctionsPage.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/HelperPane/FunctionsPage.tsx index 20eb850d79b..d6e578e378a 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/HelperPane/FunctionsPage.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/HelperPane/FunctionsPage.tsx @@ -231,14 +231,12 @@ export const FunctionsPage = ({ {isLibraryBrowserOpen && ( setIsLibraryBrowserOpen(false)} + fileName={fileName} + targetLineRange={targetLineRange} onClose={onClose} onChange={onChange} onFunctionItemSelect={onFunctionItemSelect} + /> )} {isAddingFunction && createPortal( diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/HelperPane/LibraryBrowser.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/HelperPane/LibraryBrowser.tsx index 7b8aa8021de..42a13bc56bf 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/HelperPane/LibraryBrowser.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/HelperPane/LibraryBrowser.tsx @@ -16,45 +16,88 @@ * under the License. */ -import { RefObject, useEffect, useRef, useState } from 'react'; -import { COMPLETION_ITEM_KIND, getIcon, HelperPane } from '@wso2/ui-toolkit'; +import { useEffect, useRef, useState, useCallback } from 'react'; +import { + SearchBox, + Typography, + BrowserContainer, + BrowserSearchContainer, + BrowserContentArea, + BrowserSectionContainer, + BrowserSectionBody, + BrowserItemContainer, + BrowserItemLabel, + BrowserEmptyMessage +} from '@wso2/ui-toolkit'; import { HelperPaneCompletionItem, HelperPaneFunctionInfo } from '@wso2/ballerina-side-panel'; import { CompletionInsertText } from '@wso2/ballerina-core'; +import { HelperPaneIconType, getHelperPaneIcon } from '../HelperPaneNew/utils/iconUtils'; +import { useRpcContext } from '@wso2/ballerina-rpc-client'; +import { convertToHelperPaneFunction } from '../../../utils/bi'; +import { debounce } from 'lodash'; +import { LineRange } from '@wso2/ballerina-core'; type LibraryBrowserProps = { - anchorRef: RefObject; - isLoading: boolean; - libraryBrowserInfo: HelperPaneFunctionInfo; - setFilterText: (filterText: string) => void; - onBack: () => void; + fileName: string; + targetLineRange: LineRange; onClose: () => void; onChange: (insertText: CompletionInsertText) => void; onFunctionItemSelect: (item: HelperPaneCompletionItem) => Promise; }; export const LibraryBrowser = ({ - anchorRef, - isLoading, - libraryBrowserInfo, - setFilterText, - onBack, + fileName, + targetLineRange, onClose, onChange, onFunctionItemSelect }: LibraryBrowserProps) => { + const { rpcClient } = useRpcContext(); const firstRender = useRef(true); const [searchValue, setSearchValue] = useState(''); + const [libraryBrowserInfo, setLibraryBrowserInfo] = useState(undefined); + + const debounceFetchLibraryInfo = useCallback( + debounce((searchText: string) => { + rpcClient + .getBIDiagramRpcClient() + .search({ + position: targetLineRange, + filePath: fileName, + queryMap: { + q: searchText.trim(), + limit: 12, + offset: 0, + includeAvailableFunctions: 'true' + }, + searchKind: "FUNCTION" + }) + .then((response) => { + if (response.categories?.length) { + setLibraryBrowserInfo(convertToHelperPaneFunction(response.categories)); + } + }) + }, 150), + [rpcClient, fileName, targetLineRange] + ); + + const fetchLibraryInfo = useCallback( + (searchText: string) => { + debounceFetchLibraryInfo(searchText); + }, + [debounceFetchLibraryInfo] + ); useEffect(() => { if (firstRender.current) { firstRender.current = false; - setFilterText(''); + fetchLibraryInfo(''); } - }, []); + }, [fetchLibraryInfo]); const handleSearch = (searchText: string) => { - setFilterText(searchText); setSearchValue(searchText); + fetchLibraryInfo(searchText); }; const handleFunctionItemSelect = async (item: HelperPaneCompletionItem) => { @@ -64,51 +107,67 @@ export const LibraryBrowser = ({ }; return ( - - {libraryBrowserInfo?.category.map((category) => ( - 0 && category.subCategory?.length === 0 && { - columns: 4 - })} - > - {category.items?.map((item) => ( - getIcon(COMPLETION_ITEM_KIND.Function)} - onClick={async () => await handleFunctionItemSelect(item)} - /> - ))} - {category.subCategory?.map((subCategory) => ( - - {subCategory.items?.map((item) => ( - getIcon(COMPLETION_ITEM_KIND.Function)} - onClick={async () => await handleFunctionItemSelect(item)} - /> + + + + + + {libraryBrowserInfo?.category + .filter((category) => + (category.items && category.items.length > 0) || + (category.subCategory && category.subCategory.some(sub => sub.items && sub.items.length > 0)) + ) + .map((category) => ( + + + {category.label} + + 0 && category.subCategory?.length === 0 ? 3 : 1}> + {category.items?.length > 0 ? ( + category.items.map((item) => ( + await handleFunctionItemSelect(item)} + > + {getHelperPaneIcon(HelperPaneIconType.FUNCTION)} + {item.label}() + + )) + ) : ( + !category.subCategory?.length && ( + + No items found + + ) + )} + {category.subCategory?.filter(sub => sub.items && sub.items.length > 0).map((subCategory) => ( +
+ + {subCategory.label} + + + {subCategory.items?.length > 0 ? ( + subCategory.items.map((item) => ( + await handleFunctionItemSelect(item)} + > + {getHelperPaneIcon(HelperPaneIconType.FUNCTION)} + {item.label}() + + )) + ) : ( + + No items found + + )} + +
))} -
- ))} -
- ))} -
+ + + ))} + + ); }; diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/HelperPaneNew/Views/Functions.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/HelperPaneNew/Views/Functions.tsx index ac8ae1f86cf..22207013355 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/HelperPaneNew/Views/Functions.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/HelperPaneNew/Views/Functions.tsx @@ -62,7 +62,6 @@ export const FunctionsPage = ({ const { rpcClient } = useRpcContext(); const firstRender = useRef(true); const [searchValue, setSearchValue] = useState(''); - const [isLibraryBrowserOpen, setIsLibraryBrowserOpen] = useState(false); const [isLoading, setIsLoading] = useState(true); const [showContent, setShowContent] = useState(false); const [functionInfo, setFunctionInfo] = useState(undefined); @@ -165,13 +164,7 @@ export const FunctionsPage = ({ const handleFunctionSearch = (searchText: string) => { setSearchValue(searchText); - - // Search functions - if (isLibraryBrowserOpen) { - fetchFunctionInfo(searchText, 'true'); - } else { - fetchFunctionInfo(searchText); - } + fetchFunctionInfo(searchText); }; const handleFunctionSave = (value: string) => { @@ -199,6 +192,20 @@ export const FunctionsPage = ({ onClose(); } + const handleOpenLibraryBrowser = () => { + addModal( + closeModal(POPUP_IDS.LIBRARY_BROWSER)} + onChange={(insertText) => { + onChange(insertText); + onClose(); + }} + onFunctionItemSelect={onFunctionItemSelect} + />, POPUP_IDS.LIBRARY_BROWSER, "Function Browser", 600, 550); + } + return (
setIsLibraryBrowserOpen(true)} + onClick={handleOpenLibraryBrowser} startIcon="bi-arrow-outward" />
- {isLibraryBrowserOpen && ( - setIsLibraryBrowserOpen(false)} - onClose={onClose} - onChange={onChange} - onFunctionItemSelect={onFunctionItemSelect} - /> - )}
) } diff --git a/workspaces/ballerina/type-editor/src/TypeHelper/TypeBrowser.tsx b/workspaces/ballerina/type-editor/src/TypeHelper/TypeBrowser.tsx index 79ad1de1e8a..b2fac87af9a 100644 --- a/workspaces/ballerina/type-editor/src/TypeHelper/TypeBrowser.tsx +++ b/workspaces/ballerina/type-editor/src/TypeHelper/TypeBrowser.tsx @@ -17,20 +17,11 @@ */ import React, { RefObject, useEffect, useRef, useState } from 'react'; -import { Codicon, getIcon, HelperPane } from '@wso2/ui-toolkit'; -import styled from '@emotion/styled'; +import { BrowserEmptyMessage, BrowserItemContainer, BrowserItemLabel, BrowserLoaderContainer, BrowserSectionBody, BrowserSectionContainer, HelperPane, Typography, getIcon } from '@wso2/ui-toolkit'; import { TypeHelperCategory, TypeHelperItem } from '.'; import { EMPTY_SEARCH_RESULT_MSG, EMPTY_SEARCH_TEXT_MSG } from './constant'; -const SearchMsg = styled.div` - display: flex; - align-items: center; - justify-content: center; - padding: 20px; - color: var(--vscode-descriptionForeground) -`; - type TypeBrowserProps = { typeBrowserRef: RefObject; loadingTypeBrowser: boolean; @@ -76,51 +67,71 @@ export const TypeBrowser = (props: TypeBrowserProps) => { title="Type Browser" titleSx={{ fontFamily: 'GilmerRegular' }} > - {typeBrowserTypes?.length > 0 ? ( - typeBrowserTypes.map((category) => ( - 0 && - category.subCategory?.length === 0 && { - columns: 3 - })} - > - {category.items?.map((item) => ( - getIcon(item.type)} - onClick={() => onTypeItemClick(item)} - /> - ))} - {category.subCategory?.map((subCategory) => ( - - {subCategory.items?.map((item) => ( - getIcon(item.type)} - onClick={() => onTypeItemClick(item)} - /> + {loadingTypeBrowser ? ( + + Loading... + + ) : typeBrowserTypes?.length > 0 ? ( + typeBrowserTypes + .filter((category) => + (category.items && category.items.length > 0) || + (category.subCategory && category.subCategory.some(sub => sub.items && sub.items.length > 0)) + ) + .map((category) => ( + + + {category.category} + + 0 && category.subCategory?.length === 0 ? 3 : 1}> + {category.items?.length > 0 ? ( + category.items.map((item) => ( + onTypeItemClick(item)} + > + {getIcon(item.type)} + {item.name} + + )) + ) : ( + !category.subCategory?.length && ( + + No items found + + ) + )} + {category.subCategory?.filter(sub => sub.items && sub.items.length > 0).map((subCategory) => ( +
+ + {subCategory.category} + + + {subCategory.items?.length > 0 ? ( + subCategory.items.map((item) => ( + onTypeItemClick(item)} + > + {getIcon(item.type)} + {item.name} + + )) + ) : ( + + No items found + + )} + +
))} -
- ))} -
- )) - ) : ( - - -

+ + + )) + ) : ( + {searchValue !== "" ? EMPTY_SEARCH_RESULT_MSG : EMPTY_SEARCH_TEXT_MSG} -

-
- )} + + )} ); }; diff --git a/workspaces/common-libs/ui-toolkit/src/components/BrowserComponents/index.tsx b/workspaces/common-libs/ui-toolkit/src/components/BrowserComponents/index.tsx new file mode 100644 index 00000000000..328cac070a9 --- /dev/null +++ b/workspaces/common-libs/ui-toolkit/src/components/BrowserComponents/index.tsx @@ -0,0 +1,95 @@ +/** + * Copyright (c) 2025, WSO2 LLC. (https://www.wso2.com) All Rights Reserved. + * + * WSO2 LLC. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import styled from '@emotion/styled'; +import { ThemeColors } from '../../styles/Theme'; + +export const BrowserContainer = styled.div` + display: flex; + flex-direction: column; + height: 100%; + background-color: ${ThemeColors.SURFACE_DIM}; +`; + +export const BrowserSearchContainer = styled.div` + position: sticky; + top: 0; + background-color: var(--vscode-dropdown-background); + z-index: 1; + padding: 8px 16px; + border-bottom: 1px solid var(--vscode-panel-border); +`; + +export const BrowserContentArea = styled.div` + padding: 16px; + overflow-y: auto; + flex: 1 1 0; +`; + +export const BrowserSectionContainer = styled.div` + display: flex; + flex-direction: column; + gap: 12px; + margin-bottom: 20px; +`; + +export const BrowserSectionBody = styled.div<{ columns?: number }>` + display: grid; + gap: 8px; + grid-template-columns: ${({ columns }: { columns?: number }) => + columns && columns > 1 ? `repeat(${columns}, minmax(0, 1fr))` : '1fr'}; +`; + +export const BrowserItemContainer = styled.div` + display: flex; + align-items: center; + gap: 8px; + padding: 8px; + cursor: pointer; + border-radius: 4px; + min-width: 0; + overflow: hidden; + width: 100%; + box-sizing: border-box; + + &:hover { + background-color: var(--vscode-list-hoverBackground); + } +`; + +export const BrowserItemLabel = styled.span` + font-size: 13px; + color: var(--vscode-editor-foreground); + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + min-width: 0; +`; + +export const BrowserLoaderContainer = styled.div` + display: flex; + align-items: center; + justify-content: center; + height: 200px; +`; + +export const BrowserEmptyMessage = styled.div` + color: var(--vscode-descriptionForeground); + font-style: italic; + padding: 8px; +`; diff --git a/workspaces/common-libs/ui-toolkit/src/components/ExpressionEditor/components/Common/HelperPane/index.tsx b/workspaces/common-libs/ui-toolkit/src/components/ExpressionEditor/components/Common/HelperPane/index.tsx index 1d4da9db239..5793c83093d 100644 --- a/workspaces/common-libs/ui-toolkit/src/components/ExpressionEditor/components/Common/HelperPane/index.tsx +++ b/workspaces/common-libs/ui-toolkit/src/components/ExpressionEditor/components/Common/HelperPane/index.tsx @@ -46,6 +46,7 @@ import { HelperPanePanelProvider, useHelperPanePanelContext } from './context'; import { ARROW_HEIGHT, HELPER_PANE_HEIGHT, HELPER_PANE_WIDTH } from '../../../constants'; import { HelperPaneHeight } from '../../../types'; import { convertHelperPaneHeightToCSS } from '../../../utils'; +import { ThemeColors } from '../../../../../styles'; export const Arrow = styled.div` position: absolute; @@ -108,7 +109,12 @@ const PanelContainer = styled.div` `; const LibraryBrowserSearchBoxContainer = styled.div` - margin-bottom: 16px; + position: sticky; + top: 0; + background-color: var(--vscode-dropdown-background); + z-index: 1; + padding: 8px 16px; + border-bottom: 1px solid var(--vscode-panel-border); `; const LibraryBrowserBody = styled.div` @@ -118,7 +124,6 @@ const LibraryBrowserBody = styled.div` padding: 16px; overflow-y: auto; scrollbar-color: auto; - border: 1px solid var(--vscode-dropdown-border); `; const LibraryBrowserHeader = styled.header` @@ -143,7 +148,7 @@ const LibraryBrowserContainer = styled.div` flex-direction: column; padding: 16px; border-radius: 8px; - background-color: var(--vscode-dropdown-background); + background-color: ${ThemeColors.SURFACE_DIM}; box-shadow: 0 3px 8px rgb(0 0 0 / 0.2); z-index: 100001; `; diff --git a/workspaces/common-libs/ui-toolkit/src/index.ts b/workspaces/common-libs/ui-toolkit/src/index.ts index 0bdc3079b92..a4fd2b7e037 100644 --- a/workspaces/common-libs/ui-toolkit/src/index.ts +++ b/workspaces/common-libs/ui-toolkit/src/index.ts @@ -98,3 +98,4 @@ export * from './components/Banner/Banner'; export * from './components/ImageWithFallback'; export * from './components/ExpressionEditor/components/Common/SlidingPane'; export * from './components/ExpressionEditor/components/Form'; +export * from './components/BrowserComponents'; From 2d33634dad1b7dfaf9d2166f56187d17f2f02e37 Mon Sep 17 00:00:00 2001 From: Senith Uthsara Date: Mon, 3 Nov 2025 15:12:47 +0530 Subject: [PATCH 048/491] remove unwanted prevent default | Fix helper pane search boxes not focusing --- .../ChipExpressionEditor/components/AutoExpandingEditableDiv.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/workspaces/ballerina/ballerina-side-panel/src/components/editors/MultiModeExpressionEditor/ChipExpressionEditor/components/AutoExpandingEditableDiv.tsx b/workspaces/ballerina/ballerina-side-panel/src/components/editors/MultiModeExpressionEditor/ChipExpressionEditor/components/AutoExpandingEditableDiv.tsx index 5c00b4d96a8..ffb8180d84e 100644 --- a/workspaces/ballerina/ballerina-side-panel/src/components/editors/MultiModeExpressionEditor/ChipExpressionEditor/components/AutoExpandingEditableDiv.tsx +++ b/workspaces/ballerina/ballerina-side-panel/src/components/editors/MultiModeExpressionEditor/ChipExpressionEditor/components/AutoExpandingEditableDiv.tsx @@ -131,7 +131,6 @@ export const AutoExpandingEditableDiv = (props: AutoExpandingEditableDivProps) = top={menuPosition.top} left={adjustedLeft} data-menu={CHIP_MENU_VALUE} - onMouseDown={(e) => e.preventDefault()} > {props.getHelperPane( props.value, From 6ac79a156dcd2ff7cc27a3ca69e4f669493da144 Mon Sep 17 00:00:00 2001 From: Vellummyilum Vinoth Date: Mon, 3 Nov 2025 15:59:48 +0530 Subject: [PATCH 049/491] Handle artifact updates for temp files --- .../ai/service/datamapper/dataMappingPrompt.ts | 5 ++++- .../features/ai/service/datamapper/datamapper.ts | 16 ++++++++++------ 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/workspaces/ballerina/ballerina-extension/src/features/ai/service/datamapper/dataMappingPrompt.ts b/workspaces/ballerina/ballerina-extension/src/features/ai/service/datamapper/dataMappingPrompt.ts index 295ff57b038..cd472c44060 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/ai/service/datamapper/dataMappingPrompt.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/ai/service/datamapper/dataMappingPrompt.ts @@ -17,7 +17,7 @@ /** * Generates the main data mapping prompt for AI */ -export function getDataMappingPrompt(DM_MODEL: string, userMappings: string, mappingTips: string): string { +export function getDataMappingPrompt(DM_MODEL: string, userMappings: string, mappingTips: string, subMappings: string): string { return `You are a specialized code generation assistant for the Ballerina programming language. Your task is to generate syntactically correct Ballerina expressions that transform input data fields into output data fields based on provided specifications. Here is the data model schema that defines the structure and types: @@ -26,6 +26,9 @@ ${DM_MODEL} **User-Defined Mappings:** ${userMappings} +**Sub-Mappings (nested mappings or additional mapping context):** +${subMappings} + **Mapping Context (These are mapping tips with HIGHEST PRIORITY):** ${mappingTips} diff --git a/workspaces/ballerina/ballerina-extension/src/features/ai/service/datamapper/datamapper.ts b/workspaces/ballerina/ballerina-extension/src/features/ai/service/datamapper/datamapper.ts index 0cd3c25c370..b3b9a0611d4 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/ai/service/datamapper/datamapper.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/ai/service/datamapper/datamapper.ts @@ -62,6 +62,7 @@ async function generateAIPoweredDataMappings(dataMapperModelResponse: DataMapper const mappingsModel = dataMapperModelResponse.mappingsModel as DMModel; const existingMappings = mappingsModel.mappings; const userProvidedMappingHints = mappingsModel.mapping_fields || {}; + const existingSubMappings = mappingsModel.subMappings as Mapping[] || []; if (!mappingsModel.inputs || !mappingsModel.output) { throw new Error("Mappings model must contain both inputs and output fields"); @@ -77,7 +78,8 @@ async function generateAIPoweredDataMappings(dataMapperModelResponse: DataMapper const aiGeneratedMappings = await generateAIMappings( dataModelStructure, existingMappings, - userProvidedMappingHints + userProvidedMappingHints, + existingSubMappings ); if (Object.keys(aiGeneratedMappings).length === 0) { @@ -99,7 +101,8 @@ async function generateAIPoweredDataMappings(dataMapperModelResponse: DataMapper async function generateAIMappings( dataModelStructure: DataModelStructure, existingUserMappings: Mapping[], - userProvidedMappingHints: { [key: string]: MappingFields } + userProvidedMappingHints: { [key: string]: MappingFields }, + existingSubMappings: Mapping[] ): Promise { if (!dataModelStructure.inputs || !dataModelStructure.output) { throw new Error("Data model structure must contain inputs and output"); @@ -109,7 +112,8 @@ async function generateAIMappings( const aiPrompt = getDataMappingPrompt( JSON.stringify(dataModelStructure), JSON.stringify(existingUserMappings || []), - JSON.stringify(userProvidedMappingHints || {}) + JSON.stringify(userProvidedMappingHints || {}), + JSON.stringify(existingSubMappings || []) ); const chatMessages: ModelMessage[] = [ @@ -338,8 +342,8 @@ export async function generateMappingCodeCore(mappingRequest: ProcessMappingPara const sourceCodeResponse = await getAllDataMapperSource(allMappingsRequest); - await updateSourceCode({ textEdits: sourceCodeResponse.textEdits }); - await new Promise((resolve) => setTimeout(resolve, 500)); + await updateSourceCode({ textEdits: sourceCodeResponse.textEdits, skipPayloadCheck: true }); + await new Promise((resolve) => setTimeout(resolve, 100)); let customFunctionsTargetPath: string; let customFunctionsFileName: string; @@ -642,7 +646,7 @@ export async function generateInlineMappingCodeCore(inlineMappingRequest: Metada const inlineMappingsResult: InlineMappingsSourceResult = await generateInlineMappingsSource(inlineMappingRequest, langClient, context); - await updateSourceCode({ textEdits: inlineMappingsResult.sourceResponse.textEdits }); + await updateSourceCode({ textEdits: inlineMappingsResult.sourceResponse.textEdits, skipPayloadCheck: true }); await new Promise((resolve) => setTimeout(resolve, 100)); let customFunctionsTargetPath: string | undefined; From 4b7132efaa649181dae65bb7e9c4222deadc7391 Mon Sep 17 00:00:00 2001 From: Senith Uthsara Date: Mon, 3 Nov 2025 16:25:52 +0530 Subject: [PATCH 050/491] fix record config edit append a copy of the existing value --- .../src/components/Form/types.ts | 8 +++++++- .../components/ParamManager/ParamEditor.tsx | 4 ++-- .../components/editors/ExpressionEditor.tsx | 4 ++-- .../src/components/editors/ExpressionField.tsx | 3 ++- .../ChipExpressionBaseComponent.tsx | 13 ++++++++++--- .../components/AutoExpandingEditableDiv.tsx | 5 +++-- .../src/views/BI/Forms/FormGenerator/index.tsx | 3 ++- .../views/BI/Forms/FormGeneratorNew/index.tsx | 5 +++-- .../src/views/BI/HelperPaneNew/index.tsx | 18 ++++++++++++------ 9 files changed, 43 insertions(+), 20 deletions(-) diff --git a/workspaces/ballerina/ballerina-side-panel/src/components/Form/types.ts b/workspaces/ballerina/ballerina-side-panel/src/components/Form/types.ts index bdc15bde850..d7101a4a3b7 100644 --- a/workspaces/ballerina/ballerina-side-panel/src/components/Form/types.ts +++ b/workspaces/ballerina/ballerina-side-panel/src/components/Form/types.ts @@ -91,6 +91,12 @@ export type HelperPaneCompletionCategory = { items: HelperPaneCompletionItem[]; } + +export type HelperpaneOnChangeOptions = { + closeHelperPane?: boolean; + replaceFullText?: boolean; +} + export type HelperPaneVariableInfo = { category: HelperPaneCompletionCategory[]; } @@ -173,7 +179,7 @@ type FormHelperPaneConditionalProps = { anchorRef: RefObject, defaultValue: string, value: string, - onChange: (value: string, closeHelperPane: boolean) => void, + onChange: (value: string, options?: HelperpaneOnChangeOptions) => void, changeHelperPaneState: (isOpen: boolean) => void, helperPaneHeight: HelperPaneHeight, recordTypeField?: RecordTypeField, diff --git a/workspaces/ballerina/ballerina-side-panel/src/components/ParamManager/ParamEditor.tsx b/workspaces/ballerina/ballerina-side-panel/src/components/ParamManager/ParamEditor.tsx index 2224a8188c4..18b77bf5056 100644 --- a/workspaces/ballerina/ballerina-side-panel/src/components/ParamManager/ParamEditor.tsx +++ b/workspaces/ballerina/ballerina-side-panel/src/components/ParamManager/ParamEditor.tsx @@ -22,7 +22,7 @@ import React, { RefObject, useEffect, useState } from 'react'; import { EditorContainer } from './styles'; import { Parameter } from './ParamManager'; import Form from '../Form'; -import { FormField, FormValues } from '../Form/types'; +import { FormField, FormValues, HelperpaneOnChangeOptions } from '../Form/types'; import { useFormContext } from '../../context'; import { RecordTypeField, TextEdit } from '@wso2/ballerina-core'; import { HelperPaneHeight } from '@wso2/ui-toolkit'; @@ -51,7 +51,7 @@ export function ParamEditor(props: ParamProps) { anchorRef: RefObject, defaultValue: string, value: string, - onChange: (value: string, closeHelperPane: boolean) => void, + onChange: (value: string, options?: HelperpaneOnChangeOptions) => void, changeHelperPaneState: (isOpen: boolean) => void, helperPaneHeight: HelperPaneHeight, recordTypeField?: RecordTypeField diff --git a/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpressionEditor.tsx b/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpressionEditor.tsx index de3f72dd743..a4206965e99 100644 --- a/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpressionEditor.tsx +++ b/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpressionEditor.tsx @@ -31,7 +31,7 @@ import { Tooltip } from '@wso2/ui-toolkit'; import { getPropertyFromFormField, sanitizeType } from './utils'; -import { FormField, FormExpressionEditorProps } from '../Form/types'; +import { FormField, FormExpressionEditorProps, HelperpaneOnChangeOptions } from '../Form/types'; import { useFormContext } from '../../context'; import { LineRange, @@ -454,7 +454,7 @@ export const ExpressionEditor = (props: ExpressionEditorProps) => { const handleGetHelperPane = ( value: string, - onChange: (value: string, closeHelperPane: boolean) => void, + onChange: (value: string, options?: HelperpaneOnChangeOptions) => void, helperPaneHeight: HelperPaneHeight ) => { return getHelperPane?.( diff --git a/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpressionField.tsx b/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpressionField.tsx index a8bae81192d..ff6e22e907d 100644 --- a/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpressionField.tsx +++ b/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpressionField.tsx @@ -30,6 +30,7 @@ import TextModeEditor from './MultiModeExpressionEditor/TextExpressionEditor/Tex import { InputMode } from './MultiModeExpressionEditor/ChipExpressionEditor/types'; import { ChipExpressionBaseComponent } from './MultiModeExpressionEditor/ChipExpressionEditor/ChipExpressionBaseComponent'; import { LineRange } from '@wso2/ballerina-core/lib/interfaces/common'; +import { HelperpaneOnChangeOptions } from '../Form/types'; export interface ExpressionField { inputMode: InputMode; @@ -59,7 +60,7 @@ export interface ExpressionField { changeHelperPaneState: (isOpen: boolean) => void; getHelperPane?: ( value: string, - onChange: (value: string, closeHelperPane: boolean) => void, + onChange: (value: string, options?: HelperpaneOnChangeOptions) => void, helperPaneHeight: HelperPaneHeight ) => React.ReactNode; helperPaneHeight?: HelperPaneHeight; diff --git a/workspaces/ballerina/ballerina-side-panel/src/components/editors/MultiModeExpressionEditor/ChipExpressionEditor/ChipExpressionBaseComponent.tsx b/workspaces/ballerina/ballerina-side-panel/src/components/editors/MultiModeExpressionEditor/ChipExpressionEditor/ChipExpressionBaseComponent.tsx index 47d35e31570..8da55c98475 100644 --- a/workspaces/ballerina/ballerina-side-panel/src/components/editors/MultiModeExpressionEditor/ChipExpressionEditor/ChipExpressionBaseComponent.tsx +++ b/workspaces/ballerina/ballerina-side-panel/src/components/editors/MultiModeExpressionEditor/ChipExpressionEditor/ChipExpressionBaseComponent.tsx @@ -41,13 +41,14 @@ import { CompletionItem, FnSignatureDocumentation, HelperPaneHeight } from "@wso import { useFormContext } from "../../../../context"; import { DATA_ELEMENT_ID_ATTRIBUTE, FOCUS_MARKER, ARROW_LEFT_MARKER, ARROW_RIGHT_MARKER, BACKSPACE_MARKER, COMPLETIONS_MARKER, HELPER_MARKER, DELETE_MARKER } from "./constants"; import { LineRange } from "@wso2/ballerina-core/lib/interfaces/common"; +import { HelperpaneOnChangeOptions } from "../../../Form/types"; export type ChipExpressionBaseComponentProps = { onTokenRemove?: (token: string) => void; onTokenClick?: (token: string) => void; getHelperPane?: ( value: string, - onChange: (value: string, closeHelperPane: boolean) => void, + onChange: (value: string, options?: HelperpaneOnChangeOptions) => void, helperPaneHeight: HelperPaneHeight ) => React.ReactNode; completions: CompletionItem[]; @@ -298,7 +299,13 @@ export const ChipExpressionBaseComponent = (props: ChipExpressionBaseComponentPr setIsCompletionsOpen(false); }; - const handleHelperPaneValueChange = async (updatedValue: string, closeHelperpane: boolean) => { + const handleHelperPaneValueChange = async (updatedValue: string, options?: HelperpaneOnChangeOptions) => { + if (options?.replaceFullText) { + const updatedTokens = await fetchUpdatedFilteredTokens(updatedValue); + let exprModel = createExpressionModelFromTokens(updatedValue, updatedTokens); + handleExpressionChange(exprModel, updatedValue.length, HELPER_MARKER); + return; + } let value = await expandFunctionSignature(updatedValue); if ( chipClicked && @@ -347,7 +354,7 @@ export const ChipExpressionBaseComponent = (props: ChipExpressionBaseComponentPr handleExpressionChange(exprModel, newCursorPosition, HELPER_MARKER); } } - if (closeHelperpane) { + if (options?.closeHelperPane) { setIsHelperPaneOpen(false); } else { diff --git a/workspaces/ballerina/ballerina-side-panel/src/components/editors/MultiModeExpressionEditor/ChipExpressionEditor/components/AutoExpandingEditableDiv.tsx b/workspaces/ballerina/ballerina-side-panel/src/components/editors/MultiModeExpressionEditor/ChipExpressionEditor/components/AutoExpandingEditableDiv.tsx index 5c00b4d96a8..81890606c1e 100644 --- a/workspaces/ballerina/ballerina-side-panel/src/components/editors/MultiModeExpressionEditor/ChipExpressionEditor/components/AutoExpandingEditableDiv.tsx +++ b/workspaces/ballerina/ballerina-side-panel/src/components/editors/MultiModeExpressionEditor/ChipExpressionEditor/components/AutoExpandingEditableDiv.tsx @@ -26,6 +26,7 @@ import { CloseHelperButton, OpenHelperButton } from "./FloatingButtonIcons"; import { DATA_CHIP_ATTRIBUTE, DATA_ELEMENT_ID_ATTRIBUTE, ARIA_PRESSED_ATTRIBUTE, CHIP_MENU_VALUE, CHIP_TRUE_VALUE, EXPANDED_EDITOR_HEIGHT } from '../constants'; import { getCompletionsMenuPosition } from "../utils"; import styled from "@emotion/styled"; +import { HelperpaneOnChangeOptions } from "../../../../Form/types"; const ChipEditorFieldContainer = styled.div` width: 100%; @@ -59,13 +60,13 @@ export type AutoExpandingEditableDivProps = { onCloseCompletions?: () => void; getHelperPane?: ( value: string, - onChange: (value: string, closeHelperPane: boolean) => void, + onChange: (value: string, options?: HelperpaneOnChangeOptions) => void, helperPaneHeight: HelperPaneHeight ) => React.ReactNode isHelperPaneOpen?: boolean; onHelperPaneClose?: () => void; onToggleHelperPane?: () => void; - handleHelperPaneValueChange?: (value: string, closeHelperPane: boolean) => void; + handleHelperPaneValueChange?: (value: string, options?: HelperpaneOnChangeOptions) => void; isInExpandedMode?: boolean; onOpenExpandedMode?: () => void; } diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/Forms/FormGenerator/index.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/Forms/FormGenerator/index.tsx index ad47291cf08..f36fb1c1d83 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/Forms/FormGenerator/index.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/Forms/FormGenerator/index.tsx @@ -49,6 +49,7 @@ import { FormExpressionEditorProps, PanelContainer, FormImports, + HelperpaneOnChangeOptions, } from "@wso2/ballerina-side-panel"; import { useRpcContext } from "@wso2/ballerina-rpc-client"; import { @@ -889,7 +890,7 @@ export const FormGenerator = forwardRef(func anchorRef: RefObject, defaultValue: string, value: string, - onChange: (value: string, closeHelperPane: boolean) => void, + onChange: (value: string, options?: HelperpaneOnChangeOptions) => void, changeHelperPaneState: (isOpen: boolean) => void, helperPaneHeight: HelperPaneHeight, recordTypeField?: RecordTypeField, diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/Forms/FormGeneratorNew/index.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/Forms/FormGeneratorNew/index.tsx index 36ac0fbe4ac..1b049d56b01 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/Forms/FormGeneratorNew/index.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/Forms/FormGeneratorNew/index.tsx @@ -42,7 +42,8 @@ import { Form, ExpressionFormField, FormExpressionEditorProps, - FormImports + FormImports, + HelperpaneOnChangeOptions } from "@wso2/ballerina-side-panel"; import { useRpcContext } from "@wso2/ballerina-rpc-client"; import { CompletionItem, FormExpressionEditorRef, HelperPaneHeight, Overlay, ThemeColors } from "@wso2/ui-toolkit"; @@ -644,7 +645,7 @@ export function FormGeneratorNew(props: FormProps) { anchorRef: RefObject, defaultValue: string, value: string, - onChange: (value: string, closeHelperPane: boolean) => void, + onChange: (value: string, options?: HelperpaneOnChangeOptions) => void, changeHelperPaneState: (isOpen: boolean) => void, helperPaneHeight: HelperPaneHeight, recordTypeField?: RecordTypeField, diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/HelperPaneNew/index.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/HelperPaneNew/index.tsx index 8e7b6a566d4..736e2cb5d56 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/HelperPaneNew/index.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/HelperPaneNew/index.tsx @@ -34,6 +34,7 @@ import { POPUP_IDS, useModalStack } from '../../../Context'; import { getDefaultValue } from './utils/types'; import { EXPR_ICON_WIDTH } from '@wso2/ui-toolkit'; import { HelperPaneIconType, getHelperPaneIcon } from './utils/iconUtils'; +import { HelperpaneOnChangeOptions } from '@wso2/ballerina-side-panel'; export type ValueCreationOption = { @@ -50,7 +51,7 @@ export type HelperPaneNewProps = { onClose: () => void; defaultValue: string; currentValue: string; - onChange: (value: string, closeHelperPane: boolean) => void; + onChange: (value: string, options?: HelperpaneOnChangeOptions) => void; helperPaneHeight: HelperPaneHeight; recordTypeField?: RecordTypeField; updateImports: (key: string, imports: { [key: string]: string }) => void; @@ -172,13 +173,18 @@ const HelperPaneNewEl = ({ const handleChange = (insertText: string | CompletionInsertText, isRecordConfigureChange?: boolean, shouldKeepHelper?: boolean) => { if (typeof insertText === 'string') { - onChange(insertText, !shouldKeepHelper); + onChange(insertText, { + closeHelperPane: !shouldKeepHelper, + replaceFullText: isRecordConfigureChange || false + }); } - else { + else { const textToInsert = getInsertText(insertText); - const cursorOffset = getCursorOffset(insertText); - onChange(textToInsert, !shouldKeepHelper); - } + onChange(textToInsert, { + closeHelperPane: !shouldKeepHelper, + replaceFullText: isRecordConfigureChange || false + }); + } }; // Scroll selected item into view when selection changes From 16a968fbfd85909a6eb09bfbd7a353808b6651d5 Mon Sep 17 00:00:00 2001 From: Senith Uthsara Date: Mon, 3 Nov 2025 16:39:27 +0530 Subject: [PATCH 051/491] Fix cannot delte text when cursor selection include the start of a text element content --- .../ChipExpressionEditor/components/TextElement.tsx | 11 ++++++++++- .../ChipExpressionEditor/utils.ts | 10 ++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/workspaces/ballerina/ballerina-side-panel/src/components/editors/MultiModeExpressionEditor/ChipExpressionEditor/components/TextElement.tsx b/workspaces/ballerina/ballerina-side-panel/src/components/editors/MultiModeExpressionEditor/ChipExpressionEditor/components/TextElement.tsx index 367f866199a..a24a75625eb 100644 --- a/workspaces/ballerina/ballerina-side-panel/src/components/editors/MultiModeExpressionEditor/ChipExpressionEditor/components/TextElement.tsx +++ b/workspaces/ballerina/ballerina-side-panel/src/components/editors/MultiModeExpressionEditor/ChipExpressionEditor/components/TextElement.tsx @@ -17,7 +17,7 @@ */ import React, { useEffect, useLayoutEffect, useRef } from "react"; -import { getCaretOffsetWithin, getAbsoluteCaretPosition, setCaretPosition, handleKeyDownInTextElement, getAbsoluteCaretPositionFromModel } from "../utils"; +import { getCaretOffsetWithin, getAbsoluteCaretPosition, setCaretPosition, handleKeyDownInTextElement, getAbsoluteCaretPositionFromModel, hasTextSelection } from "../utils"; import { ExpressionModel } from "../types"; import { InvisibleSpan } from "../styles"; import { FOCUS_MARKER } from "../constants"; @@ -37,6 +37,15 @@ export const TextElement = (props: { const isProgrammaticFocusRef = useRef(false); const handleKeyDown = (e: React.KeyboardEvent) => { + // Only call handleKeyDownInTextElement when there's no text selection (caret is at a single position) + // If there's a selection, let the browser handle the default behavior + // because we only have to handle the case where the cursor is in the starting position of + // a text element and user is trying to delete or move left or right + // if user has selected a range then we do not have to care about chip deletions + // (Chips cannot be selected) + if (spanRef.current && hasTextSelection(spanRef.current)) { + return; + } handleKeyDownInTextElement(e, props.expressionModel, props.index, onExpressionChange, spanRef.current); }; diff --git a/workspaces/ballerina/ballerina-side-panel/src/components/editors/MultiModeExpressionEditor/ChipExpressionEditor/utils.ts b/workspaces/ballerina/ballerina-side-panel/src/components/editors/MultiModeExpressionEditor/ChipExpressionEditor/utils.ts index 4bb508ee86e..33634ea345a 100644 --- a/workspaces/ballerina/ballerina-side-panel/src/components/editors/MultiModeExpressionEditor/ChipExpressionEditor/utils.ts +++ b/workspaces/ballerina/ballerina-side-panel/src/components/editors/MultiModeExpressionEditor/ChipExpressionEditor/utils.ts @@ -332,6 +332,16 @@ export const getCaretOffsetWithin = (el: HTMLElement): number => { return offset; }; +export const hasTextSelection = (el: HTMLElement): boolean => { + const selection = window.getSelection(); + if (!selection || selection.rangeCount === 0) return false; + const range = selection.getRangeAt(0); + if (!el.contains(range.startContainer)) return false; + // Check if there's an actual selection (not just a cursor position) + // range.collapsed is false when there's a selection range + return !range.collapsed; +}; + export const getAbsoluteCaretPosition = (model: ExpressionModel[] | undefined): number => { if (!model || model.length === 0) return 0; const active = document.activeElement as HTMLElement | null; From 25054899727b0f9af919ba0552733351abc878ec Mon Sep 17 00:00:00 2001 From: Senith Uthsara Date: Mon, 3 Nov 2025 16:39:37 +0530 Subject: [PATCH 052/491] add util --- .../MultiModeExpressionEditor/ChipExpressionEditor/utils.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/workspaces/ballerina/ballerina-side-panel/src/components/editors/MultiModeExpressionEditor/ChipExpressionEditor/utils.ts b/workspaces/ballerina/ballerina-side-panel/src/components/editors/MultiModeExpressionEditor/ChipExpressionEditor/utils.ts index 33634ea345a..0e47a072765 100644 --- a/workspaces/ballerina/ballerina-side-panel/src/components/editors/MultiModeExpressionEditor/ChipExpressionEditor/utils.ts +++ b/workspaces/ballerina/ballerina-side-panel/src/components/editors/MultiModeExpressionEditor/ChipExpressionEditor/utils.ts @@ -337,8 +337,6 @@ export const hasTextSelection = (el: HTMLElement): boolean => { if (!selection || selection.rangeCount === 0) return false; const range = selection.getRangeAt(0); if (!el.contains(range.startContainer)) return false; - // Check if there's an actual selection (not just a cursor position) - // range.collapsed is false when there's a selection range return !range.collapsed; }; From 24accfc177a6b07c7b27e2edae7cc24e8f707725 Mon Sep 17 00:00:00 2001 From: Radith Samarakoon Date: Mon, 3 Nov 2025 17:48:45 +0530 Subject: [PATCH 053/491] Update optional field section title --- .../ballerina-side-panel/src/components/Form/index.tsx | 4 ++-- .../src/views/BI/ServiceDesigner/ServiceCreationView.tsx | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/workspaces/ballerina/ballerina-side-panel/src/components/Form/index.tsx b/workspaces/ballerina/ballerina-side-panel/src/components/Form/index.tsx index 5e911c4fc0c..e291c10d651 100644 --- a/workspaces/ballerina/ballerina-side-panel/src/components/Form/index.tsx +++ b/workspaces/ballerina/ballerina-side-panel/src/components/Form/index.tsx @@ -421,7 +421,7 @@ export const Form = forwardRef((props: FormProps) => { const [isMarkdownExpanded, setIsMarkdownExpanded] = useState(false); const [isIdentifierEditing, setIsIdentifierEditing] = useState(false); const [isSubComponentEnabled, setIsSubComponentEnabled] = useState(false); - const [optionalFieldsTitle, setOptionalFieldsTitle] = useState("Optional Configurations"); + const [optionalFieldsTitle, setOptionalFieldsTitle] = useState("Advanced Configurations"); const markdownRef = useRef(null); @@ -493,7 +493,7 @@ export const Form = forwardRef((props: FormProps) => { reset(defaultValues); if (changeOptionalFieldTitle) { - setOptionalFieldsTitle("Optional Listener Configurations"); + setOptionalFieldsTitle("Advanced Configurations"); } } }, [formFields, reset]); diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/ServiceCreationView.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/ServiceCreationView.tsx index c1f795f7c69..259549134bf 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/ServiceCreationView.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/ServiceCreationView.tsx @@ -443,7 +443,6 @@ export function ServiceCreationView(props: ServiceCreationViewProps) { onSubmit={handleOnSubmit} preserveFieldOrder={true} recordTypeFields={recordTypeFields} - changeOptionalFieldTitle={"Optional Listener Configurations"} /> )} From 33e85a70ed80bfefb767be55be951aff85d220d0 Mon Sep 17 00:00:00 2001 From: Radith Samarakoon Date: Mon, 3 Nov 2025 17:50:20 +0530 Subject: [PATCH 054/491] Update connection method names --- .../src/components/GroupList/index.tsx | 5 +- .../src/utils/formatMethodName.ts | 70 +++++++++++++++++++ 2 files changed, 74 insertions(+), 1 deletion(-) create mode 100644 workspaces/ballerina/ballerina-side-panel/src/utils/formatMethodName.ts diff --git a/workspaces/ballerina/ballerina-side-panel/src/components/GroupList/index.tsx b/workspaces/ballerina/ballerina-side-panel/src/components/GroupList/index.tsx index 3eb6bc77a45..555826f913e 100644 --- a/workspaces/ballerina/ballerina-side-panel/src/components/GroupList/index.tsx +++ b/workspaces/ballerina/ballerina-side-panel/src/components/GroupList/index.tsx @@ -22,6 +22,8 @@ import styled from "@emotion/styled"; import { CallIcon, LogIcon } from "../../resources"; import { Category, Node } from "./../NodeList/types"; import { stripHtmlTags } from "../Form/utils"; +import { formatMethodName } from "../../utils/formatMethodName"; + namespace S { export const Card = styled.div<{}>` @@ -229,7 +231,8 @@ function getComponentTitle(node: Node) { return stripHtmlTags(node.description); } - return stripHtmlTags(node.label); + const label = stripHtmlTags(node.label); + return formatMethodName(label); } function getComponentDescription(node: Node) { diff --git a/workspaces/ballerina/ballerina-side-panel/src/utils/formatMethodName.ts b/workspaces/ballerina/ballerina-side-panel/src/utils/formatMethodName.ts new file mode 100644 index 00000000000..14df9934238 --- /dev/null +++ b/workspaces/ballerina/ballerina-side-panel/src/utils/formatMethodName.ts @@ -0,0 +1,70 @@ +/** + * Copyright (c) 2025, WSO2 LLC. (https://www.wso2.com) All Rights Reserved. + * + * WSO2 LLC. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +/** +* Converts a camelCase or snake_case method name into a user-friendly display format. +* +* @param methodName - The raw method name (e.g., "basicAck", "'commit", "onMessage") +* @returns A formatted, human-readable name (e.g., "Basic Ack", "Commit", "On Message") +* +* @example +* formatMethodName("basicAck") // Returns "Basic Ack" +* formatMethodName("'commit") // Returns "Commit" +* formatMethodName("onMessage") // Returns "On Message" +* formatMethodName("HTTPRequest") // Returns "HTTP Request" +* formatMethodName("method2Call") // Returns "Method 2 Call" +*/ +export function formatMethodName(methodName: string): string { + // Handle null, undefined, or empty strings + if (!methodName || typeof methodName !== "string") { + return ""; + } + + // Remove leading special characters like apostrophes, underscores, etc. + let cleaned = methodName.trim().replace(/^[^\w]/g, ""); + + // Handle edge case where all characters were special + if (!cleaned) { + return methodName; + } + + // Convert camelCase and snake_case to space-separated words + // This regex: + // 1. Inserts space before uppercase letters that follow lowercase letters (camelCase) + // 2. Inserts space before uppercase letters that are followed by lowercase (e.g., "HTTPRequest" -> "HTTP Request") + // 3. Handles underscores by replacing them with spaces + let formatted = cleaned + .replace(/([a-z])([A-Z])/g, "$1 $2") // Insert space before uppercase after lowercase + .replace(/([A-Z]+)([A-Z][a-z])/g, "$1 $2") // Insert space before last uppercase in sequence + .replace(/_/g, " ") // Replace underscores with spaces + .replace(/\s+/g, " ") // Normalize multiple spaces to single space + .trim(); + + // Capitalize first letter of each word + const words = formatted.split(" "); + const capitalized = words + .map((word) => { + if (!word) return ""; + // Keep existing capitalization for acronyms (all caps) but capitalize first letter otherwise + return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase(); + }) + .filter((word) => word.length > 0) // Remove empty strings from split + .join(" "); + + return capitalized; +} From 4378b59f2475bf067657bbef7a3e71db52ebfdf3 Mon Sep 17 00:00:00 2001 From: Radith Samarakoon Date: Thu, 23 Oct 2025 23:36:21 +0530 Subject: [PATCH 055/491] Add solace icon --- .../src/utils/project-artifacts.ts | 2 ++ .../BI/ComponentListView/EventIntegrationPanel.tsx | 2 ++ .../nodes/EntryNode/components/GeneralWidget.tsx | 2 ++ .../bi/bi-extension/assets/dark-bi-solace.svg | 14 ++++++++++++++ .../bi/bi-extension/assets/light-bi-solace.svg | 14 ++++++++++++++ .../font-wso2-vscode/src/icons/bi-solace.svg | 14 ++++++++++++++ 6 files changed, 48 insertions(+) create mode 100644 workspaces/bi/bi-extension/assets/dark-bi-solace.svg create mode 100644 workspaces/bi/bi-extension/assets/light-bi-solace.svg create mode 100644 workspaces/common-libs/font-wso2-vscode/src/icons/bi-solace.svg diff --git a/workspaces/ballerina/ballerina-extension/src/utils/project-artifacts.ts b/workspaces/ballerina/ballerina-extension/src/utils/project-artifacts.ts index 8d6a16349f3..ee4aec58bad 100644 --- a/workspaces/ballerina/ballerina-extension/src/utils/project-artifacts.ts +++ b/workspaces/ballerina/ballerina-extension/src/utils/project-artifacts.ts @@ -426,6 +426,8 @@ function getCustomEntryNodeIcon(type: string) { return "bi-ftp"; case "file": return "bi-file"; + case "solace": + return "bi-solace"; default: return "bi-globe"; } diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ComponentListView/EventIntegrationPanel.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ComponentListView/EventIntegrationPanel.tsx index 9a5b6c27c07..e5404611596 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ComponentListView/EventIntegrationPanel.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ComponentListView/EventIntegrationPanel.tsx @@ -113,6 +113,8 @@ export function getCustomEntryNodeIcon(type: string) { return ; case "trigger.github": return ; + case "solace": + return ; default: return null; } diff --git a/workspaces/ballerina/component-diagram/src/components/nodes/EntryNode/components/GeneralWidget.tsx b/workspaces/ballerina/component-diagram/src/components/nodes/EntryNode/components/GeneralWidget.tsx index 6881bfa9aa2..8f1a5b1fc4b 100644 --- a/workspaces/ballerina/component-diagram/src/components/nodes/EntryNode/components/GeneralWidget.tsx +++ b/workspaces/ballerina/component-diagram/src/components/nodes/EntryNode/components/GeneralWidget.tsx @@ -115,6 +115,8 @@ function getCustomEntryNodeIcon(type: string) { return ; case "http": return ; + case "solace": + return ; default: return null; } diff --git a/workspaces/bi/bi-extension/assets/dark-bi-solace.svg b/workspaces/bi/bi-extension/assets/dark-bi-solace.svg new file mode 100644 index 00000000000..b7f781d4a20 --- /dev/null +++ b/workspaces/bi/bi-extension/assets/dark-bi-solace.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/workspaces/bi/bi-extension/assets/light-bi-solace.svg b/workspaces/bi/bi-extension/assets/light-bi-solace.svg new file mode 100644 index 00000000000..c5f8a998bd8 --- /dev/null +++ b/workspaces/bi/bi-extension/assets/light-bi-solace.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/workspaces/common-libs/font-wso2-vscode/src/icons/bi-solace.svg b/workspaces/common-libs/font-wso2-vscode/src/icons/bi-solace.svg new file mode 100644 index 00000000000..0c504febd3e --- /dev/null +++ b/workspaces/common-libs/font-wso2-vscode/src/icons/bi-solace.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + From 087d0de9bf1d1ebdffdb54e4c8649d61002aade3 Mon Sep 17 00:00:00 2001 From: Radith Samarakoon Date: Thu, 30 Oct 2025 17:05:13 +0530 Subject: [PATCH 056/491] Fix nested choice forms processing --- .../ServiceDesigner/ServiceCreationView.tsx | 82 +++++++++++++++++-- 1 file changed, 77 insertions(+), 5 deletions(-) diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/ServiceCreationView.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/ServiceCreationView.tsx index c1f795f7c69..18cb5e79a19 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/ServiceCreationView.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/ServiceCreationView.tsx @@ -340,6 +340,67 @@ export function ServiceCreationView(props: ServiceCreationViewProps) { } }, [model]); + /** + * Recursively processes a property and its nested CHOICE fields + * + * @param property The property to process + * @param data The form data containing all field values + */ + const processPropertyRecursively = (property: PropertyModel, data: FormValues): void => { + // If this property is a CHOICE field, process it + if (property.valueType === "CHOICE" && property.choices) { + property.choices.forEach((choice, index) => { + // Disable all choices first + choice.enabled = false; + + // The property.value should contain the selected index + if (property.value !== undefined && Number(property.value) === index) { + choice.enabled = true; + + // Process all properties in this selected choice + if (choice.properties) { + for (const nestedKey in choice.properties) { + const nestedProperty = choice.properties[nestedKey]; + + // Set value from form data if available + if (data[nestedKey] !== undefined) { + // Handle MULTIPLE_SELECT and EXPRESSION_SET types + if (nestedProperty.valueType === "MULTIPLE_SELECT" || nestedProperty.valueType === "EXPRESSION_SET") { + const value = data[nestedKey]; + nestedProperty.values = Array.isArray(value) ? value : value ? [value] : []; + } else { + nestedProperty.value = data[nestedKey] as string; + } + } + + // Recursively process this nested property + processPropertyRecursively(nestedProperty, data); + } + } + } + }); + } + // If this property has nested properties (like CONDITIONAL_FIELDS), process them + else if (property.properties) { + for (const nestedKey in property.properties) { + const nestedProperty = property.properties[nestedKey]; + + // Set value from form data if available + if (data[nestedKey] !== undefined) { + if (nestedProperty.valueType === "MULTIPLE_SELECT" || nestedProperty.valueType === "EXPRESSION_SET") { + const value = data[nestedKey]; + nestedProperty.values = Array.isArray(value) ? value : value ? [value] : []; + } else { + nestedProperty.value = data[nestedKey] as string; + } + } + + // Recursively process nested properties + processPropertyRecursively(nestedProperty, data); + } + } + }; + const handleOnSubmit = async (data: FormValues, formImports: FormImports) => { setIsSaving(true); formFields.forEach(val => { @@ -348,10 +409,17 @@ export function ServiceCreationView(props: ServiceCreationViewProps) { choice.enabled = false; if (data[val.key] === index) { choice.enabled = true; - for (const key in choice.properties) { - choice.properties[key].value = data[key]; - if (key === "basePath") { - choice.properties[key].value = sanitizedHttpPath(data[key]); + if (choice.properties) { + for (const key in choice.properties) { + const property = choice.properties[key]; + if (data[key] !== undefined) { + if (key === "basePath") { + property.value = sanitizedHttpPath(data[key]); + } else { + property.value = data[key]; + } + } + processPropertyRecursively(property, data); } } } @@ -359,11 +427,15 @@ export function ServiceCreationView(props: ServiceCreationViewProps) { } else if (data[val.key] !== undefined) { val.value = data[val.key]; } + if (val.type === "CONDITIONAL_FIELDS") { val.advanceProps.forEach(subField => { const subProperty = model.properties[val.key]?.properties?.[subField.key]; if (subProperty) { - subProperty.value = data[subField.key]; + if (data[subField.key] !== undefined) { + subProperty.value = data[subField.key]; + } + processPropertyRecursively(subProperty, data); } }); } From 9d425d950929727c5ebc87b5626270e2ae29ee77 Mon Sep 17 00:00:00 2001 From: Radith Samarakoon Date: Fri, 31 Oct 2025 00:32:15 +0530 Subject: [PATCH 057/491] Hide advanced parameters if none are editable --- .../views/BI/ServiceDesigner/Forms/DatabindForm/index.tsx | 5 +++-- .../src/views/BI/ServiceDesigner/utils.tsx | 7 +++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/Forms/DatabindForm/index.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/Forms/DatabindForm/index.tsx index 2a589a1955a..fca8fc039bf 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/Forms/DatabindForm/index.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/Forms/DatabindForm/index.tsx @@ -35,6 +35,7 @@ import { useEffect, useState } from "react"; import { ParamEditor } from "./Parameters/ParamEditor"; import { Parameters } from "./Parameters/Parameters"; import { EntryPointTypeCreator } from "../../../../../components/EntryPointTypeCreator"; +import { hasEditableParameters } from "../../utils"; const OptionalConfigRow = styled.div` display: flex; @@ -450,12 +451,12 @@ export function DatabindForm(props: DatabindFormProps) { - {/* Advanced Parameters Section - Only show if there are additional parameters beyond the first */} - {advancedParameters.length > 0 && ( + {hasEditableParameters(advancedParameters) && ( <> + Advanced Parameters diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/utils.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/utils.tsx index e3c3018e632..a69c1e98f44 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/utils.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/utils.tsx @@ -84,3 +84,10 @@ export function getReadableListenerName(name: string) { const listenerType = match ? match[1] : "Unknown"; return `${listenerType.charAt(0).toUpperCase() + listenerType.slice(1)} Listener`; } + +export function hasEditableParameters(parameters: FunctionModel['parameters']): boolean { + if (!parameters || parameters.length === 0) { + return false; + } + return parameters.some((param) => param.editable !== false); +} From 40b2d6f10f1b016780dc58d39a74804f491781f1 Mon Sep 17 00:00:00 2001 From: Radith Samarakoon Date: Fri, 31 Oct 2025 11:41:01 +0530 Subject: [PATCH 058/491] Add tooltip and refactor --- .../BI/ServiceDesigner/Forms/DatabindForm/index.tsx | 11 +++++++---- .../views/BI/ServiceDesigner/ServiceCreationView.tsx | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/Forms/DatabindForm/index.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/Forms/DatabindForm/index.tsx index fca8fc039bf..10434d69961 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/Forms/DatabindForm/index.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/Forms/DatabindForm/index.tsx @@ -29,6 +29,7 @@ import { SidePanelBody, TextField, ThemeColors, + Tooltip, Typography, } from "@wso2/ui-toolkit"; import { useEffect, useState } from "react"; @@ -364,10 +365,12 @@ export function DatabindForm(props: DatabindFormProps) { {!payloadParameter && !editModel && ( - - - Define Schema - + + + + Define Schema + + )} {payloadParameter && ( diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/ServiceCreationView.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/ServiceCreationView.tsx index 18cb5e79a19..42d142dbf83 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/ServiceCreationView.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/ServiceCreationView.tsx @@ -50,7 +50,7 @@ const Container = styled.div` const FormContainer = styled.div` /* padding-top: 15px; */ - padding-bottom: 15px; + padding-bottom: 100px; `; const StatusContainer = styled.div` From 911bbdda707b98e60bf6aed68d0f35c78d2d520b Mon Sep 17 00:00:00 2001 From: Radith Samarakoon Date: Mon, 3 Nov 2025 12:09:04 +0530 Subject: [PATCH 059/491] Fix payload gen metadata parsing --- .../ServiceDesigner/Forms/DatabindForm/index.tsx | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/Forms/DatabindForm/index.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/Forms/DatabindForm/index.tsx index 10434d69961..a685ae8e666 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/Forms/DatabindForm/index.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/Forms/DatabindForm/index.tsx @@ -158,13 +158,13 @@ export function DatabindForm(props: DatabindFormProps) { const lowerModuleName = moduleName.toLowerCase(); if (lowerModuleName === "rabbitmq") { return serviceProperties.stringLiteral?.value; - } else if (lowerModuleName === "kafka") { - const metaValue = serviceProperties?.readOnlyMetaData?.value; - if (metaValue && typeof metaValue === "object") { - for (const [key, val] of Object.entries(metaValue as Record)) { - if (key === "Topics" && Array.isArray(val) && val.length > 0) { - return String(val[0]); - } + } + const metaValue = serviceProperties?.readOnlyMetadata?.value; + if (metaValue && typeof metaValue === "object") { + for (const [key, val] of Object.entries(metaValue as Record)) { + const valueStr = String(val).toLowerCase(); + if (valueStr.length > 0) { + return valueStr; } } } From f5c9ce2513d9a046107c50d36bb2c17153190b72 Mon Sep 17 00:00:00 2001 From: Radith Samarakoon Date: Mon, 3 Nov 2025 13:27:09 +0530 Subject: [PATCH 060/491] Add review suggestions --- .../BI/ServiceDesigner/ServiceCreationView.tsx | 8 ++++---- .../src/views/BI/ServiceDesigner/utils.tsx | 13 +++++++++++++ 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/ServiceCreationView.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/ServiceCreationView.tsx index 42d142dbf83..6084e33951a 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/ServiceCreationView.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/ServiceCreationView.tsx @@ -30,7 +30,7 @@ import styled from "@emotion/styled"; import { getImportsForProperty } from "../../../utils/bi"; import { DownloadIcon } from "../../../components/DownloadIcon"; import { RelativeLoader } from "../../../components/RelativeLoader"; -import { sanitizedHttpPath } from "./utils"; +import { sanitizedHttpPath, normalizeValueToArray } from "./utils"; const Container = styled.div` display: flex; @@ -170,7 +170,7 @@ function populateServiceInitModelFromFormFields(formFields: FormField[], model: // Handle MULTIPLE_SELECT and EXPRESSION_SET types if (field.type === "MULTIPLE_SELECT" || field.type === "EXPRESSION_SET") { - property.values = Array.isArray(value) ? value : value ? [value] : []; + property.values = normalizeValueToArray(value); } else { property.value = value as string; } @@ -367,7 +367,7 @@ export function ServiceCreationView(props: ServiceCreationViewProps) { // Handle MULTIPLE_SELECT and EXPRESSION_SET types if (nestedProperty.valueType === "MULTIPLE_SELECT" || nestedProperty.valueType === "EXPRESSION_SET") { const value = data[nestedKey]; - nestedProperty.values = Array.isArray(value) ? value : value ? [value] : []; + nestedProperty.values = normalizeValueToArray(value); } else { nestedProperty.value = data[nestedKey] as string; } @@ -389,7 +389,7 @@ export function ServiceCreationView(props: ServiceCreationViewProps) { if (data[nestedKey] !== undefined) { if (nestedProperty.valueType === "MULTIPLE_SELECT" || nestedProperty.valueType === "EXPRESSION_SET") { const value = data[nestedKey]; - nestedProperty.values = Array.isArray(value) ? value : value ? [value] : []; + nestedProperty.values = normalizeValueToArray(value); } else { nestedProperty.value = data[nestedKey] as string; } diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/utils.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/utils.tsx index a69c1e98f44..3785241fe79 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/utils.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/utils.tsx @@ -91,3 +91,16 @@ export function hasEditableParameters(parameters: FunctionModel['parameters']): } return parameters.some((param) => param.editable !== false); } + +/** + * Normalizes a value to an array for MULTIPLE_SELECT and EXPRESSION_SET types. + * + * @param value The value to normalize + * @returns An array containing the value(s), or an empty array if value is falsy + */ +export function normalizeValueToArray(value: any): any[] { + if (Array.isArray(value)) { + return value; + } + return value ? [value] : []; +} From 0a0f1446958c1ce53a9a45ab15a45425f0578234 Mon Sep 17 00:00:00 2001 From: Radith Samarakoon Date: Mon, 3 Nov 2025 13:41:54 +0530 Subject: [PATCH 061/491] Update databind form wording --- .../DatabindForm/Parameters/ParamEditor.tsx | 2 +- .../Forms/DatabindForm/index.tsx | 28 ++++++++++--------- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/Forms/DatabindForm/Parameters/ParamEditor.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/Forms/DatabindForm/Parameters/ParamEditor.tsx index dda56fb61f0..c38a4e0dfa0 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/Forms/DatabindForm/Parameters/ParamEditor.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/Forms/DatabindForm/Parameters/ParamEditor.tsx @@ -111,7 +111,7 @@ export function ParamEditor(props: ParamProps) { return ( - {payloadFieldName} Schema Configuration + {payloadFieldName} Configuration {filePath && targetLineRange && ( {/* Payload Section */} - - {payloadFieldName} Schema - {!payloadParameter && !editModel && ( - + - Define Schema + Define {payloadFieldName} )} {payloadParameter && ( - + <> + + {payloadFieldName} + + + )} {/* Payload Editor */} @@ -566,7 +568,7 @@ export function DatabindForm(props: DatabindFormProps) { onClose={handleTypeEditorClose} onTypeCreate={handleTypeCreated} initialTypeName={generatePayloadTypeName()} - modalTitle={"Define " + payloadFieldName + " Schema"} + modalTitle={"Define " + payloadFieldName} payloadContext={{ ...payloadContext, queueOrTopic: getQueueDescriptionByModule(serviceModuleName) From 288d6b9a6cf6b862fb4ba24173ed91eaf9002f72 Mon Sep 17 00:00:00 2001 From: sachiniSam Date: Mon, 3 Nov 2025 18:44:03 +0530 Subject: [PATCH 062/491] Fix BrowseType searching issue --- .../EntryPointTypeCreator/index.tsx | 2 +- .../ContextBasedTypeEditor/BrowseTypesTab.tsx | 19 ++++++++++++------- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/workspaces/ballerina/ballerina-visualizer/src/components/EntryPointTypeCreator/index.tsx b/workspaces/ballerina/ballerina-visualizer/src/components/EntryPointTypeCreator/index.tsx index a753e4ad534..163ebe07c6d 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/components/EntryPointTypeCreator/index.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/components/EntryPointTypeCreator/index.tsx @@ -271,7 +271,7 @@ export function EntryPointTypeCreator(props: EntryPointTypeCreatorProps) { isPopupTypeForm={true} onSaveType={onSaveType} getNewTypeCreateForm={getNewTypeCreateForm} - refetchTypes={true} + refetchTypes={false} isContextTypeForm={true} payloadContext={payloadContext} /> diff --git a/workspaces/ballerina/type-editor/src/TypeEditor/ContextBasedTypeEditor/BrowseTypesTab.tsx b/workspaces/ballerina/type-editor/src/TypeEditor/ContextBasedTypeEditor/BrowseTypesTab.tsx index 6362a510786..c16e2ca3ef3 100644 --- a/workspaces/ballerina/type-editor/src/TypeEditor/ContextBasedTypeEditor/BrowseTypesTab.tsx +++ b/workspaces/ballerina/type-editor/src/TypeEditor/ContextBasedTypeEditor/BrowseTypesTab.tsx @@ -16,7 +16,7 @@ * under the License. */ -import React, { useState, useEffect } from 'react'; +import React, { useState, useEffect, useRef } from 'react'; import styled from '@emotion/styled'; import { Button, TextField, Typography, ProgressRing, Codicon } from '@wso2/ui-toolkit'; import { TypeHelperCategory, TypeHelperItem } from '../../TypeHelper'; @@ -150,6 +150,7 @@ export function BrowseTypesTab(props: BrowseTypesTabProps) { simpleType } = props; + const firstRender = useRef(true); const [searchText, setSearchText] = useState(''); const [selectedType, setSelectedType] = useState(null); const [isSelecting, setIsSelecting] = useState(false); @@ -164,12 +165,16 @@ export function BrowseTypesTab(props: BrowseTypesTabProps) { } }, [simpleType]); - // Trigger search when component mounts + // Trigger initial search when component mounts useEffect(() => { - onSearchTypeHelper('', true); + if (firstRender.current) { + firstRender.current = false; + onSearchTypeHelper('', true); + return; + } }, []); - const handleSearchChange = (value: string) => { + const handleSearch = (value: string) => { setSearchText(value); onSearchTypeHelper(value, true); }; @@ -330,12 +335,12 @@ export function BrowseTypesTab(props: BrowseTypesTabProps) { handleSearchChange(e.target.value)} + onChange={(e) => handleSearch(e.target.value)} placeholder="Search types..." autoFocus /> - {loading ? ( + {(loading && (!basicTypes || basicTypes.length === 0) && (!importedTypes || importedTypes.length === 0)) ? ( @@ -343,7 +348,7 @@ export function BrowseTypesTab(props: BrowseTypesTabProps) { {basicTypes && basicTypes.length > 0 && renderTypeItems(basicTypes)} {importedTypes && importedTypes.length > 0 && renderTypeItems(importedTypes)} - {(!basicTypes || basicTypes.length === 0) && (!importedTypes || importedTypes.length === 0) && ( + {(!basicTypes || basicTypes.length === 0) && (!importedTypes || importedTypes.length === 0) && !loading && ( No matching types found From 1d02847173781e47b5052cdef0032a157046632e Mon Sep 17 00:00:00 2001 From: Radith Samarakoon Date: Mon, 3 Nov 2025 19:50:37 +0530 Subject: [PATCH 063/491] Add mcp logo to BI --- .../src/utils/project-artifacts.ts | 2 ++ .../EventIntegrationPanel.tsx | 2 ++ .../EntryNode/components/GeneralWidget.tsx | 2 ++ .../bi/bi-extension/assets/dark-bi-mcp.svg | 22 +++++++++++++++++++ .../bi/bi-extension/assets/light-bi-mcp.svg | 22 +++++++++++++++++++ 5 files changed, 50 insertions(+) create mode 100644 workspaces/bi/bi-extension/assets/dark-bi-mcp.svg create mode 100644 workspaces/bi/bi-extension/assets/light-bi-mcp.svg diff --git a/workspaces/ballerina/ballerina-extension/src/utils/project-artifacts.ts b/workspaces/ballerina/ballerina-extension/src/utils/project-artifacts.ts index 8d6a16349f3..2794f11c857 100644 --- a/workspaces/ballerina/ballerina-extension/src/utils/project-artifacts.ts +++ b/workspaces/ballerina/ballerina-extension/src/utils/project-artifacts.ts @@ -426,6 +426,8 @@ function getCustomEntryNodeIcon(type: string) { return "bi-ftp"; case "file": return "bi-file"; + case "mcp": + return "bi-mcp"; default: return "bi-globe"; } diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ComponentListView/EventIntegrationPanel.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ComponentListView/EventIntegrationPanel.tsx index 9a5b6c27c07..08b63a74924 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ComponentListView/EventIntegrationPanel.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ComponentListView/EventIntegrationPanel.tsx @@ -113,6 +113,8 @@ export function getCustomEntryNodeIcon(type: string) { return ; case "trigger.github": return ; + case "mcp": + return ; default: return null; } diff --git a/workspaces/ballerina/component-diagram/src/components/nodes/EntryNode/components/GeneralWidget.tsx b/workspaces/ballerina/component-diagram/src/components/nodes/EntryNode/components/GeneralWidget.tsx index 6881bfa9aa2..211557b0240 100644 --- a/workspaces/ballerina/component-diagram/src/components/nodes/EntryNode/components/GeneralWidget.tsx +++ b/workspaces/ballerina/component-diagram/src/components/nodes/EntryNode/components/GeneralWidget.tsx @@ -115,6 +115,8 @@ function getCustomEntryNodeIcon(type: string) { return ; case "http": return ; + case "mcp": + return ; default: return null; } diff --git a/workspaces/bi/bi-extension/assets/dark-bi-mcp.svg b/workspaces/bi/bi-extension/assets/dark-bi-mcp.svg new file mode 100644 index 00000000000..46d5bd6508f --- /dev/null +++ b/workspaces/bi/bi-extension/assets/dark-bi-mcp.svg @@ -0,0 +1,22 @@ + + + + diff --git a/workspaces/bi/bi-extension/assets/light-bi-mcp.svg b/workspaces/bi/bi-extension/assets/light-bi-mcp.svg new file mode 100644 index 00000000000..30d986f0493 --- /dev/null +++ b/workspaces/bi/bi-extension/assets/light-bi-mcp.svg @@ -0,0 +1,22 @@ + + + + From aee72f0fa2293a977896fe5fe454a0a0b8b568f4 Mon Sep 17 00:00:00 2001 From: madushajg Date: Mon, 3 Nov 2025 16:25:08 +0530 Subject: [PATCH 064/491] Refactor workspace handling in state machine and improve project information retrieval --- .../src/rpc-managers/common/rpc-manager.ts | 32 ++++++++++++++++--- .../ballerina-extension/src/stateMachine.ts | 6 ++-- .../ballerina-extension/src/utils/config.ts | 23 ++++++------- .../src/components/TopNavigationBar/index.tsx | 10 +++--- workspaces/bi/bi-extension/src/utils.ts | 15 ++++++++- 5 files changed, 62 insertions(+), 24 deletions(-) diff --git a/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-manager.ts b/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-manager.ts index e2c02627a87..0b3d01d0b02 100644 --- a/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-manager.ts +++ b/workspaces/ballerina/ballerina-extension/src/rpc-managers/common/rpc-manager.ts @@ -47,10 +47,21 @@ import { Uri, commands, env, window, workspace, MarkdownString } from "vscode"; import { URI } from "vscode-uri"; import { extension } from "../../BalExtensionContext"; import { StateMachine } from "../../stateMachine"; -import { checkIsBallerinaPackage, checkIsBallerinaWorkspace, getProjectTomlValues, goToSource, hasMultipleBallerinaPackages } from "../../utils"; -import { askFileOrFolderPath, askFilePath, askProjectPath, BALLERINA_INTEGRATOR_ISSUES_URL, getUpdatedSource } from "./utils"; -import { parse } from 'toml'; -import * as fs from 'fs'; +import { + checkIsBallerinaPackage, + checkIsBallerinaWorkspace, + getBallerinaPackages, + getProjectTomlValues, + goToSource, + hasMultipleBallerinaPackages +} from "../../utils"; +import { + askFileOrFolderPath, + askFilePath, + askProjectPath, + BALLERINA_INTEGRATOR_ISSUES_URL, + getUpdatedSource +} from "./utils"; import path from "path"; export class CommonRpcManager implements CommonRPCAPI { @@ -258,7 +269,18 @@ export class CommonRpcManager implements CommonRPCAPI { } if (workspaceFolders.length > 1) { - return { type: "VSCODE_WORKSPACE" }; + let balPackagesCount = 0; + for (const folder of workspaceFolders) { + const packages = await getBallerinaPackages(folder.uri); + balPackagesCount += packages.length; + } + + const isWorkspaceFile = workspace.workspaceFile?.scheme === "file"; + if (balPackagesCount > 1 && isWorkspaceFile) { + return { type: "VSCODE_WORKSPACE" }; + } else if (balPackagesCount > 1) { + return { type: "MULTIPLE_PROJECTS" }; + } } else if (workspaceFolders.length === 1) { const workspaceFolderPath = workspaceFolders[0].uri.fsPath; diff --git a/workspaces/ballerina/ballerina-extension/src/stateMachine.ts b/workspaces/ballerina/ballerina-extension/src/stateMachine.ts index d5707dadae6..d53b64836e1 100644 --- a/workspaces/ballerina/ballerina-extension/src/stateMachine.ts +++ b/workspaces/ballerina/ballerina-extension/src/stateMachine.ts @@ -757,9 +757,9 @@ async function checkForProjects(): Promise<{ isBI: boolean, projectPath: string, } async function handleMultipleWorkspaces(workspaceFolders: readonly WorkspaceFolder[]) { - const balProjects = workspaceFolders.filter(folder => checkIsBallerinaPackage(folder.uri)); + const balProjects = workspaceFolders.filter(async folder => await checkIsBallerinaPackage(folder.uri)); - if (balProjects.length > 1) { + if (balProjects.length > 1 && workspace.workspaceFile?.scheme === "file") { const projectPaths = balProjects.map(folder => folder.uri.fsPath); let selectedProject = await window.showQuickPick(projectPaths, { placeHolder: 'Select a project to load the WSO2 Integrator' @@ -787,7 +787,7 @@ async function handleMultipleWorkspaces(workspaceFolders: readonly WorkspaceFold } async function handleSingleWorkspace(workspaceURI: any) { - const isBallerina = checkIsBallerinaPackage(workspaceURI); + const isBallerina = await checkIsBallerinaPackage(workspaceURI); const isBI = isBallerina && checkIsBI(workspaceURI); const scope = fetchScope(workspaceURI); const projectPath = isBallerina ? workspaceURI.fsPath : ""; diff --git a/workspaces/ballerina/ballerina-extension/src/utils/config.ts b/workspaces/ballerina/ballerina-extension/src/utils/config.ts index 5c0156646fc..9329f3591fa 100644 --- a/workspaces/ballerina/ballerina-extension/src/utils/config.ts +++ b/workspaces/ballerina/ballerina-extension/src/utils/config.ts @@ -165,18 +165,23 @@ export async function checkIsBallerinaWorkspace(uri: Uri): Promise { } export async function hasMultipleBallerinaPackages(uri: Uri): Promise { + const packages = await getBallerinaPackages(uri); + return packages.length > 1; +} + +export async function getBallerinaPackages(uri: Uri): Promise { try { const ballerinaTomlPattern = `**${path.sep}Ballerina.toml`; const tomls = await workspace.findFiles( new RelativePattern(uri.fsPath, ballerinaTomlPattern) ); - if (tomls.length <= 1) { - return false; + if (tomls.length === 0) { + return []; } - // Count valid packages (Ballerina.toml files with [package] section) - let packageCount = 0; + // Collect valid package paths (Ballerina.toml files with [package] section) + const packagePaths: string[] = []; for (const toml of tomls) { const projectRoot = path.dirname(toml.fsPath); @@ -184,11 +189,7 @@ export async function hasMultipleBallerinaPackages(uri: Uri): Promise { const tomlValues = await getProjectTomlValues(projectRoot); // Only count as a package if it has a package section if (tomlValues?.package !== undefined) { - packageCount++; - // Early exit if we found more than one package - if (packageCount > 1) { - return true; - } + packagePaths.push(projectRoot); } } catch (error) { // Skip invalid TOML files @@ -196,10 +197,10 @@ export async function hasMultipleBallerinaPackages(uri: Uri): Promise { } } - return false; + return packagePaths; } catch (error) { console.error(`Error checking for multiple Ballerina packages: ${error}`); - return false; + return []; } } diff --git a/workspaces/ballerina/ballerina-visualizer/src/components/TopNavigationBar/index.tsx b/workspaces/ballerina/ballerina-visualizer/src/components/TopNavigationBar/index.tsx index 86894abf673..4dedc557717 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/components/TopNavigationBar/index.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/components/TopNavigationBar/index.tsx @@ -136,8 +136,10 @@ export function TopNavigationBar(props: TopNavigationBarProps) { } }; - const isBalWorkspaceOrHasMultiplePackages = useMemo(() => { - return workspaceType?.type === "BALLERINA_WORKSPACE" || workspaceType?.type === "MULTIPLE_PROJECTS"; + const hasMultiplePackages = useMemo(() => { + return workspaceType?.type === "BALLERINA_WORKSPACE" || + workspaceType?.type === "MULTIPLE_PROJECTS" || + workspaceType?.type === "VSCODE_WORKSPACE"; }, [workspaceType]); // HACK: To remove forms from breadcrumb. Will have to fix from the state machine side @@ -165,7 +167,7 @@ export function TopNavigationBar(props: TopNavigationBarProps) { name="wide-chevron" iconSx={{ color: "var(--vscode-foreground)", - fontSize: isBalWorkspaceOrHasMultiplePackages ? "20px" : "15px", + fontSize: hasMultiplePackages ? "20px" : "15px", opacity: 0.5 }} sx={{ alignSelf: "center" }} @@ -178,7 +180,7 @@ export function TopNavigationBar(props: TopNavigationBarProps) { > {shortName} - {isBalWorkspaceOrHasMultiplePackages && crumb.location.package && ( + {hasMultiplePackages && crumb.location.package && ( folder.uri) : []; + const workspaceFolders = workspace.workspaceFolders; + const isWorkspaceFile = workspace.workspaceFile?.scheme === "file"; + + if (workspaceFolders?.length > 1 && !isWorkspaceFile) { + return { + isBI: false, + isBallerina: false, + isMultiRoot: false + }; + } + + const workspaceUris = workspaceFolders + ? workspace.workspaceFolders.map(folder => folder.uri) + : []; let isBICount = 0; // Counter for workspaces with isBI set to true let isBalCount = 0; // Counter for workspaces with Ballerina project From 924dfcf414ee07a172b3ef156fb2182d943b6598 Mon Sep 17 00:00:00 2001 From: Dan Niles Date: Mon, 3 Nov 2025 15:36:30 +0530 Subject: [PATCH 065/491] Update ExpandedEditor modal width properties for better responsiveness --- .../src/components/editors/ExpandedEditor/ExpandedEditor.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpandedEditor/ExpandedEditor.tsx b/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpandedEditor/ExpandedEditor.tsx index aea2afea676..9f84aa8f8a7 100644 --- a/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpandedEditor/ExpandedEditor.tsx +++ b/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpandedEditor/ExpandedEditor.tsx @@ -50,7 +50,9 @@ const ModalContainer = styled.div` `; const ModalBox = styled.div` - width: 800px; + width: 90%; + max-width: 1000px; + min-width: 600px; max-height: 90vh; position: relative; display: flex; From bc2c406b2f1ff17e5d8ad8ab3fb65e6105ba8f93 Mon Sep 17 00:00:00 2001 From: Dan Niles Date: Mon, 3 Nov 2025 15:37:31 +0530 Subject: [PATCH 066/491] Add support for text wrapping in markdown preview for expanded editor --- .../controls/MarkdownPreview.tsx | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpandedEditor/controls/MarkdownPreview.tsx b/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpandedEditor/controls/MarkdownPreview.tsx index 943565f42c1..014769d28b1 100644 --- a/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpandedEditor/controls/MarkdownPreview.tsx +++ b/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpandedEditor/controls/MarkdownPreview.tsx @@ -33,7 +33,28 @@ const PreviewContainer = styled.div` border-top: none; border-radius: 0 0 4px 4px; overflow-y: auto; + overflow-x: auto; box-sizing: border-box; + + word-wrap: break-word; + overflow-wrap: break-word; + word-break: break-word; + + p, li, td, th, blockquote { + word-wrap: break-word; + overflow-wrap: break-word; + } + + pre { + overflow-x: auto; + white-space: pre-wrap; + word-wrap: break-word; + } + + code { + white-space: pre-wrap; + word-wrap: break-word; + } `; interface MarkdownPreviewProps { From 4726904479abb58d70236ad51bc7fa365c0f4a5e Mon Sep 17 00:00:00 2001 From: Dan Niles Date: Mon, 3 Nov 2025 15:44:53 +0530 Subject: [PATCH 067/491] Update expanded editor to be resizable --- .../components/editors/ExpandedEditor/ExpandedEditor.tsx | 9 ++++++--- .../editors/ExpandedEditor/modes/PromptMode.tsx | 4 ++-- .../components/editors/ExpandedEditor/modes/TextMode.tsx | 4 ++-- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpandedEditor/ExpandedEditor.tsx b/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpandedEditor/ExpandedEditor.tsx index 9f84aa8f8a7..6b4f9fd1e2c 100644 --- a/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpandedEditor/ExpandedEditor.tsx +++ b/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpandedEditor/ExpandedEditor.tsx @@ -50,19 +50,22 @@ const ModalContainer = styled.div` `; const ModalBox = styled.div` - width: 90%; - max-width: 1000px; + width: 1000px; + max-width: 95vw; min-width: 600px; + height: 80vh; max-height: 90vh; + min-height: 600px; position: relative; display: flex; flex-direction: column; - overflow: hidden; + overflow: auto; padding: 8px 8px; border-radius: 3px; background-color: ${ThemeColors.SURFACE_DIM}; box-shadow: 0 3px 8px rgb(0 0 0 / 0.2); z-index: 30001; + resize: both; `; const ModalHeaderSection = styled.header` diff --git a/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpandedEditor/modes/PromptMode.tsx b/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpandedEditor/modes/PromptMode.tsx index 303a67e2bec..6e0244bff2c 100644 --- a/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpandedEditor/modes/PromptMode.tsx +++ b/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpandedEditor/modes/PromptMode.tsx @@ -25,7 +25,7 @@ import { MarkdownPreview } from "../controls/MarkdownPreview"; const TextArea = styled.textarea` width: 100%; - min-height: 500px; + height: 100%; padding: 12px !important; fontSize: 13px; font-family: var(--vscode-editor-font-family); @@ -34,7 +34,7 @@ const TextArea = styled.textarea` border: 1px solid ${ThemeColors.OUTLINE_VARIANT}; border-radius: 0 0 4px 4px; border-top: none; - resize: vertical; + resize: none; outline: none; box-sizing: border-box; `; diff --git a/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpandedEditor/modes/TextMode.tsx b/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpandedEditor/modes/TextMode.tsx index b36afdec095..ed54d5b51f5 100644 --- a/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpandedEditor/modes/TextMode.tsx +++ b/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpandedEditor/modes/TextMode.tsx @@ -23,7 +23,7 @@ import { EditorModeProps } from "./types"; const TextArea = styled.textarea` width: 100%; - min-height: 500px; + height: 100%; padding: 12px !important; fontSize: 13px; font-family: var(--vscode-editor-font-family); @@ -31,7 +31,7 @@ const TextArea = styled.textarea` color: ${ThemeColors.ON_SURFACE}; border: 1px solid ${ThemeColors.OUTLINE_VARIANT}; border-radius: 4px; - resize: vertical; + resize: none; outline: none; box-sizing: border-box; From 97b21ace9720879307a0dc2d972679ba14de63ab Mon Sep 17 00:00:00 2001 From: Dan Niles Date: Mon, 3 Nov 2025 20:08:48 +0530 Subject: [PATCH 068/491] Update buttons in expanded editor --- .../editors/ExpandedEditor/ExpandedEditor.tsx | 32 ++++--------------- .../controls/MarkdownPreview.tsx | 1 + .../components/FloatingButtonIcons.tsx | 15 ++++++--- .../TextExpressionEditor/TextModeEditor.tsx | 2 +- .../src/components/editors/TextAreaEditor.tsx | 2 +- 5 files changed, 19 insertions(+), 33 deletions(-) diff --git a/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpandedEditor/ExpandedEditor.tsx b/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpandedEditor/ExpandedEditor.tsx index 6b4f9fd1e2c..d6edddfb24a 100644 --- a/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpandedEditor/ExpandedEditor.tsx +++ b/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpandedEditor/ExpandedEditor.tsx @@ -19,13 +19,12 @@ import React, { useState, useEffect } from "react"; import { createPortal } from "react-dom"; import styled from "@emotion/styled"; -import { ThemeColors, Codicon, Divider, Button, Typography } from "@wso2/ui-toolkit"; +import { ThemeColors, Divider, Typography, Icon } from "@wso2/ui-toolkit"; import { FormField } from "../../Form/types"; -import { S } from "../ExpressionEditor"; -import ReactMarkdown from "react-markdown"; import { EditorMode } from "./modes/types"; import { TextMode } from "./modes/TextMode"; import { PromptMode } from "./modes/PromptMode"; +import { CompressButton } from "../MultiModeExpressionEditor/ChipExpressionEditor/components/FloatingButtonIcons"; interface ExpandedPromptEditorProps { isOpen: boolean; @@ -52,7 +51,7 @@ const ModalContainer = styled.div` const ModalBox = styled.div` width: 1000px; max-width: 95vw; - min-width: 600px; + min-width: 800px; height: 80vh; max-height: 90vh; min-height: 600px; @@ -84,12 +83,6 @@ const ModalContent = styled.div` flex-direction: column; `; -const ButtonContainer = styled.div` - display: flex; - justify-content: flex-end; - gap: 8px; - padding: 0 16px 8px 16px; -`; /** * Map of mode components - add new modes here @@ -122,16 +115,11 @@ export const ExpandedEditor: React.FC = ({ } }, [mode]); - const handleSave = () => { + const handleMinimize = () => { onSave(editedValue); onClose(); }; - const handleCancel = () => { - setEditedValue(value); - onClose(); - }; - if (!isOpen) return null; // Get the current mode component @@ -154,8 +142,8 @@ export const ExpandedEditor: React.FC = ({ e.stopPropagation()}> {field.label} -
- +
+
@@ -164,14 +152,6 @@ export const ExpandedEditor: React.FC = ({ - - - - , document.body diff --git a/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpandedEditor/controls/MarkdownPreview.tsx b/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpandedEditor/controls/MarkdownPreview.tsx index 014769d28b1..b3e721bf9f2 100644 --- a/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpandedEditor/controls/MarkdownPreview.tsx +++ b/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpandedEditor/controls/MarkdownPreview.tsx @@ -23,6 +23,7 @@ import ReactMarkdown from "react-markdown"; const PreviewContainer = styled.div` width: 100%; + height: 100%; min-height: 500px; padding: 12px; fontSize: 14px; diff --git a/workspaces/ballerina/ballerina-side-panel/src/components/editors/MultiModeExpressionEditor/ChipExpressionEditor/components/FloatingButtonIcons.tsx b/workspaces/ballerina/ballerina-side-panel/src/components/editors/MultiModeExpressionEditor/ChipExpressionEditor/components/FloatingButtonIcons.tsx index 627e3cc4591..193bb1b687a 100644 --- a/workspaces/ballerina/ballerina-side-panel/src/components/editors/MultiModeExpressionEditor/ChipExpressionEditor/components/FloatingButtonIcons.tsx +++ b/workspaces/ballerina/ballerina-side-panel/src/components/editors/MultiModeExpressionEditor/ChipExpressionEditor/components/FloatingButtonIcons.tsx @@ -42,11 +42,16 @@ export const CloseHelperButton = () => { export const ExpandButton = () => { return ( - - + + + + ); +}; + +export const CompressButton = () => { + return ( + + ); }; diff --git a/workspaces/ballerina/ballerina-side-panel/src/components/editors/MultiModeExpressionEditor/TextExpressionEditor/TextModeEditor.tsx b/workspaces/ballerina/ballerina-side-panel/src/components/editors/MultiModeExpressionEditor/TextExpressionEditor/TextModeEditor.tsx index 4038030bee3..f936a6e0cec 100644 --- a/workspaces/ballerina/ballerina-side-panel/src/components/editors/MultiModeExpressionEditor/TextExpressionEditor/TextModeEditor.tsx +++ b/workspaces/ballerina/ballerina-side-panel/src/components/editors/MultiModeExpressionEditor/TextExpressionEditor/TextModeEditor.tsx @@ -87,7 +87,7 @@ export const TextModeEditor: React.FC = ({ placeholder={placeholder} /> {onOpenExpandedMode && !isInExpandedMode && ( -
+
diff --git a/workspaces/ballerina/ballerina-side-panel/src/components/editors/TextAreaEditor.tsx b/workspaces/ballerina/ballerina-side-panel/src/components/editors/TextAreaEditor.tsx index b56671e5a71..57a64c83b89 100644 --- a/workspaces/ballerina/ballerina-side-panel/src/components/editors/TextAreaEditor.tsx +++ b/workspaces/ballerina/ballerina-side-panel/src/components/editors/TextAreaEditor.tsx @@ -104,7 +104,7 @@ export function TextAreaEditor(props: TextAreaEditorProps) { onChange={onChange} growRange={{ start: 4, offset: 12 }} /> -
+
From 6ef346e901eab0f244a6a00a9369fcc961629a85 Mon Sep 17 00:00:00 2001 From: Dan Niles Date: Mon, 3 Nov 2025 20:09:27 +0530 Subject: [PATCH 069/491] Allow minimizing expaned editor by clicking outside the modal --- .../editors/ExpandedEditor/ExpandedEditor.tsx | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpandedEditor/ExpandedEditor.tsx b/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpandedEditor/ExpandedEditor.tsx index d6edddfb24a..85330799795 100644 --- a/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpandedEditor/ExpandedEditor.tsx +++ b/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpandedEditor/ExpandedEditor.tsx @@ -19,7 +19,7 @@ import React, { useState, useEffect } from "react"; import { createPortal } from "react-dom"; import styled from "@emotion/styled"; -import { ThemeColors, Divider, Typography, Icon } from "@wso2/ui-toolkit"; +import { ThemeColors, Divider, Typography } from "@wso2/ui-toolkit"; import { FormField } from "../../Form/types"; import { EditorMode } from "./modes/types"; import { TextMode } from "./modes/TextMode"; @@ -104,6 +104,7 @@ export const ExpandedEditor: React.FC = ({ const defaultMode: EditorMode = promptFields.includes(field.key) ? "prompt" : "text"; const [mode] = useState(defaultMode); const [showPreview, setShowPreview] = useState(false); + const [mouseDownTarget, setMouseDownTarget] = useState(null); useEffect(() => { setEditedValue(value); @@ -120,6 +121,18 @@ export const ExpandedEditor: React.FC = ({ onClose(); }; + const handleBackdropMouseDown = (e: React.MouseEvent) => { + setMouseDownTarget(e.target); + }; + + const handleBackdropClick = (e: React.MouseEvent) => { + // Only close if both mousedown and click happened on the backdrop + if (e.target === e.currentTarget && mouseDownTarget === e.currentTarget) { + handleMinimize(); + } + setMouseDownTarget(null); + }; + if (!isOpen) return null; // Get the current mode component @@ -138,7 +151,7 @@ export const ExpandedEditor: React.FC = ({ }; return createPortal( - + e.stopPropagation()}> {field.label} From e1f6feafd4549719baf84152c4fe6e9f6faaa1e0 Mon Sep 17 00:00:00 2001 From: Dan Niles Date: Mon, 3 Nov 2025 20:55:12 +0530 Subject: [PATCH 070/491] Refactor MarkdownPreview and MarkdownToolbar for improved styling and functionality --- .../ExpandedEditor/controls/MarkdownPreview.tsx | 1 - .../ExpandedEditor/controls/MarkdownToolbar.tsx | 5 +++-- .../ui-toolkit/src/components/Swich/Swich.tsx | 13 ++++++++----- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpandedEditor/controls/MarkdownPreview.tsx b/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpandedEditor/controls/MarkdownPreview.tsx index b3e721bf9f2..e3404efe75a 100644 --- a/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpandedEditor/controls/MarkdownPreview.tsx +++ b/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpandedEditor/controls/MarkdownPreview.tsx @@ -24,7 +24,6 @@ import ReactMarkdown from "react-markdown"; const PreviewContainer = styled.div` width: 100%; height: 100%; - min-height: 500px; padding: 12px; fontSize: 14px; font-family: var(--vscode-editor-font-family); diff --git a/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpandedEditor/controls/MarkdownToolbar.tsx b/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpandedEditor/controls/MarkdownToolbar.tsx index 61ca9bf29d9..09bd74955aa 100644 --- a/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpandedEditor/controls/MarkdownToolbar.tsx +++ b/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpandedEditor/controls/MarkdownToolbar.tsx @@ -46,10 +46,10 @@ const ToolbarContainer = styled.div` justify-content: space-between; gap: 4px; padding: 8px 12px; - background-color: ${ThemeColors.SURFACE_BRIGHT}; border: 1px solid ${ThemeColors.OUTLINE_VARIANT}; border-radius: 4px 4px 0 0; flex-wrap: wrap; + font-family: GilmerMedium; markdown-toolbar { display: flex; @@ -181,7 +181,8 @@ export const MarkdownToolbar: React.FC = ({ rightLabel="Preview" onChange={onTogglePreview} checkedColor="var(--vscode-button-background)" - enableTransition={true} + checkedBorder="1px solid color-mix(in srgb, var(--vscode-dropdown-border) 75%, transparent)" + enableTransition={false} sx={{ borderColor: ThemeColors.OUTLINE_VARIANT }} diff --git a/workspaces/common-libs/ui-toolkit/src/components/Swich/Swich.tsx b/workspaces/common-libs/ui-toolkit/src/components/Swich/Swich.tsx index 938b9576129..9ffb04fc5b0 100644 --- a/workspaces/common-libs/ui-toolkit/src/components/Swich/Swich.tsx +++ b/workspaces/common-libs/ui-toolkit/src/components/Swich/Swich.tsx @@ -22,6 +22,7 @@ interface SwichContainerProps { sx?: any; active?: boolean; color?: string; + border?: string; enableTransition?: boolean; disabled?: boolean; } @@ -71,6 +72,7 @@ const InnerContainer = styled.div` font-weight: bold; color: ${(props: SwichContainerProps) => props.active ? (props.color ? props.color : "var(--vscode-editorOverviewRuler-warningForeground)") : "var(--vscode-editor-foreground)"}; background-color: ${(props: SwichContainerProps) => props.active ? "var(--vscode-editor-background)" : "var(--vscode-tab-unfocusedInactiveBackground)"}; + border: ${(props: SwichContainerProps) => props.active && props.border ? props.border : "none"}; margin: 4px; border-radius: ${(props: SwichContainerProps) => props.active ? "4px" : 0}; transition: ${(props: SwichContainerProps) => props.enableTransition ? "all 0.3s ease-in-out" : "none"}; @@ -100,15 +102,16 @@ export interface SwitchProps { checkedIcon?: ReactNode; uncheckedIcon?: ReactNode; checkedColor?: string; + checkedBorder?: string; enableTransition?: boolean; disabled?: boolean; readonly?: boolean; onChange: () => void; } -const getCheckedComponent = (text: string|ReactNode, icon: ReactNode, color: string, transitionEnabled: boolean) => { +const getCheckedComponent = (text: string|ReactNode, icon: ReactNode, color: string, transitionEnabled: boolean, border?: string) => { return ( - + {icon && ( @@ -142,7 +145,7 @@ const getUncheckedComponent = (text: string|ReactNode, icon: ReactNode) => { export const Switch: React.FC = (props: SwitchProps) => { const { id, className, sx, checked, leftLabel, rightLabel, checkedIcon, - uncheckedIcon, checkedColor, enableTransition, disabled, readonly, onChange + uncheckedIcon, checkedColor, checkedBorder, enableTransition, disabled, readonly, onChange } = props; const handleLeftComponentClick = () => { if (checked && !readonly && !disabled) { @@ -159,12 +162,12 @@ export const Switch: React.FC = (props: SwitchProps) => { {checked ? getUncheckedComponent(leftLabel, uncheckedIcon) : - getCheckedComponent(leftLabel, checkedIcon, checkedColor, enableTransition) + getCheckedComponent(leftLabel, checkedIcon, checkedColor, enableTransition, checkedBorder) } {checked ? - getCheckedComponent(rightLabel, checkedIcon, checkedColor, enableTransition) : + getCheckedComponent(rightLabel, checkedIcon, checkedColor, enableTransition, checkedBorder) : getUncheckedComponent(rightLabel, uncheckedIcon) } From 3849d0a447f865ec44568c44b026a4185fa5e71f Mon Sep 17 00:00:00 2001 From: Azeem Muzammil Date: Mon, 3 Nov 2025 22:55:44 +0530 Subject: [PATCH 071/491] Implement mcp-inspector --- common/config/rush/pnpm-lock.yaml | 2120 +++++++++++++++-- pnpm-workspace.yaml | 1 + rush.json | 13 +- .../mcp-inspector-extension/.gitignore | 19 + .../.vscode/launch.json | 21 + .../.vscode/settings.json | 13 + .../.vscode/tasks.json | 49 + .../mcp-inspector-extension/.vscodeignore | 24 + .../mcp-inspector-extension/LICENSE | 190 ++ .../mcp-inspector-extension/README.md | 67 + .../mcp-inspector-extension/eslint.config.mjs | 28 + .../mcp-inspector-extension/icon.png | Bin 0 -> 41811 bytes .../mcp-inspector-extension/package.json | 91 + .../resources/icon-dark.svg | 1 + .../resources/icon-light.svg | 1 + .../scripts/inject-theme.js | 190 ++ .../src/MCPInspectorManager.ts | 256 ++ .../src/MCPInspectorViewProvider.ts | 297 +++ .../mcp-inspector-extension/src/constants.ts | 74 + .../mcp-inspector-extension/src/extension.ts | 190 ++ .../src/test/extension.test.ts | 15 + .../mcp-inspector-extension/src/types.ts | 35 + .../src/utils/logger.ts | 27 + .../mcp-inspector-extension/tsconfig.json | 42 + .../vsc-extension-quickstart.md | 125 + .../mcp-inspector-extension/webpack.config.js | 106 + 26 files changed, 3756 insertions(+), 239 deletions(-) create mode 100644 workspaces/mcp-inspector/mcp-inspector-extension/.gitignore create mode 100644 workspaces/mcp-inspector/mcp-inspector-extension/.vscode/launch.json create mode 100644 workspaces/mcp-inspector/mcp-inspector-extension/.vscode/settings.json create mode 100644 workspaces/mcp-inspector/mcp-inspector-extension/.vscode/tasks.json create mode 100644 workspaces/mcp-inspector/mcp-inspector-extension/.vscodeignore create mode 100644 workspaces/mcp-inspector/mcp-inspector-extension/LICENSE create mode 100644 workspaces/mcp-inspector/mcp-inspector-extension/README.md create mode 100644 workspaces/mcp-inspector/mcp-inspector-extension/eslint.config.mjs create mode 100644 workspaces/mcp-inspector/mcp-inspector-extension/icon.png create mode 100644 workspaces/mcp-inspector/mcp-inspector-extension/package.json create mode 100644 workspaces/mcp-inspector/mcp-inspector-extension/resources/icon-dark.svg create mode 100644 workspaces/mcp-inspector/mcp-inspector-extension/resources/icon-light.svg create mode 100755 workspaces/mcp-inspector/mcp-inspector-extension/scripts/inject-theme.js create mode 100644 workspaces/mcp-inspector/mcp-inspector-extension/src/MCPInspectorManager.ts create mode 100644 workspaces/mcp-inspector/mcp-inspector-extension/src/MCPInspectorViewProvider.ts create mode 100644 workspaces/mcp-inspector/mcp-inspector-extension/src/constants.ts create mode 100644 workspaces/mcp-inspector/mcp-inspector-extension/src/extension.ts create mode 100644 workspaces/mcp-inspector/mcp-inspector-extension/src/test/extension.test.ts create mode 100644 workspaces/mcp-inspector/mcp-inspector-extension/src/types.ts create mode 100644 workspaces/mcp-inspector/mcp-inspector-extension/src/utils/logger.ts create mode 100644 workspaces/mcp-inspector/mcp-inspector-extension/tsconfig.json create mode 100644 workspaces/mcp-inspector/mcp-inspector-extension/vsc-extension-quickstart.md create mode 100644 workspaces/mcp-inspector/mcp-inspector-extension/webpack.config.js diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 37747d85984..243ba002847 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -704,7 +704,7 @@ importers: version: 4.7.8 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0) + version: 29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)) joi: specifier: ^17.13.3 version: 17.13.3 @@ -762,19 +762,19 @@ importers: version: 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/addon-essentials': specifier: ^6.5.16 - version: 6.5.16(@babel/core@7.27.7)(@storybook/builder-webpack5@6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)(webpack@5.101.0) + version: 6.5.16(@babel/core@7.27.7)(@storybook/builder-webpack5@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)(webpack@5.101.0) '@storybook/addon-links': specifier: ^6.5.16 version: 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/builder-webpack5': specifier: ^6.5.16 - version: 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + version: 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) '@storybook/manager-webpack5': specifier: ^6.5.9 - version: 6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + version: 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) '@storybook/react': specifier: ^6.5.16 - version: 6.5.16(@babel/core@7.27.7)(@storybook/builder-webpack5@6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@storybook/manager-webpack5@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@types/webpack@5.28.5(webpack-cli@6.0.1))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-cli@6.0.1)(webpack-dev-server@5.2.2)(webpack-hot-middleware@2.26.1) + version: 6.5.16(@babel/core@7.27.7)(@storybook/builder-webpack5@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@storybook/manager-webpack5@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/webpack@5.28.5(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-cli@6.0.1)(webpack-dev-server@5.2.2)(webpack-hot-middleware@2.26.1) '@types/classnames': specifier: ^2.2.9 version: 2.3.4 @@ -804,7 +804,7 @@ importers: version: 10.0.0 '@types/webpack': specifier: ^5.28.5 - version: 5.28.5(webpack-cli@6.0.1) + version: 5.28.5(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) babel-loader: specifier: ^10.0.0 version: 10.0.0(@babel/core@7.27.7)(webpack@5.101.0) @@ -831,7 +831,7 @@ importers: version: 11.0.3 react-scripts-ts: specifier: ^3.1.0 - version: 3.1.0(babel-core@7.0.0-bridge.0(@babel/core@7.27.7))(babel-runtime@6.26.0)(typescript@5.8.3)(webpack-cli@6.0.1) + version: 3.1.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(babel-core@7.0.0-bridge.0(@babel/core@7.27.7))(babel-runtime@6.26.0)(typescript@5.8.3)(webpack-cli@6.0.1) react-test-renderer: specifier: ^19.1.0 version: 19.1.1(react@18.2.0) @@ -849,7 +849,7 @@ importers: version: 2.2.4(rollup@4.46.2) rollup-plugin-postcss: specifier: ^4.0.2 - version: 4.0.2(postcss@8.5.6) + version: 4.0.2(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)) rollup-plugin-scss: specifier: ^4.0.1 version: 4.0.1 @@ -900,7 +900,7 @@ importers: version: 5.8.3 webpack: specifier: ^5.94.0 - version: 5.101.0(webpack-cli@6.0.1) + version: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) webpack-cli: specifier: ^6.0.1 version: 6.0.1(webpack-dev-server@5.2.2)(webpack@5.101.0) @@ -1170,7 +1170,7 @@ importers: version: 1.57.5 '@types/webpack': specifier: ^5.28.5 - version: 5.28.5(webpack-cli@5.1.4) + version: 5.28.5(webpack-cli@4.10.0) '@typescript-eslint/eslint-plugin': specifier: ^8.32.1 version: 8.33.1(@typescript-eslint/parser@8.33.1(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3) @@ -1212,10 +1212,10 @@ importers: version: 5.8.3 webpack: specifier: ^5.94.0 - version: 5.101.0(webpack-cli@5.1.4) + version: 5.101.0(webpack-cli@4.10.0) webpack-dev-server: specifier: ^5.2.1 - version: 5.2.2(webpack-cli@5.1.4)(webpack@5.101.0) + version: 5.2.2(webpack-cli@4.10.0)(webpack@5.101.0) ../../workspaces/ballerina/bi-diagram: dependencies: @@ -1276,7 +1276,7 @@ importers: version: 7.27.1(@babel/core@7.27.7) '@storybook/react': specifier: ^6.3.7 - version: 6.5.16(@babel/core@7.27.7)(@types/webpack@5.28.5)(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-dev-server@5.2.2(webpack@5.101.0))(webpack-hot-middleware@2.26.1) + version: 6.5.16(@babel/core@7.27.7)(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/webpack@5.28.5(@swc/core@1.13.3(@swc/helpers@0.5.17)))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-dev-server@5.2.2(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))))(webpack-hot-middleware@2.26.1) '@testing-library/dom': specifier: ~10.4.0 version: 10.4.1 @@ -1315,7 +1315,7 @@ importers: version: 3.0.0 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0) + version: 29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)) jest-environment-jsdom: specifier: 29.7.0 version: 29.7.0 @@ -1327,7 +1327,7 @@ importers: version: 19.1.1(react@18.2.0) ts-jest: specifier: 29.3.4 - version: 29.3.4(@babel/core@7.27.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.27.7))(jest@29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0))(typescript@5.8.3) + version: 29.3.4(@babel/core@7.27.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.27.7))(jest@29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)))(typescript@5.8.3) typescript: specifier: 5.8.3 version: 5.8.3 @@ -1394,7 +1394,7 @@ importers: version: 7.27.1(@babel/core@7.27.7) '@storybook/react': specifier: ^6.5.16 - version: 6.5.16(@babel/core@7.27.7)(@types/webpack@5.28.5)(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-dev-server@5.2.2(webpack@5.101.0))(webpack-hot-middleware@2.26.1) + version: 6.5.16(@babel/core@7.27.7)(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/webpack@5.28.5(@swc/core@1.13.3(@swc/helpers@0.5.17)))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-dev-server@5.2.2(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))))(webpack-hot-middleware@2.26.1) '@testing-library/dom': specifier: ~10.4.0 version: 10.4.1 @@ -1433,7 +1433,7 @@ importers: version: 3.0.0 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0) + version: 29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)) jest-environment-jsdom: specifier: 29.7.0 version: 29.7.0 @@ -1445,7 +1445,7 @@ importers: version: 19.1.1(react@18.2.0) ts-jest: specifier: 29.3.4 - version: 29.3.4(@babel/core@7.27.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.27.7))(jest@29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0))(typescript@5.8.3) + version: 29.3.4(@babel/core@7.27.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.27.7))(jest@29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)))(typescript@5.8.3) typescript: specifier: 5.8.3 version: 5.8.3 @@ -2770,7 +2770,7 @@ importers: version: 4.0.0(webpack@5.101.0) tailwindcss: specifier: ^3.4.3 - version: 3.4.17 + version: 3.4.17(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)) ts-loader: specifier: ^9.5.2 version: 9.5.2(typescript@5.8.3)(webpack@5.101.0) @@ -2779,7 +2779,7 @@ importers: version: 5.8.3 webpack: specifier: ^5.94.0 - version: 5.101.0(webpack-cli@6.0.1) + version: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) webpack-cli: specifier: ^6.0.1 version: 6.0.1(webpack-dev-server@5.2.2)(webpack@5.101.0) @@ -3048,6 +3048,58 @@ importers: specifier: 5.8.3 version: 5.8.3 + ../../workspaces/mcp-inspector/mcp-inspector-extension: + dependencies: + '@modelcontextprotocol/inspector': + specifier: ^0.17.2 + version: 0.17.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.18)(@types/react-dom@18.2.0)(@types/react@18.2.0)(typescript@5.8.3) + devDependencies: + '@types/mocha': + specifier: ^10.0.3 + version: 10.0.10 + '@types/node': + specifier: 22.15.18 + version: 22.15.18 + '@types/vscode': + specifier: ^1.84.0 + version: 1.102.0 + '@typescript-eslint/eslint-plugin': + specifier: ^6.21.0 + version: 6.21.0(@typescript-eslint/parser@8.33.1(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3) + '@typescript-eslint/parser': + specifier: ^8.32.1 + version: 8.33.1(eslint@8.57.1)(typescript@5.8.3) + '@vscode/test-electron': + specifier: ^2.5.2 + version: 2.5.2 + '@vscode/vsce': + specifier: ^3.4.0 + version: 3.4.2 + copy-webpack-plugin: + specifier: ^13.0.0 + version: 13.0.0(webpack@5.101.0) + copyfiles: + specifier: ^2.4.1 + version: 2.4.1 + eslint: + specifier: ^8.57.1 + version: 8.57.1 + mocha: + specifier: ^11.2.2 + version: 11.7.1 + ts-loader: + specifier: ^9.5.2 + version: 9.5.2(typescript@5.8.3)(webpack@5.101.0) + typescript: + specifier: 5.8.3 + version: 5.8.3 + webpack: + specifier: ^5.94.0 + version: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + webpack-cli: + specifier: ^6.0.1 + version: 6.0.1(webpack@5.101.0) + ../../workspaces/mi/mi-component-diagram: dependencies: '@emotion/react': @@ -3436,7 +3488,7 @@ importers: version: 8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.5.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3) '@storybook/react-webpack5': specifier: ^8.6.14 - version: 8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.5.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3) + version: 8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.5.3)))(@swc/core@1.13.3(@swc/helpers@0.5.17))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3) '@storybook/test': specifier: ^8.6.14 version: 8.6.14(storybook@8.6.14(prettier@3.5.3)) @@ -3481,7 +3533,7 @@ importers: version: 3.0.0 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0) + version: 29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)) jest-environment-jsdom: specifier: 29.7.0 version: 29.7.0 @@ -3496,7 +3548,7 @@ importers: version: 8.6.14(prettier@3.5.3) ts-jest: specifier: 29.3.4 - version: 29.3.4(@babel/core@7.27.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.27.7))(jest@29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0))(typescript@5.8.3) + version: 29.3.4(@babel/core@7.27.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.27.7))(jest@29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)))(typescript@5.8.3) typescript: specifier: 5.8.3 version: 5.8.3 @@ -5529,6 +5581,10 @@ packages: resolution: {integrity: sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==} engines: {node: '>=0.1.90'} + '@cspotcode/source-map-support@0.8.1': + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} + engines: {node: '>=12'} + '@csstools/css-parser-algorithms@3.0.5': resolution: {integrity: sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==} engines: {node: '>=18'} @@ -6161,6 +6217,9 @@ packages: '@jridgewell/trace-mapping@0.3.29': resolution: {integrity: sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==} + '@jridgewell/trace-mapping@0.3.9': + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + '@jsdevtools/ono@7.1.3': resolution: {integrity: sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==} @@ -6416,10 +6475,36 @@ packages: '@microsoft/fast-web-utilities@5.4.1': resolution: {integrity: sha512-ReWYncndjV3c8D8iq9tp7NcFNc1vbVHvcBFPME2nNFKNbS1XCesYZGlIlf3ot5EmuOXPlrzUHOWzQ2vFpIkqDg==} + '@modelcontextprotocol/inspector-cli@0.17.2': + resolution: {integrity: sha512-xXaqZYWJz77xvmfAVlYbvz2/xw9OaalFHq0n5A8PlmZvmhi6akQocIE7ZYaoEBpLbWRSwIZWfsidnfoKb6dO2A==} + hasBin: true + + '@modelcontextprotocol/inspector-client@0.17.2': + resolution: {integrity: sha512-llC96yU8iMjG7ny2gpjhm+ARQqBRZWeKBCxW+nBErAE43jBqd5DhGuI2abrt499Gd3ByNOImz+Z5mb8YWjRiJA==} + hasBin: true + + '@modelcontextprotocol/inspector-server@0.17.2': + resolution: {integrity: sha512-+logjB5XXK+8aE+eDl8cLnwY0UhOUh19vo6tg5rFVmLXNQPtxTFyWybcQfgP/cHp76+r5+EMxIpydDYEoasTvg==} + hasBin: true + + '@modelcontextprotocol/inspector@0.17.2': + resolution: {integrity: sha512-ADWwZtbvecKCbLCR7L0Uaa2mPKFDJcTrc9xcE9pdN8gL/jFfzOMrgdNsKt+qBknzMeSQ6mJT+UguJbnQs8n13Q==} + engines: {node: '>=22.7.5'} + hasBin: true + '@modelcontextprotocol/sdk@1.17.1': resolution: {integrity: sha512-CPle1OQehbWqd25La9Ack5B07StKIxh4+Bf19qnpZKJC1oI22Y0czZHbifjw1UoczIfKBwBDAp/dFxvHG13B5A==} engines: {node: '>=18'} + '@modelcontextprotocol/sdk@1.21.0': + resolution: {integrity: sha512-YFBsXJMFCyI1zP98u7gezMFKX4lgu/XpoZJk7ufI6UlFKXLj2hAMUuRlQX/nrmIPOmhRrG6tw2OQ2ZA/ZlXYpQ==} + engines: {node: '>=18'} + peerDependencies: + '@cfworker/json-schema': ^4.1.1 + peerDependenciesMeta: + '@cfworker/json-schema': + optional: true + '@monaco-editor/loader@1.5.0': resolution: {integrity: sha512-hKoGSM+7aAc7eRTRjpqAZucPmoNOC4UUbknb/VNoTkEIkCPhqV8LfbsgM1webRM7S/z21eHEx9Fkwx8Z/C/+Xw==} @@ -6762,6 +6847,19 @@ packages: '@types/react-dom': optional: true + '@radix-ui/react-checkbox@1.3.3': + resolution: {integrity: sha512-wBbpv+NQftHDdG86Qc0pIyXk5IR3tM8Vd0nWLKDcX8nNn4nXFOFwsKuqw2okA/1D/mpaAkmuyndrPJTYDNZtFw==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + '@radix-ui/react-collection@1.0.3': resolution: {integrity: sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==} peerDependencies: @@ -6983,6 +7081,19 @@ packages: '@types/react': optional: true + '@radix-ui/react-label@2.1.7': + resolution: {integrity: sha512-YT1GqPSL8kJn20djelMX7/cTRp/Y9w5IZHvfxQTVHrOqa2yMl7i/UfMqKRU5V7mEyKTrUVgJXhNQPVCG8PBLoQ==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + '@radix-ui/react-menu@2.1.15': resolution: {integrity: sha512-tVlmA3Vb9n8SZSd+YSbuFR66l87Wiy4du+YE+0hzKQEANA+7cWKH1WgqcEX4pXqxUFQKrWQGHdvEfw00TjFiew==} peerDependencies: @@ -7139,6 +7250,19 @@ packages: '@types/react-dom': optional: true + '@radix-ui/react-roving-focus@1.1.11': + resolution: {integrity: sha512-7A6S9jSgm/S+7MdtNDSb+IU859vQqJ/QAtcYQcfFC6W8RS4IxIZDldLR0xqCFZ6DCyrQLjLPsxtTNch5jVA4lA==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + '@radix-ui/react-select@1.2.2': resolution: {integrity: sha512-zI7McXr8fNaSrUY9mZe4x/HC0jTLY9fWNhO1oLWYMQGDXuV4UCivIGTxwioSzO0ZCYX9iSLyWmAh/1TOmX3Cnw==} peerDependencies: @@ -7196,6 +7320,45 @@ packages: '@types/react': optional: true + '@radix-ui/react-switch@1.2.6': + resolution: {integrity: sha512-bByzr1+ep1zk4VubeEVViV592vu2lHE2BZY5OnzehZqOOgogN80+mNtCqPkhn2gklJqOpxWgPoYTSnhBCqpOXQ==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-tabs@1.1.13': + resolution: {integrity: sha512-7xdcatg7/U+7+Udyoj2zodtI9H/IIopqo+YOIcZOq1nJwXWBZ9p8xiu5llXlekDbZkca79a/fozEYQXIA4sW6A==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-toast@1.2.15': + resolution: {integrity: sha512-3OSz3TacUWy4WtOXV38DggwxoqJK4+eDkNMl5Z/MJZaoUPaP4/9lf81xXMe1I2ReTAptverZUpbPY4wWwWyL5g==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + '@radix-ui/react-toggle-group@1.1.10': resolution: {integrity: sha512-kiU694Km3WFLTC75DdqgM/3Jauf3rD9wxeS9XtyWFKsBUeZA337lC+6uUazT7I1DhanZ5gyD5Stf8uf2dbQxOQ==} peerDependencies: @@ -9275,6 +9438,18 @@ packages: '@ts-morph/common@0.27.0': resolution: {integrity: sha512-Wf29UqxWDpc+i61k3oIOzcUfQt79PIT9y/MWfAGlrkjg6lBC1hwDECLXPVJAhWjiGbfBCxZd65F/LIZF3+jeJQ==} + '@tsconfig/node10@1.0.11': + resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} + + '@tsconfig/node12@1.0.11': + resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} + + '@tsconfig/node14@1.0.3': + resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} + + '@tsconfig/node16@1.0.4': + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} + '@types/aria-query@5.0.4': resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==} @@ -10715,6 +10890,9 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} deprecated: This package is no longer supported. + arg@4.1.3: + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + arg@5.0.2: resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} @@ -11599,6 +11777,10 @@ packages: resolution: {integrity: sha512-fey6+4jDK7TFtFg/klGSvNKJctyU7n2aQdnM+CO0ruLPbqqMOM8Tio0Pc+deqUeVKX1tL5DQep1zQ7+37aTAsA==} engines: {node: '>= 0.8'} + bytes@3.0.0: + resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} + engines: {node: '>= 0.8'} + bytes@3.1.2: resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} engines: {node: '>= 0.8'} @@ -11873,6 +12055,9 @@ packages: resolution: {integrity: sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==} engines: {node: '>=0.10.0'} + class-variance-authority@0.7.1: + resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==} + classnames@2.5.1: resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==} @@ -11999,6 +12184,12 @@ packages: '@codemirror/view': ^6.0.0 '@lezer/highlight': ^1.0.0 + cmdk@1.1.1: + resolution: {integrity: sha512-Vsv7kFaXm+ptHDMZ7izaRsP70GgrW9NBNGswt9OZaVBLlE0SNpDq8eu/VGXyF9r7M0azK3Wy7OlYXsuyYLFzHg==} + peerDependencies: + react: ^18 || ^19 || ^19.0.0-rc + react-dom: ^18 || ^19 || ^19.0.0-rc + co@4.6.0: resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} @@ -12174,6 +12365,11 @@ packages: concat-with-sourcemaps@1.1.0: resolution: {integrity: sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==} + concurrently@9.2.1: + resolution: {integrity: sha512-fsfrO0MxV64Znoy8/l1vVIjjHa29SZyyqPgQBwhiDcaW8wJc2W3XWVOGx4M3oJBnv/zdUZIIp1gDeS98GzP8Ng==} + engines: {node: '>=18'} + hasBin: true + confbox@0.1.8: resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} @@ -12201,6 +12397,10 @@ packages: constants-browserify@1.0.0: resolution: {integrity: sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==} + content-disposition@0.5.2: + resolution: {integrity: sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==} + engines: {node: '>= 0.6'} + content-disposition@0.5.4: resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} engines: {node: '>= 0.6'} @@ -12340,6 +12540,9 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true + create-require@1.1.1: + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + create-storybook@9.1.1: resolution: {integrity: sha512-JrW3xqo1pbgsX1fvopjN6vZoFO+UyJbXv8sX2Gwvz3LMqwdQToEyUAn8KpOmHH3N+WnUd0tqC5TvK8g7bkk7YA==} hasBin: true @@ -16475,6 +16678,11 @@ packages: lru-queue@0.1.0: resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==} + lucide-react@0.523.0: + resolution: {integrity: sha512-rUjQoy7egZT9XYVXBK1je9ckBnNp7qzRZOhLQx5RcEp2dCGlXo+mv6vf7Am4LimEcFBJIIZzSGfgTqc9QCrPSw==} + peerDependencies: + react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 + luxon@3.7.1: resolution: {integrity: sha512-RkRWjA926cTvz5rAb1BqyWkKbbjzCGchDUIKMCUvNi17j6f6j8uHGDV82Aqcqtzd+icoYpELmG3ksgGiFNNcNg==} engines: {node: '>=12'} @@ -16930,6 +17138,10 @@ packages: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} + mime-db@1.33.0: + resolution: {integrity: sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==} + engines: {node: '>= 0.6'} + mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} @@ -16938,6 +17150,10 @@ packages: resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} engines: {node: '>= 0.6'} + mime-types@2.1.18: + resolution: {integrity: sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==} + engines: {node: '>= 0.6'} + mime-types@2.1.35: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} @@ -17857,6 +18073,9 @@ packages: path-to-regexp@1.9.0: resolution: {integrity: sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==} + path-to-regexp@3.3.0: + resolution: {integrity: sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==} + path-to-regexp@8.2.0: resolution: {integrity: sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==} engines: {node: '>=16'} @@ -17968,6 +18187,10 @@ packages: pkce-challenge@3.1.0: resolution: {integrity: sha512-bQ/0XPZZ7eX+cdAkd61uYWpfMhakH3NeteUF1R8GNa+LMqX8QFAkbCLqq+AYAns1/ueACBu/BMWhrlKGrdvGZg==} + pkce-challenge@4.1.0: + resolution: {integrity: sha512-ZBmhE1C9LcPoH9XZSdwiPtbPHZROwAnMy+kIFQVrnMCxY4Cudlz3gBOpzilgc0jOgRaiT3sIWfpMomW2ar2orQ==} + engines: {node: '>=16.20.0'} + pkce-challenge@5.0.0: resolution: {integrity: sha512-ueGLflrrnvwB3xuo/uGob5pd5FN7l0MsLf0Z87o/UQmRtwjvfylfc9MurIxRAWywCYTgrvpXBcqjV4OfCYGCIQ==} engines: {node: '>=16.20.0'} @@ -18717,6 +18940,10 @@ packages: randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + range-parser@1.2.0: + resolution: {integrity: sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==} + engines: {node: '>= 0.6'} + range-parser@1.2.1: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} engines: {node: '>= 0.6'} @@ -18814,6 +19041,11 @@ packages: peerDependencies: react: ^18.2.0 + react-dom@18.3.1: + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} + peerDependencies: + react: ^18.3.1 + react-dom@19.1.0: resolution: {integrity: sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==} peerDependencies: @@ -19033,6 +19265,12 @@ packages: peerDependencies: typescript: 3.x.x + react-simple-code-editor@0.14.1: + resolution: {integrity: sha512-BR5DtNRy+AswWJECyA17qhUDvrrCZ6zXOCfkQY5zSmb96BVUbpVAv03WpcjcwtCwiLbIANx3gebHOcXYn1EHow==} + peerDependencies: + react: '>=16.8.0' + react-dom: '>=16.8.0' + react-split-pane@0.1.92: resolution: {integrity: sha512-GfXP1xSzLMcLJI5BM36Vh7GgZBpy+U/X0no+VM3fxayv+p1Jly5HpMofZJraeaMl73b3hvlr+N9zJKvLB/uz9w==} peerDependencies: @@ -19079,6 +19317,10 @@ packages: resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} engines: {node: '>=0.10.0'} + react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} + engines: {node: '>=0.10.0'} + react@19.1.0: resolution: {integrity: sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==} engines: {node: '>=0.10.0'} @@ -19595,6 +19837,9 @@ packages: resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==} engines: {npm: '>=2.0.0'} + rxjs@7.8.2: + resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} + sade@1.8.1: resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} engines: {node: '>=6'} @@ -19802,6 +20047,9 @@ packages: resolution: {integrity: sha512-JndLBslCLA/ebr7rS3d+/EKkzTsTi1jI2T9l+vHfAaGJ7A7NhtDpSZ0lx81HCNWnnE0yHncG+SSnVf9IMxOwXQ==} engines: {node: '>= 0.8.0'} + serve-handler@6.1.6: + resolution: {integrity: sha512-x5RL9Y2p5+Sh3D38Fh9i/iQ5ZK+e4xuXRd/pGbM4D13tgo/MGwbttUk8emytcr1YYzBYs+apnUngBDFYfpjPuQ==} + serve-index@1.9.1: resolution: {integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==} engines: {node: '>= 0.8.0'} @@ -20072,6 +20320,9 @@ packages: space-separated-tokens@2.0.2: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + spawn-rx@5.1.2: + resolution: {integrity: sha512-/y7tJKALVZ1lPzeZZB9jYnmtrL7d0N2zkorii5a7r7dhHkWIuLTzZpZzMJLK1dmYRgX/NCc4iarTO3F7BS2c/A==} + spdx-correct@3.2.0: resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} @@ -20618,6 +20869,9 @@ packages: resolution: {integrity: sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==} engines: {node: '>=10.0.0'} + tailwind-merge@2.6.0: + resolution: {integrity: sha512-P+Vu1qXfzediirmHOC3xKGAYeZtPcV9g76X+xg2FD4tYgR71ewMA35Y3sCz3zhiN/dwefRpJX0yBcgwi1fXNQA==} + tailwindcss@3.4.17: resolution: {integrity: sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==} engines: {node: '>=14.0.0'} @@ -21033,6 +21287,20 @@ packages: ts-morph@26.0.0: resolution: {integrity: sha512-ztMO++owQnz8c/gIENcM9XfCEzgoGphTv+nKpYNM1bgsdOVC/jRZuEBf6N+mLLDNg68Kl+GgUZfOySaRiG1/Ug==} + ts-node@10.9.2: + resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} + hasBin: true + peerDependencies: + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=2.7' + peerDependenciesMeta: + '@swc/core': + optional: true + '@swc/wasm': + optional: true + ts-pnp@1.2.0: resolution: {integrity: sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==} engines: {node: '>=6'} @@ -21664,6 +21932,9 @@ packages: engines: {node: '>=8'} hasBin: true + v8-compile-cache-lib@3.0.1: + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + v8-compile-cache@2.4.0: resolution: {integrity: sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==} @@ -22404,6 +22675,10 @@ packages: yazl@2.5.1: resolution: {integrity: sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==} + yn@3.1.1: + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} + yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} @@ -24407,6 +24682,10 @@ snapshots: '@colors/colors@1.6.0': {} + '@cspotcode/source-map-support@0.8.1': + dependencies: + '@jridgewell/trace-mapping': 0.3.9 + '@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4)': dependencies: '@csstools/css-tokenizer': 3.0.4 @@ -24799,6 +25078,12 @@ snapshots: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) + '@floating-ui/react-dom@2.1.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@floating-ui/dom': 1.7.3 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + '@floating-ui/react-dom@2.1.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@floating-ui/dom': 1.7.3 @@ -25054,7 +25339,7 @@ snapshots: - supports-color - utf-8-validate - '@jest/core@29.7.0(babel-plugin-macros@3.1.0)': + '@jest/core@29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3))': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 @@ -25068,7 +25353,7 @@ snapshots: exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0) + jest-config: 29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -25367,6 +25652,11 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.4 + '@jridgewell/trace-mapping@0.3.9': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.4 + '@jsdevtools/ono@7.1.3': {} '@jsonjoy.com/base64@1.1.2(tslib@2.8.1)': @@ -25853,6 +26143,88 @@ snapshots: dependencies: exenv-es6: 1.1.1 + '@modelcontextprotocol/inspector-cli@0.17.2': + dependencies: + '@modelcontextprotocol/sdk': 1.21.0 + commander: 13.1.0 + spawn-rx: 5.1.2 + transitivePeerDependencies: + - '@cfworker/json-schema' + - supports-color + + '@modelcontextprotocol/inspector-client@0.17.2(@types/react-dom@18.2.0)(@types/react@18.2.0)': + dependencies: + '@modelcontextprotocol/sdk': 1.21.0 + '@radix-ui/react-checkbox': 1.3.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-dialog': 1.1.14(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-icons': 1.3.2(react@18.3.1) + '@radix-ui/react-label': 2.1.7(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-popover': 1.1.15(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-select': 2.2.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-slot': 1.2.3(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-switch': 1.2.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-tabs': 1.1.13(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-toast': 1.2.15(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-tooltip': 1.2.7(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + ajv: 6.12.6 + class-variance-authority: 0.7.1 + clsx: 2.1.1 + cmdk: 1.1.1(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + lucide-react: 0.523.0(react@18.3.1) + pkce-challenge: 4.1.0 + prismjs: 1.30.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-simple-code-editor: 0.14.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + serve-handler: 6.1.6 + tailwind-merge: 2.6.0 + zod: 3.25.76 + transitivePeerDependencies: + - '@cfworker/json-schema' + - '@types/react' + - '@types/react-dom' + - supports-color + + '@modelcontextprotocol/inspector-server@0.17.2': + dependencies: + '@modelcontextprotocol/sdk': 1.21.0 + cors: 2.8.5 + express: 5.1.0 + shell-quote: 1.8.3 + spawn-rx: 5.1.2 + ws: 8.18.3 + zod: 3.25.76 + transitivePeerDependencies: + - '@cfworker/json-schema' + - bufferutil + - supports-color + - utf-8-validate + + '@modelcontextprotocol/inspector@0.17.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.18)(@types/react-dom@18.2.0)(@types/react@18.2.0)(typescript@5.8.3)': + dependencies: + '@modelcontextprotocol/inspector-cli': 0.17.2 + '@modelcontextprotocol/inspector-client': 0.17.2(@types/react-dom@18.2.0)(@types/react@18.2.0) + '@modelcontextprotocol/inspector-server': 0.17.2 + '@modelcontextprotocol/sdk': 1.21.0 + concurrently: 9.2.1 + node-fetch: 3.3.2 + open: 10.2.0 + shell-quote: 1.8.3 + spawn-rx: 5.1.2 + ts-node: 10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.18)(typescript@5.8.3) + zod: 3.25.76 + transitivePeerDependencies: + - '@cfworker/json-schema' + - '@swc/core' + - '@swc/wasm' + - '@types/node' + - '@types/react' + - '@types/react-dom' + - bufferutil + - supports-color + - typescript + - utf-8-validate + '@modelcontextprotocol/sdk@1.17.1': dependencies: ajv: 6.12.6 @@ -25870,6 +26242,24 @@ snapshots: transitivePeerDependencies: - supports-color + '@modelcontextprotocol/sdk@1.21.0': + dependencies: + ajv: 8.17.1 + ajv-formats: 3.0.1(ajv@8.17.1) + content-type: 1.0.5 + cors: 2.8.5 + cross-spawn: 7.0.6 + eventsource: 3.0.7 + eventsource-parser: 3.0.6 + express: 5.1.0 + express-rate-limit: 7.5.1(express@5.1.0) + pkce-challenge: 5.0.0 + raw-body: 3.0.0 + zod: 3.25.76 + zod-to-json-schema: 3.24.6(zod@3.25.76) + transitivePeerDependencies: + - supports-color + '@monaco-editor/loader@1.5.0': dependencies: state-local: 1.0.7 @@ -26068,7 +26458,7 @@ snapshots: dependencies: playwright: 1.55.1 - '@pmmmwh/react-refresh-webpack-plugin@0.5.17(@types/webpack@5.28.5(webpack-cli@4.10.0))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.2)(webpack-hot-middleware@2.26.1)(webpack@5.101.0)': + '@pmmmwh/react-refresh-webpack-plugin@0.5.17(@types/webpack@5.28.5(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.2)(webpack-hot-middleware@2.26.1)(webpack@5.101.0)': dependencies: ansi-html: 0.0.9 core-js-pure: 3.45.0 @@ -26078,14 +26468,14 @@ snapshots: react-refresh: 0.11.0 schema-utils: 4.3.2 source-map: 0.7.6 - webpack: 5.101.0(webpack-cli@4.10.0) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) optionalDependencies: - '@types/webpack': 5.28.5(webpack-cli@4.10.0) + '@types/webpack': 5.28.5(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) type-fest: 4.41.0 - webpack-dev-server: 5.2.2(webpack-cli@4.10.0)(webpack@5.101.0) + webpack-dev-server: 5.2.2(webpack-cli@6.0.1)(webpack@5.101.0) webpack-hot-middleware: 2.26.1 - '@pmmmwh/react-refresh-webpack-plugin@0.5.17(@types/webpack@5.28.5(webpack-cli@5.1.4))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.2)(webpack-hot-middleware@2.26.1)(webpack@5.101.0)': + '@pmmmwh/react-refresh-webpack-plugin@0.5.17(@types/webpack@5.28.5(@swc/core@1.13.3(@swc/helpers@0.5.17)))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.2(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))))(webpack-hot-middleware@2.26.1)(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)))': dependencies: ansi-html: 0.0.9 core-js-pure: 3.45.0 @@ -26095,14 +26485,14 @@ snapshots: react-refresh: 0.11.0 schema-utils: 4.3.2 source-map: 0.7.6 - webpack: 5.101.0(webpack-cli@5.1.4) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) optionalDependencies: - '@types/webpack': 5.28.5(webpack-cli@5.1.4) + '@types/webpack': 5.28.5(@swc/core@1.13.3(@swc/helpers@0.5.17)) type-fest: 4.41.0 - webpack-dev-server: 5.2.2(webpack-cli@5.1.4)(webpack@5.101.0) + webpack-dev-server: 5.2.2(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) webpack-hot-middleware: 2.26.1 - '@pmmmwh/react-refresh-webpack-plugin@0.5.17(@types/webpack@5.28.5(webpack-cli@6.0.1))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.2)(webpack-hot-middleware@2.26.1)(webpack@5.101.0)': + '@pmmmwh/react-refresh-webpack-plugin@0.5.17(@types/webpack@5.28.5(webpack-cli@4.10.0))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.2)(webpack-hot-middleware@2.26.1)(webpack@5.101.0)': dependencies: ansi-html: 0.0.9 core-js-pure: 3.45.0 @@ -26112,14 +26502,14 @@ snapshots: react-refresh: 0.11.0 schema-utils: 4.3.2 source-map: 0.7.6 - webpack: 5.101.0(webpack-cli@6.0.1) + webpack: 5.101.0(webpack-cli@4.10.0) optionalDependencies: - '@types/webpack': 5.28.5(webpack-cli@6.0.1) + '@types/webpack': 5.28.5(webpack-cli@4.10.0) type-fest: 4.41.0 - webpack-dev-server: 5.2.2(webpack-cli@6.0.1)(webpack@5.101.0) + webpack-dev-server: 5.2.2(webpack-cli@4.10.0)(webpack@5.101.0) webpack-hot-middleware: 2.26.1 - '@pmmmwh/react-refresh-webpack-plugin@0.5.17(@types/webpack@5.28.5)(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.2(webpack@5.101.0))(webpack-hot-middleware@2.26.1)(webpack@5.101.0)': + '@pmmmwh/react-refresh-webpack-plugin@0.5.17(@types/webpack@5.28.5(webpack-cli@5.1.4))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.2)(webpack-hot-middleware@2.26.1)(webpack@5.101.0)': dependencies: ansi-html: 0.0.9 core-js-pure: 3.45.0 @@ -26130,6 +26520,23 @@ snapshots: schema-utils: 4.3.2 source-map: 0.7.6 webpack: 5.101.0(webpack-cli@5.1.4) + optionalDependencies: + '@types/webpack': 5.28.5(webpack-cli@5.1.4) + type-fest: 4.41.0 + webpack-dev-server: 5.2.2(webpack-cli@5.1.4)(webpack@5.101.0) + webpack-hot-middleware: 2.26.1 + + '@pmmmwh/react-refresh-webpack-plugin@0.5.17(@types/webpack@5.28.5)(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.2(webpack@5.101.0))(webpack-hot-middleware@2.26.1)(webpack@5.101.0)': + dependencies: + ansi-html: 0.0.9 + core-js-pure: 3.45.0 + error-stack-parser: 2.1.4 + html-entities: 2.6.0 + loader-utils: 2.0.4 + react-refresh: 0.11.0 + schema-utils: 4.3.2 + source-map: 0.7.6 + webpack: 5.101.0(webpack-cli@4.10.0) optionalDependencies: '@types/webpack': 5.28.5 type-fest: 4.41.0 @@ -26388,6 +26795,31 @@ snapshots: '@types/react': 18.2.0 '@types/react-dom': 18.2.0 + '@radix-ui/react-arrow@1.1.7(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.2.0 + '@types/react-dom': 18.2.0 + + '@radix-ui/react-checkbox@1.3.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/primitive': 1.1.3 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-context': 1.1.2(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-use-previous': 1.1.1(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-use-size': 1.1.1(@types/react@18.2.0)(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.2.0 + '@types/react-dom': 18.2.0 + '@radix-ui/react-collection@1.0.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@babel/runtime': 7.28.2 @@ -26426,6 +26858,18 @@ snapshots: '@types/react': 18.2.0 '@types/react-dom': 18.2.0 + '@radix-ui/react-collection@1.1.7(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-context': 1.1.2(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-slot': 1.2.3(@types/react@18.2.0)(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.2.0 + '@types/react-dom': 18.2.0 + '@radix-ui/react-collection@1.1.7(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.2.0)(react@19.1.0) @@ -26458,6 +26902,12 @@ snapshots: optionalDependencies: '@types/react': 18.2.0 + '@radix-ui/react-compose-refs@1.1.2(@types/react@18.2.0)(react@18.3.1)': + dependencies: + react: 18.3.1 + optionalDependencies: + '@types/react': 18.2.0 + '@radix-ui/react-compose-refs@1.1.2(@types/react@18.2.0)(react@19.1.0)': dependencies: react: 19.1.0 @@ -26484,6 +26934,12 @@ snapshots: optionalDependencies: '@types/react': 18.2.0 + '@radix-ui/react-context@1.1.2(@types/react@18.2.0)(react@18.3.1)': + dependencies: + react: 18.3.1 + optionalDependencies: + '@types/react': 18.2.0 + '@radix-ui/react-context@1.1.2(@types/react@18.2.0)(react@19.1.0)': dependencies: react: 19.1.0 @@ -26512,6 +26968,28 @@ snapshots: '@types/react': 18.2.0 '@types/react-dom': 18.2.0 + '@radix-ui/react-dialog@1.1.14(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/primitive': 1.1.2 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-context': 1.1.2(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.10(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-focus-guards': 1.1.2(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-id': 1.1.1(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-presence': 1.1.4(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-slot': 1.2.3(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.2.0)(react@18.3.1) + aria-hidden: 1.2.6 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-remove-scroll: 2.7.1(@types/react@18.2.0)(react@18.3.1) + optionalDependencies: + '@types/react': 18.2.0 + '@types/react-dom': 18.2.0 + '@radix-ui/react-direction@1.0.1(@types/react@18.2.0)(react@18.2.0)': dependencies: '@babel/runtime': 7.28.2 @@ -26532,6 +27010,12 @@ snapshots: optionalDependencies: '@types/react': 18.2.0 + '@radix-ui/react-direction@1.1.1(@types/react@18.2.0)(react@18.3.1)': + dependencies: + react: 18.3.1 + optionalDependencies: + '@types/react': 18.2.0 + '@radix-ui/react-direction@1.1.1(@types/react@18.2.0)(react@19.1.0)': dependencies: react: 19.1.0 @@ -26579,6 +27063,19 @@ snapshots: '@types/react': 18.2.0 '@types/react-dom': 18.2.0 + '@radix-ui/react-dismissable-layer@1.1.10(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/primitive': 1.1.2 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@18.2.0)(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.2.0 + '@types/react-dom': 18.2.0 + '@radix-ui/react-dismissable-layer@1.1.11(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@radix-ui/primitive': 1.1.3 @@ -26592,6 +27089,19 @@ snapshots: '@types/react': 18.2.0 '@types/react-dom': 18.2.0 + '@radix-ui/react-dismissable-layer@1.1.11(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/primitive': 1.1.3 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@18.2.0)(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.2.0 + '@types/react-dom': 18.2.0 + '@radix-ui/react-dropdown-menu@2.1.15(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@radix-ui/primitive': 1.1.2 @@ -26627,12 +27137,24 @@ snapshots: optionalDependencies: '@types/react': 18.2.0 + '@radix-ui/react-focus-guards@1.1.2(@types/react@18.2.0)(react@18.3.1)': + dependencies: + react: 18.3.1 + optionalDependencies: + '@types/react': 18.2.0 + '@radix-ui/react-focus-guards@1.1.3(@types/react@18.2.0)(react@18.2.0)': dependencies: react: 18.2.0 optionalDependencies: '@types/react': 18.2.0 + '@radix-ui/react-focus-guards@1.1.3(@types/react@18.2.0)(react@18.3.1)': + dependencies: + react: 18.3.1 + optionalDependencies: + '@types/react': 18.2.0 + '@radix-ui/react-focus-scope@1.0.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@babel/runtime': 7.28.2 @@ -26668,10 +27190,25 @@ snapshots: '@types/react': 18.2.0 '@types/react-dom': 18.2.0 + '@radix-ui/react-focus-scope@1.1.7(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.2.0)(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.2.0 + '@types/react-dom': 18.2.0 + '@radix-ui/react-icons@1.3.2(react@18.2.0)': dependencies: react: 18.2.0 + '@radix-ui/react-icons@1.3.2(react@18.3.1)': + dependencies: + react: 18.3.1 + '@radix-ui/react-id@1.0.1(@types/react@18.2.0)(react@18.2.0)': dependencies: '@babel/runtime': 7.28.2 @@ -26695,6 +27232,13 @@ snapshots: optionalDependencies: '@types/react': 18.2.0 + '@radix-ui/react-id@1.1.1(@types/react@18.2.0)(react@18.3.1)': + dependencies: + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.2.0)(react@18.3.1) + react: 18.3.1 + optionalDependencies: + '@types/react': 18.2.0 + '@radix-ui/react-id@1.1.1(@types/react@18.2.0)(react@19.1.0)': dependencies: '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.2.0)(react@19.1.0) @@ -26702,6 +27246,15 @@ snapshots: optionalDependencies: '@types/react': 18.2.0 + '@radix-ui/react-label@2.1.7(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.2.0 + '@types/react-dom': 18.2.0 + '@radix-ui/react-menu@2.1.15(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@radix-ui/primitive': 1.1.2 @@ -26751,6 +27304,29 @@ snapshots: '@types/react': 18.2.0 '@types/react-dom': 18.2.0 + '@radix-ui/react-popover@1.1.15(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/primitive': 1.1.3 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-context': 1.1.2(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-focus-guards': 1.1.3(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-id': 1.1.1(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-popper': 1.2.8(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-slot': 1.2.3(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.2.0)(react@18.3.1) + aria-hidden: 1.2.6 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-remove-scroll: 2.7.1(@types/react@18.2.0)(react@18.3.1) + optionalDependencies: + '@types/react': 18.2.0 + '@types/react-dom': 18.2.0 + '@radix-ui/react-popper@1.1.2(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@babel/runtime': 7.28.2 @@ -26807,6 +27383,24 @@ snapshots: '@types/react': 18.2.0 '@types/react-dom': 18.2.0 + '@radix-ui/react-popper@1.2.7(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@floating-ui/react-dom': 2.1.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-arrow': 1.1.7(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-context': 1.1.2(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-use-rect': 1.1.1(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-use-size': 1.1.1(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/rect': 1.1.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.2.0 + '@types/react-dom': 18.2.0 + '@radix-ui/react-popper@1.2.8(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@floating-ui/react-dom': 2.1.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -26825,6 +27419,24 @@ snapshots: '@types/react': 18.2.0 '@types/react-dom': 18.2.0 + '@radix-ui/react-popper@1.2.8(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@floating-ui/react-dom': 2.1.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-arrow': 1.1.7(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-context': 1.1.2(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-use-rect': 1.1.1(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-use-size': 1.1.1(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/rect': 1.1.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.2.0 + '@types/react-dom': 18.2.0 + '@radix-ui/react-portal@1.0.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@babel/runtime': 7.28.2 @@ -26855,6 +27467,16 @@ snapshots: '@types/react': 18.2.0 '@types/react-dom': 18.2.0 + '@radix-ui/react-portal@1.1.9(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.2.0)(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.2.0 + '@types/react-dom': 18.2.0 + '@radix-ui/react-presence@1.1.4(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.2.0)(react@18.2.0) @@ -26865,6 +27487,16 @@ snapshots: '@types/react': 18.2.0 '@types/react-dom': 18.2.0 + '@radix-ui/react-presence@1.1.4(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.2.0)(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.2.0 + '@types/react-dom': 18.2.0 + '@radix-ui/react-presence@1.1.5(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.2.0)(react@18.2.0) @@ -26875,6 +27507,16 @@ snapshots: '@types/react': 18.2.0 '@types/react-dom': 18.2.0 + '@radix-ui/react-presence@1.1.5(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.2.0)(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.2.0 + '@types/react-dom': 18.2.0 + '@radix-ui/react-primitive@1.0.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@babel/runtime': 7.28.2 @@ -26904,6 +27546,15 @@ snapshots: '@types/react': 18.2.0 '@types/react-dom': 18.2.0 + '@radix-ui/react-primitive@2.1.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/react-slot': 1.2.3(@types/react@18.2.0)(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.2.0 + '@types/react-dom': 18.2.0 + '@radix-ui/react-primitive@2.1.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@radix-ui/react-slot': 1.2.3(@types/react@18.2.0)(react@19.1.0) @@ -26947,6 +27598,23 @@ snapshots: '@types/react': 18.2.0 '@types/react-dom': 18.2.0 + '@radix-ui/react-roving-focus@1.1.11(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/primitive': 1.1.3 + '@radix-ui/react-collection': 1.1.7(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-context': 1.1.2(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-direction': 1.1.1(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-id': 1.1.1(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.2.0)(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.2.0 + '@types/react-dom': 18.2.0 + '@radix-ui/react-select@1.2.2(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@babel/runtime': 7.28.2 @@ -27036,6 +27704,35 @@ snapshots: '@types/react': 18.2.0 '@types/react-dom': 18.2.0 + '@radix-ui/react-select@2.2.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/number': 1.1.1 + '@radix-ui/primitive': 1.1.3 + '@radix-ui/react-collection': 1.1.7(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-context': 1.1.2(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-direction': 1.1.1(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-focus-guards': 1.1.3(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-id': 1.1.1(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-popper': 1.2.8(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-slot': 1.2.3(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-use-previous': 1.1.1(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + aria-hidden: 1.2.6 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-remove-scroll: 2.7.1(@types/react@18.2.0)(react@18.3.1) + optionalDependencies: + '@types/react': 18.2.0 + '@types/react-dom': 18.2.0 + '@radix-ui/react-separator@1.1.7(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -27077,6 +27774,13 @@ snapshots: optionalDependencies: '@types/react': 18.2.0 + '@radix-ui/react-slot@1.2.3(@types/react@18.2.0)(react@18.3.1)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.2.0)(react@18.3.1) + react: 18.3.1 + optionalDependencies: + '@types/react': 18.2.0 + '@radix-ui/react-slot@1.2.3(@types/react@18.2.0)(react@19.1.0)': dependencies: '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.2.0)(react@19.1.0) @@ -27084,6 +27788,57 @@ snapshots: optionalDependencies: '@types/react': 18.2.0 + '@radix-ui/react-switch@1.2.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/primitive': 1.1.3 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-context': 1.1.2(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-use-previous': 1.1.1(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-use-size': 1.1.1(@types/react@18.2.0)(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.2.0 + '@types/react-dom': 18.2.0 + + '@radix-ui/react-tabs@1.1.13(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/primitive': 1.1.3 + '@radix-ui/react-context': 1.1.2(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-direction': 1.1.1(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-id': 1.1.1(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.2.0)(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.2.0 + '@types/react-dom': 18.2.0 + + '@radix-ui/react-toast@1.2.15(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/primitive': 1.1.3 + '@radix-ui/react-collection': 1.1.7(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-context': 1.1.2(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.2.0 + '@types/react-dom': 18.2.0 + '@radix-ui/react-toggle-group@1.1.10(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@radix-ui/primitive': 1.1.2 @@ -27186,6 +27941,26 @@ snapshots: '@types/react': 18.2.0 '@types/react-dom': 18.2.0 + '@radix-ui/react-tooltip@1.2.7(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/primitive': 1.1.2 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-context': 1.1.2(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.10(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-id': 1.1.1(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-popper': 1.2.7(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-presence': 1.1.4(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-slot': 1.2.3(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.2.0 + '@types/react-dom': 18.2.0 + '@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.2.0)(react@18.2.0)': dependencies: '@babel/runtime': 7.28.2 @@ -27206,6 +27981,12 @@ snapshots: optionalDependencies: '@types/react': 18.2.0 + '@radix-ui/react-use-callback-ref@1.1.1(@types/react@18.2.0)(react@18.3.1)': + dependencies: + react: 18.3.1 + optionalDependencies: + '@types/react': 18.2.0 + '@radix-ui/react-use-callback-ref@1.1.1(@types/react@18.2.0)(react@19.1.0)': dependencies: react: 19.1.0 @@ -27236,6 +28017,14 @@ snapshots: optionalDependencies: '@types/react': 18.2.0 + '@radix-ui/react-use-controllable-state@1.2.2(@types/react@18.2.0)(react@18.3.1)': + dependencies: + '@radix-ui/react-use-effect-event': 0.0.2(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.2.0)(react@18.3.1) + react: 18.3.1 + optionalDependencies: + '@types/react': 18.2.0 + '@radix-ui/react-use-controllable-state@1.2.2(@types/react@18.2.0)(react@19.1.0)': dependencies: '@radix-ui/react-use-effect-event': 0.0.2(@types/react@18.2.0)(react@19.1.0) @@ -27251,6 +28040,13 @@ snapshots: optionalDependencies: '@types/react': 18.2.0 + '@radix-ui/react-use-effect-event@0.0.2(@types/react@18.2.0)(react@18.3.1)': + dependencies: + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.2.0)(react@18.3.1) + react: 18.3.1 + optionalDependencies: + '@types/react': 18.2.0 + '@radix-ui/react-use-effect-event@0.0.2(@types/react@18.2.0)(react@19.1.0)': dependencies: '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.2.0)(react@19.1.0) @@ -27281,6 +28077,13 @@ snapshots: optionalDependencies: '@types/react': 18.2.0 + '@radix-ui/react-use-escape-keydown@1.1.1(@types/react@18.2.0)(react@18.3.1)': + dependencies: + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.2.0)(react@18.3.1) + react: 18.3.1 + optionalDependencies: + '@types/react': 18.2.0 + '@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.2.0)(react@18.2.0)': dependencies: '@babel/runtime': 7.28.2 @@ -27301,6 +28104,12 @@ snapshots: optionalDependencies: '@types/react': 18.2.0 + '@radix-ui/react-use-layout-effect@1.1.1(@types/react@18.2.0)(react@18.3.1)': + dependencies: + react: 18.3.1 + optionalDependencies: + '@types/react': 18.2.0 + '@radix-ui/react-use-layout-effect@1.1.1(@types/react@18.2.0)(react@19.1.0)': dependencies: react: 19.1.0 @@ -27327,6 +28136,12 @@ snapshots: optionalDependencies: '@types/react': 18.2.0 + '@radix-ui/react-use-previous@1.1.1(@types/react@18.2.0)(react@18.3.1)': + dependencies: + react: 18.3.1 + optionalDependencies: + '@types/react': 18.2.0 + '@radix-ui/react-use-rect@1.0.1(@types/react@18.2.0)(react@18.2.0)': dependencies: '@babel/runtime': 7.28.2 @@ -27350,6 +28165,13 @@ snapshots: optionalDependencies: '@types/react': 18.2.0 + '@radix-ui/react-use-rect@1.1.1(@types/react@18.2.0)(react@18.3.1)': + dependencies: + '@radix-ui/rect': 1.1.1 + react: 18.3.1 + optionalDependencies: + '@types/react': 18.2.0 + '@radix-ui/react-use-size@1.0.1(@types/react@18.2.0)(react@18.2.0)': dependencies: '@babel/runtime': 7.28.2 @@ -27373,6 +28195,13 @@ snapshots: optionalDependencies: '@types/react': 18.2.0 + '@radix-ui/react-use-size@1.1.1(@types/react@18.2.0)(react@18.3.1)': + dependencies: + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.2.0)(react@18.3.1) + react: 18.3.1 + optionalDependencies: + '@types/react': 18.2.0 + '@radix-ui/react-visually-hidden@1.0.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@babel/runtime': 7.28.2 @@ -27402,6 +28231,15 @@ snapshots: '@types/react': 18.2.0 '@types/react-dom': 18.2.0 + '@radix-ui/react-visually-hidden@1.2.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.2.0 + '@types/react-dom': 18.2.0 + '@radix-ui/rect@1.0.1': dependencies: '@babel/runtime': 7.28.2 @@ -28289,13 +29127,13 @@ snapshots: storybook: 9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3) ts-dedent: 2.2.0 - '@storybook/addon-controls@6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)': + '@storybook/addon-controls@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)': dependencies: '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/client-logger': 6.5.16 '@storybook/components': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/core-common': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/node-logger': 6.5.16 '@storybook/store': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -28316,13 +29154,13 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/addon-controls@6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)': + '@storybook/addon-controls@6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)': dependencies: '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/client-logger': 6.5.16 '@storybook/components': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/node-logger': 6.5.16 '@storybook/store': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -28403,7 +29241,7 @@ snapshots: storybook: 9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3) ts-dedent: 2.2.0 - '@storybook/addon-docs@6.5.16(@babel/core@7.27.7)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)(webpack@5.101.0)': + '@storybook/addon-docs@6.5.16(@babel/core@7.27.7)(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)(webpack@5.101.0)': dependencies: '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.27.7) '@babel/preset-env': 7.27.2(@babel/core@7.27.7) @@ -28412,7 +29250,7 @@ snapshots: '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/components': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/core-common': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) '@storybook/core-events': 6.5.16 '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/docs-tools': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -28448,7 +29286,7 @@ snapshots: - webpack - webpack-cli - '@storybook/addon-docs@6.5.16(@babel/core@7.27.7)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)(webpack@5.101.0)': + '@storybook/addon-docs@6.5.16(@babel/core@7.27.7)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)(webpack@5.101.0)': dependencies: '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.27.7) '@babel/preset-env': 7.27.2(@babel/core@7.27.7) @@ -28457,7 +29295,7 @@ snapshots: '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/components': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) '@storybook/core-events': 6.5.16 '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/docs-tools': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -28590,29 +29428,29 @@ snapshots: transitivePeerDependencies: - '@types/react' - '@storybook/addon-essentials@6.5.16(@babel/core@7.27.7)(@storybook/builder-webpack5@6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)(webpack@5.101.0)': + '@storybook/addon-essentials@6.5.16(@babel/core@7.27.7)(@storybook/builder-webpack5@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)(webpack@5.101.0)': dependencies: '@babel/core': 7.27.7 '@storybook/addon-actions': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/addon-backgrounds': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/addon-controls': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) - '@storybook/addon-docs': 6.5.16(@babel/core@7.27.7)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)(webpack@5.101.0) + '@storybook/addon-controls': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/addon-docs': 6.5.16(@babel/core@7.27.7)(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)(webpack@5.101.0) '@storybook/addon-measure': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/addon-outline': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/addon-toolbars': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/addon-viewport': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/core-common': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) '@storybook/node-logger': 6.5.16 core-js: 3.45.0 regenerator-runtime: 0.13.11 ts-dedent: 2.2.0 optionalDependencies: - '@storybook/builder-webpack5': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/builder-webpack5': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - webpack: 5.101.0(webpack-cli@4.10.0) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) transitivePeerDependencies: - '@storybook/mdx2-csf' - '@swc/core' @@ -28624,29 +29462,29 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/addon-essentials@6.5.16(@babel/core@7.27.7)(@storybook/builder-webpack5@6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)(webpack@5.101.0)': + '@storybook/addon-essentials@6.5.16(@babel/core@7.27.7)(@storybook/builder-webpack5@6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)(webpack@5.101.0)': dependencies: '@babel/core': 7.27.7 '@storybook/addon-actions': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/addon-backgrounds': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/addon-controls': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) - '@storybook/addon-docs': 6.5.16(@babel/core@7.27.7)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)(webpack@5.101.0) + '@storybook/addon-controls': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/addon-docs': 6.5.16(@babel/core@7.27.7)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)(webpack@5.101.0) '@storybook/addon-measure': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/addon-outline': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/addon-toolbars': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/addon-viewport': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) '@storybook/node-logger': 6.5.16 core-js: 3.45.0 regenerator-runtime: 0.13.11 ts-dedent: 2.2.0 optionalDependencies: - '@storybook/builder-webpack5': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/builder-webpack5': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - webpack: 5.101.0(webpack-cli@6.0.1) + webpack: 5.101.0(webpack-cli@4.10.0) transitivePeerDependencies: - '@storybook/mdx2-csf' - '@swc/core' @@ -29264,7 +30102,7 @@ snapshots: storybook: 9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3) ts-dedent: 2.2.0 - '@storybook/builder-webpack4@6.5.16(eslint@9.26.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': + '@storybook/builder-webpack4@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': dependencies: '@babel/core': 7.27.7 '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -29274,7 +30112,69 @@ snapshots: '@storybook/client-api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/client-logger': 6.5.16 '@storybook/components': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-common': 6.5.16(eslint@9.26.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/core-common': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/core-events': 6.5.16 + '@storybook/node-logger': 6.5.16 + '@storybook/preview-web': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/router': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/semver': 7.3.2 + '@storybook/store': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/theming': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/ui': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@types/node': 16.18.126 + '@types/webpack': 4.41.40 + autoprefixer: 9.8.8 + babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + case-sensitive-paths-webpack-plugin: 2.4.0 + core-js: 3.45.0 + css-loader: 3.6.0(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + file-loader: 6.2.0(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + find-up: 5.0.0 + fork-ts-checker-webpack-plugin: 4.1.6 + glob: 7.2.3 + glob-promise: 3.4.0(glob@7.2.3) + global: 4.4.0 + html-webpack-plugin: 4.5.2(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + pnp-webpack-plugin: 1.6.4(typescript@5.8.3) + postcss: 7.0.39 + postcss-flexbugs-fixes: 4.2.1 + postcss-loader: 4.3.0(postcss@7.0.39)(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + raw-loader: 4.0.2(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + stable: 0.1.8 + style-loader: 1.3.0(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + terser-webpack-plugin: 4.2.3(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + ts-dedent: 2.2.0 + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))))(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + util-deprecate: 1.0.2 + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) + webpack-dev-middleware: 3.7.3(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + webpack-filter-warnings-plugin: 1.2.1(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + webpack-hot-middleware: 2.26.1 + webpack-virtual-modules: 0.2.2 + optionalDependencies: + typescript: 5.8.3 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - eslint + - supports-color + - uglify-js + - vue-template-compiler + - webpack-cli + + '@storybook/builder-webpack4@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)': + dependencies: + '@babel/core': 7.27.7 + '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/channel-postmessage': 6.5.16 + '@storybook/channels': 6.5.16 + '@storybook/client-api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/client-logger': 6.5.16 + '@storybook/components': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/core-common': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) '@storybook/core-events': 6.5.16 '@storybook/node-logger': 6.5.16 '@storybook/preview-web': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -29310,7 +30210,7 @@ snapshots: ts-dedent: 2.2.0 url-loader: 4.1.1(file-loader@6.2.0(webpack@5.101.0))(webpack@5.101.0) util-deprecate: 1.0.2 - webpack: 5.101.0(webpack-cli@5.1.4) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) webpack-dev-middleware: 3.7.3(webpack@5.101.0) webpack-filter-warnings-plugin: 1.2.1(webpack@5.101.0) webpack-hot-middleware: 2.26.1 @@ -29326,7 +30226,7 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/builder-webpack4@6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': + '@storybook/builder-webpack4@6.5.16(eslint@9.26.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': dependencies: '@babel/core': 7.27.7 '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -29336,7 +30236,7 @@ snapshots: '@storybook/client-api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/client-logger': 6.5.16 '@storybook/components': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/core-common': 6.5.16(eslint@9.26.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) '@storybook/core-events': 6.5.16 '@storybook/node-logger': 6.5.16 '@storybook/preview-web': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -29372,7 +30272,7 @@ snapshots: ts-dedent: 2.2.0 url-loader: 4.1.1(file-loader@6.2.0(webpack@5.101.0))(webpack@5.101.0) util-deprecate: 1.0.2 - webpack: 5.101.0(webpack-cli@5.1.4) + webpack: 5.101.0(webpack-cli@4.10.0) webpack-dev-middleware: 3.7.3(webpack@5.101.0) webpack-filter-warnings-plugin: 1.2.1(webpack@5.101.0) webpack-hot-middleware: 2.26.1 @@ -29388,7 +30288,7 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/builder-webpack4@6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)': + '@storybook/builder-webpack4@6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': dependencies: '@babel/core': 7.27.7 '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -29398,7 +30298,7 @@ snapshots: '@storybook/client-api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/client-logger': 6.5.16 '@storybook/components': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) '@storybook/core-events': 6.5.16 '@storybook/node-logger': 6.5.16 '@storybook/preview-web': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -29450,7 +30350,7 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/builder-webpack4@6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)': + '@storybook/builder-webpack4@6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)': dependencies: '@babel/core': 7.27.7 '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -29460,7 +30360,7 @@ snapshots: '@storybook/client-api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/client-logger': 6.5.16 '@storybook/components': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) '@storybook/core-events': 6.5.16 '@storybook/node-logger': 6.5.16 '@storybook/preview-web': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -29496,7 +30396,7 @@ snapshots: ts-dedent: 2.2.0 url-loader: 4.1.1(file-loader@6.2.0(webpack@5.101.0))(webpack@5.101.0) util-deprecate: 1.0.2 - webpack: 5.101.0(webpack-cli@6.0.1) + webpack: 5.101.0(webpack-cli@4.10.0) webpack-dev-middleware: 3.7.3(webpack@5.101.0) webpack-filter-warnings-plugin: 1.2.1(webpack@5.101.0) webpack-hot-middleware: 2.26.1 @@ -29558,7 +30458,7 @@ snapshots: ts-dedent: 2.2.0 url-loader: 4.1.1(file-loader@6.2.0(webpack@5.101.0))(webpack@5.101.0) util-deprecate: 1.0.2 - webpack: 5.101.0(webpack-cli@5.1.4) + webpack: 5.101.0(webpack-cli@4.10.0) webpack-dev-middleware: 3.7.3(webpack@5.101.0) webpack-filter-warnings-plugin: 1.2.1(webpack@5.101.0) webpack-hot-middleware: 2.26.1 @@ -29574,7 +30474,7 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/builder-webpack5@6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)': + '@storybook/builder-webpack5@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)': dependencies: '@babel/core': 7.27.7 '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -29584,7 +30484,7 @@ snapshots: '@storybook/client-api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/client-logger': 6.5.16 '@storybook/components': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/core-common': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) '@storybook/core-events': 6.5.16 '@storybook/node-logger': 6.5.16 '@storybook/preview-web': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -29612,7 +30512,7 @@ snapshots: terser-webpack-plugin: 5.3.14(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack@5.101.0) ts-dedent: 2.2.0 util-deprecate: 1.0.2 - webpack: 5.101.0(webpack-cli@4.10.0) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) webpack-dev-middleware: 4.3.0(webpack@5.101.0) webpack-hot-middleware: 2.26.1 webpack-virtual-modules: 0.4.6 @@ -29628,7 +30528,7 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/builder-webpack5@6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)': + '@storybook/builder-webpack5@6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)': dependencies: '@babel/core': 7.27.7 '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -29638,7 +30538,7 @@ snapshots: '@storybook/client-api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/client-logger': 6.5.16 '@storybook/components': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) '@storybook/core-events': 6.5.16 '@storybook/node-logger': 6.5.16 '@storybook/preview-web': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -29666,7 +30566,7 @@ snapshots: terser-webpack-plugin: 5.3.14(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack@5.101.0) ts-dedent: 2.2.0 util-deprecate: 1.0.2 - webpack: 5.101.0(webpack-cli@6.0.1) + webpack: 5.101.0(webpack-cli@4.10.0) webpack-dev-middleware: 4.3.0(webpack@5.101.0) webpack-hot-middleware: 2.26.1 webpack-virtual-modules: 0.4.6 @@ -29804,7 +30704,7 @@ snapshots: - uglify-js - webpack-cli - '@storybook/builder-webpack5@8.6.14(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3)': + '@storybook/builder-webpack5@8.6.14(@swc/core@1.13.3(@swc/helpers@0.5.17))(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3)': dependencies: '@storybook/core-webpack': 8.6.14(storybook@8.6.14(prettier@3.5.3)) '@types/semver': 7.7.0 @@ -29812,23 +30712,23 @@ snapshots: case-sensitive-paths-webpack-plugin: 2.4.0 cjs-module-lexer: 1.4.3 constants-browserify: 1.0.0 - css-loader: 6.11.0(webpack@5.101.0) + css-loader: 6.11.0(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) es-module-lexer: 1.7.0 - fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.8.3)(webpack@5.101.0) - html-webpack-plugin: 5.6.3(webpack@5.101.0) + fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.8.3)(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + html-webpack-plugin: 5.6.3(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) magic-string: 0.30.17 path-browserify: 1.0.1 process: 0.11.10 semver: 7.7.2 storybook: 8.6.14(prettier@3.5.3) - style-loader: 3.3.4(webpack@5.101.0) - terser-webpack-plugin: 5.3.14(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack@5.101.0) + style-loader: 3.3.4(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + terser-webpack-plugin: 5.3.14(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) ts-dedent: 2.2.0 url: 0.11.4 util: 0.12.5 util-deprecate: 1.0.2 - webpack: 5.101.0(webpack-cli@5.1.4) - webpack-dev-middleware: 6.1.3(webpack@5.101.0) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) + webpack-dev-middleware: 6.1.3(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) webpack-hot-middleware: 2.26.1 webpack-virtual-modules: 0.6.2 optionalDependencies: @@ -30164,6 +31064,34 @@ snapshots: dependencies: storybook: 9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3) + '@storybook/core-client@6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)))': + dependencies: + '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/channel-postmessage': 6.5.16 + '@storybook/channel-websocket': 6.5.16 + '@storybook/client-api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/client-logger': 6.5.16 + '@storybook/core-events': 6.5.16 + '@storybook/csf': 0.0.2--canary.4566f4d.1 + '@storybook/preview-web': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/store': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/ui': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + airbnb-js-shims: 2.2.1 + ansi-to-html: 0.6.15 + core-js: 3.45.0 + global: 4.4.0 + lodash: 4.17.21 + qs: 6.14.0 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + regenerator-runtime: 0.13.11 + ts-dedent: 2.2.0 + unfetch: 4.2.0 + util-deprecate: 1.0.2 + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) + optionalDependencies: + typescript: 5.8.3 + '@storybook/core-client@6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.101.0)': dependencies: '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -30188,7 +31116,7 @@ snapshots: ts-dedent: 2.2.0 unfetch: 4.2.0 util-deprecate: 1.0.2 - webpack: 5.101.0(webpack-cli@6.0.1) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) optionalDependencies: typescript: 5.8.3 @@ -30216,7 +31144,7 @@ snapshots: ts-dedent: 2.2.0 unfetch: 4.2.0 util-deprecate: 1.0.2 - webpack: 5.101.0(webpack-cli@5.1.4) + webpack: 5.101.0(webpack-cli@4.10.0) optionalDependencies: typescript: 4.9.5 @@ -30225,7 +31153,7 @@ snapshots: '@storybook/client-logger': 7.4.6 '@storybook/preview-api': 7.4.6 - '@storybook/core-common@6.5.16(eslint@9.26.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': + '@storybook/core-common@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': dependencies: '@babel/core': 7.27.7 '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.27.7) @@ -30253,7 +31181,7 @@ snapshots: '@storybook/semver': 7.3.2 '@types/node': 16.18.126 '@types/pretty-hrtime': 1.0.3 - babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.101.0) + babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) babel-plugin-macros: 3.1.0 babel-plugin-polyfill-corejs3: 0.1.7(@babel/core@7.27.7) chalk: 4.1.2 @@ -30261,7 +31189,7 @@ snapshots: express: 4.21.2 file-system-cache: 1.1.0 find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 6.5.3(eslint@9.26.0(jiti@2.5.1))(typescript@5.8.3)(webpack@5.101.0) + fork-ts-checker-webpack-plugin: 6.5.3(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3)(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) fs-extra: 9.1.0 glob: 7.2.3 handlebars: 4.7.8 @@ -30278,7 +31206,7 @@ snapshots: telejson: 6.0.8 ts-dedent: 2.2.0 util-deprecate: 1.0.2 - webpack: 5.101.0(webpack-cli@5.1.4) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: @@ -30290,7 +31218,7 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/core-common@6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': + '@storybook/core-common@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)': dependencies: '@babel/core': 7.27.7 '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.27.7) @@ -30343,7 +31271,7 @@ snapshots: telejson: 6.0.8 ts-dedent: 2.2.0 util-deprecate: 1.0.2 - webpack: 5.101.0(webpack-cli@5.1.4) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: @@ -30355,7 +31283,72 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/core-common@6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)': + '@storybook/core-common@6.5.16(eslint@9.26.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': + dependencies: + '@babel/core': 7.27.7 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.27.7) + '@babel/plugin-proposal-decorators': 7.28.0(@babel/core@7.27.7) + '@babel/plugin-proposal-export-default-from': 7.27.1(@babel/core@7.27.7) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.27.7) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.27.7) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.27.7) + '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.27.7) + '@babel/plugin-proposal-private-property-in-object': 7.21.11(@babel/core@7.27.7) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.27.7) + '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.27.7) + '@babel/plugin-transform-block-scoping': 7.28.0(@babel/core@7.27.7) + '@babel/plugin-transform-classes': 7.28.0(@babel/core@7.27.7) + '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.27.7) + '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.27.7) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.27.7) + '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.27.7) + '@babel/plugin-transform-spread': 7.27.1(@babel/core@7.27.7) + '@babel/preset-env': 7.27.2(@babel/core@7.27.7) + '@babel/preset-react': 7.27.1(@babel/core@7.27.7) + '@babel/preset-typescript': 7.27.1(@babel/core@7.27.7) + '@babel/register': 7.27.1(@babel/core@7.27.7) + '@storybook/node-logger': 6.5.16 + '@storybook/semver': 7.3.2 + '@types/node': 16.18.126 + '@types/pretty-hrtime': 1.0.3 + babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.101.0) + babel-plugin-macros: 3.1.0 + babel-plugin-polyfill-corejs3: 0.1.7(@babel/core@7.27.7) + chalk: 4.1.2 + core-js: 3.45.0 + express: 4.21.2 + file-system-cache: 1.1.0 + find-up: 5.0.0 + fork-ts-checker-webpack-plugin: 6.5.3(eslint@9.26.0(jiti@2.5.1))(typescript@5.8.3)(webpack@5.101.0) + fs-extra: 9.1.0 + glob: 7.2.3 + handlebars: 4.7.8 + interpret: 2.2.0 + json5: 2.2.3 + lazy-universal-dotenv: 3.0.1 + picomatch: 2.3.1 + pkg-dir: 5.0.0 + pretty-hrtime: 1.0.3 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + resolve-from: 5.0.0 + slash: 3.0.0 + telejson: 6.0.8 + ts-dedent: 2.2.0 + util-deprecate: 1.0.2 + webpack: 5.101.0(webpack-cli@4.10.0) + optionalDependencies: + typescript: 5.8.3 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - eslint + - supports-color + - uglify-js + - vue-template-compiler + - webpack-cli + + '@storybook/core-common@6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': dependencies: '@babel/core': 7.27.7 '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.27.7) @@ -30420,7 +31413,7 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/core-common@6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)': + '@storybook/core-common@6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)': dependencies: '@babel/core': 7.27.7 '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.27.7) @@ -30473,7 +31466,7 @@ snapshots: telejson: 6.0.8 ts-dedent: 2.2.0 util-deprecate: 1.0.2 - webpack: 5.101.0(webpack-cli@6.0.1) + webpack: 5.101.0(webpack-cli@4.10.0) optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: @@ -30538,7 +31531,7 @@ snapshots: telejson: 6.0.8 ts-dedent: 2.2.0 util-deprecate: 1.0.2 - webpack: 5.101.0(webpack-cli@5.1.4) + webpack: 5.101.0(webpack-cli@4.10.0) optionalDependencies: typescript: 4.9.5 transitivePeerDependencies: @@ -30620,6 +31613,72 @@ snapshots: dependencies: ts-dedent: 2.2.0 + '@storybook/core-server@6.5.16(@storybook/builder-webpack5@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@storybook/manager-webpack5@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)': + dependencies: + '@discoveryjs/json-ext': 0.5.7 + '@storybook/builder-webpack4': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.101.0) + '@storybook/core-common': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/core-events': 6.5.16 + '@storybook/csf': 0.0.2--canary.4566f4d.1 + '@storybook/csf-tools': 6.5.16 + '@storybook/manager-webpack4': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/node-logger': 6.5.16 + '@storybook/semver': 7.3.2 + '@storybook/store': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/telemetry': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@types/node': 16.18.126 + '@types/node-fetch': 2.6.13 + '@types/pretty-hrtime': 1.0.3 + '@types/webpack': 4.41.40 + better-opn: 2.1.1 + boxen: 5.1.2 + chalk: 4.1.2 + cli-table3: 0.6.5 + commander: 6.2.1 + compression: 1.8.1 + core-js: 3.45.0 + cpy: 8.1.2 + detect-port: 1.6.1 + express: 4.21.2 + fs-extra: 9.1.0 + global: 4.4.0 + globby: 11.1.0 + ip: 2.0.1 + lodash: 4.17.21 + node-fetch: 2.6.13(encoding@0.1.13) + open: 8.4.2 + pretty-hrtime: 1.0.3 + prompts: 2.4.2 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + regenerator-runtime: 0.13.11 + serve-favicon: 2.5.1 + slash: 3.0.0 + telejson: 6.0.8 + ts-dedent: 2.2.0 + util-deprecate: 1.0.2 + watchpack: 2.4.4 + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + ws: 8.18.3 + x-default-browser: 0.4.0 + optionalDependencies: + '@storybook/builder-webpack5': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/manager-webpack5': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + typescript: 5.8.3 + transitivePeerDependencies: + - '@storybook/mdx2-csf' + - '@swc/core' + - bufferutil + - encoding + - esbuild + - eslint + - supports-color + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + '@storybook/core-server@6.5.16(@storybook/builder-webpack5@6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(@storybook/manager-webpack5@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)': dependencies: '@discoveryjs/json-ext': 0.5.7 @@ -30686,20 +31745,20 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/core-server@6.5.16(@storybook/builder-webpack5@6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@storybook/manager-webpack5@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)': + '@storybook/core-server@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': dependencies: '@discoveryjs/json-ext': 0.5.7 - '@storybook/builder-webpack4': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) - '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.101.0) - '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/builder-webpack4': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + '@storybook/core-common': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) '@storybook/core-events': 6.5.16 '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/csf-tools': 6.5.16 - '@storybook/manager-webpack4': 6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/manager-webpack4': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) '@storybook/node-logger': 6.5.16 '@storybook/semver': 7.3.2 '@storybook/store': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/telemetry': 6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/telemetry': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) '@types/node': 16.18.126 '@types/node-fetch': 2.6.13 '@types/pretty-hrtime': 1.0.3 @@ -30732,12 +31791,10 @@ snapshots: ts-dedent: 2.2.0 util-deprecate: 1.0.2 watchpack: 2.4.4 - webpack: 5.101.0(webpack-cli@6.0.1) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) ws: 8.18.3 x-default-browser: 0.4.0 optionalDependencies: - '@storybook/builder-webpack5': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) - '@storybook/manager-webpack5': 6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) typescript: 5.8.3 transitivePeerDependencies: - '@storybook/mdx2-csf' @@ -30798,7 +31855,7 @@ snapshots: ts-dedent: 2.2.0 util-deprecate: 1.0.2 watchpack: 2.4.4 - webpack: 5.101.0(webpack-cli@5.1.4) + webpack: 5.101.0(webpack-cli@4.10.0) ws: 8.18.3 x-default-browser: 0.4.0 optionalDependencies: @@ -30862,7 +31919,7 @@ snapshots: ts-dedent: 2.2.0 util-deprecate: 1.0.2 watchpack: 2.4.4 - webpack: 5.101.0(webpack-cli@5.1.4) + webpack: 5.101.0(webpack-cli@4.10.0) ws: 8.18.3 x-default-browser: 0.4.0 optionalDependencies: @@ -30926,7 +31983,7 @@ snapshots: ts-dedent: 2.2.0 util-deprecate: 1.0.2 watchpack: 2.4.4 - webpack: 5.101.0(webpack-cli@5.1.4) + webpack: 5.101.0(webpack-cli@4.10.0) ws: 8.18.3 x-default-browser: 0.4.0 optionalDependencies: @@ -31013,6 +32070,30 @@ snapshots: storybook: 9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3) ts-dedent: 2.2.0 + '@storybook/core@6.5.16(@storybook/builder-webpack5@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@storybook/manager-webpack5@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)(webpack@5.101.0)': + dependencies: + '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.101.0) + '@storybook/core-server': 6.5.16(@storybook/builder-webpack5@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@storybook/manager-webpack5@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + optionalDependencies: + '@storybook/builder-webpack5': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/manager-webpack5': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + typescript: 5.8.3 + transitivePeerDependencies: + - '@storybook/mdx2-csf' + - '@swc/core' + - bufferutil + - encoding + - esbuild + - eslint + - supports-color + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + '@storybook/core@6.5.16(@storybook/builder-webpack5@6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(@storybook/manager-webpack5@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)(webpack@5.101.0)': dependencies: '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.101.0) @@ -31037,16 +32118,14 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/core@6.5.16(@storybook/builder-webpack5@6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@storybook/manager-webpack5@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)(webpack@5.101.0)': + '@storybook/core@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)))': dependencies: - '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.101.0) - '@storybook/core-server': 6.5.16(@storybook/builder-webpack5@6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@storybook/manager-webpack5@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + '@storybook/core-server': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - webpack: 5.101.0(webpack-cli@6.0.1) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) optionalDependencies: - '@storybook/builder-webpack5': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) - '@storybook/manager-webpack5': 6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) typescript: 5.8.3 transitivePeerDependencies: - '@storybook/mdx2-csf' @@ -31067,7 +32146,7 @@ snapshots: '@storybook/core-server': 6.5.16(encoding@0.1.13)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - webpack: 5.101.0(webpack-cli@5.1.4) + webpack: 5.101.0(webpack-cli@4.10.0) optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: @@ -31089,7 +32168,7 @@ snapshots: '@storybook/core-server': 6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - webpack: 5.101.0(webpack-cli@5.1.4) + webpack: 5.101.0(webpack-cli@4.10.0) optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: @@ -31111,7 +32190,7 @@ snapshots: '@storybook/core-server': 6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - webpack: 5.101.0(webpack-cli@5.1.4) + webpack: 5.101.0(webpack-cli@4.10.0) optionalDependencies: typescript: 4.9.5 transitivePeerDependencies: @@ -31340,14 +32419,65 @@ snapshots: dependencies: storybook: 9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3) - '@storybook/manager-webpack4@6.5.16(encoding@0.1.13)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': + '@storybook/manager-webpack4@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': + dependencies: + '@babel/core': 7.27.7 + '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.27.7) + '@babel/preset-react': 7.27.1(@babel/core@7.27.7) + '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + '@storybook/core-common': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/node-logger': 6.5.16 + '@storybook/theming': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/ui': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@types/node': 16.18.126 + '@types/webpack': 4.41.40 + babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + case-sensitive-paths-webpack-plugin: 2.4.0 + chalk: 4.1.2 + core-js: 3.45.0 + css-loader: 3.6.0(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + express: 4.21.2 + file-loader: 6.2.0(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + find-up: 5.0.0 + fs-extra: 9.1.0 + html-webpack-plugin: 4.5.2(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + node-fetch: 2.6.13(encoding@0.1.13) + pnp-webpack-plugin: 1.6.4(typescript@5.8.3) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + read-pkg-up: 7.0.1 + regenerator-runtime: 0.13.11 + resolve-from: 5.0.0 + style-loader: 1.3.0(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + telejson: 6.0.8 + terser-webpack-plugin: 4.2.3(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + ts-dedent: 2.2.0 + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))))(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + util-deprecate: 1.0.2 + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) + webpack-dev-middleware: 3.7.3(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + webpack-virtual-modules: 0.2.2 + optionalDependencies: + typescript: 5.8.3 + transitivePeerDependencies: + - '@swc/core' + - encoding + - esbuild + - eslint + - supports-color + - uglify-js + - vue-template-compiler + - webpack-cli + + '@storybook/manager-webpack4@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)': dependencies: '@babel/core': 7.27.7 '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.27.7) '@babel/preset-react': 7.27.1(@babel/core@7.27.7) '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.101.0) - '@storybook/core-common': 6.5.16(eslint@9.26.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/core-common': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) '@storybook/node-logger': 6.5.16 '@storybook/theming': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/ui': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -31376,7 +32506,7 @@ snapshots: ts-dedent: 2.2.0 url-loader: 4.1.1(file-loader@6.2.0(webpack@5.101.0))(webpack@5.101.0) util-deprecate: 1.0.2 - webpack: 5.101.0(webpack-cli@5.1.4) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) webpack-dev-middleware: 3.7.3(webpack@5.101.0) webpack-virtual-modules: 0.2.2 optionalDependencies: @@ -31391,14 +32521,14 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/manager-webpack4@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': + '@storybook/manager-webpack4@6.5.16(encoding@0.1.13)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': dependencies: '@babel/core': 7.27.7 '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.27.7) '@babel/preset-react': 7.27.1(@babel/core@7.27.7) '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.101.0) - '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/core-common': 6.5.16(eslint@9.26.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) '@storybook/node-logger': 6.5.16 '@storybook/theming': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/ui': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -31427,7 +32557,7 @@ snapshots: ts-dedent: 2.2.0 url-loader: 4.1.1(file-loader@6.2.0(webpack@5.101.0))(webpack@5.101.0) util-deprecate: 1.0.2 - webpack: 5.101.0(webpack-cli@5.1.4) + webpack: 5.101.0(webpack-cli@4.10.0) webpack-dev-middleware: 3.7.3(webpack@5.101.0) webpack-virtual-modules: 0.2.2 optionalDependencies: @@ -31442,14 +32572,14 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/manager-webpack4@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)': + '@storybook/manager-webpack4@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': dependencies: '@babel/core': 7.27.7 '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.27.7) '@babel/preset-react': 7.27.1(@babel/core@7.27.7) '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.101.0) - '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) '@storybook/node-logger': 6.5.16 '@storybook/theming': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/ui': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -31493,14 +32623,14 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/manager-webpack4@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)': + '@storybook/manager-webpack4@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)': dependencies: '@babel/core': 7.27.7 '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.27.7) '@babel/preset-react': 7.27.1(@babel/core@7.27.7) '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.101.0) - '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) '@storybook/node-logger': 6.5.16 '@storybook/theming': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/ui': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -31529,7 +32659,7 @@ snapshots: ts-dedent: 2.2.0 url-loader: 4.1.1(file-loader@6.2.0(webpack@5.101.0))(webpack@5.101.0) util-deprecate: 1.0.2 - webpack: 5.101.0(webpack-cli@6.0.1) + webpack: 5.101.0(webpack-cli@4.10.0) webpack-dev-middleware: 3.7.3(webpack@5.101.0) webpack-virtual-modules: 0.2.2 optionalDependencies: @@ -31580,7 +32710,7 @@ snapshots: ts-dedent: 2.2.0 url-loader: 4.1.1(file-loader@6.2.0(webpack@5.101.0))(webpack@5.101.0) util-deprecate: 1.0.2 - webpack: 5.101.0(webpack-cli@5.1.4) + webpack: 5.101.0(webpack-cli@4.10.0) webpack-dev-middleware: 3.7.3(webpack@5.101.0) webpack-virtual-modules: 0.2.2 optionalDependencies: @@ -31595,14 +32725,14 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/manager-webpack5@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)': + '@storybook/manager-webpack5@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)': dependencies: '@babel/core': 7.27.7 '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.27.7) '@babel/preset-react': 7.27.1(@babel/core@7.27.7) '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.101.0) - '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/core-common': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) '@storybook/node-logger': 6.5.16 '@storybook/theming': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/ui': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -31628,7 +32758,7 @@ snapshots: terser-webpack-plugin: 5.3.14(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack@5.101.0) ts-dedent: 2.2.0 util-deprecate: 1.0.2 - webpack: 5.101.0(webpack-cli@4.10.0) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) webpack-dev-middleware: 4.3.0(webpack@5.101.0) webpack-virtual-modules: 0.4.6 optionalDependencies: @@ -31644,14 +32774,14 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/manager-webpack5@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)': + '@storybook/manager-webpack5@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)': dependencies: '@babel/core': 7.27.7 '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.27.7) '@babel/preset-react': 7.27.1(@babel/core@7.27.7) '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.101.0) - '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) '@storybook/node-logger': 6.5.16 '@storybook/theming': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/ui': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -31677,7 +32807,7 @@ snapshots: terser-webpack-plugin: 5.3.14(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack@5.101.0) ts-dedent: 2.2.0 util-deprecate: 1.0.2 - webpack: 5.101.0(webpack-cli@6.0.1) + webpack: 5.101.0(webpack-cli@4.10.0) webpack-dev-middleware: 4.3.0(webpack@5.101.0) webpack-virtual-modules: 0.4.6 optionalDependencies: @@ -31788,7 +32918,7 @@ snapshots: react-dom: 19.1.0(react@19.1.0) react-refresh: 0.11.0 semver: 7.7.2 - webpack: 5.101.0(webpack-cli@5.1.4) + webpack: 5.101.0(webpack-cli@4.10.0) optionalDependencies: '@babel/core': 7.27.7 typescript: 5.8.3 @@ -31806,11 +32936,11 @@ snapshots: - webpack-hot-middleware - webpack-plugin-serve - '@storybook/preset-react-webpack@8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.5.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3)': + '@storybook/preset-react-webpack@8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.5.3)))(@swc/core@1.13.3(@swc/helpers@0.5.17))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3)': dependencies: '@storybook/core-webpack': 8.6.14(storybook@8.6.14(prettier@3.5.3)) '@storybook/react': 8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.5.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3) - '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.8.3)(webpack@5.101.0) + '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.8.3)(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) '@types/semver': 7.7.0 find-up: 5.0.0 magic-string: 0.30.17 @@ -31821,7 +32951,7 @@ snapshots: semver: 7.7.2 storybook: 8.6.14(prettier@3.5.3) tsconfig-paths: 4.2.0 - webpack: 5.101.0(webpack-cli@5.1.4) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: @@ -31954,7 +33084,21 @@ snapshots: react-docgen-typescript: 2.4.0(typescript@4.9.5) tslib: 2.8.1 typescript: 4.9.5 - webpack: 5.101.0(webpack-cli@5.1.4) + webpack: 5.101.0(webpack-cli@4.10.0) + transitivePeerDependencies: + - supports-color + + '@storybook/react-docgen-typescript-plugin@1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@5.8.3)(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)))': + dependencies: + debug: 4.4.1(supports-color@8.1.1) + endent: 2.1.0 + find-cache-dir: 3.3.2 + flat-cache: 3.2.0 + micromatch: 4.0.8 + react-docgen-typescript: 2.4.0(typescript@5.8.3) + tslib: 2.8.1 + typescript: 5.8.3 + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) transitivePeerDependencies: - supports-color @@ -31968,7 +33112,21 @@ snapshots: react-docgen-typescript: 2.4.0(typescript@5.8.3) tslib: 2.8.1 typescript: 5.8.3 - webpack: 5.101.0(webpack-cli@6.0.1) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + transitivePeerDependencies: + - supports-color + + '@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@5.8.3)(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)))': + dependencies: + debug: 4.4.1(supports-color@8.1.1) + endent: 2.1.0 + find-cache-dir: 3.3.2 + flat-cache: 3.2.0 + micromatch: 4.0.8 + react-docgen-typescript: 2.4.0(typescript@5.8.3) + tslib: 2.8.1 + typescript: 5.8.3 + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) transitivePeerDependencies: - supports-color @@ -32103,10 +33261,10 @@ snapshots: - webpack-hot-middleware - webpack-plugin-serve - '@storybook/react-webpack5@8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.5.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3)': + '@storybook/react-webpack5@8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.5.3)))(@swc/core@1.13.3(@swc/helpers@0.5.17))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3)': dependencies: - '@storybook/builder-webpack5': 8.6.14(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3) - '@storybook/preset-react-webpack': 8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.5.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3) + '@storybook/builder-webpack5': 8.6.14(@swc/core@1.13.3(@swc/helpers@0.5.17))(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3) + '@storybook/preset-react-webpack': 8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.5.3)))(@swc/core@1.13.3(@swc/helpers@0.5.17))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3) '@storybook/react': 8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.5.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -32141,6 +33299,70 @@ snapshots: - uglify-js - webpack-cli + '@storybook/react@6.5.16(@babel/core@7.27.7)(@storybook/builder-webpack5@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@storybook/manager-webpack5@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/webpack@5.28.5(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-cli@6.0.1)(webpack-dev-server@5.2.2)(webpack-hot-middleware@2.26.1)': + dependencies: + '@babel/preset-flow': 7.27.1(@babel/core@7.27.7) + '@babel/preset-react': 7.27.1(@babel/core@7.27.7) + '@pmmmwh/react-refresh-webpack-plugin': 0.5.17(@types/webpack@5.28.5(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.2)(webpack-hot-middleware@2.26.1)(webpack@5.101.0) + '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/client-logger': 6.5.16 + '@storybook/core': 6.5.16(@storybook/builder-webpack5@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@storybook/manager-webpack5@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)(webpack@5.101.0) + '@storybook/core-common': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/csf': 0.0.2--canary.4566f4d.1 + '@storybook/docs-tools': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/node-logger': 6.5.16 + '@storybook/react-docgen-typescript-plugin': 1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@5.8.3)(webpack@5.101.0) + '@storybook/semver': 7.3.2 + '@storybook/store': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@types/estree': 0.0.51 + '@types/node': 16.18.126 + '@types/webpack-env': 1.18.8 + acorn: 7.4.1 + acorn-jsx: 5.3.2(acorn@7.4.1) + acorn-walk: 7.2.0 + babel-plugin-add-react-displayname: 0.0.5 + babel-plugin-react-docgen: 4.2.1 + core-js: 3.45.0 + escodegen: 2.1.0 + fs-extra: 9.1.0 + global: 4.4.0 + html-tags: 3.3.1 + lodash: 4.17.21 + prop-types: 15.8.1 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-element-to-jsx-string: 14.3.4(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + react-refresh: 0.11.0 + read-pkg-up: 7.0.1 + regenerator-runtime: 0.13.11 + require-from-string: 2.0.2 + ts-dedent: 2.2.0 + util-deprecate: 1.0.2 + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + optionalDependencies: + '@babel/core': 7.27.7 + '@storybook/builder-webpack5': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/manager-webpack5': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + typescript: 5.8.3 + transitivePeerDependencies: + - '@storybook/mdx2-csf' + - '@swc/core' + - '@types/webpack' + - bufferutil + - encoding + - esbuild + - eslint + - sockjs-client + - supports-color + - type-fest + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + - webpack-dev-server + - webpack-hot-middleware + - webpack-plugin-serve + '@storybook/react@6.5.16(@babel/core@7.27.7)(@storybook/builder-webpack5@6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(@storybook/manager-webpack5@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(@types/webpack@5.28.5(webpack-cli@4.10.0))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-cli@4.10.0)(webpack-dev-server@5.2.2)(webpack-hot-middleware@2.26.1)': dependencies: '@babel/preset-flow': 7.27.1(@babel/core@7.27.7) @@ -32205,19 +33427,19 @@ snapshots: - webpack-hot-middleware - webpack-plugin-serve - '@storybook/react@6.5.16(@babel/core@7.27.7)(@storybook/builder-webpack5@6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@storybook/manager-webpack5@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@types/webpack@5.28.5(webpack-cli@6.0.1))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-cli@6.0.1)(webpack-dev-server@5.2.2)(webpack-hot-middleware@2.26.1)': + '@storybook/react@6.5.16(@babel/core@7.27.7)(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/webpack@5.28.5(@swc/core@1.13.3(@swc/helpers@0.5.17)))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-dev-server@5.2.2(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))))(webpack-hot-middleware@2.26.1)': dependencies: '@babel/preset-flow': 7.27.1(@babel/core@7.27.7) '@babel/preset-react': 7.27.1(@babel/core@7.27.7) - '@pmmmwh/react-refresh-webpack-plugin': 0.5.17(@types/webpack@5.28.5(webpack-cli@6.0.1))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.2)(webpack-hot-middleware@2.26.1)(webpack@5.101.0) + '@pmmmwh/react-refresh-webpack-plugin': 0.5.17(@types/webpack@5.28.5(@swc/core@1.13.3(@swc/helpers@0.5.17)))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.2(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))))(webpack-hot-middleware@2.26.1)(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/client-logger': 6.5.16 - '@storybook/core': 6.5.16(@storybook/builder-webpack5@6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@storybook/manager-webpack5@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)(webpack@5.101.0) - '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/core': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + '@storybook/core-common': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/docs-tools': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/node-logger': 6.5.16 - '@storybook/react-docgen-typescript-plugin': 1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@5.8.3)(webpack@5.101.0) + '@storybook/react-docgen-typescript-plugin': 1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@5.8.3)(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) '@storybook/semver': 7.3.2 '@storybook/store': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@types/estree': 0.0.51 @@ -32244,11 +33466,9 @@ snapshots: require-from-string: 2.0.2 ts-dedent: 2.2.0 util-deprecate: 1.0.2 - webpack: 5.101.0(webpack-cli@6.0.1) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) optionalDependencies: '@babel/core': 7.27.7 - '@storybook/builder-webpack5': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) - '@storybook/manager-webpack5': 6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) typescript: 5.8.3 transitivePeerDependencies: - '@storybook/mdx2-csf' @@ -32308,7 +33528,7 @@ snapshots: require-from-string: 2.0.2 ts-dedent: 2.2.0 util-deprecate: 1.0.2 - webpack: 5.101.0(webpack-cli@5.1.4) + webpack: 5.101.0(webpack-cli@4.10.0) optionalDependencies: '@babel/core': 7.27.7 typescript: 5.8.3 @@ -32370,7 +33590,7 @@ snapshots: require-from-string: 2.0.2 ts-dedent: 2.2.0 util-deprecate: 1.0.2 - webpack: 5.101.0(webpack-cli@5.1.4) + webpack: 5.101.0(webpack-cli@4.10.0) optionalDependencies: '@babel/core': 7.27.7 typescript: 5.8.3 @@ -32432,7 +33652,7 @@ snapshots: require-from-string: 2.0.2 ts-dedent: 2.2.0 util-deprecate: 1.0.2 - webpack: 5.101.0(webpack-cli@5.1.4) + webpack: 5.101.0(webpack-cli@4.10.0) optionalDependencies: '@babel/core': 7.27.7 typescript: 4.9.5 @@ -32658,10 +33878,10 @@ snapshots: '@storybook/client-logger': 7.4.6 '@storybook/preview-api': 7.4.6 - '@storybook/telemetry@6.5.16(encoding@0.1.13)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': + '@storybook/telemetry@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': dependencies: '@storybook/client-logger': 6.5.16 - '@storybook/core-common': 6.5.16(eslint@9.26.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/core-common': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) chalk: 4.1.2 core-js: 3.45.0 detect-package-manager: 2.0.1 @@ -32685,10 +33905,10 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/telemetry@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': + '@storybook/telemetry@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)': dependencies: '@storybook/client-logger': 6.5.16 - '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/core-common': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) chalk: 4.1.2 core-js: 3.45.0 detect-package-manager: 2.0.1 @@ -32712,10 +33932,10 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/telemetry@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)': + '@storybook/telemetry@6.5.16(encoding@0.1.13)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': dependencies: '@storybook/client-logger': 6.5.16 - '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/core-common': 6.5.16(eslint@9.26.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) chalk: 4.1.2 core-js: 3.45.0 detect-package-manager: 2.0.1 @@ -32739,10 +33959,37 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/telemetry@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)': + '@storybook/telemetry@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': dependencies: '@storybook/client-logger': 6.5.16 - '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + chalk: 4.1.2 + core-js: 3.45.0 + detect-package-manager: 2.0.1 + fetch-retry: 5.0.6 + fs-extra: 9.1.0 + global: 4.4.0 + isomorphic-unfetch: 3.1.0(encoding@0.1.13) + nanoid: 3.3.11 + read-pkg-up: 7.0.1 + regenerator-runtime: 0.13.11 + transitivePeerDependencies: + - '@swc/core' + - encoding + - esbuild + - eslint + - react + - react-dom + - supports-color + - typescript + - uglify-js + - vue-template-compiler + - webpack-cli + + '@storybook/telemetry@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)': + dependencies: + '@storybook/client-logger': 6.5.16 + '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) chalk: 4.1.2 core-js: 3.45.0 detect-package-manager: 2.0.1 @@ -33540,6 +34787,14 @@ snapshots: minimatch: 10.0.3 path-browserify: 1.0.1 + '@tsconfig/node10@1.0.11': {} + + '@tsconfig/node12@1.0.11': {} + + '@tsconfig/node14@1.0.3': {} + + '@tsconfig/node16@1.0.4': {} + '@types/aria-query@5.0.4': {} '@types/babel__core@7.20.5': @@ -34032,7 +35287,7 @@ snapshots: dependencies: '@types/node': 22.15.35 tapable: 2.2.2 - webpack: 5.101.0(webpack-cli@5.1.4) + webpack: 5.101.0(webpack-cli@4.10.0) transitivePeerDependencies: - '@swc/core' - esbuild @@ -34040,11 +35295,11 @@ snapshots: - webpack-cli optional: true - '@types/webpack@5.28.5(webpack-cli@4.10.0)': + '@types/webpack@5.28.5(@swc/core@1.13.3(@swc/helpers@0.5.17))': dependencies: '@types/node': 22.15.35 tapable: 2.2.2 - webpack: 5.101.0(webpack-cli@4.10.0) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) transitivePeerDependencies: - '@swc/core' - esbuild @@ -34052,28 +35307,40 @@ snapshots: - webpack-cli optional: true - '@types/webpack@5.28.5(webpack-cli@5.1.4)': + '@types/webpack@5.28.5(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1)': dependencies: '@types/node': 22.15.35 tapable: 2.2.2 - webpack: 5.101.0(webpack-cli@5.1.4) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) transitivePeerDependencies: - '@swc/core' - esbuild - uglify-js - webpack-cli - '@types/webpack@5.28.5(webpack-cli@6.0.1)': + '@types/webpack@5.28.5(webpack-cli@4.10.0)': dependencies: '@types/node': 22.15.35 tapable: 2.2.2 - webpack: 5.101.0(webpack-cli@6.0.1) + webpack: 5.101.0(webpack-cli@4.10.0) transitivePeerDependencies: - '@swc/core' - esbuild - uglify-js - webpack-cli + '@types/webpack@5.28.5(webpack-cli@5.1.4)': + dependencies: + '@types/node': 22.15.35 + tapable: 2.2.2 + webpack: 5.101.0(webpack-cli@5.1.4) + transitivePeerDependencies: + - '@swc/core' + - esbuild + - uglify-js + - webpack-cli + optional: true + '@types/which@3.0.4': {} '@types/ws@8.18.1': @@ -35099,7 +36366,7 @@ snapshots: '@webpack-cli/configtest@3.0.1(webpack-cli@6.0.1)(webpack@5.101.0)': dependencies: webpack: 5.101.0(webpack-cli@6.0.1) - webpack-cli: 6.0.1(webpack-dev-server@5.2.2)(webpack@5.101.0) + webpack-cli: 6.0.1(webpack@5.101.0) '@webpack-cli/info@1.5.0(webpack-cli@4.10.0)': dependencies: @@ -35114,7 +36381,7 @@ snapshots: '@webpack-cli/info@3.0.1(webpack-cli@6.0.1)(webpack@5.101.0)': dependencies: webpack: 5.101.0(webpack-cli@6.0.1) - webpack-cli: 6.0.1(webpack-dev-server@5.2.2)(webpack@5.101.0) + webpack-cli: 6.0.1(webpack@5.101.0) '@webpack-cli/serve@1.7.0(webpack-cli@4.10.0)': dependencies: @@ -35140,7 +36407,7 @@ snapshots: '@webpack-cli/serve@3.0.1(webpack-cli@6.0.1)(webpack-dev-server@5.2.2)(webpack@5.101.0)': dependencies: - webpack: 5.101.0(webpack-cli@6.0.1) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) webpack-cli: 6.0.1(webpack-dev-server@5.2.2)(webpack@5.101.0) optionalDependencies: webpack-dev-server: 5.2.2(webpack-cli@6.0.1)(webpack@5.101.0) @@ -35457,6 +36724,8 @@ snapshots: delegates: 1.0.0 readable-stream: 3.6.2 + arg@4.1.3: {} + arg@5.0.2: {} argparse@1.0.10: @@ -35903,7 +37172,7 @@ snapshots: dependencies: '@babel/core': 7.27.7 find-up: 5.0.0 - webpack: 5.101.0(webpack-cli@6.0.1) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) babel-loader@7.1.2(babel-core@7.0.0-bridge.0(@babel/core@7.27.7))(webpack@5.101.0): dependencies: @@ -35911,7 +37180,16 @@ snapshots: find-cache-dir: 1.0.0 loader-utils: 1.4.2 mkdirp: 0.5.6 - webpack: 5.101.0(webpack-cli@6.0.1) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + + babel-loader@8.4.1(@babel/core@7.27.7)(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))): + dependencies: + '@babel/core': 7.27.7 + find-cache-dir: 3.3.2 + loader-utils: 2.0.4 + make-dir: 3.1.0 + schema-utils: 2.7.1 + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) babel-loader@8.4.1(@babel/core@7.27.7)(webpack@5.101.0): dependencies: @@ -35920,7 +37198,7 @@ snapshots: loader-utils: 2.0.4 make-dir: 3.1.0 schema-utils: 2.7.1 - webpack: 5.101.0(webpack-cli@6.0.1) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) babel-loader@9.2.1(@babel/core@7.27.7)(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))): dependencies: @@ -36702,6 +37980,8 @@ snapshots: bytes-iec@3.1.1: {} + bytes@3.0.0: {} + bytes@3.1.2: {} c8@10.1.3: @@ -37089,6 +38369,10 @@ snapshots: dependencies: chalk: 1.1.3 + class-variance-authority@0.7.1: + dependencies: + clsx: 2.1.1 + classnames@2.5.1: {} clean-css@4.2.4: @@ -37219,6 +38503,18 @@ snapshots: '@codemirror/view': 6.38.1 '@lezer/highlight': 1.2.1 + cmdk@1.1.1(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-dialog': 1.1.14(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-id': 1.1.1(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - '@types/react' + - '@types/react-dom' + co@4.6.0: {} coa@1.0.4: @@ -37377,6 +38673,15 @@ snapshots: dependencies: source-map: 0.6.1 + concurrently@9.2.1: + dependencies: + chalk: 4.1.2 + rxjs: 7.8.2 + shell-quote: 1.8.3 + supports-color: 8.1.1 + tree-kill: 1.2.2 + yargs: 17.7.2 + confbox@0.1.8: {} configstore@3.1.5: @@ -37404,6 +38709,8 @@ snapshots: constants-browserify@1.0.0: {} + content-disposition@0.5.2: {} + content-disposition@0.5.4: dependencies: safe-buffer: 5.2.1 @@ -37453,7 +38760,7 @@ snapshots: schema-utils: 4.3.2 serialize-javascript: 6.0.2 tinyglobby: 0.2.14 - webpack: 5.101.0(webpack-cli@6.0.1) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) copyfiles@2.4.1: dependencies: @@ -37574,13 +38881,13 @@ snapshots: dependencies: capture-stack-trace: 1.0.2 - create-jest@29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0): + create-jest@29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0) + jest-config: 29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -37589,6 +38896,8 @@ snapshots: - supports-color - ts-node + create-require@1.1.1: {} + create-storybook@9.1.1: dependencies: semver: 7.7.2 @@ -37664,6 +38973,23 @@ snapshots: postcss-value-parser: 3.3.1 source-list-map: 2.0.1 + css-loader@3.6.0(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))): + dependencies: + camelcase: 5.3.1 + cssesc: 3.0.0 + icss-utils: 4.1.1 + loader-utils: 1.4.2 + normalize-path: 3.0.0 + postcss: 7.0.39 + postcss-modules-extract-imports: 2.0.0 + postcss-modules-local-by-default: 3.0.3 + postcss-modules-scope: 2.2.0 + postcss-modules-values: 3.0.0 + postcss-value-parser: 4.2.0 + schema-utils: 2.7.1 + semver: 6.3.1 + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) + css-loader@3.6.0(webpack@5.101.0): dependencies: camelcase: 5.3.1 @@ -37679,7 +39005,7 @@ snapshots: postcss-value-parser: 4.2.0 schema-utils: 2.7.1 semver: 6.3.1 - webpack: 5.101.0(webpack-cli@6.0.1) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) css-loader@5.2.7(webpack@5.101.0): dependencies: @@ -37732,7 +39058,7 @@ snapshots: postcss-value-parser: 4.2.0 semver: 7.7.2 optionalDependencies: - webpack: 5.101.0(webpack-cli@6.0.1) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) css-select@4.3.0: dependencies: @@ -39390,7 +40716,7 @@ snapshots: async: 2.6.4 loader-utils: 1.4.2 schema-utils: 0.3.0 - webpack: 5.101.0(webpack-cli@6.0.1) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) webpack-sources: 1.4.3 extract-zip@1.7.0: @@ -39558,13 +40884,19 @@ snapshots: dependencies: loader-utils: 1.4.2 schema-utils: 0.3.0 - webpack: 5.101.0(webpack-cli@6.0.1) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + + file-loader@6.2.0(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))): + dependencies: + loader-utils: 2.0.4 + schema-utils: 3.3.0 + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) file-loader@6.2.0(webpack@5.101.0): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.101.0(webpack-cli@6.0.1) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) file-system-cache@1.1.0: dependencies: @@ -39783,7 +41115,7 @@ snapshots: lodash.startswith: 4.2.1 minimatch: 3.1.2 typescript: 5.8.3 - webpack: 5.101.0(webpack-cli@6.0.1) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) fork-ts-checker-webpack-plugin@4.1.6: dependencies: @@ -39811,7 +41143,7 @@ snapshots: semver: 7.7.2 tapable: 1.1.3 typescript: 5.8.3 - webpack: 5.101.0(webpack-cli@5.1.4) + webpack: 5.101.0(webpack-cli@4.10.0) optionalDependencies: eslint: 9.26.0(jiti@2.5.1) @@ -39831,7 +41163,27 @@ snapshots: semver: 7.7.2 tapable: 1.1.3 typescript: 4.9.5 - webpack: 5.101.0(webpack-cli@5.1.4) + webpack: 5.101.0(webpack-cli@4.10.0) + optionalDependencies: + eslint: 9.27.0(jiti@2.5.1) + + fork-ts-checker-webpack-plugin@6.5.3(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3)(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))): + dependencies: + '@babel/code-frame': 7.27.1 + '@types/json-schema': 7.0.15 + chalk: 4.1.2 + chokidar: 3.6.0 + cosmiconfig: 6.0.0 + deepmerge: 4.3.1 + fs-extra: 9.1.0 + glob: 7.2.3 + memfs: 3.5.3 + minimatch: 3.1.2 + schema-utils: 2.7.0 + semver: 7.7.2 + tapable: 1.1.3 + typescript: 5.8.3 + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) optionalDependencies: eslint: 9.27.0(jiti@2.5.1) @@ -39851,7 +41203,7 @@ snapshots: semver: 7.7.2 tapable: 1.1.3 typescript: 5.8.3 - webpack: 5.101.0(webpack-cli@6.0.1) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) optionalDependencies: eslint: 9.27.0(jiti@2.5.1) @@ -39904,7 +41256,7 @@ snapshots: semver: 7.7.2 tapable: 2.2.2 typescript: 5.8.3 - webpack: 5.101.0(webpack-cli@6.0.1) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) form-data-encoder@2.1.4: {} @@ -40814,7 +42166,20 @@ snapshots: lodash: 4.17.21 pretty-error: 2.1.2 toposort: 1.0.7 - webpack: 5.101.0(webpack-cli@6.0.1) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + + html-webpack-plugin@4.5.2(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))): + dependencies: + '@types/html-minifier-terser': 5.1.2 + '@types/tapable': 1.0.12 + '@types/webpack': 4.41.40 + html-minifier-terser: 5.1.1 + loader-utils: 1.4.2 + lodash: 4.17.21 + pretty-error: 2.1.2 + tapable: 1.1.3 + util.promisify: 1.0.0 + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) html-webpack-plugin@4.5.2(webpack@5.101.0): dependencies: @@ -40827,7 +42192,7 @@ snapshots: pretty-error: 2.1.2 tapable: 1.1.3 util.promisify: 1.0.0 - webpack: 5.101.0(webpack-cli@6.0.1) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) html-webpack-plugin@5.6.3(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))): dependencies: @@ -40847,7 +42212,7 @@ snapshots: pretty-error: 4.0.0 tapable: 2.2.2 optionalDependencies: - webpack: 5.101.0(webpack-cli@6.0.1) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) htmlparser2@10.0.0: dependencies: @@ -41785,16 +43150,16 @@ snapshots: - supports-color - utf-8-validate - jest-cli@29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0): + jest-cli@29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)): dependencies: - '@jest/core': 29.7.0(babel-plugin-macros@3.1.0) + '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0) + create-jest: 29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)) exit: 0.1.2 import-local: 3.2.0 - jest-config: 29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0) + jest-config: 29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -41858,7 +43223,7 @@ snapshots: - supports-color - utf-8-validate - jest-config@29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0): + jest-config@29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)): dependencies: '@babel/core': 7.27.7 '@jest/test-sequencer': 29.7.0 @@ -41884,6 +43249,7 @@ snapshots: strip-json-comments: 3.1.1 optionalDependencies: '@types/node': 22.15.35 + ts-node: 10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -42645,12 +44011,12 @@ snapshots: - supports-color - utf-8-validate - jest@29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0): + jest@29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)): dependencies: - '@jest/core': 29.7.0(babel-plugin-macros@3.1.0) + '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)) '@jest/types': 29.6.3 import-local: 3.2.0 - jest-cli: 29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0) + jest-cli: 29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -43326,6 +44692,10 @@ snapshots: dependencies: es5-ext: 0.10.64 + lucide-react@0.523.0(react@18.3.1): + dependencies: + react: 18.3.1 + luxon@3.7.1: {} lz-string@1.5.0: {} @@ -44211,10 +45581,16 @@ snapshots: braces: 3.0.3 picomatch: 2.3.1 + mime-db@1.33.0: {} + mime-db@1.52.0: {} mime-db@1.54.0: {} + mime-types@2.1.18: + dependencies: + mime-db: 1.33.0 + mime-types@2.1.35: dependencies: mime-db: 1.52.0 @@ -45213,6 +46589,8 @@ snapshots: dependencies: isarray: 0.0.1 + path-to-regexp@3.3.0: {} + path-to-regexp@8.2.0: {} path-type@1.1.0: @@ -45299,6 +46677,8 @@ snapshots: dependencies: crypto-js: 4.2.0 + pkce-challenge@4.1.0: {} + pkce-challenge@5.0.0: {} pkg-dir@2.0.0: @@ -45485,19 +46865,21 @@ snapshots: postcss-load-options: 1.2.0 postcss-load-plugins: 2.3.0 - postcss-load-config@3.1.4(postcss@8.5.6): + postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)): dependencies: lilconfig: 2.1.0 yaml: 1.10.2 optionalDependencies: postcss: 8.5.6 + ts-node: 10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3) - postcss-load-config@4.0.2(postcss@8.5.6): + postcss-load-config@4.0.2(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)): dependencies: lilconfig: 3.1.3 yaml: 2.8.1 optionalDependencies: postcss: 8.5.6 + ts-node: 10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3) postcss-load-options@1.2.0: dependencies: @@ -45516,6 +46898,16 @@ snapshots: postcss-load-config: 1.2.0 schema-utils: 0.3.0 + postcss-loader@4.3.0(postcss@7.0.39)(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))): + dependencies: + cosmiconfig: 7.1.0 + klona: 2.0.6 + loader-utils: 2.0.4 + postcss: 7.0.39 + schema-utils: 3.3.0 + semver: 7.7.2 + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) + postcss-loader@4.3.0(postcss@7.0.39)(webpack@5.101.0): dependencies: cosmiconfig: 7.1.0 @@ -45524,7 +46916,7 @@ snapshots: postcss: 7.0.39 schema-utils: 3.3.0 semver: 7.7.2 - webpack: 5.101.0(webpack-cli@6.0.1) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) postcss-loader@8.1.1(postcss@8.5.6)(typescript@5.8.3)(webpack@5.101.0): dependencies: @@ -45533,7 +46925,7 @@ snapshots: postcss: 8.5.6 semver: 7.7.2 optionalDependencies: - webpack: 5.101.0(webpack-cli@6.0.1) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) transitivePeerDependencies: - typescript @@ -46142,6 +47534,8 @@ snapshots: dependencies: safe-buffer: 5.2.1 + range-parser@1.2.0: {} + range-parser@1.2.1: {} raw-body@2.5.2: @@ -46158,11 +47552,17 @@ snapshots: iconv-lite: 0.6.3 unpipe: 1.0.0 + raw-loader@4.0.2(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))): + dependencies: + loader-utils: 2.0.4 + schema-utils: 3.3.0 + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) + raw-loader@4.0.2(webpack@5.101.0): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.101.0(webpack-cli@6.0.1) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) rc-config-loader@4.1.3: dependencies: @@ -46314,6 +47714,12 @@ snapshots: react: 18.2.0 scheduler: 0.23.2 + react-dom@18.3.1(react@18.3.1): + dependencies: + loose-envify: 1.4.0 + react: 18.3.1 + scheduler: 0.23.2 + react-dom@19.1.0(react@19.1.0): dependencies: react: 19.1.0 @@ -46589,6 +47995,14 @@ snapshots: optionalDependencies: '@types/react': 18.2.0 + react-remove-scroll-bar@2.3.8(@types/react@18.2.0)(react@18.3.1): + dependencies: + react: 18.3.1 + react-style-singleton: 2.2.3(@types/react@18.2.0)(react@18.3.1) + tslib: 2.8.1 + optionalDependencies: + '@types/react': 18.2.0 + react-remove-scroll-bar@2.3.8(@types/react@18.2.0)(react@19.1.0): dependencies: react: 19.1.0 @@ -46630,7 +48044,18 @@ snapshots: optionalDependencies: '@types/react': 18.2.0 - react-scripts-ts@3.1.0(babel-core@7.0.0-bridge.0(@babel/core@7.27.7))(babel-runtime@6.26.0)(typescript@5.8.3): + react-remove-scroll@2.7.1(@types/react@18.2.0)(react@18.3.1): + dependencies: + react: 18.3.1 + react-remove-scroll-bar: 2.3.8(@types/react@18.2.0)(react@18.3.1) + react-style-singleton: 2.2.3(@types/react@18.2.0)(react@18.3.1) + tslib: 2.8.1 + use-callback-ref: 1.3.3(@types/react@18.2.0)(react@18.3.1) + use-sidecar: 1.1.3(@types/react@18.2.0)(react@18.3.1) + optionalDependencies: + '@types/react': 18.2.0 + + react-scripts-ts@3.1.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(babel-core@7.0.0-bridge.0(@babel/core@7.27.7))(babel-runtime@6.26.0)(typescript@5.8.3)(webpack-cli@6.0.1): dependencies: autoprefixer: 7.1.6 babel-jest: 20.0.3 @@ -46666,8 +48091,8 @@ snapshots: typescript: 5.8.3 uglifyjs-webpack-plugin: 1.2.5(webpack@5.101.0) url-loader: 0.6.2(file-loader@1.1.5(webpack@5.101.0)) - webpack: 5.101.0(webpack-cli@5.1.4) - webpack-dev-server: 5.2.2(webpack@5.101.0) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + webpack-dev-server: 5.2.2(webpack-cli@6.0.1)(webpack@5.101.0) webpack-manifest-plugin: 1.3.2(webpack@5.101.0) whatwg-fetch: 2.0.3 optionalDependencies: @@ -46684,7 +48109,7 @@ snapshots: - utf-8-validate - webpack-cli - react-scripts-ts@3.1.0(babel-core@7.0.0-bridge.0(@babel/core@7.27.7))(babel-runtime@6.26.0)(typescript@5.8.3)(webpack-cli@6.0.1): + react-scripts-ts@3.1.0(babel-core@7.0.0-bridge.0(@babel/core@7.27.7))(babel-runtime@6.26.0)(typescript@5.8.3): dependencies: autoprefixer: 7.1.6 babel-jest: 20.0.3 @@ -46720,8 +48145,8 @@ snapshots: typescript: 5.8.3 uglifyjs-webpack-plugin: 1.2.5(webpack@5.101.0) url-loader: 0.6.2(file-loader@1.1.5(webpack@5.101.0)) - webpack: 5.101.0(webpack-cli@6.0.1) - webpack-dev-server: 5.2.2(webpack-cli@6.0.1)(webpack@5.101.0) + webpack: 5.101.0(webpack-cli@4.10.0) + webpack-dev-server: 5.2.2(webpack@5.101.0) webpack-manifest-plugin: 1.3.2(webpack@5.101.0) whatwg-fetch: 2.0.3 optionalDependencies: @@ -46738,6 +48163,11 @@ snapshots: - utf-8-validate - webpack-cli + react-simple-code-editor@0.14.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-split-pane@0.1.92(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: prop-types: 15.8.1 @@ -46758,6 +48188,14 @@ snapshots: optionalDependencies: '@types/react': 18.2.0 + react-style-singleton@2.2.3(@types/react@18.2.0)(react@18.3.1): + dependencies: + get-nonce: 1.0.1 + react: 18.3.1 + tslib: 2.8.1 + optionalDependencies: + '@types/react': 18.2.0 + react-style-singleton@2.2.3(@types/react@18.2.0)(react@19.1.0): dependencies: get-nonce: 1.0.1 @@ -46800,6 +48238,10 @@ snapshots: dependencies: loose-envify: 1.4.0 + react@18.3.1: + dependencies: + loose-envify: 1.4.0 + react@19.1.0: {} read-cache@1.0.0: @@ -47371,7 +48813,7 @@ snapshots: dependencies: rollup: 4.46.2 - rollup-plugin-postcss@4.0.2(postcss@8.5.6): + rollup-plugin-postcss@4.0.2(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)): dependencies: chalk: 4.1.2 concat-with-sourcemaps: 1.1.0 @@ -47380,7 +48822,7 @@ snapshots: p-queue: 6.6.2 pify: 5.0.0 postcss: 8.5.6 - postcss-load-config: 3.1.4(postcss@8.5.6) + postcss-load-config: 3.1.4(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)) postcss-modules: 4.3.1(postcss@8.5.6) promise.series: 0.2.0 resolve: 1.22.10 @@ -47510,6 +48952,10 @@ snapshots: dependencies: tslib: 1.14.1 + rxjs@7.8.2: + dependencies: + tslib: 2.8.1 + sade@1.8.1: dependencies: mri: 1.2.0 @@ -47581,7 +49027,7 @@ snapshots: neo-async: 2.6.2 optionalDependencies: sass: 1.90.0 - webpack: 5.101.0(webpack-cli@6.0.1) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) sass@1.90.0: dependencies: @@ -47750,6 +49196,16 @@ snapshots: parseurl: 1.3.3 safe-buffer: 5.2.1 + serve-handler@6.1.6: + dependencies: + bytes: 3.0.0 + content-disposition: 0.5.2 + mime-types: 2.1.18 + minimatch: 3.1.2 + path-is-inside: 1.0.2 + path-to-regexp: 3.3.0 + range-parser: 1.2.0 + serve-index@1.9.1: dependencies: accepts: 1.3.8 @@ -48010,7 +49466,7 @@ snapshots: dependencies: iconv-lite: 0.6.3 source-map-js: 1.2.1 - webpack: 5.101.0(webpack-cli@5.1.4) + webpack: 5.101.0(webpack-cli@4.10.0) source-map-resolve@0.6.0: dependencies: @@ -48050,6 +49506,13 @@ snapshots: space-separated-tokens@2.0.2: {} + spawn-rx@5.1.2: + dependencies: + debug: 4.4.1(supports-color@8.1.1) + rxjs: 7.8.2 + transitivePeerDependencies: + - supports-color + spdx-correct@3.2.0: dependencies: spdx-expression-parse: 3.0.1 @@ -48442,6 +49905,12 @@ snapshots: loader-utils: 1.4.2 schema-utils: 0.3.0 + style-loader@1.3.0(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))): + dependencies: + loader-utils: 2.0.4 + schema-utils: 2.7.1 + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) + style-loader@1.3.0(webpack@5.101.0): dependencies: loader-utils: 2.0.4 @@ -48452,7 +49921,7 @@ snapshots: dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.101.0(webpack-cli@6.0.1) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) style-loader@3.3.4(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))): dependencies: @@ -48464,7 +49933,7 @@ snapshots: style-loader@4.0.0(webpack@5.101.0): dependencies: - webpack: 5.101.0(webpack-cli@6.0.1) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) style-mod@4.1.2: {} @@ -48605,7 +50074,7 @@ snapshots: svg-url-loader@8.0.0(webpack@5.101.0): dependencies: file-loader: 6.2.0(webpack@5.101.0) - webpack: 5.101.0(webpack-cli@6.0.1) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) svg2ttf@4.3.0: dependencies: @@ -48672,7 +50141,7 @@ snapshots: del: 2.2.2 sw-precache: 5.2.1 uglify-js: 3.19.3 - webpack: 5.101.0(webpack-cli@6.0.1) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) sw-precache@5.2.1: dependencies: @@ -48844,7 +50313,9 @@ snapshots: string-width: 4.2.3 strip-ansi: 6.0.1 - tailwindcss@3.4.17: + tailwind-merge@2.6.0: {} + + tailwindcss@3.4.17(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -48863,7 +50334,7 @@ snapshots: postcss: 8.5.6 postcss-import: 15.1.0(postcss@8.5.6) postcss-js: 4.0.1(postcss@8.5.6) - postcss-load-config: 4.0.2(postcss@8.5.6) + postcss-load-config: 4.0.2(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)) postcss-nested: 6.2.0(postcss@8.5.6) postcss-selector-parser: 6.1.2 resolve: 1.22.10 @@ -48965,6 +50436,19 @@ snapshots: ansi-escapes: 4.3.2 supports-hyperlinks: 2.3.0 + terser-webpack-plugin@4.2.3(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))): + dependencies: + cacache: 15.3.0 + find-cache-dir: 3.3.2 + jest-worker: 26.6.2 + p-limit: 3.1.0 + schema-utils: 3.3.0 + serialize-javascript: 5.0.1 + source-map: 0.6.1 + terser: 5.43.1 + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) + webpack-sources: 1.4.3 + terser-webpack-plugin@4.2.3(webpack@5.101.0): dependencies: cacache: 15.3.0 @@ -48975,7 +50459,7 @@ snapshots: serialize-javascript: 5.0.1 source-map: 0.6.1 terser: 5.43.1 - webpack: 5.101.0(webpack-cli@6.0.1) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) webpack-sources: 1.4.3 terser-webpack-plugin@5.3.14(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))): @@ -49284,12 +50768,12 @@ snapshots: typescript: 3.9.10 yargs-parser: 18.1.3 - ts-jest@29.3.4(@babel/core@7.27.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.27.7))(jest@29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0))(typescript@5.8.3): + ts-jest@29.3.4(@babel/core@7.27.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.27.7))(jest@29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)))(typescript@5.8.3): dependencies: bs-logger: 0.2.6 ejs: 3.1.10 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0) + jest: 29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -49333,6 +50817,47 @@ snapshots: '@ts-morph/common': 0.27.0 code-block-writer: 13.0.3 + ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.18)(typescript@5.8.3): + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.11 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 22.15.18 + acorn: 8.15.0 + acorn-walk: 8.3.4 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.8.3 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + optionalDependencies: + '@swc/core': 1.13.3(@swc/helpers@0.5.17) + + ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3): + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.11 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 22.15.35 + acorn: 8.15.0 + acorn-walk: 8.3.4 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.8.3 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + optionalDependencies: + '@swc/core': 1.13.3(@swc/helpers@0.5.17) + optional: true + ts-pnp@1.2.0(typescript@4.9.5): optionalDependencies: typescript: 4.9.5 @@ -49711,7 +51236,7 @@ snapshots: serialize-javascript: 1.9.1 source-map: 0.6.1 uglify-es: 3.3.9 - webpack: 5.101.0(webpack-cli@6.0.1) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) webpack-sources: 1.4.3 worker-farm: 1.7.0 @@ -49997,12 +51522,21 @@ snapshots: mime: 1.6.0 schema-utils: 0.3.0 + url-loader@4.1.1(file-loader@6.2.0(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))))(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))): + dependencies: + loader-utils: 2.0.4 + mime-types: 2.1.35 + schema-utils: 3.3.0 + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) + optionalDependencies: + file-loader: 6.2.0(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + url-loader@4.1.1(file-loader@6.2.0(webpack@5.101.0))(webpack@5.101.0): dependencies: loader-utils: 2.0.4 mime-types: 2.1.35 schema-utils: 3.3.0 - webpack: 5.101.0(webpack-cli@6.0.1) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) optionalDependencies: file-loader: 6.2.0(webpack@5.101.0) @@ -50027,6 +51561,13 @@ snapshots: optionalDependencies: '@types/react': 18.2.0 + use-callback-ref@1.3.3(@types/react@18.2.0)(react@18.3.1): + dependencies: + react: 18.3.1 + tslib: 2.8.1 + optionalDependencies: + '@types/react': 18.2.0 + use-callback-ref@1.3.3(@types/react@18.2.0)(react@19.1.0): dependencies: react: 19.1.0 @@ -50073,6 +51614,14 @@ snapshots: optionalDependencies: '@types/react': 18.2.0 + use-sidecar@1.1.3(@types/react@18.2.0)(react@18.3.1): + dependencies: + detect-node-es: 1.1.0 + react: 18.3.1 + tslib: 2.8.1 + optionalDependencies: + '@types/react': 18.2.0 + use-sidecar@1.1.3(@types/react@18.2.0)(react@19.1.0): dependencies: detect-node-es: 1.1.0 @@ -50131,6 +51680,8 @@ snapshots: kleur: 4.1.5 sade: 1.8.1 + v8-compile-cache-lib@3.0.1: {} + v8-compile-cache@2.4.0: {} v8-to-istanbul@4.1.4: @@ -50524,7 +52075,7 @@ snapshots: import-local: 3.2.0 interpret: 3.1.1 rechoir: 0.8.0 - webpack: 5.101.0(webpack-cli@6.0.1) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) webpack-merge: 6.0.1 optionalDependencies: webpack-dev-server: 5.2.2(webpack-cli@6.0.1)(webpack@5.101.0) @@ -50546,13 +52097,22 @@ snapshots: webpack: 5.101.0(webpack-cli@6.0.1) webpack-merge: 6.0.1 + webpack-dev-middleware@3.7.3(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))): + dependencies: + memory-fs: 0.4.1 + mime: 2.6.0 + mkdirp: 0.5.6 + range-parser: 1.2.1 + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) + webpack-log: 2.0.0 + webpack-dev-middleware@3.7.3(webpack@5.101.0): dependencies: memory-fs: 0.4.1 mime: 2.6.0 mkdirp: 0.5.6 range-parser: 1.2.1 - webpack: 5.101.0(webpack-cli@6.0.1) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) webpack-log: 2.0.0 webpack-dev-middleware@4.3.0(webpack@5.101.0): @@ -50563,7 +52123,7 @@ snapshots: mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 3.3.0 - webpack: 5.101.0(webpack-cli@6.0.1) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) webpack-dev-middleware@6.1.3(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))): dependencies: @@ -50585,6 +52145,18 @@ snapshots: optionalDependencies: webpack: 5.101.0(webpack-cli@5.1.4) + webpack-dev-middleware@7.4.2(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))): + dependencies: + colorette: 2.0.20 + memfs: 4.36.0 + mime-types: 2.1.35 + on-finished: 2.4.1 + range-parser: 1.2.1 + schema-utils: 4.3.2 + optionalDependencies: + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) + optional: true + webpack-dev-middleware@7.4.2(webpack@5.101.0): dependencies: colorette: 2.0.20 @@ -50634,7 +52206,6 @@ snapshots: - debug - supports-color - utf-8-validate - optional: true webpack-dev-server@5.2.2(webpack-cli@5.1.4)(webpack@5.101.0): dependencies: @@ -50706,7 +52277,7 @@ snapshots: webpack-dev-middleware: 7.4.2(webpack@5.101.0) ws: 8.18.3 optionalDependencies: - webpack: 5.101.0(webpack-cli@6.0.1) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) webpack-cli: 6.0.1(webpack-dev-server@5.2.2)(webpack@5.101.0) transitivePeerDependencies: - bufferutil @@ -50714,6 +52285,45 @@ snapshots: - supports-color - utf-8-validate + webpack-dev-server@5.2.2(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))): + dependencies: + '@types/bonjour': 3.5.13 + '@types/connect-history-api-fallback': 1.5.4 + '@types/express': 4.17.23 + '@types/express-serve-static-core': 4.19.6 + '@types/serve-index': 1.9.4 + '@types/serve-static': 1.15.8 + '@types/sockjs': 0.3.36 + '@types/ws': 8.18.1 + ansi-html-community: 0.0.8 + bonjour-service: 1.3.0 + chokidar: 3.6.0 + colorette: 2.0.20 + compression: 1.8.1 + connect-history-api-fallback: 2.0.0 + express: 4.21.2 + graceful-fs: 4.2.11 + http-proxy-middleware: 2.0.9(@types/express@4.17.23) + ipaddr.js: 2.2.0 + launch-editor: 2.11.0 + open: 10.2.0 + p-retry: 6.2.1 + schema-utils: 4.3.2 + selfsigned: 2.4.1 + serve-index: 1.9.1 + sockjs: 0.3.24 + spdy: 4.0.2 + webpack-dev-middleware: 7.4.2(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + ws: 8.18.3 + optionalDependencies: + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate + optional: true + webpack-dev-server@5.2.2(webpack@5.101.0): dependencies: '@types/bonjour': 3.5.13 @@ -50745,16 +52355,20 @@ snapshots: webpack-dev-middleware: 7.4.2(webpack@5.101.0) ws: 8.18.3 optionalDependencies: - webpack: 5.101.0(webpack-cli@5.1.4) + webpack: 5.101.0(webpack-cli@4.10.0) transitivePeerDependencies: - bufferutil - debug - supports-color - utf-8-validate + webpack-filter-warnings-plugin@1.2.1(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))): + dependencies: + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) + webpack-filter-warnings-plugin@1.2.1(webpack@5.101.0): dependencies: - webpack: 5.101.0(webpack-cli@6.0.1) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) webpack-hot-middleware@2.26.1: dependencies: @@ -50771,7 +52385,7 @@ snapshots: dependencies: fs-extra: 0.30.0 lodash: 4.17.21 - webpack: 5.101.0(webpack-cli@6.0.1) + webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) webpack-merge-and-include-globally@2.3.4(webpack@5.101.0): dependencies: @@ -50879,6 +52493,40 @@ snapshots: - esbuild - uglify-js + webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1): + dependencies: + '@types/eslint-scope': 3.7.7 + '@types/estree': 1.0.8 + '@types/json-schema': 7.0.15 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/wasm-edit': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + acorn: 8.15.0 + acorn-import-phases: 1.0.4(acorn@8.15.0) + browserslist: 4.25.1 + chrome-trace-event: 1.0.4 + enhanced-resolve: 5.18.3 + es-module-lexer: 1.7.0 + eslint-scope: 5.1.1 + events: 3.3.0 + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + json-parse-even-better-errors: 2.3.1 + loader-runner: 4.3.0 + mime-types: 2.1.35 + neo-async: 2.6.2 + schema-utils: 4.3.2 + tapable: 2.2.2 + terser-webpack-plugin: 5.3.14(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack@5.101.0) + watchpack: 2.4.4 + webpack-sources: 3.3.3 + optionalDependencies: + webpack-cli: 6.0.1(webpack-dev-server@5.2.2)(webpack@5.101.0) + transitivePeerDependencies: + - '@swc/core' + - esbuild + - uglify-js + webpack@5.101.0(webpack-cli@4.10.0): dependencies: '@types/eslint-scope': 3.7.7 @@ -50975,7 +52623,7 @@ snapshots: watchpack: 2.4.4 webpack-sources: 3.3.3 optionalDependencies: - webpack-cli: 6.0.1(webpack-dev-server@5.2.2)(webpack@5.101.0) + webpack-cli: 6.0.1(webpack@5.101.0) transitivePeerDependencies: - '@swc/core' - esbuild @@ -51395,6 +53043,8 @@ snapshots: dependencies: buffer-crc32: 0.2.13 + yn@3.1.1: {} + yocto-queue@0.1.0: {} yocto-queue@1.2.1: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 192a8c6e325..da58d9b975c 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -6,3 +6,4 @@ packages: - "workspaces/bi/*" - 'workspaces/common-libs/*' - 'workspaces/mi/*' + - 'workspaces/mcp-inspector/*' diff --git a/rush.json b/rush.json index 10d142e9c99..c182811138b 100644 --- a/rush.json +++ b/rush.json @@ -245,13 +245,14 @@ * The list of shell commands to run after the Rush build command finishes */ "postRushBuild": [ - "cd workspaces/ballerina/ballerina-extension && pnpm run copyVSIXToRoot", - "cd workspaces/wso2-platform/wso2-platform-extension && pnpm run copyVSIXToRoot", - "cd workspaces/choreo/choreo-extension && pnpm run copyVSIXToRoot", + "cd workspaces/ballerina/ballerina-extension && pnpm run copyVSIXToRoot", + "cd workspaces/wso2-platform/wso2-platform-extension && pnpm run copyVSIXToRoot", + "cd workspaces/choreo/choreo-extension && pnpm run copyVSIXToRoot", "cd workspaces/mi/mi-extension && pnpm run copyVSIXToRoot", "cd workspaces/bi/bi-extension && pnpm run copyVSIXToRoot", "cd workspaces/apk/apk-extension && pnpm run copyVSIXToRoot", - "cd workspaces/api-designer/api-designer-extension && pnpm run copyVSIXToRoot" + "cd workspaces/api-designer/api-designer-extension && pnpm run copyVSIXToRoot", + "cd workspaces/mcp-inspector/mcp-inspector-extension && pnpm run copyVSIXToRoot" ] }, /** @@ -607,6 +608,10 @@ "packageName": "api-designer", "projectFolder": "workspaces/api-designer/api-designer-extension", "versionPolicyName": "api-designer-extension" + }, + { + "packageName": "mcp-inspector", + "projectFolder": "workspaces/mcp-inspector/mcp-inspector-extension" } ] } diff --git a/workspaces/mcp-inspector/mcp-inspector-extension/.gitignore b/workspaces/mcp-inspector/mcp-inspector-extension/.gitignore new file mode 100644 index 00000000000..436a890f896 --- /dev/null +++ b/workspaces/mcp-inspector/mcp-inspector-extension/.gitignore @@ -0,0 +1,19 @@ +# Build output +out/ +dist/ +*.vsix + +# Dependencies +node_modules/ + +# Test artifacts +.vscode-test/ + +# macOS +.DS_Store + +# Editor +.vscode/.history + +# Cache +.turbo diff --git a/workspaces/mcp-inspector/mcp-inspector-extension/.vscode/launch.json b/workspaces/mcp-inspector/mcp-inspector-extension/.vscode/launch.json new file mode 100644 index 00000000000..c42edc04b04 --- /dev/null +++ b/workspaces/mcp-inspector/mcp-inspector-extension/.vscode/launch.json @@ -0,0 +1,21 @@ +// A launch configuration that compiles the extension and then opens it inside a new window +// Use IntelliSense to learn about possible attributes. +// Hover to view descriptions of existing attributes. +// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 +{ + "version": "0.2.0", + "configurations": [ + { + "name": "Run Extension", + "type": "extensionHost", + "request": "launch", + "args": [ + "--extensionDevelopmentPath=${workspaceFolder}" + ], + "outFiles": [ + "${workspaceFolder}/dist/**/*.js" + ], + "preLaunchTask": "${defaultBuildTask}" + } + ] +} diff --git a/workspaces/mcp-inspector/mcp-inspector-extension/.vscode/settings.json b/workspaces/mcp-inspector/mcp-inspector-extension/.vscode/settings.json new file mode 100644 index 00000000000..16a5c02292d --- /dev/null +++ b/workspaces/mcp-inspector/mcp-inspector-extension/.vscode/settings.json @@ -0,0 +1,13 @@ +// Place your settings in this file to overwrite default and user settings. +{ + "files.exclude": { + "out": false, // set this to true to hide the "out" folder with the compiled JS files + "dist": false // set this to true to hide the "dist" folder with the compiled JS files + }, + "search.exclude": { + "out": true, // set this to false to include "out" folder in search results + "dist": true // set this to false to include "dist" folder in search results + }, + // Turn off tsc task auto detection since we have the necessary tasks as npm scripts + "typescript.tsc.autoDetect": "off" +} diff --git a/workspaces/mcp-inspector/mcp-inspector-extension/.vscode/tasks.json b/workspaces/mcp-inspector/mcp-inspector-extension/.vscode/tasks.json new file mode 100644 index 00000000000..877f039211e --- /dev/null +++ b/workspaces/mcp-inspector/mcp-inspector-extension/.vscode/tasks.json @@ -0,0 +1,49 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "label": "build", + "type": "npm", + "script": "build", + "problemMatcher": [], + "presentation": { + "reveal": "never" + }, + "group": { + "kind": "build", + "isDefault": true + } + }, + { + "label": "watch", + "type": "npm", + "script": "watch", + "problemMatcher": { + "base": "$tsc-watch", + "background": { + "activeOnStart": true, + "beginsPattern": "^\\s*\\[webpack-cli\\] Compiler starting", + "endsPattern": "^\\s*webpack \\d+\\.\\d+\\.\\d+ compiled" + } + }, + "isBackground": true, + "presentation": { + "reveal": "never", + "group": "watchers" + }, + "group": "build" + }, + { + "label": "watch-tests", + "type": "npm", + "script": "watch-tests", + "problemMatcher": "$tsc-watch", + "isBackground": true, + "presentation": { + "reveal": "never", + "group": "watchers" + }, + "group": "build" + } + ] +} diff --git a/workspaces/mcp-inspector/mcp-inspector-extension/.vscodeignore b/workspaces/mcp-inspector/mcp-inspector-extension/.vscodeignore new file mode 100644 index 00000000000..66e1de22093 --- /dev/null +++ b/workspaces/mcp-inspector/mcp-inspector-extension/.vscodeignore @@ -0,0 +1,24 @@ +# Test files +.vscode-test/** +out/test/** + +# Source files (compiled to out/) +src/** +**/tsconfig.json +**/*.ts + +# Build configuration +webpack.config.js +**/eslint.config.mjs +.gitignore +.eslintrc.* + +# Build artifacts +**/*.map + +# Development dependencies (all excluded, inspector bundled by webpack) +node_modules/** + +# Development files +.npmrc +.DS_Store diff --git a/workspaces/mcp-inspector/mcp-inspector-extension/LICENSE b/workspaces/mcp-inspector/mcp-inspector-extension/LICENSE new file mode 100644 index 00000000000..21f14716e74 --- /dev/null +++ b/workspaces/mcp-inspector/mcp-inspector-extension/LICENSE @@ -0,0 +1,190 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + Copyright 2025 WSO2 LLC + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/workspaces/mcp-inspector/mcp-inspector-extension/README.md b/workspaces/mcp-inspector/mcp-inspector-extension/README.md new file mode 100644 index 00000000000..831e3d8af79 --- /dev/null +++ b/workspaces/mcp-inspector/mcp-inspector-extension/README.md @@ -0,0 +1,67 @@ +# MCP Inspector for VSCode + +Inspect, debug, and monitor [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) connections directly within Visual Studio Code. + +![MCP Inspector](https://raw.githubusercontent.com/wso2/mcp-inspector-extension/main/resources/screenshot.png) + +## Features + +### 🔍 Real-time Connection Monitoring +Monitor MCP server and client connections in real-time with detailed request and response inspection. + +### 🐛 Debug MCP Servers +Test and debug your MCP servers with an integrated debugging interface—no need to leave VSCode. + +### 🔧 Pre-populate Server Configuration +Launch the inspector with pre-configured server URLs or commands using the **"Open MCP Inspector with URL"** command. + +### 🎨 Custom Dark Theme +Enjoy a carefully crafted dark theme optimized for long debugging sessions. + +## Getting Started + +### Installation + +1. Install the extension from the [VSCode Marketplace](https://marketplace.visualstudio.com/items?itemName=wso2.mcp-inspector) +2. Reload VSCode + +### Usage + +**Open the Inspector:** +- Press `Cmd+Shift+P` (macOS) or `Ctrl+Shift+P` (Windows/Linux) +- Type `Open MCP Inspector` and press Enter + +**Open with Pre-configured Server:** +- Use the command `Open MCP Inspector with URL` to specify server details + +## Requirements + +- **Node.js** v18.x or later +- **Visual Studio Code** v1.104.0 or later + +## Commands + +| Command | Description | +|---------|-------------| +| `Open MCP Inspector` | Open the MCP Inspector panel | +| `Open MCP Inspector with URL` | Open with pre-populated server configuration | + +## Support + +- 📖 [Documentation](https://github.com/wso2/mcp-inspector-extension/blob/main/QUICKSTART.md) +- 🐛 [Report Issues](https://github.com/wso2/mcp-inspector-extension/issues) +- 💬 [Discussions](https://github.com/wso2/mcp-inspector-extension/discussions) + +## About + +This extension integrates the official [MCP Inspector](https://github.com/modelcontextprotocol/inspector) into VSCode, providing a seamless debugging experience for Model Context Protocol implementations. + +## License + +Apache License 2.0 - see [LICENSE](https://github.com/wso2/mcp-inspector-extension/blob/main/LICENSE.txt) for details. + +By using this extension, you agree to the [WSO2 Privacy Policy](https://wso2.com/privacy-policy). + +--- + +**Developed by [WSO2](https://wso2.com)** diff --git a/workspaces/mcp-inspector/mcp-inspector-extension/eslint.config.mjs b/workspaces/mcp-inspector/mcp-inspector-extension/eslint.config.mjs new file mode 100644 index 00000000000..d5c0b53a76c --- /dev/null +++ b/workspaces/mcp-inspector/mcp-inspector-extension/eslint.config.mjs @@ -0,0 +1,28 @@ +import typescriptEslint from "@typescript-eslint/eslint-plugin"; +import tsParser from "@typescript-eslint/parser"; + +export default [{ + files: ["**/*.ts"], +}, { + plugins: { + "@typescript-eslint": typescriptEslint, + }, + + languageOptions: { + parser: tsParser, + ecmaVersion: 2022, + sourceType: "module", + }, + + rules: { + "@typescript-eslint/naming-convention": ["warn", { + selector: "import", + format: ["camelCase", "PascalCase"], + }], + + curly: "warn", + eqeqeq: "warn", + "no-throw-literal": "warn", + semi: "warn", + }, +}]; \ No newline at end of file diff --git a/workspaces/mcp-inspector/mcp-inspector-extension/icon.png b/workspaces/mcp-inspector/mcp-inspector-extension/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b12bfdf91f6dbf1b2297b3bf2126bc97d2d849be GIT binary patch literal 41811 zcmY&=2{@GN8@Dl-%2uiDR4Nr2CHqz>LQ%37V@i$e3K7Q494G3?lFA+}lzmAe!doiJ zNKMvkqe8|uVHjhX?|DZ5@4LS1I_Gq*d7t-L?&n^9_wT;nZk@6+6I~~>j*pK|)cp8S z8$Lb(@V^3lYlOfbBzcuc@W)#J<4ys5e8Lj&Uld2S2v>8t`mEx^v{M(wx>jHry#RtC&-a&_HMt4Iw5fEpRI{I%yy1s zn3$L}&b#Cc$@Jt;_Sb|>5wlnZjebRA!p#*=NAhRtf?Zg)eCCPS;pJ#qz9~%I+NBLu z;%qLb@B>O4T`y3_H!k+NdiKqo9p;HUJWTfqj`Pc*oY&nJm8!ctrb`c}msb15$QXi$ z<~Bb{7SqvLn9o9)You~(aCa#^bo|Tfg76);!_}a>(=k z*kRUC)Ln`X#mNG520lM{umc@8A3((Ur+j)(?xD2u#k``!hf7N1(+@7cE|jR(~0R%G69R11N}NP9WNKzZ6A>h9f<(k(~| zXNEFUP3OH~A>4`nrXuzL7xMd&h=IVkLw(~BxHRXirW8>iL<{d&KK{o45LPxRm#FG)evt_ZGMMIU*EJ24v3u4M9=e` ztM211kiVHMEYFc!YC*^c)bk>=Kgi`s7K7<`h<-3agvBDnxCHzcX|`->T~93dIXlpj z-(7E3mz_>Y{e%e6*Wd$31^2-veEOY8Kd6JP3MrIFACY!M##b9|(}ub>gZ^dginKDgiKY@BuqzO^Ib6Zpv`cuvBNOk zU7U(Ex#LeP*NMXAWbB*K4ti`ob{gfT8UOILdfr&Metv@~x=Ai)iEfS$sMLpZXm}m;zknpTb)z-ZSt76b$0x2SgWrLL^E>~dkJ3Ga z^zKkTA{&t1l?HHpWZ7Q-Fys_(e3eMXWHSn0wrJZmq+BdhER*oCT)L`18EpZEre%tw zB+x=q%|INf&4>x&)i(_`vZF%x-J@@hzKP7*g3HvpQUiBAi!J9f6B1ELGE_&KWKkq3 z^1YLAY|FYOZREZLa*0s1v9W7?j)znhs#B@kfqu2A|V@~X)(50qAT^;y6jYxhWdSx@Y>m3 zJiQ;@C)_(qAECPoQIWs{OsCa}Ym(5DSD67!4Kx8yme#47eaaimOu|fF`TO&F=@gOI z1ELOa?l?O#Mt(_diAt7Ep@^K|yQWrq3v9$Zt*)IME%*1qEs@)TTGtxxgM(i!5;GY8 zyXg9h;CkC>>1p8i?5CP!v%lk|-iq{!st!h}fQg12D_1H$Lrn#nZ{@}fEzubuVA~Gv7OIjVRltAHLDNhE|f9etl>3`Gurd1?` zvf&eQ5pS&>4kq!q=!1Gq|GS+v?s$>Xr?Pcm_`$0Uq@azHOrXbP>D_lI`eeagCXhq+ zU`0+ty-A5liS(K#M7nO%DR5L7BYi$BCWC#h@AsP!`hNNpqKWK87J}>=dOQ$a?%Y6e zAvZV})he{KShS?TwmAeBmKqm%z0v=z-=*1y)$0T0nX>fV^qsq|h$G*|&Q;BX0$1fer2uz2ic;BBn>w|7};_#Fb;8cyQxB#mU6J zvzPU3_q^@q;){mYuTZ9XspIHYsOPo#d5*m=CT->S8%yLBGKg5QuuK;XOJe7t zpwsjkgw?<2%M1%MfPt#ilEDb;k>IzQEE=r6!AawE&iGJt!veqBN*iM>Hxi=J{8J$0CMyfK~1yUHMp z-coQxQ+4i&XM?v8@%TQQfzAG|$o`i?9g)!-_VN}m8SNnP?VHEtk?lHk404tb-qo^h zT*!H&e{a#~{KM)n6F8)P;ajx0uP`ag0`ywZLC!l7K@-roZ$-n!R zm+DZe9ygV|1v2ClgbQjh^L#V+#BKp0*?u1s6MZ0)wu`S(m)-bXph|VCvVA$m?7mnu zd`e4}+oY$t`@xjP%7e0f{$~ym3ilXCFGSJaB!I^jxxR|QI=@ZDi;IkpJ@d`0d+X1~ zJaH(hkTgf%i?)|1ei*n8M z1p+Uu$?sR4N?#6Z9!6SF-HiEAu@JjabvQ?ZhwZY;#nHQdUf&Hv_`3RYzLXO%M&h@F z_igGEwo;WBfZD4Q&1L-CIjCQQdDdPTQ!rm7=q#D=Dk5SVJu1fpYL93IW8u$TeyggY zym|T+y!MlUv1xQex=vzF)=xRX6L{{#rmsALizs95XYva4%Ez z5--OBnc^0L{=6VdcmpX)FtnEzg|qj@@YM&`-eyN!5m$e<0fZ-;&GBRa`zs&Iw5_`Zh zYGPb>9i4Z$aGggH2Tjs4b0}W?2YRrqol3l?slqx~`qA&6bNCC(uj>y=&G6R;os4bD zoZeoV{ReJAl8RpXczE0NkA?tbE(iVivy7mebi&Vw+$R=_-cVdy>o?-${HMJ&!+Zx>z5J?|yfsB$qHz9wqCItIT=0L?_`o8^oYqu*-?kNOA_w^gY$EgJ24>)) zj z$ws;0F$3Go9~^3T{{AbyU9y0g+!hZ=j_nIHNN20@u?&8T3(3_c)$CE7^jW`;^} z_qM+Bh|?T0@N9YWMFPE3x59tDkG@NBvcw!s`_GASI|-*;Ya_vkDFg4*N*y(jTpCPXM$0>`PN59~(~nzWUMs>UYN0*|7G~jcYb_N|0LioBI#JdF8Nbf9D9G6vJM0VkN+}-O*4?S5M%)VS zu1&TBl{ve^5ZsKmWweP5f4zvKW$meU7bq2)$T{(lz4Uh-o^yyKDbGRmm&38Bi}8!3 z9Pw;mA=O?_I72pK1J@1NHlzN>O}tg`Hpq9zRXglumc&CSmlr1~BWSD3MFjD>%bD#@ z>W0&@Mh*RXXqeOBY2R}}^$!w%nqtJcXY}M~>S^*-+wc#9URfP@1mE2q&F$4|lPVA| z6um9(=;u--Nq%LicoZCIs7Fjn)}P<&WOw98q|pNG`f$6jS|5h+8WWag4+flU7DJjd z1I@&^ikj67jQ~`zP+@&>$7qiDL$K|u6Z{~!(LBNHjM(3cz`@xzX-%%xU`ZizyC7`f zdbme(y9T+nAMA*ev*e1d_RxUQNT`IWHH*)Sn$p(1t_jr1=4$s95o(bo* z#okI=@1N+Y8O^N)vRpU4dH$C4cV$H(!X6?M46yCjms@cI55bn#ogvaDSIDgH_uorr z-vI1p<1|%}g~bvtz{H}VG$_deldWHgX)c3H0BF)>Hdii!LkUXotN%Ha*Wit+ElWZXP^W)82)d9pf{8l6D_c;hvlo&b8!)(KFe7$v|64vN8>g8T}vAhPOjiqrl_G9;qE`x_MM$v*9 z{%0rZ-}zi*=A<6bW@d*`AI^25TQb0b{qpM;$C(d0Bi$*T$zsuMO1&dOmE5K3SrlCM z%OU}J=mmVzrqW_cauhWY(V0(2O;xtbOO&S=gS+TI^`J|B=%YWd31xEUeX*NukrA6q z>uPMhl8o?h@w7p13i+;OL3d;$r9$M@LDiSR1JZ4EVPsw478xr{Qlau2;13jLB(*&p zWBDhA9mibqTvN=z+`d^$nNt2X9$@*cr52;)<3#$*^1(ZH5Y$eqE{kf5hP+)ZGN4~lUbuLH#oJ6|AL#S(2LdHCq;dbSs`_A!uj4(q-2knZ}FHng9+Yki=SzAp}c1SvaF z(rBT$8*E@XfL(up{_6|y)rp+$t3wNC#V=hGDRml+y4I_SYAh2Tir58g{S-@tX@^q2 z0V0ZIXT9p)R);Y4@>cZNeP8crd3k@4np0lMMi8JcdtRY`AWIwp2MVCP0tXT;pJhLE z=zCoIUn4PUT-txB`V{vP1dFEqiO4>bawM3t9y1(x`luMUarQ95Z(eIc`uPc@Z0raz zG*|K|82Qv^550pdaTv_0LD3cQ|HUMED_)u#$&u|pEiNEeGdq2T43<{9>_m?v-#r9| zmCLOt#qwK?H&7!U2L9ClJx>0agmb@V1VPvG1zmbESpp9GM(zdyOthR|ndL#qDw*11 zLyC~TP{lY4rFd`&q+wz@3*~8sY(e$(n5|dY#yPDTVV$#oJz}gM&cJyu57Qn+S$e=S7^_RGxsan(3cBANT z+l)LlmkmkFe-|%A8T{BP0b=>0828Swz{>iB_;-5svu{Qdg!$tfLVa905G1k^E5;=E z-8cGJ{=J^!LOg?W8W#GjQU1-jy#43Vv^vF?gVbVa_*^kQ9nAyq?fitP|XmX1t zkt!ZUMASQS4h6k)N6)3r>gCQJ20LU3%JR1gWb}d^+74hGGOv?`TgJ&9<1YQR2ewWf zwEosY8*Hd81(FQy6GFaahL{4-_c&0e%`<{dBZmj(}yOPe| zipgjL6NdBzJ{2UZP{$v3jsr!l63bOftdg|is_cg2Q0ZuF$Xn^_ZP%j+BU%OwJID|p~0qq%62E7=Umv2*AHG!@n( z8s-IhQdGz4V-UDTu)#J#eRPRH#%m`K%QiCmX@jQ0(u?be)|JEGsb}oaN~G&Q^dNoywn%ztO>Kf0OaBqaW7LFZ7!Gmxg(TF4l_t zMm@#C@y4bT1{ni$49lhHi_93jpQd9QWrutfheE z=`4+$1vqf4(z3l}k`YrLWU)FsI|XyZp-jx91u_zV0vcev$7wfToF;}-Cz|HysWeO- zdRQy@Tg%tf9C5Iy&7SD6=Tf@w3?0N%Kb7xch95HJltrB5(1Vc!sK!0D04zhRyU!dV zOY8@p27rQ^9ov0`UgLdZih9tNn1@Q(oIuwH*Tk(r zRrB)p0ev;%^GhI25-&Y6O3rQ1L<9n4%YCs2o}snA3p=1cwLK?*q=S{#O>q^>cnxzh z;X+5ft)3O)>R)?J4Hu_Mxaj$6=r`{&>f^!97_wBp`0-o40LSsgB&mVpgt{8arSxPd zWL&hzTq+^Eb=+tzf^)Vpxi#dws^E5d$T=|d&IPgK&y@qJKE3m>?sj@rPA7}E_`@r9bB98%9v0v0* zGAr&@Ozo7OK82K7mbkSffn(nokR#`C_lW_`c+!?2+IHdcIYFgYqLJqQse$ud_O_#d%NGs*j zVnF^j;x`We8w%n;{z>^ZrazvajOll%&zQcyjU9YDul~5dw*SfHmCQ2~H!`*(UU@>` zbw`X4Sl~H+SvX+y?j9gQONPG2y^&^u*436eK5tt+Ir(50{fYiEv<5moa&y-7m%_S zpIG!;oT=6;h#6(yYvGdsEtg&zbm$O_d{KmY8fa+t&Q_{jeTm z8~oo=(Pydxav`SyaH8M$IdQ+v?ZB2`+|dCty-g5=hdToQpm9IB%;SSC_L+wJ9NtvJ zUxjG`@areFBY^)5V7D5Uf&a*_#EZg34zq@50Hi-Iemzz<;DP8Bp~<4D^<9D~PXdvh z<_v9^jQ=Bf{hxU+n2eup*iC=8x`sWe<1CsER`iuW(3_%4baz7ozpDs zf8=*ehcbonT9St{oG5qsr_Tcbvb&TpN}he#+>$=#BjCC>MAP4Kd5v|@Gl0Kkwu^CJ zDF=c7G;sHz7E03q=j50ZcqnvMtju$_M!?*|wrV38$7i!g5_aT`+2>}xnaNfw!5GgZ z!}PI@x2In5LR-D9hK##}&zh1z$~)gjvs1{R0#Lb^c?wYs0GgoK(VDE%{F@_fr;*+n z$(WceQIk(lxMl}fKu~*d$8YrCQ>v)$Ix4swusQw1&W6fkYwd92aWmH&!7{|)rgY)|p2^(x?nstLkWI^!B6XQyzbT?@(2D|cWZNDa_(~)GD z(hXP=@$nzWu9@2yUpHhHDsQ->oankwUaTVDSFu)ot0FXUbWB>$hCk;te#?xP2}dus zPX*rDk>~E?Jh0AzBVGbD@H~udGyIaNVEQom(wnd3H?-Gm{(zASXjTvj63TBpE0#Mj z1%zeYy(y&sZgi7G6ZW21^x1uU&KnZMfxx}UH(Dlc>eA$@#lj5G@#yHb_%Pu9ueXo* zT$w=H|tp&^8RiVup$#4AVX`fPT$HBmezbe zrxjmprooIC>E-vH653&IF~rQ$Uvlu1wa?tika$g#26-1-N!jA1CUW8q zWrk8=fweMETlZFxl~TSVN6uP)HI{MYkWjI3T{&T;}vtA?764(Vc}iU}|+9 z$=MUM;1^GW z+9qsVY1gZbzKZXTEGE!(=?^(O(*WW7>MzPlnLiG)1oL+c&i{G=Fudz>7vsJ!`ZeO_ zl0Io|l1OQ0)Ps_vXsUR7*8Q3IAbW8f>e~L1JN6ibwM{pH28vSv3HO-P`_|iNf+8)I z1}aEme|-7OX{U6$000vh+DVT!HK2V*BzO|lc{6DIHg5PE%LA4!lRM%wL9%3GG^+T! zYmg+XA@3ni|46fSQYy)G0&gaG|1GPAmC5M)!(Rqr#Zty++q z?hiw6%~VplE&cctvkhGThzI=o*j+BhEz`o_)->G&nm4IG+!o|1^dEulNpH{5<~O&A zVjSC_nK867?b?ScHaN%U#(&@fu&o=k!7rO$&UnFnr!Pxr!_1Xo+b{gwbDFKvYz2!Ud>aD18qHOd<-KF4rs{byJUWWWzW0#|Clym-h+H4HB# zG>;=QCQq5$#EWu`S^sXG{+Diqe-DviC0YWA2a=MVL-Q%!IsvH86o<|N>E9QHBAiOj zo7;#>i7x5U<72=Q^2l?Dmbeo(+}XwXz90hcnn8#2SSgm zzkbADw)6!me%1(Y14YB+7DLZ7wL1GPP|Yl47%7|g$*;7oVY`6~@>eOfh0wAN#0syM zq2diaRPXF%^z?aH-42uvS=UuH`(eAeOa`Eh47S}g*v8gp?nTRwMuPF0VqFz5W0f3W zyM_}T=kPiQm=~58&Y9a_sG`nv#dl42ACFOv0TSWN^5y{ERWZ3+G-N%_(JyI?rD>uK z(<;Pdaa(8B3O=7L9d?%(fpRTPO90>@Yubmaocy9{+Fq ziqnGyQSWRMs`q&LvmO{NeAXC9CTxKEcBd6NKN*vF@BCqUNv6orOc7^(ssljOL5@5S zMN$FVC(=Cv#;P^Z#0M0=r2d;b@&@(^IB#ZR-hfzu1!`934Faw=tND3W=BF2HVfF*H z;gdTO!A(i-SaOX@#7G;q}{zvDIML>GlVKYfu(`olWk9r;4UmSnjTkTzH7 zPszr7AXJhBhOcVAOBK}l1YxQ>!@c=_<6!*~r*!uc}HvlsJNrGB7gvm`2wmp zZja`=Q9-yN@;lZ99%}QnG-f%#TiR-f&I;n*0|n$A%u2H80NAuQUQF^3;Ef6)f{sUf z0fP0ckN9oTrkg;^4n+tV{WRKZ-r(j$|4feU2jc_r*CG|&H~By2jbF{5LN%ZLolPMpp~6`qD!}uMQ>1^}3++NHUUR*l{pgP; zy^h?{2UfTj`o%WMY0S-yFcZq;E4>QeAfbMu4_p9x`K2$0Zz_m%KRdO29TSf{^#y9Y zS3MmSFSk;_d&A$j)P|QY0Z-ovEG2XsT7ptp-D*L*?Iaqq8?OQPbbdMf)$`jz5pED2 ztx~S`Q+&GwF1`c4;i2{c=El-Hi$yy`KQoX9RC*P##I-yZG6hdji*|epgvxmEzZF;# zCG9SSiPwf=wH>sT9UgdrS@2 zg7%^aZ6ICh0TQ_IW~OPHtWGPu9N*x9#Y zZ6DY=@*bl;ggDlw{t>pof1DoD)e1=aFM$ji`l|@N{lOT=*l~yF{ zw)p%4VO68&o7dcD&eu2}j<;wrN^VVt_=z<-VjW*t4>|d*-Z|)9<|aPYT>N`6ZaY@w zQ@Qi9_vKLtV=_dkr-6S2*_>v%;VS}HNY0-7sf1K#iI3+D-H0&H(`GaaowLDS2N*G_ z-??Z{n0j5E`V)g@bZ|OUK|S>_pn~T+IQFBoh0>^E%zTF*&9(cr_53ob-6fnfed(VE zI8yud=_G=S4K}2Nl(5~)dHJ6mLr$nF<*iDPAD`7~0lAT_MvsKoOOEE^yU_LdlfS>v zr{oqh;^Tr|D&!h#?lFJBLcu~`eW>)4=|VPfdM6CMchb|5azcfMR|N-kGEpxl)Uv37G(3{{Qbk_uBx~YxJn%8Vv@l}IcTCal zDczrq#++Sj&y@$>`-9sv%up!JkA1c)=#PD({IyNA`nQpedhTm z4Q>Cr)QPsVqPR}IoX97m5vHYj(P7)RVms~`=JxlL-dnhTFPCFgl70;*o{8211;UE& zd?9+g8!}7lK0d=w(kg%8RNl$&rz$TaYN2^KlkR}tZfvY#e!6Z`sqWbchuDErkdfWP zeEllcxza49yUTSqR-`FfvsAbhv(SFqs$jCK>g{W@qWM0H=p%_MLj|aGSjEvmqCOm? z4fhkIYY6p@a0)*E>mXc@&eK)#(gD2^`N^#lKixd{kJWK3z8uLh*_KytN0N$L*R>v$ z!7_6P_Ldl&Yr|eVSP81z;lTdwg5HMNfeAe3>0)>) zYYliY-*2&asQTs$dG(H7)8ZZza6M<_S4!Z9SqdkLjqf|vW*x5eY2-Lu?lkEx@hEiF zTa(BMU~^r$d`DMM;UbRZFfL>0LlE8%4!IGuuCeRCQ%y^{7sEfg4mgRhgAUDcUa7HW zUL=~*cGJyJ=~>{oCP=4Zm zBMhg~YXbRput4SXDiQ^1H~$N%3P?zR?1IQpSc`WypyOeNI`yWg&drp2UW|UZ^TZv) zp8-!#)BIEAby`{sr~hTD;dP%Vj!q!|f-y$0@6zq{TA=>wB@zx@!jpVOO>uw z(tk7;wwJ!Rb?;!C>EiR`-_~jiMMJ$3+jw>GDfrG1LpUu*<3dGAx(T&Nh+csh7C+h0 zXJ)lOH8Cob%`K9>{%h@^4~`Yfs^e^#feEn*RUcjoF|O;;wgAAqjbHH9Toc1b5^M4` zu5Bf_NbL2<%^cNJ!n>7!&wAthDaGu2=b-V`mN@h^V5${oH&ki!^f!3X$*JX?_;KTF zF0oy8SD%{SKUhA@|2gPqoWZu&Wh+7@)8StRjjypuUNCrg0=xio>nah)wqDO&#HTAa zzH4eN8HPl9+&}mv-}=9dDT4e$BO}zh>B7X6xz$Bb$)BAYI#Hm%)Yu`2gafpnSr$L_ zPWnzznC~chUtW5C<>Ja7`mYAyG`@3Q=?yLX3j-_`9u)H!hl*&R@D{`qErQ$L5j zQrlmfDCBvV{vSCOGTDIIcp{g_QB6v1SyG$sfDw2MZM~XDuhA&jzzn5JchXBI5BH>9 zH2+q<-oGOK3b=*$$ZJy_+Ib#ZC3S}TDVr+6bq9f_dig4lP)Q-iU~|GEuBh2k5pUj| z@BXPoxT_E{oP~6f919S)Cj>y{EG+d?xis?#kF79r)stg*fp_YNqf{Ek!6x%PCEZ}#e+JtOFewGV z^3;X>ZFvbp{)oBu!SXv=!R&aK@+`nmt##}S<`-$^WIB_4jwP;~UrSFS--Ton0M=>W z06`-K@lX~Y4rT@wmzJ%fpteQ6X`~kZV;k?g5Cqzh3gWOt{LV{`LREbdkGuS^@i0RH zMO-1?HD1B*1BnC%U-&9kZpGLcw8Yq|N!4vEH4V+f6;HA6w>5(1SCOs+a6l^z0V}^= z({`Z2=qp5pjbu$=d)l4KnZOuMcB7+7IX&og#?D3;gw~oo)6DfN8&g`| zZ*aG#XRk7*YYGA3;8}6E{s)NSi|I~5h%$eNCAR%r#AyqLwF+t;<9!5pd*#l^r_XI0 ze{F(?EU4wRffaE1KY&|Ldkzru7hU-4P#4Vo|6yRfo~}LZruC> z%S~Mgmh2fXBR&as%(p5tQNRIh8Qr7oZor{N*TcG?x);n+F0?%N(#5^Kzl2=Ee6 zfVkbj%F{4aU*PS7+_=RjJ92r*_&JXMCD2um6l0I&BgomY&>|m;oc_{0tof~?R?uSu zDNuz~3Y2n;>a&{e)}8~KILO~GQQBXPGfTJ4TYQQ>sr#9I4ZJP^0IAd3R+&pu9zZXXgT92NDs?>h2jK`!_oLUwxPi+}{)ZKi$vdeubXlJw+DegCI2RS1)-L zJG+@@lPE1!(3(`L!QXMgVeBKPd0nF3V@_QOz+X)6AbblZ$-KAJ)RSMuY6vssdG9gz z_0x=1M;uTDPwe%(x{1~2-Rbv%mcU9efB!iMDt7qCK({*rd_WKI0l#@hW!q|40@TJP z!MfUk%ET>1(lFMv*$J`R!B1lJ_hhVj-NR>gc1xAgs)q(1Mt-H=N+aVjsXB=%Ih;mkCLRE4rfsU?B|T^Q)rS&6Lqlsrde$ z7%APST@d`A`MMX@hL=Na?zKlUd~X}_06u8W;GsPaWPDi5igogL7Nk?cjA1H$eDJfV zV}VQIR5EBNOY3(qcEyE8maf*X(Xt+bbOk69(%`vhP^><~Thkv~dI7vBU;5NIX}?m~ zZ(@#kM)sbGF&-!7>8Mn+&R`Rd^Ucy-Y82x>gNuzZv7(R7`Ot(b=}g^h6dtf; z$x8&!LeQNLGjKz|v)ZtRM+R0Msuq3}$Wt$$^Wwqcx=6-h){20+An|Ri3W&;2RFwYG zv)^6SY-^ox*BiLfJdS28WC!qKRIw1G zxbhm=DH4(2{rs>*Bs<~h-;CGRq#g5M+xopX z`g9Uh4oXAQm&Qa$s(V2&A<3S~M{FP+ql`EYX?Wq619Q31mB5 zPtLKKZuVVF%FFj>$HYbY&;Kut|G{}6k{HD;P;Pg5Fli!^i)rt>kQjBIZQK#N`>Ile zh~u|+X5SyJnEJqEbCCNG(8;!-<@^0r7$w?cq~up}?)<#2jqcCFp@t7;(7s3uW=Q$3 z7W#jBzn*{o=M+zo(Ldw>j6)Sf2=)oG?Uxl|*J@lDpDJiY&7+f8Qk$-vL=?W<=e&@< zPXJ1_(BgfTbkEhNNy)DM`EBv0o1oIMs{?CilgXGlNz#D)pm#L)b4JO;nhb;6S!oZP z>-nY|Kn<3wIH{y4-i4{Q0o_}UHrS>8x|;a?|E~>zHJ7?n@m{8Gkff*~o5!*HV^yyB zYR;MmC{E7LtuQ(lddzfWe==f3jsDSDO3ItUsnjY4K2o?=pFrrnOxH#ULk?(;6Hl2Q zKO>$7>-rK5VU17aa{dlHkOe+=vDe$0Hte&Kh00XR7%*qm2-yE|6fIzU7M|ZD)E0TH zbIR>h<`5-pwM+oIfiAbtEC*vIE6mWs_k6A5 z_0;K7!8tGY5=*nyaHoxw@qa*9bFYXhBpXpW#SaFuR^V zGTAzg?Ca`D^0gJuk68M%pHJxC8^(oO*(gA)Vd?R(uq|5Wubk9Cnq;~XqfTG9M=Px3 zc}sE7vs+uHP+XJH^O4oZ*DjwUqvwE;>rrc48)YTKW|9sgk1GJO?;lCMKrA%+y1&xN zP)gVvAWhGT(CDa?hysQzb7eYfG)8{;TtH4RXzaye(;i(K6}5seyQ*2F<;4Zm;XpWQb?zs97}UbF~1 zZz^?!+2^_1En3JOG0pNa(kyYo`e_hZdDW>FK^q}uESSV!oZEv}il0evUcYy_J-WEf zV)&$IC7zgmV)U3N*u)<7`ZuwGH&a0dSg8gxiGjNvU3#DrB*rDJYic~zF@uEW$o8PE zgmsc!a$PJHckc-T{g8MHxQQjfloCjQ`tzbE8uTLoHX@*T&^VYq)vm9RmFvo%FCBac zHaW<9H)ZeH_bdIV+t?3InaGgtc3$nbm9GQ~7X6;R(%#xT%mV1|8$YrcwIDSa%+C(_ zNj0>x41k?da3suIs2qY^|>vF(F&P5>+XrdK}efNW;&djr42F zmi6Cy=8gA@j5+*Qv6q=3YXZ{5c=&z8<0!`I+pdDVplXCa2GSyHNYs&F&aa}_?A_|k zifq5Ep|QJBa9neg#iickyq953*ycz+0J5ByUs1ACmam6Zl$W8`M`0JV{Zu}tW%Wve zw4*9(31{=_(mzsP&eQ8H6(7ds;l@3ZQb1z08(i)kIy0+AT5k!Ef%U??o);fh!1GTt zR``ElYBm5X{S~0faL6=qOq}3;s(&MFZPg}N)cX3+Z;{^<0938z+}QW&0LK3*1Z$Q2 zmQWV8^%1X}LCgY_hg@j^P?NOyOJbL6?IkxSs}f7~eg#cNp1_`wOg1`B^FJ#YLW>2} zL1wxs?7mpwLGG%&6|I-k<2;1rP%pH%H4QWgNsn6CRaSW6hlO=;qb%))Y+MB_1#E|1 zxS>#a8n}XgafYX_5;1q>Y53|McsT~tEhA3?rh-sVGkwrMldI8UU?(|{omsx0nL%>i zZoNhvS|ms{{&r`eVp4jJV|Z;^k`y1P+8uvBQ>8xz23d`{Ct@bQlZm^RYj>AdndK#W zuQO0AtpaI89c17%jr~)hG)RJ54p!bVl7@K*I-2V&%h#IHBaN$+O)?_OUoF;k3%!2! zA!wM5`jmu7NfLjV4{rNlV8g-y{sA@;IorEtoX%|J*?Rc05_!5%+(16zj#_6#j`)S> zB~^MzPUlt7a(HmlOMiBJkx6VwHY0gRWfiiTFK<^G%2OkxbyLq}YeTAJ;`fg9|MdcV zf2Xezz2oP=0ax@~AK7qEt-Y2tqk4iNxpEJ80&<$T+d-!w!a0JpLy@k$A2jYrUTq`d zJfajr3Boy|PQ@hCWgy9riW!jY(NPZpo*;O18-H+@1;R z>8~kXT~vUnry=_>_<$&}Us08KO8?>jd3jH*7WhajTe?hxX@T%R2cYCA-OyBz20F=k zCqSh@!clKYQJ$9;f-fb2hXM;fBktj0G>yjFlLU^SHCq563(SDtnc&>`-_%weuaxpuDPzsdb2v@xGya~I|c zXYLtI_yfo`e=<~xK9%$P$3wjYVG3ko)?(1&DGj7z!&;4iqaEWQtqF{_t@o{oKLFaS zQHLIcq(9@Ojva6ZAZ=NVG;a8N&^eHJtkd7pVHgM>H;W?2sC4qe8oqBWcjNhXf5(iq ze!6dj;su9{0X2YpL8}yCT|wvq)^NN%Oe$jaF7z46DSKP>%Jz#=^?R*Tahc(3 z9|D4qsR&$lqO2KAe0a`->1lbpISx+!qxmpk9) z(Yq*RMf*i2_XFI01x1+(7&yb~i1OFdQCtn4D*vzik6O_=bFqb!lk>(V(U`L}~7j?_Ia`BXphw~JY z{YjV73?09n*zA| z1y0#c(OyARIWinpmEd_G~b*9 zO^S7(yKOAXuh{qj|Z zxkT&Av|?Dq+ymfYx%0jvqAORhGYtpB{9_)`j;C*Cm&ItzX=oHw?btr?3#RuZK;pE4 z?^d3!Vr(?^lCKhIvTpGPwV;(bFaM6UI=(Jdd@8ZOncTZ%I?O)A3xA!xIs1}xeP2L& zd!#wC$fG3qd{-$6Ud=J%H1da_<=KM!8Sq`>VkLwZ^$HBpqiJc~OR8qxeP~s`K&6R6 zrlOMsC78!%iS{b+0P+C;6Iilzt-bu2O6YTWX+DY%Y->cvxrQ!-NMb`uk!RZ-q636H zDQFM-wL|sQ-}IV_al_KPkAr4XAztlmmg9WrdN3jLBH?F8A^Q96#q-D?%aRh&L51xV z`NeZwwXNeoeJb1QllHXMj2-^gOJL!{i4IZIg{KBuZ1rH-(YR!a-!_SnvP7kRDC$-w zAF~8~!^LZKqDEQp%a>Z?rK}C>0|9FMTgLBqHFov&Ee};Mj!*(v2%0G2R%Kxxp6?{7s^r`|=uLyc|#gN5JRl6RByCVzvP1Z|HdRlsGg_Xff& zpxmH_W}86Hp$NDA#WA=AJ>>2xBaxIEyL{z?zJ^BU_&#JKXm?d2lwf<4jh>DM*^i=g z`pfXdMVrx6Kt%yf=?W6bAdvjj8v4Sf9+$sec5+UuMplF43aNVdMpL6ujW2|QZl``b zCCYUW5&&Oc)3Hc6L@7^QVGr*JIhKcvFn>GmHo!98e9~{K=9qA5bblj%oR=hne*SkY zhx(Yc%U+KPbVm|Y8*MYOyg=|5Oq?W-tcEv1a0QOTn|Uw}&hUPUKh8(evvbg+p7S1j zP=h)Q8!gLdKYWs_8|eR5|~`np2qSXwT9ZkgI|Z;Q;ZFCBVx)BK{Ufd7tgh1GNM~ zJU61V6o1niBR5vumZTJLyiM4iZ&Gwk5lB2*mxe&a&-gurbBp0<-@-o1pH(L4D829h z-T`R}tV;!-3f8Dp+ziVTx?o3tL`Go#{6+ivhlu}%9pF9NOCE6GeOmGjRuKn!sHU)W ziWh9_?t1*P&3Z92M-qA=R&d=at+<^M-Ph~p`eV@DU>dY9N${dc4+Z>vN1)V#0;Lup zKpa79?lX0jTLFBQ3EA|6J9Qh{CE8ue;$-Vt)<{`zFKDdlM$bZ{_G2UFI1ciBRS>SWhUQDNno9A+ z;I-U#vM>^)m7U`;h}PemJU1|(%zYeu=f2U3OTOPdeOrr)REMt@#)RQ>VZLMxRH26) z1?JmfE!s1ZRr8aj71O&z*^91kGdsg0U!~^ zL<2z!F#q{LAfFl!1dOE=2Er?VAWS2oM$ca9~|NIO1Y-+p-vO~s5h$-Y_c-lR} zcIi1@&Nr|h;*wh&$%8}Pv_a#SMh@^bJMvo8_1`wN&ZOsOiQd8Z@Iz9tduT(5HFWy_ zOKSR|$r$Ucx)EOM;!}=|2JjxvmCp^I0m>K|P4LAytFaus~9SSYoJze84*VA~klo zD8j<`CHZ*R%=I@RbEhkPF<=u{G#>o4mU?jMcN5g+|D2ft6P0U~L#eS8+tgH7a)8{I zu~ubR{+MY?*{?{${lY)|Q@alAXzDn>8&qmC(S2O+X8?mKh$9uCDG_=HEN#vlhJ7Ul|*!~NqS(o4ozh7FN$0NO!-#W~RR^K?Vl z?Q)8$!@fo3C#*c(;Lm&ChTL)#ZDL!0cwH`745wxFfe>mH&|zbTa8 ztFVaPLCGmvK?-ZfW(h2jm7sya-QrK?UB-m@)sU4+{M&2W&j67Fh_(9FO?a%4*U7SQ zIlNUXc?E24LPH_le>s{x)Wb)0$R17_I`o@*tx{Zm!(fnP}2jbe^;cA=? z{Y9lXruwDBJKnnCCe!iLCmtodB=1+!vpS#vE6!(NYh4fVP<_*}_>+%zD+)%9klb*t zV)VkEq>RdoqGMHl+9`uHPRd#C&elxbY7I+|Sw&A?w=j%pV7Ra$?UTPhq@f#8F-_1Y z(!Ma{#l_0RzPX^BU?ifjFHYtDywO5Y`IA29Pb4&_=+DjQo3 z=6g=r`7ETO3EhMmR;3ml#Y(DDq$HWrC}-~7CzNT|PG-5OKh;xgs$^GMGQKt&!|p9d zRjr24Nz1FAp0YS>=dw6GIZ=Tu^$;OLtX5=pLC3D?nJMI&EZ|BaQWbJ$;|byQfAoi*>Ct(O^O{%1HYK;OG%A}OO59#R$Tac*bq^qEJ7 z2(87-M+IAnREo?NYoyLK)?32)(29AD<|7GR8eGFFc1>|jTzQfd6TFy8Ia)8N>{&Lq zv})LY0T*s^_!u~-Y5fY1`3RZ(kuJ9}D&8Pf(!CdZac|e#(fJ?b9nf7m_D#sHe{{Gz zXP#r#{tUyd`CqJeqrpAok2d-vI?IEs`>(dku3v@~Ib42L_B7C{$8|l{$SfaK4_!Yj zUU_Bn?FYASz?*AF+7x`;m+{DM6WQMkDYxARc)4cOE&WDaw=!X8=9MHhxn-`Jx2Lt?@hRD<(&i+qS2u>z^EgzZ&CmOc4N z*{a=v=*4{b@DJ*f-?d6sPTQ*nbRhP!uNQARx%9S7;?eHv@B1v$D3K-YZ5bZV>C$S} zyyUIqDl_=T1)wqY_@sJEFjoRT;bTGHM=cT4i>q&73VekR5${**h$q?t`?9;?;+vx>0D ztXpl-(l&4lDhnx;cy_sG)Txg8af`U%UN|3-rba1zf^S75dz$x!pMyhz)S|MX-SY-x zlBS$FL?wDO>(Hzrpy1>(g4?j_VO_hd7E|{psisXH zGM~iY=@Wk)1wNvk;5MpyxaZqc%OUd`Ix)Q`sY(ZS|4v49G*E{q%U@lbND)Vj_XELM zeO2H4YGhB3ndR{GkmK`%Z$qDI{|h`tOES|a*M_!|Gb(`}E9yz|Ey6nPLC^Fc;_yOG z(Tq|hRU8*c3PQC8-r-=BTVZ)CZT20$>06_EH4c8BcEw_&B9oJ@b|U|CW#i$=Gt8xw zfQ6NMK2AoD)0l?00t2{A)~~QQbTl<+2O^93=ySk+@|mZ?mm2cEj3;*Sh`ojU>df~; zoEb28`!&0bJj53Qg@{*kW(fF7g%Xhge2EFwd=AYUH}JDr!5%Y}_98{DQURX8!~Oi$ zT@TLVp6w6sR7vM3EG!9}#`oPgC16pa9*pKyVma;OV#O)V$++C`7}K(rQP1_Wz30cS zf|r1yRc?%Q7tF?Gwmg1P29KgnDE#v@nSKS>|5YfK;;+!S9gxn_{qvP(vE4tRIyF=G zpN{`~yO-QHbAU+Pss^5-JFd-n+d%F`=U{RJZRI?op$*jKX!hl&z|Ey_r(XPQ<-ckD zSS56pyd!OIx}g4#>Nhh!+X3MP`I{2t=v{W_B-J?bMeBo*$l`HxX1F^o%Qd(ZoKG`W zOB@LkYzO7y=LdTPx_{p3|14drIUqq?Tv`6C8+T2h{_KWgN0$z$TM^KI{41U!yq+=08Cb)_o)=&=5r^ zKG|jOH%$mouD@|8i}I!lZeYaUMb?9KuP{jL4`6Y%dDxUCzS~Su3@dF z;RYxF5?V=?4a7r6|J40@^&J}|sc7Apo;+U7!{M|1E7!pwcxnO-nxF^IO^HyP4!RsJgF*G?<*`V??ta z;U;XAq7m;qQ1STpTheoaE#+DPvU18k71Fm~h9pyoO;Nij=PWfii24;q^H+fL3S6lG zk-;fdvY;^`i0QgU5i?uBPhmS_lsTlG!v;)c%M`DsWgX}Fu65#~rP6kh(InNxyoQIJ zx&F;0^>Yq74LFDo^~4~ue}0)oC6cJ!uC5Q@0#eJWCd<~Cw zn+vL7HzCdSS+4;#r&dLU*}o-Ubn8+-(7&ks%=JlX?hRhouo=^zy$)v4jweRu*=w6( zHBwI)p)lh3?{nM%&QVQFrTTxn?k9W{^{E@@>mKhuwh~Cl8@sy{LEe#d-nw+)HVLwc7FDc$m z)6GcUx!{!PWF|PgFY4Gvtt?^C@u%V>brD%FZBlrr{r=7L!EWw zbGj73bPD!jjhSAlQ59Cjz1zcwzrehaFm)L;#)T{4CHE?1Z%^EYp1*;n-; z5jV!pU!fN^x2vNIF184Ea@CcQs%CoOK{H{yq?oc>Rm9fNBcwEM^EhC-^S`i-RXl(C z%&p!U*cy=tk&B)EK&xR5GM!slVVKCU37H+fQfX$44YHVL>+!BHGKSOp)B9Hr%3Ozb4AGUpQ3L@x|G3Z$IF|jSs8o z)brpf%;pcvWYf#c)8K|hAW2iigBwAi+1d`*E3D^bWGn;tzq30tge70(*p9%fjc;8T zu1fHd*OTM*7IIFE{?03R9;UO3HmoX zu5WQWHl0j2E%ft(jLf4WSPZP^$UAX0$zv5-B~8Wu4RPBtL{p+&g!%)AQ*u7^XP##f z>&LXjxy4m2?MoN)UDe|y9%bd43BTJ)ej*@z0-$EWsLv4a7$DYuM6i!Ht){Wfb8Y#y zNi+V_gsS|>`U<>Z#{RHoTIlJlwR6PlG%d49saE}8?r&x$w>h+iK7G?!piW=VRrK3r z1QLp^{FLp4hJo%)Y~c&F9fqvmWN%WW<-d!)(kvr|Uxh-dH2*DrbZ}kWu#$7~bQ%mb zgzeM(n0CdRWj&pdabCk=PpzNgrnh}x zdD_02_utOb)?bfN&9c|Llcq@Vqw*w`5lo#4XsE|G5F z_@2_sjLV!4?cyK7v7b>+QWYa*vZ}h^jSpYcDdBMn8%Q1e0Ag{82VN-4y6_tv1W_vE zz~DB3p!bWjC^9Niit)rDPu8BlmzUV@DBn|6BY|+nPphzk2%L7#ClaYdQA8Qy6=D14 za&1ijE2MP2*8t8qdJs$ZRFPV{o2vIE;M-WU_IlxnDbC+DEIXxkWN+8|YlX=mnWMt# z%(#6HiUr74WkDKALAX;pZQHTY0$mTyR$Uz$Yj`*od>gsa|MH1%`-b!1-S=+10e}8V zpMWD*gP8qL=*DswEt?WFQ_dJRnF}%kNl|@(#B`D0sg$k@tJWv$zfDiSU3$OT#Cp2e z1daPq?bn-%v@?_5vVW-uz!03_hClErV18%D{32;6>|OLmX)?u;T`mVemXTT>4n?b- z3z@#@g5656TCJvxZimwLV(W7Ak6yUaz6RTipQM-3%jOl)y&%RkDnYvHZQ&t=C+Fd} z%98p2v`bV4M)yosUh~RfL!GB|{Dpb8UPa9?x-&E6R}xtaB*jI7D*r=cy@ai2K!+=A ze?&3FwSSECsx+}b5(M#HPFCInqIe5LuzNDH$Q#-|v7F^u-FOoFi~v-8qE_U;^yhT# zg=QolNGO4}%;LIxKQE@Nzm{M#IQ~~(QZ7A9V~0T3u*Aq-oY3^fVR})?Q&NU7YoYzZ)XQZ>6Vc_FYG&KUSUIOcy?4z7Q>};*V5F9 zIPWMjTmR6uaim+Xi)9k!qnx=v3-y~$??xar3|12f92`^0^e=lGrXIR`aLx1m+uJ3w zU&A> zfCLZ$o7r^X5w_$-J#Lj!MUIxf*Sk!MV9lR!kJENBtj=GVuU0Csw`){F36A#&^GY?W zeHouGtvDaHz0_S`zk6q)@Q1I+g4cro6Hfp>Tw zo?@3nj(U5irQSO@GNac_!_=W$Gwda%$kcO*SbP@oJ7>@l)=jB_6RM*Vd^2X6uCmzZZh+FnSuq{2uCE zpB`dzNWNZ*gVkEq!dF()^xQe6uH`+I)WKx=T?oxG6N}(=vi>rf`ZUh3@_Vc83c;#0 z0$m3w$p{#w)Z9OL?7VUXmNxg$7j z@u8=SI&}jF=~4XmEIy)4u%?1M?NqkkDU$>K2Fs1RbzfPF*4xjw-FmlfIs1#+*H0)G zYy2{C0mx9I)nzVxHNXTF!&VnS-7k$H8l{e+?!R#Js{4Saw{Ot9d`8(f<;|PUb*JIf z2J%??T~%??Y6s0N|%Ya58;<<{ScqqGCymdb9;#qYldi%G+?RL ziT*h6fuq~{)tihJVvuDJsnH;k@Ka(a|NFXipC(R9;t@AU@qLvWvIc?7zXjvMMUg~q zgiw5}HfQWQ9YW;j+V5i?%~skwhg(dhXh9hY9k{Jc?9v>bQ1#%f_HAZup+EI=qm z(s#;D@^$+%4TFT64hx%2>1)b=*34T^(;n<2Y;>}UQC}u|CXXy1Hn4sx)tU)%O^eUQ zHsO{iUp09)LlNkUkm;{(E1l*B*M5RoG+XxH2BB2=5Ovs0_#9*IDTs^3;v34NFJ|u{ zunVENvcBVaE{DYrfSkU)R09Kd_Ht%qbXp{@+Fs)3t;L8pVnW;yEO~HclNBHdfF+N3 zNX5S)Y~=TNTexyrgkY#Y-m;2)l^yBME#v}$Q>s;H5{Tb99ozYv?SYC<*5;I#QHc~m z{{@yhj*9}PaPid*+)CS0mG>^L2yBv5ue1Z4^By_1Je>YxK>DrP^ukWQ2h)O=t;@h1 zrEQX&8P7Y-CfVUt$mk9*S^=9$hlfLzXCW=-EFpyA2}FJc+m2r-b>w|@s~C$IV}Vmw z{Cj66H<>q8J(nTx2LMYvryLNONX z93R@2xd>Z{xrI>7u2gK6(J^`>+Ip?4~ys@)#%952+%j;R*CybamH$DV1o; z5RB-rC|0orS#q;T@d;G2i?=);S2;pHAmImory8v7wUtP_$ZWYQZ|gq|(`B1(z01~4 zJcRN*lqzl^JAz>*S%gf9{@%f^MUKghKQwDL zo;_DIjcCqoeQDe-`_<#{)T@l+1>?_u-9lN~W%}q<4Q!BgWDg?Lf^Sw@zBf%?;gB4;3~AGCFqyw;TywCilspEmxemVbq4?Tx9$-8Dhlh5 z$5^#gUJ;E`q+BMUv*@a3-~oi?!O%MXdui&$34o3eqsb22ig>&O%2XR?P|;j}<^5TL z#SLIbqgz@p!T#4j&~73EHtR$@7_4IRcW(;&**Bq%jg@~K0-dD)jMo1Yg*1c*G!t@Co4a0Vy{ihm$siD!Fky5JpT2Zv6qIBYx8e% z5Cn|>n{N7B1@h`DH=Nn^zuOj^74d8X`dAyDXs6?o{X7h?mGkezG^2rPv|R=;*vC-GQkF=V^QbnfIleLb|@((FmhA2qsxz z7^g_0-q!Dde?Uqr?6}1bV1;%Fy$68BORz@PZ&r@P=dJg{C9*QVDe2m6^b!#?^Dp)w zXDDt{0C_EvidR?CU1n2}Qi%r!$v@D?uK&xnUe5pmUL`3ZN zm=cXdOW;x@$}jFYH5Q-iAs%ap-vEK}b0J_EC$aOS5L{Uz;^y46b{~wL7onRn_aVyY zIPdf<<_F0N&O)?ViqSIZ`QW@p8G=m$Xhg)lB=kapBEPqAR0Sk%c&-(p`xyto<7DMc zjr}ij$3rN+%p4@Cw*7)F4NH9V8KSLsZ#zb?nEcTxaO!9LQz6kCPN&ZnSTcu@ z^$e@bz2HROzHTy-z@3GPMW??MLlidV+Ri}ffR^AJ6D7SwX2DNX@5qi#7O4C4;nPKt zY+CTjasYeWQ>45A0?s%{8hGD=lGgY_s?TRoTREz%=ZzxbeOvjiyxM9@0k<3aVrYrm zV)G{9nJq(>TZh~L2%*DXOz3ok^IHnK=&)_ z3I;J{Y8-CKFuP%}Ok(PQ6sZPzt)Y3peiD#5FwX3V&$}%CDjbO{;eCH8t0m+5%qXb% zG%*2h6_P=qL?Os(%tck2QOwBWy};sBwz;tMMe6!U(9@~fmB<4h2L;Nk$QGEEZr0-G zi?kSP6l+K25G;s@AWNW(BM4qr16t}bTGM*|CRerjJe%TCWgQT^Z1bq$gxt+M_3Gj$ zOrGC`(P=w^b>#1Q2n41EBJ5mUQOxkUgP7964ei+1`rrU8x0;{&ovM37go~*}&CT=CUGr}Tsx3>ni;>Vv5GOQ2F zBbeCj5D$jBDlKJk;Khm1$_eovMS%$EfKTGiXg-bD_8P%$0Ezt|p{YRpVRm`cE{o%Z zBLp+y=bt9d6`D%BAL1%~Nrz9PXA7!}VfBaZhG6S20p0tY3?geCP>}gfi*9idAEd%k%EzvT_gZrD-~hvjc}P_?USPAd7tMJVu*IigvUy~ze z4rs-HlPp^GIY-m-z^5aO`qg%2Y!=9RFcMjQ76YZUI}D?z2kM?4yqL>x6QBI9f<_5o zf`gq}3kPCBQLfu6L=Gp8T1`@8coVuS(rq)Zqo`K+ zQpIJ2D9Cq0*C^4B`CJng$$5EYqm#U&AVr%0l&DS^%W5|Hh>gA)mTt?0Fk+;)$Yk?c z;$odEr5e1b=6TMt3M9_0sGr^}@^fd5D8x*zl`Tofi-0N~g>_aOsC1M9obxmEcT{!g zD&e#+DIAdpx_4&LXeLl%xB(RFO4wTeA4WD+!V{7!+fl!vlDtDat3dMHu=}~!)=j0Y zKTQfb%Nuvz#MNH*zJM-ls|e&AtI5BEJ;!80D|=or{msU3i!m6#T9ufUKUC=o$uq08 z+z2dWnBLRr`$&T(uEw!A#2>_rgzXNsn2);Nm9uzVde)FnG65q0SUYbO44L9Q#y28-Vrer?s09S3_Qaj3J@FYZ&=kSNspUq!`3OvT zxrf!v9m8gZ)t~V9BkXY<*PIyvg!&4tR8=B+`c@MtrXU)Dz1&pJWJ&rreNWxj>t!AR zw-^=sZ_V4v&ie&Jmj9GI2e$kIm zDelY-P;qqt#a`P)tnf+Hoq<61)K42@VsWtXxYg{lnPX?@js}E8c2n(4$WCm(__uJJ zRKh0IOYAl6JWaE%)xT5`hHQPEEa|no(8~Jn9<31FNLyJ~zb1AQQ(hf!Q*h#dM|u#h z_4k{1TLH=g_I1?i**7I@tlEuwK~mCQvV|5G|D4UzCRT#Z*eAym-(U zB3cm)8SF*9`qJih7RKaN!;?-+Y*`RjoNHLbgRd<*(qe<%Lp31V_X!4w@@;U5Y+Vyk zw*6EZYyjBFw9OBn-^gQBKHOb46WEo!QYI(mH@`w`u6~g=y>CmE#0}DQ>aXWmME{FcYxU84PeDRawuki?b^x&(1QEj=|PuX=NNYY&R9JLBb z0w-D&NKwd(`pb!k&yhX#rg}#NoMpUH8q(%rgLcUj#fIVxdsx^KM{UDuvQfQE`T|$69pkOvL5j!mOIdZfPLjn<4^K z{x2w#9|G`Eg<}Q|wv3Fqz7m`|x;3`IDH!uIk=?{nni)zt2@@sY=`Idji!>5S4IsCp zotU04!n-V96dJEd+Csxn1~9mXxqyc{)^>svROVp$$ZiQ`hDBAH(9j(|AS{fjd-J5s zQoAgSD_lwqzj8V#)u}}=!Oph+L_tVSr%Krr;3x#v04*n4adX~Y3;^fJOJe&0c_kB3t^ctn|yuO z_u1Xol3%{|-_ZAd)?;C-543y3v0ida;R&-uest1f85Dw%0KDYHU`ZL8(~MMnck5L$ zrgZgh&TEA(EepB&)AML`PhbC} zp&IAQqRyFa92rXRzHxb(-&9h?*kH|J_(d8FNDX9H$pBcG?4I;YvNS0RxfoEoYL-fO zRcdiUfEKe(ZWf1H5R!`G4 zstahs_?Jq%L0=aLDJ<~SUxlWD(t?@tH?zE0TX(%wA=`02Z0s75TebYeSqb_s?3D{c zt1a?PmbHl#}fXftazG6Z31k1e5vgS#AuT!~seh;p5PP zHb7TOxVS_FLEEO`F?k2-q19W+${;L6vBfS{W zSTWLVQqa~@hNu`u_siNuiL{&T3!PA^yMFu$FE{=oO(2SEwZ|Ekn4t4CO{?%=gIG86 zPWXrrCa?EAz9QyF*f~%A9eYgCRJ{wy}9)mvISJS3`f zxU6zw30rlovS~M(+Xs^?l+#OH*C=!Y&nR`y#7W)8rT( zJFdnlShTl5XH)v%m41*zUS)D&=~`&6P=6Nk`2x64P3?OuCb~okub&5X7O-i2K^73_ zF2S-dbgQ7+Q+d>Mz`~+@(6Nmy_{ucWk_KjcNfnMbzxI?>p!MbBk#@0KTiE3Xyr(Q) zY|M*gRzSQ|O$wBA5VVHa?nI7PK6Vy8xcB6b7#n9mF~`iLw0OD)OnuqBPl}0Y;r=m> zevDq;zf3Eq~T-%JHK=N_=G&^JOZhS<$k9yfM7l0bwtn*X?r>Nv}8kBuk1t?ulWO>DghS_n~HpFpQIS0SmeOFghH;H}lPIaU(} z)hYxZ^)rL{c!;K@3&GoBU(EV_fEVxt%-2~EkLY;+c`uCitPZ=>L)(JI`wv9D!vP|P zutbv?Tfg&=v{+D+7$avO>>}d@tB(b6Ix#ph@bjX}k3ciW?fRfldnmt424mDz+}d$l zccqxT!|mRLI!T-mDn=49Jf-9)O7|t!o?lZ)y*(Pb+vCrIy$7SDv8I(s($XIGp%#>9 zu=_c(p~k&++HnPO-|(t!z9nNzCXOt%g%$P{xNl_LuF7l&i%5fi238;}XG`()!`+z6 zjXsev)X}+|65az32lNOT*KHVuAoJ^Ii01r!9B#b_sj*CID)NFzfJr&G)-VfBF4H!o zW69wYJKy*bk}zkFB{-@8S3puagW9f79RLy_60%{EI>k6Gv^&=uB)lg5b-leKRf>Qz zNdd~VNgKg^G0=AeD3>>_ihJ!oWbRjHGj(lf#>~%$@{5&b1h%D})h`%}e}o{US6HM8 z3S;ta>2__)qqvt1%3=}qXuAcq04VptyZ%h*xqb&5QVTMro=)jq7FRmg`6HxRTL(OF zeJ5ouA|jP0%J7su{s>$&U_sb0)cII;sY2W0rI1+uq}xchs*EytjOWqtyLCqdD>v#9 z))0W5a!-xFt~{<1UaLL6 z(@NGC_n3ZKMS3L8H-J^@0FM5CI*cbEJ1S=6>tSRJCDd<(-X7S#!IxC1CZa-YJ!%Oy zj`UW&?uCg6tvL}!vJ+6@u;HIG3h$r1t5V}XVVdzHN#ydC(%v^9|Hg*9YJo(XDUM4vHA{3Ft z8F<@*O%?=|+-++TxX|ww_Sa1o^^>G8eZ1iD#T4~xpDx}6wL1wE9f0ly5V-v9jD9(IFmmc5JLRkDdI&20Wte<{AekP7( z#szkGCzE)7umk5IZt}2a@H_jp3THI)0t7Jmr%ywLpB<$4WgjNVuaZ^Zo9RZ?z{(#F z69U5{RdT2vj3qLY9Gp%@;(RAgDZv(#GQPIUqS!IFCDYF6bWR=6U}I32>ND`p{|)&p zkT7@*a+B!9c=ZYy&)m__S@F1;Q=Ysx1tIfiMeEN3D&#f|M)^ZtKo$zJwN{%;lJ2uh zO;ldDB(M)RJ!_pnYSW;J0b#0@E-xQLf-*7PPD6zwf)pqc*ua@k6uLj+7NfqE717}D z*hXN6d}C-i9?)QFqy`|S?zQWmw^#*!nih6L6NZ1Dn2BYlMghY}#d&~gjIJFGtA*|i zL2I@clW>629MZc=(EcdyQi5h@i_D01HfRk7Mg6j@q8~ zV4X0PaUR$r4u?tsR0&XE17uBweRjh5qcO? z6W-&S|HPy~o@TxhqtE7>upv4pIiH6dUEN8m1*3;T2Xz=u;XDBr=+j${NHzQqj6<&# zzYu4`j|K(OS#x1Khd$M9kI}Sy!L~o5LG2O&kIoQ*xtttir>Cr6VoV3vNB81Z_uAyy zea22JJL)LuO%f>X7ygQn`mYy2By5kr?s6xJRRcYtM0BduW(P+>p!O-@Hg# zmQA|{=?(tw$)z~p^rcYq0#pH}{8WRbzvKn}a4w$J6US~0ENmLQP0a@sqcN`L@%O8B zMvy#nSx=BL z-HL?Qajy&a%8X*HUL=-BPUxR^G> zdDVAy(q-507(9?v;jL5)qSJZdj+lhdIlJq*P7RCt|Cpv z4iK>xXR1=Wh}V*;{Cps4QN7k>{)bEgaen$=mnZv?R(bMLCkFFyLKLT8IeMaTR84~< z4gsF^xXwh$rdXHp-mZVlT4dK>0BS0;m@d8P@B!R;VZ)?kUKB8~dEqJ?El}CYmP;Sj;L(|aa>C@5>;8d4OvC7Ij`FrNJ7e7xENLTww zD6OX6izhW;NuY0@4P&woFyxJ`ch2f*azwAh&YcwPxbBu<2ZJQ*R zcTvs*@AV38JOvz6rqdCHw|8yU_BR-d)ZgD(G10Kprlmk~Tu{}NUvU7C>AUq|X_rMR zar6C7O!*(7J$IajIA1MRujG%41IT1>&oi0Qignz3%E1Nrj*Sl0t8$)zE%SlzU;`38 zF(#@FOZ~#eHoKou;b!Wh7;8TcY5Uzf}osE71~Bc@BRk^T;cZ$U5HrSkFt#eA9f^ax0(6ZML7Xrkd)}nHsnw0sv4j z`EX-pf0c;e*%?lpRVHN$r$jon92A4y6b&+fvO-+#ab&G3o}&n7cH)r$K%5@JkH_E2 zVg|E=;xhb8EL+s~0a0*m?!QV{J>K^eYfv59AmI2Fw3q*S=-~T&YT%;x%qz#Gv>YXUsT&fjLqa0VxN)w(h9DWj?IlS?@3&6K=PL%%` z!YYI9*+?n5S431rBt@R=h2@{*U3?m1{&ky46oK0%W*`>4C>mE}`0!ujhvW{k#R9%h zj}MS*a5U{aiPizo6u8@g$!_5e(`u%_(%T=En-(d)k@Y|(jtZY;jss#0;2SV9LX%6i z{nh0a<&RnRn^36m?Gl4S@Z{U%Kf3Tw|J7z z%sX7^G(dB$Zew-$R|COMa~?)=^<3bP!g<4FF(pvoCR(AW3^aUSk7J3rJK!$i``~=a z`4?PWt?Ke#H=#x~z4%ukt-jfpoIzt=LBU`u-AAyq0w(Lo(muO0);z+F+9JJ?;JOFE zvx4u4sXH*`GpmdEM%SwjTz1+VNn&isbrGLm$K6sWUUaFTxJ_^|0@L!aL zi#VIyBMQ(#&#*JMj+%?nOM=Y3r$7zn0Kj9{SEbqc^^jp2xiTKxMU%yjih8$Wi9RjI zgIYii>jIv6*v4SzHvrGHesY`{#g5l%vdAVJTA z5F)LyV}&dCqwh~(N%#A>Mf$mSh?yFJ<;VuxLEXC~UObk46nVF|^&{w24tsU;sM;^B zK^d{R*tUxRb+nF7N|Na8{5O#KUb$bd@t^18<{OhG2|wYyoXI&wu(Jn(c4%9~^+}Ys zUVEd>kq5tif5HBQcvr=AL>LCT)LUW1hW&M$dPu)54bPV4fGRoZo7KgBtBX4d=Iu&>Cudh<~IpMw$+^# z$q517#{F}D5}=cw7073s8wf{YZxL1{yOmXUKimEkb+$?B?OOM+Wt&^zT2ZNrm3Lgg zh!!S7#8E42r(4TkMsI8&F3=$`PZr}6tpN>hc8wIe9*q|x;T&M#eIxRGDo_iV01lp? zsl==GIaK0zi*RSadtk1Yhe5WxB>E7^70G)U!By{TNu8hjaD4!Z_I(yW5?*bQgX4nb zbXKGNQE+do3Qp+##`9M1dPgV*6fBo}1YaqtbE&$pMb z0s>ue2SC0Dx=An*bN&Y286D3%s<-vSvB@dopi=FKz@}Ccw=_x&JOAys z`y}pi`4SJ}?dEa)-XSlP^AJEmaKuD>fpM)2TzlO0hsx>rVs$o5&ol>a%D&CHO_I%! z)ar~AqP$kP3~sX^eHsywPIH%nu(6y3GcN4|5 zz5*GDnB*DBSN1mba$f$>c1FsDc@kL3Y?Ds29vgtULP-<@cK(RB`>yx5CPQvtUMrXx zECeKZJ~;-!i!f4W#ORQ?385XYhF)24Pe-dr{JZ|yGI0oZBp#}0K z{<~lpQtMM(jsKYg)dKuo2_U(-i(5nxBu2+_EjOa}SEH>;*B|3^BIp&yFm;0{t#G-^?g$o>nrnaxZ~$6iwEcNoFHZy%s_ekXG&W3MT}r0BX5}=n z=VGkgho6Rrs8@o%C>B%cpcXas@&p*{Q`7Drb>WUHf3!qHERFJ~G9wgGfouwb$mVk3xp%Q>tu zhKlL7URF@8X#LasnzS1_%lBDRk@3(@3092up;{ckegfv&u7~p;MJ{sg*%TXl;a6^2 zl_e1NwmyeapR-9C;qGC>V5k*A({*Dq<=d~q9uk*e7nlYu8hIt@)8JHAIv5gEnb6P~ zaa&?en5^u}PkuAgU`1P+5_^r3P#gW?z=MD1C%6{;ouzy0CAM zQMO{8Xp--z?R?8!`Oj{$G{Nnr6$T?CJn1?auoU1!EN?w(Tpg6Vz85rcB_>rZ=Jk*C zwn4Mm#|Um8K#;}sByn%#6DJM+C_P#J)d*lW$2H}!hIB3QY91kxG}trEN2FgxOCPz$ z35FeS@YEq5CarB4x0_4f8Q$ug`GsB5_s&8RgMGOkTVd0J;z4mLM@dNO57YX-!Wnh| z>Mtc(e*6X@zU}9>L-?9Oh0FZmt9|!yJj(f(GYvsEQaCbpd6ge`dk#VHJ@LX+a6&QY z_b=L*=7fD9OY`Wv?*YYd*5?I9h0@53o0xUt!9S-&NsR3l76Ad1Q_>xv)Y(b+KD#-i z`xW%injLNgHUw@%mtxs4GWV9E1Jd6f8i4(Wr@$ZFoXHrO_8KD+S=hR5LHB}li_TQ& zx;I{k9TV~Ho7K%pagxu5*ib&diA{Wo)DjWiZe#3(`*1fr!ff`JfcpSV+NFRLYyAA+nLpT^%Qk(nU8IoB@~~S!(b#5 zd%ITWvb>17_~z{@)|lnHj7f&^CUGfzdz!e(uO{(N31O>7dl6wL%Zk<|#DJ%m;)W(9 zNqkU~I%#twk3Mp2)a%FN@aPqIZrUHT-2a@x)~-H}KkpAhwYZEJfLRS?1;q{*Fql?5 zqT`e#X&caMo)y-qlxaffb69VIcS9^|vS`IoR7ISm!l!U7`4{YAEVcrN)!zP43x&#& zLZBv1lGcjB4*+DPa2|zi`J)CNal@g>P4t27A;)3FSR!)msu^N`T9!<2;5qWXf{aUI z;47et1&e`PFg6GLzfN1c3mrKawYC9)F97DV1#PcRz6hU+#8Zq6xAMGl_7L(&fD3~K z14vcSgPNnAgV4fpSn>NR;4NCUE1byL8_+Bpm=lP;1S~I~HMSIZ()n}1jYc@vg+V@w z(;}Xlf`>nWH+0*raDC$FQkpDYqr(Cw)tY9xOl{Zs{YE9YVbOev`D2I(sKVzIAqoen zU;O=@SiK3&vI3;e|DtoQ>3QQK9gG26njdot*~<@bE7ZBAdomQEInSfZ2t*nr6&hW} zWb2NSKL7siAM`56zTK!qgoc&VO42QnG<8b&AQ&d4Hf(b`*|o(rwk;PYBmw+6SpDzX z@$Ug#VAFbXZz<^OK?=jx%;n8GH|b0T)`1R;RE8d(7f4~y4baU*NIMje!vTLSAcVP^ zUU&zmLIW_*PO`E}8MjPVM&+41mi;Px&^kX7_C%nY?#f_{-=i0)k2eSwhbU zU}z1QTLX8$P+5e6b|!IjtT=t|Fy>gGW)JDuwccIo3@aSpXfYD5PTREGn*PTtz0jA?p#H&!Ah?Ylodd$UwI+hMPSe8!3J?3BlrMpL7Fb4bp zC;&6x^vl5#2hqV~d$qt&gXMaVEmNupyzW8NzARl-nqOxO`dolH zfhJ{h=9s_B5PzY{@Da4AoEZ3Cc#{SzFx5&ZjUv|@P@m2V`jeYb!EwjydItfs1?X>5 zHs~?>U5OYBcn||{ACqY+XPZ{7E2QS*xq*Os#@Q4=6EVaX1s__Q7BVTXSW(lH8bHn-^1gsy+By?1!_qihO7vL8CZM4Xkz0KObwn*D2J< z8}I^5vDaLNvcR!TgbpD4E4RtKn*Gy=1Pm_G2fV=l>H@BBAVQhQ@-rQ)jEbHAEvSR{ zro*<7+X+N|5|8J_>btlxs18;xETqACz3@Ba@4>KwUmeC{A&WT#Gy@~!k~dU266Z?AJ3=3qP_5c=EdJWhtv0Gvw4>edy1JFBf>F} z;2qv_MMWEC4Su@niShm1d}BTeafa_J+#&Hvj7b$0Mrr{Vj9FkV75^>`?iV#Zi`a$J z$9>8e{#?4&bwru9#cRQR_{%i>C1@Dc_8W{2ZsbazR+60&a-7*BWw11;_qJh+P(M); z09zOLE+yS+Rwlhge1f*Cf%E{j-{laJX=1V;^z%DCc6>Qi!2Glr@NIUlQ<7r|LlR_~ zynvC%Y?WDZDs)%g@Z2K}J{1NzMBWQZn)3tAP2gkCmmKyqs%Zh+IWAzHh2iGew=?es z@qyu>E;bi45h0$TxEbLd>pAJn8}-c-UdMOJUHqW#^CY-@PSVeyLgTRjSfCE;n{#FR`0st%%_Pz z)=i*c3K9^KwzzC=d$0ANZJSfl!4*KrSXu%DMo_T?jle0=(2;e&8+s59XW-Z92{233fhL!SZd6 z_@%#lVw%0vYHp_Ik}=iH0cIzI3V#Hkrj0ocv_t_UmU@~V6CpHtGLC+NPM zKh#hEQ|dQ}fML*BxD8ha1UyYjvftMU%g6O{McTck|8UWKWELSJh*O zHvuIp-<$DTbq31cXX_10U7P1E5%c+H%49*{RkZk#RioK4Uu4z47Uv3B&XlRFa|snq z-5LfDr9gk%^ss*VIp=-@IfxUMH#9V~zbev1TF?LfqV$h_6%m2Y8b%9&V#(xA4inh^ zvGVz`zh`RjhfoosS&yZzvT~WT_Ouj&0WpN2kqD-E{Jj>Q z>%vv2jKAHfo_=oaht3sUjHsWXs`XA8x1C;zMu^&6ZY&G~Gs)vQglm~EWXxSX6593m zCqCxNo>*$gY0oIq9Dm@L%doQ6kobq!^#5AA)}SV?D7<+HK~hMWmgs;F%H#)%!VD?} zDby%sfGNsI7`!jAL=(Z`g6cH1QaAz>V>RAt-(6U1>E@yVqHI zS@BYB%-0vy#0Zjg$+AT%(ykBf-Bg55Lc{lHQQWCF`bzwKtOOa)v~$v@$h7I%lu0Lt zZRDEgVfJF%7_0{;7vOAPdTir}ea?xdugWhF8UTXdtTvjQXuVar@`mqQAbbCrXjDsQ z6bG+#O;kc3Di8Ajg*t5rZ6d?twrqBk)VCz6b{HJ6{!Jn;i>m6eeMCQ{b&Al0u8~>e zFzi=u0@=R}$tfWsDEF7O?+48wWghk1?M`(R*Z^ZFBI06g-y zO{^I7kt-ViQ4o;ctD}~;BJE-$b2pHNUiFE05ZO>>amZ99uou|qs_b{7J)X-?xsR8E zRzpwwk-}WEUQQQYz8pmu82(aV)RDrYQ)QA3WdN8A5V!siqk=-kEhlPzh0}m4IGrb> zgAbFQR(ImDAZe)YvJ*=WeyCZ3?ISo^a24K53Kty6&){1kfnWWKRAkX3K6x*5ZyX0Z zgo>MpoSI`@D$H(?8kw-?6GOT?GST?4sH(&2JwWy{d}i#X6fb@-n`s>6row3ai#*H~ zWV7#Cn1}D?pW$*+_|?=`o3*1lycDdXktcH(cIE7h)=4yPLN85k|6*T3&R-dk%qZRW z14P+E9j+m<*BeFFp8X#ifadwPaVo1DW03idjGL~q-veZYw^EX}3efAihL8k-_#puO z6xXomeNYu}A$*po%HDonHl6XjzIv!b2$sv&Uf{PW)HOd*e9J=?aI9|{OUchek;1wa zj`Z39arS45CP!kKL1xu_iZznT8}aT$aAg%e}VI2>DwEa7iMZt z20FfO#Mj2-_6Q!w+b49^HJRi-&<1{$sEoz5ygaPmJ!mPS+0&LDamqG~mveVcgJpef zK38~lcQtQ8Gnpz72om$#JFYBXRISA&0xUbOeLogb=60#Ow5Y-kHPMlAXEbbK(SJ++ BPEP;; literal 0 HcmV?d00001 diff --git a/workspaces/mcp-inspector/mcp-inspector-extension/package.json b/workspaces/mcp-inspector/mcp-inspector-extension/package.json new file mode 100644 index 00000000000..2e7ea66d54e --- /dev/null +++ b/workspaces/mcp-inspector/mcp-inspector-extension/package.json @@ -0,0 +1,91 @@ +{ + "name": "mcp-inspector", + "displayName": "MCP Inspector", + "description": "VSCode extension for inspecting and debugging Model Context Protocol (MCP) connections", + "version": "0.0.1", + "private": true, + "publisher": "wso2", + "author": { + "name": "WSO2", + "url": "https://wso2.com" + }, + "license": "Apache-2.0", + "repository": { + "type": "git", + "url": "https://github.com/wso2/mcp-inspector-extension" + }, + "bugs": { + "url": "https://github.com/wso2/mcp-inspector-extension/issues" + }, + "keywords": [ + "mcp", + "model-context-protocol", + "inspector", + "debugging", + "developer-tools" + ], + "engines": { + "vscode": "^1.104.0", + "node": ">=18.0.0" + }, + "categories": [ + "Debuggers", + "Other" + ], + "icon": "icon.png", + "activationEvents": [], + "main": "./out/extension", + "contributes": { + "commands": [ + { + "command": "mcpInspector.openInspector", + "title": "Open MCP Inspector", + "icon": { + "light": "./resources/icon-dark.svg", + "dark": "./resources/icon-light.svg" + } + }, + { + "command": "mcpInspector.openInspectorWithUrl", + "title": "Open MCP Inspector with URL" + } + ] + }, + "scripts": { + "postinstall": "node scripts/inject-theme.js", + "vscode:prepublish": "pnpm run compile", + "compile": "webpack --mode production --stats-error-details", + "watch": "webpack --mode none --watch", + "pretest": "pnpm run compile && pnpm run lint", + "lint": "eslint src", + "test": "node ./out/test/runTest.js", + "build": "pnpm run compile && pnpm run lint && pnpm run postbuild", + "package": "vsce package --no-dependencies", + "rebuild": "pnpm run clean && pnpm run compile && pnpm run postbuild", + "postbuild": "pnpm run package && pnpm run copyVSIX", + "copyVSIX": "copyfiles *.vsix ./vsix", + "copyVSIXToRoot": "copyfiles -f ./vsix/* ../../..", + "clean": "rimraf dist out *.vsix" + }, + "devDependencies": { + "@vscode/vsce": "^3.4.0", + "@types/vscode": "^1.84.0", + "@types/mocha": "^10.0.3", + "@types/node": "22.15.18", + "@typescript-eslint/eslint-plugin": "^6.21.0", + "@typescript-eslint/parser": "^8.32.1", + "@vscode/test-electron": "^2.5.2", + "eslint": "^8.57.1", + "mocha": "^11.2.2", + "typescript": "5.8.3", + "copyfiles": "^2.4.1", + "copy-webpack-plugin": "^13.0.0", + "ts-loader": "^9.5.2", + "webpack": "^5.99.8", + "webpack-cli": "^6.0.1" + }, + "dependencies": { + "@modelcontextprotocol/inspector": "^0.17.2" + }, + "packageManager": "pnpm@9.0.0" +} diff --git a/workspaces/mcp-inspector/mcp-inspector-extension/resources/icon-dark.svg b/workspaces/mcp-inspector/mcp-inspector-extension/resources/icon-dark.svg new file mode 100644 index 00000000000..e2901e0e3f9 --- /dev/null +++ b/workspaces/mcp-inspector/mcp-inspector-extension/resources/icon-dark.svg @@ -0,0 +1 @@ +ModelContextProtocol diff --git a/workspaces/mcp-inspector/mcp-inspector-extension/resources/icon-light.svg b/workspaces/mcp-inspector/mcp-inspector-extension/resources/icon-light.svg new file mode 100644 index 00000000000..d5c1bb5d609 --- /dev/null +++ b/workspaces/mcp-inspector/mcp-inspector-extension/resources/icon-light.svg @@ -0,0 +1 @@ +ModelContextProtocol diff --git a/workspaces/mcp-inspector/mcp-inspector-extension/scripts/inject-theme.js b/workspaces/mcp-inspector/mcp-inspector-extension/scripts/inject-theme.js new file mode 100755 index 00000000000..c67e75a4cbd --- /dev/null +++ b/workspaces/mcp-inspector/mcp-inspector-extension/scripts/inject-theme.js @@ -0,0 +1,190 @@ +#!/usr/bin/env node + +/** + * Injects custom CSS theme into the MCP Inspector client's index.html + * This modifies the npm package directly so the theme is applied when served + */ + +const fs = require('fs'); +const path = require('path'); + +// Target the actual npm package location that gets served +const INDEX_HTML_PATH = path.join( + __dirname, + '..', + 'node_modules', + '@modelcontextprotocol', + 'inspector', + 'client', + 'dist', + 'index.html' +); + +// Placeholder CSS - will be replaced by dynamic theme injection at runtime +const CUSTOM_CSS = ` + `; + +function injectTheme() { + console.log('🎨 Injecting custom CSS theme into MCP Inspector npm package...'); + + // Check if index.html exists + if (!fs.existsSync(INDEX_HTML_PATH)) { + console.error(` ❌ Error: index.html not found at ${INDEX_HTML_PATH}`); + console.error(' 💡 Try running: pnpm install'); + process.exit(1); + } + + // Read index.html + let html = fs.readFileSync(INDEX_HTML_PATH, 'utf8'); + + // Check if theme is already injected (avoid duplicate injection) + if (html.includes('Dynamic Theme Injection Placeholder')) { + console.log(' ℹ️ Theme already injected, skipping...'); + return; + } + + // Inject custom CSS before tag + html = html.replace('', `${CUSTOM_CSS}\n `); + + // Write back to file + fs.writeFileSync(INDEX_HTML_PATH, html, 'utf8'); + + console.log(' ✅ Custom CSS theme injected successfully!'); + console.log(` 📍 Location: ${INDEX_HTML_PATH}`); + console.log(' 💡 Theme will be applied when MCP Inspector client server starts'); +} + +// Run the injection +try { + injectTheme(); +} catch (error) { + console.error(' ❌ Failed to inject theme:', error.message); + process.exit(1); +} diff --git a/workspaces/mcp-inspector/mcp-inspector-extension/src/MCPInspectorManager.ts b/workspaces/mcp-inspector/mcp-inspector-extension/src/MCPInspectorManager.ts new file mode 100644 index 00000000000..b0f66466955 --- /dev/null +++ b/workspaces/mcp-inspector/mcp-inspector-extension/src/MCPInspectorManager.ts @@ -0,0 +1,256 @@ +import * as vscode from 'vscode'; +import * as childProcess from 'child_process'; +import { randomBytes } from 'crypto'; +import { Logger } from './utils/logger'; +import { Ports, ProcessConfig, ErrorMessages } from './constants'; +import type { ProcessSpawnConfig } from './types'; + +/** + * Manages the MCP Inspector server and client processes + */ +export class MCPInspectorManager { + private authToken: string | null = null; + private isRunning = false; + private serverProcess: childProcess.ChildProcess | null = null; + private clientProcess: childProcess.ChildProcess | null = null; + + constructor(private readonly extensionUri: vscode.Uri) {} + + /** + * Get the path to the bundled MCP Inspector files + * Uses webpack-bundled files from out/inspector/ + */ + private getInspectorPath(): vscode.Uri { + return vscode.Uri.joinPath(this.extensionUri, 'out', 'inspector'); + } + + /** + * Generate a secure authentication token for the MCP proxy server + */ + private generateAuthToken(): string { + return randomBytes(32).toString('hex'); + } + + /** + * Get the current auth token, generating one if it doesn't exist + */ + public getAuthToken(): string { + if (!this.authToken) { + this.authToken = this.generateAuthToken(); + } + return this.authToken; + } + + /** + * Check if the inspector is currently running + */ + public isInspectorRunning(): boolean { + return this.isRunning; + } + + /** + * Generic method to spawn and monitor a child process + * Follows DRY principle by eliminating duplicated spawn logic + */ + private async spawnProcess( + config: ProcessSpawnConfig, + processRef: 'serverProcess' | 'clientProcess' + ): Promise { + return new Promise((resolve, reject) => { + // Spawn the process + const process = childProcess.spawn('node', [config.scriptPath], { + env: config.env, + cwd: config.cwd, + stdio: ['ignore', 'pipe', 'pipe'], + }); + + this[processRef] = process; + let resolved = false; + + // Set timeout for process startup + const timeout = setTimeout(() => { + if (!resolved) { + resolved = true; + process.kill(); + this[processRef] = null; + if (processRef === 'serverProcess') { + this.isRunning = false; + } + reject(new Error(config.timeoutError)); + } + }, ProcessConfig.STARTUP_TIMEOUT_MS); + + // Handle stdout - look for ready message + process.stdout?.on('data', (data: Buffer) => { + const output = data.toString().trim(); + + if (!resolved && output.includes(config.readyMessage)) { + resolved = true; + clearTimeout(timeout); + Logger.info(`${config.errorPrefix} started successfully`); + resolve(); + } + }); + + // Handle stderr - detect port conflicts + process.stderr?.on('data', (data: Buffer) => { + const output = data.toString().trim(); + + if (!resolved && output.includes(ProcessConfig.PORT_IN_USE_MESSAGE)) { + resolved = true; + clearTimeout(timeout); + process.kill(); + this[processRef] = null; + if (processRef === 'serverProcess') { + this.isRunning = false; + } + reject(new Error(config.portInUseError( + processRef === 'serverProcess' ? Ports.SERVER : Ports.CLIENT + ))); + } else { + // Log errors for debugging + Logger.error(`[${config.errorPrefix}] ${output}`); + } + }); + + // Handle process exit + process.on('exit', (code) => { + this[processRef] = null; + if (processRef === 'serverProcess') { + this.isRunning = false; + } + if (!resolved) { + resolved = true; + clearTimeout(timeout); + reject(new Error(`${config.errorPrefix} process exited unexpectedly (code: ${code})`)); + } + }); + + // Handle process errors + process.on('error', (error) => { + Logger.error(`${config.errorPrefix} process error`, error); + this[processRef] = null; + if (processRef === 'serverProcess') { + this.isRunning = false; + } + if (!resolved) { + resolved = true; + clearTimeout(timeout); + reject(error); + } + }); + }); + } + + /** + * Spawn the MCP Inspector proxy server process + */ + private async startServerProcess(): Promise { + const inspectorPath = this.getInspectorPath(); + const token = this.getAuthToken(); + + const config: ProcessSpawnConfig = { + scriptPath: vscode.Uri.joinPath(inspectorPath, 'server.js').fsPath, + env: { + ...process.env, + MCP_PROXY_AUTH_TOKEN: token, + SERVER_PORT: Ports.SERVER, + CLIENT_PORT: Ports.CLIENT, + }, + cwd: inspectorPath.fsPath, + readyMessage: ProcessConfig.SERVER_READY_MESSAGE, + errorPrefix: 'Server', + portInUseError: ErrorMessages.SERVER_PORT_IN_USE, + timeoutError: ErrorMessages.SERVER_TIMEOUT, + }; + + return this.spawnProcess(config, 'serverProcess'); + } + + /** + * Spawn the MCP Inspector client HTTP server process + */ + private async startClientProcess(): Promise { + const inspectorPath = this.getInspectorPath(); + const token = this.getAuthToken(); + const inspectorUrl = `http://localhost:${Ports.CLIENT}/?MCP_PROXY_AUTH_TOKEN=${token}`; + + const config: ProcessSpawnConfig = { + scriptPath: vscode.Uri.joinPath(inspectorPath, 'client.js').fsPath, + env: { + ...process.env, + CLIENT_PORT: Ports.CLIENT, + INSPECTOR_URL: inspectorUrl, + MCP_AUTO_OPEN_ENABLED: 'false', + }, + cwd: inspectorPath.fsPath, + readyMessage: ProcessConfig.CLIENT_READY_MESSAGE, + errorPrefix: 'Client', + portInUseError: ErrorMessages.CLIENT_PORT_IN_USE, + timeoutError: ErrorMessages.CLIENT_TIMEOUT, + }; + + return this.spawnProcess(config, 'clientProcess'); + } + + /** + * Start the MCP Inspector (server and client processes) + */ + public async start(): Promise { + try { + Logger.info('Starting MCP Inspector...'); + + // Generate auth token + this.getAuthToken(); + + // Start the server process (waits for ready message) + await this.startServerProcess(); + + // Start the client process (waits for ready message) + await this.startClientProcess(); + + this.isRunning = true; + Logger.info('MCP Inspector started successfully'); + } catch (error) { + Logger.error('Failed to start MCP Inspector', error); + this.isRunning = false; + throw error; + } + } + + /** + * Stop the MCP Inspector and clean up resources + */ + public async stop(): Promise { + try { + // Kill client process + if (this.clientProcess) { + this.clientProcess.kill('SIGTERM'); + this.clientProcess = null; + } + + // Kill server process + if (this.serverProcess) { + this.serverProcess.kill('SIGTERM'); + this.serverProcess = null; + } + + this.isRunning = false; + this.authToken = null; + + Logger.info('MCP Inspector stopped'); + } catch (error) { + Logger.error('Failed to stop MCP Inspector', error); + throw error; + } + } + + /** + * Dispose of resources + */ + public dispose(): void { + this.stop().catch((error) => { + Logger.error('Error during disposal', error); + }); + } +} diff --git a/workspaces/mcp-inspector/mcp-inspector-extension/src/MCPInspectorViewProvider.ts b/workspaces/mcp-inspector/mcp-inspector-extension/src/MCPInspectorViewProvider.ts new file mode 100644 index 00000000000..0b6db6adaf0 --- /dev/null +++ b/workspaces/mcp-inspector/mcp-inspector-extension/src/MCPInspectorViewProvider.ts @@ -0,0 +1,297 @@ +import * as vscode from 'vscode'; +import { Views, WebviewConfig, Ports } from './constants'; +import { Logger } from './utils/logger'; +import type { MCPInspectorManager } from './MCPInspectorManager'; +import type { ServerParams } from './types'; + +/** + * Provides the webview content for the MCP Inspector + */ +export class MCPInspectorViewProvider implements vscode.WebviewViewProvider { + public static readonly viewType = Views.INSPECTOR_VIEW; + + constructor(private readonly _inspectorManager?: MCPInspectorManager) {} + + /** + * Resolves the webview view when it's shown + */ + public resolveWebviewView( + webviewView: vscode.WebviewView, + _context: vscode.WebviewViewResolveContext, + _token: vscode.CancellationToken + ): void { + try { + webviewView.webview.options = { + enableScripts: WebviewConfig.ENABLE_SCRIPTS, + }; + + webviewView.webview.html = this._getHtmlForWebview(webviewView.webview); + } catch (error) { + Logger.error('Failed to resolve webview view', error); + throw error; + } + } + + /** + * Get HTML content for the webview + */ + public getHtmlForWebview(webview: vscode.Webview, serverParams?: ServerParams): string { + return this._getHtmlForWebview(webview, serverParams); + } + + /** + * Get loading HTML while processes are starting + */ + public getLoadingHtml(): string { + return ` + + + + + MCP Inspector - Loading + + + +
+
+
Starting MCP Inspector...
+
This may take a few seconds
+
+ +`; + } + + /** + * Get error HTML when startup fails + */ + public getErrorHtml(errorMessage: string): string { + return ` + + + + + MCP Inspector - Error + + + +
+
⚠️
+
Failed to Start MCP Inspector
+
${errorMessage}
+
Try closing and reopening the panel
+
+ +`; + } + + /** + * Generate HTML for the webview + */ + private _getHtmlForWebview(_webview: vscode.Webview, serverParams?: ServerParams): string { + // Get auth token from inspector manager + const authToken = this._inspectorManager?.getAuthToken() || ''; + + // Build URL with auth token and optional server parameters + const urlParams = new URLSearchParams({ MCP_PROXY_AUTH_TOKEN: authToken }); + if (serverParams?.serverUrl) { + urlParams.set('serverUrl', serverParams.serverUrl); + } + if (serverParams?.serverCommand) { + urlParams.set('serverCommand', serverParams.serverCommand); + } + if (serverParams?.serverArgs) { + urlParams.set('serverArgs', serverParams.serverArgs); + } + if (serverParams?.transport) { + urlParams.set('transport', serverParams.transport); + } + + const inspectorUrl = `http://localhost:${Ports.CLIENT}/?${urlParams.toString()}`; + + // CSP policy that allows iframe to localhost + const csp = [ + `default-src 'none'`, + `frame-src http://localhost:${Ports.CLIENT}`, + `style-src 'unsafe-inline'`, + `script-src 'unsafe-inline'`, + ].join('; '); + + return ` + + + + + + MCP Inspector + + + + + + +`; + } +} diff --git a/workspaces/mcp-inspector/mcp-inspector-extension/src/constants.ts b/workspaces/mcp-inspector/mcp-inspector-extension/src/constants.ts new file mode 100644 index 00000000000..eb30d98708b --- /dev/null +++ b/workspaces/mcp-inspector/mcp-inspector-extension/src/constants.ts @@ -0,0 +1,74 @@ +/** + * Extension constants + */ + +export const EXTENSION_ID = 'mcpInspector'; +export const EXTENSION_NAME = 'MCP Inspector'; + +/** + * Command IDs + */ +export const Commands = { + OPEN_INSPECTOR: `${EXTENSION_ID}.openInspector`, + OPEN_INSPECTOR_WITH_URL: `${EXTENSION_ID}.openInspectorWithUrl`, +} as const; + +/** + * View IDs + */ +export const Views = { + INSPECTOR_VIEW: `${EXTENSION_ID}.inspectorView`, +} as const; + +/** + * Configuration keys + */ +export const Configuration = { + SECTION: EXTENSION_ID, +} as const; + +/** + * Webview configuration + */ +export const WebviewConfig = { + RETAIN_CONTEXT: true, + ENABLE_SCRIPTS: true, +} as const; + +/** + * MCP Inspector port configuration + */ +export const Ports = { + SERVER: '6277', + CLIENT: '6274', +} as const; + +/** + * Process configuration + */ +export const ProcessConfig = { + STARTUP_TIMEOUT_MS: 30000, // 30 seconds + SERVER_READY_MESSAGE: 'Proxy server listening', + CLIENT_READY_MESSAGE: 'MCP Inspector is up and running', + PORT_IN_USE_MESSAGE: 'PORT IS IN USE', +} as const; + +/** + * Error messages + */ +export const ErrorMessages = { + SERVER_TIMEOUT: 'Server process failed to start within 30 seconds. Please check the logs and try again.', + CLIENT_TIMEOUT: 'Client process failed to start within 30 seconds. Please check the logs and try again.', + SERVER_PORT_IN_USE: (port: string) => `Port ${port} is already in use. Please close any other MCP Inspector instances or processes using this port.`, + CLIENT_PORT_IN_USE: (port: string) => `Port ${port} is already in use. Please close any other MCP Inspector instances or processes using this port.`, + ACTIVATION_FAILED: (error: string) => `Failed to activate ${EXTENSION_NAME}: ${error}`, + STARTUP_FAILED: (error: string) => `Failed to start MCP Inspector: ${error}`, + PANEL_OPEN_FAILED: (error: string) => `Failed to open ${EXTENSION_NAME}: ${error}`, +} as const; + +/** + * User-facing messages + */ +export const UserMessages = { + PORT_CONFLICT_DETAILS: `MCP Inspector uses ports ${Ports.CLIENT} (client) and ${Ports.SERVER} (server). Please ensure no other processes are using these ports.`, +} as const; diff --git a/workspaces/mcp-inspector/mcp-inspector-extension/src/extension.ts b/workspaces/mcp-inspector/mcp-inspector-extension/src/extension.ts new file mode 100644 index 00000000000..3d2b01f1b3e --- /dev/null +++ b/workspaces/mcp-inspector/mcp-inspector-extension/src/extension.ts @@ -0,0 +1,190 @@ +import * as vscode from 'vscode'; +import { MCPInspectorViewProvider } from './MCPInspectorViewProvider'; +import { MCPInspectorManager } from './MCPInspectorManager'; +import { Commands, WebviewConfig, EXTENSION_NAME, ErrorMessages, UserMessages } from './constants'; +import { Logger } from './utils/logger'; +import type { ServerParams } from './types'; + +/** + * Singleton reference to the current webview panel + */ +let currentPanel: vscode.WebviewPanel | undefined; + +/** + * Singleton reference to the MCP Inspector manager + */ +let inspectorManager: MCPInspectorManager | undefined; + +/** + * Extension activation function + * Called when the extension is first activated + */ +export function activate(context: vscode.ExtensionContext): void { + try { + Logger.info(`${EXTENSION_NAME} activating...`); + + // Create MCP Inspector manager (starts on-demand when panel opens) + inspectorManager = new MCPInspectorManager(context.extensionUri); + context.subscriptions.push({ + dispose: () => inspectorManager?.dispose(), + }); + + // Register the webview provider for view container support + const provider = new MCPInspectorViewProvider(inspectorManager); + context.subscriptions.push( + vscode.window.registerWebviewViewProvider( + MCPInspectorViewProvider.viewType, + provider, + { + webviewOptions: { + retainContextWhenHidden: WebviewConfig.RETAIN_CONTEXT, + }, + } + ) + ); + + // Register command to open the inspector as a webview panel + context.subscriptions.push( + vscode.commands.registerCommand(Commands.OPEN_INSPECTOR, () => { + openInspectorPanel(context, provider); + }) + ); + + // Register command to open inspector with pre-populated server URL/command + context.subscriptions.push( + vscode.commands.registerCommand( + Commands.OPEN_INSPECTOR_WITH_URL, + (params: ServerParams) => { + openInspectorPanel(context, provider, params); + } + ) + ); + + Logger.info(`${EXTENSION_NAME} activated successfully`); + } catch (error) { + const errorMessage = error instanceof Error ? error.message : 'Unknown error'; + Logger.error('Failed to activate extension', error); + vscode.window.showErrorMessage(ErrorMessages.ACTIVATION_FAILED(errorMessage)); + } +} + +/** + * Extension deactivation function + * Called when the extension is deactivated + */ +export function deactivate(): void { + try { + if (currentPanel) { + currentPanel.dispose(); + currentPanel = undefined; + } + + Logger.info(`${EXTENSION_NAME} deactivated`); + } catch (error) { + console.error('Error during deactivation:', error); + } +} + +/** + * Open or reveal the inspector webview panel + */ +function openInspectorPanel( + context: vscode.ExtensionContext, + provider: MCPInspectorViewProvider, + serverParams?: ServerParams +): void { + try { + const column = vscode.ViewColumn.One; + + if (currentPanel) { + // Panel already exists, just reveal it + currentPanel.reveal(column); + return; + } + + // Create new webview panel first with loading state + currentPanel = vscode.window.createWebviewPanel( + 'mcpInspector', + EXTENSION_NAME, + column, + { + enableScripts: WebviewConfig.ENABLE_SCRIPTS, + retainContextWhenHidden: WebviewConfig.RETAIN_CONTEXT, + } + ); + + // Set the panel icon + currentPanel.iconPath = { + light: vscode.Uri.joinPath(context.extensionUri, 'resources', 'icon-dark.svg'), + dark: vscode.Uri.joinPath(context.extensionUri, 'resources', 'icon-light.svg'), + }; + + // Set initial loading content + currentPanel.webview.html = provider.getLoadingHtml(); + + // Start the MCP Inspector processes if not already running + if (inspectorManager && !inspectorManager.isInspectorRunning()) { + inspectorManager.start().then( + () => { + // Update webview with inspector iframe once processes are ready + if (currentPanel) { + currentPanel.webview.html = provider.getHtmlForWebview(currentPanel.webview, serverParams); + } + }, + (error) => { + Logger.error('Failed to start MCP Inspector processes', error); + const errorMessage = error instanceof Error ? error.message : 'Unknown error'; + + // Check if it's a port conflict error + if (errorMessage.includes('already in use')) { + vscode.window.showErrorMessage( + errorMessage, + 'Show Details', + 'Retry' + ).then((selection) => { + if (selection === 'Show Details') { + vscode.window.showInformationMessage(UserMessages.PORT_CONFLICT_DETAILS, 'OK'); + } else if (selection === 'Retry') { + // Close the current panel and reopen to retry + if (currentPanel) { + currentPanel.dispose(); + } + vscode.commands.executeCommand(Commands.OPEN_INSPECTOR); + } + }); + } else { + vscode.window.showErrorMessage(ErrorMessages.STARTUP_FAILED(errorMessage)); + } + + // Show error in webview + if (currentPanel) { + currentPanel.webview.html = provider.getErrorHtml(errorMessage); + } + } + ); + } else { + // Processes already running, show inspector immediately + currentPanel.webview.html = provider.getHtmlForWebview(currentPanel.webview, serverParams); + } + + // Handle panel disposal + currentPanel.onDidDispose( + () => { + currentPanel = undefined; + + // Stop the MCP Inspector processes when panel is closed + if (inspectorManager && inspectorManager.isInspectorRunning()) { + inspectorManager.stop().catch((error) => { + Logger.error('Failed to stop MCP Inspector', error); + }); + } + }, + null, + context.subscriptions + ); + } catch (error) { + const errorMessage = error instanceof Error ? error.message : 'Unknown error'; + Logger.error('Failed to open inspector panel', error); + vscode.window.showErrorMessage(ErrorMessages.PANEL_OPEN_FAILED(errorMessage)); + } +} diff --git a/workspaces/mcp-inspector/mcp-inspector-extension/src/test/extension.test.ts b/workspaces/mcp-inspector/mcp-inspector-extension/src/test/extension.test.ts new file mode 100644 index 00000000000..4ca0ab41982 --- /dev/null +++ b/workspaces/mcp-inspector/mcp-inspector-extension/src/test/extension.test.ts @@ -0,0 +1,15 @@ +import * as assert from 'assert'; + +// You can import and use all API from the 'vscode' module +// as well as import your extension to test it +import * as vscode from 'vscode'; +// import * as myExtension from '../../extension'; + +suite('Extension Test Suite', () => { + vscode.window.showInformationMessage('Start all tests.'); + + test('Sample test', () => { + assert.strictEqual(-1, [1, 2, 3].indexOf(5)); + assert.strictEqual(-1, [1, 2, 3].indexOf(0)); + }); +}); diff --git a/workspaces/mcp-inspector/mcp-inspector-extension/src/types.ts b/workspaces/mcp-inspector/mcp-inspector-extension/src/types.ts new file mode 100644 index 00000000000..edacf6c61ad --- /dev/null +++ b/workspaces/mcp-inspector/mcp-inspector-extension/src/types.ts @@ -0,0 +1,35 @@ +/** + * Shared type definitions for the extension + */ + +/** + * MCP transport types supported by the inspector + */ +export type MCPTransport = 'stdio' | 'sse' | 'streamable-http'; + +/** + * Parameters for opening the inspector with pre-populated server configuration + */ +export interface ServerParams { + /** Server URL for SSE/HTTP transport */ + serverUrl?: string; + /** Command to execute for stdio transport */ + serverCommand?: string; + /** Arguments for the server command */ + serverArgs?: string; + /** Transport protocol to use */ + transport?: MCPTransport; +} + +/** + * Process spawn configuration + */ +export interface ProcessSpawnConfig { + scriptPath: string; + env: NodeJS.ProcessEnv; + cwd: string; + readyMessage: string; + errorPrefix: string; + portInUseError: (port: string) => string; + timeoutError: string; +} diff --git a/workspaces/mcp-inspector/mcp-inspector-extension/src/utils/logger.ts b/workspaces/mcp-inspector/mcp-inspector-extension/src/utils/logger.ts new file mode 100644 index 00000000000..8f8726d4bf8 --- /dev/null +++ b/workspaces/mcp-inspector/mcp-inspector-extension/src/utils/logger.ts @@ -0,0 +1,27 @@ +import { EXTENSION_NAME } from '../constants'; + +/** + * Logger utility for consistent logging throughout the extension + */ +export class Logger { + /** + * Log an info message + */ + public static info(message: string, ...args: unknown[]): void { + console.log(`[${EXTENSION_NAME}] [INFO]`, message, ...args); + } + + /** + * Log a warning message + */ + public static warn(message: string, ...args: unknown[]): void { + console.warn(`[${EXTENSION_NAME}] [WARN]`, message, ...args); + } + + /** + * Log an error message + */ + public static error(message: string, error?: Error | unknown, ...args: unknown[]): void { + console.error(`[${EXTENSION_NAME}] [ERROR]`, message, error, ...args); + } +} diff --git a/workspaces/mcp-inspector/mcp-inspector-extension/tsconfig.json b/workspaces/mcp-inspector/mcp-inspector-extension/tsconfig.json new file mode 100644 index 00000000000..63b9fc053ff --- /dev/null +++ b/workspaces/mcp-inspector/mcp-inspector-extension/tsconfig.json @@ -0,0 +1,42 @@ +{ + "compilerOptions": { + "module": "Node16", + "target": "ES2022", + "lib": ["ES2022"], + "sourceMap": true, + "rootDir": "src", + "outDir": "out", + + /* Strict Type-Checking Options */ + "strict": true, + "noImplicitAny": true, + "strictNullChecks": true, + "strictFunctionTypes": true, + "strictBindCallApply": true, + "strictPropertyInitialization": true, + "noImplicitThis": true, + "alwaysStrict": true, + + /* Additional Checks */ + "noUnusedLocals": true, + "noUnusedParameters": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "noUncheckedIndexedAccess": true, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + + /* Module Resolution Options */ + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "resolveJsonModule": true, + "forceConsistentCasingInFileNames": true, + + /* Advanced Options */ + "skipLibCheck": true, + "declaration": true, + "declarationMap": true + }, + "include": ["src/**/*"], + "exclude": ["node_modules", "out", "dist"] +} diff --git a/workspaces/mcp-inspector/mcp-inspector-extension/vsc-extension-quickstart.md b/workspaces/mcp-inspector/mcp-inspector-extension/vsc-extension-quickstart.md new file mode 100644 index 00000000000..26c66f47483 --- /dev/null +++ b/workspaces/mcp-inspector/mcp-inspector-extension/vsc-extension-quickstart.md @@ -0,0 +1,125 @@ +# MCP Inspector + +A Visual Studio Code extension for inspecting and debugging Model Context Protocol (MCP) connections. + +## Overview + +The MCP Inspector provides developers with tools to inspect, debug, and monitor Model Context Protocol connections directly within Visual Studio Code. This extension integrates the [MCP Inspector](https://github.com/modelcontextprotocol/inspector) into VSCode for a seamless development experience. + +## Prerequisites + +Before using this extension, ensure you have the following installed: + +- **Node.js** – version **18.x** or later + [Download Node.js](https://nodejs.org) + +- **pnpm** – version **9.0** or later + Install with: + ```bash + npm install -g pnpm + ``` + +- **Visual Studio Code** – version **1.104.0** or later + [Download VSCode](https://code.visualstudio.com) + +## Installation + +### From VSIX + +1. Download the latest `.vsix` file from the [releases page](https://github.com/wso2/mcp-inspector-extension/releases) +2. In VSCode, go to **Extensions** → **Views and More Actions (...)** → **Install from VSIX** +3. Select the downloaded `.vsix` file + +### From Source + +1. **Clone the repository**: + ```bash + git clone https://github.com/wso2/mcp-inspector-extension.git + cd mcp-inspector-extension + ``` + +2. **Install dependencies**: + ```bash + pnpm install + ``` + +3. **Build the extension**: + ```bash + pnpm build + ``` + +4. **Package the extension**: + ```bash + pnpm package + ``` + +5. **Install locally**: + ```bash + pnpm run install:local + ``` + +## Usage + +### Opening the Inspector + +- Use the command palette (`Cmd+Shift+P` / `Ctrl+Shift+P`) and search for **"Open MCP Inspector"** +- Or use the command **"Open MCP Inspector with URL"** to pre-populate server configuration + +### Features + +- **Real-time MCP connection monitoring** +- **Request/response inspection** +- **Debug MCP servers and clients** +- **Integrated within VSCode** for a seamless workflow + +## Development + +### Available Commands + +- `pnpm build` – Build the extension for production +- `pnpm dev` – Watch mode for development +- `pnpm lint` – Lint TypeScript files +- `pnpm lint:fix` – Auto-fix linting issues +- `pnpm test` – Run tests +- `pnpm clean` – Remove build artifacts +- `pnpm package` – Create VSIX package +- `pnpm install:local` – Install VSIX locally + +### Development Workflow + +1. **Start watch mode**: + ```bash + pnpm dev + ``` + +2. **Launch the extension**: + - Press `F5` in VSCode + - Or use **Run → Start Debugging** + - The Extension Development Host window will open + +3. **Test your changes** in the new VSCode window + +## Contribution Guidelines + +If you are planning on contributing to the development of the MCP Inspector extension: + +1. Fork the repository before making changes +2. Create a feature branch (`git checkout -b feature/your-feature`) +3. Follow the existing code style and conventions +4. Write tests for new functionality +5. Ensure all tests pass (`pnpm test`) +6. Submit a pull request with a clear description + +Please follow the detailed instructions available at: [https://wso2.github.io](https://wso2.github.io) + +## License + +This project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details. + +By downloading and using this Visual Studio Code extension, you agree to the license terms and [privacy statement](https://wso2.com/privacy-policy). + +This extension uses the MCP Inspector, which is part of the [Model Context Protocol](https://modelcontextprotocol.io/) project. + +--- + +**Developed by WSO2** diff --git a/workspaces/mcp-inspector/mcp-inspector-extension/webpack.config.js b/workspaces/mcp-inspector/mcp-inspector-extension/webpack.config.js new file mode 100644 index 00000000000..94cdcf2b31c --- /dev/null +++ b/workspaces/mcp-inspector/mcp-inspector-extension/webpack.config.js @@ -0,0 +1,106 @@ +//@ts-check + +'use strict'; + +const path = require('path'); +const CopyWebpackPlugin = require('copy-webpack-plugin'); + +//@ts-check +/** @typedef {import('webpack').Configuration} WebpackConfig **/ + +/** @type WebpackConfig */ +const extensionConfig = { + target: 'node', // VS Code extensions run in a Node.js-context 📖 -> https://webpack.js.org/configuration/node/ + mode: 'none', // this leaves the source code as close as possible to the original (when packaging we set this to 'production') + + entry: { + extension: './src/extension.ts' + }, // the entry point of this extension, 📖 -> https://webpack.js.org/configuration/entry-context/ + output: { + // the bundle is stored in the 'out' folder (check package.json), 📖 -> https://webpack.js.org/configuration/output/ + path: path.resolve(__dirname, 'out'), + filename: '[name].js', + libraryTarget: 'commonjs2', + devtoolModuleFilenameTemplate: '../[resource-path]' + }, + externals: { + vscode: 'commonjs vscode' // the vscode-module is created on-the-fly and must be excluded. Add other modules that cannot be webpack'ed, 📖 -> https://webpack.js.org/configuration/externals/ + // modules added here also need to be added in the .vscodeignore file + }, + resolve: { + // support reading TypeScript and JavaScript files, 📖 -> https://github.com/TypeStrong/ts-loader + extensions: ['.ts', '.js'] + }, + module: { + rules: [ + { + test: /\.ts$/, + exclude: /node_modules/, + use: [ + { + loader: 'ts-loader' + } + ] + } + ] + }, + devtool: 'nosources-source-map', + infrastructureLogging: { + level: "log", // enables logging required for problem matchers + }, +}; + +/** @type WebpackConfig */ +const inspectorServerConfig = { + target: 'node', + mode: 'none', + entry: './node_modules/@modelcontextprotocol/inspector/server/build/index.js', + output: { + path: path.resolve(__dirname, 'out', 'inspector'), + filename: 'server.js', + libraryTarget: 'commonjs2' + }, + externals: { + // Native modules that can't be bundled + 'bufferutil': 'commonjs bufferutil', + 'utf-8-validate': 'commonjs utf-8-validate', + }, + resolve: { + extensions: ['.js', '.json'] + }, + devtool: 'nosources-source-map', +}; + +/** @type WebpackConfig */ +const inspectorClientConfig = { + target: 'node', + mode: 'none', + entry: './node_modules/@modelcontextprotocol/inspector/client/bin/client.js', + output: { + path: path.resolve(__dirname, 'out', 'inspector'), + filename: 'client.js', + libraryTarget: 'commonjs2' + }, + externals: { + // Native modules that can't be bundled + 'bufferutil': 'commonjs bufferutil', + 'utf-8-validate': 'commonjs utf-8-validate', + }, + resolve: { + extensions: ['.js', '.json'] + }, + plugins: [ + // Copy the client's static files (HTML, CSS, JS, assets) + new CopyWebpackPlugin({ + patterns: [ + { + from: 'node_modules/@modelcontextprotocol/inspector/client/dist', + to: path.resolve(__dirname, 'out', 'inspector', 'client-dist'), + }, + ], + }), + ], + devtool: 'nosources-source-map', +}; + +module.exports = [ extensionConfig, inspectorServerConfig, inspectorClientConfig ]; \ No newline at end of file From 96860b3150b5cfd87e81e4f9959415c76c08d400 Mon Sep 17 00:00:00 2001 From: Kanushka Gayan Date: Tue, 4 Nov 2025 08:54:19 +0530 Subject: [PATCH 072/491] Downgrade webpack-cli in MCP Inspector Extension --- common/config/rush/pnpm-lock.yaml | 10629 +++++++++------- .../ballerina-extension/package.json | 8 +- .../ballerina-visualizer/package.json | 1 + .../choreo/choreo-extension/package.json | 2 +- .../mcp-inspector-extension/package.json | 2 +- workspaces/mi/mi-extension/package.json | 4 +- 6 files changed, 5747 insertions(+), 4899 deletions(-) diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 243ba002847..db02fb2aa57 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -72,7 +72,7 @@ importers: version: 0.5.16 axios: specifier: ~1.12.0 - version: 1.12.0 + version: 1.12.2 copyfiles: specifier: ^2.4.1 version: 2.4.1 @@ -96,10 +96,10 @@ importers: version: 2.6.13(encoding@0.1.13) node-loader: specifier: ~2.0.0 - version: 2.0.0(webpack@5.101.0) + version: 2.0.0(webpack@5.102.1) portfinder: specifier: ^1.0.32 - version: 1.0.37 + version: 1.0.38 to-json-schema: specifier: 0.2.5 version: 0.2.5 @@ -121,7 +121,7 @@ importers: version: 16.18.126 '@types/vscode': specifier: ^1.81.0 - version: 1.102.0 + version: 1.105.0 '@typescript-eslint/eslint-plugin': specifier: ^6.4.1 version: 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3) @@ -139,16 +139,16 @@ importers: version: 5.0.10 ts-loader: specifier: ^9.4.4 - version: 9.5.2(typescript@5.8.3)(webpack@5.101.0) + version: 9.5.4(typescript@5.8.3)(webpack@5.102.1) typescript: specifier: 5.8.3 version: 5.8.3 webpack: specifier: ^5.94.0 - version: 5.101.0(webpack-cli@5.1.4) + version: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@5.1.4) webpack-cli: specifier: ^5.1.4 - version: 5.1.4(webpack@5.101.0) + version: 5.1.4(webpack@5.102.1) ../../workspaces/api-designer/api-designer-rpc-client: dependencies: @@ -206,10 +206,10 @@ importers: version: 3.3.4(react-hook-form@7.56.4(react@18.2.0)) '@mdxeditor/editor': specifier: ~3.14.0 - version: 3.14.0(@codemirror/language@6.11.2)(@lezer/highlight@1.2.1)(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 3.14.0(@codemirror/language@6.11.3)(@lezer/highlight@1.2.3)(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@tanstack/query-core': specifier: ^4.0.0-beta.1 - version: 4.40.0 + version: 4.41.0 '@tanstack/react-query': specifier: 4.0.10 version: 4.0.10(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -258,10 +258,10 @@ importers: devDependencies: '@babel/plugin-syntax-flow': specifier: ~7.22.5 - version: 7.22.5(@babel/core@7.27.7) + version: 7.22.5(@babel/core@7.28.5) '@babel/preset-typescript': specifier: ~7.22.11 - version: 7.22.15(@babel/core@7.27.7) + version: 7.22.15(@babel/core@7.28.5) '@storybook/addon-actions': specifier: ~7.4.0 version: 7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -276,7 +276,7 @@ importers: version: 7.4.6(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) '@storybook/react-webpack5': specifier: ~7.4.0 - version: 7.4.6(@babel/core@7.27.7)(@swc/helpers@0.5.17)(@types/react-dom@18.2.0)(@types/react@18.2.0)(@types/webpack@5.28.5(webpack-cli@5.1.4))(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(type-fest@4.41.0)(typescript@5.8.3)(webpack-cli@5.1.4)(webpack-dev-server@5.2.2)(webpack-hot-middleware@2.26.1) + version: 7.4.6(@babel/core@7.28.5)(@swc/helpers@0.5.17)(@types/react-dom@18.2.0)(@types/react@18.2.0)(@types/webpack@5.28.5(webpack-cli@5.1.4))(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(type-fest@4.41.0)(typescript@5.8.3)(webpack-cli@5.1.4)(webpack-dev-server@5.2.2)(webpack-hot-middleware@2.26.1) '@types/js-yaml': specifier: ~4.0.9 version: 4.0.9 @@ -285,7 +285,7 @@ importers: version: 4.14.202 '@types/node': specifier: ^20.10.6 - version: 20.19.22 + version: 20.19.24 '@types/react': specifier: 18.2.0 version: 18.2.0 @@ -303,31 +303,31 @@ importers: version: 2.4.1 css-loader: specifier: ^5.2.7 - version: 5.2.7(webpack@5.101.0) + version: 5.2.7(webpack@5.102.1) sass-loader: specifier: ^13.2.0 - version: 13.3.3(sass@1.90.0)(webpack@5.101.0) + version: 13.3.3(sass@1.93.3)(webpack@5.102.1) source-map-loader: specifier: ^4.0.1 - version: 4.0.2(webpack@5.101.0) + version: 4.0.2(webpack@5.102.1) style-loader: specifier: ^1.3.0 - version: 1.3.0(webpack@5.101.0) + version: 1.3.0(webpack@5.102.1) ts-loader: specifier: ^9.5.0 - version: 9.5.2(typescript@5.8.3)(webpack@5.101.0) + version: 9.5.4(typescript@5.8.3)(webpack@5.102.1) typescript: specifier: 5.8.3 version: 5.8.3 webpack: specifier: ^5.94.0 - version: 5.101.0(webpack-cli@5.1.4) + version: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@5.1.4) webpack-cli: specifier: ~5.1.4 - version: 5.1.4(webpack-dev-server@5.2.2)(webpack@5.101.0) + version: 5.1.4(webpack-dev-server@5.2.2)(webpack@5.102.1) webpack-dev-server: specifier: ^5.2.1 - version: 5.2.2(webpack-cli@5.1.4)(webpack@5.101.0) + version: 5.2.2(webpack-cli@5.1.4)(webpack@5.102.1) ../../workspaces/apk/apk-extension: devDependencies: @@ -339,10 +339,10 @@ importers: version: 10.0.10 '@types/node': specifier: ^18.11.19 - version: 18.19.121 + version: 18.19.130 '@types/vscode': specifier: ^1.63.0 - version: 1.102.0 + version: 1.105.0 '@typescript-eslint/eslint-plugin': specifier: ~5.48.2 version: 5.48.2(@typescript-eslint/parser@5.48.2(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3) @@ -417,7 +417,7 @@ importers: version: 3.1.0 vscode-ws-jsonrpc: specifier: ^3.4.0 - version: 3.4.0 + version: 3.5.0 devDependencies: '@types/node': specifier: ^22.15.21 @@ -427,19 +427,19 @@ importers: version: 18.2.0 '@types/vscode': specifier: ^1.83.1 - version: 1.102.0 + version: 1.105.0 '@typescript-eslint/eslint-plugin': specifier: ^8.32.1 - version: 8.33.1(@typescript-eslint/parser@8.33.1(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3) + version: 8.33.1(@typescript-eslint/parser@8.33.1(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3))(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3) '@typescript-eslint/parser': specifier: ^8.32.1 - version: 8.33.1(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3) + version: 8.33.1(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3) copyfiles: specifier: ^2.4.1 version: 2.4.1 eslint: specifier: ^9.26.0 - version: 9.27.0(jiti@2.5.1) + version: 9.27.0(jiti@2.6.1) typescript: specifier: 5.8.3 version: 5.8.3 @@ -448,10 +448,10 @@ importers: dependencies: '@ai-sdk/amazon-bedrock': specifier: ^3.0.25 - version: 3.0.30(zod@4.1.11) + version: 3.0.51(zod@4.1.11) '@ai-sdk/anthropic': specifier: ^2.0.20 - version: 2.0.23(zod@4.1.11) + version: 2.0.41(zod@4.1.11) '@types/lodash': specifier: ^4.14.200 version: 4.17.17 @@ -478,7 +478,7 @@ importers: version: link:../../wso2-platform/wso2-platform-core ai: specifier: ^5.0.56 - version: 5.0.59(zod@4.1.11) + version: 5.0.87(zod@4.1.11) cors-anywhere: specifier: ^0.4.4 version: 0.4.4 @@ -514,7 +514,7 @@ importers: version: 2.1.1 portfinder: specifier: ^1.0.32 - version: 1.0.37 + version: 1.0.38 source-map-support: specifier: ^0.5.21 version: 0.5.21 @@ -575,22 +575,22 @@ importers: version: 10.0.10 '@types/node': specifier: ^18.18.7 - version: 18.19.121 + version: 18.19.130 '@types/tcp-port-used': specifier: ^1.0.3 version: 1.0.4 '@types/vscode': specifier: ^1.83.1 - version: 1.102.0 + version: 1.105.0 '@types/vscode-notebook-renderer': specifier: ~1.72.2 - version: 1.72.3 + version: 1.72.4 adm-zip: specifier: ^0.5.16 version: 0.5.16 axios: specifier: ^1.12.0 - version: 1.12.0 + version: 1.12.2 chai: specifier: ^4.3.10 version: 4.5.0 @@ -638,7 +638,7 @@ importers: version: 1.0.2 ts-loader: specifier: ^9.5.0 - version: 9.5.2(typescript@5.8.3)(webpack@5.101.0) + version: 9.5.4(typescript@5.8.3)(webpack@5.102.1) tslint: specifier: ^6.1.3 version: 6.1.3(typescript@5.8.3) @@ -653,13 +653,13 @@ importers: version: 5.10.0(mocha@10.8.2)(typescript@5.8.3) webpack: specifier: ^5.94.0 - version: 5.101.0(webpack-cli@6.0.1) + version: 5.102.1(webpack-cli@6.0.1) webpack-cli: specifier: ^6.0.1 - version: 6.0.1(webpack@5.101.0) + version: 6.0.1(webpack@5.102.1) webpack-merge-and-include-globally: specifier: ^2.3.4 - version: 2.3.4(webpack@5.101.0) + version: 2.3.4(webpack@5.102.1) yarn: specifier: ^1.22.19 version: 1.22.22 @@ -695,16 +695,16 @@ importers: version: 3.2.0(date-fns@4.1.0) dexie: specifier: ^4.0.11 - version: 4.0.11 + version: 4.2.1 graphql: specifier: ^16.11.0 - version: 16.11.0 + version: 16.12.0 handlebars: specifier: ^4.7.8 version: 4.7.8 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)) + version: 29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.14.0(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)) joi: specifier: ^17.13.3 version: 17.13.3 @@ -728,7 +728,7 @@ importers: version: 18.2.0(react@18.2.0) react-intl: specifier: ^7.1.11 - version: 7.1.11(react@18.2.0)(typescript@5.8.3) + version: 7.1.14(react@18.2.0)(typescript@5.8.3) react-lottie: specifier: ^1.2.10 version: 1.2.10(react@18.2.0) @@ -750,31 +750,31 @@ importers: version: 7.27.2(@babel/core@7.27.7) '@rollup/plugin-commonjs': specifier: ^28.0.3 - version: 28.0.6(rollup@4.46.2) + version: 28.0.9(rollup@4.52.5) '@rollup/plugin-json': specifier: ^6.1.0 - version: 6.1.0(rollup@4.46.2) + version: 6.1.0(rollup@4.52.5) '@rollup/plugin-node-resolve': specifier: ^16.0.1 - version: 16.0.1(rollup@4.46.2) + version: 16.0.3(rollup@4.52.5) '@storybook/addon-actions': specifier: ^6.5.16 version: 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/addon-essentials': specifier: ^6.5.16 - version: 6.5.16(@babel/core@7.27.7)(@storybook/builder-webpack5@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)(webpack@5.101.0) + version: 6.5.16(@babel/core@7.27.7)(@storybook/builder-webpack5@6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@swc/core@1.14.0(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)(webpack@5.102.1) '@storybook/addon-links': specifier: ^6.5.16 version: 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/builder-webpack5': specifier: ^6.5.16 - version: 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + version: 6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) '@storybook/manager-webpack5': specifier: ^6.5.9 - version: 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + version: 6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) '@storybook/react': specifier: ^6.5.16 - version: 6.5.16(@babel/core@7.27.7)(@storybook/builder-webpack5@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@storybook/manager-webpack5@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/webpack@5.28.5(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-cli@6.0.1)(webpack-dev-server@5.2.2)(webpack-hot-middleware@2.26.1) + version: 6.5.16(@babel/core@7.27.7)(@storybook/builder-webpack5@6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@storybook/manager-webpack5@6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@swc/core@1.14.0(@swc/helpers@0.5.17))(@types/webpack@5.28.5(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1))(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-cli@6.0.1)(webpack-dev-server@5.2.2)(webpack-hot-middleware@2.26.1) '@types/classnames': specifier: ^2.2.9 version: 2.3.4 @@ -804,34 +804,34 @@ importers: version: 10.0.0 '@types/webpack': specifier: ^5.28.5 - version: 5.28.5(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + version: 5.28.5(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1) babel-loader: specifier: ^10.0.0 - version: 10.0.0(@babel/core@7.27.7)(webpack@5.101.0) + version: 10.0.0(@babel/core@7.27.7)(webpack@5.102.1) copy-webpack-plugin: specifier: ^13.0.0 - version: 13.0.0(webpack@5.101.0) + version: 13.0.1(webpack@5.102.1) copyfiles: specifier: ^2.4.1 version: 2.4.1 css-loader: specifier: ^7.1.2 - version: 7.1.2(webpack@5.101.0) + version: 7.1.2(webpack@5.102.1) express: specifier: ^5.1.0 version: 5.1.0 file-loader: specifier: ^6.2.0 - version: 6.2.0(webpack@5.101.0) + version: 6.2.0(webpack@5.102.1) fork-ts-checker-webpack-plugin: specifier: ^9.1.0 - version: 9.1.0(typescript@5.8.3)(webpack@5.101.0) + version: 9.1.0(typescript@5.8.3)(webpack@5.102.1) glob: specifier: ^11.0.2 version: 11.0.3 react-scripts-ts: specifier: ^3.1.0 - version: 3.1.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(babel-core@7.0.0-bridge.0(@babel/core@7.27.7))(babel-runtime@6.26.0)(typescript@5.8.3)(webpack-cli@6.0.1) + version: 3.1.0(@swc/core@1.14.0(@swc/helpers@0.5.17))(babel-core@7.0.0-bridge.0(@babel/core@7.27.7))(babel-runtime@6.26.0)(typescript@5.8.3)(webpack-cli@6.0.1) react-test-renderer: specifier: ^19.1.0 version: 19.1.1(react@18.2.0) @@ -840,16 +840,16 @@ importers: version: 6.0.1 rollup: specifier: ^4.41.0 - version: 4.46.2 + version: 4.52.5 rollup-plugin-import-css: specifier: ^3.5.8 - version: 3.5.8(rollup@4.46.2) + version: 3.5.8(rollup@4.52.5) rollup-plugin-peer-deps-external: specifier: ^2.2.4 - version: 2.2.4(rollup@4.46.2) + version: 2.2.4(rollup@4.52.5) rollup-plugin-postcss: specifier: ^4.0.2 - version: 4.0.2(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)) + version: 4.0.2(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.14.0(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)) rollup-plugin-scss: specifier: ^4.0.1 version: 4.0.1 @@ -858,31 +858,31 @@ importers: version: 2.0.0 rollup-plugin-typescript2: specifier: ^0.36.0 - version: 0.36.0(rollup@4.46.2)(typescript@5.8.3) + version: 0.36.0(rollup@4.52.5)(typescript@5.8.3) sass: specifier: ^1.89.0 - version: 1.90.0 + version: 1.93.3 sass-loader: specifier: ^16.0.5 - version: 16.0.5(sass@1.90.0)(webpack@5.101.0) + version: 16.0.6(sass@1.93.3)(webpack@5.102.1) storybook: specifier: ^8.6.14 version: 8.6.14(prettier@3.5.3) style-loader: specifier: ^4.0.0 - version: 4.0.0(webpack@5.101.0) + version: 4.0.0(webpack@5.102.1) stylelint: specifier: ^16.19.1 - version: 16.23.0(typescript@5.8.3) + version: 16.25.0(typescript@5.8.3) stylelint-config-standard: specifier: ^38.0.0 - version: 38.0.0(stylelint@16.23.0(typescript@5.8.3)) + version: 38.0.0(stylelint@16.25.0(typescript@5.8.3)) svg-url-loader: specifier: ^8.0.0 - version: 8.0.0(webpack@5.101.0) + version: 8.0.0(webpack@5.102.1) ts-loader: specifier: ^9.5.2 - version: 9.5.2(typescript@5.8.3)(webpack@5.101.0) + version: 9.5.4(typescript@5.8.3)(webpack@5.102.1) tslib: specifier: ^2.8.1 version: 2.8.1 @@ -900,13 +900,13 @@ importers: version: 5.8.3 webpack: specifier: ^5.94.0 - version: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + version: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1) webpack-cli: specifier: ^6.0.1 - version: 6.0.1(webpack-dev-server@5.2.2)(webpack@5.101.0) + version: 6.0.1(webpack-dev-server@5.2.2)(webpack@5.102.1) webpack-dev-server: specifier: ^5.2.1 - version: 5.2.2(webpack-cli@6.0.1)(webpack@5.101.0) + version: 5.2.2(webpack-cli@6.0.1)(webpack@5.102.1) ../../workspaces/ballerina/ballerina-rpc-client: dependencies: @@ -946,22 +946,22 @@ importers: version: 18.2.0 '@typescript-eslint/eslint-plugin': specifier: ^8.32.1 - version: 8.33.1(@typescript-eslint/parser@8.33.1(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3) + version: 8.33.1(@typescript-eslint/parser@8.33.1(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3))(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3) '@typescript-eslint/parser': specifier: ^8.32.1 - version: 8.33.1(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3) + version: 8.33.1(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3) copyfiles: specifier: ^2.4.1 version: 2.4.1 eslint: specifier: ^9.27.0 - version: 9.27.0(jiti@2.5.1) + version: 9.27.0(jiti@2.6.1) eslint-plugin-react-hooks: specifier: ^5.2.0 - version: 5.2.0(eslint@9.27.0(jiti@2.5.1)) + version: 5.2.0(eslint@9.27.0(jiti@2.6.1)) eslint-plugin-react-refresh: specifier: ^0.4.20 - version: 0.4.20(eslint@9.27.0(jiti@2.5.1)) + version: 0.4.24(eslint@9.27.0(jiti@2.6.1)) typescript: specifier: 5.8.3 version: 5.8.3 @@ -1004,7 +1004,7 @@ importers: devDependencies: '@storybook/react': specifier: ^6.5.16 - version: 6.5.16(@babel/core@7.27.7)(@types/webpack@5.28.5)(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-dev-server@5.2.2(webpack@5.101.0))(webpack-hot-middleware@2.26.1) + version: 6.5.16(@babel/core@7.28.5)(@types/webpack@5.28.5)(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-dev-server@5.2.2(webpack@5.102.1))(webpack-hot-middleware@2.26.1) '@types/lodash': specifier: ~4.17.16 version: 4.17.17 @@ -1034,13 +1034,13 @@ importers: version: 11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0) '@headlessui/react': specifier: ~2.2.4 - version: 2.2.7(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 2.2.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@hookform/resolvers': specifier: ~5.0.1 version: 5.0.1(react-hook-form@7.56.4(react@18.2.0)) '@tanstack/query-core': specifier: ^5.77.1 - version: 5.83.1 + version: 5.90.6 '@tanstack/react-query': specifier: 5.77.1 version: 5.77.1(react@18.2.0) @@ -1133,7 +1133,7 @@ importers: version: 10.1.0(@types/react@18.2.0)(react@18.2.0) react-syntax-highlighter: specifier: ~15.6.1 - version: 15.6.1(react@18.2.0) + version: 15.6.6(react@18.2.0) rehype-raw: specifier: ^7.0.0 version: 7.0.0 @@ -1170,13 +1170,13 @@ importers: version: 1.57.5 '@types/webpack': specifier: ^5.28.5 - version: 5.28.5(webpack-cli@4.10.0) + version: 5.28.5(webpack-cli@5.1.4) '@typescript-eslint/eslint-plugin': specifier: ^8.32.1 - version: 8.33.1(@typescript-eslint/parser@8.33.1(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3) + version: 8.33.1(@typescript-eslint/parser@8.33.1(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3))(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3) '@typescript-eslint/parser': specifier: ^8.32.1 - version: 8.33.1(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3) + version: 8.33.1(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3) buffer: specifier: ^6.0.3 version: 6.0.3 @@ -1185,37 +1185,40 @@ importers: version: 2.4.1 css-loader: specifier: ^7.1.2 - version: 7.1.2(webpack@5.101.0) + version: 7.1.2(webpack@5.102.1) eslint: specifier: ^9.26.0 - version: 9.27.0(jiti@2.5.1) + version: 9.27.0(jiti@2.6.1) eslint-plugin-react-hooks: specifier: ^5.2.0 - version: 5.2.0(eslint@9.27.0(jiti@2.5.1)) + version: 5.2.0(eslint@9.27.0(jiti@2.6.1)) eslint-plugin-react-refresh: specifier: ^0.4.20 - version: 0.4.20(eslint@9.27.0(jiti@2.5.1)) + version: 0.4.24(eslint@9.27.0(jiti@2.6.1)) sass-loader: specifier: ^16.0.5 - version: 16.0.5(sass@1.90.0)(webpack@5.101.0) + version: 16.0.6(sass@1.93.3)(webpack@5.102.1) source-map-loader: specifier: ^5.0.0 - version: 5.0.0(webpack@5.101.0) + version: 5.0.0(webpack@5.102.1) style-loader: specifier: ^4.0.0 - version: 4.0.0(webpack@5.101.0) + version: 4.0.0(webpack@5.102.1) ts-loader: specifier: ^9.5.2 - version: 9.5.2(typescript@5.8.3)(webpack@5.101.0) + version: 9.5.4(typescript@5.8.3)(webpack@5.102.1) typescript: specifier: 5.8.3 version: 5.8.3 webpack: specifier: ^5.94.0 - version: 5.101.0(webpack-cli@4.10.0) + version: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@5.1.4) + webpack-cli: + specifier: ^5.1.4 + version: 5.1.4(webpack-dev-server@5.2.2)(webpack@5.102.1) webpack-dev-server: specifier: ^5.2.1 - version: 5.2.2(webpack-cli@4.10.0)(webpack@5.101.0) + version: 5.2.2(webpack-cli@5.1.4)(webpack@5.102.1) ../../workspaces/ballerina/bi-diagram: dependencies: @@ -1276,7 +1279,7 @@ importers: version: 7.27.1(@babel/core@7.27.7) '@storybook/react': specifier: ^6.3.7 - version: 6.5.16(@babel/core@7.27.7)(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/webpack@5.28.5(@swc/core@1.13.3(@swc/helpers@0.5.17)))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-dev-server@5.2.2(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))))(webpack-hot-middleware@2.26.1) + version: 6.5.16(@babel/core@7.27.7)(@swc/core@1.14.0(@swc/helpers@0.5.17))(@types/webpack@5.28.5(@swc/core@1.14.0(@swc/helpers@0.5.17)))(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-dev-server@5.2.2(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))))(webpack-hot-middleware@2.26.1) '@testing-library/dom': specifier: ~10.4.0 version: 10.4.1 @@ -1315,7 +1318,7 @@ importers: version: 3.0.0 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)) + version: 29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.14.0(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)) jest-environment-jsdom: specifier: 29.7.0 version: 29.7.0 @@ -1327,7 +1330,7 @@ importers: version: 19.1.1(react@18.2.0) ts-jest: specifier: 29.3.4 - version: 29.3.4(@babel/core@7.27.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.27.7))(jest@29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)))(typescript@5.8.3) + version: 29.3.4(@babel/core@7.27.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.27.7))(jest@29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.14.0(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)))(typescript@5.8.3) typescript: specifier: 5.8.3 version: 5.8.3 @@ -1394,7 +1397,7 @@ importers: version: 7.27.1(@babel/core@7.27.7) '@storybook/react': specifier: ^6.5.16 - version: 6.5.16(@babel/core@7.27.7)(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/webpack@5.28.5(@swc/core@1.13.3(@swc/helpers@0.5.17)))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-dev-server@5.2.2(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))))(webpack-hot-middleware@2.26.1) + version: 6.5.16(@babel/core@7.27.7)(@swc/core@1.14.0(@swc/helpers@0.5.17))(@types/webpack@5.28.5(@swc/core@1.14.0(@swc/helpers@0.5.17)))(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-dev-server@5.2.2(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))))(webpack-hot-middleware@2.26.1) '@testing-library/dom': specifier: ~10.4.0 version: 10.4.1 @@ -1433,7 +1436,7 @@ importers: version: 3.0.0 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)) + version: 29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.14.0(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)) jest-environment-jsdom: specifier: 29.7.0 version: 29.7.0 @@ -1445,7 +1448,7 @@ importers: version: 19.1.1(react@18.2.0) ts-jest: specifier: 29.3.4 - version: 29.3.4(@babel/core@7.27.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.27.7))(jest@29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)))(typescript@5.8.3) + version: 29.3.4(@babel/core@7.27.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.27.7))(jest@29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.14.0(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)))(typescript@5.8.3) typescript: specifier: 5.8.3 version: 5.8.3 @@ -1475,7 +1478,7 @@ importers: version: 6.7.4(lodash@4.17.21)(react@18.2.0)(resize-observer-polyfill@1.5.1) '@tanstack/query-core': specifier: ^5.77.1 - version: 5.83.1 + version: 5.90.6 '@tanstack/react-query': specifier: 5.77.1 version: 5.77.1(react@18.2.0) @@ -1523,7 +1526,7 @@ importers: version: 3.17.5 zustand: specifier: ^5.0.4 - version: 5.0.7(@types/react@18.2.0)(react@18.2.0)(use-sync-external-store@1.5.0(react@18.2.0)) + version: 5.0.8(@types/react@18.2.0)(react@18.2.0)(use-sync-external-store@1.6.0(react@18.2.0)) devDependencies: '@types/blueimp-md5': specifier: ^2.18.2 @@ -1542,34 +1545,34 @@ importers: version: 17.0.26(@types/react@18.2.0) '@typescript-eslint/eslint-plugin': specifier: ~8.32.1 - version: 8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3) + version: 8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3))(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3) '@typescript-eslint/parser': specifier: ~8.32.1 - version: 8.32.1(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3) + version: 8.32.1(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3) copyfiles: specifier: ^2.4.1 version: 2.4.1 css-loader: specifier: ^7.1.2 - version: 7.1.2(webpack@5.101.0) + version: 7.1.2(webpack@5.102.1) eslint: specifier: ^9.26.0 - version: 9.27.0(jiti@2.5.1) + version: 9.27.0(jiti@2.6.1) eslint-plugin-react-hooks: specifier: ^5.2.0 - version: 5.2.0(eslint@9.27.0(jiti@2.5.1)) + version: 5.2.0(eslint@9.27.0(jiti@2.6.1)) eslint-plugin-react-refresh: specifier: ^0.4.4 - version: 0.4.20(eslint@9.27.0(jiti@2.5.1)) + version: 0.4.24(eslint@9.27.0(jiti@2.6.1)) file-loader: specifier: ^6.2.0 - version: 6.2.0(webpack@5.101.0) + version: 6.2.0(webpack@5.102.1) react-hook-form: specifier: ~7.56.3 version: 7.56.4(react@18.2.0) ts-loader: specifier: ^9.5.2 - version: 9.5.2(typescript@5.8.3)(webpack@5.101.0) + version: 9.5.4(typescript@5.8.3)(webpack@5.102.1) tslib: specifier: ^2.8.1 version: 2.8.1 @@ -1593,10 +1596,10 @@ importers: version: 2.4.1 graphiql: specifier: 3.7.0 - version: 3.7.0(@codemirror/language@6.11.2)(@types/node@22.15.35)(@types/react-dom@18.2.0)(@types/react@18.2.0)(graphql@16.11.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 3.7.0(@codemirror/language@6.11.3)(@types/node@22.15.35)(@types/react-dom@18.2.0)(@types/react@18.2.0)(graphql@16.12.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) graphiql-explorer: specifier: ^0.9.0 - version: 0.9.0(graphql@16.11.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 0.9.0(graphql@16.12.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react: specifier: 18.2.0 version: 18.2.0 @@ -1612,19 +1615,19 @@ importers: version: 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/addon-essentials': specifier: ^6.5.9 - version: 6.5.16(@babel/core@7.27.7)(@storybook/builder-webpack5@6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)(webpack@5.101.0) + version: 6.5.16(@babel/core@7.27.7)(@storybook/builder-webpack5@6.5.16(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)(webpack@5.102.1) '@storybook/addon-links': specifier: ^6.5.9 version: 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/builder-webpack5': specifier: ^6.5.9 - version: 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + version: 6.5.16(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) '@storybook/manager-webpack5': specifier: ^6.5.9 - version: 6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + version: 6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) '@storybook/react': specifier: ^6.5.9 - version: 6.5.16(@babel/core@7.27.7)(@storybook/builder-webpack5@6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(@storybook/manager-webpack5@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(@types/webpack@5.28.5(webpack-cli@4.10.0))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-cli@4.10.0)(webpack-dev-server@5.2.2)(webpack-hot-middleware@2.26.1) + version: 6.5.16(@babel/core@7.27.7)(@storybook/builder-webpack5@6.5.16(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(@storybook/manager-webpack5@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(@types/webpack@5.28.5(webpack-cli@4.10.0))(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-cli@4.10.0)(webpack-dev-server@5.2.2)(webpack-hot-middleware@2.26.1) '@types/react': specifier: 18.2.0 version: 18.2.0 @@ -1633,34 +1636,34 @@ importers: version: 18.2.0 babel-loader: specifier: ^10.0.0 - version: 10.0.0(@babel/core@7.27.7)(webpack@5.101.0) + version: 10.0.0(@babel/core@7.27.7)(webpack@5.102.1) css-loader: specifier: ^7.1.2 - version: 7.1.2(webpack@5.101.0) + version: 7.1.2(webpack@5.102.1) graphql: specifier: ^16.11.0 - version: 16.11.0 + version: 16.12.0 mini-css-extract-plugin: specifier: ^2.9.2 - version: 2.9.3(webpack@5.101.0) + version: 2.9.4(webpack@5.102.1) source-map-loader: specifier: ^5.0.0 - version: 5.0.0(webpack@5.101.0) + version: 5.0.0(webpack@5.102.1) style-loader: specifier: ^4.0.0 - version: 4.0.0(webpack@5.101.0) + version: 4.0.0(webpack@5.102.1) ts-loader: specifier: ^9.5.2 - version: 9.5.2(typescript@5.8.3)(webpack@5.101.0) + version: 9.5.4(typescript@5.8.3)(webpack@5.102.1) typescript: specifier: 5.8.3 version: 5.8.3 webpack: specifier: ^5.94.0 - version: 5.101.0(webpack-cli@4.10.0) + version: 5.102.1(webpack-cli@4.10.0) webpack-cli: specifier: ^4.10.0 - version: 4.10.0(webpack-dev-server@5.2.2)(webpack@5.101.0) + version: 4.10.0(webpack-dev-server@5.2.2)(webpack@5.102.1) ../../workspaces/ballerina/graphql-design-diagram: dependencies: @@ -1791,7 +1794,7 @@ importers: version: 5.2.0(eslint@8.57.1) eslint-plugin-react-refresh: specifier: ^0.4.20 - version: 0.4.20(eslint@8.57.1) + version: 0.4.24(eslint@8.57.1) typescript: specifier: 5.8.3 version: 5.8.3 @@ -1839,7 +1842,7 @@ importers: version: 0.8.5 file-loader: specifier: ^6.2.0 - version: 6.2.0(webpack@5.101.0) + version: 6.2.0(webpack@5.102.1) html-to-image: specifier: ^1.10.8 version: 1.11.11 @@ -1882,31 +1885,31 @@ importers: version: link:../../common-libs/ui-toolkit babel-loader: specifier: ^10.0.0 - version: 10.0.0(@babel/core@7.27.7)(webpack@5.101.0) + version: 10.0.0(@babel/core@7.27.7)(webpack@5.102.1) copyfiles: specifier: ^2.4.1 version: 2.4.1 css-loader: specifier: ^7.1.2 - version: 7.1.2(webpack@5.101.0) + version: 7.1.2(webpack@5.102.1) source-map-loader: specifier: ^5.0.0 - version: 5.0.0(webpack@5.101.0) + version: 5.0.0(webpack@5.102.1) style-loader: specifier: ^4.0.0 - version: 4.0.0(webpack@5.101.0) + version: 4.0.0(webpack@5.102.1) ts-loader: specifier: ^9.4.1 - version: 9.5.2(typescript@5.8.3)(webpack@5.101.0) + version: 9.5.4(typescript@5.8.3)(webpack@5.102.1) webpack: specifier: ^5.94.0 - version: 5.101.0(webpack-cli@6.0.1) + version: 5.102.1(webpack-cli@6.0.1) webpack-cli: specifier: ^6.0.1 - version: 6.0.1(webpack-dev-server@5.2.2)(webpack@5.101.0) + version: 6.0.1(webpack-dev-server@5.2.2)(webpack@5.102.1) webpack-dev-server: specifier: ^5.2.1 - version: 5.2.2(webpack-cli@6.0.1)(webpack@5.101.0) + version: 5.2.2(webpack-cli@6.0.1)(webpack@5.102.1) ../../workspaces/ballerina/record-creator: dependencies: @@ -1963,7 +1966,7 @@ importers: version: 18.2.0(react@18.2.0) react-intl: specifier: ~7.1.11 - version: 7.1.11(react@18.2.0)(typescript@5.8.3) + version: 7.1.14(react@18.2.0)(typescript@5.8.3) react-lottie: specifier: ~1.2.4 version: 1.2.10(react@18.2.0) @@ -1985,10 +1988,10 @@ importers: version: 2.4.1 eslint: specifier: ~9.26.0 - version: 9.26.0(jiti@2.5.1) + version: 9.26.0(jiti@2.6.1) react-scripts-ts: specifier: 3.1.0 - version: 3.1.0(babel-core@7.0.0-bridge.0(@babel/core@7.27.7))(babel-runtime@6.26.0)(typescript@5.8.3) + version: 3.1.0(babel-core@7.0.0-bridge.0(@babel/core@7.28.5))(babel-runtime@6.26.0)(typescript@5.8.3) typescript: specifier: 5.8.3 version: 5.8.3 @@ -2043,7 +2046,7 @@ importers: devDependencies: '@storybook/react': specifier: ^6.3.7 - version: 6.5.16(@babel/core@7.27.7)(@types/webpack@5.28.5)(encoding@0.1.13)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-dev-server@5.2.2(webpack@5.101.0))(webpack-hot-middleware@2.26.1) + version: 6.5.16(@babel/core@7.28.5)(@types/webpack@5.28.5)(encoding@0.1.13)(eslint@9.26.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-dev-server@5.2.2(webpack@5.102.1))(webpack-hot-middleware@2.26.1) '@types/dagre': specifier: ~0.7.52 version: 0.7.53 @@ -2058,19 +2061,19 @@ importers: version: 18.2.0 '@typescript-eslint/eslint-plugin': specifier: ~8.32.1 - version: 8.32.1(@typescript-eslint/parser@8.33.1(eslint@9.26.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.26.0(jiti@2.5.1))(typescript@5.8.3) + version: 8.32.1(@typescript-eslint/parser@8.33.1(eslint@9.26.0(jiti@2.6.1))(typescript@5.8.3))(eslint@9.26.0(jiti@2.6.1))(typescript@5.8.3) copyfiles: specifier: ^2.4.1 version: 2.4.1 eslint: specifier: ~9.26.0 - version: 9.26.0(jiti@2.5.1) + version: 9.26.0(jiti@2.6.1) eslint-plugin-react-hooks: specifier: ~5.2.0 - version: 5.2.0(eslint@9.26.0(jiti@2.5.1)) + version: 5.2.0(eslint@9.26.0(jiti@2.6.1)) eslint-plugin-unused-imports: specifier: ~4.1.4 - version: 4.1.4(@typescript-eslint/eslint-plugin@8.32.1(@typescript-eslint/parser@8.33.1(eslint@9.26.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.26.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.26.0(jiti@2.5.1)) + version: 4.1.4(@typescript-eslint/eslint-plugin@8.32.1(@typescript-eslint/parser@8.33.1(eslint@9.26.0(jiti@2.6.1))(typescript@5.8.3))(eslint@9.26.0(jiti@2.6.1))(typescript@5.8.3))(eslint@9.26.0(jiti@2.6.1)) prettier: specifier: ~3.5.3 version: 3.5.3 @@ -2085,13 +2088,13 @@ importers: version: 11.13.5 '@emotion/react': specifier: ^11.9.3 - version: 11.14.0(@types/react@17.0.87)(react@19.1.0) + version: 11.14.0(@types/react@17.0.89)(react@19.1.0) '@emotion/styled': specifier: ^11.10.5 - version: 11.14.1(@emotion/react@11.14.0(@types/react@17.0.87)(react@19.1.0))(@types/react@17.0.87)(react@19.1.0) + version: 11.14.1(@emotion/react@11.14.0(@types/react@17.0.89)(react@19.1.0))(@types/react@17.0.89)(react@19.1.0) '@tanstack/query-core': specifier: ^4.0.0-beta.1 - version: 4.40.0 + version: 4.41.0 '@tanstack/react-query': specifier: 4.0.10 version: 4.0.10(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -2127,7 +2130,7 @@ importers: version: 4.12.0(react@19.1.0) react-intl: specifier: ^7.1.11 - version: 7.1.11(react@19.1.0)(typescript@4.9.5) + version: 7.1.14(react@19.1.0)(typescript@4.9.5) react-lottie: specifier: ^1.2.3 version: 1.2.10(react@19.1.0) @@ -2143,7 +2146,7 @@ importers: devDependencies: '@storybook/react': specifier: ^6.5.9 - version: 6.5.16(@babel/core@7.27.7)(@types/webpack@5.28.5)(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@4.9.5)(webpack-dev-server@5.2.2(webpack@5.101.0))(webpack-hot-middleware@2.26.1) + version: 6.5.16(@babel/core@7.28.5)(@types/webpack@5.28.5)(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@4.9.5)(webpack-dev-server@5.2.2(webpack@5.102.1))(webpack-hot-middleware@2.26.1) '@types/classnames': specifier: ^2.2.9 version: 2.3.4 @@ -2158,7 +2161,7 @@ importers: version: 4.0.9 '@types/react': specifier: ^17.0.37 - version: 17.0.87 + version: 17.0.89 '@types/react-dom': specifier: 17.0.14 version: 17.0.14 @@ -2194,7 +2197,7 @@ importers: version: 9.1.7 lint-staged: specifier: ^16.0.0 - version: 16.1.4 + version: 16.2.6 prettier: specifier: ^3.5.3 version: 3.5.3 @@ -2251,7 +2254,7 @@ importers: version: 0.8.5 file-loader: specifier: ^6.2.0 - version: 6.2.0(webpack@5.101.0) + version: 6.2.0(webpack@5.102.1) html-to-image: specifier: ^1.11.11 version: 1.11.11 @@ -2300,31 +2303,31 @@ importers: version: link:../../common-libs/ui-toolkit babel-loader: specifier: ^10.0.0 - version: 10.0.0(@babel/core@7.27.7)(webpack@5.101.0) + version: 10.0.0(@babel/core@7.27.7)(webpack@5.102.1) copyfiles: specifier: ^2.4.1 version: 2.4.1 css-loader: specifier: ^7.1.2 - version: 7.1.2(webpack@5.101.0) + version: 7.1.2(webpack@5.102.1) source-map-loader: specifier: ^5.0.0 - version: 5.0.0(webpack@5.101.0) + version: 5.0.0(webpack@5.102.1) style-loader: specifier: ^4.0.0 - version: 4.0.0(webpack@5.101.0) + version: 4.0.0(webpack@5.102.1) ts-loader: specifier: ^9.4.1 - version: 9.5.2(typescript@5.8.3)(webpack@5.101.0) + version: 9.5.4(typescript@5.8.3)(webpack@5.102.1) webpack: specifier: ^5.94.0 - version: 5.101.0(webpack-cli@6.0.1) + version: 5.102.1(webpack-cli@6.0.1) webpack-cli: specifier: ^6.0.1 - version: 6.0.1(webpack-dev-server@5.2.2)(webpack@5.101.0) + version: 6.0.1(webpack-dev-server@5.2.2)(webpack@5.102.1) webpack-dev-server: specifier: ^5.2.1 - version: 5.2.2(webpack-cli@6.0.1)(webpack@5.101.0) + version: 5.2.2(webpack-cli@6.0.1)(webpack@5.102.1) ../../workspaces/ballerina/type-editor: dependencies: @@ -2378,7 +2381,7 @@ importers: version: 18.2.0(react@18.2.0) react-intl: specifier: ^7.1.11 - version: 7.1.11(react@18.2.0)(typescript@5.8.3) + version: 7.1.14(react@18.2.0)(typescript@5.8.3) react-lottie: specifier: ^1.2.10 version: 1.2.10(react@18.2.0) @@ -2406,10 +2409,10 @@ importers: version: 2.4.1 eslint: specifier: ~9.26.0 - version: 9.26.0(jiti@2.5.1) + version: 9.26.0(jiti@2.6.1) react-scripts-ts: specifier: 3.1.0 - version: 3.1.0(babel-core@7.0.0-bridge.0(@babel/core@7.27.7))(babel-runtime@6.26.0)(typescript@5.8.3) + version: 3.1.0(babel-core@7.0.0-bridge.0(@babel/core@7.28.5))(babel-runtime@6.26.0)(typescript@5.8.3) typescript: specifier: 5.8.3 version: 5.8.3 @@ -2437,7 +2440,7 @@ importers: version: 22.15.18 '@types/vscode': specifier: ^1.84.0 - version: 1.102.0 + version: 1.105.0 '@typescript-eslint/eslint-plugin': specifier: ^6.21.0 version: 6.21.0(@typescript-eslint/parser@8.33.1(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3) @@ -2455,7 +2458,7 @@ importers: version: link:../../common-libs/playwright-vscode-tester copy-webpack-plugin: specifier: ^13.0.0 - version: 13.0.0(webpack@5.101.0) + version: 13.0.1(webpack@5.102.1) copyfiles: specifier: ^2.4.1 version: 2.4.1 @@ -2467,22 +2470,22 @@ importers: version: 11.0.3 mocha: specifier: ^11.2.2 - version: 11.7.1 + version: 11.7.4 source-map-support: specifier: ^0.5.21 version: 0.5.21 ts-loader: specifier: ^9.5.2 - version: 9.5.2(typescript@5.8.3)(webpack@5.101.0) + version: 9.5.4(typescript@5.8.3)(webpack@5.102.1) typescript: specifier: 5.8.3 version: 5.8.3 webpack: specifier: ^5.94.0 - version: 5.101.0(webpack-cli@6.0.1) + version: 5.102.1(webpack-cli@6.0.1) webpack-cli: specifier: ^6.0.1 - version: 6.0.1(webpack@5.101.0) + version: 6.0.1(webpack@5.102.1) webpack-permissions-plugin: specifier: ^1.0.9 version: 1.0.10 @@ -2522,7 +2525,7 @@ importers: version: 1.0.0(tslib@2.8.1) '@vscode/iconv-lite-umd': specifier: ^0.7.0 - version: 0.7.0 + version: 0.7.1 '@vscode/webview-ui-toolkit': specifier: ^1.2.0 version: 1.4.0(react@19.1.0) @@ -2567,7 +2570,7 @@ importers: version: 2.8.1 zustand: specifier: ^5.0.5 - version: 5.0.7(@types/react@18.2.0)(react@19.1.0)(use-sync-external-store@1.5.0(react@19.1.0)) + version: 5.0.8(@types/react@18.2.0)(react@19.1.0)(use-sync-external-store@1.6.0(react@19.1.0)) devDependencies: '@biomejs/biome': specifier: ^1.8.3 @@ -2589,7 +2592,7 @@ importers: version: 22.15.35 '@types/vscode': specifier: ^1.100.0 - version: 1.102.0 + version: 1.105.0 '@types/which': specifier: ^3.0.4 version: 3.0.4 @@ -2601,10 +2604,10 @@ importers: version: link:../../common-libs/playwright-vscode-tester axios: specifier: ^1.12.0 - version: 1.12.0 + version: 1.12.2 copy-webpack-plugin: specifier: ^13.0.0 - version: 13.0.0(webpack@5.101.0) + version: 13.0.1(webpack@5.102.1) copyfiles: specifier: ^2.4.1 version: 2.4.1 @@ -2613,25 +2616,25 @@ importers: version: 6.0.0 mocha: specifier: ^11.5.0 - version: 11.7.1 + version: 11.7.4 terser-webpack-plugin: specifier: ^5.3.10 - version: 5.3.14(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack@5.101.0) + version: 5.3.14(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack@5.102.1) ts-loader: specifier: ~9.5.2 - version: 9.5.2(typescript@5.8.3)(webpack@5.101.0) + version: 9.5.4(typescript@5.8.3)(webpack@5.102.1) typescript: specifier: 5.8.3 version: 5.8.3 vscode-extension-tester: specifier: ^8.14.1 - version: 8.14.1(mocha@11.7.1)(typescript@5.8.3) + version: 8.14.1(mocha@11.7.4)(typescript@5.8.3) webpack: specifier: ^5.94.0 - version: 5.101.0(webpack-cli@6.0.1) + version: 5.102.1(webpack-cli@6.0.1) webpack-cli: specifier: ^6.0.1 - version: 6.0.1(webpack@5.101.0) + version: 6.0.1(webpack@5.102.1) webpack-permissions-plugin: specifier: ^1.0.9 version: 1.0.10 @@ -2646,10 +2649,10 @@ importers: version: 0.8.2 '@headlessui/react': specifier: ^2.2.4 - version: 2.2.7(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 2.2.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@hookform/resolvers': specifier: ^5.0.1 - version: 5.0.1(react-hook-form@7.56.4(react@18.2.0)) + version: 5.2.2(react-hook-form@7.56.4(react@18.2.0)) '@tanstack/react-query': specifier: ~4.28.0 version: 4.28.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -2703,7 +2706,7 @@ importers: version: 4.0.1 swagger-ui-react: specifier: ^5.22.0 - version: 5.27.1(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 5.30.1(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) timezone-support: specifier: ^3.1.0 version: 3.1.0 @@ -2746,10 +2749,10 @@ importers: version: 2.4.1 css-loader: specifier: ^7.1.2 - version: 7.1.2(webpack@5.101.0) + version: 7.1.2(webpack@5.102.1) file-loader: specifier: ^6.2.0 - version: 6.2.0(webpack@5.101.0) + version: 6.2.0(webpack@5.102.1) path: specifier: ^0.12.7 version: 0.12.7 @@ -2758,34 +2761,34 @@ importers: version: 8.5.6 postcss-loader: specifier: ^8.1.1 - version: 8.1.1(postcss@8.5.6)(typescript@5.8.3)(webpack@5.101.0) + version: 8.2.0(postcss@8.5.6)(typescript@5.8.3)(webpack@5.102.1) sass-loader: specifier: ^16.0.5 - version: 16.0.5(sass@1.90.0)(webpack@5.101.0) + version: 16.0.6(sass@1.93.3)(webpack@5.102.1) source-map-loader: specifier: ^5.0.0 - version: 5.0.0(webpack@5.101.0) + version: 5.0.0(webpack@5.102.1) style-loader: specifier: ^4.0.0 - version: 4.0.0(webpack@5.101.0) + version: 4.0.0(webpack@5.102.1) tailwindcss: specifier: ^3.4.3 - version: 3.4.17(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)) + version: 3.4.18(yaml@2.8.1) ts-loader: specifier: ^9.5.2 - version: 9.5.2(typescript@5.8.3)(webpack@5.101.0) + version: 9.5.4(typescript@5.8.3)(webpack@5.102.1) typescript: specifier: 5.8.3 version: 5.8.3 webpack: specifier: ^5.94.0 - version: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + version: 5.102.1(webpack-cli@6.0.1) webpack-cli: specifier: ^6.0.1 - version: 6.0.1(webpack-dev-server@5.2.2)(webpack@5.101.0) + version: 6.0.1(webpack-dev-server@5.2.2)(webpack@5.102.1) webpack-dev-server: specifier: ^5.2.1 - version: 5.2.2(webpack-cli@6.0.1)(webpack@5.101.0) + version: 5.2.2(webpack-cli@6.0.1)(webpack@5.102.1) ../../workspaces/common-libs/font-wso2-vscode: devDependencies: @@ -2815,7 +2818,7 @@ importers: version: 6.1.1 fs-extra: specifier: ~11.3.0 - version: 11.3.1 + version: 11.3.2 got: specifier: 14.4.7 version: 14.4.7 @@ -2843,10 +2846,10 @@ importers: version: 0.10.11 '@typescript-eslint/eslint-plugin': specifier: ~8.33.0 - version: 8.33.1(@typescript-eslint/parser@8.33.1(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3) + version: 8.33.1(@typescript-eslint/parser@8.33.1(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3))(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3) '@typescript-eslint/parser': specifier: ~8.33.0 - version: 8.33.1(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3) + version: 8.33.1(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3) typescript: specifier: 5.8.3 version: 5.8.3 @@ -2895,7 +2898,7 @@ importers: version: 7.4.6(encoding@0.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3) '@storybook/react-webpack5': specifier: ~7.4.0 - version: 7.4.6(@babel/core@7.27.7)(@swc/helpers@0.5.17)(@types/react-dom@18.2.0)(@types/react@18.2.0)(@types/webpack@5.28.5)(encoding@0.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(type-fest@4.41.0)(typescript@5.8.3)(webpack-hot-middleware@2.26.1) + version: 7.4.6(@babel/core@7.28.5)(@swc/helpers@0.5.17)(@types/react-dom@18.2.0)(@types/react@18.2.0)(@types/webpack@5.28.5)(encoding@0.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(type-fest@4.41.0)(typescript@5.8.3)(webpack-hot-middleware@2.26.1) '@types/react': specifier: 18.2.0 version: 18.2.0 @@ -2922,7 +2925,7 @@ importers: version: 4.6.2(eslint@8.57.1) eslint-plugin-react-refresh: specifier: ^0.4.4 - version: 0.4.20(eslint@8.57.1) + version: 0.4.24(eslint@8.57.1) typescript: specifier: 5.8.3 version: 5.8.3 @@ -2983,19 +2986,19 @@ importers: devDependencies: '@storybook/addon-docs': specifier: ^9.0.12 - version: 9.1.1(@types/react@18.2.0)(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3)) + version: 9.1.16(@types/react@18.2.0)(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3)) '@storybook/addon-essentials': specifier: ^8.6.14 - version: 8.6.14(@types/react@18.2.0)(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3)) + version: 8.6.14(@types/react@18.2.0)(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3)) '@storybook/cli': specifier: ^9.0.12 - version: 9.1.1(@babel/preset-env@7.27.2(@babel/core@7.27.7))(@testing-library/dom@10.4.1)(prettier@3.5.3) + version: 9.1.16(@babel/preset-env@7.27.2(@babel/core@7.28.5))(@testing-library/dom@10.4.1)(prettier@3.5.3) '@storybook/react': specifier: ^9.0.12 - version: 9.1.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3))(typescript@5.8.3) + version: 9.1.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3))(typescript@5.8.3) '@storybook/react-vite': specifier: ^9.0.12 - version: 9.1.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(rollup@4.46.2)(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3))(typescript@5.8.3) + version: 9.1.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(rollup@4.52.5)(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3))(typescript@5.8.3) '@types/lodash': specifier: ~4.17.16 version: 4.17.17 @@ -3028,7 +3031,7 @@ importers: version: 5.2.0(eslint@8.57.1) eslint-plugin-storybook: specifier: ^9.0.12 - version: 9.1.1(eslint@8.57.1)(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3))(typescript@5.8.3) + version: 9.1.16(eslint@8.57.1)(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3))(typescript@5.8.3) gh-pages: specifier: ^6.3.0 version: 6.3.0 @@ -3043,7 +3046,7 @@ importers: version: 6.0.0(react@19.1.0) storybook: specifier: ^9.0.12 - version: 9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3) + version: 9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3) typescript: specifier: 5.8.3 version: 5.8.3 @@ -3052,7 +3055,7 @@ importers: dependencies: '@modelcontextprotocol/inspector': specifier: ^0.17.2 - version: 0.17.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.18)(@types/react-dom@18.2.0)(@types/react@18.2.0)(typescript@5.8.3) + version: 0.17.2(@swc/core@1.14.0(@swc/helpers@0.5.17))(@types/node@22.15.18)(@types/react-dom@18.2.0)(@types/react@18.2.0)(typescript@5.8.3) devDependencies: '@types/mocha': specifier: ^10.0.3 @@ -3062,7 +3065,7 @@ importers: version: 22.15.18 '@types/vscode': specifier: ^1.84.0 - version: 1.102.0 + version: 1.105.0 '@typescript-eslint/eslint-plugin': specifier: ^6.21.0 version: 6.21.0(@typescript-eslint/parser@8.33.1(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3) @@ -3077,7 +3080,7 @@ importers: version: 3.4.2 copy-webpack-plugin: specifier: ^13.0.0 - version: 13.0.0(webpack@5.101.0) + version: 13.0.1(webpack@5.102.1) copyfiles: specifier: ^2.4.1 version: 2.4.1 @@ -3086,19 +3089,19 @@ importers: version: 8.57.1 mocha: specifier: ^11.2.2 - version: 11.7.1 + version: 11.7.4 ts-loader: specifier: ^9.5.2 - version: 9.5.2(typescript@5.8.3)(webpack@5.101.0) + version: 9.5.4(typescript@5.8.3)(webpack@5.102.1) typescript: specifier: 5.8.3 version: 5.8.3 webpack: specifier: ^5.94.0 - version: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + version: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@5.1.4) webpack-cli: - specifier: ^6.0.1 - version: 6.0.1(webpack@5.101.0) + specifier: ^5.1.4 + version: 5.1.4(webpack@5.102.1) ../../workspaces/mi/mi-component-diagram: dependencies: @@ -3144,7 +3147,7 @@ importers: devDependencies: '@storybook/react': specifier: ^6.3.7 - version: 6.5.16(@babel/core@7.27.7)(@types/webpack@5.28.5)(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-dev-server@5.2.2(webpack@5.101.0))(webpack-hot-middleware@2.26.1) + version: 6.5.16(@babel/core@7.28.5)(@types/webpack@5.28.5)(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-dev-server@5.2.2(webpack@5.102.1))(webpack-hot-middleware@2.26.1) '@types/dagre': specifier: ~0.7.52 version: 0.7.53 @@ -3187,13 +3190,13 @@ importers: version: 9.27.0 '@typescript-eslint/eslint-plugin': specifier: ^8.32.1 - version: 8.33.1(@typescript-eslint/parser@8.33.1(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3) + version: 8.33.1(@typescript-eslint/parser@8.33.1(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3))(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3) '@typescript-eslint/parser': specifier: ^8.32.1 - version: 8.33.1(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3) + version: 8.33.1(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3) eslint: specifier: ^9.27.0 - version: 9.27.0(jiti@2.5.1) + version: 9.27.0(jiti@2.6.1) typescript: specifier: 5.8.3 version: 5.8.3 @@ -3223,7 +3226,7 @@ importers: version: 6.7.4(lodash@4.17.21)(react@18.2.0)(resize-observer-polyfill@1.5.1) '@tanstack/query-core': specifier: ^5.76.2 - version: 5.83.1 + version: 5.90.6 '@tanstack/react-query': specifier: 5.76.2 version: 5.76.2(react@18.2.0) @@ -3277,7 +3280,7 @@ importers: version: 3.17.5 zustand: specifier: ^5.0.5 - version: 5.0.7(@types/react@18.2.0)(react@18.2.0)(use-sync-external-store@1.5.0(react@18.2.0)) + version: 5.0.8(@types/react@18.2.0)(react@18.2.0)(use-sync-external-store@1.6.0(react@18.2.0)) devDependencies: '@types/blueimp-md5': specifier: ^2.18.2 @@ -3296,34 +3299,34 @@ importers: version: 18.2.0 '@typescript-eslint/eslint-plugin': specifier: ~8.32.1 - version: 8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3) + version: 8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3))(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3) '@typescript-eslint/parser': specifier: ~8.32.1 - version: 8.32.1(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3) + version: 8.32.1(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3) copyfiles: specifier: ^2.4.1 version: 2.4.1 css-loader: specifier: ^7.1.2 - version: 7.1.2(webpack@5.101.0) + version: 7.1.2(webpack@5.102.1) eslint: specifier: ^9.27.0 - version: 9.27.0(jiti@2.5.1) + version: 9.27.0(jiti@2.6.1) eslint-plugin-react-hooks: specifier: ^5.2.0 - version: 5.2.0(eslint@9.27.0(jiti@2.5.1)) + version: 5.2.0(eslint@9.27.0(jiti@2.6.1)) eslint-plugin-react-refresh: specifier: ^0.4.20 - version: 0.4.20(eslint@9.27.0(jiti@2.5.1)) + version: 0.4.24(eslint@9.27.0(jiti@2.6.1)) file-loader: specifier: ^6.2.0 - version: 6.2.0(webpack@5.101.0) + version: 6.2.0(webpack@5.102.1) react-hook-form: specifier: 7.56.4 version: 7.56.4(react@18.2.0) ts-loader: specifier: ^9.5.2 - version: 9.5.2(typescript@5.8.3)(webpack@5.101.0) + version: 9.5.4(typescript@5.8.3)(webpack@5.102.1) ts-morph: specifier: ^22.0.0 version: 22.0.0 @@ -3409,10 +3412,10 @@ importers: version: 2.4.1 eslint-plugin-react-hooks: specifier: ~5.2.0 - version: 5.2.0(eslint@9.27.0(jiti@2.5.1)) + version: 5.2.0(eslint@9.27.0(jiti@2.6.1)) eslint-plugin-unused-imports: specifier: ~4.1.4 - version: 4.1.4(@typescript-eslint/eslint-plugin@8.32.1(@typescript-eslint/parser@8.33.1(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.27.0(jiti@2.5.1)) + version: 4.1.4(@typescript-eslint/eslint-plugin@8.32.1(@typescript-eslint/parser@8.33.1(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3))(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3))(eslint@9.27.0(jiti@2.6.1)) html-to-image: specifier: 1.11.11 version: 1.11.11 @@ -3448,7 +3451,7 @@ importers: version: 1.21.3(@types/react@18.2.0)(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react-json-view-lite: specifier: latest - version: 2.4.2(react@18.2.0) + version: 2.5.0(react@18.2.0) react-markdown: specifier: ~10.1.0 version: 10.1.0(@types/react@18.2.0)(react@18.2.0) @@ -3488,7 +3491,7 @@ importers: version: 8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.5.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3) '@storybook/react-webpack5': specifier: ^8.6.14 - version: 8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.5.3)))(@swc/core@1.13.3(@swc/helpers@0.5.17))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3) + version: 8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.5.3)))(@swc/core@1.14.0(@swc/helpers@0.5.17))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3) '@storybook/test': specifier: ^8.6.14 version: 8.6.14(storybook@8.6.14(prettier@3.5.3)) @@ -3521,7 +3524,7 @@ importers: version: 0.4.14 '@typescript-eslint/eslint-plugin': specifier: ~8.32.1 - version: 8.32.1(@typescript-eslint/parser@8.33.1(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3) + version: 8.32.1(@typescript-eslint/parser@8.33.1(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3))(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3) babel-jest: specifier: 29.7.0 version: 29.7.0(@babel/core@7.27.7) @@ -3533,7 +3536,7 @@ importers: version: 3.0.0 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)) + version: 29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.14.0(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)) jest-environment-jsdom: specifier: 29.7.0 version: 29.7.0 @@ -3548,7 +3551,7 @@ importers: version: 8.6.14(prettier@3.5.3) ts-jest: specifier: 29.3.4 - version: 29.3.4(@babel/core@7.27.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.27.7))(jest@29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)))(typescript@5.8.3) + version: 29.3.4(@babel/core@7.27.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.27.7))(jest@29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.14.0(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)))(typescript@5.8.3) typescript: specifier: 5.8.3 version: 5.8.3 @@ -3575,7 +3578,7 @@ importers: version: 7.27.7 '@babel/plugin-transform-typescript': specifier: ^7.27.1 - version: 7.28.0(@babel/core@7.27.7) + version: 7.28.5(@babel/core@7.27.7) '@iarna/toml': specifier: ^2.2.5 version: 2.2.5 @@ -3623,7 +3626,7 @@ importers: version: 0.5.16 axios: specifier: ~1.12.0 - version: 1.12.0 + version: 1.12.2 copyfiles: specifier: ^2.4.1 version: 2.4.1 @@ -3641,7 +3644,7 @@ importers: version: 1.4.11 fs-extra: specifier: ~11.3.0 - version: 11.3.1 + version: 11.3.2 json-schema: specifier: 0.4.0 version: 0.4.0 @@ -3662,16 +3665,16 @@ importers: version: 3.3.2 node-loader: specifier: ~2.1.0 - version: 2.1.0(webpack@5.101.0) + version: 2.1.0(webpack@5.102.1) portfinder: specifier: ^1.0.37 - version: 1.0.37 + version: 1.0.38 recast: specifier: ^0.23.11 version: 0.23.11 tmp: specifier: ~0.2.4 - version: 0.2.4 + version: 0.2.5 to-json-schema: specifier: 0.2.5 version: 0.2.5 @@ -3695,7 +3698,7 @@ importers: version: 1.51.0 vscode-extension-tester: specifier: ~8.14.1 - version: 8.14.1(mocha@11.7.1)(typescript@5.8.3) + version: 8.14.1(mocha@11.7.4)(typescript@5.8.3) vscode-languageclient: specifier: ^9.0.1 version: 9.0.1 @@ -3726,13 +3729,13 @@ importers: version: 22.15.21 '@types/vscode': specifier: ^1.100.0 - version: 1.102.0 + version: 1.105.0 '@typescript-eslint/eslint-plugin': specifier: ^8.32.1 - version: 8.33.1(@typescript-eslint/parser@8.33.1(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3) + version: 8.33.1(@typescript-eslint/parser@8.33.1(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3))(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3) '@typescript-eslint/parser': specifier: ^8.32.1 - version: 8.33.1(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3) + version: 8.33.1(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3) '@vscode/test-electron': specifier: ^2.5.2 version: 2.5.2 @@ -3750,13 +3753,13 @@ importers: version: 1.0.1 eslint: specifier: ^9.27.0 - version: 9.27.0(jiti@2.5.1) + version: 9.27.0(jiti@2.6.1) glob: specifier: ^11.0.2 version: 11.0.3 mocha: specifier: ^11.4.0 - version: 11.7.1 + version: 11.7.4 playwright-core: specifier: ~1.55.1 version: 1.55.1 @@ -3765,7 +3768,7 @@ importers: version: 6.0.1 ts-loader: specifier: ^9.5.2 - version: 9.5.2(typescript@5.8.3)(webpack@5.101.0) + version: 9.5.4(typescript@5.8.3)(webpack@5.102.1) ts-morph: specifier: ^26.0.0 version: 26.0.0 @@ -3774,10 +3777,10 @@ importers: version: 5.8.3 webpack: specifier: ^5.94.0 - version: 5.101.0(webpack-cli@4.10.0) + version: 5.102.1(webpack-cli@4.10.0) webpack-cli: specifier: ^4.10.0 - version: 4.10.0(webpack@5.101.0) + version: 4.10.0(webpack@5.102.1) yaml: specifier: ~2.8.0 version: 2.8.1 @@ -3814,13 +3817,13 @@ importers: version: 18.2.0 '@typescript-eslint/eslint-plugin': specifier: ^8.32.1 - version: 8.33.1(@typescript-eslint/parser@8.33.1(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3) + version: 8.33.1(@typescript-eslint/parser@8.33.1(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3))(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3) '@typescript-eslint/parser': specifier: ^8.32.1 - version: 8.33.1(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3) + version: 8.33.1(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3) eslint: specifier: ^9.27.0 - version: 9.27.0(jiti@2.5.1) + version: 9.27.0(jiti@2.6.1) typescript: specifier: 5.8.3 version: 5.8.3 @@ -3856,10 +3859,10 @@ importers: version: 1.55.1 '@pmmmwh/react-refresh-webpack-plugin': specifier: ~0.6.0 - version: 0.6.1(@types/webpack@5.28.5(webpack-cli@5.1.4))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.2)(webpack-hot-middleware@2.26.1)(webpack@5.101.0) + version: 0.6.1(@types/webpack@5.28.5(webpack-cli@5.1.4))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.2)(webpack-hot-middleware@2.26.1)(webpack@5.102.1) '@tanstack/query-core': specifier: ^5.76.0 - version: 5.83.1 + version: 5.90.6 '@tanstack/react-query': specifier: 5.76.1 version: 5.76.1(react@18.2.0) @@ -3883,7 +3886,7 @@ importers: version: 1.57.5 '@uiw/react-codemirror': specifier: ~4.23.12 - version: 4.23.14(@codemirror/lint@6.8.5)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.38.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 4.23.14(@codemirror/lint@6.8.5)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.38.6)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@vscode/webview-ui-toolkit': specifier: ^1.4.0 version: 1.4.0(react@18.2.0) @@ -3958,7 +3961,7 @@ importers: version: 0.1.92(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react-syntax-highlighter: specifier: ~15.6.1 - version: 15.6.1(react@18.2.0) + version: 15.6.6(react@18.2.0) swagger-ui-react: specifier: 5.21.0 version: 5.21.0(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -3977,25 +3980,25 @@ importers: devDependencies: '@babel/plugin-syntax-flow': specifier: ~7.27.1 - version: 7.27.1(@babel/core@7.27.7) + version: 7.27.1(@babel/core@7.28.5) '@babel/preset-typescript': specifier: ~7.27.1 - version: 7.27.1(@babel/core@7.27.7) + version: 7.27.1(@babel/core@7.28.5) '@headlessui/react': specifier: ~2.2.4 - version: 2.2.7(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 2.2.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/addon-actions': specifier: ~8.6.14 - version: 8.6.14(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3)) + version: 8.6.14(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3)) '@storybook/addon-essentials': specifier: ~8.6.14 - version: 8.6.14(@types/react@18.2.0)(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3)) + version: 8.6.14(@types/react@18.2.0)(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3)) '@storybook/addon-links': specifier: ~8.6.14 - version: 8.6.14(react@18.2.0)(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3)) + version: 8.6.14(react@18.2.0)(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3)) '@storybook/react-webpack5': specifier: ~8.6.14 - version: 8.6.14(@storybook/test@8.6.14(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3))(typescript@5.8.3)(webpack-cli@5.1.4) + version: 8.6.14(@storybook/test@8.6.14(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3))(typescript@5.8.3)(webpack-cli@5.1.4) '@types/lodash': specifier: ~4.17.17 version: 4.17.17 @@ -4016,19 +4019,19 @@ importers: version: 2.4.1 css-loader: specifier: ^7.1.2 - version: 7.1.2(webpack@5.101.0) + version: 7.1.2(webpack@5.102.1) sass-loader: specifier: ^16.0.5 - version: 16.0.5(sass@1.90.0)(webpack@5.101.0) + version: 16.0.6(sass@1.93.3)(webpack@5.102.1) source-map-loader: specifier: ^5.0.0 - version: 5.0.0(webpack@5.101.0) + version: 5.0.0(webpack@5.102.1) style-loader: specifier: ^4.0.0 - version: 4.0.0(webpack@5.101.0) + version: 4.0.0(webpack@5.102.1) ts-loader: specifier: ^9.5.2 - version: 9.5.2(typescript@5.8.3)(webpack@5.101.0) + version: 9.5.4(typescript@5.8.3)(webpack@5.102.1) typescript: specifier: 5.8.3 version: 5.8.3 @@ -4037,13 +4040,13 @@ importers: version: 3.17.5 webpack: specifier: ^5.94.0 - version: 5.101.0(webpack-cli@5.1.4) + version: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@5.1.4) webpack-cli: specifier: ~5.1.4 - version: 5.1.4(webpack-dev-server@5.2.2)(webpack@5.101.0) + version: 5.1.4(webpack-dev-server@5.2.2)(webpack@5.102.1) webpack-dev-server: specifier: ^5.2.1 - version: 5.2.2(webpack-cli@5.1.4)(webpack@5.101.0) + version: 5.2.2(webpack-cli@5.1.4)(webpack@5.102.1) yaml: specifier: ~2.8.0 version: 2.8.1 @@ -4055,7 +4058,7 @@ importers: version: 22.15.35 eslint: specifier: ~9.27.0 - version: 9.27.0(jiti@2.5.1) + version: 9.27.0(jiti@2.6.1) jsonix: specifier: ~3.0.0 version: 3.0.0 @@ -4071,13 +4074,13 @@ importers: version: 11.2.0(size-limit@11.2.0) '@typescript-eslint/eslint-plugin': specifier: ~8.32.1 - version: 8.32.1(@typescript-eslint/parser@8.33.1(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3) + version: 8.32.1(@typescript-eslint/parser@8.33.1(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3))(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3) eslint-plugin-react-hooks: specifier: ~5.2.0 - version: 5.2.0(eslint@9.27.0(jiti@2.5.1)) + version: 5.2.0(eslint@9.27.0(jiti@2.6.1)) eslint-plugin-unused-imports: specifier: ~4.1.4 - version: 4.1.4(@typescript-eslint/eslint-plugin@8.32.1(@typescript-eslint/parser@8.33.1(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.27.0(jiti@2.5.1)) + version: 4.1.4(@typescript-eslint/eslint-plugin@8.32.1(@typescript-eslint/parser@8.33.1(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3))(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3))(eslint@9.27.0(jiti@2.6.1)) husky: specifier: ^9.1.7 version: 9.1.7 @@ -4117,7 +4120,7 @@ importers: dependencies: '@aws-sdk/client-s3': specifier: ^3.817.0 - version: 3.862.0 + version: 3.922.0 '@vscode-logging/logger': specifier: ^2.0.0 version: 2.0.0 @@ -4132,7 +4135,7 @@ importers: version: 1.0.0(tslib@2.8.1) '@vscode/iconv-lite-umd': specifier: ^0.7.0 - version: 0.7.0 + version: 0.7.1 '@vscode/webview-ui-toolkit': specifier: ^1.4.0 version: 1.4.0(react@19.1.0) @@ -4177,7 +4180,7 @@ importers: version: 3.25.76 zustand: specifier: ^5.0.5 - version: 5.0.7(@types/react@18.2.0)(react@19.1.0)(use-sync-external-store@1.5.0(react@19.1.0)) + version: 5.0.8(@types/react@18.2.0)(react@19.1.0)(use-sync-external-store@1.6.0(react@19.1.0)) devDependencies: '@biomejs/biome': specifier: ^1.9.4 @@ -4199,7 +4202,7 @@ importers: version: 22.15.35 '@types/vscode': specifier: ^1.100.0 - version: 1.102.0 + version: 1.105.0 '@types/which': specifier: ^3.0.4 version: 3.0.4 @@ -4211,10 +4214,10 @@ importers: version: link:../../common-libs/playwright-vscode-tester axios: specifier: ^1.12.0 - version: 1.12.0 + version: 1.12.2 copy-webpack-plugin: specifier: ^13.0.0 - version: 13.0.0(webpack@5.101.0) + version: 13.0.1(webpack@5.102.1) copyfiles: specifier: ^2.4.1 version: 2.4.1 @@ -4223,25 +4226,25 @@ importers: version: 6.0.0 mocha: specifier: ^11.5.0 - version: 11.7.1 + version: 11.7.4 terser-webpack-plugin: specifier: ^5.3.14 - version: 5.3.14(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack@5.101.0) + version: 5.3.14(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack@5.102.1) ts-loader: specifier: ~9.5.2 - version: 9.5.2(typescript@5.8.3)(webpack@5.101.0) + version: 9.5.4(typescript@5.8.3)(webpack@5.102.1) typescript: specifier: ^5.8.3 version: 5.8.3 vscode-extension-tester: specifier: ^8.14.1 - version: 8.14.1(mocha@11.7.1)(typescript@5.8.3) + version: 8.14.1(mocha@11.7.4)(typescript@5.8.3) webpack: specifier: ^5.94.0 - version: 5.101.0(webpack-cli@6.0.1) + version: 5.102.1(webpack-cli@6.0.1) webpack-cli: specifier: ^6.0.1 - version: 6.0.1(webpack@5.101.0) + version: 6.0.1(webpack@5.102.1) webpack-permissions-plugin: specifier: ^1.0.10 version: 1.0.10 @@ -4256,7 +4259,7 @@ importers: version: 0.8.2 '@headlessui/react': specifier: ^2.1.2 - version: 2.2.7(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 2.2.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@hookform/resolvers': specifier: 5.2.2 version: 5.2.2(react-hook-form@7.63.0(react@18.2.0)) @@ -4310,7 +4313,7 @@ importers: version: 4.0.1 swagger-ui-react: specifier: ^5.22.0 - version: 5.27.1(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 5.30.1(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) timezone-support: specifier: ^3.1.0 version: 3.1.0 @@ -4353,10 +4356,10 @@ importers: version: 2.4.1 css-loader: specifier: ^7.1.2 - version: 7.1.2(webpack@5.101.0) + version: 7.1.2(webpack@5.102.1) file-loader: specifier: ^6.2.0 - version: 6.2.0(webpack@5.101.0) + version: 6.2.0(webpack@5.102.1) path: specifier: ^0.12.7 version: 0.12.7 @@ -4365,60 +4368,60 @@ importers: version: 8.5.6 postcss-loader: specifier: ^8.1.1 - version: 8.1.1(postcss@8.5.6)(typescript@5.8.3)(webpack@5.101.0) + version: 8.2.0(postcss@8.5.6)(typescript@5.8.3)(webpack@5.102.1) sass-loader: specifier: ^16.0.5 - version: 16.0.5(sass@1.90.0)(webpack@5.101.0) + version: 16.0.6(sass@1.93.3)(webpack@5.102.1) source-map-loader: specifier: ^5.0.0 - version: 5.0.0(webpack@5.101.0) + version: 5.0.0(webpack@5.102.1) style-loader: specifier: ^4.0.0 - version: 4.0.0(webpack@5.101.0) + version: 4.0.0(webpack@5.102.1) tailwindcss: specifier: ^4.1.7 - version: 4.1.11 + version: 4.1.16 ts-loader: specifier: ^9.5.2 - version: 9.5.2(typescript@5.8.3)(webpack@5.101.0) + version: 9.5.4(typescript@5.8.3)(webpack@5.102.1) typescript: specifier: 5.8.3 version: 5.8.3 webpack: specifier: ^5.94.0 - version: 5.101.0(webpack-cli@6.0.1) + version: 5.102.1(webpack-cli@6.0.1) webpack-cli: specifier: ^6.0.1 - version: 6.0.1(webpack-dev-server@5.2.2)(webpack@5.101.0) + version: 6.0.1(webpack-dev-server@5.2.2)(webpack@5.102.1) webpack-dev-server: specifier: ^5.2.1 - version: 5.2.2(webpack-cli@6.0.1)(webpack@5.101.0) + version: 5.2.2(webpack-cli@6.0.1)(webpack@5.102.1) packages: - '@adobe/css-tools@4.4.3': - resolution: {integrity: sha512-VQKMkwriZbaOgVCby1UDY/LDk5fIjhQicCvVPFqfe+69fWaPWydbWJ3wRt59/YzIwda1I81loas3oCoHxnqvdA==} + '@adobe/css-tools@4.4.4': + resolution: {integrity: sha512-Elp+iwUx5rN5+Y8xLt5/GRoG20WGoDCQ/1Fb+1LiGtvwbDavuSk0jhD/eZdckHAuzcDzccnkv+rEjyWfRx18gg==} - '@ai-sdk/amazon-bedrock@3.0.30': - resolution: {integrity: sha512-aF21FFpTusWAdXc70bqA8SIFnIfCokwrp4G8efMETIRXIH+N5QGd6UYEMbfMfwx4P9iN9v3oUwsHsRtr87TKPQ==} + '@ai-sdk/amazon-bedrock@3.0.51': + resolution: {integrity: sha512-nPyUZDH9XS5iqgxM2ZPK2kSE1M1UoXdWaqWRqZ7k90BZu32VEreL1Z3pTTo58qEj9OuOkdlQ1oO5DujIE7VDLA==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/anthropic@2.0.23': - resolution: {integrity: sha512-ZEBiiv1UhjGjBwUU63pFhLK5LCSlNDb1idY9K1oZHm5/Fda1cuTojf32tOp0opH0RPbPAN/F8fyyNjbU33n9Kw==} + '@ai-sdk/anthropic@2.0.41': + resolution: {integrity: sha512-ZQebpyE6rM3JoeEyhJXUNDiRfVegw8ZrxT+rB8yurxI5JXDnlGpYQvSPmdR8TQfMbps4YkggfbcOwMeEZaTS+g==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/gateway@1.0.32': - resolution: {integrity: sha512-TQRIM63EI/ccJBc7RxeB8nq/CnGNnyl7eu5stWdLwL41stkV5skVeZJe0QRvFbaOrwCkgUVE0yrUqJi4tgDC1A==} + '@ai-sdk/gateway@2.0.6': + resolution: {integrity: sha512-FmhR6Tle09I/RUda8WSPpJ57mjPWzhiVVlB50D+k+Qf/PBW0CBtnbAUxlNSR5v+NIZNLTK3C56lhb23ntEdxhQ==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/provider-utils@3.0.10': - resolution: {integrity: sha512-T1gZ76gEIwffep6MWI0QNy9jgoybUHE7TRaHB5k54K8mF91ciGFlbtCGxDYhMH3nCRergKwYFIDeFF0hJSIQHQ==} + '@ai-sdk/provider-utils@3.0.16': + resolution: {integrity: sha512-lsWQY9aDXHitw7C1QRYIbVGmgwyT98TF3MfM8alNIXKpdJdi+W782Rzd9f1RyOfgRmZ08gJ2EYNDhWNK7RqpEA==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4.1.8 @@ -4470,123 +4473,123 @@ packages: '@aws-crypto/util@5.2.0': resolution: {integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==} - '@aws-sdk/client-s3@3.862.0': - resolution: {integrity: sha512-sPmqv2qKORtGRN51cRoHyTOK/SMejG1snXUQytuximeDPn5e/p6cCsYwOI8QuQNW+/7HbmosEz91lPcbClWXxg==} + '@aws-sdk/client-s3@3.922.0': + resolution: {integrity: sha512-SZRaZUUAHCWfEyBf4SRSPd29ko4uFoJpfd0E/w1meE68XhFB52FTtz/71UqYcwqZmN+s7oUNFFZT+DE/dnQSEA==} engines: {node: '>=18.0.0'} - '@aws-sdk/client-sso@3.862.0': - resolution: {integrity: sha512-zHf7Bn22K09BdFgiGg6yWfy927djGhs58KB5qpqD2ie7u796TvetPH14p6UUAOGyk6aah+wR/WLFFoc+51uADA==} + '@aws-sdk/client-sso@3.922.0': + resolution: {integrity: sha512-jdHs7uy7cSpiMvrxhYmqHyJxgK7hyqw4plG8OQ4YTBpq0SbfAxdoOuOkwJ1IVUUQho4otR1xYYjiX/8e8J8qwQ==} engines: {node: '>=18.0.0'} - '@aws-sdk/core@3.862.0': - resolution: {integrity: sha512-oJ5Au3QCAQmOmh7PD7dUxnPDxWsT9Z95XEOiJV027//11pwRSUMiNSvW8srPa3i7CZRNjz5QHX6O4KqX9PxNsQ==} + '@aws-sdk/core@3.922.0': + resolution: {integrity: sha512-EvfP4cqJfpO3L2v5vkIlTkMesPtRwWlMfsaW6Tpfm7iYfBOuTi6jx60pMDMTyJNVfh6cGmXwh/kj1jQdR+w99Q==} engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-env@3.862.0': - resolution: {integrity: sha512-/nafSJMuixcrCN1SmsOBIQ5m1fhr9ZnCxw3JZD9qJm3yNXhAshqAC+KcA3JGFnvdBVLhY/pUpdoQmxZmuFJItQ==} + '@aws-sdk/credential-provider-env@3.922.0': + resolution: {integrity: sha512-WikGQpKkROJSK3D3E7odPjZ8tU7WJp5/TgGdRuZw3izsHUeH48xMv6IznafpRTmvHcjAbDQj4U3CJZNAzOK/OQ==} engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-http@3.862.0': - resolution: {integrity: sha512-JnF3vH6GxvPuMGSI5QsmVlmWc0ebElEiJvUGByTMSr/BfzywZdJBKzPVqViwNqAW5cBWiZ/rpL+ekZ24Nb0Vow==} + '@aws-sdk/credential-provider-http@3.922.0': + resolution: {integrity: sha512-i72DgHMK7ydAEqdzU0Duqh60Q8W59EZmRJ73y0Y5oFmNOqnYsAI+UXyOoCsubp+Dkr6+yOwAn1gPt1XGE9Aowg==} engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-ini@3.862.0': - resolution: {integrity: sha512-LkpZ2S9DQCTHTPu1p0Qg5bM5DN/b/cEflW269RoeuYpiznxdV8r/mqYuhh/VPXQKkBZdiILe4/OODtg+vk4S0A==} + '@aws-sdk/credential-provider-ini@3.922.0': + resolution: {integrity: sha512-bVF+pI5UCLNkvbiZr/t2fgTtv84s8FCdOGAPxQiQcw5qOZywNuuCCY3wIIchmQr6GJr8YFkEp5LgDCac5EC5aQ==} engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-node@3.862.0': - resolution: {integrity: sha512-4+X/LdEGPCBMlhn6MCcNJ5yJ8k+yDXeSO1l9X49NNQiG60SH/yObB3VvotcHWC+A3EEZx4dOw/ylcPt86e7Irg==} + '@aws-sdk/credential-provider-node@3.922.0': + resolution: {integrity: sha512-agCwaD6mBihToHkjycL8ObIS2XOnWypWZZWhJSoWyHwFrhEKz1zGvgylK9Dc711oUfU+zU6J8e0JPKNJMNb3BQ==} engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-process@3.862.0': - resolution: {integrity: sha512-bR/eRCjRsilAuaUpNzTWWE4sUxJC4k571+4LLxE6Xo+0oYHfH+Ih00+sQRX06s4SqZZROdppissm3OOr5d26qA==} + '@aws-sdk/credential-provider-process@3.922.0': + resolution: {integrity: sha512-1DZOYezT6okslpvMW7oA2q+y17CJd4fxjNFH0jtThfswdh9CtG62+wxenqO+NExttq0UMaKisrkZiVrYQBTShw==} engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-sso@3.862.0': - resolution: {integrity: sha512-1E1rTKWJAbzN/uiIXFPCVAS2PrZgy87O6BEO69404bI7o/iYHOfohfn66bdSqBnZ7Tn/hFJdCk6i23U3pibf5w==} + '@aws-sdk/credential-provider-sso@3.922.0': + resolution: {integrity: sha512-nbD3G3hShTYxLCkKMqLkLPtKwAAfxdY/k9jHtZmVBFXek2T6tQrqZHKxlAu+fd23Ga4/Aik7DLQQx1RA1a5ipg==} engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-web-identity@3.862.0': - resolution: {integrity: sha512-Skv07eOS4usDf/Bna3FWKIo0/35qhxb22Z/OxrbNtx2Hxa/upp42S+Y6fA9qzgLqXMNYDZngKYwwMPtzrbkMAg==} + '@aws-sdk/credential-provider-web-identity@3.922.0': + resolution: {integrity: sha512-wjGIhgMHGGQfQTdFaJphNOKyAL8wZs6znJdHADPVURmgR+EWLyN/0fDO1u7wx8xaLMZpbHIFWBEvf9TritR/cQ==} engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-bucket-endpoint@3.862.0': - resolution: {integrity: sha512-Wcsc7VPLjImQw+CP1/YkwyofMs9Ab6dVq96iS8p0zv0C6YTaMjvillkau4zFfrrrTshdzFWKptIFhKK8Zsei1g==} + '@aws-sdk/middleware-bucket-endpoint@3.922.0': + resolution: {integrity: sha512-Dpr2YeOaLFqt3q1hocwBesynE3x8/dXZqXZRuzSX/9/VQcwYBFChHAm4mTAl4zuvArtDbLrwzWSxmOWYZGtq5w==} engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-expect-continue@3.862.0': - resolution: {integrity: sha512-oG3AaVUJ+26p0ESU4INFn6MmqqiBFZGrebST66Or+YBhteed2rbbFl7mCfjtPWUFgquQlvT1UP19P3LjQKeKpw==} + '@aws-sdk/middleware-expect-continue@3.922.0': + resolution: {integrity: sha512-xmnLWMtmHJHJBupSWMUEW1gyxuRIeQ1Ov2xa8Tqq77fPr4Ft2AluEwiDMaZIMHoAvpxWKEEt9Si59Li7GIA+bQ==} engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-flexible-checksums@3.862.0': - resolution: {integrity: sha512-3PuTNJs43GmtNIfj4R/aNPGX6lfIq0gjfekVPUO/MnP/eV+RVgkCvEqWYyN6RZyOzrzsJydXbmydwLHAwMzxiw==} + '@aws-sdk/middleware-flexible-checksums@3.922.0': + resolution: {integrity: sha512-G363np7YcJhf+gBucskdv8cOTbs2TRwocEzRupuqDIooGDlLBlfJrvwehdgtWR8l53yjJR3zcHvGrVPTe2h8Nw==} engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-host-header@3.862.0': - resolution: {integrity: sha512-jDje8dCFeFHfuCAxMDXBs8hy8q9NCTlyK4ThyyfAj3U4Pixly2mmzY2u7b7AyGhWsjJNx8uhTjlYq5zkQPQCYw==} + '@aws-sdk/middleware-host-header@3.922.0': + resolution: {integrity: sha512-HPquFgBnq/KqKRVkiuCt97PmWbKtxQ5iUNLEc6FIviqOoZTmaYG3EDsIbuFBz9C4RHJU4FKLmHL2bL3FEId6AA==} engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-location-constraint@3.862.0': - resolution: {integrity: sha512-MnwLxCw7Cc9OngEH3SHFhrLlDI9WVxaBkp3oTsdY9JE7v8OE38wQ9vtjaRsynjwu0WRtrctSHbpd7h/QVvtjyA==} + '@aws-sdk/middleware-location-constraint@3.922.0': + resolution: {integrity: sha512-T4iqd7WQ2DDjCH/0s50mnhdoX+IJns83ZE+3zj9IDlpU0N2aq8R91IG890qTfYkUEdP9yRm0xir/CNed+v6Dew==} engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-logger@3.862.0': - resolution: {integrity: sha512-N/bXSJznNBR/i7Ofmf9+gM6dx/SPBK09ZWLKsW5iQjqKxAKn/2DozlnE54uiEs1saHZWoNDRg69Ww4XYYSlG1Q==} + '@aws-sdk/middleware-logger@3.922.0': + resolution: {integrity: sha512-AkvYO6b80FBm5/kk2E636zNNcNgjztNNUxpqVx+huyGn9ZqGTzS4kLqW2hO6CBe5APzVtPCtiQsXL24nzuOlAg==} engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-recursion-detection@3.862.0': - resolution: {integrity: sha512-KVoo3IOzEkTq97YKM4uxZcYFSNnMkhW/qj22csofLegZi5fk90ztUnnaeKfaEJHfHp/tm1Y3uSoOXH45s++kKQ==} + '@aws-sdk/middleware-recursion-detection@3.922.0': + resolution: {integrity: sha512-TtSCEDonV/9R0VhVlCpxZbp/9sxQvTTRKzIf8LxW3uXpby6Wl8IxEciBJlxmSkoqxh542WRcko7NYODlvL/gDA==} engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-sdk-s3@3.862.0': - resolution: {integrity: sha512-rDRHxxZuY9E7py/OVYN1VQRAw0efEThvK5sZ3HfNNpL6Zk4HeOGtc6NtULSfeCeyHCVlJsdOVkIxJge2Ax5vSA==} + '@aws-sdk/middleware-sdk-s3@3.922.0': + resolution: {integrity: sha512-ygg8lME1oFAbsH42ed2wtGqfHLoT5irgx6VC4X98j79fV1qXEwwwbqMsAiMQ/HJehpjqAFRVsHox3MHLN48Z5A==} engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-ssec@3.862.0': - resolution: {integrity: sha512-72VtP7DZC8lYTE2L3Efx2BrD98oe9WTK8X6hmd3WTLkbIjvgWQWIdjgaFXBs8WevsXkewIctfyA3KEezvL5ggw==} + '@aws-sdk/middleware-ssec@3.922.0': + resolution: {integrity: sha512-eHvSJZTSRJO+/tjjGD6ocnPc8q9o3m26+qbwQTu/4V6yOJQ1q+xkDZNqwJQphL+CodYaQ7uljp8g1Ji/AN3D9w==} engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-user-agent@3.862.0': - resolution: {integrity: sha512-7OOaGbAw7Kg1zoKO9wV8cA5NnJC+RYsocjmP3FZ0FiKa7gbmeQ6Cfheunzd1Re9fgelgL3OIRjqO5mSmOIhyhA==} + '@aws-sdk/middleware-user-agent@3.922.0': + resolution: {integrity: sha512-N4Qx/9KP3oVQBJOrSghhz8iZFtUC2NNeSZt88hpPhbqAEAtuX8aD8OzVcpnAtrwWqy82Yd2YTxlkqMGkgqnBsQ==} engines: {node: '>=18.0.0'} - '@aws-sdk/nested-clients@3.862.0': - resolution: {integrity: sha512-fPrfXa+m9S0DA5l8+p4A9NFQ22lEHm/ezaUWWWs6F3/U49lR6yKhNAGji3LlIG7b7ZdTJ3smAcaxNHclJsoQIg==} + '@aws-sdk/nested-clients@3.922.0': + resolution: {integrity: sha512-uYvKCF1TGh/MuJ4TMqmUM0Csuao02HawcseG4LUDyxdUsd/EFuxalWq1Cx4fKZQ2K8F504efZBjctMAMNY+l7A==} engines: {node: '>=18.0.0'} - '@aws-sdk/region-config-resolver@3.862.0': - resolution: {integrity: sha512-VisR+/HuVFICrBPY+q9novEiE4b3mvDofWqyvmxHcWM7HumTz9ZQSuEtnlB/92GVM3KDUrR9EmBHNRrfXYZkcQ==} + '@aws-sdk/region-config-resolver@3.922.0': + resolution: {integrity: sha512-44Y/rNNwhngR2KHp6gkx//TOr56/hx6s4l+XLjOqH7EBCHL7XhnrT1y92L+DLiroVr1tCSmO8eHQwBv0Y2+mvw==} engines: {node: '>=18.0.0'} - '@aws-sdk/signature-v4-multi-region@3.862.0': - resolution: {integrity: sha512-ZAjrbXnu3yTxXMPiEVxDP/I8zfssrLQGgUi0NgJP6Cz/mOS/S/3hfOZrMown1jLhkTrzLpjNE8Q2n18VtRbScQ==} + '@aws-sdk/signature-v4-multi-region@3.922.0': + resolution: {integrity: sha512-mmsgEEL5pE+A7gFYiJMDBCLVciaXq4EFI5iAP7bPpnHvOplnNOYxVy2IreKMllGvrfjVyLnwxzZYlo5zZ65FWg==} engines: {node: '>=18.0.0'} - '@aws-sdk/token-providers@3.862.0': - resolution: {integrity: sha512-p3u7aom3WQ7ArFByNbccRIkCssk5BB4IUX9oFQa2P0MOFCbkKFBLG7WMegRXhq5grOHmI4SRftEDDy3CcoTqSQ==} + '@aws-sdk/token-providers@3.922.0': + resolution: {integrity: sha512-/inmPnjZE0ZBE16zaCowAvouSx05FJ7p6BQYuzlJ8vxEU0sS0Hf8fvhuiRnN9V9eDUPIBY+/5EjbMWygXL4wlQ==} engines: {node: '>=18.0.0'} - '@aws-sdk/types@3.862.0': - resolution: {integrity: sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==} + '@aws-sdk/types@3.922.0': + resolution: {integrity: sha512-eLA6XjVobAUAMivvM7DBL79mnHyrm+32TkXNWZua5mnxF+6kQCfblKKJvxMZLGosO53/Ex46ogim8IY5Nbqv2w==} engines: {node: '>=18.0.0'} - '@aws-sdk/util-arn-parser@3.804.0': - resolution: {integrity: sha512-wmBJqn1DRXnZu3b4EkE6CWnoWMo1ZMvlfkqU5zPz67xx1GMaXlDCchFvKAXMjk4jn/L1O3tKnoFDNsoLV1kgNQ==} + '@aws-sdk/util-arn-parser@3.893.0': + resolution: {integrity: sha512-u8H4f2Zsi19DGnwj5FSZzDMhytYF/bCh37vAtBsn3cNDL3YG578X5oc+wSX54pM3tOxS+NY7tvOAo52SW7koUA==} engines: {node: '>=18.0.0'} - '@aws-sdk/util-endpoints@3.862.0': - resolution: {integrity: sha512-eCZuScdE9MWWkHGM2BJxm726MCmWk/dlHjOKvkM0sN1zxBellBMw5JohNss1Z8/TUmnW2gb9XHTOiHuGjOdksA==} + '@aws-sdk/util-endpoints@3.922.0': + resolution: {integrity: sha512-4ZdQCSuNMY8HMlR1YN4MRDdXuKd+uQTeKIr5/pIM+g3TjInZoj8imvXudjcrFGA63UF3t92YVTkBq88mg58RXQ==} engines: {node: '>=18.0.0'} - '@aws-sdk/util-locate-window@3.804.0': - resolution: {integrity: sha512-zVoRfpmBVPodYlnMjgVjfGoEZagyRF5IPn3Uo6ZvOZp24chnW/FRstH7ESDHDDRga4z3V+ElUQHKpFDXWyBW5A==} + '@aws-sdk/util-locate-window@3.893.0': + resolution: {integrity: sha512-T89pFfgat6c8nMmpI8eKjBcDcgJq36+m9oiXbcUzeU55MP9ZuGgBomGjGnHaEyF36jenW9gmg3NfZDm0AO2XPg==} engines: {node: '>=18.0.0'} - '@aws-sdk/util-user-agent-browser@3.862.0': - resolution: {integrity: sha512-BmPTlm0r9/10MMr5ND9E92r8KMZbq5ltYXYpVcUbAsnB1RJ8ASJuRoLne5F7mB3YMx0FJoOTuSq7LdQM3LgW3Q==} + '@aws-sdk/util-user-agent-browser@3.922.0': + resolution: {integrity: sha512-qOJAERZ3Plj1st7M4Q5henl5FRpE30uLm6L9edZqZXGR6c7ry9jzexWamWVpQ4H4xVAVmiO9dIEBAfbq4mduOA==} - '@aws-sdk/util-user-agent-node@3.862.0': - resolution: {integrity: sha512-KtJdSoa1Vmwquy+zwiqRQjtsuKaHlVcZm8tsTchHbc6809/VeaC+ZZOqlil9IWOOyWNGIX8GTRwP9TEb8cT5Gw==} + '@aws-sdk/util-user-agent-node@3.922.0': + resolution: {integrity: sha512-NrPe/Rsr5kcGunkog0eBV+bY0inkRELsD2SacC4lQZvZiXf8VJ2Y7j+Yq1tB+h+FPLsdt3v9wItIvDf/laAm0Q==} engines: {node: '>=18.0.0'} peerDependencies: aws-crt: '>=1.0.0' @@ -4594,8 +4597,12 @@ packages: aws-crt: optional: true - '@aws-sdk/xml-builder@3.862.0': - resolution: {integrity: sha512-6Ed0kmC1NMbuFTEgNmamAUU1h5gShgxL1hBVLbEzUa3trX5aJBz1vU4bXaBTvOYUAnOHtiy1Ml4AMStd6hJnFA==} + '@aws-sdk/xml-builder@3.921.0': + resolution: {integrity: sha512-LVHg0jgjyicKKvpNIEMXIMr1EBViESxcPkqfOlT+X1FkmUMTNZEEVF18tOJg4m4hV5vxtkWcqtr4IEeWa1C41Q==} + engines: {node: '>=18.0.0'} + + '@aws/lambda-invoke-store@0.1.1': + resolution: {integrity: sha512-RcLam17LdlbSOSp9VxmUu1eI6Mwxp+OwhD2QhiSNmNCzoDb0EeUXTD2n/WbcnrAYMGlmf05th6QYq23VqvJqpA==} engines: {node: '>=18.0.0'} '@azu/format-text@1.0.2': @@ -4608,52 +4615,52 @@ packages: resolution: {integrity: sha512-nBrLsEWm4J2u5LpAPjxADTlq3trDgVZZXHNKabeXZtpq3d3AbN/KGO82R87rdDz5/lYB024rtEf10/q0urNgsA==} engines: {node: '>=18.0.0'} - '@azure/core-auth@1.10.0': - resolution: {integrity: sha512-88Djs5vBvGbHQHf5ZZcaoNHo6Y8BKZkt3cw2iuJIQzLEgH4Ox6Tm4hjFhbqOxyYsgIG/eJbFEHpxRIfEEWv5Ow==} + '@azure/core-auth@1.10.1': + resolution: {integrity: sha512-ykRMW8PjVAn+RS6ww5cmK9U2CyH9p4Q88YJwvUslfuMmN98w/2rdGRLPqJYObapBCdzBVeDgYWdJnFPFb7qzpg==} engines: {node: '>=20.0.0'} - '@azure/core-client@1.10.0': - resolution: {integrity: sha512-O4aP3CLFNodg8eTHXECaH3B3CjicfzkxVtnrfLkOq0XNP7TIECGfHpK/C6vADZkWP75wzmdBnsIA8ksuJMk18g==} + '@azure/core-client@1.10.1': + resolution: {integrity: sha512-Nh5PhEOeY6PrnxNPsEHRr9eimxLwgLlpmguQaHKBinFYA/RU9+kOYVOQqOrTsCL+KSxrLLl1gD8Dk5BFW/7l/w==} engines: {node: '>=20.0.0'} - '@azure/core-rest-pipeline@1.22.0': - resolution: {integrity: sha512-OKHmb3/Kpm06HypvB3g6Q3zJuvyXcpxDpCS1PnU8OV6AJgSFaee/covXBcPbWc6XDDxtEPlbi3EMQ6nUiPaQtw==} + '@azure/core-rest-pipeline@1.22.1': + resolution: {integrity: sha512-UVZlVLfLyz6g3Hy7GNDpooMQonUygH7ghdiSASOOHy97fKj/mPLqgDX7aidOijn+sCMU+WU8NjlPlNTgnvbcGA==} engines: {node: '>=20.0.0'} - '@azure/core-tracing@1.3.0': - resolution: {integrity: sha512-+XvmZLLWPe67WXNZo9Oc9CrPj/Tm8QnHR92fFAFdnbzwNdCH1h+7UdpaQgRSBsMY+oW1kHXNUZQLdZ1gHX3ROw==} + '@azure/core-tracing@1.3.1': + resolution: {integrity: sha512-9MWKevR7Hz8kNzzPLfX4EAtGM2b8mr50HPDBvio96bURP/9C+HjdH3sBlLSNNrvRAr5/k/svoH457gB5IKpmwQ==} engines: {node: '>=20.0.0'} - '@azure/core-util@1.13.0': - resolution: {integrity: sha512-o0psW8QWQ58fq3i24Q1K2XfS/jYTxr7O1HRcyUE9bV9NttLU+kYOH82Ixj8DGlMTOWgxm1Sss2QAfKK5UkSPxw==} + '@azure/core-util@1.13.1': + resolution: {integrity: sha512-XPArKLzsvl0Hf0CaGyKHUyVgF7oDnhKoP85Xv6M4StF/1AhfORhZudHtOyf2s+FcbuQ9dPRAjB8J2KvRRMUK2A==} engines: {node: '>=20.0.0'} - '@azure/identity@4.11.1': - resolution: {integrity: sha512-0ZdsLRaOyLxtCYgyuqyWqGU5XQ9gGnjxgfoNTt1pvELGkkUFrMATABZFIq8gusM7N1qbqpVtwLOhk0d/3kacLg==} + '@azure/identity@4.13.0': + resolution: {integrity: sha512-uWC0fssc+hs1TGGVkkghiaFkkS7NkTxfnCH+Hdg+yTehTpMcehpok4PgUKKdyCH+9ldu6FhiHRv84Ntqj1vVcw==} engines: {node: '>=20.0.0'} '@azure/logger@1.3.0': resolution: {integrity: sha512-fCqPIfOcLE+CGqGPd66c8bZpwAji98tZ4JI9i/mlTNTlsIWslCfpg48s/ypyLxZTump5sypjrKn2/kY7q8oAbA==} engines: {node: '>=20.0.0'} - '@azure/msal-browser@4.19.0': - resolution: {integrity: sha512-g6Ea+sJmK7l5NUyrPhtD7DNj/tZcsr6VTNNLNuYs8yPvL3HNiIpO/0kzXntF9AqJ/6L+uz9aHmoT1x+RNq6zBQ==} + '@azure/msal-browser@4.26.0': + resolution: {integrity: sha512-Ie3SZ4IMrf9lSwWVzzJrhTPE+g9+QDUfeor1LKMBQzcblp+3J/U1G8hMpNSfLL7eA5F/DjjPXkATJ5JRUdDJLA==} engines: {node: '>=0.8.0'} - '@azure/msal-common@15.10.0': - resolution: {integrity: sha512-+cGnma71NV3jzl6DdgdHsqriN4ZA7puBIzObSYCvcIVGMULGb2NrcOGV6IJxO06HoVRHFKijkxd9lcBvS063KQ==} + '@azure/msal-common@15.13.1': + resolution: {integrity: sha512-vQYQcG4J43UWgo1lj7LcmdsGUKWYo28RfEvDQAEMmQIMjSFufvb+pS0FJ3KXmrPmnWlt1vHDl3oip6mIDUQ4uA==} engines: {node: '>=0.8.0'} - '@azure/msal-node@3.7.0': - resolution: {integrity: sha512-WsL11pT0hnoIr/4NCjG6uJswkmNA/9AgEre4mSQZS2e+ZPKUWwUdA5nCTnr4n1FMT1O5ezSEiJushnPW25Y+dA==} + '@azure/msal-node@3.8.1': + resolution: {integrity: sha512-HszfqoC+i2C9+BRDQfuNUGp15Re7menIhCEbFCQ49D3KaqEDrgZIgQ8zSct4T59jWeUIL9N/Dwiv4o2VueTdqQ==} engines: {node: '>=16'} '@babel/code-frame@7.27.1': resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.28.0': - resolution: {integrity: sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==} + '@babel/compat-data@7.28.5': + resolution: {integrity: sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==} engines: {node: '>=6.9.0'} '@babel/core@7.12.9': @@ -4664,8 +4671,12 @@ packages: resolution: {integrity: sha512-BU2f9tlKQ5CAthiMIgpzAh4eDTLWo1mqi9jqE2OxMG0E/OM199VJt2q8BztTxpnSW0i1ymdwLXRJnYzvDM5r2w==} engines: {node: '>=6.9.0'} - '@babel/generator@7.28.0': - resolution: {integrity: sha512-lJjzvrbEeWrhB4P3QBsH7tey117PjLZnDbLiQEKjQ/fNJTjuq4HSqgFA+UNSwZT8D7dxxbnuSBMsa1lrWzKlQg==} + '@babel/core@7.28.5': + resolution: {integrity: sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.28.5': + resolution: {integrity: sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==} engines: {node: '>=6.9.0'} '@babel/helper-annotate-as-pure@7.27.3': @@ -4676,14 +4687,14 @@ packages: resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==} engines: {node: '>=6.9.0'} - '@babel/helper-create-class-features-plugin@7.27.1': - resolution: {integrity: sha512-QwGAmuvM17btKU5VqXfb+Giw4JcN0hjuufz3DYnpeVDvZLAObloM77bhMXiqry3Iio+Ai4phVRDwl6WU10+r5A==} + '@babel/helper-create-class-features-plugin@7.28.5': + resolution: {integrity: sha512-q3WC4JfdODypvxArsJQROfupPBq9+lMwjKq7C33GhbFYJsufD0yd/ziwD+hJucLeWsnFPWZjsU2DNFqBPE7jwQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-create-regexp-features-plugin@7.27.1': - resolution: {integrity: sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ==} + '@babel/helper-create-regexp-features-plugin@7.28.5': + resolution: {integrity: sha512-N1EhvLtHzOvj7QQOUCCS3NrPJP8c5W6ZXCHDn7Yialuy1iu4r5EmIYkXlKNqT99Ciw+W0mDqWoR6HWMZlFP3hw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -4707,16 +4718,16 @@ packages: resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==} engines: {node: '>=6.9.0'} - '@babel/helper-member-expression-to-functions@7.27.1': - resolution: {integrity: sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==} + '@babel/helper-member-expression-to-functions@7.28.5': + resolution: {integrity: sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==} engines: {node: '>=6.9.0'} '@babel/helper-module-imports@7.27.1': resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==} engines: {node: '>=6.9.0'} - '@babel/helper-module-transforms@7.27.3': - resolution: {integrity: sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==} + '@babel/helper-module-transforms@7.28.3': + resolution: {integrity: sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -4752,29 +4763,29 @@ packages: resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.27.1': - resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} + '@babel/helper-validator-identifier@7.28.5': + resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} engines: {node: '>=6.9.0'} '@babel/helper-validator-option@7.27.1': resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} engines: {node: '>=6.9.0'} - '@babel/helper-wrap-function@7.27.1': - resolution: {integrity: sha512-NFJK2sHUvrjo8wAU/nQTWU890/zB2jj0qBcCbZbbf+005cAsv6tMjXz31fBign6M5ov1o0Bllu+9nbqkfsjjJQ==} + '@babel/helper-wrap-function@7.28.3': + resolution: {integrity: sha512-zdf983tNfLZFletc0RRXYrHrucBEg95NIFMkn6K9dbeMYnsgHaSBGcQqdsCSStG2PYwRre0Qc2NNSCXbG+xc6g==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.28.2': - resolution: {integrity: sha512-/V9771t+EgXz62aCcyofnQhGM8DQACbRhvzKFsXKC9QM+5MadF8ZmIm0crDMaz3+o0h0zXfJnd4EhbYbxsrcFw==} + '@babel/helpers@7.28.4': + resolution: {integrity: sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==} engines: {node: '>=6.9.0'} - '@babel/parser@7.28.0': - resolution: {integrity: sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g==} + '@babel/parser@7.28.5': + resolution: {integrity: sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==} engines: {node: '>=6.0.0'} hasBin: true - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.27.1': - resolution: {integrity: sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA==} + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5': + resolution: {integrity: sha512-87GDMS3tsmMSi/3bWOte1UblL+YUTFMV8SZPZ2eSEL17s74Cw/l63rR6NmGVKMYW2GYi85nE+/d6Hw5N0bEk2Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -4797,8 +4808,8 @@ packages: peerDependencies: '@babel/core': ^7.13.0 - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.27.1': - resolution: {integrity: sha512-6BpaYGDavZqkI6yT+KSPdpZFfpnd68UKXbcjI9pJ13pvHhPrCKWOOLp+ysvMeA+DxnhuPpgIaRpxRxo5A9t5jw==} + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.3': + resolution: {integrity: sha512-b6YTX108evsvE4YgWyQ921ZAFFQm3Bn+CA3+ZXlNVnPhx+UfsVURoPjfGAPCjBgrqo30yX/C2nZGX96DxvR9Iw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -5024,8 +5035,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-block-scoping@7.28.0': - resolution: {integrity: sha512-gKKnwjpdx5sER/wl0WN0efUBFzF/56YZO0RJrSYP4CljXnP31ByY7fol89AzomdlLNzI36AvOTmYHsnZTCkq8Q==} + '@babel/plugin-transform-block-scoping@7.28.5': + resolution: {integrity: sha512-45DmULpySVvmq9Pj3X9B+62Xe+DJGov27QravQJU1LLcapR6/10i+gYVAucGGJpHBp5mYxIMK4nDAT/QDLr47g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5036,14 +5047,14 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-class-static-block@7.27.1': - resolution: {integrity: sha512-s734HmYU78MVzZ++joYM+NkJusItbdRcbm+AGRgJCt3iA+yux0QpD9cBVdz3tKyrjVYWRl7j0mHSmv4lhV0aoA==} + '@babel/plugin-transform-class-static-block@7.28.3': + resolution: {integrity: sha512-LtPXlBbRoc4Njl/oh1CeD/3jC+atytbnf/UqLoqTDcEYGUPj022+rvfkbDYieUrSj3CaV4yHDByPE+T2HwfsJg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 - '@babel/plugin-transform-classes@7.28.0': - resolution: {integrity: sha512-IjM1IoJNw72AZFlj33Cu8X0q2XK/6AaVC3jQu+cgQ5lThWD5ajnuUAml80dqRmOhmPkTH8uAwnpMu9Rvj0LTRA==} + '@babel/plugin-transform-classes@7.28.4': + resolution: {integrity: sha512-cFOlhIYPBv/iBoc+KS3M6et2XPtbT2HiCRfBXWtfpc9OAyostldxIf9YAYB6ypURBBbx+Qv6nyrLzASfJe+hBA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5054,8 +5065,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-destructuring@7.28.0': - resolution: {integrity: sha512-v1nrSMBiKcodhsyJ4Gf+Z0U/yawmJDBOTpEB3mcQY52r9RIyPneGyAS/yM6seP/8I+mWI3elOMtT5dB8GJVs+A==} + '@babel/plugin-transform-destructuring@7.28.5': + resolution: {integrity: sha512-Kl9Bc6D0zTUcFUvkNuQh4eGXPKKNDOJQXVyyM4ZAQPMveniJdxi8XMJwLo+xSoW3MIq81bD33lcUe9kZpl0MCw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5084,8 +5095,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-exponentiation-operator@7.27.1': - resolution: {integrity: sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ==} + '@babel/plugin-transform-exponentiation-operator@7.28.5': + resolution: {integrity: sha512-D4WIMaFtwa2NizOp+dnoFjRez/ClKiC2BqqImwKd1X28nqBtZEyCYJ2ozQrrzlxAFrcrjxo39S6khe9RNDlGzw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5126,8 +5137,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-logical-assignment-operators@7.27.1': - resolution: {integrity: sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw==} + '@babel/plugin-transform-logical-assignment-operators@7.28.5': + resolution: {integrity: sha512-axUuqnUTBuXyHGcJEVVh9pORaN6wC5bYfE7FGzPiaWa3syib9m7g+/IT/4VgCOe2Upef43PHzeAvcrVek6QuuA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5150,8 +5161,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-modules-systemjs@7.27.1': - resolution: {integrity: sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA==} + '@babel/plugin-transform-modules-systemjs@7.28.5': + resolution: {integrity: sha512-vn5Jma98LCOeBy/KpeQhXcV2WZgaRUtjwQmjoBuLNlOmkg0fB5pdvYVeWRYI69wWKwK2cD1QbMiUQnoujWvrew==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5186,8 +5197,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-object-rest-spread@7.28.0': - resolution: {integrity: sha512-9VNGikXxzu5eCiQjdE4IZn8sb9q7Xsk5EXLDBKUYg1e/Tve8/05+KJEtcxGxAgCY5t/BpKQM+JEL/yT4tvgiUA==} + '@babel/plugin-transform-object-rest-spread@7.28.4': + resolution: {integrity: sha512-373KA2HQzKhQCYiRVIRr+3MjpCObqzDlyrM6u4I201wL8Mp2wHf7uB8GhDwis03k2ti8Zr65Zyyqs1xOxUF/Ew==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5204,8 +5215,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-optional-chaining@7.27.1': - resolution: {integrity: sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg==} + '@babel/plugin-transform-optional-chaining@7.28.5': + resolution: {integrity: sha512-N6fut9IZlPnjPwgiQkXNhb+cT8wQKFlJNqcZkWlcTqkcqx6/kU4ynGmLFoa4LViBSirn05YAwk+sQBbPfxtYzQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5258,8 +5269,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-regenerator@7.28.1': - resolution: {integrity: sha512-P0QiV/taaa3kXpLY+sXla5zec4E+4t4Aqc9ggHlfZ7a2cp8/x/Gv08jfwEtn9gnnYIMvHx6aoOZ8XJL8eU71Dg==} + '@babel/plugin-transform-regenerator@7.28.4': + resolution: {integrity: sha512-+ZEdQlBoRg9m2NnzvEeLgtvBMO4tkFBw5SQIUgLICgTrumLoU7lr+Oghi6km2PFj+dbUt2u1oby2w3BDO9YQnA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5306,8 +5317,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-typescript@7.28.0': - resolution: {integrity: sha512-4AEiDEBPIZvLQaWlc9liCavE0xRM0dNca41WtBeM3jgFptfUOSG9z0uteLhq6+3rq+WB6jIvUwKDTpXEHPJ2Vg==} + '@babel/plugin-transform-typescript@7.28.5': + resolution: {integrity: sha512-x2Qa+v/CuEoX7Dr31iAfr0IhInrVOWZU/2vJMJ00FOR/2nM0BcBEclpaf9sWCDc+v5e9dMrhSH8/atq/kX7+bA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5371,37 +5382,37 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/register@7.27.1': - resolution: {integrity: sha512-K13lQpoV54LATKkzBpBAEu1GGSIRzxR9f4IN4V8DCDgiUMo2UDGagEZr3lPeVNJPLkWUi5JE4hCHKneVTwQlYQ==} + '@babel/register@7.28.3': + resolution: {integrity: sha512-CieDOtd8u208eI49bYl4z1J22ySFw87IGwE+IswFEExH7e3rLgKb0WNQeumnacQ1+VoDJLYI5QFA3AJZuyZQfA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/runtime-corejs3@7.28.2': - resolution: {integrity: sha512-FVFaVs2/dZgD3Y9ZD+AKNKjyGKzwu0C54laAXWUXgLcVXcCX6YZ6GhK2cp7FogSN2OA0Fu+QT8dP3FUdo9ShSQ==} + '@babel/runtime-corejs3@7.28.4': + resolution: {integrity: sha512-h7iEYiW4HebClDEhtvFObtPmIvrd1SSfpI9EhOeKk4CtIK/ngBWFpuhCzhdmRKtg71ylcue+9I6dv54XYO1epQ==} engines: {node: '>=6.9.0'} - '@babel/runtime@7.28.2': - resolution: {integrity: sha512-KHp2IflsnGywDjBWDkR9iEqiWSpc8GIi0lgTT3mOElT0PP1tG26P4tmFI2YvAdzgq9RGyoHZQEIEdZy6Ec5xCA==} + '@babel/runtime@7.28.4': + resolution: {integrity: sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==} engines: {node: '>=6.9.0'} '@babel/template@7.27.2': resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.28.0': - resolution: {integrity: sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==} + '@babel/traverse@7.28.5': + resolution: {integrity: sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==} engines: {node: '>=6.9.0'} - '@babel/types@7.28.2': - resolution: {integrity: sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==} + '@babel/types@7.28.5': + resolution: {integrity: sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==} engines: {node: '>=6.9.0'} '@base2/pretty-print-object@1.0.1': resolution: {integrity: sha512-4iri8i1AqYHJE2DstZYkyEprg6Pq6sKx3xn5FpySk9sNhH7qN2LLlHJCfDTZRILNwQNPD7mATWM0TBui7uC1pA==} - '@bazel/runfiles@6.3.1': - resolution: {integrity: sha512-1uLNT5NZsUVIGS4syuHwTzZ8HycMPyr6POA3FCE4GbMtc4rhoJk8aZKtNIRthJYfL+iioppi+rTfH3olMPr9nA==} + '@bazel/runfiles@6.5.0': + resolution: {integrity: sha512-RzahvqTkfpY2jsDxo8YItPX+/iZ6hbiikw1YhE0bA9EKBR5Og8Pa6FHn9PO9M0zaXRVsr0GFQLKbB/0rzy9SzA==} '@bcoe/v8-coverage@0.2.3': resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} @@ -5463,16 +5474,25 @@ packages: cpu: [x64] os: [win32] + '@cacheable/memoize@2.0.3': + resolution: {integrity: sha512-hl9wfQgpiydhQEIv7fkjEzTGE+tcosCXLKFDO707wYJ/78FVOlowb36djex5GdbSyeHnG62pomYLMuV/OT8Pbw==} + + '@cacheable/memory@2.0.4': + resolution: {integrity: sha512-cCmJKCKlT1t7hNBI1+gFCwmKFd9I4pS3zqBeNGXTSODnpa0EeDmORHY8oEMTuozfdg3cgsVh8ojLaPYb6eC7Cg==} + + '@cacheable/utils@2.2.0': + resolution: {integrity: sha512-7xaQayO3msdVcxXLYcLU5wDqJBNdQcPPPHr6mdTEIQI7N7TbtSVVTpWOTfjyhg0L6AQwQdq7miKdWtTDBoBldQ==} + '@cnakazawa/watch@1.0.4': resolution: {integrity: sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==} engines: {node: '>=0.1.95'} hasBin: true - '@codemirror/autocomplete@6.18.6': - resolution: {integrity: sha512-PHHBXFomUs5DF+9tCOM/UoW6XQ4R44lLNNhRaW9PKPTU0D7lIjRg3ElxaJnTwsl/oHiR93WSXDBrekhoUGCPtg==} + '@codemirror/autocomplete@6.19.1': + resolution: {integrity: sha512-q6NenYkEy2fn9+JyjIxMWcNjzTL/IhwqfzOut1/G3PrIFkrbl4AL7Wkse5tLrQUUyqGoAKU5+Pi5jnnXxH5HGw==} - '@codemirror/commands@6.8.1': - resolution: {integrity: sha512-KlGVYufHMQzxbdQONiLyGQDUW0itrLZwq3CcY7xpv9ZLRHqzkBSoteocBHtMCoY7/Ci4xhzSrToIeLg7FxHuaw==} + '@codemirror/commands@6.10.0': + resolution: {integrity: sha512-2xUIc5mHXQzT16JnyOFkh8PvfeXuIut3pslWGfsGOhxP/lpgRm9HOl/mpzLErgt5mXDovqA0d11P21gofRLb9w==} '@codemirror/lang-angular@0.1.4': resolution: {integrity: sha512-oap+gsltb/fzdlTQWD6BFF4bSLKcDnlxDsLdePiJpCVNKWXSTAbiiQeYI3UmES+BLAdkmIC1WjyztC1pi/bX4g==} @@ -5495,6 +5515,9 @@ packages: '@codemirror/lang-javascript@6.2.4': resolution: {integrity: sha512-0WVmhp1QOqZ4Rt6GlVGwKJN3KW7Xh4H2q8ZZNGZaP6lRdxXJzmjm4FqvmOojVj6khWJHIb9sp7U/72W7xQgqAA==} + '@codemirror/lang-jinja@6.0.0': + resolution: {integrity: sha512-47MFmRcR8UAxd8DReVgj7WJN1WSAMT7OJnewwugZM4XiHWkOjgJQqvEM1NpMj9ALMPyxmlziEI1opH9IaEvmaw==} + '@codemirror/lang-json@6.0.2': resolution: {integrity: sha512-x2OtO+AvwEHrEwR0FyyPtfDUiloG3rnVTSZV1W8UteaLL8/MajQd8DpvUb2YVzC+/T18aSDv0H9mu+xw0EStoQ==} @@ -5504,8 +5527,8 @@ packages: '@codemirror/lang-liquid@6.3.0': resolution: {integrity: sha512-fY1YsUExcieXRTsCiwX/bQ9+PbCTA/Fumv7C7mTUZHoFkibfESnaXwpr2aKH6zZVwysEunsHHkaIpM/pl3xETQ==} - '@codemirror/lang-markdown@6.4.0': - resolution: {integrity: sha512-ZeArR54seh4laFbUTVy0ZmQgO+C/cxxlW4jEoQMhL3HALScBpZBeZcLzrQmJsTEx4is9GzOe0bFAke2B1KZqeA==} + '@codemirror/lang-markdown@6.5.0': + resolution: {integrity: sha512-0K40bZ35jpHya6FriukbgaleaqzBLZfOh7HuzqbMxBXkbYMJDxfF39c23xOgxFezR+3G+tR2/Mup+Xk865OMvw==} '@codemirror/lang-php@6.0.2': resolution: {integrity: sha512-ZKy2v1n8Fc8oEXj0Th0PUMXzQJ0AIR6TaZU+PbDHExFwdu+guzOA4jmCHS1Nz4vbFezwD7LyBdDnddSJeScMCA==} @@ -5534,11 +5557,11 @@ packages: '@codemirror/lang-yaml@6.1.2': resolution: {integrity: sha512-dxrfG8w5Ce/QbT7YID7mWZFKhdhsaTNOYjOkSIMt1qmC4VQnXSDSYVHHHn8k6kJUfIhtLo8t1JJgltlxWdsITw==} - '@codemirror/language-data@6.5.1': - resolution: {integrity: sha512-0sWxeUSNlBr6OmkqybUTImADFUP0M3P0IiSde4nc24bz/6jIYzqYSgkOSLS+CBIoW1vU8Q9KUWXscBXeoMVC9w==} + '@codemirror/language-data@6.5.2': + resolution: {integrity: sha512-CPkWBKrNS8stYbEU5kwBwTf3JB1kghlbh4FSAwzGW2TEscdeHHH4FGysREW86Mqnj3Qn09s0/6Ea/TutmoTobg==} - '@codemirror/language@6.11.2': - resolution: {integrity: sha512-p44TsNArL4IVXDTbapUmEkAlvWs2CFQbcfc0ymDsis1kH2wh0gcY96AS29c/vp2d0y2Tquk1EDSaawpzilUiAw==} + '@codemirror/language@6.11.3': + resolution: {integrity: sha512-9HBM2XnwDj7fnu0551HkGdrUrrqmYq/WC5iv6nbY2WdicXdGbhR/gfbZOH73Aqj4351alY1+aoG9rCNfiwS1RA==} '@codemirror/legacy-modes@6.5.2': resolution: {integrity: sha512-/jJbwSTazlQEDOQw2FJ8LEEKVS72pU0lx6oM54kGpL8t/NJ2Jda3CZ4pcltiKTdqYSRk3ug1B3pil1gsjA6+8Q==} @@ -5546,8 +5569,8 @@ packages: '@codemirror/lint@6.8.5': resolution: {integrity: sha512-s3n3KisH7dx3vsoeGMxsbRAgKe4O1vbrnKBClm99PU0fWxmxsx5rR2PfqQgIt+2MMJBHbiJ5rfIdLYfB9NNvsA==} - '@codemirror/merge@6.11.0': - resolution: {integrity: sha512-Wu5Camx8u0jKA4yV3IxcWGMIoXUxuptsbWW9kTje8d/NInnnALeyQaxcVssJznp9FRnu4As3qsBhacERyB9p6w==} + '@codemirror/merge@6.11.1': + resolution: {integrity: sha512-NleJ//mSmcal3jRdm9WwOVMUaJWvP2h69K96z3xTDJnde/nsMnLt9qfKUBkycWm5iO3/g4Zd69XTuTFErTZ72A==} '@codemirror/search@6.5.11': resolution: {integrity: sha512-KmWepDE6jUdL6n8cAAqIpRmLPBZ5ZKnicE8oGU/s3QrAVID+0VhLFrzUucVKHG5035/BSykhExDL/Xm7dHthiA==} @@ -5558,8 +5581,8 @@ packages: '@codemirror/theme-one-dark@6.1.3': resolution: {integrity: sha512-NzBdIvEJmx6fjeremiGp3t/okrLPYT0d9orIc7AFun8oZcRk58aejkqhv6spnz4MLAevrKNPMQYXEWMg4s+sKA==} - '@codemirror/view@6.38.1': - resolution: {integrity: sha512-RmTOkE7hRU3OVREqFVITWHz6ocgBjv08GoePscAakgVQfciA3SGCEk7mb9IzwW61cKKmlTpHXG6DUE5Ubx+MGQ==} + '@codemirror/view@6.38.6': + resolution: {integrity: sha512-qiS0z1bKs5WOvHIAC0Cybmv4AJSkAXgX5aD6Mqd2epSLlVJsQl8NG23jCVouIgkh4All/mrbdsf2UOLFnJw0tw==} '@codesandbox/nodebox@0.1.8': resolution: {integrity: sha512-2VRS6JDSk+M+pg56GA6CryyUSGPjBEe8Pnae0QL3jJF1mJZJVMDKr93gJRtBbLkfZN6LD/DwMtf+2L0bpWrjqg==} @@ -5608,8 +5631,8 @@ packages: peerDependencies: postcss-selector-parser: ^7.0.0 - '@dabh/diagnostics@2.0.3': - resolution: {integrity: sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==} + '@dabh/diagnostics@2.0.8': + resolution: {integrity: sha512-R4MSXTVnuMzGD7bzHdW2ZhhdPC/igELENcq5IjEverBvq5hn1SXCWcsi6eSsdWP0/Ur+SItRRjAktmdoX/8R/Q==} '@date-io/core@3.2.0': resolution: {integrity: sha512-hqwXvY8/YBsT9RwQITG868ZNb1MVFFkF7W1Ecv4P472j/ZWa7EFcgSmxy8PUElNVZfvhdvfv+a8j6NWJqOX5mA==} @@ -5630,8 +5653,8 @@ packages: resolution: {integrity: sha512-4B4OijXeVNOPZlYA2oEwWOTkzyltLao+xbotHQeqN++Rv27Y6s818+n2Qkp8q+Fxhn0t/5lA5X1Mxktud8eayQ==} engines: {node: '>=14.17.0'} - '@dual-bundle/import-meta-resolve@4.1.0': - resolution: {integrity: sha512-+nxncfwHM5SgAtrVzgpzJOI1ol0PkumhVo469KCf9lUi21IGcY90G98VuHm9VRrUypmAzawAHO9bs6hqeADaVg==} + '@dual-bundle/import-meta-resolve@4.2.1': + resolution: {integrity: sha512-id+7YRUgoUX6CgV0DtuhirQWodeeA7Lf4i2x71JS/vtA5pRb/hIGWlw+G6MeXvsM+MXrz0VAydTGElX1rAfgPg==} '@emotion/babel-plugin@11.13.5': resolution: {integrity: sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==} @@ -5648,8 +5671,8 @@ packages: '@emotion/is-prop-valid@0.8.8': resolution: {integrity: sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==} - '@emotion/is-prop-valid@1.3.1': - resolution: {integrity: sha512-/ACwoqx7XQi9knQs/G0qKvv5teDMhD7bXYns9N/wM8ah8iNb8jZ2uNO0YOgiq2o2poIvVtJS2YALasQuMSQ7Kw==} + '@emotion/is-prop-valid@1.4.0': + resolution: {integrity: sha512-QgD4fyscGcbbKwJmqNvUMSE02OsHUa+lAWKdEUIJKgqe5IwRSKd7+KhibEWdaKwgjLj0DRSHA9biAIqGBk05lw==} '@emotion/memoize@0.7.4': resolution: {integrity: sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==} @@ -5696,170 +5719,170 @@ packages: '@emotion/weak-memoize@0.4.0': resolution: {integrity: sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==} - '@esbuild/aix-ppc64@0.25.8': - resolution: {integrity: sha512-urAvrUedIqEiFR3FYSLTWQgLu5tb+m0qZw0NBEasUeo6wuqatkMDaRT+1uABiGXEu5vqgPd7FGE1BhsAIy9QVA==} + '@esbuild/aix-ppc64@0.25.12': + resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.25.8': - resolution: {integrity: sha512-OD3p7LYzWpLhZEyATcTSJ67qB5D+20vbtr6vHlHWSQYhKtzUYrETuWThmzFpZtFsBIxRvhO07+UgVA9m0i/O1w==} + '@esbuild/android-arm64@0.25.12': + resolution: {integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==} engines: {node: '>=18'} cpu: [arm64] os: [android] - '@esbuild/android-arm@0.25.8': - resolution: {integrity: sha512-RONsAvGCz5oWyePVnLdZY/HHwA++nxYWIX1atInlaW6SEkwq6XkP3+cb825EUcRs5Vss/lGh/2YxAb5xqc07Uw==} + '@esbuild/android-arm@0.25.12': + resolution: {integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==} engines: {node: '>=18'} cpu: [arm] os: [android] - '@esbuild/android-x64@0.25.8': - resolution: {integrity: sha512-yJAVPklM5+4+9dTeKwHOaA+LQkmrKFX96BM0A/2zQrbS6ENCmxc4OVoBs5dPkCCak2roAD+jKCdnmOqKszPkjA==} + '@esbuild/android-x64@0.25.12': + resolution: {integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==} engines: {node: '>=18'} cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.25.8': - resolution: {integrity: sha512-Jw0mxgIaYX6R8ODrdkLLPwBqHTtYHJSmzzd+QeytSugzQ0Vg4c5rDky5VgkoowbZQahCbsv1rT1KW72MPIkevw==} + '@esbuild/darwin-arm64@0.25.12': + resolution: {integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.25.8': - resolution: {integrity: sha512-Vh2gLxxHnuoQ+GjPNvDSDRpoBCUzY4Pu0kBqMBDlK4fuWbKgGtmDIeEC081xi26PPjn+1tct+Bh8FjyLlw1Zlg==} + '@esbuild/darwin-x64@0.25.12': + resolution: {integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==} engines: {node: '>=18'} cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.25.8': - resolution: {integrity: sha512-YPJ7hDQ9DnNe5vxOm6jaie9QsTwcKedPvizTVlqWG9GBSq+BuyWEDazlGaDTC5NGU4QJd666V0yqCBL2oWKPfA==} + '@esbuild/freebsd-arm64@0.25.12': + resolution: {integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.25.8': - resolution: {integrity: sha512-MmaEXxQRdXNFsRN/KcIimLnSJrk2r5H8v+WVafRWz5xdSVmWLoITZQXcgehI2ZE6gioE6HirAEToM/RvFBeuhw==} + '@esbuild/freebsd-x64@0.25.12': + resolution: {integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.25.8': - resolution: {integrity: sha512-WIgg00ARWv/uYLU7lsuDK00d/hHSfES5BzdWAdAig1ioV5kaFNrtK8EqGcUBJhYqotlUByUKz5Qo6u8tt7iD/w==} + '@esbuild/linux-arm64@0.25.12': + resolution: {integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==} engines: {node: '>=18'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.25.8': - resolution: {integrity: sha512-FuzEP9BixzZohl1kLf76KEVOsxtIBFwCaLupVuk4eFVnOZfU+Wsn+x5Ryam7nILV2pkq2TqQM9EZPsOBuMC+kg==} + '@esbuild/linux-arm@0.25.12': + resolution: {integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==} engines: {node: '>=18'} cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.25.8': - resolution: {integrity: sha512-A1D9YzRX1i+1AJZuFFUMP1E9fMaYY+GnSQil9Tlw05utlE86EKTUA7RjwHDkEitmLYiFsRd9HwKBPEftNdBfjg==} + '@esbuild/linux-ia32@0.25.12': + resolution: {integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==} engines: {node: '>=18'} cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.25.8': - resolution: {integrity: sha512-O7k1J/dwHkY1RMVvglFHl1HzutGEFFZ3kNiDMSOyUrB7WcoHGf96Sh+64nTRT26l3GMbCW01Ekh/ThKM5iI7hQ==} + '@esbuild/linux-loong64@0.25.12': + resolution: {integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==} engines: {node: '>=18'} cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.25.8': - resolution: {integrity: sha512-uv+dqfRazte3BzfMp8PAQXmdGHQt2oC/y2ovwpTteqrMx2lwaksiFZ/bdkXJC19ttTvNXBuWH53zy/aTj1FgGw==} + '@esbuild/linux-mips64el@0.25.12': + resolution: {integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.25.8': - resolution: {integrity: sha512-GyG0KcMi1GBavP5JgAkkstMGyMholMDybAf8wF5A70CALlDM2p/f7YFE7H92eDeH/VBtFJA5MT4nRPDGg4JuzQ==} + '@esbuild/linux-ppc64@0.25.12': + resolution: {integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.25.8': - resolution: {integrity: sha512-rAqDYFv3yzMrq7GIcen3XP7TUEG/4LK86LUPMIz6RT8A6pRIDn0sDcvjudVZBiiTcZCY9y2SgYX2lgK3AF+1eg==} + '@esbuild/linux-riscv64@0.25.12': + resolution: {integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.25.8': - resolution: {integrity: sha512-Xutvh6VjlbcHpsIIbwY8GVRbwoviWT19tFhgdA7DlenLGC/mbc3lBoVb7jxj9Z+eyGqvcnSyIltYUrkKzWqSvg==} + '@esbuild/linux-s390x@0.25.12': + resolution: {integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==} engines: {node: '>=18'} cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.25.8': - resolution: {integrity: sha512-ASFQhgY4ElXh3nDcOMTkQero4b1lgubskNlhIfJrsH5OKZXDpUAKBlNS0Kx81jwOBp+HCeZqmoJuihTv57/jvQ==} + '@esbuild/linux-x64@0.25.12': + resolution: {integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==} engines: {node: '>=18'} cpu: [x64] os: [linux] - '@esbuild/netbsd-arm64@0.25.8': - resolution: {integrity: sha512-d1KfruIeohqAi6SA+gENMuObDbEjn22olAR7egqnkCD9DGBG0wsEARotkLgXDu6c4ncgWTZJtN5vcgxzWRMzcw==} + '@esbuild/netbsd-arm64@0.25.12': + resolution: {integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-x64@0.25.8': - resolution: {integrity: sha512-nVDCkrvx2ua+XQNyfrujIG38+YGyuy2Ru9kKVNyh5jAys6n+l44tTtToqHjino2My8VAY6Lw9H7RI73XFi66Cg==} + '@esbuild/netbsd-x64@0.25.12': + resolution: {integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-arm64@0.25.8': - resolution: {integrity: sha512-j8HgrDuSJFAujkivSMSfPQSAa5Fxbvk4rgNAS5i3K+r8s1X0p1uOO2Hl2xNsGFppOeHOLAVgYwDVlmxhq5h+SQ==} + '@esbuild/openbsd-arm64@0.25.12': + resolution: {integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-x64@0.25.8': - resolution: {integrity: sha512-1h8MUAwa0VhNCDp6Af0HToI2TJFAn1uqT9Al6DJVzdIBAd21m/G0Yfc77KDM3uF3T/YaOgQq3qTJHPbTOInaIQ==} + '@esbuild/openbsd-x64@0.25.12': + resolution: {integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] - '@esbuild/openharmony-arm64@0.25.8': - resolution: {integrity: sha512-r2nVa5SIK9tSWd0kJd9HCffnDHKchTGikb//9c7HX+r+wHYCpQrSgxhlY6KWV1nFo1l4KFbsMlHk+L6fekLsUg==} + '@esbuild/openharmony-arm64@0.25.12': + resolution: {integrity: sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==} engines: {node: '>=18'} cpu: [arm64] os: [openharmony] - '@esbuild/sunos-x64@0.25.8': - resolution: {integrity: sha512-zUlaP2S12YhQ2UzUfcCuMDHQFJyKABkAjvO5YSndMiIkMimPmxA+BYSBikWgsRpvyxuRnow4nS5NPnf9fpv41w==} + '@esbuild/sunos-x64@0.25.12': + resolution: {integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==} engines: {node: '>=18'} cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.25.8': - resolution: {integrity: sha512-YEGFFWESlPva8hGL+zvj2z/SaK+pH0SwOM0Nc/d+rVnW7GSTFlLBGzZkuSU9kFIGIo8q9X3ucpZhu8PDN5A2sQ==} + '@esbuild/win32-arm64@0.25.12': + resolution: {integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==} engines: {node: '>=18'} cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.25.8': - resolution: {integrity: sha512-hiGgGC6KZ5LZz58OL/+qVVoZiuZlUYlYHNAmczOm7bs2oE1XriPFi5ZHHrS8ACpV5EjySrnoCKmcbQMN+ojnHg==} + '@esbuild/win32-ia32@0.25.12': + resolution: {integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==} engines: {node: '>=18'} cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.25.8': - resolution: {integrity: sha512-cn3Yr7+OaaZq1c+2pe+8yxC8E144SReCQjN6/2ynubzYjvyqZjTXfQJpAcQpsdJq3My7XADANiYGHoFC69pLQw==} + '@esbuild/win32-x64@0.25.12': + resolution: {integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==} engines: {node: '>=18'} cpu: [x64] os: [win32] - '@eslint-community/eslint-utils@4.7.0': - resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==} + '@eslint-community/eslint-utils@4.9.0': + resolution: {integrity: sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint-community/regexpp@4.12.1': - resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} + '@eslint-community/regexpp@4.12.2': + resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} '@eslint/config-array@0.20.1': @@ -5878,8 +5901,8 @@ packages: resolution: {integrity: sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/core@0.15.1': - resolution: {integrity: sha512-bkOp+iumZCCbt1K1CmWf0R9pM5yKpDv+ZXtvSyQpudrI9kuFLp+bM2WOPXImuD/ceQuaa8f5pj93Y7zyECIGNA==} + '@eslint/core@0.15.2': + resolution: {integrity: sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/eslintrc@2.1.4': @@ -5902,12 +5925,12 @@ packages: resolution: {integrity: sha512-G5JD9Tu5HJEu4z2Uo4aHY2sLV64B7CDMXxFzqzjl3NKd6RVzSXNoE80jk7Y0lJkTTkjiIhBAqmlYwjuBY3tvpA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/object-schema@2.1.6': - resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==} + '@eslint/object-schema@2.1.7': + resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/plugin-kit@0.3.4': - resolution: {integrity: sha512-Ul5l+lHEcw3L5+k8POx6r74mxEYKG5kOb6Xpy2gCRW6zweT6TEhAf8vhxGgjhqrd/VO/Dirhsb+1hNpD1ue9hw==} + '@eslint/plugin-kit@0.3.5': + resolution: {integrity: sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@fal-works/esbuild-plugin-global-externals@2.1.2': @@ -5916,11 +5939,11 @@ packages: '@floating-ui/core@1.7.3': resolution: {integrity: sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==} - '@floating-ui/dom@1.7.3': - resolution: {integrity: sha512-uZA413QEpNuhtb3/iIKoYMSK07keHPYeXF02Zhd6e213j+d1NamLix/mCLxBUDW/Gx52sPH2m+chlUsyaBs/Ag==} + '@floating-ui/dom@1.7.4': + resolution: {integrity: sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==} - '@floating-ui/react-dom@2.1.5': - resolution: {integrity: sha512-HDO/1/1oH9fjj4eLgegrlH3dklZpHtUYYFiVwMUwfGvk9jWDRWqkklA2/NFScknrcNSspbV868WjXORvreDX+Q==} + '@floating-ui/react-dom@2.1.6': + resolution: {integrity: sha512-4JX6rEatQEvlmgU80wZyq9RT96HZJa88q8hp0pBd+LrczeDI4o6uA2M+uvxngVHo4Ihr8uibXxH6+70zhAFrVw==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' @@ -5934,23 +5957,23 @@ packages: '@floating-ui/utils@0.2.10': resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==} - '@formatjs/ecma402-abstract@2.3.4': - resolution: {integrity: sha512-qrycXDeaORzIqNhBOx0btnhpD1c+/qFIHAN9znofuMJX6QBwtbrmlpWfD4oiUUD2vJUOIYFA/gYtg2KAMGG7sA==} + '@formatjs/ecma402-abstract@2.3.6': + resolution: {integrity: sha512-HJnTFeRM2kVFVr5gr5kH1XP6K0JcJtE7Lzvtr3FS/so5f1kpsqqqxy5JF+FRaO6H2qmcMfAUIox7AJteieRtVw==} '@formatjs/fast-memoize@2.2.7': resolution: {integrity: sha512-Yabmi9nSvyOMrlSeGGWDiH7rf3a7sIwplbvo/dlz9WCIjzIQAfy1RMf4S0X3yG724n5Ghu2GmEl5NJIV6O9sZQ==} - '@formatjs/icu-messageformat-parser@2.11.2': - resolution: {integrity: sha512-AfiMi5NOSo2TQImsYAg8UYddsNJ/vUEv/HaNqiFjnI3ZFfWihUtD5QtuX6kHl8+H+d3qvnE/3HZrfzgdWpsLNA==} + '@formatjs/icu-messageformat-parser@2.11.4': + resolution: {integrity: sha512-7kR78cRrPNB4fjGFZg3Rmj5aah8rQj9KPzuLsmcSn4ipLXQvC04keycTI1F7kJYDwIXtT2+7IDEto842CfZBtw==} - '@formatjs/icu-skeleton-parser@1.8.14': - resolution: {integrity: sha512-i4q4V4qslThK4Ig8SxyD76cp3+QJ3sAqr7f6q9VVfeGtxG9OhiAk3y9XF6Q41OymsKzsGQ6OQQoJNY4/lI8TcQ==} + '@formatjs/icu-skeleton-parser@1.8.16': + resolution: {integrity: sha512-H13E9Xl+PxBd8D5/6TVUluSpxGNvFSlN/b3coUp0e0JpuWXXnQDiavIpY3NnvSp4xhEMoXyyBvVfdFX8jglOHQ==} - '@formatjs/intl-localematcher@0.6.1': - resolution: {integrity: sha512-ePEgLgVCqi2BBFnTMWPfIghu6FkbZnnBVhO2sSxvLfrdFw7wCHAHiDoM2h4NRgjbaY7+B7HgOLZGkK187pZTZg==} + '@formatjs/intl-localematcher@0.6.2': + resolution: {integrity: sha512-XOMO2Hupl0wdd172Y06h6kLpBz6Dv+J4okPLl4LPtzbr8f66WbIoy4ev98EBuZ6ZK4h5ydTN6XneT4QVpD7cdA==} - '@formatjs/intl@3.1.6': - resolution: {integrity: sha512-tDkXnA4qpIFcDWac8CyVJq6oW8DR7W44QDUBsfXWIIJD/FYYen0QoH46W7XsVMFfPOVKkvbufjboZrrWbEfmww==} + '@formatjs/intl@3.1.8': + resolution: {integrity: sha512-LWXgwI5zTMatvR8w8kCNh/priDTOF/ZssokMBHJ7ZWXFoYLVOYo0EJERD9Eajv+xsfQO1QkuAt77KWQ1OI4mOQ==} peerDependencies: typescript: ^5.6.0 peerDependenciesMeta: @@ -5995,8 +6018,8 @@ packages: react: ^16 || ^17 || ^18 react-dom: ^16 || ^17 || ^18 - '@headlessui/react@2.2.7': - resolution: {integrity: sha512-WKdTymY8Y49H8/gUc/lIyYK1M+/6dq0Iywh4zTZVAaiTDprRfioxSgD0wnXTQTBpjpGJuTL1NO/mqEvc//5SSg==} + '@headlessui/react@2.2.9': + resolution: {integrity: sha512-Mb+Un58gwBn0/yWZfyrCh0TJyurtT+dETj7YHleylHk5od3dv2XqETPGWMyQ5/7sYN7oWdyM1u9MvC0OC8UmzQ==} engines: {node: '>=10'} peerDependencies: react: ^18 || ^19 || ^19.0.0-rc @@ -6026,8 +6049,8 @@ packages: resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} engines: {node: '>=18.18.0'} - '@humanfs/node@0.16.6': - resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} + '@humanfs/node@0.16.7': + resolution: {integrity: sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==} engines: {node: '>=18.18.0'} '@humanwhocodes/config-array@0.13.0': @@ -6043,10 +6066,6 @@ packages: resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} deprecated: Use @eslint/object-schema instead - '@humanwhocodes/retry@0.3.1': - resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} - engines: {node: '>=18.18'} - '@humanwhocodes/retry@0.4.3': resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} engines: {node: '>=18.18'} @@ -6201,21 +6220,24 @@ packages: typescript: optional: true - '@jridgewell/gen-mapping@0.3.12': - resolution: {integrity: sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==} + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + + '@jridgewell/remapping@2.3.5': + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} '@jridgewell/resolve-uri@3.1.2': resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} - '@jridgewell/source-map@0.3.10': - resolution: {integrity: sha512-0pPkgz9dY+bijgistcTTJ5mR+ocqRXLuhXHYdzoMmmoJ2C9S46RCm2GMUbatPEUK9Yjy26IrAy8D/M00lLkv+Q==} + '@jridgewell/source-map@0.3.11': + resolution: {integrity: sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==} - '@jridgewell/sourcemap-codec@1.5.4': - resolution: {integrity: sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==} + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} - '@jridgewell/trace-mapping@0.3.29': - resolution: {integrity: sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==} + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} '@jridgewell/trace-mapping@0.3.9': resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} @@ -6229,8 +6251,8 @@ packages: peerDependencies: tslib: '2' - '@jsonjoy.com/buffers@1.0.0': - resolution: {integrity: sha512-NDigYR3PHqCnQLXYyoLbnEdzMMvzeiCWo1KOut7Q0CoIqg9tUAPKJ1iq/2nFhc5kZtexzutNY0LFjdwWL3Dw3Q==} + '@jsonjoy.com/buffers@1.2.1': + resolution: {integrity: sha512-12cdlDwX4RUM3QxmUbVJWqZ/mrK6dFQH4Zxq6+r1YXKXYBNgZXndx2qbCJwh3+WWkCSn67IjnlG3XYTvmvYtgA==} engines: {node: '>=10.0'} peerDependencies: tslib: '2' @@ -6241,14 +6263,14 @@ packages: peerDependencies: tslib: '2' - '@jsonjoy.com/json-pack@1.8.0': - resolution: {integrity: sha512-paJGjyBTRzfgkqhIyer992g21aSKuu9h//zGS7aqm795roD6VYFf6iU9NYua1Bndmh/NRPkjtm9+hEPkK0yZSw==} + '@jsonjoy.com/json-pack@1.21.0': + resolution: {integrity: sha512-+AKG+R2cfZMShzrF2uQw34v3zbeDYUqnQ+jg7ORic3BGtfw9p/+N6RJbq/kkV8JmYZaINknaEQ2m0/f693ZPpg==} engines: {node: '>=10.0'} peerDependencies: tslib: '2' - '@jsonjoy.com/json-pointer@1.0.1': - resolution: {integrity: sha512-tJpwQfuBuxqZlyoJOSZcqf7OUmiYQ6MiPNmOv4KbZdXE/DdvBSSAwhos0zIlJU/AXxC8XpuO8p08bh2fIl+RKA==} + '@jsonjoy.com/json-pointer@1.0.2': + resolution: {integrity: sha512-Fsn6wM2zlDzY1U+v4Nc8bo3bVqgfNTGcn6dMgs6FjrEnt4ZCe60o6ByKRjOGlI2gow0aE/Q41QOigdTqkyK5fg==} engines: {node: '>=10.0'} peerDependencies: tslib: '2' @@ -6262,8 +6284,14 @@ packages: '@juggle/resize-observer@3.4.0': resolution: {integrity: sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==} - '@keyv/serialize@1.1.0': - resolution: {integrity: sha512-RlDgexML7Z63Q8BSaqhXdCYNBy/JQnqYIwxofUrNLGCblOMHp+xux2Q8nLMLlPpgHQPoU0Do8Z6btCpRBEqZ8g==} + '@keyv/bigmap@1.1.0': + resolution: {integrity: sha512-MX7XIUNwVRK+hjZcAbNJ0Z8DREo+Weu9vinBOjGU1thEi9F6vPhICzBbk4CCf3eEefKRz7n6TfZXwUFZTSgj8Q==} + engines: {node: '>= 18'} + peerDependencies: + keyv: ^5.5.3 + + '@keyv/serialize@1.1.1': + resolution: {integrity: sha512-dXn3FZhPv0US+7dtJsIi2R+c7qWYiReoEh5zUntWCf4oSpMNib8FDhSoed6m3QyZdx5hK7iLFkYk3rNxwt8vTA==} '@leichtgewicht/ip-codec@2.0.5': resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==} @@ -6339,8 +6367,8 @@ packages: peerDependencies: yjs: '>=13.5.22' - '@lezer/common@1.2.3': - resolution: {integrity: sha512-w7ojc8ejBqr2REPsWxJjrMFsA/ysDCFICn8zEOR9mrqzOu2amhITYuLD8ag6XZf0CFXDrhKqw7+tW8cX66NaDA==} + '@lezer/common@1.3.0': + resolution: {integrity: sha512-L9X8uHCYU310o99L3/MpJKYxPzXPOS7S0NmBaM7UO/x2Kb2WbmMLSkfvdr1KxRIFYOpbY0Jhn7CfLSUDzL8arQ==} '@lezer/cpp@1.1.3': resolution: {integrity: sha512-ykYvuFQKGsRi6IcE+/hCSGUhb/I4WPjd3ELhEblm2wS2cOznDFzO+ubK2c+ioysOnlZ3EduV+MVQFCPzAIoY3w==} @@ -6351,8 +6379,8 @@ packages: '@lezer/go@1.0.1': resolution: {integrity: sha512-xToRsYxwsgJNHTgNdStpcvmbVuKxTapV0dM0wey1geMMRc9aggoVyKgzYp41D2/vVOx+Ii4hmE206kvxIXBVXQ==} - '@lezer/highlight@1.2.1': - resolution: {integrity: sha512-Z5duk4RN/3zuVO7Jq0pGLJ3qynpxUVsh7IbUbGj88+uV2ApSAn6kWg2au3iJb+0Zi7kKtqffIESgNcRXWZWmSA==} + '@lezer/highlight@1.2.3': + resolution: {integrity: sha512-qXdH7UqTvGfdVBINrgKhDsVTJTxactNNxLk7+UMwZhU13lMHaOBlJe9Vqp907ya56Y3+ed2tlqzys7jDkTmW0g==} '@lezer/html@1.3.12': resolution: {integrity: sha512-RJ7eRWdaJe3bsiiLLHjCFT1JMk8m1YP9kaUbvu2rMLEoOnke9mcTVDyfOslsln0LtujdWespjJ39w6zo+RsQYw==} @@ -6366,11 +6394,11 @@ packages: '@lezer/json@1.0.3': resolution: {integrity: sha512-BP9KzdF9Y35PDpv04r0VeSTKDeox5vVr3efE7eBbx3r4s3oNLfunchejZhjArmeieBH+nVOpgIiBJpEAv8ilqQ==} - '@lezer/lr@1.4.2': - resolution: {integrity: sha512-pu0K1jCIdnQ12aWNaAVU5bzi7Bd1w54J3ECgANPmYLtQKP0HBj2cE/5coBD66MT10xbtIuUr7tg0Shbsvk0mDA==} + '@lezer/lr@1.4.3': + resolution: {integrity: sha512-yenN5SqAxAPv/qMnpWW0AT7l+SxVrgG+u0tNsRQWqbrz66HIl8DnEbBObvy21J5K7+I1v7gsAnlE2VQ5yYVSeA==} - '@lezer/markdown@1.4.3': - resolution: {integrity: sha512-kfw+2uMrQ/wy/+ONfrH83OkdFNM0ye5Xq96cLlaCy7h5UT9FO54DU4oRoIc0CSBh5NWmWuiIJA7NGLMJbQ+Oxg==} + '@lezer/markdown@1.6.0': + resolution: {integrity: sha512-AXb98u3M6BEzTnreBnGtQaF7xFTiMA92Dsy5tqEjpacbjRxDSFdN4bKJo9uvU4cEEOS7D2B9MT7kvDgOEIzJSw==} '@lezer/php@1.0.5': resolution: {integrity: sha512-W7asp9DhM6q0W6DYNwIkLSKOvxlXRrif+UXBMxzsJUuqmhE7oVU+gS3THO4S/Puh7Xzgm858UNaFi6dxTP8dJA==} @@ -6406,8 +6434,8 @@ packages: peerDependencies: react: '>=16' - '@mdx-js/react@3.1.0': - resolution: {integrity: sha512-QjHtSaoameoalGnKDT3FoIl4+9RwyTmo9ZJGBdLOks/YOiWHoRDI3PUwEzOE7kEmGcV3AFcp9K6dYu9rEuKLAQ==} + '@mdx-js/react@3.1.1': + resolution: {integrity: sha512-f++rKLQgUVYDAtECQ6fn/is15GkEH9+nZPM3MS0RcxVqoTfawHvDlSCH7JbMhAM6uJ32v3eXLvLmLvjGu7PTQw==} peerDependencies: '@types/react': '>=16' react: '>=16' @@ -6429,32 +6457,32 @@ packages: react: '>= 18 || >= 19' react-dom: '>= 18 || >= 19' - '@microsoft/1ds-core-js@4.3.9': - resolution: {integrity: sha512-T8s5qROH7caBNiFrUpN8vgC6wg7QysVPryZKprgl3kLQQPpoMFM6ffIYvUWD74KM9fWWLU7vzFFNBWDBsrTyWg==} + '@microsoft/1ds-core-js@4.3.10': + resolution: {integrity: sha512-5fSZmkGwWkH+mrIA5M1GYPZdPM+SjXwCCl2Am7VhFoVwOBJNhRnwvIpAdzw6sFjiebN/rz+/YH0NdxztGZSa9Q==} - '@microsoft/1ds-post-js@4.3.9': - resolution: {integrity: sha512-BvxI4CW8Ws+gfXKy+Y/9pmEXp88iU1GYVjkUfqXP7La59VHARTumlG5iIgMVvaifOrvSW7G6knvQM++0tEfMBQ==} + '@microsoft/1ds-post-js@4.3.10': + resolution: {integrity: sha512-VSLjc9cT+Y+eTiSfYltJHJCejn8oYr0E6Pq2BMhOEO7F6IyLGYIxzKKvo78ze9x+iHX7KPTATcZ+PFgjGXuNqg==} - '@microsoft/applicationinsights-channel-js@3.3.9': - resolution: {integrity: sha512-/yEgSe6vT2ycQJkXu6VF04TB5XBurk46ECV7uo6KkNhWyDEctAk1VDWB7EqXYdwLhKMbNOYX1pvz7fj43fGNqg==} + '@microsoft/applicationinsights-channel-js@3.3.10': + resolution: {integrity: sha512-iolFLz1ocWAzIQqHIEjjov3gNTPkgFQ4ArHnBcJEYoffOGWlJt6copaevS5YPI5rHzmbySsengZ8cLJJBBrXzQ==} peerDependencies: tslib: '>= 1.0.0' - '@microsoft/applicationinsights-common@3.3.9': - resolution: {integrity: sha512-IgruOuDBxmBK9jYo7SqLJG7Z9OwmAmlvHET49srpN6pqQlEjRpjD1nfA3Ps4RSEbF89a/ad2phQaBp8jvm122g==} + '@microsoft/applicationinsights-common@3.3.10': + resolution: {integrity: sha512-RVIenPIvNgZCbjJdALvLM4rNHgAFuHI7faFzHCgnI6S2WCUNGHeXlQTs9EUUrL+n2TPp9/cd0KKMILU5VVyYiA==} peerDependencies: tslib: '>= 1.0.0' - '@microsoft/applicationinsights-core-js@3.3.9': - resolution: {integrity: sha512-xliiE9H09xCycndlua4QjajN8q5k/ET6VCv+e0Jjodxr9+cmoOP/6QY9dun9ptokuwR8TK0qOaIJ8z4fgslVSA==} + '@microsoft/applicationinsights-core-js@3.3.10': + resolution: {integrity: sha512-5yKeyassZTq2l+SAO4npu6LPnbS++UD+M+Ghjm9uRzoBwD8tumFx0/F8AkSVqbniSREd+ztH/2q2foewa2RZyg==} peerDependencies: tslib: '>= 1.0.0' '@microsoft/applicationinsights-shims@3.0.1': resolution: {integrity: sha512-DKwboF47H1nb33rSUfjqI6ryX29v+2QWcTrRvcQDA32AZr5Ilkr7whOOSsD1aBzwqX0RJEIP1Z81jfE3NBm/Lg==} - '@microsoft/applicationinsights-web-basic@3.3.9': - resolution: {integrity: sha512-8tLaAgsCpWjoaxit546RqeuECnHQPBLnOZhzTYG76oPG1ku7dNXaRNieuZLbO+XmAtg/oxntKLAVoPND8NRgcA==} + '@microsoft/applicationinsights-web-basic@3.3.10': + resolution: {integrity: sha512-AZib5DAT3NU0VT0nLWEwXrnoMDDgZ/5S4dso01CNU5ELNxLdg+1fvchstlVdMy4FrAnxzs8Wf/GIQNFYOVgpAw==} peerDependencies: tslib: '>= 1.0.0' @@ -6492,10 +6520,6 @@ packages: engines: {node: '>=22.7.5'} hasBin: true - '@modelcontextprotocol/sdk@1.17.1': - resolution: {integrity: sha512-CPle1OQehbWqd25La9Ack5B07StKIxh4+Bf19qnpZKJC1oI22Y0czZHbifjw1UoczIfKBwBDAp/dFxvHG13B5A==} - engines: {node: '>=18'} - '@modelcontextprotocol/sdk@1.21.0': resolution: {integrity: sha512-YFBsXJMFCyI1zP98u7gezMFKX4lgu/XpoZJk7ufI6UlFKXLj2hAMUuRlQX/nrmIPOmhRrG6tw2OQ2ZA/ZlXYpQ==} engines: {node: '>=18'} @@ -6505,8 +6529,8 @@ packages: '@cfworker/json-schema': optional: true - '@monaco-editor/loader@1.5.0': - resolution: {integrity: sha512-hKoGSM+7aAc7eRTRjpqAZucPmoNOC4UUbknb/VNoTkEIkCPhqV8LfbsgM1webRM7S/z21eHEx9Fkwx8Z/C/+Xw==} + '@monaco-editor/loader@1.6.1': + resolution: {integrity: sha512-w3tEnj9HYEC73wtjdpR089AqkUPskFRcdkxsiSFt3SoUc3OHpmu+leP94CXBm4mHfefmhsdfI0ZQu6qJ0wgtPg==} '@monaco-editor/react@4.7.0': resolution: {integrity: sha512-cyzXQCtO47ydzxpQtCGSQGOC8Gk3ZUeBXFAxD+CWXYFo5OqZyZUonFl0DwUlTyAfRHntBfw2p3w4s9R6oe1eCA==} @@ -6815,9 +6839,6 @@ packages: '@radix-ui/primitive@1.0.1': resolution: {integrity: sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==} - '@radix-ui/primitive@1.1.2': - resolution: {integrity: sha512-XnbHrrprsNqZKQhStrSwgRUQzoCI1glLzdw79xiZPoofhGICeZRSQ3dIxAKH1gb3OHfNf4d6f+vAv3kil2eggA==} - '@radix-ui/primitive@1.1.3': resolution: {integrity: sha512-JTF99U/6XIjCBo0wqkU5sK10glYe27MRRsfwoiq5zzOEZLHU3A3KCMa5X/azekYRCJ0HlwI0crAXS/5dEHTzDg==} @@ -6922,8 +6943,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-dialog@1.1.14': - resolution: {integrity: sha512-+CpweKjqpzTmwRwcYECQcNYbI8V9VSQt0SNFKeEBLgfucbsLssU6Ppq7wUdNXEGb573bMjFhVjKVll8rmV6zMw==} + '@radix-ui/react-dialog@1.1.15': + resolution: {integrity: sha512-TCglVRtzlffRNxRMEyR36DGBLJpeusFcgMVD9PZEzAKnUs1lKCgX5u9BmC2Yg+LL9MgZDugFFs1Vl+Jp4t/PGw==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -6966,19 +6987,6 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-dismissable-layer@1.1.10': - resolution: {integrity: sha512-IM1zzRV4W3HtVgftdQiiOmA0AdJlCtMLe00FXaHwgt3rAnNsIyDqshvkIW3hj/iu5hu8ERP7KIYki6NkqDxAwQ==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - '@radix-ui/react-dismissable-layer@1.1.11': resolution: {integrity: sha512-Nqcp+t5cTB8BinFkZgXiMJniQH0PsUt2k51FUhbdfeKvc4ACcG2uQniY/8+h1Yv6Kza4Q7lD7PQV0z0oicE0Mg==} peerDependencies: @@ -6992,8 +7000,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-dropdown-menu@2.1.15': - resolution: {integrity: sha512-mIBnOjgwo9AH3FyKaSWoSu/dYj6VdhJ7frEPiGTeXCdUFHjl9h3mFh2wwhEtINOmYXWhdpf1rY2minFsmaNgVQ==} + '@radix-ui/react-dropdown-menu@2.1.16': + resolution: {integrity: sha512-1PLGQEynI/3OX/ftV54COn+3Sud/Mn8vALg2rWnBLnRaGtJDduNW/22XjlGgPdpcIbiQxjKtb7BkcjP00nqfJw==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -7014,15 +7022,6 @@ packages: '@types/react': optional: true - '@radix-ui/react-focus-guards@1.1.2': - resolution: {integrity: sha512-fyjAACV62oPV925xFCrH8DR5xWhg9KYtJT4s3u54jxp+L/hbpTY2kIeEFFbFe+a/HCE94zGQMZLIpVTPVZDhaA==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@radix-ui/react-focus-guards@1.1.3': resolution: {integrity: sha512-0rFg/Rj2Q62NCm62jZw0QX7a3sz6QCQU0LpZdNrJX8byRGaGVTqbrW9jAoIAHyMQqsNpeZ81YgSizOt5WXq0Pw==} peerDependencies: @@ -7094,8 +7093,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-menu@2.1.15': - resolution: {integrity: sha512-tVlmA3Vb9n8SZSd+YSbuFR66l87Wiy4du+YE+0hzKQEANA+7cWKH1WgqcEX4pXqxUFQKrWQGHdvEfw00TjFiew==} + '@radix-ui/react-menu@2.1.16': + resolution: {integrity: sha512-72F2T+PLlphrqLcAotYPp0uJMr5SjP5SL01wfEspJbru5Zs5vQaSHb4VB3ZMJPimgHHCHG7gMOeOB9H3Hdmtxg==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -7133,19 +7132,6 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-popper@1.2.7': - resolution: {integrity: sha512-IUFAccz1JyKcf/RjB552PlWwxjeCJB8/4KxT7EhBHOJM+mN7LdW+B3kacJXILm32xawcMMjb2i0cIZpo+f9kiQ==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - '@radix-ui/react-popper@1.2.8': resolution: {integrity: sha512-0NJQ4LFFUuWkE7Oxf0htBKS6zLkkjBH+hM1uk7Ng705ReR8m/uelduy1DBo0PyBXPKVnBA6YBlU94MBGXrSBCw==} peerDependencies: @@ -7185,19 +7171,6 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-presence@1.1.4': - resolution: {integrity: sha512-ueDqRbdc4/bkaQT3GIpLQssRlFgWaL/U2z/S31qRwwLWoxHLgry3SIfCwhxeQNbirEUXFa+lq3RL3oBYXtcmIA==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - '@radix-ui/react-presence@1.1.5': resolution: {integrity: sha512-/jfEwNDdQVBCNvjkGit4h6pMOzq8bHkopq458dPt2lMjx+eBQUohZNG9A7DtO/O5ukSbxuaNGXMjHicgwy6rQQ==} peerDependencies: @@ -7237,19 +7210,6 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-roving-focus@1.1.10': - resolution: {integrity: sha512-dT9aOXUen9JSsxnMPv/0VqySQf5eDQ6LCk5Sw28kamz8wSOW2bJdlX2Bg5VUIIcV+6XlHpWTIuTPCf/UNIyq8Q==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - '@radix-ui/react-roving-focus@1.1.11': resolution: {integrity: sha512-7A6S9jSgm/S+7MdtNDSb+IU859vQqJ/QAtcYQcfFC6W8RS4IxIZDldLR0xqCFZ6DCyrQLjLPsxtTNch5jVA4lA==} peerDependencies: @@ -7359,8 +7319,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-toggle-group@1.1.10': - resolution: {integrity: sha512-kiU694Km3WFLTC75DdqgM/3Jauf3rD9wxeS9XtyWFKsBUeZA337lC+6uUazT7I1DhanZ5gyD5Stf8uf2dbQxOQ==} + '@radix-ui/react-toggle-group@1.1.11': + resolution: {integrity: sha512-5umnS0T8JQzQT6HbPyO7Hh9dgd82NmS36DQr+X/YJ9ctFNCiiQd6IJAYYZ33LUwm8M+taCz5t2ui29fHZc4Y6Q==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -7372,8 +7332,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-toggle@1.1.9': - resolution: {integrity: sha512-ZoFkBBz9zv9GWer7wIjvdRxmh2wyc2oKWw6C6CseWd6/yq1DK/l5lJ+wnsmFwJZbBYqr02mrf8A2q/CVCuM3ZA==} + '@radix-ui/react-toggle@1.1.10': + resolution: {integrity: sha512-lS1odchhFTeZv3xwHH31YPObmJn8gOg7Lq12inrr0+BH/l3Tsq32VfjqH1oh80ARM3mlkfMic15n0kg4sD1poQ==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -7385,8 +7345,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-toolbar@1.1.10': - resolution: {integrity: sha512-jiwQsduEL++M4YBIurjSa+voD86OIytCod0/dbIxFZDLD8NfO1//keXYMfsW8BPcfqwoNjt+y06XcJqAb4KR7A==} + '@radix-ui/react-toolbar@1.1.11': + resolution: {integrity: sha512-4ol06/1bLoFu1nwUqzdD4Y5RZ9oDdKeiHIsntug54Hcr1pgaHiPqHFEaXI1IFP/EsOfROQZ8Mig9VTIRza6Tjg==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -7398,8 +7358,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-tooltip@1.2.7': - resolution: {integrity: sha512-Ap+fNYwKTYJ9pzqW+Xe2HtMRbQ/EeWkj2qykZ6SuEV4iS/o1bZI5ssJbk4D2r8XuDuOBVz/tIx2JObtuqU+5Zw==} + '@radix-ui/react-tooltip@1.2.8': + resolution: {integrity: sha512-tY7sVt1yL9ozIxvmbtN5qtmH2krXcBCfjEiCgKGLqunJHvgvZG2Pcl2oQ3kbcZARb1BGEHdkLzcYGO8ynVlieg==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -7578,14 +7538,14 @@ packages: '@radix-ui/rect@1.1.1': resolution: {integrity: sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw==} - '@react-aria/focus@3.21.0': - resolution: {integrity: sha512-7NEGtTPsBy52EZ/ToVKCu0HSelE3kq9qeis+2eEq90XSuJOMaDHUQrA7RC2Y89tlEwQB31bud/kKRi9Qme1dkA==} + '@react-aria/focus@3.21.2': + resolution: {integrity: sha512-JWaCR7wJVggj+ldmM/cb/DXFg47CXR55lznJhZBh4XVqJjMKwaOOqpT5vNN7kpC1wUpXicGNuDnJDN1S/+6dhQ==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/interactions@3.25.4': - resolution: {integrity: sha512-HBQMxgUPHrW8V63u9uGgBymkMfj6vdWbB0GgUJY49K9mBKMsypcHeWkWM6+bF7kxRO728/IK8bWDV6whDbqjHg==} + '@react-aria/interactions@3.25.6': + resolution: {integrity: sha512-5UgwZmohpixwNMVkMvn9K1ceJe6TzlRlAfuYoQDUuOkk62/JVJNDLAPKIf5YMRc7d2B0rmfgaZLMtbREb0Zvkw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -7596,8 +7556,8 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/utils@3.30.0': - resolution: {integrity: sha512-ydA6y5G1+gbem3Va2nczj/0G0W7/jUVo/cbN10WA5IizzWIwMP5qhFr7macgbKfHMkZ+YZC3oXnt2NNre5odKw==} + '@react-aria/utils@3.31.0': + resolution: {integrity: sha512-ABOzCsZrWzf78ysswmguJbx3McQUja7yeGj6/vZo4JVsZNlxAN+E9rs381ExBRI0KzVo6iBTeX5De8eMZPJXig==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 @@ -7629,19 +7589,19 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/shared@3.31.0': - resolution: {integrity: sha512-ua5U6V66gDcbLZe4P2QeyNgPp4YWD1ymGA6j3n+s8CGExtrCPe64v+g4mvpT8Bnb985R96e4zFT61+m0YCwqMg==} + '@react-types/shared@3.32.1': + resolution: {integrity: sha512-famxyD5emrGGpFuUlgOP6fVW2h/ZaF405G5KDi3zPHzyjAWys/8W6NAVJtNbkCkhedmvL0xOhvt8feGXyXaw5w==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@redhat-developer/locators@1.15.0': - resolution: {integrity: sha512-xxkCoCQsqiA7IVR5kdNfU3MnuT9QSYDeu0KXrwW59FMCcZpUftz6uiQkqgbB212ASlS3mxVhyYpqJan4zr+XtA==} + '@redhat-developer/locators@1.17.0': + resolution: {integrity: sha512-CPDrTJfrA5lxXPd64RHuntq+foRorMIOQAN0tlaQQD5wX0X2xlCOf324TVWS1hmTiYHtA8VfFTJNOjMQYvu0Mw==} peerDependencies: '@redhat-developer/page-objects': '>=1.0.0' selenium-webdriver: '>=4.6.1' - '@redhat-developer/page-objects@1.15.0': - resolution: {integrity: sha512-Mfr7rVcFB+J16VzLbbqLF9Yo1W7G2bgjkVv0vPUrlkz1dgYdAjZpaQpjs6dVlRO5Uopt11loYu4SS+wnxPopMw==} + '@redhat-developer/page-objects@1.17.0': + resolution: {integrity: sha512-KytdvW8iHyECmt7rLf/MWdrtHmUi/SIkgWowjscIx0+U6sgXW7hHZ/5/gWP5HGX0Q5K1AA67veC75x2eZosN2g==} peerDependencies: selenium-webdriver: '>=4.6.1' typescript: '>=4.6.2' @@ -7663,8 +7623,8 @@ packages: peerDependencies: rollup: ^1.20.0||^2.0.0 - '@rollup/plugin-commonjs@28.0.6': - resolution: {integrity: sha512-XSQB1K7FUU5QP+3lOQmVCE3I0FcbbNvmNT4VJSj93iUjayaARrTQeoRdiYQoftAJBLrR9t2agwAd3ekaTgHNlw==} + '@rollup/plugin-commonjs@28.0.9': + resolution: {integrity: sha512-PIR4/OHZ79romx0BVVll/PkwWpJ7e5lsqFa3gFfcrFPWwLXLV39JVUzQV9RKjWerE7B845Hqjj9VYlQeieZ2dA==} engines: {node: '>=16.0.0 || 14 >= 14.17'} peerDependencies: rollup: ^2.68.0||^3.0.0||^4.0.0 @@ -7686,8 +7646,8 @@ packages: rollup: optional: true - '@rollup/plugin-node-resolve@16.0.1': - resolution: {integrity: sha512-tk5YCxJWIG81umIvNkSod2qK5KyQW19qcBF/B78n1bjtOON6gzKoVeSzAE8yHCZEDmqkHKkxplExA8KzdJLJpA==} + '@rollup/plugin-node-resolve@16.0.3': + resolution: {integrity: sha512-lUYM3UBGuM93CnMPG1YocWu7X802BrNF3jW2zny5gQyLQgRFJhV1Sq0Zi74+dh/6NBx1DxFC4b4GXg9wUCG5Qg==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^2.78.0||^3.0.0||^4.0.0 @@ -7716,8 +7676,8 @@ packages: resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} engines: {node: '>= 8.0.0'} - '@rollup/pluginutils@5.2.0': - resolution: {integrity: sha512-qWJ2ZTbmumwiLFomfzTyt5Kng4hwPi9rwCYN4SHb6eaRU1KNO4ccxINHr/VhH4GgPlt1XfSTLX2LBTme8ne4Zw==} + '@rollup/pluginutils@5.3.0': + resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 @@ -7725,103 +7685,113 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.46.2': - resolution: {integrity: sha512-Zj3Hl6sN34xJtMv7Anwb5Gu01yujyE/cLBDB2gnHTAHaWS1Z38L7kuSG+oAh0giZMqG060f/YBStXtMH6FvPMA==} + '@rollup/rollup-android-arm-eabi@4.52.5': + resolution: {integrity: sha512-8c1vW4ocv3UOMp9K+gToY5zL2XiiVw3k7f1ksf4yO1FlDFQ1C2u72iACFnSOceJFsWskc2WZNqeRhFRPzv+wtQ==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.46.2': - resolution: {integrity: sha512-nTeCWY83kN64oQ5MGz3CgtPx8NSOhC5lWtsjTs+8JAJNLcP3QbLCtDDgUKQc/Ro/frpMq4SHUaHN6AMltcEoLQ==} + '@rollup/rollup-android-arm64@4.52.5': + resolution: {integrity: sha512-mQGfsIEFcu21mvqkEKKu2dYmtuSZOBMmAl5CFlPGLY94Vlcm+zWApK7F/eocsNzp8tKmbeBP8yXyAbx0XHsFNA==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.46.2': - resolution: {integrity: sha512-HV7bW2Fb/F5KPdM/9bApunQh68YVDU8sO8BvcW9OngQVN3HHHkw99wFupuUJfGR9pYLLAjcAOA6iO+evsbBaPQ==} + '@rollup/rollup-darwin-arm64@4.52.5': + resolution: {integrity: sha512-takF3CR71mCAGA+v794QUZ0b6ZSrgJkArC+gUiG6LB6TQty9T0Mqh3m2ImRBOxS2IeYBo4lKWIieSvnEk2OQWA==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.46.2': - resolution: {integrity: sha512-SSj8TlYV5nJixSsm/y3QXfhspSiLYP11zpfwp6G/YDXctf3Xkdnk4woJIF5VQe0of2OjzTt8EsxnJDCdHd2xMA==} + '@rollup/rollup-darwin-x64@4.52.5': + resolution: {integrity: sha512-W901Pla8Ya95WpxDn//VF9K9u2JbocwV/v75TE0YIHNTbhqUTv9w4VuQ9MaWlNOkkEfFwkdNhXgcLqPSmHy0fA==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.46.2': - resolution: {integrity: sha512-ZyrsG4TIT9xnOlLsSSi9w/X29tCbK1yegE49RYm3tu3wF1L/B6LVMqnEWyDB26d9Ecx9zrmXCiPmIabVuLmNSg==} + '@rollup/rollup-freebsd-arm64@4.52.5': + resolution: {integrity: sha512-QofO7i7JycsYOWxe0GFqhLmF6l1TqBswJMvICnRUjqCx8b47MTo46W8AoeQwiokAx3zVryVnxtBMcGcnX12LvA==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.46.2': - resolution: {integrity: sha512-pCgHFoOECwVCJ5GFq8+gR8SBKnMO+xe5UEqbemxBpCKYQddRQMgomv1104RnLSg7nNvgKy05sLsY51+OVRyiVw==} + '@rollup/rollup-freebsd-x64@4.52.5': + resolution: {integrity: sha512-jr21b/99ew8ujZubPo9skbrItHEIE50WdV86cdSoRkKtmWa+DDr6fu2c/xyRT0F/WazZpam6kk7IHBerSL7LDQ==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.46.2': - resolution: {integrity: sha512-EtP8aquZ0xQg0ETFcxUbU71MZlHaw9MChwrQzatiE8U/bvi5uv/oChExXC4mWhjiqK7azGJBqU0tt5H123SzVA==} + '@rollup/rollup-linux-arm-gnueabihf@4.52.5': + resolution: {integrity: sha512-PsNAbcyv9CcecAUagQefwX8fQn9LQ4nZkpDboBOttmyffnInRy8R8dSg6hxxl2Re5QhHBf6FYIDhIj5v982ATQ==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.46.2': - resolution: {integrity: sha512-qO7F7U3u1nfxYRPM8HqFtLd+raev2K137dsV08q/LRKRLEc7RsiDWihUnrINdsWQxPR9jqZ8DIIZ1zJJAm5PjQ==} + '@rollup/rollup-linux-arm-musleabihf@4.52.5': + resolution: {integrity: sha512-Fw4tysRutyQc/wwkmcyoqFtJhh0u31K+Q6jYjeicsGJJ7bbEq8LwPWV/w0cnzOqR2m694/Af6hpFayLJZkG2VQ==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.46.2': - resolution: {integrity: sha512-3dRaqLfcOXYsfvw5xMrxAk9Lb1f395gkoBYzSFcc/scgRFptRXL9DOaDpMiehf9CO8ZDRJW2z45b6fpU5nwjng==} + '@rollup/rollup-linux-arm64-gnu@4.52.5': + resolution: {integrity: sha512-a+3wVnAYdQClOTlyapKmyI6BLPAFYs0JM8HRpgYZQO02rMR09ZcV9LbQB+NL6sljzG38869YqThrRnfPMCDtZg==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.46.2': - resolution: {integrity: sha512-fhHFTutA7SM+IrR6lIfiHskxmpmPTJUXpWIsBXpeEwNgZzZZSg/q4i6FU4J8qOGyJ0TR+wXBwx/L7Ho9z0+uDg==} + '@rollup/rollup-linux-arm64-musl@4.52.5': + resolution: {integrity: sha512-AvttBOMwO9Pcuuf7m9PkC1PUIKsfaAJ4AYhy944qeTJgQOqJYJ9oVl2nYgY7Rk0mkbsuOpCAYSs6wLYB2Xiw0Q==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-loongarch64-gnu@4.46.2': - resolution: {integrity: sha512-i7wfGFXu8x4+FRqPymzjD+Hyav8l95UIZ773j7J7zRYc3Xsxy2wIn4x+llpunexXe6laaO72iEjeeGyUFmjKeA==} + '@rollup/rollup-linux-loong64-gnu@4.52.5': + resolution: {integrity: sha512-DkDk8pmXQV2wVrF6oq5tONK6UHLz/XcEVow4JTTerdeV1uqPeHxwcg7aFsfnSm9L+OO8WJsWotKM2JJPMWrQtA==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-ppc64-gnu@4.46.2': - resolution: {integrity: sha512-B/l0dFcHVUnqcGZWKcWBSV2PF01YUt0Rvlurci5P+neqY/yMKchGU8ullZvIv5e8Y1C6wOn+U03mrDylP5q9Yw==} + '@rollup/rollup-linux-ppc64-gnu@4.52.5': + resolution: {integrity: sha512-W/b9ZN/U9+hPQVvlGwjzi+Wy4xdoH2I8EjaCkMvzpI7wJUs8sWJ03Rq96jRnHkSrcHTpQe8h5Tg3ZzUPGauvAw==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.46.2': - resolution: {integrity: sha512-32k4ENb5ygtkMwPMucAb8MtV8olkPT03oiTxJbgkJa7lJ7dZMr0GCFJlyvy+K8iq7F/iuOr41ZdUHaOiqyR3iQ==} + '@rollup/rollup-linux-riscv64-gnu@4.52.5': + resolution: {integrity: sha512-sjQLr9BW7R/ZiXnQiWPkErNfLMkkWIoCz7YMn27HldKsADEKa5WYdobaa1hmN6slu9oWQbB6/jFpJ+P2IkVrmw==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-riscv64-musl@4.46.2': - resolution: {integrity: sha512-t5B2loThlFEauloaQkZg9gxV05BYeITLvLkWOkRXogP4qHXLkWSbSHKM9S6H1schf/0YGP/qNKtiISlxvfmmZw==} + '@rollup/rollup-linux-riscv64-musl@4.52.5': + resolution: {integrity: sha512-hq3jU/kGyjXWTvAh2awn8oHroCbrPm8JqM7RUpKjalIRWWXE01CQOf/tUNWNHjmbMHg/hmNCwc/Pz3k1T/j/Lg==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.46.2': - resolution: {integrity: sha512-YKjekwTEKgbB7n17gmODSmJVUIvj8CX7q5442/CK80L8nqOUbMtf8b01QkG3jOqyr1rotrAnW6B/qiHwfcuWQA==} + '@rollup/rollup-linux-s390x-gnu@4.52.5': + resolution: {integrity: sha512-gn8kHOrku8D4NGHMK1Y7NA7INQTRdVOntt1OCYypZPRt6skGbddska44K8iocdpxHTMMNui5oH4elPH4QOLrFQ==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.46.2': - resolution: {integrity: sha512-Jj5a9RUoe5ra+MEyERkDKLwTXVu6s3aACP51nkfnK9wJTraCC8IMe3snOfALkrjTYd2G1ViE1hICj0fZ7ALBPA==} + '@rollup/rollup-linux-x64-gnu@4.52.5': + resolution: {integrity: sha512-hXGLYpdhiNElzN770+H2nlx+jRog8TyynpTVzdlc6bndktjKWyZyiCsuDAlpd+j+W+WNqfcyAWz9HxxIGfZm1Q==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.46.2': - resolution: {integrity: sha512-7kX69DIrBeD7yNp4A5b81izs8BqoZkCIaxQaOpumcJ1S/kmqNFjPhDu1LHeVXv0SexfHQv5cqHsxLOjETuqDuA==} + '@rollup/rollup-linux-x64-musl@4.52.5': + resolution: {integrity: sha512-arCGIcuNKjBoKAXD+y7XomR9gY6Mw7HnFBv5Rw7wQRvwYLR7gBAgV7Mb2QTyjXfTveBNFAtPt46/36vV9STLNg==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.46.2': - resolution: {integrity: sha512-wiJWMIpeaak/jsbaq2HMh/rzZxHVW1rU6coyeNNpMwk5isiPjSTx0a4YLSlYDwBH/WBvLz+EtsNqQScZTLJy3g==} + '@rollup/rollup-openharmony-arm64@4.52.5': + resolution: {integrity: sha512-QoFqB6+/9Rly/RiPjaomPLmR/13cgkIGfA40LHly9zcH1S0bN2HVFYk3a1eAyHQyjs3ZJYlXvIGtcCs5tko9Cw==} + cpu: [arm64] + os: [openharmony] + + '@rollup/rollup-win32-arm64-msvc@4.52.5': + resolution: {integrity: sha512-w0cDWVR6MlTstla1cIfOGyl8+qb93FlAVutcor14Gf5Md5ap5ySfQ7R9S/NjNaMLSFdUnKGEasmVnu3lCMqB7w==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.46.2': - resolution: {integrity: sha512-gBgaUDESVzMgWZhcyjfs9QFK16D8K6QZpwAaVNJxYDLHWayOta4ZMjGm/vsAEy3hvlS2GosVFlBlP9/Wb85DqQ==} + '@rollup/rollup-win32-ia32-msvc@4.52.5': + resolution: {integrity: sha512-Aufdpzp7DpOTULJCuvzqcItSGDH73pF3ko/f+ckJhxQyHtp67rHw3HMNxoIdDMUITJESNE6a8uh4Lo4SLouOUg==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.46.2': - resolution: {integrity: sha512-CvUo2ixeIQGtF6WvuB87XWqPQkoFAFqW+HUo/WzHwuHDvIwZCtjdWXoYCcr06iKGydiqTclC4jU/TNObC/xKZg==} + '@rollup/rollup-win32-x64-gnu@4.52.5': + resolution: {integrity: sha512-UGBUGPFp1vkj6p8wCRraqNhqwX/4kNQPS57BCFc8wYh0g94iVIW33wJtQAx3G7vrjjNtRaxiMUylM0ktp/TRSQ==} + cpu: [x64] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.52.5': + resolution: {integrity: sha512-TAcgQh2sSkykPRWLrdyy2AiceMckNf5loITqXxFI5VuQjS5tSuw3WlwdN8qv8vzjLAUTvYaH/mVjSFpbkFbpTg==} cpu: [x64] os: [win32] @@ -7904,14 +7874,18 @@ packages: resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==} engines: {node: '>=14.16'} - '@sindresorhus/is@7.0.2': - resolution: {integrity: sha512-d9xRovfKNz1SKieM0qJdO+PQonjnnIfSNWfHYnBSJ9hkjm0ZPw6HlxscDXYstp3z+7V2GOFHc+J0CYrYTjqCJw==} + '@sindresorhus/is@7.1.1': + resolution: {integrity: sha512-rO92VvpgMc3kfiTjGT52LEtJ8Yc5kCWhZjLQ3LwlA4pSgPpQO7bVpYXParOD8Jwf+cVQECJo3yP/4I8aZtUQTQ==} engines: {node: '>=18'} '@sindresorhus/merge-streams@2.3.0': resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} engines: {node: '>=18'} + '@sindresorhus/merge-streams@4.0.0': + resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} + engines: {node: '>=18'} + '@sinonjs/commons@1.8.6': resolution: {integrity: sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==} @@ -7938,218 +7912,225 @@ packages: peerDependencies: size-limit: 11.2.0 - '@smithy/abort-controller@4.0.5': - resolution: {integrity: sha512-jcrqdTQurIrBbUm4W2YdLVMQDoL0sA9DTxYd2s+R/y+2U9NLOP7Xf/YqfSg1FZhlZIYEnvk2mwbyvIfdLEPo8g==} + '@smithy/abort-controller@4.2.4': + resolution: {integrity: sha512-Z4DUr/AkgyFf1bOThW2HwzREagee0sB5ycl+hDiSZOfRLW8ZgrOjDi6g8mHH19yyU5E2A/64W3z6SMIf5XiUSQ==} engines: {node: '>=18.0.0'} - '@smithy/chunked-blob-reader-native@4.0.0': - resolution: {integrity: sha512-R9wM2yPmfEMsUmlMlIgSzOyICs0x9uu7UTHoccMyt7BWw8shcGM8HqB355+BZCPBcySvbTYMs62EgEQkNxz2ig==} + '@smithy/chunked-blob-reader-native@4.2.1': + resolution: {integrity: sha512-lX9Ay+6LisTfpLid2zZtIhSEjHMZoAR5hHCR4H7tBz/Zkfr5ea8RcQ7Tk4mi0P76p4cN+Btz16Ffno7YHpKXnQ==} engines: {node: '>=18.0.0'} - '@smithy/chunked-blob-reader@5.0.0': - resolution: {integrity: sha512-+sKqDBQqb036hh4NPaUiEkYFkTUGYzRsn3EuFhyfQfMy6oGHEUJDurLP9Ufb5dasr/XiAmPNMr6wa9afjQB+Gw==} + '@smithy/chunked-blob-reader@5.2.0': + resolution: {integrity: sha512-WmU0TnhEAJLWvfSeMxBNe5xtbselEO8+4wG0NtZeL8oR21WgH1xiO37El+/Y+H/Ie4SCwBy3MxYWmOYaGgZueA==} engines: {node: '>=18.0.0'} - '@smithy/config-resolver@4.1.5': - resolution: {integrity: sha512-viuHMxBAqydkB0AfWwHIdwf/PRH2z5KHGUzqyRtS/Wv+n3IHI993Sk76VCA7dD/+GzgGOmlJDITfPcJC1nIVIw==} + '@smithy/config-resolver@4.4.1': + resolution: {integrity: sha512-BciDJ5hkyYEGBBKMbjGB1A/Zq8bYZ41Zo9BMnGdKF6QD1fY4zIkYx6zui/0CHaVGnv6h0iy8y4rnPX9CPCAPyQ==} engines: {node: '>=18.0.0'} - '@smithy/core@3.8.0': - resolution: {integrity: sha512-EYqsIYJmkR1VhVE9pccnk353xhs+lB6btdutJEtsp7R055haMJp2yE16eSxw8fv+G0WUY6vqxyYOP8kOqawxYQ==} + '@smithy/core@3.17.2': + resolution: {integrity: sha512-n3g4Nl1Te+qGPDbNFAYf+smkRVB+JhFsGy9uJXXZQEufoP4u0r+WLh6KvTDolCswaagysDc/afS1yvb2jnj1gQ==} engines: {node: '>=18.0.0'} - '@smithy/credential-provider-imds@4.0.7': - resolution: {integrity: sha512-dDzrMXA8d8riFNiPvytxn0mNwR4B3h8lgrQ5UjAGu6T9z/kRg/Xncf4tEQHE/+t25sY8IH3CowcmWi+1U5B1Gw==} + '@smithy/credential-provider-imds@4.2.4': + resolution: {integrity: sha512-YVNMjhdz2pVto5bRdux7GMs0x1m0Afz3OcQy/4Yf9DH4fWOtroGH7uLvs7ZmDyoBJzLdegtIPpXrpJOZWvUXdw==} engines: {node: '>=18.0.0'} - '@smithy/eventstream-codec@4.0.5': - resolution: {integrity: sha512-miEUN+nz2UTNoRYRhRqVTJCx7jMeILdAurStT2XoS+mhokkmz1xAPp95DFW9Gxt4iF2VBqpeF9HbTQ3kY1viOA==} + '@smithy/eventstream-codec@4.2.4': + resolution: {integrity: sha512-aV8blR9RBDKrOlZVgjOdmOibTC2sBXNiT7WA558b4MPdsLTV6sbyc1WIE9QiIuYMJjYtnPLciefoqSW8Gi+MZQ==} engines: {node: '>=18.0.0'} - '@smithy/eventstream-serde-browser@4.0.5': - resolution: {integrity: sha512-LCUQUVTbM6HFKzImYlSB9w4xafZmpdmZsOh9rIl7riPC3osCgGFVP+wwvYVw6pXda9PPT9TcEZxaq3XE81EdJQ==} + '@smithy/eventstream-serde-browser@4.2.4': + resolution: {integrity: sha512-d5T7ZS3J/r8P/PDjgmCcutmNxnSRvPH1U6iHeXjzI50sMr78GLmFcrczLw33Ap92oEKqa4CLrkAPeSSOqvGdUA==} engines: {node: '>=18.0.0'} - '@smithy/eventstream-serde-config-resolver@4.1.3': - resolution: {integrity: sha512-yTTzw2jZjn/MbHu1pURbHdpjGbCuMHWncNBpJnQAPxOVnFUAbSIUSwafiphVDjNV93TdBJWmeVAds7yl5QCkcA==} + '@smithy/eventstream-serde-config-resolver@4.3.4': + resolution: {integrity: sha512-lxfDT0UuSc1HqltOGsTEAlZ6H29gpfDSdEPTapD5G63RbnYToZ+ezjzdonCCH90j5tRRCw3aLXVbiZaBW3VRVg==} engines: {node: '>=18.0.0'} - '@smithy/eventstream-serde-node@4.0.5': - resolution: {integrity: sha512-lGS10urI4CNzz6YlTe5EYG0YOpsSp3ra8MXyco4aqSkQDuyZPIw2hcaxDU82OUVtK7UY9hrSvgWtpsW5D4rb4g==} + '@smithy/eventstream-serde-node@4.2.4': + resolution: {integrity: sha512-TPhiGByWnYyzcpU/K3pO5V7QgtXYpE0NaJPEZBCa1Y5jlw5SjqzMSbFiLb+ZkJhqoQc0ImGyVINqnq1ze0ZRcQ==} engines: {node: '>=18.0.0'} - '@smithy/eventstream-serde-universal@4.0.5': - resolution: {integrity: sha512-JFnmu4SU36YYw3DIBVao3FsJh4Uw65vVDIqlWT4LzR6gXA0F3KP0IXFKKJrhaVzCBhAuMsrUUaT5I+/4ZhF7aw==} + '@smithy/eventstream-serde-universal@4.2.4': + resolution: {integrity: sha512-GNI/IXaY/XBB1SkGBFmbW033uWA0tj085eCxYih0eccUe/PFR7+UBQv9HNDk2fD9TJu7UVsCWsH99TkpEPSOzQ==} engines: {node: '>=18.0.0'} - '@smithy/fetch-http-handler@5.1.1': - resolution: {integrity: sha512-61WjM0PWmZJR+SnmzaKI7t7G0UkkNFboDpzIdzSoy7TByUzlxo18Qlh9s71qug4AY4hlH/CwXdubMtkcNEb/sQ==} + '@smithy/fetch-http-handler@5.3.5': + resolution: {integrity: sha512-mg83SM3FLI8Sa2ooTJbsh5MFfyMTyNRwxqpKHmE0ICRIa66Aodv80DMsTQI02xBLVJ0hckwqTRr5IGAbbWuFLQ==} engines: {node: '>=18.0.0'} - '@smithy/hash-blob-browser@4.0.5': - resolution: {integrity: sha512-F7MmCd3FH/Q2edhcKd+qulWkwfChHbc9nhguBlVjSUE6hVHhec3q6uPQ+0u69S6ppvLtR3eStfCuEKMXBXhvvA==} + '@smithy/hash-blob-browser@4.2.5': + resolution: {integrity: sha512-kCdgjD2J50qAqycYx0imbkA9tPtyQr1i5GwbK/EOUkpBmJGSkJe4mRJm+0F65TUSvvui1HZ5FFGFCND7l8/3WQ==} engines: {node: '>=18.0.0'} - '@smithy/hash-node@4.0.5': - resolution: {integrity: sha512-cv1HHkKhpyRb6ahD8Vcfb2Hgz67vNIXEp2vnhzfxLFGRukLCNEA5QdsorbUEzXma1Rco0u3rx5VTqbM06GcZqQ==} + '@smithy/hash-node@4.2.4': + resolution: {integrity: sha512-kKU0gVhx/ppVMntvUOZE7WRMFW86HuaxLwvqileBEjL7PoILI8/djoILw3gPQloGVE6O0oOzqafxeNi2KbnUJw==} engines: {node: '>=18.0.0'} - '@smithy/hash-stream-node@4.0.5': - resolution: {integrity: sha512-IJuDS3+VfWB67UC0GU0uYBG/TA30w+PlOaSo0GPm9UHS88A6rCP6uZxNjNYiyRtOcjv7TXn/60cW8ox1yuZsLg==} + '@smithy/hash-stream-node@4.2.4': + resolution: {integrity: sha512-amuh2IJiyRfO5MV0X/YFlZMD6banjvjAwKdeJiYGUbId608x+oSNwv3vlyW2Gt6AGAgl3EYAuyYLGRX/xU8npQ==} engines: {node: '>=18.0.0'} - '@smithy/invalid-dependency@4.0.5': - resolution: {integrity: sha512-IVnb78Qtf7EJpoEVo7qJ8BEXQwgC4n3igeJNNKEj/MLYtapnx8A67Zt/J3RXAj2xSO1910zk0LdFiygSemuLow==} + '@smithy/invalid-dependency@4.2.4': + resolution: {integrity: sha512-z6aDLGiHzsMhbS2MjetlIWopWz//K+mCoPXjW6aLr0mypF+Y7qdEh5TyJ20Onf9FbWHiWl4eC+rITdizpnXqOw==} engines: {node: '>=18.0.0'} '@smithy/is-array-buffer@2.2.0': resolution: {integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==} engines: {node: '>=14.0.0'} - '@smithy/is-array-buffer@4.0.0': - resolution: {integrity: sha512-saYhF8ZZNoJDTvJBEWgeBccCg+yvp1CX+ed12yORU3NilJScfc6gfch2oVb4QgxZrGUx3/ZJlb+c/dJbyupxlw==} + '@smithy/is-array-buffer@4.2.0': + resolution: {integrity: sha512-DZZZBvC7sjcYh4MazJSGiWMI2L7E0oCiRHREDzIxi/M2LY79/21iXt6aPLHge82wi5LsuRF5A06Ds3+0mlh6CQ==} engines: {node: '>=18.0.0'} - '@smithy/md5-js@4.0.5': - resolution: {integrity: sha512-8n2XCwdUbGr8W/XhMTaxILkVlw2QebkVTn5tm3HOcbPbOpWg89zr6dPXsH8xbeTsbTXlJvlJNTQsKAIoqQGbdA==} + '@smithy/md5-js@4.2.4': + resolution: {integrity: sha512-h7kzNWZuMe5bPnZwKxhVbY1gan5+TZ2c9JcVTHCygB14buVGOZxLl+oGfpY2p2Xm48SFqEWdghpvbBdmaz3ncQ==} engines: {node: '>=18.0.0'} - '@smithy/middleware-content-length@4.0.5': - resolution: {integrity: sha512-l1jlNZoYzoCC7p0zCtBDE5OBXZ95yMKlRlftooE5jPWQn4YBPLgsp+oeHp7iMHaTGoUdFqmHOPa8c9G3gBsRpQ==} + '@smithy/middleware-content-length@4.2.4': + resolution: {integrity: sha512-hJRZuFS9UsElX4DJSJfoX4M1qXRH+VFiLMUnhsWvtOOUWRNvvOfDaUSdlNbjwv1IkpVjj/Rd/O59Jl3nhAcxow==} engines: {node: '>=18.0.0'} - '@smithy/middleware-endpoint@4.1.18': - resolution: {integrity: sha512-ZhvqcVRPZxnZlokcPaTwb+r+h4yOIOCJmx0v2d1bpVlmP465g3qpVSf7wxcq5zZdu4jb0H4yIMxuPwDJSQc3MQ==} + '@smithy/middleware-endpoint@4.3.6': + resolution: {integrity: sha512-PXehXofGMFpDqr933rxD8RGOcZ0QBAWtuzTgYRAHAL2BnKawHDEdf/TnGpcmfPJGwonhginaaeJIKluEojiF/w==} engines: {node: '>=18.0.0'} - '@smithy/middleware-retry@4.1.19': - resolution: {integrity: sha512-X58zx/NVECjeuUB6A8HBu4bhx72EoUz+T5jTMIyeNKx2lf+Gs9TmWPNNkH+5QF0COjpInP/xSpJGJ7xEnAklQQ==} + '@smithy/middleware-retry@4.4.6': + resolution: {integrity: sha512-OhLx131znrEDxZPAvH/OYufR9d1nB2CQADyYFN4C3V/NQS7Mg4V6uvxHC/Dr96ZQW8IlHJTJ+vAhKt6oxWRndA==} engines: {node: '>=18.0.0'} - '@smithy/middleware-serde@4.0.9': - resolution: {integrity: sha512-uAFFR4dpeoJPGz8x9mhxp+RPjo5wW0QEEIPPPbLXiRRWeCATf/Km3gKIVR5vaP8bN1kgsPhcEeh+IZvUlBv6Xg==} + '@smithy/middleware-serde@4.2.4': + resolution: {integrity: sha512-jUr3x2CDhV15TOX2/Uoz4gfgeqLrRoTQbYAuhLS7lcVKNev7FeYSJ1ebEfjk+l9kbb7k7LfzIR/irgxys5ZTOg==} engines: {node: '>=18.0.0'} - '@smithy/middleware-stack@4.0.5': - resolution: {integrity: sha512-/yoHDXZPh3ocRVyeWQFvC44u8seu3eYzZRveCMfgMOBcNKnAmOvjbL9+Cp5XKSIi9iYA9PECUuW2teDAk8T+OQ==} + '@smithy/middleware-stack@4.2.4': + resolution: {integrity: sha512-Gy3TKCOnm9JwpFooldwAboazw+EFYlC+Bb+1QBsSi5xI0W5lX81j/P5+CXvD/9ZjtYKRgxq+kkqd/KOHflzvgA==} engines: {node: '>=18.0.0'} - '@smithy/node-config-provider@4.1.4': - resolution: {integrity: sha512-+UDQV/k42jLEPPHSn39l0Bmc4sB1xtdI9Gd47fzo/0PbXzJ7ylgaOByVjF5EeQIumkepnrJyfx86dPa9p47Y+w==} + '@smithy/node-config-provider@4.3.4': + resolution: {integrity: sha512-3X3w7qzmo4XNNdPKNS4nbJcGSwiEMsNsRSunMA92S4DJLLIrH5g1AyuOA2XKM9PAPi8mIWfqC+fnfKNsI4KvHw==} engines: {node: '>=18.0.0'} - '@smithy/node-http-handler@4.1.1': - resolution: {integrity: sha512-RHnlHqFpoVdjSPPiYy/t40Zovf3BBHc2oemgD7VsVTFFZrU5erFFe0n52OANZZ/5sbshgD93sOh5r6I35Xmpaw==} + '@smithy/node-http-handler@4.4.4': + resolution: {integrity: sha512-VXHGfzCXLZeKnFp6QXjAdy+U8JF9etfpUXD1FAbzY1GzsFJiDQRQIt2CnMUvUdz3/YaHNqT3RphVWMUpXTIODA==} engines: {node: '>=18.0.0'} - '@smithy/property-provider@4.0.5': - resolution: {integrity: sha512-R/bswf59T/n9ZgfgUICAZoWYKBHcsVDurAGX88zsiUtOTA/xUAPyiT+qkNCPwFn43pZqN84M4MiUsbSGQmgFIQ==} + '@smithy/property-provider@4.2.4': + resolution: {integrity: sha512-g2DHo08IhxV5GdY3Cpt/jr0mkTlAD39EJKN27Jb5N8Fb5qt8KG39wVKTXiTRCmHHou7lbXR8nKVU14/aRUf86w==} engines: {node: '>=18.0.0'} - '@smithy/protocol-http@5.1.3': - resolution: {integrity: sha512-fCJd2ZR7D22XhDY0l+92pUag/7je2BztPRQ01gU5bMChcyI0rlly7QFibnYHzcxDvccMjlpM/Q1ev8ceRIb48w==} + '@smithy/protocol-http@5.3.4': + resolution: {integrity: sha512-3sfFd2MAzVt0Q/klOmjFi3oIkxczHs0avbwrfn1aBqtc23WqQSmjvk77MBw9WkEQcwbOYIX5/2z4ULj8DuxSsw==} engines: {node: '>=18.0.0'} - '@smithy/querystring-builder@4.0.5': - resolution: {integrity: sha512-NJeSCU57piZ56c+/wY+AbAw6rxCCAOZLCIniRE7wqvndqxcKKDOXzwWjrY7wGKEISfhL9gBbAaWWgHsUGedk+A==} + '@smithy/querystring-builder@4.2.4': + resolution: {integrity: sha512-KQ1gFXXC+WsbPFnk7pzskzOpn4s+KheWgO3dzkIEmnb6NskAIGp/dGdbKisTPJdtov28qNDohQrgDUKzXZBLig==} engines: {node: '>=18.0.0'} - '@smithy/querystring-parser@4.0.5': - resolution: {integrity: sha512-6SV7md2CzNG/WUeTjVe6Dj8noH32r4MnUeFKZrnVYsQxpGSIcphAanQMayi8jJLZAWm6pdM9ZXvKCpWOsIGg0w==} + '@smithy/querystring-parser@4.2.4': + resolution: {integrity: sha512-aHb5cqXZocdzEkZ/CvhVjdw5l4r1aU/9iMEyoKzH4eXMowT6M0YjBpp7W/+XjkBnY8Xh0kVd55GKjnPKlCwinQ==} engines: {node: '>=18.0.0'} - '@smithy/service-error-classification@4.0.7': - resolution: {integrity: sha512-XvRHOipqpwNhEjDf2L5gJowZEm5nsxC16pAZOeEcsygdjv9A2jdOh3YoDQvOXBGTsaJk6mNWtzWalOB9976Wlg==} + '@smithy/service-error-classification@4.2.4': + resolution: {integrity: sha512-fdWuhEx4+jHLGeew9/IvqVU/fxT/ot70tpRGuOLxE3HzZOyKeTQfYeV1oaBXpzi93WOk668hjMuuagJ2/Qs7ng==} engines: {node: '>=18.0.0'} - '@smithy/shared-ini-file-loader@4.0.5': - resolution: {integrity: sha512-YVVwehRDuehgoXdEL4r1tAAzdaDgaC9EQvhK0lEbfnbrd0bd5+CTQumbdPryX3J2shT7ZqQE+jPW4lmNBAB8JQ==} + '@smithy/shared-ini-file-loader@4.3.4': + resolution: {integrity: sha512-y5ozxeQ9omVjbnJo9dtTsdXj9BEvGx2X8xvRgKnV+/7wLBuYJQL6dOa/qMY6omyHi7yjt1OA97jZLoVRYi8lxA==} engines: {node: '>=18.0.0'} - '@smithy/signature-v4@5.1.3': - resolution: {integrity: sha512-mARDSXSEgllNzMw6N+mC+r1AQlEBO3meEAkR/UlfAgnMzJUB3goRBWgip1EAMG99wh36MDqzo86SfIX5Y+VEaw==} + '@smithy/signature-v4@5.3.4': + resolution: {integrity: sha512-ScDCpasxH7w1HXHYbtk3jcivjvdA1VICyAdgvVqKhKKwxi+MTwZEqFw0minE+oZ7F07oF25xh4FGJxgqgShz0A==} engines: {node: '>=18.0.0'} - '@smithy/smithy-client@4.4.10': - resolution: {integrity: sha512-iW6HjXqN0oPtRS0NK/zzZ4zZeGESIFcxj2FkWed3mcK8jdSdHzvnCKXSjvewESKAgGKAbJRA+OsaqKhkdYRbQQ==} + '@smithy/smithy-client@4.9.2': + resolution: {integrity: sha512-gZU4uAFcdrSi3io8U99Qs/FvVdRxPvIMToi+MFfsy/DN9UqtknJ1ais+2M9yR8e0ASQpNmFYEKeIKVcMjQg3rg==} engines: {node: '>=18.0.0'} - '@smithy/types@4.3.2': - resolution: {integrity: sha512-QO4zghLxiQ5W9UZmX2Lo0nta2PuE1sSrXUYDoaB6HMR762C0P7v/HEPHf6ZdglTVssJG1bsrSBxdc3quvDSihw==} + '@smithy/types@4.8.1': + resolution: {integrity: sha512-N0Zn0OT1zc+NA+UVfkYqQzviRh5ucWwO7mBV3TmHHprMnfcJNfhlPicDkBHi0ewbh+y3evR6cNAW0Raxvb01NA==} engines: {node: '>=18.0.0'} - '@smithy/url-parser@4.0.5': - resolution: {integrity: sha512-j+733Um7f1/DXjYhCbvNXABV53NyCRRA54C7bNEIxNPs0YjfRxeMKjjgm2jvTYrciZyCjsicHwQ6Q0ylo+NAUw==} + '@smithy/url-parser@4.2.4': + resolution: {integrity: sha512-w/N/Iw0/PTwJ36PDqU9PzAwVElo4qXxCC0eCTlUtIz/Z5V/2j/cViMHi0hPukSBHp4DVwvUlUhLgCzqSJ6plrg==} engines: {node: '>=18.0.0'} - '@smithy/util-base64@4.0.0': - resolution: {integrity: sha512-CvHfCmO2mchox9kjrtzoHkWHxjHZzaFojLc8quxXY7WAAMAg43nuxwv95tATVgQFNDwd4M9S1qFzj40Ul41Kmg==} + '@smithy/util-base64@4.3.0': + resolution: {integrity: sha512-GkXZ59JfyxsIwNTWFnjmFEI8kZpRNIBfxKjv09+nkAWPt/4aGaEWMM04m4sxgNVWkbt2MdSvE3KF/PfX4nFedQ==} engines: {node: '>=18.0.0'} - '@smithy/util-body-length-browser@4.0.0': - resolution: {integrity: sha512-sNi3DL0/k64/LO3A256M+m3CDdG6V7WKWHdAiBBMUN8S3hK3aMPhwnPik2A/a2ONN+9doY9UxaLfgqsIRg69QA==} + '@smithy/util-body-length-browser@4.2.0': + resolution: {integrity: sha512-Fkoh/I76szMKJnBXWPdFkQJl2r9SjPt3cMzLdOB6eJ4Pnpas8hVoWPYemX/peO0yrrvldgCUVJqOAjUrOLjbxg==} engines: {node: '>=18.0.0'} - '@smithy/util-body-length-node@4.0.0': - resolution: {integrity: sha512-q0iDP3VsZzqJyje8xJWEJCNIu3lktUGVoSy1KB0UWym2CL1siV3artm+u1DFYTLejpsrdGyCSWBdGNjJzfDPjg==} + '@smithy/util-body-length-node@4.2.1': + resolution: {integrity: sha512-h53dz/pISVrVrfxV1iqXlx5pRg3V2YWFcSQyPyXZRrZoZj4R4DeWRDo1a7dd3CPTcFi3kE+98tuNyD2axyZReA==} engines: {node: '>=18.0.0'} '@smithy/util-buffer-from@2.2.0': resolution: {integrity: sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==} engines: {node: '>=14.0.0'} - '@smithy/util-buffer-from@4.0.0': - resolution: {integrity: sha512-9TOQ7781sZvddgO8nxueKi3+yGvkY35kotA0Y6BWRajAv8jjmigQ1sBwz0UX47pQMYXJPahSKEKYFgt+rXdcug==} + '@smithy/util-buffer-from@4.2.0': + resolution: {integrity: sha512-kAY9hTKulTNevM2nlRtxAG2FQ3B2OR6QIrPY3zE5LqJy1oxzmgBGsHLWTcNhWXKchgA0WHW+mZkQrng/pgcCew==} engines: {node: '>=18.0.0'} - '@smithy/util-config-provider@4.0.0': - resolution: {integrity: sha512-L1RBVzLyfE8OXH+1hsJ8p+acNUSirQnWQ6/EgpchV88G6zGBTDPdXiiExei6Z1wR2RxYvxY/XLw6AMNCCt8H3w==} + '@smithy/util-config-provider@4.2.0': + resolution: {integrity: sha512-YEjpl6XJ36FTKmD+kRJJWYvrHeUvm5ykaUS5xK+6oXffQPHeEM4/nXlZPe+Wu0lsgRUcNZiliYNh/y7q9c2y6Q==} engines: {node: '>=18.0.0'} - '@smithy/util-defaults-mode-browser@4.0.26': - resolution: {integrity: sha512-xgl75aHIS/3rrGp7iTxQAOELYeyiwBu+eEgAk4xfKwJJ0L8VUjhO2shsDpeil54BOFsqmk5xfdesiewbUY5tKQ==} + '@smithy/util-defaults-mode-browser@4.3.5': + resolution: {integrity: sha512-GwaGjv/QLuL/QHQaqhf/maM7+MnRFQQs7Bsl6FlaeK6lm6U7mV5AAnVabw68cIoMl5FQFyKK62u7RWRzWL25OQ==} engines: {node: '>=18.0.0'} - '@smithy/util-defaults-mode-node@4.0.26': - resolution: {integrity: sha512-z81yyIkGiLLYVDetKTUeCZQ8x20EEzvQjrqJtb/mXnevLq2+w3XCEWTJ2pMp401b6BkEkHVfXb/cROBpVauLMQ==} + '@smithy/util-defaults-mode-node@4.2.7': + resolution: {integrity: sha512-6hinjVqec0WYGsqN7h9hL/ywfULmJJNXGXnNZW7jrIn/cFuC/aVlVaiDfBIJEvKcOrmN8/EgsW69eY0gXABeHw==} engines: {node: '>=18.0.0'} - '@smithy/util-endpoints@3.0.7': - resolution: {integrity: sha512-klGBP+RpBp6V5JbrY2C/VKnHXn3d5V2YrifZbmMY8os7M6m8wdYFoO6w/fe5VkP+YVwrEktW3IWYaSQVNZJ8oQ==} + '@smithy/util-endpoints@3.2.4': + resolution: {integrity: sha512-f+nBDhgYRCmUEDKEQb6q0aCcOTXRDqH5wWaFHJxt4anB4pKHlgGoYP3xtioKXH64e37ANUkzWf6p4Mnv1M5/Vg==} engines: {node: '>=18.0.0'} - '@smithy/util-hex-encoding@4.0.0': - resolution: {integrity: sha512-Yk5mLhHtfIgW2W2WQZWSg5kuMZCVbvhFmC7rV4IO2QqnZdbEFPmQnCcGMAX2z/8Qj3B9hYYNjZOhWym+RwhePw==} + '@smithy/util-hex-encoding@4.2.0': + resolution: {integrity: sha512-CCQBwJIvXMLKxVbO88IukazJD9a4kQ9ZN7/UMGBjBcJYvatpWk+9g870El4cB8/EJxfe+k+y0GmR9CAzkF+Nbw==} engines: {node: '>=18.0.0'} - '@smithy/util-middleware@4.0.5': - resolution: {integrity: sha512-N40PfqsZHRSsByGB81HhSo+uvMxEHT+9e255S53pfBw/wI6WKDI7Jw9oyu5tJTLwZzV5DsMha3ji8jk9dsHmQQ==} + '@smithy/util-middleware@4.2.4': + resolution: {integrity: sha512-fKGQAPAn8sgV0plRikRVo6g6aR0KyKvgzNrPuM74RZKy/wWVzx3BMk+ZWEueyN3L5v5EDg+P582mKU+sH5OAsg==} engines: {node: '>=18.0.0'} - '@smithy/util-retry@4.0.7': - resolution: {integrity: sha512-TTO6rt0ppK70alZpkjwy+3nQlTiqNfoXja+qwuAchIEAIoSZW8Qyd76dvBv3I5bCpE38APafG23Y/u270NspiQ==} + '@smithy/util-retry@4.2.4': + resolution: {integrity: sha512-yQncJmj4dtv/isTXxRb4AamZHy4QFr4ew8GxS6XLWt7sCIxkPxPzINWd7WLISEFPsIan14zrKgvyAF+/yzfwoA==} engines: {node: '>=18.0.0'} - '@smithy/util-stream@4.2.4': - resolution: {integrity: sha512-vSKnvNZX2BXzl0U2RgCLOwWaAP9x/ddd/XobPK02pCbzRm5s55M53uwb1rl/Ts7RXZvdJZerPkA+en2FDghLuQ==} + '@smithy/util-stream@4.5.5': + resolution: {integrity: sha512-7M5aVFjT+HPilPOKbOmQfCIPchZe4DSBc1wf1+NvHvSoFTiFtauZzT+onZvCj70xhXd0AEmYnZYmdJIuwxOo4w==} engines: {node: '>=18.0.0'} - '@smithy/util-uri-escape@4.0.0': - resolution: {integrity: sha512-77yfbCbQMtgtTylO9itEAdpPXSog3ZxMe09AEhm0dU0NLTalV70ghDZFR+Nfi1C60jnJoh/Re4090/DuZh2Omg==} + '@smithy/util-uri-escape@4.2.0': + resolution: {integrity: sha512-igZpCKV9+E/Mzrpq6YacdTQ0qTiLm85gD6N/IrmyDvQFA4UnU3d5g3m8tMT/6zG/vVkWSU+VxeUyGonL62DuxA==} engines: {node: '>=18.0.0'} '@smithy/util-utf8@2.3.0': resolution: {integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==} engines: {node: '>=14.0.0'} - '@smithy/util-utf8@4.0.0': - resolution: {integrity: sha512-b+zebfKCfRdgNJDknHCob3O7FpeYQN6ZG6YLExMcasDHsCXlsXCEuiPZeLnJLpwa5dvPetGlnGCiMHuLwGvFow==} + '@smithy/util-utf8@4.2.0': + resolution: {integrity: sha512-zBPfuzoI8xyBtR2P6WQj63Rz8i3AmfAaJLuNG8dWsfvPe8lO4aCPYLn879mEgHndZH1zQ2oXmG8O1GGzzaoZiw==} + engines: {node: '>=18.0.0'} + + '@smithy/util-waiter@4.2.4': + resolution: {integrity: sha512-roKXtXIC6fopFvVOju8VYHtguc/jAcMlK8IlDOHsrQn0ayMkHynjm/D2DCMRf7MJFXzjHhlzg2edr3QPEakchQ==} engines: {node: '>=18.0.0'} - '@smithy/util-waiter@4.0.7': - resolution: {integrity: sha512-mYqtQXPmrwvUljaHyGxYUIIRI3qjBTEb/f5QFi3A6VlxhpmZd5mWXn9W+qUkf2pVE1Hv3SqxefiZOPGdxmO64A==} + '@smithy/uuid@1.1.0': + resolution: {integrity: sha512-4aUIteuyxtBUhVdiQqcDhKFitwfd9hqoSDYY2KRXiWtgoWJ9Bmise+KfEPDiVHWeJepvF8xJO9/9+WDIciMFFw==} engines: {node: '>=18.0.0'} + '@so-ric/colorspace@1.1.6': + resolution: {integrity: sha512-/KiKkpHNOBgkFJwu9sh48LkHSMYGyuTcSFK/qMBdnOAlrRJzRSXAOFB5qwzaVQuDl8wAvHVMkaASQDReTahxuw==} + '@standard-schema/spec@1.0.0': resolution: {integrity: sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==} @@ -8265,10 +8246,10 @@ packages: peerDependencies: storybook: ^8.6.14 - '@storybook/addon-docs@9.1.1': - resolution: {integrity: sha512-CzgvTy3V5X4fe+VPkiZVwPKARlpEBDAKte8ajLAlHJQLFpADdYrBRQ0se6I+kcxva7rZQzdhuH7qjXMDRVcfnw==} + '@storybook/addon-docs@9.1.16': + resolution: {integrity: sha512-JfaUD6fC7ySLg5duRdaWZ0FUUXrgUvqbZe/agCbSyOaIHOtJdhGaPjOC3vuXTAcV8/8/wWmbu0iXFMD08iKvdw==} peerDependencies: - storybook: ^9.1.1 + storybook: ^9.1.16 '@storybook/addon-essentials@6.5.16': resolution: {integrity: sha512-TeoMr6tEit4Pe91GH6f8g/oar1P4M0JL9S6oMcFxxrhhtOGO7XkWD5EnfyCx272Ok2VYfE58FNBTGPNBVIqYKQ==} @@ -8534,10 +8515,10 @@ packages: '@storybook/builder-manager@7.6.20': resolution: {integrity: sha512-e2GzpjLaw6CM/XSmc4qJRzBF8GOoOyotyu3JrSPTYOt4RD8kjUsK4QlismQM1DQRu8i39aIexxmRbiJyD74xzQ==} - '@storybook/builder-vite@9.1.1': - resolution: {integrity: sha512-rM0QOfykr39SFBRQnoAa5PU3xTHnJE1R5tigvjved1o7sumcfjrhqmEyAgNZv1SoRztOO92jwkTi7En6yheOKg==} + '@storybook/builder-vite@9.1.16': + resolution: {integrity: sha512-CyvYA5w1BKeSVaRavKi+euWxLffshq0v9Rz/5E9MKCitbYtjwkDH6UMIYmcbTs906mEBuYqrbz3nygDP0ppodw==} peerDependencies: - storybook: ^9.1.1 + storybook: ^9.1.16 vite: ^5.0.0 || ^6.0.0 || ^7.0.0 '@storybook/builder-webpack4@6.5.16': @@ -8598,8 +8579,8 @@ packages: resolution: {integrity: sha512-ZlP+BJyqg7HlnXf7ypjG2CKMI/KVOn03jFIiClItE/jQfgR6kRFgtjRU7uajh427HHfjv9DRiur8nBzuO7vapA==} hasBin: true - '@storybook/cli@9.1.1': - resolution: {integrity: sha512-NbEVLi6nXF8G1nXy5DVpwSkj9c3mplVrhGI0FQnvntoP64BkuVwOVmti0M+hAStU607cT9sNAkg0yFpgK5twpA==} + '@storybook/cli@9.1.16': + resolution: {integrity: sha512-ixwLn3pdhYaWV5MagZVPC8D/WVonersWVj0t8eHCMyxIO4v6wxQ1rK49eizbHJSFrbK+J0xmGvxWsYUobEkv1A==} hasBin: true '@storybook/client-api@6.5.16': @@ -8623,8 +8604,8 @@ packages: '@storybook/codemod@7.6.20': resolution: {integrity: sha512-8vmSsksO4XukNw0TmqylPmk7PxnfNfE21YsxFa7mnEBmEKQcZCQsNil4ZgWfG0IzdhTfhglAN4r++Ew0WE+PYA==} - '@storybook/codemod@9.1.1': - resolution: {integrity: sha512-biUFc8TmeHUjByOFSaN5RJYGVZe1EJTwlxRcB7/PiXwsoy3SNLj0PJiTGdZyzmz+T2zNNpMQPpgEWQFk/aoSgQ==} + '@storybook/codemod@9.1.16': + resolution: {integrity: sha512-uDl6FuAuvW0X6E8o4jEaUmKqjYCNmGolzUYad3M0yvr1bZmXiNdO1E4IRmnUHUqt6yqnOPNj8hG6AHKhibpB3w==} '@storybook/components@6.5.16': resolution: {integrity: sha512-LzBOFJKITLtDcbW9jXl0/PaG+4xAz25PK8JxPZpIALbmOpYWOAPcO6V9C2heX6e6NgWFMUxjplkULEk9RCQMNA==} @@ -8742,10 +8723,10 @@ packages: peerDependencies: storybook: ^8.6.14 - '@storybook/csf-plugin@9.1.1': - resolution: {integrity: sha512-MwdtvzzFpkard06pCfDrgRXZiBfWAQICdKh7kzpv1L8SwewsRgUr5WZQuEAVfYdSvCFJbWnNN4KirzPhe5ENCg==} + '@storybook/csf-plugin@9.1.16': + resolution: {integrity: sha512-GKlNNlmWeFBQxhQY5hZOSnFGbeKq69jal0dYNWoSImTjor28eYRHb9iQkDzRpijLPizBaB9MlxLsLrgFDp7adA==} peerDependencies: - storybook: ^9.1.1 + storybook: ^9.1.16 '@storybook/csf-tools@6.5.16': resolution: {integrity: sha512-+WD4sH/OwAfXZX3IN6/LOZ9D9iGEFcN+Vvgv9wOsLRgsAZ10DG/NK6c1unXKDM/ogJtJYccNI8Hd+qNE/GFV6A==} @@ -8779,8 +8760,8 @@ packages: '@storybook/global@5.0.0': resolution: {integrity: sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==} - '@storybook/icons@1.4.0': - resolution: {integrity: sha512-Td73IeJxOyalzvjQL+JXx72jlIYHgs+REaHiREOqfpo3A2AYYG71AUbcv+lg7mEDIweKVCxsMQ0UKo634c8XeA==} + '@storybook/icons@1.6.0': + resolution: {integrity: sha512-hcFZIjW8yQz8O8//2WTIXylm5Xsgc+lW9ISLgUk1xGmptIJQRdlhVIXCpSyLrQaaRiyhQRaVg7l3BD9S216BHw==} engines: {node: '>=14.0.0'} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta @@ -8917,20 +8898,20 @@ packages: react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta storybook: ^8.6.14 - '@storybook/react-dom-shim@9.1.1': - resolution: {integrity: sha512-L+HCOXvOP+PwKrVS8od9aF+F4hO7zA0Nt1vnpbg2LeAHCxYghrjFVtioe7gSlzrlYdozQrPLY98a4OkDB7KGrw==} + '@storybook/react-dom-shim@9.1.16': + resolution: {integrity: sha512-MsI4qTxdT6lMXQmo3IXhw3EaCC+vsZboyEZBx4pOJ+K/5cDJ6ZoQ3f0d4yGpVhumDxaxlnNAg954+f8WWXE1rQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^9.1.1 + storybook: ^9.1.16 - '@storybook/react-vite@9.1.1': - resolution: {integrity: sha512-9rMjAqgrcuVF/GS171fYSLuUs5QC3e0WPpIm2JOP7Z9qWctM1ApVb9UCYY7ZNl9Gc3kvjKsK5J1+A4Zw4a2+ag==} + '@storybook/react-vite@9.1.16': + resolution: {integrity: sha512-WRKSq0XfQ/Qx66aKisQCfa/1UKwN9HjVbY6xrmsX7kI5zBdITxIcKInq6PWoPv91SJD7+Et956yX+F86R1aEXw==} engines: {node: '>=20.0.0'} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^9.1.1 + storybook: ^9.1.16 vite: ^5.0.0 || ^6.0.0 || ^7.0.0 '@storybook/react-webpack5@7.4.6': @@ -9013,13 +8994,13 @@ packages: typescript: optional: true - '@storybook/react@9.1.1': - resolution: {integrity: sha512-F5vRFxDf1fzM6CG88olrzEH03iP6C1YAr4/nr5bkLNs6TNm9Hh7KmRVG2jFtoy5w9uCwbQ9RdY+TrRbBI7n67g==} + '@storybook/react@9.1.16': + resolution: {integrity: sha512-M/SkHJJdtiGpodBJq9+DYmSkEOD+VqlPxKI+FvbHESTNs//1IgqFIjEWetd8quhd9oj/gvo4ICBAPu+UmD6M9w==} engines: {node: '>=20.0.0'} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^9.1.1 + storybook: ^9.1.16 typescript: '>= 4.9.x' peerDependenciesMeta: typescript: @@ -9097,95 +9078,95 @@ packages: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - '@swagger-api/apidom-ast@1.0.0-beta.45': - resolution: {integrity: sha512-2npCF6V4QYSRv8USSmQ9jmsnNrjhTww4C84+cetNpxvTYXmEi9bRwIfzn2LH7DedsZsOJOMucVbJkCcRB/VC2Q==} + '@swagger-api/apidom-ast@1.0.0-rc.1': + resolution: {integrity: sha512-hsAySkWlIjgkQEDu1YEbvnxdEC3rD9bjQf7UYm0vzkvL5PNDd6lHLhxb825bQAfXQjw7WOxtV7eNrgqRQohMDg==} - '@swagger-api/apidom-core@1.0.0-beta.45': - resolution: {integrity: sha512-JEKf/bIl0RgaYAILlSDjuWhcg/+gbrI6p6OZuXR7EVxPlPNBAsme98UYyICA9AENyi2fzxwCP5eDRFl4cIzMHQ==} + '@swagger-api/apidom-core@1.0.0-rc.1': + resolution: {integrity: sha512-vlguVts28oYBjCU5ZYfnX6yAFys/dZ1PUZqpYevMIGi8lEvxEfoxKEaUQa1Lr974cfKaVGBs8gNNhvDKXbH/jA==} - '@swagger-api/apidom-error@1.0.0-beta.45': - resolution: {integrity: sha512-kEy7blIEF77BnoqLhGW3h3I+evPHrtZwKe4fSw22UEUJUTG1Daw9FhaSgfBNptifZzzdLgiVDujrIOI6SpkH3Q==} + '@swagger-api/apidom-error@1.0.0-rc.1': + resolution: {integrity: sha512-74tTb6QX8VeAvu/9XipXd4Ly3N3q+yJez+lGZD7Qa11E00AhNpzqH7swgZKutLEfq1tHxyGWE1A6xF8IiU4CJg==} - '@swagger-api/apidom-json-pointer@1.0.0-beta.45': - resolution: {integrity: sha512-s8eMDc/zL5W9mtBRbjEGPDt9yNJlpq9S+7/ACLjlSg1J3toadZmNiyR0svVLroVzVZHD5aGClGRpdammbO/PhQ==} + '@swagger-api/apidom-json-pointer@1.0.0-rc.1': + resolution: {integrity: sha512-fNDQozPRuD9ReYcCnIqr5jU0faFDUl3VrUtfeLl3YevxNB+onZkUidUvzUJgDjZK9Se567BgL0rK9hnEO/Q8qw==} - '@swagger-api/apidom-ns-api-design-systems@1.0.0-beta.45': - resolution: {integrity: sha512-uX+lkOi1g32mIhBVtMm5a304H68GIR4IXf/wiD6mdf2iwjfR0+drn/4NmirZqrNvlMtmf1a6VSe4u6KE3OBIpw==} + '@swagger-api/apidom-ns-api-design-systems@1.0.0-rc.1': + resolution: {integrity: sha512-gV6vQHpdtVKtrV+uUCPwsSL5nX5zD/3vR7dSYE0Lii7f7RkpIXAgQViZSbv7+h8TB20DNobGt+JZH/gGaY+Oxg==} - '@swagger-api/apidom-ns-arazzo-1@1.0.0-beta.45': - resolution: {integrity: sha512-ZjzTvby6Zvu7vh6uabRCGsnhAPeefxgJQ7DPKLELe9KyzcT+OqorjDtfaESFy4zzIMokalJcja/in29yTS+kxw==} + '@swagger-api/apidom-ns-arazzo-1@1.0.0-rc.1': + resolution: {integrity: sha512-Bx3PMLp+613EgSsLLg6Ucg3FtbO2i1bVcFZXgImun5pYNfmtQu21ELfWKj8ty/Ts2zR1VKOn5+i9DyMOH/zpsA==} - '@swagger-api/apidom-ns-asyncapi-2@1.0.0-beta.45': - resolution: {integrity: sha512-OQY2cSs5oZo0/rlGa8hHfgu7DFQ6lDhBC+IAKp0E7gF27oH2Yy9BEHlxHUA3iUeCMxDfIo021+Qc8FpNqivtxA==} + '@swagger-api/apidom-ns-asyncapi-2@1.0.0-rc.1': + resolution: {integrity: sha512-Vvo1f/H3mUuTny1d+XPudSattDWdHP1VhowxAOAFrnLVM4qvFbeBdzWjmTPEaeRsOz+Vq6rJOC4DPmHmtkR+oQ==} - '@swagger-api/apidom-ns-json-schema-2019-09@1.0.0-beta.45': - resolution: {integrity: sha512-StoPoa1yI5gBfPZ57LhA41f+JNJ/JnrsWZnmDlJG8W2hyjJAeyVkOo0qoVpt40240WZmH2EuywIFrdD+n+hrLA==} + '@swagger-api/apidom-ns-json-schema-2019-09@1.0.0-rc.1': + resolution: {integrity: sha512-1va09+kSTpNKc9oKs0rk2FWP2wk9AAdOcdmLpPEbzMnThQD1DHeBCk5OMStGZlaROxKWMPVZ5EmKy6rTRXvEIQ==} - '@swagger-api/apidom-ns-json-schema-2020-12@1.0.0-beta.45': - resolution: {integrity: sha512-l70stVPz1kGIiM7t55twYhfI2GwDKLOjfr+Py1Rknyo75LYw08QhppZ7PxWamgvKmoYfBnGeaoC+18Q2dn2Bhg==} + '@swagger-api/apidom-ns-json-schema-2020-12@1.0.0-rc.1': + resolution: {integrity: sha512-ixNci2lwVD0yC4lUrmOOhgE/denI8keGVnHXYokbq0QxlQWuwuVzjVEtVMdmEaX3JaYVmEI5tr8K9MPW1zso1A==} - '@swagger-api/apidom-ns-json-schema-draft-4@1.0.0-beta.45': - resolution: {integrity: sha512-tlDz4+Ko+ylVWSpSprZM9WoBMfmBxoUxcxvbkcafCJTO4MCQuytYaW3p/BIMscCsa0LP1eR4ycMY8h445ur58Q==} + '@swagger-api/apidom-ns-json-schema-draft-4@1.0.0-rc.1': + resolution: {integrity: sha512-kLGANNv8oAWWvnVqWat/AqOEo6XBfdMF3I7BLL2eZFBE8bhTbFMvmAvUfnwcehYo3K4vT+J60DWrwqYBoGSSUQ==} - '@swagger-api/apidom-ns-json-schema-draft-6@1.0.0-beta.45': - resolution: {integrity: sha512-wBkk2AqDddZvf1VixAuwFu9LRTJya3yL+FAmg4KyMGrA32VOFYupe9jc1RmV/noTfGwf5AWZVnuGo9xiI2z4Wg==} + '@swagger-api/apidom-ns-json-schema-draft-6@1.0.0-rc.1': + resolution: {integrity: sha512-UzoTSrPOh+dwzSKZmawBwhWg4xGgpdNBmtV7jDJGEyFGsEkPvDBvViq+4sfMxO/BGoqPCD/jdt4yF16AKRxLiw==} - '@swagger-api/apidom-ns-json-schema-draft-7@1.0.0-beta.45': - resolution: {integrity: sha512-EggsaTXUw0j8PmcO+IxnoJ7TyXz8sNarPlB2EGNqVT3qEwGQn96qXZ8pZab0sr1iStIWzyAaXMKrnmlcSIDpSQ==} + '@swagger-api/apidom-ns-json-schema-draft-7@1.0.0-rc.1': + resolution: {integrity: sha512-3alW6gJKeb+DzTu+LYpYyEc5swo3oP8aoatOcVceWo/A/568zfIW0wWssf9WoasI42jEktV17z4A6ZwT6PzYbA==} - '@swagger-api/apidom-ns-openapi-2@1.0.0-beta.45': - resolution: {integrity: sha512-OY/FM8lDB6MzJfTgqHPj6k6Kk62Uho5gynsZLyroxgTz+Ez9zSdgA+p8+mdE4hBQxfwSnUtaiFMWgAzY+12Q9A==} + '@swagger-api/apidom-ns-openapi-2@1.0.0-rc.1': + resolution: {integrity: sha512-SJ79fGH+WA7IYEXOJFPjXCB5bg6uoJDmkEYxMtZpN0Q+juFSkMcquh3jVf0j0y+6gFe/MZjIFDHxiBdeJarOig==} - '@swagger-api/apidom-ns-openapi-3-0@1.0.0-beta.45': - resolution: {integrity: sha512-HaacHMmYfMp9UNSTONVxGRQDlQn8yEIOklHowI+/u8SRqdV87dE9UQhp8AMGw2hfnYiyt8ADFdPsLnYR6LEq7g==} + '@swagger-api/apidom-ns-openapi-3-0@1.0.0-rc.1': + resolution: {integrity: sha512-TC2EBxBFJWD5pbZKUcbySqCt2nQmeP60ooS4f4Nl5r6vB/BeNbuO4FmO7CDI8OXD7b4J2+ro5KrXMs1EOQ3kVA==} - '@swagger-api/apidom-ns-openapi-3-1@1.0.0-beta.45': - resolution: {integrity: sha512-irU2jMOZNWf/lAXc/JuWohHs55MQe7Rb36xzAqoyOjauk2nj/ougy5b+xvG3dLZu3ZKc/X9kmimPPLTs7P2Xhw==} + '@swagger-api/apidom-ns-openapi-3-1@1.0.0-rc.1': + resolution: {integrity: sha512-IY87MhqFBJnzhPWlr/OEVUa3iDjZuiwlyoWX4lw2jbKX+mLDrceGG5nqZawDACAjTjvtsjJcFP81D2VmjHVT5Q==} - '@swagger-api/apidom-parser-adapter-api-design-systems-json@1.0.0-beta.45': - resolution: {integrity: sha512-F8Glj81vrYc9oghEeM1Pfo8qbOptEl3tPOU3hQIqDM4pqMRuB3vwYfoZLVnwpewXacBRgwUiXXnaWV7alMnPzg==} + '@swagger-api/apidom-parser-adapter-api-design-systems-json@1.0.0-rc.1': + resolution: {integrity: sha512-1/koF8VwJHzFwk6FMWen39vpMUNcoCMXVY6MjMGag0h37LY5YAByl0LcYzLa33cvm5KCa23Aa75cu7Ns0SR1HQ==} - '@swagger-api/apidom-parser-adapter-api-design-systems-yaml@1.0.0-beta.45': - resolution: {integrity: sha512-Xdhk2yffGD2KcncTs8uNeiKBeBvr0njRRlhfSKdewb91SHXqyh2eKf168M6UPdT0dg3QQKdCT5lV+meKcYGpkw==} + '@swagger-api/apidom-parser-adapter-api-design-systems-yaml@1.0.0-rc.1': + resolution: {integrity: sha512-Gjx1gojtYvGFqKnGttv84ba0RCkY7Xa+12kj9HVik8G+YVzUN78Qt8yu96ak0oXFlY1Ai8MQb5siC8YH4pC8Dg==} - '@swagger-api/apidom-parser-adapter-arazzo-json-1@1.0.0-beta.45': - resolution: {integrity: sha512-SMJseBO32aHPXskwYThT2y3Py2B8B4gKqGXl+ZlMGCaM72Fnnr0hbqtI8wt2v58F97qVlTYvXvTSfQGUuUh/Kg==} + '@swagger-api/apidom-parser-adapter-arazzo-json-1@1.0.0-rc.1': + resolution: {integrity: sha512-RHIly3bprJELMlt91UFqmMbAtIxDyHi8DM27YVXRjrX7zncP6QKyevcg2ajEe8UaNtkCFvPZW9h0gDh/ZW6ZYQ==} - '@swagger-api/apidom-parser-adapter-arazzo-yaml-1@1.0.0-beta.45': - resolution: {integrity: sha512-w9v3E0F9OKSUoK2DtMphpUO2Dd+op+YrwHAYyZTbKL48DEd+Ez5L9wW1bURpfNMSaRjm5H9BrMM2eVdSz8TFQw==} + '@swagger-api/apidom-parser-adapter-arazzo-yaml-1@1.0.0-rc.1': + resolution: {integrity: sha512-a+FweCIFAAnjvEWpMAd93xczbYX7AU4prwAMJ3QpFszltq2K7HKWUN1mMRplYPg5SSRLZojymdyMlu1evuP2Sg==} - '@swagger-api/apidom-parser-adapter-asyncapi-json-2@1.0.0-beta.45': - resolution: {integrity: sha512-7txrflmTsG2400mHq6rswnxi6+r+H7vtL0Mfb0lMj4docaSODnTdEiNjG35jaQaBMbMEtRPokJ6i4018SNFy3Q==} + '@swagger-api/apidom-parser-adapter-asyncapi-json-2@1.0.0-rc.1': + resolution: {integrity: sha512-IKJ95OH35dW1+yGYDoE8uE3movG9z8Nht2QW8Ja75/H/jAFYGCxj56ZborEIiZxp83ItFqxQFn+ZUvwD7bDZew==} - '@swagger-api/apidom-parser-adapter-asyncapi-yaml-2@1.0.0-beta.45': - resolution: {integrity: sha512-laxCy1UmLjlUGRRlcEEQLHWmzwnUq750SFjnBUJe70DxNrBr68UqlLqKC/kGkpOOgsf+NMWhqSkS8WQ/eLsQww==} + '@swagger-api/apidom-parser-adapter-asyncapi-yaml-2@1.0.0-rc.1': + resolution: {integrity: sha512-cVu2Ue1U809HiGeAR/54yF42y4UKiWh45sEKzkXPYJUqRUd2Ewyo5KHtlckjNnCDRILZEhaPaZFpxURSbyUeSg==} - '@swagger-api/apidom-parser-adapter-json@1.0.0-beta.45': - resolution: {integrity: sha512-5fFln56FM/6xEvGEAjk+GvTcmts8P5nnCPNDQpxc/PVDcLxC0gzyp5bjkOLmj9nZXqCQRzm/PH0bmxGQv4JSmg==} + '@swagger-api/apidom-parser-adapter-json@1.0.0-rc.1': + resolution: {integrity: sha512-pmWOuZFxSNdbV1xNV0IoIrRiweaVl9yGAiEtiYH0BzbD+yGQSxi1ltMkZDVoyBPbe2NtygFDRaINSDLwuYpUYA==} - '@swagger-api/apidom-parser-adapter-openapi-json-2@1.0.0-beta.45': - resolution: {integrity: sha512-lFRbbCGyGilEkNLgZyJeHK2sUsmtEKljkvyZytjGXshd45lLkHD+/1vByKhClbyoA+aIk8lzLpeaMECbOH+a9w==} + '@swagger-api/apidom-parser-adapter-openapi-json-2@1.0.0-rc.1': + resolution: {integrity: sha512-+OsFBsD9PPqtcgETXU7l00/TMOfbtM+gvafJIdS/a+O1NQ2upAujQB3ArIB3sry3vloorjKmPyY6ZK/8rEKhNA==} - '@swagger-api/apidom-parser-adapter-openapi-json-3-0@1.0.0-beta.45': - resolution: {integrity: sha512-AMCSLQhWcsTvlAhZMIwGezXBxhqLnnQQPkZHwKBFA1sD0FLZJKmIs1bxuEuo3iKNHKfDvbKJLQsr6OOqCg1MtQ==} + '@swagger-api/apidom-parser-adapter-openapi-json-3-0@1.0.0-rc.1': + resolution: {integrity: sha512-FEUJ+RaXKMP6LHMVeVyUPKdqjEqMSEZVhpvZt3Kh5fvnZvdgWngqs4gUjxO+dQCDVWkBxH/29uXm2eghdaM2Lw==} - '@swagger-api/apidom-parser-adapter-openapi-json-3-1@1.0.0-beta.45': - resolution: {integrity: sha512-rnao77rKeLHrpfM/QRzsOVNaaqZVYv4QID35GDOkuIHjjDNTjmquUsuWscAtI32P7tJHmPrLAJWKxb48W02mmw==} + '@swagger-api/apidom-parser-adapter-openapi-json-3-1@1.0.0-rc.1': + resolution: {integrity: sha512-pcfPj3FW2IWPYmU5kE0YB7npqV2vN+DvqUsw1GcDzsb8y2IdkzagHtMPZkM/KrfHFmhsoHm5YNpYC+Vvd2g61Q==} - '@swagger-api/apidom-parser-adapter-openapi-yaml-2@1.0.0-beta.45': - resolution: {integrity: sha512-zilhJHYEV0cGde6ZdAfB+/4OnzHW8OCLO7bXmtoXdsxwJV0DHnwjrq2FgOlwqWBPWRIlyFwBwdUO0Rd5P4re3g==} + '@swagger-api/apidom-parser-adapter-openapi-yaml-2@1.0.0-rc.1': + resolution: {integrity: sha512-ckt6b1P+iwYkTMibixpo0oKWFm0wOGf88gslMMCo1xNaLVJnjxiadTQ/lNJd58CBJiQeN/dziTkRqGcFDqV9JQ==} - '@swagger-api/apidom-parser-adapter-openapi-yaml-3-0@1.0.0-beta.45': - resolution: {integrity: sha512-loof/awV/RNIaCHqr4+uVVjdSayAvNyxjLszyd0moAQv/247mfjvCH0h9VLIlpjI4kf+C3q4bhyYYaeVl9MSVg==} + '@swagger-api/apidom-parser-adapter-openapi-yaml-3-0@1.0.0-rc.1': + resolution: {integrity: sha512-JFyNwcj43cmps18Y+iqyna3uufyib8eLku+z4EhKFRPCuGFQ2bjsfVCFSP+Sv6sJATlagRRcfont+Q0BgNjwvw==} - '@swagger-api/apidom-parser-adapter-openapi-yaml-3-1@1.0.0-beta.45': - resolution: {integrity: sha512-h2oHGosYXditkPJ66aGEsvz6zpM6N26ay1ZRhk9LjuSA8S4BqFYY+MbJVD6C0LLP6Mn5jvDWCUq7yB0DTWNxpg==} + '@swagger-api/apidom-parser-adapter-openapi-yaml-3-1@1.0.0-rc.1': + resolution: {integrity: sha512-kLRZYxJdix+irs0HTXJ223rj4Ou8AXo9IHiSf44KTuAZ/bsuakb0P8xROHg5MWTTEHYMfDrdLX+LaUo3b2GFyA==} - '@swagger-api/apidom-parser-adapter-yaml-1-2@1.0.0-beta.45': - resolution: {integrity: sha512-/Emcfl4Va1GJB7kU2DWZBrqAn6dLi/sclPa4z0sjg+2EtOJ9l9zw3sKc4d7cEY5PX2QzgD8bFxBYrP9lU03IZw==} + '@swagger-api/apidom-parser-adapter-yaml-1-2@1.0.0-rc.1': + resolution: {integrity: sha512-XmRG/5lmoRusCupHEf10OeK1SQnSym4N1OrK+c3OTfN1GGX60Gxu2XCZ70pafJDuu+cvo/F8Db8UX3UOHapjwA==} - '@swagger-api/apidom-reference@1.0.0-beta.45': - resolution: {integrity: sha512-1EbK7P6oki5mR8bho+E0yoc9JwhOT/vboTjidolH8Fjw/WuE6GcMHX+8OBcwcgjt9hXWsY3YfvZFwK7baxkPnQ==} + '@swagger-api/apidom-reference@1.0.0-rc.1': + resolution: {integrity: sha512-Xj4aYrawCseCf6N6UuGSIaboN60ERmQVcKqXs/rybQz1gnD2AVqb8gklC2sUdOIUyN+ehDy+HDSM8I+yP32J0w==} '@swaggerexpert/cookie@2.0.2': resolution: {integrity: sha512-DPI8YJ0Vznk4CT+ekn3rcFNq1uQwvUHZhH6WvTSPD0YKBIlMS9ur2RYKghXuxxOiqOam/i4lHJH4xTIiTgs3Mg==} @@ -9195,68 +9176,68 @@ packages: resolution: {integrity: sha512-qMx1nOrzoB+PF+pzb26Q4Tc2sOlrx9Ba2UBNX9hB31Omrq+QoZ2Gly0KLrQWw4Of1AQ4J9lnD+XOdwOdcdXqqw==} engines: {node: '>=12.20.0'} - '@swc/core-darwin-arm64@1.13.3': - resolution: {integrity: sha512-ux0Ws4pSpBTqbDS9GlVP354MekB1DwYlbxXU3VhnDr4GBcCOimpocx62x7cFJkSpEBF8bmX8+/TTCGKh4PbyXw==} + '@swc/core-darwin-arm64@1.14.0': + resolution: {integrity: sha512-uHPC8rlCt04nvYNczWzKVdgnRhxCa3ndKTBBbBpResOZsRmiwRAvByIGh599j+Oo6Z5eyTPrgY+XfJzVmXnN7Q==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] - '@swc/core-darwin-x64@1.13.3': - resolution: {integrity: sha512-p0X6yhxmNUOMZrbeZ3ZNsPige8lSlSe1llllXvpCLkKKxN/k5vZt1sULoq6Nj4eQ7KeHQVm81/+AwKZyf/e0TA==} + '@swc/core-darwin-x64@1.14.0': + resolution: {integrity: sha512-2SHrlpl68vtePRknv9shvM9YKKg7B9T13tcTg9aFCwR318QTYo+FzsKGmQSv9ox/Ua0Q2/5y2BNjieffJoo4nA==} engines: {node: '>=10'} cpu: [x64] os: [darwin] - '@swc/core-linux-arm-gnueabihf@1.13.3': - resolution: {integrity: sha512-OmDoiexL2fVWvQTCtoh0xHMyEkZweQAlh4dRyvl8ugqIPEVARSYtaj55TBMUJIP44mSUOJ5tytjzhn2KFxFcBA==} + '@swc/core-linux-arm-gnueabihf@1.14.0': + resolution: {integrity: sha512-SMH8zn01dxt809svetnxpeg/jWdpi6dqHKO3Eb11u4OzU2PK7I5uKS6gf2hx5LlTbcJMFKULZiVwjlQLe8eqtg==} engines: {node: '>=10'} cpu: [arm] os: [linux] - '@swc/core-linux-arm64-gnu@1.13.3': - resolution: {integrity: sha512-STfKku3QfnuUj6k3g9ld4vwhtgCGYIFQmsGPPgT9MK/dI3Lwnpe5Gs5t1inoUIoGNP8sIOLlBB4HV4MmBjQuhw==} + '@swc/core-linux-arm64-gnu@1.14.0': + resolution: {integrity: sha512-q2JRu2D8LVqGeHkmpVCljVNltG0tB4o4eYg+dElFwCS8l2Mnt9qurMCxIeo9mgoqz0ax+k7jWtIRHktnVCbjvQ==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - '@swc/core-linux-arm64-musl@1.13.3': - resolution: {integrity: sha512-bc+CXYlFc1t8pv9yZJGus372ldzOVscBl7encUBlU1m/Sig0+NDJLz6cXXRcFyl6ABNOApWeR4Yl7iUWx6C8og==} + '@swc/core-linux-arm64-musl@1.14.0': + resolution: {integrity: sha512-uofpVoPCEUjYIv454ZEZ3sLgMD17nIwlz2z7bsn7rl301Kt/01umFA7MscUovFfAK2IRGck6XB+uulMu6aFhKQ==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - '@swc/core-linux-x64-gnu@1.13.3': - resolution: {integrity: sha512-dFXoa0TEhohrKcxn/54YKs1iwNeW6tUkHJgXW33H381SvjKFUV53WR231jh1sWVJETjA3vsAwxKwR23s7UCmUA==} + '@swc/core-linux-x64-gnu@1.14.0': + resolution: {integrity: sha512-quTTx1Olm05fBfv66DEBuOsOgqdypnZ/1Bh3yGXWY7ANLFeeRpCDZpljD9BSjdsNdPOlwJmEUZXMHtGm3v1TZQ==} engines: {node: '>=10'} cpu: [x64] os: [linux] - '@swc/core-linux-x64-musl@1.13.3': - resolution: {integrity: sha512-ieyjisLB+ldexiE/yD8uomaZuZIbTc8tjquYln9Quh5ykOBY7LpJJYBWvWtm1g3pHv6AXlBI8Jay7Fffb6aLfA==} + '@swc/core-linux-x64-musl@1.14.0': + resolution: {integrity: sha512-caaNAu+aIqT8seLtCf08i8C3/UC5ttQujUjejhMcuS1/LoCKtNiUs4VekJd2UGt+pyuuSrQ6dKl8CbCfWvWeXw==} engines: {node: '>=10'} cpu: [x64] os: [linux] - '@swc/core-win32-arm64-msvc@1.13.3': - resolution: {integrity: sha512-elTQpnaX5vESSbhCEgcwXjpMsnUbqqHfEpB7ewpkAsLzKEXZaK67ihSRYAuAx6ewRQTo7DS5iTT6X5aQD3MzMw==} + '@swc/core-win32-arm64-msvc@1.14.0': + resolution: {integrity: sha512-EeW3jFlT3YNckJ6V/JnTfGcX7UHGyh6/AiCPopZ1HNaGiXVCKHPpVQZicmtyr/UpqxCXLrTgjHOvyMke7YN26A==} engines: {node: '>=10'} cpu: [arm64] os: [win32] - '@swc/core-win32-ia32-msvc@1.13.3': - resolution: {integrity: sha512-nvehQVEOdI1BleJpuUgPLrclJ0TzbEMc+MarXDmmiRFwEUGqj+pnfkTSb7RZyS1puU74IXdK/YhTirHurtbI9w==} + '@swc/core-win32-ia32-msvc@1.14.0': + resolution: {integrity: sha512-dPai3KUIcihV5hfoO4QNQF5HAaw8+2bT7dvi8E5zLtecW2SfL3mUZipzampXq5FHll0RSCLzlrXnSx+dBRZIIQ==} engines: {node: '>=10'} cpu: [ia32] os: [win32] - '@swc/core-win32-x64-msvc@1.13.3': - resolution: {integrity: sha512-A+JSKGkRbPLVV2Kwx8TaDAV0yXIXm/gc8m98hSkVDGlPBBmydgzNdWy3X7HTUBM7IDk7YlWE7w2+RUGjdgpTmg==} + '@swc/core-win32-x64-msvc@1.14.0': + resolution: {integrity: sha512-nm+JajGrTqUA6sEHdghDlHMNfH1WKSiuvljhdmBACW4ta4LC3gKurX2qZuiBARvPkephW9V/i5S8QPY1PzFEqg==} engines: {node: '>=10'} cpu: [x64] os: [win32] - '@swc/core@1.13.3': - resolution: {integrity: sha512-ZaDETVWnm6FE0fc+c2UE8MHYVS3Fe91o5vkmGfgwGXFbxYvAjKSqxM/j4cRc9T7VZNSJjriXq58XkfCp3Y6f+w==} + '@swc/core@1.14.0': + resolution: {integrity: sha512-oExhY90bes5pDTVrei0xlMVosTxwd/NMafIpqsC4dMbRYZ5KB981l/CX8tMnGsagTplj/RcG9BeRYmV6/J5m3w==} engines: {node: '>=10'} peerDependencies: '@swc/helpers': '>=0.5.17' @@ -9270,8 +9251,8 @@ packages: '@swc/helpers@0.5.17': resolution: {integrity: sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==} - '@swc/types@0.1.24': - resolution: {integrity: sha512-tjTMh3V4vAORHtdTprLlfoMptu1WfTZG9Rsca6yOKyNYsRr+MUXutKmliB17orgSZk5DpnDxs8GUdd/qwYxOng==} + '@swc/types@0.1.25': + resolution: {integrity: sha512-iAoY/qRhNH8a/hBvm3zKj9qQ4oc2+3w1unPJa2XvTK3XjeLXtzcCingVPw/9e5mn1+0yPqxcBGp9Jf0pkfMb1g==} '@szmarczak/http-timer@5.0.1': resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} @@ -9280,8 +9261,8 @@ packages: '@tanstack/query-core@4.27.0': resolution: {integrity: sha512-sm+QncWaPmM73IPwFlmWSKPqjdTXZeFf/7aEmWh00z7yl2FjqophPt0dE1EHW9P1giMC5rMviv7OUbSDmWzXXA==} - '@tanstack/query-core@4.40.0': - resolution: {integrity: sha512-7MJTtZkCSuehMC7IxMOCGsLvHS3jHx4WjveSrGsG1Nc1UQLjaFwwkpLA2LmPfvOAxnH4mszMOBFD6LlZE+aB+Q==} + '@tanstack/query-core@4.41.0': + resolution: {integrity: sha512-193R4Jp9hjvlij6LryxrB5Mpbffd2L9PeWh3KlIy/hJV4SkBOfiQZ+jc5qAZLDCrdbkA5FjGj+UoDYw6TcNnyA==} '@tanstack/query-core@5.76.0': resolution: {integrity: sha512-FN375hb8ctzfNAlex5gHI6+WDXTNpe0nbxp/d2YJtnP+IBM6OUm7zcaoCW6T63BawGOYZBbKC0iPvr41TteNVg==} @@ -9292,8 +9273,8 @@ packages: '@tanstack/query-core@5.77.1': resolution: {integrity: sha512-nfxVhy4UynChMFfN4NxwI8pktV9R3Zt/ROxOAe6pdOf8CigDLn26p+ex1YW5uien26BBICLmN0dTvIELHCs5vw==} - '@tanstack/query-core@5.83.1': - resolution: {integrity: sha512-OG69LQgT7jSp+5pPuCfzltq/+7l2xoweggjme9vlbCPa/d7D7zaqv5vN/S82SzSYZ4EDLTxNO1PWrv49RAS64Q==} + '@tanstack/query-core@5.90.6': + resolution: {integrity: sha512-AnZSLF26R8uX+tqb/ivdrwbVdGemdEDm1Q19qM6pry6eOZ6bEYiY7mWhzXT1YDIPTNEVcZ5kYP9nWjoxDLiIVw==} '@tanstack/query-persist-client-core@4.27.0': resolution: {integrity: sha512-A+dPA7zG0MJOMDeBc/2WcKXW4wV2JMkeBVydobPW9G02M4q0yAj7vI+7SmM2dFuXyIvxXp4KulCywN6abRKDSQ==} @@ -9480,8 +9461,8 @@ packages: '@types/chai@4.3.20': resolution: {integrity: sha512-/pC9HAB5I/xMlc5FP77qjCnI16ChlJfW0tGa0IUcFn38VJrTV6DeZ60NU5KZBtaOZqjdpwTWohz5HU1RrhiYxQ==} - '@types/chai@5.2.2': - resolution: {integrity: sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==} + '@types/chai@5.2.3': + resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==} '@types/classnames@2.3.4': resolution: {integrity: sha512-dwmfrMMQb9ujX1uYGvB5ERDlOzBNywnZAZBtOe107/hORWP05ESgU4QyaanZMWYYfd2BzrG78y13/Bju8IQcMQ==} @@ -9490,8 +9471,8 @@ packages: '@types/codemirror@0.0.90': resolution: {integrity: sha512-8Z9+tSg27NPRGubbUPUCrt5DDG/OWzLph5BvcDykwR5D7RyZh5mhHG0uS1ePKV1YFCA+/cwc4Ey2AJAEFfV3IA==} - '@types/codemirror@5.60.16': - resolution: {integrity: sha512-V/yHdamffSS075jit+fDxaOAmdP2liok8NSNJnAZfDJErzOheuygHZEhAJrfmk5TEyM32MhkZjwo/idX791yxw==} + '@types/codemirror@5.60.17': + resolution: {integrity: sha512-AZq2FIsUHVMlp7VSe2hTfl5w4pcUkoFkM3zVsRKsn1ca8CXRDYvnin04+HP2REkwsxemuHqvDofdlhUWNpbwfw==} '@types/connect-history-api-fallback@1.5.4': resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==} @@ -9526,8 +9507,8 @@ packages: '@types/ejs@3.1.5': resolution: {integrity: sha512-nv+GSx77ZtXiJzwKdsASqi+YQ5Z7vwHsTP0JY2SiQgjGckkBRKZnk8nIM+7oUZ1VCtuTz0+By4qVR7fqzp/Dfg==} - '@types/emscripten@1.40.1': - resolution: {integrity: sha512-sr53lnYkQNhjHNN0oJDdUm5564biioI5DuOpycufDVK7D3y+GR3oUswe2rlwY1nPNyusHbrJ9WoTyIHl4/Bpwg==} + '@types/emscripten@1.41.5': + resolution: {integrity: sha512-cMQm7pxu6BxtHyqJ7mQZ2kXWV5SLmugybFdHCBbJ5eHzOo6VhBckEgAT3//rP5FwPHNPeEiq4SmQ5ucBwsOo4Q==} '@types/escodegen@0.0.6': resolution: {integrity: sha512-AjwI4MvWx3HAOaZqYsjKWyEObT9lcVV0Y0V8nXo6cXzN8ZiMxVhf6F3d/UNvXVGKrEzL/Dluc5p+y9GkzlTWig==} @@ -9553,11 +9534,11 @@ packages: '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} - '@types/express-serve-static-core@4.19.6': - resolution: {integrity: sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==} + '@types/express-serve-static-core@4.19.7': + resolution: {integrity: sha512-FvPtiIf1LfhzsaIXhv/PHan/2FeQBbtBDtfX2QfvPxdUelMDEckK08SM6nqo1MIZY3RUlfA+HV8+hFUSio78qg==} - '@types/express@4.17.23': - resolution: {integrity: sha512-Crp6WY9aTYP3qPi2wGDo9iUe/rceX01UMhnF1jmwDcKCFM6cx7YhGP/Mpr3y9AASpfHixIG0E6azCcL5OcDHsQ==} + '@types/express@4.17.25': + resolution: {integrity: sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==} '@types/find-cache-dir@3.2.1': resolution: {integrity: sha512-frsJrz2t/CeGifcu/6uRo4b+SzAwT4NYCVPu1GN8IB9XTzrpPkGuV0tmh9mN+/L0PklAlsC3u5Fxt0ju00LXIw==} @@ -9601,8 +9582,8 @@ packages: '@types/http-errors@2.0.5': resolution: {integrity: sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==} - '@types/http-proxy@1.17.16': - resolution: {integrity: sha512-sdWoUajOB1cd0A8cRRQ1cfyWNbmFKLAqBB89Y8x5iYyG/mkJHc0YUH8pdWBy2omi9qtCpiIgGjuwO0dQST2l5w==} + '@types/http-proxy@1.17.17': + resolution: {integrity: sha512-ED6LB+Z1AVylNTu7hdzuBqOgMnvG/ld6wGCG8wFnAzKX5uyW2K3WD52v0gnLCTK/VLpXtKckgWuyScYK6cSPaw==} '@types/is-function@1.0.3': resolution: {integrity: sha512-/CLhCW79JUeLKznI6mbVieGbl4QU5Hfn+6udw1YHZoofASjbQ5zaP5LzAUZYDpRYEjS4/P+DhEgyJ/PQmGGTWw==} @@ -9701,17 +9682,17 @@ packages: '@types/node-fetch@2.6.13': resolution: {integrity: sha512-QGpRVpzSaUs30JBSGPjOg4Uveu384erbHBoT1zeONvyCfwQxIkUshLAOqN/k9EjGviPRmWTTe6aH2qySWKTVSw==} - '@types/node-forge@1.3.13': - resolution: {integrity: sha512-zePQJSW5QkwSHKRApqWCVKeKoSOt4xvEnLENZPjyvm9Ezdf/EyDeJM7jqLzOwjVICQQzvLZ63T55MKdJB5H6ww==} + '@types/node-forge@1.3.14': + resolution: {integrity: sha512-mhVF2BnD4BO+jtOp7z1CdzaK4mbuK0LLQYAvdOLqHTavxFNq4zA1EmYkpnFjP8HOUzedfQkRnp0E2ulSAYSzAw==} '@types/node@16.18.126': resolution: {integrity: sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==} - '@types/node@18.19.121': - resolution: {integrity: sha512-bHOrbyztmyYIi4f1R0s17QsPs1uyyYnGcXeZoGEd227oZjry0q6XQBQxd82X1I57zEfwO8h9Xo+Kl5gX1d9MwQ==} + '@types/node@18.19.130': + resolution: {integrity: sha512-GRaXQx6jGfL8sKfaIDD6OupbIHBr9jv7Jnaml9tB7l4v068PAOXqfcujMMo5PhbIs6ggR1XODELqahT2R8v0fg==} - '@types/node@20.19.22': - resolution: {integrity: sha512-hRnu+5qggKDSyWHlnmThnUqg62l29Aj/6vcYgUaSFL9oc7DVjeWEQN3PRgdSc6F8d9QRMWkf36CLMch1Do/+RQ==} + '@types/node@20.19.24': + resolution: {integrity: sha512-FE5u0ezmi6y9OZEzlJfg37mqqf6ZDSF2V/NLjUyGrR9uTZ7Sb9F7bLNZ03S4XVUNRWGA7Ck4c1kK+YnuWjl+DA==} '@types/node@22.15.18': resolution: {integrity: sha512-v1DKRfUdyW+jJhZNEI1PYy29S2YRxMV5AOO/x/SjKmW0acCIOqmbj6Haf9eHAhsPmrhlHSxEhv/1WszcLWV4cg==} @@ -9785,8 +9766,8 @@ packages: '@types/react-test-renderer@19.1.0': resolution: {integrity: sha512-XD0WZrHqjNrxA/MaR9O22w/RNidWR9YZmBdRGI7wcnWGrv/3dA8wKCJ8m63Sn+tLJhcjmuhOi629N66W6kgWzQ==} - '@types/react@17.0.87': - resolution: {integrity: sha512-wpg9AbtJ6agjA+BKYmhG6dRWEU/2DHYwMzCaBzsz137ft6IyuqZ5fI4ic1DWL4DrI03Zy78IyVE6ucrXl0mu4g==} + '@types/react@17.0.89': + resolution: {integrity: sha512-I98SaDCar5lvEYl80ClRIUztH/hyWHR+I2f+5yTVp/MQ205HgYkA2b5mVdry/+nsEIrf8I65KA5V/PASx68MsQ==} '@types/react@18.2.0': resolution: {integrity: sha512-0FLj93y5USLHdnhIhABk83rm8XEGA7kH3cr+YUlvxoUGp1xNt/DINUMvqPxLyOQMzLmZe8i4RTHbvb8MC7NmrA==} @@ -9812,20 +9793,23 @@ packages: '@types/scheduler@0.26.0': resolution: {integrity: sha512-WFHp9YUJQ6CKshqoC37iOlHnQSmxNc795UhB26CyBBttrN9svdIrUjl/NjnNmfcwtncN0h/0PPAFWv9ovP8mLA==} - '@types/selenium-webdriver@4.1.28': - resolution: {integrity: sha512-Au7CXegiS7oapbB16zxPToY4Cjzi9UQQMf3W2ZZM8PigMLTGR3iUAHjPUTddyE5g1SBjT/qpmvlsAQLBfNAdKg==} + '@types/selenium-webdriver@4.35.3': + resolution: {integrity: sha512-V8rEfVHFNsamhflPVqEgP1u8VShsEBAuQoLkIzpjwvPOkfmcNFp+mzJzFBwcIS9S90bxgRN3sp+Us/Mx55MXIA==} + + '@types/semver@7.7.1': + resolution: {integrity: sha512-FmgJfu+MOcQ370SD0ev7EI8TlCAfKYU+B4m5T3yXc1CiRN94g/SZPtsCkk506aUDtlMnFZvasDwHHUcZUEaYuA==} - '@types/semver@7.7.0': - resolution: {integrity: sha512-k107IF4+Xr7UHjwDc7Cfd6PRQfbdkiRabXGRjo07b4WyPahFBZCZ1sE+BNxYIJPPg73UkfOsVOLwqVc/6ETrIA==} + '@types/send@0.17.6': + resolution: {integrity: sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==} - '@types/send@0.17.5': - resolution: {integrity: sha512-z6F2D3cOStZvuk2SaP6YrwkNO65iTZcwA2ZkSABegdkAh/lf+Aa/YQndZVfmEXT5vgAp6zv06VQ3ejSVjAny4w==} + '@types/send@1.2.1': + resolution: {integrity: sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==} '@types/serve-index@1.9.4': resolution: {integrity: sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==} - '@types/serve-static@1.15.8': - resolution: {integrity: sha512-roei0UY3LhpOJvjbIP6ZZFngyLKl5dskOtDhxY5THRSpO+ZI+nzJ+m5yUMzGrp89YRa7lvknKkMYjqQFGwA7Sg==} + '@types/serve-static@1.15.10': + resolution: {integrity: sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==} '@types/sockjs@0.3.36': resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==} @@ -9887,14 +9871,14 @@ packages: '@types/uuid@9.0.8': resolution: {integrity: sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==} - '@types/vscode-notebook-renderer@1.72.3': - resolution: {integrity: sha512-MfmEI3A2McbUV2WaijoTgLOAs9chwHN4WmqOedl3jdtlbzJBWIQ9ZFmQdzPa3lYr5j8DJhRg3KB5AIM/BBfg9Q==} + '@types/vscode-notebook-renderer@1.72.4': + resolution: {integrity: sha512-bdKO41c6Dc24pH/O/eM/jqfCwGH4zc76o/g/6Gt1y/eg/bvvqP2/VpbV+Sa5Te2sZekFRcbYnSSFTKo3wcVGUg==} '@types/vscode-webview@1.57.5': resolution: {integrity: sha512-iBAUYNYkz+uk1kdsq05fEcoh8gJmwT3lqqFPN7MGyjQ3HVloViMdo7ZJ8DFIP8WOK74PjOEilosqAyxV2iUFUw==} - '@types/vscode@1.102.0': - resolution: {integrity: sha512-V9sFXmcXz03FtYTSUsYsu5K0Q9wH9w9V25slddcxrh5JgORD14LpnOA7ov0L9ALi+6HrTjskLJ/tY5zeRF3TFA==} + '@types/vscode@1.105.0': + resolution: {integrity: sha512-Lotk3CTFlGZN8ray4VxJE7axIyLZZETQJVWi/lYoUVQuqfRxlQhVOfoejsD2V3dVXPSbS15ov5ZyowMAzgUqcw==} '@types/webpack-env@1.18.8': resolution: {integrity: sha512-G9eAoJRMLjcvN4I08wB5I7YofOb/kaJNd5uoCMX+LbKXTPCF+ZIHuqTnFaK9Jz1rgs035f9JUPUhNFtqgucy/A==} @@ -9923,8 +9907,8 @@ packages: '@types/yargs@15.0.19': resolution: {integrity: sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==} - '@types/yargs@17.0.33': - resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} + '@types/yargs@17.0.34': + resolution: {integrity: sha512-KExbHVa92aJpw9WDQvzBaGVE2/Pz+pLZQloT2hjL8IqsZnV62rlPOYvNnLmf/L2dyllfVUOVBj64M0z/46eR2A==} '@typescript-eslint/eslint-plugin@2.34.0': resolution: {integrity: sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ==} @@ -10052,8 +10036,8 @@ packages: peerDependencies: typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/project-service@8.39.0': - resolution: {integrity: sha512-CTzJqaSq30V/Z2Og9jogzZt8lJRR5TKlAdXmWgdu4hgcC9Kww5flQ+xFvMxIBWVNdxJO7OifgdOK4PokMIWPew==} + '@typescript-eslint/project-service@8.46.3': + resolution: {integrity: sha512-Fz8yFXsp2wDFeUElO88S9n4w1I4CWDTXDqDr9gYvZgUpwXQqmZBr9+NTTql5R3J7+hrJZPdpiWaB9VNhAKYLuQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' @@ -10078,8 +10062,8 @@ packages: resolution: {integrity: sha512-dM4UBtgmzHR9bS0Rv09JST0RcHYearoEoo3pG5B6GoTR9XcyeqX87FEhPo+5kTvVfKCvfHaHrcgeJQc6mrDKrA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/scope-manager@8.39.0': - resolution: {integrity: sha512-8QOzff9UKxOh6npZQ/4FQu4mjdOCGSdO3p44ww0hk8Vu+IGbg0tB/H1LcTARRDzGCC8pDGbh2rissBuuoPgH8A==} + '@typescript-eslint/scope-manager@8.46.3': + resolution: {integrity: sha512-FCi7Y1zgrmxp3DfWfr+3m9ansUUFoy8dkEdeQSgA9gbm8DaHYvZCdkFRQrtKiedFf3Ha6VmoqoAaP68+i+22kg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/tsconfig-utils@8.33.1': @@ -10088,8 +10072,8 @@ packages: peerDependencies: typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/tsconfig-utils@8.39.0': - resolution: {integrity: sha512-Fd3/QjmFV2sKmvv3Mrj8r6N8CryYiCS8Wdb/6/rgOXAWGcFuc+VkQuG28uk/4kVNVZBQuuDHEDUpo/pQ32zsIQ==} + '@typescript-eslint/tsconfig-utils@8.46.3': + resolution: {integrity: sha512-GLupljMniHNIROP0zE7nCcybptolcH8QZfXOpCfhQDAdwJ/ZTlcaBOYebSOZotpti/3HrHSw7D3PZm75gYFsOA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' @@ -10158,8 +10142,8 @@ packages: resolution: {integrity: sha512-xid1WfizGhy/TKMTwhtVOgalHwPtV8T32MS9MaH50Cwvz6x6YqRIPdD2WvW0XaqOzTV9p5xdLY0h/ZusU5Lokg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/types@8.39.0': - resolution: {integrity: sha512-ArDdaOllnCj3yn/lzKn9s0pBQYmmyme/v1HbGIGB0GB/knFI3fWMHloC+oYTJW46tVbYnGKTMDK4ah1sC2v0Kg==} + '@typescript-eslint/types@8.46.3': + resolution: {integrity: sha512-G7Ok9WN/ggW7e/tOf8TQYMaxgID3Iujn231hfi0Pc7ZheztIJVpO44ekY00b7akqc6nZcvregk0Jpah3kep6hA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/typescript-estree@2.34.0': @@ -10210,8 +10194,8 @@ packages: peerDependencies: typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/typescript-estree@8.39.0': - resolution: {integrity: sha512-ndWdiflRMvfIgQRpckQQLiB5qAKQ7w++V4LlCHwp62eym1HLB/kw7D9f2e8ytONls/jt89TEasgvb+VwnRprsw==} + '@typescript-eslint/typescript-estree@8.46.3': + resolution: {integrity: sha512-f/NvtRjOm80BtNM5OQtlaBdM5BRFUv7gf381j9wygDNL+qOYSNOgtQ/DCndiYi80iIOv76QqaTmp4fa9hwI0OA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' @@ -10248,8 +10232,8 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/utils@8.39.0': - resolution: {integrity: sha512-4GVSvNA0Vx1Ktwvf4sFE+exxJ3QGUorQG1/A5mRfRNZtkBT2xrA/BCO2H0eALx/PnvCS6/vmYwRdDA41EoffkQ==} + '@typescript-eslint/utils@8.46.3': + resolution: {integrity: sha512-VXw7qmdkucEx9WkmR3ld/u6VhRyKeiF1uxWwCy/iuNfokjJ7VhsgLSOTjsol8BunSw190zABzpwdNsze2Kpo4g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -10275,12 +10259,12 @@ packages: resolution: {integrity: sha512-3i8NrFcZeeDHJ+7ZUuDkGT+UHq+XoFGsymNK2jZCOHcfEzRQ0BdpRtdpSx/Iyf3MHLWIcLS0COuOPibKQboIiQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/visitor-keys@8.39.0': - resolution: {integrity: sha512-ldgiJ+VAhQCfIjeOgu8Kj5nSxds0ktPOSO9p4+0VDH2R2pLvQraaM5Oen2d7NxzMCm+Sn/vJT+mv2H5u6b/3fA==} + '@typescript-eslint/visitor-keys@8.46.3': + resolution: {integrity: sha512-uk574k8IU0rOF/AjniX8qbLSGURJVUCeM5e4MIMKBFFi8weeiLrG1fyQejyLXQpRZbU/1BuQasleV/RfHC3hHg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typespec/ts-http-runtime@0.3.0': - resolution: {integrity: sha512-sOx1PKSuFwnIl7z4RN0Ls7N9AQawmR9r66eI5rFCzLDIs8HTIYrIpH9QjYWoX0lkgGrkLxXhi4QnK7MizPRrIg==} + '@typespec/ts-http-runtime@0.3.1': + resolution: {integrity: sha512-SnbaqayTVFEA6/tYumdF0UmybY0KHyKwGPBXnyckFlrrKdhWFrL3a2HIPXHjht5ZOElKGcXfD2D63P36btb+ww==} engines: {node: '>=20.0.0'} '@uiw/codemirror-extensions-basic-setup@4.23.14': @@ -10299,6 +10283,10 @@ packages: '@ungap/structured-clone@1.3.0': resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} + '@vercel/oidc@3.0.3': + resolution: {integrity: sha512-yNEQvPcVrK9sIe637+I0jD6leluPxzwJKx/Haw6F4H77CdDsszUn5V3o96LPziXkSNE2B83+Z3mjqGKBK/R6Gg==} + engines: {node: '>= 20'} + '@vitest/expect@2.0.5': resolution: {integrity: sha512-yHZtwuP7JZivj65Gxoi8upUN2OzHTi3zVfjwdpu2WrvCZPLwsJ2Ey5ILIPccoW23dd/zQBlJ4/dhi7DWNyXCpA==} @@ -10359,60 +10347,60 @@ packages: resolution: {integrity: sha512-vaTZE65zigWwSWYB6yaZUAyVC/Ux+6U82hnzy/ejuS/KpFifO+0oORNd5yAoPeIRnYjvllM6ES3YlX4K5tUuww==} engines: {vscode: ^1.75.0} - '@vscode/iconv-lite-umd@0.7.0': - resolution: {integrity: sha512-bRRFxLfg5dtAyl5XyiVWz/ZBPahpOpPrNYnnHpOpUZvam4tKH35wdhP4Kj6PbM0+KdliOsPzbGWpkxcdpNB/sg==} + '@vscode/iconv-lite-umd@0.7.1': + resolution: {integrity: sha512-tK6k0DXFHW7q5+GGuGZO+phpAqpxO4WXl+BLc/8/uOk3RsM2ssAL3CQUQDb1TGfwltjsauhN6S4ghYZzs4sPFw==} '@vscode/test-electron@2.5.2': resolution: {integrity: sha512-8ukpxv4wYe0iWMRQU18jhzJOHkeGKbnw7xWRX3Zw1WJA4cEKbHcmmLPdPrPtL6rhDcrlCZN+xKRpv09n4gRHYg==} engines: {node: '>=16'} - '@vscode/vsce-sign-alpine-arm64@2.0.5': - resolution: {integrity: sha512-XVmnF40APwRPXSLYA28Ye+qWxB25KhSVpF2eZVtVOs6g7fkpOxsVnpRU1Bz2xG4ySI79IRuapDJoAQFkoOgfdQ==} + '@vscode/vsce-sign-alpine-arm64@2.0.6': + resolution: {integrity: sha512-wKkJBsvKF+f0GfsUuGT0tSW0kZL87QggEiqNqK6/8hvqsXvpx8OsTEc3mnE1kejkh5r+qUyQ7PtF8jZYN0mo8Q==} cpu: [arm64] os: [alpine] - '@vscode/vsce-sign-alpine-x64@2.0.5': - resolution: {integrity: sha512-JuxY3xcquRsOezKq6PEHwCgd1rh1GnhyH6urVEWUzWn1c1PC4EOoyffMD+zLZtFuZF5qR1I0+cqDRNKyPvpK7Q==} + '@vscode/vsce-sign-alpine-x64@2.0.6': + resolution: {integrity: sha512-YoAGlmdK39vKi9jA18i4ufBbd95OqGJxRvF3n6ZbCyziwy3O+JgOpIUPxv5tjeO6gQfx29qBivQ8ZZTUF2Ba0w==} cpu: [x64] os: [alpine] - '@vscode/vsce-sign-darwin-arm64@2.0.5': - resolution: {integrity: sha512-z2Q62bk0ptADFz8a0vtPvnm6vxpyP3hIEYMU+i1AWz263Pj8Mc38cm/4sjzxu+LIsAfhe9HzvYNS49lV+KsatQ==} + '@vscode/vsce-sign-darwin-arm64@2.0.2': + resolution: {integrity: sha512-rz8F4pMcxPj8fjKAJIfkUT8ycG9CjIp888VY/6pq6cuI2qEzQ0+b5p3xb74CJnBbSC0p2eRVoe+WgNCAxCLtzQ==} cpu: [arm64] os: [darwin] - '@vscode/vsce-sign-darwin-x64@2.0.5': - resolution: {integrity: sha512-ma9JDC7FJ16SuPXlLKkvOD2qLsmW/cKfqK4zzM2iJE1PbckF3BlR08lYqHV89gmuoTpYB55+z8Y5Fz4wEJBVDA==} + '@vscode/vsce-sign-darwin-x64@2.0.2': + resolution: {integrity: sha512-MCjPrQ5MY/QVoZ6n0D92jcRb7eYvxAujG/AH2yM6lI0BspvJQxp0o9s5oiAM9r32r9tkLpiy5s2icsbwefAQIw==} cpu: [x64] os: [darwin] - '@vscode/vsce-sign-linux-arm64@2.0.5': - resolution: {integrity: sha512-Hr1o0veBymg9SmkCqYnfaiUnes5YK6k/lKFA5MhNmiEN5fNqxyPUCdRZMFs3Ajtx2OFW4q3KuYVRwGA7jdLo7Q==} + '@vscode/vsce-sign-linux-arm64@2.0.6': + resolution: {integrity: sha512-cfb1qK7lygtMa4NUl2582nP7aliLYuDEVpAbXJMkDq1qE+olIw/es+C8j1LJwvcRq1I2yWGtSn3EkDp9Dq5FdA==} cpu: [arm64] os: [linux] - '@vscode/vsce-sign-linux-arm@2.0.5': - resolution: {integrity: sha512-cdCwtLGmvC1QVrkIsyzv01+o9eR+wodMJUZ9Ak3owhcGxPRB53/WvrDHAFYA6i8Oy232nuen1YqWeEohqBuSzA==} + '@vscode/vsce-sign-linux-arm@2.0.6': + resolution: {integrity: sha512-UndEc2Xlq4HsuMPnwu7420uqceXjs4yb5W8E2/UkaHBB9OWCwMd3/bRe/1eLe3D8kPpxzcaeTyXiK3RdzS/1CA==} cpu: [arm] os: [linux] - '@vscode/vsce-sign-linux-x64@2.0.5': - resolution: {integrity: sha512-XLT0gfGMcxk6CMRLDkgqEPTyG8Oa0OFe1tPv2RVbphSOjFWJwZgK3TYWx39i/7gqpDHlax0AP6cgMygNJrA6zg==} + '@vscode/vsce-sign-linux-x64@2.0.6': + resolution: {integrity: sha512-/olerl1A4sOqdP+hjvJ1sbQjKN07Y3DVnxO4gnbn/ahtQvFrdhUi0G1VsZXDNjfqmXw57DmPi5ASnj/8PGZhAA==} cpu: [x64] os: [linux] - '@vscode/vsce-sign-win32-arm64@2.0.5': - resolution: {integrity: sha512-hco8eaoTcvtmuPhavyCZhrk5QIcLiyAUhEso87ApAWDllG7djIrWiOCtqn48k4pHz+L8oCQlE0nwNHfcYcxOPw==} + '@vscode/vsce-sign-win32-arm64@2.0.6': + resolution: {integrity: sha512-ivM/MiGIY0PJNZBoGtlRBM/xDpwbdlCWomUWuLmIxbi1Cxe/1nooYrEQoaHD8ojVRgzdQEUzMsRbyF5cJJgYOg==} cpu: [arm64] os: [win32] - '@vscode/vsce-sign-win32-x64@2.0.5': - resolution: {integrity: sha512-1ixKFGM2FwM+6kQS2ojfY3aAelICxjiCzeg4nTHpkeU1Tfs4RC+lVLrgq5NwcBC7ZLr6UfY3Ct3D6suPeOf7BQ==} + '@vscode/vsce-sign-win32-x64@2.0.6': + resolution: {integrity: sha512-mgth9Kvze+u8CruYMmhHw6Zgy3GRX2S+Ed5oSokDEK5vPEwGGKnmuXua9tmFhomeAnhgJnL4DCna3TiNuGrBTQ==} cpu: [x64] os: [win32] - '@vscode/vsce-sign@2.0.6': - resolution: {integrity: sha512-j9Ashk+uOWCDHYDxgGsqzKq5FXW9b9MW7QqOIYZ8IYpneJclWTBeHZz2DJCSKQgo+JAqNcaRRE1hzIx0dswqAw==} + '@vscode/vsce-sign@2.0.8': + resolution: {integrity: sha512-H7p8E11cZMj6mt8xIi3QXZ7dSU/2MH3Y7c+5JfUhHAV4xfaPNc8ozwLVK282c6ah596KoIJIdPUlNHV7Qs/5JA==} '@vscode/vsce@2.21.1': resolution: {integrity: sha512-f45/aT+HTubfCU2oC7IaWnH9NjOWp668ML002QiFObFRVUCoLtcwepp9mmql/ArFUy+HCHp54Xrq4koTcOD6TA==} @@ -10555,8 +10543,8 @@ packages: engines: {node: '>=10.0.0'} deprecated: this version is no longer supported, please update to at least 0.8.* - '@xmldom/xmldom@0.8.10': - resolution: {integrity: sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==} + '@xmldom/xmldom@0.8.11': + resolution: {integrity: sha512-cQzWCtO6C8TQiYl1ruKNn2U6Ao4o4WBBcbL61yJl84x+j5sOWWFU9X7DpND8XZG3daDppSsigMdfAIl2upQBRw==} engines: {node: '>=10.0.0'} '@xtuc/ieee754@1.2.0': @@ -10698,8 +10686,8 @@ packages: resolution: {integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==} engines: {node: '>=12'} - ai@5.0.59: - resolution: {integrity: sha512-SuAFxKXt2Ha9FiXB3gaOITkOg9ek/3QNVatGVExvTT4gNXc+hJpuNe1dmuwf6Z5Op4fzc8wdbsrYP27ZCXBzlw==} + ai@5.0.87: + resolution: {integrity: sha512-9Cjx7o8IY9zAczigX0Tk/BaQwjPe/M6DpEjejKSBNrf8mOPIvyM+pJLqJSC10IsKci3FPsnaizJeJhoetU1Wfw==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4.1.8 @@ -10781,8 +10769,8 @@ packages: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} engines: {node: '>=8'} - ansi-escapes@7.0.0: - resolution: {integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==} + ansi-escapes@7.1.1: + resolution: {integrity: sha512-Zhl0ErHcSRUaVfGUeUdDuLgpkEo8KIFjB4Y9uAc46ScOpdDiU1Dbyplh7qWJeJ/ZHpbyMSM26+X3BySgnIz40Q==} engines: {node: '>=18'} ansi-html-community@0.0.8: @@ -10811,8 +10799,8 @@ packages: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - ansi-regex@6.1.0: - resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} + ansi-regex@6.2.2: + resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} engines: {node: '>=12'} ansi-styles@2.2.1: @@ -10831,8 +10819,8 @@ packages: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} - ansi-styles@6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + ansi-styles@6.2.3: + resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} engines: {node: '>=12'} ansi-to-html@0.6.15: @@ -11118,12 +11106,12 @@ packages: aws4fetch@1.0.20: resolution: {integrity: sha512-/djoAN709iY65ETD6LKCtyyEI04XIBP5xVvfmNxsEP0uJB5tyaGBztSryRr4HqMStr9R06PisQE7m9zDTXKu6g==} - axe-core@4.10.3: - resolution: {integrity: sha512-Xm7bpRXnDSX2YE2YFfBk2FnF0ep6tmG7xPh8iHee8MIcrgq762Nkce856dYtJYLkuIoYZvGfTs/PbZhideTcEg==} + axe-core@4.11.0: + resolution: {integrity: sha512-ilYanEU8vxxBexpJd8cWM4ElSQq4QctCLKih0TSfjIfCQTeyH/6zVrmIJfLPrKTKJRbiG+cfnZbQIjAlJmF1jQ==} engines: {node: '>=4'} - axios@1.12.0: - resolution: {integrity: sha512-oXTDccv8PcfjZmPGlWsPSwtOJCZ/b6W5jAMCNcfwJbCzDckwG0jrYJFaWH1yvivfCXjVzV/SPDEhMB3Q+DSurg==} + axios@1.12.2: + resolution: {integrity: sha512-vMJzPewAlRyOgxV2dU0Cuz2O8zzzx9VYtbJOaBgXFeLc4IV/Eg50n4LowmehOOR61S8ZMpc2K5Sa7g6A4jfkUw==} axobject-query@4.1.0: resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} @@ -11543,11 +11531,16 @@ packages: balanced-match@2.0.0: resolution: {integrity: sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==} - bare-events@2.7.0: - resolution: {integrity: sha512-b3N5eTW1g7vXkw+0CXh/HazGTcO5KYuu/RCNaJbDMPI6LHDi+7qe8EmxKUVe1sUbY2KZOVZFyj62x0OEz9qyAA==} + bare-events@2.8.1: + resolution: {integrity: sha512-oxSAxTS1hRfnyit2CL5QpAOS5ixfBjj6ex3yTNvXyY/kE719jQ/IjuESJBK2w5v4wwQRAHGseVJXx9QBYOtFGQ==} + peerDependencies: + bare-abort-controller: '*' + peerDependenciesMeta: + bare-abort-controller: + optional: true - bare-fs@4.4.4: - resolution: {integrity: sha512-Q8yxM1eLhJfuM7KXVP3zjhBvtMJCYRByoTT+wHXjpdMELv0xICFJX+1w4c7csa+WZEOsq4ItJ4RGwvzid6m/dw==} + bare-fs@4.5.0: + resolution: {integrity: sha512-GljgCjeupKZJNetTqxKaQArLK10vpmK28or0+RwWjEl5Rk+/xG3wkpmkv+WrcBm3q1BwHKlnhXzR8O37kcvkXQ==} engines: {bare: '>=1.16.0'} peerDependencies: bare-buffer: '*' @@ -11573,8 +11566,8 @@ packages: bare-events: optional: true - bare-url@2.2.2: - resolution: {integrity: sha512-g+ueNGKkrjMazDG3elZO1pNs3HY5+mMmOet1jtKyhOaCnkLzitxf26z7hoAEkDNgdNmnc1KIlt/dw6Po6xZMpA==} + bare-url@2.3.2: + resolution: {integrity: sha512-ZMq4gd9ngV5aTMa5p9+UfY0b3skwhHELaDkhEHetMdX0LRkW9kzaym4oo/Eh+Ghm0CCDuMTsRIGM/ytUc1ZYmw==} base16@1.0.0: resolution: {integrity: sha512-pNdYkNPiJUnEhnfXV56+sQy8+AaPcG3POZAUnwr4EeqCUZFz4u2PePbo3e5Gj4ziYPCWGUZT9RHisvJKnwFuBQ==} @@ -11582,6 +11575,10 @@ packages: base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + baseline-browser-mapping@2.8.23: + resolution: {integrity: sha512-616V5YX4bepJFzNyOfce5Fa8fDJMfoxzOIzDCZwaGL8MKVpFrXqfNUoIpRn9YMI5pXf/VKgzjB4htFMsFKKdiQ==} + hasBin: true + basic-auth@2.0.1: resolution: {integrity: sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==} engines: {node: '>= 0.8'} @@ -11661,8 +11658,8 @@ packages: boundary@2.0.0: resolution: {integrity: sha512-rJKn5ooC9u8q13IMCrW0RSp31pxBCHE3y9V/tp3TdWSLf8Em3p6Di4NBpfzbJge9YjjFEsD0RtFEjtvHL5VyEA==} - bowser@2.11.0: - resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==} + bowser@2.12.1: + resolution: {integrity: sha512-z4rE2Gxh7tvshQ4hluIT7XcFrgLIQaw9X3A+kTTRdovCz5PMukm/0QC/BKSYPj3omF5Qfypn9O/c5kgpmvYUCw==} boxen@1.3.0: resolution: {integrity: sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==} @@ -11711,8 +11708,8 @@ packages: deprecated: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools. hasBin: true - browserslist@4.25.1: - resolution: {integrity: sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw==} + browserslist@4.27.0: + resolution: {integrity: sha512-AXVQwdhot1eqLihwasPElhX2tAZiBjWdJ9i/Zcj2S6QYIjkx62OKSfnobkriB81C3l4w0rVy3Nt4jaTBltYEpw==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -11823,8 +11820,8 @@ packages: resolution: {integrity: sha512-Yo9wGIQUaAfIbk+qY0X4cDQgCosecfBe3V9NSyeY4qPC2SAkbCS4Xj79VP8WOzitpJUZKc/wsRCYF5ariDIwkg==} engines: {node: '>=18'} - cacheable@1.10.3: - resolution: {integrity: sha512-M6p10iJ/VT0wT7TLIGUnm958oVrU2cUK8pQAVU21Zu7h8rbk/PeRtRWrvHJBql97Bhzk3g1N6+2VKC+Rjxna9Q==} + cacheable@2.1.1: + resolution: {integrity: sha512-LmF4AXiSNdiRbI2UjH8pAp9NIXxeQsTotpEaegPiDcnN0YPygDJDV3l/Urc0mL72JWdATEorKqIHEx55nDlONg==} call-bind-apply-helpers@1.0.2: resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} @@ -11896,14 +11893,14 @@ packages: caniuse-api@3.0.0: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} - caniuse-db@1.0.30001731: - resolution: {integrity: sha512-IbYSXiOfvIJmCRLkrE/hMSsTZTu48NBddgIgC027NnuPwu/V14PnO3UtHxoQGSA16b09zZJkCsaoLbwMSllZrA==} + caniuse-db@1.0.30001753: + resolution: {integrity: sha512-M08EdkYtgpwpvFLscj+mmtjDYaqFVYqbCMIDlsKnw86CxaT2bjlDAEaxtktDiv70uFQtwNV2Ou2UZhQogpr4Ew==} - caniuse-lite@1.0.30001731: - resolution: {integrity: sha512-lDdp2/wrOmTRWuoB5DpfNkC0rJDU8DqRa6nYL6HK6sytw70QMopt/NIc/9SM7ylItlBWfACXk0tEn37UWM/+mg==} + caniuse-lite@1.0.30001753: + resolution: {integrity: sha512-Bj5H35MD/ebaOV4iDLqPEtiliTN29qkGtEHCwawWn4cYm+bPJM2NsaP30vtZcnERClMzp52J4+aw2UNbK4o+zw==} - canvas@3.1.2: - resolution: {integrity: sha512-Z/tzFAcBzoCvJlOSlCnoekh1Gu8YMn0J51+UAuXJAbW1Z6I9l2mZgdD7738MepoeeIcUdDtbMnOg6cC7GJxy/g==} + canvas@3.2.0: + resolution: {integrity: sha512-jk0GxrLtUEmW/TmFsk2WghvgHe8B0pxGilqCL21y8lHkPUGa6FTsnCNtHPOzT8O3y+N+m3espawV80bbBlgfTA==} engines: {node: ^18.12.0 || >= 20.9.0} capital-case@1.0.4: @@ -11938,8 +11935,8 @@ packages: resolution: {integrity: sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==} engines: {node: '>=4'} - chai@5.2.1: - resolution: {integrity: sha512-5nFxhUrX0PqtyogoYOA8IPswy5sZFTOsBFl/9bNsmDLgsxYTzSZQJDPppDnZPTQbzSEm0hqGjWPzRemQCYbD6A==} + chai@5.3.3: + resolution: {integrity: sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==} engines: {node: '>=18'} chainsaw@0.1.0: @@ -11961,8 +11958,8 @@ packages: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} - chalk@5.5.0: - resolution: {integrity: sha512-1tm8DTaJhPBG3bIkVeZt1iZM9GfSX2lzOeDVZH9R9ffRHpmHvxZ/QhgQH/aDTkswQVt+YHdXAdS/In/30OjCbg==} + chalk@5.6.2: + resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} change-case@4.1.2: @@ -12116,9 +12113,9 @@ packages: resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} engines: {node: 10.* || >= 12.*} - cli-truncate@4.0.0: - resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} - engines: {node: '>=18'} + cli-truncate@5.1.1: + resolution: {integrity: sha512-SroPvNHxUnk+vIW/dOSfNqdy1sPEFkrTk6TUtqLCnBlo3N7TNYYkzzN7uSD6+jVjrdO4+p8nH7JzH6cIvUem6A==} + engines: {node: '>=20'} cli-width@2.2.1: resolution: {integrity: sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==} @@ -12137,6 +12134,10 @@ packages: resolution: {integrity: sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w==} engines: {node: '>=18'} + clipboardy@5.0.0: + resolution: {integrity: sha512-MQfKHaD09eP80Pev4qBxZLbxJK/ONnqfSYAPlCmPh+7BDboYtO/3BmB6HGzxDIT0SlTRc2tzS8lQqfcdLtZ0Kg==} + engines: {node: '>=20'} + cliui@3.2.0: resolution: {integrity: sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w==} @@ -12216,8 +12217,8 @@ packages: codemirror: ^5.65.3 graphql: ^15.5.0 || ^16.0.0 || ^17.0.0 - codemirror@5.65.19: - resolution: {integrity: sha512-+aFkvqhaAVr1gferNMuN8vkTSrWIFvzlMV9I2KBLCWS2WpZ2+UAkZjlMZmEuT+gcXTi6RrGQCkWq1/bDtGqhIA==} + codemirror@5.65.20: + resolution: {integrity: sha512-i5dLDDxwkFCbhjvL2pNjShsojoL3XHyDwsGv1jqETUoW+lzpBKKqNTUWgQwVAOa0tUm4BwekT455ujafi8payA==} codemirror@6.0.2: resolution: {integrity: sha512-VhydHotNW5w1UGK0Qj96BwSk/Zqbp9WbnyK2W/eVMv4QyF41INRGpjUhFJY7/uDNuudSc33a/PKr4iDqRduvHw==} @@ -12225,8 +12226,8 @@ packages: collapse-white-space@1.0.6: resolution: {integrity: sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==} - collect-v8-coverage@1.0.2: - resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} + collect-v8-coverage@1.0.3: + resolution: {integrity: sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw==} color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} @@ -12235,17 +12236,26 @@ packages: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} + color-convert@3.1.2: + resolution: {integrity: sha512-UNqkvCDXstVck3kdowtOTWROIJQwafjOfXSmddoDrXo4cewMKmusCeF22Q24zvjR8nwWib/3S/dfyzPItPEiJg==} + engines: {node: '>=14.6'} + color-name@1.1.3: resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + color-name@2.0.2: + resolution: {integrity: sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==} + engines: {node: '>=12.20'} + color-string@0.3.0: resolution: {integrity: sha512-sz29j1bmSDfoAxKIEU6zwoIZXN6BrFbAMIhfYCNyiZXBDuU/aiHlN84lp/xDzL2ubyFhLDobHIlU1X70XRrMDA==} - color-string@1.9.1: - resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} + color-string@2.1.2: + resolution: {integrity: sha512-RxmjYxbWemV9gKu4zPgiZagUxbH3RQpEIO77XoSSX0ivgABDZ+h8Zuash/EMFLTI4N9QgFPOJ6JQpPZKFxa+dA==} + engines: {node: '>=18'} color-support@1.1.3: resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} @@ -12254,8 +12264,9 @@ packages: color@0.11.4: resolution: {integrity: sha512-Ajpjd8asqZ6EdxQeqGzU5WBhhTfJ/0cA4Wlbre7e5vXfmDSmda7Ov6jeKoru+b0vHcb1CqvuroTHp5zIWzhVMA==} - color@3.2.1: - resolution: {integrity: sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==} + color@5.0.2: + resolution: {integrity: sha512-e2hz5BzbUPcYlIRHo8ieAhYgoajrJr+hWoceg6E345TPsATMUKqDgzt8fSXZJJbxfpiPzkWyphz8yn8At7q3fA==} + engines: {node: '>=18'} colord@2.9.3: resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} @@ -12277,9 +12288,6 @@ packages: resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==} engines: {node: '>=0.1.90'} - colorspace@1.1.4: - resolution: {integrity: sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==} - combined-stream@1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} @@ -12306,8 +12314,8 @@ packages: resolution: {integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==} engines: {node: '>=18'} - commander@14.0.0: - resolution: {integrity: sha512-2uM9rYjPvyq39NwLRqaiLtWHyDC1FvryJDa2ATTVims5YAS4PupsEQsDvP14FqhFr0P49CYDugi59xaxJlTXRA==} + commander@14.0.2: + resolution: {integrity: sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==} engines: {node: '>=20'} commander@2.13.0: @@ -12448,8 +12456,8 @@ packages: copy-to-clipboard@3.3.3: resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==} - copy-webpack-plugin@13.0.0: - resolution: {integrity: sha512-FgR/h5a6hzJqATDGd9YG41SeDViH+0bkHn6WNXCi5zKAZkeESeSxLySSsFLHqLEVCh0E+rITmCf0dusXWYukeQ==} + copy-webpack-plugin@13.0.1: + resolution: {integrity: sha512-J+YV3WfhY6W/Xf9h+J1znYuqTye2xkBUIGyTPWuBAT27qajBa5mR4f8WBmfDY3YjRftT2kqZZiLi1qf0H+UOFw==} engines: {node: '>= 18.12.0'} peerDependencies: webpack: ^5.1.0 @@ -12458,18 +12466,18 @@ packages: resolution: {integrity: sha512-fereAvAvxDrQDOXybk3Qu3dPbOoKoysFMWtkY3mv5BsL8//OSZVL5DCLYqgRfY5cWirgRzlC+WSrxp6Bo3eNZg==} hasBin: true - core-js-compat@3.45.0: - resolution: {integrity: sha512-gRoVMBawZg0OnxaVv3zpqLLxaHmsubEGyTnqdpI/CEBvX4JadI1dMSHxagThprYRtSVbuQxvi6iUatdPxohHpA==} + core-js-compat@3.46.0: + resolution: {integrity: sha512-p9hObIIEENxSV8xIu+V68JjSeARg6UVMG5mR+JEUguG3sI6MsiS1njz2jHmyJDvA+8jX/sytkBHup6kxhM9law==} - core-js-pure@3.45.0: - resolution: {integrity: sha512-OtwjqcDpY2X/eIIg1ol/n0y/X8A9foliaNt1dSK0gV3J2/zw+89FcNG3mPK+N8YWts4ZFUPxnrAzsxs/lf8yDA==} + core-js-pure@3.46.0: + resolution: {integrity: sha512-NMCW30bHNofuhwLhYPt66OLOKTMbOhgTTatKVbaQC3KRHpTCiRIBYvtshr+NBYSnBxwAFhjW/RfJ0XbIjS16rw==} core-js@2.6.12: resolution: {integrity: sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==} deprecated: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js. - core-js@3.45.0: - resolution: {integrity: sha512-c2KZL9lP4DjkN3hk/an4pWn5b5ZefhRJnAc42n6LJ19kSnbeRbdQZE5dSeE2LBol1OwJD3X1BQvFTAsa8ReeDA==} + core-js@3.46.0: + resolution: {integrity: sha512-vDMm9B0xnqqZ8uSBpZ8sNtRtOdmfShrvT6h2TuQGLs0Is+cR0DYbj/KWP6ALVNbWPpqA/qPLoOuppJN07humpA==} core-util-is@1.0.2: resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} @@ -12543,8 +12551,8 @@ packages: create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - create-storybook@9.1.1: - resolution: {integrity: sha512-JrW3xqo1pbgsX1fvopjN6vZoFO+UyJbXv8sX2Gwvz3LMqwdQToEyUAn8KpOmHH3N+WnUd0tqC5TvK8g7bkk7YA==} + create-storybook@9.1.16: + resolution: {integrity: sha512-Po8ZeU1sAcab+gHjAXFnjMMO6HLjItQoXTnfE9gcMytKI25dbBuwX/aKpdHr731vgL6wW82e76PrUpAZdSibRg==} hasBin: true crelt@1.0.6: @@ -12801,8 +12809,8 @@ packages: supports-color: optional: true - debug@4.4.1: - resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -12846,8 +12854,8 @@ packages: dedent@0.7.0: resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} - dedent@1.6.0: - resolution: {integrity: sha512-F1Z+5UCFpmQUzJa11agbyPVMbpgT/qA3/SKyJ1jyBgm7dUcUEa8v9JwDkerSQXfakBwFljIxhOJqGkjUwZ9FSA==} + dedent@1.7.0: + resolution: {integrity: sha512-HGFtf8yhuhGhqO07SV79tRp+br4MnbdjeVxotpn1QBl30pcLLCQjX5b2295ll0fv8RKDKsmWYrl05usHM9CewQ==} peerDependencies: babel-plugin-macros: ^3.1.0 peerDependenciesMeta: @@ -12949,8 +12957,8 @@ packages: resolution: {integrity: sha512-v2KyNk7efxhlyHpjEvfyxaAihKKK0nWCuf6ZtqZcFFpQRG0bJ12Qsr0RpvsICMjAAZ8DOVCxrlqpxISlMHC4Kg==} engines: {node: '>=14.16'} - del@8.0.0: - resolution: {integrity: sha512-R6ep6JJ+eOBZsBr9esiNN1gxFbZE4Q2cULkUSFumGYecAiS6qodDvcPx/sFuWHMNul7DWmrtoEOpYSm7o6tbSA==} + del@8.0.1: + resolution: {integrity: sha512-gPqh0mKTPvaUZGAuHbrBUYKZWBNAeHG7TU3QH5EhVwPMyKvmfJaNXhcD2jTcXsJRRcffuho4vaYweu80dRrMGA==} engines: {node: '>=18'} delayed-stream@1.0.0: @@ -12992,8 +13000,8 @@ packages: engines: {node: '>=0.10'} hasBin: true - detect-libc@2.0.4: - resolution: {integrity: sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==} + detect-libc@2.1.2: + resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} engines: {node: '>=8'} detect-newline@3.1.0: @@ -13023,8 +13031,8 @@ packages: devlop@1.1.0: resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} - dexie@4.0.11: - resolution: {integrity: sha512-SOKO002EqlvBYYKQSew3iymBoN2EQ4BDw/3yprjh7kAfFzjBYkaMNa/pZvcA7HSWlcKSQb9XhPe3wKyQ0x4A8A==} + dexie@4.2.1: + resolution: {integrity: sha512-Ckej0NS6jxQ4Po3OrSQBFddayRhTCic2DoCAG5zacOfOVB9P2Q5Xc5uL/nVa7ZVs+HdMnvUPzLFCB/JwpB6Csg==} diagnostic-channel-publishers@0.3.5: resolution: {integrity: sha512-AOIjw4T7Nxl0G2BoBPhkQ6i7T4bUd9+xvdYizwvG7vVAM1dvr+SDrcUudlmzwH0kbEwdR2V1EcnKT0wAeYLQNQ==} @@ -13132,6 +13140,9 @@ packages: dompurify@3.2.4: resolution: {integrity: sha512-ysFSFEDVduQpyhzAob/kkuJjf5zWkZD8/A9ywSp1byueyuCfHamrCBa14/Oc2iiB0e51B+NpxSl5gmzn+Ms/mg==} + dompurify@3.2.6: + resolution: {integrity: sha512-/2GogDQlohXPZe6D6NOgQvXLPSYBqIWMnZ8zzOhn09REE4eyAzb+Hed3jhoM9OkuaJ8P6ZGTTVWQKAi8ieIzfQ==} + domutils@2.8.0: resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} @@ -13201,9 +13212,9 @@ packages: ecdsa-sig-formatter@1.0.11: resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} - editions@6.21.0: - resolution: {integrity: sha512-ofkXJtn7z0urokN62DI3SBo/5xAtF0rR7tn+S/bSYV79Ka8pTajIIl+fFQ1q88DQEImymmo97M4azY3WX/nUdg==} - engines: {node: '>=4'} + editions@6.22.0: + resolution: {integrity: sha512-UgGlf8IW75je7HZjNDpJdCv4cGJWIi6yumFdZ0R7A8/CIhQiWUjyGLCxdHpd8bmyD1gnkfUNK0oeOXqUS2cpfQ==} + engines: {ecmascript: '>= es5', node: '>=4'} ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} @@ -13213,8 +13224,8 @@ packages: engines: {node: '>=0.10.0'} hasBin: true - electron-to-chromium@1.5.198: - resolution: {integrity: sha512-G5COfnp3w+ydVu80yprgWSfmfQaYRh9DOxfhAxstLyetKaLyl55QrNjx8C38Pc/C+RaDmb1M0Lk8wPEMQ+bGgQ==} + electron-to-chromium@1.5.244: + resolution: {integrity: sha512-OszpBN7xZX4vWMPJwB9illkN/znA8M36GQqQxi6MNy9axWxhOfJyZZJtSLQCpEFLHP2xK33BiWx9aIuIEXVCcw==} email-addresses@5.0.0: resolution: {integrity: sha512-4OIPYlA6JXqtVn8zpHpGiI7vE6EQOAg16aGnDMIAlZVinnoZ8208tW1hAbjWydgN/4PLTT9q+O1K6AH/vALJGw==} @@ -13226,8 +13237,8 @@ packages: resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} engines: {node: '>=12'} - emoji-regex@10.4.0: - resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==} + emoji-regex@10.6.0: + resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} emoji-regex@7.0.3: resolution: {integrity: sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==} @@ -13299,8 +13310,8 @@ packages: resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} engines: {node: '>=6'} - envinfo@7.14.0: - resolution: {integrity: sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg==} + envinfo@7.20.0: + resolution: {integrity: sha512-+zUomDcLXsVkQ37vUqWBvQwLaLlj8eZPSi61llaEFAVBY5mhcXdaSw1pSJVl4yTYD5g/gEfpNl28YYk4IPvrrg==} engines: {node: '>=4'} hasBin: true @@ -13318,8 +13329,8 @@ packages: resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} hasBin: true - error-ex@1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + error-ex@1.3.4: + resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==} error-stack-parser@2.1.4: resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} @@ -13365,8 +13376,8 @@ packages: resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} engines: {node: '>= 0.4'} - es-toolkit@1.39.8: - resolution: {integrity: sha512-A8QO9TfF+rltS8BXpdu8OS+rpGgEdnRhqIVxO/ZmNvnXBYgOdSsxukT55ELyP94gZIntWJ+Li9QRrT2u1Kitpg==} + es-toolkit@1.41.0: + resolution: {integrity: sha512-bDd3oRmbVgqZCJS6WmeQieOrzpl3URcWBUVDXxOELlUW2FuW+0glPOz1n0KnRie+PdyvUZcXz2sOn00c6pPRIA==} es5-ext@0.10.64: resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==} @@ -13403,8 +13414,8 @@ packages: peerDependencies: esbuild: '>=0.12 <1' - esbuild@0.25.8: - resolution: {integrity: sha512-vVC0USHGtMi8+R4Kz8rt6JhEWLxsv9Rnu/lGYbPR8u47B+DCBksq9JarW0zOO7bs37hyOK1l2/oqtbciutL5+Q==} + esbuild@0.25.12: + resolution: {integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==} engines: {node: '>=18'} hasBin: true @@ -13527,8 +13538,8 @@ packages: peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 - eslint-plugin-react-refresh@0.4.20: - resolution: {integrity: sha512-XpbHQ2q5gUF8BGOX4dHe+71qoirYMhApEPZ7sfhF/dNnOF1UXnCMGZf79SFTBO7Bz5YEIT4TMieSlJBWhP9WBA==} + eslint-plugin-react-refresh@0.4.24: + resolution: {integrity: sha512-nLHIW7TEq3aLrEYWpVaJ1dRgFR+wLDPN8e8FpYAql/bMV2oBEfC37K0gLEGgv9fy66juNShSMV8OkTqzltcG/w==} peerDependencies: eslint: '>=8.40' @@ -13538,12 +13549,12 @@ packages: peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 - eslint-plugin-storybook@9.1.1: - resolution: {integrity: sha512-g4/i9yW6cl4TCEMzYyALNvO3d/jB6TDvSs/Pmye7dHDrra2B7dgZJGzmEWILD62brVrLVHNoXgy2dNPtx80kmw==} + eslint-plugin-storybook@9.1.16: + resolution: {integrity: sha512-I8f3DXniPxFbcptVgOjtIHNvW6sDu1O2d1zNsxLKmeAvEaRLus1ij8iFHCgkNzMthrU5U2F4Wdo/aaSpz5kHjA==} engines: {node: '>=20.0.0'} peerDependencies: eslint: '>=8' - storybook: ^9.1.1 + storybook: ^9.1.16 eslint-plugin-unused-imports@4.1.4: resolution: {integrity: sha512-YptD6IzQjDardkl0POxnnRBhU1OEePMV0nd6siHaRBbd+lyh6NAhFEobiznKU7kTsSsDeSD62Pe7kAM1b7dAZQ==} @@ -13769,6 +13780,10 @@ packages: resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} engines: {node: '>=16.17'} + execa@9.6.0: + resolution: {integrity: sha512-jpWzZ1ZhwUmeWRhS7Qv3mhpOhLfwI+uAX4e5fOcXqwMR7EcJ0pj2kV1CVzHVMX/LphnKWD3LObjZCoJ71lKpHw==} + engines: {node: ^18.19.0 || >=20.5.0} + exenv-es6@1.1.1: resolution: {integrity: sha512-vlVu3N8d6yEMpMsEm+7sUBAI81aqYYuEvfK0jNqmdb/OPXzzH7QWDDnVjMvDSY47JdHEqx/dfC/q8WkfoTmpGQ==} @@ -13795,8 +13810,8 @@ packages: resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - exponential-backoff@3.1.2: - resolution: {integrity: sha512-8QxYTVXUkuy7fIIoitQkPwGonB8F3Zj8eEO8Sqg9Zv/bkI7RJAzowee4gr81Hak/dUTpA2Z7VfQgoijjPNlUZA==} + exponential-backoff@3.1.3: + resolution: {integrity: sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==} express-rate-limit@7.5.1: resolution: {integrity: sha512-7iN8iPMDzOMHPUYllBEsQdWVB6fPDMPqwjBaFrgr4Jgr/+okjvzAy+UHlYYL/Vs0OsOrMkwS6PJDkFlJwoxUnw==} @@ -13885,8 +13900,8 @@ packages: fast-safe-stringify@2.1.1: resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} - fast-uri@3.0.6: - resolution: {integrity: sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==} + fast-uri@3.1.0: + resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==} fast-xml-parser@5.2.5: resolution: {integrity: sha512-pfX9uG9Ki0yekDHx2SiuRIyFdyAr1kMIMitPvb0YBo8SUfKvia7w7FIyd/l6av85pFYRhZscS75MwMnbvY+hcQ==} @@ -13930,8 +13945,9 @@ packages: fd-slicer@1.1.0: resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} - fdir@6.4.6: - resolution: {integrity: sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==} + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} peerDependencies: picomatch: ^3 || ^4 peerDependenciesMeta: @@ -13956,8 +13972,12 @@ packages: resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} engines: {node: '>=8'} - file-entry-cache@10.1.3: - resolution: {integrity: sha512-D+w75Ub8T55yor7fPgN06rkCAUbAYw2vpxJmmjv/GDAcvCnv9g7IvHhIZoxzRZThrXPFI2maeY24pPbtyYU7Lg==} + figures@6.1.0: + resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} + engines: {node: '>=18'} + + file-entry-cache@10.1.4: + resolution: {integrity: sha512-5XRUFc0WTtUbjfGzEwXc42tiGxQHBmtbUG1h9L2apu4SulCGN3Hqm//9D6FAolf8MYNL7f/YlJl9vy08pj5JuA==} file-entry-cache@5.0.1: resolution: {integrity: sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==} @@ -14102,8 +14122,8 @@ packages: resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} engines: {node: '>=16'} - flat-cache@6.1.12: - resolution: {integrity: sha512-U+HqqpZPPXP5d24bWuRzjGqVqUcw64k4nZAbruniDwdRg0H10tvN7H6ku1tjhA4rg5B9GS3siEvwO2qjJJ6f8Q==} + flat-cache@6.1.18: + resolution: {integrity: sha512-JUPnFgHMuAVmLmoH9/zoZ6RHOt5n9NlUw/sDXsTbROJ2SFoS2DS4s+swAV6UTeTbGH/CAsZIE6M8TaG/3jVxgQ==} flat@5.0.2: resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} @@ -14119,8 +14139,8 @@ packages: resolution: {integrity: sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==} deprecated: flatten is deprecated in favor of utility frameworks such as lodash. - flow-parser@0.278.0: - resolution: {integrity: sha512-9oUcYDHf9n+E/t0FXndgBqGbaUsGEcmWqIr1ldqCzTzctsJV5E/bHusOj4ThB72Ss2mqWpLFNz0+o2c1O8J6+A==} + flow-parser@0.289.0: + resolution: {integrity: sha512-w4sVnH6ddNAIxokoz0mGyiIIdzvqncFhAYW+RmkPbPSSTYozG6yhqAixzaWeBCQf2qqXJTlHkoKPnf/BAj8Ofw==} engines: {node: '>=0.4.0'} flush-write-stream@1.1.1: @@ -14258,8 +14278,8 @@ packages: resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} engines: {node: '>=14.14'} - fs-extra@11.3.1: - resolution: {integrity: sha512-eXvGGwZ5CL17ZSwHWd3bbgk7UUpF6IFHtP57NYYakPvHOs8GDgDe5KJI36jIJzDkJ6eJjuzRA8eBQb6SkKue0g==} + fs-extra@11.3.2: + resolution: {integrity: sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==} engines: {node: '>=14.14'} fs-extra@3.0.1: @@ -14338,6 +14358,10 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} deprecated: This package is no longer supported. + generator-function@2.0.1: + resolution: {integrity: sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==} + engines: {node: '>= 0.4'} + generic-names@4.0.0: resolution: {integrity: sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==} @@ -14355,8 +14379,8 @@ packages: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} - get-east-asian-width@1.3.0: - resolution: {integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==} + get-east-asian-width@1.4.0: + resolution: {integrity: sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==} engines: {node: '>=18'} get-func-name@2.0.2: @@ -14467,6 +14491,12 @@ packages: peerDependencies: glob: '*' + glob-to-regex.js@1.2.0: + resolution: {integrity: sha512-QMwlOQKU/IzqMUOAZWubUOT8Qft+Y0KQWnX9nK3ch0CJg0tTp4TvGZsTfudYKv2NzoQSyPcnA6TYeIQ3jGichQ==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + glob-to-regexp@0.3.0: resolution: {integrity: sha512-Iozmtbqv0noj0uDDqoL0zNq0VBEfK2YFoMAZoxJe4cwphvLR+JskfF30QhXHOR4m3KrE6NLRYw+U9MRXvifyig==} @@ -14616,8 +14646,8 @@ packages: peerDependencies: graphql: ^15.5.0 || ^16.0.0 || ^17.0.0 - graphql@16.11.0: - resolution: {integrity: sha512-mS1lbMsxgQj6hge1XZ6p7GPhbrtFwUFYi3wRzXAC/FmYnyXMTvvI3td3rjmQ2u8ewXueaSvRPWaEcgVVOT9Jnw==} + graphql@16.12.0: + resolution: {integrity: sha512-DKKrynuQRne0PNpEbzuEdHlYOMksHSUI8Zc9Unei5gTsMNA2/vMpoMz/yKba50pejK56qj98qM0SjYxAKi13gQ==} engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} growly@1.3.0: @@ -14796,8 +14826,8 @@ packages: resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==} engines: {node: '>=0.10.0'} - hookified@1.11.0: - resolution: {integrity: sha512-aDdIN3GyU5I6wextPplYdfmWCo+aLmjjVbntmX6HLD5RCi/xKsivYEBhnRD+d9224zFf008ZpLMPlWF0ZodYZw==} + hookified@1.12.2: + resolution: {integrity: sha512-aokUX1VdTpI0DUsndvW+OiwmBpKCu/NgRsSSkuSY0zq8PY6Q6a+lmOfAFDXAAOtBqJELvcWY9L1EVtzjbQcMdg==} hosted-git-info@2.8.9: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} @@ -14879,8 +14909,8 @@ packages: peerDependencies: webpack: ^4.0.0 || ^5.0.0 - html-webpack-plugin@5.6.3: - resolution: {integrity: sha512-QSf1yjtSAsmf7rYBV7XX86uua4W/vkhIt0xNXKbsi2foEeW7vjJQz4bhnpL3xH+l1ryl1680uNv968Z+X6jSYg==} + html-webpack-plugin@5.6.4: + resolution: {integrity: sha512-V/PZeWsqhfpE27nKeX9EO2sbR+D17A+tLf6qU+ht66jdUsN0QLKJN27Z+1+gHrVMKgndBahes0PU6rRihDgHTw==} engines: {node: '>=10.13.0'} peerDependencies: '@rspack/core': 0.x || 1.x @@ -14976,8 +15006,12 @@ packages: resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} engines: {node: '>=16.17.0'} - humanize-duration@3.33.0: - resolution: {integrity: sha512-vYJX7BSzn7EQ4SaP2lPYVy+icHDppB6k7myNeI3wrSRfwMS5+BHyGgzpHR0ptqJ2AQ6UuIKrclSg5ve6Ci4IAQ==} + human-signals@8.0.1: + resolution: {integrity: sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==} + engines: {node: '>=18.18.0'} + + humanize-duration@3.33.1: + resolution: {integrity: sha512-hwzSCymnRdFx9YdRkQQ0OYequXiVAV6ZGQA2uzocwB0F4309Ke6pO8dg0P8LHhRQJyVjGteRTAA/zNfEcpXn8A==} humanize-ms@1.2.1: resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} @@ -15004,6 +15038,10 @@ packages: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} + iconv-lite@0.7.0: + resolution: {integrity: sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==} + engines: {node: '>=0.10.0'} + icss-replace-symbols@1.1.0: resolution: {integrity: sha512-chIaY3Vh2mh2Q3RGXttaDIzeiPvaVXJ+C4DAh/w3c37SKZ/U6PGMmuicR2EQQp9bKG8zLMCl7I+PtIoOOPp8Gg==} @@ -15049,8 +15087,8 @@ packages: resolution: {integrity: sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg==} engines: {node: '>=0.10.0'} - immutable@5.1.3: - resolution: {integrity: sha512-+chQdDfvscSF1SJqv2gn4SRO2ZyS3xL3r7IW/wWEEzrzLisnOlKiQu5ytC/BVNcS15C39WT2Hg/bjKjDMcu+zg==} + immutable@5.1.4: + resolution: {integrity: sha512-p6u1bG3YSnINT5RQmx/yRZBpenIl30kVxkTLDyHLIMk0gict704Q9n+thfDI7lTRm9vXdDYutVzXhzcThxTnXA==} import-cwd@3.0.0: resolution: {integrity: sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==} @@ -15111,8 +15149,8 @@ packages: inline-style-parser@0.1.1: resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} - inline-style-parser@0.2.4: - resolution: {integrity: sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==} + inline-style-parser@0.2.6: + resolution: {integrity: sha512-gtGXVaBdl5mAes3rPcMedEBm12ibjt1kDMFfheul1wUAOVEJW60voNdMVzVkfLN06O7ZaD/rxhfKgtlgtTbMjg==} inquirer@3.3.0: resolution: {integrity: sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==} @@ -15139,9 +15177,10 @@ packages: intersection-observer@0.10.0: resolution: {integrity: sha512-fn4bQ0Xq8FTej09YC/jqKZwtijpvARlRp6wxL5WTA6yPe2YWSJ5RJh7Nm79rK2qB0wr6iDQzH60XGq5V/7u8YQ==} + deprecated: The Intersection Observer polyfill is no longer needed and can safely be removed. Intersection Observer has been Baseline since 2019. - intl-messageformat@10.7.16: - resolution: {integrity: sha512-UmdmHUmp5CIKKjSoE10la5yfU+AYJAaiYLsodbjL4lji83JNvgOQUjGaGhGrpFCb0Uh7sl7qfP1IyILa8Z40ug==} + intl-messageformat@10.7.18: + resolution: {integrity: sha512-m3Ofv/X/tV8Y3tHXLohcuVuhWKo7BBq62cqY15etqmLxg2DZ34AGGgQDeR+SCta2+zICb1NX83af0GJmbQ1++g==} invariant@2.2.4: resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} @@ -15150,8 +15189,8 @@ packages: resolution: {integrity: sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==} engines: {node: '>=0.10.0'} - ip-address@9.0.5: - resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==} + ip-address@10.0.1: + resolution: {integrity: sha512-NWv9YLW4PoW2B7xtzaS3NCot75m6nK7Icdv0o3lfMceJVRfSoQwqD4wEH5rLwoKJwUiZ/rfpiVBhnaF0FK4HoA==} engines: {node: '>= 12'} ip-regex@2.1.0: @@ -15204,9 +15243,6 @@ packages: is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - is-arrayish@0.3.2: - resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} - is-async-function@2.1.1: resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==} engines: {node: '>= 0.4'} @@ -15317,12 +15353,8 @@ packages: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} - is-fullwidth-code-point@4.0.0: - resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} - engines: {node: '>=12'} - - is-fullwidth-code-point@5.0.0: - resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==} + is-fullwidth-code-point@5.1.0: + resolution: {integrity: sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==} engines: {node: '>=18'} is-function@1.0.2: @@ -15336,8 +15368,8 @@ packages: resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} engines: {node: '>=6'} - is-generator-function@1.1.0: - resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==} + is-generator-function@1.1.2: + resolution: {integrity: sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==} engines: {node: '>= 0.4'} is-glob@2.0.1: @@ -15393,8 +15425,8 @@ packages: resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} engines: {node: '>= 0.4'} - is-network-error@1.1.0: - resolution: {integrity: sha512-tUdRRAnhT+OtCZR/LxZelH/C7QtjtFrTu5tXCA8pl55eTUElUHT+GPYV8MBMBvea/j+NxQqVt3LbWMRir7Gx9g==} + is-network-error@1.3.0: + resolution: {integrity: sha512-6oIwpsgRfnDiyEDLMay/GqCl3HoAtH5+RUKW29gYkL0QA+ipzpDLA16yQs7/RHCSu+BwgbJaOUqa4A99qNVQVw==} engines: {node: '>=16'} is-npm@1.0.0: @@ -15561,6 +15593,10 @@ packages: is-utf8@0.2.1: resolution: {integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==} + is-wayland@0.1.0: + resolution: {integrity: sha512-QkbMsWkIfkrzOPxenwye0h56iAXirZYHG9eHVPb22fO9y+wPbaX/CHacOWBa/I++4ohTcByimhM1/nyCsH8KNA==} + engines: {node: '>=20'} + is-weakmap@2.0.2: resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} engines: {node: '>= 0.4'} @@ -15686,8 +15722,8 @@ packages: istanbul-reports@1.5.1: resolution: {integrity: sha512-+cfoZ0UXzWjhAdzosCPP3AN8vvef8XDkWtTfgaN+7L3YTpNYITnCaEkceo5SEYy644VkHka/P1FvkWvrG/rrJw==} - istanbul-reports@3.1.7: - resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} + istanbul-reports@3.2.0: + resolution: {integrity: sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==} engines: {node: '>=8'} istanbul@0.4.5: @@ -16118,8 +16154,8 @@ packages: resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} hasBin: true - jiti@2.5.1: - resolution: {integrity: sha512-twQoecYPiVA5K/h6SxtORw/Bs3ar+mLUtoPSc7iMXzQzK8d7eJ/R09wmTwAjiamETn1cXYPGfNnu7DMoHgu12w==} + jiti@2.6.1: + resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==} hasBin: true joi@17.13.3: @@ -16159,9 +16195,6 @@ packages: jsbn@0.1.1: resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} - jsbn@1.1.0: - resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==} - jschardet@3.1.4: resolution: {integrity: sha512-/kmVISmrwVwtyYU40iQUOp3SUPk2dhNCMsZBQX0R1/jZ8maaXJ/oZIzUOiyOqcgtLnETFKYChbJ5iDC/eWmFHg==} engines: {node: '>=0.1.90'} @@ -16175,8 +16208,8 @@ packages: '@babel/preset-env': optional: true - jsdoc-type-pratt-parser@4.1.0: - resolution: {integrity: sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg==} + jsdoc-type-pratt-parser@4.8.0: + resolution: {integrity: sha512-iZ8Bdb84lWRuGHamRXFyML07r21pcwBrLkHEuHgEY5UbCouBwv7ECknDRKzsQIXMiqpPymqtIf8TC/shYKB5rw==} engines: {node: '>=12.0.0'} jsdom@11.12.0: @@ -16211,11 +16244,6 @@ packages: resolution: {integrity: sha512-Mke0DA0QjUWuJlhsE0ZPPhYiJkRap642SmI/4ztCFaUs6V2AiH1sfecc+57NgaryfAA2VR3v6O+CSjC1jZJKOA==} hasBin: true - jsesc@3.0.2: - resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} - engines: {node: '>=6'} - hasBin: true - jsesc@3.1.0: resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} engines: {node: '>=6'} @@ -16285,8 +16313,8 @@ packages: jsonfile@4.0.0: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} - jsonfile@6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + jsonfile@6.2.0: + resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==} jsonify@0.0.1: resolution: {integrity: sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==} @@ -16330,8 +16358,8 @@ packages: keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - keyv@5.5.0: - resolution: {integrity: sha512-QG7qR2tijh1ftOvClut4YKKg1iW6cx3GZsKoGyJPxHkGWK9oJhG9P3j5deP0QQOGDowBMVQFaP+Vm4NpGYvmIQ==} + keyv@5.5.3: + resolution: {integrity: sha512-h0Un1ieD+HUrzBH6dJXhod3ifSghk5Hw/2Y4/KHBziPlZecrFyE9YOTPU6eOs0V9pYl8gOs86fkr/KN8lUX39A==} kill-port@2.0.1: resolution: {integrity: sha512-e0SVOV5jFo0mx8r7bS29maVWp17qGqLBZ5ricNSajON6//kmb7qqqNnml4twNE8Dtj97UQD+gNFOaipS/q1zzQ==} @@ -16373,8 +16401,8 @@ packages: resolution: {integrity: sha512-Be1YRHWWlZaSsrz2U+VInk+tO0EwLIyV+23RhWLINJYwg/UIikxjlj3MhH37/6/EDCAusjajvMkMMUXRaMWl/w==} engines: {node: '>=4'} - launch-editor@2.11.0: - resolution: {integrity: sha512-R/PIF14L6e2eHkhvQPu7jDRCr0msfCYCxbYiLgkkAGi0dVPWuM+RrsPu0a5dpuNe0KWGL3jpAkOlv53xGfPheQ==} + launch-editor@2.12.0: + resolution: {integrity: sha512-giOHXoOtifjdHqUamwKq6c49GzBdLjvxrd2D+Q4V6uOHopJv7p9VJxikDsQ/CBXZbEITgUqSVHXLTG3VhPP1Dg==} lazy-universal-dotenv@3.0.1: resolution: {integrity: sha512-prXSYk799h3GY3iOWnC6ZigYzMPjxN2svgjJ9shk7oMadSNX3wXy0B6F32PMJv7qtMnrIbUxoEHzbutvxR2LBQ==} @@ -16435,24 +16463,24 @@ packages: linkify-it@5.0.0: resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} - lint-staged@16.1.4: - resolution: {integrity: sha512-xy7rnzQrhTVGKMpv6+bmIA3C0yET31x8OhKBYfvGo0/byeZ6E0BjGARrir3Kg/RhhYHutpsi01+2J5IpfVoueA==} + lint-staged@16.2.6: + resolution: {integrity: sha512-s1gphtDbV4bmW1eylXpVMk2u7is7YsrLl8hzrtvC70h4ByhcMLZFY01Fx05ZUDNuv1H8HO4E+e2zgejV1jVwNw==} engines: {node: '>=20.17'} hasBin: true listenercount@1.0.1: resolution: {integrity: sha512-3mk/Zag0+IJxeDrxSgaDPy4zZ3w05PRZeJNnlWhzFz5OkX49J4krc+A8X2d2M69vGMBEX0uyl8M+W+8gH+kBqQ==} - listr2@9.0.1: - resolution: {integrity: sha512-SL0JY3DaxylDuo/MecFeiC+7pedM0zia33zl0vcjgwcq1q1FWWF1To9EIauPbl8GbMCU0R2e0uJ8bZunhYKD2g==} + listr2@9.0.5: + resolution: {integrity: sha512-ME4Fb83LgEgwNw96RKNvKV4VTLuXfoKudAmm2lP8Kk87KaMK0/Xrx/aAkMWmT8mDb+3MlFDspfbCs7adjRxA2g==} engines: {node: '>=20.0.0'} load-json-file@1.1.0: resolution: {integrity: sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==} engines: {node: '>=0.10.0'} - loader-runner@4.3.0: - resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} + loader-runner@4.3.1: + resolution: {integrity: sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==} engines: {node: '>=6.11.5'} loader-utils@0.2.17: @@ -16634,8 +16662,8 @@ packages: loupe@2.3.7: resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} - loupe@3.2.0: - resolution: {integrity: sha512-2NCfZcT5VGVNX9mSZIxLRkEAegDGBpuQZBy13desuHeVORmBDyAET4TkJr4SjqQy3A8JDofMN6LpkK8Xcm/dlw==} + loupe@3.2.1: + resolution: {integrity: sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==} lower-case@1.1.4: resolution: {integrity: sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==} @@ -16657,8 +16685,8 @@ packages: lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} - lru-cache@11.1.0: - resolution: {integrity: sha512-QIXZUBJUx+2zHUdQujWejBkcD9+cs94tLn0+YL8UrCh+D5sCXZ4c7LaEH48pNwRY3MLDgqUFyhlCyjJPf1WP0A==} + lru-cache@11.2.2: + resolution: {integrity: sha512-F9ODfyqML2coTIsQpSkRHnLSZMtkU8Q+mSfcaIyKwy58u+8k5nvAYeiNhsyMARvzNcXJ9QfWVrcPsC9e9rAxtg==} engines: {node: 20 || >=22} lru-cache@4.1.5: @@ -16683,8 +16711,8 @@ packages: peerDependencies: react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 - luxon@3.7.1: - resolution: {integrity: sha512-RkRWjA926cTvz5rAb1BqyWkKbbjzCGchDUIKMCUvNi17j6f6j8uHGDV82Aqcqtzd+icoYpELmG3ksgGiFNNcNg==} + luxon@3.7.2: + resolution: {integrity: sha512-vtEhXh/gNjI9Yg1u4jX/0YVPMvxzHuGgCm6tC5kZyb08yjGWGnqAjGJvcXbqQR2P3MyMEFnRbpcdFS6PBcLqew==} engines: {node: '>=12'} lz-string@1.5.0: @@ -16694,8 +16722,8 @@ packages: magic-string@0.25.9: resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} - magic-string@0.30.17: - resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} + magic-string@0.30.21: + resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} make-cancellable-promise@1.3.2: resolution: {integrity: sha512-GCXh3bq/WuMbS+Ky4JBPW1hYTOU+znU+Q5m9Pu+pI8EoUqIHk9+tviOKC6/qhHh8C4/As3tzJ69IF32kdz85ww==} @@ -16758,11 +16786,14 @@ packages: markdown-table@3.0.4: resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} - markdown-to-jsx@7.7.13: - resolution: {integrity: sha512-DiueEq2bttFcSxUs85GJcQVrOr0+VVsPfj9AEUPqmExJ3f8P/iQNvZHltV4tm1XVhu1kl0vWBZWT3l99izRMaA==} + markdown-to-jsx@7.7.17: + resolution: {integrity: sha512-7mG/1feQ0TX5I7YyMZVDgCC/y2I3CiEhIRQIhyov9nGBP5eoVrOXXHuL5ZP8GRfxVZKRiXWJgwXkb9It+nQZfQ==} engines: {node: '>= 10'} peerDependencies: react: '>= 0.14.0' + peerDependenciesMeta: + react: + optional: true matches-selector@0.0.1: resolution: {integrity: sha512-Bm8wuvuNGPY3j1Mo23PxieRQAmQQe2qVcqgmpHOp1BEBNgb4dqzn2Dcgu5bYltMosjGi6LD7GPW72zboSdyJQg==} @@ -16890,9 +16921,8 @@ packages: resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} engines: {node: '>= 4.0.0'} - memfs@4.36.0: - resolution: {integrity: sha512-mfBfzGUdoEw5AZwG8E965ej3BbvW2F9LxEWj4uLxF6BEh1dO2N9eS3AGu9S6vfenuQYrVjsbUOOZK7y3vz4vyQ==} - engines: {node: '>= 4.0.0'} + memfs@4.50.0: + resolution: {integrity: sha512-N0LUYQMUA1yS5tJKmMtU9yprPm6ZIg24yr/OVv/7t6q0kKDIho4cBbXRi1XKttUmNYDYgF/q45qrKE/UhGO0CA==} memoizee@0.4.17: resolution: {integrity: sha512-DGqD7Hjpi/1or4F/aYAspXKNm5Yili0QDAFAY4QYvpqpgiY6+1jOfqpmByzjxbWd/T9mChbCArXAbDAsTm5oXA==} @@ -16941,8 +16971,8 @@ packages: merge@1.2.1: resolution: {integrity: sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ==} - meros@1.3.1: - resolution: {integrity: sha512-eV7dRObfTrckdmAz4/n7pT1njIsIJXRIZkgCiX43xEsPNy4gjXQzOYYxmGcolAMtF7HyfqRuDBh3Lgs4hmhVEw==} + meros@1.3.2: + resolution: {integrity: sha512-Q3mobPbvEx7XbwhnC1J1r60+5H6EZyNccdzSz0eGexJRwouUtTZxPVRGdqKtxlpD84ScK4+tIGldkqDtCKdI0A==} engines: {node: '>=13'} peerDependencies: '@types/node': '>=13' @@ -17207,8 +17237,8 @@ packages: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} - mini-css-extract-plugin@2.9.3: - resolution: {integrity: sha512-tRA0+PsS4kLVijnN1w9jUu5lkxBwUk9E8SbgEB5dBJqchE6pVYdawROG6uQtpmAri7tdCK9i7b1bULeVWqS6Ag==} + mini-css-extract-plugin@2.9.4: + resolution: {integrity: sha512-ZWYT7ln73Hptxqxk2DxPU9MmapXRhxkJD6tkSR04dnQxm8BGu2hzgKLugK5yySD97u/8yy7Ma7E76k9ZdvtjkQ==} engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^5.0.0 @@ -17220,8 +17250,8 @@ packages: minimalistic-assert@1.0.1: resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} - minimatch@10.0.3: - resolution: {integrity: sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==} + minimatch@10.1.1: + resolution: {integrity: sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==} engines: {node: 20 || >=22} minimatch@3.0.3: @@ -17310,16 +17340,16 @@ packages: engines: {node: '>=10'} hasBin: true - mlly@1.7.4: - resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==} + mlly@1.8.0: + resolution: {integrity: sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==} mocha@10.8.2: resolution: {integrity: sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg==} engines: {node: '>= 14.0.0'} hasBin: true - mocha@11.7.1: - resolution: {integrity: sha512-5EK+Cty6KheMS/YLPPMJC64g5V61gIR25KsRItHw6x4hEKT6Njp1n9LOlH4gpevuwMVS66SXaBBpg+RWZkza4A==} + mocha@11.7.4: + resolution: {integrity: sha512-1jYAaY8x0kAZ0XszLWu14pzsf4KV740Gld4HXkhNTXwcHx4AUEDkPzgEHg9CM5dVcW+zv036tjpsEbLraPJj4w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true @@ -17389,8 +17419,8 @@ packages: nan@2.23.0: resolution: {integrity: sha512-1UxuyYGdoQHcGg87Lkqm3FzefucTa0NAiOcuRsDmysep3c1LVCRK2krrUDafMWtjSG04htvAmvg96+SDknOmgQ==} - nano-spawn@1.0.2: - resolution: {integrity: sha512-21t+ozMQDAL/UGgQVBbZ/xXvNO10++ZPuTmKRO8k9V3AClVRht49ahtDjfY8l1q6nSHOrE5ASfthzH3ol6R/hg==} + nano-spawn@2.0.0: + resolution: {integrity: sha512-tacvGzUY5o2D8CBh2rrwxyNojUsZNU2zjNTzKQrkgGJQTbGAfArVWXSKMBokBeeg6C7OLRGUEyoFlYbfeWQIqw==} engines: {node: '>=20.17'} nanoid@3.3.11: @@ -17398,8 +17428,8 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - nanoid@5.1.5: - resolution: {integrity: sha512-Ir/+ZpE9fDsNH0hQ3C68uyThDXzYcim2EqcZ8zn8Chtt1iylPT9xXJB0kPCnqzgcEGikO9RxSrh63MsmVCU7Fw==} + nanoid@5.1.6: + resolution: {integrity: sha512-c7+7RQ+dMB5dPwwCp4ee1/iV/q2P6aK1mTZcfr1BTuVlyW9hJYiMPybJCcnBlQtuSmTIWNeazm/zqNoZSSElBg==} engines: {node: ^18 || >=20} hasBin: true @@ -17452,8 +17482,8 @@ packages: no-case@3.0.4: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} - node-abi@3.75.0: - resolution: {integrity: sha512-OhYaY5sDsIka7H7AtijtI9jwGYLyl29eQn/W623DiN/MIv5sUqc4g7BIDThX+gb7di9f6xK02nkp8sdfFWZLTg==} + node-abi@3.80.0: + resolution: {integrity: sha512-LyPuZJcI9HVwzXK1GPxWNzrr+vr8Hp/3UqlmWxxh8p54U1ZbclOqbSog9lWHaCX+dBaiGi6n/hIX+mKu74GmPA==} engines: {node: '>=10'} node-abort-controller@3.1.1: @@ -17546,8 +17576,8 @@ packages: node-notifier@6.0.0: resolution: {integrity: sha512-SVfQ/wMw+DesunOm5cKqr6yDcvUTDl/yc97ybGHMrteNEY6oekXpNpS3lZwgLlwz0FLgHoiW28ZpmBHUDg37cw==} - node-releases@2.0.19: - resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} + node-releases@2.0.27: + resolution: {integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==} node-sarif-builder@2.0.3: resolution: {integrity: sha512-Pzr3rol8fvhG/oJjIq2NTVB0vmdNNlz22FENhhPojYRZ4/ee08CfK4YuKmuL54V9MLhI1kpzxfOJ/63LzmZzDg==} @@ -17600,8 +17630,8 @@ packages: resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} engines: {node: '>=10'} - normalize-url@8.0.2: - resolution: {integrity: sha512-Ee/R3SyN4BuynXcnTaekmaVdbDAEiNrHqjQIA37mHU8G9pf7aaAD4ZX3XjBLo6rsdcxA/gtkcNYZLt30ACgynw==} + normalize-url@8.1.0: + resolution: {integrity: sha512-X06Mfd/5aKsRHc0O0J5CUedwnPmnDtLF2+nq+KN9KSDlJHkPuh0JUviWjEWMe0SW/9TDdSLVPuk7L5gGTIA1/w==} engines: {node: '>=14.16'} npm-run-path@2.0.2: @@ -17616,6 +17646,10 @@ packages: resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + npm-run-path@6.0.0: + resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==} + engines: {node: '>=18'} + npmlog@4.1.2: resolution: {integrity: sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==} deprecated: This package is no longer supported. @@ -17645,8 +17679,8 @@ packages: nwmatcher@1.4.4: resolution: {integrity: sha512-3iuY4N5dhgMpCUrOVnuAdGrgxVqV2cJpM+XNccjR2DKOB1RUP0aA+wGXEiNziG/UKboFyGBIoKOaNlJxx8bciQ==} - nwsapi@2.2.21: - resolution: {integrity: sha512-o6nIY3qwiSXl7/LuOU0Dmuctd34Yay0yeuZRLFmDPrrdHpXKFndPj3hM+YEPVHYC5fx2otBx4Ilc/gyYSAUaIA==} + nwsapi@2.2.22: + resolution: {integrity: sha512-ujSMe1OWVn55euT1ihwCI1ZcAaAU3nxUiDwfDQldc51ZXaB9m2AyOn6/jh1BLe2t/G8xd6uKG1UBF2aZJeg2SQ==} nypm@0.5.4: resolution: {integrity: sha512-X0SNNrZiGU8/e/zAB7sCTtdxWTMSIO73q+xuKgglm2Yvzwlo8UoC5FNySQFCvl84uPaeADkqHUZUkWy4aH4xOA==} @@ -17977,6 +18011,10 @@ packages: resolution: {integrity: sha512-SgOTCX/EZXtZxBE5eJ97P4yGM5n37BwRU+YMsH4vNzFqJV/oWFXXCmwFlgWUM4PrakybVOueJJ6pwHqSVhTFDw==} engines: {node: '>=16'} + parse-ms@4.0.0: + resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==} + engines: {node: '>=18'} + parse-passwd@1.0.0: resolution: {integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==} engines: {node: '>=0.10.0'} @@ -18076,9 +18114,8 @@ packages: path-to-regexp@3.3.0: resolution: {integrity: sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==} - path-to-regexp@8.2.0: - resolution: {integrity: sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==} - engines: {node: '>=16'} + path-to-regexp@8.3.0: + resolution: {integrity: sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==} path-type@1.1.0: resolution: {integrity: sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==} @@ -18253,8 +18290,8 @@ packages: popmotion@11.0.3: resolution: {integrity: sha512-Y55FLdj3UxkR7Vl3s7Qr4e9m0onSnP8W7d/xQLsoJM40vs6UKHFdygs6SWryasTZYqugMjm3BepCF4CWXDiHgA==} - portfinder@1.0.37: - resolution: {integrity: sha512-yuGIEjDAYnnOex9ddMnKZEMFE0CcGo6zbfzDklkmT1m5z734ss6JMzN9rNB3+RR7iS+F10D4/BVIaXOyh8PQKw==} + portfinder@1.0.38: + resolution: {integrity: sha512-rEwq/ZHlJIKw++XtLAO8PPuOQA/zaPJOZJ37BVuN97nLpMJeuDVLVGRwbFoBgLudgdTMP2hdRJP++H+8QOA3vg==} engines: {node: '>= 10.12'} possible-typed-array-names@1.1.0: @@ -18341,8 +18378,8 @@ packages: peerDependencies: postcss: ^8.0.0 - postcss-js@4.0.1: - resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} + postcss-js@4.1.0: + resolution: {integrity: sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw==} engines: {node: ^12 || ^14 || >= 16} peerDependencies: postcss: ^8.4.21 @@ -18363,16 +18400,22 @@ packages: ts-node: optional: true - postcss-load-config@4.0.2: - resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} - engines: {node: '>= 14'} + postcss-load-config@6.0.1: + resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==} + engines: {node: '>= 18'} peerDependencies: + jiti: '>=1.21.0' postcss: '>=8.0.9' - ts-node: '>=9.0.0' + tsx: ^4.8.1 + yaml: ^2.4.2 peerDependenciesMeta: + jiti: + optional: true postcss: optional: true - ts-node: + tsx: + optional: true + yaml: optional: true postcss-load-options@1.2.0: @@ -18394,8 +18437,8 @@ packages: postcss: ^7.0.0 || ^8.0.1 webpack: ^4.0.0 || ^5.0.0 - postcss-loader@8.1.1: - resolution: {integrity: sha512-0IeqyAsG6tYiDRCYKQJLAmgQr47DX6N7sFSWvQxt6AcupX8DIdmykuk/o/tx0Lze3ErGHJEp5OSRxrelC6+NdQ==} + postcss-loader@8.2.0: + resolution: {integrity: sha512-tHX+RkpsXVcc7st4dSdDGliI+r4aAQDuv+v3vFYHixb6YgjreG5AG4SEB0kDK8u2s6htqEEpKlkhSBUTvWKYnA==} engines: {node: '>= 18.12.0'} peerDependencies: '@rspack/core': 0.x || 1.x @@ -18699,6 +18742,10 @@ packages: resolution: {integrity: sha512-PhmXi5XmoyKw1Un4E+opM2KcsJInDvKyuOumcjjw3waw86ZNjHwVUOOWLc4bCzLdcKNaWBH9e99sbWzDQsVaYg==} engines: {node: '>=0.10.0'} + presentable-error@0.0.1: + resolution: {integrity: sha512-E6rsNU1QNJgB3sjj7OANinGncFKuK+164sLXw1/CqBjj/EkXSoSdHCtWQGBNlREIGLnL7IEUEGa08YFVUbrhVg==} + engines: {node: '>=16'} + prettier-linter-helpers@1.0.0: resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} engines: {node: '>=6.0.0'} @@ -18755,6 +18802,10 @@ packages: resolution: {integrity: sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==} engines: {node: '>= 0.8'} + pretty-ms@9.3.0: + resolution: {integrity: sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ==} + engines: {node: '>=18'} + prism-react-renderer@2.4.1: resolution: {integrity: sha512-ey8Ls/+Di31eqzUxC46h8MksNuGx/n0AAC8uKpwFau4RPDYLuE3EXTp8N8G2vX2N7UC/+IXeNUnlWBGGcAG+Ig==} peerDependencies: @@ -18889,6 +18940,10 @@ packages: (For a CapTP with native promises, see @endo/eventual-send and @endo/captp) + qified@0.5.1: + resolution: {integrity: sha512-+BtFN3dCP+IaFA6IYNOu/f/uK1B8xD2QWyOeCse0rjtAebBmkzgd2d1OAXi3ikAzJMIBSdzZDNZ3wZKEUDQs5w==} + engines: {node: '>=20'} + qs@6.13.0: resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} engines: {node: '>=0.6'} @@ -18952,9 +19007,9 @@ packages: resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} engines: {node: '>= 0.8'} - raw-body@3.0.0: - resolution: {integrity: sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==} - engines: {node: '>= 0.8'} + raw-body@3.0.1: + resolution: {integrity: sha512-9G8cA+tuMS75+6G/TzW8OtLzmBDMo8p1JRxN5AZ+LAp8uxGA8V8GZm4GQ4/N5QNQEnLmg6SS7wyuSmbKepiKqA==} + engines: {node: '>= 0.10'} raw-loader@4.0.2: resolution: {integrity: sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA==} @@ -19032,8 +19087,8 @@ packages: resolution: {integrity: sha512-hlSJDQ2synMPKFZOsKo9Hi8WWZTC7POR8EmWvTSjow+VDgKzkmjQvFm2fk0tmRw+f0vTOIYKlarR0iL4996pdg==} engines: {node: '>=16.14.0'} - react-docgen@8.0.0: - resolution: {integrity: sha512-kmob/FOTwep7DUWf9KjuenKX0vyvChr3oTdvvPt09V60Iz75FJp+T/0ZeHMbAfJj2WaVWqAPP5Hmm3PYzSPPKg==} + react-docgen@8.0.2: + resolution: {integrity: sha512-+NRMYs2DyTP4/tqWz371Oo50JqmWltR1h2gcdgUMAWZJIAvrd0/SqlCfx7tpzpl/s36rzw6qH2MjoNrxtRNYhA==} engines: {node: ^20.9.0 || >=22} react-dom@18.2.0: @@ -19133,8 +19188,8 @@ packages: peerDependencies: react: ^16.8.4 || ^17.0.0 || ^18.0.0 - react-intl@7.1.11: - resolution: {integrity: sha512-tnVoRCWvW5Ie2ikYSdPF7z3+880yCe/9xPmitFeRPw3RYDcCfR4m8ZYa4MBq19W4adt9Z+PQA4FaMBCJ7E+HCQ==} + react-intl@7.1.14: + resolution: {integrity: sha512-VE/0Wi/lHJlBC7APQpCzLUdIt3GB5B0GZrRW8Q+ACbkHI4j+Wwgg9J1TniN6zmLHmPH5gxXcMy+fkSPfw5p1WQ==} peerDependencies: react: 16 || 17 || 18 || 19 typescript: ^5.6.0 @@ -19154,11 +19209,11 @@ packages: react-is@18.3.1: resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} - react-is@19.1.1: - resolution: {integrity: sha512-tr41fA15Vn8p4X9ntI+yCyeGSf1TlYaY5vlTZfQmeLBrFo3psOPX6HhTDnFNL9uj3EhP0KAQ80cugCl4b4BERA==} + react-is@19.2.0: + resolution: {integrity: sha512-x3Ax3kNSMIIkyVYhWPyO09bu0uttcAIoecO/um/rKGQ4EltYWVYtyiGkS/3xMynrbVQdS69Jhlv8FXUEZehlzA==} - react-json-view-lite@2.4.2: - resolution: {integrity: sha512-m7uTsXDgPQp8R9bJO4HD/66+i218eyQPAb+7/dGQpwg8i4z2afTFqtHJPQFHvJfgDCjGQ1HSGlL3HtrZDa3Tdg==} + react-json-view-lite@2.5.0: + resolution: {integrity: sha512-tk7o7QG9oYyELWHL8xiMQ8x4WzjCzbWNyig3uexmkLb54r8jO0yH3WCWx8UZS0c49eSA4QUmG5caiRJ8fAn58g==} engines: {node: '>=18'} peerDependencies: react: ^18.0.0 || ^19.0.0 @@ -19290,8 +19345,8 @@ packages: '@types/react': optional: true - react-syntax-highlighter@15.6.1: - resolution: {integrity: sha512-OqJ2/vL7lEeV5zTJyG7kmARppUjiB9h9udl4qHQjjgEos66z00Ia0OckwYfRxCSFrW8RJIBnsBwQsHZbVPspqg==} + react-syntax-highlighter@15.6.6: + resolution: {integrity: sha512-DgXrc+AZF47+HvAPEmn7Ua/1p10jNoVZVI/LoPiYdtY+OM+/nG5yefLHKJwdKqY1adMuHFbeyBaG9j64ML7vTw==} peerDependencies: react: '>= 0.14.0' @@ -19456,8 +19511,8 @@ packages: refractor@3.6.0: resolution: {integrity: sha512-MY9W41IOWxxk31o+YvFCNyNzdkc9M20NoZK5vq6jkv4I/uh2zkWcfudj0Q1fovjUQJrNewS9NMzeTtqPf+n5EA==} - regenerate-unicode-properties@10.2.0: - resolution: {integrity: sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==} + regenerate-unicode-properties@10.2.2: + resolution: {integrity: sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==} engines: {node: '>=4'} regenerate@1.4.2: @@ -19487,8 +19542,8 @@ packages: regexpu-core@2.0.0: resolution: {integrity: sha512-tJ9+S4oKjxY8IZ9jmjnp/mtytu1u3iyIQAfmI51IKWH6bFf7XR1ybtaO6j7INhZKXOTYADk7V5qxaqLkmNxiZQ==} - regexpu-core@6.2.0: - resolution: {integrity: sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==} + regexpu-core@6.4.0: + resolution: {integrity: sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==} engines: {node: '>=4'} registry-auth-token@3.4.0: @@ -19508,8 +19563,8 @@ packages: resolution: {integrity: sha512-jlQ9gYLfk2p3V5Ag5fYhA7fv7OHzd1KUH0PRP46xc3TgwjwgROIW572AfYg/X9kaNq/LJnu6oJcFRXlIrGoTRw==} hasBin: true - regjsparser@0.12.0: - resolution: {integrity: sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==} + regjsparser@0.13.0: + resolution: {integrity: sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==} hasBin: true rehype-raw@6.1.1: @@ -19661,8 +19716,8 @@ packages: resolve@1.17.0: resolution: {integrity: sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==} - resolve@1.22.10: - resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} + resolve@1.22.11: + resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==} engines: {node: '>= 0.4'} hasBin: true @@ -19800,8 +19855,8 @@ packages: resolution: {integrity: sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A==} hasBin: true - rollup@4.46.2: - resolution: {integrity: sha512-WMmLFI+Boh6xbop+OAGo9cQ3OgX9MIg7xOQjn+pTCwOkk+FNDAeAemXkJ3HzDJrVXleLOFVa1ipuc1AmEx1Dwg==} + rollup@4.52.5: + resolution: {integrity: sha512-3GuObel8h7Kqdjt0gxkEzaifHTqLVW56Y/bjN7PSQtkKr0w3V/QYSdt6QWYtd7A1xUtYQigtdUfgj1RvWVtorw==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -19813,8 +19868,8 @@ packages: resolution: {integrity: sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==} engines: {node: 6.* || >= 7.*} - run-applescript@7.0.0: - resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==} + run-applescript@7.1.0: + resolution: {integrity: sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==} engines: {node: '>=18'} run-async@2.4.1: @@ -19906,8 +19961,8 @@ packages: sass-embedded: optional: true - sass-loader@16.0.5: - resolution: {integrity: sha512-oL+CMBXrj6BZ/zOq4os+UECPL+bWqt6OAC6DWS8Ln8GZRcMDjlJ4JC3FBDuHJdYaFWIdKNIBYmtZtK2MaMkNIw==} + sass-loader@16.0.6: + resolution: {integrity: sha512-sglGzId5gmlfxNs4gK2U3h7HlVRfx278YK6Ono5lwzuvi1jxig80YiuHkaDBVsYIKFhx8wN7XSCI0M2IDS/3qA==} engines: {node: '>= 18.12.0'} peerDependencies: '@rspack/core': 0.x || 1.x @@ -19927,16 +19982,16 @@ packages: webpack: optional: true - sass@1.90.0: - resolution: {integrity: sha512-9GUyuksjw70uNpb1MTYWsH9MQHOHY6kwfnkafC24+7aOMZn9+rVMBxRbLvw756mrBFbIsFg6Xw9IkR2Fnn3k+Q==} + sass@1.93.3: + resolution: {integrity: sha512-elOcIZRTM76dvxNAjqYrucTSI0teAF/L2Lv0s6f6b7FOwcwIuA357bIE871580AjHJuSvLIRUosgV+lIWx6Rgg==} engines: {node: '>=14.0.0'} hasBin: true sax@1.2.4: resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} - sax@1.4.1: - resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} + sax@1.4.2: + resolution: {integrity: sha512-FySGAa0RGcFiN6zfrO9JvK1r7TB59xuzCcTHOBXBNoKgDejlOQCR2KL/FGk3/iDlsqyYg1ELZpOmlg09B01Czw==} saxes@3.1.11: resolution: {integrity: sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==} @@ -19972,8 +20027,8 @@ packages: resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} engines: {node: '>= 10.13.0'} - schema-utils@4.3.2: - resolution: {integrity: sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==} + schema-utils@4.3.3: + resolution: {integrity: sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==} engines: {node: '>= 10.13.0'} secretlint@9.3.4: @@ -19987,8 +20042,8 @@ packages: select-hose@2.0.0: resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} - selenium-webdriver@4.34.0: - resolution: {integrity: sha512-zGfQFcsASAv3KrYzYh+iw4fFqB7iZAgHW7BU6rRz7isK1i1X4x3LvjmZad4bUUgHDwTnAhlqTzDh21byB+zHMg==} + selenium-webdriver@4.38.0: + resolution: {integrity: sha512-5/UXXFSQmn7FGQkbcpAqvfhzflUdMWtT7QqpEgkFD6Q6rDucxB5EUfzgjmr6JbUj30QodcW3mDXehzoeS/Vy5w==} engines: {node: '>= 20.0.0'} selfsigned@2.4.1: @@ -20011,8 +20066,8 @@ packages: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - semver@7.7.2: - resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} + semver@7.7.3: + resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==} engines: {node: '>=10'} hasBin: true @@ -20175,9 +20230,6 @@ packages: simple-get@4.0.1: resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} - simple-swizzle@0.2.2: - resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} - sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} @@ -20214,12 +20266,8 @@ packages: resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} engines: {node: '>=10'} - slice-ansi@5.0.0: - resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} - engines: {node: '>=12'} - - slice-ansi@7.1.0: - resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==} + slice-ansi@7.1.2: + resolution: {integrity: sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==} engines: {node: '>=18'} slugify@1.6.6: @@ -20243,8 +20291,8 @@ packages: resolution: {integrity: sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==} engines: {node: '>= 10'} - socks@2.8.6: - resolution: {integrity: sha512-pe4Y2yzru68lXCb38aAqRf5gvN8YdjP1lok5o0J7BOHljkyCGKVz7H3vpVIXKD27rj2giOJ7DwVyk/GWrPHDWA==} + socks@2.8.7: + resolution: {integrity: sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==} engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} sort-keys@1.1.2: @@ -20345,9 +20393,6 @@ packages: sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - sprintf-js@1.1.3: - resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} - sshpk@1.18.0: resolution: {integrity: sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==} engines: {node: '>=0.10.0'} @@ -20439,8 +20484,8 @@ packages: prettier: optional: true - storybook@9.1.1: - resolution: {integrity: sha512-q6GaGZdVZh6rjOdGnc+4hGTu8ECyhyjQDw4EZNxKtQjDO8kqtuxbFm8l/IP2l+zLVJAatGWKkaX9Qcd7QZxz+Q==} + storybook@9.1.16: + resolution: {integrity: sha512-339U14K6l46EFyRvaPS2ZlL7v7Pb+LlcXT8KAETrGPxq8v1sAjj2HAOB6zrlAK3M+0+ricssfAwsLCwt7Eg8TQ==} hasBin: true peerDependencies: prettier: ^2 || ^3 @@ -20511,6 +20556,10 @@ packages: resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} engines: {node: '>=18'} + string-width@8.1.0: + resolution: {integrity: sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg==} + engines: {node: '>=20'} + string.fromcodepoint@0.2.1: resolution: {integrity: sha512-n69H31OnxSGSZyZbgBlvYIXlrMhJQ0dQAX1js1QDhpaUH6zmU3QYlj07bCwCNlPOu3oRXIubGPl2gDGnHsiCqg==} @@ -20576,8 +20625,8 @@ packages: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} - strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + strip-ansi@7.1.2: + resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} engines: {node: '>=12'} strip-bom@2.0.0: @@ -20604,6 +20653,10 @@ packages: resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} engines: {node: '>=12'} + strip-final-newline@4.0.0: + resolution: {integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==} + engines: {node: '>=18'} + strip-indent@1.0.1: resolution: {integrity: sha512-I5iQq6aFMM62fBEAIB/hXzwJD6EEZ0xEGCX2t7oXqaKPIRgt4WruAQ285BISgdkP+HLGWyeGmNJcpIwFeRYRUA==} engines: {node: '>=0.10.0'} @@ -20613,8 +20666,8 @@ packages: resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} engines: {node: '>=8'} - strip-indent@4.0.0: - resolution: {integrity: sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==} + strip-indent@4.1.1: + resolution: {integrity: sha512-SlyRoSkdh1dYP0PzclLE7r0M9sgbFKKMFXpFRUMNuKhQSbC6VQIGzq3E0qsfvGJaUFJPGv6Ws1NZ/haTAjfbMA==} engines: {node: '>=12'} strip-json-comments@2.0.1: @@ -20670,17 +20723,17 @@ packages: peerDependencies: webpack: ^5.27.0 - style-mod@4.1.2: - resolution: {integrity: sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw==} + style-mod@4.1.3: + resolution: {integrity: sha512-i/n8VsZydrugj3Iuzll8+x/00GH2vnYsk1eomD8QiRrSAeW6ItbCQDtfXCeJHd0iwiNagqjQkvpvREEPtW3IoQ==} - style-to-js@1.1.17: - resolution: {integrity: sha512-xQcBGDxJb6jjFCTzvQtfiPn6YvvP2O8U1MDIPNfJQlWMYfktPy+iGsHE7cssjs7y84d9fQaK4UF3RIJaAHSoYA==} + style-to-js@1.1.19: + resolution: {integrity: sha512-Ev+SgeqiNGT1ufsXyVC5RrJRXdrkRJ1Gol9Qw7Pb72YCKJXrBvP0ckZhBeVSrw2m06DJpei2528uIpjMb4TsoQ==} style-to-object@0.3.0: resolution: {integrity: sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==} - style-to-object@1.0.9: - resolution: {integrity: sha512-G4qppLgKu/k6FwRpHiGiKPaPTFcG3g4wNVX/Qsfu+RqQM30E7Tyu/TEgxcL9PNLF5pdRLwQdE3YKKf+KF2Dzlw==} + style-to-object@1.0.12: + resolution: {integrity: sha512-ddJqYnoT4t97QvN2C95bCgt+m7AAgXjVnkk/jxAfmp7EAB8nnqqZYEbMd3em7/vEomDb2LAQKAy1RFfv41mdNw==} style-value-types@5.0.0: resolution: {integrity: sha512-08yq36Ikn4kx4YU6RD7jWEv27v4V+PUsOGa4n/as8Et3CuODMJQ00ENeAVXAeydX4Z2j1XHZF1K2sX4mGl18fA==} @@ -20703,8 +20756,8 @@ packages: peerDependencies: stylelint: ^16.18.0 - stylelint@16.23.0: - resolution: {integrity: sha512-69T5aS2LUY306ekt1Q1oaSPwz/jaG9HjyMix3UMrai1iEbuOafBe2Dh8xlyczrxFAy89qcKyZWWtc42XLx3Bbw==} + stylelint@16.25.0: + resolution: {integrity: sha512-Li0avYWV4nfv1zPbdnxLYBGq4z8DVZxbRgx4Kn6V+Uftz1rMoF1qiEI3oL4kgWqyYgCgs7gT5maHNZ82Gk03vQ==} engines: {node: '>=18.12.0'} hasBin: true @@ -20820,8 +20873,8 @@ packages: resolution: {integrity: sha512-v/hu7KQQtospyDLpZxz7m5c7s90aj53YEkJ/A8x3mLPlSgIkZ6RKJkTjBG75P1p/fo5IeSA4TycyJg3VSu/aPw==} deprecated: 'Please migrate to Workbox: https://developers.google.com/web/tools/workbox/guides/migrations/migrate-from-sw' - swagger-client@3.35.6: - resolution: {integrity: sha512-OgwNneIdC45KXwOfwrlkwgWPeAKiV4K75mOnZioTddo1mpp9dTboCDVJas7185Ww1ziBwzShBqXpNGmyha9ZQg==} + swagger-client@3.36.0: + resolution: {integrity: sha512-9fkjxGHXuKy20jj8zwE6RwgFSOGKAyOD5U7aKgW/+/futtHZHOdZeqiEkb97sptk2rdBv7FEiUQDNlWZR186RA==} swagger-ui-react@5.21.0: resolution: {integrity: sha512-lS5paITM1kkcBb/BTTSMHKelh8elHfcuUP4T3R3mO80tDR0AYJL2HR5UdQD6nV1LwdvekzRM8gKjJA6hVayi0A==} @@ -20829,11 +20882,11 @@ packages: react: '>=16.8.0 <19' react-dom: '>=16.8.0 <19' - swagger-ui-react@5.27.1: - resolution: {integrity: sha512-wwDoavIeJI/Pwiavn32FMJ5dfptz0BAOKjSrj7EdU22QdP3gdk9+MZHdzzjxWURmVj0kc0XoQfsFgjln0toJaw==} + swagger-ui-react@5.30.1: + resolution: {integrity: sha512-W3HP5vHkLy+f+N7sKv/zNuUArWypBjFXUIbvYyYQ0Ke50yUvW1WhQvogIp8FCi/y1/kp20nnEfTVxSG1CtvZqw==} peerDependencies: - react: '>=16.8.0 <19' - react-dom: '>=16.8.0 <19' + react: '>=16.8.0 <20' + react-dom: '>=16.8.0 <20' swc-loader@0.2.6: resolution: {integrity: sha512-9Zi9UP2YmDpgmQVbyOPJClY0dwf58JDyDMQ7uRc4krmc72twNI2fvlBWHLqVekBpPc7h5NJkGVT1zNDxFrqhvg==} @@ -20858,8 +20911,8 @@ packages: tabbable@5.3.3: resolution: {integrity: sha512-QD9qKY3StfbZqWOPLp0++pOrAVb/HbUi5xCc8cUo4XjP19808oaMiDzn0leBY5mCespIBM0CIZePzZjgzR83kA==} - tabbable@6.2.0: - resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} + tabbable@6.3.0: + resolution: {integrity: sha512-EIHvdY5bPLuWForiR/AN2Bxngzpuwn1is4asboytXtpTgsArc+WmSJKVLlhdh71u7jFcryDqB2A8lQvj78MkyQ==} table@5.4.6: resolution: {integrity: sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==} @@ -20872,13 +20925,13 @@ packages: tailwind-merge@2.6.0: resolution: {integrity: sha512-P+Vu1qXfzediirmHOC3xKGAYeZtPcV9g76X+xg2FD4tYgR71ewMA35Y3sCz3zhiN/dwefRpJX0yBcgwi1fXNQA==} - tailwindcss@3.4.17: - resolution: {integrity: sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==} + tailwindcss@3.4.18: + resolution: {integrity: sha512-6A2rnmW5xZMdw11LYjhcI5846rt9pbLSabY5XPxo+XWdxwZaFEn47Go4NzFiHu9sNNmr/kXivP1vStfvMaK1GQ==} engines: {node: '>=14.0.0'} hasBin: true - tailwindcss@4.1.11: - resolution: {integrity: sha512-2E9TBm6MDD/xKYe+dvJZAmg3yxIEDNRc0jwlNyDg/4Fil2QcSLjFKGVff0lAf1jjeaArlG/M75Ey/EYr/OJtBA==} + tailwindcss@4.1.16: + resolution: {integrity: sha512-pONL5awpaQX4LN5eiv7moSiSPd/DLDzKVRJz8Q9PgzmAdd1R4307GQS2ZpfiN7ZmekdQrfhZZiSE5jkLR4WNaA==} tapable@0.2.9: resolution: {integrity: sha512-2wsvQ+4GwBvLPLWsNfLCDYGsW6xb7aeC6utq2Qh0PFwgEy7K7dsma9Jsmb2zSQj7GvYAyUGSntLtsv++GmgL1A==} @@ -20888,8 +20941,8 @@ packages: resolution: {integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==} engines: {node: '>=6'} - tapable@2.2.2: - resolution: {integrity: sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==} + tapable@2.3.0: + resolution: {integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==} engines: {node: '>=6'} tar-fs@3.1.1: @@ -20965,8 +21018,8 @@ packages: engines: {node: '>=6.0.0'} hasBin: true - terser@5.43.1: - resolution: {integrity: sha512-+6erLbBm0+LROX2sPXlUYx/ux5PyE9K/a92Wrt6oA+WDAoFTdpHE5tCYCI5PNzq2y8df4rA+QgHLJuR4jNymsg==} + terser@5.44.0: + resolution: {integrity: sha512-nIVck8DK+GM/0Frwd+nIhZ84pR/BX7rmXMfYwyg+Sri5oGVE99/E3KvXqpC2xHFxyqXyGHTKBSioxxplrO4I4w==} engines: {node: '>=10'} hasBin: true @@ -21001,8 +21054,8 @@ packages: thenify@3.3.1: resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} - thingies@1.21.0: - resolution: {integrity: sha512-hsqsJsFMsV+aD4s3CWKk85ep/3I9XzYV/IXaSouJMYIoDlgyi11cBhsqYe9/geRfB0YIikBQg6raRaM+nIMP9g==} + thingies@2.5.0: + resolution: {integrity: sha512-s+2Bwztg6PhWUD7XMfeYm5qliDdSiZm7M7n8KjTkIsm3l/2lgVRc2/Gx/v+ZX8lT4FMA+i8aQvhcWylldc+ZNw==} engines: {node: '>=10.18'} peerDependencies: tslib: ^2 @@ -21050,8 +21103,8 @@ packages: tinyexec@0.3.2: resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} - tinyglobby@0.2.14: - resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} + tinyglobby@0.2.15: + resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} engines: {node: '>=12.0.0'} tinyrainbow@1.2.0: @@ -21066,23 +21119,23 @@ packages: resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==} engines: {node: '>=14.0.0'} - tinyspy@4.0.3: - resolution: {integrity: sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==} + tinyspy@4.0.4: + resolution: {integrity: sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==} engines: {node: '>=14.0.0'} tmp@0.0.33: resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} engines: {node: '>=0.6.0'} - tmp@0.2.4: - resolution: {integrity: sha512-UdiSoX6ypifLmrfQ/XfiawN6hkjSBpCjhKxxZcWlUUmoXLaCKQU0bx4HF/tdDK2uzRuchf1txGvrWBzYREssoQ==} + tmp@0.2.5: + resolution: {integrity: sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==} engines: {node: '>=14.14'} tmpl@1.0.5: resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} - to-buffer@1.2.1: - resolution: {integrity: sha512-tB82LpAIWjhLYbqjx3X4zEeHN6M8CiuOEy2JY8SEQVdYRe3CCHOFaqrBW1doLDrfpWhplcW7BL+bO3/6S3pcDQ==} + to-buffer@1.2.2: + resolution: {integrity: sha512-db0E3UJjcFhpDhAF4tLo03oli3pwl3dbnzXOUIlRKrp+ldk/VUxzpWYZENsw2SZiuBjHAk7DfB0VU7NKdpb6sw==} engines: {node: '>= 0.4'} to-fast-properties@1.0.3: @@ -21144,8 +21197,8 @@ packages: traverse@0.3.9: resolution: {integrity: sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ==} - tree-dump@1.0.3: - resolution: {integrity: sha512-il+Cv80yVHFBwokQSfd4bldvr1Md951DpgAGfmhydt04L+YzHgubm2tQ7zueWDcGENKHq0ZvGFR/hjvNXilHEg==} + tree-dump@1.1.0: + resolution: {integrity: sha512-rMuvhU4MCDbcbnleZTFezWsaZXRFemSqAM+7jPnzUl1fo9w3YEKOxAeui0fz3OI4EU4hf23iyA7uQRVko+UaBA==} engines: {node: '>=10.0'} peerDependencies: tslib: '2' @@ -21271,8 +21324,8 @@ packages: resolution: {integrity: sha512-8t3bu2FcEkXb+D4L+Cn8qiK2E2C6Ms4/GQChvz6IMbVurcFHLXrhW4EMtfaol1a1ASQACZGDUGit4NHnX9g7hQ==} engines: {node: '>=4.3.0 <5.0.0 || >=5.10'} - ts-loader@9.5.2: - resolution: {integrity: sha512-Qo4piXvOTWcMGIgRiuFa6nHNm+54HbYaZCKqc9eeZCLRy3XqafQgwX2F7mofrbJG3g7EEb+lkiR+z2Lic2s3Zw==} + ts-loader@9.5.4: + resolution: {integrity: sha512-nCz0rEwunlTZiy6rXFByQU1kVVpCIgUpc/psFiKVrUwrizdnIbRFu8w7bxhUF0X613DYwT4XzrZHpVyMe758hQ==} engines: {node: '>=12.0.0'} peerDependencies: typescript: '*' @@ -21532,8 +21585,8 @@ packages: engines: {node: '>=14.17'} hasBin: true - ua-parser-js@1.0.40: - resolution: {integrity: sha512-z6PJ8Lml+v3ichVojCiB8toQJBuwR42ySM4ezjXIqXK3M0HczmKQ3LF4rhU55PfD99KEEXQG6yb7iOMyvYuHew==} + ua-parser-js@1.0.41: + resolution: {integrity: sha512-LbBDqdIC5s8iROCUjMbW1f5dJQTEFB1+KO9ogbvlb3nm9n4YHa5p4KTvFPWvh2Hs8gZMBuiB1/8+pdfe/tDPug==} hasBin: true uc.micro@1.0.6: @@ -21580,8 +21633,8 @@ packages: undici-types@6.21.0: resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} - undici@7.13.0: - resolution: {integrity: sha512-l+zSMssRqrzDcb3fjMkjjLGmuiiK2pMIcV++mJaAc9vhjSGpvM7h43QgP+OAMb1GImHmbPyG2tBXeuyG5iY4gA==} + undici@7.16.0: + resolution: {integrity: sha512-QEg3HPMll0o3t2ourKwOeUAZ159Kn9mx5pnzHRQO8+Wixmh88YdZRiIwat0iNzNNXn0yoEtXJqFpyW7eM8BV7g==} engines: {node: '>=20.18.1'} unfetch@4.2.0: @@ -21598,12 +21651,12 @@ packages: resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} engines: {node: '>=4'} - unicode-match-property-value-ecmascript@2.2.0: - resolution: {integrity: sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==} + unicode-match-property-value-ecmascript@2.2.1: + resolution: {integrity: sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==} engines: {node: '>=4'} - unicode-property-aliases-ecmascript@2.1.0: - resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} + unicode-property-aliases-ecmascript@2.2.0: + resolution: {integrity: sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==} engines: {node: '>=4'} unicorn-magic@0.1.0: @@ -21676,8 +21729,8 @@ packages: unist-util-is@5.2.1: resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==} - unist-util-is@6.0.0: - resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} + unist-util-is@6.0.1: + resolution: {integrity: sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==} unist-util-position-from-estree@2.0.0: resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==} @@ -21709,8 +21762,8 @@ packages: unist-util-visit-parents@5.1.3: resolution: {integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==} - unist-util-visit-parents@6.0.1: - resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} + unist-util-visit-parents@6.0.2: + resolution: {integrity: sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==} unist-util-visit@2.0.3: resolution: {integrity: sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==} @@ -21769,8 +21822,8 @@ packages: resolution: {integrity: sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==} engines: {node: '>=4'} - update-browserslist-db@1.1.3: - resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} + update-browserslist-db@1.1.4: + resolution: {integrity: sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -21879,8 +21932,8 @@ packages: '@types/react': optional: true - use-sync-external-store@1.5.0: - resolution: {integrity: sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==} + use-sync-external-store@1.6.0: + resolution: {integrity: sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -21965,8 +22018,8 @@ packages: resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} engines: {'0': node >=0.6.0} - version-range@4.14.0: - resolution: {integrity: sha512-gjb0ARm9qlcBAonU4zPwkl9ecKkas+tC2CGwFfptTCWWIVTWY1YUbT2zZKsOAF1jR/tNxxyLwwG0cb42XlYcTg==} + version-range@4.15.0: + resolution: {integrity: sha512-Ck0EJbAGxHwprkzFO966t4/5QkRuzh+/I1RxhLgUKKwEn+Cd8NwM60mE3AqBZg5gYODoXW0EFsQvbZjRlvdqbg==} engines: {node: '>=4'} vfile-location@3.2.0: @@ -22103,9 +22156,9 @@ packages: vscode-uri@3.1.0: resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==} - vscode-ws-jsonrpc@3.4.0: - resolution: {integrity: sha512-jkNZvX0LdHt4skPxMw/jFePr3jRCJU6ZmO28oPoQ7RwNSkwU3uN8mgtxACYEbOY68bYmi/b/uJzhxewKCz1P4w==} - engines: {node: '>=18.19.0', npm: '>=10.2.3'} + vscode-ws-jsonrpc@3.5.0: + resolution: {integrity: sha512-13ZDy7Od4AfEPK2HIfY3DtyRi4FVsvFql1yobVJrpIoHOKGGJpIjVvIJpMxkrHzCZzWlYlg+WEu2hrYkCTvM0Q==} + engines: {node: '>=20.10.0', npm: '>=10.2.3'} w3c-hr-time@1.0.2: resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==} @@ -22239,8 +22292,8 @@ packages: webpack: optional: true - webpack-dev-middleware@7.4.2: - resolution: {integrity: sha512-xOO8n6eggxnwYpy1NlzUKpvrjfJTvae5/D6WOK0S2LSo7vjmo5gCM1DbLUmFqrMTJP+W/0YZNctm7jasWvLuBA==} + webpack-dev-middleware@7.4.5: + resolution: {integrity: sha512-uxQ6YqGdE4hgDKNf7hUiPXOdtkXvBJXrfEGYSx7P7LC8hnUYGK70X6xQXUvXeNyBDDcsiQXpG2m3G9vxowaEuA==} engines: {node: '>= 18.12.0'} peerDependencies: webpack: ^5.0.0 @@ -22315,8 +22368,8 @@ packages: webpack-virtual-modules@0.6.2: resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} - webpack@5.101.0: - resolution: {integrity: sha512-B4t+nJqytPeuZlHuIKTbalhljIFXeNRqrUGAQgTGlfOl2lXXKXw+yZu6bicycP+PUlM44CxBjCFD6aciKFT3LQ==} + webpack@5.102.1: + resolution: {integrity: sha512-7h/weGm9d/ywQ6qzJ+Xy+r9n/3qgp/thalBbpOi5i223dPXKi04IBtqPN9nTd+jBc7QKfvDbaBnFipYp4sJAUQ==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -22452,8 +22505,8 @@ packages: workerpool@6.5.1: resolution: {integrity: sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==} - workerpool@9.3.3: - resolution: {integrity: sha512-slxCaKbYjEdFT/o2rH9xS1hf4uRDch1w7Uo+apxhZ+sf/1d9e0ZVkn42kPNGP2dgjIx6YFvSevj0zHvbWe2jdw==} + workerpool@9.3.4: + resolution: {integrity: sha512-TmPRQYYSAnnDiEB0P/Ytip7bFGvqnSU6I2BcuSw7Hx+JSg/DsUi5ebYfc8GYaSdpuvOcEs6dXxPurOYpe9QFwg==} wrap-ansi@2.1.0: resolution: {integrity: sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==} @@ -22475,8 +22528,8 @@ packages: resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} engines: {node: '>=12'} - wrap-ansi@9.0.0: - resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==} + wrap-ansi@9.0.2: + resolution: {integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==} engines: {node: '>=18'} wrappy@1.0.2: @@ -22687,6 +22740,10 @@ packages: resolution: {integrity: sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==} engines: {node: '>=12.20'} + yoctocolors@2.1.2: + resolution: {integrity: sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==} + engines: {node: '>=18'} + yup@1.4.0: resolution: {integrity: sha512-wPbgkJRCqIf+OHyiTBQoJiP5PFuAXaWiJK6AmYkzQAh5/c2K9hzSApBZG5wV9KoKSePF7sAxmNSvh/13YHkFDg==} @@ -22707,8 +22764,8 @@ packages: zod@4.1.11: resolution: {integrity: sha512-WPsqwxITS2tzx1bzhIKsEs19ABD5vmCVa4xBo2tq/SrV4RNZtfws1EnCWQXM6yh8bD08a1idvkB5MZSBiZsjwg==} - zustand@5.0.7: - resolution: {integrity: sha512-Ot6uqHDW/O2VdYsKLLU8GQu8sCOM1LcoE8RwvLv9uuRT9s6SOHCKs0ZEOhxg+I1Ld+A1Q5lwx+UlKXXUoCZITg==} + zustand@5.0.8: + resolution: {integrity: sha512-gyPKpIaxY9XcO2vSMrLbiER7QMAMGOQZVRdJ6Zi782jkbzZygq5GI9nG8g+sMgitRtndwaBSl7uiqC49o1SSiw==} engines: {node: '>=12.20.0'} peerDependencies: '@types/react': '>=18.0.0' @@ -22733,31 +22790,32 @@ packages: snapshots: - '@adobe/css-tools@4.4.3': {} + '@adobe/css-tools@4.4.4': {} - '@ai-sdk/amazon-bedrock@3.0.30(zod@4.1.11)': + '@ai-sdk/amazon-bedrock@3.0.51(zod@4.1.11)': dependencies: - '@ai-sdk/anthropic': 2.0.23(zod@4.1.11) + '@ai-sdk/anthropic': 2.0.41(zod@4.1.11) '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.10(zod@4.1.11) - '@smithy/eventstream-codec': 4.0.5 - '@smithy/util-utf8': 4.0.0 + '@ai-sdk/provider-utils': 3.0.16(zod@4.1.11) + '@smithy/eventstream-codec': 4.2.4 + '@smithy/util-utf8': 4.2.0 aws4fetch: 1.0.20 zod: 4.1.11 - '@ai-sdk/anthropic@2.0.23(zod@4.1.11)': + '@ai-sdk/anthropic@2.0.41(zod@4.1.11)': dependencies: '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.10(zod@4.1.11) + '@ai-sdk/provider-utils': 3.0.16(zod@4.1.11) zod: 4.1.11 - '@ai-sdk/gateway@1.0.32(zod@4.1.11)': + '@ai-sdk/gateway@2.0.6(zod@4.1.11)': dependencies: '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.10(zod@4.1.11) + '@ai-sdk/provider-utils': 3.0.16(zod@4.1.11) + '@vercel/oidc': 3.0.3 zod: 4.1.11 - '@ai-sdk/provider-utils@3.0.10(zod@4.1.11)': + '@ai-sdk/provider-utils@3.0.16(zod@4.1.11)': dependencies: '@ai-sdk/provider': 2.0.0 '@standard-schema/spec': 1.0.0 @@ -22772,8 +22830,8 @@ snapshots: '@ampproject/remapping@2.3.0': dependencies: - '@jridgewell/gen-mapping': 0.3.12 - '@jridgewell/trace-mapping': 0.3.29 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 '@apidevtools/json-schema-ref-parser@11.6.1': dependencies: @@ -22794,21 +22852,21 @@ snapshots: '@aws-crypto/crc32@5.2.0': dependencies: '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.862.0 + '@aws-sdk/types': 3.922.0 tslib: 2.8.1 '@aws-crypto/crc32c@5.2.0': dependencies: '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.862.0 + '@aws-sdk/types': 3.922.0 tslib: 2.8.1 '@aws-crypto/sha1-browser@5.2.0': dependencies: '@aws-crypto/supports-web-crypto': 5.2.0 '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.862.0 - '@aws-sdk/util-locate-window': 3.804.0 + '@aws-sdk/types': 3.922.0 + '@aws-sdk/util-locate-window': 3.893.0 '@smithy/util-utf8': 2.3.0 tslib: 2.8.1 @@ -22817,15 +22875,15 @@ 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.862.0 - '@aws-sdk/util-locate-window': 3.804.0 + '@aws-sdk/types': 3.922.0 + '@aws-sdk/util-locate-window': 3.893.0 '@smithy/util-utf8': 2.3.0 tslib: 2.8.1 '@aws-crypto/sha256-js@5.2.0': dependencies: '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.862.0 + '@aws-sdk/types': 3.922.0 tslib: 2.8.1 '@aws-crypto/supports-web-crypto@5.2.0': @@ -22834,429 +22892,430 @@ snapshots: '@aws-crypto/util@5.2.0': dependencies: - '@aws-sdk/types': 3.862.0 + '@aws-sdk/types': 3.922.0 '@smithy/util-utf8': 2.3.0 tslib: 2.8.1 - '@aws-sdk/client-s3@3.862.0': + '@aws-sdk/client-s3@3.922.0': dependencies: '@aws-crypto/sha1-browser': 5.2.0 '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.862.0 - '@aws-sdk/credential-provider-node': 3.862.0 - '@aws-sdk/middleware-bucket-endpoint': 3.862.0 - '@aws-sdk/middleware-expect-continue': 3.862.0 - '@aws-sdk/middleware-flexible-checksums': 3.862.0 - '@aws-sdk/middleware-host-header': 3.862.0 - '@aws-sdk/middleware-location-constraint': 3.862.0 - '@aws-sdk/middleware-logger': 3.862.0 - '@aws-sdk/middleware-recursion-detection': 3.862.0 - '@aws-sdk/middleware-sdk-s3': 3.862.0 - '@aws-sdk/middleware-ssec': 3.862.0 - '@aws-sdk/middleware-user-agent': 3.862.0 - '@aws-sdk/region-config-resolver': 3.862.0 - '@aws-sdk/signature-v4-multi-region': 3.862.0 - '@aws-sdk/types': 3.862.0 - '@aws-sdk/util-endpoints': 3.862.0 - '@aws-sdk/util-user-agent-browser': 3.862.0 - '@aws-sdk/util-user-agent-node': 3.862.0 - '@aws-sdk/xml-builder': 3.862.0 - '@smithy/config-resolver': 4.1.5 - '@smithy/core': 3.8.0 - '@smithy/eventstream-serde-browser': 4.0.5 - '@smithy/eventstream-serde-config-resolver': 4.1.3 - '@smithy/eventstream-serde-node': 4.0.5 - '@smithy/fetch-http-handler': 5.1.1 - '@smithy/hash-blob-browser': 4.0.5 - '@smithy/hash-node': 4.0.5 - '@smithy/hash-stream-node': 4.0.5 - '@smithy/invalid-dependency': 4.0.5 - '@smithy/md5-js': 4.0.5 - '@smithy/middleware-content-length': 4.0.5 - '@smithy/middleware-endpoint': 4.1.18 - '@smithy/middleware-retry': 4.1.19 - '@smithy/middleware-serde': 4.0.9 - '@smithy/middleware-stack': 4.0.5 - '@smithy/node-config-provider': 4.1.4 - '@smithy/node-http-handler': 4.1.1 - '@smithy/protocol-http': 5.1.3 - '@smithy/smithy-client': 4.4.10 - '@smithy/types': 4.3.2 - '@smithy/url-parser': 4.0.5 - '@smithy/util-base64': 4.0.0 - '@smithy/util-body-length-browser': 4.0.0 - '@smithy/util-body-length-node': 4.0.0 - '@smithy/util-defaults-mode-browser': 4.0.26 - '@smithy/util-defaults-mode-node': 4.0.26 - '@smithy/util-endpoints': 3.0.7 - '@smithy/util-middleware': 4.0.5 - '@smithy/util-retry': 4.0.7 - '@smithy/util-stream': 4.2.4 - '@smithy/util-utf8': 4.0.0 - '@smithy/util-waiter': 4.0.7 - '@types/uuid': 9.0.8 + '@aws-sdk/core': 3.922.0 + '@aws-sdk/credential-provider-node': 3.922.0 + '@aws-sdk/middleware-bucket-endpoint': 3.922.0 + '@aws-sdk/middleware-expect-continue': 3.922.0 + '@aws-sdk/middleware-flexible-checksums': 3.922.0 + '@aws-sdk/middleware-host-header': 3.922.0 + '@aws-sdk/middleware-location-constraint': 3.922.0 + '@aws-sdk/middleware-logger': 3.922.0 + '@aws-sdk/middleware-recursion-detection': 3.922.0 + '@aws-sdk/middleware-sdk-s3': 3.922.0 + '@aws-sdk/middleware-ssec': 3.922.0 + '@aws-sdk/middleware-user-agent': 3.922.0 + '@aws-sdk/region-config-resolver': 3.922.0 + '@aws-sdk/signature-v4-multi-region': 3.922.0 + '@aws-sdk/types': 3.922.0 + '@aws-sdk/util-endpoints': 3.922.0 + '@aws-sdk/util-user-agent-browser': 3.922.0 + '@aws-sdk/util-user-agent-node': 3.922.0 + '@aws-sdk/xml-builder': 3.921.0 + '@smithy/config-resolver': 4.4.1 + '@smithy/core': 3.17.2 + '@smithy/eventstream-serde-browser': 4.2.4 + '@smithy/eventstream-serde-config-resolver': 4.3.4 + '@smithy/eventstream-serde-node': 4.2.4 + '@smithy/fetch-http-handler': 5.3.5 + '@smithy/hash-blob-browser': 4.2.5 + '@smithy/hash-node': 4.2.4 + '@smithy/hash-stream-node': 4.2.4 + '@smithy/invalid-dependency': 4.2.4 + '@smithy/md5-js': 4.2.4 + '@smithy/middleware-content-length': 4.2.4 + '@smithy/middleware-endpoint': 4.3.6 + '@smithy/middleware-retry': 4.4.6 + '@smithy/middleware-serde': 4.2.4 + '@smithy/middleware-stack': 4.2.4 + '@smithy/node-config-provider': 4.3.4 + '@smithy/node-http-handler': 4.4.4 + '@smithy/protocol-http': 5.3.4 + '@smithy/smithy-client': 4.9.2 + '@smithy/types': 4.8.1 + '@smithy/url-parser': 4.2.4 + '@smithy/util-base64': 4.3.0 + '@smithy/util-body-length-browser': 4.2.0 + '@smithy/util-body-length-node': 4.2.1 + '@smithy/util-defaults-mode-browser': 4.3.5 + '@smithy/util-defaults-mode-node': 4.2.7 + '@smithy/util-endpoints': 3.2.4 + '@smithy/util-middleware': 4.2.4 + '@smithy/util-retry': 4.2.4 + '@smithy/util-stream': 4.5.5 + '@smithy/util-utf8': 4.2.0 + '@smithy/util-waiter': 4.2.4 + '@smithy/uuid': 1.1.0 tslib: 2.8.1 - uuid: 9.0.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/client-sso@3.862.0': + '@aws-sdk/client-sso@3.922.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.862.0 - '@aws-sdk/middleware-host-header': 3.862.0 - '@aws-sdk/middleware-logger': 3.862.0 - '@aws-sdk/middleware-recursion-detection': 3.862.0 - '@aws-sdk/middleware-user-agent': 3.862.0 - '@aws-sdk/region-config-resolver': 3.862.0 - '@aws-sdk/types': 3.862.0 - '@aws-sdk/util-endpoints': 3.862.0 - '@aws-sdk/util-user-agent-browser': 3.862.0 - '@aws-sdk/util-user-agent-node': 3.862.0 - '@smithy/config-resolver': 4.1.5 - '@smithy/core': 3.8.0 - '@smithy/fetch-http-handler': 5.1.1 - '@smithy/hash-node': 4.0.5 - '@smithy/invalid-dependency': 4.0.5 - '@smithy/middleware-content-length': 4.0.5 - '@smithy/middleware-endpoint': 4.1.18 - '@smithy/middleware-retry': 4.1.19 - '@smithy/middleware-serde': 4.0.9 - '@smithy/middleware-stack': 4.0.5 - '@smithy/node-config-provider': 4.1.4 - '@smithy/node-http-handler': 4.1.1 - '@smithy/protocol-http': 5.1.3 - '@smithy/smithy-client': 4.4.10 - '@smithy/types': 4.3.2 - '@smithy/url-parser': 4.0.5 - '@smithy/util-base64': 4.0.0 - '@smithy/util-body-length-browser': 4.0.0 - '@smithy/util-body-length-node': 4.0.0 - '@smithy/util-defaults-mode-browser': 4.0.26 - '@smithy/util-defaults-mode-node': 4.0.26 - '@smithy/util-endpoints': 3.0.7 - '@smithy/util-middleware': 4.0.5 - '@smithy/util-retry': 4.0.7 - '@smithy/util-utf8': 4.0.0 + '@aws-sdk/core': 3.922.0 + '@aws-sdk/middleware-host-header': 3.922.0 + '@aws-sdk/middleware-logger': 3.922.0 + '@aws-sdk/middleware-recursion-detection': 3.922.0 + '@aws-sdk/middleware-user-agent': 3.922.0 + '@aws-sdk/region-config-resolver': 3.922.0 + '@aws-sdk/types': 3.922.0 + '@aws-sdk/util-endpoints': 3.922.0 + '@aws-sdk/util-user-agent-browser': 3.922.0 + '@aws-sdk/util-user-agent-node': 3.922.0 + '@smithy/config-resolver': 4.4.1 + '@smithy/core': 3.17.2 + '@smithy/fetch-http-handler': 5.3.5 + '@smithy/hash-node': 4.2.4 + '@smithy/invalid-dependency': 4.2.4 + '@smithy/middleware-content-length': 4.2.4 + '@smithy/middleware-endpoint': 4.3.6 + '@smithy/middleware-retry': 4.4.6 + '@smithy/middleware-serde': 4.2.4 + '@smithy/middleware-stack': 4.2.4 + '@smithy/node-config-provider': 4.3.4 + '@smithy/node-http-handler': 4.4.4 + '@smithy/protocol-http': 5.3.4 + '@smithy/smithy-client': 4.9.2 + '@smithy/types': 4.8.1 + '@smithy/url-parser': 4.2.4 + '@smithy/util-base64': 4.3.0 + '@smithy/util-body-length-browser': 4.2.0 + '@smithy/util-body-length-node': 4.2.1 + '@smithy/util-defaults-mode-browser': 4.3.5 + '@smithy/util-defaults-mode-node': 4.2.7 + '@smithy/util-endpoints': 3.2.4 + '@smithy/util-middleware': 4.2.4 + '@smithy/util-retry': 4.2.4 + '@smithy/util-utf8': 4.2.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/core@3.862.0': - dependencies: - '@aws-sdk/types': 3.862.0 - '@aws-sdk/xml-builder': 3.862.0 - '@smithy/core': 3.8.0 - '@smithy/node-config-provider': 4.1.4 - '@smithy/property-provider': 4.0.5 - '@smithy/protocol-http': 5.1.3 - '@smithy/signature-v4': 5.1.3 - '@smithy/smithy-client': 4.4.10 - '@smithy/types': 4.3.2 - '@smithy/util-base64': 4.0.0 - '@smithy/util-body-length-browser': 4.0.0 - '@smithy/util-middleware': 4.0.5 - '@smithy/util-utf8': 4.0.0 - fast-xml-parser: 5.2.5 + '@aws-sdk/core@3.922.0': + dependencies: + '@aws-sdk/types': 3.922.0 + '@aws-sdk/xml-builder': 3.921.0 + '@smithy/core': 3.17.2 + '@smithy/node-config-provider': 4.3.4 + '@smithy/property-provider': 4.2.4 + '@smithy/protocol-http': 5.3.4 + '@smithy/signature-v4': 5.3.4 + '@smithy/smithy-client': 4.9.2 + '@smithy/types': 4.8.1 + '@smithy/util-base64': 4.3.0 + '@smithy/util-middleware': 4.2.4 + '@smithy/util-utf8': 4.2.0 tslib: 2.8.1 - '@aws-sdk/credential-provider-env@3.862.0': + '@aws-sdk/credential-provider-env@3.922.0': dependencies: - '@aws-sdk/core': 3.862.0 - '@aws-sdk/types': 3.862.0 - '@smithy/property-provider': 4.0.5 - '@smithy/types': 4.3.2 + '@aws-sdk/core': 3.922.0 + '@aws-sdk/types': 3.922.0 + '@smithy/property-provider': 4.2.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@aws-sdk/credential-provider-http@3.862.0': - dependencies: - '@aws-sdk/core': 3.862.0 - '@aws-sdk/types': 3.862.0 - '@smithy/fetch-http-handler': 5.1.1 - '@smithy/node-http-handler': 4.1.1 - '@smithy/property-provider': 4.0.5 - '@smithy/protocol-http': 5.1.3 - '@smithy/smithy-client': 4.4.10 - '@smithy/types': 4.3.2 - '@smithy/util-stream': 4.2.4 + '@aws-sdk/credential-provider-http@3.922.0': + dependencies: + '@aws-sdk/core': 3.922.0 + '@aws-sdk/types': 3.922.0 + '@smithy/fetch-http-handler': 5.3.5 + '@smithy/node-http-handler': 4.4.4 + '@smithy/property-provider': 4.2.4 + '@smithy/protocol-http': 5.3.4 + '@smithy/smithy-client': 4.9.2 + '@smithy/types': 4.8.1 + '@smithy/util-stream': 4.5.5 tslib: 2.8.1 - '@aws-sdk/credential-provider-ini@3.862.0': - dependencies: - '@aws-sdk/core': 3.862.0 - '@aws-sdk/credential-provider-env': 3.862.0 - '@aws-sdk/credential-provider-http': 3.862.0 - '@aws-sdk/credential-provider-process': 3.862.0 - '@aws-sdk/credential-provider-sso': 3.862.0 - '@aws-sdk/credential-provider-web-identity': 3.862.0 - '@aws-sdk/nested-clients': 3.862.0 - '@aws-sdk/types': 3.862.0 - '@smithy/credential-provider-imds': 4.0.7 - '@smithy/property-provider': 4.0.5 - '@smithy/shared-ini-file-loader': 4.0.5 - '@smithy/types': 4.3.2 + '@aws-sdk/credential-provider-ini@3.922.0': + dependencies: + '@aws-sdk/core': 3.922.0 + '@aws-sdk/credential-provider-env': 3.922.0 + '@aws-sdk/credential-provider-http': 3.922.0 + '@aws-sdk/credential-provider-process': 3.922.0 + '@aws-sdk/credential-provider-sso': 3.922.0 + '@aws-sdk/credential-provider-web-identity': 3.922.0 + '@aws-sdk/nested-clients': 3.922.0 + '@aws-sdk/types': 3.922.0 + '@smithy/credential-provider-imds': 4.2.4 + '@smithy/property-provider': 4.2.4 + '@smithy/shared-ini-file-loader': 4.3.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-node@3.862.0': - dependencies: - '@aws-sdk/credential-provider-env': 3.862.0 - '@aws-sdk/credential-provider-http': 3.862.0 - '@aws-sdk/credential-provider-ini': 3.862.0 - '@aws-sdk/credential-provider-process': 3.862.0 - '@aws-sdk/credential-provider-sso': 3.862.0 - '@aws-sdk/credential-provider-web-identity': 3.862.0 - '@aws-sdk/types': 3.862.0 - '@smithy/credential-provider-imds': 4.0.7 - '@smithy/property-provider': 4.0.5 - '@smithy/shared-ini-file-loader': 4.0.5 - '@smithy/types': 4.3.2 + '@aws-sdk/credential-provider-node@3.922.0': + dependencies: + '@aws-sdk/credential-provider-env': 3.922.0 + '@aws-sdk/credential-provider-http': 3.922.0 + '@aws-sdk/credential-provider-ini': 3.922.0 + '@aws-sdk/credential-provider-process': 3.922.0 + '@aws-sdk/credential-provider-sso': 3.922.0 + '@aws-sdk/credential-provider-web-identity': 3.922.0 + '@aws-sdk/types': 3.922.0 + '@smithy/credential-provider-imds': 4.2.4 + '@smithy/property-provider': 4.2.4 + '@smithy/shared-ini-file-loader': 4.3.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-process@3.862.0': + '@aws-sdk/credential-provider-process@3.922.0': dependencies: - '@aws-sdk/core': 3.862.0 - '@aws-sdk/types': 3.862.0 - '@smithy/property-provider': 4.0.5 - '@smithy/shared-ini-file-loader': 4.0.5 - '@smithy/types': 4.3.2 + '@aws-sdk/core': 3.922.0 + '@aws-sdk/types': 3.922.0 + '@smithy/property-provider': 4.2.4 + '@smithy/shared-ini-file-loader': 4.3.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@aws-sdk/credential-provider-sso@3.862.0': + '@aws-sdk/credential-provider-sso@3.922.0': dependencies: - '@aws-sdk/client-sso': 3.862.0 - '@aws-sdk/core': 3.862.0 - '@aws-sdk/token-providers': 3.862.0 - '@aws-sdk/types': 3.862.0 - '@smithy/property-provider': 4.0.5 - '@smithy/shared-ini-file-loader': 4.0.5 - '@smithy/types': 4.3.2 + '@aws-sdk/client-sso': 3.922.0 + '@aws-sdk/core': 3.922.0 + '@aws-sdk/token-providers': 3.922.0 + '@aws-sdk/types': 3.922.0 + '@smithy/property-provider': 4.2.4 + '@smithy/shared-ini-file-loader': 4.3.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-web-identity@3.862.0': + '@aws-sdk/credential-provider-web-identity@3.922.0': dependencies: - '@aws-sdk/core': 3.862.0 - '@aws-sdk/nested-clients': 3.862.0 - '@aws-sdk/types': 3.862.0 - '@smithy/property-provider': 4.0.5 - '@smithy/types': 4.3.2 + '@aws-sdk/core': 3.922.0 + '@aws-sdk/nested-clients': 3.922.0 + '@aws-sdk/types': 3.922.0 + '@smithy/property-provider': 4.2.4 + '@smithy/shared-ini-file-loader': 4.3.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/middleware-bucket-endpoint@3.862.0': + '@aws-sdk/middleware-bucket-endpoint@3.922.0': dependencies: - '@aws-sdk/types': 3.862.0 - '@aws-sdk/util-arn-parser': 3.804.0 - '@smithy/node-config-provider': 4.1.4 - '@smithy/protocol-http': 5.1.3 - '@smithy/types': 4.3.2 - '@smithy/util-config-provider': 4.0.0 + '@aws-sdk/types': 3.922.0 + '@aws-sdk/util-arn-parser': 3.893.0 + '@smithy/node-config-provider': 4.3.4 + '@smithy/protocol-http': 5.3.4 + '@smithy/types': 4.8.1 + '@smithy/util-config-provider': 4.2.0 tslib: 2.8.1 - '@aws-sdk/middleware-expect-continue@3.862.0': + '@aws-sdk/middleware-expect-continue@3.922.0': dependencies: - '@aws-sdk/types': 3.862.0 - '@smithy/protocol-http': 5.1.3 - '@smithy/types': 4.3.2 + '@aws-sdk/types': 3.922.0 + '@smithy/protocol-http': 5.3.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@aws-sdk/middleware-flexible-checksums@3.862.0': + '@aws-sdk/middleware-flexible-checksums@3.922.0': dependencies: '@aws-crypto/crc32': 5.2.0 '@aws-crypto/crc32c': 5.2.0 '@aws-crypto/util': 5.2.0 - '@aws-sdk/core': 3.862.0 - '@aws-sdk/types': 3.862.0 - '@smithy/is-array-buffer': 4.0.0 - '@smithy/node-config-provider': 4.1.4 - '@smithy/protocol-http': 5.1.3 - '@smithy/types': 4.3.2 - '@smithy/util-middleware': 4.0.5 - '@smithy/util-stream': 4.2.4 - '@smithy/util-utf8': 4.0.0 + '@aws-sdk/core': 3.922.0 + '@aws-sdk/types': 3.922.0 + '@smithy/is-array-buffer': 4.2.0 + '@smithy/node-config-provider': 4.3.4 + '@smithy/protocol-http': 5.3.4 + '@smithy/types': 4.8.1 + '@smithy/util-middleware': 4.2.4 + '@smithy/util-stream': 4.5.5 + '@smithy/util-utf8': 4.2.0 tslib: 2.8.1 - '@aws-sdk/middleware-host-header@3.862.0': + '@aws-sdk/middleware-host-header@3.922.0': dependencies: - '@aws-sdk/types': 3.862.0 - '@smithy/protocol-http': 5.1.3 - '@smithy/types': 4.3.2 + '@aws-sdk/types': 3.922.0 + '@smithy/protocol-http': 5.3.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@aws-sdk/middleware-location-constraint@3.862.0': + '@aws-sdk/middleware-location-constraint@3.922.0': dependencies: - '@aws-sdk/types': 3.862.0 - '@smithy/types': 4.3.2 + '@aws-sdk/types': 3.922.0 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@aws-sdk/middleware-logger@3.862.0': + '@aws-sdk/middleware-logger@3.922.0': dependencies: - '@aws-sdk/types': 3.862.0 - '@smithy/types': 4.3.2 + '@aws-sdk/types': 3.922.0 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@aws-sdk/middleware-recursion-detection@3.862.0': + '@aws-sdk/middleware-recursion-detection@3.922.0': dependencies: - '@aws-sdk/types': 3.862.0 - '@smithy/protocol-http': 5.1.3 - '@smithy/types': 4.3.2 + '@aws-sdk/types': 3.922.0 + '@aws/lambda-invoke-store': 0.1.1 + '@smithy/protocol-http': 5.3.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@aws-sdk/middleware-sdk-s3@3.862.0': - dependencies: - '@aws-sdk/core': 3.862.0 - '@aws-sdk/types': 3.862.0 - '@aws-sdk/util-arn-parser': 3.804.0 - '@smithy/core': 3.8.0 - '@smithy/node-config-provider': 4.1.4 - '@smithy/protocol-http': 5.1.3 - '@smithy/signature-v4': 5.1.3 - '@smithy/smithy-client': 4.4.10 - '@smithy/types': 4.3.2 - '@smithy/util-config-provider': 4.0.0 - '@smithy/util-middleware': 4.0.5 - '@smithy/util-stream': 4.2.4 - '@smithy/util-utf8': 4.0.0 + '@aws-sdk/middleware-sdk-s3@3.922.0': + dependencies: + '@aws-sdk/core': 3.922.0 + '@aws-sdk/types': 3.922.0 + '@aws-sdk/util-arn-parser': 3.893.0 + '@smithy/core': 3.17.2 + '@smithy/node-config-provider': 4.3.4 + '@smithy/protocol-http': 5.3.4 + '@smithy/signature-v4': 5.3.4 + '@smithy/smithy-client': 4.9.2 + '@smithy/types': 4.8.1 + '@smithy/util-config-provider': 4.2.0 + '@smithy/util-middleware': 4.2.4 + '@smithy/util-stream': 4.5.5 + '@smithy/util-utf8': 4.2.0 tslib: 2.8.1 - '@aws-sdk/middleware-ssec@3.862.0': + '@aws-sdk/middleware-ssec@3.922.0': dependencies: - '@aws-sdk/types': 3.862.0 - '@smithy/types': 4.3.2 + '@aws-sdk/types': 3.922.0 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@aws-sdk/middleware-user-agent@3.862.0': + '@aws-sdk/middleware-user-agent@3.922.0': dependencies: - '@aws-sdk/core': 3.862.0 - '@aws-sdk/types': 3.862.0 - '@aws-sdk/util-endpoints': 3.862.0 - '@smithy/core': 3.8.0 - '@smithy/protocol-http': 5.1.3 - '@smithy/types': 4.3.2 + '@aws-sdk/core': 3.922.0 + '@aws-sdk/types': 3.922.0 + '@aws-sdk/util-endpoints': 3.922.0 + '@smithy/core': 3.17.2 + '@smithy/protocol-http': 5.3.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@aws-sdk/nested-clients@3.862.0': + '@aws-sdk/nested-clients@3.922.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.862.0 - '@aws-sdk/middleware-host-header': 3.862.0 - '@aws-sdk/middleware-logger': 3.862.0 - '@aws-sdk/middleware-recursion-detection': 3.862.0 - '@aws-sdk/middleware-user-agent': 3.862.0 - '@aws-sdk/region-config-resolver': 3.862.0 - '@aws-sdk/types': 3.862.0 - '@aws-sdk/util-endpoints': 3.862.0 - '@aws-sdk/util-user-agent-browser': 3.862.0 - '@aws-sdk/util-user-agent-node': 3.862.0 - '@smithy/config-resolver': 4.1.5 - '@smithy/core': 3.8.0 - '@smithy/fetch-http-handler': 5.1.1 - '@smithy/hash-node': 4.0.5 - '@smithy/invalid-dependency': 4.0.5 - '@smithy/middleware-content-length': 4.0.5 - '@smithy/middleware-endpoint': 4.1.18 - '@smithy/middleware-retry': 4.1.19 - '@smithy/middleware-serde': 4.0.9 - '@smithy/middleware-stack': 4.0.5 - '@smithy/node-config-provider': 4.1.4 - '@smithy/node-http-handler': 4.1.1 - '@smithy/protocol-http': 5.1.3 - '@smithy/smithy-client': 4.4.10 - '@smithy/types': 4.3.2 - '@smithy/url-parser': 4.0.5 - '@smithy/util-base64': 4.0.0 - '@smithy/util-body-length-browser': 4.0.0 - '@smithy/util-body-length-node': 4.0.0 - '@smithy/util-defaults-mode-browser': 4.0.26 - '@smithy/util-defaults-mode-node': 4.0.26 - '@smithy/util-endpoints': 3.0.7 - '@smithy/util-middleware': 4.0.5 - '@smithy/util-retry': 4.0.7 - '@smithy/util-utf8': 4.0.0 + '@aws-sdk/core': 3.922.0 + '@aws-sdk/middleware-host-header': 3.922.0 + '@aws-sdk/middleware-logger': 3.922.0 + '@aws-sdk/middleware-recursion-detection': 3.922.0 + '@aws-sdk/middleware-user-agent': 3.922.0 + '@aws-sdk/region-config-resolver': 3.922.0 + '@aws-sdk/types': 3.922.0 + '@aws-sdk/util-endpoints': 3.922.0 + '@aws-sdk/util-user-agent-browser': 3.922.0 + '@aws-sdk/util-user-agent-node': 3.922.0 + '@smithy/config-resolver': 4.4.1 + '@smithy/core': 3.17.2 + '@smithy/fetch-http-handler': 5.3.5 + '@smithy/hash-node': 4.2.4 + '@smithy/invalid-dependency': 4.2.4 + '@smithy/middleware-content-length': 4.2.4 + '@smithy/middleware-endpoint': 4.3.6 + '@smithy/middleware-retry': 4.4.6 + '@smithy/middleware-serde': 4.2.4 + '@smithy/middleware-stack': 4.2.4 + '@smithy/node-config-provider': 4.3.4 + '@smithy/node-http-handler': 4.4.4 + '@smithy/protocol-http': 5.3.4 + '@smithy/smithy-client': 4.9.2 + '@smithy/types': 4.8.1 + '@smithy/url-parser': 4.2.4 + '@smithy/util-base64': 4.3.0 + '@smithy/util-body-length-browser': 4.2.0 + '@smithy/util-body-length-node': 4.2.1 + '@smithy/util-defaults-mode-browser': 4.3.5 + '@smithy/util-defaults-mode-node': 4.2.7 + '@smithy/util-endpoints': 3.2.4 + '@smithy/util-middleware': 4.2.4 + '@smithy/util-retry': 4.2.4 + '@smithy/util-utf8': 4.2.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/region-config-resolver@3.862.0': + '@aws-sdk/region-config-resolver@3.922.0': dependencies: - '@aws-sdk/types': 3.862.0 - '@smithy/node-config-provider': 4.1.4 - '@smithy/types': 4.3.2 - '@smithy/util-config-provider': 4.0.0 - '@smithy/util-middleware': 4.0.5 + '@aws-sdk/types': 3.922.0 + '@smithy/config-resolver': 4.4.1 + '@smithy/node-config-provider': 4.3.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@aws-sdk/signature-v4-multi-region@3.862.0': + '@aws-sdk/signature-v4-multi-region@3.922.0': dependencies: - '@aws-sdk/middleware-sdk-s3': 3.862.0 - '@aws-sdk/types': 3.862.0 - '@smithy/protocol-http': 5.1.3 - '@smithy/signature-v4': 5.1.3 - '@smithy/types': 4.3.2 + '@aws-sdk/middleware-sdk-s3': 3.922.0 + '@aws-sdk/types': 3.922.0 + '@smithy/protocol-http': 5.3.4 + '@smithy/signature-v4': 5.3.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@aws-sdk/token-providers@3.862.0': + '@aws-sdk/token-providers@3.922.0': dependencies: - '@aws-sdk/core': 3.862.0 - '@aws-sdk/nested-clients': 3.862.0 - '@aws-sdk/types': 3.862.0 - '@smithy/property-provider': 4.0.5 - '@smithy/shared-ini-file-loader': 4.0.5 - '@smithy/types': 4.3.2 + '@aws-sdk/core': 3.922.0 + '@aws-sdk/nested-clients': 3.922.0 + '@aws-sdk/types': 3.922.0 + '@smithy/property-provider': 4.2.4 + '@smithy/shared-ini-file-loader': 4.3.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/types@3.862.0': + '@aws-sdk/types@3.922.0': dependencies: - '@smithy/types': 4.3.2 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@aws-sdk/util-arn-parser@3.804.0': + '@aws-sdk/util-arn-parser@3.893.0': dependencies: tslib: 2.8.1 - '@aws-sdk/util-endpoints@3.862.0': + '@aws-sdk/util-endpoints@3.922.0': dependencies: - '@aws-sdk/types': 3.862.0 - '@smithy/types': 4.3.2 - '@smithy/url-parser': 4.0.5 - '@smithy/util-endpoints': 3.0.7 + '@aws-sdk/types': 3.922.0 + '@smithy/types': 4.8.1 + '@smithy/url-parser': 4.2.4 + '@smithy/util-endpoints': 3.2.4 tslib: 2.8.1 - '@aws-sdk/util-locate-window@3.804.0': + '@aws-sdk/util-locate-window@3.893.0': dependencies: tslib: 2.8.1 - '@aws-sdk/util-user-agent-browser@3.862.0': + '@aws-sdk/util-user-agent-browser@3.922.0': dependencies: - '@aws-sdk/types': 3.862.0 - '@smithy/types': 4.3.2 - bowser: 2.11.0 + '@aws-sdk/types': 3.922.0 + '@smithy/types': 4.8.1 + bowser: 2.12.1 tslib: 2.8.1 - '@aws-sdk/util-user-agent-node@3.862.0': + '@aws-sdk/util-user-agent-node@3.922.0': dependencies: - '@aws-sdk/middleware-user-agent': 3.862.0 - '@aws-sdk/types': 3.862.0 - '@smithy/node-config-provider': 4.1.4 - '@smithy/types': 4.3.2 + '@aws-sdk/middleware-user-agent': 3.922.0 + '@aws-sdk/types': 3.922.0 + '@smithy/node-config-provider': 4.3.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@aws-sdk/xml-builder@3.862.0': + '@aws-sdk/xml-builder@3.921.0': dependencies: - '@smithy/types': 4.3.2 + '@smithy/types': 4.8.1 + fast-xml-parser: 5.2.5 tslib: 2.8.1 + '@aws/lambda-invoke-store@0.1.1': {} + '@azu/format-text@1.0.2': {} '@azu/style-format@1.0.1': @@ -23267,61 +23326,61 @@ snapshots: dependencies: tslib: 2.8.1 - '@azure/core-auth@1.10.0': + '@azure/core-auth@1.10.1': dependencies: '@azure/abort-controller': 2.1.2 - '@azure/core-util': 1.13.0 + '@azure/core-util': 1.13.1 tslib: 2.8.1 transitivePeerDependencies: - supports-color - '@azure/core-client@1.10.0': + '@azure/core-client@1.10.1': dependencies: '@azure/abort-controller': 2.1.2 - '@azure/core-auth': 1.10.0 - '@azure/core-rest-pipeline': 1.22.0 - '@azure/core-tracing': 1.3.0 - '@azure/core-util': 1.13.0 + '@azure/core-auth': 1.10.1 + '@azure/core-rest-pipeline': 1.22.1 + '@azure/core-tracing': 1.3.1 + '@azure/core-util': 1.13.1 '@azure/logger': 1.3.0 tslib: 2.8.1 transitivePeerDependencies: - supports-color - '@azure/core-rest-pipeline@1.22.0': + '@azure/core-rest-pipeline@1.22.1': dependencies: '@azure/abort-controller': 2.1.2 - '@azure/core-auth': 1.10.0 - '@azure/core-tracing': 1.3.0 - '@azure/core-util': 1.13.0 + '@azure/core-auth': 1.10.1 + '@azure/core-tracing': 1.3.1 + '@azure/core-util': 1.13.1 '@azure/logger': 1.3.0 - '@typespec/ts-http-runtime': 0.3.0 + '@typespec/ts-http-runtime': 0.3.1 tslib: 2.8.1 transitivePeerDependencies: - supports-color - '@azure/core-tracing@1.3.0': + '@azure/core-tracing@1.3.1': dependencies: tslib: 2.8.1 - '@azure/core-util@1.13.0': + '@azure/core-util@1.13.1': dependencies: '@azure/abort-controller': 2.1.2 - '@typespec/ts-http-runtime': 0.3.0 + '@typespec/ts-http-runtime': 0.3.1 tslib: 2.8.1 transitivePeerDependencies: - supports-color - '@azure/identity@4.11.1': + '@azure/identity@4.13.0': dependencies: '@azure/abort-controller': 2.1.2 - '@azure/core-auth': 1.10.0 - '@azure/core-client': 1.10.0 - '@azure/core-rest-pipeline': 1.22.0 - '@azure/core-tracing': 1.3.0 - '@azure/core-util': 1.13.0 + '@azure/core-auth': 1.10.1 + '@azure/core-client': 1.10.1 + '@azure/core-rest-pipeline': 1.22.1 + '@azure/core-tracing': 1.3.1 + '@azure/core-util': 1.13.1 '@azure/logger': 1.3.0 - '@azure/msal-browser': 4.19.0 - '@azure/msal-node': 3.7.0 + '@azure/msal-browser': 4.26.0 + '@azure/msal-node': 3.8.1 open: 10.2.0 tslib: 2.8.1 transitivePeerDependencies: @@ -23329,47 +23388,47 @@ snapshots: '@azure/logger@1.3.0': dependencies: - '@typespec/ts-http-runtime': 0.3.0 + '@typespec/ts-http-runtime': 0.3.1 tslib: 2.8.1 transitivePeerDependencies: - supports-color - '@azure/msal-browser@4.19.0': + '@azure/msal-browser@4.26.0': dependencies: - '@azure/msal-common': 15.10.0 + '@azure/msal-common': 15.13.1 - '@azure/msal-common@15.10.0': {} + '@azure/msal-common@15.13.1': {} - '@azure/msal-node@3.7.0': + '@azure/msal-node@3.8.1': dependencies: - '@azure/msal-common': 15.10.0 + '@azure/msal-common': 15.13.1 jsonwebtoken: 9.0.2 uuid: 8.3.2 '@babel/code-frame@7.27.1': dependencies: - '@babel/helper-validator-identifier': 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/compat-data@7.28.0': {} + '@babel/compat-data@7.28.5': {} '@babel/core@7.12.9': dependencies: '@babel/code-frame': 7.27.1 - '@babel/generator': 7.28.0 - '@babel/helper-module-transforms': 7.27.3(@babel/core@7.12.9) - '@babel/helpers': 7.28.2 - '@babel/parser': 7.28.0 + '@babel/generator': 7.28.5 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.12.9) + '@babel/helpers': 7.28.4 + '@babel/parser': 7.28.5 '@babel/template': 7.27.2 - '@babel/traverse': 7.28.0 - '@babel/types': 7.28.2 + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 convert-source-map: 1.9.0 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) gensync: 1.0.0-beta.2 json5: 2.2.3 lodash: 4.17.21 - resolve: 1.22.10 + resolve: 1.22.11 semver: 5.7.2 source-map: 0.5.7 transitivePeerDependencies: @@ -23379,61 +23438,102 @@ snapshots: dependencies: '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.27.1 - '@babel/generator': 7.28.0 + '@babel/generator': 7.28.5 '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-module-transforms': 7.27.3(@babel/core@7.27.7) - '@babel/helpers': 7.28.2 - '@babel/parser': 7.28.0 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.27.7) + '@babel/helpers': 7.28.4 + '@babel/parser': 7.28.5 '@babel/template': 7.27.2 - '@babel/traverse': 7.28.0 - '@babel/types': 7.28.2 + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 convert-source-map: 2.0.0 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/generator@7.28.0': + '@babel/core@7.28.5': dependencies: - '@babel/parser': 7.28.0 - '@babel/types': 7.28.2 - '@jridgewell/gen-mapping': 0.3.12 - '@jridgewell/trace-mapping': 0.3.29 + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.5 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) + '@babel/helpers': 7.28.4 + '@babel/parser': 7.28.5 + '@babel/template': 7.27.2 + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 + '@jridgewell/remapping': 2.3.5 + convert-source-map: 2.0.0 + debug: 4.4.3(supports-color@8.1.1) + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.28.5': + dependencies: + '@babel/parser': 7.28.5 + '@babel/types': 7.28.5 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 jsesc: 3.1.0 '@babel/helper-annotate-as-pure@7.27.3': dependencies: - '@babel/types': 7.28.2 + '@babel/types': 7.28.5 '@babel/helper-compilation-targets@7.27.2': dependencies: - '@babel/compat-data': 7.28.0 + '@babel/compat-data': 7.28.5 '@babel/helper-validator-option': 7.27.1 - browserslist: 4.25.1 + browserslist: 4.27.0 lru-cache: 5.1.1 semver: 6.3.1 - '@babel/helper-create-class-features-plugin@7.27.1(@babel/core@7.27.7)': + '@babel/helper-create-class-features-plugin@7.28.5(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-member-expression-to-functions': 7.27.1 + '@babel/helper-member-expression-to-functions': 7.28.5 '@babel/helper-optimise-call-expression': 7.27.1 '@babel/helper-replace-supers': 7.27.1(@babel/core@7.27.7) '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/traverse': 7.28.0 + '@babel/traverse': 7.28.5 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/helper-create-regexp-features-plugin@7.27.1(@babel/core@7.27.7)': + '@babel/helper-create-class-features-plugin@7.28.5(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-member-expression-to-functions': 7.28.5 + '@babel/helper-optimise-call-expression': 7.27.1 + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.5) + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/traverse': 7.28.5 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/helper-create-regexp-features-plugin@7.28.5(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 '@babel/helper-annotate-as-pure': 7.27.3 - regexpu-core: 6.2.0 + regexpu-core: 6.4.0 + semver: 6.3.1 + + '@babel/helper-create-regexp-features-plugin@7.28.5(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-annotate-as-pure': 7.27.3 + regexpu-core: 6.4.0 semver: 6.3.1 + optional: true '@babel/helper-define-polyfill-provider@0.0.3(@babel/core@7.27.7)': dependencies: @@ -23441,10 +23541,10 @@ snapshots: '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-module-imports': 7.27.1 '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.0 - debug: 4.4.1(supports-color@8.1.1) + '@babel/traverse': 7.28.5 + debug: 4.4.3(supports-color@8.1.1) lodash.debounce: 4.0.8 - resolve: 1.22.10 + resolve: 1.22.11 semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -23455,10 +23555,10 @@ snapshots: '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-module-imports': 7.27.1 '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.0 - debug: 4.4.1(supports-color@8.1.1) + '@babel/traverse': 7.28.5 + debug: 4.4.3(supports-color@8.1.1) lodash.debounce: 4.0.8 - resolve: 1.22.10 + resolve: 1.22.11 semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -23468,49 +23568,70 @@ snapshots: '@babel/core': 7.27.7 '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-plugin-utils': 7.27.1 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) + lodash.debounce: 4.0.8 + resolve: 1.22.11 + transitivePeerDependencies: + - supports-color + + '@babel/helper-define-polyfill-provider@0.6.5(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-plugin-utils': 7.27.1 + debug: 4.4.3(supports-color@8.1.1) lodash.debounce: 4.0.8 - resolve: 1.22.10 + resolve: 1.22.11 transitivePeerDependencies: - supports-color + optional: true '@babel/helper-globals@7.28.0': {} - '@babel/helper-member-expression-to-functions@7.27.1': + '@babel/helper-member-expression-to-functions@7.28.5': dependencies: - '@babel/traverse': 7.28.0 - '@babel/types': 7.28.2 + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 transitivePeerDependencies: - supports-color '@babel/helper-module-imports@7.27.1': dependencies: - '@babel/traverse': 7.28.0 - '@babel/types': 7.28.2 + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.27.3(@babel/core@7.12.9)': + '@babel/helper-module-transforms@7.28.3(@babel/core@7.12.9)': dependencies: '@babel/core': 7.12.9 '@babel/helper-module-imports': 7.27.1 - '@babel/helper-validator-identifier': 7.27.1 - '@babel/traverse': 7.28.0 + '@babel/helper-validator-identifier': 7.28.5 + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.27.3(@babel/core@7.27.7)': + '@babel/helper-module-transforms@7.28.3(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 '@babel/helper-module-imports': 7.27.1 - '@babel/helper-validator-identifier': 7.27.1 - '@babel/traverse': 7.28.0 + '@babel/helper-validator-identifier': 7.28.5 + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-module-imports': 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color '@babel/helper-optimise-call-expression@7.27.1': dependencies: - '@babel/types': 7.28.2 + '@babel/types': 7.28.5 '@babel/helper-plugin-utils@7.10.4': {} @@ -23520,89 +23641,148 @@ snapshots: dependencies: '@babel/core': 7.27.7 '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-wrap-function': 7.27.1 - '@babel/traverse': 7.28.0 + '@babel/helper-wrap-function': 7.28.3 + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color + '@babel/helper-remap-async-to-generator@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-wrap-function': 7.28.3 + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color + optional: true + '@babel/helper-replace-supers@7.27.1(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 - '@babel/helper-member-expression-to-functions': 7.27.1 + '@babel/helper-member-expression-to-functions': 7.28.5 + '@babel/helper-optimise-call-expression': 7.27.1 + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@babel/helper-replace-supers@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-member-expression-to-functions': 7.28.5 '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/traverse': 7.28.0 + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color '@babel/helper-skip-transparent-expression-wrappers@7.27.1': dependencies: - '@babel/traverse': 7.28.0 - '@babel/types': 7.28.2 + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 transitivePeerDependencies: - supports-color '@babel/helper-string-parser@7.27.1': {} - '@babel/helper-validator-identifier@7.27.1': {} + '@babel/helper-validator-identifier@7.28.5': {} '@babel/helper-validator-option@7.27.1': {} - '@babel/helper-wrap-function@7.27.1': + '@babel/helper-wrap-function@7.28.3': dependencies: '@babel/template': 7.27.2 - '@babel/traverse': 7.28.0 - '@babel/types': 7.28.2 + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 transitivePeerDependencies: - supports-color - '@babel/helpers@7.28.2': + '@babel/helpers@7.28.4': dependencies: '@babel/template': 7.27.2 - '@babel/types': 7.28.2 + '@babel/types': 7.28.5 - '@babel/parser@7.28.0': + '@babel/parser@7.28.5': dependencies: - '@babel/types': 7.28.2 + '@babel/types': 7.28.5 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.27.1(@babel/core@7.27.7)': + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.0 + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color + optional: true + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + optional: true + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + optional: true + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.27.7) + '@babel/plugin-transform-optional-chaining': 7.28.5(@babel/core@7.27.7) transitivePeerDependencies: - supports-color - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.27.1(@babel/core@7.27.7)': + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/plugin-transform-optional-chaining': 7.28.5(@babel/core@7.28.5) + transitivePeerDependencies: + - supports-color + optional: true + + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.3(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.0 + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.3(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color + optional: true + '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 - '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.27.7) + '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.27.7) '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color @@ -23610,7 +23790,7 @@ snapshots: '@babel/plugin-proposal-decorators@7.28.0(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 - '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.27.7) + '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.27.7) '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-decorators': 7.27.1(@babel/core@7.27.7) transitivePeerDependencies: @@ -23630,13 +23810,13 @@ snapshots: '@babel/plugin-proposal-object-rest-spread@7.12.1(@babel/core@7.12.9)': dependencies: '@babel/core': 7.12.9 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.10.4 '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.12.9) '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.12.9) '@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.27.7)': dependencies: - '@babel/compat-data': 7.28.0 + '@babel/compat-data': 7.28.5 '@babel/core': 7.27.7 '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-plugin-utils': 7.27.1 @@ -23655,7 +23835,7 @@ snapshots: '@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 - '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.27.7) + '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.27.7) '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color @@ -23664,11 +23844,16 @@ snapshots: dependencies: '@babel/core': 7.27.7 + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + optional: true + '@babel/plugin-proposal-private-property-in-object@7.21.11(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.27.7) + '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.27.7) '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.27.7) transitivePeerDependencies: @@ -23704,9 +23889,9 @@ snapshots: '@babel/core': 7.27.7 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-flow@7.22.5(@babel/core@7.27.7)': + '@babel/plugin-syntax-flow@7.22.5(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-flow@7.27.1(@babel/core@7.27.7)': @@ -23714,16 +23899,33 @@ snapshots: '@babel/core': 7.27.7 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-syntax-flow@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-syntax-import-assertions@7.27.1(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-syntax-import-assertions@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + optional: true + '@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + optional: true + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 @@ -23744,6 +23946,11 @@ snapshots: '@babel/core': 7.27.7 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 @@ -23794,26 +24001,54 @@ snapshots: '@babel/core': 7.27.7 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.27.7) + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.27.7) '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + optional: true + '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + optional: true + '@babel/plugin-transform-async-generator-functions@7.28.0(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.27.7) - '@babel/traverse': 7.28.0 + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color + '@babel/plugin-transform-async-generator-functions@7.28.0(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.5) + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color + optional: true + '@babel/plugin-transform-async-to-generator@7.27.1(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 @@ -23823,33 +24058,73 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/plugin-transform-async-to-generator@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-module-imports': 7.27.1 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.5) + transitivePeerDependencies: + - supports-color + optional: true + '@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-block-scoping@7.28.0(@babel/core@7.27.7)': + '@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + optional: true + + '@babel/plugin-transform-block-scoping@7.28.5(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-block-scoping@7.28.5(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + optional: true + '@babel/plugin-transform-class-properties@7.27.1(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 - '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.27.7) + '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.27.7) '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-class-static-block@7.27.1(@babel/core@7.27.7)': + '@babel/plugin-transform-class-properties@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + optional: true + + '@babel/plugin-transform-class-static-block@7.28.3(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 - '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.27.7) + '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.27.7) '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-classes@7.28.0(@babel/core@7.27.7)': + '@babel/plugin-transform-class-static-block@7.28.3(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + optional: true + + '@babel/plugin-transform-classes@7.28.4(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 '@babel/helper-annotate-as-pure': 7.27.3 @@ -23857,9 +24132,22 @@ snapshots: '@babel/helper-globals': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-replace-supers': 7.27.1(@babel/core@7.27.7) - '@babel/traverse': 7.28.0 + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-classes@7.28.4(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-globals': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.5) + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color + optional: true '@babel/plugin-transform-computed-properties@7.27.1(@babel/core@7.27.7)': dependencies: @@ -23867,52 +24155,112 @@ snapshots: '@babel/helper-plugin-utils': 7.27.1 '@babel/template': 7.27.2 - '@babel/plugin-transform-destructuring@7.28.0(@babel/core@7.27.7)': + '@babel/plugin-transform-computed-properties@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/template': 7.27.2 + optional: true + + '@babel/plugin-transform-destructuring@7.28.5(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.0 + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color + '@babel/plugin-transform-destructuring@7.28.5(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color + optional: true + '@babel/plugin-transform-dotall-regex@7.27.1(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.27.7) + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.27.7) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-dotall-regex@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) '@babel/helper-plugin-utils': 7.27.1 + optional: true '@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + optional: true + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.27.7) + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.27.7) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) '@babel/helper-plugin-utils': 7.27.1 + optional: true '@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-exponentiation-operator@7.27.1(@babel/core@7.27.7)': + '@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + optional: true + + '@babel/plugin-transform-exponentiation-operator@7.28.5(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-exponentiation-operator@7.28.5(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + optional: true + '@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + optional: true + '@babel/plugin-transform-flow-strip-types@7.27.1(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-flow': 7.27.1(@babel/core@7.27.7) + '@babel/plugin-transform-flow-strip-types@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-syntax-flow': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-for-of@7.27.1(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 @@ -23921,101 +24269,218 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/plugin-transform-for-of@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + transitivePeerDependencies: + - supports-color + optional: true + '@babel/plugin-transform-function-name@7.27.1(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.0 + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color + '@babel/plugin-transform-function-name@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color + optional: true + '@babel/plugin-transform-json-strings@7.27.1(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-json-strings@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + optional: true + '@babel/plugin-transform-literals@7.27.1(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-logical-assignment-operators@7.27.1(@babel/core@7.27.7)': + '@babel/plugin-transform-literals@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + optional: true + + '@babel/plugin-transform-logical-assignment-operators@7.28.5(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-logical-assignment-operators@7.28.5(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + optional: true + '@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + optional: true + '@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 - '@babel/helper-module-transforms': 7.27.3(@babel/core@7.27.7) + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.27.7) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color + optional: true '@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 - '@babel/helper-module-transforms': 7.27.3(@babel/core@7.27.7) + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.27.7) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-systemjs@7.27.1(@babel/core@7.27.7)': + '@babel/plugin-transform-modules-systemjs@7.28.5(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 - '@babel/helper-module-transforms': 7.27.3(@babel/core@7.27.7) + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.27.7) '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-validator-identifier': 7.27.1 - '@babel/traverse': 7.28.0 + '@babel/helper-validator-identifier': 7.28.5 + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color + '@babel/plugin-transform-modules-systemjs@7.28.5(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color + optional: true + '@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 - '@babel/helper-module-transforms': 7.27.3(@babel/core@7.27.7) + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.27.7) '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color + '@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + optional: true + '@babel/plugin-transform-named-capturing-groups-regex@7.27.1(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.27.7) + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.27.7) '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-named-capturing-groups-regex@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + optional: true + '@babel/plugin-transform-new-target@7.27.1(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-new-target@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + optional: true + '@babel/plugin-transform-nullish-coalescing-operator@7.27.1(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-nullish-coalescing-operator@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + optional: true + '@babel/plugin-transform-numeric-separator@7.27.1(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-object-rest-spread@7.28.0(@babel/core@7.27.7)': + '@babel/plugin-transform-numeric-separator@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + optional: true + + '@babel/plugin-transform-object-rest-spread@7.28.4(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.27.7) + '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.27.7) '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.27.7) - '@babel/traverse': 7.28.0 + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color + '@babel/plugin-transform-object-rest-spread@7.28.4(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.5) + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color + optional: true + '@babel/plugin-transform-object-super@7.27.1(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 @@ -24024,12 +24489,27 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/plugin-transform-object-super@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.5) + transitivePeerDependencies: + - supports-color + optional: true + '@babel/plugin-transform-optional-catch-binding@7.27.1(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-optional-chaining@7.27.1(@babel/core@7.27.7)': + '@babel/plugin-transform-optional-catch-binding@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + optional: true + + '@babel/plugin-transform-optional-chaining@7.28.5(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 '@babel/helper-plugin-utils': 7.27.1 @@ -24037,6 +24517,15 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/plugin-transform-optional-chaining@7.28.5(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + transitivePeerDependencies: + - supports-color + optional: true + '@babel/plugin-transform-parameters@7.27.7(@babel/core@7.12.9)': dependencies: '@babel/core': 7.12.9 @@ -24047,33 +24536,69 @@ snapshots: '@babel/core': 7.27.7 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-parameters@7.27.7(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + optional: true + '@babel/plugin-transform-private-methods@7.27.1(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 - '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.27.7) + '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.27.7) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-private-methods@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color + optional: true '@babel/plugin-transform-private-property-in-object@7.27.1(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.27.7) + '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.27.7) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-private-property-in-object@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color + optional: true '@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + optional: true + '@babel/plugin-transform-react-display-name@7.28.0(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-react-display-name@7.28.0(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-react-jsx-development@7.27.1(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 @@ -24081,6 +24606,13 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/plugin-transform-react-jsx-development@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.5) + transitivePeerDependencies: + - supports-color + '@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 @@ -24088,7 +24620,18 @@ snapshots: '@babel/helper-module-imports': 7.27.1 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.27.7) - '@babel/types': 7.28.2 + '@babel/types': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-module-imports': 7.27.1 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.5) + '@babel/types': 7.28.5 transitivePeerDependencies: - supports-color @@ -24098,27 +24641,58 @@ snapshots: '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-regenerator@7.28.1(@babel/core@7.27.7)': + '@babel/plugin-transform-react-pure-annotations@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-regenerator@7.28.4(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-regenerator@7.28.4(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + optional: true + '@babel/plugin-transform-regexp-modifiers@7.27.1(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.27.7) + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.27.7) '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-regexp-modifiers@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + optional: true + '@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + optional: true + '@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + optional: true + '@babel/plugin-transform-spread@7.27.1(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 @@ -24127,67 +24701,132 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/plugin-transform-spread@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + transitivePeerDependencies: + - supports-color + optional: true + '@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + optional: true + '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + optional: true + '@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-typescript@7.28.0(@babel/core@7.27.7)': + '@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + optional: true + + '@babel/plugin-transform-typescript@7.28.5(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.27.7) + '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.27.7) '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.27.7) transitivePeerDependencies: - supports-color + '@babel/plugin-transform-typescript@7.28.5(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.5) + transitivePeerDependencies: + - supports-color + '@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + optional: true + '@babel/plugin-transform-unicode-property-regex@7.27.1(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.27.7) + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.27.7) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-unicode-property-regex@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) '@babel/helper-plugin-utils': 7.27.1 + optional: true '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.27.7) + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.27.7) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) '@babel/helper-plugin-utils': 7.27.1 + optional: true '@babel/plugin-transform-unicode-sets-regex@7.27.1(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.27.7) + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.27.7) '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-unicode-sets-regex@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + optional: true + '@babel/preset-env@7.27.2(@babel/core@7.27.7)': dependencies: - '@babel/compat-data': 7.28.0 + '@babel/compat-data': 7.28.5 '@babel/core': 7.27.7 '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.27.1(@babel/core@7.27.7) + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.28.5(@babel/core@7.27.7) '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.27.1(@babel/core@7.27.7) '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.27.1(@babel/core@7.27.7) '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.27.1(@babel/core@7.27.7) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.28.3(@babel/core@7.27.7) '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.27.7) '@babel/plugin-syntax-import-assertions': 7.27.1(@babel/core@7.27.7) '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.27.7) @@ -24196,41 +24835,41 @@ snapshots: '@babel/plugin-transform-async-generator-functions': 7.28.0(@babel/core@7.27.7) '@babel/plugin-transform-async-to-generator': 7.27.1(@babel/core@7.27.7) '@babel/plugin-transform-block-scoped-functions': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-block-scoping': 7.28.0(@babel/core@7.27.7) + '@babel/plugin-transform-block-scoping': 7.28.5(@babel/core@7.27.7) '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-class-static-block': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-classes': 7.28.0(@babel/core@7.27.7) + '@babel/plugin-transform-class-static-block': 7.28.3(@babel/core@7.27.7) + '@babel/plugin-transform-classes': 7.28.4(@babel/core@7.27.7) '@babel/plugin-transform-computed-properties': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.27.7) + '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.27.7) '@babel/plugin-transform-dotall-regex': 7.27.1(@babel/core@7.27.7) '@babel/plugin-transform-duplicate-keys': 7.27.1(@babel/core@7.27.7) '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.27.1(@babel/core@7.27.7) '@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-exponentiation-operator': 7.27.1(@babel/core@7.27.7) + '@babel/plugin-transform-exponentiation-operator': 7.28.5(@babel/core@7.27.7) '@babel/plugin-transform-export-namespace-from': 7.27.1(@babel/core@7.27.7) '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.27.7) '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.27.7) '@babel/plugin-transform-json-strings': 7.27.1(@babel/core@7.27.7) '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-logical-assignment-operators': 7.27.1(@babel/core@7.27.7) + '@babel/plugin-transform-logical-assignment-operators': 7.28.5(@babel/core@7.27.7) '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.27.7) '@babel/plugin-transform-modules-amd': 7.27.1(@babel/core@7.27.7) '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-modules-systemjs': 7.27.1(@babel/core@7.27.7) + '@babel/plugin-transform-modules-systemjs': 7.28.5(@babel/core@7.27.7) '@babel/plugin-transform-modules-umd': 7.27.1(@babel/core@7.27.7) '@babel/plugin-transform-named-capturing-groups-regex': 7.27.1(@babel/core@7.27.7) '@babel/plugin-transform-new-target': 7.27.1(@babel/core@7.27.7) '@babel/plugin-transform-nullish-coalescing-operator': 7.27.1(@babel/core@7.27.7) '@babel/plugin-transform-numeric-separator': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-object-rest-spread': 7.28.0(@babel/core@7.27.7) + '@babel/plugin-transform-object-rest-spread': 7.28.4(@babel/core@7.27.7) '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.27.7) '@babel/plugin-transform-optional-catch-binding': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.27.7) + '@babel/plugin-transform-optional-chaining': 7.28.5(@babel/core@7.27.7) '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.27.7) '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.27.7) '@babel/plugin-transform-private-property-in-object': 7.27.1(@babel/core@7.27.7) '@babel/plugin-transform-property-literals': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-regenerator': 7.28.1(@babel/core@7.27.7) + '@babel/plugin-transform-regenerator': 7.28.4(@babel/core@7.27.7) '@babel/plugin-transform-regexp-modifiers': 7.27.1(@babel/core@7.27.7) '@babel/plugin-transform-reserved-words': 7.27.1(@babel/core@7.27.7) '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.27.7) @@ -24246,11 +24885,87 @@ snapshots: babel-plugin-polyfill-corejs2: 0.4.14(@babel/core@7.27.7) babel-plugin-polyfill-corejs3: 0.11.1(@babel/core@7.27.7) babel-plugin-polyfill-regenerator: 0.6.5(@babel/core@7.27.7) - core-js-compat: 3.45.0 + core-js-compat: 3.46.0 semver: 6.3.1 transitivePeerDependencies: - supports-color + '@babel/preset-env@7.27.2(@babel/core@7.28.5)': + dependencies: + '@babel/compat-data': 7.28.5 + '@babel/core': 7.28.5 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-validator-option': 7.27.1 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.28.3(@babel/core@7.28.5) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.5) + '@babel/plugin-syntax-import-assertions': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.28.5) + '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-async-generator-functions': 7.28.0(@babel/core@7.28.5) + '@babel/plugin-transform-async-to-generator': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-block-scoped-functions': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-block-scoping': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-class-static-block': 7.28.3(@babel/core@7.28.5) + '@babel/plugin-transform-classes': 7.28.4(@babel/core@7.28.5) + '@babel/plugin-transform-computed-properties': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-transform-dotall-regex': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-duplicate-keys': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-exponentiation-operator': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-transform-export-namespace-from': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-json-strings': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-logical-assignment-operators': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-modules-amd': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-modules-systemjs': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-transform-modules-umd': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-new-target': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-nullish-coalescing-operator': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-numeric-separator': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-object-rest-spread': 7.28.4(@babel/core@7.28.5) + '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-optional-catch-binding': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-optional-chaining': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.5) + '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-private-property-in-object': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-property-literals': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-regenerator': 7.28.4(@babel/core@7.28.5) + '@babel/plugin-transform-regexp-modifiers': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-reserved-words': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-spread': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-typeof-symbol': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-unicode-escapes': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-unicode-property-regex': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-unicode-sets-regex': 7.27.1(@babel/core@7.28.5) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.28.5) + babel-plugin-polyfill-corejs2: 0.4.14(@babel/core@7.28.5) + babel-plugin-polyfill-corejs3: 0.11.1(@babel/core@7.28.5) + babel-plugin-polyfill-regenerator: 0.6.5(@babel/core@7.28.5) + core-js-compat: 3.46.0 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + optional: true + '@babel/preset-flow@7.27.1(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 @@ -24258,12 +24973,27 @@ snapshots: '@babel/helper-validator-option': 7.27.1 '@babel/plugin-transform-flow-strip-types': 7.27.1(@babel/core@7.27.7) + '@babel/preset-flow@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-validator-option': 7.27.1 + '@babel/plugin-transform-flow-strip-types': 7.27.1(@babel/core@7.28.5) + '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 '@babel/helper-plugin-utils': 7.27.1 - '@babel/types': 7.28.2 + '@babel/types': 7.28.5 + esutils: 2.0.3 + + '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/types': 7.28.5 esutils: 2.0.3 + optional: true '@babel/preset-react@7.27.1(@babel/core@7.27.7)': dependencies: @@ -24277,14 +25007,26 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/preset-typescript@7.22.15(@babel/core@7.27.7)': + '@babel/preset-react@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.27.7) + '@babel/plugin-transform-react-display-name': 7.28.0(@babel/core@7.28.5) + '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-react-jsx-development': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-react-pure-annotations': 7.27.1(@babel/core@7.28.5) + transitivePeerDependencies: + - supports-color + + '@babel/preset-typescript@7.22.15(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-validator-option': 7.27.1 + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-typescript': 7.28.5(@babel/core@7.28.5) transitivePeerDependencies: - supports-color @@ -24295,11 +25037,22 @@ snapshots: '@babel/helper-validator-option': 7.27.1 '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.27.7) '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.27.7) + '@babel/plugin-transform-typescript': 7.28.5(@babel/core@7.27.7) transitivePeerDependencies: - supports-color - '@babel/register@7.27.1(@babel/core@7.27.7)': + '@babel/preset-typescript@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-validator-option': 7.27.1 + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-typescript': 7.28.5(@babel/core@7.28.5) + transitivePeerDependencies: + - supports-color + + '@babel/register@7.28.3(@babel/core@7.27.7)': dependencies: '@babel/core': 7.27.7 clone-deep: 4.0.1 @@ -24308,38 +25061,38 @@ snapshots: pirates: 4.0.7 source-map-support: 0.5.21 - '@babel/runtime-corejs3@7.28.2': + '@babel/runtime-corejs3@7.28.4': dependencies: - core-js-pure: 3.45.0 + core-js-pure: 3.46.0 - '@babel/runtime@7.28.2': {} + '@babel/runtime@7.28.4': {} '@babel/template@7.27.2': dependencies: '@babel/code-frame': 7.27.1 - '@babel/parser': 7.28.0 - '@babel/types': 7.28.2 + '@babel/parser': 7.28.5 + '@babel/types': 7.28.5 - '@babel/traverse@7.28.0': + '@babel/traverse@7.28.5': dependencies: '@babel/code-frame': 7.27.1 - '@babel/generator': 7.28.0 + '@babel/generator': 7.28.5 '@babel/helper-globals': 7.28.0 - '@babel/parser': 7.28.0 + '@babel/parser': 7.28.5 '@babel/template': 7.27.2 - '@babel/types': 7.28.2 - debug: 4.4.1(supports-color@8.1.1) + '@babel/types': 7.28.5 + debug: 4.4.3(supports-color@8.1.1) transitivePeerDependencies: - supports-color - '@babel/types@7.28.2': + '@babel/types@7.28.5': dependencies: '@babel/helper-string-parser': 7.27.1 - '@babel/helper-validator-identifier': 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 '@base2/pretty-print-object@1.0.1': {} - '@bazel/runfiles@6.3.1': {} + '@bazel/runfiles@6.5.0': {} '@bcoe/v8-coverage@0.2.3': {} @@ -24380,190 +25133,213 @@ snapshots: '@biomejs/cli-win32-x64@1.9.4': optional: true + '@cacheable/memoize@2.0.3': + dependencies: + '@cacheable/utils': 2.2.0 + + '@cacheable/memory@2.0.4': + dependencies: + '@cacheable/utils': 2.2.0 + '@keyv/bigmap': 1.1.0(keyv@5.5.3) + hookified: 1.12.2 + keyv: 5.5.3 + + '@cacheable/utils@2.2.0': + dependencies: + keyv: 5.5.3 + '@cnakazawa/watch@1.0.4': dependencies: exec-sh: 0.3.6 minimist: 1.2.8 - '@codemirror/autocomplete@6.18.6': + '@codemirror/autocomplete@6.19.1': dependencies: - '@codemirror/language': 6.11.2 + '@codemirror/language': 6.11.3 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.38.1 - '@lezer/common': 1.2.3 + '@codemirror/view': 6.38.6 + '@lezer/common': 1.3.0 - '@codemirror/commands@6.8.1': + '@codemirror/commands@6.10.0': dependencies: - '@codemirror/language': 6.11.2 + '@codemirror/language': 6.11.3 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.38.1 - '@lezer/common': 1.2.3 + '@codemirror/view': 6.38.6 + '@lezer/common': 1.3.0 '@codemirror/lang-angular@0.1.4': dependencies: '@codemirror/lang-html': 6.4.11 '@codemirror/lang-javascript': 6.2.4 - '@codemirror/language': 6.11.2 - '@lezer/common': 1.2.3 - '@lezer/highlight': 1.2.1 - '@lezer/lr': 1.4.2 + '@codemirror/language': 6.11.3 + '@lezer/common': 1.3.0 + '@lezer/highlight': 1.2.3 + '@lezer/lr': 1.4.3 '@codemirror/lang-cpp@6.0.3': dependencies: - '@codemirror/language': 6.11.2 + '@codemirror/language': 6.11.3 '@lezer/cpp': 1.1.3 '@codemirror/lang-css@6.3.1': dependencies: - '@codemirror/autocomplete': 6.18.6 - '@codemirror/language': 6.11.2 + '@codemirror/autocomplete': 6.19.1 + '@codemirror/language': 6.11.3 '@codemirror/state': 6.5.2 - '@lezer/common': 1.2.3 + '@lezer/common': 1.3.0 '@lezer/css': 1.3.0 '@codemirror/lang-go@6.0.1': dependencies: - '@codemirror/autocomplete': 6.18.6 - '@codemirror/language': 6.11.2 + '@codemirror/autocomplete': 6.19.1 + '@codemirror/language': 6.11.3 '@codemirror/state': 6.5.2 - '@lezer/common': 1.2.3 + '@lezer/common': 1.3.0 '@lezer/go': 1.0.1 '@codemirror/lang-html@6.4.11': dependencies: - '@codemirror/autocomplete': 6.18.6 + '@codemirror/autocomplete': 6.19.1 '@codemirror/lang-css': 6.3.1 '@codemirror/lang-javascript': 6.2.4 - '@codemirror/language': 6.11.2 + '@codemirror/language': 6.11.3 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.38.1 - '@lezer/common': 1.2.3 + '@codemirror/view': 6.38.6 + '@lezer/common': 1.3.0 '@lezer/css': 1.3.0 '@lezer/html': 1.3.12 '@codemirror/lang-java@6.0.2': dependencies: - '@codemirror/language': 6.11.2 + '@codemirror/language': 6.11.3 '@lezer/java': 1.1.3 '@codemirror/lang-javascript@6.2.4': dependencies: - '@codemirror/autocomplete': 6.18.6 - '@codemirror/language': 6.11.2 + '@codemirror/autocomplete': 6.19.1 + '@codemirror/language': 6.11.3 '@codemirror/lint': 6.8.5 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.38.1 - '@lezer/common': 1.2.3 + '@codemirror/view': 6.38.6 + '@lezer/common': 1.3.0 '@lezer/javascript': 1.5.4 + '@codemirror/lang-jinja@6.0.0': + dependencies: + '@codemirror/lang-html': 6.4.11 + '@codemirror/language': 6.11.3 + '@lezer/common': 1.3.0 + '@lezer/highlight': 1.2.3 + '@lezer/lr': 1.4.3 + '@codemirror/lang-json@6.0.2': dependencies: - '@codemirror/language': 6.11.2 + '@codemirror/language': 6.11.3 '@lezer/json': 1.0.3 '@codemirror/lang-less@6.0.2': dependencies: '@codemirror/lang-css': 6.3.1 - '@codemirror/language': 6.11.2 - '@lezer/common': 1.2.3 - '@lezer/highlight': 1.2.1 - '@lezer/lr': 1.4.2 + '@codemirror/language': 6.11.3 + '@lezer/common': 1.3.0 + '@lezer/highlight': 1.2.3 + '@lezer/lr': 1.4.3 '@codemirror/lang-liquid@6.3.0': dependencies: - '@codemirror/autocomplete': 6.18.6 + '@codemirror/autocomplete': 6.19.1 '@codemirror/lang-html': 6.4.11 - '@codemirror/language': 6.11.2 + '@codemirror/language': 6.11.3 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.38.1 - '@lezer/common': 1.2.3 - '@lezer/highlight': 1.2.1 - '@lezer/lr': 1.4.2 + '@codemirror/view': 6.38.6 + '@lezer/common': 1.3.0 + '@lezer/highlight': 1.2.3 + '@lezer/lr': 1.4.3 - '@codemirror/lang-markdown@6.4.0': + '@codemirror/lang-markdown@6.5.0': dependencies: - '@codemirror/autocomplete': 6.18.6 + '@codemirror/autocomplete': 6.19.1 '@codemirror/lang-html': 6.4.11 - '@codemirror/language': 6.11.2 + '@codemirror/language': 6.11.3 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.38.1 - '@lezer/common': 1.2.3 - '@lezer/markdown': 1.4.3 + '@codemirror/view': 6.38.6 + '@lezer/common': 1.3.0 + '@lezer/markdown': 1.6.0 '@codemirror/lang-php@6.0.2': dependencies: '@codemirror/lang-html': 6.4.11 - '@codemirror/language': 6.11.2 + '@codemirror/language': 6.11.3 '@codemirror/state': 6.5.2 - '@lezer/common': 1.2.3 + '@lezer/common': 1.3.0 '@lezer/php': 1.0.5 '@codemirror/lang-python@6.2.1': dependencies: - '@codemirror/autocomplete': 6.18.6 - '@codemirror/language': 6.11.2 + '@codemirror/autocomplete': 6.19.1 + '@codemirror/language': 6.11.3 '@codemirror/state': 6.5.2 - '@lezer/common': 1.2.3 + '@lezer/common': 1.3.0 '@lezer/python': 1.1.18 '@codemirror/lang-rust@6.0.2': dependencies: - '@codemirror/language': 6.11.2 + '@codemirror/language': 6.11.3 '@lezer/rust': 1.0.2 '@codemirror/lang-sass@6.0.2': dependencies: '@codemirror/lang-css': 6.3.1 - '@codemirror/language': 6.11.2 + '@codemirror/language': 6.11.3 '@codemirror/state': 6.5.2 - '@lezer/common': 1.2.3 + '@lezer/common': 1.3.0 '@lezer/sass': 1.1.0 '@codemirror/lang-sql@6.10.0': dependencies: - '@codemirror/autocomplete': 6.18.6 - '@codemirror/language': 6.11.2 + '@codemirror/autocomplete': 6.19.1 + '@codemirror/language': 6.11.3 '@codemirror/state': 6.5.2 - '@lezer/common': 1.2.3 - '@lezer/highlight': 1.2.1 - '@lezer/lr': 1.4.2 + '@lezer/common': 1.3.0 + '@lezer/highlight': 1.2.3 + '@lezer/lr': 1.4.3 '@codemirror/lang-vue@0.1.3': dependencies: '@codemirror/lang-html': 6.4.11 '@codemirror/lang-javascript': 6.2.4 - '@codemirror/language': 6.11.2 - '@lezer/common': 1.2.3 - '@lezer/highlight': 1.2.1 - '@lezer/lr': 1.4.2 + '@codemirror/language': 6.11.3 + '@lezer/common': 1.3.0 + '@lezer/highlight': 1.2.3 + '@lezer/lr': 1.4.3 '@codemirror/lang-wast@6.0.2': dependencies: - '@codemirror/language': 6.11.2 - '@lezer/common': 1.2.3 - '@lezer/highlight': 1.2.1 - '@lezer/lr': 1.4.2 + '@codemirror/language': 6.11.3 + '@lezer/common': 1.3.0 + '@lezer/highlight': 1.2.3 + '@lezer/lr': 1.4.3 '@codemirror/lang-xml@6.1.0': dependencies: - '@codemirror/autocomplete': 6.18.6 - '@codemirror/language': 6.11.2 + '@codemirror/autocomplete': 6.19.1 + '@codemirror/language': 6.11.3 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.38.1 - '@lezer/common': 1.2.3 + '@codemirror/view': 6.38.6 + '@lezer/common': 1.3.0 '@lezer/xml': 1.0.6 '@codemirror/lang-yaml@6.1.2': dependencies: - '@codemirror/autocomplete': 6.18.6 - '@codemirror/language': 6.11.2 + '@codemirror/autocomplete': 6.19.1 + '@codemirror/language': 6.11.3 '@codemirror/state': 6.5.2 - '@lezer/common': 1.2.3 - '@lezer/highlight': 1.2.1 - '@lezer/lr': 1.4.2 + '@lezer/common': 1.3.0 + '@lezer/highlight': 1.2.3 + '@lezer/lr': 1.4.3 '@lezer/yaml': 1.0.3 - '@codemirror/language-data@6.5.1': + '@codemirror/language-data@6.5.2': dependencies: '@codemirror/lang-angular': 0.1.4 '@codemirror/lang-cpp': 6.0.3 @@ -24572,10 +25348,11 @@ snapshots: '@codemirror/lang-html': 6.4.11 '@codemirror/lang-java': 6.0.2 '@codemirror/lang-javascript': 6.2.4 + '@codemirror/lang-jinja': 6.0.0 '@codemirror/lang-json': 6.0.2 '@codemirror/lang-less': 6.0.2 '@codemirror/lang-liquid': 6.3.0 - '@codemirror/lang-markdown': 6.4.0 + '@codemirror/lang-markdown': 6.5.0 '@codemirror/lang-php': 6.0.2 '@codemirror/lang-python': 6.2.1 '@codemirror/lang-rust': 6.0.2 @@ -24585,40 +25362,40 @@ snapshots: '@codemirror/lang-wast': 6.0.2 '@codemirror/lang-xml': 6.1.0 '@codemirror/lang-yaml': 6.1.2 - '@codemirror/language': 6.11.2 + '@codemirror/language': 6.11.3 '@codemirror/legacy-modes': 6.5.2 - '@codemirror/language@6.11.2': + '@codemirror/language@6.11.3': dependencies: '@codemirror/state': 6.5.2 - '@codemirror/view': 6.38.1 - '@lezer/common': 1.2.3 - '@lezer/highlight': 1.2.1 - '@lezer/lr': 1.4.2 - style-mod: 4.1.2 + '@codemirror/view': 6.38.6 + '@lezer/common': 1.3.0 + '@lezer/highlight': 1.2.3 + '@lezer/lr': 1.4.3 + style-mod: 4.1.3 '@codemirror/legacy-modes@6.5.2': dependencies: - '@codemirror/language': 6.11.2 + '@codemirror/language': 6.11.3 '@codemirror/lint@6.8.5': dependencies: '@codemirror/state': 6.5.2 - '@codemirror/view': 6.38.1 + '@codemirror/view': 6.38.6 crelt: 1.0.6 - '@codemirror/merge@6.11.0': + '@codemirror/merge@6.11.1': dependencies: - '@codemirror/language': 6.11.2 + '@codemirror/language': 6.11.3 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.38.1 - '@lezer/highlight': 1.2.1 - style-mod: 4.1.2 + '@codemirror/view': 6.38.6 + '@lezer/highlight': 1.2.3 + style-mod: 4.1.3 '@codemirror/search@6.5.11': dependencies: '@codemirror/state': 6.5.2 - '@codemirror/view': 6.38.1 + '@codemirror/view': 6.38.6 crelt: 1.0.6 '@codemirror/state@6.5.2': @@ -24627,16 +25404,16 @@ snapshots: '@codemirror/theme-one-dark@6.1.3': dependencies: - '@codemirror/language': 6.11.2 + '@codemirror/language': 6.11.3 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.38.1 - '@lezer/highlight': 1.2.1 + '@codemirror/view': 6.38.6 + '@lezer/highlight': 1.2.3 - '@codemirror/view@6.38.1': + '@codemirror/view@6.38.6': dependencies: '@codemirror/state': 6.5.2 crelt: 1.0.6 - style-mod: 4.1.2 + style-mod: 4.1.3 w3c-keyname: 2.2.8 '@codesandbox/nodebox@0.1.8': @@ -24655,16 +25432,16 @@ snapshots: '@codesandbox/sandpack-react@2.20.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@codemirror/autocomplete': 6.18.6 - '@codemirror/commands': 6.8.1 + '@codemirror/autocomplete': 6.19.1 + '@codemirror/commands': 6.10.0 '@codemirror/lang-css': 6.3.1 '@codemirror/lang-html': 6.4.11 '@codemirror/lang-javascript': 6.2.4 - '@codemirror/language': 6.11.2 + '@codemirror/language': 6.11.3 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.38.1 + '@codemirror/view': 6.38.6 '@codesandbox/sandpack-client': 2.19.8 - '@lezer/highlight': 1.2.1 + '@lezer/highlight': 1.2.3 '@react-hook/intersection-observer': 3.1.2(react@18.2.0) '@stitches/core': 1.2.8 anser: 2.3.2 @@ -24701,9 +25478,9 @@ snapshots: dependencies: postcss-selector-parser: 7.1.0 - '@dabh/diagnostics@2.0.3': + '@dabh/diagnostics@2.0.8': dependencies: - colorspace: 1.1.4 + '@so-ric/colorspace': 1.1.6 enabled: 2.0.0 kuler: 2.0.0 @@ -24719,12 +25496,12 @@ snapshots: '@discoveryjs/json-ext@0.6.3': {} - '@dual-bundle/import-meta-resolve@4.1.0': {} + '@dual-bundle/import-meta-resolve@4.2.1': {} '@emotion/babel-plugin@11.13.5': dependencies: '@babel/helper-module-imports': 7.27.1 - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 '@emotion/hash': 0.9.2 '@emotion/memoize': 0.9.0 '@emotion/serialize': 1.3.3 @@ -24762,7 +25539,7 @@ snapshots: '@emotion/memoize': 0.7.4 optional: true - '@emotion/is-prop-valid@1.3.1': + '@emotion/is-prop-valid@1.4.0': dependencies: '@emotion/memoize': 0.9.0 @@ -24771,9 +25548,9 @@ snapshots: '@emotion/memoize@0.9.0': {} - '@emotion/react@11.14.0(@types/react@17.0.87)(react@19.1.0)': + '@emotion/react@11.14.0(@types/react@17.0.89)(react@19.1.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 '@emotion/babel-plugin': 11.13.5 '@emotion/cache': 11.14.0 '@emotion/serialize': 1.3.3 @@ -24783,13 +25560,13 @@ snapshots: hoist-non-react-statics: 3.3.2 react: 19.1.0 optionalDependencies: - '@types/react': 17.0.87 + '@types/react': 17.0.89 transitivePeerDependencies: - supports-color '@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 '@emotion/babel-plugin': 11.13.5 '@emotion/cache': 11.14.0 '@emotion/serialize': 1.3.3 @@ -24805,7 +25582,7 @@ snapshots: '@emotion/react@11.14.0(@types/react@18.2.0)(react@19.1.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 '@emotion/babel-plugin': 11.13.5 '@emotion/cache': 11.14.0 '@emotion/serialize': 1.3.3 @@ -24829,26 +25606,26 @@ snapshots: '@emotion/sheet@1.4.0': {} - '@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@17.0.87)(react@19.1.0))(@types/react@17.0.87)(react@19.1.0)': + '@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@17.0.89)(react@19.1.0))(@types/react@17.0.89)(react@19.1.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 '@emotion/babel-plugin': 11.13.5 - '@emotion/is-prop-valid': 1.3.1 - '@emotion/react': 11.14.0(@types/react@17.0.87)(react@19.1.0) + '@emotion/is-prop-valid': 1.4.0 + '@emotion/react': 11.14.0(@types/react@17.0.89)(react@19.1.0) '@emotion/serialize': 1.3.3 '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.1.0) '@emotion/utils': 1.4.2 react: 19.1.0 optionalDependencies: - '@types/react': 17.0.87 + '@types/react': 17.0.89 transitivePeerDependencies: - supports-color '@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 '@emotion/babel-plugin': 11.13.5 - '@emotion/is-prop-valid': 1.3.1 + '@emotion/is-prop-valid': 1.4.0 '@emotion/react': 11.14.0(@types/react@18.2.0)(react@18.2.0) '@emotion/serialize': 1.3.3 '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@18.2.0) @@ -24861,9 +25638,9 @@ snapshots: '@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@19.1.0))(@types/react@18.2.0)(react@18.2.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 '@emotion/babel-plugin': 11.13.5 - '@emotion/is-prop-valid': 1.3.1 + '@emotion/is-prop-valid': 1.4.0 '@emotion/react': 11.14.0(@types/react@18.2.0)(react@19.1.0) '@emotion/serialize': 1.3.3 '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@18.2.0) @@ -24876,9 +25653,9 @@ snapshots: '@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@19.1.0))(@types/react@18.2.0)(react@19.1.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 '@emotion/babel-plugin': 11.13.5 - '@emotion/is-prop-valid': 1.3.1 + '@emotion/is-prop-valid': 1.4.0 '@emotion/react': 11.14.0(@types/react@18.2.0)(react@19.1.0) '@emotion/serialize': 1.3.3 '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.1.0) @@ -24903,105 +25680,105 @@ snapshots: '@emotion/weak-memoize@0.4.0': {} - '@esbuild/aix-ppc64@0.25.8': + '@esbuild/aix-ppc64@0.25.12': optional: true - '@esbuild/android-arm64@0.25.8': + '@esbuild/android-arm64@0.25.12': optional: true - '@esbuild/android-arm@0.25.8': + '@esbuild/android-arm@0.25.12': optional: true - '@esbuild/android-x64@0.25.8': + '@esbuild/android-x64@0.25.12': optional: true - '@esbuild/darwin-arm64@0.25.8': + '@esbuild/darwin-arm64@0.25.12': optional: true - '@esbuild/darwin-x64@0.25.8': + '@esbuild/darwin-x64@0.25.12': optional: true - '@esbuild/freebsd-arm64@0.25.8': + '@esbuild/freebsd-arm64@0.25.12': optional: true - '@esbuild/freebsd-x64@0.25.8': + '@esbuild/freebsd-x64@0.25.12': optional: true - '@esbuild/linux-arm64@0.25.8': + '@esbuild/linux-arm64@0.25.12': optional: true - '@esbuild/linux-arm@0.25.8': + '@esbuild/linux-arm@0.25.12': optional: true - '@esbuild/linux-ia32@0.25.8': + '@esbuild/linux-ia32@0.25.12': optional: true - '@esbuild/linux-loong64@0.25.8': + '@esbuild/linux-loong64@0.25.12': optional: true - '@esbuild/linux-mips64el@0.25.8': + '@esbuild/linux-mips64el@0.25.12': optional: true - '@esbuild/linux-ppc64@0.25.8': + '@esbuild/linux-ppc64@0.25.12': optional: true - '@esbuild/linux-riscv64@0.25.8': + '@esbuild/linux-riscv64@0.25.12': optional: true - '@esbuild/linux-s390x@0.25.8': + '@esbuild/linux-s390x@0.25.12': optional: true - '@esbuild/linux-x64@0.25.8': + '@esbuild/linux-x64@0.25.12': optional: true - '@esbuild/netbsd-arm64@0.25.8': + '@esbuild/netbsd-arm64@0.25.12': optional: true - '@esbuild/netbsd-x64@0.25.8': + '@esbuild/netbsd-x64@0.25.12': optional: true - '@esbuild/openbsd-arm64@0.25.8': + '@esbuild/openbsd-arm64@0.25.12': optional: true - '@esbuild/openbsd-x64@0.25.8': + '@esbuild/openbsd-x64@0.25.12': optional: true - '@esbuild/openharmony-arm64@0.25.8': + '@esbuild/openharmony-arm64@0.25.12': optional: true - '@esbuild/sunos-x64@0.25.8': + '@esbuild/sunos-x64@0.25.12': optional: true - '@esbuild/win32-arm64@0.25.8': + '@esbuild/win32-arm64@0.25.12': optional: true - '@esbuild/win32-ia32@0.25.8': + '@esbuild/win32-ia32@0.25.12': optional: true - '@esbuild/win32-x64@0.25.8': + '@esbuild/win32-x64@0.25.12': optional: true - '@eslint-community/eslint-utils@4.7.0(eslint@8.57.1)': + '@eslint-community/eslint-utils@4.9.0(eslint@8.57.1)': dependencies: eslint: 8.57.1 eslint-visitor-keys: 3.4.3 - '@eslint-community/eslint-utils@4.7.0(eslint@9.26.0(jiti@2.5.1))': + '@eslint-community/eslint-utils@4.9.0(eslint@9.26.0(jiti@2.6.1))': dependencies: - eslint: 9.26.0(jiti@2.5.1) + eslint: 9.26.0(jiti@2.6.1) eslint-visitor-keys: 3.4.3 - '@eslint-community/eslint-utils@4.7.0(eslint@9.27.0(jiti@2.5.1))': + '@eslint-community/eslint-utils@4.9.0(eslint@9.27.0(jiti@2.6.1))': dependencies: - eslint: 9.27.0(jiti@2.5.1) + eslint: 9.27.0(jiti@2.6.1) eslint-visitor-keys: 3.4.3 - '@eslint-community/regexpp@4.12.1': {} + '@eslint-community/regexpp@4.12.2': {} '@eslint/config-array@0.20.1': dependencies: - '@eslint/object-schema': 2.1.6 - debug: 4.4.1(supports-color@8.1.1) + '@eslint/object-schema': 2.1.7 + debug: 4.4.3(supports-color@8.1.1) minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -25016,14 +25793,14 @@ snapshots: dependencies: '@types/json-schema': 7.0.15 - '@eslint/core@0.15.1': + '@eslint/core@0.15.2': dependencies: '@types/json-schema': 7.0.15 '@eslint/eslintrc@2.1.4': dependencies: ajv: 6.12.6 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) espree: 9.6.1 globals: 13.24.0 ignore: 5.3.2 @@ -25037,7 +25814,7 @@ snapshots: '@eslint/eslintrc@3.3.1': dependencies: ajv: 6.12.6 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) espree: 10.4.0 globals: 14.0.0 ignore: 5.3.2 @@ -25054,11 +25831,11 @@ snapshots: '@eslint/js@9.27.0': {} - '@eslint/object-schema@2.1.6': {} + '@eslint/object-schema@2.1.7': {} - '@eslint/plugin-kit@0.3.4': + '@eslint/plugin-kit@0.3.5': dependencies: - '@eslint/core': 0.15.1 + '@eslint/core': 0.15.2 levn: 0.4.1 '@fal-works/esbuild-plugin-global-externals@2.1.2': {} @@ -25067,43 +25844,43 @@ snapshots: dependencies: '@floating-ui/utils': 0.2.10 - '@floating-ui/dom@1.7.3': + '@floating-ui/dom@1.7.4': dependencies: '@floating-ui/core': 1.7.3 '@floating-ui/utils': 0.2.10 - '@floating-ui/react-dom@2.1.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@floating-ui/react-dom@2.1.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@floating-ui/dom': 1.7.3 + '@floating-ui/dom': 1.7.4 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - '@floating-ui/react-dom@2.1.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@floating-ui/react-dom@2.1.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@floating-ui/dom': 1.7.3 + '@floating-ui/dom': 1.7.4 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@floating-ui/react-dom@2.1.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@floating-ui/react-dom@2.1.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@floating-ui/dom': 1.7.3 + '@floating-ui/dom': 1.7.4 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) '@floating-ui/react@0.26.28(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@floating-ui/react-dom': 2.1.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@floating-ui/react-dom': 2.1.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@floating-ui/utils': 0.2.10 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - tabbable: 6.2.0 + tabbable: 6.3.0 '@floating-ui/utils@0.2.10': {} - '@formatjs/ecma402-abstract@2.3.4': + '@formatjs/ecma402-abstract@2.3.6': dependencies: '@formatjs/fast-memoize': 2.2.7 - '@formatjs/intl-localematcher': 0.6.1 + '@formatjs/intl-localematcher': 0.6.2 decimal.js: 10.6.0 tslib: 2.8.1 @@ -25111,37 +25888,37 @@ snapshots: dependencies: tslib: 2.8.1 - '@formatjs/icu-messageformat-parser@2.11.2': + '@formatjs/icu-messageformat-parser@2.11.4': dependencies: - '@formatjs/ecma402-abstract': 2.3.4 - '@formatjs/icu-skeleton-parser': 1.8.14 + '@formatjs/ecma402-abstract': 2.3.6 + '@formatjs/icu-skeleton-parser': 1.8.16 tslib: 2.8.1 - '@formatjs/icu-skeleton-parser@1.8.14': + '@formatjs/icu-skeleton-parser@1.8.16': dependencies: - '@formatjs/ecma402-abstract': 2.3.4 + '@formatjs/ecma402-abstract': 2.3.6 tslib: 2.8.1 - '@formatjs/intl-localematcher@0.6.1': + '@formatjs/intl-localematcher@0.6.2': dependencies: tslib: 2.8.1 - '@formatjs/intl@3.1.6(typescript@4.9.5)': + '@formatjs/intl@3.1.8(typescript@4.9.5)': dependencies: - '@formatjs/ecma402-abstract': 2.3.4 + '@formatjs/ecma402-abstract': 2.3.6 '@formatjs/fast-memoize': 2.2.7 - '@formatjs/icu-messageformat-parser': 2.11.2 - intl-messageformat: 10.7.16 + '@formatjs/icu-messageformat-parser': 2.11.4 + intl-messageformat: 10.7.18 tslib: 2.8.1 optionalDependencies: typescript: 4.9.5 - '@formatjs/intl@3.1.6(typescript@5.8.3)': + '@formatjs/intl@3.1.8(typescript@5.8.3)': dependencies: - '@formatjs/ecma402-abstract': 2.3.4 + '@formatjs/ecma402-abstract': 2.3.6 '@formatjs/fast-memoize': 2.2.7 - '@formatjs/icu-messageformat-parser': 2.11.2 - intl-messageformat: 10.7.16 + '@formatjs/icu-messageformat-parser': 2.11.4 + intl-messageformat: 10.7.18 tslib: 2.8.1 optionalDependencies: typescript: 5.8.3 @@ -25150,25 +25927,23 @@ snapshots: '@gar/promisify@1.1.3': {} - '@github/markdown-toolbar-element@2.2.3': {} - - '@graphiql/react@0.26.2(@codemirror/language@6.11.2)(@types/node@22.15.35)(@types/react-dom@18.2.0)(@types/react@18.2.0)(graphql@16.11.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@graphiql/react@0.26.2(@codemirror/language@6.11.3)(@types/node@22.15.35)(@types/react-dom@18.2.0)(@types/react@18.2.0)(graphql@16.12.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@graphiql/toolkit': 0.11.3(@types/node@22.15.35)(graphql@16.11.0) + '@graphiql/toolkit': 0.11.3(@types/node@22.15.35)(graphql@16.12.0) '@headlessui/react': 1.7.19(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-dialog': 1.1.14(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-dropdown-menu': 2.1.15(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-tooltip': 1.2.7(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-dialog': 1.1.15(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-dropdown-menu': 2.1.16(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-tooltip': 1.2.8(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@types/codemirror': 5.60.16 + '@types/codemirror': 5.60.17 clsx: 1.2.1 - codemirror: 5.65.19 - codemirror-graphql: 2.2.4(@codemirror/language@6.11.2)(codemirror@5.65.19)(graphql@16.11.0) + codemirror: 5.65.20 + codemirror-graphql: 2.2.4(@codemirror/language@6.11.3)(codemirror@5.65.20)(graphql@16.12.0) copy-to-clipboard: 3.3.3 framer-motion: 6.5.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) get-value: 3.0.1 - graphql: 16.11.0 - graphql-language-service: 5.5.0(graphql@16.11.0) + graphql: 16.12.0 + graphql-language-service: 5.5.0(graphql@16.12.0) markdown-it: 14.1.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -25180,11 +25955,11 @@ snapshots: - '@types/react-dom' - graphql-ws - '@graphiql/toolkit@0.11.3(@types/node@22.15.35)(graphql@16.11.0)': + '@graphiql/toolkit@0.11.3(@types/node@22.15.35)(graphql@16.12.0)': dependencies: '@n1ru4l/push-pull-async-iterable-iterator': 3.2.0 - graphql: 16.11.0 - meros: 1.3.1(@types/node@22.15.35) + graphql: 16.12.0 + meros: 1.3.2(@types/node@22.15.35) transitivePeerDependencies: - '@types/node' @@ -25208,15 +25983,15 @@ snapshots: react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - '@headlessui/react@2.2.7(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@headlessui/react@2.2.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@floating-ui/react': 0.26.28(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@react-aria/focus': 3.21.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@react-aria/interactions': 3.25.4(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@react-aria/focus': 3.21.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@react-aria/interactions': 3.25.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@tanstack/react-virtual': 3.13.12(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - use-sync-external-store: 1.5.0(react@18.2.0) + use-sync-external-store: 1.6.0(react@18.2.0) '@hookform/resolvers@2.9.11(react-hook-form@7.56.4(react@18.2.0))': dependencies: @@ -25231,6 +26006,11 @@ snapshots: '@standard-schema/utils': 0.3.0 react-hook-form: 7.56.4(react@18.2.0) + '@hookform/resolvers@5.2.2(react-hook-form@7.56.4(react@18.2.0))': + dependencies: + '@standard-schema/utils': 0.3.0 + react-hook-form: 7.56.4(react@18.2.0) + '@hookform/resolvers@5.2.2(react-hook-form@7.63.0(react@18.2.0))': dependencies: '@standard-schema/utils': 0.3.0 @@ -25238,15 +26018,15 @@ snapshots: '@humanfs/core@0.19.1': {} - '@humanfs/node@0.16.6': + '@humanfs/node@0.16.7': dependencies: '@humanfs/core': 0.19.1 - '@humanwhocodes/retry': 0.3.1 + '@humanwhocodes/retry': 0.4.3 '@humanwhocodes/config-array@0.13.0': dependencies: '@humanwhocodes/object-schema': 2.0.3 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -25255,8 +26035,6 @@ snapshots: '@humanwhocodes/object-schema@2.0.3': {} - '@humanwhocodes/retry@0.3.1': {} - '@humanwhocodes/retry@0.4.3': {} '@iarna/toml@2.2.5': {} @@ -25271,7 +26049,7 @@ snapshots: dependencies: string-width: 5.1.2 string-width-cjs: string-width@4.2.3 - strip-ansi: 7.1.0 + strip-ansi: 7.1.2 strip-ansi-cjs: strip-ansi@6.0.1 wrap-ansi: 8.1.0 wrap-ansi-cjs: wrap-ansi@7.0.0 @@ -25339,7 +26117,7 @@ snapshots: - supports-color - utf-8-validate - '@jest/core@29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3))': + '@jest/core@29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.14.0(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3))': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 @@ -25353,7 +26131,7 @@ snapshots: exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)) + jest-config: 29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.14.0(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -25438,7 +26216,7 @@ snapshots: '@jest/transform': 25.5.1 '@jest/types': 25.5.0 chalk: 3.0.0 - collect-v8-coverage: 1.0.2 + collect-v8-coverage: 1.0.3 exit: 0.1.2 glob: 7.2.3 graceful-fs: 4.2.11 @@ -25446,7 +26224,7 @@ snapshots: istanbul-lib-instrument: 4.0.3 istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 4.0.1 - istanbul-reports: 3.1.7 + istanbul-reports: 3.2.0 jest-haste-map: 25.5.1 jest-resolve: 25.5.1 jest-util: 25.5.0 @@ -25468,10 +26246,10 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@jridgewell/trace-mapping': 0.3.29 + '@jridgewell/trace-mapping': 0.3.31 '@types/node': 22.15.35 chalk: 4.1.2 - collect-v8-coverage: 1.0.2 + collect-v8-coverage: 1.0.3 exit: 0.1.2 glob: 7.2.3 graceful-fs: 4.2.11 @@ -25479,7 +26257,7 @@ snapshots: istanbul-lib-instrument: 6.0.3 istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 4.0.1 - istanbul-reports: 3.1.7 + istanbul-reports: 3.2.0 jest-message-util: 29.7.0 jest-util: 29.7.0 jest-worker: 29.7.0 @@ -25502,7 +26280,7 @@ snapshots: '@jest/source-map@29.6.3': dependencies: - '@jridgewell/trace-mapping': 0.3.29 + '@jridgewell/trace-mapping': 0.3.31 callsites: 3.1.0 graceful-fs: 4.2.11 @@ -25511,14 +26289,14 @@ snapshots: '@jest/console': 25.5.0 '@jest/types': 25.5.0 '@types/istanbul-lib-coverage': 2.0.6 - collect-v8-coverage: 1.0.2 + collect-v8-coverage: 1.0.3 '@jest/test-result@29.7.0': dependencies: '@jest/console': 29.7.0 '@jest/types': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 - collect-v8-coverage: 1.0.2 + collect-v8-coverage: 1.0.3 '@jest/test-sequencer@25.5.4': dependencies: @@ -25585,7 +26363,7 @@ snapshots: dependencies: '@babel/core': 7.27.7 '@jest/types': 29.6.3 - '@jridgewell/trace-mapping': 0.3.29 + '@jridgewell/trace-mapping': 0.3.31 babel-plugin-istanbul: 6.1.1 chalk: 4.1.2 convert-source-map: 2.0.0 @@ -25622,40 +26400,45 @@ snapshots: '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 '@types/node': 22.15.35 - '@types/yargs': 17.0.33 + '@types/yargs': 17.0.34 chalk: 4.1.2 '@joshwooding/vite-plugin-react-docgen-typescript@0.6.1(typescript@5.8.3)': dependencies: glob: 10.4.5 - magic-string: 0.30.17 + magic-string: 0.30.21 react-docgen-typescript: 2.4.0(typescript@5.8.3) optionalDependencies: typescript: 5.8.3 - '@jridgewell/gen-mapping@0.3.12': + '@jridgewell/gen-mapping@0.3.13': dependencies: - '@jridgewell/sourcemap-codec': 1.5.4 - '@jridgewell/trace-mapping': 0.3.29 + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/remapping@2.3.5': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 '@jridgewell/resolve-uri@3.1.2': {} - '@jridgewell/source-map@0.3.10': + '@jridgewell/source-map@0.3.11': dependencies: - '@jridgewell/gen-mapping': 0.3.12 - '@jridgewell/trace-mapping': 0.3.29 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 - '@jridgewell/sourcemap-codec@1.5.4': {} + '@jridgewell/sourcemap-codec@1.5.5': {} - '@jridgewell/trace-mapping@0.3.29': + '@jridgewell/trace-mapping@0.3.31': dependencies: '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.4 + '@jridgewell/sourcemap-codec': 1.5.5 '@jridgewell/trace-mapping@0.3.9': dependencies: '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.4 + '@jridgewell/sourcemap-codec': 1.5.5 '@jsdevtools/ono@7.1.3': {} @@ -25663,7 +26446,7 @@ snapshots: dependencies: tslib: 2.8.1 - '@jsonjoy.com/buffers@1.0.0(tslib@2.8.1)': + '@jsonjoy.com/buffers@1.2.1(tslib@2.8.1)': dependencies: tslib: 2.8.1 @@ -25671,29 +26454,38 @@ snapshots: dependencies: tslib: 2.8.1 - '@jsonjoy.com/json-pack@1.8.0(tslib@2.8.1)': + '@jsonjoy.com/json-pack@1.21.0(tslib@2.8.1)': dependencies: '@jsonjoy.com/base64': 1.1.2(tslib@2.8.1) - '@jsonjoy.com/json-pointer': 1.0.1(tslib@2.8.1) + '@jsonjoy.com/buffers': 1.2.1(tslib@2.8.1) + '@jsonjoy.com/codegen': 1.0.0(tslib@2.8.1) + '@jsonjoy.com/json-pointer': 1.0.2(tslib@2.8.1) '@jsonjoy.com/util': 1.9.0(tslib@2.8.1) hyperdyperid: 1.2.0 - thingies: 1.21.0(tslib@2.8.1) + thingies: 2.5.0(tslib@2.8.1) + tree-dump: 1.1.0(tslib@2.8.1) tslib: 2.8.1 - '@jsonjoy.com/json-pointer@1.0.1(tslib@2.8.1)': + '@jsonjoy.com/json-pointer@1.0.2(tslib@2.8.1)': dependencies: + '@jsonjoy.com/codegen': 1.0.0(tslib@2.8.1) '@jsonjoy.com/util': 1.9.0(tslib@2.8.1) tslib: 2.8.1 '@jsonjoy.com/util@1.9.0(tslib@2.8.1)': dependencies: - '@jsonjoy.com/buffers': 1.0.0(tslib@2.8.1) + '@jsonjoy.com/buffers': 1.2.1(tslib@2.8.1) '@jsonjoy.com/codegen': 1.0.0(tslib@2.8.1) tslib: 2.8.1 '@juggle/resize-observer@3.4.0': {} - '@keyv/serialize@1.1.0': {} + '@keyv/bigmap@1.1.0(keyv@5.5.3)': + dependencies: + hookified: 1.12.2 + keyv: 5.5.3 + + '@keyv/serialize@1.1.1': {} '@leichtgewicht/ip-codec@2.0.5': {} @@ -25841,98 +26633,98 @@ snapshots: '@lexical/offset': 0.17.1 lexical: 0.17.1 - '@lezer/common@1.2.3': {} + '@lezer/common@1.3.0': {} '@lezer/cpp@1.1.3': dependencies: - '@lezer/common': 1.2.3 - '@lezer/highlight': 1.2.1 - '@lezer/lr': 1.4.2 + '@lezer/common': 1.3.0 + '@lezer/highlight': 1.2.3 + '@lezer/lr': 1.4.3 '@lezer/css@1.3.0': dependencies: - '@lezer/common': 1.2.3 - '@lezer/highlight': 1.2.1 - '@lezer/lr': 1.4.2 + '@lezer/common': 1.3.0 + '@lezer/highlight': 1.2.3 + '@lezer/lr': 1.4.3 '@lezer/go@1.0.1': dependencies: - '@lezer/common': 1.2.3 - '@lezer/highlight': 1.2.1 - '@lezer/lr': 1.4.2 + '@lezer/common': 1.3.0 + '@lezer/highlight': 1.2.3 + '@lezer/lr': 1.4.3 - '@lezer/highlight@1.2.1': + '@lezer/highlight@1.2.3': dependencies: - '@lezer/common': 1.2.3 + '@lezer/common': 1.3.0 '@lezer/html@1.3.12': dependencies: - '@lezer/common': 1.2.3 - '@lezer/highlight': 1.2.1 - '@lezer/lr': 1.4.2 + '@lezer/common': 1.3.0 + '@lezer/highlight': 1.2.3 + '@lezer/lr': 1.4.3 '@lezer/java@1.1.3': dependencies: - '@lezer/common': 1.2.3 - '@lezer/highlight': 1.2.1 - '@lezer/lr': 1.4.2 + '@lezer/common': 1.3.0 + '@lezer/highlight': 1.2.3 + '@lezer/lr': 1.4.3 '@lezer/javascript@1.5.4': dependencies: - '@lezer/common': 1.2.3 - '@lezer/highlight': 1.2.1 - '@lezer/lr': 1.4.2 + '@lezer/common': 1.3.0 + '@lezer/highlight': 1.2.3 + '@lezer/lr': 1.4.3 '@lezer/json@1.0.3': dependencies: - '@lezer/common': 1.2.3 - '@lezer/highlight': 1.2.1 - '@lezer/lr': 1.4.2 + '@lezer/common': 1.3.0 + '@lezer/highlight': 1.2.3 + '@lezer/lr': 1.4.3 - '@lezer/lr@1.4.2': + '@lezer/lr@1.4.3': dependencies: - '@lezer/common': 1.2.3 + '@lezer/common': 1.3.0 - '@lezer/markdown@1.4.3': + '@lezer/markdown@1.6.0': dependencies: - '@lezer/common': 1.2.3 - '@lezer/highlight': 1.2.1 + '@lezer/common': 1.3.0 + '@lezer/highlight': 1.2.3 '@lezer/php@1.0.5': dependencies: - '@lezer/common': 1.2.3 - '@lezer/highlight': 1.2.1 - '@lezer/lr': 1.4.2 + '@lezer/common': 1.3.0 + '@lezer/highlight': 1.2.3 + '@lezer/lr': 1.4.3 '@lezer/python@1.1.18': dependencies: - '@lezer/common': 1.2.3 - '@lezer/highlight': 1.2.1 - '@lezer/lr': 1.4.2 + '@lezer/common': 1.3.0 + '@lezer/highlight': 1.2.3 + '@lezer/lr': 1.4.3 '@lezer/rust@1.0.2': dependencies: - '@lezer/common': 1.2.3 - '@lezer/highlight': 1.2.1 - '@lezer/lr': 1.4.2 + '@lezer/common': 1.3.0 + '@lezer/highlight': 1.2.3 + '@lezer/lr': 1.4.3 '@lezer/sass@1.1.0': dependencies: - '@lezer/common': 1.2.3 - '@lezer/highlight': 1.2.1 - '@lezer/lr': 1.4.2 + '@lezer/common': 1.3.0 + '@lezer/highlight': 1.2.3 + '@lezer/lr': 1.4.3 '@lezer/xml@1.0.6': dependencies: - '@lezer/common': 1.2.3 - '@lezer/highlight': 1.2.1 - '@lezer/lr': 1.4.2 + '@lezer/common': 1.3.0 + '@lezer/highlight': 1.2.3 + '@lezer/lr': 1.4.3 '@lezer/yaml@1.0.3': dependencies: - '@lezer/common': 1.2.3 - '@lezer/highlight': 1.2.1 - '@lezer/lr': 1.4.2 + '@lezer/common': 1.3.0 + '@lezer/highlight': 1.2.3 + '@lezer/lr': 1.4.3 '@marijn/find-cluster-break@1.0.2': {} @@ -25976,7 +26768,7 @@ snapshots: '@types/react': 18.2.0 react: 19.1.0 - '@mdx-js/react@3.1.0(@types/react@18.2.0)(react@19.1.0)': + '@mdx-js/react@3.1.1(@types/react@18.2.0)(react@19.1.0)': dependencies: '@types/mdx': 2.0.13 '@types/react': 18.2.0 @@ -25984,13 +26776,13 @@ snapshots: '@mdx-js/util@1.6.22': {} - '@mdxeditor/editor@3.14.0(@codemirror/language@6.11.2)(@lezer/highlight@1.2.1)(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@mdxeditor/editor@3.14.0(@codemirror/language@6.11.3)(@lezer/highlight@1.2.3)(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@codemirror/lang-markdown': 6.4.0 - '@codemirror/language-data': 6.5.1 - '@codemirror/merge': 6.11.0 + '@codemirror/lang-markdown': 6.5.0 + '@codemirror/language-data': 6.5.2 + '@codemirror/merge': 6.11.1 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.38.1 + '@codemirror/view': 6.38.6 '@codesandbox/sandpack-react': 2.20.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@lexical/clipboard': 0.17.1 '@lexical/link': 0.17.1 @@ -26003,15 +26795,15 @@ snapshots: '@lexical/utils': 0.17.1 '@mdxeditor/gurx': 1.2.4(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/colors': 3.0.0 - '@radix-ui/react-dialog': 1.1.14(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-dialog': 1.1.15(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-icons': 1.3.2(react@18.2.0) '@radix-ui/react-popover': 1.1.15(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-select': 2.2.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-toggle-group': 1.1.10(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-toolbar': 1.1.10(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-tooltip': 1.2.7(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-toggle-group': 1.1.11(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-toolbar': 1.1.11(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-tooltip': 1.2.8(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) classnames: 2.5.1 - cm6-theme-basic-light: 0.2.0(@codemirror/language@6.11.2)(@codemirror/state@6.5.2)(@codemirror/view@6.38.1)(@lezer/highlight@1.2.1) + cm6-theme-basic-light: 0.2.0(@codemirror/language@6.11.3)(@codemirror/state@6.5.2)(@codemirror/view@6.38.6)(@lezer/highlight@1.2.3) codemirror: 6.0.2 downshift: 7.6.2(react@18.2.0) js-yaml: 4.1.0 @@ -26053,9 +26845,9 @@ snapshots: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - '@microsoft/1ds-core-js@4.3.9(tslib@2.8.1)': + '@microsoft/1ds-core-js@4.3.10(tslib@2.8.1)': dependencies: - '@microsoft/applicationinsights-core-js': 3.3.9(tslib@2.8.1) + '@microsoft/applicationinsights-core-js': 3.3.10(tslib@2.8.1) '@microsoft/applicationinsights-shims': 3.0.1 '@microsoft/dynamicproto-js': 2.0.3 '@nevware21/ts-async': 0.5.4 @@ -26063,9 +26855,9 @@ snapshots: transitivePeerDependencies: - tslib - '@microsoft/1ds-post-js@4.3.9(tslib@2.8.1)': + '@microsoft/1ds-post-js@4.3.10(tslib@2.8.1)': dependencies: - '@microsoft/1ds-core-js': 4.3.9(tslib@2.8.1) + '@microsoft/1ds-core-js': 4.3.10(tslib@2.8.1) '@microsoft/applicationinsights-shims': 3.0.1 '@microsoft/dynamicproto-js': 2.0.3 '@nevware21/ts-async': 0.5.4 @@ -26073,25 +26865,25 @@ snapshots: transitivePeerDependencies: - tslib - '@microsoft/applicationinsights-channel-js@3.3.9(tslib@2.8.1)': + '@microsoft/applicationinsights-channel-js@3.3.10(tslib@2.8.1)': dependencies: - '@microsoft/applicationinsights-common': 3.3.9(tslib@2.8.1) - '@microsoft/applicationinsights-core-js': 3.3.9(tslib@2.8.1) + '@microsoft/applicationinsights-common': 3.3.10(tslib@2.8.1) + '@microsoft/applicationinsights-core-js': 3.3.10(tslib@2.8.1) '@microsoft/applicationinsights-shims': 3.0.1 '@microsoft/dynamicproto-js': 2.0.3 '@nevware21/ts-async': 0.5.4 '@nevware21/ts-utils': 0.12.5 tslib: 2.8.1 - '@microsoft/applicationinsights-common@3.3.9(tslib@2.8.1)': + '@microsoft/applicationinsights-common@3.3.10(tslib@2.8.1)': dependencies: - '@microsoft/applicationinsights-core-js': 3.3.9(tslib@2.8.1) + '@microsoft/applicationinsights-core-js': 3.3.10(tslib@2.8.1) '@microsoft/applicationinsights-shims': 3.0.1 '@microsoft/dynamicproto-js': 2.0.3 '@nevware21/ts-utils': 0.12.5 tslib: 2.8.1 - '@microsoft/applicationinsights-core-js@3.3.9(tslib@2.8.1)': + '@microsoft/applicationinsights-core-js@3.3.10(tslib@2.8.1)': dependencies: '@microsoft/applicationinsights-shims': 3.0.1 '@microsoft/dynamicproto-js': 2.0.3 @@ -26103,11 +26895,11 @@ snapshots: dependencies: '@nevware21/ts-utils': 0.12.5 - '@microsoft/applicationinsights-web-basic@3.3.9(tslib@2.8.1)': + '@microsoft/applicationinsights-web-basic@3.3.10(tslib@2.8.1)': dependencies: - '@microsoft/applicationinsights-channel-js': 3.3.9(tslib@2.8.1) - '@microsoft/applicationinsights-common': 3.3.9(tslib@2.8.1) - '@microsoft/applicationinsights-core-js': 3.3.9(tslib@2.8.1) + '@microsoft/applicationinsights-channel-js': 3.3.10(tslib@2.8.1) + '@microsoft/applicationinsights-common': 3.3.10(tslib@2.8.1) + '@microsoft/applicationinsights-core-js': 3.3.10(tslib@2.8.1) '@microsoft/applicationinsights-shims': 3.0.1 '@microsoft/dynamicproto-js': 2.0.3 '@nevware21/ts-async': 0.5.4 @@ -26156,7 +26948,7 @@ snapshots: dependencies: '@modelcontextprotocol/sdk': 1.21.0 '@radix-ui/react-checkbox': 1.3.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-dialog': 1.1.14(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-dialog': 1.1.15(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-icons': 1.3.2(react@18.3.1) '@radix-ui/react-label': 2.1.7(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-popover': 1.1.15(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -26165,7 +26957,7 @@ snapshots: '@radix-ui/react-switch': 1.2.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-tabs': 1.1.13(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-toast': 1.2.15(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-tooltip': 1.2.7(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-tooltip': 1.2.8(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) ajv: 6.12.6 class-variance-authority: 0.7.1 clsx: 2.1.1 @@ -26200,7 +26992,7 @@ snapshots: - supports-color - utf-8-validate - '@modelcontextprotocol/inspector@0.17.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.18)(@types/react-dom@18.2.0)(@types/react@18.2.0)(typescript@5.8.3)': + '@modelcontextprotocol/inspector@0.17.2(@swc/core@1.14.0(@swc/helpers@0.5.17))(@types/node@22.15.18)(@types/react-dom@18.2.0)(@types/react@18.2.0)(typescript@5.8.3)': dependencies: '@modelcontextprotocol/inspector-cli': 0.17.2 '@modelcontextprotocol/inspector-client': 0.17.2(@types/react-dom@18.2.0)(@types/react@18.2.0) @@ -26211,7 +27003,7 @@ snapshots: open: 10.2.0 shell-quote: 1.8.3 spawn-rx: 5.1.2 - ts-node: 10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.18)(typescript@5.8.3) + ts-node: 10.9.2(@swc/core@1.14.0(@swc/helpers@0.5.17))(@types/node@22.15.18)(typescript@5.8.3) zod: 3.25.76 transitivePeerDependencies: - '@cfworker/json-schema' @@ -26225,23 +27017,6 @@ snapshots: - typescript - utf-8-validate - '@modelcontextprotocol/sdk@1.17.1': - dependencies: - ajv: 6.12.6 - content-type: 1.0.5 - cors: 2.8.5 - cross-spawn: 7.0.6 - eventsource: 3.0.7 - eventsource-parser: 3.0.6 - express: 5.1.0 - express-rate-limit: 7.5.1(express@5.1.0) - pkce-challenge: 5.0.0 - raw-body: 3.0.0 - zod: 3.25.76 - zod-to-json-schema: 3.24.6(zod@3.25.76) - transitivePeerDependencies: - - supports-color - '@modelcontextprotocol/sdk@1.21.0': dependencies: ajv: 8.17.1 @@ -26254,26 +27029,26 @@ snapshots: express: 5.1.0 express-rate-limit: 7.5.1(express@5.1.0) pkce-challenge: 5.0.0 - raw-body: 3.0.0 + raw-body: 3.0.1 zod: 3.25.76 zod-to-json-schema: 3.24.6(zod@3.25.76) transitivePeerDependencies: - supports-color - '@monaco-editor/loader@1.5.0': + '@monaco-editor/loader@1.6.1': dependencies: state-local: 1.0.7 '@monaco-editor/react@4.7.0(monaco-editor@0.52.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@monaco-editor/loader': 1.5.0 + '@monaco-editor/loader': 1.6.1 monaco-editor: 0.52.2 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) '@monaco-editor/react@4.7.0(monaco-editor@0.52.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@monaco-editor/loader': 1.5.0 + '@monaco-editor/loader': 1.6.1 monaco-editor: 0.52.2 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) @@ -26326,6 +27101,7 @@ snapshots: pump: 3.0.3 tar-fs: 3.1.1 transitivePeerDependencies: + - bare-abort-controller - bare-buffer - react-native-b4a @@ -26352,12 +27128,12 @@ snapshots: '@npmcli/fs@1.1.1': dependencies: '@gar/promisify': 1.1.3 - semver: 7.7.2 + semver: 7.7.3 '@npmcli/fs@2.1.2': dependencies: '@gar/promisify': 1.1.3 - semver: 7.7.2 + semver: 7.7.3 '@npmcli/move-file@1.1.2': dependencies: @@ -26458,105 +27234,105 @@ snapshots: dependencies: playwright: 1.55.1 - '@pmmmwh/react-refresh-webpack-plugin@0.5.17(@types/webpack@5.28.5(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.2)(webpack-hot-middleware@2.26.1)(webpack@5.101.0)': + '@pmmmwh/react-refresh-webpack-plugin@0.5.17(@types/webpack@5.28.5(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.2)(webpack-hot-middleware@2.26.1)(webpack@5.102.1)': dependencies: ansi-html: 0.0.9 - core-js-pure: 3.45.0 + core-js-pure: 3.46.0 error-stack-parser: 2.1.4 html-entities: 2.6.0 loader-utils: 2.0.4 react-refresh: 0.11.0 - schema-utils: 4.3.2 + schema-utils: 4.3.3 source-map: 0.7.6 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1) optionalDependencies: - '@types/webpack': 5.28.5(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + '@types/webpack': 5.28.5(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1) type-fest: 4.41.0 - webpack-dev-server: 5.2.2(webpack-cli@6.0.1)(webpack@5.101.0) + webpack-dev-server: 5.2.2(webpack-cli@6.0.1)(webpack@5.102.1) webpack-hot-middleware: 2.26.1 - '@pmmmwh/react-refresh-webpack-plugin@0.5.17(@types/webpack@5.28.5(@swc/core@1.13.3(@swc/helpers@0.5.17)))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.2(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))))(webpack-hot-middleware@2.26.1)(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)))': + '@pmmmwh/react-refresh-webpack-plugin@0.5.17(@types/webpack@5.28.5(@swc/core@1.14.0(@swc/helpers@0.5.17)))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.2(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))))(webpack-hot-middleware@2.26.1)(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17)))': dependencies: ansi-html: 0.0.9 - core-js-pure: 3.45.0 + core-js-pure: 3.46.0 error-stack-parser: 2.1.4 html-entities: 2.6.0 loader-utils: 2.0.4 react-refresh: 0.11.0 - schema-utils: 4.3.2 + schema-utils: 4.3.3 source-map: 0.7.6 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17)) optionalDependencies: - '@types/webpack': 5.28.5(@swc/core@1.13.3(@swc/helpers@0.5.17)) + '@types/webpack': 5.28.5(@swc/core@1.14.0(@swc/helpers@0.5.17)) type-fest: 4.41.0 - webpack-dev-server: 5.2.2(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + webpack-dev-server: 5.2.2(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))) webpack-hot-middleware: 2.26.1 - '@pmmmwh/react-refresh-webpack-plugin@0.5.17(@types/webpack@5.28.5(webpack-cli@4.10.0))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.2)(webpack-hot-middleware@2.26.1)(webpack@5.101.0)': + '@pmmmwh/react-refresh-webpack-plugin@0.5.17(@types/webpack@5.28.5(webpack-cli@4.10.0))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.2)(webpack-hot-middleware@2.26.1)(webpack@5.102.1)': dependencies: ansi-html: 0.0.9 - core-js-pure: 3.45.0 + core-js-pure: 3.46.0 error-stack-parser: 2.1.4 html-entities: 2.6.0 loader-utils: 2.0.4 react-refresh: 0.11.0 - schema-utils: 4.3.2 + schema-utils: 4.3.3 source-map: 0.7.6 - webpack: 5.101.0(webpack-cli@4.10.0) + webpack: 5.102.1(webpack-cli@4.10.0) optionalDependencies: '@types/webpack': 5.28.5(webpack-cli@4.10.0) type-fest: 4.41.0 - webpack-dev-server: 5.2.2(webpack-cli@4.10.0)(webpack@5.101.0) + webpack-dev-server: 5.2.2(webpack-cli@4.10.0)(webpack@5.102.1) webpack-hot-middleware: 2.26.1 - '@pmmmwh/react-refresh-webpack-plugin@0.5.17(@types/webpack@5.28.5(webpack-cli@5.1.4))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.2)(webpack-hot-middleware@2.26.1)(webpack@5.101.0)': + '@pmmmwh/react-refresh-webpack-plugin@0.5.17(@types/webpack@5.28.5(webpack-cli@5.1.4))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.2)(webpack-hot-middleware@2.26.1)(webpack@5.102.1)': dependencies: ansi-html: 0.0.9 - core-js-pure: 3.45.0 + core-js-pure: 3.46.0 error-stack-parser: 2.1.4 html-entities: 2.6.0 loader-utils: 2.0.4 react-refresh: 0.11.0 - schema-utils: 4.3.2 + schema-utils: 4.3.3 source-map: 0.7.6 - webpack: 5.101.0(webpack-cli@5.1.4) + webpack: 5.102.1(webpack-cli@5.1.4) optionalDependencies: '@types/webpack': 5.28.5(webpack-cli@5.1.4) type-fest: 4.41.0 - webpack-dev-server: 5.2.2(webpack-cli@5.1.4)(webpack@5.101.0) + webpack-dev-server: 5.2.2(webpack-cli@5.1.4)(webpack@5.102.1) webpack-hot-middleware: 2.26.1 - '@pmmmwh/react-refresh-webpack-plugin@0.5.17(@types/webpack@5.28.5)(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.2(webpack@5.101.0))(webpack-hot-middleware@2.26.1)(webpack@5.101.0)': + '@pmmmwh/react-refresh-webpack-plugin@0.5.17(@types/webpack@5.28.5)(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.2(webpack@5.102.1))(webpack-hot-middleware@2.26.1)(webpack@5.102.1)': dependencies: ansi-html: 0.0.9 - core-js-pure: 3.45.0 + core-js-pure: 3.46.0 error-stack-parser: 2.1.4 html-entities: 2.6.0 loader-utils: 2.0.4 react-refresh: 0.11.0 - schema-utils: 4.3.2 + schema-utils: 4.3.3 source-map: 0.7.6 - webpack: 5.101.0(webpack-cli@4.10.0) + webpack: 5.102.1(webpack-cli@4.10.0) optionalDependencies: '@types/webpack': 5.28.5 type-fest: 4.41.0 - webpack-dev-server: 5.2.2(webpack@5.101.0) + webpack-dev-server: 5.2.2(webpack@5.102.1) webpack-hot-middleware: 2.26.1 - '@pmmmwh/react-refresh-webpack-plugin@0.6.1(@types/webpack@5.28.5(webpack-cli@5.1.4))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.2)(webpack-hot-middleware@2.26.1)(webpack@5.101.0)': + '@pmmmwh/react-refresh-webpack-plugin@0.6.1(@types/webpack@5.28.5(webpack-cli@5.1.4))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.2)(webpack-hot-middleware@2.26.1)(webpack@5.102.1)': dependencies: anser: 2.3.2 - core-js-pure: 3.45.0 + core-js-pure: 3.46.0 error-stack-parser: 2.1.4 html-entities: 2.6.0 react-refresh: 0.11.0 - schema-utils: 4.3.2 + schema-utils: 4.3.3 source-map: 0.7.6 - webpack: 5.101.0(webpack-cli@5.1.4) + webpack: 5.102.1(webpack-cli@5.1.4) optionalDependencies: '@types/webpack': 5.28.5(webpack-cli@5.1.4) type-fest: 4.41.0 - webpack-dev-server: 5.2.2(webpack-cli@5.1.4)(webpack@5.101.0) + webpack-dev-server: 5.2.2(webpack-cli@5.1.4)(webpack@5.102.1) webpack-hot-middleware: 2.26.1 '@projectstorm/geometry@6.7.4': {} @@ -26754,21 +27530,19 @@ snapshots: '@radix-ui/number@1.0.1': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 '@radix-ui/number@1.1.1': {} '@radix-ui/primitive@1.0.1': dependencies: - '@babel/runtime': 7.28.2 - - '@radix-ui/primitive@1.1.2': {} + '@babel/runtime': 7.28.4 '@radix-ui/primitive@1.1.3': {} '@radix-ui/react-arrow@1.0.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -26778,7 +27552,7 @@ snapshots: '@radix-ui/react-arrow@1.0.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) @@ -26822,7 +27596,7 @@ snapshots: '@radix-ui/react-collection@1.0.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.0)(react@18.2.0) '@radix-ui/react-context': 1.0.1(@types/react@18.2.0)(react@18.2.0) '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -26835,7 +27609,7 @@ snapshots: '@radix-ui/react-collection@1.0.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.0)(react@19.1.0) '@radix-ui/react-context': 1.0.1(@types/react@18.2.0)(react@19.1.0) '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -26884,14 +27658,14 @@ snapshots: '@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.0)(react@18.2.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 react: 18.2.0 optionalDependencies: '@types/react': 18.2.0 '@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.0)(react@19.1.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 react: 19.1.0 optionalDependencies: '@types/react': 18.2.0 @@ -26916,14 +27690,14 @@ snapshots: '@radix-ui/react-context@1.0.1(@types/react@18.2.0)(react@18.2.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 react: 18.2.0 optionalDependencies: '@types/react': 18.2.0 '@radix-ui/react-context@1.0.1(@types/react@18.2.0)(react@19.1.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 react: 19.1.0 optionalDependencies: '@types/react': 18.2.0 @@ -26946,17 +27720,17 @@ snapshots: optionalDependencies: '@types/react': 18.2.0 - '@radix-ui/react-dialog@1.1.14(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@radix-ui/react-dialog@1.1.15(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@radix-ui/primitive': 1.1.2 + '@radix-ui/primitive': 1.1.3 '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.2.0)(react@18.2.0) '@radix-ui/react-context': 1.1.2(@types/react@18.2.0)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.1.10(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-focus-guards': 1.1.2(@types/react@18.2.0)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-focus-guards': 1.1.3(@types/react@18.2.0)(react@18.2.0) '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-id': 1.1.1(@types/react@18.2.0)(react@18.2.0) '@radix-ui/react-portal': 1.1.9(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-presence': 1.1.4(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-slot': 1.2.3(@types/react@18.2.0)(react@18.2.0) '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.2.0)(react@18.2.0) @@ -26968,17 +27742,17 @@ snapshots: '@types/react': 18.2.0 '@types/react-dom': 18.2.0 - '@radix-ui/react-dialog@1.1.14(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-dialog@1.1.15(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/primitive': 1.1.2 + '@radix-ui/primitive': 1.1.3 '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.2.0)(react@18.3.1) '@radix-ui/react-context': 1.1.2(@types/react@18.2.0)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.1.10(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-focus-guards': 1.1.2(@types/react@18.2.0)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-focus-guards': 1.1.3(@types/react@18.2.0)(react@18.3.1) '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-id': 1.1.1(@types/react@18.2.0)(react@18.3.1) '@radix-ui/react-portal': 1.1.9(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-presence': 1.1.4(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-slot': 1.2.3(@types/react@18.2.0)(react@18.3.1) '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.2.0)(react@18.3.1) @@ -26992,14 +27766,14 @@ snapshots: '@radix-ui/react-direction@1.0.1(@types/react@18.2.0)(react@18.2.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 react: 18.2.0 optionalDependencies: '@types/react': 18.2.0 '@radix-ui/react-direction@1.0.1(@types/react@18.2.0)(react@19.1.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 react: 19.1.0 optionalDependencies: '@types/react': 18.2.0 @@ -27024,7 +27798,7 @@ snapshots: '@radix-ui/react-dismissable-layer@1.0.4(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.0)(react@18.2.0) '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -27038,7 +27812,7 @@ snapshots: '@radix-ui/react-dismissable-layer@1.0.4(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.0)(react@19.1.0) '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -27050,32 +27824,6 @@ snapshots: '@types/react': 18.2.0 '@types/react-dom': 18.2.0 - '@radix-ui/react-dismissable-layer@1.1.10(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': - dependencies: - '@radix-ui/primitive': 1.1.2 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.2.0)(react@18.2.0) - '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - optionalDependencies: - '@types/react': 18.2.0 - '@types/react-dom': 18.2.0 - - '@radix-ui/react-dismissable-layer@1.1.10(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@radix-ui/primitive': 1.1.2 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.2.0)(react@18.3.1) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.2.0)(react@18.3.1) - '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@18.2.0)(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - optionalDependencies: - '@types/react': 18.2.0 - '@types/react-dom': 18.2.0 - '@radix-ui/react-dismissable-layer@1.1.11(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@radix-ui/primitive': 1.1.3 @@ -27102,13 +27850,13 @@ snapshots: '@types/react': 18.2.0 '@types/react-dom': 18.2.0 - '@radix-ui/react-dropdown-menu@2.1.15(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@radix-ui/react-dropdown-menu@2.1.16(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@radix-ui/primitive': 1.1.2 + '@radix-ui/primitive': 1.1.3 '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.2.0)(react@18.2.0) '@radix-ui/react-context': 1.1.2(@types/react@18.2.0)(react@18.2.0) '@radix-ui/react-id': 1.1.1(@types/react@18.2.0)(react@18.2.0) - '@radix-ui/react-menu': 2.1.15(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-menu': 2.1.16(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.2.0)(react@18.2.0) react: 18.2.0 @@ -27119,30 +27867,18 @@ snapshots: '@radix-ui/react-focus-guards@1.0.1(@types/react@18.2.0)(react@18.2.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 react: 18.2.0 optionalDependencies: '@types/react': 18.2.0 '@radix-ui/react-focus-guards@1.0.1(@types/react@18.2.0)(react@19.1.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 react: 19.1.0 optionalDependencies: '@types/react': 18.2.0 - '@radix-ui/react-focus-guards@1.1.2(@types/react@18.2.0)(react@18.2.0)': - dependencies: - react: 18.2.0 - optionalDependencies: - '@types/react': 18.2.0 - - '@radix-ui/react-focus-guards@1.1.2(@types/react@18.2.0)(react@18.3.1)': - dependencies: - react: 18.3.1 - optionalDependencies: - '@types/react': 18.2.0 - '@radix-ui/react-focus-guards@1.1.3(@types/react@18.2.0)(react@18.2.0)': dependencies: react: 18.2.0 @@ -27157,7 +27893,7 @@ snapshots: '@radix-ui/react-focus-scope@1.0.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.0)(react@18.2.0) '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.0)(react@18.2.0) @@ -27169,7 +27905,7 @@ snapshots: '@radix-ui/react-focus-scope@1.0.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.0)(react@19.1.0) '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.0)(react@19.1.0) @@ -27211,7 +27947,7 @@ snapshots: '@radix-ui/react-id@1.0.1(@types/react@18.2.0)(react@18.2.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.0)(react@18.2.0) react: 18.2.0 optionalDependencies: @@ -27219,7 +27955,7 @@ snapshots: '@radix-ui/react-id@1.0.1(@types/react@18.2.0)(react@19.1.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.0)(react@19.1.0) react: 19.1.0 optionalDependencies: @@ -27255,22 +27991,22 @@ snapshots: '@types/react': 18.2.0 '@types/react-dom': 18.2.0 - '@radix-ui/react-menu@2.1.15(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@radix-ui/react-menu@2.1.16(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@radix-ui/primitive': 1.1.2 + '@radix-ui/primitive': 1.1.3 '@radix-ui/react-collection': 1.1.7(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.2.0)(react@18.2.0) '@radix-ui/react-context': 1.1.2(@types/react@18.2.0)(react@18.2.0) '@radix-ui/react-direction': 1.1.1(@types/react@18.2.0)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.1.10(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-focus-guards': 1.1.2(@types/react@18.2.0)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-focus-guards': 1.1.3(@types/react@18.2.0)(react@18.2.0) '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-id': 1.1.1(@types/react@18.2.0)(react@18.2.0) - '@radix-ui/react-popper': 1.2.7(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-popper': 1.2.8(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-portal': 1.1.9(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-presence': 1.1.4(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-roving-focus': 1.1.10(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-slot': 1.2.3(@types/react@18.2.0)(react@18.2.0) '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.2.0)(react@18.2.0) aria-hidden: 1.2.6 @@ -27329,8 +28065,8 @@ snapshots: '@radix-ui/react-popper@1.1.2(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@babel/runtime': 7.28.2 - '@floating-ui/react-dom': 2.1.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@babel/runtime': 7.28.4 + '@floating-ui/react-dom': 2.1.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.0)(react@18.2.0) '@radix-ui/react-context': 1.0.1(@types/react@18.2.0)(react@18.2.0) @@ -27348,8 +28084,8 @@ snapshots: '@radix-ui/react-popper@1.1.2(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@babel/runtime': 7.28.2 - '@floating-ui/react-dom': 2.1.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@babel/runtime': 7.28.4 + '@floating-ui/react-dom': 2.1.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.0)(react@19.1.0) '@radix-ui/react-context': 1.0.1(@types/react@18.2.0)(react@19.1.0) @@ -27365,45 +28101,9 @@ snapshots: '@types/react': 18.2.0 '@types/react-dom': 18.2.0 - '@radix-ui/react-popper@1.2.7(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': - dependencies: - '@floating-ui/react-dom': 2.1.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-arrow': 1.1.7(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.2.0)(react@18.2.0) - '@radix-ui/react-context': 1.1.2(@types/react@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.2.0)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.2.0)(react@18.2.0) - '@radix-ui/react-use-rect': 1.1.1(@types/react@18.2.0)(react@18.2.0) - '@radix-ui/react-use-size': 1.1.1(@types/react@18.2.0)(react@18.2.0) - '@radix-ui/rect': 1.1.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - optionalDependencies: - '@types/react': 18.2.0 - '@types/react-dom': 18.2.0 - - '@radix-ui/react-popper@1.2.7(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@floating-ui/react-dom': 2.1.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-arrow': 1.1.7(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.2.0)(react@18.3.1) - '@radix-ui/react-context': 1.1.2(@types/react@18.2.0)(react@18.3.1) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.2.0)(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.2.0)(react@18.3.1) - '@radix-ui/react-use-rect': 1.1.1(@types/react@18.2.0)(react@18.3.1) - '@radix-ui/react-use-size': 1.1.1(@types/react@18.2.0)(react@18.3.1) - '@radix-ui/rect': 1.1.1 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - optionalDependencies: - '@types/react': 18.2.0 - '@types/react-dom': 18.2.0 - '@radix-ui/react-popper@1.2.8(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@floating-ui/react-dom': 2.1.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@floating-ui/react-dom': 2.1.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-arrow': 1.1.7(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.2.0)(react@18.2.0) '@radix-ui/react-context': 1.1.2(@types/react@18.2.0)(react@18.2.0) @@ -27421,7 +28121,7 @@ snapshots: '@radix-ui/react-popper@1.2.8(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@floating-ui/react-dom': 2.1.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@floating-ui/react-dom': 2.1.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-arrow': 1.1.7(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.2.0)(react@18.3.1) '@radix-ui/react-context': 1.1.2(@types/react@18.2.0)(react@18.3.1) @@ -27439,7 +28139,7 @@ snapshots: '@radix-ui/react-portal@1.0.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -27449,7 +28149,7 @@ snapshots: '@radix-ui/react-portal@1.0.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) @@ -27477,26 +28177,6 @@ snapshots: '@types/react': 18.2.0 '@types/react-dom': 18.2.0 - '@radix-ui/react-presence@1.1.4(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': - dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.2.0)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - optionalDependencies: - '@types/react': 18.2.0 - '@types/react-dom': 18.2.0 - - '@radix-ui/react-presence@1.1.4(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.2.0)(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.2.0)(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - optionalDependencies: - '@types/react': 18.2.0 - '@types/react-dom': 18.2.0 - '@radix-ui/react-presence@1.1.5(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.2.0)(react@18.2.0) @@ -27519,7 +28199,7 @@ snapshots: '@radix-ui/react-primitive@1.0.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 '@radix-ui/react-slot': 1.0.2(@types/react@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -27529,7 +28209,7 @@ snapshots: '@radix-ui/react-primitive@1.0.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 '@radix-ui/react-slot': 1.0.2(@types/react@18.2.0)(react@19.1.0) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) @@ -27564,9 +28244,9 @@ snapshots: '@types/react': 18.2.0 '@types/react-dom': 18.2.0 - '@radix-ui/react-roving-focus@1.1.10(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@radix-ui/react-roving-focus@1.1.11(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@radix-ui/primitive': 1.1.2 + '@radix-ui/primitive': 1.1.3 '@radix-ui/react-collection': 1.1.7(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.2.0)(react@18.2.0) '@radix-ui/react-context': 1.1.2(@types/react@18.2.0)(react@18.2.0) @@ -27581,23 +28261,6 @@ snapshots: '@types/react': 18.2.0 '@types/react-dom': 18.2.0 - '@radix-ui/react-roving-focus@1.1.10(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': - dependencies: - '@radix-ui/primitive': 1.1.2 - '@radix-ui/react-collection': 1.1.7(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.2.0)(react@19.1.0) - '@radix-ui/react-context': 1.1.2(@types/react@18.2.0)(react@19.1.0) - '@radix-ui/react-direction': 1.1.1(@types/react@18.2.0)(react@19.1.0) - '@radix-ui/react-id': 1.1.1(@types/react@18.2.0)(react@19.1.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.2.0)(react@19.1.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.2.0)(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - optionalDependencies: - '@types/react': 18.2.0 - '@types/react-dom': 18.2.0 - '@radix-ui/react-roving-focus@1.1.11(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.3 @@ -27615,9 +28278,26 @@ snapshots: '@types/react': 18.2.0 '@types/react-dom': 18.2.0 + '@radix-ui/react-roving-focus@1.1.11(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@radix-ui/primitive': 1.1.3 + '@radix-ui/react-collection': 1.1.7(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.2.0)(react@19.1.0) + '@radix-ui/react-context': 1.1.2(@types/react@18.2.0)(react@19.1.0) + '@radix-ui/react-direction': 1.1.1(@types/react@18.2.0)(react@19.1.0) + '@radix-ui/react-id': 1.1.1(@types/react@18.2.0)(react@19.1.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.2.0)(react@19.1.0) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.2.0)(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + optionalDependencies: + '@types/react': 18.2.0 + '@types/react-dom': 18.2.0 + '@radix-ui/react-select@1.2.2(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 '@radix-ui/number': 1.0.1 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -27647,7 +28327,7 @@ snapshots: '@radix-ui/react-select@1.2.2(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 '@radix-ui/number': 1.0.1 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -27753,7 +28433,7 @@ snapshots: '@radix-ui/react-slot@1.0.2(@types/react@18.2.0)(react@18.2.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.0)(react@18.2.0) react: 18.2.0 optionalDependencies: @@ -27761,7 +28441,7 @@ snapshots: '@radix-ui/react-slot@1.0.2(@types/react@18.2.0)(react@19.1.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.0)(react@19.1.0) react: 19.1.0 optionalDependencies: @@ -27839,14 +28519,14 @@ snapshots: '@types/react': 18.2.0 '@types/react-dom': 18.2.0 - '@radix-ui/react-toggle-group@1.1.10(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@radix-ui/react-toggle-group@1.1.11(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@radix-ui/primitive': 1.1.2 + '@radix-ui/primitive': 1.1.3 '@radix-ui/react-context': 1.1.2(@types/react@18.2.0)(react@18.2.0) '@radix-ui/react-direction': 1.1.1(@types/react@18.2.0)(react@18.2.0) '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-roving-focus': 1.1.10(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-toggle': 1.1.9(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-toggle': 1.1.10(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -27854,14 +28534,14 @@ snapshots: '@types/react': 18.2.0 '@types/react-dom': 18.2.0 - '@radix-ui/react-toggle-group@1.1.10(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-toggle-group@1.1.11(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@radix-ui/primitive': 1.1.2 + '@radix-ui/primitive': 1.1.3 '@radix-ui/react-context': 1.1.2(@types/react@18.2.0)(react@19.1.0) '@radix-ui/react-direction': 1.1.1(@types/react@18.2.0)(react@19.1.0) '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-roving-focus': 1.1.10(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-toggle': 1.1.9(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-toggle': 1.1.10(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.2.0)(react@19.1.0) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) @@ -27869,9 +28549,9 @@ snapshots: '@types/react': 18.2.0 '@types/react-dom': 18.2.0 - '@radix-ui/react-toggle@1.1.9(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@radix-ui/react-toggle@1.1.10(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@radix-ui/primitive': 1.1.2 + '@radix-ui/primitive': 1.1.3 '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.2.0)(react@18.2.0) react: 18.2.0 @@ -27880,9 +28560,9 @@ snapshots: '@types/react': 18.2.0 '@types/react-dom': 18.2.0 - '@radix-ui/react-toggle@1.1.9(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-toggle@1.1.10(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@radix-ui/primitive': 1.1.2 + '@radix-ui/primitive': 1.1.3 '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.2.0)(react@19.1.0) react: 19.1.0 @@ -27891,46 +28571,46 @@ snapshots: '@types/react': 18.2.0 '@types/react-dom': 18.2.0 - '@radix-ui/react-toolbar@1.1.10(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@radix-ui/react-toolbar@1.1.11(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@radix-ui/primitive': 1.1.2 + '@radix-ui/primitive': 1.1.3 '@radix-ui/react-context': 1.1.2(@types/react@18.2.0)(react@18.2.0) '@radix-ui/react-direction': 1.1.1(@types/react@18.2.0)(react@18.2.0) '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-roving-focus': 1.1.10(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-separator': 1.1.7(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-toggle-group': 1.1.10(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-toggle-group': 1.1.11(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) optionalDependencies: '@types/react': 18.2.0 '@types/react-dom': 18.2.0 - '@radix-ui/react-toolbar@1.1.10(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-toolbar@1.1.11(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@radix-ui/primitive': 1.1.2 + '@radix-ui/primitive': 1.1.3 '@radix-ui/react-context': 1.1.2(@types/react@18.2.0)(react@19.1.0) '@radix-ui/react-direction': 1.1.1(@types/react@18.2.0)(react@19.1.0) '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-roving-focus': 1.1.10(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-separator': 1.1.7(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-toggle-group': 1.1.10(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-toggle-group': 1.1.11(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) optionalDependencies: '@types/react': 18.2.0 '@types/react-dom': 18.2.0 - '@radix-ui/react-tooltip@1.2.7(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@radix-ui/react-tooltip@1.2.8(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@radix-ui/primitive': 1.1.2 + '@radix-ui/primitive': 1.1.3 '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.2.0)(react@18.2.0) '@radix-ui/react-context': 1.1.2(@types/react@18.2.0)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.1.10(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-id': 1.1.1(@types/react@18.2.0)(react@18.2.0) - '@radix-ui/react-popper': 1.2.7(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-popper': 1.2.8(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-portal': 1.1.9(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-presence': 1.1.4(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-slot': 1.2.3(@types/react@18.2.0)(react@18.2.0) '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.2.0)(react@18.2.0) @@ -27941,16 +28621,16 @@ snapshots: '@types/react': 18.2.0 '@types/react-dom': 18.2.0 - '@radix-ui/react-tooltip@1.2.7(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-tooltip@1.2.8(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/primitive': 1.1.2 + '@radix-ui/primitive': 1.1.3 '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.2.0)(react@18.3.1) '@radix-ui/react-context': 1.1.2(@types/react@18.2.0)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.1.10(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-id': 1.1.1(@types/react@18.2.0)(react@18.3.1) - '@radix-ui/react-popper': 1.2.7(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-popper': 1.2.8(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-portal': 1.1.9(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-presence': 1.1.4(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-slot': 1.2.3(@types/react@18.2.0)(react@18.3.1) '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.2.0)(react@18.3.1) @@ -27963,14 +28643,14 @@ snapshots: '@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.2.0)(react@18.2.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 react: 18.2.0 optionalDependencies: '@types/react': 18.2.0 '@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.2.0)(react@19.1.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 react: 19.1.0 optionalDependencies: '@types/react': 18.2.0 @@ -27995,7 +28675,7 @@ snapshots: '@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.2.0)(react@18.2.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.0)(react@18.2.0) react: 18.2.0 optionalDependencies: @@ -28003,7 +28683,7 @@ snapshots: '@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.2.0)(react@19.1.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.0)(react@19.1.0) react: 19.1.0 optionalDependencies: @@ -28056,7 +28736,7 @@ snapshots: '@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.2.0)(react@18.2.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.0)(react@18.2.0) react: 18.2.0 optionalDependencies: @@ -28064,7 +28744,7 @@ snapshots: '@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.2.0)(react@19.1.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.0)(react@19.1.0) react: 19.1.0 optionalDependencies: @@ -28086,14 +28766,14 @@ snapshots: '@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.2.0)(react@18.2.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 react: 18.2.0 optionalDependencies: '@types/react': 18.2.0 '@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.2.0)(react@19.1.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 react: 19.1.0 optionalDependencies: '@types/react': 18.2.0 @@ -28118,14 +28798,14 @@ snapshots: '@radix-ui/react-use-previous@1.0.1(@types/react@18.2.0)(react@18.2.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 react: 18.2.0 optionalDependencies: '@types/react': 18.2.0 '@radix-ui/react-use-previous@1.0.1(@types/react@18.2.0)(react@19.1.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 react: 19.1.0 optionalDependencies: '@types/react': 18.2.0 @@ -28144,7 +28824,7 @@ snapshots: '@radix-ui/react-use-rect@1.0.1(@types/react@18.2.0)(react@18.2.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 '@radix-ui/rect': 1.0.1 react: 18.2.0 optionalDependencies: @@ -28152,7 +28832,7 @@ snapshots: '@radix-ui/react-use-rect@1.0.1(@types/react@18.2.0)(react@19.1.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 '@radix-ui/rect': 1.0.1 react: 19.1.0 optionalDependencies: @@ -28174,7 +28854,7 @@ snapshots: '@radix-ui/react-use-size@1.0.1(@types/react@18.2.0)(react@18.2.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.0)(react@18.2.0) react: 18.2.0 optionalDependencies: @@ -28182,7 +28862,7 @@ snapshots: '@radix-ui/react-use-size@1.0.1(@types/react@18.2.0)(react@19.1.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.0)(react@19.1.0) react: 19.1.0 optionalDependencies: @@ -28204,7 +28884,7 @@ snapshots: '@radix-ui/react-visually-hidden@1.0.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -28214,7 +28894,7 @@ snapshots: '@radix-ui/react-visually-hidden@1.0.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) @@ -28242,26 +28922,26 @@ snapshots: '@radix-ui/rect@1.0.1': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 '@radix-ui/rect@1.1.1': {} - '@react-aria/focus@3.21.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@react-aria/focus@3.21.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@react-aria/interactions': 3.25.4(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@react-aria/utils': 3.30.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@react-types/shared': 3.31.0(react@18.2.0) + '@react-aria/interactions': 3.25.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@react-aria/utils': 3.31.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@react-types/shared': 3.32.1(react@18.2.0) '@swc/helpers': 0.5.17 clsx: 2.1.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - '@react-aria/interactions@3.25.4(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@react-aria/interactions@3.25.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@react-aria/ssr': 3.9.10(react@18.2.0) - '@react-aria/utils': 3.30.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@react-aria/utils': 3.31.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@react-stately/flags': 3.1.2 - '@react-types/shared': 3.31.0(react@18.2.0) + '@react-types/shared': 3.32.1(react@18.2.0) '@swc/helpers': 0.5.17 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -28271,12 +28951,12 @@ snapshots: '@swc/helpers': 0.5.17 react: 18.2.0 - '@react-aria/utils@3.30.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@react-aria/utils@3.31.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@react-aria/ssr': 3.9.10(react@18.2.0) '@react-stately/flags': 3.1.2 '@react-stately/utils': 3.10.8(react@18.2.0) - '@react-types/shared': 3.31.0(react@18.2.0) + '@react-types/shared': 3.32.1(react@18.2.0) '@swc/helpers': 0.5.17 clsx: 2.1.1 react: 18.2.0 @@ -28307,22 +28987,22 @@ snapshots: '@swc/helpers': 0.5.17 react: 18.2.0 - '@react-types/shared@3.31.0(react@18.2.0)': + '@react-types/shared@3.32.1(react@18.2.0)': dependencies: react: 18.2.0 - '@redhat-developer/locators@1.15.0(@redhat-developer/page-objects@1.15.0(selenium-webdriver@4.34.0)(typescript@5.8.3))(selenium-webdriver@4.34.0)': + '@redhat-developer/locators@1.17.0(@redhat-developer/page-objects@1.17.0(selenium-webdriver@4.38.0)(typescript@5.8.3))(selenium-webdriver@4.38.0)': dependencies: - '@redhat-developer/page-objects': 1.15.0(selenium-webdriver@4.34.0)(typescript@5.8.3) - selenium-webdriver: 4.34.0 + '@redhat-developer/page-objects': 1.17.0(selenium-webdriver@4.38.0)(typescript@5.8.3) + selenium-webdriver: 4.38.0 - '@redhat-developer/page-objects@1.15.0(selenium-webdriver@4.34.0)(typescript@5.8.3)': + '@redhat-developer/page-objects@1.17.0(selenium-webdriver@4.38.0)(typescript@5.8.3)': dependencies: - clipboardy: 4.0.0 + clipboardy: 5.0.0 clone-deep: 4.0.1 compare-versions: 6.1.1 - fs-extra: 11.3.1 - selenium-webdriver: 4.34.0 + fs-extra: 11.3.2 + selenium-webdriver: 4.38.0 type-fest: 4.41.0 typescript: 5.8.3 @@ -28345,41 +29025,41 @@ snapshots: glob: 7.2.3 is-reference: 1.2.1 magic-string: 0.25.9 - resolve: 1.22.10 + resolve: 1.22.11 rollup: 1.32.1 - '@rollup/plugin-commonjs@28.0.6(rollup@4.46.2)': + '@rollup/plugin-commonjs@28.0.9(rollup@4.52.5)': dependencies: - '@rollup/pluginutils': 5.2.0(rollup@4.46.2) + '@rollup/pluginutils': 5.3.0(rollup@4.52.5) commondir: 1.0.1 estree-walker: 2.0.2 - fdir: 6.4.6(picomatch@4.0.3) + fdir: 6.5.0(picomatch@4.0.3) is-reference: 1.2.1 - magic-string: 0.30.17 + magic-string: 0.30.21 picomatch: 4.0.3 optionalDependencies: - rollup: 4.46.2 + rollup: 4.52.5 '@rollup/plugin-json@4.1.0(rollup@1.32.1)': dependencies: '@rollup/pluginutils': 3.1.0(rollup@1.32.1) rollup: 1.32.1 - '@rollup/plugin-json@6.1.0(rollup@4.46.2)': + '@rollup/plugin-json@6.1.0(rollup@4.52.5)': dependencies: - '@rollup/pluginutils': 5.2.0(rollup@4.46.2) + '@rollup/pluginutils': 5.3.0(rollup@4.52.5) optionalDependencies: - rollup: 4.46.2 + rollup: 4.52.5 - '@rollup/plugin-node-resolve@16.0.1(rollup@4.46.2)': + '@rollup/plugin-node-resolve@16.0.3(rollup@4.52.5)': dependencies: - '@rollup/pluginutils': 5.2.0(rollup@4.46.2) + '@rollup/pluginutils': 5.3.0(rollup@4.52.5) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-module: 1.0.0 - resolve: 1.22.10 + resolve: 1.22.11 optionalDependencies: - rollup: 4.46.2 + rollup: 4.52.5 '@rollup/plugin-node-resolve@9.0.0(rollup@1.32.1)': dependencies: @@ -28388,7 +29068,7 @@ snapshots: builtin-modules: 3.3.0 deepmerge: 4.3.1 is-module: 1.0.0 - resolve: 1.22.10 + resolve: 1.22.11 rollup: 1.32.1 '@rollup/plugin-replace@2.4.2(rollup@1.32.1)': @@ -28409,72 +29089,78 @@ snapshots: estree-walker: 2.0.2 picomatch: 2.3.1 - '@rollup/pluginutils@5.2.0(rollup@4.46.2)': + '@rollup/pluginutils@5.3.0(rollup@4.52.5)': dependencies: '@types/estree': 1.0.8 estree-walker: 2.0.2 picomatch: 4.0.3 optionalDependencies: - rollup: 4.46.2 + rollup: 4.52.5 + + '@rollup/rollup-android-arm-eabi@4.52.5': + optional: true + + '@rollup/rollup-android-arm64@4.52.5': + optional: true - '@rollup/rollup-android-arm-eabi@4.46.2': + '@rollup/rollup-darwin-arm64@4.52.5': optional: true - '@rollup/rollup-android-arm64@4.46.2': + '@rollup/rollup-darwin-x64@4.52.5': optional: true - '@rollup/rollup-darwin-arm64@4.46.2': + '@rollup/rollup-freebsd-arm64@4.52.5': optional: true - '@rollup/rollup-darwin-x64@4.46.2': + '@rollup/rollup-freebsd-x64@4.52.5': optional: true - '@rollup/rollup-freebsd-arm64@4.46.2': + '@rollup/rollup-linux-arm-gnueabihf@4.52.5': optional: true - '@rollup/rollup-freebsd-x64@4.46.2': + '@rollup/rollup-linux-arm-musleabihf@4.52.5': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.46.2': + '@rollup/rollup-linux-arm64-gnu@4.52.5': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.46.2': + '@rollup/rollup-linux-arm64-musl@4.52.5': optional: true - '@rollup/rollup-linux-arm64-gnu@4.46.2': + '@rollup/rollup-linux-loong64-gnu@4.52.5': optional: true - '@rollup/rollup-linux-arm64-musl@4.46.2': + '@rollup/rollup-linux-ppc64-gnu@4.52.5': optional: true - '@rollup/rollup-linux-loongarch64-gnu@4.46.2': + '@rollup/rollup-linux-riscv64-gnu@4.52.5': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.46.2': + '@rollup/rollup-linux-riscv64-musl@4.52.5': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.46.2': + '@rollup/rollup-linux-s390x-gnu@4.52.5': optional: true - '@rollup/rollup-linux-riscv64-musl@4.46.2': + '@rollup/rollup-linux-x64-gnu@4.52.5': optional: true - '@rollup/rollup-linux-s390x-gnu@4.46.2': + '@rollup/rollup-linux-x64-musl@4.52.5': optional: true - '@rollup/rollup-linux-x64-gnu@4.46.2': + '@rollup/rollup-openharmony-arm64@4.52.5': optional: true - '@rollup/rollup-linux-x64-musl@4.46.2': + '@rollup/rollup-win32-arm64-msvc@4.52.5': optional: true - '@rollup/rollup-win32-arm64-msvc@4.46.2': + '@rollup/rollup-win32-ia32-msvc@4.52.5': optional: true - '@rollup/rollup-win32-ia32-msvc@4.46.2': + '@rollup/rollup-win32-x64-gnu@4.52.5': optional: true - '@rollup/rollup-win32-x64-msvc@4.46.2': + '@rollup/rollup-win32-x64-msvc@4.52.5': optional: true '@rtsao/scc@1.1.0': {} @@ -28493,7 +29179,7 @@ snapshots: '@secretlint/resolver': 9.3.4 '@secretlint/types': 9.3.4 ajv: 8.17.1 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) rc-config-loader: 4.1.3 transitivePeerDependencies: - supports-color @@ -28502,7 +29188,7 @@ snapshots: dependencies: '@secretlint/profiler': 9.3.4 '@secretlint/types': 9.3.4 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) structured-source: 4.0.0 transitivePeerDependencies: - supports-color @@ -28515,7 +29201,7 @@ snapshots: '@textlint/module-interop': 14.8.4 '@textlint/types': 14.8.4 chalk: 4.1.2 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) pluralize: 8.0.0 strip-ansi: 6.0.1 table: 6.9.0 @@ -28531,7 +29217,7 @@ snapshots: '@secretlint/profiler': 9.3.4 '@secretlint/source-creator': 9.3.4 '@secretlint/types': 9.3.4 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) p-map: 4.0.0 transitivePeerDependencies: - supports-color @@ -28589,10 +29275,12 @@ snapshots: '@sindresorhus/is@5.6.0': {} - '@sindresorhus/is@7.0.2': {} + '@sindresorhus/is@7.1.1': {} '@sindresorhus/merge-streams@2.3.0': {} + '@sindresorhus/merge-streams@4.0.0': {} + '@sinonjs/commons@1.8.6': dependencies: type-detect: 4.0.8 @@ -28607,8 +29295,8 @@ snapshots: '@size-limit/esbuild@11.2.0(size-limit@11.2.0)': dependencies: - esbuild: 0.25.8 - nanoid: 5.1.5 + esbuild: 0.25.12 + nanoid: 5.1.6 size-limit: 11.2.0 '@size-limit/file@11.2.0(size-limit@11.2.0)': @@ -28621,255 +29309,254 @@ snapshots: '@size-limit/file': 11.2.0(size-limit@11.2.0) size-limit: 11.2.0 - '@smithy/abort-controller@4.0.5': + '@smithy/abort-controller@4.2.4': dependencies: - '@smithy/types': 4.3.2 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@smithy/chunked-blob-reader-native@4.0.0': + '@smithy/chunked-blob-reader-native@4.2.1': dependencies: - '@smithy/util-base64': 4.0.0 + '@smithy/util-base64': 4.3.0 tslib: 2.8.1 - '@smithy/chunked-blob-reader@5.0.0': + '@smithy/chunked-blob-reader@5.2.0': dependencies: tslib: 2.8.1 - '@smithy/config-resolver@4.1.5': + '@smithy/config-resolver@4.4.1': dependencies: - '@smithy/node-config-provider': 4.1.4 - '@smithy/types': 4.3.2 - '@smithy/util-config-provider': 4.0.0 - '@smithy/util-middleware': 4.0.5 + '@smithy/node-config-provider': 4.3.4 + '@smithy/types': 4.8.1 + '@smithy/util-config-provider': 4.2.0 + '@smithy/util-endpoints': 3.2.4 + '@smithy/util-middleware': 4.2.4 tslib: 2.8.1 - '@smithy/core@3.8.0': - dependencies: - '@smithy/middleware-serde': 4.0.9 - '@smithy/protocol-http': 5.1.3 - '@smithy/types': 4.3.2 - '@smithy/util-base64': 4.0.0 - '@smithy/util-body-length-browser': 4.0.0 - '@smithy/util-middleware': 4.0.5 - '@smithy/util-stream': 4.2.4 - '@smithy/util-utf8': 4.0.0 - '@types/uuid': 9.0.8 + '@smithy/core@3.17.2': + dependencies: + '@smithy/middleware-serde': 4.2.4 + '@smithy/protocol-http': 5.3.4 + '@smithy/types': 4.8.1 + '@smithy/util-base64': 4.3.0 + '@smithy/util-body-length-browser': 4.2.0 + '@smithy/util-middleware': 4.2.4 + '@smithy/util-stream': 4.5.5 + '@smithy/util-utf8': 4.2.0 + '@smithy/uuid': 1.1.0 tslib: 2.8.1 - uuid: 9.0.1 - '@smithy/credential-provider-imds@4.0.7': + '@smithy/credential-provider-imds@4.2.4': dependencies: - '@smithy/node-config-provider': 4.1.4 - '@smithy/property-provider': 4.0.5 - '@smithy/types': 4.3.2 - '@smithy/url-parser': 4.0.5 + '@smithy/node-config-provider': 4.3.4 + '@smithy/property-provider': 4.2.4 + '@smithy/types': 4.8.1 + '@smithy/url-parser': 4.2.4 tslib: 2.8.1 - '@smithy/eventstream-codec@4.0.5': + '@smithy/eventstream-codec@4.2.4': dependencies: '@aws-crypto/crc32': 5.2.0 - '@smithy/types': 4.3.2 - '@smithy/util-hex-encoding': 4.0.0 + '@smithy/types': 4.8.1 + '@smithy/util-hex-encoding': 4.2.0 tslib: 2.8.1 - '@smithy/eventstream-serde-browser@4.0.5': + '@smithy/eventstream-serde-browser@4.2.4': dependencies: - '@smithy/eventstream-serde-universal': 4.0.5 - '@smithy/types': 4.3.2 + '@smithy/eventstream-serde-universal': 4.2.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@smithy/eventstream-serde-config-resolver@4.1.3': + '@smithy/eventstream-serde-config-resolver@4.3.4': dependencies: - '@smithy/types': 4.3.2 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@smithy/eventstream-serde-node@4.0.5': + '@smithy/eventstream-serde-node@4.2.4': dependencies: - '@smithy/eventstream-serde-universal': 4.0.5 - '@smithy/types': 4.3.2 + '@smithy/eventstream-serde-universal': 4.2.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@smithy/eventstream-serde-universal@4.0.5': + '@smithy/eventstream-serde-universal@4.2.4': dependencies: - '@smithy/eventstream-codec': 4.0.5 - '@smithy/types': 4.3.2 + '@smithy/eventstream-codec': 4.2.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@smithy/fetch-http-handler@5.1.1': + '@smithy/fetch-http-handler@5.3.5': dependencies: - '@smithy/protocol-http': 5.1.3 - '@smithy/querystring-builder': 4.0.5 - '@smithy/types': 4.3.2 - '@smithy/util-base64': 4.0.0 + '@smithy/protocol-http': 5.3.4 + '@smithy/querystring-builder': 4.2.4 + '@smithy/types': 4.8.1 + '@smithy/util-base64': 4.3.0 tslib: 2.8.1 - '@smithy/hash-blob-browser@4.0.5': + '@smithy/hash-blob-browser@4.2.5': dependencies: - '@smithy/chunked-blob-reader': 5.0.0 - '@smithy/chunked-blob-reader-native': 4.0.0 - '@smithy/types': 4.3.2 + '@smithy/chunked-blob-reader': 5.2.0 + '@smithy/chunked-blob-reader-native': 4.2.1 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@smithy/hash-node@4.0.5': + '@smithy/hash-node@4.2.4': dependencies: - '@smithy/types': 4.3.2 - '@smithy/util-buffer-from': 4.0.0 - '@smithy/util-utf8': 4.0.0 + '@smithy/types': 4.8.1 + '@smithy/util-buffer-from': 4.2.0 + '@smithy/util-utf8': 4.2.0 tslib: 2.8.1 - '@smithy/hash-stream-node@4.0.5': + '@smithy/hash-stream-node@4.2.4': dependencies: - '@smithy/types': 4.3.2 - '@smithy/util-utf8': 4.0.0 + '@smithy/types': 4.8.1 + '@smithy/util-utf8': 4.2.0 tslib: 2.8.1 - '@smithy/invalid-dependency@4.0.5': + '@smithy/invalid-dependency@4.2.4': dependencies: - '@smithy/types': 4.3.2 + '@smithy/types': 4.8.1 tslib: 2.8.1 '@smithy/is-array-buffer@2.2.0': dependencies: tslib: 2.8.1 - '@smithy/is-array-buffer@4.0.0': + '@smithy/is-array-buffer@4.2.0': dependencies: tslib: 2.8.1 - '@smithy/md5-js@4.0.5': + '@smithy/md5-js@4.2.4': dependencies: - '@smithy/types': 4.3.2 - '@smithy/util-utf8': 4.0.0 + '@smithy/types': 4.8.1 + '@smithy/util-utf8': 4.2.0 tslib: 2.8.1 - '@smithy/middleware-content-length@4.0.5': + '@smithy/middleware-content-length@4.2.4': dependencies: - '@smithy/protocol-http': 5.1.3 - '@smithy/types': 4.3.2 + '@smithy/protocol-http': 5.3.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@smithy/middleware-endpoint@4.1.18': + '@smithy/middleware-endpoint@4.3.6': dependencies: - '@smithy/core': 3.8.0 - '@smithy/middleware-serde': 4.0.9 - '@smithy/node-config-provider': 4.1.4 - '@smithy/shared-ini-file-loader': 4.0.5 - '@smithy/types': 4.3.2 - '@smithy/url-parser': 4.0.5 - '@smithy/util-middleware': 4.0.5 + '@smithy/core': 3.17.2 + '@smithy/middleware-serde': 4.2.4 + '@smithy/node-config-provider': 4.3.4 + '@smithy/shared-ini-file-loader': 4.3.4 + '@smithy/types': 4.8.1 + '@smithy/url-parser': 4.2.4 + '@smithy/util-middleware': 4.2.4 tslib: 2.8.1 - '@smithy/middleware-retry@4.1.19': + '@smithy/middleware-retry@4.4.6': dependencies: - '@smithy/node-config-provider': 4.1.4 - '@smithy/protocol-http': 5.1.3 - '@smithy/service-error-classification': 4.0.7 - '@smithy/smithy-client': 4.4.10 - '@smithy/types': 4.3.2 - '@smithy/util-middleware': 4.0.5 - '@smithy/util-retry': 4.0.7 - '@types/uuid': 9.0.8 + '@smithy/node-config-provider': 4.3.4 + '@smithy/protocol-http': 5.3.4 + '@smithy/service-error-classification': 4.2.4 + '@smithy/smithy-client': 4.9.2 + '@smithy/types': 4.8.1 + '@smithy/util-middleware': 4.2.4 + '@smithy/util-retry': 4.2.4 + '@smithy/uuid': 1.1.0 tslib: 2.8.1 - uuid: 9.0.1 - '@smithy/middleware-serde@4.0.9': + '@smithy/middleware-serde@4.2.4': dependencies: - '@smithy/protocol-http': 5.1.3 - '@smithy/types': 4.3.2 + '@smithy/protocol-http': 5.3.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@smithy/middleware-stack@4.0.5': + '@smithy/middleware-stack@4.2.4': dependencies: - '@smithy/types': 4.3.2 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@smithy/node-config-provider@4.1.4': + '@smithy/node-config-provider@4.3.4': dependencies: - '@smithy/property-provider': 4.0.5 - '@smithy/shared-ini-file-loader': 4.0.5 - '@smithy/types': 4.3.2 + '@smithy/property-provider': 4.2.4 + '@smithy/shared-ini-file-loader': 4.3.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@smithy/node-http-handler@4.1.1': + '@smithy/node-http-handler@4.4.4': dependencies: - '@smithy/abort-controller': 4.0.5 - '@smithy/protocol-http': 5.1.3 - '@smithy/querystring-builder': 4.0.5 - '@smithy/types': 4.3.2 + '@smithy/abort-controller': 4.2.4 + '@smithy/protocol-http': 5.3.4 + '@smithy/querystring-builder': 4.2.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@smithy/property-provider@4.0.5': + '@smithy/property-provider@4.2.4': dependencies: - '@smithy/types': 4.3.2 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@smithy/protocol-http@5.1.3': + '@smithy/protocol-http@5.3.4': dependencies: - '@smithy/types': 4.3.2 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@smithy/querystring-builder@4.0.5': + '@smithy/querystring-builder@4.2.4': dependencies: - '@smithy/types': 4.3.2 - '@smithy/util-uri-escape': 4.0.0 + '@smithy/types': 4.8.1 + '@smithy/util-uri-escape': 4.2.0 tslib: 2.8.1 - '@smithy/querystring-parser@4.0.5': + '@smithy/querystring-parser@4.2.4': dependencies: - '@smithy/types': 4.3.2 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@smithy/service-error-classification@4.0.7': + '@smithy/service-error-classification@4.2.4': dependencies: - '@smithy/types': 4.3.2 + '@smithy/types': 4.8.1 - '@smithy/shared-ini-file-loader@4.0.5': + '@smithy/shared-ini-file-loader@4.3.4': dependencies: - '@smithy/types': 4.3.2 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@smithy/signature-v4@5.1.3': + '@smithy/signature-v4@5.3.4': dependencies: - '@smithy/is-array-buffer': 4.0.0 - '@smithy/protocol-http': 5.1.3 - '@smithy/types': 4.3.2 - '@smithy/util-hex-encoding': 4.0.0 - '@smithy/util-middleware': 4.0.5 - '@smithy/util-uri-escape': 4.0.0 - '@smithy/util-utf8': 4.0.0 + '@smithy/is-array-buffer': 4.2.0 + '@smithy/protocol-http': 5.3.4 + '@smithy/types': 4.8.1 + '@smithy/util-hex-encoding': 4.2.0 + '@smithy/util-middleware': 4.2.4 + '@smithy/util-uri-escape': 4.2.0 + '@smithy/util-utf8': 4.2.0 tslib: 2.8.1 - '@smithy/smithy-client@4.4.10': + '@smithy/smithy-client@4.9.2': dependencies: - '@smithy/core': 3.8.0 - '@smithy/middleware-endpoint': 4.1.18 - '@smithy/middleware-stack': 4.0.5 - '@smithy/protocol-http': 5.1.3 - '@smithy/types': 4.3.2 - '@smithy/util-stream': 4.2.4 + '@smithy/core': 3.17.2 + '@smithy/middleware-endpoint': 4.3.6 + '@smithy/middleware-stack': 4.2.4 + '@smithy/protocol-http': 5.3.4 + '@smithy/types': 4.8.1 + '@smithy/util-stream': 4.5.5 tslib: 2.8.1 - '@smithy/types@4.3.2': + '@smithy/types@4.8.1': dependencies: tslib: 2.8.1 - '@smithy/url-parser@4.0.5': + '@smithy/url-parser@4.2.4': dependencies: - '@smithy/querystring-parser': 4.0.5 - '@smithy/types': 4.3.2 + '@smithy/querystring-parser': 4.2.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@smithy/util-base64@4.0.0': + '@smithy/util-base64@4.3.0': dependencies: - '@smithy/util-buffer-from': 4.0.0 - '@smithy/util-utf8': 4.0.0 + '@smithy/util-buffer-from': 4.2.0 + '@smithy/util-utf8': 4.2.0 tslib: 2.8.1 - '@smithy/util-body-length-browser@4.0.0': + '@smithy/util-body-length-browser@4.2.0': dependencies: tslib: 2.8.1 - '@smithy/util-body-length-node@4.0.0': + '@smithy/util-body-length-node@4.2.1': dependencies: tslib: 2.8.1 @@ -28878,66 +29565,65 @@ snapshots: '@smithy/is-array-buffer': 2.2.0 tslib: 2.8.1 - '@smithy/util-buffer-from@4.0.0': + '@smithy/util-buffer-from@4.2.0': dependencies: - '@smithy/is-array-buffer': 4.0.0 + '@smithy/is-array-buffer': 4.2.0 tslib: 2.8.1 - '@smithy/util-config-provider@4.0.0': + '@smithy/util-config-provider@4.2.0': dependencies: tslib: 2.8.1 - '@smithy/util-defaults-mode-browser@4.0.26': + '@smithy/util-defaults-mode-browser@4.3.5': dependencies: - '@smithy/property-provider': 4.0.5 - '@smithy/smithy-client': 4.4.10 - '@smithy/types': 4.3.2 - bowser: 2.11.0 + '@smithy/property-provider': 4.2.4 + '@smithy/smithy-client': 4.9.2 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@smithy/util-defaults-mode-node@4.0.26': + '@smithy/util-defaults-mode-node@4.2.7': dependencies: - '@smithy/config-resolver': 4.1.5 - '@smithy/credential-provider-imds': 4.0.7 - '@smithy/node-config-provider': 4.1.4 - '@smithy/property-provider': 4.0.5 - '@smithy/smithy-client': 4.4.10 - '@smithy/types': 4.3.2 + '@smithy/config-resolver': 4.4.1 + '@smithy/credential-provider-imds': 4.2.4 + '@smithy/node-config-provider': 4.3.4 + '@smithy/property-provider': 4.2.4 + '@smithy/smithy-client': 4.9.2 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@smithy/util-endpoints@3.0.7': + '@smithy/util-endpoints@3.2.4': dependencies: - '@smithy/node-config-provider': 4.1.4 - '@smithy/types': 4.3.2 + '@smithy/node-config-provider': 4.3.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@smithy/util-hex-encoding@4.0.0': + '@smithy/util-hex-encoding@4.2.0': dependencies: tslib: 2.8.1 - '@smithy/util-middleware@4.0.5': + '@smithy/util-middleware@4.2.4': dependencies: - '@smithy/types': 4.3.2 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@smithy/util-retry@4.0.7': + '@smithy/util-retry@4.2.4': dependencies: - '@smithy/service-error-classification': 4.0.7 - '@smithy/types': 4.3.2 + '@smithy/service-error-classification': 4.2.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@smithy/util-stream@4.2.4': + '@smithy/util-stream@4.5.5': dependencies: - '@smithy/fetch-http-handler': 5.1.1 - '@smithy/node-http-handler': 4.1.1 - '@smithy/types': 4.3.2 - '@smithy/util-base64': 4.0.0 - '@smithy/util-buffer-from': 4.0.0 - '@smithy/util-hex-encoding': 4.0.0 - '@smithy/util-utf8': 4.0.0 + '@smithy/fetch-http-handler': 5.3.5 + '@smithy/node-http-handler': 4.4.4 + '@smithy/types': 4.8.1 + '@smithy/util-base64': 4.3.0 + '@smithy/util-buffer-from': 4.2.0 + '@smithy/util-hex-encoding': 4.2.0 + '@smithy/util-utf8': 4.2.0 tslib: 2.8.1 - '@smithy/util-uri-escape@4.0.0': + '@smithy/util-uri-escape@4.2.0': dependencies: tslib: 2.8.1 @@ -28946,17 +29632,26 @@ snapshots: '@smithy/util-buffer-from': 2.2.0 tslib: 2.8.1 - '@smithy/util-utf8@4.0.0': + '@smithy/util-utf8@4.2.0': dependencies: - '@smithy/util-buffer-from': 4.0.0 + '@smithy/util-buffer-from': 4.2.0 tslib: 2.8.1 - '@smithy/util-waiter@4.0.7': + '@smithy/util-waiter@4.2.4': dependencies: - '@smithy/abort-controller': 4.0.5 - '@smithy/types': 4.3.2 + '@smithy/abort-controller': 4.2.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 + '@smithy/uuid@1.1.0': + dependencies: + tslib: 2.8.1 + + '@so-ric/colorspace@1.1.6': + dependencies: + color: 5.0.2 + text-hex: 1.0.0 + '@standard-schema/spec@1.0.0': {} '@standard-schema/utils@0.3.0': {} @@ -28972,7 +29667,7 @@ snapshots: '@storybook/core-events': 6.5.16 '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/theming': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - core-js: 3.45.0 + core-js: 3.46.0 fast-deep-equal: 3.1.3 global: 4.4.0 lodash: 4.17.21 @@ -29047,13 +29742,13 @@ snapshots: storybook: 8.6.14(prettier@3.5.3) uuid: 9.0.1 - '@storybook/addon-actions@8.6.14(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3))': + '@storybook/addon-actions@8.6.14(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3))': dependencies: '@storybook/global': 5.0.0 '@types/uuid': 9.0.8 dequal: 2.0.3 polished: 4.3.1 - storybook: 9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3) + storybook: 9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3) uuid: 9.0.1 '@storybook/addon-backgrounds@6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': @@ -29065,7 +29760,7 @@ snapshots: '@storybook/core-events': 6.5.16 '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/theming': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - core-js: 3.45.0 + core-js: 3.46.0 global: 4.4.0 memoizerific: 1.11.3 regenerator-runtime: 0.13.11 @@ -29120,25 +29815,25 @@ snapshots: storybook: 8.6.14(prettier@3.5.3) ts-dedent: 2.2.0 - '@storybook/addon-backgrounds@8.6.14(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3))': + '@storybook/addon-backgrounds@8.6.14(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3))': dependencies: '@storybook/global': 5.0.0 memoizerific: 1.11.3 - storybook: 9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3) + storybook: 9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3) ts-dedent: 2.2.0 - '@storybook/addon-controls@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)': + '@storybook/addon-controls@6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)': dependencies: '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/client-logger': 6.5.16 '@storybook/components': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-common': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/core-common': 6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/node-logger': 6.5.16 '@storybook/store': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/theming': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - core-js: 3.45.0 + core-js: 3.46.0 lodash: 4.17.21 ts-dedent: 2.2.0 optionalDependencies: @@ -29154,18 +29849,18 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/addon-controls@6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)': + '@storybook/addon-controls@6.5.16(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)': dependencies: '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/client-logger': 6.5.16 '@storybook/components': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/node-logger': 6.5.16 '@storybook/store': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/theming': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - core-js: 3.45.0 + core-js: 3.46.0 lodash: 4.17.21 ts-dedent: 2.2.0 optionalDependencies: @@ -29234,14 +29929,14 @@ snapshots: storybook: 8.6.14(prettier@3.5.3) ts-dedent: 2.2.0 - '@storybook/addon-controls@8.6.14(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3))': + '@storybook/addon-controls@8.6.14(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3))': dependencies: '@storybook/global': 5.0.0 dequal: 2.0.3 - storybook: 9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3) + storybook: 9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3) ts-dedent: 2.2.0 - '@storybook/addon-docs@6.5.16(@babel/core@7.27.7)(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)(webpack@5.101.0)': + '@storybook/addon-docs@6.5.16(@babel/core@7.27.7)(@swc/core@1.14.0(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)(webpack@5.102.1)': dependencies: '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.27.7) '@babel/preset-env': 7.27.2(@babel/core@7.27.7) @@ -29250,7 +29945,7 @@ snapshots: '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/components': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-common': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/core-common': 6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) '@storybook/core-events': 6.5.16 '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/docs-tools': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -29261,8 +29956,8 @@ snapshots: '@storybook/source-loader': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/store': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/theming': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.101.0) - core-js: 3.45.0 + babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.102.1) + core-js: 3.46.0 fast-deep-equal: 3.1.3 global: 4.4.0 lodash: 4.17.21 @@ -29286,7 +29981,7 @@ snapshots: - webpack - webpack-cli - '@storybook/addon-docs@6.5.16(@babel/core@7.27.7)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)(webpack@5.101.0)': + '@storybook/addon-docs@6.5.16(@babel/core@7.27.7)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)(webpack@5.102.1)': dependencies: '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.27.7) '@babel/preset-env': 7.27.2(@babel/core@7.27.7) @@ -29295,7 +29990,7 @@ snapshots: '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/components': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) '@storybook/core-events': 6.5.16 '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/docs-tools': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -29306,8 +30001,8 @@ snapshots: '@storybook/source-loader': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/store': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/theming': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.101.0) - core-js: 3.45.0 + babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.102.1) + core-js: 3.46.0 fast-deep-equal: 3.1.3 global: 4.4.0 lodash: 4.17.21 @@ -29348,7 +30043,7 @@ snapshots: '@storybook/react-dom-shim': 7.4.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/theming': 7.4.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/types': 7.4.6 - fs-extra: 11.3.1 + fs-extra: 11.3.2 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) remark-external-links: 8.0.0 @@ -29377,7 +30072,7 @@ snapshots: '@storybook/react-dom-shim': 7.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@storybook/theming': 7.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@storybook/types': 7.4.6 - fs-extra: 11.3.1 + fs-extra: 11.3.2 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) remark-external-links: 8.0.0 @@ -29391,7 +30086,7 @@ snapshots: '@storybook/addon-docs@8.6.14(@types/react@18.2.0)(storybook@8.6.14(prettier@3.5.3))': dependencies: - '@mdx-js/react': 3.1.0(@types/react@18.2.0)(react@19.1.0) + '@mdx-js/react': 3.1.1(@types/react@18.2.0)(react@19.1.0) '@storybook/blocks': 8.6.14(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.14(prettier@3.5.3)) '@storybook/csf-plugin': 8.6.14(storybook@8.6.14(prettier@3.5.3)) '@storybook/react-dom-shim': 8.6.14(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.14(prettier@3.5.3)) @@ -29402,55 +30097,55 @@ snapshots: transitivePeerDependencies: - '@types/react' - '@storybook/addon-docs@8.6.14(@types/react@18.2.0)(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3))': + '@storybook/addon-docs@8.6.14(@types/react@18.2.0)(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3))': dependencies: - '@mdx-js/react': 3.1.0(@types/react@18.2.0)(react@19.1.0) - '@storybook/blocks': 8.6.14(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3)) - '@storybook/csf-plugin': 8.6.14(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3)) - '@storybook/react-dom-shim': 8.6.14(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3)) + '@mdx-js/react': 3.1.1(@types/react@18.2.0)(react@19.1.0) + '@storybook/blocks': 8.6.14(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3)) + '@storybook/csf-plugin': 8.6.14(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3)) + '@storybook/react-dom-shim': 8.6.14(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3)) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - storybook: 9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3) + storybook: 9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3) ts-dedent: 2.2.0 transitivePeerDependencies: - '@types/react' - '@storybook/addon-docs@9.1.1(@types/react@18.2.0)(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3))': + '@storybook/addon-docs@9.1.16(@types/react@18.2.0)(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3))': dependencies: - '@mdx-js/react': 3.1.0(@types/react@18.2.0)(react@19.1.0) - '@storybook/csf-plugin': 9.1.1(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3)) - '@storybook/icons': 1.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/react-dom-shim': 9.1.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3)) + '@mdx-js/react': 3.1.1(@types/react@18.2.0)(react@19.1.0) + '@storybook/csf-plugin': 9.1.16(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3)) + '@storybook/icons': 1.6.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/react-dom-shim': 9.1.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3)) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - storybook: 9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3) + storybook: 9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3) ts-dedent: 2.2.0 transitivePeerDependencies: - '@types/react' - '@storybook/addon-essentials@6.5.16(@babel/core@7.27.7)(@storybook/builder-webpack5@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)(webpack@5.101.0)': + '@storybook/addon-essentials@6.5.16(@babel/core@7.27.7)(@storybook/builder-webpack5@6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@swc/core@1.14.0(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)(webpack@5.102.1)': dependencies: '@babel/core': 7.27.7 '@storybook/addon-actions': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/addon-backgrounds': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/addon-controls': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) - '@storybook/addon-docs': 6.5.16(@babel/core@7.27.7)(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)(webpack@5.101.0) + '@storybook/addon-controls': 6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/addon-docs': 6.5.16(@babel/core@7.27.7)(@swc/core@1.14.0(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)(webpack@5.102.1) '@storybook/addon-measure': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/addon-outline': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/addon-toolbars': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/addon-viewport': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-common': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/core-common': 6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) '@storybook/node-logger': 6.5.16 - core-js: 3.45.0 + core-js: 3.46.0 regenerator-runtime: 0.13.11 ts-dedent: 2.2.0 optionalDependencies: - '@storybook/builder-webpack5': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/builder-webpack5': 6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1) transitivePeerDependencies: - '@storybook/mdx2-csf' - '@swc/core' @@ -29462,29 +30157,29 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/addon-essentials@6.5.16(@babel/core@7.27.7)(@storybook/builder-webpack5@6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)(webpack@5.101.0)': + '@storybook/addon-essentials@6.5.16(@babel/core@7.27.7)(@storybook/builder-webpack5@6.5.16(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)(webpack@5.102.1)': dependencies: '@babel/core': 7.27.7 '@storybook/addon-actions': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/addon-backgrounds': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/addon-controls': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) - '@storybook/addon-docs': 6.5.16(@babel/core@7.27.7)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)(webpack@5.101.0) + '@storybook/addon-controls': 6.5.16(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/addon-docs': 6.5.16(@babel/core@7.27.7)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)(webpack@5.102.1) '@storybook/addon-measure': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/addon-outline': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/addon-toolbars': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/addon-viewport': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) '@storybook/node-logger': 6.5.16 - core-js: 3.45.0 + core-js: 3.46.0 regenerator-runtime: 0.13.11 ts-dedent: 2.2.0 optionalDependencies: - '@storybook/builder-webpack5': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/builder-webpack5': 6.5.16(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - webpack: 5.101.0(webpack-cli@4.10.0) + webpack: 5.102.1(webpack-cli@4.10.0) transitivePeerDependencies: - '@storybook/mdx2-csf' - '@swc/core' @@ -29560,18 +30255,18 @@ snapshots: transitivePeerDependencies: - '@types/react' - '@storybook/addon-essentials@8.6.14(@types/react@18.2.0)(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3))': - dependencies: - '@storybook/addon-actions': 8.6.14(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3)) - '@storybook/addon-backgrounds': 8.6.14(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3)) - '@storybook/addon-controls': 8.6.14(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3)) - '@storybook/addon-docs': 8.6.14(@types/react@18.2.0)(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3)) - '@storybook/addon-highlight': 8.6.14(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3)) - '@storybook/addon-measure': 8.6.14(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3)) - '@storybook/addon-outline': 8.6.14(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3)) - '@storybook/addon-toolbars': 8.6.14(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3)) - '@storybook/addon-viewport': 8.6.14(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3)) - storybook: 9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3) + '@storybook/addon-essentials@8.6.14(@types/react@18.2.0)(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3))': + dependencies: + '@storybook/addon-actions': 8.6.14(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3)) + '@storybook/addon-backgrounds': 8.6.14(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3)) + '@storybook/addon-controls': 8.6.14(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3)) + '@storybook/addon-docs': 8.6.14(@types/react@18.2.0)(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3)) + '@storybook/addon-highlight': 8.6.14(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3)) + '@storybook/addon-measure': 8.6.14(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3)) + '@storybook/addon-outline': 8.6.14(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3)) + '@storybook/addon-toolbars': 8.6.14(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3)) + '@storybook/addon-viewport': 8.6.14(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3)) + storybook: 9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3) ts-dedent: 2.2.0 transitivePeerDependencies: - '@types/react' @@ -29587,10 +30282,10 @@ snapshots: '@storybook/global': 5.0.0 storybook: 8.6.14(prettier@3.5.3) - '@storybook/addon-highlight@8.6.14(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3))': + '@storybook/addon-highlight@8.6.14(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3))': dependencies: '@storybook/global': 5.0.0 - storybook: 9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3) + storybook: 9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3) '@storybook/addon-interactions@8.6.14(storybook@8.6.14(prettier@3.5.3))': dependencies: @@ -29609,7 +30304,7 @@ snapshots: '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/router': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@types/qs': 6.14.0 - core-js: 3.45.0 + core-js: 3.46.0 global: 4.4.0 prop-types: 15.8.1 qs: 6.14.0 @@ -29643,10 +30338,10 @@ snapshots: optionalDependencies: react: 18.2.0 - '@storybook/addon-links@8.6.14(react@18.2.0)(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3))': + '@storybook/addon-links@8.6.14(react@18.2.0)(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3))': dependencies: '@storybook/global': 5.0.0 - storybook: 9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3) + storybook: 9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3) ts-dedent: 2.2.0 optionalDependencies: react: 18.2.0 @@ -29659,7 +30354,7 @@ snapshots: '@storybook/components': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/core-events': 6.5.16 '@storybook/csf': 0.0.2--canary.4566f4d.1 - core-js: 3.45.0 + core-js: 3.46.0 global: 4.4.0 optionalDependencies: react: 18.2.0 @@ -29705,10 +30400,10 @@ snapshots: storybook: 8.6.14(prettier@3.5.3) tiny-invariant: 1.3.3 - '@storybook/addon-measure@8.6.14(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3))': + '@storybook/addon-measure@8.6.14(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3))': dependencies: '@storybook/global': 5.0.0 - storybook: 9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3) + storybook: 9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3) tiny-invariant: 1.3.3 '@storybook/addon-onboarding@8.6.14(storybook@8.6.14(prettier@3.5.3))': @@ -29723,7 +30418,7 @@ snapshots: '@storybook/components': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/core-events': 6.5.16 '@storybook/csf': 0.0.2--canary.4566f4d.1 - core-js: 3.45.0 + core-js: 3.46.0 global: 4.4.0 regenerator-runtime: 0.13.11 ts-dedent: 2.2.0 @@ -29771,10 +30466,10 @@ snapshots: storybook: 8.6.14(prettier@3.5.3) ts-dedent: 2.2.0 - '@storybook/addon-outline@8.6.14(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3))': + '@storybook/addon-outline@8.6.14(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3))': dependencies: '@storybook/global': 5.0.0 - storybook: 9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3) + storybook: 9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3) ts-dedent: 2.2.0 '@storybook/addon-toolbars@6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': @@ -29784,7 +30479,7 @@ snapshots: '@storybook/client-logger': 6.5.16 '@storybook/components': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/theming': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - core-js: 3.45.0 + core-js: 3.46.0 regenerator-runtime: 0.13.11 optionalDependencies: react: 18.2.0 @@ -29822,9 +30517,9 @@ snapshots: dependencies: storybook: 8.6.14(prettier@3.5.3) - '@storybook/addon-toolbars@8.6.14(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3))': + '@storybook/addon-toolbars@8.6.14(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3))': dependencies: - storybook: 9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3) + storybook: 9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3) '@storybook/addon-viewport@6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: @@ -29834,7 +30529,7 @@ snapshots: '@storybook/components': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/core-events': 6.5.16 '@storybook/theming': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - core-js: 3.45.0 + core-js: 3.46.0 global: 4.4.0 memoizerific: 1.11.3 prop-types: 15.8.1 @@ -29884,10 +30579,10 @@ snapshots: memoizerific: 1.11.3 storybook: 8.6.14(prettier@3.5.3) - '@storybook/addon-viewport@8.6.14(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3))': + '@storybook/addon-viewport@8.6.14(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3))': dependencies: memoizerific: 1.11.3 - storybook: 9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3) + storybook: 9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3) '@storybook/addons@6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: @@ -29899,7 +30594,7 @@ snapshots: '@storybook/router': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/theming': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@types/webpack-env': 1.18.8 - core-js: 3.45.0 + core-js: 3.46.0 global: 4.4.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -29915,7 +30610,7 @@ snapshots: '@storybook/router': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@storybook/theming': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@types/webpack-env': 1.18.8 - core-js: 3.45.0 + core-js: 3.46.0 global: 4.4.0 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) @@ -29946,7 +30641,7 @@ snapshots: '@storybook/router': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/semver': 7.3.2 '@storybook/theming': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - core-js: 3.45.0 + core-js: 3.46.0 fast-deep-equal: 3.1.3 global: 4.4.0 lodash: 4.17.21 @@ -29968,7 +30663,7 @@ snapshots: '@storybook/router': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@storybook/semver': 7.3.2 '@storybook/theming': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - core-js: 3.45.0 + core-js: 3.46.0 fast-deep-equal: 3.1.3 global: 4.4.0 lodash: 4.17.21 @@ -29998,7 +30693,7 @@ snapshots: color-convert: 2.0.1 dequal: 2.0.3 lodash: 4.17.21 - markdown-to-jsx: 7.7.13(react@18.2.0) + markdown-to-jsx: 7.7.17(react@18.2.0) memoizerific: 1.11.3 polished: 4.3.1 react: 18.2.0 @@ -30031,7 +30726,7 @@ snapshots: color-convert: 2.0.1 dequal: 2.0.3 lodash: 4.17.21 - markdown-to-jsx: 7.7.13(react@19.1.0) + markdown-to-jsx: 7.7.17(react@19.1.0) memoizerific: 1.11.3 polished: 4.3.1 react: 19.1.0 @@ -30049,7 +30744,7 @@ snapshots: '@storybook/blocks@8.6.14(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.14(prettier@3.5.3))': dependencies: - '@storybook/icons': 1.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/icons': 1.6.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) storybook: 8.6.14(prettier@3.5.3) ts-dedent: 2.2.0 optionalDependencies: @@ -30058,17 +30753,17 @@ snapshots: '@storybook/blocks@8.6.14(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.14(prettier@3.5.3))': dependencies: - '@storybook/icons': 1.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/icons': 1.6.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) storybook: 8.6.14(prettier@3.5.3) ts-dedent: 2.2.0 optionalDependencies: react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - '@storybook/blocks@8.6.14(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3))': + '@storybook/blocks@8.6.14(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3))': dependencies: - '@storybook/icons': 1.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - storybook: 9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3) + '@storybook/icons': 1.6.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + storybook: 9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3) ts-dedent: 2.2.0 optionalDependencies: react: 19.1.0 @@ -30082,27 +30777,27 @@ snapshots: '@storybook/node-logger': 7.6.20 '@types/ejs': 3.1.5 '@types/find-cache-dir': 3.2.1 - '@yarnpkg/esbuild-plugin-pnp': 3.0.0-rc.15(esbuild@0.25.8) + '@yarnpkg/esbuild-plugin-pnp': 3.0.0-rc.15(esbuild@0.25.12) browser-assert: 1.2.1 ejs: 3.1.10 - esbuild: 0.25.8 + esbuild: 0.25.12 esbuild-plugin-alias: 0.2.1 express: 4.21.2 find-cache-dir: 3.3.2 - fs-extra: 11.3.1 + fs-extra: 11.3.2 process: 0.11.10 util: 0.12.5 transitivePeerDependencies: - encoding - supports-color - '@storybook/builder-vite@9.1.1(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3))': + '@storybook/builder-vite@9.1.16(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3))': dependencies: - '@storybook/csf-plugin': 9.1.1(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3)) - storybook: 9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3) + '@storybook/csf-plugin': 9.1.16(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3)) + storybook: 9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3) ts-dedent: 2.2.0 - '@storybook/builder-webpack4@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': + '@storybook/builder-webpack4@6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': dependencies: '@babel/core': 7.27.7 '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -30112,7 +30807,7 @@ snapshots: '@storybook/client-api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/client-logger': 6.5.16 '@storybook/components': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-common': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/core-common': 6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) '@storybook/core-events': 6.5.16 '@storybook/node-logger': 6.5.16 '@storybook/preview-web': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -30124,33 +30819,33 @@ snapshots: '@types/node': 16.18.126 '@types/webpack': 4.41.40 autoprefixer: 9.8.8 - babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))) case-sensitive-paths-webpack-plugin: 2.4.0 - core-js: 3.45.0 - css-loader: 3.6.0(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) - file-loader: 6.2.0(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + core-js: 3.46.0 + css-loader: 3.6.0(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))) + file-loader: 6.2.0(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))) find-up: 5.0.0 fork-ts-checker-webpack-plugin: 4.1.6 glob: 7.2.3 glob-promise: 3.4.0(glob@7.2.3) global: 4.4.0 - html-webpack-plugin: 4.5.2(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + html-webpack-plugin: 4.5.2(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))) pnp-webpack-plugin: 1.6.4(typescript@5.8.3) postcss: 7.0.39 postcss-flexbugs-fixes: 4.2.1 - postcss-loader: 4.3.0(postcss@7.0.39)(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) - raw-loader: 4.0.2(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + postcss-loader: 4.3.0(postcss@7.0.39)(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))) + raw-loader: 4.0.2(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) stable: 0.1.8 - style-loader: 1.3.0(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) - terser-webpack-plugin: 4.2.3(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + style-loader: 1.3.0(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))) + terser-webpack-plugin: 4.2.3(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))) ts-dedent: 2.2.0 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))))(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))))(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))) util-deprecate: 1.0.2 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) - webpack-dev-middleware: 3.7.3(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) - webpack-filter-warnings-plugin: 1.2.1(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17)) + webpack-dev-middleware: 3.7.3(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))) + webpack-filter-warnings-plugin: 1.2.1(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))) webpack-hot-middleware: 2.26.1 webpack-virtual-modules: 0.2.2 optionalDependencies: @@ -30164,7 +30859,7 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/builder-webpack4@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)': + '@storybook/builder-webpack4@6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)': dependencies: '@babel/core': 7.27.7 '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -30174,7 +30869,7 @@ snapshots: '@storybook/client-api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/client-logger': 6.5.16 '@storybook/components': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-common': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/core-common': 6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) '@storybook/core-events': 6.5.16 '@storybook/node-logger': 6.5.16 '@storybook/preview-web': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -30186,33 +30881,33 @@ snapshots: '@types/node': 16.18.126 '@types/webpack': 4.41.40 autoprefixer: 9.8.8 - babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.101.0) + babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.102.1) case-sensitive-paths-webpack-plugin: 2.4.0 - core-js: 3.45.0 - css-loader: 3.6.0(webpack@5.101.0) - file-loader: 6.2.0(webpack@5.101.0) + core-js: 3.46.0 + css-loader: 3.6.0(webpack@5.102.1) + file-loader: 6.2.0(webpack@5.102.1) find-up: 5.0.0 fork-ts-checker-webpack-plugin: 4.1.6 glob: 7.2.3 glob-promise: 3.4.0(glob@7.2.3) global: 4.4.0 - html-webpack-plugin: 4.5.2(webpack@5.101.0) + html-webpack-plugin: 4.5.2(webpack@5.102.1) pnp-webpack-plugin: 1.6.4(typescript@5.8.3) postcss: 7.0.39 postcss-flexbugs-fixes: 4.2.1 - postcss-loader: 4.3.0(postcss@7.0.39)(webpack@5.101.0) - raw-loader: 4.0.2(webpack@5.101.0) + postcss-loader: 4.3.0(postcss@7.0.39)(webpack@5.102.1) + raw-loader: 4.0.2(webpack@5.102.1) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) stable: 0.1.8 - style-loader: 1.3.0(webpack@5.101.0) - terser-webpack-plugin: 4.2.3(webpack@5.101.0) + style-loader: 1.3.0(webpack@5.102.1) + terser-webpack-plugin: 4.2.3(webpack@5.102.1) ts-dedent: 2.2.0 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.101.0))(webpack@5.101.0) + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.102.1))(webpack@5.102.1) util-deprecate: 1.0.2 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) - webpack-dev-middleware: 3.7.3(webpack@5.101.0) - webpack-filter-warnings-plugin: 1.2.1(webpack@5.101.0) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + webpack-dev-middleware: 3.7.3(webpack@5.102.1) + webpack-filter-warnings-plugin: 1.2.1(webpack@5.102.1) webpack-hot-middleware: 2.26.1 webpack-virtual-modules: 0.2.2 optionalDependencies: @@ -30226,7 +30921,7 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/builder-webpack4@6.5.16(eslint@9.26.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': + '@storybook/builder-webpack4@6.5.16(eslint@9.26.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': dependencies: '@babel/core': 7.27.7 '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -30236,7 +30931,7 @@ snapshots: '@storybook/client-api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/client-logger': 6.5.16 '@storybook/components': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-common': 6.5.16(eslint@9.26.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/core-common': 6.5.16(eslint@9.26.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) '@storybook/core-events': 6.5.16 '@storybook/node-logger': 6.5.16 '@storybook/preview-web': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -30248,33 +30943,33 @@ snapshots: '@types/node': 16.18.126 '@types/webpack': 4.41.40 autoprefixer: 9.8.8 - babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.101.0) + babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.102.1) case-sensitive-paths-webpack-plugin: 2.4.0 - core-js: 3.45.0 - css-loader: 3.6.0(webpack@5.101.0) - file-loader: 6.2.0(webpack@5.101.0) + core-js: 3.46.0 + css-loader: 3.6.0(webpack@5.102.1) + file-loader: 6.2.0(webpack@5.102.1) find-up: 5.0.0 fork-ts-checker-webpack-plugin: 4.1.6 glob: 7.2.3 glob-promise: 3.4.0(glob@7.2.3) global: 4.4.0 - html-webpack-plugin: 4.5.2(webpack@5.101.0) + html-webpack-plugin: 4.5.2(webpack@5.102.1) pnp-webpack-plugin: 1.6.4(typescript@5.8.3) postcss: 7.0.39 postcss-flexbugs-fixes: 4.2.1 - postcss-loader: 4.3.0(postcss@7.0.39)(webpack@5.101.0) - raw-loader: 4.0.2(webpack@5.101.0) + postcss-loader: 4.3.0(postcss@7.0.39)(webpack@5.102.1) + raw-loader: 4.0.2(webpack@5.102.1) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) stable: 0.1.8 - style-loader: 1.3.0(webpack@5.101.0) - terser-webpack-plugin: 4.2.3(webpack@5.101.0) + style-loader: 1.3.0(webpack@5.102.1) + terser-webpack-plugin: 4.2.3(webpack@5.102.1) ts-dedent: 2.2.0 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.101.0))(webpack@5.101.0) + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.102.1))(webpack@5.102.1) util-deprecate: 1.0.2 - webpack: 5.101.0(webpack-cli@4.10.0) - webpack-dev-middleware: 3.7.3(webpack@5.101.0) - webpack-filter-warnings-plugin: 1.2.1(webpack@5.101.0) + webpack: 5.102.1(webpack-cli@4.10.0) + webpack-dev-middleware: 3.7.3(webpack@5.102.1) + webpack-filter-warnings-plugin: 1.2.1(webpack@5.102.1) webpack-hot-middleware: 2.26.1 webpack-virtual-modules: 0.2.2 optionalDependencies: @@ -30288,7 +30983,7 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/builder-webpack4@6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': + '@storybook/builder-webpack4@6.5.16(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': dependencies: '@babel/core': 7.27.7 '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -30298,7 +30993,7 @@ snapshots: '@storybook/client-api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/client-logger': 6.5.16 '@storybook/components': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) '@storybook/core-events': 6.5.16 '@storybook/node-logger': 6.5.16 '@storybook/preview-web': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -30310,33 +31005,33 @@ snapshots: '@types/node': 16.18.126 '@types/webpack': 4.41.40 autoprefixer: 9.8.8 - babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.101.0) + babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.102.1) case-sensitive-paths-webpack-plugin: 2.4.0 - core-js: 3.45.0 - css-loader: 3.6.0(webpack@5.101.0) - file-loader: 6.2.0(webpack@5.101.0) + core-js: 3.46.0 + css-loader: 3.6.0(webpack@5.102.1) + file-loader: 6.2.0(webpack@5.102.1) find-up: 5.0.0 fork-ts-checker-webpack-plugin: 4.1.6 glob: 7.2.3 glob-promise: 3.4.0(glob@7.2.3) global: 4.4.0 - html-webpack-plugin: 4.5.2(webpack@5.101.0) + html-webpack-plugin: 4.5.2(webpack@5.102.1) pnp-webpack-plugin: 1.6.4(typescript@5.8.3) postcss: 7.0.39 postcss-flexbugs-fixes: 4.2.1 - postcss-loader: 4.3.0(postcss@7.0.39)(webpack@5.101.0) - raw-loader: 4.0.2(webpack@5.101.0) + postcss-loader: 4.3.0(postcss@7.0.39)(webpack@5.102.1) + raw-loader: 4.0.2(webpack@5.102.1) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) stable: 0.1.8 - style-loader: 1.3.0(webpack@5.101.0) - terser-webpack-plugin: 4.2.3(webpack@5.101.0) + style-loader: 1.3.0(webpack@5.102.1) + terser-webpack-plugin: 4.2.3(webpack@5.102.1) ts-dedent: 2.2.0 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.101.0))(webpack@5.101.0) + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.102.1))(webpack@5.102.1) util-deprecate: 1.0.2 - webpack: 5.101.0(webpack-cli@4.10.0) - webpack-dev-middleware: 3.7.3(webpack@5.101.0) - webpack-filter-warnings-plugin: 1.2.1(webpack@5.101.0) + webpack: 5.102.1(webpack-cli@4.10.0) + webpack-dev-middleware: 3.7.3(webpack@5.102.1) + webpack-filter-warnings-plugin: 1.2.1(webpack@5.102.1) webpack-hot-middleware: 2.26.1 webpack-virtual-modules: 0.2.2 optionalDependencies: @@ -30350,7 +31045,7 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/builder-webpack4@6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)': + '@storybook/builder-webpack4@6.5.16(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)': dependencies: '@babel/core': 7.27.7 '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -30360,7 +31055,7 @@ snapshots: '@storybook/client-api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/client-logger': 6.5.16 '@storybook/components': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) '@storybook/core-events': 6.5.16 '@storybook/node-logger': 6.5.16 '@storybook/preview-web': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -30372,33 +31067,33 @@ snapshots: '@types/node': 16.18.126 '@types/webpack': 4.41.40 autoprefixer: 9.8.8 - babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.101.0) + babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.102.1) case-sensitive-paths-webpack-plugin: 2.4.0 - core-js: 3.45.0 - css-loader: 3.6.0(webpack@5.101.0) - file-loader: 6.2.0(webpack@5.101.0) + core-js: 3.46.0 + css-loader: 3.6.0(webpack@5.102.1) + file-loader: 6.2.0(webpack@5.102.1) find-up: 5.0.0 fork-ts-checker-webpack-plugin: 4.1.6 glob: 7.2.3 glob-promise: 3.4.0(glob@7.2.3) global: 4.4.0 - html-webpack-plugin: 4.5.2(webpack@5.101.0) + html-webpack-plugin: 4.5.2(webpack@5.102.1) pnp-webpack-plugin: 1.6.4(typescript@5.8.3) postcss: 7.0.39 postcss-flexbugs-fixes: 4.2.1 - postcss-loader: 4.3.0(postcss@7.0.39)(webpack@5.101.0) - raw-loader: 4.0.2(webpack@5.101.0) + postcss-loader: 4.3.0(postcss@7.0.39)(webpack@5.102.1) + raw-loader: 4.0.2(webpack@5.102.1) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) stable: 0.1.8 - style-loader: 1.3.0(webpack@5.101.0) - terser-webpack-plugin: 4.2.3(webpack@5.101.0) + style-loader: 1.3.0(webpack@5.102.1) + terser-webpack-plugin: 4.2.3(webpack@5.102.1) ts-dedent: 2.2.0 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.101.0))(webpack@5.101.0) + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.102.1))(webpack@5.102.1) util-deprecate: 1.0.2 - webpack: 5.101.0(webpack-cli@4.10.0) - webpack-dev-middleware: 3.7.3(webpack@5.101.0) - webpack-filter-warnings-plugin: 1.2.1(webpack@5.101.0) + webpack: 5.102.1(webpack-cli@4.10.0) + webpack-dev-middleware: 3.7.3(webpack@5.102.1) + webpack-filter-warnings-plugin: 1.2.1(webpack@5.102.1) webpack-hot-middleware: 2.26.1 webpack-virtual-modules: 0.2.2 optionalDependencies: @@ -30412,7 +31107,7 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/builder-webpack4@6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5)': + '@storybook/builder-webpack4@6.5.16(eslint@9.27.0(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5)': dependencies: '@babel/core': 7.27.7 '@storybook/addons': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -30422,7 +31117,7 @@ snapshots: '@storybook/client-api': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@storybook/client-logger': 6.5.16 '@storybook/components': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5) + '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5) '@storybook/core-events': 6.5.16 '@storybook/node-logger': 6.5.16 '@storybook/preview-web': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -30434,33 +31129,33 @@ snapshots: '@types/node': 16.18.126 '@types/webpack': 4.41.40 autoprefixer: 9.8.8 - babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.101.0) + babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.102.1) case-sensitive-paths-webpack-plugin: 2.4.0 - core-js: 3.45.0 - css-loader: 3.6.0(webpack@5.101.0) - file-loader: 6.2.0(webpack@5.101.0) + core-js: 3.46.0 + css-loader: 3.6.0(webpack@5.102.1) + file-loader: 6.2.0(webpack@5.102.1) find-up: 5.0.0 fork-ts-checker-webpack-plugin: 4.1.6 glob: 7.2.3 glob-promise: 3.4.0(glob@7.2.3) global: 4.4.0 - html-webpack-plugin: 4.5.2(webpack@5.101.0) + html-webpack-plugin: 4.5.2(webpack@5.102.1) pnp-webpack-plugin: 1.6.4(typescript@4.9.5) postcss: 7.0.39 postcss-flexbugs-fixes: 4.2.1 - postcss-loader: 4.3.0(postcss@7.0.39)(webpack@5.101.0) - raw-loader: 4.0.2(webpack@5.101.0) + postcss-loader: 4.3.0(postcss@7.0.39)(webpack@5.102.1) + raw-loader: 4.0.2(webpack@5.102.1) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) stable: 0.1.8 - style-loader: 1.3.0(webpack@5.101.0) - terser-webpack-plugin: 4.2.3(webpack@5.101.0) + style-loader: 1.3.0(webpack@5.102.1) + terser-webpack-plugin: 4.2.3(webpack@5.102.1) ts-dedent: 2.2.0 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.101.0))(webpack@5.101.0) + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.102.1))(webpack@5.102.1) util-deprecate: 1.0.2 - webpack: 5.101.0(webpack-cli@4.10.0) - webpack-dev-middleware: 3.7.3(webpack@5.101.0) - webpack-filter-warnings-plugin: 1.2.1(webpack@5.101.0) + webpack: 5.102.1(webpack-cli@4.10.0) + webpack-dev-middleware: 3.7.3(webpack@5.102.1) + webpack-filter-warnings-plugin: 1.2.1(webpack@5.102.1) webpack-hot-middleware: 2.26.1 webpack-virtual-modules: 0.2.2 optionalDependencies: @@ -30474,7 +31169,7 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/builder-webpack5@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)': + '@storybook/builder-webpack5@6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)': dependencies: '@babel/core': 7.27.7 '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -30484,7 +31179,7 @@ snapshots: '@storybook/client-api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/client-logger': 6.5.16 '@storybook/components': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-common': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/core-common': 6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) '@storybook/core-events': 6.5.16 '@storybook/node-logger': 6.5.16 '@storybook/preview-web': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -30493,27 +31188,27 @@ snapshots: '@storybook/store': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/theming': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@types/node': 16.18.126 - babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.101.0) + babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.102.1) babel-plugin-named-exports-order: 0.0.2 browser-assert: 1.2.1 case-sensitive-paths-webpack-plugin: 2.4.0 - core-js: 3.45.0 - css-loader: 5.2.7(webpack@5.101.0) - fork-ts-checker-webpack-plugin: 6.5.3(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3)(webpack@5.101.0) + core-js: 3.46.0 + css-loader: 5.2.7(webpack@5.102.1) + fork-ts-checker-webpack-plugin: 6.5.3(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3)(webpack@5.102.1) glob: 7.2.3 glob-promise: 3.4.0(glob@7.2.3) - html-webpack-plugin: 5.6.3(webpack@5.101.0) + html-webpack-plugin: 5.6.4(webpack@5.102.1) path-browserify: 1.0.1 process: 0.11.10 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) stable: 0.1.8 - style-loader: 2.0.0(webpack@5.101.0) - terser-webpack-plugin: 5.3.14(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack@5.101.0) + style-loader: 2.0.0(webpack@5.102.1) + terser-webpack-plugin: 5.3.14(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack@5.102.1) ts-dedent: 2.2.0 util-deprecate: 1.0.2 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) - webpack-dev-middleware: 4.3.0(webpack@5.101.0) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + webpack-dev-middleware: 4.3.0(webpack@5.102.1) webpack-hot-middleware: 2.26.1 webpack-virtual-modules: 0.4.6 optionalDependencies: @@ -30528,7 +31223,7 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/builder-webpack5@6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)': + '@storybook/builder-webpack5@6.5.16(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)': dependencies: '@babel/core': 7.27.7 '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -30538,7 +31233,7 @@ snapshots: '@storybook/client-api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/client-logger': 6.5.16 '@storybook/components': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) '@storybook/core-events': 6.5.16 '@storybook/node-logger': 6.5.16 '@storybook/preview-web': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -30547,27 +31242,27 @@ snapshots: '@storybook/store': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/theming': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@types/node': 16.18.126 - babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.101.0) + babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.102.1) babel-plugin-named-exports-order: 0.0.2 browser-assert: 1.2.1 case-sensitive-paths-webpack-plugin: 2.4.0 - core-js: 3.45.0 - css-loader: 5.2.7(webpack@5.101.0) - fork-ts-checker-webpack-plugin: 6.5.3(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3)(webpack@5.101.0) + core-js: 3.46.0 + css-loader: 5.2.7(webpack@5.102.1) + fork-ts-checker-webpack-plugin: 6.5.3(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3)(webpack@5.102.1) glob: 7.2.3 glob-promise: 3.4.0(glob@7.2.3) - html-webpack-plugin: 5.6.3(webpack@5.101.0) + html-webpack-plugin: 5.6.4(webpack@5.102.1) path-browserify: 1.0.1 process: 0.11.10 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) stable: 0.1.8 - style-loader: 2.0.0(webpack@5.101.0) - terser-webpack-plugin: 5.3.14(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack@5.101.0) + style-loader: 2.0.0(webpack@5.102.1) + terser-webpack-plugin: 5.3.14(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack@5.102.1) ts-dedent: 2.2.0 util-deprecate: 1.0.2 - webpack: 5.101.0(webpack-cli@4.10.0) - webpack-dev-middleware: 4.3.0(webpack@5.101.0) + webpack: 5.102.1(webpack-cli@4.10.0) + webpack-dev-middleware: 4.3.0(webpack@5.102.1) webpack-hot-middleware: 2.26.1 webpack-virtual-modules: 0.4.6 optionalDependencies: @@ -30601,33 +31296,33 @@ snapshots: '@storybook/router': 7.4.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/store': 7.4.6 '@storybook/theming': 7.4.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@swc/core': 1.13.3(@swc/helpers@0.5.17) + '@swc/core': 1.14.0(@swc/helpers@0.5.17) '@types/node': 16.18.126 - '@types/semver': 7.7.0 - babel-loader: 9.2.1(@babel/core@7.27.7)(webpack@5.101.0) + '@types/semver': 7.7.1 + babel-loader: 9.2.1(@babel/core@7.27.7)(webpack@5.102.1) babel-plugin-named-exports-order: 0.0.2 browser-assert: 1.2.1 case-sensitive-paths-webpack-plugin: 2.4.0 constants-browserify: 1.0.0 - css-loader: 6.11.0(webpack@5.101.0) + css-loader: 6.11.0(webpack@5.102.1) express: 4.21.2 - fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.8.3)(webpack@5.101.0) - fs-extra: 11.3.1 - html-webpack-plugin: 5.6.3(webpack@5.101.0) + fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.8.3)(webpack@5.102.1) + fs-extra: 11.3.2 + html-webpack-plugin: 5.6.4(webpack@5.102.1) path-browserify: 1.0.1 process: 0.11.10 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - semver: 7.7.2 - style-loader: 3.3.4(webpack@5.101.0) - swc-loader: 0.2.6(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack@5.101.0) - terser-webpack-plugin: 5.3.14(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack@5.101.0) + semver: 7.7.3 + style-loader: 3.3.4(webpack@5.102.1) + swc-loader: 0.2.6(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack@5.102.1) + terser-webpack-plugin: 5.3.14(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack@5.102.1) ts-dedent: 2.2.0 url: 0.11.4 util: 0.12.5 util-deprecate: 1.0.2 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@5.1.4) - webpack-dev-middleware: 6.1.3(webpack@5.101.0) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@5.1.4) + webpack-dev-middleware: 6.1.3(webpack@5.102.1) webpack-hot-middleware: 2.26.1 webpack-virtual-modules: 0.5.0 optionalDependencies: @@ -30662,33 +31357,33 @@ snapshots: '@storybook/router': 7.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@storybook/store': 7.4.6 '@storybook/theming': 7.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@swc/core': 1.13.3(@swc/helpers@0.5.17) + '@swc/core': 1.14.0(@swc/helpers@0.5.17) '@types/node': 16.18.126 - '@types/semver': 7.7.0 - babel-loader: 9.2.1(@babel/core@7.27.7)(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + '@types/semver': 7.7.1 + babel-loader: 9.2.1(@babel/core@7.27.7)(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))) babel-plugin-named-exports-order: 0.0.2 browser-assert: 1.2.1 case-sensitive-paths-webpack-plugin: 2.4.0 constants-browserify: 1.0.0 - css-loader: 6.11.0(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + css-loader: 6.11.0(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))) express: 4.21.2 - fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.8.3)(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) - fs-extra: 11.3.1 - html-webpack-plugin: 5.6.3(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.8.3)(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))) + fs-extra: 11.3.2 + html-webpack-plugin: 5.6.4(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))) path-browserify: 1.0.1 process: 0.11.10 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - semver: 7.7.2 - style-loader: 3.3.4(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) - swc-loader: 0.2.6(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) - terser-webpack-plugin: 5.3.14(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + semver: 7.7.3 + style-loader: 3.3.4(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))) + swc-loader: 0.2.6(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))) + terser-webpack-plugin: 5.3.14(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))) ts-dedent: 2.2.0 url: 0.11.4 util: 0.12.5 util-deprecate: 1.0.2 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) - webpack-dev-middleware: 6.1.3(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17)) + webpack-dev-middleware: 6.1.3(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))) webpack-hot-middleware: 2.26.1 webpack-virtual-modules: 0.5.0 optionalDependencies: @@ -30704,31 +31399,31 @@ snapshots: - uglify-js - webpack-cli - '@storybook/builder-webpack5@8.6.14(@swc/core@1.13.3(@swc/helpers@0.5.17))(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3)': + '@storybook/builder-webpack5@8.6.14(@swc/core@1.14.0(@swc/helpers@0.5.17))(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3)': dependencies: '@storybook/core-webpack': 8.6.14(storybook@8.6.14(prettier@3.5.3)) - '@types/semver': 7.7.0 + '@types/semver': 7.7.1 browser-assert: 1.2.1 case-sensitive-paths-webpack-plugin: 2.4.0 cjs-module-lexer: 1.4.3 constants-browserify: 1.0.0 - css-loader: 6.11.0(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + css-loader: 6.11.0(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))) es-module-lexer: 1.7.0 - fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.8.3)(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) - html-webpack-plugin: 5.6.3(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) - magic-string: 0.30.17 + fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.8.3)(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))) + html-webpack-plugin: 5.6.4(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))) + magic-string: 0.30.21 path-browserify: 1.0.1 process: 0.11.10 - semver: 7.7.2 + semver: 7.7.3 storybook: 8.6.14(prettier@3.5.3) - style-loader: 3.3.4(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) - terser-webpack-plugin: 5.3.14(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + style-loader: 3.3.4(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))) + terser-webpack-plugin: 5.3.14(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))) ts-dedent: 2.2.0 url: 0.11.4 util: 0.12.5 util-deprecate: 1.0.2 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) - webpack-dev-middleware: 6.1.3(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17)) + webpack-dev-middleware: 6.1.3(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))) webpack-hot-middleware: 2.26.1 webpack-virtual-modules: 0.6.2 optionalDependencies: @@ -30740,31 +31435,31 @@ snapshots: - uglify-js - webpack-cli - '@storybook/builder-webpack5@8.6.14(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3))(typescript@5.8.3)(webpack-cli@5.1.4)': + '@storybook/builder-webpack5@8.6.14(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3))(typescript@5.8.3)(webpack-cli@5.1.4)': dependencies: - '@storybook/core-webpack': 8.6.14(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3)) - '@types/semver': 7.7.0 + '@storybook/core-webpack': 8.6.14(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3)) + '@types/semver': 7.7.1 browser-assert: 1.2.1 case-sensitive-paths-webpack-plugin: 2.4.0 cjs-module-lexer: 1.4.3 constants-browserify: 1.0.0 - css-loader: 6.11.0(webpack@5.101.0) + css-loader: 6.11.0(webpack@5.102.1) es-module-lexer: 1.7.0 - fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.8.3)(webpack@5.101.0) - html-webpack-plugin: 5.6.3(webpack@5.101.0) - magic-string: 0.30.17 + fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.8.3)(webpack@5.102.1) + html-webpack-plugin: 5.6.4(webpack@5.102.1) + magic-string: 0.30.21 path-browserify: 1.0.1 process: 0.11.10 - semver: 7.7.2 - storybook: 9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3) - style-loader: 3.3.4(webpack@5.101.0) - terser-webpack-plugin: 5.3.14(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack@5.101.0) + semver: 7.7.3 + storybook: 9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3) + style-loader: 3.3.4(webpack@5.102.1) + terser-webpack-plugin: 5.3.14(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack@5.102.1) ts-dedent: 2.2.0 url: 0.11.4 util: 0.12.5 util-deprecate: 1.0.2 - webpack: 5.101.0(webpack-cli@5.1.4) - webpack-dev-middleware: 6.1.3(webpack@5.101.0) + webpack: 5.102.1(webpack-cli@5.1.4) + webpack-dev-middleware: 6.1.3(webpack@5.102.1) webpack-hot-middleware: 2.26.1 webpack-virtual-modules: 0.6.2 optionalDependencies: @@ -30781,7 +31476,7 @@ snapshots: '@storybook/channels': 6.5.16 '@storybook/client-logger': 6.5.16 '@storybook/core-events': 6.5.16 - core-js: 3.45.0 + core-js: 3.46.0 global: 4.4.0 qs: 6.14.0 telejson: 6.0.8 @@ -30790,13 +31485,13 @@ snapshots: dependencies: '@storybook/channels': 6.5.16 '@storybook/client-logger': 6.5.16 - core-js: 3.45.0 + core-js: 3.46.0 global: 4.4.0 telejson: 6.0.8 '@storybook/channels@6.5.16': dependencies: - core-js: 3.45.0 + core-js: 3.46.0 ts-dedent: 2.2.0 util-deprecate: 1.0.2 @@ -30822,7 +31517,7 @@ snapshots: dependencies: '@babel/core': 7.27.7 '@babel/preset-env': 7.27.2(@babel/core@7.27.7) - '@babel/types': 7.28.2 + '@babel/types': 7.28.5 '@ndelangen/get-tarball': 3.0.9 '@storybook/codemod': 7.6.20 '@storybook/core-common': 7.6.20(encoding@0.1.13) @@ -30832,18 +31527,18 @@ snapshots: '@storybook/node-logger': 7.6.20 '@storybook/telemetry': 7.6.20(encoding@0.1.13) '@storybook/types': 7.6.20 - '@types/semver': 7.7.0 + '@types/semver': 7.7.1 '@yarnpkg/fslib': 2.10.3 '@yarnpkg/libzip': 2.3.0 chalk: 4.1.2 commander: 6.2.1 cross-spawn: 7.0.6 detect-indent: 6.1.0 - envinfo: 7.14.0 + envinfo: 7.20.0 execa: 5.1.1 express: 4.21.2 find-up: 5.0.0 - fs-extra: 11.3.1 + fs-extra: 11.3.2 get-npm-tarball-url: 2.1.0 get-port: 5.1.1 giget: 1.2.5 @@ -30855,12 +31550,13 @@ snapshots: prompts: 2.4.2 puppeteer-core: 2.1.1 read-pkg-up: 7.0.1 - semver: 7.7.2 + semver: 7.7.3 strip-json-comments: 3.1.1 tempy: 1.0.1 ts-dedent: 2.2.0 util-deprecate: 1.0.2 transitivePeerDependencies: + - bare-abort-controller - bare-buffer - bufferutil - encoding @@ -30868,15 +31564,15 @@ snapshots: - supports-color - utf-8-validate - '@storybook/cli@9.1.1(@babel/preset-env@7.27.2(@babel/core@7.27.7))(@testing-library/dom@10.4.1)(prettier@3.5.3)': + '@storybook/cli@9.1.16(@babel/preset-env@7.27.2(@babel/core@7.28.5))(@testing-library/dom@10.4.1)(prettier@3.5.3)': dependencies: - '@storybook/codemod': 9.1.1(@babel/preset-env@7.27.2(@babel/core@7.27.7))(@testing-library/dom@10.4.1) - '@types/semver': 7.7.0 + '@storybook/codemod': 9.1.16(@babel/preset-env@7.27.2(@babel/core@7.28.5))(@testing-library/dom@10.4.1) + '@types/semver': 7.7.1 commander: 12.1.0 - create-storybook: 9.1.1 + create-storybook: 9.1.16 giget: 1.2.5 - jscodeshift: 0.15.2(@babel/preset-env@7.27.2(@babel/core@7.27.7)) - storybook: 9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3) + jscodeshift: 0.15.2(@babel/preset-env@7.27.2(@babel/core@7.28.5)) + storybook: 9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3) ts-dedent: 2.2.0 transitivePeerDependencies: - '@babel/preset-env' @@ -30899,7 +31595,7 @@ snapshots: '@storybook/store': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@types/qs': 6.14.0 '@types/webpack-env': 1.18.8 - core-js: 3.45.0 + core-js: 3.46.0 fast-deep-equal: 3.1.3 global: 4.4.0 lodash: 4.17.21 @@ -30924,7 +31620,7 @@ snapshots: '@storybook/store': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@types/qs': 6.14.0 '@types/webpack-env': 1.18.8 - core-js: 3.45.0 + core-js: 3.46.0 fast-deep-equal: 3.1.3 global: 4.4.0 lodash: 4.17.21 @@ -30945,7 +31641,7 @@ snapshots: '@storybook/client-logger@6.5.16': dependencies: - core-js: 3.45.0 + core-js: 3.46.0 global: 4.4.0 '@storybook/client-logger@7.4.6': @@ -30960,7 +31656,7 @@ snapshots: dependencies: '@babel/core': 7.27.7 '@babel/preset-env': 7.27.2(@babel/core@7.27.7) - '@babel/types': 7.28.2 + '@babel/types': 7.28.5 '@storybook/csf': 0.1.13 '@storybook/csf-tools': 7.6.20 '@storybook/node-logger': 7.6.20 @@ -30975,15 +31671,15 @@ snapshots: transitivePeerDependencies: - supports-color - '@storybook/codemod@9.1.1(@babel/preset-env@7.27.2(@babel/core@7.27.7))(@testing-library/dom@10.4.1)': + '@storybook/codemod@9.1.16(@babel/preset-env@7.27.2(@babel/core@7.28.5))(@testing-library/dom@10.4.1)': dependencies: '@types/cross-spawn': 6.0.6 cross-spawn: 7.0.6 - es-toolkit: 1.39.8 + es-toolkit: 1.41.0 globby: 14.1.0 - jscodeshift: 0.15.2(@babel/preset-env@7.27.2(@babel/core@7.27.7)) + jscodeshift: 0.15.2(@babel/preset-env@7.27.2(@babel/core@7.28.5)) prettier: 3.5.3 - storybook: 9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3) + storybook: 9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3) tiny-invariant: 1.3.3 transitivePeerDependencies: - '@babel/preset-env' @@ -30999,7 +31695,7 @@ snapshots: '@storybook/client-logger': 6.5.16 '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/theming': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - core-js: 3.45.0 + core-js: 3.46.0 memoizerific: 1.11.3 qs: 6.14.0 react: 18.2.0 @@ -31012,7 +31708,7 @@ snapshots: '@storybook/client-logger': 6.5.16 '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/theming': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - core-js: 3.45.0 + core-js: 3.46.0 memoizerific: 1.11.3 qs: 6.14.0 react: 19.1.0 @@ -31023,7 +31719,7 @@ snapshots: '@storybook/components@7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@radix-ui/react-select': 1.2.2(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-toolbar': 1.1.10(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-toolbar': 1.1.11(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/client-logger': 7.4.6 '@storybook/csf': 0.1.13 '@storybook/global': 5.0.0 @@ -31041,7 +31737,7 @@ snapshots: '@storybook/components@7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@radix-ui/react-select': 1.2.2(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-toolbar': 1.1.10(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-toolbar': 1.1.11(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@storybook/client-logger': 7.4.6 '@storybook/csf': 0.1.13 '@storybook/global': 5.0.0 @@ -31060,11 +31756,11 @@ snapshots: dependencies: storybook: 8.6.14(prettier@3.5.3) - '@storybook/components@8.6.14(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3))': + '@storybook/components@8.6.14(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3))': dependencies: - storybook: 9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3) + storybook: 9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3) - '@storybook/core-client@6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)))': + '@storybook/core-client@6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17)))': dependencies: '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/channel-postmessage': 6.5.16 @@ -31078,7 +31774,7 @@ snapshots: '@storybook/ui': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) airbnb-js-shims: 2.2.1 ansi-to-html: 0.6.15 - core-js: 3.45.0 + core-js: 3.46.0 global: 4.4.0 lodash: 4.17.21 qs: 6.14.0 @@ -31088,11 +31784,11 @@ snapshots: ts-dedent: 2.2.0 unfetch: 4.2.0 util-deprecate: 1.0.2 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17)) optionalDependencies: typescript: 5.8.3 - '@storybook/core-client@6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.101.0)': + '@storybook/core-client@6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.102.1)': dependencies: '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/channel-postmessage': 6.5.16 @@ -31106,7 +31802,7 @@ snapshots: '@storybook/ui': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) airbnb-js-shims: 2.2.1 ansi-to-html: 0.6.15 - core-js: 3.45.0 + core-js: 3.46.0 global: 4.4.0 lodash: 4.17.21 qs: 6.14.0 @@ -31116,11 +31812,11 @@ snapshots: ts-dedent: 2.2.0 unfetch: 4.2.0 util-deprecate: 1.0.2 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1) optionalDependencies: typescript: 5.8.3 - '@storybook/core-client@6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5)(webpack@5.101.0)': + '@storybook/core-client@6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5)(webpack@5.102.1)': dependencies: '@storybook/addons': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@storybook/channel-postmessage': 6.5.16 @@ -31134,7 +31830,7 @@ snapshots: '@storybook/ui': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) airbnb-js-shims: 2.2.1 ansi-to-html: 0.6.15 - core-js: 3.45.0 + core-js: 3.46.0 global: 4.4.0 lodash: 4.17.21 qs: 6.14.0 @@ -31144,7 +31840,7 @@ snapshots: ts-dedent: 2.2.0 unfetch: 4.2.0 util-deprecate: 1.0.2 - webpack: 5.101.0(webpack-cli@4.10.0) + webpack: 5.102.1(webpack-cli@4.10.0) optionalDependencies: typescript: 4.9.5 @@ -31153,7 +31849,7 @@ snapshots: '@storybook/client-logger': 7.4.6 '@storybook/preview-api': 7.4.6 - '@storybook/core-common@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': + '@storybook/core-common@6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': dependencies: '@babel/core': 7.27.7 '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.27.7) @@ -31166,9 +31862,9 @@ snapshots: '@babel/plugin-proposal-private-property-in-object': 7.21.11(@babel/core@7.27.7) '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.27.7) '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-block-scoping': 7.28.0(@babel/core@7.27.7) - '@babel/plugin-transform-classes': 7.28.0(@babel/core@7.27.7) - '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.27.7) + '@babel/plugin-transform-block-scoping': 7.28.5(@babel/core@7.27.7) + '@babel/plugin-transform-classes': 7.28.4(@babel/core@7.27.7) + '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.27.7) '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.27.7) '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.27.7) '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.27.7) @@ -31176,20 +31872,20 @@ snapshots: '@babel/preset-env': 7.27.2(@babel/core@7.27.7) '@babel/preset-react': 7.27.1(@babel/core@7.27.7) '@babel/preset-typescript': 7.27.1(@babel/core@7.27.7) - '@babel/register': 7.27.1(@babel/core@7.27.7) + '@babel/register': 7.28.3(@babel/core@7.27.7) '@storybook/node-logger': 6.5.16 '@storybook/semver': 7.3.2 '@types/node': 16.18.126 '@types/pretty-hrtime': 1.0.3 - babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))) babel-plugin-macros: 3.1.0 babel-plugin-polyfill-corejs3: 0.1.7(@babel/core@7.27.7) chalk: 4.1.2 - core-js: 3.45.0 + core-js: 3.46.0 express: 4.21.2 file-system-cache: 1.1.0 find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 6.5.3(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3)(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + fork-ts-checker-webpack-plugin: 6.5.3(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3)(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))) fs-extra: 9.1.0 glob: 7.2.3 handlebars: 4.7.8 @@ -31206,7 +31902,7 @@ snapshots: telejson: 6.0.8 ts-dedent: 2.2.0 util-deprecate: 1.0.2 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17)) optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: @@ -31218,7 +31914,7 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/core-common@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)': + '@storybook/core-common@6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)': dependencies: '@babel/core': 7.27.7 '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.27.7) @@ -31231,9 +31927,9 @@ snapshots: '@babel/plugin-proposal-private-property-in-object': 7.21.11(@babel/core@7.27.7) '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.27.7) '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-block-scoping': 7.28.0(@babel/core@7.27.7) - '@babel/plugin-transform-classes': 7.28.0(@babel/core@7.27.7) - '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.27.7) + '@babel/plugin-transform-block-scoping': 7.28.5(@babel/core@7.27.7) + '@babel/plugin-transform-classes': 7.28.4(@babel/core@7.27.7) + '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.27.7) '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.27.7) '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.27.7) '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.27.7) @@ -31241,20 +31937,20 @@ snapshots: '@babel/preset-env': 7.27.2(@babel/core@7.27.7) '@babel/preset-react': 7.27.1(@babel/core@7.27.7) '@babel/preset-typescript': 7.27.1(@babel/core@7.27.7) - '@babel/register': 7.27.1(@babel/core@7.27.7) + '@babel/register': 7.28.3(@babel/core@7.27.7) '@storybook/node-logger': 6.5.16 '@storybook/semver': 7.3.2 '@types/node': 16.18.126 '@types/pretty-hrtime': 1.0.3 - babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.101.0) + babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.102.1) babel-plugin-macros: 3.1.0 babel-plugin-polyfill-corejs3: 0.1.7(@babel/core@7.27.7) chalk: 4.1.2 - core-js: 3.45.0 + core-js: 3.46.0 express: 4.21.2 file-system-cache: 1.1.0 find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 6.5.3(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3)(webpack@5.101.0) + fork-ts-checker-webpack-plugin: 6.5.3(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3)(webpack@5.102.1) fs-extra: 9.1.0 glob: 7.2.3 handlebars: 4.7.8 @@ -31271,7 +31967,7 @@ snapshots: telejson: 6.0.8 ts-dedent: 2.2.0 util-deprecate: 1.0.2 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1) optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: @@ -31283,7 +31979,7 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/core-common@6.5.16(eslint@9.26.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': + '@storybook/core-common@6.5.16(eslint@9.26.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': dependencies: '@babel/core': 7.27.7 '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.27.7) @@ -31296,9 +31992,9 @@ snapshots: '@babel/plugin-proposal-private-property-in-object': 7.21.11(@babel/core@7.27.7) '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.27.7) '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-block-scoping': 7.28.0(@babel/core@7.27.7) - '@babel/plugin-transform-classes': 7.28.0(@babel/core@7.27.7) - '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.27.7) + '@babel/plugin-transform-block-scoping': 7.28.5(@babel/core@7.27.7) + '@babel/plugin-transform-classes': 7.28.4(@babel/core@7.27.7) + '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.27.7) '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.27.7) '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.27.7) '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.27.7) @@ -31306,20 +32002,20 @@ snapshots: '@babel/preset-env': 7.27.2(@babel/core@7.27.7) '@babel/preset-react': 7.27.1(@babel/core@7.27.7) '@babel/preset-typescript': 7.27.1(@babel/core@7.27.7) - '@babel/register': 7.27.1(@babel/core@7.27.7) + '@babel/register': 7.28.3(@babel/core@7.27.7) '@storybook/node-logger': 6.5.16 '@storybook/semver': 7.3.2 '@types/node': 16.18.126 '@types/pretty-hrtime': 1.0.3 - babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.101.0) + babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.102.1) babel-plugin-macros: 3.1.0 babel-plugin-polyfill-corejs3: 0.1.7(@babel/core@7.27.7) chalk: 4.1.2 - core-js: 3.45.0 + core-js: 3.46.0 express: 4.21.2 file-system-cache: 1.1.0 find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 6.5.3(eslint@9.26.0(jiti@2.5.1))(typescript@5.8.3)(webpack@5.101.0) + fork-ts-checker-webpack-plugin: 6.5.3(eslint@9.26.0(jiti@2.6.1))(typescript@5.8.3)(webpack@5.102.1) fs-extra: 9.1.0 glob: 7.2.3 handlebars: 4.7.8 @@ -31336,7 +32032,7 @@ snapshots: telejson: 6.0.8 ts-dedent: 2.2.0 util-deprecate: 1.0.2 - webpack: 5.101.0(webpack-cli@4.10.0) + webpack: 5.102.1(webpack-cli@4.10.0) optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: @@ -31348,7 +32044,7 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/core-common@6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': + '@storybook/core-common@6.5.16(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': dependencies: '@babel/core': 7.27.7 '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.27.7) @@ -31361,9 +32057,9 @@ snapshots: '@babel/plugin-proposal-private-property-in-object': 7.21.11(@babel/core@7.27.7) '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.27.7) '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-block-scoping': 7.28.0(@babel/core@7.27.7) - '@babel/plugin-transform-classes': 7.28.0(@babel/core@7.27.7) - '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.27.7) + '@babel/plugin-transform-block-scoping': 7.28.5(@babel/core@7.27.7) + '@babel/plugin-transform-classes': 7.28.4(@babel/core@7.27.7) + '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.27.7) '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.27.7) '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.27.7) '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.27.7) @@ -31371,20 +32067,20 @@ snapshots: '@babel/preset-env': 7.27.2(@babel/core@7.27.7) '@babel/preset-react': 7.27.1(@babel/core@7.27.7) '@babel/preset-typescript': 7.27.1(@babel/core@7.27.7) - '@babel/register': 7.27.1(@babel/core@7.27.7) + '@babel/register': 7.28.3(@babel/core@7.27.7) '@storybook/node-logger': 6.5.16 '@storybook/semver': 7.3.2 '@types/node': 16.18.126 '@types/pretty-hrtime': 1.0.3 - babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.101.0) + babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.102.1) babel-plugin-macros: 3.1.0 babel-plugin-polyfill-corejs3: 0.1.7(@babel/core@7.27.7) chalk: 4.1.2 - core-js: 3.45.0 + core-js: 3.46.0 express: 4.21.2 file-system-cache: 1.1.0 find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 6.5.3(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3)(webpack@5.101.0) + fork-ts-checker-webpack-plugin: 6.5.3(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3)(webpack@5.102.1) fs-extra: 9.1.0 glob: 7.2.3 handlebars: 4.7.8 @@ -31401,7 +32097,7 @@ snapshots: telejson: 6.0.8 ts-dedent: 2.2.0 util-deprecate: 1.0.2 - webpack: 5.101.0(webpack-cli@4.10.0) + webpack: 5.102.1(webpack-cli@4.10.0) optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: @@ -31413,7 +32109,7 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/core-common@6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)': + '@storybook/core-common@6.5.16(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)': dependencies: '@babel/core': 7.27.7 '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.27.7) @@ -31426,9 +32122,9 @@ snapshots: '@babel/plugin-proposal-private-property-in-object': 7.21.11(@babel/core@7.27.7) '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.27.7) '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-block-scoping': 7.28.0(@babel/core@7.27.7) - '@babel/plugin-transform-classes': 7.28.0(@babel/core@7.27.7) - '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.27.7) + '@babel/plugin-transform-block-scoping': 7.28.5(@babel/core@7.27.7) + '@babel/plugin-transform-classes': 7.28.4(@babel/core@7.27.7) + '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.27.7) '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.27.7) '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.27.7) '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.27.7) @@ -31436,20 +32132,20 @@ snapshots: '@babel/preset-env': 7.27.2(@babel/core@7.27.7) '@babel/preset-react': 7.27.1(@babel/core@7.27.7) '@babel/preset-typescript': 7.27.1(@babel/core@7.27.7) - '@babel/register': 7.27.1(@babel/core@7.27.7) + '@babel/register': 7.28.3(@babel/core@7.27.7) '@storybook/node-logger': 6.5.16 '@storybook/semver': 7.3.2 '@types/node': 16.18.126 '@types/pretty-hrtime': 1.0.3 - babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.101.0) + babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.102.1) babel-plugin-macros: 3.1.0 babel-plugin-polyfill-corejs3: 0.1.7(@babel/core@7.27.7) chalk: 4.1.2 - core-js: 3.45.0 + core-js: 3.46.0 express: 4.21.2 file-system-cache: 1.1.0 find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 6.5.3(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3)(webpack@5.101.0) + fork-ts-checker-webpack-plugin: 6.5.3(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3)(webpack@5.102.1) fs-extra: 9.1.0 glob: 7.2.3 handlebars: 4.7.8 @@ -31466,7 +32162,7 @@ snapshots: telejson: 6.0.8 ts-dedent: 2.2.0 util-deprecate: 1.0.2 - webpack: 5.101.0(webpack-cli@4.10.0) + webpack: 5.102.1(webpack-cli@4.10.0) optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: @@ -31478,7 +32174,7 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/core-common@6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5)': + '@storybook/core-common@6.5.16(eslint@9.27.0(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5)': dependencies: '@babel/core': 7.27.7 '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.27.7) @@ -31491,9 +32187,9 @@ snapshots: '@babel/plugin-proposal-private-property-in-object': 7.21.11(@babel/core@7.27.7) '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.27.7) '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-block-scoping': 7.28.0(@babel/core@7.27.7) - '@babel/plugin-transform-classes': 7.28.0(@babel/core@7.27.7) - '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.27.7) + '@babel/plugin-transform-block-scoping': 7.28.5(@babel/core@7.27.7) + '@babel/plugin-transform-classes': 7.28.4(@babel/core@7.27.7) + '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.27.7) '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.27.7) '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.27.7) '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.27.7) @@ -31501,20 +32197,20 @@ snapshots: '@babel/preset-env': 7.27.2(@babel/core@7.27.7) '@babel/preset-react': 7.27.1(@babel/core@7.27.7) '@babel/preset-typescript': 7.27.1(@babel/core@7.27.7) - '@babel/register': 7.27.1(@babel/core@7.27.7) + '@babel/register': 7.28.3(@babel/core@7.27.7) '@storybook/node-logger': 6.5.16 '@storybook/semver': 7.3.2 '@types/node': 16.18.126 '@types/pretty-hrtime': 1.0.3 - babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.101.0) + babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.102.1) babel-plugin-macros: 3.1.0 babel-plugin-polyfill-corejs3: 0.1.7(@babel/core@7.27.7) chalk: 4.1.2 - core-js: 3.45.0 + core-js: 3.46.0 express: 4.21.2 file-system-cache: 1.1.0 find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 6.5.3(eslint@9.27.0(jiti@2.5.1))(typescript@4.9.5)(webpack@5.101.0) + fork-ts-checker-webpack-plugin: 6.5.3(eslint@9.27.0(jiti@2.6.1))(typescript@4.9.5)(webpack@5.102.1) fs-extra: 9.1.0 glob: 7.2.3 handlebars: 4.7.8 @@ -31531,7 +32227,7 @@ snapshots: telejson: 6.0.8 ts-dedent: 2.2.0 util-deprecate: 1.0.2 - webpack: 5.101.0(webpack-cli@4.10.0) + webpack: 5.102.1(webpack-cli@4.10.0) optionalDependencies: typescript: 4.9.5 transitivePeerDependencies: @@ -31553,12 +32249,12 @@ snapshots: '@types/node-fetch': 2.6.13 '@types/pretty-hrtime': 1.0.3 chalk: 4.1.2 - esbuild: 0.25.8 - esbuild-register: 3.6.0(esbuild@0.25.8) + esbuild: 0.25.12 + esbuild-register: 3.6.0(esbuild@0.25.12) file-system-cache: 2.3.0 find-cache-dir: 3.3.2 find-up: 5.0.0 - fs-extra: 11.3.1 + fs-extra: 11.3.2 glob: 10.4.5 handlebars: 4.7.8 lazy-universal-dotenv: 4.0.0 @@ -31578,16 +32274,16 @@ snapshots: '@storybook/node-logger': 7.6.20 '@storybook/types': 7.6.20 '@types/find-cache-dir': 3.2.1 - '@types/node': 18.19.121 + '@types/node': 18.19.130 '@types/node-fetch': 2.6.13 '@types/pretty-hrtime': 1.0.3 chalk: 4.1.2 - esbuild: 0.25.8 - esbuild-register: 3.6.0(esbuild@0.25.8) + esbuild: 0.25.12 + esbuild-register: 3.6.0(esbuild@0.25.12) file-system-cache: 2.3.0 find-cache-dir: 3.3.2 find-up: 5.0.0 - fs-extra: 11.3.1 + fs-extra: 11.3.2 glob: 10.4.5 handlebars: 4.7.8 lazy-universal-dotenv: 4.0.0 @@ -31603,7 +32299,7 @@ snapshots: '@storybook/core-events@6.5.16': dependencies: - core-js: 3.45.0 + core-js: 3.46.0 '@storybook/core-events@7.4.6': dependencies: @@ -31613,20 +32309,20 @@ snapshots: dependencies: ts-dedent: 2.2.0 - '@storybook/core-server@6.5.16(@storybook/builder-webpack5@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@storybook/manager-webpack5@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)': + '@storybook/core-server@6.5.16(@storybook/builder-webpack5@6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@storybook/manager-webpack5@6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@swc/core@1.14.0(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)': dependencies: '@discoveryjs/json-ext': 0.5.7 - '@storybook/builder-webpack4': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) - '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.101.0) - '@storybook/core-common': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/builder-webpack4': 6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.102.1) + '@storybook/core-common': 6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) '@storybook/core-events': 6.5.16 '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/csf-tools': 6.5.16 - '@storybook/manager-webpack4': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/manager-webpack4': 6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) '@storybook/node-logger': 6.5.16 '@storybook/semver': 7.3.2 '@storybook/store': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/telemetry': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/telemetry': 6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) '@types/node': 16.18.126 '@types/node-fetch': 2.6.13 '@types/pretty-hrtime': 1.0.3 @@ -31637,7 +32333,7 @@ snapshots: cli-table3: 0.6.5 commander: 6.2.1 compression: 1.8.1 - core-js: 3.45.0 + core-js: 3.46.0 cpy: 8.1.2 detect-port: 1.6.1 express: 4.21.2 @@ -31659,12 +32355,12 @@ snapshots: ts-dedent: 2.2.0 util-deprecate: 1.0.2 watchpack: 2.4.4 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1) ws: 8.18.3 x-default-browser: 0.4.0 optionalDependencies: - '@storybook/builder-webpack5': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) - '@storybook/manager-webpack5': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/builder-webpack5': 6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/manager-webpack5': 6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) typescript: 5.8.3 transitivePeerDependencies: - '@storybook/mdx2-csf' @@ -31679,20 +32375,20 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/core-server@6.5.16(@storybook/builder-webpack5@6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(@storybook/manager-webpack5@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)': + '@storybook/core-server@6.5.16(@storybook/builder-webpack5@6.5.16(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(@storybook/manager-webpack5@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)': dependencies: '@discoveryjs/json-ext': 0.5.7 - '@storybook/builder-webpack4': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) - '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.101.0) - '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/builder-webpack4': 6.5.16(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.102.1) + '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) '@storybook/core-events': 6.5.16 '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/csf-tools': 6.5.16 - '@storybook/manager-webpack4': 6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/manager-webpack4': 6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) '@storybook/node-logger': 6.5.16 '@storybook/semver': 7.3.2 '@storybook/store': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/telemetry': 6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/telemetry': 6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) '@types/node': 16.18.126 '@types/node-fetch': 2.6.13 '@types/pretty-hrtime': 1.0.3 @@ -31703,7 +32399,7 @@ snapshots: cli-table3: 0.6.5 commander: 6.2.1 compression: 1.8.1 - core-js: 3.45.0 + core-js: 3.46.0 cpy: 8.1.2 detect-port: 1.6.1 express: 4.21.2 @@ -31725,12 +32421,12 @@ snapshots: ts-dedent: 2.2.0 util-deprecate: 1.0.2 watchpack: 2.4.4 - webpack: 5.101.0(webpack-cli@4.10.0) + webpack: 5.102.1(webpack-cli@4.10.0) ws: 8.18.3 x-default-browser: 0.4.0 optionalDependencies: - '@storybook/builder-webpack5': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) - '@storybook/manager-webpack5': 6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/builder-webpack5': 6.5.16(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/manager-webpack5': 6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) typescript: 5.8.3 transitivePeerDependencies: - '@storybook/mdx2-csf' @@ -31745,20 +32441,20 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/core-server@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': + '@storybook/core-server@6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': dependencies: '@discoveryjs/json-ext': 0.5.7 - '@storybook/builder-webpack4': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) - '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) - '@storybook/core-common': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/builder-webpack4': 6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))) + '@storybook/core-common': 6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) '@storybook/core-events': 6.5.16 '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/csf-tools': 6.5.16 - '@storybook/manager-webpack4': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/manager-webpack4': 6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) '@storybook/node-logger': 6.5.16 '@storybook/semver': 7.3.2 '@storybook/store': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/telemetry': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/telemetry': 6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) '@types/node': 16.18.126 '@types/node-fetch': 2.6.13 '@types/pretty-hrtime': 1.0.3 @@ -31769,7 +32465,7 @@ snapshots: cli-table3: 0.6.5 commander: 6.2.1 compression: 1.8.1 - core-js: 3.45.0 + core-js: 3.46.0 cpy: 8.1.2 detect-port: 1.6.1 express: 4.21.2 @@ -31791,7 +32487,7 @@ snapshots: ts-dedent: 2.2.0 util-deprecate: 1.0.2 watchpack: 2.4.4 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17)) ws: 8.18.3 x-default-browser: 0.4.0 optionalDependencies: @@ -31809,20 +32505,20 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/core-server@6.5.16(encoding@0.1.13)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': + '@storybook/core-server@6.5.16(encoding@0.1.13)(eslint@9.26.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': dependencies: '@discoveryjs/json-ext': 0.5.7 - '@storybook/builder-webpack4': 6.5.16(eslint@9.26.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) - '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.101.0) - '@storybook/core-common': 6.5.16(eslint@9.26.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/builder-webpack4': 6.5.16(eslint@9.26.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.102.1) + '@storybook/core-common': 6.5.16(eslint@9.26.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) '@storybook/core-events': 6.5.16 '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/csf-tools': 6.5.16 - '@storybook/manager-webpack4': 6.5.16(encoding@0.1.13)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/manager-webpack4': 6.5.16(encoding@0.1.13)(eslint@9.26.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) '@storybook/node-logger': 6.5.16 '@storybook/semver': 7.3.2 '@storybook/store': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/telemetry': 6.5.16(encoding@0.1.13)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/telemetry': 6.5.16(encoding@0.1.13)(eslint@9.26.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) '@types/node': 16.18.126 '@types/node-fetch': 2.6.13 '@types/pretty-hrtime': 1.0.3 @@ -31833,7 +32529,7 @@ snapshots: cli-table3: 0.6.5 commander: 6.2.1 compression: 1.8.1 - core-js: 3.45.0 + core-js: 3.46.0 cpy: 8.1.2 detect-port: 1.6.1 express: 4.21.2 @@ -31855,7 +32551,7 @@ snapshots: ts-dedent: 2.2.0 util-deprecate: 1.0.2 watchpack: 2.4.4 - webpack: 5.101.0(webpack-cli@4.10.0) + webpack: 5.102.1(webpack-cli@4.10.0) ws: 8.18.3 x-default-browser: 0.4.0 optionalDependencies: @@ -31873,20 +32569,20 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/core-server@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': + '@storybook/core-server@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': dependencies: '@discoveryjs/json-ext': 0.5.7 - '@storybook/builder-webpack4': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) - '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.101.0) - '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/builder-webpack4': 6.5.16(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.102.1) + '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) '@storybook/core-events': 6.5.16 '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/csf-tools': 6.5.16 - '@storybook/manager-webpack4': 6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/manager-webpack4': 6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) '@storybook/node-logger': 6.5.16 '@storybook/semver': 7.3.2 '@storybook/store': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/telemetry': 6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/telemetry': 6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) '@types/node': 16.18.126 '@types/node-fetch': 2.6.13 '@types/pretty-hrtime': 1.0.3 @@ -31897,7 +32593,7 @@ snapshots: cli-table3: 0.6.5 commander: 6.2.1 compression: 1.8.1 - core-js: 3.45.0 + core-js: 3.46.0 cpy: 8.1.2 detect-port: 1.6.1 express: 4.21.2 @@ -31919,7 +32615,7 @@ snapshots: ts-dedent: 2.2.0 util-deprecate: 1.0.2 watchpack: 2.4.4 - webpack: 5.101.0(webpack-cli@4.10.0) + webpack: 5.102.1(webpack-cli@4.10.0) ws: 8.18.3 x-default-browser: 0.4.0 optionalDependencies: @@ -31937,20 +32633,20 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/core-server@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5)': + '@storybook/core-server@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5)': dependencies: '@discoveryjs/json-ext': 0.5.7 - '@storybook/builder-webpack4': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5) - '@storybook/core-client': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5)(webpack@5.101.0) - '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5) + '@storybook/builder-webpack4': 6.5.16(eslint@9.27.0(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5) + '@storybook/core-client': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5)(webpack@5.102.1) + '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5) '@storybook/core-events': 6.5.16 '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/csf-tools': 6.5.16 - '@storybook/manager-webpack4': 6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5) + '@storybook/manager-webpack4': 6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5) '@storybook/node-logger': 6.5.16 '@storybook/semver': 7.3.2 '@storybook/store': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/telemetry': 6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5) + '@storybook/telemetry': 6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5) '@types/node': 16.18.126 '@types/node-fetch': 2.6.13 '@types/pretty-hrtime': 1.0.3 @@ -31961,7 +32657,7 @@ snapshots: cli-table3: 0.6.5 commander: 6.2.1 compression: 1.8.1 - core-js: 3.45.0 + core-js: 3.46.0 cpy: 8.1.2 detect-port: 1.6.1 express: 4.21.2 @@ -31983,7 +32679,7 @@ snapshots: ts-dedent: 2.2.0 util-deprecate: 1.0.2 watchpack: 2.4.4 - webpack: 5.101.0(webpack-cli@4.10.0) + webpack: 5.102.1(webpack-cli@4.10.0) ws: 8.18.3 x-default-browser: 0.4.0 optionalDependencies: @@ -32019,23 +32715,23 @@ snapshots: '@storybook/telemetry': 7.6.20(encoding@0.1.13) '@storybook/types': 7.6.20 '@types/detect-port': 1.3.5 - '@types/node': 18.19.121 + '@types/node': 18.19.130 '@types/pretty-hrtime': 1.0.3 - '@types/semver': 7.7.0 + '@types/semver': 7.7.1 better-opn: 3.0.2 chalk: 4.1.2 cli-table3: 0.6.5 compression: 1.8.1 detect-port: 1.6.1 express: 4.21.2 - fs-extra: 11.3.1 + fs-extra: 11.3.2 globby: 11.1.0 lodash: 4.17.21 open: 8.4.2 pretty-hrtime: 1.0.3 prompts: 2.4.2 read-pkg-up: 7.0.1 - semver: 7.7.2 + semver: 7.7.3 telejson: 7.2.0 tiny-invariant: 1.3.3 ts-dedent: 2.2.0 @@ -32065,21 +32761,21 @@ snapshots: storybook: 8.6.14(prettier@3.5.3) ts-dedent: 2.2.0 - '@storybook/core-webpack@8.6.14(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3))': + '@storybook/core-webpack@8.6.14(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3))': dependencies: - storybook: 9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3) + storybook: 9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3) ts-dedent: 2.2.0 - '@storybook/core@6.5.16(@storybook/builder-webpack5@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@storybook/manager-webpack5@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)(webpack@5.101.0)': + '@storybook/core@6.5.16(@storybook/builder-webpack5@6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@storybook/manager-webpack5@6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@swc/core@1.14.0(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)(webpack@5.102.1)': dependencies: - '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.101.0) - '@storybook/core-server': 6.5.16(@storybook/builder-webpack5@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@storybook/manager-webpack5@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.102.1) + '@storybook/core-server': 6.5.16(@storybook/builder-webpack5@6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@storybook/manager-webpack5@6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@swc/core@1.14.0(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1) optionalDependencies: - '@storybook/builder-webpack5': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) - '@storybook/manager-webpack5': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/builder-webpack5': 6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/manager-webpack5': 6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) typescript: 5.8.3 transitivePeerDependencies: - '@storybook/mdx2-csf' @@ -32094,16 +32790,16 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/core@6.5.16(@storybook/builder-webpack5@6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(@storybook/manager-webpack5@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)(webpack@5.101.0)': + '@storybook/core@6.5.16(@storybook/builder-webpack5@6.5.16(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(@storybook/manager-webpack5@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)(webpack@5.102.1)': dependencies: - '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.101.0) - '@storybook/core-server': 6.5.16(@storybook/builder-webpack5@6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(@storybook/manager-webpack5@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.102.1) + '@storybook/core-server': 6.5.16(@storybook/builder-webpack5@6.5.16(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(@storybook/manager-webpack5@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - webpack: 5.101.0(webpack-cli@4.10.0) + webpack: 5.102.1(webpack-cli@4.10.0) optionalDependencies: - '@storybook/builder-webpack5': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) - '@storybook/manager-webpack5': 6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/builder-webpack5': 6.5.16(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/manager-webpack5': 6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) typescript: 5.8.3 transitivePeerDependencies: - '@storybook/mdx2-csf' @@ -32118,13 +32814,13 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/core@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)))': + '@storybook/core@6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17)))': dependencies: - '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) - '@storybook/core-server': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))) + '@storybook/core-server': 6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17)) optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: @@ -32140,13 +32836,13 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/core@6.5.16(encoding@0.1.13)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.101.0)': + '@storybook/core@6.5.16(encoding@0.1.13)(eslint@9.26.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.102.1)': dependencies: - '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.101.0) - '@storybook/core-server': 6.5.16(encoding@0.1.13)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.102.1) + '@storybook/core-server': 6.5.16(encoding@0.1.13)(eslint@9.26.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - webpack: 5.101.0(webpack-cli@4.10.0) + webpack: 5.102.1(webpack-cli@4.10.0) optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: @@ -32162,13 +32858,13 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/core@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.101.0)': + '@storybook/core@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.102.1)': dependencies: - '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.101.0) - '@storybook/core-server': 6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.102.1) + '@storybook/core-server': 6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - webpack: 5.101.0(webpack-cli@4.10.0) + webpack: 5.102.1(webpack-cli@4.10.0) optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: @@ -32184,13 +32880,13 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/core@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5)(webpack@5.101.0)': + '@storybook/core@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5)(webpack@5.102.1)': dependencies: - '@storybook/core-client': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5)(webpack@5.101.0) - '@storybook/core-server': 6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5) + '@storybook/core-client': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5)(webpack@5.102.1) + '@storybook/core-server': 6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - webpack: 5.101.0(webpack-cli@4.10.0) + webpack: 5.102.1(webpack-cli@4.10.0) optionalDependencies: typescript: 4.9.5 transitivePeerDependencies: @@ -32211,12 +32907,12 @@ snapshots: '@storybook/theming': 8.6.14(storybook@8.6.14(prettier@3.5.3)) better-opn: 3.0.2 browser-assert: 1.2.1 - esbuild: 0.25.8 - esbuild-register: 3.6.0(esbuild@0.25.8) - jsdoc-type-pratt-parser: 4.1.0 + esbuild: 0.25.12 + esbuild-register: 3.6.0(esbuild@0.25.12) + jsdoc-type-pratt-parser: 4.8.0 process: 0.11.10 recast: 0.23.11 - semver: 7.7.2 + semver: 7.7.3 util: 0.12.5 ws: 8.18.3 optionalDependencies: @@ -32239,28 +32935,28 @@ snapshots: storybook: 8.6.14(prettier@3.5.3) unplugin: 1.16.1 - '@storybook/csf-plugin@8.6.14(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3))': + '@storybook/csf-plugin@8.6.14(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3))': dependencies: - storybook: 9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3) + storybook: 9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3) unplugin: 1.16.1 - '@storybook/csf-plugin@9.1.1(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3))': + '@storybook/csf-plugin@9.1.16(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3))': dependencies: - storybook: 9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3) + storybook: 9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3) unplugin: 1.16.1 '@storybook/csf-tools@6.5.16': dependencies: '@babel/core': 7.27.7 - '@babel/generator': 7.28.0 - '@babel/parser': 7.28.0 + '@babel/generator': 7.28.5 + '@babel/parser': 7.28.5 '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.27.7) '@babel/preset-env': 7.27.2(@babel/core@7.27.7) - '@babel/traverse': 7.28.0 - '@babel/types': 7.28.2 + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/mdx1-csf': 0.0.1(@babel/core@7.27.7) - core-js: 3.45.0 + core-js: 3.46.0 fs-extra: 9.1.0 global: 4.4.0 regenerator-runtime: 0.13.11 @@ -32270,13 +32966,13 @@ snapshots: '@storybook/csf-tools@7.4.6': dependencies: - '@babel/generator': 7.28.0 - '@babel/parser': 7.28.0 - '@babel/traverse': 7.28.0 - '@babel/types': 7.28.2 + '@babel/generator': 7.28.5 + '@babel/parser': 7.28.5 + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 '@storybook/csf': 0.1.13 '@storybook/types': 7.4.6 - fs-extra: 11.3.1 + fs-extra: 11.3.2 recast: 0.23.11 ts-dedent: 2.2.0 transitivePeerDependencies: @@ -32284,13 +32980,13 @@ snapshots: '@storybook/csf-tools@7.6.20': dependencies: - '@babel/generator': 7.28.0 - '@babel/parser': 7.28.0 - '@babel/traverse': 7.28.0 - '@babel/types': 7.28.2 + '@babel/generator': 7.28.5 + '@babel/parser': 7.28.5 + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 '@storybook/csf': 0.1.13 '@storybook/types': 7.6.20 - fs-extra: 11.3.1 + fs-extra: 11.3.2 recast: 0.23.11 ts-dedent: 2.2.0 transitivePeerDependencies: @@ -32311,7 +33007,7 @@ snapshots: '@babel/core': 7.27.7 '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/store': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - core-js: 3.45.0 + core-js: 3.46.0 doctrine: 3.0.0 lodash: 4.17.21 regenerator-runtime: 0.13.11 @@ -32325,7 +33021,7 @@ snapshots: '@babel/core': 7.27.7 '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/store': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - core-js: 3.45.0 + core-js: 3.46.0 doctrine: 3.0.0 lodash: 4.17.21 regenerator-runtime: 0.13.11 @@ -32348,12 +33044,12 @@ snapshots: '@storybook/global@5.0.0': {} - '@storybook/icons@1.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@storybook/icons@1.6.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - '@storybook/icons@1.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@storybook/icons@1.6.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: react: 19.1.0 react-dom: 19.1.0(react@19.1.0) @@ -32364,11 +33060,11 @@ snapshots: '@vitest/utils': 2.1.9 storybook: 8.6.14(prettier@3.5.3) - '@storybook/instrumenter@8.6.14(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3))': + '@storybook/instrumenter@8.6.14(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3))': dependencies: '@storybook/global': 5.0.0 '@vitest/utils': 2.1.9 - storybook: 9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3) + storybook: 9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3) optional: true '@storybook/manager-api@7.4.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': @@ -32386,7 +33082,7 @@ snapshots: memoizerific: 1.11.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - semver: 7.7.2 + semver: 7.7.3 store2: 2.14.4 telejson: 7.2.0 ts-dedent: 2.2.0 @@ -32406,7 +33102,7 @@ snapshots: memoizerific: 1.11.3 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - semver: 7.7.2 + semver: 7.7.3 store2: 2.14.4 telejson: 7.2.0 ts-dedent: 2.2.0 @@ -32415,33 +33111,33 @@ snapshots: dependencies: storybook: 8.6.14(prettier@3.5.3) - '@storybook/manager-api@8.6.14(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3))': + '@storybook/manager-api@8.6.14(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3))': dependencies: - storybook: 9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3) + storybook: 9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3) - '@storybook/manager-webpack4@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': + '@storybook/manager-webpack4@6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': dependencies: '@babel/core': 7.27.7 '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.27.7) '@babel/preset-react': 7.27.1(@babel/core@7.27.7) '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) - '@storybook/core-common': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))) + '@storybook/core-common': 6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) '@storybook/node-logger': 6.5.16 '@storybook/theming': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/ui': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@types/node': 16.18.126 '@types/webpack': 4.41.40 - babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))) case-sensitive-paths-webpack-plugin: 2.4.0 chalk: 4.1.2 - core-js: 3.45.0 - css-loader: 3.6.0(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + core-js: 3.46.0 + css-loader: 3.6.0(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))) express: 4.21.2 - file-loader: 6.2.0(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + file-loader: 6.2.0(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))) find-up: 5.0.0 fs-extra: 9.1.0 - html-webpack-plugin: 4.5.2(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + html-webpack-plugin: 4.5.2(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))) node-fetch: 2.6.13(encoding@0.1.13) pnp-webpack-plugin: 1.6.4(typescript@5.8.3) react: 18.2.0 @@ -32449,14 +33145,14 @@ snapshots: read-pkg-up: 7.0.1 regenerator-runtime: 0.13.11 resolve-from: 5.0.0 - style-loader: 1.3.0(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + style-loader: 1.3.0(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))) telejson: 6.0.8 - terser-webpack-plugin: 4.2.3(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + terser-webpack-plugin: 4.2.3(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))) ts-dedent: 2.2.0 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))))(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))))(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))) util-deprecate: 1.0.2 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) - webpack-dev-middleware: 3.7.3(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17)) + webpack-dev-middleware: 3.7.3(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))) webpack-virtual-modules: 0.2.2 optionalDependencies: typescript: 5.8.3 @@ -32470,29 +33166,29 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/manager-webpack4@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)': + '@storybook/manager-webpack4@6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)': dependencies: '@babel/core': 7.27.7 '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.27.7) '@babel/preset-react': 7.27.1(@babel/core@7.27.7) '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.101.0) - '@storybook/core-common': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.102.1) + '@storybook/core-common': 6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) '@storybook/node-logger': 6.5.16 '@storybook/theming': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/ui': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@types/node': 16.18.126 '@types/webpack': 4.41.40 - babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.101.0) + babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.102.1) case-sensitive-paths-webpack-plugin: 2.4.0 chalk: 4.1.2 - core-js: 3.45.0 - css-loader: 3.6.0(webpack@5.101.0) + core-js: 3.46.0 + css-loader: 3.6.0(webpack@5.102.1) express: 4.21.2 - file-loader: 6.2.0(webpack@5.101.0) + file-loader: 6.2.0(webpack@5.102.1) find-up: 5.0.0 fs-extra: 9.1.0 - html-webpack-plugin: 4.5.2(webpack@5.101.0) + html-webpack-plugin: 4.5.2(webpack@5.102.1) node-fetch: 2.6.13(encoding@0.1.13) pnp-webpack-plugin: 1.6.4(typescript@5.8.3) react: 18.2.0 @@ -32500,14 +33196,14 @@ snapshots: read-pkg-up: 7.0.1 regenerator-runtime: 0.13.11 resolve-from: 5.0.0 - style-loader: 1.3.0(webpack@5.101.0) + style-loader: 1.3.0(webpack@5.102.1) telejson: 6.0.8 - terser-webpack-plugin: 4.2.3(webpack@5.101.0) + terser-webpack-plugin: 4.2.3(webpack@5.102.1) ts-dedent: 2.2.0 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.101.0))(webpack@5.101.0) + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.102.1))(webpack@5.102.1) util-deprecate: 1.0.2 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) - webpack-dev-middleware: 3.7.3(webpack@5.101.0) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + webpack-dev-middleware: 3.7.3(webpack@5.102.1) webpack-virtual-modules: 0.2.2 optionalDependencies: typescript: 5.8.3 @@ -32521,29 +33217,29 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/manager-webpack4@6.5.16(encoding@0.1.13)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': + '@storybook/manager-webpack4@6.5.16(encoding@0.1.13)(eslint@9.26.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': dependencies: '@babel/core': 7.27.7 '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.27.7) '@babel/preset-react': 7.27.1(@babel/core@7.27.7) '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.101.0) - '@storybook/core-common': 6.5.16(eslint@9.26.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.102.1) + '@storybook/core-common': 6.5.16(eslint@9.26.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) '@storybook/node-logger': 6.5.16 '@storybook/theming': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/ui': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@types/node': 16.18.126 '@types/webpack': 4.41.40 - babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.101.0) + babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.102.1) case-sensitive-paths-webpack-plugin: 2.4.0 chalk: 4.1.2 - core-js: 3.45.0 - css-loader: 3.6.0(webpack@5.101.0) + core-js: 3.46.0 + css-loader: 3.6.0(webpack@5.102.1) express: 4.21.2 - file-loader: 6.2.0(webpack@5.101.0) + file-loader: 6.2.0(webpack@5.102.1) find-up: 5.0.0 fs-extra: 9.1.0 - html-webpack-plugin: 4.5.2(webpack@5.101.0) + html-webpack-plugin: 4.5.2(webpack@5.102.1) node-fetch: 2.6.13(encoding@0.1.13) pnp-webpack-plugin: 1.6.4(typescript@5.8.3) react: 18.2.0 @@ -32551,14 +33247,14 @@ snapshots: read-pkg-up: 7.0.1 regenerator-runtime: 0.13.11 resolve-from: 5.0.0 - style-loader: 1.3.0(webpack@5.101.0) + style-loader: 1.3.0(webpack@5.102.1) telejson: 6.0.8 - terser-webpack-plugin: 4.2.3(webpack@5.101.0) + terser-webpack-plugin: 4.2.3(webpack@5.102.1) ts-dedent: 2.2.0 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.101.0))(webpack@5.101.0) + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.102.1))(webpack@5.102.1) util-deprecate: 1.0.2 - webpack: 5.101.0(webpack-cli@4.10.0) - webpack-dev-middleware: 3.7.3(webpack@5.101.0) + webpack: 5.102.1(webpack-cli@4.10.0) + webpack-dev-middleware: 3.7.3(webpack@5.102.1) webpack-virtual-modules: 0.2.2 optionalDependencies: typescript: 5.8.3 @@ -32572,29 +33268,29 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/manager-webpack4@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': + '@storybook/manager-webpack4@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': dependencies: '@babel/core': 7.27.7 '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.27.7) '@babel/preset-react': 7.27.1(@babel/core@7.27.7) '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.101.0) - '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.102.1) + '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) '@storybook/node-logger': 6.5.16 '@storybook/theming': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/ui': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@types/node': 16.18.126 '@types/webpack': 4.41.40 - babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.101.0) + babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.102.1) case-sensitive-paths-webpack-plugin: 2.4.0 chalk: 4.1.2 - core-js: 3.45.0 - css-loader: 3.6.0(webpack@5.101.0) + core-js: 3.46.0 + css-loader: 3.6.0(webpack@5.102.1) express: 4.21.2 - file-loader: 6.2.0(webpack@5.101.0) + file-loader: 6.2.0(webpack@5.102.1) find-up: 5.0.0 fs-extra: 9.1.0 - html-webpack-plugin: 4.5.2(webpack@5.101.0) + html-webpack-plugin: 4.5.2(webpack@5.102.1) node-fetch: 2.6.13(encoding@0.1.13) pnp-webpack-plugin: 1.6.4(typescript@5.8.3) react: 18.2.0 @@ -32602,14 +33298,14 @@ snapshots: read-pkg-up: 7.0.1 regenerator-runtime: 0.13.11 resolve-from: 5.0.0 - style-loader: 1.3.0(webpack@5.101.0) + style-loader: 1.3.0(webpack@5.102.1) telejson: 6.0.8 - terser-webpack-plugin: 4.2.3(webpack@5.101.0) + terser-webpack-plugin: 4.2.3(webpack@5.102.1) ts-dedent: 2.2.0 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.101.0))(webpack@5.101.0) + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.102.1))(webpack@5.102.1) util-deprecate: 1.0.2 - webpack: 5.101.0(webpack-cli@4.10.0) - webpack-dev-middleware: 3.7.3(webpack@5.101.0) + webpack: 5.102.1(webpack-cli@4.10.0) + webpack-dev-middleware: 3.7.3(webpack@5.102.1) webpack-virtual-modules: 0.2.2 optionalDependencies: typescript: 5.8.3 @@ -32623,29 +33319,29 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/manager-webpack4@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)': + '@storybook/manager-webpack4@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)': dependencies: '@babel/core': 7.27.7 '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.27.7) '@babel/preset-react': 7.27.1(@babel/core@7.27.7) '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.101.0) - '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.102.1) + '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) '@storybook/node-logger': 6.5.16 '@storybook/theming': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/ui': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@types/node': 16.18.126 '@types/webpack': 4.41.40 - babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.101.0) + babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.102.1) case-sensitive-paths-webpack-plugin: 2.4.0 chalk: 4.1.2 - core-js: 3.45.0 - css-loader: 3.6.0(webpack@5.101.0) + core-js: 3.46.0 + css-loader: 3.6.0(webpack@5.102.1) express: 4.21.2 - file-loader: 6.2.0(webpack@5.101.0) + file-loader: 6.2.0(webpack@5.102.1) find-up: 5.0.0 fs-extra: 9.1.0 - html-webpack-plugin: 4.5.2(webpack@5.101.0) + html-webpack-plugin: 4.5.2(webpack@5.102.1) node-fetch: 2.6.13(encoding@0.1.13) pnp-webpack-plugin: 1.6.4(typescript@5.8.3) react: 18.2.0 @@ -32653,14 +33349,14 @@ snapshots: read-pkg-up: 7.0.1 regenerator-runtime: 0.13.11 resolve-from: 5.0.0 - style-loader: 1.3.0(webpack@5.101.0) + style-loader: 1.3.0(webpack@5.102.1) telejson: 6.0.8 - terser-webpack-plugin: 4.2.3(webpack@5.101.0) + terser-webpack-plugin: 4.2.3(webpack@5.102.1) ts-dedent: 2.2.0 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.101.0))(webpack@5.101.0) + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.102.1))(webpack@5.102.1) util-deprecate: 1.0.2 - webpack: 5.101.0(webpack-cli@4.10.0) - webpack-dev-middleware: 3.7.3(webpack@5.101.0) + webpack: 5.102.1(webpack-cli@4.10.0) + webpack-dev-middleware: 3.7.3(webpack@5.102.1) webpack-virtual-modules: 0.2.2 optionalDependencies: typescript: 5.8.3 @@ -32674,29 +33370,29 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/manager-webpack4@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5)': + '@storybook/manager-webpack4@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5)': dependencies: '@babel/core': 7.27.7 '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.27.7) '@babel/preset-react': 7.27.1(@babel/core@7.27.7) '@storybook/addons': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/core-client': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5)(webpack@5.101.0) - '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5) + '@storybook/core-client': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5)(webpack@5.102.1) + '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5) '@storybook/node-logger': 6.5.16 '@storybook/theming': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@storybook/ui': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@types/node': 16.18.126 '@types/webpack': 4.41.40 - babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.101.0) + babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.102.1) case-sensitive-paths-webpack-plugin: 2.4.0 chalk: 4.1.2 - core-js: 3.45.0 - css-loader: 3.6.0(webpack@5.101.0) + core-js: 3.46.0 + css-loader: 3.6.0(webpack@5.102.1) express: 4.21.2 - file-loader: 6.2.0(webpack@5.101.0) + file-loader: 6.2.0(webpack@5.102.1) find-up: 5.0.0 fs-extra: 9.1.0 - html-webpack-plugin: 4.5.2(webpack@5.101.0) + html-webpack-plugin: 4.5.2(webpack@5.102.1) node-fetch: 2.6.13(encoding@0.1.13) pnp-webpack-plugin: 1.6.4(typescript@4.9.5) react: 19.1.0 @@ -32704,14 +33400,14 @@ snapshots: read-pkg-up: 7.0.1 regenerator-runtime: 0.13.11 resolve-from: 5.0.0 - style-loader: 1.3.0(webpack@5.101.0) + style-loader: 1.3.0(webpack@5.102.1) telejson: 6.0.8 - terser-webpack-plugin: 4.2.3(webpack@5.101.0) + terser-webpack-plugin: 4.2.3(webpack@5.102.1) ts-dedent: 2.2.0 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.101.0))(webpack@5.101.0) + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.102.1))(webpack@5.102.1) util-deprecate: 1.0.2 - webpack: 5.101.0(webpack-cli@4.10.0) - webpack-dev-middleware: 3.7.3(webpack@5.101.0) + webpack: 5.102.1(webpack-cli@4.10.0) + webpack-dev-middleware: 3.7.3(webpack@5.102.1) webpack-virtual-modules: 0.2.2 optionalDependencies: typescript: 4.9.5 @@ -32725,27 +33421,27 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/manager-webpack5@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)': + '@storybook/manager-webpack5@6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)': dependencies: '@babel/core': 7.27.7 '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.27.7) '@babel/preset-react': 7.27.1(@babel/core@7.27.7) '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.101.0) - '@storybook/core-common': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.102.1) + '@storybook/core-common': 6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) '@storybook/node-logger': 6.5.16 '@storybook/theming': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/ui': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@types/node': 16.18.126 - babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.101.0) + babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.102.1) case-sensitive-paths-webpack-plugin: 2.4.0 chalk: 4.1.2 - core-js: 3.45.0 - css-loader: 5.2.7(webpack@5.101.0) + core-js: 3.46.0 + css-loader: 5.2.7(webpack@5.102.1) express: 4.21.2 find-up: 5.0.0 fs-extra: 9.1.0 - html-webpack-plugin: 5.6.3(webpack@5.101.0) + html-webpack-plugin: 5.6.4(webpack@5.102.1) node-fetch: 2.6.13(encoding@0.1.13) process: 0.11.10 react: 18.2.0 @@ -32753,13 +33449,13 @@ snapshots: read-pkg-up: 7.0.1 regenerator-runtime: 0.13.11 resolve-from: 5.0.0 - style-loader: 2.0.0(webpack@5.101.0) + style-loader: 2.0.0(webpack@5.102.1) telejson: 6.0.8 - terser-webpack-plugin: 5.3.14(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack@5.101.0) + terser-webpack-plugin: 5.3.14(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack@5.102.1) ts-dedent: 2.2.0 util-deprecate: 1.0.2 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) - webpack-dev-middleware: 4.3.0(webpack@5.101.0) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + webpack-dev-middleware: 4.3.0(webpack@5.102.1) webpack-virtual-modules: 0.4.6 optionalDependencies: typescript: 5.8.3 @@ -32774,27 +33470,27 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/manager-webpack5@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)': + '@storybook/manager-webpack5@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)': dependencies: '@babel/core': 7.27.7 '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.27.7) '@babel/preset-react': 7.27.1(@babel/core@7.27.7) '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.101.0) - '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.102.1) + '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) '@storybook/node-logger': 6.5.16 '@storybook/theming': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/ui': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@types/node': 16.18.126 - babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.101.0) + babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.102.1) case-sensitive-paths-webpack-plugin: 2.4.0 chalk: 4.1.2 - core-js: 3.45.0 - css-loader: 5.2.7(webpack@5.101.0) + core-js: 3.46.0 + css-loader: 5.2.7(webpack@5.102.1) express: 4.21.2 find-up: 5.0.0 fs-extra: 9.1.0 - html-webpack-plugin: 5.6.3(webpack@5.101.0) + html-webpack-plugin: 5.6.4(webpack@5.102.1) node-fetch: 2.6.13(encoding@0.1.13) process: 0.11.10 react: 18.2.0 @@ -32802,13 +33498,13 @@ snapshots: read-pkg-up: 7.0.1 regenerator-runtime: 0.13.11 resolve-from: 5.0.0 - style-loader: 2.0.0(webpack@5.101.0) + style-loader: 2.0.0(webpack@5.102.1) telejson: 6.0.8 - terser-webpack-plugin: 5.3.14(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack@5.101.0) + terser-webpack-plugin: 5.3.14(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack@5.102.1) ts-dedent: 2.2.0 util-deprecate: 1.0.2 - webpack: 5.101.0(webpack-cli@4.10.0) - webpack-dev-middleware: 4.3.0(webpack@5.101.0) + webpack: 5.102.1(webpack-cli@4.10.0) + webpack-dev-middleware: 4.3.0(webpack@5.102.1) webpack-virtual-modules: 0.4.6 optionalDependencies: typescript: 5.8.3 @@ -32827,10 +33523,10 @@ snapshots: '@storybook/mdx1-csf@0.0.1(@babel/core@7.27.7)': dependencies: - '@babel/generator': 7.28.0 - '@babel/parser': 7.28.0 + '@babel/generator': 7.28.5 + '@babel/parser': 7.28.5 '@babel/preset-env': 7.27.2(@babel/core@7.27.7) - '@babel/types': 7.28.2 + '@babel/types': 7.28.5 '@mdx-js/mdx': 1.6.22 '@types/lodash': 4.17.17 js-string-escape: 1.0.1 @@ -32848,7 +33544,7 @@ snapshots: dependencies: '@types/npmlog': 4.1.6 chalk: 4.1.2 - core-js: 3.45.0 + core-js: 3.46.0 npmlog: 5.0.1 pretty-hrtime: 1.0.3 @@ -32858,32 +33554,32 @@ snapshots: '@storybook/postinstall@6.5.16': dependencies: - core-js: 3.45.0 + core-js: 3.46.0 '@storybook/postinstall@7.4.6': {} - '@storybook/preset-react-webpack@7.4.6(@babel/core@7.27.7)(@types/webpack@5.28.5(webpack-cli@5.1.4))(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(type-fest@4.41.0)(typescript@5.8.3)(webpack-cli@5.1.4)(webpack-dev-server@5.2.2)(webpack-hot-middleware@2.26.1)': + '@storybook/preset-react-webpack@7.4.6(@babel/core@7.28.5)(@types/webpack@5.28.5(webpack-cli@5.1.4))(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(type-fest@4.41.0)(typescript@5.8.3)(webpack-cli@5.1.4)(webpack-dev-server@5.2.2)(webpack-hot-middleware@2.26.1)': dependencies: - '@babel/preset-flow': 7.27.1(@babel/core@7.27.7) - '@babel/preset-react': 7.27.1(@babel/core@7.27.7) - '@pmmmwh/react-refresh-webpack-plugin': 0.5.17(@types/webpack@5.28.5(webpack-cli@5.1.4))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.2)(webpack-hot-middleware@2.26.1)(webpack@5.101.0) + '@babel/preset-flow': 7.27.1(@babel/core@7.28.5) + '@babel/preset-react': 7.27.1(@babel/core@7.28.5) + '@pmmmwh/react-refresh-webpack-plugin': 0.5.17(@types/webpack@5.28.5(webpack-cli@5.1.4))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.2)(webpack-hot-middleware@2.26.1)(webpack@5.102.1) '@storybook/core-webpack': 7.4.6(encoding@0.1.13) '@storybook/docs-tools': 7.4.6(encoding@0.1.13) '@storybook/node-logger': 7.4.6 '@storybook/react': 7.4.6(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) - '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.8.3)(webpack@5.101.0) + '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.8.3)(webpack@5.102.1) '@types/node': 16.18.126 - '@types/semver': 7.7.0 + '@types/semver': 7.7.1 babel-plugin-add-react-displayname: 0.0.5 babel-plugin-react-docgen: 4.2.1 - fs-extra: 11.3.1 + fs-extra: 11.3.2 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) react-refresh: 0.11.0 - semver: 7.7.2 - webpack: 5.101.0(webpack-cli@5.1.4) + semver: 7.7.3 + webpack: 5.102.1(webpack-cli@5.1.4) optionalDependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.28.5 typescript: 5.8.3 transitivePeerDependencies: - '@swc/core' @@ -32899,28 +33595,28 @@ snapshots: - webpack-hot-middleware - webpack-plugin-serve - '@storybook/preset-react-webpack@7.4.6(@babel/core@7.27.7)(@types/webpack@5.28.5)(encoding@0.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(type-fest@4.41.0)(typescript@5.8.3)(webpack-hot-middleware@2.26.1)': + '@storybook/preset-react-webpack@7.4.6(@babel/core@7.28.5)(@types/webpack@5.28.5)(encoding@0.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(type-fest@4.41.0)(typescript@5.8.3)(webpack-hot-middleware@2.26.1)': dependencies: - '@babel/preset-flow': 7.27.1(@babel/core@7.27.7) - '@babel/preset-react': 7.27.1(@babel/core@7.27.7) - '@pmmmwh/react-refresh-webpack-plugin': 0.5.17(@types/webpack@5.28.5)(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.2(webpack@5.101.0))(webpack-hot-middleware@2.26.1)(webpack@5.101.0) + '@babel/preset-flow': 7.27.1(@babel/core@7.28.5) + '@babel/preset-react': 7.27.1(@babel/core@7.28.5) + '@pmmmwh/react-refresh-webpack-plugin': 0.5.17(@types/webpack@5.28.5)(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.2(webpack@5.102.1))(webpack-hot-middleware@2.26.1)(webpack@5.102.1) '@storybook/core-webpack': 7.4.6(encoding@0.1.13) '@storybook/docs-tools': 7.4.6(encoding@0.1.13) '@storybook/node-logger': 7.4.6 '@storybook/react': 7.4.6(encoding@0.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3) - '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.8.3)(webpack@5.101.0) + '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.8.3)(webpack@5.102.1) '@types/node': 16.18.126 - '@types/semver': 7.7.0 + '@types/semver': 7.7.1 babel-plugin-add-react-displayname: 0.0.5 babel-plugin-react-docgen: 4.2.1 - fs-extra: 11.3.1 + fs-extra: 11.3.2 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) react-refresh: 0.11.0 - semver: 7.7.2 - webpack: 5.101.0(webpack-cli@4.10.0) + semver: 7.7.3 + webpack: 5.102.1(webpack-cli@4.10.0) optionalDependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.28.5 typescript: 5.8.3 transitivePeerDependencies: - '@swc/core' @@ -32936,22 +33632,22 @@ snapshots: - webpack-hot-middleware - webpack-plugin-serve - '@storybook/preset-react-webpack@8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.5.3)))(@swc/core@1.13.3(@swc/helpers@0.5.17))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3)': + '@storybook/preset-react-webpack@8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.5.3)))(@swc/core@1.14.0(@swc/helpers@0.5.17))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3)': dependencies: '@storybook/core-webpack': 8.6.14(storybook@8.6.14(prettier@3.5.3)) '@storybook/react': 8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.5.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3) - '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.8.3)(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) - '@types/semver': 7.7.0 + '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.8.3)(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))) + '@types/semver': 7.7.1 find-up: 5.0.0 - magic-string: 0.30.17 + magic-string: 0.30.21 react: 18.2.0 react-docgen: 7.1.1 react-dom: 18.2.0(react@18.2.0) - resolve: 1.22.10 - semver: 7.7.2 + resolve: 1.22.11 + semver: 7.7.3 storybook: 8.6.14(prettier@3.5.3) tsconfig-paths: 4.2.0 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17)) optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: @@ -32962,22 +33658,22 @@ snapshots: - uglify-js - webpack-cli - '@storybook/preset-react-webpack@8.6.14(@storybook/test@8.6.14(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3))(typescript@5.8.3)(webpack-cli@5.1.4)': + '@storybook/preset-react-webpack@8.6.14(@storybook/test@8.6.14(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3))(typescript@5.8.3)(webpack-cli@5.1.4)': dependencies: - '@storybook/core-webpack': 8.6.14(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3)) - '@storybook/react': 8.6.14(@storybook/test@8.6.14(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3))(typescript@5.8.3) - '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.8.3)(webpack@5.101.0) - '@types/semver': 7.7.0 + '@storybook/core-webpack': 8.6.14(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3)) + '@storybook/react': 8.6.14(@storybook/test@8.6.14(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3))(typescript@5.8.3) + '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.8.3)(webpack@5.102.1) + '@types/semver': 7.7.1 find-up: 5.0.0 - magic-string: 0.30.17 + magic-string: 0.30.21 react: 18.2.0 react-docgen: 7.1.1 react-dom: 18.2.0(react@18.2.0) - resolve: 1.22.10 - semver: 7.7.2 - storybook: 9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3) + resolve: 1.22.11 + semver: 7.7.3 + storybook: 9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3) tsconfig-paths: 4.2.0 - webpack: 5.101.0(webpack-cli@5.1.4) + webpack: 5.102.1(webpack-cli@5.1.4) optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: @@ -33026,9 +33722,9 @@ snapshots: dependencies: storybook: 8.6.14(prettier@3.5.3) - '@storybook/preview-api@8.6.14(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3))': + '@storybook/preview-api@8.6.14(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3))': dependencies: - storybook: 9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3) + storybook: 9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3) '@storybook/preview-web@6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: @@ -33039,7 +33735,7 @@ snapshots: '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/store': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) ansi-to-html: 0.6.15 - core-js: 3.45.0 + core-js: 3.46.0 global: 4.4.0 lodash: 4.17.21 qs: 6.14.0 @@ -33060,7 +33756,7 @@ snapshots: '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/store': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) ansi-to-html: 0.6.15 - core-js: 3.45.0 + core-js: 3.46.0 global: 4.4.0 lodash: 4.17.21 qs: 6.14.0 @@ -33074,9 +33770,9 @@ snapshots: '@storybook/preview@7.4.6': {} - '@storybook/react-docgen-typescript-plugin@1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@4.9.5)(webpack@5.101.0)': + '@storybook/react-docgen-typescript-plugin@1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@4.9.5)(webpack@5.102.1)': dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) endent: 2.1.0 find-cache-dir: 3.3.2 flat-cache: 3.2.0 @@ -33084,13 +33780,13 @@ snapshots: react-docgen-typescript: 2.4.0(typescript@4.9.5) tslib: 2.8.1 typescript: 4.9.5 - webpack: 5.101.0(webpack-cli@4.10.0) + webpack: 5.102.1(webpack-cli@4.10.0) transitivePeerDependencies: - supports-color - '@storybook/react-docgen-typescript-plugin@1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@5.8.3)(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)))': + '@storybook/react-docgen-typescript-plugin@1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@5.8.3)(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17)))': dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) endent: 2.1.0 find-cache-dir: 3.3.2 flat-cache: 3.2.0 @@ -33098,13 +33794,13 @@ snapshots: react-docgen-typescript: 2.4.0(typescript@5.8.3) tslib: 2.8.1 typescript: 5.8.3 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17)) transitivePeerDependencies: - supports-color - '@storybook/react-docgen-typescript-plugin@1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@5.8.3)(webpack@5.101.0)': + '@storybook/react-docgen-typescript-plugin@1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@5.8.3)(webpack@5.102.1)': dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) endent: 2.1.0 find-cache-dir: 3.3.2 flat-cache: 3.2.0 @@ -33112,13 +33808,13 @@ snapshots: react-docgen-typescript: 2.4.0(typescript@5.8.3) tslib: 2.8.1 typescript: 5.8.3 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1) transitivePeerDependencies: - supports-color - '@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@5.8.3)(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)))': + '@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@5.8.3)(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17)))': dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) endent: 2.1.0 find-cache-dir: 3.3.2 flat-cache: 3.2.0 @@ -33126,13 +33822,13 @@ snapshots: react-docgen-typescript: 2.4.0(typescript@5.8.3) tslib: 2.8.1 typescript: 5.8.3 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17)) transitivePeerDependencies: - supports-color - '@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@5.8.3)(webpack@5.101.0)': + '@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@5.8.3)(webpack@5.102.1)': dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) endent: 2.1.0 find-cache-dir: 3.3.2 flat-cache: 3.2.0 @@ -33140,7 +33836,7 @@ snapshots: react-docgen-typescript: 2.4.0(typescript@5.8.3) tslib: 2.8.1 typescript: 5.8.3 - webpack: 5.101.0(webpack-cli@5.1.4) + webpack: 5.102.1(webpack-cli@5.1.4) transitivePeerDependencies: - supports-color @@ -33160,11 +33856,11 @@ snapshots: react-dom: 18.2.0(react@18.2.0) storybook: 8.6.14(prettier@3.5.3) - '@storybook/react-dom-shim@8.6.14(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3))': + '@storybook/react-dom-shim@8.6.14(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3))': dependencies: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - storybook: 9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3) + storybook: 9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3) '@storybook/react-dom-shim@8.6.14(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.14(prettier@3.5.3))': dependencies: @@ -33172,47 +33868,47 @@ snapshots: react-dom: 19.1.0(react@19.1.0) storybook: 8.6.14(prettier@3.5.3) - '@storybook/react-dom-shim@8.6.14(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3))': + '@storybook/react-dom-shim@8.6.14(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3))': dependencies: react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - storybook: 9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3) + storybook: 9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3) - '@storybook/react-dom-shim@9.1.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3))': + '@storybook/react-dom-shim@9.1.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3))': dependencies: react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - storybook: 9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3) + storybook: 9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3) - '@storybook/react-vite@9.1.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(rollup@4.46.2)(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3))(typescript@5.8.3)': + '@storybook/react-vite@9.1.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(rollup@4.52.5)(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3))(typescript@5.8.3)': dependencies: '@joshwooding/vite-plugin-react-docgen-typescript': 0.6.1(typescript@5.8.3) - '@rollup/pluginutils': 5.2.0(rollup@4.46.2) - '@storybook/builder-vite': 9.1.1(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3)) - '@storybook/react': 9.1.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3))(typescript@5.8.3) + '@rollup/pluginutils': 5.3.0(rollup@4.52.5) + '@storybook/builder-vite': 9.1.16(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3)) + '@storybook/react': 9.1.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3))(typescript@5.8.3) find-up: 7.0.0 - magic-string: 0.30.17 + magic-string: 0.30.21 react: 19.1.0 - react-docgen: 8.0.0 + react-docgen: 8.0.2 react-dom: 19.1.0(react@19.1.0) - resolve: 1.22.10 - storybook: 9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3) + resolve: 1.22.11 + storybook: 9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3) tsconfig-paths: 4.2.0 transitivePeerDependencies: - rollup - supports-color - typescript - '@storybook/react-webpack5@7.4.6(@babel/core@7.27.7)(@swc/helpers@0.5.17)(@types/react-dom@18.2.0)(@types/react@18.2.0)(@types/webpack@5.28.5(webpack-cli@5.1.4))(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(type-fest@4.41.0)(typescript@5.8.3)(webpack-cli@5.1.4)(webpack-dev-server@5.2.2)(webpack-hot-middleware@2.26.1)': + '@storybook/react-webpack5@7.4.6(@babel/core@7.28.5)(@swc/helpers@0.5.17)(@types/react-dom@18.2.0)(@types/react@18.2.0)(@types/webpack@5.28.5(webpack-cli@5.1.4))(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(type-fest@4.41.0)(typescript@5.8.3)(webpack-cli@5.1.4)(webpack-dev-server@5.2.2)(webpack-hot-middleware@2.26.1)': dependencies: '@storybook/builder-webpack5': 7.4.6(@swc/helpers@0.5.17)(@types/react-dom@18.2.0)(@types/react@18.2.0)(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@5.1.4) - '@storybook/preset-react-webpack': 7.4.6(@babel/core@7.27.7)(@types/webpack@5.28.5(webpack-cli@5.1.4))(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(type-fest@4.41.0)(typescript@5.8.3)(webpack-cli@5.1.4)(webpack-dev-server@5.2.2)(webpack-hot-middleware@2.26.1) + '@storybook/preset-react-webpack': 7.4.6(@babel/core@7.28.5)(@types/webpack@5.28.5(webpack-cli@5.1.4))(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(type-fest@4.41.0)(typescript@5.8.3)(webpack-cli@5.1.4)(webpack-dev-server@5.2.2)(webpack-hot-middleware@2.26.1) '@storybook/react': 7.4.6(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) '@types/node': 16.18.126 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) optionalDependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.28.5 typescript: 5.8.3 transitivePeerDependencies: - '@rspack/core' @@ -33232,16 +33928,16 @@ snapshots: - webpack-hot-middleware - webpack-plugin-serve - '@storybook/react-webpack5@7.4.6(@babel/core@7.27.7)(@swc/helpers@0.5.17)(@types/react-dom@18.2.0)(@types/react@18.2.0)(@types/webpack@5.28.5)(encoding@0.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(type-fest@4.41.0)(typescript@5.8.3)(webpack-hot-middleware@2.26.1)': + '@storybook/react-webpack5@7.4.6(@babel/core@7.28.5)(@swc/helpers@0.5.17)(@types/react-dom@18.2.0)(@types/react@18.2.0)(@types/webpack@5.28.5)(encoding@0.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(type-fest@4.41.0)(typescript@5.8.3)(webpack-hot-middleware@2.26.1)': dependencies: '@storybook/builder-webpack5': 7.4.6(@swc/helpers@0.5.17)(@types/react-dom@18.2.0)(@types/react@18.2.0)(encoding@0.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3) - '@storybook/preset-react-webpack': 7.4.6(@babel/core@7.27.7)(@types/webpack@5.28.5)(encoding@0.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(type-fest@4.41.0)(typescript@5.8.3)(webpack-hot-middleware@2.26.1) + '@storybook/preset-react-webpack': 7.4.6(@babel/core@7.28.5)(@types/webpack@5.28.5)(encoding@0.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(type-fest@4.41.0)(typescript@5.8.3)(webpack-hot-middleware@2.26.1) '@storybook/react': 7.4.6(encoding@0.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3) '@types/node': 16.18.126 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) optionalDependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.28.5 typescript: 5.8.3 transitivePeerDependencies: - '@rspack/core' @@ -33261,10 +33957,10 @@ snapshots: - webpack-hot-middleware - webpack-plugin-serve - '@storybook/react-webpack5@8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.5.3)))(@swc/core@1.13.3(@swc/helpers@0.5.17))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3)': + '@storybook/react-webpack5@8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.5.3)))(@swc/core@1.14.0(@swc/helpers@0.5.17))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3)': dependencies: - '@storybook/builder-webpack5': 8.6.14(@swc/core@1.13.3(@swc/helpers@0.5.17))(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3) - '@storybook/preset-react-webpack': 8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.5.3)))(@swc/core@1.13.3(@swc/helpers@0.5.17))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3) + '@storybook/builder-webpack5': 8.6.14(@swc/core@1.14.0(@swc/helpers@0.5.17))(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3) + '@storybook/preset-react-webpack': 8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.5.3)))(@swc/core@1.14.0(@swc/helpers@0.5.17))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3) '@storybook/react': 8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.5.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -33280,14 +33976,14 @@ snapshots: - uglify-js - webpack-cli - '@storybook/react-webpack5@8.6.14(@storybook/test@8.6.14(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3))(typescript@5.8.3)(webpack-cli@5.1.4)': + '@storybook/react-webpack5@8.6.14(@storybook/test@8.6.14(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3))(typescript@5.8.3)(webpack-cli@5.1.4)': dependencies: - '@storybook/builder-webpack5': 8.6.14(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3))(typescript@5.8.3)(webpack-cli@5.1.4) - '@storybook/preset-react-webpack': 8.6.14(@storybook/test@8.6.14(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3))(typescript@5.8.3)(webpack-cli@5.1.4) - '@storybook/react': 8.6.14(@storybook/test@8.6.14(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3))(typescript@5.8.3) + '@storybook/builder-webpack5': 8.6.14(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3))(typescript@5.8.3)(webpack-cli@5.1.4) + '@storybook/preset-react-webpack': 8.6.14(@storybook/test@8.6.14(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3))(typescript@5.8.3)(webpack-cli@5.1.4) + '@storybook/react': 8.6.14(@storybook/test@8.6.14(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3))(typescript@5.8.3) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - storybook: 9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3) + storybook: 9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3) optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: @@ -33299,19 +33995,19 @@ snapshots: - uglify-js - webpack-cli - '@storybook/react@6.5.16(@babel/core@7.27.7)(@storybook/builder-webpack5@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@storybook/manager-webpack5@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/webpack@5.28.5(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-cli@6.0.1)(webpack-dev-server@5.2.2)(webpack-hot-middleware@2.26.1)': + '@storybook/react@6.5.16(@babel/core@7.27.7)(@storybook/builder-webpack5@6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@storybook/manager-webpack5@6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@swc/core@1.14.0(@swc/helpers@0.5.17))(@types/webpack@5.28.5(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1))(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-cli@6.0.1)(webpack-dev-server@5.2.2)(webpack-hot-middleware@2.26.1)': dependencies: '@babel/preset-flow': 7.27.1(@babel/core@7.27.7) '@babel/preset-react': 7.27.1(@babel/core@7.27.7) - '@pmmmwh/react-refresh-webpack-plugin': 0.5.17(@types/webpack@5.28.5(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.2)(webpack-hot-middleware@2.26.1)(webpack@5.101.0) + '@pmmmwh/react-refresh-webpack-plugin': 0.5.17(@types/webpack@5.28.5(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.2)(webpack-hot-middleware@2.26.1)(webpack@5.102.1) '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/client-logger': 6.5.16 - '@storybook/core': 6.5.16(@storybook/builder-webpack5@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@storybook/manager-webpack5@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)(webpack@5.101.0) - '@storybook/core-common': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/core': 6.5.16(@storybook/builder-webpack5@6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@storybook/manager-webpack5@6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@swc/core@1.14.0(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)(webpack@5.102.1) + '@storybook/core-common': 6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/docs-tools': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/node-logger': 6.5.16 - '@storybook/react-docgen-typescript-plugin': 1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@5.8.3)(webpack@5.101.0) + '@storybook/react-docgen-typescript-plugin': 1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@5.8.3)(webpack@5.102.1) '@storybook/semver': 7.3.2 '@storybook/store': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@types/estree': 0.0.51 @@ -33322,7 +34018,7 @@ snapshots: acorn-walk: 7.2.0 babel-plugin-add-react-displayname: 0.0.5 babel-plugin-react-docgen: 4.2.1 - core-js: 3.45.0 + core-js: 3.46.0 escodegen: 2.1.0 fs-extra: 9.1.0 global: 4.4.0 @@ -33338,11 +34034,11 @@ snapshots: require-from-string: 2.0.2 ts-dedent: 2.2.0 util-deprecate: 1.0.2 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1) optionalDependencies: '@babel/core': 7.27.7 - '@storybook/builder-webpack5': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) - '@storybook/manager-webpack5': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/builder-webpack5': 6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/manager-webpack5': 6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) typescript: 5.8.3 transitivePeerDependencies: - '@storybook/mdx2-csf' @@ -33363,19 +34059,19 @@ snapshots: - webpack-hot-middleware - webpack-plugin-serve - '@storybook/react@6.5.16(@babel/core@7.27.7)(@storybook/builder-webpack5@6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(@storybook/manager-webpack5@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(@types/webpack@5.28.5(webpack-cli@4.10.0))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-cli@4.10.0)(webpack-dev-server@5.2.2)(webpack-hot-middleware@2.26.1)': + '@storybook/react@6.5.16(@babel/core@7.27.7)(@storybook/builder-webpack5@6.5.16(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(@storybook/manager-webpack5@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(@types/webpack@5.28.5(webpack-cli@4.10.0))(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-cli@4.10.0)(webpack-dev-server@5.2.2)(webpack-hot-middleware@2.26.1)': dependencies: '@babel/preset-flow': 7.27.1(@babel/core@7.27.7) '@babel/preset-react': 7.27.1(@babel/core@7.27.7) - '@pmmmwh/react-refresh-webpack-plugin': 0.5.17(@types/webpack@5.28.5(webpack-cli@4.10.0))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.2)(webpack-hot-middleware@2.26.1)(webpack@5.101.0) + '@pmmmwh/react-refresh-webpack-plugin': 0.5.17(@types/webpack@5.28.5(webpack-cli@4.10.0))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.2)(webpack-hot-middleware@2.26.1)(webpack@5.102.1) '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/client-logger': 6.5.16 - '@storybook/core': 6.5.16(@storybook/builder-webpack5@6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(@storybook/manager-webpack5@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)(webpack@5.101.0) - '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/core': 6.5.16(@storybook/builder-webpack5@6.5.16(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(@storybook/manager-webpack5@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)(webpack@5.102.1) + '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/docs-tools': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/node-logger': 6.5.16 - '@storybook/react-docgen-typescript-plugin': 1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@5.8.3)(webpack@5.101.0) + '@storybook/react-docgen-typescript-plugin': 1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@5.8.3)(webpack@5.102.1) '@storybook/semver': 7.3.2 '@storybook/store': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@types/estree': 0.0.51 @@ -33386,7 +34082,7 @@ snapshots: acorn-walk: 7.2.0 babel-plugin-add-react-displayname: 0.0.5 babel-plugin-react-docgen: 4.2.1 - core-js: 3.45.0 + core-js: 3.46.0 escodegen: 2.1.0 fs-extra: 9.1.0 global: 4.4.0 @@ -33402,11 +34098,11 @@ snapshots: require-from-string: 2.0.2 ts-dedent: 2.2.0 util-deprecate: 1.0.2 - webpack: 5.101.0(webpack-cli@4.10.0) + webpack: 5.102.1(webpack-cli@4.10.0) optionalDependencies: '@babel/core': 7.27.7 - '@storybook/builder-webpack5': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) - '@storybook/manager-webpack5': 6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/builder-webpack5': 6.5.16(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/manager-webpack5': 6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) typescript: 5.8.3 transitivePeerDependencies: - '@storybook/mdx2-csf' @@ -33427,19 +34123,19 @@ snapshots: - webpack-hot-middleware - webpack-plugin-serve - '@storybook/react@6.5.16(@babel/core@7.27.7)(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/webpack@5.28.5(@swc/core@1.13.3(@swc/helpers@0.5.17)))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-dev-server@5.2.2(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))))(webpack-hot-middleware@2.26.1)': + '@storybook/react@6.5.16(@babel/core@7.27.7)(@swc/core@1.14.0(@swc/helpers@0.5.17))(@types/webpack@5.28.5(@swc/core@1.14.0(@swc/helpers@0.5.17)))(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-dev-server@5.2.2(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))))(webpack-hot-middleware@2.26.1)': dependencies: '@babel/preset-flow': 7.27.1(@babel/core@7.27.7) '@babel/preset-react': 7.27.1(@babel/core@7.27.7) - '@pmmmwh/react-refresh-webpack-plugin': 0.5.17(@types/webpack@5.28.5(@swc/core@1.13.3(@swc/helpers@0.5.17)))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.2(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))))(webpack-hot-middleware@2.26.1)(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + '@pmmmwh/react-refresh-webpack-plugin': 0.5.17(@types/webpack@5.28.5(@swc/core@1.14.0(@swc/helpers@0.5.17)))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.2(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))))(webpack-hot-middleware@2.26.1)(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))) '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/client-logger': 6.5.16 - '@storybook/core': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) - '@storybook/core-common': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/core': 6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))) + '@storybook/core-common': 6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/docs-tools': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/node-logger': 6.5.16 - '@storybook/react-docgen-typescript-plugin': 1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@5.8.3)(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + '@storybook/react-docgen-typescript-plugin': 1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@5.8.3)(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))) '@storybook/semver': 7.3.2 '@storybook/store': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@types/estree': 0.0.51 @@ -33450,7 +34146,7 @@ snapshots: acorn-walk: 7.2.0 babel-plugin-add-react-displayname: 0.0.5 babel-plugin-react-docgen: 4.2.1 - core-js: 3.45.0 + core-js: 3.46.0 escodegen: 2.1.0 fs-extra: 9.1.0 global: 4.4.0 @@ -33466,7 +34162,7 @@ snapshots: require-from-string: 2.0.2 ts-dedent: 2.2.0 util-deprecate: 1.0.2 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17)) optionalDependencies: '@babel/core': 7.27.7 typescript: 5.8.3 @@ -33489,19 +34185,19 @@ snapshots: - webpack-hot-middleware - webpack-plugin-serve - '@storybook/react@6.5.16(@babel/core@7.27.7)(@types/webpack@5.28.5)(encoding@0.1.13)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-dev-server@5.2.2(webpack@5.101.0))(webpack-hot-middleware@2.26.1)': + '@storybook/react@6.5.16(@babel/core@7.28.5)(@types/webpack@5.28.5)(encoding@0.1.13)(eslint@9.26.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-dev-server@5.2.2(webpack@5.102.1))(webpack-hot-middleware@2.26.1)': dependencies: - '@babel/preset-flow': 7.27.1(@babel/core@7.27.7) - '@babel/preset-react': 7.27.1(@babel/core@7.27.7) - '@pmmmwh/react-refresh-webpack-plugin': 0.5.17(@types/webpack@5.28.5)(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.2(webpack@5.101.0))(webpack-hot-middleware@2.26.1)(webpack@5.101.0) + '@babel/preset-flow': 7.27.1(@babel/core@7.28.5) + '@babel/preset-react': 7.27.1(@babel/core@7.28.5) + '@pmmmwh/react-refresh-webpack-plugin': 0.5.17(@types/webpack@5.28.5)(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.2(webpack@5.102.1))(webpack-hot-middleware@2.26.1)(webpack@5.102.1) '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/client-logger': 6.5.16 - '@storybook/core': 6.5.16(encoding@0.1.13)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.101.0) - '@storybook/core-common': 6.5.16(eslint@9.26.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/core': 6.5.16(encoding@0.1.13)(eslint@9.26.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.102.1) + '@storybook/core-common': 6.5.16(eslint@9.26.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/docs-tools': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/node-logger': 6.5.16 - '@storybook/react-docgen-typescript-plugin': 1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@5.8.3)(webpack@5.101.0) + '@storybook/react-docgen-typescript-plugin': 1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@5.8.3)(webpack@5.102.1) '@storybook/semver': 7.3.2 '@storybook/store': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@types/estree': 0.0.51 @@ -33512,7 +34208,7 @@ snapshots: acorn-walk: 7.2.0 babel-plugin-add-react-displayname: 0.0.5 babel-plugin-react-docgen: 4.2.1 - core-js: 3.45.0 + core-js: 3.46.0 escodegen: 2.1.0 fs-extra: 9.1.0 global: 4.4.0 @@ -33528,9 +34224,9 @@ snapshots: require-from-string: 2.0.2 ts-dedent: 2.2.0 util-deprecate: 1.0.2 - webpack: 5.101.0(webpack-cli@4.10.0) + webpack: 5.102.1(webpack-cli@4.10.0) optionalDependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.28.5 typescript: 5.8.3 transitivePeerDependencies: - '@storybook/mdx2-csf' @@ -33551,19 +34247,19 @@ snapshots: - webpack-hot-middleware - webpack-plugin-serve - '@storybook/react@6.5.16(@babel/core@7.27.7)(@types/webpack@5.28.5)(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-dev-server@5.2.2(webpack@5.101.0))(webpack-hot-middleware@2.26.1)': + '@storybook/react@6.5.16(@babel/core@7.28.5)(@types/webpack@5.28.5)(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-dev-server@5.2.2(webpack@5.102.1))(webpack-hot-middleware@2.26.1)': dependencies: - '@babel/preset-flow': 7.27.1(@babel/core@7.27.7) - '@babel/preset-react': 7.27.1(@babel/core@7.27.7) - '@pmmmwh/react-refresh-webpack-plugin': 0.5.17(@types/webpack@5.28.5)(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.2(webpack@5.101.0))(webpack-hot-middleware@2.26.1)(webpack@5.101.0) + '@babel/preset-flow': 7.27.1(@babel/core@7.28.5) + '@babel/preset-react': 7.27.1(@babel/core@7.28.5) + '@pmmmwh/react-refresh-webpack-plugin': 0.5.17(@types/webpack@5.28.5)(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.2(webpack@5.102.1))(webpack-hot-middleware@2.26.1)(webpack@5.102.1) '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/client-logger': 6.5.16 - '@storybook/core': 6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.101.0) - '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/core': 6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.102.1) + '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/docs-tools': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/node-logger': 6.5.16 - '@storybook/react-docgen-typescript-plugin': 1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@5.8.3)(webpack@5.101.0) + '@storybook/react-docgen-typescript-plugin': 1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@5.8.3)(webpack@5.102.1) '@storybook/semver': 7.3.2 '@storybook/store': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@types/estree': 0.0.51 @@ -33574,7 +34270,7 @@ snapshots: acorn-walk: 7.2.0 babel-plugin-add-react-displayname: 0.0.5 babel-plugin-react-docgen: 4.2.1 - core-js: 3.45.0 + core-js: 3.46.0 escodegen: 2.1.0 fs-extra: 9.1.0 global: 4.4.0 @@ -33590,9 +34286,9 @@ snapshots: require-from-string: 2.0.2 ts-dedent: 2.2.0 util-deprecate: 1.0.2 - webpack: 5.101.0(webpack-cli@4.10.0) + webpack: 5.102.1(webpack-cli@4.10.0) optionalDependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.28.5 typescript: 5.8.3 transitivePeerDependencies: - '@storybook/mdx2-csf' @@ -33613,19 +34309,19 @@ snapshots: - webpack-hot-middleware - webpack-plugin-serve - '@storybook/react@6.5.16(@babel/core@7.27.7)(@types/webpack@5.28.5)(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@4.9.5)(webpack-dev-server@5.2.2(webpack@5.101.0))(webpack-hot-middleware@2.26.1)': + '@storybook/react@6.5.16(@babel/core@7.28.5)(@types/webpack@5.28.5)(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@4.9.5)(webpack-dev-server@5.2.2(webpack@5.102.1))(webpack-hot-middleware@2.26.1)': dependencies: - '@babel/preset-flow': 7.27.1(@babel/core@7.27.7) - '@babel/preset-react': 7.27.1(@babel/core@7.27.7) - '@pmmmwh/react-refresh-webpack-plugin': 0.5.17(@types/webpack@5.28.5)(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.2(webpack@5.101.0))(webpack-hot-middleware@2.26.1)(webpack@5.101.0) + '@babel/preset-flow': 7.27.1(@babel/core@7.28.5) + '@babel/preset-react': 7.27.1(@babel/core@7.28.5) + '@pmmmwh/react-refresh-webpack-plugin': 0.5.17(@types/webpack@5.28.5)(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.2(webpack@5.102.1))(webpack-hot-middleware@2.26.1)(webpack@5.102.1) '@storybook/addons': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@storybook/client-logger': 6.5.16 - '@storybook/core': 6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5)(webpack@5.101.0) - '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5) + '@storybook/core': 6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5)(webpack@5.102.1) + '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5) '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/docs-tools': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@storybook/node-logger': 6.5.16 - '@storybook/react-docgen-typescript-plugin': 1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@4.9.5)(webpack@5.101.0) + '@storybook/react-docgen-typescript-plugin': 1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@4.9.5)(webpack@5.102.1) '@storybook/semver': 7.3.2 '@storybook/store': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@types/estree': 0.0.51 @@ -33636,7 +34332,7 @@ snapshots: acorn-walk: 7.2.0 babel-plugin-add-react-displayname: 0.0.5 babel-plugin-react-docgen: 4.2.1 - core-js: 3.45.0 + core-js: 3.46.0 escodegen: 2.1.0 fs-extra: 9.1.0 global: 4.4.0 @@ -33652,9 +34348,9 @@ snapshots: require-from-string: 2.0.2 ts-dedent: 2.2.0 util-deprecate: 1.0.2 - webpack: 5.101.0(webpack-cli@4.10.0) + webpack: 5.102.1(webpack-cli@4.10.0) optionalDependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.28.5 typescript: 4.9.5 transitivePeerDependencies: - '@storybook/mdx2-csf' @@ -33752,35 +34448,35 @@ snapshots: '@storybook/test': 8.6.14(storybook@8.6.14(prettier@3.5.3)) typescript: 5.8.3 - '@storybook/react@8.6.14(@storybook/test@8.6.14(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3))(typescript@5.8.3)': + '@storybook/react@8.6.14(@storybook/test@8.6.14(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3))(typescript@5.8.3)': dependencies: - '@storybook/components': 8.6.14(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3)) + '@storybook/components': 8.6.14(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3)) '@storybook/global': 5.0.0 - '@storybook/manager-api': 8.6.14(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3)) - '@storybook/preview-api': 8.6.14(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3)) - '@storybook/react-dom-shim': 8.6.14(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3)) - '@storybook/theming': 8.6.14(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3)) + '@storybook/manager-api': 8.6.14(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3)) + '@storybook/preview-api': 8.6.14(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3)) + '@storybook/react-dom-shim': 8.6.14(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3)) + '@storybook/theming': 8.6.14(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3)) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - storybook: 9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3) + storybook: 9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3) optionalDependencies: - '@storybook/test': 8.6.14(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3)) + '@storybook/test': 8.6.14(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3)) typescript: 5.8.3 - '@storybook/react@9.1.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3))(typescript@5.8.3)': + '@storybook/react@9.1.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3))(typescript@5.8.3)': dependencies: '@storybook/global': 5.0.0 - '@storybook/react-dom-shim': 9.1.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3)) + '@storybook/react-dom-shim': 9.1.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3)) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - storybook: 9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3) + storybook: 9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3) optionalDependencies: typescript: 5.8.3 '@storybook/router@6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@storybook/client-logger': 6.5.16 - core-js: 3.45.0 + core-js: 3.46.0 memoizerific: 1.11.3 qs: 6.14.0 react: 18.2.0 @@ -33790,7 +34486,7 @@ snapshots: '@storybook/router@6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@storybook/client-logger': 6.5.16 - core-js: 3.45.0 + core-js: 3.46.0 memoizerific: 1.11.3 qs: 6.14.0 react: 19.1.0 @@ -33815,7 +34511,7 @@ snapshots: '@storybook/semver@7.3.2': dependencies: - core-js: 3.45.0 + core-js: 3.46.0 find-up: 4.1.0 '@storybook/source-loader@6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': @@ -33823,7 +34519,7 @@ snapshots: '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/client-logger': 6.5.16 '@storybook/csf': 0.0.2--canary.4566f4d.1 - core-js: 3.45.0 + core-js: 3.46.0 estraverse: 5.3.0 global: 4.4.0 loader-utils: 2.0.4 @@ -33839,7 +34535,7 @@ snapshots: '@storybook/client-logger': 6.5.16 '@storybook/core-events': 6.5.16 '@storybook/csf': 0.0.2--canary.4566f4d.1 - core-js: 3.45.0 + core-js: 3.46.0 fast-deep-equal: 3.1.3 global: 4.4.0 lodash: 4.17.21 @@ -33859,7 +34555,7 @@ snapshots: '@storybook/client-logger': 6.5.16 '@storybook/core-events': 6.5.16 '@storybook/csf': 0.0.2--canary.4566f4d.1 - core-js: 3.45.0 + core-js: 3.46.0 fast-deep-equal: 3.1.3 global: 4.4.0 lodash: 4.17.21 @@ -33878,12 +34574,12 @@ snapshots: '@storybook/client-logger': 7.4.6 '@storybook/preview-api': 7.4.6 - '@storybook/telemetry@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': + '@storybook/telemetry@6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': dependencies: '@storybook/client-logger': 6.5.16 - '@storybook/core-common': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/core-common': 6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) chalk: 4.1.2 - core-js: 3.45.0 + core-js: 3.46.0 detect-package-manager: 2.0.1 fetch-retry: 5.0.6 fs-extra: 9.1.0 @@ -33905,12 +34601,12 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/telemetry@6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)': + '@storybook/telemetry@6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)': dependencies: '@storybook/client-logger': 6.5.16 - '@storybook/core-common': 6.5.16(@swc/core@1.13.3(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/core-common': 6.5.16(@swc/core@1.14.0(@swc/helpers@0.5.17))(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) chalk: 4.1.2 - core-js: 3.45.0 + core-js: 3.46.0 detect-package-manager: 2.0.1 fetch-retry: 5.0.6 fs-extra: 9.1.0 @@ -33932,12 +34628,12 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/telemetry@6.5.16(encoding@0.1.13)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': + '@storybook/telemetry@6.5.16(encoding@0.1.13)(eslint@9.26.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': dependencies: '@storybook/client-logger': 6.5.16 - '@storybook/core-common': 6.5.16(eslint@9.26.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/core-common': 6.5.16(eslint@9.26.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) chalk: 4.1.2 - core-js: 3.45.0 + core-js: 3.46.0 detect-package-manager: 2.0.1 fetch-retry: 5.0.6 fs-extra: 9.1.0 @@ -33959,12 +34655,12 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/telemetry@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': + '@storybook/telemetry@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': dependencies: '@storybook/client-logger': 6.5.16 - '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) chalk: 4.1.2 - core-js: 3.45.0 + core-js: 3.46.0 detect-package-manager: 2.0.1 fetch-retry: 5.0.6 fs-extra: 9.1.0 @@ -33986,12 +34682,12 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/telemetry@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)': + '@storybook/telemetry@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)': dependencies: '@storybook/client-logger': 6.5.16 - '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) chalk: 4.1.2 - core-js: 3.45.0 + core-js: 3.46.0 detect-package-manager: 2.0.1 fetch-retry: 5.0.6 fs-extra: 9.1.0 @@ -34013,12 +34709,12 @@ snapshots: - vue-template-compiler - webpack-cli - '@storybook/telemetry@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.5.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5)': + '@storybook/telemetry@6.5.16(encoding@0.1.13)(eslint@9.27.0(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5)': dependencies: '@storybook/client-logger': 6.5.16 - '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.5.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5) + '@storybook/core-common': 6.5.16(eslint@9.27.0(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5) chalk: 4.1.2 - core-js: 3.45.0 + core-js: 3.46.0 detect-package-manager: 2.0.1 fetch-retry: 5.0.6 fs-extra: 9.1.0 @@ -34048,7 +34744,7 @@ snapshots: chalk: 4.1.2 detect-package-manager: 2.0.1 fetch-retry: 5.0.6 - fs-extra: 11.3.1 + fs-extra: 11.3.2 read-pkg-up: 7.0.1 transitivePeerDependencies: - encoding @@ -34065,22 +34761,22 @@ snapshots: '@vitest/spy': 2.0.5 storybook: 8.6.14(prettier@3.5.3) - '@storybook/test@8.6.14(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3))': + '@storybook/test@8.6.14(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3))': dependencies: '@storybook/global': 5.0.0 - '@storybook/instrumenter': 8.6.14(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3)) + '@storybook/instrumenter': 8.6.14(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3)) '@testing-library/dom': 10.4.0 '@testing-library/jest-dom': 6.5.0 '@testing-library/user-event': 14.5.2(@testing-library/dom@10.4.0) '@vitest/expect': 2.0.5 '@vitest/spy': 2.0.5 - storybook: 9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3) + storybook: 9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3) optional: true '@storybook/theming@6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@storybook/client-logger': 6.5.16 - core-js: 3.45.0 + core-js: 3.46.0 memoizerific: 1.11.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -34089,7 +34785,7 @@ snapshots: '@storybook/theming@6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@storybook/client-logger': 6.5.16 - core-js: 3.45.0 + core-js: 3.46.0 memoizerific: 1.11.3 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) @@ -34117,22 +34813,22 @@ snapshots: dependencies: storybook: 8.6.14(prettier@3.5.3) - '@storybook/theming@8.6.14(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3))': + '@storybook/theming@8.6.14(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3))': dependencies: - storybook: 9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3) + storybook: 9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3) '@storybook/types@7.4.6': dependencies: '@storybook/channels': 7.4.6 '@types/babel__core': 7.20.5 - '@types/express': 4.17.23 + '@types/express': 4.17.25 file-system-cache: 2.3.0 '@storybook/types@7.6.20': dependencies: '@storybook/channels': 7.6.20 '@types/babel__core': 7.20.5 - '@types/express': 4.17.23 + '@types/express': 4.17.25 file-system-cache: 2.3.0 '@storybook/ui@6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': @@ -34146,7 +34842,7 @@ snapshots: '@storybook/router': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/semver': 7.3.2 '@storybook/theming': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - core-js: 3.45.0 + core-js: 3.46.0 memoizerific: 1.11.3 qs: 6.14.0 react: 18.2.0 @@ -34165,7 +34861,7 @@ snapshots: '@storybook/router': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@storybook/semver': 7.3.2 '@storybook/theming': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - core-js: 3.45.0 + core-js: 3.46.0 memoizerific: 1.11.3 qs: 6.14.0 react: 19.1.0 @@ -34173,20 +34869,20 @@ snapshots: regenerator-runtime: 0.13.11 resolve-from: 5.0.0 - '@swagger-api/apidom-ast@1.0.0-beta.45': + '@swagger-api/apidom-ast@1.0.0-rc.1': dependencies: - '@babel/runtime-corejs3': 7.28.2 - '@swagger-api/apidom-error': 1.0.0-beta.45 + '@babel/runtime-corejs3': 7.28.4 + '@swagger-api/apidom-error': 1.0.0-rc.1 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) unraw: 3.0.0 - '@swagger-api/apidom-core@1.0.0-beta.45': + '@swagger-api/apidom-core@1.0.0-rc.1': dependencies: - '@babel/runtime-corejs3': 7.28.2 - '@swagger-api/apidom-ast': 1.0.0-beta.45 - '@swagger-api/apidom-error': 1.0.0-beta.45 + '@babel/runtime-corejs3': 7.28.4 + '@swagger-api/apidom-ast': 1.0.0-rc.1 + '@swagger-api/apidom-error': 1.0.0-rc.1 '@types/ramda': 0.30.2 minim: 0.23.8 ramda: 0.30.1 @@ -34194,213 +34890,213 @@ snapshots: short-unique-id: 5.3.2 ts-mixer: 6.0.4 - '@swagger-api/apidom-error@1.0.0-beta.45': + '@swagger-api/apidom-error@1.0.0-rc.1': dependencies: - '@babel/runtime-corejs3': 7.28.2 + '@babel/runtime-corejs3': 7.28.4 - '@swagger-api/apidom-json-pointer@1.0.0-beta.45': + '@swagger-api/apidom-json-pointer@1.0.0-rc.1': dependencies: - '@babel/runtime-corejs3': 7.28.2 - '@swagger-api/apidom-core': 1.0.0-beta.45 - '@swagger-api/apidom-error': 1.0.0-beta.45 + '@babel/runtime-corejs3': 7.28.4 + '@swagger-api/apidom-core': 1.0.0-rc.1 + '@swagger-api/apidom-error': 1.0.0-rc.1 '@swaggerexpert/json-pointer': 2.10.2 - '@swagger-api/apidom-ns-api-design-systems@1.0.0-beta.45': + '@swagger-api/apidom-ns-api-design-systems@1.0.0-rc.1': dependencies: - '@babel/runtime-corejs3': 7.28.2 - '@swagger-api/apidom-core': 1.0.0-beta.45 - '@swagger-api/apidom-error': 1.0.0-beta.45 - '@swagger-api/apidom-ns-openapi-3-1': 1.0.0-beta.45 + '@babel/runtime-corejs3': 7.28.4 + '@swagger-api/apidom-core': 1.0.0-rc.1 + '@swagger-api/apidom-error': 1.0.0-rc.1 + '@swagger-api/apidom-ns-openapi-3-1': 1.0.0-rc.1 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) ts-mixer: 6.0.4 optional: true - '@swagger-api/apidom-ns-arazzo-1@1.0.0-beta.45': + '@swagger-api/apidom-ns-arazzo-1@1.0.0-rc.1': dependencies: - '@babel/runtime-corejs3': 7.28.2 - '@swagger-api/apidom-core': 1.0.0-beta.45 - '@swagger-api/apidom-ns-json-schema-2020-12': 1.0.0-beta.45 + '@babel/runtime-corejs3': 7.28.4 + '@swagger-api/apidom-core': 1.0.0-rc.1 + '@swagger-api/apidom-ns-json-schema-2020-12': 1.0.0-rc.1 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) ts-mixer: 6.0.4 optional: true - '@swagger-api/apidom-ns-asyncapi-2@1.0.0-beta.45': + '@swagger-api/apidom-ns-asyncapi-2@1.0.0-rc.1': dependencies: - '@babel/runtime-corejs3': 7.28.2 - '@swagger-api/apidom-core': 1.0.0-beta.45 - '@swagger-api/apidom-ns-json-schema-draft-7': 1.0.0-beta.45 + '@babel/runtime-corejs3': 7.28.4 + '@swagger-api/apidom-core': 1.0.0-rc.1 + '@swagger-api/apidom-ns-json-schema-draft-7': 1.0.0-rc.1 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) ts-mixer: 6.0.4 optional: true - '@swagger-api/apidom-ns-json-schema-2019-09@1.0.0-beta.45': + '@swagger-api/apidom-ns-json-schema-2019-09@1.0.0-rc.1': dependencies: - '@babel/runtime-corejs3': 7.28.2 - '@swagger-api/apidom-core': 1.0.0-beta.45 - '@swagger-api/apidom-error': 1.0.0-beta.45 - '@swagger-api/apidom-ns-json-schema-draft-7': 1.0.0-beta.45 + '@babel/runtime-corejs3': 7.28.4 + '@swagger-api/apidom-core': 1.0.0-rc.1 + '@swagger-api/apidom-error': 1.0.0-rc.1 + '@swagger-api/apidom-ns-json-schema-draft-7': 1.0.0-rc.1 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) ts-mixer: 6.0.4 - '@swagger-api/apidom-ns-json-schema-2020-12@1.0.0-beta.45': + '@swagger-api/apidom-ns-json-schema-2020-12@1.0.0-rc.1': dependencies: - '@babel/runtime-corejs3': 7.28.2 - '@swagger-api/apidom-core': 1.0.0-beta.45 - '@swagger-api/apidom-error': 1.0.0-beta.45 - '@swagger-api/apidom-ns-json-schema-2019-09': 1.0.0-beta.45 + '@babel/runtime-corejs3': 7.28.4 + '@swagger-api/apidom-core': 1.0.0-rc.1 + '@swagger-api/apidom-error': 1.0.0-rc.1 + '@swagger-api/apidom-ns-json-schema-2019-09': 1.0.0-rc.1 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) ts-mixer: 6.0.4 - '@swagger-api/apidom-ns-json-schema-draft-4@1.0.0-beta.45': + '@swagger-api/apidom-ns-json-schema-draft-4@1.0.0-rc.1': dependencies: - '@babel/runtime-corejs3': 7.28.2 - '@swagger-api/apidom-ast': 1.0.0-beta.45 - '@swagger-api/apidom-core': 1.0.0-beta.45 + '@babel/runtime-corejs3': 7.28.4 + '@swagger-api/apidom-ast': 1.0.0-rc.1 + '@swagger-api/apidom-core': 1.0.0-rc.1 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) ts-mixer: 6.0.4 - '@swagger-api/apidom-ns-json-schema-draft-6@1.0.0-beta.45': + '@swagger-api/apidom-ns-json-schema-draft-6@1.0.0-rc.1': dependencies: - '@babel/runtime-corejs3': 7.28.2 - '@swagger-api/apidom-core': 1.0.0-beta.45 - '@swagger-api/apidom-error': 1.0.0-beta.45 - '@swagger-api/apidom-ns-json-schema-draft-4': 1.0.0-beta.45 + '@babel/runtime-corejs3': 7.28.4 + '@swagger-api/apidom-core': 1.0.0-rc.1 + '@swagger-api/apidom-error': 1.0.0-rc.1 + '@swagger-api/apidom-ns-json-schema-draft-4': 1.0.0-rc.1 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) ts-mixer: 6.0.4 - '@swagger-api/apidom-ns-json-schema-draft-7@1.0.0-beta.45': + '@swagger-api/apidom-ns-json-schema-draft-7@1.0.0-rc.1': dependencies: - '@babel/runtime-corejs3': 7.28.2 - '@swagger-api/apidom-core': 1.0.0-beta.45 - '@swagger-api/apidom-error': 1.0.0-beta.45 - '@swagger-api/apidom-ns-json-schema-draft-6': 1.0.0-beta.45 + '@babel/runtime-corejs3': 7.28.4 + '@swagger-api/apidom-core': 1.0.0-rc.1 + '@swagger-api/apidom-error': 1.0.0-rc.1 + '@swagger-api/apidom-ns-json-schema-draft-6': 1.0.0-rc.1 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) ts-mixer: 6.0.4 - '@swagger-api/apidom-ns-openapi-2@1.0.0-beta.45': + '@swagger-api/apidom-ns-openapi-2@1.0.0-rc.1': dependencies: - '@babel/runtime-corejs3': 7.28.2 - '@swagger-api/apidom-core': 1.0.0-beta.45 - '@swagger-api/apidom-error': 1.0.0-beta.45 - '@swagger-api/apidom-ns-json-schema-draft-4': 1.0.0-beta.45 + '@babel/runtime-corejs3': 7.28.4 + '@swagger-api/apidom-core': 1.0.0-rc.1 + '@swagger-api/apidom-error': 1.0.0-rc.1 + '@swagger-api/apidom-ns-json-schema-draft-4': 1.0.0-rc.1 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) ts-mixer: 6.0.4 optional: true - '@swagger-api/apidom-ns-openapi-3-0@1.0.0-beta.45': + '@swagger-api/apidom-ns-openapi-3-0@1.0.0-rc.1': dependencies: - '@babel/runtime-corejs3': 7.28.2 - '@swagger-api/apidom-core': 1.0.0-beta.45 - '@swagger-api/apidom-error': 1.0.0-beta.45 - '@swagger-api/apidom-ns-json-schema-draft-4': 1.0.0-beta.45 + '@babel/runtime-corejs3': 7.28.4 + '@swagger-api/apidom-core': 1.0.0-rc.1 + '@swagger-api/apidom-error': 1.0.0-rc.1 + '@swagger-api/apidom-ns-json-schema-draft-4': 1.0.0-rc.1 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) ts-mixer: 6.0.4 - '@swagger-api/apidom-ns-openapi-3-1@1.0.0-beta.45': + '@swagger-api/apidom-ns-openapi-3-1@1.0.0-rc.1': dependencies: - '@babel/runtime-corejs3': 7.28.2 - '@swagger-api/apidom-ast': 1.0.0-beta.45 - '@swagger-api/apidom-core': 1.0.0-beta.45 - '@swagger-api/apidom-json-pointer': 1.0.0-beta.45 - '@swagger-api/apidom-ns-json-schema-2020-12': 1.0.0-beta.45 - '@swagger-api/apidom-ns-openapi-3-0': 1.0.0-beta.45 + '@babel/runtime-corejs3': 7.28.4 + '@swagger-api/apidom-ast': 1.0.0-rc.1 + '@swagger-api/apidom-core': 1.0.0-rc.1 + '@swagger-api/apidom-json-pointer': 1.0.0-rc.1 + '@swagger-api/apidom-ns-json-schema-2020-12': 1.0.0-rc.1 + '@swagger-api/apidom-ns-openapi-3-0': 1.0.0-rc.1 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) ts-mixer: 6.0.4 - '@swagger-api/apidom-parser-adapter-api-design-systems-json@1.0.0-beta.45': + '@swagger-api/apidom-parser-adapter-api-design-systems-json@1.0.0-rc.1': dependencies: - '@babel/runtime-corejs3': 7.28.2 - '@swagger-api/apidom-core': 1.0.0-beta.45 - '@swagger-api/apidom-ns-api-design-systems': 1.0.0-beta.45 - '@swagger-api/apidom-parser-adapter-json': 1.0.0-beta.45 + '@babel/runtime-corejs3': 7.28.4 + '@swagger-api/apidom-core': 1.0.0-rc.1 + '@swagger-api/apidom-ns-api-design-systems': 1.0.0-rc.1 + '@swagger-api/apidom-parser-adapter-json': 1.0.0-rc.1 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) optional: true - '@swagger-api/apidom-parser-adapter-api-design-systems-yaml@1.0.0-beta.45': + '@swagger-api/apidom-parser-adapter-api-design-systems-yaml@1.0.0-rc.1': dependencies: - '@babel/runtime-corejs3': 7.28.2 - '@swagger-api/apidom-core': 1.0.0-beta.45 - '@swagger-api/apidom-ns-api-design-systems': 1.0.0-beta.45 - '@swagger-api/apidom-parser-adapter-yaml-1-2': 1.0.0-beta.45 + '@babel/runtime-corejs3': 7.28.4 + '@swagger-api/apidom-core': 1.0.0-rc.1 + '@swagger-api/apidom-ns-api-design-systems': 1.0.0-rc.1 + '@swagger-api/apidom-parser-adapter-yaml-1-2': 1.0.0-rc.1 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) optional: true - '@swagger-api/apidom-parser-adapter-arazzo-json-1@1.0.0-beta.45': + '@swagger-api/apidom-parser-adapter-arazzo-json-1@1.0.0-rc.1': dependencies: - '@babel/runtime-corejs3': 7.28.2 - '@swagger-api/apidom-core': 1.0.0-beta.45 - '@swagger-api/apidom-ns-arazzo-1': 1.0.0-beta.45 - '@swagger-api/apidom-parser-adapter-json': 1.0.0-beta.45 + '@babel/runtime-corejs3': 7.28.4 + '@swagger-api/apidom-core': 1.0.0-rc.1 + '@swagger-api/apidom-ns-arazzo-1': 1.0.0-rc.1 + '@swagger-api/apidom-parser-adapter-json': 1.0.0-rc.1 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) optional: true - '@swagger-api/apidom-parser-adapter-arazzo-yaml-1@1.0.0-beta.45': + '@swagger-api/apidom-parser-adapter-arazzo-yaml-1@1.0.0-rc.1': dependencies: - '@babel/runtime-corejs3': 7.28.2 - '@swagger-api/apidom-core': 1.0.0-beta.45 - '@swagger-api/apidom-ns-arazzo-1': 1.0.0-beta.45 - '@swagger-api/apidom-parser-adapter-yaml-1-2': 1.0.0-beta.45 + '@babel/runtime-corejs3': 7.28.4 + '@swagger-api/apidom-core': 1.0.0-rc.1 + '@swagger-api/apidom-ns-arazzo-1': 1.0.0-rc.1 + '@swagger-api/apidom-parser-adapter-yaml-1-2': 1.0.0-rc.1 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) optional: true - '@swagger-api/apidom-parser-adapter-asyncapi-json-2@1.0.0-beta.45': + '@swagger-api/apidom-parser-adapter-asyncapi-json-2@1.0.0-rc.1': dependencies: - '@babel/runtime-corejs3': 7.28.2 - '@swagger-api/apidom-core': 1.0.0-beta.45 - '@swagger-api/apidom-ns-asyncapi-2': 1.0.0-beta.45 - '@swagger-api/apidom-parser-adapter-json': 1.0.0-beta.45 + '@babel/runtime-corejs3': 7.28.4 + '@swagger-api/apidom-core': 1.0.0-rc.1 + '@swagger-api/apidom-ns-asyncapi-2': 1.0.0-rc.1 + '@swagger-api/apidom-parser-adapter-json': 1.0.0-rc.1 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) optional: true - '@swagger-api/apidom-parser-adapter-asyncapi-yaml-2@1.0.0-beta.45': + '@swagger-api/apidom-parser-adapter-asyncapi-yaml-2@1.0.0-rc.1': dependencies: - '@babel/runtime-corejs3': 7.28.2 - '@swagger-api/apidom-core': 1.0.0-beta.45 - '@swagger-api/apidom-ns-asyncapi-2': 1.0.0-beta.45 - '@swagger-api/apidom-parser-adapter-yaml-1-2': 1.0.0-beta.45 + '@babel/runtime-corejs3': 7.28.4 + '@swagger-api/apidom-core': 1.0.0-rc.1 + '@swagger-api/apidom-ns-asyncapi-2': 1.0.0-rc.1 + '@swagger-api/apidom-parser-adapter-yaml-1-2': 1.0.0-rc.1 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) optional: true - '@swagger-api/apidom-parser-adapter-json@1.0.0-beta.45': + '@swagger-api/apidom-parser-adapter-json@1.0.0-rc.1': dependencies: - '@babel/runtime-corejs3': 7.28.2 - '@swagger-api/apidom-ast': 1.0.0-beta.45 - '@swagger-api/apidom-core': 1.0.0-beta.45 - '@swagger-api/apidom-error': 1.0.0-beta.45 + '@babel/runtime-corejs3': 7.28.4 + '@swagger-api/apidom-ast': 1.0.0-rc.1 + '@swagger-api/apidom-core': 1.0.0-rc.1 + '@swagger-api/apidom-error': 1.0.0-rc.1 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) @@ -34409,78 +35105,78 @@ snapshots: web-tree-sitter: 0.24.5 optional: true - '@swagger-api/apidom-parser-adapter-openapi-json-2@1.0.0-beta.45': + '@swagger-api/apidom-parser-adapter-openapi-json-2@1.0.0-rc.1': dependencies: - '@babel/runtime-corejs3': 7.28.2 - '@swagger-api/apidom-core': 1.0.0-beta.45 - '@swagger-api/apidom-ns-openapi-2': 1.0.0-beta.45 - '@swagger-api/apidom-parser-adapter-json': 1.0.0-beta.45 + '@babel/runtime-corejs3': 7.28.4 + '@swagger-api/apidom-core': 1.0.0-rc.1 + '@swagger-api/apidom-ns-openapi-2': 1.0.0-rc.1 + '@swagger-api/apidom-parser-adapter-json': 1.0.0-rc.1 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) optional: true - '@swagger-api/apidom-parser-adapter-openapi-json-3-0@1.0.0-beta.45': + '@swagger-api/apidom-parser-adapter-openapi-json-3-0@1.0.0-rc.1': dependencies: - '@babel/runtime-corejs3': 7.28.2 - '@swagger-api/apidom-core': 1.0.0-beta.45 - '@swagger-api/apidom-ns-openapi-3-0': 1.0.0-beta.45 - '@swagger-api/apidom-parser-adapter-json': 1.0.0-beta.45 + '@babel/runtime-corejs3': 7.28.4 + '@swagger-api/apidom-core': 1.0.0-rc.1 + '@swagger-api/apidom-ns-openapi-3-0': 1.0.0-rc.1 + '@swagger-api/apidom-parser-adapter-json': 1.0.0-rc.1 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) optional: true - '@swagger-api/apidom-parser-adapter-openapi-json-3-1@1.0.0-beta.45': + '@swagger-api/apidom-parser-adapter-openapi-json-3-1@1.0.0-rc.1': dependencies: - '@babel/runtime-corejs3': 7.28.2 - '@swagger-api/apidom-core': 1.0.0-beta.45 - '@swagger-api/apidom-ns-openapi-3-1': 1.0.0-beta.45 - '@swagger-api/apidom-parser-adapter-json': 1.0.0-beta.45 + '@babel/runtime-corejs3': 7.28.4 + '@swagger-api/apidom-core': 1.0.0-rc.1 + '@swagger-api/apidom-ns-openapi-3-1': 1.0.0-rc.1 + '@swagger-api/apidom-parser-adapter-json': 1.0.0-rc.1 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) optional: true - '@swagger-api/apidom-parser-adapter-openapi-yaml-2@1.0.0-beta.45': + '@swagger-api/apidom-parser-adapter-openapi-yaml-2@1.0.0-rc.1': dependencies: - '@babel/runtime-corejs3': 7.28.2 - '@swagger-api/apidom-core': 1.0.0-beta.45 - '@swagger-api/apidom-ns-openapi-2': 1.0.0-beta.45 - '@swagger-api/apidom-parser-adapter-yaml-1-2': 1.0.0-beta.45 + '@babel/runtime-corejs3': 7.28.4 + '@swagger-api/apidom-core': 1.0.0-rc.1 + '@swagger-api/apidom-ns-openapi-2': 1.0.0-rc.1 + '@swagger-api/apidom-parser-adapter-yaml-1-2': 1.0.0-rc.1 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) optional: true - '@swagger-api/apidom-parser-adapter-openapi-yaml-3-0@1.0.0-beta.45': + '@swagger-api/apidom-parser-adapter-openapi-yaml-3-0@1.0.0-rc.1': dependencies: - '@babel/runtime-corejs3': 7.28.2 - '@swagger-api/apidom-core': 1.0.0-beta.45 - '@swagger-api/apidom-ns-openapi-3-0': 1.0.0-beta.45 - '@swagger-api/apidom-parser-adapter-yaml-1-2': 1.0.0-beta.45 + '@babel/runtime-corejs3': 7.28.4 + '@swagger-api/apidom-core': 1.0.0-rc.1 + '@swagger-api/apidom-ns-openapi-3-0': 1.0.0-rc.1 + '@swagger-api/apidom-parser-adapter-yaml-1-2': 1.0.0-rc.1 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) optional: true - '@swagger-api/apidom-parser-adapter-openapi-yaml-3-1@1.0.0-beta.45': + '@swagger-api/apidom-parser-adapter-openapi-yaml-3-1@1.0.0-rc.1': dependencies: - '@babel/runtime-corejs3': 7.28.2 - '@swagger-api/apidom-core': 1.0.0-beta.45 - '@swagger-api/apidom-ns-openapi-3-1': 1.0.0-beta.45 - '@swagger-api/apidom-parser-adapter-yaml-1-2': 1.0.0-beta.45 + '@babel/runtime-corejs3': 7.28.4 + '@swagger-api/apidom-core': 1.0.0-rc.1 + '@swagger-api/apidom-ns-openapi-3-1': 1.0.0-rc.1 + '@swagger-api/apidom-parser-adapter-yaml-1-2': 1.0.0-rc.1 '@types/ramda': 0.30.2 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) optional: true - '@swagger-api/apidom-parser-adapter-yaml-1-2@1.0.0-beta.45': + '@swagger-api/apidom-parser-adapter-yaml-1-2@1.0.0-rc.1': dependencies: - '@babel/runtime-corejs3': 7.28.2 - '@swagger-api/apidom-ast': 1.0.0-beta.45 - '@swagger-api/apidom-core': 1.0.0-beta.45 - '@swagger-api/apidom-error': 1.0.0-beta.45 + '@babel/runtime-corejs3': 7.28.4 + '@swagger-api/apidom-ast': 1.0.0-rc.1 + '@swagger-api/apidom-core': 1.0.0-rc.1 + '@swagger-api/apidom-error': 1.0.0-rc.1 '@tree-sitter-grammars/tree-sitter-yaml': 0.7.1(tree-sitter@0.22.4) '@types/ramda': 0.30.2 ramda: 0.30.1 @@ -34489,38 +35185,38 @@ snapshots: web-tree-sitter: 0.24.5 optional: true - '@swagger-api/apidom-reference@1.0.0-beta.45': + '@swagger-api/apidom-reference@1.0.0-rc.1': dependencies: - '@babel/runtime-corejs3': 7.28.2 - '@swagger-api/apidom-core': 1.0.0-beta.45 - '@swagger-api/apidom-error': 1.0.0-beta.45 + '@babel/runtime-corejs3': 7.28.4 + '@swagger-api/apidom-core': 1.0.0-rc.1 + '@swagger-api/apidom-error': 1.0.0-rc.1 '@types/ramda': 0.30.2 - axios: 1.12.0 + axios: 1.12.2 minimatch: 7.4.6 process: 0.11.10 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) optionalDependencies: - '@swagger-api/apidom-json-pointer': 1.0.0-beta.45 - '@swagger-api/apidom-ns-arazzo-1': 1.0.0-beta.45 - '@swagger-api/apidom-ns-asyncapi-2': 1.0.0-beta.45 - '@swagger-api/apidom-ns-openapi-2': 1.0.0-beta.45 - '@swagger-api/apidom-ns-openapi-3-0': 1.0.0-beta.45 - '@swagger-api/apidom-ns-openapi-3-1': 1.0.0-beta.45 - '@swagger-api/apidom-parser-adapter-api-design-systems-json': 1.0.0-beta.45 - '@swagger-api/apidom-parser-adapter-api-design-systems-yaml': 1.0.0-beta.45 - '@swagger-api/apidom-parser-adapter-arazzo-json-1': 1.0.0-beta.45 - '@swagger-api/apidom-parser-adapter-arazzo-yaml-1': 1.0.0-beta.45 - '@swagger-api/apidom-parser-adapter-asyncapi-json-2': 1.0.0-beta.45 - '@swagger-api/apidom-parser-adapter-asyncapi-yaml-2': 1.0.0-beta.45 - '@swagger-api/apidom-parser-adapter-json': 1.0.0-beta.45 - '@swagger-api/apidom-parser-adapter-openapi-json-2': 1.0.0-beta.45 - '@swagger-api/apidom-parser-adapter-openapi-json-3-0': 1.0.0-beta.45 - '@swagger-api/apidom-parser-adapter-openapi-json-3-1': 1.0.0-beta.45 - '@swagger-api/apidom-parser-adapter-openapi-yaml-2': 1.0.0-beta.45 - '@swagger-api/apidom-parser-adapter-openapi-yaml-3-0': 1.0.0-beta.45 - '@swagger-api/apidom-parser-adapter-openapi-yaml-3-1': 1.0.0-beta.45 - '@swagger-api/apidom-parser-adapter-yaml-1-2': 1.0.0-beta.45 + '@swagger-api/apidom-json-pointer': 1.0.0-rc.1 + '@swagger-api/apidom-ns-arazzo-1': 1.0.0-rc.1 + '@swagger-api/apidom-ns-asyncapi-2': 1.0.0-rc.1 + '@swagger-api/apidom-ns-openapi-2': 1.0.0-rc.1 + '@swagger-api/apidom-ns-openapi-3-0': 1.0.0-rc.1 + '@swagger-api/apidom-ns-openapi-3-1': 1.0.0-rc.1 + '@swagger-api/apidom-parser-adapter-api-design-systems-json': 1.0.0-rc.1 + '@swagger-api/apidom-parser-adapter-api-design-systems-yaml': 1.0.0-rc.1 + '@swagger-api/apidom-parser-adapter-arazzo-json-1': 1.0.0-rc.1 + '@swagger-api/apidom-parser-adapter-arazzo-yaml-1': 1.0.0-rc.1 + '@swagger-api/apidom-parser-adapter-asyncapi-json-2': 1.0.0-rc.1 + '@swagger-api/apidom-parser-adapter-asyncapi-yaml-2': 1.0.0-rc.1 + '@swagger-api/apidom-parser-adapter-json': 1.0.0-rc.1 + '@swagger-api/apidom-parser-adapter-openapi-json-2': 1.0.0-rc.1 + '@swagger-api/apidom-parser-adapter-openapi-json-3-0': 1.0.0-rc.1 + '@swagger-api/apidom-parser-adapter-openapi-json-3-1': 1.0.0-rc.1 + '@swagger-api/apidom-parser-adapter-openapi-yaml-2': 1.0.0-rc.1 + '@swagger-api/apidom-parser-adapter-openapi-yaml-3-0': 1.0.0-rc.1 + '@swagger-api/apidom-parser-adapter-openapi-yaml-3-1': 1.0.0-rc.1 + '@swagger-api/apidom-parser-adapter-yaml-1-2': 1.0.0-rc.1 transitivePeerDependencies: - debug @@ -34532,51 +35228,51 @@ snapshots: dependencies: apg-lite: 1.0.5 - '@swc/core-darwin-arm64@1.13.3': + '@swc/core-darwin-arm64@1.14.0': optional: true - '@swc/core-darwin-x64@1.13.3': + '@swc/core-darwin-x64@1.14.0': optional: true - '@swc/core-linux-arm-gnueabihf@1.13.3': + '@swc/core-linux-arm-gnueabihf@1.14.0': optional: true - '@swc/core-linux-arm64-gnu@1.13.3': + '@swc/core-linux-arm64-gnu@1.14.0': optional: true - '@swc/core-linux-arm64-musl@1.13.3': + '@swc/core-linux-arm64-musl@1.14.0': optional: true - '@swc/core-linux-x64-gnu@1.13.3': + '@swc/core-linux-x64-gnu@1.14.0': optional: true - '@swc/core-linux-x64-musl@1.13.3': + '@swc/core-linux-x64-musl@1.14.0': optional: true - '@swc/core-win32-arm64-msvc@1.13.3': + '@swc/core-win32-arm64-msvc@1.14.0': optional: true - '@swc/core-win32-ia32-msvc@1.13.3': + '@swc/core-win32-ia32-msvc@1.14.0': optional: true - '@swc/core-win32-x64-msvc@1.13.3': + '@swc/core-win32-x64-msvc@1.14.0': optional: true - '@swc/core@1.13.3(@swc/helpers@0.5.17)': + '@swc/core@1.14.0(@swc/helpers@0.5.17)': dependencies: '@swc/counter': 0.1.3 - '@swc/types': 0.1.24 - optionalDependencies: - '@swc/core-darwin-arm64': 1.13.3 - '@swc/core-darwin-x64': 1.13.3 - '@swc/core-linux-arm-gnueabihf': 1.13.3 - '@swc/core-linux-arm64-gnu': 1.13.3 - '@swc/core-linux-arm64-musl': 1.13.3 - '@swc/core-linux-x64-gnu': 1.13.3 - '@swc/core-linux-x64-musl': 1.13.3 - '@swc/core-win32-arm64-msvc': 1.13.3 - '@swc/core-win32-ia32-msvc': 1.13.3 - '@swc/core-win32-x64-msvc': 1.13.3 + '@swc/types': 0.1.25 + optionalDependencies: + '@swc/core-darwin-arm64': 1.14.0 + '@swc/core-darwin-x64': 1.14.0 + '@swc/core-linux-arm-gnueabihf': 1.14.0 + '@swc/core-linux-arm64-gnu': 1.14.0 + '@swc/core-linux-arm64-musl': 1.14.0 + '@swc/core-linux-x64-gnu': 1.14.0 + '@swc/core-linux-x64-musl': 1.14.0 + '@swc/core-win32-arm64-msvc': 1.14.0 + '@swc/core-win32-ia32-msvc': 1.14.0 + '@swc/core-win32-x64-msvc': 1.14.0 '@swc/helpers': 0.5.17 '@swc/counter@0.1.3': {} @@ -34585,7 +35281,7 @@ snapshots: dependencies: tslib: 2.8.1 - '@swc/types@0.1.24': + '@swc/types@0.1.25': dependencies: '@swc/counter': 0.1.3 @@ -34595,7 +35291,7 @@ snapshots: '@tanstack/query-core@4.27.0': {} - '@tanstack/query-core@4.40.0': {} + '@tanstack/query-core@4.41.0': {} '@tanstack/query-core@5.76.0': {} @@ -34603,7 +35299,7 @@ snapshots: '@tanstack/query-core@5.77.1': {} - '@tanstack/query-core@5.83.1': {} + '@tanstack/query-core@5.90.6': {} '@tanstack/query-persist-client-core@4.27.0': dependencies: @@ -34616,19 +35312,19 @@ snapshots: '@tanstack/react-query@4.0.10(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@tanstack/query-core': 4.40.0 + '@tanstack/query-core': 4.41.0 '@types/use-sync-external-store': 0.0.3 react: 18.2.0 - use-sync-external-store: 1.5.0(react@18.2.0) + use-sync-external-store: 1.6.0(react@18.2.0) optionalDependencies: react-dom: 18.2.0(react@18.2.0) '@tanstack/react-query@4.0.10(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@tanstack/query-core': 4.40.0 + '@tanstack/query-core': 4.41.0 '@types/use-sync-external-store': 0.0.3 react: 19.1.0 - use-sync-external-store: 1.5.0(react@19.1.0) + use-sync-external-store: 1.6.0(react@19.1.0) optionalDependencies: react-dom: 19.1.0(react@19.1.0) @@ -34636,7 +35332,7 @@ snapshots: dependencies: '@tanstack/query-core': 4.27.0 react: 18.2.0 - use-sync-external-store: 1.5.0(react@18.2.0) + use-sync-external-store: 1.6.0(react@18.2.0) optionalDependencies: react-dom: 18.2.0(react@18.2.0) @@ -34672,7 +35368,7 @@ snapshots: '@testing-library/dom@10.4.0': dependencies: '@babel/code-frame': 7.27.1 - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 '@types/aria-query': 5.0.4 aria-query: 5.3.0 chalk: 4.1.2 @@ -34683,7 +35379,7 @@ snapshots: '@testing-library/dom@10.4.1': dependencies: '@babel/code-frame': 7.27.1 - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 '@types/aria-query': 5.0.4 aria-query: 5.3.0 dom-accessibility-api: 0.5.16 @@ -34693,7 +35389,7 @@ snapshots: '@testing-library/jest-dom@6.5.0': dependencies: - '@adobe/css-tools': 4.4.3 + '@adobe/css-tools': 4.4.4 aria-query: 5.3.2 chalk: 3.0.0 css.escape: 1.5.1 @@ -34703,7 +35399,7 @@ snapshots: '@testing-library/jest-dom@6.6.4': dependencies: - '@adobe/css-tools': 4.4.3 + '@adobe/css-tools': 4.4.4 aria-query: 5.3.2 css.escape: 1.5.1 dom-accessibility-api: 0.6.3 @@ -34713,7 +35409,7 @@ snapshots: '@testing-library/react@16.3.0(@testing-library/dom@10.4.1)(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 '@testing-library/dom': 10.4.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -34739,7 +35435,7 @@ snapshots: '@textlint/resolver': 14.8.4 '@textlint/types': 14.8.4 chalk: 4.1.2 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) js-yaml: 3.14.1 lodash: 4.17.21 pluralize: 2.0.0 @@ -34784,7 +35480,7 @@ snapshots: '@ts-morph/common@0.27.0': dependencies: fast-glob: 3.3.3 - minimatch: 10.0.3 + minimatch: 10.1.1 path-browserify: 1.0.1 '@tsconfig/node10@1.0.11': {} @@ -34799,24 +35495,24 @@ snapshots: '@types/babel__core@7.20.5': dependencies: - '@babel/parser': 7.28.0 - '@babel/types': 7.28.2 + '@babel/parser': 7.28.5 + '@babel/types': 7.28.5 '@types/babel__generator': 7.27.0 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.28.0 '@types/babel__generator@7.27.0': dependencies: - '@babel/types': 7.28.2 + '@babel/types': 7.28.5 '@types/babel__template@7.4.4': dependencies: - '@babel/parser': 7.28.0 - '@babel/types': 7.28.2 + '@babel/parser': 7.28.5 + '@babel/types': 7.28.5 '@types/babel__traverse@7.28.0': dependencies: - '@babel/types': 7.28.2 + '@babel/types': 7.28.5 '@types/blueimp-md5@2.18.2': {} @@ -34835,9 +35531,10 @@ snapshots: '@types/chai@4.3.20': {} - '@types/chai@5.2.2': + '@types/chai@5.2.3': dependencies: '@types/deep-eql': 4.0.2 + assertion-error: 2.0.1 '@types/classnames@2.3.4': dependencies: @@ -34847,13 +35544,13 @@ snapshots: dependencies: '@types/tern': 0.23.9 - '@types/codemirror@5.60.16': + '@types/codemirror@5.60.17': dependencies: '@types/tern': 0.23.9 '@types/connect-history-api-fallback@1.5.4': dependencies: - '@types/express-serve-static-core': 4.19.6 + '@types/express-serve-static-core': 4.19.7 '@types/node': 22.15.35 '@types/connect@3.4.38': @@ -34882,7 +35579,7 @@ snapshots: '@types/ejs@3.1.5': {} - '@types/emscripten@1.40.1': {} + '@types/emscripten@1.41.5': {} '@types/escodegen@0.0.6': {} @@ -34908,19 +35605,19 @@ snapshots: '@types/estree@1.0.8': {} - '@types/express-serve-static-core@4.19.6': + '@types/express-serve-static-core@4.19.7': dependencies: '@types/node': 22.15.35 '@types/qs': 6.14.0 '@types/range-parser': 1.2.7 - '@types/send': 0.17.5 + '@types/send': 1.2.1 - '@types/express@4.17.23': + '@types/express@4.17.25': dependencies: '@types/body-parser': 1.19.6 - '@types/express-serve-static-core': 4.19.6 + '@types/express-serve-static-core': 4.19.7 '@types/qs': 6.14.0 - '@types/serve-static': 1.15.8 + '@types/serve-static': 1.15.10 '@types/find-cache-dir@3.2.1': {} @@ -34968,7 +35665,7 @@ snapshots: '@types/http-errors@2.0.5': {} - '@types/http-proxy@1.17.16': + '@types/http-proxy@1.17.17': dependencies: '@types/node': 22.15.35 @@ -35053,7 +35750,7 @@ snapshots: '@types/minimatch@6.0.0': dependencies: - minimatch: 10.0.3 + minimatch: 10.1.1 '@types/minimist@1.2.5': {} @@ -35070,17 +35767,17 @@ snapshots: '@types/node': 22.15.35 form-data: 4.0.4 - '@types/node-forge@1.3.13': + '@types/node-forge@1.3.14': dependencies: '@types/node': 22.15.35 '@types/node@16.18.126': {} - '@types/node@18.19.121': + '@types/node@18.19.130': dependencies: undici-types: 5.26.5 - '@types/node@20.19.22': + '@types/node@20.19.24': dependencies: undici-types: 6.21.0 @@ -35159,7 +35856,7 @@ snapshots: dependencies: '@types/react': 18.2.0 - '@types/react@17.0.87': + '@types/react@17.0.89': dependencies: '@types/prop-types': 15.7.15 '@types/scheduler': 0.16.8 @@ -35187,27 +35884,31 @@ snapshots: '@types/scheduler@0.26.0': {} - '@types/selenium-webdriver@4.1.28': + '@types/selenium-webdriver@4.35.3': dependencies: '@types/node': 22.15.35 '@types/ws': 8.18.1 - '@types/semver@7.7.0': {} + '@types/semver@7.7.1': {} - '@types/send@0.17.5': + '@types/send@0.17.6': dependencies: '@types/mime': 1.3.5 '@types/node': 22.15.35 + '@types/send@1.2.1': + dependencies: + '@types/node': 22.15.35 + '@types/serve-index@1.9.4': dependencies: - '@types/express': 4.17.23 + '@types/express': 4.17.25 - '@types/serve-static@1.15.8': + '@types/serve-static@1.15.10': dependencies: '@types/http-errors': 2.0.5 '@types/node': 22.15.35 - '@types/send': 0.17.5 + '@types/send': 0.17.6 '@types/sockjs@0.3.36': dependencies: @@ -35260,11 +35961,11 @@ snapshots: '@types/uuid@9.0.8': {} - '@types/vscode-notebook-renderer@1.72.3': {} + '@types/vscode-notebook-renderer@1.72.4': {} '@types/vscode-webview@1.57.5': {} - '@types/vscode@1.102.0': {} + '@types/vscode@1.105.0': {} '@types/webpack-env@1.18.8': {} @@ -35286,8 +35987,8 @@ snapshots: '@types/webpack@5.28.5': dependencies: '@types/node': 22.15.35 - tapable: 2.2.2 - webpack: 5.101.0(webpack-cli@4.10.0) + tapable: 2.3.0 + webpack: 5.102.1(webpack-cli@4.10.0) transitivePeerDependencies: - '@swc/core' - esbuild @@ -35295,11 +35996,11 @@ snapshots: - webpack-cli optional: true - '@types/webpack@5.28.5(@swc/core@1.13.3(@swc/helpers@0.5.17))': + '@types/webpack@5.28.5(@swc/core@1.14.0(@swc/helpers@0.5.17))': dependencies: '@types/node': 22.15.35 - tapable: 2.2.2 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) + tapable: 2.3.0 + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17)) transitivePeerDependencies: - '@swc/core' - esbuild @@ -35307,11 +36008,11 @@ snapshots: - webpack-cli optional: true - '@types/webpack@5.28.5(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1)': + '@types/webpack@5.28.5(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1)': dependencies: '@types/node': 22.15.35 - tapable: 2.2.2 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + tapable: 2.3.0 + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1) transitivePeerDependencies: - '@swc/core' - esbuild @@ -35321,25 +36022,25 @@ snapshots: '@types/webpack@5.28.5(webpack-cli@4.10.0)': dependencies: '@types/node': 22.15.35 - tapable: 2.2.2 - webpack: 5.101.0(webpack-cli@4.10.0) + tapable: 2.3.0 + webpack: 5.102.1(webpack-cli@4.10.0) transitivePeerDependencies: - '@swc/core' - esbuild - uglify-js - webpack-cli + optional: true '@types/webpack@5.28.5(webpack-cli@5.1.4)': dependencies: '@types/node': 22.15.35 - tapable: 2.2.2 - webpack: 5.101.0(webpack-cli@5.1.4) + tapable: 2.3.0 + webpack: 5.102.1(webpack-cli@5.1.4) transitivePeerDependencies: - '@swc/core' - esbuild - uglify-js - webpack-cli - optional: true '@types/which@3.0.4': {} @@ -35357,7 +36058,7 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 - '@types/yargs@17.0.33': + '@types/yargs@17.0.34': dependencies: '@types/yargs-parser': 21.0.3 @@ -35380,12 +36081,12 @@ snapshots: '@typescript-eslint/scope-manager': 5.48.2 '@typescript-eslint/type-utils': 5.48.2(eslint@8.57.1)(typescript@5.8.3) '@typescript-eslint/utils': 5.48.2(eslint@8.57.1)(typescript@5.8.3) - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) eslint: 8.57.1 ignore: 5.3.2 natural-compare-lite: 1.4.0 regexpp: 3.2.0 - semver: 7.7.2 + semver: 7.7.3 tsutils: 3.21.0(typescript@5.8.3) optionalDependencies: typescript: 5.8.3 @@ -35394,18 +36095,18 @@ snapshots: '@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3)': dependencies: - '@eslint-community/regexpp': 4.12.1 + '@eslint-community/regexpp': 4.12.2 '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.8.3) '@typescript-eslint/scope-manager': 6.21.0 '@typescript-eslint/type-utils': 6.21.0(eslint@8.57.1)(typescript@5.8.3) '@typescript-eslint/utils': 6.21.0(eslint@8.57.1)(typescript@5.8.3) '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) eslint: 8.57.1 graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 - semver: 7.7.2 + semver: 7.7.3 ts-api-utils: 1.4.3(typescript@5.8.3) optionalDependencies: typescript: 5.8.3 @@ -35414,18 +36115,18 @@ snapshots: '@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@8.33.1(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3)': dependencies: - '@eslint-community/regexpp': 4.12.1 + '@eslint-community/regexpp': 4.12.2 '@typescript-eslint/parser': 8.33.1(eslint@8.57.1)(typescript@5.8.3) '@typescript-eslint/scope-manager': 6.21.0 '@typescript-eslint/type-utils': 6.21.0(eslint@8.57.1)(typescript@5.8.3) '@typescript-eslint/utils': 6.21.0(eslint@8.57.1)(typescript@5.8.3) '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) eslint: 8.57.1 graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 - semver: 7.7.2 + semver: 7.7.3 ts-api-utils: 1.4.3(typescript@5.8.3) optionalDependencies: typescript: 5.8.3 @@ -35434,7 +36135,7 @@ snapshots: '@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3)': dependencies: - '@eslint-community/regexpp': 4.12.1 + '@eslint-community/regexpp': 4.12.2 '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.8.3) '@typescript-eslint/scope-manager': 7.18.0 '@typescript-eslint/type-utils': 7.18.0(eslint@8.57.1)(typescript@5.8.3) @@ -35450,15 +36151,15 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3)': + '@typescript-eslint/eslint-plugin@8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3))(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3)': dependencies: - '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.32.1(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3) + '@eslint-community/regexpp': 4.12.2 + '@typescript-eslint/parser': 8.32.1(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3) '@typescript-eslint/scope-manager': 8.32.1 - '@typescript-eslint/type-utils': 8.32.1(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3) - '@typescript-eslint/utils': 8.32.1(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3) + '@typescript-eslint/type-utils': 8.32.1(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3) + '@typescript-eslint/utils': 8.32.1(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3) '@typescript-eslint/visitor-keys': 8.32.1 - eslint: 9.27.0(jiti@2.5.1) + eslint: 9.27.0(jiti@2.6.1) graphemer: 1.4.0 ignore: 7.0.5 natural-compare: 1.4.0 @@ -35467,15 +36168,15 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@8.32.1(@typescript-eslint/parser@8.33.1(eslint@9.26.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.26.0(jiti@2.5.1))(typescript@5.8.3)': + '@typescript-eslint/eslint-plugin@8.32.1(@typescript-eslint/parser@8.33.1(eslint@9.26.0(jiti@2.6.1))(typescript@5.8.3))(eslint@9.26.0(jiti@2.6.1))(typescript@5.8.3)': dependencies: - '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.33.1(eslint@9.26.0(jiti@2.5.1))(typescript@5.8.3) + '@eslint-community/regexpp': 4.12.2 + '@typescript-eslint/parser': 8.33.1(eslint@9.26.0(jiti@2.6.1))(typescript@5.8.3) '@typescript-eslint/scope-manager': 8.32.1 - '@typescript-eslint/type-utils': 8.32.1(eslint@9.26.0(jiti@2.5.1))(typescript@5.8.3) - '@typescript-eslint/utils': 8.32.1(eslint@9.26.0(jiti@2.5.1))(typescript@5.8.3) + '@typescript-eslint/type-utils': 8.32.1(eslint@9.26.0(jiti@2.6.1))(typescript@5.8.3) + '@typescript-eslint/utils': 8.32.1(eslint@9.26.0(jiti@2.6.1))(typescript@5.8.3) '@typescript-eslint/visitor-keys': 8.32.1 - eslint: 9.26.0(jiti@2.5.1) + eslint: 9.26.0(jiti@2.6.1) graphemer: 1.4.0 ignore: 7.0.5 natural-compare: 1.4.0 @@ -35484,15 +36185,15 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@8.32.1(@typescript-eslint/parser@8.33.1(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3)': + '@typescript-eslint/eslint-plugin@8.32.1(@typescript-eslint/parser@8.33.1(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3))(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3)': dependencies: - '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.33.1(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3) + '@eslint-community/regexpp': 4.12.2 + '@typescript-eslint/parser': 8.33.1(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3) '@typescript-eslint/scope-manager': 8.32.1 - '@typescript-eslint/type-utils': 8.32.1(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3) - '@typescript-eslint/utils': 8.32.1(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3) + '@typescript-eslint/type-utils': 8.32.1(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3) + '@typescript-eslint/utils': 8.32.1(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3) '@typescript-eslint/visitor-keys': 8.32.1 - eslint: 9.27.0(jiti@2.5.1) + eslint: 9.27.0(jiti@2.6.1) graphemer: 1.4.0 ignore: 7.0.5 natural-compare: 1.4.0 @@ -35501,15 +36202,15 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@8.33.1(@typescript-eslint/parser@8.33.1(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3)': + '@typescript-eslint/eslint-plugin@8.33.1(@typescript-eslint/parser@8.33.1(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3))(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3)': dependencies: - '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.33.1(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3) + '@eslint-community/regexpp': 4.12.2 + '@typescript-eslint/parser': 8.33.1(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3) '@typescript-eslint/scope-manager': 8.33.1 - '@typescript-eslint/type-utils': 8.33.1(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3) - '@typescript-eslint/utils': 8.33.1(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3) + '@typescript-eslint/type-utils': 8.33.1(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3) + '@typescript-eslint/utils': 8.33.1(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3) '@typescript-eslint/visitor-keys': 8.33.1 - eslint: 9.27.0(jiti@2.5.1) + eslint: 9.27.0(jiti@2.6.1) graphemer: 1.4.0 ignore: 7.0.5 natural-compare: 1.4.0 @@ -35546,7 +36247,7 @@ snapshots: '@typescript-eslint/scope-manager': 5.48.2 '@typescript-eslint/types': 5.48.2 '@typescript-eslint/typescript-estree': 5.48.2(typescript@5.8.3) - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) eslint: 8.57.1 optionalDependencies: typescript: 5.8.3 @@ -35559,7 +36260,7 @@ snapshots: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.8.3) '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) eslint: 8.57.1 optionalDependencies: typescript: 5.8.3 @@ -35572,21 +36273,21 @@ snapshots: '@typescript-eslint/types': 7.18.0 '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.8.3) '@typescript-eslint/visitor-keys': 7.18.0 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) eslint: 8.57.1 optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.32.1(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3)': + '@typescript-eslint/parser@8.32.1(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3)': dependencies: '@typescript-eslint/scope-manager': 8.32.1 '@typescript-eslint/types': 8.32.1 '@typescript-eslint/typescript-estree': 8.32.1(typescript@5.8.3) '@typescript-eslint/visitor-keys': 8.32.1 - debug: 4.4.1(supports-color@8.1.1) - eslint: 9.27.0(jiti@2.5.1) + debug: 4.4.3(supports-color@8.1.1) + eslint: 9.27.0(jiti@2.6.1) typescript: 5.8.3 transitivePeerDependencies: - supports-color @@ -35597,32 +36298,32 @@ snapshots: '@typescript-eslint/types': 8.33.1 '@typescript-eslint/typescript-estree': 8.33.1(typescript@5.8.3) '@typescript-eslint/visitor-keys': 8.33.1 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) eslint: 8.57.1 typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.33.1(eslint@9.26.0(jiti@2.5.1))(typescript@5.8.3)': + '@typescript-eslint/parser@8.33.1(eslint@9.26.0(jiti@2.6.1))(typescript@5.8.3)': dependencies: '@typescript-eslint/scope-manager': 8.33.1 '@typescript-eslint/types': 8.33.1 '@typescript-eslint/typescript-estree': 8.33.1(typescript@5.8.3) '@typescript-eslint/visitor-keys': 8.33.1 - debug: 4.4.1(supports-color@8.1.1) - eslint: 9.26.0(jiti@2.5.1) + debug: 4.4.3(supports-color@8.1.1) + eslint: 9.26.0(jiti@2.6.1) typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.33.1(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3)': + '@typescript-eslint/parser@8.33.1(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3)': dependencies: '@typescript-eslint/scope-manager': 8.33.1 '@typescript-eslint/types': 8.33.1 '@typescript-eslint/typescript-estree': 8.33.1(typescript@5.8.3) '@typescript-eslint/visitor-keys': 8.33.1 - debug: 4.4.1(supports-color@8.1.1) - eslint: 9.27.0(jiti@2.5.1) + debug: 4.4.3(supports-color@8.1.1) + eslint: 9.27.0(jiti@2.6.1) typescript: 5.8.3 transitivePeerDependencies: - supports-color @@ -35631,16 +36332,16 @@ snapshots: dependencies: '@typescript-eslint/tsconfig-utils': 8.33.1(typescript@5.8.3) '@typescript-eslint/types': 8.33.1 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.39.0(typescript@5.8.3)': + '@typescript-eslint/project-service@8.46.3(typescript@5.8.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.39.0(typescript@5.8.3) - '@typescript-eslint/types': 8.39.0 - debug: 4.4.1(supports-color@8.1.1) + '@typescript-eslint/tsconfig-utils': 8.46.3(typescript@5.8.3) + '@typescript-eslint/types': 8.46.3 + debug: 4.4.3(supports-color@8.1.1) typescript: 5.8.3 transitivePeerDependencies: - supports-color @@ -35670,16 +36371,16 @@ snapshots: '@typescript-eslint/types': 8.33.1 '@typescript-eslint/visitor-keys': 8.33.1 - '@typescript-eslint/scope-manager@8.39.0': + '@typescript-eslint/scope-manager@8.46.3': dependencies: - '@typescript-eslint/types': 8.39.0 - '@typescript-eslint/visitor-keys': 8.39.0 + '@typescript-eslint/types': 8.46.3 + '@typescript-eslint/visitor-keys': 8.46.3 '@typescript-eslint/tsconfig-utils@8.33.1(typescript@5.8.3)': dependencies: typescript: 5.8.3 - '@typescript-eslint/tsconfig-utils@8.39.0(typescript@5.8.3)': + '@typescript-eslint/tsconfig-utils@8.46.3(typescript@5.8.3)': dependencies: typescript: 5.8.3 @@ -35687,7 +36388,7 @@ snapshots: dependencies: '@typescript-eslint/typescript-estree': 5.48.2(typescript@5.8.3) '@typescript-eslint/utils': 5.48.2(eslint@8.57.1)(typescript@5.8.3) - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) eslint: 8.57.1 tsutils: 3.21.0(typescript@5.8.3) optionalDependencies: @@ -35699,7 +36400,7 @@ snapshots: dependencies: '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.8.3) '@typescript-eslint/utils': 6.21.0(eslint@8.57.1)(typescript@5.8.3) - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) eslint: 8.57.1 ts-api-utils: 1.4.3(typescript@5.8.3) optionalDependencies: @@ -35711,7 +36412,7 @@ snapshots: dependencies: '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.8.3) '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.8.3) - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) eslint: 8.57.1 ts-api-utils: 1.4.3(typescript@5.8.3) optionalDependencies: @@ -35719,34 +36420,34 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/type-utils@8.32.1(eslint@9.26.0(jiti@2.5.1))(typescript@5.8.3)': + '@typescript-eslint/type-utils@8.32.1(eslint@9.26.0(jiti@2.6.1))(typescript@5.8.3)': dependencies: '@typescript-eslint/typescript-estree': 8.32.1(typescript@5.8.3) - '@typescript-eslint/utils': 8.32.1(eslint@9.26.0(jiti@2.5.1))(typescript@5.8.3) - debug: 4.4.1(supports-color@8.1.1) - eslint: 9.26.0(jiti@2.5.1) + '@typescript-eslint/utils': 8.32.1(eslint@9.26.0(jiti@2.6.1))(typescript@5.8.3) + debug: 4.4.3(supports-color@8.1.1) + eslint: 9.26.0(jiti@2.6.1) ts-api-utils: 2.1.0(typescript@5.8.3) typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/type-utils@8.32.1(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3)': + '@typescript-eslint/type-utils@8.32.1(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3)': dependencies: '@typescript-eslint/typescript-estree': 8.32.1(typescript@5.8.3) - '@typescript-eslint/utils': 8.32.1(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3) - debug: 4.4.1(supports-color@8.1.1) - eslint: 9.27.0(jiti@2.5.1) + '@typescript-eslint/utils': 8.32.1(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3) + debug: 4.4.3(supports-color@8.1.1) + eslint: 9.27.0(jiti@2.6.1) ts-api-utils: 2.1.0(typescript@5.8.3) typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/type-utils@8.33.1(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3)': + '@typescript-eslint/type-utils@8.33.1(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3)': dependencies: '@typescript-eslint/typescript-estree': 8.33.1(typescript@5.8.3) - '@typescript-eslint/utils': 8.33.1(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3) - debug: 4.4.1(supports-color@8.1.1) - eslint: 9.27.0(jiti@2.5.1) + '@typescript-eslint/utils': 8.33.1(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3) + debug: 4.4.3(supports-color@8.1.1) + eslint: 9.27.0(jiti@2.6.1) ts-api-utils: 2.1.0(typescript@5.8.3) typescript: 5.8.3 transitivePeerDependencies: @@ -35762,16 +36463,16 @@ snapshots: '@typescript-eslint/types@8.33.1': {} - '@typescript-eslint/types@8.39.0': {} + '@typescript-eslint/types@8.46.3': {} '@typescript-eslint/typescript-estree@2.34.0(typescript@3.9.10)': dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) eslint-visitor-keys: 1.3.0 glob: 7.2.3 is-glob: 4.0.3 lodash: 4.17.21 - semver: 7.7.2 + semver: 7.7.3 tsutils: 3.21.0(typescript@3.9.10) optionalDependencies: typescript: 3.9.10 @@ -35782,10 +36483,10 @@ snapshots: dependencies: '@typescript-eslint/types': 5.48.2 '@typescript-eslint/visitor-keys': 5.48.2 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 - semver: 7.7.2 + semver: 7.7.3 tsutils: 3.21.0(typescript@5.8.3) optionalDependencies: typescript: 5.8.3 @@ -35796,11 +36497,11 @@ snapshots: dependencies: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.3 - semver: 7.7.2 + semver: 7.7.3 ts-api-utils: 1.4.3(typescript@5.8.3) optionalDependencies: typescript: 5.8.3 @@ -35811,11 +36512,11 @@ snapshots: dependencies: '@typescript-eslint/types': 7.18.0 '@typescript-eslint/visitor-keys': 7.18.0 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.5 - semver: 7.7.2 + semver: 7.7.3 ts-api-utils: 1.4.3(typescript@5.8.3) optionalDependencies: typescript: 5.8.3 @@ -35826,11 +36527,11 @@ snapshots: dependencies: '@typescript-eslint/types': 8.32.1 '@typescript-eslint/visitor-keys': 8.32.1 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) fast-glob: 3.3.3 is-glob: 4.0.3 minimatch: 9.0.5 - semver: 7.7.2 + semver: 7.7.3 ts-api-utils: 2.1.0(typescript@5.8.3) typescript: 5.8.3 transitivePeerDependencies: @@ -35842,27 +36543,27 @@ snapshots: '@typescript-eslint/tsconfig-utils': 8.33.1(typescript@5.8.3) '@typescript-eslint/types': 8.33.1 '@typescript-eslint/visitor-keys': 8.33.1 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) fast-glob: 3.3.3 is-glob: 4.0.3 minimatch: 9.0.5 - semver: 7.7.2 + semver: 7.7.3 ts-api-utils: 2.1.0(typescript@5.8.3) typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@8.39.0(typescript@5.8.3)': + '@typescript-eslint/typescript-estree@8.46.3(typescript@5.8.3)': dependencies: - '@typescript-eslint/project-service': 8.39.0(typescript@5.8.3) - '@typescript-eslint/tsconfig-utils': 8.39.0(typescript@5.8.3) - '@typescript-eslint/types': 8.39.0 - '@typescript-eslint/visitor-keys': 8.39.0 - debug: 4.4.1(supports-color@8.1.1) + '@typescript-eslint/project-service': 8.46.3(typescript@5.8.3) + '@typescript-eslint/tsconfig-utils': 8.46.3(typescript@5.8.3) + '@typescript-eslint/types': 8.46.3 + '@typescript-eslint/visitor-keys': 8.46.3 + debug: 4.4.3(supports-color@8.1.1) fast-glob: 3.3.3 is-glob: 4.0.3 minimatch: 9.0.5 - semver: 7.7.2 + semver: 7.7.3 ts-api-utils: 2.1.0(typescript@5.8.3) typescript: 5.8.3 transitivePeerDependencies: @@ -35871,35 +36572,35 @@ snapshots: '@typescript-eslint/utils@5.48.2(eslint@8.57.1)(typescript@5.8.3)': dependencies: '@types/json-schema': 7.0.15 - '@types/semver': 7.7.0 + '@types/semver': 7.7.1 '@typescript-eslint/scope-manager': 5.48.2 '@typescript-eslint/types': 5.48.2 '@typescript-eslint/typescript-estree': 5.48.2(typescript@5.8.3) eslint: 8.57.1 eslint-scope: 5.1.1 eslint-utils: 3.0.0(eslint@8.57.1) - semver: 7.7.2 + semver: 7.7.3 transitivePeerDependencies: - supports-color - typescript '@typescript-eslint/utils@6.21.0(eslint@8.57.1)(typescript@5.8.3)': dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@8.57.1) + '@eslint-community/eslint-utils': 4.9.0(eslint@8.57.1) '@types/json-schema': 7.0.15 - '@types/semver': 7.7.0 + '@types/semver': 7.7.1 '@typescript-eslint/scope-manager': 6.21.0 '@typescript-eslint/types': 6.21.0 '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.8.3) eslint: 8.57.1 - semver: 7.7.2 + semver: 7.7.3 transitivePeerDependencies: - supports-color - typescript '@typescript-eslint/utils@7.18.0(eslint@8.57.1)(typescript@5.8.3)': dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@8.57.1) + '@eslint-community/eslint-utils': 4.9.0(eslint@8.57.1) '@typescript-eslint/scope-manager': 7.18.0 '@typescript-eslint/types': 7.18.0 '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.8.3) @@ -35908,45 +36609,45 @@ snapshots: - supports-color - typescript - '@typescript-eslint/utils@8.32.1(eslint@9.26.0(jiti@2.5.1))(typescript@5.8.3)': + '@typescript-eslint/utils@8.32.1(eslint@9.26.0(jiti@2.6.1))(typescript@5.8.3)': dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.26.0(jiti@2.5.1)) + '@eslint-community/eslint-utils': 4.9.0(eslint@9.26.0(jiti@2.6.1)) '@typescript-eslint/scope-manager': 8.32.1 '@typescript-eslint/types': 8.32.1 '@typescript-eslint/typescript-estree': 8.32.1(typescript@5.8.3) - eslint: 9.26.0(jiti@2.5.1) + eslint: 9.26.0(jiti@2.6.1) typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.32.1(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3)': + '@typescript-eslint/utils@8.32.1(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3)': dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.27.0(jiti@2.5.1)) + '@eslint-community/eslint-utils': 4.9.0(eslint@9.27.0(jiti@2.6.1)) '@typescript-eslint/scope-manager': 8.32.1 '@typescript-eslint/types': 8.32.1 '@typescript-eslint/typescript-estree': 8.32.1(typescript@5.8.3) - eslint: 9.27.0(jiti@2.5.1) + eslint: 9.27.0(jiti@2.6.1) typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.33.1(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3)': + '@typescript-eslint/utils@8.33.1(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3)': dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.27.0(jiti@2.5.1)) + '@eslint-community/eslint-utils': 4.9.0(eslint@9.27.0(jiti@2.6.1)) '@typescript-eslint/scope-manager': 8.33.1 '@typescript-eslint/types': 8.33.1 '@typescript-eslint/typescript-estree': 8.33.1(typescript@5.8.3) - eslint: 9.27.0(jiti@2.5.1) + eslint: 9.27.0(jiti@2.6.1) typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.39.0(eslint@8.57.1)(typescript@5.8.3)': + '@typescript-eslint/utils@8.46.3(eslint@8.57.1)(typescript@5.8.3)': dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@8.57.1) - '@typescript-eslint/scope-manager': 8.39.0 - '@typescript-eslint/types': 8.39.0 - '@typescript-eslint/typescript-estree': 8.39.0(typescript@5.8.3) + '@eslint-community/eslint-utils': 4.9.0(eslint@8.57.1) + '@typescript-eslint/scope-manager': 8.46.3 + '@typescript-eslint/types': 8.46.3 + '@typescript-eslint/typescript-estree': 8.46.3(typescript@5.8.3) eslint: 8.57.1 typescript: 5.8.3 transitivePeerDependencies: @@ -35977,12 +36678,12 @@ snapshots: '@typescript-eslint/types': 8.33.1 eslint-visitor-keys: 4.2.1 - '@typescript-eslint/visitor-keys@8.39.0': + '@typescript-eslint/visitor-keys@8.46.3': dependencies: - '@typescript-eslint/types': 8.39.0 + '@typescript-eslint/types': 8.46.3 eslint-visitor-keys: 4.2.1 - '@typespec/ts-http-runtime@0.3.0': + '@typespec/ts-http-runtime@0.3.1': dependencies: http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 @@ -35992,21 +36693,21 @@ snapshots: '@uiw/codemirror-extensions-basic-setup@4.23.14(@codemirror/lint@6.8.5)': dependencies: - '@codemirror/autocomplete': 6.18.6 - '@codemirror/commands': 6.8.1 - '@codemirror/language': 6.11.2 + '@codemirror/autocomplete': 6.19.1 + '@codemirror/commands': 6.10.0 + '@codemirror/language': 6.11.3 '@codemirror/lint': 6.8.5 '@codemirror/search': 6.5.11 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.38.1 + '@codemirror/view': 6.38.6 - '@uiw/react-codemirror@4.23.14(@codemirror/lint@6.8.5)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.38.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@uiw/react-codemirror@4.23.14(@codemirror/lint@6.8.5)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.38.6)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@babel/runtime': 7.28.2 - '@codemirror/commands': 6.8.1 + '@babel/runtime': 7.28.4 + '@codemirror/commands': 6.10.0 '@codemirror/state': 6.5.2 '@codemirror/theme-one-dark': 6.1.3 - '@codemirror/view': 6.38.1 + '@codemirror/view': 6.38.6 '@uiw/codemirror-extensions-basic-setup': 4.23.14(@codemirror/lint@6.8.5) codemirror: 6.0.2 react: 18.2.0 @@ -36016,26 +36717,28 @@ snapshots: '@ungap/structured-clone@1.3.0': {} + '@vercel/oidc@3.0.3': {} + '@vitest/expect@2.0.5': dependencies: '@vitest/spy': 2.0.5 '@vitest/utils': 2.0.5 - chai: 5.2.1 + chai: 5.3.3 tinyrainbow: 1.2.0 '@vitest/expect@3.2.4': dependencies: - '@types/chai': 5.2.2 + '@types/chai': 5.2.3 '@vitest/spy': 3.2.4 '@vitest/utils': 3.2.4 - chai: 5.2.1 + chai: 5.3.3 tinyrainbow: 2.0.0 '@vitest/mocker@3.2.4': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 - magic-string: 0.30.17 + magic-string: 0.30.21 '@vitest/pretty-format@2.0.5': dependencies: @@ -36055,25 +36758,25 @@ snapshots: '@vitest/spy@3.2.4': dependencies: - tinyspy: 4.0.3 + tinyspy: 4.0.4 '@vitest/utils@2.0.5': dependencies: '@vitest/pretty-format': 2.0.5 estree-walker: 3.0.3 - loupe: 3.2.0 + loupe: 3.2.1 tinyrainbow: 1.2.0 '@vitest/utils@2.1.9': dependencies: '@vitest/pretty-format': 2.1.9 - loupe: 3.2.0 + loupe: 3.2.1 tinyrainbow: 1.2.0 '@vitest/utils@3.2.4': dependencies: '@vitest/pretty-format': 3.2.4 - loupe: 3.2.0 + loupe: 3.2.1 tinyrainbow: 2.0.0 '@vscode-logging/logger@2.0.0': @@ -36105,13 +36808,13 @@ snapshots: '@vscode/extension-telemetry@1.0.0(tslib@2.8.1)': dependencies: - '@microsoft/1ds-core-js': 4.3.9(tslib@2.8.1) - '@microsoft/1ds-post-js': 4.3.9(tslib@2.8.1) - '@microsoft/applicationinsights-web-basic': 3.3.9(tslib@2.8.1) + '@microsoft/1ds-core-js': 4.3.10(tslib@2.8.1) + '@microsoft/1ds-post-js': 4.3.10(tslib@2.8.1) + '@microsoft/applicationinsights-web-basic': 3.3.10(tslib@2.8.1) transitivePeerDependencies: - tslib - '@vscode/iconv-lite-umd@0.7.0': {} + '@vscode/iconv-lite-umd@0.7.1': {} '@vscode/test-electron@2.5.2': dependencies: @@ -36119,48 +36822,48 @@ snapshots: https-proxy-agent: 7.0.6 jszip: 3.10.1 ora: 8.2.0 - semver: 7.7.2 + semver: 7.7.3 transitivePeerDependencies: - supports-color - '@vscode/vsce-sign-alpine-arm64@2.0.5': + '@vscode/vsce-sign-alpine-arm64@2.0.6': optional: true - '@vscode/vsce-sign-alpine-x64@2.0.5': + '@vscode/vsce-sign-alpine-x64@2.0.6': optional: true - '@vscode/vsce-sign-darwin-arm64@2.0.5': + '@vscode/vsce-sign-darwin-arm64@2.0.2': optional: true - '@vscode/vsce-sign-darwin-x64@2.0.5': + '@vscode/vsce-sign-darwin-x64@2.0.2': optional: true - '@vscode/vsce-sign-linux-arm64@2.0.5': + '@vscode/vsce-sign-linux-arm64@2.0.6': optional: true - '@vscode/vsce-sign-linux-arm@2.0.5': + '@vscode/vsce-sign-linux-arm@2.0.6': optional: true - '@vscode/vsce-sign-linux-x64@2.0.5': + '@vscode/vsce-sign-linux-x64@2.0.6': optional: true - '@vscode/vsce-sign-win32-arm64@2.0.5': + '@vscode/vsce-sign-win32-arm64@2.0.6': optional: true - '@vscode/vsce-sign-win32-x64@2.0.5': + '@vscode/vsce-sign-win32-x64@2.0.6': optional: true - '@vscode/vsce-sign@2.0.6': + '@vscode/vsce-sign@2.0.8': optionalDependencies: - '@vscode/vsce-sign-alpine-arm64': 2.0.5 - '@vscode/vsce-sign-alpine-x64': 2.0.5 - '@vscode/vsce-sign-darwin-arm64': 2.0.5 - '@vscode/vsce-sign-darwin-x64': 2.0.5 - '@vscode/vsce-sign-linux-arm': 2.0.5 - '@vscode/vsce-sign-linux-arm64': 2.0.5 - '@vscode/vsce-sign-linux-x64': 2.0.5 - '@vscode/vsce-sign-win32-arm64': 2.0.5 - '@vscode/vsce-sign-win32-x64': 2.0.5 + '@vscode/vsce-sign-alpine-arm64': 2.0.6 + '@vscode/vsce-sign-alpine-x64': 2.0.6 + '@vscode/vsce-sign-darwin-arm64': 2.0.2 + '@vscode/vsce-sign-darwin-x64': 2.0.2 + '@vscode/vsce-sign-linux-arm': 2.0.6 + '@vscode/vsce-sign-linux-arm64': 2.0.6 + '@vscode/vsce-sign-linux-x64': 2.0.6 + '@vscode/vsce-sign-win32-arm64': 2.0.6 + '@vscode/vsce-sign-win32-x64': 2.0.6 '@vscode/vsce@2.21.1': dependencies: @@ -36177,8 +36880,8 @@ snapshots: minimatch: 3.1.2 parse-semver: 1.1.1 read: 1.0.7 - semver: 7.7.2 - tmp: 0.2.4 + semver: 7.7.3 + tmp: 0.2.5 typed-rest-client: 1.8.11 url-join: 4.0.1 xml2js: 0.5.0 @@ -36187,13 +36890,14 @@ snapshots: optionalDependencies: keytar: 7.9.0 transitivePeerDependencies: + - bare-abort-controller - bare-buffer - react-native-b4a '@vscode/vsce@2.32.0': dependencies: - '@azure/identity': 4.11.1 - '@vscode/vsce-sign': 2.0.6 + '@azure/identity': 4.13.0 + '@vscode/vsce-sign': 2.0.8 azure-devops-node-api: 12.5.0 chalk: 2.4.2 cheerio: 1.1.2 @@ -36209,8 +36913,8 @@ snapshots: minimatch: 3.1.2 parse-semver: 1.1.1 read: 1.0.7 - semver: 7.7.2 - tmp: 0.2.4 + semver: 7.7.3 + tmp: 0.2.5 typed-rest-client: 1.8.11 url-join: 4.0.1 xml2js: 0.5.0 @@ -36219,18 +36923,19 @@ snapshots: optionalDependencies: keytar: 7.9.0 transitivePeerDependencies: + - bare-abort-controller - bare-buffer - react-native-b4a - supports-color '@vscode/vsce@3.4.2': dependencies: - '@azure/identity': 4.11.1 + '@azure/identity': 4.13.0 '@secretlint/node': 9.3.4 '@secretlint/secretlint-formatter-sarif': 9.3.4 '@secretlint/secretlint-rule-no-dotenv': 9.3.4 '@secretlint/secretlint-rule-preset-recommend': 9.3.4 - '@vscode/vsce-sign': 2.0.6 + '@vscode/vsce-sign': 2.0.8 azure-devops-node-api: 12.5.0 chalk: 2.4.2 cheerio: 1.1.2 @@ -36247,8 +36952,8 @@ snapshots: parse-semver: 1.1.1 read: 1.0.7 secretlint: 9.3.4 - semver: 7.7.2 - tmp: 0.2.4 + semver: 7.7.3 + tmp: 0.2.5 typed-rest-client: 1.8.11 url-join: 4.0.1 xml2js: 0.5.0 @@ -36257,6 +36962,7 @@ snapshots: optionalDependencies: keytar: 7.9.0 transitivePeerDependencies: + - bare-abort-controller - bare-buffer - react-native-b4a - supports-color @@ -36353,81 +37059,81 @@ snapshots: '@webassemblyjs/ast': 1.14.1 '@xtuc/long': 4.2.2 - '@webpack-cli/configtest@1.2.0(webpack-cli@4.10.0)(webpack@5.101.0)': + '@webpack-cli/configtest@1.2.0(webpack-cli@4.10.0)(webpack@5.102.1)': dependencies: - webpack: 5.101.0(webpack-cli@4.10.0) - webpack-cli: 4.10.0(webpack-dev-server@5.2.2)(webpack@5.101.0) + webpack: 5.102.1(webpack-cli@4.10.0) + webpack-cli: 4.10.0(webpack-dev-server@5.2.2)(webpack@5.102.1) - '@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4)(webpack@5.101.0)': + '@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4)(webpack@5.102.1)': dependencies: - webpack: 5.101.0(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack@5.101.0) + webpack: 5.102.1(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack@5.102.1) - '@webpack-cli/configtest@3.0.1(webpack-cli@6.0.1)(webpack@5.101.0)': + '@webpack-cli/configtest@3.0.1(webpack-cli@6.0.1)(webpack@5.102.1)': dependencies: - webpack: 5.101.0(webpack-cli@6.0.1) - webpack-cli: 6.0.1(webpack@5.101.0) + webpack: 5.102.1(webpack-cli@6.0.1) + webpack-cli: 6.0.1(webpack@5.102.1) '@webpack-cli/info@1.5.0(webpack-cli@4.10.0)': dependencies: - envinfo: 7.14.0 - webpack-cli: 4.10.0(webpack-dev-server@5.2.2)(webpack@5.101.0) + envinfo: 7.20.0 + webpack-cli: 4.10.0(webpack-dev-server@5.2.2)(webpack@5.102.1) - '@webpack-cli/info@2.0.2(webpack-cli@5.1.4)(webpack@5.101.0)': + '@webpack-cli/info@2.0.2(webpack-cli@5.1.4)(webpack@5.102.1)': dependencies: - webpack: 5.101.0(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack@5.101.0) + webpack: 5.102.1(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack@5.102.1) - '@webpack-cli/info@3.0.1(webpack-cli@6.0.1)(webpack@5.101.0)': + '@webpack-cli/info@3.0.1(webpack-cli@6.0.1)(webpack@5.102.1)': dependencies: - webpack: 5.101.0(webpack-cli@6.0.1) - webpack-cli: 6.0.1(webpack@5.101.0) + webpack: 5.102.1(webpack-cli@6.0.1) + webpack-cli: 6.0.1(webpack@5.102.1) '@webpack-cli/serve@1.7.0(webpack-cli@4.10.0)': dependencies: - webpack-cli: 4.10.0(webpack@5.101.0) + webpack-cli: 4.10.0(webpack@5.102.1) '@webpack-cli/serve@1.7.0(webpack-cli@4.10.0)(webpack-dev-server@5.2.2)': dependencies: - webpack-cli: 4.10.0(webpack-dev-server@5.2.2)(webpack@5.101.0) + webpack-cli: 4.10.0(webpack-dev-server@5.2.2)(webpack@5.102.1) optionalDependencies: - webpack-dev-server: 5.2.2(webpack-cli@4.10.0)(webpack@5.101.0) + webpack-dev-server: 5.2.2(webpack-cli@4.10.0)(webpack@5.102.1) - '@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack-dev-server@5.2.2)(webpack@5.101.0)': + '@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack-dev-server@5.2.2)(webpack@5.102.1)': dependencies: - webpack: 5.101.0(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-dev-server@5.2.2)(webpack@5.101.0) + webpack: 5.102.1(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-dev-server@5.2.2)(webpack@5.102.1) optionalDependencies: - webpack-dev-server: 5.2.2(webpack-cli@5.1.4)(webpack@5.101.0) + webpack-dev-server: 5.2.2(webpack-cli@5.1.4)(webpack@5.102.1) - '@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack@5.101.0)': + '@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack@5.102.1)': dependencies: - webpack: 5.101.0(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack@5.101.0) + webpack: 5.102.1(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack@5.102.1) - '@webpack-cli/serve@3.0.1(webpack-cli@6.0.1)(webpack-dev-server@5.2.2)(webpack@5.101.0)': + '@webpack-cli/serve@3.0.1(webpack-cli@6.0.1)(webpack-dev-server@5.2.2)(webpack@5.102.1)': dependencies: - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) - webpack-cli: 6.0.1(webpack-dev-server@5.2.2)(webpack@5.101.0) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + webpack-cli: 6.0.1(webpack-dev-server@5.2.2)(webpack@5.102.1) optionalDependencies: - webpack-dev-server: 5.2.2(webpack-cli@6.0.1)(webpack@5.101.0) + webpack-dev-server: 5.2.2(webpack-cli@6.0.1)(webpack@5.102.1) - '@webpack-cli/serve@3.0.1(webpack-cli@6.0.1)(webpack@5.101.0)': + '@webpack-cli/serve@3.0.1(webpack-cli@6.0.1)(webpack@5.102.1)': dependencies: - webpack: 5.101.0(webpack-cli@6.0.1) - webpack-cli: 6.0.1(webpack@5.101.0) + webpack: 5.102.1(webpack-cli@6.0.1) + webpack-cli: 6.0.1(webpack@5.102.1) '@xmldom/xmldom@0.7.13': {} - '@xmldom/xmldom@0.8.10': {} + '@xmldom/xmldom@0.8.11': {} '@xtuc/ieee754@1.2.0': {} '@xtuc/long@4.2.2': {} - '@yarnpkg/esbuild-plugin-pnp@3.0.0-rc.15(esbuild@0.25.8)': + '@yarnpkg/esbuild-plugin-pnp@3.0.0-rc.15(esbuild@0.25.12)': dependencies: - esbuild: 0.25.8 + esbuild: 0.25.12 tslib: 2.8.1 '@yarnpkg/fslib@2.10.3': @@ -36437,7 +37143,7 @@ snapshots: '@yarnpkg/libzip@2.3.0': dependencies: - '@types/emscripten': 1.40.1 + '@types/emscripten': 1.41.5 tslib: 1.14.1 abab@1.0.4: {} @@ -36516,7 +37222,7 @@ snapshots: agent-base@6.0.2: dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -36536,11 +37242,11 @@ snapshots: clean-stack: 4.2.0 indent-string: 5.0.0 - ai@5.0.59(zod@4.1.11): + ai@5.0.87(zod@4.1.11): dependencies: - '@ai-sdk/gateway': 1.0.32(zod@4.1.11) + '@ai-sdk/gateway': 2.0.6(zod@4.1.11) '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.10(zod@4.1.11) + '@ai-sdk/provider-utils': 3.0.16(zod@4.1.11) '@opentelemetry/api': 1.9.0 zod: 4.1.11 @@ -36598,7 +37304,7 @@ snapshots: ajv@8.17.1: dependencies: fast-deep-equal: 3.1.3 - fast-uri: 3.0.6 + fast-uri: 3.1.0 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 @@ -36635,7 +37341,7 @@ snapshots: dependencies: type-fest: 0.21.3 - ansi-escapes@7.0.0: + ansi-escapes@7.1.1: dependencies: environment: 1.1.0 @@ -36651,7 +37357,7 @@ snapshots: ansi-regex@5.0.1: {} - ansi-regex@6.1.0: {} + ansi-regex@6.2.2: {} ansi-styles@2.2.1: {} @@ -36665,7 +37371,7 @@ snapshots: ansi-styles@5.2.0: {} - ansi-styles@6.2.1: {} + ansi-styles@6.2.3: {} ansi-to-html@0.6.15: dependencies: @@ -36925,8 +37631,8 @@ snapshots: autoprefixer@10.4.21(postcss@8.5.6): dependencies: - browserslist: 4.25.1 - caniuse-lite: 1.0.30001731 + browserslist: 4.27.0 + caniuse-lite: 1.0.30001753 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.1.1 @@ -36936,7 +37642,7 @@ snapshots: autoprefixer@6.7.7: dependencies: browserslist: 1.7.7 - caniuse-db: 1.0.30001731 + caniuse-db: 1.0.30001753 normalize-range: 0.1.2 num2fraction: 1.2.2 postcss: 5.2.18 @@ -36945,7 +37651,7 @@ snapshots: autoprefixer@7.1.6: dependencies: browserslist: 2.11.3 - caniuse-lite: 1.0.30001731 + caniuse-lite: 1.0.30001753 normalize-range: 0.1.2 num2fraction: 1.2.2 postcss: 6.0.23 @@ -36953,8 +37659,8 @@ snapshots: autoprefixer@9.8.8: dependencies: - browserslist: 4.25.1 - caniuse-lite: 1.0.30001731 + browserslist: 4.27.0 + caniuse-lite: 1.0.30001753 normalize-range: 0.1.2 num2fraction: 1.2.2 picocolors: 0.2.1 @@ -36973,9 +37679,9 @@ snapshots: aws4fetch@1.0.20: {} - axe-core@4.10.3: {} + axe-core@4.11.0: {} - axios@1.12.0: + axios@1.12.2: dependencies: follow-redirects: 1.15.11 form-data: 4.0.4 @@ -37029,15 +37735,19 @@ snapshots: dependencies: '@babel/core': 7.27.7 + babel-core@7.0.0-bridge.0(@babel/core@7.28.5): + dependencies: + '@babel/core': 7.28.5 + babel-eslint@10.1.0(eslint@6.8.0): dependencies: '@babel/code-frame': 7.27.1 - '@babel/parser': 7.28.0 - '@babel/traverse': 7.28.0 - '@babel/types': 7.28.2 + '@babel/parser': 7.28.5 + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 eslint: 6.8.0 eslint-visitor-keys: 1.3.0 - resolve: 1.22.10 + resolve: 1.22.11 transitivePeerDependencies: - supports-color @@ -37168,51 +37878,59 @@ snapshots: transitivePeerDependencies: - supports-color - babel-loader@10.0.0(@babel/core@7.27.7)(webpack@5.101.0): + babel-loader@10.0.0(@babel/core@7.27.7)(webpack@5.102.1): dependencies: '@babel/core': 7.27.7 find-up: 5.0.0 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1) - babel-loader@7.1.2(babel-core@7.0.0-bridge.0(@babel/core@7.27.7))(webpack@5.101.0): + babel-loader@7.1.2(babel-core@7.0.0-bridge.0(@babel/core@7.27.7))(webpack@5.102.1): dependencies: babel-core: 7.0.0-bridge.0(@babel/core@7.27.7) find-cache-dir: 1.0.0 loader-utils: 1.4.2 mkdirp: 0.5.6 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1) - babel-loader@8.4.1(@babel/core@7.27.7)(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))): + babel-loader@7.1.2(babel-core@7.0.0-bridge.0(@babel/core@7.28.5))(webpack@5.102.1): + dependencies: + babel-core: 7.0.0-bridge.0(@babel/core@7.28.5) + find-cache-dir: 1.0.0 + loader-utils: 1.4.2 + mkdirp: 0.5.6 + webpack: 5.102.1(webpack-cli@4.10.0) + + babel-loader@8.4.1(@babel/core@7.27.7)(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))): dependencies: '@babel/core': 7.27.7 find-cache-dir: 3.3.2 loader-utils: 2.0.4 make-dir: 3.1.0 schema-utils: 2.7.1 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17)) - babel-loader@8.4.1(@babel/core@7.27.7)(webpack@5.101.0): + babel-loader@8.4.1(@babel/core@7.27.7)(webpack@5.102.1): dependencies: '@babel/core': 7.27.7 find-cache-dir: 3.3.2 loader-utils: 2.0.4 make-dir: 3.1.0 schema-utils: 2.7.1 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1) - babel-loader@9.2.1(@babel/core@7.27.7)(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))): + babel-loader@9.2.1(@babel/core@7.27.7)(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))): dependencies: '@babel/core': 7.27.7 find-cache-dir: 4.0.0 - schema-utils: 4.3.2 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) + schema-utils: 4.3.3 + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17)) - babel-loader@9.2.1(@babel/core@7.27.7)(webpack@5.101.0): + babel-loader@9.2.1(@babel/core@7.27.7)(webpack@5.102.1): dependencies: '@babel/core': 7.27.7 find-cache-dir: 4.0.0 - schema-utils: 4.3.2 - webpack: 5.101.0(webpack-cli@5.1.4) + schema-utils: 4.3.3 + webpack: 5.102.1(webpack-cli@5.1.4) babel-messages@6.23.0: dependencies: @@ -37272,44 +37990,54 @@ snapshots: babel-plugin-jest-hoist@25.5.0: dependencies: '@babel/template': 7.27.2 - '@babel/types': 7.28.2 + '@babel/types': 7.28.5 '@types/babel__traverse': 7.28.0 babel-plugin-jest-hoist@29.6.3: dependencies: '@babel/template': 7.27.2 - '@babel/types': 7.28.2 + '@babel/types': 7.28.5 '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.28.0 babel-plugin-macros@2.8.0: dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 cosmiconfig: 6.0.0 - resolve: 1.22.10 + resolve: 1.22.11 babel-plugin-macros@3.1.0: dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 cosmiconfig: 7.1.0 - resolve: 1.22.10 + resolve: 1.22.11 babel-plugin-named-exports-order@0.0.2: {} babel-plugin-polyfill-corejs2@0.4.14(@babel/core@7.27.7): dependencies: - '@babel/compat-data': 7.28.0 + '@babel/compat-data': 7.28.5 '@babel/core': 7.27.7 '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.27.7) semver: 6.3.1 transitivePeerDependencies: - supports-color + babel-plugin-polyfill-corejs2@0.4.14(@babel/core@7.28.5): + dependencies: + '@babel/compat-data': 7.28.5 + '@babel/core': 7.28.5 + '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.5) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + optional: true + babel-plugin-polyfill-corejs3@0.1.7(@babel/core@7.27.7): dependencies: '@babel/core': 7.27.7 '@babel/helper-define-polyfill-provider': 0.1.5(@babel/core@7.27.7) - core-js-compat: 3.45.0 + core-js-compat: 3.46.0 transitivePeerDependencies: - supports-color @@ -37317,9 +38045,18 @@ snapshots: dependencies: '@babel/core': 7.27.7 '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.27.7) - core-js-compat: 3.45.0 + core-js-compat: 3.46.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-corejs3@0.11.1(@babel/core@7.28.5): + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.5) + core-js-compat: 3.46.0 transitivePeerDependencies: - supports-color + optional: true babel-plugin-polyfill-regenerator@0.0.4(@babel/core@7.27.7): dependencies: @@ -37335,6 +38072,14 @@ snapshots: transitivePeerDependencies: - supports-color + babel-plugin-polyfill-regenerator@0.6.5(@babel/core@7.28.5): + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.5) + transitivePeerDependencies: + - supports-color + optional: true + babel-plugin-react-docgen@4.2.1: dependencies: ast-types: 0.14.2 @@ -37723,16 +38468,17 @@ snapshots: balanced-match@2.0.0: {} - bare-events@2.7.0: {} + bare-events@2.8.1: {} - bare-fs@4.4.4: + bare-fs@4.5.0: dependencies: - bare-events: 2.7.0 + bare-events: 2.8.1 bare-path: 3.0.0 - bare-stream: 2.7.0(bare-events@2.7.0) - bare-url: 2.2.2 + bare-stream: 2.7.0(bare-events@2.8.1) + bare-url: 2.3.2 fast-fifo: 1.3.2 transitivePeerDependencies: + - bare-abort-controller - react-native-b4a optional: true @@ -37744,16 +38490,17 @@ snapshots: bare-os: 3.6.2 optional: true - bare-stream@2.7.0(bare-events@2.7.0): + bare-stream@2.7.0(bare-events@2.8.1): dependencies: streamx: 2.23.0 optionalDependencies: - bare-events: 2.7.0 + bare-events: 2.8.1 transitivePeerDependencies: + - bare-abort-controller - react-native-b4a optional: true - bare-url@2.2.2: + bare-url@2.3.2: dependencies: bare-path: 3.0.0 optional: true @@ -37762,6 +38509,8 @@ snapshots: base64-js@1.5.1: {} + baseline-browser-mapping@2.8.23: {} + basic-auth@2.0.1: dependencies: safe-buffer: 5.1.2 @@ -37797,7 +38546,7 @@ snapshots: binaryextensions@6.11.0: dependencies: - editions: 6.21.0 + editions: 6.22.0 bindings@1.5.0: dependencies: @@ -37838,12 +38587,12 @@ snapshots: dependencies: bytes: 3.1.2 content-type: 1.0.5 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) http-errors: 2.0.0 iconv-lite: 0.6.3 on-finished: 2.4.1 qs: 6.14.0 - raw-body: 3.0.0 + raw-body: 3.0.1 type-is: 2.0.1 transitivePeerDependencies: - supports-color @@ -37857,7 +38606,7 @@ snapshots: boundary@2.0.0: {} - bowser@2.11.0: {} + bowser@2.12.1: {} boxen@1.3.0: dependencies: @@ -37913,20 +38662,21 @@ snapshots: browserslist@1.7.7: dependencies: - caniuse-db: 1.0.30001731 - electron-to-chromium: 1.5.198 + caniuse-db: 1.0.30001753 + electron-to-chromium: 1.5.244 browserslist@2.11.3: dependencies: - caniuse-lite: 1.0.30001731 - electron-to-chromium: 1.5.198 + caniuse-lite: 1.0.30001753 + electron-to-chromium: 1.5.244 - browserslist@4.25.1: + browserslist@4.27.0: dependencies: - caniuse-lite: 1.0.30001731 - electron-to-chromium: 1.5.198 - node-releases: 2.0.19 - update-browserslist-db: 1.1.3(browserslist@4.25.1) + baseline-browser-mapping: 2.8.23 + caniuse-lite: 1.0.30001753 + electron-to-chromium: 1.5.244 + node-releases: 2.0.27 + update-browserslist-db: 1.1.4(browserslist@4.27.0) bs-logger@0.2.6: dependencies: @@ -37974,7 +38724,7 @@ snapshots: bundle-name@4.1.0: dependencies: - run-applescript: 7.0.0 + run-applescript: 7.1.0 byline@5.0.0: {} @@ -37992,7 +38742,7 @@ snapshots: foreground-child: 3.3.1 istanbul-lib-coverage: 3.2.2 istanbul-lib-report: 3.0.1 - istanbul-reports: 3.1.7 + istanbul-reports: 3.2.0 test-exclude: 7.0.1 v8-to-istanbul: 9.3.0 yargs: 17.7.2 @@ -38006,7 +38756,7 @@ snapshots: foreground-child: 2.0.0 istanbul-lib-coverage: 3.2.2 istanbul-lib-report: 3.0.1 - istanbul-reports: 3.1.7 + istanbul-reports: 3.2.0 rimraf: 3.0.2 test-exclude: 6.0.0 v8-to-istanbul: 9.3.0 @@ -38080,7 +38830,7 @@ snapshots: http-cache-semantics: 4.2.0 keyv: 4.5.4 mimic-response: 4.0.0 - normalize-url: 8.0.2 + normalize-url: 8.1.0 responselike: 3.0.0 cacheable-request@12.0.1: @@ -38090,13 +38840,17 @@ snapshots: http-cache-semantics: 4.2.0 keyv: 4.5.4 mimic-response: 4.0.0 - normalize-url: 8.0.2 + normalize-url: 8.1.0 responselike: 3.0.0 - cacheable@1.10.3: + cacheable@2.1.1: dependencies: - hookified: 1.11.0 - keyv: 5.5.0 + '@cacheable/memoize': 2.0.3 + '@cacheable/memory': 2.0.4 + '@cacheable/utils': 2.2.0 + hookified: 1.12.2 + keyv: 5.5.3 + qified: 0.5.1 call-bind-apply-helpers@1.0.2: dependencies: @@ -38160,26 +38914,27 @@ snapshots: caniuse-api@1.6.1: dependencies: browserslist: 1.7.7 - caniuse-db: 1.0.30001731 + caniuse-db: 1.0.30001753 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 caniuse-api@3.0.0: dependencies: - browserslist: 4.25.1 - caniuse-lite: 1.0.30001731 + browserslist: 4.27.0 + caniuse-lite: 1.0.30001753 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 - caniuse-db@1.0.30001731: {} + caniuse-db@1.0.30001753: {} - caniuse-lite@1.0.30001731: {} + caniuse-lite@1.0.30001753: {} - canvas@3.1.2: + canvas@3.2.0: dependencies: node-addon-api: 7.1.1 prebuild-install: 7.1.3 transitivePeerDependencies: + - bare-abort-controller - bare-buffer - react-native-b4a optional: true @@ -38216,12 +38971,12 @@ snapshots: pathval: 1.1.1 type-detect: 4.1.0 - chai@5.2.1: + chai@5.3.3: dependencies: assertion-error: 2.0.1 check-error: 2.1.1 deep-eql: 5.0.2 - loupe: 3.2.0 + loupe: 3.2.1 pathval: 2.0.1 chainsaw@0.1.0: @@ -38252,7 +39007,7 @@ snapshots: ansi-styles: 4.3.0 supports-color: 7.2.0 - chalk@5.5.0: {} + chalk@5.6.2: {} change-case@4.1.2: dependencies: @@ -38315,7 +39070,7 @@ snapshots: parse5: 7.3.0 parse5-htmlparser2-tree-adapter: 7.1.0 parse5-parser-stream: 7.1.2 - undici: 7.13.0 + undici: 7.16.0 whatwg-mimetype: 4.0.0 chokidar@1.7.0: @@ -38425,10 +39180,10 @@ snapshots: optionalDependencies: '@colors/colors': 1.5.0 - cli-truncate@4.0.0: + cli-truncate@5.1.1: dependencies: - slice-ansi: 5.0.0 - string-width: 7.2.0 + slice-ansi: 7.1.2 + string-width: 8.1.0 cli-width@2.2.1: {} @@ -38444,6 +39199,13 @@ snapshots: is-wsl: 3.1.0 is64bit: 2.0.0 + clipboardy@5.0.0: + dependencies: + execa: 9.6.0 + is-wayland: 0.1.0 + is-wsl: 3.1.0 + is64bit: 2.0.0 + cliui@3.2.0: dependencies: string-width: 1.0.2 @@ -38496,17 +39258,17 @@ snapshots: clsx@2.1.1: {} - cm6-theme-basic-light@0.2.0(@codemirror/language@6.11.2)(@codemirror/state@6.5.2)(@codemirror/view@6.38.1)(@lezer/highlight@1.2.1): + cm6-theme-basic-light@0.2.0(@codemirror/language@6.11.3)(@codemirror/state@6.5.2)(@codemirror/view@6.38.6)(@lezer/highlight@1.2.3): dependencies: - '@codemirror/language': 6.11.2 + '@codemirror/language': 6.11.3 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.38.1 - '@lezer/highlight': 1.2.1 + '@codemirror/view': 6.38.6 + '@lezer/highlight': 1.2.3 cmdk@1.1.1(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.2.0)(react@18.3.1) - '@radix-ui/react-dialog': 1.1.14(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-dialog': 1.1.15(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-id': 1.1.1(@types/react@18.2.0)(react@18.3.1) '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 @@ -38527,29 +39289,29 @@ snapshots: code-point-at@1.1.0: {} - codemirror-graphql@2.2.4(@codemirror/language@6.11.2)(codemirror@5.65.19)(graphql@16.11.0): + codemirror-graphql@2.2.4(@codemirror/language@6.11.3)(codemirror@5.65.20)(graphql@16.12.0): dependencies: - '@codemirror/language': 6.11.2 + '@codemirror/language': 6.11.3 '@types/codemirror': 0.0.90 - codemirror: 5.65.19 - graphql: 16.11.0 - graphql-language-service: 5.5.0(graphql@16.11.0) + codemirror: 5.65.20 + graphql: 16.12.0 + graphql-language-service: 5.5.0(graphql@16.12.0) - codemirror@5.65.19: {} + codemirror@5.65.20: {} codemirror@6.0.2: dependencies: - '@codemirror/autocomplete': 6.18.6 - '@codemirror/commands': 6.8.1 - '@codemirror/language': 6.11.2 + '@codemirror/autocomplete': 6.19.1 + '@codemirror/commands': 6.10.0 + '@codemirror/language': 6.11.3 '@codemirror/lint': 6.8.5 '@codemirror/search': 6.5.11 '@codemirror/state': 6.5.2 - '@codemirror/view': 6.38.1 + '@codemirror/view': 6.38.6 collapse-white-space@1.0.6: {} - collect-v8-coverage@1.0.2: {} + collect-v8-coverage@1.0.3: {} color-convert@1.9.3: dependencies: @@ -38559,18 +39321,23 @@ snapshots: dependencies: color-name: 1.1.4 + color-convert@3.1.2: + dependencies: + color-name: 2.0.2 + color-name@1.1.3: {} color-name@1.1.4: {} + color-name@2.0.2: {} + color-string@0.3.0: dependencies: color-name: 1.1.4 - color-string@1.9.1: + color-string@2.1.2: dependencies: - color-name: 1.1.4 - simple-swizzle: 0.2.2 + color-name: 2.0.2 color-support@1.1.3: {} @@ -38580,10 +39347,10 @@ snapshots: color-convert: 1.9.3 color-string: 0.3.0 - color@3.2.1: + color@5.0.2: dependencies: - color-convert: 1.9.3 - color-string: 1.9.1 + color-convert: 3.1.2 + color-string: 2.1.2 colord@2.9.3: {} @@ -38601,11 +39368,6 @@ snapshots: colors@1.4.0: {} - colorspace@1.1.4: - dependencies: - color: 3.2.1 - text-hex: 1.0.0 - combined-stream@1.0.8: dependencies: delayed-stream: 1.0.0 @@ -38622,7 +39384,7 @@ snapshots: commander@13.1.0: {} - commander@14.0.0: {} + commander@14.0.2: {} commander@2.13.0: {} @@ -38753,14 +39515,14 @@ snapshots: dependencies: toggle-selection: 1.0.6 - copy-webpack-plugin@13.0.0(webpack@5.101.0): + copy-webpack-plugin@13.0.1(webpack@5.102.1): dependencies: glob-parent: 6.0.2 normalize-path: 3.0.0 - schema-utils: 4.3.2 + schema-utils: 4.3.3 serialize-javascript: 6.0.2 - tinyglobby: 0.2.14 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + tinyglobby: 0.2.15 + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1) copyfiles@2.4.1: dependencies: @@ -38772,15 +39534,15 @@ snapshots: untildify: 4.0.0 yargs: 16.2.0 - core-js-compat@3.45.0: + core-js-compat@3.46.0: dependencies: - browserslist: 4.25.1 + browserslist: 4.27.0 - core-js-pure@3.45.0: {} + core-js-pure@3.46.0: {} core-js@2.6.12: {} - core-js@3.45.0: {} + core-js@3.46.0: {} core-util-is@1.0.2: {} @@ -38881,13 +39643,13 @@ snapshots: dependencies: capture-stack-trace: 1.0.2 - create-jest@29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)): + create-jest@29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.14.0(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)) + jest-config: 29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.14.0(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -38898,9 +39660,9 @@ snapshots: create-require@1.1.1: {} - create-storybook@9.1.1: + create-storybook@9.1.16: dependencies: - semver: 7.7.2 + semver: 7.7.3 crelt@1.0.6: {} @@ -38908,7 +39670,7 @@ snapshots: cron-parser@4.9.0: dependencies: - luxon: 3.7.1 + luxon: 3.7.2 cron-validator@1.3.1: {} @@ -38973,7 +39735,7 @@ snapshots: postcss-value-parser: 3.3.1 source-list-map: 2.0.1 - css-loader@3.6.0(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))): + css-loader@3.6.0(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))): dependencies: camelcase: 5.3.1 cssesc: 3.0.0 @@ -38988,9 +39750,9 @@ snapshots: postcss-value-parser: 4.2.0 schema-utils: 2.7.1 semver: 6.3.1 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17)) - css-loader@3.6.0(webpack@5.101.0): + css-loader@3.6.0(webpack@5.102.1): dependencies: camelcase: 5.3.1 cssesc: 3.0.0 @@ -39005,9 +39767,9 @@ snapshots: postcss-value-parser: 4.2.0 schema-utils: 2.7.1 semver: 6.3.1 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1) - css-loader@5.2.7(webpack@5.101.0): + css-loader@5.2.7(webpack@5.102.1): dependencies: icss-utils: 5.1.0(postcss@8.5.6) loader-utils: 2.0.4 @@ -39018,10 +39780,10 @@ snapshots: postcss-modules-values: 4.0.0(postcss@8.5.6) postcss-value-parser: 4.2.0 schema-utils: 3.3.0 - semver: 7.7.2 - webpack: 5.101.0(webpack-cli@5.1.4) + semver: 7.7.3 + webpack: 5.102.1(webpack-cli@5.1.4) - css-loader@6.11.0(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))): + css-loader@6.11.0(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))): dependencies: icss-utils: 5.1.0(postcss@8.5.6) postcss: 8.5.6 @@ -39030,11 +39792,11 @@ snapshots: postcss-modules-scope: 3.2.1(postcss@8.5.6) postcss-modules-values: 4.0.0(postcss@8.5.6) postcss-value-parser: 4.2.0 - semver: 7.7.2 + semver: 7.7.3 optionalDependencies: - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17)) - css-loader@6.11.0(webpack@5.101.0): + css-loader@6.11.0(webpack@5.102.1): dependencies: icss-utils: 5.1.0(postcss@8.5.6) postcss: 8.5.6 @@ -39043,11 +39805,11 @@ snapshots: postcss-modules-scope: 3.2.1(postcss@8.5.6) postcss-modules-values: 4.0.0(postcss@8.5.6) postcss-value-parser: 4.2.0 - semver: 7.7.2 + semver: 7.7.3 optionalDependencies: - webpack: 5.101.0(webpack-cli@5.1.4) + webpack: 5.102.1(webpack-cli@5.1.4) - css-loader@7.1.2(webpack@5.101.0): + css-loader@7.1.2(webpack@5.102.1): dependencies: icss-utils: 5.1.0(postcss@8.5.6) postcss: 8.5.6 @@ -39056,9 +39818,9 @@ snapshots: postcss-modules-scope: 3.2.1(postcss@8.5.6) postcss-modules-values: 4.0.0(postcss@8.5.6) postcss-value-parser: 4.2.0 - semver: 7.7.2 + semver: 7.7.3 optionalDependencies: - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1) css-select@4.3.0: dependencies: @@ -39283,7 +40045,7 @@ snapshots: dependencies: ms: 2.1.2 - debug@4.4.1(supports-color@8.1.1): + debug@4.4.3(supports-color@8.1.1): dependencies: ms: 2.1.3 optionalDependencies: @@ -39318,7 +40080,7 @@ snapshots: dedent@0.7.0: {} - dedent@1.6.0(babel-plugin-macros@3.1.0): + dedent@1.7.0(babel-plugin-macros@3.1.0): optionalDependencies: babel-plugin-macros: 3.1.0 @@ -39411,7 +40173,7 @@ snapshots: del-cli@6.0.0: dependencies: - del: 8.0.0 + del: 8.0.1 meow: 13.2.0 del@2.2.2: @@ -39446,13 +40208,14 @@ snapshots: rimraf: 3.0.2 slash: 4.0.0 - del@8.0.0: + del@8.0.1: dependencies: globby: 14.1.0 is-glob: 4.0.3 is-path-cwd: 3.0.0 is-path-inside: 4.0.0 p-map: 7.0.3 + presentable-error: 0.0.1 slash: 5.1.0 delayed-stream@1.0.0: {} @@ -39480,7 +40243,7 @@ snapshots: detect-libc@1.0.3: optional: true - detect-libc@2.0.4: {} + detect-libc@2.1.2: {} detect-newline@3.1.0: {} @@ -39500,7 +40263,7 @@ snapshots: detect-port@1.6.1: dependencies: address: 1.2.2 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -39508,7 +40271,7 @@ snapshots: dependencies: dequal: 2.0.3 - dexie@4.0.11: {} + dexie@4.2.1: {} diagnostic-channel-publishers@0.3.5(diagnostic-channel@0.2.0): dependencies: @@ -39608,6 +40371,10 @@ snapshots: optionalDependencies: '@types/trusted-types': 2.0.7 + dompurify@3.2.6: + optionalDependencies: + '@types/trusted-types': 2.0.7 + domutils@2.8.0: dependencies: dom-serializer: 1.4.1 @@ -39643,7 +40410,7 @@ snapshots: downshift@7.6.2(react@18.2.0): dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 compute-scroll-into-view: 2.0.4 prop-types: 15.8.1 react: 18.2.0 @@ -39684,9 +40451,9 @@ snapshots: dependencies: safe-buffer: 5.2.1 - editions@6.21.0: + editions@6.22.0: dependencies: - version-range: 4.14.0 + version-range: 4.15.0 ee-first@1.1.1: {} @@ -39694,7 +40461,7 @@ snapshots: dependencies: jake: 10.9.4 - electron-to-chromium@1.5.198: {} + electron-to-chromium@1.5.244: {} email-addresses@5.0.0: {} @@ -39704,7 +40471,7 @@ snapshots: emittery@0.13.1: {} - emoji-regex@10.4.0: {} + emoji-regex@10.6.0: {} emoji-regex@7.0.3: {} @@ -39752,7 +40519,7 @@ snapshots: enhanced-resolve@5.18.3: dependencies: graceful-fs: 4.2.11 - tapable: 2.2.2 + tapable: 2.3.0 enquirer@2.4.1: dependencies: @@ -39769,7 +40536,7 @@ snapshots: env-paths@2.2.1: {} - envinfo@7.14.0: {} + envinfo@7.20.0: {} environment@1.1.0: {} @@ -39781,7 +40548,7 @@ snapshots: dependencies: prr: 1.0.1 - error-ex@1.3.2: + error-ex@1.3.4: dependencies: is-arrayish: 0.2.1 @@ -39906,7 +40673,7 @@ snapshots: is-date-object: 1.1.0 is-symbol: 1.1.1 - es-toolkit@1.39.8: {} + es-toolkit@1.41.0: {} es5-ext@0.10.64: dependencies: @@ -39943,41 +40710,41 @@ snapshots: esbuild-plugin-alias@0.2.1: {} - esbuild-register@3.6.0(esbuild@0.25.8): - dependencies: - debug: 4.4.1(supports-color@8.1.1) - esbuild: 0.25.8 - transitivePeerDependencies: - - supports-color - - esbuild@0.25.8: - optionalDependencies: - '@esbuild/aix-ppc64': 0.25.8 - '@esbuild/android-arm': 0.25.8 - '@esbuild/android-arm64': 0.25.8 - '@esbuild/android-x64': 0.25.8 - '@esbuild/darwin-arm64': 0.25.8 - '@esbuild/darwin-x64': 0.25.8 - '@esbuild/freebsd-arm64': 0.25.8 - '@esbuild/freebsd-x64': 0.25.8 - '@esbuild/linux-arm': 0.25.8 - '@esbuild/linux-arm64': 0.25.8 - '@esbuild/linux-ia32': 0.25.8 - '@esbuild/linux-loong64': 0.25.8 - '@esbuild/linux-mips64el': 0.25.8 - '@esbuild/linux-ppc64': 0.25.8 - '@esbuild/linux-riscv64': 0.25.8 - '@esbuild/linux-s390x': 0.25.8 - '@esbuild/linux-x64': 0.25.8 - '@esbuild/netbsd-arm64': 0.25.8 - '@esbuild/netbsd-x64': 0.25.8 - '@esbuild/openbsd-arm64': 0.25.8 - '@esbuild/openbsd-x64': 0.25.8 - '@esbuild/openharmony-arm64': 0.25.8 - '@esbuild/sunos-x64': 0.25.8 - '@esbuild/win32-arm64': 0.25.8 - '@esbuild/win32-ia32': 0.25.8 - '@esbuild/win32-x64': 0.25.8 + esbuild-register@3.6.0(esbuild@0.25.12): + dependencies: + debug: 4.4.3(supports-color@8.1.1) + esbuild: 0.25.12 + transitivePeerDependencies: + - supports-color + + esbuild@0.25.12: + optionalDependencies: + '@esbuild/aix-ppc64': 0.25.12 + '@esbuild/android-arm': 0.25.12 + '@esbuild/android-arm64': 0.25.12 + '@esbuild/android-x64': 0.25.12 + '@esbuild/darwin-arm64': 0.25.12 + '@esbuild/darwin-x64': 0.25.12 + '@esbuild/freebsd-arm64': 0.25.12 + '@esbuild/freebsd-x64': 0.25.12 + '@esbuild/linux-arm': 0.25.12 + '@esbuild/linux-arm64': 0.25.12 + '@esbuild/linux-ia32': 0.25.12 + '@esbuild/linux-loong64': 0.25.12 + '@esbuild/linux-mips64el': 0.25.12 + '@esbuild/linux-ppc64': 0.25.12 + '@esbuild/linux-riscv64': 0.25.12 + '@esbuild/linux-s390x': 0.25.12 + '@esbuild/linux-x64': 0.25.12 + '@esbuild/netbsd-arm64': 0.25.12 + '@esbuild/netbsd-x64': 0.25.12 + '@esbuild/openbsd-arm64': 0.25.12 + '@esbuild/openbsd-x64': 0.25.12 + '@esbuild/openharmony-arm64': 0.25.12 + '@esbuild/sunos-x64': 0.25.12 + '@esbuild/win32-arm64': 0.25.12 + '@esbuild/win32-ia32': 0.25.12 + '@esbuild/win32-x64': 0.25.12 escalade@3.2.0: {} @@ -40041,7 +40808,7 @@ snapshots: dependencies: debug: 3.2.7 is-core-module: 2.16.1 - resolve: 1.22.10 + resolve: 1.22.11 eslint-module-utils@2.12.1(eslint@6.8.0): dependencies: @@ -40083,7 +40850,7 @@ snapshots: array-includes: 3.1.9 array.prototype.flatmap: 1.3.3 ast-types-flow: 0.0.8 - axe-core: 4.10.3 + axe-core: 4.11.0 axobject-query: 4.1.0 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 @@ -40116,21 +40883,21 @@ snapshots: dependencies: eslint: 8.57.1 - eslint-plugin-react-hooks@5.2.0(eslint@9.26.0(jiti@2.5.1)): + eslint-plugin-react-hooks@5.2.0(eslint@9.26.0(jiti@2.6.1)): dependencies: - eslint: 9.26.0(jiti@2.5.1) + eslint: 9.26.0(jiti@2.6.1) - eslint-plugin-react-hooks@5.2.0(eslint@9.27.0(jiti@2.5.1)): + eslint-plugin-react-hooks@5.2.0(eslint@9.27.0(jiti@2.6.1)): dependencies: - eslint: 9.27.0(jiti@2.5.1) + eslint: 9.27.0(jiti@2.6.1) - eslint-plugin-react-refresh@0.4.20(eslint@8.57.1): + eslint-plugin-react-refresh@0.4.24(eslint@8.57.1): dependencies: eslint: 8.57.1 - eslint-plugin-react-refresh@0.4.20(eslint@9.27.0(jiti@2.5.1)): + eslint-plugin-react-refresh@0.4.24(eslint@9.27.0(jiti@2.6.1)): dependencies: - eslint: 9.27.0(jiti@2.5.1) + eslint: 9.27.0(jiti@2.6.1) eslint-plugin-react@7.37.5(eslint@6.8.0): dependencies: @@ -40176,26 +40943,26 @@ snapshots: string.prototype.matchall: 4.0.12 string.prototype.repeat: 1.0.0 - eslint-plugin-storybook@9.1.1(eslint@8.57.1)(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3))(typescript@5.8.3): + eslint-plugin-storybook@9.1.16(eslint@8.57.1)(storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3))(typescript@5.8.3): dependencies: - '@typescript-eslint/utils': 8.39.0(eslint@8.57.1)(typescript@5.8.3) + '@typescript-eslint/utils': 8.46.3(eslint@8.57.1)(typescript@5.8.3) eslint: 8.57.1 - storybook: 9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3) + storybook: 9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3) transitivePeerDependencies: - supports-color - typescript - eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.32.1(@typescript-eslint/parser@8.33.1(eslint@9.26.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.26.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.26.0(jiti@2.5.1)): + eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.32.1(@typescript-eslint/parser@8.33.1(eslint@9.26.0(jiti@2.6.1))(typescript@5.8.3))(eslint@9.26.0(jiti@2.6.1))(typescript@5.8.3))(eslint@9.26.0(jiti@2.6.1)): dependencies: - eslint: 9.26.0(jiti@2.5.1) + eslint: 9.26.0(jiti@2.6.1) optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.32.1(@typescript-eslint/parser@8.33.1(eslint@9.26.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.26.0(jiti@2.5.1))(typescript@5.8.3) + '@typescript-eslint/eslint-plugin': 8.32.1(@typescript-eslint/parser@8.33.1(eslint@9.26.0(jiti@2.6.1))(typescript@5.8.3))(eslint@9.26.0(jiti@2.6.1))(typescript@5.8.3) - eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.32.1(@typescript-eslint/parser@8.33.1(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.27.0(jiti@2.5.1)): + eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.32.1(@typescript-eslint/parser@8.33.1(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3))(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3))(eslint@9.27.0(jiti@2.6.1)): dependencies: - eslint: 9.27.0(jiti@2.5.1) + eslint: 9.27.0(jiti@2.6.1) optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.32.1(@typescript-eslint/parser@8.33.1(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3) + '@typescript-eslint/eslint-plugin': 8.32.1(@typescript-eslint/parser@8.33.1(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3))(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3) eslint-scope@5.1.1: dependencies: @@ -40239,7 +41006,7 @@ snapshots: ajv: 6.12.6 chalk: 2.4.2 cross-spawn: 6.0.6 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) doctrine: 3.0.0 eslint-scope: 5.1.1 eslint-utils: 1.4.3 @@ -40277,8 +41044,8 @@ snapshots: eslint@8.57.1: dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@8.57.1) - '@eslint-community/regexpp': 4.12.1 + '@eslint-community/eslint-utils': 4.9.0(eslint@8.57.1) + '@eslint-community/regexpp': 4.12.2 '@eslint/eslintrc': 2.1.4 '@eslint/js': 8.57.1 '@humanwhocodes/config-array': 0.13.0 @@ -40288,7 +41055,7 @@ snapshots: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.6 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 @@ -40318,26 +41085,26 @@ snapshots: transitivePeerDependencies: - supports-color - eslint@9.26.0(jiti@2.5.1): + eslint@9.26.0(jiti@2.6.1): dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.26.0(jiti@2.5.1)) - '@eslint-community/regexpp': 4.12.1 + '@eslint-community/eslint-utils': 4.9.0(eslint@9.26.0(jiti@2.6.1)) + '@eslint-community/regexpp': 4.12.2 '@eslint/config-array': 0.20.1 '@eslint/config-helpers': 0.2.3 '@eslint/core': 0.13.0 '@eslint/eslintrc': 3.3.1 '@eslint/js': 9.26.0 - '@eslint/plugin-kit': 0.3.4 - '@humanfs/node': 0.16.6 + '@eslint/plugin-kit': 0.3.5 + '@humanfs/node': 0.16.7 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.4.3 - '@modelcontextprotocol/sdk': 1.17.1 + '@modelcontextprotocol/sdk': 1.21.0 '@types/estree': 1.0.8 '@types/json-schema': 7.0.15 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.6 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) escape-string-regexp: 4.0.0 eslint-scope: 8.4.0 eslint-visitor-keys: 4.2.1 @@ -40358,21 +41125,22 @@ snapshots: optionator: 0.9.4 zod: 3.25.76 optionalDependencies: - jiti: 2.5.1 + jiti: 2.6.1 transitivePeerDependencies: + - '@cfworker/json-schema' - supports-color - eslint@9.27.0(jiti@2.5.1): + eslint@9.27.0(jiti@2.6.1): dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.27.0(jiti@2.5.1)) - '@eslint-community/regexpp': 4.12.1 + '@eslint-community/eslint-utils': 4.9.0(eslint@9.27.0(jiti@2.6.1)) + '@eslint-community/regexpp': 4.12.2 '@eslint/config-array': 0.20.1 '@eslint/config-helpers': 0.2.3 '@eslint/core': 0.14.0 '@eslint/eslintrc': 3.3.1 '@eslint/js': 9.27.0 - '@eslint/plugin-kit': 0.3.4 - '@humanfs/node': 0.16.6 + '@eslint/plugin-kit': 0.3.5 + '@humanfs/node': 0.16.7 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.4.3 '@types/estree': 1.0.8 @@ -40380,7 +41148,7 @@ snapshots: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.6 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) escape-string-regexp: 4.0.0 eslint-scope: 8.4.0 eslint-visitor-keys: 4.2.1 @@ -40400,7 +41168,7 @@ snapshots: natural-compare: 1.4.0 optionator: 0.9.4 optionalDependencies: - jiti: 2.5.1 + jiti: 2.6.1 transitivePeerDependencies: - supports-color @@ -40449,8 +41217,8 @@ snapshots: estree-to-babel@3.2.1: dependencies: - '@babel/traverse': 7.28.0 - '@babel/types': 7.28.2 + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 c8: 7.14.0 transitivePeerDependencies: - supports-color @@ -40491,7 +41259,9 @@ snapshots: events-universal@1.0.1: dependencies: - bare-events: 2.7.0 + bare-events: 2.8.1 + transitivePeerDependencies: + - bare-abort-controller events@3.3.0: {} @@ -40580,6 +41350,21 @@ snapshots: signal-exit: 4.1.0 strip-final-newline: 3.0.0 + execa@9.6.0: + dependencies: + '@sindresorhus/merge-streams': 4.0.0 + cross-spawn: 7.0.6 + figures: 6.1.0 + get-stream: 9.0.1 + human-signals: 8.0.1 + is-plain-obj: 4.1.0 + is-stream: 4.0.1 + npm-run-path: 6.0.0 + pretty-ms: 9.3.0 + signal-exit: 4.1.0 + strip-final-newline: 4.0.0 + yoctocolors: 2.1.2 + exenv-es6@1.1.1: {} exit@0.1.2: {} @@ -40616,7 +41401,7 @@ snapshots: jest-message-util: 29.7.0 jest-util: 29.7.0 - exponential-backoff@3.1.2: {} + exponential-backoff@3.1.3: {} express-rate-limit@7.5.1(express@5.1.0): dependencies: @@ -40664,7 +41449,7 @@ snapshots: content-type: 1.0.5 cookie: 0.7.2 cookie-signature: 1.2.2 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) encodeurl: 2.0.0 escape-html: 1.0.3 etag: 1.8.1 @@ -40711,12 +41496,12 @@ snapshots: iconv-lite: 0.4.24 tmp: 0.0.33 - extract-text-webpack-plugin@3.0.2(webpack@5.101.0): + extract-text-webpack-plugin@3.0.2(webpack@5.102.1): dependencies: async: 2.6.4 loader-utils: 1.4.2 schema-utils: 0.3.0 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1) webpack-sources: 1.4.3 extract-zip@1.7.0: @@ -40779,7 +41564,7 @@ snapshots: fast-safe-stringify@2.1.1: {} - fast-uri@3.0.6: {} + fast-uri@3.1.0: {} fast-xml-parser@5.2.5: dependencies: @@ -40829,7 +41614,7 @@ snapshots: object-assign: 4.1.1 promise: 7.3.1 setimmediate: 1.0.5 - ua-parser-js: 1.0.40 + ua-parser-js: 1.0.41 transitivePeerDependencies: - encoding @@ -40837,7 +41622,7 @@ snapshots: dependencies: pend: 1.2.0 - fdir@6.4.6(picomatch@4.0.3): + fdir@6.5.0(picomatch@4.0.3): optionalDependencies: picomatch: 4.0.3 @@ -40858,9 +41643,13 @@ snapshots: dependencies: escape-string-regexp: 1.0.5 - file-entry-cache@10.1.3: + figures@6.1.0: + dependencies: + is-unicode-supported: 2.1.0 + + file-entry-cache@10.1.4: dependencies: - flat-cache: 6.1.12 + flat-cache: 6.1.18 file-entry-cache@5.0.1: dependencies: @@ -40880,23 +41669,23 @@ snapshots: minimatch: 3.1.2 proper-lockfile: 1.2.0 - file-loader@1.1.5(webpack@5.101.0): + file-loader@1.1.5(webpack@5.102.1): dependencies: loader-utils: 1.4.2 schema-utils: 0.3.0 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1) - file-loader@6.2.0(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))): + file-loader@6.2.0(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17)) - file-loader@6.2.0(webpack@5.101.0): + file-loader@6.2.0(webpack@5.102.1): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1) file-system-cache@1.1.0: dependencies: @@ -40962,7 +41751,7 @@ snapshots: finalhandler@2.1.0: dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) encodeurl: 2.0.0 escape-html: 1.0.3 on-finished: 2.4.1 @@ -41055,11 +41844,11 @@ snapshots: flatted: 3.3.3 keyv: 4.5.4 - flat-cache@6.1.12: + flat-cache@6.1.18: dependencies: - cacheable: 1.10.3 + cacheable: 2.1.1 flatted: 3.3.3 - hookified: 1.11.0 + hookified: 1.12.2 flat@5.0.2: {} @@ -41069,7 +41858,7 @@ snapshots: flatten@1.0.3: {} - flow-parser@0.278.0: {} + flow-parser@0.289.0: {} flush-write-stream@1.1.1: dependencies: @@ -41104,7 +41893,7 @@ snapshots: forever-agent@0.6.1: {} - fork-ts-checker-webpack-plugin@0.2.10(typescript@5.8.3)(webpack@5.101.0): + fork-ts-checker-webpack-plugin@0.2.10(typescript@5.8.3)(webpack@5.102.1): dependencies: babel-code-frame: 6.26.0 chalk: 1.1.3 @@ -41115,7 +41904,7 @@ snapshots: lodash.startswith: 4.2.1 minimatch: 3.1.2 typescript: 5.8.3 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1) fork-ts-checker-webpack-plugin@4.1.6: dependencies: @@ -41127,7 +41916,7 @@ snapshots: tapable: 1.1.3 worker-rpc: 0.1.1 - fork-ts-checker-webpack-plugin@6.5.3(eslint@9.26.0(jiti@2.5.1))(typescript@5.8.3)(webpack@5.101.0): + fork-ts-checker-webpack-plugin@6.5.3(eslint@9.26.0(jiti@2.6.1))(typescript@5.8.3)(webpack@5.102.1): dependencies: '@babel/code-frame': 7.27.1 '@types/json-schema': 7.0.15 @@ -41140,14 +41929,14 @@ snapshots: memfs: 3.5.3 minimatch: 3.1.2 schema-utils: 2.7.0 - semver: 7.7.2 + semver: 7.7.3 tapable: 1.1.3 typescript: 5.8.3 - webpack: 5.101.0(webpack-cli@4.10.0) + webpack: 5.102.1(webpack-cli@4.10.0) optionalDependencies: - eslint: 9.26.0(jiti@2.5.1) + eslint: 9.26.0(jiti@2.6.1) - fork-ts-checker-webpack-plugin@6.5.3(eslint@9.27.0(jiti@2.5.1))(typescript@4.9.5)(webpack@5.101.0): + fork-ts-checker-webpack-plugin@6.5.3(eslint@9.27.0(jiti@2.6.1))(typescript@4.9.5)(webpack@5.102.1): dependencies: '@babel/code-frame': 7.27.1 '@types/json-schema': 7.0.15 @@ -41160,14 +41949,14 @@ snapshots: memfs: 3.5.3 minimatch: 3.1.2 schema-utils: 2.7.0 - semver: 7.7.2 + semver: 7.7.3 tapable: 1.1.3 typescript: 4.9.5 - webpack: 5.101.0(webpack-cli@4.10.0) + webpack: 5.102.1(webpack-cli@4.10.0) optionalDependencies: - eslint: 9.27.0(jiti@2.5.1) + eslint: 9.27.0(jiti@2.6.1) - fork-ts-checker-webpack-plugin@6.5.3(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3)(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))): + fork-ts-checker-webpack-plugin@6.5.3(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3)(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))): dependencies: '@babel/code-frame': 7.27.1 '@types/json-schema': 7.0.15 @@ -41180,14 +41969,14 @@ snapshots: memfs: 3.5.3 minimatch: 3.1.2 schema-utils: 2.7.0 - semver: 7.7.2 + semver: 7.7.3 tapable: 1.1.3 typescript: 5.8.3 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17)) optionalDependencies: - eslint: 9.27.0(jiti@2.5.1) + eslint: 9.27.0(jiti@2.6.1) - fork-ts-checker-webpack-plugin@6.5.3(eslint@9.27.0(jiti@2.5.1))(typescript@5.8.3)(webpack@5.101.0): + fork-ts-checker-webpack-plugin@6.5.3(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3)(webpack@5.102.1): dependencies: '@babel/code-frame': 7.27.1 '@types/json-schema': 7.0.15 @@ -41200,14 +41989,14 @@ snapshots: memfs: 3.5.3 minimatch: 3.1.2 schema-utils: 2.7.0 - semver: 7.7.2 + semver: 7.7.3 tapable: 1.1.3 typescript: 5.8.3 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1) optionalDependencies: - eslint: 9.27.0(jiti@2.5.1) + eslint: 9.27.0(jiti@2.6.1) - fork-ts-checker-webpack-plugin@8.0.0(typescript@5.8.3)(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))): + fork-ts-checker-webpack-plugin@8.0.0(typescript@5.8.3)(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))): dependencies: '@babel/code-frame': 7.27.1 chalk: 4.1.2 @@ -41219,12 +42008,12 @@ snapshots: minimatch: 3.1.2 node-abort-controller: 3.1.1 schema-utils: 3.3.0 - semver: 7.7.2 - tapable: 2.2.2 + semver: 7.7.3 + tapable: 2.3.0 typescript: 5.8.3 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17)) - fork-ts-checker-webpack-plugin@8.0.0(typescript@5.8.3)(webpack@5.101.0): + fork-ts-checker-webpack-plugin@8.0.0(typescript@5.8.3)(webpack@5.102.1): dependencies: '@babel/code-frame': 7.27.1 chalk: 4.1.2 @@ -41236,12 +42025,12 @@ snapshots: minimatch: 3.1.2 node-abort-controller: 3.1.1 schema-utils: 3.3.0 - semver: 7.7.2 - tapable: 2.2.2 + semver: 7.7.3 + tapable: 2.3.0 typescript: 5.8.3 - webpack: 5.101.0(webpack-cli@5.1.4) + webpack: 5.102.1(webpack-cli@5.1.4) - fork-ts-checker-webpack-plugin@9.1.0(typescript@5.8.3)(webpack@5.101.0): + fork-ts-checker-webpack-plugin@9.1.0(typescript@5.8.3)(webpack@5.102.1): dependencies: '@babel/code-frame': 7.27.1 chalk: 4.1.2 @@ -41253,10 +42042,10 @@ snapshots: minimatch: 3.1.2 node-abort-controller: 3.1.1 schema-utils: 3.3.0 - semver: 7.7.2 - tapable: 2.2.2 + semver: 7.7.3 + tapable: 2.3.0 typescript: 5.8.3 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1) form-data-encoder@2.1.4: {} @@ -41317,25 +42106,25 @@ snapshots: fs-extra@10.1.0: dependencies: graceful-fs: 4.2.11 - jsonfile: 6.1.0 + jsonfile: 6.2.0 universalify: 2.0.1 fs-extra@11.1.1: dependencies: graceful-fs: 4.2.11 - jsonfile: 6.1.0 + jsonfile: 6.2.0 universalify: 2.0.1 fs-extra@11.2.0: dependencies: graceful-fs: 4.2.11 - jsonfile: 6.1.0 + jsonfile: 6.2.0 universalify: 2.0.1 - fs-extra@11.3.1: + fs-extra@11.3.2: dependencies: graceful-fs: 4.2.11 - jsonfile: 6.1.0 + jsonfile: 6.2.0 universalify: 2.0.1 fs-extra@3.0.1: @@ -41360,7 +42149,7 @@ snapshots: dependencies: at-least-node: 1.0.0 graceful-fs: 4.2.11 - jsonfile: 6.1.0 + jsonfile: 6.2.0 universalify: 2.0.1 fs-minipass@2.1.0: @@ -41446,6 +42235,8 @@ snapshots: strip-ansi: 6.0.1 wide-align: 1.1.5 + generator-function@2.0.1: {} + generic-names@4.0.0: dependencies: loader-utils: 3.3.1 @@ -41458,7 +42249,7 @@ snapshots: get-caller-file@2.0.5: {} - get-east-asian-width@1.3.0: {} + get-east-asian-width@1.4.0: {} get-func-name@2.0.2: {} @@ -41534,7 +42325,7 @@ snapshots: email-addresses: 5.0.0 filenamify: 4.3.0 find-cache-dir: 3.3.2 - fs-extra: 11.3.1 + fs-extra: 11.3.2 globby: 11.1.0 giget@1.2.5: @@ -41573,6 +42364,10 @@ snapshots: '@types/glob': 8.1.0 glob: 7.2.3 + glob-to-regex.js@1.2.0(tslib@2.8.1): + dependencies: + tslib: 2.8.1 + glob-to-regexp@0.3.0: {} glob-to-regexp@0.4.1: {} @@ -41594,7 +42389,7 @@ snapshots: dependencies: foreground-child: 3.3.1 jackspeak: 4.1.1 - minimatch: 10.0.3 + minimatch: 10.1.1 minipass: 7.1.2 package-json-from-dist: 1.0.1 path-scurry: 2.0.0 @@ -41744,7 +42539,7 @@ snapshots: got@14.4.7: dependencies: - '@sindresorhus/is': 7.0.2 + '@sindresorhus/is': 7.1.1 '@szmarczak/http-timer': 5.0.1 cacheable-lookup: 7.0.0 cacheable-request: 12.0.1 @@ -41774,16 +42569,16 @@ snapshots: graphemer@1.4.0: {} - graphiql-explorer@0.9.0(graphql@16.11.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0): + graphiql-explorer@0.9.0(graphql@16.12.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: - graphql: 16.11.0 + graphql: 16.12.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - graphiql@3.7.0(@codemirror/language@6.11.2)(@types/node@22.15.35)(@types/react-dom@18.2.0)(@types/react@18.2.0)(graphql@16.11.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0): + graphiql@3.7.0(@codemirror/language@6.11.3)(@types/node@22.15.35)(@types/react-dom@18.2.0)(@types/react@18.2.0)(graphql@16.12.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: - '@graphiql/react': 0.26.2(@codemirror/language@6.11.2)(@types/node@22.15.35)(@types/react-dom@18.2.0)(@types/react@18.2.0)(graphql@16.11.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - graphql: 16.11.0 + '@graphiql/react': 0.26.2(@codemirror/language@6.11.3)(@types/node@22.15.35)(@types/react-dom@18.2.0)(@types/react@18.2.0)(graphql@16.12.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + graphql: 16.12.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) transitivePeerDependencies: @@ -41797,14 +42592,14 @@ snapshots: dependencies: lodash: 4.17.21 - graphql-language-service@5.5.0(graphql@16.11.0): + graphql-language-service@5.5.0(graphql@16.12.0): dependencies: debounce-promise: 3.1.2 - graphql: 16.11.0 + graphql: 16.12.0 nullthrows: 1.1.1 vscode-languageserver-types: 3.17.5 - graphql@16.11.0: {} + graphql@16.12.0: {} growly@1.3.0: {} @@ -41988,7 +42783,7 @@ snapshots: mdast-util-mdxjs-esm: 2.0.1 property-information: 7.1.0 space-separated-tokens: 2.0.2 - style-to-js: 1.1.17 + style-to-js: 1.1.19 unist-util-position: 5.0.0 vfile-message: 4.0.3 transitivePeerDependencies: @@ -42081,7 +42876,7 @@ snapshots: dependencies: parse-passwd: 1.0.0 - hookified@1.11.0: {} + hookified@1.12.2: {} hosted-git-info@2.8.9: {} @@ -42134,7 +42929,7 @@ snapshots: he: 1.2.0 param-case: 3.0.4 relateurl: 0.2.7 - terser: 5.43.1 + terser: 5.44.0 html-minifier@3.5.21: dependencies: @@ -42158,7 +42953,7 @@ snapshots: html-void-elements@3.0.0: {} - html-webpack-plugin@2.29.0(webpack@5.101.0): + html-webpack-plugin@2.29.0(webpack@5.102.1): dependencies: bluebird: 3.7.2 html-minifier: 3.5.21 @@ -42166,9 +42961,9 @@ snapshots: lodash: 4.17.21 pretty-error: 2.1.2 toposort: 1.0.7 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1) - html-webpack-plugin@4.5.2(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))): + html-webpack-plugin@4.5.2(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))): dependencies: '@types/html-minifier-terser': 5.1.2 '@types/tapable': 1.0.12 @@ -42179,9 +42974,9 @@ snapshots: pretty-error: 2.1.2 tapable: 1.1.3 util.promisify: 1.0.0 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17)) - html-webpack-plugin@4.5.2(webpack@5.101.0): + html-webpack-plugin@4.5.2(webpack@5.102.1): dependencies: '@types/html-minifier-terser': 5.1.2 '@types/tapable': 1.0.12 @@ -42192,27 +42987,27 @@ snapshots: pretty-error: 2.1.2 tapable: 1.1.3 util.promisify: 1.0.0 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1) - html-webpack-plugin@5.6.3(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))): + html-webpack-plugin@5.6.4(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))): dependencies: '@types/html-minifier-terser': 6.1.0 html-minifier-terser: 6.1.0 lodash: 4.17.21 pretty-error: 4.0.0 - tapable: 2.2.2 + tapable: 2.3.0 optionalDependencies: - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17)) - html-webpack-plugin@5.6.3(webpack@5.101.0): + html-webpack-plugin@5.6.4(webpack@5.102.1): dependencies: '@types/html-minifier-terser': 6.1.0 html-minifier-terser: 6.1.0 lodash: 4.17.21 pretty-error: 4.0.0 - tapable: 2.2.2 + tapable: 2.3.0 optionalDependencies: - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1) htmlparser2@10.0.0: dependencies: @@ -42253,7 +43048,7 @@ snapshots: dependencies: '@tootallnate/once': 1.1.2 agent-base: 6.0.2 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -42261,26 +43056,26 @@ snapshots: dependencies: '@tootallnate/once': 2.0.0 agent-base: 6.0.2 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) transitivePeerDependencies: - supports-color http-proxy-agent@7.0.2: dependencies: agent-base: 7.1.4 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) transitivePeerDependencies: - supports-color - http-proxy-middleware@2.0.9(@types/express@4.17.23): + http-proxy-middleware@2.0.9(@types/express@4.17.25): dependencies: - '@types/http-proxy': 1.17.16 + '@types/http-proxy': 1.17.17 http-proxy: 1.18.1 is-glob: 4.0.3 is-plain-obj: 3.0.0 micromatch: 4.0.8 optionalDependencies: - '@types/express': 4.17.23 + '@types/express': 4.17.25 transitivePeerDependencies: - debug @@ -42303,7 +43098,7 @@ snapshots: mime: 1.6.0 minimist: 1.2.8 opener: 1.5.2 - portfinder: 1.0.37 + portfinder: 1.0.38 secure-compare: 3.0.1 union: 0.5.0 url-join: 4.0.1 @@ -42325,21 +43120,21 @@ snapshots: https-proxy-agent@4.0.0: dependencies: agent-base: 5.1.1 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) transitivePeerDependencies: - supports-color https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) transitivePeerDependencies: - supports-color https-proxy-agent@7.0.6: dependencies: agent-base: 7.1.4 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -42349,7 +43144,9 @@ snapshots: human-signals@5.0.0: {} - humanize-duration@3.33.0: {} + human-signals@8.0.1: {} + + humanize-duration@3.33.1: {} humanize-ms@1.2.1: dependencies: @@ -42374,6 +43171,10 @@ snapshots: dependencies: safer-buffer: 2.1.2 + iconv-lite@0.7.0: + dependencies: + safer-buffer: 2.1.2 + icss-replace-symbols@1.1.0: {} icss-utils@2.1.0: @@ -42406,7 +43207,7 @@ snapshots: immutable@3.8.2: {} - immutable@5.1.3: {} + immutable@5.1.4: {} import-cwd@3.0.0: dependencies: @@ -42455,7 +43256,7 @@ snapshots: inline-style-parser@0.1.1: {} - inline-style-parser@0.2.4: {} + inline-style-parser@0.2.6: {} inquirer@3.3.0: dependencies: @@ -42504,11 +43305,11 @@ snapshots: intersection-observer@0.10.0: {} - intl-messageformat@10.7.16: + intl-messageformat@10.7.18: dependencies: - '@formatjs/ecma402-abstract': 2.3.4 + '@formatjs/ecma402-abstract': 2.3.6 '@formatjs/fast-memoize': 2.2.7 - '@formatjs/icu-messageformat-parser': 2.11.2 + '@formatjs/icu-messageformat-parser': 2.11.4 tslib: 2.8.1 invariant@2.2.4: @@ -42517,10 +43318,7 @@ snapshots: invert-kv@1.0.0: {} - ip-address@9.0.5: - dependencies: - jsbn: 1.1.0 - sprintf-js: 1.1.3 + ip-address@10.0.1: {} ip-regex@2.1.0: {} @@ -42563,8 +43361,6 @@ snapshots: is-arrayish@0.2.1: {} - is-arrayish@0.3.2: {} - is-async-function@2.1.1: dependencies: async-function: 1.0.0 @@ -42660,11 +43456,9 @@ snapshots: is-fullwidth-code-point@3.0.0: {} - is-fullwidth-code-point@4.0.0: {} - - is-fullwidth-code-point@5.0.0: + is-fullwidth-code-point@5.1.0: dependencies: - get-east-asian-width: 1.3.0 + get-east-asian-width: 1.4.0 is-function@1.0.2: {} @@ -42672,9 +43466,10 @@ snapshots: is-generator-fn@2.1.0: {} - is-generator-function@1.1.0: + is-generator-function@1.1.2: dependencies: call-bound: 1.0.4 + generator-function: 2.0.1 get-proto: 1.0.1 has-tostringtag: 1.0.2 safe-regex-test: 1.1.0 @@ -42718,7 +43513,7 @@ snapshots: is-negative-zero@2.0.3: {} - is-network-error@1.1.0: {} + is-network-error@1.3.0: {} is-npm@1.0.0: {} @@ -42835,6 +43630,8 @@ snapshots: is-utf8@0.2.1: {} + is-wayland@0.1.0: {} + is-weakmap@2.0.2: {} is-weakref@1.1.1: @@ -42945,7 +43742,7 @@ snapshots: istanbul-lib-instrument@5.2.1: dependencies: '@babel/core': 7.27.7 - '@babel/parser': 7.28.0 + '@babel/parser': 7.28.5 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 6.3.1 @@ -42955,10 +43752,10 @@ snapshots: istanbul-lib-instrument@6.0.3: dependencies: '@babel/core': 7.27.7 - '@babel/parser': 7.28.0 + '@babel/parser': 7.28.5 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 - semver: 7.7.2 + semver: 7.7.3 transitivePeerDependencies: - supports-color @@ -42985,7 +43782,7 @@ snapshots: istanbul-lib-source-maps@4.0.1: dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) istanbul-lib-coverage: 3.2.2 source-map: 0.6.1 transitivePeerDependencies: @@ -42995,7 +43792,7 @@ snapshots: dependencies: handlebars: 4.7.8 - istanbul-reports@3.1.7: + istanbul-reports@3.2.0: dependencies: html-escaper: 2.0.2 istanbul-lib-report: 3.0.1 @@ -43020,7 +43817,7 @@ snapshots: istextorbinary@9.5.0: dependencies: binaryextensions: 6.11.0 - editions: 6.21.0 + editions: 6.22.0 textextensions: 6.11.0 iterate-iterator@1.0.2: {} @@ -43078,7 +43875,7 @@ snapshots: '@types/node': 22.15.35 chalk: 4.1.2 co: 4.6.0 - dedent: 1.6.0(babel-plugin-macros@3.1.0) + dedent: 1.7.0(babel-plugin-macros@3.1.0) is-generator-fn: 2.1.0 jest-each: 29.7.0 jest-matcher-utils: 29.7.0 @@ -43150,16 +43947,16 @@ snapshots: - supports-color - utf-8-validate - jest-cli@29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)): + jest-cli@29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.14.0(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)): dependencies: - '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)) + '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.14.0(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)) + create-jest: 29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.14.0(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)) exit: 0.1.2 import-local: 3.2.0 - jest-config: 29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)) + jest-config: 29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.14.0(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -43223,7 +44020,7 @@ snapshots: - supports-color - utf-8-validate - jest-config@29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)): + jest-config@29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.14.0(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)): dependencies: '@babel/core': 7.27.7 '@jest/test-sequencer': 29.7.0 @@ -43249,7 +44046,7 @@ snapshots: strip-json-comments: 3.1.1 optionalDependencies: '@types/node': 22.15.35 - ts-node: 10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3) + ts-node: 10.9.2(@swc/core@1.14.0(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -43470,7 +44267,7 @@ snapshots: jest-jasmine2@25.5.4: dependencies: - '@babel/traverse': 7.28.0 + '@babel/traverse': 7.28.5 '@jest/environment': 25.5.0 '@jest/source-map': 25.5.0 '@jest/test-result': 25.5.0 @@ -43641,7 +44438,7 @@ snapshots: jest-pnp-resolver: 1.2.3(jest-resolve@25.5.1) read-pkg-up: 7.0.1 realpath-native: 2.0.0 - resolve: 1.22.10 + resolve: 1.22.11 slash: 3.0.0 jest-resolve@29.7.0: @@ -43652,7 +44449,7 @@ snapshots: jest-pnp-resolver: 1.2.3(jest-resolve@29.7.0) jest-util: 29.7.0 jest-validate: 29.7.0 - resolve: 1.22.10 + resolve: 1.22.11 resolve.exports: 2.0.3 slash: 3.0.0 @@ -43738,7 +44535,7 @@ snapshots: '@jest/types': 25.5.0 '@types/yargs': 15.0.19 chalk: 3.0.0 - collect-v8-coverage: 1.0.2 + collect-v8-coverage: 1.0.3 exit: 0.1.2 glob: 7.2.3 graceful-fs: 4.2.11 @@ -43773,7 +44570,7 @@ snapshots: '@types/node': 22.15.35 chalk: 4.1.2 cjs-module-lexer: 1.4.3 - collect-v8-coverage: 1.0.2 + collect-v8-coverage: 1.0.3 glob: 7.2.3 graceful-fs: 4.2.11 jest-haste-map: 29.7.0 @@ -43817,7 +44614,7 @@ snapshots: jest-snapshot@25.5.1: dependencies: - '@babel/types': 7.28.2 + '@babel/types': 7.28.5 '@jest/types': 25.5.0 '@types/prettier': 1.19.1 chalk: 3.0.0 @@ -43836,10 +44633,10 @@ snapshots: jest-snapshot@29.7.0: dependencies: '@babel/core': 7.27.7 - '@babel/generator': 7.28.0 + '@babel/generator': 7.28.5 '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.27.7) '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.27.7) - '@babel/types': 7.28.2 + '@babel/types': 7.28.5 '@jest/expect-utils': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 @@ -43854,7 +44651,7 @@ snapshots: jest-util: 29.7.0 natural-compare: 1.4.0 pretty-format: 29.7.0 - semver: 7.7.2 + semver: 7.7.3 transitivePeerDependencies: - supports-color @@ -44011,12 +44808,12 @@ snapshots: - supports-color - utf-8-validate - jest@29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)): + jest@29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.14.0(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)): dependencies: - '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)) + '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.14.0(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)) '@jest/types': 29.6.3 import-local: 3.2.0 - jest-cli: 29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)) + jest-cli: 29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.14.0(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -44025,7 +44822,7 @@ snapshots: jiti@1.21.7: {} - jiti@2.5.1: {} + jiti@2.6.1: {} joi@17.13.3: dependencies: @@ -44063,25 +44860,23 @@ snapshots: jsbn@0.1.1: {} - jsbn@1.1.0: {} - jschardet@3.1.4: {} jscodeshift@0.15.2(@babel/preset-env@7.27.2(@babel/core@7.27.7)): dependencies: '@babel/core': 7.27.7 - '@babel/parser': 7.28.0 + '@babel/parser': 7.28.5 '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.27.7) '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.27.7) '@babel/plugin-transform-nullish-coalescing-operator': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.27.7) + '@babel/plugin-transform-optional-chaining': 7.28.5(@babel/core@7.27.7) '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.27.7) '@babel/preset-flow': 7.27.1(@babel/core@7.27.7) '@babel/preset-typescript': 7.27.1(@babel/core@7.27.7) - '@babel/register': 7.27.1(@babel/core@7.27.7) + '@babel/register': 7.28.3(@babel/core@7.27.7) babel-core: 7.0.0-bridge.0(@babel/core@7.27.7) chalk: 4.1.2 - flow-parser: 0.278.0 + flow-parser: 0.289.0 graceful-fs: 4.2.11 micromatch: 4.0.8 neo-async: 2.6.2 @@ -44094,7 +44889,34 @@ snapshots: transitivePeerDependencies: - supports-color - jsdoc-type-pratt-parser@4.1.0: {} + jscodeshift@0.15.2(@babel/preset-env@7.27.2(@babel/core@7.28.5)): + dependencies: + '@babel/core': 7.27.7 + '@babel/parser': 7.28.5 + '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.27.7) + '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.27.7) + '@babel/plugin-transform-nullish-coalescing-operator': 7.27.1(@babel/core@7.27.7) + '@babel/plugin-transform-optional-chaining': 7.28.5(@babel/core@7.27.7) + '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.27.7) + '@babel/preset-flow': 7.27.1(@babel/core@7.27.7) + '@babel/preset-typescript': 7.27.1(@babel/core@7.27.7) + '@babel/register': 7.28.3(@babel/core@7.27.7) + babel-core: 7.0.0-bridge.0(@babel/core@7.27.7) + chalk: 4.1.2 + flow-parser: 0.289.0 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + neo-async: 2.6.2 + node-dir: 0.1.17 + recast: 0.23.11 + temp: 0.8.4 + write-file-atomic: 2.4.3 + optionalDependencies: + '@babel/preset-env': 7.27.2(@babel/core@7.28.5) + transitivePeerDependencies: + - supports-color + + jsdoc-type-pratt-parser@4.8.0: {} jsdom@11.12.0: dependencies: @@ -44109,12 +44931,12 @@ snapshots: escodegen: 1.14.3 html-encoding-sniffer: 1.0.2 left-pad: 1.3.0 - nwsapi: 2.2.21 + nwsapi: 2.2.22 parse5: 4.0.0 pn: 1.1.0 request: 2.88.2 request-promise-native: 1.0.9(request@2.88.2) - sax: 1.4.1 + sax: 1.4.2 symbol-tree: 3.2.4 tough-cookie: 2.5.0 w3c-hr-time: 1.0.2 @@ -44137,7 +44959,7 @@ snapshots: domexception: 1.0.1 escodegen: 1.14.3 html-encoding-sniffer: 1.0.2 - nwsapi: 2.2.21 + nwsapi: 2.2.22 parse5: 5.1.0 pn: 1.1.0 request: 2.88.2 @@ -44173,7 +44995,7 @@ snapshots: http-proxy-agent: 5.0.0 https-proxy-agent: 5.0.1 is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.21 + nwsapi: 2.2.22 parse5: 7.3.0 saxes: 6.0.0 symbol-tree: 3.2.4 @@ -44204,7 +45026,7 @@ snapshots: nwmatcher: 1.4.4 parse5: 1.5.1 request: 2.88.2 - sax: 1.4.1 + sax: 1.4.2 symbol-tree: 3.2.4 tough-cookie: 2.5.0 webidl-conversions: 4.0.2 @@ -44216,8 +45038,6 @@ snapshots: jsesc@1.3.0: {} - jsesc@3.0.2: {} - jsesc@3.1.0: {} json-buffer@3.0.1: {} @@ -44228,7 +45048,7 @@ snapshots: json-schema-to-ts@3.1.1: dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 ts-algebra: 2.0.0 json-schema-traverse@0.3.1: {} @@ -44275,7 +45095,7 @@ snapshots: optionalDependencies: graceful-fs: 4.2.11 - jsonfile@6.1.0: + jsonfile@6.2.0: dependencies: universalify: 2.0.1 optionalDependencies: @@ -44286,7 +45106,7 @@ snapshots: jsonix@3.0.0: dependencies: amdefine: 0.1.1 - xmldom: '@xmldom/xmldom@0.8.10' + xmldom: '@xmldom/xmldom@0.8.11' xmlhttprequest: 1.8.0 jsonwebtoken@9.0.2: @@ -44300,7 +45120,7 @@ snapshots: lodash.isstring: 4.0.1 lodash.once: 4.1.1 ms: 2.1.3 - semver: 7.7.2 + semver: 7.7.3 jsprim@1.4.2: dependencies: @@ -44343,6 +45163,7 @@ snapshots: node-addon-api: 4.3.0 prebuild-install: 7.1.3 transitivePeerDependencies: + - bare-abort-controller - bare-buffer - react-native-b4a @@ -44350,9 +45171,9 @@ snapshots: dependencies: json-buffer: 3.0.1 - keyv@5.5.0: + keyv@5.5.3: dependencies: - '@keyv/serialize': 1.1.0 + '@keyv/serialize': 1.1.1 kill-port@2.0.1: dependencies: @@ -44385,16 +45206,16 @@ snapshots: dependencies: package-json: 4.0.1 - launch-editor@2.11.0: + launch-editor@2.12.0: dependencies: picocolors: 1.1.1 shell-quote: 1.8.3 lazy-universal-dotenv@3.0.1: dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 app-root-dir: 1.0.2 - core-js: 3.45.0 + core-js: 3.46.0 dotenv: 8.6.0 dotenv-expand: 5.1.0 @@ -44446,31 +45267,26 @@ snapshots: dependencies: uc.micro: 2.1.0 - lint-staged@16.1.4: + lint-staged@16.2.6: dependencies: - chalk: 5.5.0 - commander: 14.0.0 - debug: 4.4.1(supports-color@8.1.1) - lilconfig: 3.1.3 - listr2: 9.0.1 + commander: 14.0.2 + listr2: 9.0.5 micromatch: 4.0.8 - nano-spawn: 1.0.2 + nano-spawn: 2.0.0 pidtree: 0.6.0 string-argv: 0.3.2 yaml: 2.8.1 - transitivePeerDependencies: - - supports-color listenercount@1.0.1: {} - listr2@9.0.1: + listr2@9.0.5: dependencies: - cli-truncate: 4.0.0 + cli-truncate: 5.1.1 colorette: 2.0.20 eventemitter3: 5.0.1 log-update: 6.1.0 rfdc: 1.4.1 - wrap-ansi: 9.0.0 + wrap-ansi: 9.0.2 load-json-file@1.1.0: dependencies: @@ -44480,7 +45296,7 @@ snapshots: pinkie-promise: 2.0.1 strip-bom: 2.0.0 - loader-runner@4.3.0: {} + loader-runner@4.3.1: {} loader-utils@0.2.17: dependencies: @@ -44601,7 +45417,7 @@ snapshots: log-symbols@6.0.0: dependencies: - chalk: 5.5.0 + chalk: 5.6.2 is-unicode-supported: 1.3.0 log-update@2.3.0: @@ -44612,11 +45428,11 @@ snapshots: log-update@6.1.0: dependencies: - ansi-escapes: 7.0.0 + ansi-escapes: 7.1.1 cli-cursor: 5.0.0 - slice-ansi: 7.1.0 - strip-ansi: 7.1.0 - wrap-ansi: 9.0.0 + slice-ansi: 7.1.2 + strip-ansi: 7.1.2 + wrap-ansi: 9.0.2 logform@2.7.0: dependencies: @@ -44652,7 +45468,7 @@ snapshots: dependencies: get-func-name: 2.0.2 - loupe@3.2.0: {} + loupe@3.2.1: {} lower-case@1.1.4: {} @@ -44671,7 +45487,7 @@ snapshots: lru-cache@10.4.3: {} - lru-cache@11.1.0: {} + lru-cache@11.2.2: {} lru-cache@4.1.5: dependencies: @@ -44696,7 +45512,7 @@ snapshots: dependencies: react: 18.3.1 - luxon@3.7.1: {} + luxon@3.7.2: {} lz-string@1.5.0: {} @@ -44704,9 +45520,9 @@ snapshots: dependencies: sourcemap-codec: 1.4.8 - magic-string@0.30.17: + magic-string@0.30.21: dependencies: - '@jridgewell/sourcemap-codec': 1.5.4 + '@jridgewell/sourcemap-codec': 1.5.5 make-cancellable-promise@1.3.2: {} @@ -44725,7 +45541,7 @@ snapshots: make-dir@4.0.0: dependencies: - semver: 7.7.2 + semver: 7.7.3 make-error@1.3.6: {} @@ -44787,12 +45603,12 @@ snapshots: markdown-table@3.0.4: {} - markdown-to-jsx@7.7.13(react@18.2.0): - dependencies: + markdown-to-jsx@7.7.17(react@18.2.0): + optionalDependencies: react: 18.2.0 - markdown-to-jsx@7.7.13(react@19.1.0): - dependencies: + markdown-to-jsx@7.7.17(react@19.1.0): + optionalDependencies: react: 19.1.0 matches-selector@0.0.1: {} @@ -44827,7 +45643,7 @@ snapshots: mdast-util-to-markdown: 2.1.2 parse-entities: 4.0.2 stringify-entities: 4.0.4 - unist-util-visit-parents: 6.0.1 + unist-util-visit-parents: 6.0.2 transitivePeerDependencies: - supports-color @@ -44835,8 +45651,8 @@ snapshots: dependencies: '@types/mdast': 4.0.4 escape-string-regexp: 5.0.0 - unist-util-is: 6.0.0 - unist-util-visit-parents: 6.0.1 + unist-util-is: 6.0.1 + unist-util-visit-parents: 6.0.2 mdast-util-from-markdown@1.3.1: dependencies: @@ -44997,7 +45813,7 @@ snapshots: mdast-util-phrasing@4.1.0: dependencies: '@types/mdast': 4.0.4 - unist-util-is: 6.0.0 + unist-util-is: 6.0.1 mdast-util-to-hast@10.0.1: dependencies: @@ -45081,11 +45897,13 @@ snapshots: dependencies: fs-monkey: 1.1.0 - memfs@4.36.0: + memfs@4.50.0: dependencies: - '@jsonjoy.com/json-pack': 1.8.0(tslib@2.8.1) + '@jsonjoy.com/json-pack': 1.21.0(tslib@2.8.1) '@jsonjoy.com/util': 1.9.0(tslib@2.8.1) - tree-dump: 1.0.3(tslib@2.8.1) + glob-to-regex.js: 1.2.0(tslib@2.8.1) + thingies: 2.5.0(tslib@2.8.1) + tree-dump: 1.1.0(tslib@2.8.1) tslib: 2.8.1 memoizee@0.4.17: @@ -45152,7 +45970,7 @@ snapshots: merge@1.2.1: {} - meros@1.3.1(@types/node@22.15.35): + meros@1.3.2(@types/node@22.15.35): optionalDependencies: '@types/node': 22.15.35 @@ -45535,7 +46353,7 @@ snapshots: micromark@3.2.0: dependencies: '@types/debug': 4.1.12 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) decode-named-character-reference: 1.2.0 micromark-core-commonmark: 1.1.0 micromark-factory-space: 1.1.0 @@ -45557,7 +46375,7 @@ snapshots: micromark@4.0.2: dependencies: '@types/debug': 4.1.12 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) decode-named-character-reference: 1.2.0 devlop: 1.1.0 micromark-core-commonmark: 2.0.3 @@ -45623,11 +46441,11 @@ snapshots: min-indent@1.0.1: {} - mini-css-extract-plugin@2.9.3(webpack@5.101.0): + mini-css-extract-plugin@2.9.4(webpack@5.102.1): dependencies: - schema-utils: 4.3.2 - tapable: 2.2.2 - webpack: 5.101.0(webpack-cli@4.10.0) + schema-utils: 4.3.3 + tapable: 2.3.0 + webpack: 5.102.1(webpack-cli@4.10.0) minim@0.23.8: dependencies: @@ -45635,7 +46453,7 @@ snapshots: minimalistic-assert@1.0.1: {} - minimatch@10.0.3: + minimatch@10.1.1: dependencies: '@isaacs/brace-expansion': 5.0.0 @@ -45731,7 +46549,7 @@ snapshots: mkdirp@3.0.1: {} - mlly@1.7.4: + mlly@1.8.0: dependencies: acorn: 8.15.0 pathe: 2.0.3 @@ -45743,7 +46561,7 @@ snapshots: ansi-colors: 4.1.3 browser-stdout: 1.3.1 chokidar: 3.6.0 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) diff: 5.2.0 escape-string-regexp: 4.0.0 find-up: 5.0.0 @@ -45761,16 +46579,17 @@ snapshots: yargs-parser: 20.2.9 yargs-unparser: 2.0.0 - mocha@11.7.1: + mocha@11.7.4: dependencies: browser-stdout: 1.3.1 chokidar: 4.0.3 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) diff: 7.0.0 escape-string-regexp: 4.0.0 find-up: 5.0.0 glob: 10.4.5 he: 1.2.0 + is-path-inside: 3.0.3 js-yaml: 4.1.0 log-symbols: 4.1.0 minimatch: 9.0.5 @@ -45779,7 +46598,7 @@ snapshots: serialize-javascript: 6.0.2 strip-json-comments: 3.1.1 supports-color: 8.1.1 - workerpool: 9.3.3 + workerpool: 9.3.4 yargs: 17.7.2 yargs-parser: 21.1.1 yargs-unparser: 2.0.0 @@ -45804,13 +46623,13 @@ snapshots: vscode-languageserver-textdocument: 1.0.12 vscode-uri: 3.1.0 - monaco-page-objects@3.14.1(selenium-webdriver@4.34.0)(typescript@5.8.3): + monaco-page-objects@3.14.1(selenium-webdriver@4.38.0)(typescript@5.8.3): dependencies: clipboardy: 4.0.0 clone-deep: 4.0.1 compare-versions: 6.1.1 - fs-extra: 11.3.1 - selenium-webdriver: 4.34.0 + fs-extra: 11.3.2 + selenium-webdriver: 4.38.0 type-fest: 4.41.0 typescript: 5.8.3 @@ -45852,11 +46671,11 @@ snapshots: nan@2.23.0: {} - nano-spawn@1.0.2: {} + nano-spawn@2.0.0: {} nanoid@3.3.11: {} - nanoid@5.1.5: {} + nanoid@5.1.6: {} nanospinner@1.2.2: dependencies: @@ -45897,9 +46716,9 @@ snapshots: lower-case: 2.0.2 tslib: 2.8.1 - node-abi@3.75.0: + node-abi@3.80.0: dependencies: - semver: 7.7.2 + semver: 7.7.3 node-abort-controller@3.1.1: {} @@ -45965,14 +46784,14 @@ snapshots: node-gyp@9.4.1: dependencies: env-paths: 2.2.1 - exponential-backoff: 3.1.2 + exponential-backoff: 3.1.3 glob: 7.2.3 graceful-fs: 4.2.11 make-fetch-happen: 10.2.1 nopt: 6.0.0 npmlog: 6.0.2 rimraf: 3.0.2 - semver: 7.7.2 + semver: 7.7.3 tar: 6.2.1 which: 2.0.2 transitivePeerDependencies: @@ -45980,15 +46799,15 @@ snapshots: node-int64@0.4.0: {} - node-loader@2.0.0(webpack@5.101.0): + node-loader@2.0.0(webpack@5.102.1): dependencies: loader-utils: 2.0.4 - webpack: 5.101.0(webpack-cli@5.1.4) + webpack: 5.102.1(webpack-cli@5.1.4) - node-loader@2.1.0(webpack@5.101.0): + node-loader@2.1.0(webpack@5.102.1): dependencies: loader-utils: 2.0.4 - webpack: 5.101.0(webpack-cli@4.10.0) + webpack: 5.102.1(webpack-cli@4.10.0) node-notifier@5.4.5: dependencies: @@ -46007,7 +46826,7 @@ snapshots: which: 1.3.1 optional: true - node-releases@2.0.19: {} + node-releases@2.0.27: {} node-sarif-builder@2.0.3: dependencies: @@ -46036,7 +46855,7 @@ snapshots: normalize-package-data@2.5.0: dependencies: hosted-git-info: 2.8.9 - resolve: 1.22.10 + resolve: 1.22.11 semver: 5.7.2 validate-npm-package-license: 3.0.4 @@ -46044,13 +46863,13 @@ snapshots: dependencies: hosted-git-info: 4.1.0 is-core-module: 2.16.1 - semver: 7.7.2 + semver: 7.7.3 validate-npm-package-license: 3.0.4 normalize-package-data@6.0.2: dependencies: hosted-git-info: 7.0.2 - semver: 7.7.2 + semver: 7.7.3 validate-npm-package-license: 3.0.4 normalize-path@2.1.1: @@ -46070,7 +46889,7 @@ snapshots: normalize-url@6.1.0: {} - normalize-url@8.0.2: {} + normalize-url@8.1.0: {} npm-run-path@2.0.2: dependencies: @@ -46084,6 +46903,11 @@ snapshots: dependencies: path-key: 4.0.0 + npm-run-path@6.0.0: + dependencies: + path-key: 4.0.0 + unicorn-magic: 0.3.0 + npmlog@4.1.2: dependencies: are-we-there-yet: 1.1.7 @@ -46117,7 +46941,7 @@ snapshots: nwmatcher@1.4.4: {} - nwsapi@2.2.21: {} + nwsapi@2.2.22: {} nypm@0.5.4: dependencies: @@ -46298,7 +47122,7 @@ snapshots: ora@8.2.0: dependencies: - chalk: 5.5.0 + chalk: 5.6.2 cli-cursor: 5.0.0 cli-spinners: 2.9.2 is-interactive: 2.0.0 @@ -46306,7 +47130,7 @@ snapshots: log-symbols: 6.0.0 stdin-discarder: 0.2.2 string-width: 7.2.0 - strip-ansi: 7.1.0 + strip-ansi: 7.1.2 original@1.0.2: dependencies: @@ -46425,7 +47249,7 @@ snapshots: p-retry@6.2.1: dependencies: '@types/retry': 0.12.2 - is-network-error: 1.1.0 + is-network-error: 1.3.0 retry: 0.13.1 p-timeout@3.2.0: @@ -46491,23 +47315,25 @@ snapshots: parse-json@2.2.0: dependencies: - error-ex: 1.3.2 + error-ex: 1.3.4 parse-json@5.2.0: dependencies: '@babel/code-frame': 7.27.1 - error-ex: 1.3.2 + error-ex: 1.3.4 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 parse-json@7.1.1: dependencies: '@babel/code-frame': 7.27.1 - error-ex: 1.3.2 + error-ex: 1.3.4 json-parse-even-better-errors: 3.0.2 lines-and-columns: 2.0.4 type-fest: 3.13.1 + parse-ms@4.0.0: {} + parse-passwd@1.0.0: {} parse-semver@1.1.1: @@ -46580,7 +47406,7 @@ snapshots: path-scurry@2.0.0: dependencies: - lru-cache: 11.1.0 + lru-cache: 11.2.2 minipass: 7.1.2 path-to-regexp@0.1.12: {} @@ -46591,7 +47417,7 @@ snapshots: path-to-regexp@3.3.0: {} - path-to-regexp@8.2.0: {} + path-to-regexp@8.3.0: {} path-type@1.1.0: dependencies: @@ -46629,9 +47455,10 @@ snapshots: pdfjs-dist@4.8.69: optionalDependencies: - canvas: 3.1.2 + canvas: 3.2.0 path2d: 0.2.2 transitivePeerDependencies: + - bare-abort-controller - bare-buffer - react-native-b4a @@ -46704,7 +47531,7 @@ snapshots: pkg-types@1.3.1: dependencies: confbox: 0.1.8 - mlly: 1.7.4 + mlly: 1.8.0 pathe: 2.0.3 playwright-core@1.55.1: {} @@ -46742,7 +47569,7 @@ snapshots: polished@4.3.1: dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 popmotion@11.0.3: dependencies: @@ -46751,10 +47578,10 @@ snapshots: style-value-types: 5.0.0 tslib: 2.8.1 - portfinder@1.0.37: + portfinder@1.0.38: dependencies: async: 3.2.6 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -46780,7 +47607,7 @@ snapshots: postcss-colormin@5.3.1(postcss@8.5.6): dependencies: - browserslist: 4.25.1 + browserslist: 4.27.0 caniuse-api: 3.0.0 colord: 2.9.3 postcss: 8.5.6 @@ -46793,7 +47620,7 @@ snapshots: postcss-convert-values@5.1.3(postcss@8.5.6): dependencies: - browserslist: 4.25.1 + browserslist: 4.27.0 postcss: 8.5.6 postcss-value-parser: 4.2.0 @@ -46851,9 +47678,9 @@ snapshots: postcss: 8.5.6 postcss-value-parser: 4.2.0 read-cache: 1.0.0 - resolve: 1.22.10 + resolve: 1.22.11 - postcss-js@4.0.1(postcss@8.5.6): + postcss-js@4.1.0(postcss@8.5.6): dependencies: camelcase-css: 2.0.1 postcss: 8.5.6 @@ -46865,21 +47692,21 @@ snapshots: postcss-load-options: 1.2.0 postcss-load-plugins: 2.3.0 - postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)): + postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.14.0(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)): dependencies: lilconfig: 2.1.0 yaml: 1.10.2 optionalDependencies: postcss: 8.5.6 - ts-node: 10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3) + ts-node: 10.9.2(@swc/core@1.14.0(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3) - postcss-load-config@4.0.2(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)): + postcss-load-config@6.0.1(jiti@1.21.7)(postcss@8.5.6)(yaml@2.8.1): dependencies: lilconfig: 3.1.3 - yaml: 2.8.1 optionalDependencies: + jiti: 1.21.7 postcss: 8.5.6 - ts-node: 10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3) + yaml: 2.8.1 postcss-load-options@1.2.0: dependencies: @@ -46898,34 +47725,34 @@ snapshots: postcss-load-config: 1.2.0 schema-utils: 0.3.0 - postcss-loader@4.3.0(postcss@7.0.39)(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))): + postcss-loader@4.3.0(postcss@7.0.39)(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))): dependencies: cosmiconfig: 7.1.0 klona: 2.0.6 loader-utils: 2.0.4 postcss: 7.0.39 schema-utils: 3.3.0 - semver: 7.7.2 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) + semver: 7.7.3 + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17)) - postcss-loader@4.3.0(postcss@7.0.39)(webpack@5.101.0): + postcss-loader@4.3.0(postcss@7.0.39)(webpack@5.102.1): dependencies: cosmiconfig: 7.1.0 klona: 2.0.6 loader-utils: 2.0.4 postcss: 7.0.39 schema-utils: 3.3.0 - semver: 7.7.2 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + semver: 7.7.3 + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1) - postcss-loader@8.1.1(postcss@8.5.6)(typescript@5.8.3)(webpack@5.101.0): + postcss-loader@8.2.0(postcss@8.5.6)(typescript@5.8.3)(webpack@5.102.1): dependencies: cosmiconfig: 9.0.0(typescript@5.8.3) - jiti: 1.21.7 + jiti: 2.6.1 postcss: 8.5.6 - semver: 7.7.2 + semver: 7.7.3 optionalDependencies: - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + webpack: 5.102.1(webpack-cli@6.0.1) transitivePeerDependencies: - typescript @@ -46955,7 +47782,7 @@ snapshots: postcss-merge-rules@5.1.4(postcss@8.5.6): dependencies: - browserslist: 4.25.1 + browserslist: 4.27.0 caniuse-api: 3.0.0 cssnano-utils: 3.1.0(postcss@8.5.6) postcss: 8.5.6 @@ -46995,7 +47822,7 @@ snapshots: postcss-minify-params@5.1.4(postcss@8.5.6): dependencies: - browserslist: 4.25.1 + browserslist: 4.27.0 cssnano-utils: 3.1.0(postcss@8.5.6) postcss: 8.5.6 postcss-value-parser: 4.2.0 @@ -47125,7 +47952,7 @@ snapshots: postcss-normalize-unicode@5.1.1(postcss@8.5.6): dependencies: - browserslist: 4.25.1 + browserslist: 4.27.0 postcss: 8.5.6 postcss-value-parser: 4.2.0 @@ -47169,7 +47996,7 @@ snapshots: postcss-reduce-initial@5.1.2(postcss@8.5.6): dependencies: - browserslist: 4.25.1 + browserslist: 4.27.0 caniuse-api: 3.0.0 postcss: 8.5.6 @@ -47266,19 +48093,20 @@ snapshots: prebuild-install@7.1.3: dependencies: - detect-libc: 2.0.4 + detect-libc: 2.1.2 expand-template: 2.0.3 github-from-package: 0.0.0 minimist: 1.2.8 mkdirp-classic: 0.5.3 napi-build-utils: 2.0.0 - node-abi: 3.75.0 + node-abi: 3.80.0 pump: 3.0.3 rc: 1.2.8 simple-get: 4.0.1 tar-fs: 3.1.1 tunnel-agent: 0.6.0 transitivePeerDependencies: + - bare-abort-controller - bare-buffer - react-native-b4a @@ -47288,6 +48116,8 @@ snapshots: prepend-http@1.0.4: {} + presentable-error@0.0.1: {} + prettier-linter-helpers@1.0.0: dependencies: fast-diff: 1.3.0 @@ -47343,6 +48173,10 @@ snapshots: pretty-hrtime@1.0.3: {} + pretty-ms@9.3.0: + dependencies: + parse-ms: 4.0.0 + prism-react-renderer@2.4.1(react@18.2.0): dependencies: '@types/prismjs': 1.26.5 @@ -47363,7 +48197,7 @@ snapshots: dependencies: chalk: 2.4.2 cli-spinners: 1.3.1 - humanize-duration: 3.33.0 + humanize-duration: 3.33.1 log-update: 2.3.0 progress@2.0.3: {} @@ -47472,7 +48306,7 @@ snapshots: puppeteer-core@2.1.1: dependencies: '@types/mime-types': 2.1.4 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) extract-zip: 1.7.0 https-proxy-agent: 4.0.0 mime: 2.6.0 @@ -47490,6 +48324,10 @@ snapshots: q@1.5.1: {} + qified@0.5.1: + dependencies: + hookified: 1.12.2 + qs@6.13.0: dependencies: side-channel: 1.1.0 @@ -47545,28 +48383,28 @@ snapshots: iconv-lite: 0.4.24 unpipe: 1.0.0 - raw-body@3.0.0: + raw-body@3.0.1: dependencies: bytes: 3.1.2 http-errors: 2.0.0 - iconv-lite: 0.6.3 + iconv-lite: 0.7.0 unpipe: 1.0.0 - raw-loader@4.0.2(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))): + raw-loader@4.0.2(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17)) - raw-loader@4.0.2(webpack@5.101.0): + raw-loader@4.0.2(webpack@5.102.1): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1) rc-config-loader@4.1.3: dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) js-yaml: 4.1.0 json5: 2.2.3 require-from-string: 2.0.2 @@ -47666,8 +48504,8 @@ snapshots: react-docgen@5.4.3: dependencies: '@babel/core': 7.27.7 - '@babel/generator': 7.28.0 - '@babel/runtime': 7.28.2 + '@babel/generator': 7.28.5 + '@babel/runtime': 7.28.4 ast-types: 0.14.2 commander: 2.20.3 doctrine: 3.0.0 @@ -47681,30 +48519,30 @@ snapshots: react-docgen@7.1.1: dependencies: '@babel/core': 7.27.7 - '@babel/traverse': 7.28.0 - '@babel/types': 7.28.2 + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.28.0 '@types/doctrine': 0.0.9 '@types/resolve': 1.20.6 doctrine: 3.0.0 - resolve: 1.22.10 - strip-indent: 4.0.0 + resolve: 1.22.11 + strip-indent: 4.1.1 transitivePeerDependencies: - supports-color - react-docgen@8.0.0: + react-docgen@8.0.2: dependencies: - '@babel/core': 7.27.7 - '@babel/traverse': 7.28.0 - '@babel/types': 7.28.2 + '@babel/core': 7.28.5 + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.28.0 '@types/doctrine': 0.0.9 '@types/resolve': 1.20.6 doctrine: 3.0.0 - resolve: 1.22.10 - strip-indent: 4.0.0 + resolve: 1.22.11 + strip-indent: 4.1.1 transitivePeerDependencies: - supports-color @@ -47759,12 +48597,12 @@ snapshots: react-error-boundary@3.1.4(react@18.2.0): dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 react: 18.2.0 react-error-boundary@6.0.0(react@19.1.0): dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 react: 19.1.0 react-error-overlay@4.0.1: {} @@ -47813,7 +48651,7 @@ snapshots: react-inspector@5.1.1(react@18.2.0): dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 is-dom: 1.1.0 prop-types: 15.8.1 react: 18.2.0 @@ -47826,29 +48664,29 @@ snapshots: dependencies: react: 19.1.0 - react-intl@7.1.11(react@18.2.0)(typescript@5.8.3): + react-intl@7.1.14(react@18.2.0)(typescript@5.8.3): dependencies: - '@formatjs/ecma402-abstract': 2.3.4 - '@formatjs/icu-messageformat-parser': 2.11.2 - '@formatjs/intl': 3.1.6(typescript@5.8.3) + '@formatjs/ecma402-abstract': 2.3.6 + '@formatjs/icu-messageformat-parser': 2.11.4 + '@formatjs/intl': 3.1.8(typescript@5.8.3) '@types/hoist-non-react-statics': 3.3.7(@types/react@18.2.0) '@types/react': 18.2.0 hoist-non-react-statics: 3.3.2 - intl-messageformat: 10.7.16 + intl-messageformat: 10.7.18 react: 18.2.0 tslib: 2.8.1 optionalDependencies: typescript: 5.8.3 - react-intl@7.1.11(react@19.1.0)(typescript@4.9.5): + react-intl@7.1.14(react@19.1.0)(typescript@4.9.5): dependencies: - '@formatjs/ecma402-abstract': 2.3.4 - '@formatjs/icu-messageformat-parser': 2.11.2 - '@formatjs/intl': 3.1.6(typescript@4.9.5) + '@formatjs/ecma402-abstract': 2.3.6 + '@formatjs/icu-messageformat-parser': 2.11.4 + '@formatjs/intl': 3.1.8(typescript@4.9.5) '@types/hoist-non-react-statics': 3.3.7(@types/react@18.2.0) '@types/react': 18.2.0 hoist-non-react-statics: 3.3.2 - intl-messageformat: 10.7.16 + intl-messageformat: 10.7.18 react: 19.1.0 tslib: 2.8.1 optionalDependencies: @@ -47862,9 +48700,9 @@ snapshots: react-is@18.3.1: {} - react-is@19.1.1: {} + react-is@19.2.0: {} - react-json-view-lite@2.4.2(react@18.2.0): + react-json-view-lite@2.5.0(react@18.2.0): dependencies: react: 18.2.0 @@ -47973,6 +48811,7 @@ snapshots: optionalDependencies: '@types/react': 18.2.0 transitivePeerDependencies: + - bare-abort-controller - bare-buffer - react-native-b4a @@ -47980,7 +48819,7 @@ snapshots: dependencies: '@types/use-sync-external-store': 0.0.6 react: 18.2.0 - use-sync-external-store: 1.5.0(react@18.2.0) + use-sync-external-store: 1.6.0(react@18.2.0) optionalDependencies: '@types/react': 18.2.0 redux: 5.0.1 @@ -48055,22 +48894,22 @@ snapshots: optionalDependencies: '@types/react': 18.2.0 - react-scripts-ts@3.1.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(babel-core@7.0.0-bridge.0(@babel/core@7.27.7))(babel-runtime@6.26.0)(typescript@5.8.3)(webpack-cli@6.0.1): + react-scripts-ts@3.1.0(@swc/core@1.14.0(@swc/helpers@0.5.17))(babel-core@7.0.0-bridge.0(@babel/core@7.27.7))(babel-runtime@6.26.0)(typescript@5.8.3)(webpack-cli@6.0.1): dependencies: autoprefixer: 7.1.6 babel-jest: 20.0.3 - babel-loader: 7.1.2(babel-core@7.0.0-bridge.0(@babel/core@7.27.7))(webpack@5.101.0) + babel-loader: 7.1.2(babel-core@7.0.0-bridge.0(@babel/core@7.27.7))(webpack@5.102.1) babel-preset-react-app: 3.1.2(babel-runtime@6.26.0) case-sensitive-paths-webpack-plugin: 2.1.1 chalk: 1.1.3 css-loader: 0.28.7 dotenv: 4.0.0 dotenv-expand: 4.2.0 - extract-text-webpack-plugin: 3.0.2(webpack@5.101.0) - file-loader: 1.1.5(webpack@5.101.0) - fork-ts-checker-webpack-plugin: 0.2.10(typescript@5.8.3)(webpack@5.101.0) + extract-text-webpack-plugin: 3.0.2(webpack@5.102.1) + file-loader: 1.1.5(webpack@5.102.1) + fork-ts-checker-webpack-plugin: 0.2.10(typescript@5.8.3)(webpack@5.102.1) fs-extra: 3.0.1 - html-webpack-plugin: 2.29.0(webpack@5.101.0) + html-webpack-plugin: 2.29.0(webpack@5.102.1) jest: 20.0.4 object-assign: 4.1.1 postcss-flexbugs-fixes: 3.2.0 @@ -48081,7 +48920,7 @@ snapshots: resolve: 1.6.0 source-map-loader: 0.2.4 style-loader: 0.19.0 - sw-precache-webpack-plugin: 0.11.4(webpack@5.101.0) + sw-precache-webpack-plugin: 0.11.4(webpack@5.102.1) ts-jest: 22.0.1(jest@20.0.4)(typescript@5.8.3) ts-loader: 2.3.7 tsconfig-paths-webpack-plugin: 2.0.0 @@ -48089,11 +48928,11 @@ snapshots: tslint-config-prettier: 1.18.0 tslint-react: 3.6.0(tslint@5.20.1(typescript@5.8.3))(typescript@5.8.3) typescript: 5.8.3 - uglifyjs-webpack-plugin: 1.2.5(webpack@5.101.0) - url-loader: 0.6.2(file-loader@1.1.5(webpack@5.101.0)) - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) - webpack-dev-server: 5.2.2(webpack-cli@6.0.1)(webpack@5.101.0) - webpack-manifest-plugin: 1.3.2(webpack@5.101.0) + uglifyjs-webpack-plugin: 1.2.5(webpack@5.102.1) + url-loader: 0.6.2(file-loader@1.1.5(webpack@5.102.1)) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + webpack-dev-server: 5.2.2(webpack-cli@6.0.1)(webpack@5.102.1) + webpack-manifest-plugin: 1.3.2(webpack@5.102.1) whatwg-fetch: 2.0.3 optionalDependencies: fsevents: 1.2.13 @@ -48109,22 +48948,22 @@ snapshots: - utf-8-validate - webpack-cli - react-scripts-ts@3.1.0(babel-core@7.0.0-bridge.0(@babel/core@7.27.7))(babel-runtime@6.26.0)(typescript@5.8.3): + react-scripts-ts@3.1.0(babel-core@7.0.0-bridge.0(@babel/core@7.28.5))(babel-runtime@6.26.0)(typescript@5.8.3): dependencies: autoprefixer: 7.1.6 babel-jest: 20.0.3 - babel-loader: 7.1.2(babel-core@7.0.0-bridge.0(@babel/core@7.27.7))(webpack@5.101.0) + babel-loader: 7.1.2(babel-core@7.0.0-bridge.0(@babel/core@7.28.5))(webpack@5.102.1) babel-preset-react-app: 3.1.2(babel-runtime@6.26.0) case-sensitive-paths-webpack-plugin: 2.1.1 chalk: 1.1.3 css-loader: 0.28.7 dotenv: 4.0.0 dotenv-expand: 4.2.0 - extract-text-webpack-plugin: 3.0.2(webpack@5.101.0) - file-loader: 1.1.5(webpack@5.101.0) - fork-ts-checker-webpack-plugin: 0.2.10(typescript@5.8.3)(webpack@5.101.0) + extract-text-webpack-plugin: 3.0.2(webpack@5.102.1) + file-loader: 1.1.5(webpack@5.102.1) + fork-ts-checker-webpack-plugin: 0.2.10(typescript@5.8.3)(webpack@5.102.1) fs-extra: 3.0.1 - html-webpack-plugin: 2.29.0(webpack@5.101.0) + html-webpack-plugin: 2.29.0(webpack@5.102.1) jest: 20.0.4 object-assign: 4.1.1 postcss-flexbugs-fixes: 3.2.0 @@ -48135,7 +48974,7 @@ snapshots: resolve: 1.6.0 source-map-loader: 0.2.4 style-loader: 0.19.0 - sw-precache-webpack-plugin: 0.11.4(webpack@5.101.0) + sw-precache-webpack-plugin: 0.11.4(webpack@5.102.1) ts-jest: 22.0.1(jest@20.0.4)(typescript@5.8.3) ts-loader: 2.3.7 tsconfig-paths-webpack-plugin: 2.0.0 @@ -48143,11 +48982,11 @@ snapshots: tslint-config-prettier: 1.18.0 tslint-react: 3.6.0(tslint@5.20.1(typescript@5.8.3))(typescript@5.8.3) typescript: 5.8.3 - uglifyjs-webpack-plugin: 1.2.5(webpack@5.101.0) - url-loader: 0.6.2(file-loader@1.1.5(webpack@5.101.0)) - webpack: 5.101.0(webpack-cli@4.10.0) - webpack-dev-server: 5.2.2(webpack@5.101.0) - webpack-manifest-plugin: 1.3.2(webpack@5.101.0) + uglifyjs-webpack-plugin: 1.2.5(webpack@5.102.1) + url-loader: 0.6.2(file-loader@1.1.5(webpack@5.102.1)) + webpack: 5.102.1(webpack-cli@4.10.0) + webpack-dev-server: 5.2.2(webpack@5.102.1) + webpack-manifest-plugin: 1.3.2(webpack@5.102.1) whatwg-fetch: 2.0.3 optionalDependencies: fsevents: 1.2.13 @@ -48204,9 +49043,9 @@ snapshots: optionalDependencies: '@types/react': 18.2.0 - react-syntax-highlighter@15.6.1(react@18.2.0): + react-syntax-highlighter@15.6.6(react@18.2.0): dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 highlight.js: 10.7.3 highlightjs-vue: 1.0.0 lowlight: 1.20.0 @@ -48217,12 +49056,12 @@ snapshots: react-test-renderer@19.1.1(react@18.2.0): dependencies: react: 18.2.0 - react-is: 19.1.1 + react-is: 19.2.0 scheduler: 0.26.0 react-textarea-autosize@8.5.9(@types/react@18.2.0)(react@18.2.0): dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 react: 18.2.0 use-composed-ref: 1.4.0(@types/react@18.2.0)(react@18.2.0) use-latest: 1.3.0(@types/react@18.2.0)(react@18.2.0) @@ -48371,15 +49210,15 @@ snapshots: rechoir@0.6.2: dependencies: - resolve: 1.22.10 + resolve: 1.22.11 rechoir@0.7.1: dependencies: - resolve: 1.22.10 + resolve: 1.22.11 rechoir@0.8.0: dependencies: - resolve: 1.22.10 + resolve: 1.22.11 recursive-readdir@2.2.1: dependencies: @@ -48398,7 +49237,7 @@ snapshots: redent@4.0.0: dependencies: indent-string: 5.0.0 - strip-indent: 4.0.0 + strip-indent: 4.1.1 reduce-css-calc@1.3.0: dependencies: @@ -48416,7 +49255,7 @@ snapshots: redux@4.2.1: dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 redux@5.0.1: {} @@ -48437,7 +49276,7 @@ snapshots: parse-entities: 2.0.0 prismjs: 1.30.0 - regenerate-unicode-properties@10.2.0: + regenerate-unicode-properties@10.2.2: dependencies: regenerate: 1.4.2 @@ -48472,14 +49311,14 @@ snapshots: regjsgen: 0.2.0 regjsparser: 0.1.5 - regexpu-core@6.2.0: + regexpu-core@6.4.0: dependencies: regenerate: 1.4.2 - regenerate-unicode-properties: 10.2.0 + regenerate-unicode-properties: 10.2.2 regjsgen: 0.8.0 - regjsparser: 0.12.0 + regjsparser: 0.13.0 unicode-match-property-ecmascript: 2.0.0 - unicode-match-property-value-ecmascript: 2.2.0 + unicode-match-property-value-ecmascript: 2.2.1 registry-auth-token@3.4.0: dependencies: @@ -48498,9 +49337,9 @@ snapshots: dependencies: jsesc: 0.5.0 - regjsparser@0.12.0: + regjsparser@0.13.0: dependencies: - jsesc: 3.0.2 + jsesc: 3.1.0 rehype-raw@6.1.1: dependencies: @@ -48734,7 +49573,7 @@ snapshots: dependencies: path-parse: 1.0.7 - resolve@1.22.10: + resolve@1.22.11: dependencies: is-core-module: 2.16.1 path-parse: 1.0.7 @@ -48804,16 +49643,16 @@ snapshots: glob: 11.0.3 package-json-from-dist: 1.0.1 - rollup-plugin-import-css@3.5.8(rollup@4.46.2): + rollup-plugin-import-css@3.5.8(rollup@4.52.5): dependencies: - '@rollup/pluginutils': 5.2.0(rollup@4.46.2) - rollup: 4.46.2 + '@rollup/pluginutils': 5.3.0(rollup@4.52.5) + rollup: 4.52.5 - rollup-plugin-peer-deps-external@2.2.4(rollup@4.46.2): + rollup-plugin-peer-deps-external@2.2.4(rollup@4.52.5): dependencies: - rollup: 4.46.2 + rollup: 4.52.5 - rollup-plugin-postcss@4.0.2(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)): + rollup-plugin-postcss@4.0.2(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.14.0(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)): dependencies: chalk: 4.1.2 concat-with-sourcemaps: 1.1.0 @@ -48822,10 +49661,10 @@ snapshots: p-queue: 6.6.2 pify: 5.0.0 postcss: 8.5.6 - postcss-load-config: 3.1.4(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)) + postcss-load-config: 3.1.4(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.14.0(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)) postcss-modules: 4.3.1(postcss@8.5.6) promise.series: 0.2.0 - resolve: 1.22.10 + resolve: 1.22.11 rollup-pluginutils: 2.8.2 safe-identifier: 0.4.2 style-inject: 0.3.0 @@ -48867,13 +49706,13 @@ snapshots: tslib: 2.0.1 typescript: 3.9.10 - rollup-plugin-typescript2@0.36.0(rollup@4.46.2)(typescript@5.8.3): + rollup-plugin-typescript2@0.36.0(rollup@4.52.5)(typescript@5.8.3): dependencies: '@rollup/pluginutils': 4.2.1 find-cache-dir: 3.3.2 fs-extra: 10.1.0 - rollup: 4.46.2 - semver: 7.7.2 + rollup: 4.52.5 + semver: 7.7.3 tslib: 2.8.1 typescript: 5.8.3 @@ -48892,45 +49731,47 @@ snapshots: '@types/node': 22.15.35 acorn: 7.4.1 - rollup@4.46.2: + rollup@4.52.5: dependencies: '@types/estree': 1.0.8 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.46.2 - '@rollup/rollup-android-arm64': 4.46.2 - '@rollup/rollup-darwin-arm64': 4.46.2 - '@rollup/rollup-darwin-x64': 4.46.2 - '@rollup/rollup-freebsd-arm64': 4.46.2 - '@rollup/rollup-freebsd-x64': 4.46.2 - '@rollup/rollup-linux-arm-gnueabihf': 4.46.2 - '@rollup/rollup-linux-arm-musleabihf': 4.46.2 - '@rollup/rollup-linux-arm64-gnu': 4.46.2 - '@rollup/rollup-linux-arm64-musl': 4.46.2 - '@rollup/rollup-linux-loongarch64-gnu': 4.46.2 - '@rollup/rollup-linux-ppc64-gnu': 4.46.2 - '@rollup/rollup-linux-riscv64-gnu': 4.46.2 - '@rollup/rollup-linux-riscv64-musl': 4.46.2 - '@rollup/rollup-linux-s390x-gnu': 4.46.2 - '@rollup/rollup-linux-x64-gnu': 4.46.2 - '@rollup/rollup-linux-x64-musl': 4.46.2 - '@rollup/rollup-win32-arm64-msvc': 4.46.2 - '@rollup/rollup-win32-ia32-msvc': 4.46.2 - '@rollup/rollup-win32-x64-msvc': 4.46.2 + '@rollup/rollup-android-arm-eabi': 4.52.5 + '@rollup/rollup-android-arm64': 4.52.5 + '@rollup/rollup-darwin-arm64': 4.52.5 + '@rollup/rollup-darwin-x64': 4.52.5 + '@rollup/rollup-freebsd-arm64': 4.52.5 + '@rollup/rollup-freebsd-x64': 4.52.5 + '@rollup/rollup-linux-arm-gnueabihf': 4.52.5 + '@rollup/rollup-linux-arm-musleabihf': 4.52.5 + '@rollup/rollup-linux-arm64-gnu': 4.52.5 + '@rollup/rollup-linux-arm64-musl': 4.52.5 + '@rollup/rollup-linux-loong64-gnu': 4.52.5 + '@rollup/rollup-linux-ppc64-gnu': 4.52.5 + '@rollup/rollup-linux-riscv64-gnu': 4.52.5 + '@rollup/rollup-linux-riscv64-musl': 4.52.5 + '@rollup/rollup-linux-s390x-gnu': 4.52.5 + '@rollup/rollup-linux-x64-gnu': 4.52.5 + '@rollup/rollup-linux-x64-musl': 4.52.5 + '@rollup/rollup-openharmony-arm64': 4.52.5 + '@rollup/rollup-win32-arm64-msvc': 4.52.5 + '@rollup/rollup-win32-ia32-msvc': 4.52.5 + '@rollup/rollup-win32-x64-gnu': 4.52.5 + '@rollup/rollup-win32-x64-msvc': 4.52.5 fsevents: 2.3.3 router@2.2.0: dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) depd: 2.0.0 is-promise: 4.0.0 parseurl: 1.3.3 - path-to-regexp: 8.2.0 + path-to-regexp: 8.3.0 transitivePeerDependencies: - supports-color rsvp@4.8.5: {} - run-applescript@7.0.0: {} + run-applescript@7.1.0: {} run-async@2.4.1: {} @@ -49015,31 +49856,31 @@ snapshots: dependencies: truncate-utf8-bytes: 1.0.2 - sass-loader@13.3.3(sass@1.90.0)(webpack@5.101.0): + sass-loader@13.3.3(sass@1.93.3)(webpack@5.102.1): dependencies: neo-async: 2.6.2 - webpack: 5.101.0(webpack-cli@5.1.4) + webpack: 5.102.1(webpack-cli@5.1.4) optionalDependencies: - sass: 1.90.0 + sass: 1.93.3 - sass-loader@16.0.5(sass@1.90.0)(webpack@5.101.0): + sass-loader@16.0.6(sass@1.93.3)(webpack@5.102.1): dependencies: neo-async: 2.6.2 optionalDependencies: - sass: 1.90.0 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + sass: 1.93.3 + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1) - sass@1.90.0: + sass@1.93.3: dependencies: chokidar: 4.0.3 - immutable: 5.1.3 + immutable: 5.1.4 source-map-js: 1.2.1 optionalDependencies: '@parcel/watcher': 2.5.1 sax@1.2.4: {} - sax@1.4.1: {} + sax@1.4.2: {} saxes@3.1.11: dependencies: @@ -49082,7 +49923,7 @@ snapshots: ajv: 6.12.6 ajv-keywords: 3.5.2(ajv@6.12.6) - schema-utils@4.3.2: + schema-utils@4.3.3: dependencies: '@types/json-schema': 7.0.15 ajv: 8.17.1 @@ -49095,7 +49936,7 @@ snapshots: '@secretlint/formatter': 9.3.4 '@secretlint/node': 9.3.4 '@secretlint/profiler': 9.3.4 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) globby: 14.1.0 read-pkg: 8.1.0 transitivePeerDependencies: @@ -49105,11 +49946,11 @@ snapshots: select-hose@2.0.0: {} - selenium-webdriver@4.34.0: + selenium-webdriver@4.38.0: dependencies: - '@bazel/runfiles': 6.3.1 + '@bazel/runfiles': 6.5.0 jszip: 3.10.1 - tmp: 0.2.4 + tmp: 0.2.5 ws: 8.18.3 transitivePeerDependencies: - bufferutil @@ -49117,7 +49958,7 @@ snapshots: selfsigned@2.4.1: dependencies: - '@types/node-forge': 1.3.13 + '@types/node-forge': 1.3.14 node-forge: 1.3.1 semver-diff@2.1.0: @@ -49130,7 +49971,7 @@ snapshots: semver@6.3.1: {} - semver@7.7.2: {} + semver@7.7.3: {} send@0.19.0: dependencies: @@ -49150,7 +49991,7 @@ snapshots: send@1.2.0: dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) encodeurl: 2.0.0 escape-html: 1.0.3 etag: 1.8.1 @@ -49273,7 +50114,7 @@ snapshots: dependencies: inherits: 2.0.4 safe-buffer: 5.2.1 - to-buffer: 1.2.1 + to-buffer: 1.2.2 shallow-clone@3.0.1: dependencies: @@ -49356,21 +50197,17 @@ snapshots: once: 1.4.0 simple-concat: 1.0.1 - simple-swizzle@0.2.2: - dependencies: - is-arrayish: 0.3.2 - sisteransi@1.0.5: {} size-limit@11.2.0: dependencies: bytes-iec: 3.1.1 chokidar: 4.0.3 - jiti: 2.5.1 + jiti: 2.6.1 lilconfig: 3.1.3 nanospinner: 1.2.2 picocolors: 1.1.1 - tinyglobby: 0.2.14 + tinyglobby: 0.2.15 slash@1.0.0: {} @@ -49394,15 +50231,10 @@ snapshots: astral-regex: 2.0.0 is-fullwidth-code-point: 3.0.0 - slice-ansi@5.0.0: + slice-ansi@7.1.2: dependencies: - ansi-styles: 6.2.1 - is-fullwidth-code-point: 4.0.0 - - slice-ansi@7.1.0: - dependencies: - ansi-styles: 6.2.1 - is-fullwidth-code-point: 5.0.0 + ansi-styles: 6.2.3 + is-fullwidth-code-point: 5.1.0 slugify@1.6.6: {} @@ -49431,14 +50263,14 @@ snapshots: socks-proxy-agent@7.0.0: dependencies: agent-base: 6.0.2 - debug: 4.4.1(supports-color@8.1.1) - socks: 2.8.6 + debug: 4.4.3(supports-color@8.1.1) + socks: 2.8.7 transitivePeerDependencies: - supports-color - socks@2.8.6: + socks@2.8.7: dependencies: - ip-address: 9.0.5 + ip-address: 10.0.1 smart-buffer: 4.2.0 sort-keys@1.1.2: @@ -49456,17 +50288,17 @@ snapshots: async: 2.6.4 loader-utils: 1.4.2 - source-map-loader@4.0.2(webpack@5.101.0): + source-map-loader@4.0.2(webpack@5.102.1): dependencies: iconv-lite: 0.6.3 source-map-js: 1.2.1 - webpack: 5.101.0(webpack-cli@5.1.4) + webpack: 5.102.1(webpack-cli@5.1.4) - source-map-loader@5.0.0(webpack@5.101.0): + source-map-loader@5.0.0(webpack@5.102.1): dependencies: iconv-lite: 0.6.3 source-map-js: 1.2.1 - webpack: 5.101.0(webpack-cli@4.10.0) + webpack: 5.102.1(webpack-cli@5.1.4) source-map-resolve@0.6.0: dependencies: @@ -49508,7 +50340,7 @@ snapshots: spawn-rx@5.1.2: dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) rxjs: 7.8.2 transitivePeerDependencies: - supports-color @@ -49529,7 +50361,7 @@ snapshots: spdy-transport@3.0.0: dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) detect-node: 2.1.0 hpack.js: 2.1.6 obuf: 1.1.2 @@ -49540,7 +50372,7 @@ snapshots: spdy@4.0.2: dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) handle-thing: 2.0.1 http-deceiver: 1.2.7 select-hose: 2.0.0 @@ -49550,8 +50382,6 @@ snapshots: sprintf-js@1.0.3: {} - sprintf-js@1.1.3: {} - sshpk@1.18.0: dependencies: asn1: 0.2.6 @@ -49645,7 +50475,7 @@ snapshots: - supports-color - utf-8-validate - storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.5.3): + storybook@9.1.16(@testing-library/dom@10.4.1)(prettier@3.5.3): dependencies: '@storybook/global': 5.0.0 '@testing-library/jest-dom': 6.6.4 @@ -49654,10 +50484,10 @@ snapshots: '@vitest/mocker': 3.2.4 '@vitest/spy': 3.2.4 better-opn: 3.0.2 - esbuild: 0.25.8 - esbuild-register: 3.6.0(esbuild@0.25.8) + esbuild: 0.25.12 + esbuild-register: 3.6.0(esbuild@0.25.12) recast: 0.23.11 - semver: 7.7.2 + semver: 7.7.3 ws: 8.18.3 optionalDependencies: prettier: 3.5.3 @@ -49679,7 +50509,7 @@ snapshots: streamroller@3.1.5: dependencies: date-format: 4.0.14 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) fs-extra: 8.1.0 transitivePeerDependencies: - supports-color @@ -49690,6 +50520,7 @@ snapshots: fast-fifo: 1.3.2 text-decoder: 1.2.3 transitivePeerDependencies: + - bare-abort-controller - react-native-b4a strict-event-emitter@0.4.6: {} @@ -49741,13 +50572,18 @@ snapshots: dependencies: eastasianwidth: 0.2.0 emoji-regex: 9.2.2 - strip-ansi: 7.1.0 + strip-ansi: 7.1.2 string-width@7.2.0: dependencies: - emoji-regex: 10.4.0 - get-east-asian-width: 1.3.0 - strip-ansi: 7.1.0 + emoji-regex: 10.6.0 + get-east-asian-width: 1.4.0 + strip-ansi: 7.1.2 + + string-width@8.1.0: + dependencies: + get-east-asian-width: 1.4.0 + strip-ansi: 7.1.2 string.fromcodepoint@0.2.1: {} @@ -49849,9 +50685,9 @@ snapshots: dependencies: ansi-regex: 5.0.1 - strip-ansi@7.1.0: + strip-ansi@7.1.2: dependencies: - ansi-regex: 6.1.0 + ansi-regex: 6.2.2 strip-bom@2.0.0: dependencies: @@ -49867,6 +50703,8 @@ snapshots: strip-final-newline@3.0.0: {} + strip-final-newline@4.0.0: {} + strip-indent@1.0.1: dependencies: get-stdin: 4.0.1 @@ -49875,9 +50713,7 @@ snapshots: dependencies: min-indent: 1.0.1 - strip-indent@4.0.0: - dependencies: - min-indent: 1.0.1 + strip-indent@4.1.1: {} strip-json-comments@2.0.1: {} @@ -49905,49 +50741,49 @@ snapshots: loader-utils: 1.4.2 schema-utils: 0.3.0 - style-loader@1.3.0(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))): + style-loader@1.3.0(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))): dependencies: loader-utils: 2.0.4 schema-utils: 2.7.1 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17)) - style-loader@1.3.0(webpack@5.101.0): + style-loader@1.3.0(webpack@5.102.1): dependencies: loader-utils: 2.0.4 schema-utils: 2.7.1 - webpack: 5.101.0(webpack-cli@5.1.4) + webpack: 5.102.1(webpack-cli@5.1.4) - style-loader@2.0.0(webpack@5.101.0): + style-loader@2.0.0(webpack@5.102.1): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1) - style-loader@3.3.4(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))): + style-loader@3.3.4(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))): dependencies: - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17)) - style-loader@3.3.4(webpack@5.101.0): + style-loader@3.3.4(webpack@5.102.1): dependencies: - webpack: 5.101.0(webpack-cli@5.1.4) + webpack: 5.102.1(webpack-cli@5.1.4) - style-loader@4.0.0(webpack@5.101.0): + style-loader@4.0.0(webpack@5.102.1): dependencies: - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1) - style-mod@4.1.2: {} + style-mod@4.1.3: {} - style-to-js@1.1.17: + style-to-js@1.1.19: dependencies: - style-to-object: 1.0.9 + style-to-object: 1.0.12 style-to-object@0.3.0: dependencies: inline-style-parser: 0.1.1 - style-to-object@1.0.9: + style-to-object@1.0.12: dependencies: - inline-style-parser: 0.2.4 + inline-style-parser: 0.2.6 style-value-types@5.0.0: dependencies: @@ -49956,35 +50792,35 @@ snapshots: stylehacks@5.1.1(postcss@8.5.6): dependencies: - browserslist: 4.25.1 + browserslist: 4.27.0 postcss: 8.5.6 postcss-selector-parser: 6.1.2 - stylelint-config-recommended@16.0.0(stylelint@16.23.0(typescript@5.8.3)): + stylelint-config-recommended@16.0.0(stylelint@16.25.0(typescript@5.8.3)): dependencies: - stylelint: 16.23.0(typescript@5.8.3) + stylelint: 16.25.0(typescript@5.8.3) - stylelint-config-standard@38.0.0(stylelint@16.23.0(typescript@5.8.3)): + stylelint-config-standard@38.0.0(stylelint@16.25.0(typescript@5.8.3)): dependencies: - stylelint: 16.23.0(typescript@5.8.3) - stylelint-config-recommended: 16.0.0(stylelint@16.23.0(typescript@5.8.3)) + stylelint: 16.25.0(typescript@5.8.3) + stylelint-config-recommended: 16.0.0(stylelint@16.25.0(typescript@5.8.3)) - stylelint@16.23.0(typescript@5.8.3): + stylelint@16.25.0(typescript@5.8.3): dependencies: '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) '@csstools/css-tokenizer': 3.0.4 '@csstools/media-query-list-parser': 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.0) - '@dual-bundle/import-meta-resolve': 4.1.0 + '@dual-bundle/import-meta-resolve': 4.2.1 balanced-match: 2.0.0 colord: 2.9.3 cosmiconfig: 9.0.0(typescript@5.8.3) css-functions-list: 3.2.3 css-tree: 3.1.0 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) fast-glob: 3.3.3 fastest-levenshtein: 1.0.16 - file-entry-cache: 10.1.3 + file-entry-cache: 10.1.4 global-modules: 2.0.0 globby: 11.1.0 globjoin: 0.1.4 @@ -50021,7 +50857,7 @@ snapshots: sucrase@3.35.0: dependencies: - '@jridgewell/gen-mapping': 0.3.12 + '@jridgewell/gen-mapping': 0.3.13 commander: 4.1.1 glob: 10.4.5 lines-and-columns: 1.2.4 @@ -50071,10 +50907,10 @@ snapshots: svg-tags@1.0.0: {} - svg-url-loader@8.0.0(webpack@5.101.0): + svg-url-loader@8.0.0(webpack@5.102.1): dependencies: - file-loader: 6.2.0(webpack@5.101.0) - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + file-loader: 6.2.0(webpack@5.102.1) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1) svg2ttf@4.3.0: dependencies: @@ -50083,7 +50919,7 @@ snapshots: lodash: 4.17.21 microbuffer: 1.0.0 svgpath: 2.6.0 - xmldom: '@xmldom/xmldom@0.8.10' + xmldom: '@xmldom/xmldom@0.8.11' svg2ttf@6.0.3: dependencies: @@ -50101,7 +50937,7 @@ snapshots: glob: 7.2.3 neatequal: 1.0.0 readable-stream: 3.6.2 - sax: 1.4.1 + sax: 1.4.2 svg-pathdata: 6.0.3 svgicons2svgfont@5.0.2: @@ -50109,7 +50945,7 @@ snapshots: commander: 2.20.3 neatequal: 1.0.0 readable-stream: 2.3.8 - sax: 1.4.1 + sax: 1.4.2 string.fromcodepoint: 0.2.1 string.prototype.codepointat: 0.2.1 svg-pathdata: 1.0.4 @@ -50136,12 +50972,12 @@ snapshots: svgpath@2.6.0: {} - sw-precache-webpack-plugin@0.11.4(webpack@5.101.0): + sw-precache-webpack-plugin@0.11.4(webpack@5.102.1): dependencies: del: 2.2.2 sw-precache: 5.2.1 uglify-js: 3.19.3 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1) sw-precache@5.2.1: dependencies: @@ -50161,15 +50997,15 @@ snapshots: path-to-regexp: 1.9.0 serviceworker-cache-polyfill: 4.0.0 - swagger-client@3.35.6: + swagger-client@3.36.0: dependencies: - '@babel/runtime-corejs3': 7.28.2 + '@babel/runtime-corejs3': 7.28.4 '@scarf/scarf': 1.4.0 - '@swagger-api/apidom-core': 1.0.0-beta.45 - '@swagger-api/apidom-error': 1.0.0-beta.45 - '@swagger-api/apidom-json-pointer': 1.0.0-beta.45 - '@swagger-api/apidom-ns-openapi-3-1': 1.0.0-beta.45 - '@swagger-api/apidom-reference': 1.0.0-beta.45 + '@swagger-api/apidom-core': 1.0.0-rc.1 + '@swagger-api/apidom-error': 1.0.0-rc.1 + '@swagger-api/apidom-json-pointer': 1.0.0-rc.1 + '@swagger-api/apidom-ns-openapi-3-1': 1.0.0-rc.1 + '@swagger-api/apidom-reference': 1.0.0-rc.1 '@swaggerexpert/cookie': 2.0.2 deepmerge: 4.3.1 fast-json-patch: 3.1.1 @@ -50186,7 +51022,7 @@ snapshots: swagger-ui-react@5.21.0(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: - '@babel/runtime-corejs3': 7.28.2 + '@babel/runtime-corejs3': 7.28.4 '@scarf/scarf': 1.4.0 base64-js: 1.5.1 classnames: 2.5.1 @@ -50209,14 +51045,14 @@ snapshots: react-immutable-pure-component: 2.2.2(immutable@3.8.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react-inspector: 6.0.2(react@18.2.0) react-redux: 9.2.0(@types/react@18.2.0)(react@18.2.0)(redux@5.0.1) - react-syntax-highlighter: 15.6.1(react@18.2.0) + react-syntax-highlighter: 15.6.6(react@18.2.0) redux: 5.0.1 redux-immutable: 4.0.0(immutable@3.8.2) remarkable: 2.0.1 reselect: 5.1.1 serialize-error: 8.1.0 sha.js: 2.4.12 - swagger-client: 3.35.6 + swagger-client: 3.36.0 url-parse: 1.5.10 xml: 1.0.1 xml-but-prettier: 1.0.1 @@ -50225,15 +51061,16 @@ snapshots: - '@types/react' - debug - swagger-ui-react@5.27.1(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0): + swagger-ui-react@5.30.1(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: - '@babel/runtime-corejs3': 7.28.2 + '@babel/runtime-corejs3': 7.28.4 '@scarf/scarf': 1.4.0 base64-js: 1.5.1 + buffer: 6.0.3 classnames: 2.5.1 css.escape: 1.5.1 deep-extend: 0.6.0 - dompurify: 3.2.4 + dompurify: 3.2.6 ieee754: 1.2.1 immutable: 3.8.2 js-file-download: 0.4.12 @@ -50250,14 +51087,14 @@ snapshots: react-immutable-pure-component: 2.2.2(immutable@3.8.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react-inspector: 6.0.2(react@18.2.0) react-redux: 9.2.0(@types/react@18.2.0)(react@18.2.0)(redux@5.0.1) - react-syntax-highlighter: 15.6.1(react@18.2.0) + react-syntax-highlighter: 15.6.6(react@18.2.0) redux: 5.0.1 redux-immutable: 4.0.0(immutable@3.8.2) remarkable: 2.0.1 reselect: 5.1.1 serialize-error: 8.1.0 sha.js: 2.4.12 - swagger-client: 3.35.6 + swagger-client: 3.36.0 url-parse: 1.5.10 xml: 1.0.1 xml-but-prettier: 1.0.1 @@ -50266,17 +51103,17 @@ snapshots: - '@types/react' - debug - swc-loader@0.2.6(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))): + swc-loader@0.2.6(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))): dependencies: - '@swc/core': 1.13.3(@swc/helpers@0.5.17) + '@swc/core': 1.14.0(@swc/helpers@0.5.17) '@swc/counter': 0.1.3 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17)) - swc-loader@0.2.6(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack@5.101.0): + swc-loader@0.2.6(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack@5.102.1): dependencies: - '@swc/core': 1.13.3(@swc/helpers@0.5.17) + '@swc/core': 1.14.0(@swc/helpers@0.5.17) '@swc/counter': 0.1.3 - webpack: 5.101.0(webpack-cli@5.1.4) + webpack: 5.102.1(webpack-cli@5.1.4) symbol-tree@3.2.4: {} @@ -50296,7 +51133,7 @@ snapshots: tabbable@5.3.3: {} - tabbable@6.2.0: {} + tabbable@6.3.0: {} table@5.4.6: dependencies: @@ -50315,7 +51152,7 @@ snapshots: tailwind-merge@2.6.0: {} - tailwindcss@3.4.17(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)): + tailwindcss@3.4.18(yaml@2.8.1): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -50333,31 +51170,33 @@ snapshots: picocolors: 1.1.1 postcss: 8.5.6 postcss-import: 15.1.0(postcss@8.5.6) - postcss-js: 4.0.1(postcss@8.5.6) - postcss-load-config: 4.0.2(postcss@8.5.6)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)) + postcss-js: 4.1.0(postcss@8.5.6) + postcss-load-config: 6.0.1(jiti@1.21.7)(postcss@8.5.6)(yaml@2.8.1) postcss-nested: 6.2.0(postcss@8.5.6) postcss-selector-parser: 6.1.2 - resolve: 1.22.10 + resolve: 1.22.11 sucrase: 3.35.0 transitivePeerDependencies: - - ts-node + - tsx + - yaml - tailwindcss@4.1.11: {} + tailwindcss@4.1.16: {} tapable@0.2.9: {} tapable@1.1.3: {} - tapable@2.2.2: {} + tapable@2.3.0: {} tar-fs@3.1.1: dependencies: pump: 3.0.3 tar-stream: 3.1.7 optionalDependencies: - bare-fs: 4.4.4 + bare-fs: 4.5.0 bare-path: 3.0.0 transitivePeerDependencies: + - bare-abort-controller - bare-buffer - react-native-b4a @@ -50367,6 +51206,7 @@ snapshots: fast-fifo: 1.3.2 streamx: 2.23.0 transitivePeerDependencies: + - bare-abort-controller - react-native-b4a tar@2.2.2: @@ -50388,6 +51228,7 @@ snapshots: dependencies: tar-fs: 3.1.1 transitivePeerDependencies: + - bare-abort-controller - bare-buffer - react-native-b4a @@ -50436,7 +51277,7 @@ snapshots: ansi-escapes: 4.3.2 supports-hyperlinks: 2.3.0 - terser-webpack-plugin@4.2.3(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))): + terser-webpack-plugin@4.2.3(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))): dependencies: cacache: 15.3.0 find-cache-dir: 3.3.2 @@ -50445,11 +51286,11 @@ snapshots: schema-utils: 3.3.0 serialize-javascript: 5.0.1 source-map: 0.6.1 - terser: 5.43.1 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) + terser: 5.44.0 + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17)) webpack-sources: 1.4.3 - terser-webpack-plugin@4.2.3(webpack@5.101.0): + terser-webpack-plugin@4.2.3(webpack@5.102.1): dependencies: cacache: 15.3.0 find-cache-dir: 3.3.2 @@ -50458,31 +51299,31 @@ snapshots: schema-utils: 3.3.0 serialize-javascript: 5.0.1 source-map: 0.6.1 - terser: 5.43.1 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + terser: 5.44.0 + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1) webpack-sources: 1.4.3 - terser-webpack-plugin@5.3.14(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))): + terser-webpack-plugin@5.3.14(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))): dependencies: - '@jridgewell/trace-mapping': 0.3.29 + '@jridgewell/trace-mapping': 0.3.31 jest-worker: 27.5.1 - schema-utils: 4.3.2 + schema-utils: 4.3.3 serialize-javascript: 6.0.2 - terser: 5.43.1 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) + terser: 5.44.0 + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17)) optionalDependencies: - '@swc/core': 1.13.3(@swc/helpers@0.5.17) + '@swc/core': 1.14.0(@swc/helpers@0.5.17) - terser-webpack-plugin@5.3.14(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack@5.101.0): + terser-webpack-plugin@5.3.14(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack@5.102.1): dependencies: - '@jridgewell/trace-mapping': 0.3.29 + '@jridgewell/trace-mapping': 0.3.31 jest-worker: 27.5.1 - schema-utils: 4.3.2 + schema-utils: 4.3.3 serialize-javascript: 6.0.2 - terser: 5.43.1 - webpack: 5.101.0(webpack-cli@5.1.4) + terser: 5.44.0 + webpack: 5.102.1(webpack-cli@5.1.4) optionalDependencies: - '@swc/core': 1.13.3(@swc/helpers@0.5.17) + '@swc/core': 1.14.0(@swc/helpers@0.5.17) terser@4.8.1: dependencies: @@ -50490,9 +51331,9 @@ snapshots: source-map: 0.6.1 source-map-support: 0.5.21 - terser@5.43.1: + terser@5.44.0: dependencies: - '@jridgewell/source-map': 0.3.10 + '@jridgewell/source-map': 0.3.11 acorn: 8.15.0 commander: 2.20.3 source-map-support: 0.5.21 @@ -50529,7 +51370,7 @@ snapshots: textextensions@6.11.0: dependencies: - editions: 6.21.0 + editions: 6.22.0 thenify-all@1.6.0: dependencies: @@ -50539,7 +51380,7 @@ snapshots: dependencies: any-promise: 1.3.0 - thingies@1.21.0(tslib@2.8.1): + thingies@2.5.0(tslib@2.8.1): dependencies: tslib: 2.8.1 @@ -50583,9 +51424,9 @@ snapshots: tinyexec@0.3.2: {} - tinyglobby@0.2.14: + tinyglobby@0.2.15: dependencies: - fdir: 6.4.6(picomatch@4.0.3) + fdir: 6.5.0(picomatch@4.0.3) picomatch: 4.0.3 tinyrainbow@1.2.0: {} @@ -50594,17 +51435,17 @@ snapshots: tinyspy@3.0.2: {} - tinyspy@4.0.3: {} + tinyspy@4.0.4: {} tmp@0.0.33: dependencies: os-tmpdir: 1.0.2 - tmp@0.2.4: {} + tmp@0.2.5: {} tmpl@1.0.5: {} - to-buffer@1.2.1: + to-buffer@1.2.2: dependencies: isarray: 2.0.5 safe-buffer: 5.2.1 @@ -50672,7 +51513,7 @@ snapshots: traverse@0.3.9: {} - tree-dump@1.0.3(tslib@2.8.1): + tree-dump@1.1.0(tslib@2.8.1): dependencies: tslib: 2.8.1 @@ -50768,17 +51609,17 @@ snapshots: typescript: 3.9.10 yargs-parser: 18.1.3 - ts-jest@29.3.4(@babel/core@7.27.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.27.7))(jest@29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)))(typescript@5.8.3): + ts-jest@29.3.4(@babel/core@7.27.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.27.7))(jest@29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.14.0(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)))(typescript@5.8.3): dependencies: bs-logger: 0.2.6 ejs: 3.1.10 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)) + jest: 29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.14.0(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3)) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 make-error: 1.3.6 - semver: 7.7.2 + semver: 7.7.3 type-fest: 4.41.0 typescript: 5.8.3 yargs-parser: 21.1.1 @@ -50795,15 +51636,15 @@ snapshots: loader-utils: 1.4.2 semver: 5.7.2 - ts-loader@9.5.2(typescript@5.8.3)(webpack@5.101.0): + ts-loader@9.5.4(typescript@5.8.3)(webpack@5.102.1): dependencies: chalk: 4.1.2 enhanced-resolve: 5.18.3 micromatch: 4.0.8 - semver: 7.7.2 + semver: 7.7.3 source-map: 0.7.6 typescript: 5.8.3 - webpack: 5.101.0(webpack-cli@5.1.4) + webpack: 5.102.1(webpack-cli@5.1.4) ts-mixer@6.0.4: {} @@ -50817,7 +51658,7 @@ snapshots: '@ts-morph/common': 0.27.0 code-block-writer: 13.0.3 - ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.18)(typescript@5.8.3): + ts-node@10.9.2(@swc/core@1.14.0(@swc/helpers@0.5.17))(@types/node@22.15.18)(typescript@5.8.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 @@ -50835,9 +51676,9 @@ snapshots: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 optionalDependencies: - '@swc/core': 1.13.3(@swc/helpers@0.5.17) + '@swc/core': 1.14.0(@swc/helpers@0.5.17) - ts-node@10.9.2(@swc/core@1.13.3(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3): + ts-node@10.9.2(@swc/core@1.14.0(@swc/helpers@0.5.17))(@types/node@22.15.35)(typescript@5.8.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 @@ -50855,7 +51696,7 @@ snapshots: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 optionalDependencies: - '@swc/core': 1.13.3(@swc/helpers@0.5.17) + '@swc/core': 1.14.0(@swc/helpers@0.5.17) optional: true ts-pnp@1.2.0(typescript@4.9.5): @@ -50890,10 +51731,10 @@ snapshots: dependencies: '@babel/core': 7.27.7 '@babel/helper-module-imports': 7.27.1 - '@babel/parser': 7.28.0 + '@babel/parser': 7.28.5 '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.27.7) '@babel/preset-env': 7.27.2(@babel/core@7.27.7) - '@babel/traverse': 7.28.0 + '@babel/traverse': 7.28.5 '@rollup/plugin-babel': 5.3.1(@babel/core@7.27.7)(@types/babel__core@7.20.5)(rollup@1.32.1) '@rollup/plugin-commonjs': 11.1.0(rollup@1.32.1) '@rollup/plugin-json': 4.1.0(rollup@1.32.1) @@ -50938,7 +51779,7 @@ snapshots: rollup-plugin-terser: 5.3.1(rollup@1.32.1) rollup-plugin-typescript2: 0.27.3(rollup@1.32.1)(typescript@3.9.10) sade: 1.8.1 - semver: 7.7.2 + semver: 7.7.3 shelljs: 0.8.5 tiny-glob: 0.2.9 ts-jest: 25.5.1(jest@25.5.4)(typescript@3.9.10) @@ -51022,7 +51863,7 @@ snapshots: js-yaml: 3.14.1 minimatch: 3.1.2 mkdirp: 0.5.6 - resolve: 1.22.10 + resolve: 1.22.11 semver: 5.7.2 tslib: 1.14.1 tsutils: 2.29.0(typescript@4.9.5) @@ -51039,7 +51880,7 @@ snapshots: js-yaml: 3.14.1 minimatch: 3.1.2 mkdirp: 0.5.6 - resolve: 1.22.10 + resolve: 1.22.11 semver: 5.7.2 tslib: 1.14.1 tsutils: 2.29.0(typescript@5.8.3) @@ -51208,7 +52049,7 @@ snapshots: typescript@5.8.3: {} - ua-parser-js@1.0.40: {} + ua-parser-js@1.0.41: {} uc.micro@1.0.6: {} @@ -51228,7 +52069,7 @@ snapshots: commander: 2.19.0 source-map: 0.6.1 - uglifyjs-webpack-plugin@1.2.5(webpack@5.101.0): + uglifyjs-webpack-plugin@1.2.5(webpack@5.102.1): dependencies: cacache: 10.0.4 find-cache-dir: 1.0.0 @@ -51236,7 +52077,7 @@ snapshots: serialize-javascript: 1.9.1 source-map: 0.6.1 uglify-es: 3.3.9 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1) webpack-sources: 1.4.3 worker-farm: 1.7.0 @@ -51253,7 +52094,7 @@ snapshots: undici-types@6.21.0: {} - undici@7.13.0: {} + undici@7.16.0: {} unfetch@4.2.0: {} @@ -51267,11 +52108,11 @@ snapshots: unicode-match-property-ecmascript@2.0.0: dependencies: unicode-canonical-property-names-ecmascript: 2.0.1 - unicode-property-aliases-ecmascript: 2.1.0 + unicode-property-aliases-ecmascript: 2.2.0 - unicode-match-property-value-ecmascript@2.2.0: {} + unicode-match-property-value-ecmascript@2.2.1: {} - unicode-property-aliases-ecmascript@2.1.0: {} + unicode-property-aliases-ecmascript@2.2.0: {} unicorn-magic@0.1.0: {} @@ -51358,7 +52199,7 @@ snapshots: dependencies: '@types/unist': 2.0.11 - unist-util-is@6.0.0: + unist-util-is@6.0.1: dependencies: '@types/unist': 3.0.3 @@ -51402,10 +52243,10 @@ snapshots: '@types/unist': 2.0.11 unist-util-is: 5.2.1 - unist-util-visit-parents@6.0.1: + unist-util-visit-parents@6.0.2: dependencies: '@types/unist': 3.0.3 - unist-util-is: 6.0.0 + unist-util-is: 6.0.1 unist-util-visit@2.0.3: dependencies: @@ -51422,8 +52263,8 @@ snapshots: unist-util-visit@5.0.0: dependencies: '@types/unist': 3.0.3 - unist-util-is: 6.0.0 - unist-util-visit-parents: 6.0.1 + unist-util-is: 6.0.1 + unist-util-visit-parents: 6.0.2 unit-compare@1.0.1: dependencies: @@ -51470,15 +52311,15 @@ snapshots: dependencies: bluebird: 3.7.2 duplexer2: 0.1.4 - fs-extra: 11.3.1 + fs-extra: 11.3.2 graceful-fs: 4.2.11 node-int64: 0.4.0 upath@2.0.1: {} - update-browserslist-db@1.1.3(browserslist@4.25.1): + update-browserslist-db@1.1.4(browserslist@4.27.0): dependencies: - browserslist: 4.25.1 + browserslist: 4.27.0 escalade: 3.2.0 picocolors: 1.1.1 @@ -51515,30 +52356,30 @@ snapshots: url-join@4.0.1: {} - url-loader@0.6.2(file-loader@1.1.5(webpack@5.101.0)): + url-loader@0.6.2(file-loader@1.1.5(webpack@5.102.1)): dependencies: - file-loader: 1.1.5(webpack@5.101.0) + file-loader: 1.1.5(webpack@5.102.1) loader-utils: 1.4.2 mime: 1.6.0 schema-utils: 0.3.0 - url-loader@4.1.1(file-loader@6.2.0(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))))(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))): + url-loader@4.1.1(file-loader@6.2.0(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))))(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))): dependencies: loader-utils: 2.0.4 mime-types: 2.1.35 schema-utils: 3.3.0 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17)) optionalDependencies: - file-loader: 6.2.0(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + file-loader: 6.2.0(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))) - url-loader@4.1.1(file-loader@6.2.0(webpack@5.101.0))(webpack@5.101.0): + url-loader@4.1.1(file-loader@6.2.0(webpack@5.102.1))(webpack@5.102.1): dependencies: loader-utils: 2.0.4 mime-types: 2.1.35 schema-utils: 3.3.0 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1) optionalDependencies: - file-loader: 6.2.0(webpack@5.101.0) + file-loader: 6.2.0(webpack@5.102.1) url-parse-lax@1.0.0: dependencies: @@ -51630,11 +52471,11 @@ snapshots: optionalDependencies: '@types/react': 18.2.0 - use-sync-external-store@1.5.0(react@18.2.0): + use-sync-external-store@1.6.0(react@18.2.0): dependencies: react: 18.2.0 - use-sync-external-store@1.5.0(react@19.1.0): + use-sync-external-store@1.6.0(react@19.1.0): dependencies: react: 19.1.0 @@ -51655,7 +52496,7 @@ snapshots: dependencies: inherits: 2.0.4 is-arguments: 1.2.0 - is-generator-function: 1.1.0 + is-generator-function: 1.1.2 is-typed-array: 1.1.15 which-typed-array: 1.1.19 @@ -51692,7 +52533,7 @@ snapshots: v8-to-istanbul@9.3.0: dependencies: - '@jridgewell/trace-mapping': 0.3.29 + '@jridgewell/trace-mapping': 0.3.31 '@types/istanbul-lib-coverage': 2.0.6 convert-source-map: 2.0.0 @@ -51715,7 +52556,7 @@ snapshots: core-util-is: 1.0.2 extsprintf: 1.3.0 - version-range@4.14.0: {} + version-range@4.15.0: {} vfile-location@3.2.0: {} @@ -51755,13 +52596,14 @@ snapshots: parse-semver: 1.1.1 read: 1.0.7 semver: 5.7.2 - tmp: 0.2.4 + tmp: 0.2.5 typed-rest-client: 1.8.11 url-join: 4.0.1 xml2js: 0.4.23 yauzl: 2.10.0 yazl: 2.5.1 transitivePeerDependencies: + - bare-abort-controller - bare-buffer - react-native-b4a @@ -51780,59 +52622,61 @@ snapshots: dependencies: applicationinsights: 1.7.4 - vscode-extension-tester-locators@3.12.2(monaco-page-objects@3.14.1(selenium-webdriver@4.34.0)(typescript@5.8.3))(selenium-webdriver@4.34.0): + vscode-extension-tester-locators@3.12.2(monaco-page-objects@3.14.1(selenium-webdriver@4.38.0)(typescript@5.8.3))(selenium-webdriver@4.38.0): dependencies: - monaco-page-objects: 3.14.1(selenium-webdriver@4.34.0)(typescript@5.8.3) - selenium-webdriver: 4.34.0 + monaco-page-objects: 3.14.1(selenium-webdriver@4.38.0)(typescript@5.8.3) + selenium-webdriver: 4.38.0 vscode-extension-tester@5.10.0(mocha@10.8.2)(typescript@5.8.3): dependencies: - '@types/selenium-webdriver': 4.1.28 + '@types/selenium-webdriver': 4.35.3 '@vscode/vsce': 2.32.0 commander: 11.1.0 compare-versions: 6.1.1 - fs-extra: 11.3.1 + fs-extra: 11.3.2 glob: 10.4.5 got: 13.0.0 hpagent: 1.2.0 js-yaml: 4.1.0 mocha: 10.8.2 - monaco-page-objects: 3.14.1(selenium-webdriver@4.34.0)(typescript@5.8.3) + monaco-page-objects: 3.14.1(selenium-webdriver@4.38.0)(typescript@5.8.3) sanitize-filename: 1.6.3 - selenium-webdriver: 4.34.0 + selenium-webdriver: 4.38.0 targz: 1.0.1 typescript: 5.8.3 unzipper: 0.10.14 - vscode-extension-tester-locators: 3.12.2(monaco-page-objects@3.14.1(selenium-webdriver@4.34.0)(typescript@5.8.3))(selenium-webdriver@4.34.0) + vscode-extension-tester-locators: 3.12.2(monaco-page-objects@3.14.1(selenium-webdriver@4.38.0)(typescript@5.8.3))(selenium-webdriver@4.38.0) transitivePeerDependencies: + - bare-abort-controller - bare-buffer - bufferutil - react-native-b4a - supports-color - utf-8-validate - vscode-extension-tester@8.14.1(mocha@11.7.1)(typescript@5.8.3): + vscode-extension-tester@8.14.1(mocha@11.7.4)(typescript@5.8.3): dependencies: - '@redhat-developer/locators': 1.15.0(@redhat-developer/page-objects@1.15.0(selenium-webdriver@4.34.0)(typescript@5.8.3))(selenium-webdriver@4.34.0) - '@redhat-developer/page-objects': 1.15.0(selenium-webdriver@4.34.0)(typescript@5.8.3) - '@types/selenium-webdriver': 4.1.28 + '@redhat-developer/locators': 1.17.0(@redhat-developer/page-objects@1.17.0(selenium-webdriver@4.38.0)(typescript@5.8.3))(selenium-webdriver@4.38.0) + '@redhat-developer/page-objects': 1.17.0(selenium-webdriver@4.38.0)(typescript@5.8.3) + '@types/selenium-webdriver': 4.35.3 '@vscode/vsce': 3.4.2 c8: 10.1.3 commander: 13.1.0 compare-versions: 6.1.1 find-up: 7.0.0 - fs-extra: 11.3.1 + fs-extra: 11.3.2 glob: 11.0.3 got: 14.4.7 hpagent: 1.2.0 js-yaml: 4.1.0 - mocha: 11.7.1 + mocha: 11.7.4 sanitize-filename: 1.6.3 - selenium-webdriver: 4.34.0 + selenium-webdriver: 4.38.0 targz: 1.0.1 typescript: 5.8.3 unzipper: 0.12.3 transitivePeerDependencies: + - bare-abort-controller - bare-buffer - bufferutil - monocart-coverage-reports @@ -51851,19 +52695,19 @@ snapshots: vscode-languageclient@7.0.0: dependencies: minimatch: 3.1.2 - semver: 7.7.2 + semver: 7.7.3 vscode-languageserver-protocol: 3.16.0 vscode-languageclient@8.1.0: dependencies: minimatch: 5.1.6 - semver: 7.7.2 + semver: 7.7.3 vscode-languageserver-protocol: 3.17.3 vscode-languageclient@9.0.1: dependencies: minimatch: 5.1.6 - semver: 7.7.2 + semver: 7.7.3 vscode-languageserver-protocol: 3.17.5 vscode-languageserver-protocol@3.16.0: @@ -51920,7 +52764,7 @@ snapshots: vscode-uri@3.1.0: {} - vscode-ws-jsonrpc@3.4.0: + vscode-ws-jsonrpc@3.5.0: dependencies: vscode-jsonrpc: 8.2.1 @@ -51991,10 +52835,10 @@ snapshots: webidl-conversions@7.0.0: {} - webpack-cli@4.10.0(webpack-dev-server@5.2.2)(webpack@5.101.0): + webpack-cli@4.10.0(webpack-dev-server@5.2.2)(webpack@5.102.1): dependencies: '@discoveryjs/json-ext': 0.5.7 - '@webpack-cli/configtest': 1.2.0(webpack-cli@4.10.0)(webpack@5.101.0) + '@webpack-cli/configtest': 1.2.0(webpack-cli@4.10.0)(webpack@5.102.1) '@webpack-cli/info': 1.5.0(webpack-cli@4.10.0) '@webpack-cli/serve': 1.7.0(webpack-cli@4.10.0)(webpack-dev-server@5.2.2) colorette: 2.0.20 @@ -52004,15 +52848,15 @@ snapshots: import-local: 3.2.0 interpret: 2.2.0 rechoir: 0.7.1 - webpack: 5.101.0(webpack-cli@4.10.0) + webpack: 5.102.1(webpack-cli@4.10.0) webpack-merge: 5.10.0 optionalDependencies: - webpack-dev-server: 5.2.2(webpack-cli@4.10.0)(webpack@5.101.0) + webpack-dev-server: 5.2.2(webpack-cli@4.10.0)(webpack@5.102.1) - webpack-cli@4.10.0(webpack@5.101.0): + webpack-cli@4.10.0(webpack@5.102.1): dependencies: '@discoveryjs/json-ext': 0.5.7 - '@webpack-cli/configtest': 1.2.0(webpack-cli@4.10.0)(webpack@5.101.0) + '@webpack-cli/configtest': 1.2.0(webpack-cli@4.10.0)(webpack@5.102.1) '@webpack-cli/info': 1.5.0(webpack-cli@4.10.0) '@webpack-cli/serve': 1.7.0(webpack-cli@4.10.0) colorette: 2.0.20 @@ -52022,100 +52866,100 @@ snapshots: import-local: 3.2.0 interpret: 2.2.0 rechoir: 0.7.1 - webpack: 5.101.0(webpack-cli@4.10.0) + webpack: 5.102.1(webpack-cli@4.10.0) webpack-merge: 5.10.0 - webpack-cli@5.1.4(webpack-dev-server@5.2.2)(webpack@5.101.0): + webpack-cli@5.1.4(webpack-dev-server@5.2.2)(webpack@5.102.1): dependencies: '@discoveryjs/json-ext': 0.5.7 - '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4)(webpack@5.101.0) - '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4)(webpack@5.101.0) - '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4)(webpack-dev-server@5.2.2)(webpack@5.101.0) + '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4)(webpack@5.102.1) + '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4)(webpack@5.102.1) + '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4)(webpack-dev-server@5.2.2)(webpack@5.102.1) colorette: 2.0.20 commander: 10.0.1 cross-spawn: 7.0.6 - envinfo: 7.14.0 + envinfo: 7.20.0 fastest-levenshtein: 1.0.16 import-local: 3.2.0 interpret: 3.1.1 rechoir: 0.8.0 - webpack: 5.101.0(webpack-cli@5.1.4) + webpack: 5.102.1(webpack-cli@5.1.4) webpack-merge: 5.10.0 optionalDependencies: - webpack-dev-server: 5.2.2(webpack-cli@5.1.4)(webpack@5.101.0) + webpack-dev-server: 5.2.2(webpack-cli@5.1.4)(webpack@5.102.1) - webpack-cli@5.1.4(webpack@5.101.0): + webpack-cli@5.1.4(webpack@5.102.1): dependencies: '@discoveryjs/json-ext': 0.5.7 - '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4)(webpack@5.101.0) - '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4)(webpack@5.101.0) - '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4)(webpack@5.101.0) + '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4)(webpack@5.102.1) + '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4)(webpack@5.102.1) + '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4)(webpack@5.102.1) colorette: 2.0.20 commander: 10.0.1 cross-spawn: 7.0.6 - envinfo: 7.14.0 + envinfo: 7.20.0 fastest-levenshtein: 1.0.16 import-local: 3.2.0 interpret: 3.1.1 rechoir: 0.8.0 - webpack: 5.101.0(webpack-cli@5.1.4) + webpack: 5.102.1(webpack-cli@5.1.4) webpack-merge: 5.10.0 - webpack-cli@6.0.1(webpack-dev-server@5.2.2)(webpack@5.101.0): + webpack-cli@6.0.1(webpack-dev-server@5.2.2)(webpack@5.102.1): dependencies: '@discoveryjs/json-ext': 0.6.3 - '@webpack-cli/configtest': 3.0.1(webpack-cli@6.0.1)(webpack@5.101.0) - '@webpack-cli/info': 3.0.1(webpack-cli@6.0.1)(webpack@5.101.0) - '@webpack-cli/serve': 3.0.1(webpack-cli@6.0.1)(webpack-dev-server@5.2.2)(webpack@5.101.0) + '@webpack-cli/configtest': 3.0.1(webpack-cli@6.0.1)(webpack@5.102.1) + '@webpack-cli/info': 3.0.1(webpack-cli@6.0.1)(webpack@5.102.1) + '@webpack-cli/serve': 3.0.1(webpack-cli@6.0.1)(webpack-dev-server@5.2.2)(webpack@5.102.1) colorette: 2.0.20 commander: 12.1.0 cross-spawn: 7.0.6 - envinfo: 7.14.0 + envinfo: 7.20.0 fastest-levenshtein: 1.0.16 import-local: 3.2.0 interpret: 3.1.1 rechoir: 0.8.0 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1) webpack-merge: 6.0.1 optionalDependencies: - webpack-dev-server: 5.2.2(webpack-cli@6.0.1)(webpack@5.101.0) + webpack-dev-server: 5.2.2(webpack-cli@6.0.1)(webpack@5.102.1) - webpack-cli@6.0.1(webpack@5.101.0): + webpack-cli@6.0.1(webpack@5.102.1): dependencies: '@discoveryjs/json-ext': 0.6.3 - '@webpack-cli/configtest': 3.0.1(webpack-cli@6.0.1)(webpack@5.101.0) - '@webpack-cli/info': 3.0.1(webpack-cli@6.0.1)(webpack@5.101.0) - '@webpack-cli/serve': 3.0.1(webpack-cli@6.0.1)(webpack@5.101.0) + '@webpack-cli/configtest': 3.0.1(webpack-cli@6.0.1)(webpack@5.102.1) + '@webpack-cli/info': 3.0.1(webpack-cli@6.0.1)(webpack@5.102.1) + '@webpack-cli/serve': 3.0.1(webpack-cli@6.0.1)(webpack@5.102.1) colorette: 2.0.20 commander: 12.1.0 cross-spawn: 7.0.6 - envinfo: 7.14.0 + envinfo: 7.20.0 fastest-levenshtein: 1.0.16 import-local: 3.2.0 interpret: 3.1.1 rechoir: 0.8.0 - webpack: 5.101.0(webpack-cli@6.0.1) + webpack: 5.102.1(webpack-cli@6.0.1) webpack-merge: 6.0.1 - webpack-dev-middleware@3.7.3(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))): + webpack-dev-middleware@3.7.3(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))): dependencies: memory-fs: 0.4.1 mime: 2.6.0 mkdirp: 0.5.6 range-parser: 1.2.1 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17)) webpack-log: 2.0.0 - webpack-dev-middleware@3.7.3(webpack@5.101.0): + webpack-dev-middleware@3.7.3(webpack@5.102.1): dependencies: memory-fs: 0.4.1 mime: 2.6.0 mkdirp: 0.5.6 range-parser: 1.2.1 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1) webpack-log: 2.0.0 - webpack-dev-middleware@4.3.0(webpack@5.101.0): + webpack-dev-middleware@4.3.0(webpack@5.102.1): dependencies: colorette: 1.4.0 mem: 8.1.1 @@ -52123,59 +52967,59 @@ snapshots: mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 3.3.0 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1) - webpack-dev-middleware@6.1.3(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))): + webpack-dev-middleware@6.1.3(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))): dependencies: colorette: 2.0.20 memfs: 3.5.3 mime-types: 2.1.35 range-parser: 1.2.1 - schema-utils: 4.3.2 + schema-utils: 4.3.3 optionalDependencies: - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17)) - webpack-dev-middleware@6.1.3(webpack@5.101.0): + webpack-dev-middleware@6.1.3(webpack@5.102.1): dependencies: colorette: 2.0.20 memfs: 3.5.3 mime-types: 2.1.35 range-parser: 1.2.1 - schema-utils: 4.3.2 + schema-utils: 4.3.3 optionalDependencies: - webpack: 5.101.0(webpack-cli@5.1.4) + webpack: 5.102.1(webpack-cli@5.1.4) - webpack-dev-middleware@7.4.2(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))): + webpack-dev-middleware@7.4.5(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))): dependencies: colorette: 2.0.20 - memfs: 4.36.0 - mime-types: 2.1.35 + memfs: 4.50.0 + mime-types: 3.0.1 on-finished: 2.4.1 range-parser: 1.2.1 - schema-utils: 4.3.2 + schema-utils: 4.3.3 optionalDependencies: - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17)) optional: true - webpack-dev-middleware@7.4.2(webpack@5.101.0): + webpack-dev-middleware@7.4.5(webpack@5.102.1): dependencies: colorette: 2.0.20 - memfs: 4.36.0 - mime-types: 2.1.35 + memfs: 4.50.0 + mime-types: 3.0.1 on-finished: 2.4.1 range-parser: 1.2.1 - schema-utils: 4.3.2 + schema-utils: 4.3.3 optionalDependencies: - webpack: 5.101.0(webpack-cli@5.1.4) + webpack: 5.102.1(webpack-cli@5.1.4) - webpack-dev-server@5.2.2(webpack-cli@4.10.0)(webpack@5.101.0): + webpack-dev-server@5.2.2(webpack-cli@4.10.0)(webpack@5.102.1): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 - '@types/express': 4.17.23 - '@types/express-serve-static-core': 4.19.6 + '@types/express': 4.17.25 + '@types/express-serve-static-core': 4.19.7 '@types/serve-index': 1.9.4 - '@types/serve-static': 1.15.8 + '@types/serve-static': 1.15.10 '@types/sockjs': 0.3.36 '@types/ws': 8.18.1 ansi-html-community: 0.0.8 @@ -52186,35 +53030,36 @@ snapshots: connect-history-api-fallback: 2.0.0 express: 4.21.2 graceful-fs: 4.2.11 - http-proxy-middleware: 2.0.9(@types/express@4.17.23) + http-proxy-middleware: 2.0.9(@types/express@4.17.25) ipaddr.js: 2.2.0 - launch-editor: 2.11.0 + launch-editor: 2.12.0 open: 10.2.0 p-retry: 6.2.1 - schema-utils: 4.3.2 + schema-utils: 4.3.3 selfsigned: 2.4.1 serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 7.4.2(webpack@5.101.0) + webpack-dev-middleware: 7.4.5(webpack@5.102.1) ws: 8.18.3 optionalDependencies: - webpack: 5.101.0(webpack-cli@4.10.0) - webpack-cli: 4.10.0(webpack-dev-server@5.2.2)(webpack@5.101.0) + webpack: 5.102.1(webpack-cli@4.10.0) + webpack-cli: 4.10.0(webpack-dev-server@5.2.2)(webpack@5.102.1) transitivePeerDependencies: - bufferutil - debug - supports-color - utf-8-validate + optional: true - webpack-dev-server@5.2.2(webpack-cli@5.1.4)(webpack@5.101.0): + webpack-dev-server@5.2.2(webpack-cli@5.1.4)(webpack@5.102.1): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 - '@types/express': 4.17.23 - '@types/express-serve-static-core': 4.19.6 + '@types/express': 4.17.25 + '@types/express-serve-static-core': 4.19.7 '@types/serve-index': 1.9.4 - '@types/serve-static': 1.15.8 + '@types/serve-static': 1.15.10 '@types/sockjs': 0.3.36 '@types/ws': 8.18.1 ansi-html-community: 0.0.8 @@ -52225,35 +53070,35 @@ snapshots: connect-history-api-fallback: 2.0.0 express: 4.21.2 graceful-fs: 4.2.11 - http-proxy-middleware: 2.0.9(@types/express@4.17.23) + http-proxy-middleware: 2.0.9(@types/express@4.17.25) ipaddr.js: 2.2.0 - launch-editor: 2.11.0 + launch-editor: 2.12.0 open: 10.2.0 p-retry: 6.2.1 - schema-utils: 4.3.2 + schema-utils: 4.3.3 selfsigned: 2.4.1 serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 7.4.2(webpack@5.101.0) + webpack-dev-middleware: 7.4.5(webpack@5.102.1) ws: 8.18.3 optionalDependencies: - webpack: 5.101.0(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-dev-server@5.2.2)(webpack@5.101.0) + webpack: 5.102.1(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-dev-server@5.2.2)(webpack@5.102.1) transitivePeerDependencies: - bufferutil - debug - supports-color - utf-8-validate - webpack-dev-server@5.2.2(webpack-cli@6.0.1)(webpack@5.101.0): + webpack-dev-server@5.2.2(webpack-cli@6.0.1)(webpack@5.102.1): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 - '@types/express': 4.17.23 - '@types/express-serve-static-core': 4.19.6 + '@types/express': 4.17.25 + '@types/express-serve-static-core': 4.19.7 '@types/serve-index': 1.9.4 - '@types/serve-static': 1.15.8 + '@types/serve-static': 1.15.10 '@types/sockjs': 0.3.36 '@types/ws': 8.18.1 ansi-html-community: 0.0.8 @@ -52264,35 +53109,35 @@ snapshots: connect-history-api-fallback: 2.0.0 express: 4.21.2 graceful-fs: 4.2.11 - http-proxy-middleware: 2.0.9(@types/express@4.17.23) + http-proxy-middleware: 2.0.9(@types/express@4.17.25) ipaddr.js: 2.2.0 - launch-editor: 2.11.0 + launch-editor: 2.12.0 open: 10.2.0 p-retry: 6.2.1 - schema-utils: 4.3.2 + schema-utils: 4.3.3 selfsigned: 2.4.1 serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 7.4.2(webpack@5.101.0) + webpack-dev-middleware: 7.4.5(webpack@5.102.1) ws: 8.18.3 optionalDependencies: - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) - webpack-cli: 6.0.1(webpack-dev-server@5.2.2)(webpack@5.101.0) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + webpack-cli: 6.0.1(webpack-dev-server@5.2.2)(webpack@5.102.1) transitivePeerDependencies: - bufferutil - debug - supports-color - utf-8-validate - webpack-dev-server@5.2.2(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))): + webpack-dev-server@5.2.2(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 - '@types/express': 4.17.23 - '@types/express-serve-static-core': 4.19.6 + '@types/express': 4.17.25 + '@types/express-serve-static-core': 4.19.7 '@types/serve-index': 1.9.4 - '@types/serve-static': 1.15.8 + '@types/serve-static': 1.15.10 '@types/sockjs': 0.3.36 '@types/ws': 8.18.1 ansi-html-community: 0.0.8 @@ -52303,20 +53148,20 @@ snapshots: connect-history-api-fallback: 2.0.0 express: 4.21.2 graceful-fs: 4.2.11 - http-proxy-middleware: 2.0.9(@types/express@4.17.23) + http-proxy-middleware: 2.0.9(@types/express@4.17.25) ipaddr.js: 2.2.0 - launch-editor: 2.11.0 + launch-editor: 2.12.0 open: 10.2.0 p-retry: 6.2.1 - schema-utils: 4.3.2 + schema-utils: 4.3.3 selfsigned: 2.4.1 serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 7.4.2(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + webpack-dev-middleware: 7.4.5(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))) ws: 8.18.3 optionalDependencies: - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17)) transitivePeerDependencies: - bufferutil - debug @@ -52324,14 +53169,14 @@ snapshots: - utf-8-validate optional: true - webpack-dev-server@5.2.2(webpack@5.101.0): + webpack-dev-server@5.2.2(webpack@5.102.1): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 - '@types/express': 4.17.23 - '@types/express-serve-static-core': 4.19.6 + '@types/express': 4.17.25 + '@types/express-serve-static-core': 4.19.7 '@types/serve-index': 1.9.4 - '@types/serve-static': 1.15.8 + '@types/serve-static': 1.15.10 '@types/sockjs': 0.3.36 '@types/ws': 8.18.1 ansi-html-community: 0.0.8 @@ -52342,33 +53187,33 @@ snapshots: connect-history-api-fallback: 2.0.0 express: 4.21.2 graceful-fs: 4.2.11 - http-proxy-middleware: 2.0.9(@types/express@4.17.23) + http-proxy-middleware: 2.0.9(@types/express@4.17.25) ipaddr.js: 2.2.0 - launch-editor: 2.11.0 + launch-editor: 2.12.0 open: 10.2.0 p-retry: 6.2.1 - schema-utils: 4.3.2 + schema-utils: 4.3.3 selfsigned: 2.4.1 serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 7.4.2(webpack@5.101.0) + webpack-dev-middleware: 7.4.5(webpack@5.102.1) ws: 8.18.3 optionalDependencies: - webpack: 5.101.0(webpack-cli@4.10.0) + webpack: 5.102.1(webpack-cli@4.10.0) transitivePeerDependencies: - bufferutil - debug - supports-color - utf-8-validate - webpack-filter-warnings-plugin@1.2.1(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))): + webpack-filter-warnings-plugin@1.2.1(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))): dependencies: - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17)) - webpack-filter-warnings-plugin@1.2.1(webpack@5.101.0): + webpack-filter-warnings-plugin@1.2.1(webpack@5.102.1): dependencies: - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1) webpack-hot-middleware@2.26.1: dependencies: @@ -52381,18 +53226,18 @@ snapshots: ansi-colors: 3.2.4 uuid: 3.4.0 - webpack-manifest-plugin@1.3.2(webpack@5.101.0): + webpack-manifest-plugin@1.3.2(webpack@5.102.1): dependencies: fs-extra: 0.30.0 lodash: 4.17.21 - webpack: 5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1) + webpack: 5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1) - webpack-merge-and-include-globally@2.3.4(webpack@5.101.0): + webpack-merge-and-include-globally@2.3.4(webpack@5.102.1): dependencies: es6-promisify: 6.1.1 glob: 7.2.3 rev-hash: 3.0.0 - webpack: 5.101.0(webpack-cli@6.0.1) + webpack: 5.102.1(webpack-cli@6.0.1) webpack-merge@5.10.0: dependencies: @@ -52427,7 +53272,7 @@ snapshots: webpack-virtual-modules@0.6.2: {} - webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17)): + webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17)): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.8 @@ -52437,7 +53282,7 @@ snapshots: '@webassemblyjs/wasm-parser': 1.14.1 acorn: 8.15.0 acorn-import-phases: 1.0.4(acorn@8.15.0) - browserslist: 4.25.1 + browserslist: 4.27.0 chrome-trace-event: 1.0.4 enhanced-resolve: 5.18.3 es-module-lexer: 1.7.0 @@ -52446,12 +53291,12 @@ snapshots: glob-to-regexp: 0.4.1 graceful-fs: 4.2.11 json-parse-even-better-errors: 2.3.1 - loader-runner: 4.3.0 + loader-runner: 4.3.1 mime-types: 2.1.35 neo-async: 2.6.2 - schema-utils: 4.3.2 - tapable: 2.2.2 - terser-webpack-plugin: 5.3.14(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))) + schema-utils: 4.3.3 + tapable: 2.3.0 + terser-webpack-plugin: 5.3.14(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))) watchpack: 2.4.4 webpack-sources: 3.3.3 transitivePeerDependencies: @@ -52459,7 +53304,7 @@ snapshots: - esbuild - uglify-js - webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@5.1.4): + webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@5.1.4): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.8 @@ -52469,7 +53314,7 @@ snapshots: '@webassemblyjs/wasm-parser': 1.14.1 acorn: 8.15.0 acorn-import-phases: 1.0.4(acorn@8.15.0) - browserslist: 4.25.1 + browserslist: 4.27.0 chrome-trace-event: 1.0.4 enhanced-resolve: 5.18.3 es-module-lexer: 1.7.0 @@ -52478,22 +53323,22 @@ snapshots: glob-to-regexp: 0.4.1 graceful-fs: 4.2.11 json-parse-even-better-errors: 2.3.1 - loader-runner: 4.3.0 + loader-runner: 4.3.1 mime-types: 2.1.35 neo-async: 2.6.2 - schema-utils: 4.3.2 - tapable: 2.2.2 - terser-webpack-plugin: 5.3.14(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack@5.101.0) + schema-utils: 4.3.3 + tapable: 2.3.0 + terser-webpack-plugin: 5.3.14(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack@5.102.1) watchpack: 2.4.4 webpack-sources: 3.3.3 optionalDependencies: - webpack-cli: 5.1.4(webpack-dev-server@5.2.2)(webpack@5.101.0) + webpack-cli: 5.1.4(webpack@5.102.1) transitivePeerDependencies: - '@swc/core' - esbuild - uglify-js - webpack@5.101.0(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack-cli@6.0.1): + webpack@5.102.1(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack-cli@6.0.1): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.8 @@ -52503,7 +53348,7 @@ snapshots: '@webassemblyjs/wasm-parser': 1.14.1 acorn: 8.15.0 acorn-import-phases: 1.0.4(acorn@8.15.0) - browserslist: 4.25.1 + browserslist: 4.27.0 chrome-trace-event: 1.0.4 enhanced-resolve: 5.18.3 es-module-lexer: 1.7.0 @@ -52512,22 +53357,22 @@ snapshots: glob-to-regexp: 0.4.1 graceful-fs: 4.2.11 json-parse-even-better-errors: 2.3.1 - loader-runner: 4.3.0 + loader-runner: 4.3.1 mime-types: 2.1.35 neo-async: 2.6.2 - schema-utils: 4.3.2 - tapable: 2.2.2 - terser-webpack-plugin: 5.3.14(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack@5.101.0) + schema-utils: 4.3.3 + tapable: 2.3.0 + terser-webpack-plugin: 5.3.14(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack@5.102.1) watchpack: 2.4.4 webpack-sources: 3.3.3 optionalDependencies: - webpack-cli: 6.0.1(webpack-dev-server@5.2.2)(webpack@5.101.0) + webpack-cli: 6.0.1(webpack-dev-server@5.2.2)(webpack@5.102.1) transitivePeerDependencies: - '@swc/core' - esbuild - uglify-js - webpack@5.101.0(webpack-cli@4.10.0): + webpack@5.102.1(webpack-cli@4.10.0): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.8 @@ -52537,7 +53382,7 @@ snapshots: '@webassemblyjs/wasm-parser': 1.14.1 acorn: 8.15.0 acorn-import-phases: 1.0.4(acorn@8.15.0) - browserslist: 4.25.1 + browserslist: 4.27.0 chrome-trace-event: 1.0.4 enhanced-resolve: 5.18.3 es-module-lexer: 1.7.0 @@ -52546,22 +53391,22 @@ snapshots: glob-to-regexp: 0.4.1 graceful-fs: 4.2.11 json-parse-even-better-errors: 2.3.1 - loader-runner: 4.3.0 + loader-runner: 4.3.1 mime-types: 2.1.35 neo-async: 2.6.2 - schema-utils: 4.3.2 - tapable: 2.2.2 - terser-webpack-plugin: 5.3.14(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack@5.101.0) + schema-utils: 4.3.3 + tapable: 2.3.0 + terser-webpack-plugin: 5.3.14(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack@5.102.1) watchpack: 2.4.4 webpack-sources: 3.3.3 optionalDependencies: - webpack-cli: 4.10.0(webpack-dev-server@5.2.2)(webpack@5.101.0) + webpack-cli: 4.10.0(webpack-dev-server@5.2.2)(webpack@5.102.1) transitivePeerDependencies: - '@swc/core' - esbuild - uglify-js - webpack@5.101.0(webpack-cli@5.1.4): + webpack@5.102.1(webpack-cli@5.1.4): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.8 @@ -52571,7 +53416,7 @@ snapshots: '@webassemblyjs/wasm-parser': 1.14.1 acorn: 8.15.0 acorn-import-phases: 1.0.4(acorn@8.15.0) - browserslist: 4.25.1 + browserslist: 4.27.0 chrome-trace-event: 1.0.4 enhanced-resolve: 5.18.3 es-module-lexer: 1.7.0 @@ -52580,22 +53425,22 @@ snapshots: glob-to-regexp: 0.4.1 graceful-fs: 4.2.11 json-parse-even-better-errors: 2.3.1 - loader-runner: 4.3.0 + loader-runner: 4.3.1 mime-types: 2.1.35 neo-async: 2.6.2 - schema-utils: 4.3.2 - tapable: 2.2.2 - terser-webpack-plugin: 5.3.14(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack@5.101.0) + schema-utils: 4.3.3 + tapable: 2.3.0 + terser-webpack-plugin: 5.3.14(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack@5.102.1) watchpack: 2.4.4 webpack-sources: 3.3.3 optionalDependencies: - webpack-cli: 5.1.4(webpack@5.101.0) + webpack-cli: 5.1.4(webpack@5.102.1) transitivePeerDependencies: - '@swc/core' - esbuild - uglify-js - webpack@5.101.0(webpack-cli@6.0.1): + webpack@5.102.1(webpack-cli@6.0.1): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.8 @@ -52605,7 +53450,7 @@ snapshots: '@webassemblyjs/wasm-parser': 1.14.1 acorn: 8.15.0 acorn-import-phases: 1.0.4(acorn@8.15.0) - browserslist: 4.25.1 + browserslist: 4.27.0 chrome-trace-event: 1.0.4 enhanced-resolve: 5.18.3 es-module-lexer: 1.7.0 @@ -52614,16 +53459,16 @@ snapshots: glob-to-regexp: 0.4.1 graceful-fs: 4.2.11 json-parse-even-better-errors: 2.3.1 - loader-runner: 4.3.0 + loader-runner: 4.3.1 mime-types: 2.1.35 neo-async: 2.6.2 - schema-utils: 4.3.2 - tapable: 2.2.2 - terser-webpack-plugin: 5.3.14(@swc/core@1.13.3(@swc/helpers@0.5.17))(webpack@5.101.0) + schema-utils: 4.3.3 + tapable: 2.3.0 + terser-webpack-plugin: 5.3.14(@swc/core@1.14.0(@swc/helpers@0.5.17))(webpack@5.102.1) watchpack: 2.4.4 webpack-sources: 3.3.3 optionalDependencies: - webpack-cli: 6.0.1(webpack@5.101.0) + webpack-cli: 6.0.1(webpack@5.102.1) transitivePeerDependencies: - '@swc/core' - esbuild @@ -52702,7 +53547,7 @@ snapshots: is-async-function: 2.1.1 is-date-object: 1.1.0 is-finalizationregistry: 1.1.1 - is-generator-function: 1.1.0 + is-generator-function: 1.1.2 is-regex: 1.2.1 is-weakref: 1.1.1 isarray: 2.0.5 @@ -52766,7 +53611,7 @@ snapshots: winston@3.11.0: dependencies: '@colors/colors': 1.6.0 - '@dabh/diagnostics': 2.0.3 + '@dabh/diagnostics': 2.0.8 async: 3.2.6 is-stream: 2.0.1 logform: 2.7.0 @@ -52791,7 +53636,7 @@ snapshots: workerpool@6.5.1: {} - workerpool@9.3.3: {} + workerpool@9.3.4: {} wrap-ansi@2.1.0: dependencies: @@ -52817,15 +53662,15 @@ snapshots: wrap-ansi@8.1.0: dependencies: - ansi-styles: 6.2.1 + ansi-styles: 6.2.3 string-width: 5.1.2 - strip-ansi: 7.1.0 + strip-ansi: 7.1.2 - wrap-ansi@9.0.0: + wrap-ansi@9.0.2: dependencies: - ansi-styles: 6.2.1 + ansi-styles: 6.2.3 string-width: 7.2.0 - strip-ansi: 7.1.0 + strip-ansi: 7.1.2 wrappy@1.0.2: {} @@ -52884,7 +53729,7 @@ snapshots: xml-js@1.6.11: dependencies: - sax: 1.4.1 + sax: 1.4.2 xml-name-validator@2.0.1: {} @@ -52894,17 +53739,17 @@ snapshots: xml2js@0.4.23: dependencies: - sax: 1.4.1 + sax: 1.4.2 xmlbuilder: 11.0.1 xml2js@0.5.0: dependencies: - sax: 1.4.1 + sax: 1.4.2 xmlbuilder: 11.0.1 xml2js@0.6.2: dependencies: - sax: 1.4.1 + sax: 1.4.2 xmlbuilder: 11.0.1 xml@1.0.1: {} @@ -53049,6 +53894,8 @@ snapshots: yocto-queue@1.2.1: {} + yoctocolors@2.1.2: {} + yup@1.4.0: dependencies: property-expr: 2.0.6 @@ -53073,17 +53920,17 @@ snapshots: zod@4.1.11: {} - zustand@5.0.7(@types/react@18.2.0)(react@18.2.0)(use-sync-external-store@1.5.0(react@18.2.0)): + zustand@5.0.8(@types/react@18.2.0)(react@18.2.0)(use-sync-external-store@1.6.0(react@18.2.0)): optionalDependencies: '@types/react': 18.2.0 react: 18.2.0 - use-sync-external-store: 1.5.0(react@18.2.0) + use-sync-external-store: 1.6.0(react@18.2.0) - zustand@5.0.7(@types/react@18.2.0)(react@19.1.0)(use-sync-external-store@1.5.0(react@19.1.0)): + zustand@5.0.8(@types/react@18.2.0)(react@19.1.0)(use-sync-external-store@1.6.0(react@19.1.0)): optionalDependencies: '@types/react': 18.2.0 react: 19.1.0 - use-sync-external-store: 1.5.0(react@19.1.0) + use-sync-external-store: 1.6.0(react@19.1.0) zwitch@1.0.5: {} diff --git a/workspaces/ballerina/ballerina-extension/package.json b/workspaces/ballerina/ballerina-extension/package.json index 7c9882cc01a..6272a281089 100644 --- a/workspaces/ballerina/ballerina-extension/package.json +++ b/workspaces/ballerina/ballerina-extension/package.json @@ -966,21 +966,21 @@ "description": "design-view", "default": { "fontPath": "./resources/font-wso2-vscode/dist/wso2-vscode.woff", - "fontCharacter": "\\f199" + "fontCharacter": "\\f19a" } }, "distro-start": { "description": "start", "default": { "fontPath": "./resources/font-wso2-vscode/dist/wso2-vscode.woff", - "fontCharacter": "\\f20f" + "fontCharacter": "\\f210" } }, "distro-debug": { "description": "debug", "default": { "fontPath": "./resources/font-wso2-vscode/dist/wso2-vscode.woff", - "fontCharacter": "\\f194" + "fontCharacter": "\\f195" } }, "distro-source-view": { @@ -994,7 +994,7 @@ "description": "persist-diagram", "default": { "fontPath": "./resources/font-wso2-vscode/dist/wso2-vscode.woff", - "fontCharacter": "\\f1ea" + "fontCharacter": "\\f1eb" } }, "distro-cached-rounded": { diff --git a/workspaces/ballerina/ballerina-visualizer/package.json b/workspaces/ballerina/ballerina-visualizer/package.json index 8d94ec3fba4..03f7fc8fe6c 100644 --- a/workspaces/ballerina/ballerina-visualizer/package.json +++ b/workspaces/ballerina/ballerina-visualizer/package.json @@ -81,6 +81,7 @@ "webpack": "^5.99.8", "@types/react-lottie": "^1.2.5", "@types/lodash.debounce": "^4.0.6", + "webpack-cli": "^5.1.4", "webpack-dev-server": "^5.2.1" }, "author": "wso2", diff --git a/workspaces/choreo/choreo-extension/package.json b/workspaces/choreo/choreo-extension/package.json index 60109d9edf8..93809206609 100644 --- a/workspaces/choreo/choreo-extension/package.json +++ b/workspaces/choreo/choreo-extension/package.json @@ -158,7 +158,7 @@ "description": "choreo-2", "default": { "fontPath": "./resources/font-wso2-vscode/dist/wso2-vscode.woff", - "fontCharacter": "\\f17f" + "fontCharacter": "\\f180" } } } diff --git a/workspaces/mcp-inspector/mcp-inspector-extension/package.json b/workspaces/mcp-inspector/mcp-inspector-extension/package.json index 2e7ea66d54e..843f6bcb4e4 100644 --- a/workspaces/mcp-inspector/mcp-inspector-extension/package.json +++ b/workspaces/mcp-inspector/mcp-inspector-extension/package.json @@ -82,7 +82,7 @@ "copy-webpack-plugin": "^13.0.0", "ts-loader": "^9.5.2", "webpack": "^5.99.8", - "webpack-cli": "^6.0.1" + "webpack-cli": "^5.1.4" }, "dependencies": { "@modelcontextprotocol/inspector": "^0.17.2" diff --git a/workspaces/mi/mi-extension/package.json b/workspaces/mi/mi-extension/package.json index 741a3a18504..c211615f305 100644 --- a/workspaces/mi/mi-extension/package.json +++ b/workspaces/mi/mi-extension/package.json @@ -932,14 +932,14 @@ "description": "design-view", "default": { "fontPath": "./resources/font-wso2-vscode/dist/wso2-vscode.woff", - "fontCharacter": "\\f199" + "fontCharacter": "\\f19a" } }, "distro-build-package": { "description": "build-package", "default": { "fontPath": "./resources/font-wso2-vscode/dist/wso2-vscode.woff", - "fontCharacter": "\\f174" + "fontCharacter": "\\f175" } } } From 36a74fd58afbe105498bf248386db6282aeff2ae Mon Sep 17 00:00:00 2001 From: Dan Niles Date: Tue, 4 Nov 2025 08:03:49 +0530 Subject: [PATCH 073/491] Update to get expression diagnostics only for non-empty values in fields on initial render --- .../src/components/editors/ExpressionEditor.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpressionEditor.tsx b/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpressionEditor.tsx index a4206965e99..3528b40e056 100644 --- a/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpressionEditor.tsx +++ b/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpressionEditor.tsx @@ -387,8 +387,9 @@ export const ExpressionEditor = (props: ExpressionEditorProps) => { fetchedInitialDiagnostics: true, diagnosticsFetchedTargetLineRange: targetLineRange }; + // Only validate on initial render if the field has a non-empty value getExpressionEditorDiagnostics( - (required ?? !field.optional) || fieldValue !== '', + fieldValue !== '', fieldValue, key, getPropertyFromFormField(field) From 3381b13c030aea8f0e3509ff615240209c472730 Mon Sep 17 00:00:00 2001 From: Dan Niles Date: Tue, 4 Nov 2025 08:24:18 +0530 Subject: [PATCH 074/491] Set chunker as advanced property in knowledge base form --- .../BI/Forms/KnowledgeBaseForm/index.tsx | 30 ++----------------- 1 file changed, 3 insertions(+), 27 deletions(-) diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/Forms/KnowledgeBaseForm/index.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/Forms/KnowledgeBaseForm/index.tsx index 310b3dbc999..81bb50466c5 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/Forms/KnowledgeBaseForm/index.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/Forms/KnowledgeBaseForm/index.tsx @@ -114,14 +114,6 @@ export function KnowledgeBaseForm(props: KnowledgeBaseFormProps) { const [knowledgeBaseFormValues, setKnowledgeBaseFormValues] = useState({}); const [saving, setSaving] = useState(false); - const CONNECTIONS_FILE = "connections.bal"; - const projectPath = useRef(""); - const targetLineRangeRef = useRef({ - startLine: { line: 0, offset: 0 }, - endLine: { line: 0, offset: 0 } - }); - const connectionsFilePath = useRef(""); - useEffect(() => { initializeForm(); handleFormOpen(); @@ -179,27 +171,11 @@ export function KnowledgeBaseForm(props: KnowledgeBaseFormProps) { if (originalName === "chunker") { // hack: set default value for chunker field field.defaultValue = DEFAULT_CHUNKER_VALUE; - field.value ??= field.defaultValue; + field.advanced = true; } }); setKnowledgeBaseFields(fields); setFormImports(getImportsForFormFields(fields)); - - projectPath.current = await rpcClient.getVisualizerLocation().then((location) => location.projectUri); - connectionsFilePath.current = Utils.joinPath(URI.file(projectPath.current), CONNECTIONS_FILE).fsPath; - const endPosition = await rpcClient.getBIDiagramRpcClient().getEndOfFile({ - filePath: connectionsFilePath.current - }); - targetLineRangeRef.current = { - startLine: { - line: endPosition.line, - offset: endPosition.offset - }, - endLine: { - line: endPosition.line, - offset: endPosition.offset - } - } }; const updateNodePropertyValue = (fieldKey: string, value: any): void => { @@ -236,8 +212,8 @@ export function KnowledgeBaseForm(props: KnowledgeBaseFormProps) {
Date: Tue, 4 Nov 2025 10:42:11 +0530 Subject: [PATCH 075/491] implement selection replace for new expression editor --- .../ChipExpressionBaseComponent.tsx | 43 +++-- .../components/TextElement.tsx | 35 ++-- .../ChipExpressionEditor/types.ts | 9 +- .../ChipExpressionEditor/utils.ts | 150 +++++++++++++++--- 4 files changed, 185 insertions(+), 52 deletions(-) diff --git a/workspaces/ballerina/ballerina-side-panel/src/components/editors/MultiModeExpressionEditor/ChipExpressionEditor/ChipExpressionBaseComponent.tsx b/workspaces/ballerina/ballerina-side-panel/src/components/editors/MultiModeExpressionEditor/ChipExpressionEditor/ChipExpressionBaseComponent.tsx index 8da55c98475..6f7d464258f 100644 --- a/workspaces/ballerina/ballerina-side-panel/src/components/editors/MultiModeExpressionEditor/ChipExpressionEditor/ChipExpressionBaseComponent.tsx +++ b/workspaces/ballerina/ballerina-side-panel/src/components/editors/MultiModeExpressionEditor/ChipExpressionEditor/ChipExpressionBaseComponent.tsx @@ -165,6 +165,13 @@ export const ChipExpressionBaseComponent = (props: ChipExpressionBaseComponentPr ) => { const updatedValue = getTextValueFromExpressionModel(updatedModel); + if (lastTypedText === FOCUS_MARKER) { + setExpressionModel(updatedModel); + setChipClicked(null); + setIsHelperPaneOpen(true); + return; + } + // Calculate cursor movement const cursorPositionBeforeUpdate = getAbsoluteCaretPositionFromModel(expressionModel); const cursorPositionAfterUpdate = getAbsoluteCaretPositionFromModel(updatedModel); @@ -184,11 +191,6 @@ export const ChipExpressionBaseComponent = (props: ChipExpressionBaseComponentPr const wordBeforeCursor = getWordBeforeCursor(updatedModel); const valueBeforeCursor = updatedValue.substring(0, cursorPositionAfterUpdate); - // Handle chip click reset on focus - if (lastTypedText === FOCUS_MARKER) { - setChipClicked(null); - } - // Handle helper pane and completions visibility handleHelperPaneVisibility(updatedValue, valueBeforeCursor, wordBeforeCursor); @@ -245,17 +247,12 @@ export const ChipExpressionBaseComponent = (props: ChipExpressionBaseComponentPr const isNavigationKey = (lastTypedText?: string): boolean => { return lastTypedText === ARROW_LEFT_MARKER - || lastTypedText === ARROW_RIGHT_MARKER - || lastTypedText === FOCUS_MARKER; + || lastTypedText === ARROW_RIGHT_MARKER; }; const handleNavigationKey = (cursorPosition: number, lastTypedText?: string) => { pendingCursorPositionUpdateRef.current = cursorPosition; fetchInitialTokens(props.value); - - if (lastTypedText === FOCUS_MARKER) { - setIsHelperPaneOpen(true); - } }; const shouldFetchNewTokens = (lastTypedText?: string): boolean => { @@ -315,7 +312,7 @@ export const ChipExpressionBaseComponent = (props: ChipExpressionBaseComponentPr let absoluteCaretPosition = 0; for (let i = 0; i < expressionModel?.length; i++) { if (expressionModel && expressionModel[i].isFocused) { - absoluteCaretPosition += expressionModel[i]?.focusOffset || 0; + absoluteCaretPosition += expressionModel[i]?.focusOffsetStart || 0; break; } absoluteCaretPosition += expressionModel ? expressionModel[i].value.length : 0; @@ -338,10 +335,22 @@ export const ChipExpressionBaseComponent = (props: ChipExpressionBaseComponentPr } } else { + const selectedElement = expressionModel.find(el => el.isFocused); + let shouldReplaceEntireValue = false; + if (!selectedElement) return; + if (selectedElement.focusOffsetStart !== selectedElement.focusOffsetEnd) { + // If there's a selection, replace the selected text + const newValue = selectedElement.value.substring(0, selectedElement.focusOffsetStart) + + value + + selectedElement.value.substring(selectedElement.focusOffsetEnd); + value = newValue; + shouldReplaceEntireValue = true; + + } const absoluteCaretPosition = getAbsoluteCaretPositionFromModel(expressionModel); - const updatedExpressionModelInfo = updateExpressionModelWithHelperValue(expressionModel, absoluteCaretPosition, value); + const updatedExpressionModelInfo = updateExpressionModelWithHelperValue(expressionModel, absoluteCaretPosition, value, shouldReplaceEntireValue); if (updatedExpressionModelInfo) { - const { updatedModel, updatedValue, newCursorPosition } = updatedExpressionModelInfo; + const { updatedModel, newCursorPosition } = updatedExpressionModelInfo; const textValue = getTextValueFromExpressionModel(updatedModel || []); const updatedTokens = await fetchUpdatedFilteredTokens(textValue); @@ -414,7 +423,7 @@ export const ChipExpressionBaseComponent = (props: ChipExpressionBaseComponentPr if (chipId && expressionModel) { const updatedExpressionModel = expressionModel.map(model => { if (model.id === chipId) { - return { ...model, isFocused: true, focusOffset: Math.max(model.length - 1, 0) }; + return { ...model, isFocused: true, focusOffsetStart: Math.max(model.length - 1, 0) }; } return { ...model, isFocused: false }; }); @@ -430,9 +439,9 @@ export const ChipExpressionBaseComponent = (props: ChipExpressionBaseComponentPr if (chipId && expressionModel) { const updatedExpressionModel = expressionModel.map(model => { if (model.id === chipId) { - return { ...model, isFocused: true, focusOffset: 0 }; + return { ...model, isFocused: true, focusOffsetStart: 0, focusOffsetEnd: 0 }; } - return { ...model, isFocused: false, focusOffset: undefined }; + return { ...model, isFocused: false, focusOffsetStart: undefined, focusOffsetEnd: undefined }; }); setExpressionModel(updatedExpressionModel); } diff --git a/workspaces/ballerina/ballerina-side-panel/src/components/editors/MultiModeExpressionEditor/ChipExpressionEditor/components/TextElement.tsx b/workspaces/ballerina/ballerina-side-panel/src/components/editors/MultiModeExpressionEditor/ChipExpressionEditor/components/TextElement.tsx index a24a75625eb..e65e2fe42d5 100644 --- a/workspaces/ballerina/ballerina-side-panel/src/components/editors/MultiModeExpressionEditor/ChipExpressionEditor/components/TextElement.tsx +++ b/workspaces/ballerina/ballerina-side-panel/src/components/editors/MultiModeExpressionEditor/ChipExpressionEditor/components/TextElement.tsx @@ -17,7 +17,7 @@ */ import React, { useEffect, useLayoutEffect, useRef } from "react"; -import { getCaretOffsetWithin, getAbsoluteCaretPosition, setCaretPosition, handleKeyDownInTextElement, getAbsoluteCaretPositionFromModel, hasTextSelection } from "../utils"; +import { getCaretOffsetWithin, getAbsoluteCaretPosition, setCaretPosition, handleKeyDownInTextElement, getAbsoluteCaretPositionFromModel, hasTextSelection, getSelectionOffsets, setSelectionRange } from "../utils"; import { ExpressionModel } from "../types"; import { InvisibleSpan } from "../styles"; import { FOCUS_MARKER } from "../constants"; @@ -62,11 +62,14 @@ export const TextElement = (props: { const updateFocusOffset = (host: HTMLSpanElement) => { if (!onExpressionChange) return; - const offset = getCaretOffsetWithin(host); + + // Get selection offsets (handles both caret position and selection range) + const { start, end } = getSelectionOffsets(host); + const updatedModel = props.expressionModel.map((el, i) => i === props.index - ? { ...el, isFocused: true, focusOffset: offset } - : { ...el, isFocused: false, focusOffset: undefined } + ? { ...el, isFocused: true, focusOffsetStart: start, focusOffsetEnd: end } + : { ...el, isFocused: false, focusOffsetStart: undefined, focusOffsetEnd: undefined } ); const newCursorPosition = getAbsoluteCaretPosition(updatedModel); onExpressionChange(updatedModel, newCursorPosition, FOCUS_MARKER); @@ -94,7 +97,7 @@ export const TextElement = (props: { const cursorDelta = rawNewValue.length - oldValue.length; - const currentFocusOffset = props.element.focusOffset ?? oldValue.length; + const currentFocusOffset = props.element.focusOffsetStart ?? oldValue.length; let pendingOffset: number | null = null; if (host) { @@ -127,7 +130,8 @@ export const TextElement = (props: { value: newValue, length: newValue.length, isFocused: true, - focusOffset: newFocusOffset + focusOffsetStart: newFocusOffset, + focusOffsetEnd: newFocusOffset }; const enteredText = newValue.substring( currentFocusOffset, @@ -151,25 +155,32 @@ export const TextElement = (props: { if (!onExpressionChange || !props.expressionModel) return; const updatedModel = props.expressionModel.map((element, index) => { if (index === props.index) { - return { ...element, isFocused: true, focusOffset: getCaretOffsetWithin(e.currentTarget) }; + return { ...element, isFocused: true, focusOffsetStart: getCaretOffsetWithin(e.currentTarget), focusOffsetEnd: getCaretOffsetWithin(e.currentTarget) }; } else { - return { ...element, isFocused: false, focusOffset: undefined }; + return { ...element, isFocused: false, focusOffsetStart: undefined, focusOffsetEnd: undefined }; } }) const newCursorPosition = getAbsoluteCaretPosition(updatedModel); onExpressionChange(updatedModel, newCursorPosition, FOCUS_MARKER); } - // If this element is marked as focused, focus it and set the caret to focusOffset + // If this element is marked as focused, focus it and set the caret/selection to focusOffset useEffect(() => { if (props.element.isFocused && spanRef.current) { const host = spanRef.current; isProgrammaticFocusRef.current = true; host.focus(); - const offset = props.element.focusOffset ?? (host.textContent?.length || 0); - setCaretPosition(host, offset); + + const startOffset = props.element.focusOffsetStart ?? (host.textContent?.length || 0); + const endOffset = props.element.focusOffsetEnd ?? startOffset; + + if (startOffset !== endOffset) { + setSelectionRange(host, startOffset, endOffset); + } else { + setCaretPosition(host, startOffset); + } } - }, [props.element.isFocused, props.element.focusOffset]); + }, [props.element.isFocused, props.element.focusOffsetStart, props.element.focusOffsetEnd]); return ( 0 && expressionModel[0].isToken) { expressionModel.unshift({ - id: String(idCounter++), + id: '0', value: '', isToken: false, startColumn: 0, @@ -289,7 +289,7 @@ export const createExpressionModelFromTokens = ( const endColumnBase = getAbsoluteColumnOffset(value, endLine, 0); const endColumn = (typeof endColumnBase === 'number') ? (value.length - endColumnBase) : 0; expressionModel.push({ - id: String(idCounter++), + id: '0', value: '', isToken: false, startColumn: endColumn, @@ -299,6 +299,11 @@ export const createExpressionModelFromTokens = ( }); } + // Renumber all ids to match their final positions (1-indexed) + expressionModel.forEach((el, index) => { + el.id = String(index + 1); + }); + return expressionModel; }; @@ -340,6 +345,55 @@ export const hasTextSelection = (el: HTMLElement): boolean => { return !range.collapsed; }; +export const getSelectionOffsets = (el: HTMLElement): { start: number; end: number } => { + const selection = window.getSelection(); + if (!selection || selection.rangeCount === 0) { + const offset = getCaretOffsetWithin(el); + return { start: offset, end: offset }; + } + + const range = selection.getRangeAt(0); + + if (!el.contains(range.startContainer) || !el.contains(range.endContainer)) { + const elId = el.id ? `id: ${el.id}` : `tag: ${el.tagName}`; + throw new Error(`Selection is not within the specified element (${elId})`); + } + if (range.collapsed) { + const offset = getCaretOffsetWithin(el); + return { start: offset, end: offset }; + } + + let startOffset = 0; + let endOffset = 0; + + const walker = document.createTreeWalker(el, NodeFilter.SHOW_TEXT, null); + let current: Node | null = walker.nextNode(); + + while (current) { + const textLength = (current.textContent || '').length; + + // Calculate start offset + if (current === range.startContainer) { + startOffset += range.startOffset; + } else if (current.compareDocumentPosition(range.startContainer) & Node.DOCUMENT_POSITION_FOLLOWING) { + // startContainer comes after current node + startOffset += textLength; + } + + // Calculate end offset + if (current === range.endContainer) { + endOffset += range.endOffset; + break; + } else { + endOffset += textLength; + } + + current = walker.nextNode(); + } + + return { start: startOffset, end: endOffset }; +}; + export const getAbsoluteCaretPosition = (model: ExpressionModel[] | undefined): number => { if (!model || model.length === 0) return 0; const active = document.activeElement as HTMLElement | null; @@ -366,7 +420,7 @@ export const getAbsoluteCaretPositionFromModel = (expressionModel: ExpressionMod for (const element of expressionModel) { if (element.isFocused) { - absolutePosition += element.focusOffset ?? 0; + absolutePosition += element.focusOffsetStart ?? 0; break; } absolutePosition += element.length; @@ -507,7 +561,8 @@ export const updateExpressionModelWithHelperValue = ( length: 0, type: 'literal', isFocused: false, - focusOffset: 0 + focusOffsetStart: 0, + focusOffsetEnd: 0 }] } else { @@ -602,7 +657,7 @@ export const setFocusInExpressionModel = ( const boundedOffset = Math.max(0, Math.min(exprModel[editableIndex].length, mapped.offset)); return exprModel.map((m, i) => ( i === editableIndex - ? { ...m, isFocused: true, focusOffset: boundedOffset } + ? { ...m, isFocused: true, focusOffsetStart: boundedOffset, focusOffsetEnd: boundedOffset } : { ...m, isFocused: false } )); } @@ -653,6 +708,58 @@ export const setCaretPosition = (el: HTMLElement, position: number) => { } }; +export const setSelectionRange = (el: HTMLElement, start: number, end: number) => { + if (!el.firstChild) { + el.appendChild(document.createTextNode("")); + } + + // Helper function to find text node and position + const findPosition = (position: number) => { + let remaining = Math.max(0, position); + const walker = document.createTreeWalker(el, NodeFilter.SHOW_TEXT, null); + let textNode: Text | null = null; + let posInNode = 0; + let node = walker.nextNode() as Text | null; + + while (node) { + const len = node.textContent ? node.textContent.length : 0; + if (remaining <= len) { + textNode = node; + posInNode = remaining; + break; + } + remaining -= len; + node = walker.nextNode() as Text | null; + } + + if (!textNode) { + const last = el.lastChild; + if (last && last.nodeType === Node.TEXT_NODE) { + textNode = last as Text; + posInNode = (textNode.textContent || "").length; + } else { + textNode = el.firstChild as Text; + posInNode = 0; + } + } + + return { textNode, posInNode }; + }; + + const startPos = findPosition(start); + const endPos = findPosition(end); + + const range = document.createRange(); + range.setStart(startPos.textNode, Math.max(0, Math.min(startPos.posInNode, (startPos.textNode.textContent || "").length))); + range.setEnd(endPos.textNode, Math.max(0, Math.min(endPos.posInNode, (endPos.textNode.textContent || "").length))); + + const sel = window.getSelection(); + if (sel) { + sel.removeAllRanges(); + sel.addRange(range); + } +}; + export const handleKeyDownInTextElement = ( e: React.KeyboardEvent, expressionModel: ExpressionModel[], @@ -746,7 +853,7 @@ const mergeWithPreviousElement = ( const newExpressionModel = expressionModel .map((el, idx) => { if (idx === previousIndex) { - return { ...el, isFocused: true, focusOffset: el.length }; + return { ...el, isFocused: true, focusOffsetStart: el.length }; } return el; }) @@ -819,7 +926,7 @@ const deleteFirstCharFromNextElement = ( const newExpressionModel = expressionModel .map((el, idx) => { if (idx === currentIndex) { - return { ...el, isFocused: true, focusOffset: el.length }; + return { ...el, isFocused: true, focusOffsetStart: el.length }; } else if (idx === nextIndex && !shouldRemoveNext) { return { ...el, value: updatedNextValue, length: updatedNextValue.length }; } @@ -863,9 +970,9 @@ const moveToNextElement = ( if (!expressionModel[i].isToken) { const newExpressionModel = expressionModel.map((el, idx) => { if (idx === i) { - return { ...el, isFocused: true, focusOffset: 0 }; + return { ...el, isFocused: true, focusOffsetStart: 0 }; } else if (idx === index) { - return { ...el, isFocused: false, focusOffset: undefined }; + return { ...el, isFocused: false, focusOffsetStart: undefined }; } return el; }); @@ -885,7 +992,7 @@ const moveCaretForward = ( ) => { const newExpressionModel = expressionModel.map((el, idx) => { if (idx === index) { - return { ...el, isFocused: true, focusOffset: Math.max(0, caretOffset + 1) }; + return { ...el, isFocused: true, focusOffsetStart: Math.max(0, caretOffset + 1) }; } return el; }); @@ -923,9 +1030,9 @@ const moveToPreviousElement = ( if (!expressionModel[i].isToken) { const newExpressionModel = expressionModel.map((el, idx) => { if (idx === i) { - return { ...el, isFocused: true, focusOffset: el.length }; + return { ...el, isFocused: true, focusOffsetStart: el.length }; } else if (idx === index) { - return { ...el, isFocused: false, focusOffset: undefined }; + return { ...el, isFocused: false, focusOffsetStart: undefined }; } return el; }); @@ -945,7 +1052,7 @@ const moveCaretBackward = ( ) => { const newExpressionModel = expressionModel.map((el, idx) => { if (idx === index) { - return { ...el, isFocused: true, focusOffset: Math.max(0, caretOffset - 1) }; + return { ...el, isFocused: true, focusOffsetStart: Math.max(0, caretOffset - 1) }; } return el; }); @@ -992,7 +1099,8 @@ export const setCursorPositionToExpressionModel = (expressionModel: ExpressionMo newExpressionModel.push({ id: element.id + "1", isFocused: true, - focusOffset: 0, + focusOffsetStart: 0, + focusOffsetEnd: 0, value: ' ', isToken: element.isToken, startColumn: element.startColumn, @@ -1007,12 +1115,14 @@ export const setCursorPositionToExpressionModel = (expressionModel: ExpressionMo newExpressionModel.push({ ...element, isFocused: false, - focusOffset: undefined + focusOffsetStart: undefined, + focusOffsetEnd: undefined }); newExpressionModel.push({ ...nextElement, isFocused: true, - focusOffset: 0 + focusOffsetStart: 0, + focusOffsetEnd: 0 }); i += 2; } @@ -1021,7 +1131,8 @@ export const setCursorPositionToExpressionModel = (expressionModel: ExpressionMo newExpressionModel.push({ ...element, isFocused: true, - focusOffset: cursorPosition + focusOffsetStart: cursorPosition, + focusOffsetEnd: cursorPosition }); i += 1; } @@ -1030,7 +1141,8 @@ export const setCursorPositionToExpressionModel = (expressionModel: ExpressionMo newExpressionModel.push({ ...element, isFocused: false, - focusOffset: undefined + focusOffsetStart: undefined, + focusOffsetEnd: undefined }); i += 1; if (!foundTarget) { From 0c04edd35a3125df7c85957ce73f1a88a925ddf9 Mon Sep 17 00:00:00 2001 From: samithkavishke Date: Tue, 4 Nov 2025 10:45:10 +0530 Subject: [PATCH 076/491] Correct the passing value --- .../src/views/BI/Forms/FormGenerator/index.tsx | 8 ++++---- .../src/views/BI/Forms/FormGeneratorNew/index.tsx | 10 +++++----- .../src/views/BI/TypeEditor/index.tsx | 4 ++-- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/Forms/FormGenerator/index.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/Forms/FormGenerator/index.tsx index f36fb1c1d83..27badb7a3d3 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/Forms/FormGenerator/index.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/Forms/FormGenerator/index.tsx @@ -1217,10 +1217,10 @@ export const FormGenerator = forwardRef(func }); }; - const getDefaultValue = () => { + const getDefaultValue = (typeName?: string) => { return ({ type: { - name: "MyType", + name: typeName || "MyType", members: [] as Member[], editable: true, metadata: { @@ -1238,8 +1238,8 @@ export const FormGenerator = forwardRef(func }) } - const getNewTypeCreateForm = () => { - pushTypeStack(getDefaultValue()); + const getNewTypeCreateForm = (typeName?: string) => { + pushTypeStack(getDefaultValue(typeName)); } // handle if node form diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/Forms/FormGeneratorNew/index.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/Forms/FormGeneratorNew/index.tsx index 1b049d56b01..e3a0b3dc3f0 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/Forms/FormGeneratorNew/index.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/Forms/FormGeneratorNew/index.tsx @@ -310,10 +310,10 @@ export function FormGeneratorNew(props: FormProps) { closePopup: closeModal } - const defaultType = (): Type => { + const defaultType = (typeName?: string): Type => { if (!isGraphqlEditor || typeEditorState.field?.type === 'PARAM_MANAGER') { return { - name: typeEditorState.newTypeValue || "MyType", + name: typeName || typeEditorState.newTypeValue || "MyType", editable: true, metadata: { label: "", @@ -328,7 +328,7 @@ export function FormGeneratorNew(props: FormProps) { allowAdditionalFields: false }; } return { - name: typeEditorState.newTypeValue || "MyType", + name: typeName || typeEditorState.newTypeValue || "MyType", editable: true, metadata: { label: "", @@ -818,9 +818,9 @@ export function FormGeneratorNew(props: FormProps) { setTypeEditorState({ ...typeEditorState, isOpen: state }); } - const getNewTypeCreateForm = () => { + const getNewTypeCreateForm = (typeName?: string) => { pushTypeStack({ - type: defaultType(), + type: defaultType(typeName), isDirty: false }) } diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/TypeEditor/index.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/TypeEditor/index.tsx index 2343c285c26..d595569bbdd 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/TypeEditor/index.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/TypeEditor/index.tsx @@ -47,7 +47,7 @@ type FormTypeEditorProps = { isGraphql?: boolean; onCloseCompletions?: () => void; onTypeCreate: (typeName?: string) => void; - getNewTypeCreateForm: () => void; + getNewTypeCreateForm: (typeName?: string) => void; onSaveType: (type: Type | string) => void refetchTypes: boolean; isPopupTypeForm: boolean; @@ -239,7 +239,7 @@ export const FormTypeEditor = (props: FormTypeEditorProps) => { }; const handleTypeCreate = (typeName?: string) => { - getNewTypeCreateForm(); + getNewTypeCreateForm(typeName); }; return ( From 3fc6c8e57e778867a84c2ccaf77b66bead4a9058 Mon Sep 17 00:00:00 2001 From: Senith Uthsara Date: Tue, 4 Nov 2025 11:38:25 +0530 Subject: [PATCH 077/491] fix service config attach listner popup overlap --- .../ballerina-visualizer/src/Context.tsx | 1 + .../ServiceDesigner/ServiceConfigureView.tsx | 34 +++++++------------ 2 files changed, 14 insertions(+), 21 deletions(-) diff --git a/workspaces/ballerina/ballerina-visualizer/src/Context.tsx b/workspaces/ballerina/ballerina-visualizer/src/Context.tsx index bcde06cdec3..c14ce41fec9 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/Context.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/Context.tsx @@ -139,6 +139,7 @@ export const POPUP_IDS = { CONFIGURABLES: "CONFIGURABLES", RECORD_CONFIG: "RECORD_CONFIG", LIBRARY_BROWSER: "LIBRARY_BROWSER", + ATTACH_LISTNER: "ATTACH_LISTNER", } as const; type ModalStackItem = { diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/ServiceConfigureView.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/ServiceConfigureView.tsx index ea67d1682ea..0ce3b885937 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/ServiceConfigureView.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/ServiceConfigureView.tsx @@ -29,6 +29,7 @@ import { LoadingContainer } from "../../styles"; import { LoadingRing } from "../../../components/Loader"; import DynamicModal from "../../../components/Modal"; import { getReadableListenerName } from "./utils"; +import { POPUP_IDS, useModalStack } from "../../../Context"; const Container = styled.div` width: 100%; @@ -199,14 +200,15 @@ export function ServiceConfigureView(props: ServiceConfigureProps) { const [serviceModel, setServiceModel] = useState(undefined); const [listeners, setListeners] = useState([]); - const [showAttachListenerModal, setShowAttachListenerModal] = useState(false); - const [isSaving, setIsSaving] = useState(false); const [hasChanges, setHasChanges] = useState(false); const [selectedListener, setSelectedListener] = useState(null); const [changeMap, setChangeMap] = useState<{ [key: string]: ChangeMap }>({}); + + const { addModal, closeModal } = useModalStack() + // Helper function to create key from filePath and position const getChangeKey = (filePath: string, position: NodePosition) => { return `${filePath}:${position.startLine}:${position.startColumn}:${position.endLine}:${position.endColumn}`; @@ -496,7 +498,7 @@ export function ServiceConfigureView(props: ServiceConfigureProps) { const res = await rpcClient.getServiceDesignerRpcClient().updateServiceSourceCode({ filePath: props.filePath, service: serviceModel }); const updatedArtifact = res.artifacts.at(0); await fetchService(updatedArtifact.position); - setShowAttachListenerModal(false); + closeModal(POPUP_IDS.ATTACH_LISTNER); setChangeMap({}); } @@ -738,26 +740,16 @@ export function ServiceConfigureView(props: ServiceConfigureProps) { {/* Add a button to attach a new listener and when clicked, open a new modal to select a listener if multiple listener are allowed */} {listenerType === "MULTIPLE" && ( { - setShowAttachListenerModal(true); + addModal( + listener.name)} + /> + , POPUP_IDS.ATTACH_LISTNER, "Attach Listener", 600, 500); }}> Attach Listener )} - - - listener.name)} - /> -
)} From 2969adae2c61f87b1982bb8d227119ab429ff31b Mon Sep 17 00:00:00 2001 From: gigara Date: Tue, 4 Nov 2025 11:45:52 +0530 Subject: [PATCH 078/491] Remove redundant commands --- rush.json | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/rush.json b/rush.json index c182811138b..564262c5974 100644 --- a/rush.json +++ b/rush.json @@ -237,9 +237,7 @@ * The list of shell commands to run before the Rush build command starts */ "preRushBuild": [ - "npm run init-submodules", - "cd workspaces/mi/mi-extension && pnpm run download-ls", - "cd workspaces/ballerina/ballerina-extension && pnpm run download-ls" + "npm run init-submodules" ], /** * The list of shell commands to run after the Rush build command finishes From 1ef57622f84783e88b4272529c15533b23436406 Mon Sep 17 00:00:00 2001 From: gigara Date: Tue, 4 Nov 2025 11:46:17 +0530 Subject: [PATCH 079/491] Fix test results cache key id --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 740894b7edb..eb1f7b7c52f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -352,7 +352,7 @@ jobs: uses: actions/download-artifact@v4 continue-on-error: true with: - name: ${{ matrix.name }}-e2e-test-results-${{ matrix.group }}-${{ env.PREVIOUS_ATTEMPT }} + name: ${{ matrix.name }}-e2e-test-results-${{ matrix.os }}-${{ matrix.group }}-${{ env.PREVIOUS_ATTEMPT }} path: workspaces/${{ matrix.path }}/test-results - name: install packages @@ -413,7 +413,7 @@ jobs: uses: actions/upload-artifact@v4 if: always() with: - name: ${{ matrix.name }}I-e2e-test-results-${{ matrix.os }}-${{ matrix.group }}-${{ github.run_attempt }} + name: ${{ matrix.name }}-e2e-test-results-${{ matrix.os }}-${{ matrix.group }}-${{ github.run_attempt }} path: workspaces/${{ matrix.path }}/test-results/** retention-days: 5 include-hidden-files: true From 7f56b2e489ee7a37c1faf0630df6f0335bae14c9 Mon Sep 17 00:00:00 2001 From: Senith Uthsara Date: Tue, 4 Nov 2025 11:47:26 +0530 Subject: [PATCH 080/491] address PR suggestions --- workspaces/ballerina/ballerina-visualizer/src/Context.tsx | 2 +- .../src/views/BI/ServiceDesigner/ServiceConfigureView.tsx | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/workspaces/ballerina/ballerina-visualizer/src/Context.tsx b/workspaces/ballerina/ballerina-visualizer/src/Context.tsx index c14ce41fec9..04d5591d8e5 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/Context.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/Context.tsx @@ -139,7 +139,7 @@ export const POPUP_IDS = { CONFIGURABLES: "CONFIGURABLES", RECORD_CONFIG: "RECORD_CONFIG", LIBRARY_BROWSER: "LIBRARY_BROWSER", - ATTACH_LISTNER: "ATTACH_LISTNER", + ATTACH_LISTENER: "ATTACH_LISTENER", } as const; type ModalStackItem = { diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/ServiceConfigureView.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/ServiceConfigureView.tsx index 0ce3b885937..c1de965ef5c 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/ServiceConfigureView.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/ServiceConfigureView.tsx @@ -498,7 +498,7 @@ export function ServiceConfigureView(props: ServiceConfigureProps) { const res = await rpcClient.getServiceDesignerRpcClient().updateServiceSourceCode({ filePath: props.filePath, service: serviceModel }); const updatedArtifact = res.artifacts.at(0); await fetchService(updatedArtifact.position); - closeModal(POPUP_IDS.ATTACH_LISTNER); + closeModal(POPUP_IDS.ATTACH_LISTENER); setChangeMap({}); } @@ -747,7 +747,7 @@ export function ServiceConfigureView(props: ServiceConfigureProps) { onAttachListener={handleOnAttachListener} attachedListeners={listeners.map(listener => listener.name)} /> - , POPUP_IDS.ATTACH_LISTNER, "Attach Listener", 600, 500); + , POPUP_IDS.ATTACH_LISTENER, "Attach Listener", 600, 500); }}> Attach Listener )}
From a5b1d9fd933ca1bbb968d2c1f100e9ecc03b035a Mon Sep 17 00:00:00 2001 From: Senith Uthsara Date: Tue, 4 Nov 2025 11:48:09 +0530 Subject: [PATCH 081/491] remove unused imports --- .../src/views/BI/ServiceDesigner/ServiceConfigureView.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/ServiceConfigureView.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/ServiceConfigureView.tsx index c1de965ef5c..53acb4a176d 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/ServiceConfigureView.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ServiceDesigner/ServiceConfigureView.tsx @@ -27,7 +27,6 @@ import ListenerConfigForm from "./Forms/ListenerConfigForm"; import { ServiceEditView } from "./ServiceEditView"; import { LoadingContainer } from "../../styles"; import { LoadingRing } from "../../../components/Loader"; -import DynamicModal from "../../../components/Modal"; import { getReadableListenerName } from "./utils"; import { POPUP_IDS, useModalStack } from "../../../Context"; From 030d379dc98183ab54735931e77f9c53f2b2b6fc Mon Sep 17 00:00:00 2001 From: Kanushka Gayan Date: Tue, 4 Nov 2025 12:03:32 +0530 Subject: [PATCH 082/491] Fix model provider list auto close issue when creating a new model --- .../src/views/BI/FlowDiagram/index.tsx | 45 +++++++++---------- 1 file changed, 22 insertions(+), 23 deletions(-) diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/FlowDiagram/index.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/FlowDiagram/index.tsx index 82837067016..10653d41ded 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/FlowDiagram/index.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/FlowDiagram/index.tsx @@ -898,29 +898,27 @@ export function BIFlowDiagram(props: BIFlowDiagramProps) { }; const updateArtifactLocation = async (artifacts: UpdatedArtifactsResponse) => { - const currentArtifact = await rpcClient.getVisualizerRpcClient().updateCurrentArtifactLocation(artifacts); - if (currentArtifact) { - console.log(">>> currentArtifact", currentArtifact); - if (isCreatingNewModelProvider.current) { - isCreatingNewModelProvider.current = false; - await handleModelProviderAdded(); - return; - } - if (isCreatingNewVectorStore.current) { - isCreatingNewVectorStore.current = false; - await handleVectorStoreAdded(); - return; - } - if (isCreatingNewEmbeddingProvider.current) { - isCreatingNewEmbeddingProvider.current = false; - await handleEmbeddingProviderAdded(); - return; - } - if (isCreatingNewVectorKnowledgeBase.current) { - isCreatingNewVectorKnowledgeBase.current = false; - await handleVectorKnowledgeBaseAdded(); - return; - } + await rpcClient.getVisualizerRpcClient().updateCurrentArtifactLocation(artifacts); + + if (isCreatingNewModelProvider.current) { + isCreatingNewModelProvider.current = false; + await handleModelProviderAdded(); + return; + } + if (isCreatingNewVectorStore.current) { + isCreatingNewVectorStore.current = false; + await handleVectorStoreAdded(); + return; + } + if (isCreatingNewEmbeddingProvider.current) { + isCreatingNewEmbeddingProvider.current = false; + await handleEmbeddingProviderAdded(); + return; + } + if (isCreatingNewVectorKnowledgeBase.current) { + isCreatingNewVectorKnowledgeBase.current = false; + await handleVectorKnowledgeBaseAdded(); + return; } if (isCreatingNewDataLoader.current) { isCreatingNewDataLoader.current = false; @@ -1265,6 +1263,7 @@ export function BIFlowDiagram(props: BIFlowDiagramProps) { isFunctionNodeUpdate: dataMapperMode !== DataMapperDisplayMode.NONE, }) .then(async (response) => { + console.log(">>> Source code update response", response); if (response.artifacts.length > 0) { if (updatedNode?.codedata?.symbol === GET_DEFAULT_MODEL_PROVIDER || (updatedNode?.codedata?.node === "AGENT_CALL" && updatedNode?.properties?.model?.value === "")) { From c5cfc40c3d379cfd4a1fd6d7351c1207f6028fac Mon Sep 17 00:00:00 2001 From: Dan Niles Date: Tue, 4 Nov 2025 12:08:51 +0530 Subject: [PATCH 083/491] Fix styling to ensure full width display in knowledge base form --- .../src/components/editors/ActionExpressionEditor.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/workspaces/ballerina/ballerina-side-panel/src/components/editors/ActionExpressionEditor.tsx b/workspaces/ballerina/ballerina-side-panel/src/components/editors/ActionExpressionEditor.tsx index e7916549762..e585412f381 100644 --- a/workspaces/ballerina/ballerina-side-panel/src/components/editors/ActionExpressionEditor.tsx +++ b/workspaces/ballerina/ballerina-side-panel/src/components/editors/ActionExpressionEditor.tsx @@ -26,6 +26,7 @@ const Row = styled.div` display: flex; flex-direction: column; margin: 0; + width: 100%; `; const actionButtonStyles = { From 268d8489b0110e14f72cf88033d4683d6f252089 Mon Sep 17 00:00:00 2001 From: gigara Date: Tue, 4 Nov 2025 12:22:21 +0530 Subject: [PATCH 084/491] Remove console log for redirect location in downloadFile function --- workspaces/ballerina/ballerina-extension/scripts/download-ls.js | 1 - 1 file changed, 1 deletion(-) diff --git a/workspaces/ballerina/ballerina-extension/scripts/download-ls.js b/workspaces/ballerina/ballerina-extension/scripts/download-ls.js index d4c2a9d4f59..aff1cd55daa 100644 --- a/workspaces/ballerina/ballerina-extension/scripts/download-ls.js +++ b/workspaces/ballerina/ballerina-extension/scripts/download-ls.js @@ -100,7 +100,6 @@ function downloadFile(url, outputPath, maxRedirects = 5) { return; } - console.log(`Following redirect to: ${res.headers.location}`); makeRequest(res.headers.location, redirectCount + 1); return; } From ddf2cd4d8e4413a18fd30d2e1a173387d374d636 Mon Sep 17 00:00:00 2001 From: madushajg Date: Tue, 4 Nov 2025 12:28:24 +0530 Subject: [PATCH 085/491] Enhance BIRunAdapter to determine project root and set working directory for task execution --- .../src/features/debugger/config-provider.ts | 99 +++++++++++-------- 1 file changed, 58 insertions(+), 41 deletions(-) diff --git a/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts b/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts index d08c9c2e45f..01fc886e955 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts @@ -26,7 +26,8 @@ import { TaskExecution, DebugAdapterTrackerFactory, DebugAdapterTracker, - ViewColumn + ViewColumn, + TaskScope } from 'vscode'; import * as child_process from "child_process"; import { getPortPromise } from 'portfinder'; @@ -530,7 +531,7 @@ class BallerinaDebugAdapterDescriptorFactory implements DebugAdapterDescriptorFa }); } - if (session.configuration.noDebug && StateMachine.context().isBI) { + if (session.configuration.noDebug) { return new Promise((resolve) => { resolve(new DebugAdapterInlineImplementation(new BIRunAdapter())); }); @@ -640,51 +641,67 @@ class BIRunAdapter extends LoggingDebugSession { taskTerminationListener: Disposable | null = null; protected launchRequest(response: DebugProtocol.LaunchResponse, args: DebugProtocol.LaunchRequestArguments, request?: DebugProtocol.Request): void { - const taskDefinition: TaskDefinition = { - type: 'shell', - task: 'run' - }; - - let runCommand: string = `${extension.ballerinaExtInstance.getBallerinaCmd()} run`; + getCurrentProjectRoot().then((projectRoot) => { + const taskDefinition: TaskDefinition = { + type: 'shell', + task: 'run' + }; - const programArgs = (args as any).programArgs; - if (programArgs && programArgs.length > 0) { - runCommand = `${runCommand} -- ${programArgs.join(' ')}`; - } + let runCommand: string = `${extension.ballerinaExtInstance.getBallerinaCmd()} run`; - if (isSupportedSLVersion(extension.ballerinaExtInstance, 2201130) && extension.ballerinaExtInstance.enabledExperimentalFeatures()) { - runCommand = `${runCommand} --experimental`; - } + const programArgs = (args as any).programArgs; + if (programArgs && programArgs.length > 0) { + runCommand = `${runCommand} -- ${programArgs.join(' ')}`; + } - // Use the current process environment which should have the updated PATH - const env = process.env; - debugLog(`[BIRunAdapter] Creating shell execution with env. PATH length: ${env.PATH?.length || 0}`); - const execution = new ShellExecution(runCommand, { env: env as { [key: string]: string } }); - const task = new Task( - taskDefinition, - workspace.workspaceFolders![0], // Assumes at least one workspace folder is open - 'Ballerina Run', - 'ballerina', - execution - ); + if (isSupportedSLVersion(extension.ballerinaExtInstance, 2201130) && extension.ballerinaExtInstance.enabledExperimentalFeatures()) { + runCommand = `${runCommand} --experimental`; + } - try { - tasks.executeTask(task).then((taskExecution) => { - this.task = taskExecution; + // Use the current process environment which should have the updated PATH + const env = process.env; + debugLog(`[BIRunAdapter] Creating shell execution with env. PATH length: ${env.PATH?.length || 0}`); + + // Determine the correct working directory for the task + // If projectRoot is a file (single file project), use its directory + // Otherwise, use the projectRoot itself (which is the project directory) + const cwd = fs.statSync(projectRoot).isFile() ? path.dirname(projectRoot) : projectRoot; + debugLog(`[BIRunAdapter] Setting cwd to project root: ${cwd}`); + + const execution = new ShellExecution(runCommand, { + env: env as { [key: string]: string }, + cwd: cwd + }); + const task = new Task( + taskDefinition, + TaskScope.Workspace, + 'Ballerina Run', + 'ballerina', + execution + ); + + try { + tasks.executeTask(task).then((taskExecution) => { + this.task = taskExecution; + + // Add task termination listener + this.taskTerminationListener = tasks.onDidEndTaskProcess(e => { + if (e.execution === this.task) { + this.sendEvent(new TerminatedEvent()); + } + }); - // Add task termination listener - this.taskTerminationListener = tasks.onDidEndTaskProcess(e => { - if (e.execution === this.task) { - this.sendEvent(new TerminatedEvent()); - } + response.success = true; + this.sendResponse(response); }); - - response.success = true; - this.sendResponse(response); - }); - } catch (error) { - window.showErrorMessage(`Failed to run Ballerina package: ${error}`); - } + } catch (error) { + window.showErrorMessage(`Failed to run Ballerina package: ${error}`); + } + }).catch((error) => { + window.showErrorMessage(`Failed to determine project root: ${error}`); + response.success = false; + this.sendResponse(response); + }); } protected disconnectRequest(response: DebugProtocol.DisconnectResponse, args: DebugProtocol.DisconnectArguments, request?: DebugProtocol.Request): void { From 39c9f104a12237913c90a9a6d074ab3e00209e2d Mon Sep 17 00:00:00 2001 From: madushajg Date: Tue, 4 Nov 2025 12:45:06 +0530 Subject: [PATCH 086/491] Refactor project root retrieval by exporting getCurrentProjectRoot function for improved workspace handling in TryIt feature --- .../src/features/debugger/config-provider.ts | 2 +- .../src/features/tryit/activator.ts | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts b/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts index 01fc886e955..93f8e6c0d34 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/debugger/config-provider.ts @@ -758,7 +758,7 @@ async function stopRunFast(root: string): Promise { }); } -async function getCurrentProjectRoot(): Promise { +export async function getCurrentProjectRoot(): Promise { // 1. Check if the project path is already set in the state machine context let currentProjectRoot = StateMachine.context().projectUri; if (currentProjectRoot) { diff --git a/workspaces/ballerina/ballerina-extension/src/features/tryit/activator.ts b/workspaces/ballerina/ballerina-extension/src/features/tryit/activator.ts index 30b030a1b75..1ee43ee97a9 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/tryit/activator.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/tryit/activator.ts @@ -29,6 +29,7 @@ import { startDebugging } from "../editor-support/activator"; import { v4 as uuidv4 } from "uuid"; import { createGraphqlView } from "../../views/graphql"; import { StateMachine } from "../../stateMachine"; +import { getCurrentProjectRoot } from "../debugger"; // File constants const FILE_NAMES = { @@ -66,9 +67,17 @@ async function openTryItView(withNotice: boolean = false, resourceMetadata?: Res throw new Error('Ballerina Language Server is not connected'); } - const projectPath = StateMachine.context().projectUri; + let projectPath = StateMachine.context().projectUri; if (!projectPath) { - throw new Error('Please open a workspace first'); + const currentProjectRoot = await getCurrentProjectRoot(); + if (!currentProjectRoot) { + throw new Error('Please open a workspace first'); + } + // If currentProjectRoot is a file (single file project), use its directory + // Otherwise, use the current project root + projectPath = fs.statSync(currentProjectRoot).isFile() + ? path.dirname(currentProjectRoot) + : currentProjectRoot; } let services: ServiceInfo[] | null = await getAvailableServices(projectPath); From 9a6febb6a450d9c7a96d84558f4b70221eca6ce6 Mon Sep 17 00:00:00 2001 From: Senith Uthsara Date: Tue, 4 Nov 2025 13:24:47 +0530 Subject: [PATCH 087/491] remove mode switcher and keep only text mode from foreach node collection field by special casing it --- .../src/components/Form/index.tsx | 5 ++++- .../components/editors/ExpressionEditor.tsx | 21 ++++++++++++------- .../ballerina-side-panel/src/context/form.tsx | 5 ++++- 3 files changed, 22 insertions(+), 9 deletions(-) diff --git a/workspaces/ballerina/ballerina-side-panel/src/components/Form/index.tsx b/workspaces/ballerina/ballerina-side-panel/src/components/Form/index.tsx index e291c10d651..0ac8b2f5895 100644 --- a/workspaces/ballerina/ballerina-side-panel/src/components/Form/index.tsx +++ b/workspaces/ballerina/ballerina-side-panel/src/components/Form/index.tsx @@ -613,7 +613,10 @@ export const Form = forwardRef((props: FormProps) => { }, targetLineRange, fileName, - popupManager: popupManager + popupManager: popupManager, + nodeInfo: { + kind: selectedNode, + } }; // Find the first editable field diff --git a/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpressionEditor.tsx b/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpressionEditor.tsx index 3528b40e056..c3a82b4b268 100644 --- a/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpressionEditor.tsx +++ b/workspaces/ballerina/ballerina-side-panel/src/components/editors/ExpressionEditor.tsx @@ -367,6 +367,8 @@ export const ExpressionEditor = (props: ExpressionEditorProps) => { const exprRef = useRef(null); const anchorRef = useRef(null); + const { nodeInfo } = useFormContext(); + // Use to fetch initial diagnostics const previousDiagnosticsFetchContext = useRef({ fetchedInitialDiagnostics: false, @@ -532,6 +534,13 @@ export const ExpressionEditor = (props: ExpressionEditorProps) => { : `${field.documentation}.` : ''; + const isModeSwitcherAvailable = () => { + if (nodeInfo?.kind === "FOREACH") return false; + if (!(focused || isExpressionEditorHovered)) return false; + if (!getInputModeFromTypes(field.valueTypeConstraint)) return false; + return true; + } + return ( {
- {(focused || isExpressionEditorHovered) - && getInputModeFromTypes(field.valueTypeConstraint) - && ( - )} diff --git a/workspaces/ballerina/ballerina-side-panel/src/context/form.tsx b/workspaces/ballerina/ballerina-side-panel/src/context/form.tsx index 4087070dc51..37bac4fcb63 100644 --- a/workspaces/ballerina/ballerina-side-panel/src/context/form.tsx +++ b/workspaces/ballerina/ballerina-side-panel/src/context/form.tsx @@ -16,7 +16,7 @@ * under the License. */ -import { LineRange } from '@wso2/ballerina-core'; +import { LineRange, NodeKind } from '@wso2/ballerina-core'; import React, { createContext, FC, useContext } from 'react'; import { Control, @@ -52,6 +52,9 @@ export interface FormContext { removeLastPopup: () => void; closePopup: (id: string) => void; + }, + nodeInfo: { + kind: NodeKind } } From 89811d3c6e11084a6218876aa0c8a033f301962e Mon Sep 17 00:00:00 2001 From: samithkavishke Date: Tue, 4 Nov 2025 13:30:52 +0530 Subject: [PATCH 088/491] Resolve the unfocusing issue --- .../src/TypeEditor/Tabs/TypeCreatorTab.tsx | 34 ++++++++++++++++--- 1 file changed, 30 insertions(+), 4 deletions(-) diff --git a/workspaces/ballerina/type-editor/src/TypeEditor/Tabs/TypeCreatorTab.tsx b/workspaces/ballerina/type-editor/src/TypeEditor/Tabs/TypeCreatorTab.tsx index 9ee34534a82..c18132123d3 100644 --- a/workspaces/ballerina/type-editor/src/TypeEditor/Tabs/TypeCreatorTab.tsx +++ b/workspaces/ballerina/type-editor/src/TypeEditor/Tabs/TypeCreatorTab.tsx @@ -193,6 +193,9 @@ export function TypeCreatorTab(props: TypeCreatorTabProps) { default: setSelectedTypeKind(TypeKind.RECORD); } + + // Ensure tempName is initialized when editing a new type (prevents focus loss due to replacing the main type on each keystroke) + setTempName(editingType.name); } setIsNewType(newType); @@ -420,10 +423,24 @@ export function TypeCreatorTab(props: TypeCreatorTabProps) { } const handleOnTypeNameChange = (value: string) => { + if (isNewType) { + setTempName(value); + validateTypeName(value); + return; + } handleSetType({ ...type, name: value }); validateTypeName(value); } + const commitNewTypeName = () => { + if (!isNewType) { + return; + } + if (tempName && tempName !== type.name) { + handleSetType({ ...type, name: tempName } as Type); + } + }; + // Function to validate before saving to verify names created in nested forms const handleSaveWithValidation = async (typeToSave: Type) => { @@ -600,13 +617,18 @@ export function TypeCreatorTab(props: TypeCreatorTabProps) { { + // commit local name into type on blur and validate + commitNewTypeName(); + handleOnBlur(e); + }} onChange={(e) => handleOnTypeNameChange(e.target.value)} onKeyDown={(e) => { if (e.key === 'Enter') { - handleOnTypeNameChange((e.target as HTMLInputElement).value); + // commit on Enter + commitNewTypeName(); } }} onFocus={(e) => { e.target.select(); validateTypeName(e.target.value) }} @@ -622,7 +644,11 @@ export function TypeCreatorTab(props: TypeCreatorTabProps) {