From 0c227cae19bcd046fbcc19065e81959aa3d928d4 Mon Sep 17 00:00:00 2001 From: Zhengshou Lai Date: Wed, 6 May 2026 19:17:29 +0800 Subject: [PATCH] feat(desktop): add Electron desktop pet for Claude CLI MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Electron + React + TypeScript 桌面宠物外壳 - xterm.js + node-pty 直接对接 Claude CLI 进程 - 宠物 orb(80x80)可拖拽,点击展开终端面板 - CRT 复古终端主题(扫描线、文字发光) - 全局快捷键 Cmd+Shift+C 显隐 - 窗口位置自动保存 - 中华田园犬吉祥物 icon(AI 生成) - Makefile 新增 `make app` 打包命令 --- .gitignore | 5 + Makefile | 19 +- README.md | 37 +- bin/commands/init.py | 184 + bin/commands/update.py | 7 +- desktop/.gitignore | 6 + desktop/README.md | 33 + desktop/electron/config.ts | 40 + desktop/electron/main.ts | 211 + desktop/electron/preload.js | 24 + desktop/electron/pty.ts | 65 + desktop/index.html | 12 + desktop/package-lock.json | 5354 ++++++++++++++++++++++ desktop/package.json | 71 + desktop/public/icon.png | Bin 0 -> 178517 bytes desktop/src/App.tsx | 27 + desktop/src/components/PetOrb.tsx | 109 + desktop/src/components/Terminal.tsx | 110 + desktop/src/components/TerminalPanel.tsx | 96 + desktop/src/index.css | 127 + desktop/src/main.tsx | 10 + desktop/src/types/global.d.ts | 22 + desktop/tsconfig.electron.json | 20 + desktop/tsconfig.json | 19 + desktop/tsconfig.node.json | 11 + desktop/vite.config.ts | 11 + 26 files changed, 6627 insertions(+), 3 deletions(-) create mode 100644 bin/commands/init.py create mode 100644 desktop/.gitignore create mode 100644 desktop/README.md create mode 100644 desktop/electron/config.ts create mode 100644 desktop/electron/main.ts create mode 100644 desktop/electron/preload.js create mode 100644 desktop/electron/pty.ts create mode 100644 desktop/index.html create mode 100644 desktop/package-lock.json create mode 100644 desktop/package.json create mode 100644 desktop/public/icon.png create mode 100644 desktop/src/App.tsx create mode 100644 desktop/src/components/PetOrb.tsx create mode 100644 desktop/src/components/Terminal.tsx create mode 100644 desktop/src/components/TerminalPanel.tsx create mode 100644 desktop/src/index.css create mode 100644 desktop/src/main.tsx create mode 100644 desktop/src/types/global.d.ts create mode 100644 desktop/tsconfig.electron.json create mode 100644 desktop/tsconfig.json create mode 100644 desktop/tsconfig.node.json create mode 100644 desktop/vite.config.ts diff --git a/.gitignore b/.gitignore index fd90aef..026a2f9 100644 --- a/.gitignore +++ b/.gitignore @@ -32,3 +32,8 @@ build/ /*.png /*.jpg /*.jpeg + +# Desktop pet (Electron) +desktop/node_modules/ +desktop/dist/ +desktop/dist-electron/ diff --git a/Makefile b/Makefile index 4ba5713..188642d 100644 --- a/Makefile +++ b/Makefile @@ -3,13 +3,14 @@ VENV_MYCLAUDE := $(ROOT_DIR)/.venv/bin/myclaude USER_LOCAL_MYCLAUDE := $(HOME)/.local/bin/myclaude COMP_DIR := $(HOME)/.local/bin/completions -.PHONY: help install uninstall _symlink-myclaude _install-completions _uninstall-completions +.PHONY: help install uninstall app _symlink-myclaude _install-completions _uninstall-completions help: @echo "Usage: make [target]" @echo "" @echo " install Sync venv, symlink bin, install completions" @echo " uninstall Remove bin and completions" + @echo " app Build desktop pet as macOS .app" install: @cd "$(ROOT_DIR)" && \ @@ -37,3 +38,19 @@ uninstall: _uninstall-completions _uninstall-completions: @rm -f "$(COMP_DIR)/_myclaude" "$(COMP_DIR)/myclaude.bash" @echo "Removed completions" + +app: + @cd "$(ROOT_DIR)/desktop" && \ + if [ ! -d "node_modules" ]; then \ + echo "Installing desktop dependencies..."; \ + npm install; \ + fi && \ + echo "Rebuilding native modules for Electron..." && \ + npx electron-rebuild && \ + echo "Building and packaging..." && \ + npm run pack && \ + echo "" && \ + echo "Done. .app bundle:" && \ + ls -d "$(ROOT_DIR)/desktop/release"/*/*.app 2>/dev/null || \ + ls -d "$(ROOT_DIR)/desktop/release"/*.app 2>/dev/null || \ + echo "$(ROOT_DIR)/desktop/release/mac*/MyClaude.app" diff --git a/README.md b/README.md index 267f57e..6c2d731 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,10 @@ myclaude/ ├── .claude/ # Claude Code 配置 │ └── skills/ # 自定义技能 ├── .venv/ # Python 虚拟环境 +├── desktop/ # 桌面宠物(Electron + React) +│ ├── electron/ # 主进程 +│ ├── src/ # React 前端 +│ └── package.json ├── templates/ # 模板目录 │ └── workspace/ # 工作区模板(CLAUDE.md, .gitignore) ├── bin/ # Python 源码 @@ -175,7 +179,38 @@ fi Bash 将 `zsh_source` 换成 `bash_source`。保存后 `source` 该配置文件。 -### 5. 安装 Metabot +### 5. 安装桌面宠物(可选) + +基于 Electron + React 的桌面宠物,常驻屏幕角落,点击展开终端聊天框。 + +**前置依赖:** + +| 工具 | 版本要求 | 说明 | +|------|---------|------| +| Node.js | 20+ | JavaScript 运行时 | +| Claude CLI | - | 已安装并登录 | + +**安装运行:** + +```bash +cd ~/Documents/myBin/myclaude/desktop +npm install +npm run rebuild # 编译原生模块(node-pty) +npm run dev # 开发模式 +``` + +**快捷键:** + +- `Cmd+Shift+C`(macOS)/ `Ctrl+Shift+C`(Win/Linux):显示/隐藏宠物 + +**特性:** + +- 会话保持 — Claude CLI 进程常驻,收起/展开不影响对话 +- 宠物外壳 — 80x80 悬浮 orb,可拖拽,呼吸动画 +- CRT 终端 — 复古终端风格,扫描线 + 文字发光效果 +- 窗口位置记忆 — 自动保存位置 + +### 6. 安装 Metabot **快速安装:** diff --git a/bin/commands/init.py b/bin/commands/init.py new file mode 100644 index 0000000..67ceda3 --- /dev/null +++ b/bin/commands/init.py @@ -0,0 +1,184 @@ +"""Sync workspace symlinks from zshrc environment variables.""" + +import os +import subprocess +from pathlib import Path + +from rich.console import Console + +from bin.project_root import get_myclaude_project_root, get_workspace_root + +console = Console() +stderr_console = Console(stderr=True) + +# Link name -> list of environment variable names to try, in order. +_LINK_MAP: dict[str, list[str]] = { + "myacademia": ["path_myacademia"], + "myslides": ["path_myslides", "MYSLIDES_ROOT"], + "metabot": ["METABOT_HOME"], + "mytoolkit": ["path_mytoolkit", "MYTOOLKIT_ROOT"], + "mywebpage": ["path_mywebpage", "MYWEBPAGE_ROOT"], +} + + +def _read_zsh_env(var: str, zshrc: Path) -> str | None: + """Source zshrc and print the value of a variable.""" + cmd = [ + "zsh", + "-c", + f"source '{zshrc}' >/dev/null 2>&1; echo -n ${var}", + ] + try: + result = subprocess.run( + cmd, + capture_output=True, + text=True, + check=False, + timeout=10, + ) + except (OSError, subprocess.TimeoutExpired): + return None + value = result.stdout.strip() + return value if value else None + + +def _resolve_target( + env_vars: list[str], + zshrc: Path, +) -> Path | None: + """Find the first valid target path from environment variables.""" + for var in env_vars: + raw = _read_zsh_env(var, zshrc) + if raw is None: + continue + expanded = os.path.expandvars(os.path.expanduser(raw)) + path = Path(expanded) + if path.exists(): + return path.resolve() + return None + + +def _current_link_target(workspace: Path, name: str) -> Path | None: + """Return the target of an existing symlink, or None.""" + link = workspace / name + if link.is_symlink(): + try: + return Path(os.readlink(link)) + except OSError: + return None + return None + + +def _sync_link( + workspace: Path, + name: str, + target: Path, + dry_run: bool, + force: bool, +) -> bool: + """Create or update a symlink. Returns True if changed.""" + link = workspace / name + current = _current_link_target(workspace, name) + + if current is not None and current.resolve() == target.resolve(): + return False + + if link.exists() and not link.is_symlink(): + if not force: + stderr_console.print( + f"[yellow]{name} exists but is not a symlink. " + "Use --force to replace.[/yellow]" + ) + return False + if dry_run: + console.print( + f"[dry-run] Would remove {name} and symlink -> {target}" + ) + return True + if link.is_dir(): + link.rmdir() + else: + link.unlink() + elif current is not None: + if dry_run: + console.print( + f"[dry-run] Would update {name}: {current} -> {target}" + ) + return True + link.unlink() + else: + if dry_run: + console.print(f"[dry-run] Would create {name} -> {target}") + return True + + link.symlink_to(target, target_is_directory=target.is_dir()) + return True + + +def sync_workspace_links( + zshrc: Path | None = None, + dry_run: bool = False, + force: bool = False, + verbose: bool = True, +) -> bool: + """Sync all workspace symlinks. Returns True on success.""" + workspace = get_workspace_root() + if zshrc is None: + zshrc = Path.home() / ".zshrc" + + if verbose: + console.print(f"[bold]Workspace:[/bold] {workspace}") + console.print(f"[bold]Zshrc:[/bold] {zshrc}") + console.print() + + changed = 0 + skipped = 0 + broken = 0 + + # Handle myclaude separately: use project root detection, not zshrc. + myclaude_target = get_myclaude_project_root() + if _sync_link(workspace, "myclaude", myclaude_target, dry_run, force): + action = "would update" if dry_run else "updated" + if verbose: + console.print( + f"[green]myclaude: {action} -> {myclaude_target}[/green]" + ) + changed += 1 + else: + if verbose: + console.print("[dim]myclaude: already correct[/dim]") + + for name, env_vars in _LINK_MAP.items(): + target = _resolve_target(env_vars, zshrc) + if target is None: + link = workspace / name + if link.is_symlink() and not link.exists(): + if verbose: + stderr_console.print( + f"[red]{name}: broken symlink (no env var found)[/red]" + ) + broken += 1 + else: + if verbose: + console.print(f"[dim]{name}: skipped (no env var)[/dim]") + skipped += 1 + continue + + if _sync_link(workspace, name, target, dry_run, force): + action = "would update" if dry_run else "updated" + if verbose: + console.print(f"[green]{name}: {action} -> {target}[/green]") + changed += 1 + else: + if verbose: + console.print(f"[dim]{name}: already correct[/dim]") + + if verbose: + console.print() + label = "Preview" if dry_run else "Done" + console.print( + f"[bold]{label}:[/bold] {changed} changed, " + f"{skipped} skipped, {broken} broken." + ) + + return broken == 0 diff --git a/bin/commands/update.py b/bin/commands/update.py index ca49208..158f126 100644 --- a/bin/commands/update.py +++ b/bin/commands/update.py @@ -7,6 +7,7 @@ from pathlib import Path import click from rich.console import Console +from bin.commands.init import sync_workspace_links from bin.project_root import get_myclaude_project_root console = Console() @@ -28,7 +29,7 @@ def _run_pip_editable(root: Path) -> int: @click.command("update") def update_cmd() -> None: - """Reinstall myclaude from this repository (make install, or pip install -e).""" + """Reinstall myclaude and sync workspace symlinks.""" root = get_myclaude_project_root() fallback = Path.home() / ".myclaude" if root == fallback: @@ -54,3 +55,7 @@ def update_cmd() -> None: stderr_console.print("[red]Update failed.[/red]") raise SystemExit(rc) console.print("[green]myclaude updated.[/green]") + + console.print() + console.print("[bold cyan]Syncing workspace links…[/bold cyan]") + sync_workspace_links() diff --git a/desktop/.gitignore b/desktop/.gitignore new file mode 100644 index 0000000..d5baffb --- /dev/null +++ b/desktop/.gitignore @@ -0,0 +1,6 @@ +node_modules/ +dist/ +dist-electron/ +release/ +*.log +.DS_Store diff --git a/desktop/README.md b/desktop/README.md new file mode 100644 index 0000000..022fa47 --- /dev/null +++ b/desktop/README.md @@ -0,0 +1,33 @@ +# MyClaude Pet + +桌面宠物外壳 for Claude CLI。常驻屏幕角落,点击展开终端聊天框。 + +## 特性 + +- **会话保持** — Claude CLI 进程常驻后台,收起/展开不影响对话 +- **宠物外壳** — 80x80 悬浮 orb,可拖拽,呼吸动画 +- **CRT 终端** — 复古终端风格,扫描线 + 文字发光效果 +- **全局快捷键** — `Cmd+Shift+C`(macOS)/ `Ctrl+Shift+C`(Win/Linux)快速显示/隐藏 +- **位置记忆** — 窗口位置自动保存 + +## 开发 + +```bash +npm install +npm run rebuild # 编译原生模块(node-pty) +npm run dev # 启动开发环境 +``` + +## 构建 + +```bash +npm run build +``` + +前端输出到 `dist/`,Electron 输出到 `dist-electron/`。 + +## 要求 + +- macOS / Windows / Linux +- Node.js 20+ +- 已安装 [Claude CLI](https://claude.ai/download) 并登录 diff --git a/desktop/electron/config.ts b/desktop/electron/config.ts new file mode 100644 index 0000000..351f582 --- /dev/null +++ b/desktop/electron/config.ts @@ -0,0 +1,40 @@ +import * as fs from 'fs' +import * as path from 'path' +import { app } from 'electron' + +interface AppConfig { + windowPosition?: { x: number; y: number } + autoStart?: boolean + collapsed?: boolean +} + +const DEFAULT_CONFIG: AppConfig = { + autoStart: false, + collapsed: true, +} + +function getConfigPath(): string { + return path.join(app.getPath('userData'), 'config.json') +} + +export function loadConfig(): AppConfig { + try { + const configPath = getConfigPath() + if (fs.existsSync(configPath)) { + const data = fs.readFileSync(configPath, 'utf8') + return { ...DEFAULT_CONFIG, ...JSON.parse(data) } + } + } catch (err) { + console.error('Failed to load config:', err) + } + return { ...DEFAULT_CONFIG } +} + +export function saveConfig(config: AppConfig): void { + try { + const configPath = getConfigPath() + fs.writeFileSync(configPath, JSON.stringify(config, null, 2), 'utf8') + } catch (err) { + console.error('Failed to save config:', err) + } +} diff --git a/desktop/electron/main.ts b/desktop/electron/main.ts new file mode 100644 index 0000000..b67d33d --- /dev/null +++ b/desktop/electron/main.ts @@ -0,0 +1,211 @@ +import { app, BrowserWindow, ipcMain, screen, globalShortcut } from 'electron' +import * as path from 'path' +import { PTYManager } from './pty' +import { loadConfig, saveConfig } from './config' + +const ptyManager = new PTYManager() +let mainWindow: BrowserWindow | null = null + +const COLLAPSED_SIZE = { width: 80, height: 80 } +const EXPANDED_SIZE = { width: 900, height: 600 } + +function createWindow() { + const config = loadConfig() + const display = screen.getPrimaryDisplay() + const { width: screenWidth, height: screenHeight } = display.workAreaSize + + // Use saved position or default to bottom-right + let x = config.windowPosition?.x ?? screenWidth - COLLAPSED_SIZE.width - 20 + let y = config.windowPosition?.y ?? screenHeight - COLLAPSED_SIZE.height - 20 + + mainWindow = new BrowserWindow({ + width: COLLAPSED_SIZE.width, + height: COLLAPSED_SIZE.height, + x, + y, + frame: false, + transparent: true, + backgroundColor: '#00000000', + alwaysOnTop: true, + skipTaskbar: true, + hasShadow: false, + resizable: false, + webPreferences: { + preload: path.join(__dirname, 'preload.js'), + contextIsolation: true, + nodeIntegration: false, + }, + }) + + // Dock hide on macOS + if (app.dock) { + app.dock.hide() + } + + if (process.env.VITE_DEV_SERVER_URL) { + mainWindow.loadURL(process.env.VITE_DEV_SERVER_URL) + } else { + mainWindow.loadFile(path.join(__dirname, '../dist/index.html')) + } + + mainWindow.on('closed', () => { + mainWindow = null + }) + + // Save position when moved + mainWindow.on('moved', () => { + if (!mainWindow) return + const [x, y] = mainWindow.getPosition() + const config = loadConfig() + saveConfig({ ...config, windowPosition: { x, y } }) + }) +} + +function expandWindow() { + if (!mainWindow) return + const display = screen.getPrimaryDisplay() + const { width: screenWidth, height: screenHeight } = display.workAreaSize + + const currentPos = mainWindow.getPosition() + let x = currentPos[0] + let y = currentPos[1] + + // Ensure window stays on screen + if (x + EXPANDED_SIZE.width > screenWidth) { + x = screenWidth - EXPANDED_SIZE.width - 20 + } + if (y + EXPANDED_SIZE.height > screenHeight) { + y = screenHeight - EXPANDED_SIZE.height - 20 + } + + mainWindow.setResizable(true) + mainWindow.setMinimumSize(EXPANDED_SIZE.width, EXPANDED_SIZE.height) + mainWindow.setSize(EXPANDED_SIZE.width, EXPANDED_SIZE.height) + mainWindow.setPosition(x, y) + mainWindow.setAlwaysOnTop(true) + mainWindow.setIgnoreMouseEvents(false) + mainWindow.setHasShadow(true) + + const config = loadConfig() + saveConfig({ ...config, collapsed: false }) +} + +function collapseWindow() { + if (!mainWindow) return + + const currentPos = mainWindow.getPosition() + + mainWindow.setResizable(false) + mainWindow.setSize(COLLAPSED_SIZE.width, COLLAPSED_SIZE.height) + mainWindow.setPosition(currentPos[0], currentPos[1]) + mainWindow.setAlwaysOnTop(true) + mainWindow.setIgnoreMouseEvents(true, { forward: true }) + mainWindow.setHasShadow(false) + + const config = loadConfig() + saveConfig({ ...config, collapsed: true, windowPosition: { x: currentPos[0], y: currentPos[1] } }) +} + +function toggleWindow() { + if (!mainWindow) { + createWindow() + return + } + if (mainWindow.isVisible()) { + mainWindow.hide() + } else { + mainWindow.show() + } +} + +app.whenReady().then(() => { + createWindow() + ptyManager.start('claude') + + // Collapse after load to ensure pet mode + mainWindow?.webContents.on('did-finish-load', () => { + collapseWindow() + }) + + // Register global shortcut + const ret = globalShortcut.register('CommandOrControl+Shift+C', () => { + if (!mainWindow) { + createWindow() + return + } + if (mainWindow.isVisible()) { + mainWindow.hide() + } else { + mainWindow.show() + mainWindow.focus() + } + }) + + if (!ret) { + console.log('Global shortcut registration failed') + } + + // IPC handlers + ipcMain.on('pty:write', (_event, data: string) => { + ptyManager.write(data) + }) + + ipcMain.on('pty:resize', (_event, cols: number, rows: number) => { + ptyManager.resize(cols, rows) + }) + + ipcMain.on('window:expand', () => { + expandWindow() + }) + + ipcMain.on('window:collapse', () => { + collapseWindow() + }) + + ipcMain.on('window:set-position', (_event, x: number, y: number) => { + mainWindow?.setPosition(x, y) + }) + + ipcMain.on('window:set-ignore-mouse', (_event, ignore: boolean) => { + mainWindow?.setIgnoreMouseEvents(ignore, { forward: true }) + }) + + ipcMain.on('window:close', () => { + mainWindow?.close() + }) + + ipcMain.on('window:minimize', () => { + mainWindow?.minimize() + }) + + ptyManager.on('data', (data: string) => { + mainWindow?.webContents.send('pty:data', data) + }) + + ptyManager.on('exit', (code: number) => { + mainWindow?.webContents.send('pty:exit', code) + }) + + app.on('activate', () => { + if (BrowserWindow.getAllWindows().length === 0) { + createWindow() + } + }) +}) + +app.on('window-all-closed', () => { + ptyManager.kill() + globalShortcut.unregisterAll() + if (process.platform !== 'darwin') { + app.quit() + } +}) + +app.on('before-quit', () => { + ptyManager.kill() + globalShortcut.unregisterAll() +}) + +app.on('will-quit', () => { + globalShortcut.unregisterAll() +}) diff --git a/desktop/electron/preload.js b/desktop/electron/preload.js new file mode 100644 index 0000000..aad92e8 --- /dev/null +++ b/desktop/electron/preload.js @@ -0,0 +1,24 @@ +const { contextBridge, ipcRenderer } = require('electron') + +const api = { + pty: { + write: (data) => ipcRenderer.send('pty:write', data), + resize: (cols, rows) => ipcRenderer.send('pty:resize', cols, rows), + onData: (callback) => { + ipcRenderer.on('pty:data', (_event, data) => callback(data)) + }, + onExit: (callback) => { + ipcRenderer.on('pty:exit', (_event, code) => callback(code)) + }, + }, + window: { + expand: () => ipcRenderer.send('window:expand'), + collapse: () => ipcRenderer.send('window:collapse'), + setPosition: (x, y) => ipcRenderer.send('window:set-position', x, y), + setIgnoreMouseEvents: (ignore) => ipcRenderer.send('window:set-ignore-mouse', ignore), + close: () => ipcRenderer.send('window:close'), + minimize: () => ipcRenderer.send('window:minimize'), + }, +} + +contextBridge.exposeInMainWorld('petAPI', api) diff --git a/desktop/electron/pty.ts b/desktop/electron/pty.ts new file mode 100644 index 0000000..88c40f5 --- /dev/null +++ b/desktop/electron/pty.ts @@ -0,0 +1,65 @@ +import * as pty from 'node-pty' +import { execSync } from 'child_process' +import { EventEmitter } from 'events' + +export class PTYManager extends EventEmitter { + private ptyProcess: pty.IPty | null = null + + start(shell: string = 'claude', args: string[] = []) { + const resolvedShell = this.resolveShell(shell) + const resolvedArgs = shell === 'claude' ? args : [] + + this.ptyProcess = pty.spawn(resolvedShell, resolvedArgs, { + name: 'xterm-color', + cols: 80, + rows: 24, + cwd: process.env.HOME, + env: process.env as { [key: string]: string }, + }) + + this.ptyProcess.onData((data: string) => { + this.emit('data', data) + }) + + this.ptyProcess.onExit(({ exitCode }) => { + this.emit('exit', exitCode) + }) + + return this.ptyProcess + } + + write(data: string) { + if (this.ptyProcess) { + this.ptyProcess.write(data) + } + } + + resize(cols: number, rows: number) { + if (this.ptyProcess) { + this.ptyProcess.resize(cols, rows) + } + } + + kill() { + if (this.ptyProcess) { + this.ptyProcess.kill() + this.ptyProcess = null + } + } + + private resolveShell(shell: string): string { + if (shell === 'claude') { + try { + const path = execSync('which claude', { encoding: 'utf8' }).trim() + return path + } catch { + try { + return execSync('which zsh', { encoding: 'utf8' }).trim() + } catch { + return '/bin/zsh' + } + } + } + return shell + } +} diff --git a/desktop/index.html b/desktop/index.html new file mode 100644 index 0000000..acfa834 --- /dev/null +++ b/desktop/index.html @@ -0,0 +1,12 @@ + + + + + + MyClaude Pet + + +
+ + + diff --git a/desktop/package-lock.json b/desktop/package-lock.json new file mode 100644 index 0000000..04baa8d --- /dev/null +++ b/desktop/package-lock.json @@ -0,0 +1,5354 @@ +{ + "name": "myclaude-pet", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "myclaude-pet", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "@xterm/addon-fit": "^0.11.0", + "@xterm/xterm": "^6.0.0", + "node-pty": "^1.1.0", + "react": "^19.2.5", + "react-dom": "^19.2.5" + }, + "devDependencies": { + "@electron/rebuild": "^4.0.4", + "@types/node": "^25.6.0", + "@types/react": "^19.2.14", + "@types/react-dom": "^19.2.3", + "@vitejs/plugin-react": "^6.0.1", + "concurrently": "^9.2.1", + "electron": "^42.0.0", + "electron-builder": "^26.8.1", + "tsx": "^4.21.0", + "typescript": "^6.0.3", + "vite": "^8.0.10", + "wait-on": "^9.0.5" + } + }, + "node_modules/@develar/schema-utils": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/@develar/schema-utils/-/schema-utils-2.6.5.tgz", + "integrity": "sha512-0cp4PsWQ/9avqTVMCtZ+GirikIA36ikvjtHweU4/j8yLtgObI0+JUPhYFScgwlteveGB1rt3Cm8UhN04XayDig==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.0", + "ajv-keywords": "^3.4.1" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/@electron/asar": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/@electron/asar/-/asar-3.4.1.tgz", + "integrity": "sha512-i4/rNPRS84t0vSRa2HorerGRXWyF4vThfHesw0dmcWHp+cspK743UanA0suA5Q5y8kzY2y6YKrvbIUn69BCAiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "commander": "^5.0.0", + "glob": "^7.1.6", + "minimatch": "^3.0.4" + }, + "bin": { + "asar": "bin/asar.js" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/@electron/asar/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@electron/asar/node_modules/brace-expansion": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", + "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@electron/asar/node_modules/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@electron/fuses": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@electron/fuses/-/fuses-1.8.0.tgz", + "integrity": "sha512-zx0EIq78WlY/lBb1uXlziZmDZI4ubcCXIMJ4uGjXzZW0nS19TjSPeXPAjzzTmKQlJUZm0SbmZhPKP7tuQ1SsEw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.1", + "fs-extra": "^9.0.1", + "minimist": "^1.2.5" + }, + "bin": { + "electron-fuses": "dist/bin.js" + } + }, + "node_modules/@electron/fuses/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@electron/get": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@electron/get/-/get-5.0.0.tgz", + "integrity": "sha512-pjoBpru1KdEtcExBnuHAP1cAc/5faoedw0hzJkL3o4/IJp7HNF1+fbrdxT3gMYRX2oJfvnA/WXeCTVQpYYxyJA==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.1", + "env-paths": "^3.0.0", + "graceful-fs": "^4.2.11", + "progress": "^2.0.3", + "semver": "^7.6.3", + "sumchecker": "^3.0.1" + }, + "engines": { + "node": ">=22.12.0" + }, + "optionalDependencies": { + "undici": "^7.24.4" + } + }, + "node_modules/@electron/notarize": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@electron/notarize/-/notarize-2.5.0.tgz", + "integrity": "sha512-jNT8nwH1f9X5GEITXaQ8IF/KdskvIkOFfB2CvwumsveVidzpSc+mvhhTMdAGSYF3O+Nq49lJ7y+ssODRXu06+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.1", + "fs-extra": "^9.0.1", + "promise-retry": "^2.0.1" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@electron/notarize/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@electron/osx-sign": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@electron/osx-sign/-/osx-sign-1.3.3.tgz", + "integrity": "sha512-KZ8mhXvWv2rIEgMbWZ4y33bDHyUKMXnx4M0sTyPNK/vcB81ImdeY9Ggdqy0SWbMDgmbqyQ+phgejh6V3R2QuSg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "compare-version": "^0.1.2", + "debug": "^4.3.4", + "fs-extra": "^10.0.0", + "isbinaryfile": "^4.0.8", + "minimist": "^1.2.6", + "plist": "^3.0.5" + }, + "bin": { + "electron-osx-flat": "bin/electron-osx-flat.js", + "electron-osx-sign": "bin/electron-osx-sign.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@electron/osx-sign/node_modules/isbinaryfile": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", + "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" + } + }, + "node_modules/@electron/rebuild": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@electron/rebuild/-/rebuild-4.0.4.tgz", + "integrity": "sha512-Rzc39XPdk/+/wBG8MfwAHohXflep0ITUfulb6Rgz3R0NeSB1noE+E9/M/cb8ftCAiyDD9PPhLuuWgE1GaInbKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@malept/cross-spawn-promise": "^2.0.0", + "debug": "^4.1.1", + "node-abi": "^4.2.0", + "node-api-version": "^0.2.1", + "node-gyp": "^12.2.0", + "read-binary-file-arch": "^1.0.6" + }, + "bin": { + "electron-rebuild": "lib/cli.js" + }, + "engines": { + "node": ">=22.12.0" + } + }, + "node_modules/@electron/universal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@electron/universal/-/universal-2.0.3.tgz", + "integrity": "sha512-Wn9sPYIVFRFl5HmwMJkARCCf7rqK/EurkfQ/rJZ14mHP3iYTjZSIOSVonEAnhWeAXwtw7zOekGRlc6yTtZ0t+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@electron/asar": "^3.3.1", + "@malept/cross-spawn-promise": "^2.0.0", + "debug": "^4.3.1", + "dir-compare": "^4.2.0", + "fs-extra": "^11.1.1", + "minimatch": "^9.0.3", + "plist": "^3.1.0" + }, + "engines": { + "node": ">=16.4" + } + }, + "node_modules/@electron/universal/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@electron/universal/node_modules/brace-expansion": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.0.tgz", + "integrity": "sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@electron/universal/node_modules/fs-extra": { + "version": "11.3.4", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.4.tgz", + "integrity": "sha512-CTXd6rk/M3/ULNQj8FBqBWHYBVYybQ3VPBw0xGKFe3tuH7ytT6ACnvzpIQ3UZtB8yvUKC2cXn1a+x+5EVQLovA==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@electron/universal/node_modules/minimatch": { + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.2" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@electron/windows-sign": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@electron/windows-sign/-/windows-sign-1.2.2.tgz", + "integrity": "sha512-dfZeox66AvdPtb2lD8OsIIQh12Tp0GNCRUDfBHIKGpbmopZto2/A8nSpYYLoedPIHpqkeblZ/k8OV0Gy7PYuyQ==", + "dev": true, + "license": "BSD-2-Clause", + "optional": true, + "peer": true, + "dependencies": { + "cross-dirname": "^0.1.0", + "debug": "^4.3.4", + "fs-extra": "^11.1.1", + "minimist": "^1.2.8", + "postject": "^1.0.0-alpha.6" + }, + "bin": { + "electron-windows-sign": "bin/electron-windows-sign.js" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@electron/windows-sign/node_modules/fs-extra": { + "version": "11.3.4", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.4.tgz", + "integrity": "sha512-CTXd6rk/M3/ULNQj8FBqBWHYBVYybQ3VPBw0xGKFe3tuH7ytT6ACnvzpIQ3UZtB8yvUKC2cXn1a+x+5EVQLovA==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@emnapi/core": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz", + "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.1", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", + "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", + "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.7.tgz", + "integrity": "sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.7.tgz", + "integrity": "sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.7.tgz", + "integrity": "sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.7.tgz", + "integrity": "sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.7.tgz", + "integrity": "sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.7.tgz", + "integrity": "sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.7.tgz", + "integrity": "sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.7.tgz", + "integrity": "sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.7.tgz", + "integrity": "sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.7.tgz", + "integrity": "sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.7.tgz", + "integrity": "sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.7.tgz", + "integrity": "sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.7.tgz", + "integrity": "sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.7.tgz", + "integrity": "sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.7.tgz", + "integrity": "sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.7.tgz", + "integrity": "sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.7.tgz", + "integrity": "sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.7.tgz", + "integrity": "sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.7.tgz", + "integrity": "sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.7.tgz", + "integrity": "sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.7.tgz", + "integrity": "sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.7.tgz", + "integrity": "sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.7.tgz", + "integrity": "sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.7.tgz", + "integrity": "sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.7.tgz", + "integrity": "sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.7.tgz", + "integrity": "sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@hapi/address": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@hapi/address/-/address-5.1.1.tgz", + "integrity": "sha512-A+po2d/dVoY7cYajycYI43ZbYMXukuopIsqCjh5QzsBCipDtdofHntljDlpccMjIfTy6UOkg+5KPriwYch2bXA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^11.0.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@hapi/formula": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@hapi/formula/-/formula-3.0.2.tgz", + "integrity": "sha512-hY5YPNXzw1He7s0iqkRQi+uMGh383CGdyyIGYtB+W5N3KHPXoqychklvHhKCC9M3Xtv0OCs/IHw+r4dcHtBYWw==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@hapi/hoek": { + "version": "11.0.7", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.7.tgz", + "integrity": "sha512-HV5undWkKzcB4RZUusqOpcgxOaq6VOAH7zhhIr2g3G8NF/MlFO75SjOr2NfuSx0Mh40+1FqCkagKLJRykUWoFQ==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@hapi/pinpoint": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@hapi/pinpoint/-/pinpoint-2.0.1.tgz", + "integrity": "sha512-EKQmr16tM8s16vTT3cA5L0kZZcTMU5DUOZTuvpnY738m+jyP3JIUj+Mm1xc1rsLkGBQ/gVnfKYPwOmPg1tUR4Q==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@hapi/tlds": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@hapi/tlds/-/tlds-1.1.6.tgz", + "integrity": "sha512-xdi7A/4NZokvV0ewovme3aUO5kQhW9pQ2YD1hRqZGhhSi5rBv4usHYidVocXSi9eihYsznZxLtAiEYYUL6VBGw==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@hapi/topo": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-6.0.2.tgz", + "integrity": "sha512-KR3rD5inZbGMrHmgPxsJ9dbi6zEK+C3ZwUwTa+eMwWLz7oijWUTWD2pMSNNYJAU6Qq+65NkxXjqHr/7LM2Xkqg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^11.0.2" + } + }, + "node_modules/@isaacs/fs-minipass": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", + "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.4" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@malept/cross-spawn-promise": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-2.0.0.tgz", + "integrity": "sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/malept" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/subscription/pkg/npm-.malept-cross-spawn-promise?utm_medium=referral&utm_source=npm_fund" + } + ], + "license": "Apache-2.0", + "dependencies": { + "cross-spawn": "^7.0.1" + }, + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/@malept/flatpak-bundler": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@malept/flatpak-bundler/-/flatpak-bundler-0.4.0.tgz", + "integrity": "sha512-9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.1", + "fs-extra": "^9.0.0", + "lodash": "^4.17.15", + "tmp-promise": "^3.0.2" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@malept/flatpak-bundler/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.4.tgz", + "integrity": "sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@tybys/wasm-util": "^0.10.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1" + } + }, + "node_modules/@oxc-project/types": { + "version": "0.127.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.127.0.tgz", + "integrity": "sha512-aIYXQBo4lCbO4z0R3FHeucQHpF46l2LbMdxRvqvuRuW2OxdnSkcng5B8+K12spgLDj93rtN3+J2Vac/TIO+ciQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/Boshen" + } + }, + "node_modules/@rolldown/binding-android-arm64": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-rc.17.tgz", + "integrity": "sha512-s70pVGhw4zqGeFnXWvAzJDlvxhlRollagdCCKRgOsgUOH3N1l0LIxf83AtGzmb5SiVM4Hjl5HyarMRfdfj3DaQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-arm64": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-rc.17.tgz", + "integrity": "sha512-4ksWc9n0mhlZpZ9PMZgTGjeOPRu8MB1Z3Tz0Mo02eWfWCHMW1zN82Qz/pL/rC+yQa+8ZnutMF0JjJe7PjwasYw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-x64": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-rc.17.tgz", + "integrity": "sha512-SUSDOI6WwUVNcWxd02QEBjLdY1VPHvlEkw6T/8nYG322iYWCTxRb1vzk4E+mWWYehTp7ERibq54LSJGjmouOsw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-freebsd-x64": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-rc.17.tgz", + "integrity": "sha512-hwnz3nw9dbJ05EDO/PvcjaaewqqDy7Y1rn1UO81l8iIK1GjenME75dl16ajbvSSMfv66WXSRCYKIqfgq2KCfxw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm-gnueabihf": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-rc.17.tgz", + "integrity": "sha512-IS+W7epTcwANmFSQFrS1SivEXHtl1JtuQA9wlxrZTcNi6mx+FDOYrakGevvvTwgj2JvWiK8B29/qD9BELZPyXQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-gnu": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-rc.17.tgz", + "integrity": "sha512-e6usGaHKW5BMNZOymS1UcEYGowQMWcgZ71Z17Sl/h2+ZziNJ1a9n3Zvcz6LdRyIW5572wBCTH/Z+bKuZouGk9Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-musl": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-rc.17.tgz", + "integrity": "sha512-b/CgbwAJpmrRLp02RPfhbudf5tZnN9nsPWK82znefso832etkem8H7FSZwxrOI9djcdTP7U6YfNhbRnh7djErg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-ppc64-gnu": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.0-rc.17.tgz", + "integrity": "sha512-4EII1iNGRUN5WwGbF/kOh/EIkoDN9HsupgLQoXfY+D1oyJm7/F4t5PYU5n8SWZgG0FEwakyM8pGgwcBYruGTlA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-s390x-gnu": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.0-rc.17.tgz", + "integrity": "sha512-AH8oq3XqQo4IibpVXvPeLDI5pzkpYn0WiZAfT05kFzoJ6tQNzwRdDYQ45M8I/gslbodRZwW8uxLhbSBbkv96rA==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-gnu": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-rc.17.tgz", + "integrity": "sha512-cLnjV3xfo7KslbU41Z7z8BH/E1y5mzUYzAqih1d1MDaIGZRCMqTijqLv76/P7fyHuvUcfGsIpqCdddbxLLK9rA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-musl": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-rc.17.tgz", + "integrity": "sha512-0phclDw1spsL7dUB37sIARuis2tAgomCJXAHZlpt8PXZ4Ba0dRP1e+66lsRqrfhISeN9bEGNjQs+T/Fbd7oYGw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-openharmony-arm64": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-rc.17.tgz", + "integrity": "sha512-0ag/hEgXOwgw4t8QyQvUCxvEg+V0KBcA6YuOx9g0r02MprutRF5dyljgm3EmR02O292UX7UeS6HzWHAl6KgyhA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-wasm32-wasi": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-rc.17.tgz", + "integrity": "sha512-LEXei6vo0E5wTGwpkJ4KoT3OZJRnglwldt5ziLzOlc6qqb55z4tWNq2A+PFqCJuvWWdP53CVhG1Z9NtToDPJrA==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "1.10.0", + "@emnapi/runtime": "1.10.0", + "@napi-rs/wasm-runtime": "^1.1.4" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-arm64-msvc": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-rc.17.tgz", + "integrity": "sha512-gUmyzBl3SPMa6hrqFUth9sVfcLBlYsbMzBx5PlexMroZStgzGqlZ26pYG89rBb45Mnia+oil6YAIFeEWGWhoZA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-x64-msvc": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-rc.17.tgz", + "integrity": "sha512-3hkiolcUAvPB9FLb3UZdfjVVNWherN1f/skkGWJP/fgSQhYUZpSIRr0/I8ZK9TkF3F7kxvJAk0+IcKvPHk9qQg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-rc.7", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.7.tgz", + "integrity": "sha512-qujRfC8sFVInYSPPMLQByRh7zhwkGFS4+tyMQ83srV1qrxL4g8E2tyxVVyxd0+8QeBM1mIk9KbWxkegRr76XzA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@sindresorhus/is": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", + "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/@standard-schema/spec": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", + "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@szmarczak/http-timer": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", + "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", + "dev": true, + "license": "MIT", + "dependencies": { + "defer-to-connect": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.2.tgz", + "integrity": "sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/cacheable-request": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", + "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/http-cache-semantics": "*", + "@types/keyv": "^3.1.4", + "@types/node": "*", + "@types/responselike": "^1.0.0" + } + }, + "node_modules/@types/debug": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.13.tgz", + "integrity": "sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/fs-extra": { + "version": "9.0.13", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.13.tgz", + "integrity": "sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/http-cache-semantics": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-L3LgimLHXtGkWikKnsPg0/VFx9OGZaC+eN1u4r+OB1XRqH3meBIAVC2zr1WdMH+RHmnRkqliQAOHNJ/E0j/e0Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/keyv": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", + "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "25.6.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.6.0.tgz", + "integrity": "sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~7.19.0" + } + }, + "node_modules/@types/plist": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/plist/-/plist-3.0.5.tgz", + "integrity": "sha512-E6OCaRmAe4WDmWNsL/9RMqdkkzDCY1etutkflWk4c+AcjDU07Pcz1fQwTX0TQz+Pxqn9i4L1TU3UFpjnrcDgxA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@types/node": "*", + "xmlbuilder": ">=11.0.1" + } + }, + "node_modules/@types/react": { + "version": "19.2.14", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.14.tgz", + "integrity": "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==", + "dev": true, + "license": "MIT", + "dependencies": { + "csstype": "^3.2.2" + } + }, + "node_modules/@types/react-dom": { + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz", + "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^19.2.0" + } + }, + "node_modules/@types/responselike": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.3.tgz", + "integrity": "sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/verror": { + "version": "1.10.11", + "resolved": "https://registry.npmjs.org/@types/verror/-/verror-1.10.11.tgz", + "integrity": "sha512-RlDm9K7+o5stv0Co8i8ZRGxDbrTxhJtgjqjFyVh/tXQyl/rYtTKlnTvZ88oSTeYREWurwx20Js4kTuKCsFkUtg==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/@types/yauzl": { + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", + "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@vitejs/plugin-react": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-6.0.1.tgz", + "integrity": "sha512-l9X/E3cDb+xY3SWzlG1MOGt2usfEHGMNIaegaUGFsLkb3RCn/k8/TOXBcab+OndDI4TBtktT8/9BwwW8Vi9KUQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rolldown/pluginutils": "1.0.0-rc.7" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "peerDependencies": { + "@rolldown/plugin-babel": "^0.1.7 || ^0.2.0", + "babel-plugin-react-compiler": "^1.0.0", + "vite": "^8.0.0" + }, + "peerDependenciesMeta": { + "@rolldown/plugin-babel": { + "optional": true + }, + "babel-plugin-react-compiler": { + "optional": true + } + } + }, + "node_modules/@xmldom/xmldom": { + "version": "0.8.13", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.13.tgz", + "integrity": "sha512-KRYzxepc14G/CEpEGc3Yn+JKaAeT63smlDr+vjB8jRfgTBBI9wRj/nkQEO+ucV8p8I9bfKLWp37uHgFrbntPvw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@xterm/addon-fit": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@xterm/addon-fit/-/addon-fit-0.11.0.tgz", + "integrity": "sha512-jYcgT6xtVYhnhgxh3QgYDnnNMYTcf8ElbxxFzX0IZo+vabQqSPAjC3c1wJrKB5E19VwQei89QCiZZP86DCPF7g==", + "license": "MIT" + }, + "node_modules/@xterm/xterm": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@xterm/xterm/-/xterm-6.0.0.tgz", + "integrity": "sha512-TQwDdQGtwwDt+2cgKDLn0IRaSxYu1tSUjgKarSDkUM0ZNiSRXFpjxEsvc/Zgc5kq5omJ+V0a8/kIM2WD3sMOYg==", + "license": "MIT", + "workspaces": [ + "addons/*" + ] + }, + "node_modules/7zip-bin": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/7zip-bin/-/7zip-bin-5.2.0.tgz", + "integrity": "sha512-ukTPVhqG4jNzMro2qA9HSCSSVJN3aN7tlb+hfqYCt3ER0yWroeA2VR38MNrOHLQ/cVj+DaIMad0kFCtWWowh/A==", + "dev": true, + "license": "MIT" + }, + "node_modules/abbrev": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-4.0.0.tgz", + "integrity": "sha512-a1wflyaL0tHtJSmLSOVybYhy22vRih4eduhhrkcjgrWGnRfrZtovJ2FRjxuTtkkj47O/baf0R86QU5OuYpz8fA==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/agent-base": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/ajv": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz", + "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/app-builder-bin": { + "version": "5.0.0-alpha.12", + "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-5.0.0-alpha.12.tgz", + "integrity": "sha512-j87o0j6LqPL3QRr8yid6c+Tt5gC7xNfYo6uQIQkorAC6MpeayVMZrEDzKmJJ/Hlv7EnOQpaRm53k6ktDYZyB6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/app-builder-lib": { + "version": "26.8.1", + "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-26.8.1.tgz", + "integrity": "sha512-p0Im/Dx5C4tmz8QEE1Yn4MkuPC8PrnlRneMhWJj7BBXQfNTJUshM/bp3lusdEsDbvvfJZpXWnYesgSLvwtM2Zw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@develar/schema-utils": "~2.6.5", + "@electron/asar": "3.4.1", + "@electron/fuses": "^1.8.0", + "@electron/get": "^3.0.0", + "@electron/notarize": "2.5.0", + "@electron/osx-sign": "1.3.3", + "@electron/rebuild": "^4.0.3", + "@electron/universal": "2.0.3", + "@malept/flatpak-bundler": "^0.4.0", + "@types/fs-extra": "9.0.13", + "async-exit-hook": "^2.0.1", + "builder-util": "26.8.1", + "builder-util-runtime": "9.5.1", + "chromium-pickle-js": "^0.2.0", + "ci-info": "4.3.1", + "debug": "^4.3.4", + "dotenv": "^16.4.5", + "dotenv-expand": "^11.0.6", + "ejs": "^3.1.8", + "electron-publish": "26.8.1", + "fs-extra": "^10.1.0", + "hosted-git-info": "^4.1.0", + "isbinaryfile": "^5.0.0", + "jiti": "^2.4.2", + "js-yaml": "^4.1.0", + "json5": "^2.2.3", + "lazy-val": "^1.0.5", + "minimatch": "^10.0.3", + "plist": "3.1.0", + "proper-lockfile": "^4.1.2", + "resedit": "^1.7.0", + "semver": "~7.7.3", + "tar": "^7.5.7", + "temp-file": "^3.4.0", + "tiny-async-pool": "1.3.0", + "which": "^5.0.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "dmg-builder": "26.8.1", + "electron-builder-squirrel-windows": "26.8.1" + } + }, + "node_modules/app-builder-lib/node_modules/@electron/get": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@electron/get/-/get-3.1.0.tgz", + "integrity": "sha512-F+nKc0xW+kVbBRhFzaMgPy3KwmuNTYX1fx6+FxxoSnNgwYX6LD7AKBTWkU0MQ6IBoe7dz069CNkR673sPAgkCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.1", + "env-paths": "^2.2.0", + "fs-extra": "^8.1.0", + "got": "^11.8.5", + "progress": "^2.0.3", + "semver": "^6.2.0", + "sumchecker": "^3.0.1" + }, + "engines": { + "node": ">=14" + }, + "optionalDependencies": { + "global-agent": "^3.0.0" + } + }, + "node_modules/app-builder-lib/node_modules/@electron/get/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/app-builder-lib/node_modules/@electron/get/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/app-builder-lib/node_modules/ci-info": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.1.tgz", + "integrity": "sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/app-builder-lib/node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/app-builder-lib/node_modules/isexe": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.5.tgz", + "integrity": "sha512-6B3tLtFqtQS4ekarvLVMZ+X+VlvQekbe4taUkf/rhVO3d/h0M2rfARm/pXLcPEsjjMsFgrFgSrhQIxcSVrBz8w==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/app-builder-lib/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "license": "MIT", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/app-builder-lib/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/app-builder-lib/node_modules/which": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "dev": true, + "license": "MIT" + }, + "node_modules/async-exit-hook": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/async-exit-hook/-/async-exit-hook-2.0.1.tgz", + "integrity": "sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/axios": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.16.0.tgz", + "integrity": "sha512-6hp5CwvTPlN2A31g5dxnwAX0orzM7pmCRDLnZSX772mv8WDqICwFjowHuPs04Mc8deIld1+ejhtaMn5vp6b+1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.16.0", + "form-data": "^4.0.5", + "proxy-from-env": "^2.1.0" + } + }, + "node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/boolean": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz", + "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/brace-expansion": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", + "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "optional": true, + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/builder-util": { + "version": "26.8.1", + "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-26.8.1.tgz", + "integrity": "sha512-pm1lTYbGyc90DHgCDO7eo8Rl4EqKLciayNbZqGziqnH9jrlKe8ZANGdityLZU+pJh16dfzjAx2xQq9McuIPEtw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/debug": "^4.1.6", + "7zip-bin": "~5.2.0", + "app-builder-bin": "5.0.0-alpha.12", + "builder-util-runtime": "9.5.1", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.6", + "debug": "^4.3.4", + "fs-extra": "^10.1.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.0", + "js-yaml": "^4.1.0", + "sanitize-filename": "^1.6.3", + "source-map-support": "^0.5.19", + "stat-mode": "^1.0.0", + "temp-file": "^3.4.0", + "tiny-async-pool": "1.3.0" + } + }, + "node_modules/builder-util-runtime": { + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-9.5.1.tgz", + "integrity": "sha512-qt41tMfgHTllhResqM5DcnHyDIWNgzHvuY2jDcYP9iaGpkWxTUzV6GQjDeLnlR1/DtdlcsWQbA7sByMpmJFTLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.4", + "sax": "^1.2.4" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/cacheable-lookup": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", + "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.6.0" + } + }, + "node_modules/cacheable-request": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz", + "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==", + "dev": true, + "license": "MIT", + "dependencies": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^6.0.1", + "responselike": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chownr": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/chromium-pickle-js": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz", + "integrity": "sha512-1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw==", + "dev": true, + "license": "MIT" + }, + "node_modules/ci-info": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.4.0.tgz", + "integrity": "sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/clone-response": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", + "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-response": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/compare-version": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/compare-version/-/compare-version-0.1.2.tgz", + "integrity": "sha512-pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/concurrently": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-9.2.1.tgz", + "integrity": "sha512-fsfrO0MxV64Znoy8/l1vVIjjHa29SZyyqPgQBwhiDcaW8wJc2W3XWVOGx4M3oJBnv/zdUZIIp1gDeS98GzP8Ng==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "4.1.2", + "rxjs": "7.8.2", + "shell-quote": "1.8.3", + "supports-color": "8.1.1", + "tree-kill": "1.2.2", + "yargs": "17.7.2" + }, + "bin": { + "conc": "dist/bin/concurrently.js", + "concurrently": "dist/bin/concurrently.js" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/open-cli-tools/concurrently?sponsor=1" + } + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/crc": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz", + "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "buffer": "^5.1.0" + } + }, + "node_modules/cross-dirname": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/cross-dirname/-/cross-dirname-0.1.0.tgz", + "integrity": "sha512-+R08/oI0nl3vfPcqftZRpytksBXDzOUveBq/NBVx0sUp1axwzPQrKinNx5yd5sxPu8j1wIy8AfnVQ+5eFdha6Q==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decompress-response/node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/dir-compare": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/dir-compare/-/dir-compare-4.2.0.tgz", + "integrity": "sha512-2xMCmOoMrdQIPHdsTawECdNPwlVFB9zGcz3kuhmBO6U3oU+UQjsue0i8ayLKpgBcm+hcXPMVSGUN9d+pvJ6+VQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimatch": "^3.0.5", + "p-limit": "^3.1.0 " + } + }, + "node_modules/dir-compare/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/dir-compare/node_modules/brace-expansion": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", + "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/dir-compare/node_modules/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/dmg-builder": { + "version": "26.8.1", + "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-26.8.1.tgz", + "integrity": "sha512-glMJgnTreo8CFINujtAhCgN96QAqApDMZ8Vl1r8f0QT8QprvC1UCltV4CcWj20YoIyLZx6IUskaJZ0NV8fokcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "app-builder-lib": "26.8.1", + "builder-util": "26.8.1", + "fs-extra": "^10.1.0", + "iconv-lite": "^0.6.2", + "js-yaml": "^4.1.0" + }, + "optionalDependencies": { + "dmg-license": "^1.0.11" + } + }, + "node_modules/dmg-license": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/dmg-license/-/dmg-license-1.0.11.tgz", + "integrity": "sha512-ZdzmqwKmECOWJpqefloC5OJy1+WZBBse5+MR88z9g9Zn4VY+WYUkAyojmhzJckH5YbbZGcYIuGAkY5/Ys5OM2Q==", + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "@types/plist": "^3.0.1", + "@types/verror": "^1.10.3", + "ajv": "^6.10.0", + "crc": "^3.8.0", + "iconv-corefoundation": "^1.1.7", + "plist": "^3.0.4", + "smart-buffer": "^4.0.2", + "verror": "^1.10.0" + }, + "bin": { + "dmg-license": "bin/dmg-license.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dotenv": { + "version": "16.6.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz", + "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dotenv-expand": { + "version": "11.0.7", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-11.0.7.tgz", + "integrity": "sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "dotenv": "^16.4.5" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/electron": { + "version": "42.0.0", + "resolved": "https://registry.npmjs.org/electron/-/electron-42.0.0.tgz", + "integrity": "sha512-in5jnW/Ywy3Rh3FPr4MR80exPEkywKYAmDJRZ/gIKlr8VXEi3zXgiAZbf0Si7KRccHTF2y8euVMRz7M6HqTjMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@electron/get": "^5.0.0", + "@types/node": "^24.9.0", + "extract-zip": "^2.0.1" + }, + "bin": { + "electron": "cli.js", + "install-electron": "install.js" + }, + "engines": { + "node": ">= 22.12.0" + } + }, + "node_modules/electron-builder": { + "version": "26.8.1", + "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-26.8.1.tgz", + "integrity": "sha512-uWhx1r74NGpCagG0ULs/P9Nqv2nsoo+7eo4fLUOB8L8MdWltq9odW/uuLXMFCDGnPafknYLZgjNX0ZIFRzOQAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "app-builder-lib": "26.8.1", + "builder-util": "26.8.1", + "builder-util-runtime": "9.5.1", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "dmg-builder": "26.8.1", + "fs-extra": "^10.1.0", + "lazy-val": "^1.0.5", + "simple-update-notifier": "2.0.0", + "yargs": "^17.6.2" + }, + "bin": { + "electron-builder": "cli.js", + "install-app-deps": "install-app-deps.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/electron-builder-squirrel-windows": { + "version": "26.8.1", + "resolved": "https://registry.npmjs.org/electron-builder-squirrel-windows/-/electron-builder-squirrel-windows-26.8.1.tgz", + "integrity": "sha512-o288fIdgPLHA76eDrFADHPoo7VyGkDCYbLV1GzndaMSAVBoZrGvM9m2IehdcVMzdAZJ2eV9bgyissQXHv5tGzA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "app-builder-lib": "26.8.1", + "builder-util": "26.8.1", + "electron-winstaller": "5.4.0" + } + }, + "node_modules/electron-publish": { + "version": "26.8.1", + "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-26.8.1.tgz", + "integrity": "sha512-q+jrSTIh/Cv4eGZa7oVR+grEJo/FoLMYBAnSL5GCtqwUpr1T+VgKB/dn1pnzxIxqD8S/jP1yilT9VrwCqINR4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/fs-extra": "^9.0.11", + "builder-util": "26.8.1", + "builder-util-runtime": "9.5.1", + "chalk": "^4.1.2", + "form-data": "^4.0.5", + "fs-extra": "^10.1.0", + "lazy-val": "^1.0.5", + "mime": "^2.5.2" + } + }, + "node_modules/electron-winstaller": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/electron-winstaller/-/electron-winstaller-5.4.0.tgz", + "integrity": "sha512-bO3y10YikuUwUuDUQRM4KfwNkKhnpVO7IPdbsrejwN9/AABJzzTQ4GeHwyzNSrVO+tEH3/Np255a3sVZpZDjvg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@electron/asar": "^3.2.1", + "debug": "^4.1.1", + "fs-extra": "^7.0.1", + "lodash": "^4.17.21", + "temp": "^0.9.0" + }, + "engines": { + "node": ">=8.0.0" + }, + "optionalDependencies": { + "@electron/windows-sign": "^1.1.2" + } + }, + "node_modules/electron-winstaller/node_modules/fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/electron-winstaller/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "license": "MIT", + "peer": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/electron-winstaller/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/electron/node_modules/@types/node": { + "version": "24.12.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.12.2.tgz", + "integrity": "sha512-A1sre26ke7HDIuY/M23nd9gfB+nrmhtYyMINbjI1zHJxYteKR6qSMX56FsmjMcDb3SMcjJg5BiRRgOCC/yBD0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~7.16.0" + } + }, + "node_modules/electron/node_modules/undici-types": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", + "dev": true, + "license": "MIT" + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/end-of-stream": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/env-paths": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-3.0.0.tgz", + "integrity": "sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "dev": true, + "license": "MIT" + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es6-error": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/esbuild": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.7.tgz", + "integrity": "sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.27.7", + "@esbuild/android-arm": "0.27.7", + "@esbuild/android-arm64": "0.27.7", + "@esbuild/android-x64": "0.27.7", + "@esbuild/darwin-arm64": "0.27.7", + "@esbuild/darwin-x64": "0.27.7", + "@esbuild/freebsd-arm64": "0.27.7", + "@esbuild/freebsd-x64": "0.27.7", + "@esbuild/linux-arm": "0.27.7", + "@esbuild/linux-arm64": "0.27.7", + "@esbuild/linux-ia32": "0.27.7", + "@esbuild/linux-loong64": "0.27.7", + "@esbuild/linux-mips64el": "0.27.7", + "@esbuild/linux-ppc64": "0.27.7", + "@esbuild/linux-riscv64": "0.27.7", + "@esbuild/linux-s390x": "0.27.7", + "@esbuild/linux-x64": "0.27.7", + "@esbuild/netbsd-arm64": "0.27.7", + "@esbuild/netbsd-x64": "0.27.7", + "@esbuild/openbsd-arm64": "0.27.7", + "@esbuild/openbsd-x64": "0.27.7", + "@esbuild/openharmony-arm64": "0.27.7", + "@esbuild/sunos-x64": "0.27.7", + "@esbuild/win32-arm64": "0.27.7", + "@esbuild/win32-ia32": "0.27.7", + "@esbuild/win32-x64": "0.27.7" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/exponential-backoff": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.3.tgz", + "integrity": "sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" + } + }, + "node_modules/extsprintf": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.1.tgz", + "integrity": "sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "license": "MIT", + "optional": true + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "pend": "~1.2.0" + } + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/filelist": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.6.tgz", + "integrity": "sha512-5giy2PkLYY1cP39p17Ech+2xlpTRL9HLspOfEgm0L6CwBXBTgsK5ou0JtzYuepxkaQ/tvhCFIJ5uXo0OrM2DxA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/filelist/node_modules/brace-expansion": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.0.tgz", + "integrity": "sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.9.tgz", + "integrity": "sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/follow-redirects": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.0.tgz", + "integrity": "sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", + "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", + "dev": true, + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-tsconfig": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.14.0.tgz", + "integrity": "sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", + "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/global-agent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz", + "integrity": "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==", + "dev": true, + "license": "BSD-3-Clause", + "optional": true, + "dependencies": { + "boolean": "^3.0.1", + "es6-error": "^4.1.1", + "matcher": "^3.0.0", + "roarr": "^2.15.3", + "semver": "^7.3.2", + "serialize-error": "^7.0.1" + }, + "engines": { + "node": ">=10.0" + } + }, + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/got": { + "version": "11.8.6", + "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", + "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sindresorhus/is": "^4.0.0", + "@szmarczak/http-timer": "^4.0.5", + "@types/cacheable-request": "^6.0.1", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^5.0.3", + "cacheable-request": "^7.0.2", + "decompress-response": "^6.0.0", + "http2-wrapper": "^1.0.0-beta.5.2", + "lowercase-keys": "^2.0.0", + "p-cancelable": "^2.0.0", + "responselike": "^2.0.0" + }, + "engines": { + "node": ">=10.19.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/got?sponsor=1" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.3.tgz", + "integrity": "sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/http2-wrapper": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", + "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.0.0" + }, + "engines": { + "node": ">=10.19.0" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/iconv-corefoundation": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/iconv-corefoundation/-/iconv-corefoundation-1.1.7.tgz", + "integrity": "sha512-T10qvkw0zz4wnm560lOEg0PovVqUXuOFhhHAkixw8/sycy7TJt7v/RrkEKEQnAw2viPSJu6iAkErxnzR0g8PpQ==", + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "cli-truncate": "^2.1.0", + "node-addon-api": "^1.6.3" + }, + "engines": { + "node": "^8.11.2 || >=10" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause", + "optional": true + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/isbinaryfile": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-5.0.7.tgz", + "integrity": "sha512-gnWD14Jh3FzS3CPhF0AxNOJ8CxqeblPTADzI38r0wt8ZyQl5edpy75myt08EG2oKvpyiqSqsx+Wkz9vtkbTqYQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 18.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/jake": { + "version": "10.9.4", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.4.tgz", + "integrity": "sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "async": "^3.2.6", + "filelist": "^1.0.4", + "picocolors": "^1.1.1" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jiti": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.7.0.tgz", + "integrity": "sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/joi": { + "version": "18.2.1", + "resolved": "https://registry.npmjs.org/joi/-/joi-18.2.1.tgz", + "integrity": "sha512-2/OKlogiESf2Nh3TFCrRjrr9z1DRHeW0I+KReF67+4J0Ns+8hBtHRmoWAZ2OFU6I5+TWLEe6sVlSdXPjHm5UbQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/address": "^5.1.1", + "@hapi/formula": "^3.0.2", + "@hapi/hoek": "^11.0.7", + "@hapi/pinpoint": "^2.0.1", + "@hapi/tlds": "^1.1.1", + "@hapi/topo": "^6.0.2", + "@standard-schema/spec": "^1.1.0" + }, + "engines": { + "node": ">= 20" + } + }, + "node_modules/js-yaml": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true, + "license": "ISC", + "optional": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", + "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/lazy-val": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.5.tgz", + "integrity": "sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/lightningcss": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", + "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", + "dev": true, + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.32.0", + "lightningcss-darwin-arm64": "1.32.0", + "lightningcss-darwin-x64": "1.32.0", + "lightningcss-freebsd-x64": "1.32.0", + "lightningcss-linux-arm-gnueabihf": "1.32.0", + "lightningcss-linux-arm64-gnu": "1.32.0", + "lightningcss-linux-arm64-musl": "1.32.0", + "lightningcss-linux-x64-gnu": "1.32.0", + "lightningcss-linux-x64-musl": "1.32.0", + "lightningcss-win32-arm64-msvc": "1.32.0", + "lightningcss-win32-x64-msvc": "1.32.0" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", + "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", + "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", + "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", + "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", + "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", + "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", + "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", + "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", + "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", + "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", + "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lodash": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", + "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/matcher": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz", + "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "escape-string-regexp": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/minimatch": { + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "brace-expansion": "^5.0.5" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", + "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minizlib": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.1.0.tgz", + "integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^7.1.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.12", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz", + "integrity": "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/node-abi": { + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-4.30.0.tgz", + "integrity": "sha512-D7v3slBz2jgsBLCY9FnFsD0nlXvuKd49Pl9L+Vj+7ZlivHsLK2mkekQo7vZwYco+kyb4OJlaWfYdr3+27vfYtA==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.6.3" + }, + "engines": { + "node": ">=22.12.0" + } + }, + "node_modules/node-addon-api": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz", + "integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/node-api-version": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/node-api-version/-/node-api-version-0.2.1.tgz", + "integrity": "sha512-2xP/IGGMmmSQpI1+O/k72jF/ykvZ89JeuKX3TLJAYPDVLUalrshrLHkeVcCCZqG/eEa635cr8IBYzgnDvM2O8Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.3.5" + } + }, + "node_modules/node-gyp": { + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-12.3.0.tgz", + "integrity": "sha512-QNcUWM+HgJplcPzBvFBZ9VXacyGZ4+VTOb80PwWR+TlVzoHbRKULNEzpRsnaoxG3Wzr7Qh7BYxGDU3CbKib2Yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "graceful-fs": "^4.2.6", + "nopt": "^9.0.0", + "proc-log": "^6.0.0", + "semver": "^7.3.5", + "tar": "^7.5.4", + "tinyglobby": "^0.2.12", + "undici": "^6.25.0", + "which": "^6.0.0" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/node-gyp/node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/node-gyp/node_modules/isexe": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-4.0.0.tgz", + "integrity": "sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=20" + } + }, + "node_modules/node-gyp/node_modules/undici": { + "version": "6.25.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.25.0.tgz", + "integrity": "sha512-ZgpWDC5gmNiuY9CnLVXEH8rl50xhRCuLNA97fAUnKi8RRuV4E6KG31pDTsLVUKnohJE0I3XDrTeEydAXRw47xg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.17" + } + }, + "node_modules/node-gyp/node_modules/which": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/which/-/which-6.0.1.tgz", + "integrity": "sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^4.0.0" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/node-pty": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/node-pty/-/node-pty-1.1.0.tgz", + "integrity": "sha512-20JqtutY6JPXTUnL0ij1uad7Qe1baT46lyolh2sSENDd4sTzKZ4nmAFkeAARDKwmlLjPx6XKRlwRUxwjOy+lUg==", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "node-addon-api": "^7.1.0" + } + }, + "node_modules/node-pty/node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "license": "MIT" + }, + "node_modules/nopt": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-9.0.0.tgz", + "integrity": "sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw==", + "dev": true, + "license": "ISC", + "dependencies": { + "abbrev": "^4.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/p-cancelable": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/pe-library": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/pe-library/-/pe-library-0.4.1.tgz", + "integrity": "sha512-eRWB5LBz7PpDu4PUlwT0PhnQfTQJlDDdPa35urV4Osrm0t0AqQFGn+UIkU3klZvwJ8KPO3VbBFsXquA6p6kqZw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12", + "npm": ">=6" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/jet2jet" + } + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true, + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/plist": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/plist/-/plist-3.1.0.tgz", + "integrity": "sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@xmldom/xmldom": "^0.8.8", + "base64-js": "^1.5.1", + "xmlbuilder": "^15.1.1" + }, + "engines": { + "node": ">=10.4.0" + } + }, + "node_modules/postcss": { + "version": "8.5.14", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.14.tgz", + "integrity": "sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postject": { + "version": "1.0.0-alpha.6", + "resolved": "https://registry.npmjs.org/postject/-/postject-1.0.0-alpha.6.tgz", + "integrity": "sha512-b9Eb8h2eVqNE8edvKdwqkrY6O7kAwmI8kcnBv1NScolYJbo59XUF0noFq+lxbC1yN20bmC0WBEbDC5H/7ASb0A==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "commander": "^9.4.0" + }, + "bin": { + "postject": "dist/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/postject/node_modules/commander": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": "^12.20.0 || >=14" + } + }, + "node_modules/proc-log": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-6.1.0.tgz", + "integrity": "sha512-iG+GYldRf2BQ0UDUAd6JQ/RwzaQy6mXmsk/IzlYyal4A4SNFw54MeH4/tLkF4I5WoWG9SQwuqWzS99jaFQHBuQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/proper-lockfile": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-4.1.2.tgz", + "integrity": "sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "retry": "^0.12.0", + "signal-exit": "^3.0.2" + } + }, + "node_modules/proxy-from-env": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-2.1.0.tgz", + "integrity": "sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/pump": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.4.tgz", + "integrity": "sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react": { + "version": "19.2.5", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.5.tgz", + "integrity": "sha512-llUJLzz1zTUBrskt2pwZgLq59AemifIftw4aB7JxOqf1HY2FDaGDxgwpAPVzHU1kdWabH7FauP4i1oEeer2WCA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.2.5", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.5.tgz", + "integrity": "sha512-J5bAZz+DXMMwW/wV3xzKke59Af6CHY7G4uYLN1OvBcKEsWOs4pQExj86BBKamxl/Ik5bx9whOrvBlSDfWzgSag==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.27.0" + }, + "peerDependencies": { + "react": "^19.2.5" + } + }, + "node_modules/read-binary-file-arch": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/read-binary-file-arch/-/read-binary-file-arch-1.0.6.tgz", + "integrity": "sha512-BNg9EN3DD3GsDXX7Aa8O4p92sryjkmzYYgmgTAc6CA4uGLEDzFfxOxugu21akOxpcXHiEgsYkC6nPsQvLLLmEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.4" + }, + "bin": { + "read-binary-file-arch": "cli.js" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resedit": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/resedit/-/resedit-1.7.2.tgz", + "integrity": "sha512-vHjcY2MlAITJhC0eRD/Vv8Vlgmu9Sd3LX9zZvtGzU5ZImdTN3+d6e/4mnTyV8vEbyf1sgNIrWxhWlrys52OkEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pe-library": "^0.4.1" + }, + "engines": { + "node": ">=12", + "npm": ">=6" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/jet2jet" + } + }, + "node_modules/resolve-alpn": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, + "node_modules/responselike": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", + "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", + "dev": true, + "license": "MIT", + "dependencies": { + "lowercase-keys": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "license": "ISC", + "peer": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/roarr": { + "version": "2.15.4", + "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz", + "integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==", + "dev": true, + "license": "BSD-3-Clause", + "optional": true, + "dependencies": { + "boolean": "^3.0.1", + "detect-node": "^2.0.4", + "globalthis": "^1.0.1", + "json-stringify-safe": "^5.0.1", + "semver-compare": "^1.0.0", + "sprintf-js": "^1.1.2" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/rolldown": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-rc.17.tgz", + "integrity": "sha512-ZrT53oAKrtA4+YtBWPQbtPOxIbVDbxT0orcYERKd63VJTF13zPcgXTvD4843L8pcsI7M6MErt8QtON6lrB9tyA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@oxc-project/types": "=0.127.0", + "@rolldown/pluginutils": "1.0.0-rc.17" + }, + "bin": { + "rolldown": "bin/cli.mjs" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "optionalDependencies": { + "@rolldown/binding-android-arm64": "1.0.0-rc.17", + "@rolldown/binding-darwin-arm64": "1.0.0-rc.17", + "@rolldown/binding-darwin-x64": "1.0.0-rc.17", + "@rolldown/binding-freebsd-x64": "1.0.0-rc.17", + "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-rc.17", + "@rolldown/binding-linux-arm64-gnu": "1.0.0-rc.17", + "@rolldown/binding-linux-arm64-musl": "1.0.0-rc.17", + "@rolldown/binding-linux-ppc64-gnu": "1.0.0-rc.17", + "@rolldown/binding-linux-s390x-gnu": "1.0.0-rc.17", + "@rolldown/binding-linux-x64-gnu": "1.0.0-rc.17", + "@rolldown/binding-linux-x64-musl": "1.0.0-rc.17", + "@rolldown/binding-openharmony-arm64": "1.0.0-rc.17", + "@rolldown/binding-wasm32-wasi": "1.0.0-rc.17", + "@rolldown/binding-win32-arm64-msvc": "1.0.0-rc.17", + "@rolldown/binding-win32-x64-msvc": "1.0.0-rc.17" + } + }, + "node_modules/rolldown/node_modules/@rolldown/pluginutils": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.17.tgz", + "integrity": "sha512-n8iosDOt6Ig1UhJ2AYqoIhHWh/isz0xpicHTzpKBeotdVsTEcxsSA/i3EVM7gQAj0rU27OLAxCjzlj15IWY7bg==", + "dev": true, + "license": "MIT" + }, + "node_modules/rxjs": { + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", + "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "license": "MIT" + }, + "node_modules/sanitize-filename": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.4.tgz", + "integrity": "sha512-9ZyI08PsvdQl2r/bBIGubpVdR3RR9sY6RDiWFPreA21C/EFlQhmgo20UZlNjZMMZNubusLhAQozkA0Od5J21Eg==", + "dev": true, + "license": "WTFPL OR ISC", + "dependencies": { + "truncate-utf8-bytes": "^1.0.0" + } + }, + "node_modules/sax": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.6.0.tgz", + "integrity": "sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=11.0.0" + } + }, + "node_modules/scheduler": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", + "license": "MIT" + }, + "node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/serialize-error": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz", + "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "type-fest": "^0.13.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", + "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/simple-update-notifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz", + "integrity": "sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", + "dev": true, + "license": "BSD-3-Clause", + "optional": true + }, + "node_modules/stat-mode": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-1.0.0.tgz", + "integrity": "sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/sumchecker": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", + "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "debug": "^4.1.0" + }, + "engines": { + "node": ">= 8.0" + } + }, + "node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/tar": { + "version": "7.5.14", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.14.tgz", + "integrity": "sha512-/7sHKgQO3JLP9ESlwTYUUftHUadOURUqq23xs1vjcnp8Vss6k0wCfzulyEtk5g91pjvnuriimGlyG7k6msrzRw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.1.0", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/tar/node_modules/yallist": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/temp": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.9.4.tgz", + "integrity": "sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "mkdirp": "^0.5.1", + "rimraf": "~2.6.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/temp-file": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/temp-file/-/temp-file-3.4.0.tgz", + "integrity": "sha512-C5tjlC/HCtVUOi3KWVokd4vHVViOmGjtLwIh4MuzPo/nMYTV/p1urt3RnMz2IWXDdKEGJH3k5+KPxtqRsUYGtg==", + "dev": true, + "license": "MIT", + "dependencies": { + "async-exit-hook": "^2.0.1", + "fs-extra": "^10.0.0" + } + }, + "node_modules/tiny-async-pool": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/tiny-async-pool/-/tiny-async-pool-1.3.0.tgz", + "integrity": "sha512-01EAw5EDrcVrdgyCLgoSPvqznC0sVxDSVeiOz09FUpjh71G79VCqneOr+xvt7T1r76CF6ZZfPjHorN2+d+3mqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^5.5.0" + } + }, + "node_modules/tiny-async-pool/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.16", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", + "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tmp": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz", + "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.14" + } + }, + "node_modules/tmp-promise": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.3.tgz", + "integrity": "sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "tmp": "^0.2.0" + } + }, + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true, + "license": "MIT", + "bin": { + "tree-kill": "cli.js" + } + }, + "node_modules/truncate-utf8-bytes": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", + "integrity": "sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==", + "dev": true, + "license": "WTFPL", + "dependencies": { + "utf8-byte-length": "^1.0.1" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD" + }, + "node_modules/tsx": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.21.0.tgz", + "integrity": "sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "~0.27.0", + "get-tsconfig": "^4.7.5" + }, + "bin": { + "tsx": "dist/cli.mjs" + }, + "engines": { + "node": ">=18.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + } + }, + "node_modules/type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "optional": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz", + "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-7.25.0.tgz", + "integrity": "sha512-xXnp4kTyor2Zq+J1FfPI6Eq3ew5h6Vl0F/8d9XU5zZQf1tX9s2Su1/3PiMmUANFULpmksxkClamIZcaUqryHsQ==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=20.18.1" + } + }, + "node_modules/undici-types": { + "version": "7.19.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.19.2.tgz", + "integrity": "sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg==", + "dev": true, + "license": "MIT" + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/utf8-byte-length": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.5.tgz", + "integrity": "sha512-Xn0w3MtiQ6zoz2vFyUVruaCL53O/DwUvkEeOvj+uulMm0BkUGYWmBYVyElqZaSLhY6ZD0ulfU3aBra2aVT4xfA==", + "dev": true, + "license": "(WTFPL OR MIT)" + }, + "node_modules/verror": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.1.tgz", + "integrity": "sha512-veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/vite": { + "version": "8.0.10", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.0.10.tgz", + "integrity": "sha512-rZuUu9j6J5uotLDs+cAA4O5H4K1SfPliUlQwqa6YEwSrWDZzP4rhm00oJR5snMewjxF5V/K3D4kctsUTsIU9Mw==", + "dev": true, + "license": "MIT", + "dependencies": { + "lightningcss": "^1.32.0", + "picomatch": "^4.0.4", + "postcss": "^8.5.10", + "rolldown": "1.0.0-rc.17", + "tinyglobby": "^0.2.16" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "@vitejs/devtools": "^0.1.0", + "esbuild": "^0.27.0 || ^0.28.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "@vitejs/devtools": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/wait-on": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-9.0.5.tgz", + "integrity": "sha512-qgnbHDfDTRIp73ANEJNRW/7kn8CrDUcvZz18xotJQku/P4saTGkbIzvnMZebPmVvVNUiRq1qWAPyqCH+W4H8KA==", + "dev": true, + "license": "MIT", + "dependencies": { + "axios": "^1.15.0", + "joi": "^18.1.2", + "lodash": "^4.18.1", + "minimist": "^1.2.8", + "rxjs": "^7.8.2" + }, + "bin": { + "wait-on": "bin/wait-on" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/xmlbuilder": { + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz", + "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.0" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/desktop/package.json b/desktop/package.json new file mode 100644 index 0000000..13e2188 --- /dev/null +++ b/desktop/package.json @@ -0,0 +1,71 @@ +{ + "name": "myclaude-pet", + "version": "1.0.0", + "description": "Desktop pet wrapper for Claude CLI", + "main": "dist-electron/main.js", + "scripts": { + "dev": "npx tsc -p tsconfig.electron.json && concurrently \"vite\" \"tsc -p tsconfig.electron.json --watch --preserveWatchOutput\" \"wait-on http://localhost:5173 && VITE_DEV_SERVER_URL=http://localhost:5173 npx electron dist-electron/main.js\"", + "build": "vite build && tsc -p tsconfig.electron.json && cp electron/preload.js dist-electron/", + "start": "npx electron dist-electron/main.js", + "rebuild": "electron-rebuild", + "pack": "npm run build && electron-builder --dir", + "dist": "npm run build && electron-builder" + }, + "build": { + "appId": "com.apaam.myclaude-pet", + "productName": "MyClaude", + "directories": { + "output": "release", + "buildResources": "build" + }, + "files": [ + "dist/**/*", + "dist-electron/**/*", + "build/**/*" + ], + "mac": { + "target": [ + { + "target": "dir", + "arch": ["arm64", "x64"] + }, + { + "target": "dmg", + "arch": ["arm64", "x64"] + } + ], + "category": "public.app-category.productivity", + "hardenedRuntime": true, + "gatekeeperAssess": false + } + }, + "keywords": [ + "claude", + "desktop", + "pet" + ], + "author": "", + "license": "ISC", + "type": "module", + "dependencies": { + "@xterm/addon-fit": "^0.11.0", + "@xterm/xterm": "^6.0.0", + "node-pty": "^1.1.0", + "react": "^19.2.5", + "react-dom": "^19.2.5" + }, + "devDependencies": { + "@electron/rebuild": "^4.0.4", + "@types/node": "^25.6.0", + "@types/react": "^19.2.14", + "@types/react-dom": "^19.2.3", + "@vitejs/plugin-react": "^6.0.1", + "concurrently": "^9.2.1", + "electron": "^42.0.0", + "electron-builder": "^26.8.1", + "tsx": "^4.21.0", + "typescript": "^6.0.3", + "vite": "^8.0.10", + "wait-on": "^9.0.5" + } +} diff --git a/desktop/public/icon.png b/desktop/public/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..0e3c283385e61cef0fcfcad2489af7f1f326520a GIT binary patch literal 178517 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�oiuf)m>K!B)}QdzptmRW0}&YC}q7?mDc3f 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 e$j { + const [mode, setMode] = useState('orb') + + const handleExpand = useCallback(() => { + setMode('terminal') + window.petAPI?.window.expand() + }, []) + + const handleCollapse = useCallback(() => { + setMode('orb') + window.petAPI?.window.collapse() + }, []) + + return mode === 'terminal' ? ( + + ) : ( + + ) +} + +export default App diff --git a/desktop/src/components/PetOrb.tsx b/desktop/src/components/PetOrb.tsx new file mode 100644 index 0000000..63dbc46 --- /dev/null +++ b/desktop/src/components/PetOrb.tsx @@ -0,0 +1,109 @@ +import React, { useCallback, useRef, useState } from 'react' + +interface PetOrbProps { + onExpand: () => void +} + +type OrbState = 'idle' | 'thinking' | 'typing' + +const PetOrb: React.FC = ({ onExpand }) => { + const [isDragging, setIsDragging] = useState(false) + const [orbState] = useState('idle') + const dragOffset = useRef({ x: 0, y: 0 }) + const hasDragged = useRef(false) + + const getAnimation = () => { + switch (orbState) { + case 'thinking': + return 'orbThink 0.8s ease-in-out infinite' + case 'typing': + return 'orbType 0.3s ease-in-out infinite' + default: + return 'orbBreathe 3s ease-in-out infinite' + } + } + + const handleMouseDown = useCallback((e: React.MouseEvent) => { + hasDragged.current = false + setIsDragging(true) + dragOffset.current = { + x: e.clientX, + y: e.clientY, + } + }, []) + + const handleMouseMove = useCallback( + (e: MouseEvent) => { + if (!isDragging) return + const dx = Math.abs(e.clientX - dragOffset.current.x) + const dy = Math.abs(e.clientY - dragOffset.current.y) + if (dx > 3 || dy > 3) { + hasDragged.current = true + } + + const screenX = e.screenX - dragOffset.current.x + const screenY = e.screenY - dragOffset.current.y + window.petAPI?.window.setPosition(screenX, screenY) + }, + [isDragging] + ) + + const handleMouseUp = useCallback(() => { + setIsDragging(false) + window.removeEventListener('mousemove', handleMouseMove) + window.removeEventListener('mouseup', handleMouseUp) + + if (!hasDragged.current) { + onExpand() + } + }, [handleMouseMove, onExpand]) + + const handleMouseDownWrapper = useCallback( + (e: React.MouseEvent) => { + handleMouseDown(e) + window.addEventListener('mousemove', handleMouseMove) + window.addEventListener('mouseup', handleMouseUp) + }, + [handleMouseDown, handleMouseMove, handleMouseUp] + ) + + return ( +
+
+ MyClaude +
+
+ ) +} + +export default PetOrb diff --git a/desktop/src/components/Terminal.tsx b/desktop/src/components/Terminal.tsx new file mode 100644 index 0000000..a154269 --- /dev/null +++ b/desktop/src/components/Terminal.tsx @@ -0,0 +1,110 @@ +import React, { useEffect, useRef } from 'react' +import { Terminal as XTerm } from '@xterm/xterm' +import { FitAddon } from '@xterm/addon-fit' +import '@xterm/xterm/css/xterm.css' + +const Terminal: React.FC = () => { + const containerRef = useRef(null) + const xtermRef = useRef(null) + const fitAddonRef = useRef(null) + + useEffect(() => { + if (!containerRef.current) return + + const term = new XTerm({ + fontSize: 14, + fontFamily: '"SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace', + theme: { + background: '#0c0c0c', + foreground: '#4ade80', + cursor: '#4ade80', + selectionBackground: '#14532d', + black: '#0c0c0c', + red: '#f87171', + green: '#4ade80', + yellow: '#facc15', + blue: '#60a5fa', + magenta: '#c084fc', + cyan: '#22d3ee', + white: '#e5e5e5', + brightBlack: '#525252', + brightRed: '#f87171', + brightGreen: '#86efac', + brightYellow: '#fde047', + brightBlue: '#93c5fd', + brightMagenta: '#d8b4fe', + brightCyan: '#67e8f9', + brightWhite: '#ffffff', + }, + cursorBlink: true, + scrollback: 10000, + allowProposedApi: true, + }) + + const fitAddon = new FitAddon() + term.loadAddon(fitAddon) + + term.open(containerRef.current) + fitAddon.fit() + + xtermRef.current = term + fitAddonRef.current = fitAddon + + const api = window.petAPI + if (api) { + api.pty.onData((data: string) => { + term.write(data) + }) + + api.pty.onExit((code: number) => { + term.writeln(`\r\n\x1b[31mProcess exited with code ${code}\x1b[0m`) + }) + + term.onData((data: string) => { + api.pty.write(data) + }) + + const dims = fitAddon.proposeDimensions() + if (dims) { + api.pty.resize(dims.cols, dims.rows) + } + } + + const handleResize = () => { + fitAddon.fit() + const dims = fitAddon.proposeDimensions() + if (dims && api) { + api.pty.resize(dims.cols, dims.rows) + } + } + + window.addEventListener('resize', handleResize) + + const resizeObserver = new ResizeObserver(() => { + handleResize() + }) + resizeObserver.observe(containerRef.current) + + return () => { + window.removeEventListener('resize', handleResize) + resizeObserver.disconnect() + term.dispose() + } + }, []) + + return ( +
+
+
+
+ ) +} + +export default Terminal diff --git a/desktop/src/components/TerminalPanel.tsx b/desktop/src/components/TerminalPanel.tsx new file mode 100644 index 0000000..8ce2e90 --- /dev/null +++ b/desktop/src/components/TerminalPanel.tsx @@ -0,0 +1,96 @@ +import React from 'react' +import Terminal from './Terminal' + +interface TerminalPanelProps { + onCollapse: () => void +} + +const TerminalPanel: React.FC = ({ onCollapse }) => { + const handleMinimize = () => { + window.petAPI?.window.minimize() + } + + const handleClose = () => { + onCollapse() + } + + return ( +
+ +
+ +
+
+ ) +} + +interface TitleBarProps { + onMinimize: () => void + onClose: () => void +} + +const TitleBar: React.FC = ({ onMinimize, onClose }) => { + return ( +
+ + myclaude + +
+
+
+ ) +} + +export default TerminalPanel diff --git a/desktop/src/index.css b/desktop/src/index.css new file mode 100644 index 0000000..454d7e2 --- /dev/null +++ b/desktop/src/index.css @@ -0,0 +1,127 @@ +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +body { + background: transparent; + overflow: hidden; + font-family: 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, 'Courier New', monospace; +} + +#root { + width: 100vw; + height: 100vh; +} + +/* CRT Terminal Effects */ +.crt-container { + position: relative; +} + +.crt-container::before { + content: ''; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: repeating-linear-gradient( + 0deg, + rgba(0, 0, 0, 0.08), + rgba(0, 0, 0, 0.08) 1px, + transparent 1px, + transparent 2px + ); + pointer-events: none; + z-index: 10; +} + +.crt-container::after { + content: ''; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: radial-gradient( + ellipse at center, + transparent 50%, + rgba(0, 0, 0, 0.3) 100% + ); + pointer-events: none; + z-index: 11; +} + +/* Terminal text glow */ +.xterm-viewport { + background-color: transparent !important; +} + +.xterm-screen { + text-shadow: 0 0 2px rgba(74, 222, 128, 0.3), 0 0 4px rgba(74, 222, 128, 0.1) !important; +} + +/* Flicker animation */ +@keyframes flicker { + 0% { opacity: 0.98; } + 5% { opacity: 0.95; } + 10% { opacity: 0.98; } + 15% { opacity: 0.96; } + 20% { opacity: 0.99; } + 50% { opacity: 0.98; } + 52% { opacity: 0.93; } + 54% { opacity: 0.98; } + 100% { opacity: 0.98; } +} + +.crt-flicker { + animation: flicker 4s infinite; +} + +/* Scanline sweep */ +@keyframes scanline { + 0% { transform: translateY(-100%); } + 100% { transform: translateY(100vh); } +} + +.crt-scanline { + position: absolute; + top: 0; + left: 0; + right: 0; + height: 4px; + background: linear-gradient( + to bottom, + transparent, + rgba(74, 222, 128, 0.08), + transparent + ); + animation: scanline 8s linear infinite; + pointer-events: none; + z-index: 12; +} + +/* Pet Orb Animations */ +@keyframes orbBreathe { + 0%, 100% { transform: scale(1); } + 50% { transform: scale(1.06); } +} + +@keyframes orbThink { + 0%, 100% { transform: scale(1) rotate(0deg); } + 25% { transform: scale(1.1) rotate(-5deg); } + 75% { transform: scale(1.1) rotate(5deg); } +} + +@keyframes orbType { + 0%, 100% { transform: translateY(0); } + 25% { transform: translateY(-2px); } + 75% { transform: translateY(1px); } +} + +@keyframes orbGlow { + 0%, 100% { box-shadow: 0 4px 16px rgba(22, 163, 74, 0.4), inset 0 2px 4px rgba(255,255,255,0.2); } + 50% { box-shadow: 0 4px 24px rgba(74, 222, 128, 0.6), inset 0 2px 4px rgba(255,255,255,0.3); } +} diff --git a/desktop/src/main.tsx b/desktop/src/main.tsx new file mode 100644 index 0000000..4a1b150 --- /dev/null +++ b/desktop/src/main.tsx @@ -0,0 +1,10 @@ +import React from 'react' +import ReactDOM from 'react-dom/client' +import App from './App' +import './index.css' + +ReactDOM.createRoot(document.getElementById('root')!).render( + + + +) diff --git a/desktop/src/types/global.d.ts b/desktop/src/types/global.d.ts new file mode 100644 index 0000000..c4ef1de --- /dev/null +++ b/desktop/src/types/global.d.ts @@ -0,0 +1,22 @@ +export {} + +declare global { + interface Window { + petAPI: { + pty: { + write: (data: string) => void + resize: (cols: number, rows: number) => void + onData: (callback: (data: string) => void) => void + onExit: (callback: (code: number) => void) => void + } + window: { + expand: () => void + collapse: () => void + setPosition: (x: number, y: number) => void + setIgnoreMouseEvents: (ignore: boolean) => void + close: () => void + minimize: () => void + } + } + } +} diff --git a/desktop/tsconfig.electron.json b/desktop/tsconfig.electron.json new file mode 100644 index 0000000..f393c6c --- /dev/null +++ b/desktop/tsconfig.electron.json @@ -0,0 +1,20 @@ +{ + "compilerOptions": { + "target": "ES2020", + "module": "CommonJS", + "moduleResolution": "node", + "ignoreDeprecations": "6.0", + "lib": ["ES2020"], + "outDir": "dist-electron", + "rootDir": "electron", + "strict": true, + "esModuleInterop": true, + "skipLibCheck": true, + "forceConsistentCasingInFileNames": true, + "resolveJsonModule": true, + "declaration": false, + "sourceMap": true + }, + "include": ["electron/**/*"], + "exclude": ["node_modules"] +} diff --git a/desktop/tsconfig.json b/desktop/tsconfig.json new file mode 100644 index 0000000..13fd320 --- /dev/null +++ b/desktop/tsconfig.json @@ -0,0 +1,19 @@ +{ + "compilerOptions": { + "target": "ES2020", + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "module": "ESNext", + "skipLibCheck": true, + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx", + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["src"] +} diff --git a/desktop/tsconfig.node.json b/desktop/tsconfig.node.json new file mode 100644 index 0000000..97ede7e --- /dev/null +++ b/desktop/tsconfig.node.json @@ -0,0 +1,11 @@ +{ + "compilerOptions": { + "composite": true, + "skipLibCheck": true, + "module": "ESNext", + "moduleResolution": "bundler", + "allowSyntheticDefaultImports": true, + "strict": true + }, + "include": ["vite.config.ts"] +} diff --git a/desktop/vite.config.ts b/desktop/vite.config.ts new file mode 100644 index 0000000..014607b --- /dev/null +++ b/desktop/vite.config.ts @@ -0,0 +1,11 @@ +import { defineConfig } from 'vite' +import react from '@vitejs/plugin-react' + +export default defineConfig({ + plugins: [react()], + base: './', + build: { + outDir: 'dist', + emptyOutDir: true, + }, +})