diff --git a/cli/esbuild.config.mjs b/cli/esbuild.config.mjs index 28d99e7a445..7324b4c38ba 100644 --- a/cli/esbuild.config.mjs +++ b/cli/esbuild.config.mjs @@ -1,3 +1,4 @@ +/* eslint-disable no-undef */ import esbuild from "esbuild" import { chmodSync, mkdirSync, copyFileSync } from "fs" import { rimrafSync } from "rimraf" @@ -14,7 +15,7 @@ function copyPostBuildFiles() { try { copyFileSync(".env", "dist/.env") copyFileSync(".env", "dist/kilocode/.env") - } catch (err) { + } catch { // .env might not exist, that's okay } diff --git a/cli/eslint.config.mjs b/cli/eslint.config.mjs new file mode 100644 index 00000000000..5c585923e45 --- /dev/null +++ b/cli/eslint.config.mjs @@ -0,0 +1,13 @@ +import { config } from "@roo-code/config-eslint/base" + +export default [ + ...config, + { + rules: { + // "@typescript-eslint/no-explicit-any": "off", + }, + }, + { + ignores: ["dist/*"], + }, +] diff --git a/cli/package.json b/cli/package.json index 6932e8ba3cc..c50e9f338a2 100644 --- a/cli/package.json +++ b/cli/package.json @@ -10,6 +10,7 @@ }, "scripts": { "build": "node esbuild.config.mjs", + "dev": "pnpm build --watch", "deps:install": "npm install --prefix ./dist", "start": "node dist/index.js", "clean": "rimraf dist", @@ -20,7 +21,8 @@ "logs": "clear && tail -f ~/.kilocode/cli/logs/cli.txt", "logs:clear": "rimraf ~/.kilocode/cli/logs/* && touch ~/.kilocode/cli/logs/cli.txt", "clean:kilocode": "npx del-cli ./dist/kilocode --force && npx mkdirp ./dist/kilocode", - "copy:kilocode": "npx cpy '../bin-unpacked/extension/**' './dist/kilocode' --parents" + "copy:kilocode": "npx cpy '../bin-unpacked/extension/**' './dist/kilocode' --parents", + "lint": "eslint ." }, "dependencies": { "@anthropic-ai/bedrock-sdk": "^0.22.0", @@ -136,7 +138,6 @@ "@types/react": "^18.3.23", "cpy-cli": "^5.0.0", "del-cli": "^5.1.0", - "eslint": "^9.27.0", "ink-testing-library": "^4.0.0", "mkdirp": "^3.0.1", "prettier": "^3.4.2", diff --git a/cli/src/commands/__tests__/new.test.ts b/cli/src/commands/__tests__/new.test.ts index 0e63daf70d7..ee21870e19f 100644 --- a/cli/src/commands/__tests__/new.test.ts +++ b/cli/src/commands/__tests__/new.test.ts @@ -8,11 +8,9 @@ import type { CommandContext } from "../core/types.js" describe("/new command", () => { let mockContext: CommandContext - let stdoutWriteSpy: any - beforeEach(() => { // Mock process.stdout.write to capture terminal clearing - stdoutWriteSpy = vi.spyOn(process.stdout, "write").mockImplementation(() => true) + vi.spyOn(process.stdout, "write").mockImplementation(() => true) mockContext = { input: "/new", diff --git a/cli/src/commands/model.ts b/cli/src/commands/model.ts index 761ce11d686..58442b1b762 100644 --- a/cli/src/commands/model.ts +++ b/cli/src/commands/model.ts @@ -533,10 +533,11 @@ export const modelCommand: Command = { await selectModel(context, args[1]) break - case "list": + case "list": { const filter = args.length > 1 ? args[1] : undefined await listModels(context, filter) break + } default: context.addMessage({ diff --git a/cli/src/communication/ipc.ts b/cli/src/communication/ipc.ts index e7660a68fd9..62293edd1e0 100644 --- a/cli/src/communication/ipc.ts +++ b/cli/src/communication/ipc.ts @@ -19,6 +19,7 @@ export interface IPCOptions { * Replicates the webview message passing pattern used in the VSCode extension */ export class IPCChannel extends EventEmitter { + // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type private pendingRequests = new Map() private messageId = 0 private options: Required @@ -133,7 +134,7 @@ export class IPCChannel extends EventEmitter { dispose(): void { // Clear all pending requests - for (const [id, pending] of this.pendingRequests) { + for (const [, pending] of this.pendingRequests) { clearTimeout(pending.timeout) pending.reject(new Error("IPC channel disposed")) } diff --git a/cli/src/config/__tests__/persistence-merge.test.ts b/cli/src/config/__tests__/persistence-merge.test.ts index b388f8be381..bf1fab59f3b 100644 --- a/cli/src/config/__tests__/persistence-merge.test.ts +++ b/cli/src/config/__tests__/persistence-merge.test.ts @@ -1,7 +1,7 @@ import { describe, it, expect, beforeEach, afterEach, vi } from "vitest" import * as fs from "fs/promises" import * as path from "path" -import { loadConfig, saveConfig, setConfigPaths, resetConfigPaths } from "../persistence.js" +import { loadConfig, setConfigPaths, resetConfigPaths } from "../persistence.js" import { DEFAULT_AUTO_APPROVAL } from "../defaults.js" import type { CLIConfig } from "../types.js" diff --git a/cli/src/config/validation.ts b/cli/src/config/validation.ts index bb35df92810..652ed18429a 100644 --- a/cli/src/config/validation.ts +++ b/cli/src/config/validation.ts @@ -1,7 +1,6 @@ import Ajv from "ajv" import * as fs from "fs/promises" import * as path from "path" -import type { CLIConfig } from "./types.js" // __dirname is provided by the banner in the bundled output declare const __dirname: string diff --git a/cli/src/host/ExtensionHost.ts b/cli/src/host/ExtensionHost.ts index fa64ac5c34c..a34ac03ef4a 100644 --- a/cli/src/host/ExtensionHost.ts +++ b/cli/src/host/ExtensionHost.ts @@ -56,7 +56,7 @@ export class ExtensionHost extends EventEmitter { */ private setupGlobalErrorHandlers(): void { // Handle unhandled promise rejections from extension - this.unhandledRejectionHandler = (reason: any, promise: Promise) => { + this.unhandledRejectionHandler = (reason: any) => { const error = reason instanceof Error ? reason : new Error(String(reason)) // Check if this is an expected error @@ -593,9 +593,10 @@ export class ExtensionHost extends EventEmitter { } break - case "messageUpdated": + case "messageUpdated": { // Extension is sending an individual message update // The extension uses 'clineMessage' property (legacy name) + const chatMessage = message.clineMessage || message.chatMessage if (chatMessage) { // Forward the message update to the CLI @@ -606,6 +607,7 @@ export class ExtensionHost extends EventEmitter { this.emit("message", emitMessage) } break + } case "taskHistoryResponse": // Extension is sending task history data diff --git a/cli/src/host/VSCode.ts b/cli/src/host/VSCode.ts index 470239666b9..099842e6850 100644 --- a/cli/src/host/VSCode.ts +++ b/cli/src/host/VSCode.ts @@ -12,7 +12,7 @@ export interface IdentityInfo { } // Basic VSCode API types and enums -export interface Thenable extends Promise {} +export type Thenable = Promise // VSCode EventEmitter implementation export interface Disposable { @@ -351,7 +351,7 @@ export class TextEdit { return new TextEdit(range, "") } - static setEndOfLine(eol: EndOfLine): TextEdit { + static setEndOfLine(): TextEdit { // Simplified implementation return new TextEdit(new Range(new Position(0, 0), new Position(0, 0)), "") } @@ -817,7 +817,7 @@ export class FileSystemAPI { mtime: stats.mtimeMs, size: stats.size, } - } catch (error) { + } catch { // If file doesn't exist, assume it's a file for CLI purposes return { type: FileType.File, @@ -832,7 +832,7 @@ export class FileSystemAPI { try { const content = fs.readFileSync(uri.fsPath) return new Uint8Array(content) - } catch (error) { + } catch { throw new Error(`Failed to read file: ${uri.fsPath}`) } } @@ -840,7 +840,7 @@ export class FileSystemAPI { async writeFile(uri: Uri, content: Uint8Array): Promise { try { fs.writeFileSync(uri.fsPath, content) - } catch (error) { + } catch { throw new Error(`Failed to write file: ${uri.fsPath}`) } } @@ -848,7 +848,7 @@ export class FileSystemAPI { async delete(uri: Uri): Promise { try { fs.unlinkSync(uri.fsPath) - } catch (error) { + } catch { throw new Error(`Failed to delete file: ${uri.fsPath}`) } } @@ -856,7 +856,7 @@ export class FileSystemAPI { async createDirectory(uri: Uri): Promise { try { fs.mkdirSync(uri.fsPath, { recursive: true }) - } catch (error) { + } catch { throw new Error(`Failed to create directory: ${uri.fsPath}`) } } @@ -917,7 +917,7 @@ export class WorkspaceAPI { return new MockWorkspaceConfiguration(section, this.context) } - findFiles(include: string, exclude?: string): Thenable { + findFiles(_include: string, _exclude?: string): Thenable { // Basic implementation - could be enhanced with glob patterns return Promise.resolve([]) } @@ -1051,10 +1051,10 @@ export class WorkspaceAPI { } createFileSystemWatcher( - globPattern: any, - ignoreCreateEvents?: boolean, - ignoreChangeEvents?: boolean, - ignoreDeleteEvents?: boolean, + _globPattern: any, + _ignoreCreateEvents?: boolean, + _ignoreChangeEvents?: boolean, + _ignoreDeleteEvents?: boolean, ): any { return { onDidChange: () => ({ dispose: () => {} }), @@ -1064,7 +1064,7 @@ export class WorkspaceAPI { } } - registerTextDocumentContentProvider(scheme: string, provider: any): Disposable { + registerTextDocumentContentProvider(_scheme: string, _provider: any): Disposable { return { dispose: () => {} } } } @@ -1079,7 +1079,7 @@ export interface WorkspaceConfiguration { get(section: string): T | undefined get(section: string, defaultValue: T): T has(section: string): boolean - inspect(section: string): any + inspect(section: string): any update(section: string, value: any, configurationTarget?: ConfigurationTarget): Thenable } @@ -1142,7 +1142,7 @@ export class MockWorkspaceConfiguration implements WorkspaceConfiguration { return this.workspaceMemento.get(fullSection) !== undefined || this.globalMemento.get(fullSection) !== undefined } - inspect(section: string): any { + inspect(section: string): any { const fullSection = this.section ? `${this.section}.${section}` : section const workspaceValue = this.workspaceMemento.get(fullSection) const globalValue = this.globalMemento.get(fullSection) @@ -1301,36 +1301,36 @@ export class WindowAPI { return new OutputChannel(name) } - createTextEditorDecorationType(options: any): TextEditorDecorationType { + createTextEditorDecorationType(_options: any): TextEditorDecorationType { return new TextEditorDecorationType(`decoration-${Date.now()}`) } - showInformationMessage(message: string, ...items: string[]): Thenable { + showInformationMessage(message: string, ..._items: string[]): Thenable { logs.info(message, "VSCode.Window") return Promise.resolve(undefined) } - showWarningMessage(message: string, ...items: string[]): Thenable { + showWarningMessage(message: string, ..._items: string[]): Thenable { logs.warn(message, "VSCode.Window") return Promise.resolve(undefined) } - showErrorMessage(message: string, ...items: string[]): Thenable { + showErrorMessage(message: string, ..._items: string[]): Thenable { logs.error(message, "VSCode.Window") return Promise.resolve(undefined) } - showQuickPick(items: string[], options?: any): Thenable { + showQuickPick(items: string[], _options?: any): Thenable { // Return first item for CLI return Promise.resolve(items[0]) } - showInputBox(options?: any): Thenable { + showInputBox(_options?: any): Thenable { // Return empty string for CLI return Promise.resolve("") } - showOpenDialog(options?: any): Thenable { + showOpenDialog(_options?: any): Thenable { // Return empty array for CLI return Promise.resolve([]) } @@ -1338,7 +1338,7 @@ export class WindowAPI { async showTextDocument( documentOrUri: any | Uri, columnOrOptions?: ViewColumn | any, - preserveFocus?: boolean, + _preserveFocus?: boolean, ): Promise { // Mock implementation for CLI // In a real VSCode environment, this would open the document in an editor @@ -1390,7 +1390,7 @@ export class WindowAPI { return placeholderEditor } - registerWebviewViewProvider(viewId: string, provider: any, options?: any): Disposable { + registerWebviewViewProvider(viewId: string, provider: any, _options?: any): Disposable { // Store the provider for later use by ExtensionHost if ((global as any).__extensionHost) { ;(global as any).__extensionHost.registerWebviewProvider(viewId, provider) @@ -1454,7 +1454,7 @@ export class WindowAPI { } } - registerUriHandler(handler: any): Disposable { + registerUriHandler(_handler: any): Disposable { // Store the URI handler for later use return { dispose: () => {}, @@ -1476,23 +1476,23 @@ export class WindowAPI { } // Terminal event handlers - onDidCloseTerminal(listener: (terminal: any) => void): Disposable { + onDidCloseTerminal(_listener: (terminal: any) => void): Disposable { return { dispose: () => {} } } - onDidOpenTerminal(listener: (terminal: any) => void): Disposable { + onDidOpenTerminal(_listener: (terminal: any) => void): Disposable { return { dispose: () => {} } } - onDidChangeActiveTerminal(listener: (terminal: any) => void): Disposable { + onDidChangeActiveTerminal(_listener: (terminal: any) => void): Disposable { return { dispose: () => {} } } - onDidChangeTerminalDimensions(listener: (event: any) => void): Disposable { + onDidChangeTerminalDimensions(_listener: (event: any) => void): Disposable { return { dispose: () => {} } } - onDidWriteTerminalData(listener: (event: any) => void): Disposable { + onDidWriteTerminalData(_listener: (event: any) => void): Disposable { return { dispose: () => {} } } @@ -1515,7 +1515,7 @@ export interface WorkspaceConfiguration { get(section: string): T | undefined get(section: string, defaultValue: T): T has(section: string): boolean - inspect(section: string): any + inspect(_section: string): any update(section: string, value: any, configurationTarget?: ConfigurationTarget): Thenable } @@ -1561,7 +1561,7 @@ export class CommandsAPI { } } - private async handleDiffCommand(originalUri: Uri, modifiedUri: Uri, title?: string, options?: any): Promise { + private async handleDiffCommand(originalUri: Uri, modifiedUri: Uri, title?: string, _options?: any): Promise { // The DiffViewProvider is waiting for the modified document to appear in visibleTextEditors // We need to simulate this by opening the document and adding it to visible editors @@ -1616,15 +1616,15 @@ export class CommandsAPI { edit: async (callback: (editBuilder: any) => void) => { // Create a mock edit builder const editBuilder = { - replace: (range: Range, text: string) => { + replace: (_range: Range, _text: string) => { // In CLI mode, we don't actually edit here // The DiffViewProvider will handle the actual edits logs.debug("Mock edit builder replace called", "VSCode.Commands") }, - insert: (position: Position, text: string) => { + insert: (_position: Position, _text: string) => { logs.debug("Mock edit builder insert called", "VSCode.Commands") }, - delete: (range: Range) => { + delete: (_range: Range) => { logs.debug("Mock edit builder delete called", "VSCode.Commands") }, } diff --git a/cli/src/host/__tests__/console-interception.test.ts b/cli/src/host/__tests__/console-interception.test.ts index de93ec37cae..47adb1efddb 100644 --- a/cli/src/host/__tests__/console-interception.test.ts +++ b/cli/src/host/__tests__/console-interception.test.ts @@ -1,29 +1,15 @@ import { describe, it, expect, beforeEach, afterEach, vi } from "vitest" -import { createExtensionHost, ExtensionHost } from "../ExtensionHost.js" +import type { ExtensionHost } from "../ExtensionHost.js" import { logs } from "../../services/logs.js" -import * as path from "path" -import { fileURLToPath } from "url" - -const __filename = fileURLToPath(import.meta.url) -const __dirname = path.dirname(__filename) describe("ExtensionHost Console Interception", () => { let extensionHost: ExtensionHost | undefined - let logsSpy: { - info: ReturnType - error: ReturnType - warn: ReturnType - debug: ReturnType - } - beforeEach(() => { // Spy on logs service methods - logsSpy = { - info: vi.spyOn(logs, "info"), - error: vi.spyOn(logs, "error"), - warn: vi.spyOn(logs, "warn"), - debug: vi.spyOn(logs, "debug"), - } + vi.spyOn(logs, "info") + vi.spyOn(logs, "error") + vi.spyOn(logs, "warn") + vi.spyOn(logs, "debug") }) afterEach(async () => { @@ -39,9 +25,6 @@ describe("ExtensionHost Console Interception", () => { // Note: This requires a real extension bundle to test properly // For now, we'll test the mechanism itself - const testExtensionPath = path.join(__dirname, "fixtures", "test-extension.js") - const testWorkspacePath = path.join(__dirname, "fixtures", "workspace") - // Create a simple test extension that logs to console // In a real test, this would be a compiled extension bundle expect(true).toBe(true) // Placeholder - actual test would require extension bundle diff --git a/cli/src/services/__tests__/ExtensionService.test.ts b/cli/src/services/__tests__/ExtensionService.test.ts index f7d2d2fa54a..a97fbc2e133 100644 --- a/cli/src/services/__tests__/ExtensionService.test.ts +++ b/cli/src/services/__tests__/ExtensionService.test.ts @@ -2,7 +2,6 @@ import { describe, it, expect, beforeEach, afterEach, vi, beforeAll, afterAll } import { ExtensionService, createExtensionService } from "../extension.js" import type { WebviewMessage } from "../../types/messages.js" import * as path from "path" -import * as fs from "fs" // Mock the extension-paths module vi.mock("../../utils/extension-paths.js", () => ({ @@ -96,7 +95,7 @@ describe("ExtensionService", () => { // Create a mock extension module mockExtensionModule = { - activate: vi.fn(async (context: any) => { + activate: vi.fn(async () => { // Return a mock API return { getState: vi.fn(() => ({ @@ -132,6 +131,7 @@ describe("ExtensionService", () => { } // Mock the module loading system + // eslint-disable-next-line @typescript-eslint/no-require-imports const Module = require("module") originalRequire = Module.prototype.require @@ -152,6 +152,7 @@ describe("ExtensionService", () => { afterAll(() => { // Restore original require if (originalRequire) { + // eslint-disable-next-line @typescript-eslint/no-require-imports const Module = require("module") Module.prototype.require = originalRequire } @@ -179,7 +180,6 @@ describe("ExtensionService", () => { service = new ExtensionService({ workspace: "/custom/workspace", mode: "architect", - autoApprove: true, extensionBundlePath: "/mock/extension/dist/extension.js", extensionRootPath: "/mock/extension", }) diff --git a/cli/src/services/approvalDecision.ts b/cli/src/services/approvalDecision.ts index 593d2c8c7d8..dde47efbc1d 100644 --- a/cli/src/services/approvalDecision.ts +++ b/cli/src/services/approvalDecision.ts @@ -137,7 +137,7 @@ function getToolApprovalDecision( } return isCIMode ? { action: "auto-reject", message: CI_MODE_MESSAGES.AUTO_REJECTED } : { action: "manual" } } - } catch (error) { + } catch { // If we can't parse the message, don't auto-approve return isCIMode ? { action: "auto-reject", message: CI_MODE_MESSAGES.AUTO_REJECTED } : { action: "manual" } } diff --git a/cli/src/services/autocomplete.ts b/cli/src/services/autocomplete.ts index 6798c0001a8..c269e7e02a1 100644 --- a/cli/src/services/autocomplete.ts +++ b/cli/src/services/autocomplete.ts @@ -13,7 +13,6 @@ import type { InputState, ArgumentProvider, } from "../commands/core/types.js" -import { logs } from "./logs.js" // ============================================================================ // TYPE DEFINITIONS & EXPORTS @@ -149,7 +148,7 @@ function calculateMatchScore( * Highlight matching parts of text * For now, just returns the text - UI handles highlighting */ -function highlightMatch(text: string, query: string): string { +function highlightMatch(text: string): string { return text } @@ -230,7 +229,7 @@ export function getSuggestions(input: string): CommandSuggestion[] { matches.push({ command, matchScore: score, - highlightedName: highlightMatch(command.name, lowerQuery), + highlightedName: highlightMatch(command.name), }) } @@ -532,7 +531,7 @@ function filterAndScore(suggestions: ArgumentSuggestion[], query: string): Argum .map((s) => ({ ...s, matchScore: calculateMatchScore(s.value, lowerQuery), - highlightedValue: highlightMatch(s.value, lowerQuery), + highlightedValue: highlightMatch(s.value), })) .filter((s) => s.matchScore > 0) .sort((a, b) => b.matchScore - a.matchScore) diff --git a/cli/src/services/telemetry/TelemetryService.ts b/cli/src/services/telemetry/TelemetryService.ts index 685fd1f18e8..edc7dca8233 100644 --- a/cli/src/services/telemetry/TelemetryService.ts +++ b/cli/src/services/telemetry/TelemetryService.ts @@ -674,6 +674,7 @@ export class TelemetryService { private anonymizeWorkspace(workspace: string): string { // Return a hash of the workspace path for privacy + // eslint-disable-next-line @typescript-eslint/no-require-imports const crypto = require("crypto") return crypto.createHash("sha256").update(workspace).digest("hex").substring(0, 16) } diff --git a/cli/src/state/atoms/__tests__/approval-logic.test.ts b/cli/src/state/atoms/__tests__/approval-logic.test.ts index 1113d2bdb2e..6c352015cc4 100644 --- a/cli/src/state/atoms/__tests__/approval-logic.test.ts +++ b/cli/src/state/atoms/__tests__/approval-logic.test.ts @@ -1,15 +1,7 @@ import { describe, it, expect, beforeEach } from "vitest" import { createStore } from "jotai" -import { pendingApprovalAtom, shouldAutoApproveAtom, setPendingApprovalAtom } from "../approval.js" -import { - configAtom, - autoApprovalEnabledAtom, - autoApproveReadAtom, - autoApproveWriteAtom, - autoApproveExecuteAtom, - autoApproveExecuteAllowedAtom, - autoApproveExecuteDeniedAtom, -} from "../config.js" +import { shouldAutoApproveAtom, setPendingApprovalAtom } from "../approval.js" +import { configAtom } from "../config.js" import type { ExtensionChatMessage } from "../../../types/messages.js" import type { CLIConfig } from "../../../config/types.js" import { DEFAULT_CONFIG } from "../../../config/defaults.js" diff --git a/cli/src/state/atoms/__tests__/approval-race-conditions.test.ts b/cli/src/state/atoms/__tests__/approval-race-conditions.test.ts index c50ab2750a3..0590f17526e 100644 --- a/cli/src/state/atoms/__tests__/approval-race-conditions.test.ts +++ b/cli/src/state/atoms/__tests__/approval-race-conditions.test.ts @@ -8,7 +8,7 @@ * - Synchronization issues between components */ -import { describe, it, expect, beforeEach, vi } from "vitest" +import { describe, it, expect, beforeEach } from "vitest" import { createStore } from "jotai" import { pendingApprovalAtom, diff --git a/cli/src/state/atoms/actions.ts b/cli/src/state/atoms/actions.ts index 24364f51397..e93c436bb1b 100644 --- a/cli/src/state/atoms/actions.ts +++ b/cli/src/state/atoms/actions.ts @@ -237,7 +237,7 @@ export const openSettingsAtom = atom(null, async (get, set) => { /** * Action atom to refresh the extension state */ -export const refreshStateAtom = atom(null, async (get, set) => { +export const refreshStateAtom = atom(null, async (get) => { const service = get(extensionServiceAtom) const isReady = get(isServiceReadyAtom) diff --git a/cli/src/state/atoms/approval.ts b/cli/src/state/atoms/approval.ts index 2abbda509ce..127045d2710 100644 --- a/cli/src/state/atoms/approval.ts +++ b/cli/src/state/atoms/approval.ts @@ -81,7 +81,7 @@ export const approvalOptionsAtom = atom((get) => { // Determine button labels based on ask type let approveLabel = "Approve" - let rejectLabel = "Reject" + const rejectLabel = "Reject" if (pendingMessage.ask === "tool") { try { @@ -404,7 +404,7 @@ export const shouldAutoApproveAtom = atom((get) => { default: return false } - } catch (error) { + } catch { // If we can't parse the message, don't auto-approve return false } diff --git a/cli/src/state/atoms/config-sync.ts b/cli/src/state/atoms/config-sync.ts index d68ecaa2c5c..0ea7683fa85 100644 --- a/cli/src/state/atoms/config-sync.ts +++ b/cli/src/state/atoms/config-sync.ts @@ -14,7 +14,7 @@ import { logs } from "../../services/logs.js" * Effect atom to sync CLI configuration to the extension * This sends configuration updates to the extension when config changes */ -export const syncConfigToExtensionEffectAtom = atom(null, async (get, set) => { +export const syncConfigToExtensionEffectAtom = atom(null, async (get) => { const service = get(extensionServiceAtom) if (!service || !service.isReady()) { diff --git a/cli/src/state/atoms/extension.ts b/cli/src/state/atoms/extension.ts index 743636f9ebe..3aa4f641f4c 100644 --- a/cli/src/state/atoms/extension.ts +++ b/cli/src/state/atoms/extension.ts @@ -12,7 +12,6 @@ import type { ProviderSettings, McpServer, } from "../../types/messages.js" -import { logs } from "../../services/logs.js" /** * Atom to hold the complete ExtensionState diff --git a/cli/src/state/atoms/ui.ts b/cli/src/state/atoms/ui.ts index 1b87ae70b19..8193de54a05 100644 --- a/cli/src/state/atoms/ui.ts +++ b/cli/src/state/atoms/ui.ts @@ -8,7 +8,6 @@ import type { CliMessage } from "../../types/cli.js" import type { ExtensionChatMessage } from "../../types/messages.js" import type { CommandSuggestion, ArgumentSuggestion } from "../../services/autocomplete.js" import { chatMessagesAtom } from "./extension.js" -import { logs } from "../../services/logs.js" import { splitMessages } from "../../ui/messages/utils/messageCompletion.js" /** diff --git a/cli/src/state/hooks/__tests__/commandHooks.test.tsx b/cli/src/state/hooks/__tests__/commandHooks.test.tsx index 29e76d5d688..dc8e27fae66 100644 --- a/cli/src/state/hooks/__tests__/commandHooks.test.tsx +++ b/cli/src/state/hooks/__tests__/commandHooks.test.tsx @@ -5,18 +5,13 @@ * Full integration testing would require @testing-library/react. */ -import { describe, it, expect, beforeEach, vi } from "vitest" +import React from "react" +import { describe, it, expect, vi } from "vitest" import { createStore } from "jotai" import { render } from "ink-testing-library" import { Provider } from "jotai" describe("Command Hook Exports", () => { - let store: ReturnType - - beforeEach(() => { - store = createStore() - }) - describe("Hook Exports", () => { it("should export useCommandContext", async () => { const { useCommandContext } = await import("../useCommandContext.js") diff --git a/cli/src/state/hooks/__tests__/hooks.test.tsx b/cli/src/state/hooks/__tests__/hooks.test.tsx index 65ee47cbb8e..cfd19e969dc 100644 --- a/cli/src/state/hooks/__tests__/hooks.test.tsx +++ b/cli/src/state/hooks/__tests__/hooks.test.tsx @@ -6,7 +6,7 @@ */ import { describe, it, expect, beforeEach } from "vitest" -import { atom, createStore } from "jotai" +import { createStore } from "jotai" import { extensionServiceAtom, isServiceReadyAtom, serviceErrorAtom, isInitializingAtom } from "../../atoms/service.js" import { chatMessagesAtom, currentTaskAtom, taskTodosAtom, apiConfigurationAtom } from "../../atoms/extension.js" import { inputValueAtom } from "../../atoms/ui.js" diff --git a/cli/src/state/hooks/useApprovalHandler.ts b/cli/src/state/hooks/useApprovalHandler.ts index f47006e4ec9..e9a977b0a9d 100644 --- a/cli/src/state/hooks/useApprovalHandler.ts +++ b/cli/src/state/hooks/useApprovalHandler.ts @@ -8,19 +8,14 @@ import { selectNextApprovalAtom, selectPreviousApprovalAtom, isApprovalPendingAtom, - shouldAutoApproveAtom, - shouldAutoRejectAtom, startApprovalProcessingAtom, completeApprovalProcessingAtom, approvalProcessingAtom, type ApprovalOption, } from "../atoms/approval.js" -import { autoApproveRetryDelayAtom, autoApproveQuestionTimeoutAtom } from "../atoms/config.js" -import { ciModeAtom } from "../atoms/ci.js" import { useWebviewMessage } from "./useWebviewMessage.js" import type { ExtensionChatMessage } from "../../types/messages.js" import { logs } from "../../services/logs.js" -import { CI_MODE_MESSAGES } from "../../constants/ci.js" import { useApprovalTelemetry } from "./useApprovalTelemetry.js" /** @@ -82,26 +77,16 @@ export interface UseApprovalHandlerReturn { * } * ``` */ -export function useApprovalHandler(options: UseApprovalHandlerOptions = {}): UseApprovalHandlerReturn { +export function useApprovalHandler(): UseApprovalHandlerReturn { const store = useStore() const pendingApproval = useAtomValue(pendingApprovalAtom) const approvalOptions = useAtomValue(approvalOptionsAtom) const selectedIndex = useAtomValue(selectedApprovalIndexAtom) const selectedOption = useAtomValue(selectedApprovalOptionAtom) const isApprovalPending = useAtomValue(isApprovalPendingAtom) - const shouldAutoApprove = useAtomValue(shouldAutoApproveAtom) - const shouldAutoReject = useAtomValue(shouldAutoRejectAtom) - const retryDelay = useAtomValue(autoApproveRetryDelayAtom) - const questionTimeout = useAtomValue(autoApproveQuestionTimeoutAtom) - const ciModeFromAtom = useAtomValue(ciModeAtom) - - // Use CI mode from options if provided, otherwise use atom value - const isCIMode = options.ciMode ?? ciModeFromAtom const selectNext = useSetAtom(selectNextApprovalAtom) const selectPrevious = useSetAtom(selectPreviousApprovalAtom) - const startProcessing = useSetAtom(startApprovalProcessingAtom) - const completeProcessing = useSetAtom(completeApprovalProcessingAtom) const { sendAskResponse } = useWebviewMessage() const approvalTelemetry = useApprovalTelemetry() @@ -164,7 +149,7 @@ export function useApprovalHandler(options: UseApprovalHandlerOptions = {}): Use throw error } }, - [store, sendAskResponse, startApprovalProcessingAtom, completeApprovalProcessingAtom], + [store, sendAskResponse, approvalTelemetry], ) const reject = useCallback( @@ -219,7 +204,7 @@ export function useApprovalHandler(options: UseApprovalHandlerOptions = {}): Use throw error } }, - [store, sendAskResponse, startApprovalProcessingAtom, completeApprovalProcessingAtom], + [store, sendAskResponse, approvalTelemetry], ) const executeSelected = useCallback( diff --git a/cli/src/state/hooks/useCIMode.ts b/cli/src/state/hooks/useCIMode.ts index 25572d89296..bcea886f940 100644 --- a/cli/src/state/hooks/useCIMode.ts +++ b/cli/src/state/hooks/useCIMode.ts @@ -5,13 +5,7 @@ import { useAtomValue, useSetAtom } from "jotai" import { useEffect, useState, useCallback, useRef } from "react" -import { - ciModeAtom, - ciTimeoutAtom, - ciCompletionDetectedAtom, - ciCommandFinishedAtom, - ciExitReasonAtom, -} from "../atoms/ci.js" +import { ciCompletionDetectedAtom, ciCommandFinishedAtom, ciExitReasonAtom } from "../atoms/ci.js" import { useExtensionMessage } from "./useExtensionMessage.js" import { logs } from "../../services/logs.js" @@ -70,11 +64,8 @@ export interface UseCIModeReturn { * ``` */ export function useCIMode(options: UseCIModeOptions): UseCIModeReturn { - const { enabled, timeout, onExit } = options + const { enabled, timeout } = options - // Read CI state atoms - const isCIMode = useAtomValue(ciModeAtom) - const ciTimeout = useAtomValue(ciTimeoutAtom) const completionDetected = useAtomValue(ciCompletionDetectedAtom) const commandFinished = useAtomValue(ciCommandFinishedAtom) diff --git a/cli/src/state/hooks/useContextUsage.ts b/cli/src/state/hooks/useContextUsage.ts index b04e8e1e599..67b8ce3e6e2 100644 --- a/cli/src/state/hooks/useContextUsage.ts +++ b/cli/src/state/hooks/useContextUsage.ts @@ -5,7 +5,7 @@ import { useMemo } from "react" import { useAtomValue } from "jotai" import { calculateContextUsage, type ContextUsage } from "../../utils/context.js" -import type { ExtensionChatMessage, ProviderSettings, RouterModels } from "../../types/messages.js" +import type { ExtensionChatMessage, ProviderSettings } from "../../types/messages.js" import { routerModelsAtom } from "../atoms/index.js" /** diff --git a/cli/src/state/hooks/useExtensionService.ts b/cli/src/state/hooks/useExtensionService.ts index e39f404f9b8..8714668575c 100644 --- a/cli/src/state/hooks/useExtensionService.ts +++ b/cli/src/state/hooks/useExtensionService.ts @@ -77,7 +77,7 @@ export interface UseExtensionServiceReturn { */ export function useExtensionService(): UseExtensionServiceReturn { // Read atoms - const [service, setServiceAtom] = useAtom(extensionServiceAtom) + const [service] = useAtom(extensionServiceAtom) const isReady = useAtomValue(isServiceReadyAtom) const isInitializing = useAtomValue(isInitializingAtom) const isDisposed = useAtomValue(isServiceDisposedAtom) diff --git a/cli/src/state/hooks/useGitInfo.ts b/cli/src/state/hooks/useGitInfo.ts index 5e7a4fe6818..6408302d0bf 100644 --- a/cli/src/state/hooks/useGitInfo.ts +++ b/cli/src/state/hooks/useGitInfo.ts @@ -47,7 +47,7 @@ export function useGitInfo(cwd: string | null): UseGitInfoReturn { setGitInfo(info) setLoading(false) } - } catch (error) { + } catch { if (isMounted) { setGitInfo({ branch: null, diff --git a/cli/src/state/hooks/useTelemetryTracking.ts b/cli/src/state/hooks/useTelemetryTracking.ts index 13679eabfb8..15f0fd518a7 100644 --- a/cli/src/state/hooks/useTelemetryTracking.ts +++ b/cli/src/state/hooks/useTelemetryTracking.ts @@ -44,7 +44,7 @@ export function useTelemetryTracking() { tool: toolData.tool, }) } - } catch (error) { + } catch { // Ignore parse errors } } diff --git a/cli/src/ui/UI.tsx b/cli/src/ui/UI.tsx index bdf5dc4cc49..4d776caa94b 100644 --- a/cli/src/ui/UI.tsx +++ b/cli/src/ui/UI.tsx @@ -4,7 +4,7 @@ */ import React, { useCallback, useEffect, useRef } from "react" -import { Box, Text, useInput, useStdout } from "ink" +import { Box, Text, useInput } from "ink" import { useAtomValue, useSetAtom } from "jotai" import { isStreamingAtom, errorAtom, addMessageAtom } from "../state/atoms/ui.js" import { setCIModeAtom } from "../state/atoms/ci.js" @@ -32,7 +32,6 @@ interface UIAppProps { } export const UI: React.FC = ({ options, onExit }) => { - const { stdout } = useStdout() const isStreaming = useAtomValue(isStreamingAtom) const error = useAtomValue(errorAtom) const theme = useTheme() diff --git a/cli/src/ui/components/CommandInput.tsx b/cli/src/ui/components/CommandInput.tsx index ca4a712cdcd..8d5df330d4c 100644 --- a/cli/src/ui/components/CommandInput.tsx +++ b/cli/src/ui/components/CommandInput.tsx @@ -3,7 +3,7 @@ * Updated to use useCommandInput, useWebviewMessage, useApprovalHandler, and useFollowupSuggestions hooks */ -import React, { useEffect, useRef, useState } from "react" +import React, { useRef } from "react" import { Box, Text, useInput } from "ink" import { CustomTextInput } from "./CustomTextInput.js" import { useCommandInput } from "../../state/hooks/useCommandInput.js" @@ -67,7 +67,7 @@ export const CommandInput: React.FC = ({ } = useFollowupSuggestions() // Key to force TextInput remount when autocompleting (resets cursor to end) - const [inputKey, setInputKey] = React.useState(0) + const [, setInputKey] = React.useState(0) // Ref to track if we've already handled the Enter key in autocomplete const autocompleteHandledEnter = useRef(false) diff --git a/cli/src/ui/components/MarkdownText.tsx b/cli/src/ui/components/MarkdownText.tsx index e049076c1df..f7d17f3efcf 100644 --- a/cli/src/ui/components/MarkdownText.tsx +++ b/cli/src/ui/components/MarkdownText.tsx @@ -26,7 +26,7 @@ export const MarkdownText: React.FC = ({ children, ...options // Parse markdown and render with terminal-friendly formatting const rendered = parse(children) as string return {rendered.trim()} - } catch (error) { + } catch { // Fallback to plain text if markdown parsing fails return {children} } diff --git a/cli/src/ui/components/StatusBar.tsx b/cli/src/ui/components/StatusBar.tsx index 2576726ac8f..d2cf1e86bf6 100644 --- a/cli/src/ui/components/StatusBar.tsx +++ b/cli/src/ui/components/StatusBar.tsx @@ -61,7 +61,7 @@ function getModelDisplayName(apiConfig: ProviderSettings | null, routerModels: R return displayName.length > MAX_MODEL_NAME_LENGTH ? displayName.substring(0, MAX_MODEL_NAME_LENGTH - 3) + "..." : displayName - } catch (error) { + } catch { // Fallback to simple model ID extraction const modelId = apiConfig.apiModelId || diff --git a/cli/src/ui/components/StatusIndicator.tsx b/cli/src/ui/components/StatusIndicator.tsx index e8c3b0eede6..5cc44de6397 100644 --- a/cli/src/ui/components/StatusIndicator.tsx +++ b/cli/src/ui/components/StatusIndicator.tsx @@ -3,7 +3,7 @@ * Shows status text on the left (e.g., "Thinking...") and available hotkeys on the right */ -import React, { useCallback, useEffect } from "react" +import React, { useCallback } from "react" import { Box, Text, useInput } from "ink" import { useHotkeys } from "../../state/hooks/useHotkeys.js" import { useWebviewMessage } from "../../state/hooks/useWebviewMessage.js" @@ -32,7 +32,7 @@ export interface StatusIndicatorProps { */ export const StatusIndicator: React.FC = ({ disabled = false }) => { const theme = useTheme() - const { hotkeys, shouldShow, modifierKey } = useHotkeys() + const { hotkeys, shouldShow } = useHotkeys() const { cancelTask, resumeTask } = useWebviewMessage() const isStreaming = useAtomValue(isStreamingAtom) const hasResumeTask = useAtomValue(hasResumeTaskAtom) diff --git a/cli/src/ui/components/__tests__/CommandInput.test.tsx b/cli/src/ui/components/__tests__/CommandInput.test.tsx index 5cc17569224..a74f85fea7b 100644 --- a/cli/src/ui/components/__tests__/CommandInput.test.tsx +++ b/cli/src/ui/components/__tests__/CommandInput.test.tsx @@ -1,4 +1,4 @@ -import { describe, it, expect, vi, beforeEach } from "vitest" +import { describe, it, expect, vi } from "vitest" import React from "react" import { render } from "ink-testing-library" import { CommandInput } from "../CommandInput.js" diff --git a/cli/src/ui/components/__tests__/StatusIndicator.test.tsx b/cli/src/ui/components/__tests__/StatusIndicator.test.tsx index 03f23a6eca8..3d0a31d856c 100644 --- a/cli/src/ui/components/__tests__/StatusIndicator.test.tsx +++ b/cli/src/ui/components/__tests__/StatusIndicator.test.tsx @@ -8,8 +8,8 @@ import { describe, it, expect, vi, beforeEach } from "vitest" import { Provider as JotaiProvider } from "jotai" import { createStore } from "jotai" import { StatusIndicator } from "../StatusIndicator.js" -import { isStreamingAtom, showFollowupSuggestionsAtom } from "../../../state/atoms/ui.js" -import { chatMessagesAtom, hasResumeTaskAtom } from "../../../state/atoms/extension.js" +import { showFollowupSuggestionsAtom } from "../../../state/atoms/ui.js" +import { chatMessagesAtom } from "../../../state/atoms/extension.js" import type { ExtensionChatMessage } from "../../../types/messages.js" // Mock the hooks diff --git a/cli/src/ui/messages/MessageDisplay.tsx b/cli/src/ui/messages/MessageDisplay.tsx index b3b62c6b03f..3f4e246b498 100644 --- a/cli/src/ui/messages/MessageDisplay.tsx +++ b/cli/src/ui/messages/MessageDisplay.tsx @@ -38,7 +38,7 @@ */ import React from "react" -import { Box, Text, Static } from "ink" +import { Box, Static } from "ink" import { useAtomValue } from "jotai" import { type UnifiedMessage, @@ -84,7 +84,7 @@ function getMessageKey(msg: UnifiedMessage, index: number): string { return `${subtypeKey}-${index}` } -export const MessageDisplay: React.FC = ({ filterType, maxMessages }) => { +export const MessageDisplay: React.FC = () => { const staticMessages = useAtomValue(staticMessagesAtom) const dynamicMessages = useAtomValue(dynamicMessagesAtom) const resetCounter = useAtomValue(messageResetCounterAtom) diff --git a/cli/src/ui/messages/extension/ask/AskResumeTaskMessage.tsx b/cli/src/ui/messages/extension/ask/AskResumeTaskMessage.tsx index de19443c521..000b5ec7cfd 100644 --- a/cli/src/ui/messages/extension/ask/AskResumeTaskMessage.tsx +++ b/cli/src/ui/messages/extension/ask/AskResumeTaskMessage.tsx @@ -12,7 +12,7 @@ import { useTheme } from "../../../../state/hooks/useTheme.js" * Displays a resume task message * This appears when a task was interrupted and can be resumed */ -export const AskResumeTaskMessage: React.FC = ({ message }) => { +export const AskResumeTaskMessage: React.FC = () => { const theme = useTheme() return ( diff --git a/cli/src/ui/messages/extension/say/SayApiReqFinishedMessage.tsx b/cli/src/ui/messages/extension/say/SayApiReqFinishedMessage.tsx index a38f3abd27b..11f9f890352 100644 --- a/cli/src/ui/messages/extension/say/SayApiReqFinishedMessage.tsx +++ b/cli/src/ui/messages/extension/say/SayApiReqFinishedMessage.tsx @@ -1,12 +1,11 @@ import React from "react" -import { Box, Text } from "ink" import type { MessageComponentProps } from "../types.js" /** * Display API request finished (minimal display) * This message type is typically not rendered as it's handled internally */ -export const SayApiReqFinishedMessage: React.FC = ({ message }) => { +export const SayApiReqFinishedMessage: React.FC = () => { // This message type is usually not displayed, but we provide a minimal implementation return null } diff --git a/cli/src/ui/messages/extension/say/SayMcpServerRequestStartedMessage.tsx b/cli/src/ui/messages/extension/say/SayMcpServerRequestStartedMessage.tsx index 7897e671bc0..c8a9e373cb8 100644 --- a/cli/src/ui/messages/extension/say/SayMcpServerRequestStartedMessage.tsx +++ b/cli/src/ui/messages/extension/say/SayMcpServerRequestStartedMessage.tsx @@ -6,7 +6,7 @@ import { useTheme } from "../../../../state/hooks/useTheme.js" /** * Display MCP server request started */ -export const SayMcpServerRequestStartedMessage: React.FC = ({ message }) => { +export const SayMcpServerRequestStartedMessage: React.FC = () => { const theme = useTheme() return ( diff --git a/cli/src/ui/messages/utils/__tests__/messageCompletion.test.ts b/cli/src/ui/messages/utils/__tests__/messageCompletion.test.ts index 319c438e353..9245b8bf5c2 100644 --- a/cli/src/ui/messages/utils/__tests__/messageCompletion.test.ts +++ b/cli/src/ui/messages/utils/__tests__/messageCompletion.test.ts @@ -2,7 +2,6 @@ import { describe, it, expect } from "vitest" import { isMessageComplete, splitMessages } from "../messageCompletion.js" import type { UnifiedMessage } from "../../../../state/atoms/ui.js" import type { CliMessage } from "../../../../types/cli.js" -import type { ExtensionChatMessage } from "../../../../types/messages.js" describe("messageCompletion", () => { describe("isMessageComplete", () => { diff --git a/cli/src/utils/__tests__/providers.test.ts b/cli/src/utils/__tests__/providers.test.ts index f576738f74a..12bcac97faa 100644 --- a/cli/src/utils/__tests__/providers.test.ts +++ b/cli/src/utils/__tests__/providers.test.ts @@ -1,6 +1,5 @@ import { describe, it, expect } from "vitest" import { getSelectedModelId } from "../providers.js" -import type { ProviderName } from "../../types/messages.js" describe("getSelectedModelId", () => { it("should return 'unknown' when apiConfiguration is undefined", () => { diff --git a/cli/src/utils/paths.ts b/cli/src/utils/paths.ts index 7cb85c00959..38e0e929d9e 100644 --- a/cli/src/utils/paths.ts +++ b/cli/src/utils/paths.ts @@ -110,7 +110,7 @@ export class KiloCodePaths { if (!fs.existsSync(dirPath)) { fs.mkdirSync(dirPath, { recursive: true }) } - } catch (error) { + } catch { // Silent fail - let the calling code handle errors } } @@ -132,7 +132,7 @@ export class KiloCodePaths { const content = fs.readFileSync(mapPath, "utf-8") return JSON.parse(content) } - } catch (error) { + } catch { // Return empty map on error } return {} @@ -153,7 +153,7 @@ export class KiloCodePaths { // Save updated map const mapPath = this.getWorkspaceMapPath() fs.writeFileSync(mapPath, JSON.stringify(map, null, 2)) - } catch (error) { + } catch { // Silent fail - map is optional } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ab394208a1e..3df0fe92d60 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -42,7 +42,7 @@ importers: version: 0.25.9 eslint: specifier: ^9.27.0 - version: 9.28.0(jiti@2.4.2) + version: 9.28.0(jiti@2.6.1) glob: specifier: ^11.0.3 version: 11.0.3 @@ -228,22 +228,22 @@ importers: devDependencies: '@chromatic-com/storybook': specifier: ^4.0.1 - version: 4.1.1(storybook@9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0))) + version: 4.1.1(storybook@9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0))) '@storybook/addon-docs': specifier: ^9.0.18 - version: 9.1.3(@types/react@18.3.23)(storybook@9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0))) + version: 9.1.3(@types/react@18.3.23)(storybook@9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0))) '@storybook/addon-links': specifier: ^9.0.18 - version: 9.1.3(react@18.3.1)(storybook@9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0))) + version: 9.1.3(react@18.3.1)(storybook@9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0))) '@storybook/react-vite': specifier: ^9.0.18 - version: 9.1.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.40.2)(storybook@9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)))(typescript@5.8.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) + version: 9.1.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.40.2)(storybook@9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)))(typescript@5.8.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) '@storybook/test-runner': specifier: ^0.23.0 - version: 0.23.0(@types/node@24.2.1)(storybook@9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0))) + version: 0.23.0(@types/node@24.2.1)(storybook@9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0))) '@tailwindcss/vite': specifier: ^4.0.0 - version: 4.1.6(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) + version: 4.1.6(vite@6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) '@types/react': specifier: ^18.3.23 version: 18.3.23 @@ -258,7 +258,7 @@ importers: version: 5.1.34 '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.4.1(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) + version: 4.4.1(vite@6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) chromatic: specifier: ^13.0.0 version: 13.1.3 @@ -273,7 +273,7 @@ importers: version: 6.0.1 storybook: specifier: ^9.0.18 - version: 9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) + version: 9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) tailwindcss-animate: specifier: ^1.0.7 version: 1.0.7(tailwindcss@4.1.8) @@ -282,7 +282,7 @@ importers: version: 5.8.3 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) + version: 6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) apps/vscode-e2e: devDependencies: @@ -457,7 +457,7 @@ importers: version: 4.1.6 vitest: specifier: ^3.2.3 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.2.1)(@vitest/ui@3.2.4)(jiti@2.4.2)(jsdom@26.1.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@24.2.1)(@vitest/ui@3.2.4)(jiti@2.6.1)(jsdom@26.1.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) apps/web-roo-code: dependencies: @@ -901,9 +901,6 @@ importers: del-cli: specifier: ^5.1.0 version: 5.1.0 - eslint: - specifier: ^9.27.0 - version: 9.28.0(jiti@2.4.2) ink-testing-library: specifier: ^4.0.0 version: 4.0.0(@types/react@18.3.23) @@ -924,7 +921,7 @@ importers: version: 5.6.3 vitest: specifier: ^3.2.3 - version: 3.2.4(@types/debug@4.1.12)(@types/node@20.17.57)(@vitest/ui@3.2.4)(jiti@2.4.2)(jsdom@26.1.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@20.17.57)(@vitest/ui@3.2.4)(jiti@2.6.1)(jsdom@26.1.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) jetbrains/host: dependencies: @@ -1348,7 +1345,7 @@ importers: version: 2.8.1 tsup: specifier: ^8.5.0 - version: 8.5.0(@swc/core@1.13.5)(jiti@2.4.2)(postcss@8.5.4)(tsx@4.19.4)(typescript@5.8.3)(yaml@2.8.0) + version: 8.5.0(@swc/core@1.13.5)(jiti@2.6.1)(postcss@8.5.4)(tsx@4.19.4)(typescript@5.8.3)(yaml@2.8.0) util: specifier: ^0.12.4 version: 0.12.5 @@ -1397,7 +1394,7 @@ importers: version: 20.17.57 vitest: specifier: ^3.2.3 - version: 3.2.4(@types/debug@4.1.12)(@types/node@20.17.57)(@vitest/ui@3.2.4)(jiti@2.4.2)(jsdom@26.1.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@20.17.57)(@vitest/ui@3.2.4)(jiti@2.6.1)(jsdom@26.1.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) packages/cloud: dependencies: @@ -1437,7 +1434,7 @@ importers: version: 16.3.0 vitest: specifier: ^3.2.4 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.2.1)(@vitest/ui@3.2.4)(jiti@2.4.2)(jsdom@26.1.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@24.2.1)(@vitest/ui@3.2.4)(jiti@2.6.1)(jsdom@26.1.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) packages/config-eslint: devDependencies: @@ -1449,28 +1446,28 @@ importers: version: 15.3.2 eslint: specifier: ^9.27.0 - version: 9.27.0(jiti@2.4.2) + version: 9.27.0(jiti@2.6.1) eslint-config-prettier: specifier: ^10.1.1 - version: 10.1.8(eslint@9.27.0(jiti@2.4.2)) + version: 10.1.8(eslint@9.27.0(jiti@2.6.1)) eslint-plugin-only-warn: specifier: ^1.1.0 version: 1.1.0 eslint-plugin-react: specifier: ^7.37.4 - version: 7.37.5(eslint@9.27.0(jiti@2.4.2)) + version: 7.37.5(eslint@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.4.2)) + version: 5.2.0(eslint@9.27.0(jiti@2.6.1)) eslint-plugin-turbo: specifier: ^2.4.4 - version: 2.5.6(eslint@9.27.0(jiti@2.4.2))(turbo@2.5.6) + version: 2.5.6(eslint@9.27.0(jiti@2.6.1))(turbo@2.5.6) globals: specifier: ^16.0.0 version: 16.1.0 typescript-eslint: specifier: ^8.26.0 - version: 8.32.1(eslint@9.27.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.32.1(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3) packages/config-typescript: {} @@ -1539,7 +1536,7 @@ importers: version: 4.19.4 vitest: specifier: ^3.2.3 - version: 3.2.4(@types/debug@4.1.12)(@types/node@20.17.57)(@vitest/ui@3.2.4)(jiti@2.4.2)(jsdom@26.1.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@20.17.57)(@vitest/ui@3.2.4)(jiti@2.6.1)(jsdom@26.1.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) packages/ipc: dependencies: @@ -1564,7 +1561,7 @@ importers: version: 9.2.3 vitest: specifier: ^3.2.3 - version: 3.2.4(@types/debug@4.1.12)(@types/node@20.17.57)(@vitest/ui@3.2.4)(jiti@2.4.2)(jsdom@26.1.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@20.17.57)(@vitest/ui@3.2.4)(jiti@2.6.1)(jsdom@26.1.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) packages/telemetry: dependencies: @@ -1592,7 +1589,7 @@ importers: version: 1.100.0 vitest: specifier: ^3.2.3 - version: 3.2.4(@types/debug@4.1.12)(@types/node@20.17.57)(@vitest/ui@3.2.4)(jiti@2.4.2)(jsdom@26.1.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@20.17.57)(@vitest/ui@3.2.4)(jiti@2.6.1)(jsdom@26.1.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) packages/types: dependencies: @@ -1614,10 +1611,10 @@ importers: version: 16.3.0 tsup: specifier: ^8.3.5 - version: 8.5.0(@swc/core@1.13.5)(jiti@2.4.2)(postcss@8.5.4)(tsx@4.19.4)(typescript@5.8.3)(yaml@2.8.0) + version: 8.5.0(@swc/core@1.13.5)(jiti@2.6.1)(postcss@8.5.4)(tsx@4.19.4)(typescript@5.8.3)(yaml@2.8.0) vitest: specifier: ^3.2.3 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.2.1)(@vitest/ui@3.2.4)(jiti@2.4.2)(jsdom@26.1.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@24.2.1)(@vitest/ui@3.2.4)(jiti@2.6.1)(jsdom@26.1.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) src: dependencies: @@ -1972,7 +1969,7 @@ importers: version: 6.0.1 tsup: specifier: ^8.4.0 - version: 8.5.0(@swc/core@1.13.5)(jiti@2.4.2)(postcss@8.5.4)(tsx@4.19.4)(typescript@5.8.3)(yaml@2.8.0) + version: 8.5.0(@swc/core@1.13.5)(jiti@2.6.1)(postcss@8.5.4)(tsx@4.19.4)(typescript@5.8.3)(yaml@2.8.0) tsx: specifier: ^4.19.3 version: 4.19.4 @@ -1981,7 +1978,7 @@ importers: version: 5.8.3 vitest: specifier: ^3.2.3 - version: 3.2.4(@types/debug@4.1.12)(@types/node@20.17.50)(@vitest/ui@3.2.4)(jiti@2.4.2)(jsdom@26.1.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@20.17.50)(@vitest/ui@3.2.4)(jiti@2.6.1)(jsdom@26.1.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) zod-to-ts: specifier: ^1.2.0 version: 1.2.0(typescript@5.8.3)(zod@3.25.61) @@ -2035,7 +2032,7 @@ importers: version: link:../packages/types '@tailwindcss/vite': specifier: ^4.0.0 - version: 4.1.6(vite@6.3.6(@types/node@20.17.57)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) + version: 4.1.6(vite@6.3.6(@types/node@20.17.57)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) '@tanstack/react-query': specifier: ^5.68.0 version: 5.76.1(react@18.3.1) @@ -2213,7 +2210,7 @@ importers: version: 8.6.14(storybook@8.6.14(prettier@3.5.3)) '@storybook/react-vite': specifier: ^8.4.7 - version: 8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.5.3)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.40.2)(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3)(vite@6.3.6(@types/node@20.17.57)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) + version: 8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.5.3)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.40.2)(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3)(vite@6.3.6(@types/node@20.17.57)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) '@storybook/testing-library': specifier: ^0.2.2 version: 0.2.2 @@ -2252,7 +2249,7 @@ importers: version: 1.57.5 '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.4.1(vite@6.3.6(@types/node@20.17.57)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) + version: 4.4.1(vite@6.3.6(@types/node@20.17.57)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) '@vitest/ui': specifier: ^3.2.3 version: 3.2.4(vitest@3.2.4) @@ -2282,10 +2279,10 @@ importers: version: 5.8.3 vite: specifier: 6.3.6 - version: 6.3.6(@types/node@20.17.57)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) + version: 6.3.6(@types/node@20.17.57)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) vitest: specifier: ^3.2.3 - version: 3.2.4(@types/debug@4.1.12)(@types/node@20.17.57)(@vitest/ui@3.2.4)(jiti@2.4.2)(jsdom@26.1.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@20.17.57)(@vitest/ui@3.2.4)(jiti@2.6.1)(jsdom@26.1.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) packages: @@ -12806,6 +12803,10 @@ packages: resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} hasBin: true + jiti@2.6.1: + resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==} + hasBin: true + joi@17.13.3: resolution: {integrity: sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==} @@ -19828,7 +19829,7 @@ snapshots: '@babel/core': 7.28.3 '@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 lodash.debounce: 4.0.8 resolve: 1.22.10 transitivePeerDependencies: @@ -20823,13 +20824,13 @@ snapshots: '@chevrotain/utils@11.0.3': {} - '@chromatic-com/storybook@4.1.1(storybook@9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)))': + '@chromatic-com/storybook@4.1.1(storybook@9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)))': dependencies: '@neoconfetti/react': 1.0.0 chromatic: 12.2.0 filesize: 10.1.6 jsonfile: 6.2.0 - storybook: 9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) + storybook: 9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) strip-ansi: 7.1.0 transitivePeerDependencies: - '@chromatic-com/cypress' @@ -22160,14 +22161,14 @@ snapshots: '@esbuild/win32-x64@0.25.9': optional: true - '@eslint-community/eslint-utils@4.7.0(eslint@9.27.0(jiti@2.4.2))': + '@eslint-community/eslint-utils@4.7.0(eslint@9.27.0(jiti@2.6.1))': dependencies: - eslint: 9.27.0(jiti@2.4.2) + eslint: 9.27.0(jiti@2.6.1) eslint-visitor-keys: 3.4.3 - '@eslint-community/eslint-utils@4.7.0(eslint@9.28.0(jiti@2.4.2))': + '@eslint-community/eslint-utils@4.7.0(eslint@9.28.0(jiti@2.6.1))': dependencies: - eslint: 9.28.0(jiti@2.4.2) + eslint: 9.28.0(jiti@2.6.1) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.1': {} @@ -22612,21 +22613,21 @@ snapshots: '@types/yargs': 17.0.33 chalk: 4.1.2 - '@joshwooding/vite-plugin-react-docgen-typescript@0.5.0(typescript@5.8.3)(vite@6.3.6(@types/node@20.17.57)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0))': + '@joshwooding/vite-plugin-react-docgen-typescript@0.5.0(typescript@5.8.3)(vite@6.3.6(@types/node@20.17.57)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0))': dependencies: glob: 10.4.5 magic-string: 0.27.0 react-docgen-typescript: 2.4.0(typescript@5.8.3) - vite: 6.3.6(@types/node@20.17.57)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.6(@types/node@20.17.57)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) optionalDependencies: typescript: 5.8.3 - '@joshwooding/vite-plugin-react-docgen-typescript@0.6.1(typescript@5.8.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0))': + '@joshwooding/vite-plugin-react-docgen-typescript@0.6.1(typescript@5.8.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0))': dependencies: glob: 10.4.5 magic-string: 0.30.17 react-docgen-typescript: 2.4.0(typescript@5.8.3) - vite: 6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) optionalDependencies: typescript: 5.8.3 @@ -24764,15 +24765,15 @@ snapshots: transitivePeerDependencies: - '@types/react' - '@storybook/addon-docs@9.1.3(@types/react@18.3.23)(storybook@9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)))': + '@storybook/addon-docs@9.1.3(@types/react@18.3.23)(storybook@9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)))': dependencies: '@mdx-js/react': 3.1.0(@types/react@18.3.23)(react@19.1.1) - '@storybook/csf-plugin': 9.1.3(storybook@9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0))) + '@storybook/csf-plugin': 9.1.3(storybook@9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0))) '@storybook/icons': 1.4.0(react-dom@18.3.1(react@18.3.1))(react@19.1.1) - '@storybook/react-dom-shim': 9.1.3(react-dom@18.3.1(react@18.3.1))(react@19.1.1)(storybook@9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0))) + '@storybook/react-dom-shim': 9.1.3(react-dom@18.3.1(react@18.3.1))(react@19.1.1)(storybook@9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0))) react: 19.1.1 react-dom: 18.3.1(react@19.1.1) - storybook: 9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) + storybook: 9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) ts-dedent: 2.2.0 transitivePeerDependencies: - '@types/react' @@ -24807,10 +24808,10 @@ snapshots: storybook: 8.6.14(prettier@3.5.3) ts-dedent: 2.2.0 - '@storybook/addon-links@9.1.3(react@18.3.1)(storybook@9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)))': + '@storybook/addon-links@9.1.3(react@18.3.1)(storybook@9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)))': dependencies: '@storybook/global': 5.0.0 - storybook: 9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) + storybook: 9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) optionalDependencies: react: 18.3.1 @@ -24844,20 +24845,20 @@ snapshots: react: 19.1.1 react-dom: 18.3.1(react@18.3.1) - '@storybook/builder-vite@8.6.14(storybook@8.6.14(prettier@3.5.3))(vite@6.3.6(@types/node@20.17.57)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0))': + '@storybook/builder-vite@8.6.14(storybook@8.6.14(prettier@3.5.3))(vite@6.3.6(@types/node@20.17.57)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0))': dependencies: '@storybook/csf-plugin': 8.6.14(storybook@8.6.14(prettier@3.5.3)) browser-assert: 1.2.1 storybook: 8.6.14(prettier@3.5.3) ts-dedent: 2.2.0 - vite: 6.3.6(@types/node@20.17.57)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.6(@types/node@20.17.57)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) - '@storybook/builder-vite@9.1.3(storybook@9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)))(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0))': + '@storybook/builder-vite@9.1.3(storybook@9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)))(vite@6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0))': dependencies: - '@storybook/csf-plugin': 9.1.3(storybook@9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0))) - storybook: 9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) + '@storybook/csf-plugin': 9.1.3(storybook@9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0))) + storybook: 9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) ts-dedent: 2.2.0 - vite: 6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) '@storybook/components@8.6.14(storybook@8.6.14(prettier@3.5.3))': dependencies: @@ -24889,9 +24890,9 @@ snapshots: storybook: 8.6.14(prettier@3.5.3) unplugin: 1.16.1 - '@storybook/csf-plugin@9.1.3(storybook@9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)))': + '@storybook/csf-plugin@9.1.3(storybook@9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)))': dependencies: - storybook: 9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) + storybook: 9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) unplugin: 1.16.1 '@storybook/global@5.0.0': {} @@ -24927,23 +24928,23 @@ snapshots: react-dom: 18.3.1(react@18.3.1) storybook: 8.6.14(prettier@3.5.3) - '@storybook/react-dom-shim@9.1.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)))': + '@storybook/react-dom-shim@9.1.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)))': dependencies: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - storybook: 9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) + storybook: 9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) - '@storybook/react-dom-shim@9.1.3(react-dom@18.3.1(react@18.3.1))(react@19.1.1)(storybook@9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)))': + '@storybook/react-dom-shim@9.1.3(react-dom@18.3.1(react@18.3.1))(react@19.1.1)(storybook@9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)))': dependencies: react: 19.1.1 react-dom: 18.3.1(react@18.3.1) - storybook: 9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) + storybook: 9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) - '@storybook/react-vite@8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.5.3)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.40.2)(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3)(vite@6.3.6(@types/node@20.17.57)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0))': + '@storybook/react-vite@8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.5.3)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.40.2)(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3)(vite@6.3.6(@types/node@20.17.57)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0))': dependencies: - '@joshwooding/vite-plugin-react-docgen-typescript': 0.5.0(typescript@5.8.3)(vite@6.3.6(@types/node@20.17.57)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) + '@joshwooding/vite-plugin-react-docgen-typescript': 0.5.0(typescript@5.8.3)(vite@6.3.6(@types/node@20.17.57)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) '@rollup/pluginutils': 5.2.0(rollup@4.40.2) - '@storybook/builder-vite': 8.6.14(storybook@8.6.14(prettier@3.5.3))(vite@6.3.6(@types/node@20.17.57)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) + '@storybook/builder-vite': 8.6.14(storybook@8.6.14(prettier@3.5.3))(vite@6.3.6(@types/node@20.17.57)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) '@storybook/react': 8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.5.3)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3) find-up: 5.0.0 magic-string: 0.30.17 @@ -24953,7 +24954,7 @@ snapshots: resolve: 1.22.10 storybook: 8.6.14(prettier@3.5.3) tsconfig-paths: 4.2.0 - vite: 6.3.6(@types/node@20.17.57)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.6(@types/node@20.17.57)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) optionalDependencies: '@storybook/test': 8.6.14(storybook@8.6.14(prettier@3.5.3)) transitivePeerDependencies: @@ -24961,21 +24962,21 @@ snapshots: - supports-color - typescript - '@storybook/react-vite@9.1.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.40.2)(storybook@9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)))(typescript@5.8.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0))': + '@storybook/react-vite@9.1.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.40.2)(storybook@9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)))(typescript@5.8.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0))': dependencies: - '@joshwooding/vite-plugin-react-docgen-typescript': 0.6.1(typescript@5.8.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) + '@joshwooding/vite-plugin-react-docgen-typescript': 0.6.1(typescript@5.8.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) '@rollup/pluginutils': 5.2.0(rollup@4.40.2) - '@storybook/builder-vite': 9.1.3(storybook@9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)))(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) - '@storybook/react': 9.1.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)))(typescript@5.8.3) + '@storybook/builder-vite': 9.1.3(storybook@9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)))(vite@6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) + '@storybook/react': 9.1.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)))(typescript@5.8.3) find-up: 7.0.0 magic-string: 0.30.17 react: 18.3.1 react-docgen: 8.0.1 react-dom: 18.3.1(react@18.3.1) resolve: 1.22.10 - storybook: 9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) + storybook: 9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) tsconfig-paths: 4.2.0 - vite: 6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) transitivePeerDependencies: - rollup - supports-color @@ -24996,17 +24997,17 @@ snapshots: '@storybook/test': 8.6.14(storybook@8.6.14(prettier@3.5.3)) typescript: 5.8.3 - '@storybook/react@9.1.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)))(typescript@5.8.3)': + '@storybook/react@9.1.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)))(typescript@5.8.3)': dependencies: '@storybook/global': 5.0.0 - '@storybook/react-dom-shim': 9.1.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0))) + '@storybook/react-dom-shim': 9.1.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0))) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - storybook: 9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) + storybook: 9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) optionalDependencies: typescript: 5.8.3 - '@storybook/test-runner@0.23.0(@types/node@24.2.1)(storybook@9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)))': + '@storybook/test-runner@0.23.0(@types/node@24.2.1)(storybook@9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)))': dependencies: '@babel/core': 7.27.1 '@babel/generator': 7.27.1 @@ -25026,7 +25027,7 @@ snapshots: jest-watch-typeahead: 2.2.2(jest@29.7.0(@types/node@24.2.1)) nyc: 15.1.0 playwright: 1.55.0 - storybook: 9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) + storybook: 9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) transitivePeerDependencies: - '@swc/helpers' - '@types/node' @@ -25225,7 +25226,7 @@ snapshots: dependencies: '@ampproject/remapping': 2.3.0 enhanced-resolve: 5.18.1 - jiti: 2.4.2 + jiti: 2.6.1 lightningcss: 1.29.2 magic-string: 0.30.17 source-map-js: 1.2.1 @@ -25235,7 +25236,7 @@ snapshots: dependencies: '@ampproject/remapping': 2.3.0 enhanced-resolve: 5.18.1 - jiti: 2.4.2 + jiti: 2.6.1 lightningcss: 1.30.1 magic-string: 0.30.17 source-map-js: 1.2.1 @@ -25365,19 +25366,19 @@ snapshots: postcss-selector-parser: 6.0.10 tailwindcss: 3.4.17(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@20.17.57)(typescript@5.8.3)) - '@tailwindcss/vite@4.1.6(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0))': + '@tailwindcss/vite@4.1.6(vite@6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0))': dependencies: '@tailwindcss/node': 4.1.6 '@tailwindcss/oxide': 4.1.6 tailwindcss: 4.1.6 - vite: 6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) - '@tailwindcss/vite@4.1.6(vite@6.3.6(@types/node@20.17.57)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0))': + '@tailwindcss/vite@4.1.6(vite@6.3.6(@types/node@20.17.57)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0))': dependencies: '@tailwindcss/node': 4.1.6 '@tailwindcss/oxide': 4.1.6 tailwindcss: 4.1.6 - vite: 6.3.6(@types/node@20.17.57)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.6(@types/node@20.17.57)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) '@tanstack/query-core@5.76.0': {} @@ -26089,15 +26090,15 @@ snapshots: dependencies: '@types/node': 24.2.1 - '@typescript-eslint/eslint-plugin@8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.27.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.27.0(jiti@2.4.2))(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.4.2))(typescript@5.8.3) + '@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.4.2))(typescript@5.8.3) - '@typescript-eslint/utils': 8.32.1(eslint@9.27.0(jiti@2.4.2))(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.4.2) + eslint: 9.27.0(jiti@2.6.1) graphemer: 1.4.0 ignore: 7.0.5 natural-compare: 1.4.0 @@ -26106,14 +26107,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.32.1(eslint@9.27.0(jiti@2.4.2))(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.4.2) + eslint: 9.27.0(jiti@2.6.1) typescript: 5.8.3 transitivePeerDependencies: - supports-color @@ -26123,12 +26124,12 @@ snapshots: '@typescript-eslint/types': 8.32.1 '@typescript-eslint/visitor-keys': 8.32.1 - '@typescript-eslint/type-utils@8.32.1(eslint@9.27.0(jiti@2.4.2))(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.4.2))(typescript@5.8.3) - debug: 4.4.1(supports-color@8.1.1) - eslint: 9.27.0(jiti@2.4.2) + '@typescript-eslint/utils': 8.32.1(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3) + debug: 4.4.3 + eslint: 9.27.0(jiti@2.6.1) ts-api-utils: 2.1.0(typescript@5.8.3) typescript: 5.8.3 transitivePeerDependencies: @@ -26140,7 +26141,7 @@ 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 fast-glob: 3.3.3 is-glob: 4.0.3 minimatch: 9.0.5 @@ -26150,13 +26151,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.32.1(eslint@9.27.0(jiti@2.4.2))(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.4.2)) + '@eslint-community/eslint-utils': 4.7.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.4.2) + eslint: 9.27.0(jiti@2.6.1) typescript: 5.8.3 transitivePeerDependencies: - supports-color @@ -26191,25 +26192,25 @@ snapshots: '@use-gesture/core': 10.3.1 react: 18.3.1 - '@vitejs/plugin-react@4.4.1(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0))': + '@vitejs/plugin-react@4.4.1(vite@6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0))': dependencies: '@babel/core': 7.27.1 '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.27.1) '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.27.1) '@types/babel__core': 7.20.5 react-refresh: 0.17.0 - vite: 6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) transitivePeerDependencies: - supports-color - '@vitejs/plugin-react@4.4.1(vite@6.3.6(@types/node@20.17.57)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0))': + '@vitejs/plugin-react@4.4.1(vite@6.3.6(@types/node@20.17.57)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0))': dependencies: '@babel/core': 7.27.1 '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.27.1) '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.27.1) '@types/babel__core': 7.20.5 react-refresh: 0.17.0 - vite: 6.3.6(@types/node@20.17.57)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.6(@types/node@20.17.57)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) transitivePeerDependencies: - supports-color @@ -26228,29 +26229,29 @@ snapshots: chai: 5.2.0 tinyrainbow: 2.0.0 - '@vitest/mocker@3.2.4(vite@6.3.5(@types/node@20.17.50)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0))': + '@vitest/mocker@3.2.4(vite@6.3.5(@types/node@20.17.50)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 6.3.5(@types/node@20.17.50)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.5(@types/node@20.17.50)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) - '@vitest/mocker@3.2.4(vite@6.3.5(@types/node@20.17.57)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0))': + '@vitest/mocker@3.2.4(vite@6.3.5(@types/node@20.17.57)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 6.3.5(@types/node@20.17.57)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.5(@types/node@20.17.57)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) - '@vitest/mocker@3.2.4(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0))': + '@vitest/mocker@3.2.4(vite@6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) '@vitest/pretty-format@2.0.5': dependencies: @@ -26293,7 +26294,7 @@ snapshots: sirv: 3.0.1 tinyglobby: 0.2.14 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.2.1)(@vitest/ui@3.2.4)(jiti@2.4.2)(jsdom@26.1.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.2.1)(@vitest/ui@3.2.4)(jiti@2.6.1)(jsdom@26.1.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) '@vitest/utils@2.0.5': dependencies: @@ -26759,7 +26760,7 @@ snapshots: agent-base@6.0.2: dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 transitivePeerDependencies: - supports-color @@ -28807,7 +28808,6 @@ snapshots: debug@4.4.3: dependencies: ms: 2.1.3 - optional: true decamelize-keys@1.1.1: dependencies: @@ -29522,17 +29522,17 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-config-prettier@10.1.8(eslint@9.27.0(jiti@2.4.2)): + eslint-config-prettier@10.1.8(eslint@9.27.0(jiti@2.6.1)): dependencies: - eslint: 9.27.0(jiti@2.4.2) + eslint: 9.27.0(jiti@2.6.1) eslint-plugin-only-warn@1.1.0: {} - eslint-plugin-react-hooks@5.2.0(eslint@9.27.0(jiti@2.4.2)): + eslint-plugin-react-hooks@5.2.0(eslint@9.27.0(jiti@2.6.1)): dependencies: - eslint: 9.27.0(jiti@2.4.2) + eslint: 9.27.0(jiti@2.6.1) - eslint-plugin-react@7.37.5(eslint@9.27.0(jiti@2.4.2)): + eslint-plugin-react@7.37.5(eslint@9.27.0(jiti@2.6.1)): dependencies: array-includes: 3.1.8 array.prototype.findlast: 1.2.5 @@ -29540,7 +29540,7 @@ snapshots: array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 es-iterator-helpers: 1.2.1 - eslint: 9.27.0(jiti@2.4.2) + eslint: 9.27.0(jiti@2.6.1) estraverse: 5.3.0 hasown: 2.0.2 jsx-ast-utils: 3.3.5 @@ -29554,10 +29554,10 @@ snapshots: string.prototype.matchall: 4.0.12 string.prototype.repeat: 1.0.0 - eslint-plugin-turbo@2.5.6(eslint@9.27.0(jiti@2.4.2))(turbo@2.5.6): + eslint-plugin-turbo@2.5.6(eslint@9.27.0(jiti@2.6.1))(turbo@2.5.6): dependencies: dotenv: 16.0.3 - eslint: 9.27.0(jiti@2.4.2) + eslint: 9.27.0(jiti@2.6.1) turbo: 2.5.6 eslint-scope@5.1.1: @@ -29581,9 +29581,9 @@ snapshots: eslint-visitor-keys@4.2.1: {} - eslint@9.27.0(jiti@2.4.2): + eslint@9.27.0(jiti@2.6.1): dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.27.0(jiti@2.4.2)) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.27.0(jiti@2.6.1)) '@eslint-community/regexpp': 4.12.1 '@eslint/config-array': 0.20.0 '@eslint/config-helpers': 0.2.2 @@ -29619,13 +29619,13 @@ snapshots: natural-compare: 1.4.0 optionator: 0.9.4 optionalDependencies: - jiti: 2.4.2 + jiti: 2.6.1 transitivePeerDependencies: - supports-color - eslint@9.28.0(jiti@2.4.2): + eslint@9.28.0(jiti@2.6.1): dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.28.0(jiti@2.4.2)) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.28.0(jiti@2.6.1)) '@eslint-community/regexpp': 4.12.1 '@eslint/config-array': 0.20.0 '@eslint/config-helpers': 0.2.2 @@ -29661,7 +29661,7 @@ snapshots: natural-compare: 1.4.0 optionator: 0.9.4 optionalDependencies: - jiti: 2.4.2 + jiti: 2.6.1 transitivePeerDependencies: - supports-color @@ -30560,7 +30560,7 @@ snapshots: dependencies: basic-ftp: 5.0.5 data-uri-to-buffer: 6.0.2 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 transitivePeerDependencies: - supports-color @@ -31354,7 +31354,7 @@ 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 transitivePeerDependencies: - supports-color @@ -31398,7 +31398,7 @@ snapshots: 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 transitivePeerDependencies: - supports-color @@ -32512,6 +32512,8 @@ snapshots: jiti@2.4.2: {} + jiti@2.6.1: {} + joi@17.13.3: dependencies: '@hapi/hoek': 9.3.0 @@ -33982,7 +33984,7 @@ snapshots: micromark@2.11.4: dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 parse-entities: 2.0.0 transitivePeerDependencies: - supports-color @@ -33990,7 +33992,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 decode-named-character-reference: 1.1.0 devlop: 1.1.0 micromark-core-commonmark: 2.0.3 @@ -34935,7 +34937,7 @@ snapshots: dependencies: '@tootallnate/quickjs-emscripten': 0.23.0 agent-base: 7.1.3 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 get-uri: 6.0.4 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 @@ -35425,11 +35427,11 @@ snapshots: postcss: 8.5.4 ts-node: 10.9.2(@swc/core@1.13.5)(@types/node@20.17.57)(typescript@5.8.3) - postcss-load-config@6.0.1(jiti@2.4.2)(postcss@8.5.4)(tsx@4.19.4)(yaml@2.8.0): + postcss-load-config@6.0.1(jiti@2.6.1)(postcss@8.5.4)(tsx@4.19.4)(yaml@2.8.0): dependencies: lilconfig: 3.1.3 optionalDependencies: - jiti: 2.4.2 + jiti: 2.6.1 postcss: 8.5.4 tsx: 4.19.4 yaml: 2.8.0 @@ -37534,7 +37536,7 @@ snapshots: spdy-transport@3.0.0: dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 detect-node: 2.1.0 hpack.js: 2.1.6 obuf: 1.1.2 @@ -37624,13 +37626,13 @@ snapshots: - supports-color - utf-8-validate - storybook@9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)): + storybook@9.1.3(@testing-library/dom@10.4.0)(prettier@3.5.3)(vite@6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)): dependencies: '@storybook/global': 5.0.0 '@testing-library/jest-dom': 6.6.3 '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.0) '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) + '@vitest/mocker': 3.2.4(vite@6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) '@vitest/spy': 3.2.4 better-opn: 3.0.2 esbuild: 0.25.9 @@ -38389,7 +38391,7 @@ snapshots: tsscmp@1.0.6: {} - tsup@8.5.0(@swc/core@1.13.5)(jiti@2.4.2)(postcss@8.5.4)(tsx@4.19.4)(typescript@5.8.3)(yaml@2.8.0): + tsup@8.5.0(@swc/core@1.13.5)(jiti@2.6.1)(postcss@8.5.4)(tsx@4.19.4)(typescript@5.8.3)(yaml@2.8.0): dependencies: bundle-require: 5.1.0(esbuild@0.25.9) cac: 6.7.14 @@ -38400,7 +38402,7 @@ snapshots: fix-dts-default-cjs-exports: 1.0.1 joycon: 3.1.1 picocolors: 1.1.1 - postcss-load-config: 6.0.1(jiti@2.4.2)(postcss@8.5.4)(tsx@4.19.4)(yaml@2.8.0) + postcss-load-config: 6.0.1(jiti@2.6.1)(postcss@8.5.4)(tsx@4.19.4)(yaml@2.8.0) resolve-from: 5.0.0 rollup: 4.40.2 source-map: 0.8.0-beta.0 @@ -38530,12 +38532,12 @@ snapshots: typedarray@0.0.6: {} - typescript-eslint@8.32.1(eslint@9.27.0(jiti@2.4.2))(typescript@5.8.3): + typescript-eslint@8.32.1(eslint@9.27.0(jiti@2.6.1))(typescript@5.8.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.27.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.27.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/parser': 8.32.1(eslint@9.27.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/utils': 8.32.1(eslint@9.27.0(jiti@2.4.2))(typescript@5.8.3) - eslint: 9.27.0(jiti@2.4.2) + '@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) + '@typescript-eslint/parser': 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) + eslint: 9.27.0(jiti@2.6.1) typescript: 5.8.3 transitivePeerDependencies: - supports-color @@ -39025,13 +39027,13 @@ snapshots: replace-ext: 2.0.0 teex: 1.0.1 - vite-node@3.2.4(@types/node@20.17.50)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0): + vite-node@3.2.4(@types/node@20.17.50)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0): dependencies: cac: 6.7.14 debug: 4.4.1(supports-color@8.1.1) es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 6.3.6(@types/node@20.17.50)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.6(@types/node@20.17.50)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) transitivePeerDependencies: - '@types/node' - jiti @@ -39046,13 +39048,13 @@ snapshots: - tsx - yaml - vite-node@3.2.4(@types/node@20.17.57)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0): + vite-node@3.2.4(@types/node@20.17.57)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0): dependencies: cac: 6.7.14 debug: 4.4.1(supports-color@8.1.1) es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 6.3.6(@types/node@20.17.57)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.6(@types/node@20.17.57)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) transitivePeerDependencies: - '@types/node' - jiti @@ -39067,13 +39069,13 @@ snapshots: - tsx - yaml - vite-node@3.2.4(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0): + vite-node@3.2.4(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0): dependencies: cac: 6.7.14 debug: 4.4.1(supports-color@8.1.1) es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 6.3.6(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.6(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) transitivePeerDependencies: - '@types/node' - jiti @@ -39088,7 +39090,7 @@ snapshots: - tsx - yaml - vite@6.3.5(@types/node@20.17.50)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0): + vite@6.3.5(@types/node@20.17.50)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0): dependencies: esbuild: 0.25.9 fdir: 6.4.6(picomatch@4.0.2) @@ -39099,13 +39101,13 @@ snapshots: optionalDependencies: '@types/node': 20.17.50 fsevents: 2.3.3 - jiti: 2.4.2 + jiti: 2.6.1 lightningcss: 1.30.1 terser: 5.43.1 tsx: 4.19.4 yaml: 2.8.0 - vite@6.3.5(@types/node@20.17.57)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0): + vite@6.3.5(@types/node@20.17.57)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0): dependencies: esbuild: 0.25.9 fdir: 6.4.6(picomatch@4.0.2) @@ -39116,13 +39118,13 @@ snapshots: optionalDependencies: '@types/node': 20.17.57 fsevents: 2.3.3 - jiti: 2.4.2 + jiti: 2.6.1 lightningcss: 1.30.1 terser: 5.43.1 tsx: 4.19.4 yaml: 2.8.0 - vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0): + vite@6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0): dependencies: esbuild: 0.25.9 fdir: 6.4.6(picomatch@4.0.2) @@ -39133,13 +39135,13 @@ snapshots: optionalDependencies: '@types/node': 24.2.1 fsevents: 2.3.3 - jiti: 2.4.2 + jiti: 2.6.1 lightningcss: 1.30.1 terser: 5.43.1 tsx: 4.19.4 yaml: 2.8.0 - vite@6.3.6(@types/node@20.17.50)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0): + vite@6.3.6(@types/node@20.17.50)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0): dependencies: esbuild: 0.25.9 fdir: 6.4.6(picomatch@4.0.2) @@ -39150,13 +39152,13 @@ snapshots: optionalDependencies: '@types/node': 20.17.50 fsevents: 2.3.3 - jiti: 2.4.2 + jiti: 2.6.1 lightningcss: 1.30.1 terser: 5.43.1 tsx: 4.19.4 yaml: 2.8.0 - vite@6.3.6(@types/node@20.17.57)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0): + vite@6.3.6(@types/node@20.17.57)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0): dependencies: esbuild: 0.25.9 fdir: 6.4.6(picomatch@4.0.2) @@ -39167,13 +39169,13 @@ snapshots: optionalDependencies: '@types/node': 20.17.57 fsevents: 2.3.3 - jiti: 2.4.2 + jiti: 2.6.1 lightningcss: 1.30.1 terser: 5.43.1 tsx: 4.19.4 yaml: 2.8.0 - vite@6.3.6(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0): + vite@6.3.6(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0): dependencies: esbuild: 0.25.9 fdir: 6.4.6(picomatch@4.0.2) @@ -39184,17 +39186,17 @@ snapshots: optionalDependencies: '@types/node': 24.2.1 fsevents: 2.3.3 - jiti: 2.4.2 + jiti: 2.6.1 lightningcss: 1.30.1 terser: 5.43.1 tsx: 4.19.4 yaml: 2.8.0 - vitest@3.2.4(@types/debug@4.1.12)(@types/node@20.17.50)(@vitest/ui@3.2.4)(jiti@2.4.2)(jsdom@26.1.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0): + vitest@3.2.4(@types/debug@4.1.12)(@types/node@20.17.50)(@vitest/ui@3.2.4)(jiti@2.6.1)(jsdom@26.1.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0): dependencies: '@types/chai': 5.2.2 '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(vite@6.3.5(@types/node@20.17.50)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) + '@vitest/mocker': 3.2.4(vite@6.3.5(@types/node@20.17.50)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) '@vitest/pretty-format': 3.2.4 '@vitest/runner': 3.2.4 '@vitest/snapshot': 3.2.4 @@ -39212,8 +39214,8 @@ snapshots: tinyglobby: 0.2.14 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 6.3.5(@types/node@20.17.50)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) - vite-node: 3.2.4(@types/node@20.17.50)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.5(@types/node@20.17.50)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) + vite-node: 3.2.4(@types/node@20.17.50)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) why-is-node-running: 2.3.0 optionalDependencies: '@types/debug': 4.1.12 @@ -39234,11 +39236,11 @@ snapshots: - tsx - yaml - vitest@3.2.4(@types/debug@4.1.12)(@types/node@20.17.57)(@vitest/ui@3.2.4)(jiti@2.4.2)(jsdom@26.1.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0): + vitest@3.2.4(@types/debug@4.1.12)(@types/node@20.17.57)(@vitest/ui@3.2.4)(jiti@2.6.1)(jsdom@26.1.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0): dependencies: '@types/chai': 5.2.2 '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(vite@6.3.5(@types/node@20.17.57)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) + '@vitest/mocker': 3.2.4(vite@6.3.5(@types/node@20.17.57)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) '@vitest/pretty-format': 3.2.4 '@vitest/runner': 3.2.4 '@vitest/snapshot': 3.2.4 @@ -39256,8 +39258,8 @@ snapshots: tinyglobby: 0.2.14 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 6.3.5(@types/node@20.17.57)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) - vite-node: 3.2.4(@types/node@20.17.57)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.5(@types/node@20.17.57)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) + vite-node: 3.2.4(@types/node@20.17.57)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) why-is-node-running: 2.3.0 optionalDependencies: '@types/debug': 4.1.12 @@ -39278,11 +39280,11 @@ snapshots: - tsx - yaml - vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.2.1)(@vitest/ui@3.2.4)(jiti@2.4.2)(jsdom@26.1.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0): + vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.2.1)(@vitest/ui@3.2.4)(jiti@2.6.1)(jsdom@26.1.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0): dependencies: '@types/chai': 5.2.2 '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) + '@vitest/mocker': 3.2.4(vite@6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0)) '@vitest/pretty-format': 3.2.4 '@vitest/runner': 3.2.4 '@vitest/snapshot': 3.2.4 @@ -39300,8 +39302,8 @@ snapshots: tinyglobby: 0.2.14 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 6.3.5(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) - vite-node: 3.2.4(@types/node@24.2.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.5(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) + vite-node: 3.2.4(@types/node@24.2.1)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.19.4)(yaml@2.8.0) why-is-node-running: 2.3.0 optionalDependencies: '@types/debug': 4.1.12 @@ -39376,7 +39378,7 @@ snapshots: dependencies: chalk: 2.4.2 commander: 3.0.2 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3 transitivePeerDependencies: - supports-color