diff --git a/.vscode/tabs.example-servers_puppeteer.json b/.vscode/tabs.example-servers_puppeteer.json index 48644ce..da1701d 100644 --- a/.vscode/tabs.example-servers_puppeteer.json +++ b/.vscode/tabs.example-servers_puppeteer.json @@ -1,4 +1,5 @@ { + "clientId": "1fa64d92-4d92-564d924e141-864d924e1413324-133245eb", "currentIndex": 1, "tabs": [ { @@ -159,36 +160,150 @@ { "name": "puppeteer_navigate", "description": "Navigate to a URL", + "inputSchema": { + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "URL to navigate to" + }, + "launchOptions": { + "type": "object", + "description": "PuppeteerJS LaunchOptions. Default null. If changed and not null, browser restarts. Example: { headless: true, args: ['--no-sandbox'] }" + }, + "allowDangerous": { + "type": "boolean", + "description": "Allow dangerous LaunchOptions that reduce security. When false, dangerous args like --no-sandbox will throw errors. Default false." + } + }, + "required": [ + "url" + ] + }, "enabled": true }, { "name": "puppeteer_screenshot", "description": "Take a screenshot of the current page or a specific element", + "inputSchema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name for the screenshot" + }, + "selector": { + "type": "string", + "description": "CSS selector for element to screenshot" + }, + "width": { + "type": "number", + "description": "Width in pixels (default: 800)" + }, + "height": { + "type": "number", + "description": "Height in pixels (default: 600)" + } + }, + "required": [ + "name" + ] + }, "enabled": true }, { "name": "puppeteer_click", "description": "Click an element on the page", + "inputSchema": { + "type": "object", + "properties": { + "selector": { + "type": "string", + "description": "CSS selector for element to click" + } + }, + "required": [ + "selector" + ] + }, "enabled": true }, { "name": "puppeteer_fill", "description": "Fill out an input field", + "inputSchema": { + "type": "object", + "properties": { + "selector": { + "type": "string", + "description": "CSS selector for input field" + }, + "value": { + "type": "string", + "description": "Value to fill" + } + }, + "required": [ + "selector", + "value" + ] + }, "enabled": true }, { "name": "puppeteer_select", "description": "Select an element on the page with Select tag", + "inputSchema": { + "type": "object", + "properties": { + "selector": { + "type": "string", + "description": "CSS selector for element to select" + }, + "value": { + "type": "string", + "description": "Value to select" + } + }, + "required": [ + "selector", + "value" + ] + }, "enabled": true }, { "name": "puppeteer_hover", "description": "Hover an element on the page", + "inputSchema": { + "type": "object", + "properties": { + "selector": { + "type": "string", + "description": "CSS selector for element to hover" + } + }, + "required": [ + "selector" + ] + }, "enabled": true }, { "name": "puppeteer_evaluate", "description": "Execute JavaScript in the browser console", + "inputSchema": { + "type": "object", + "properties": { + "script": { + "type": "string", + "description": "JavaScript code to execute" + } + }, + "required": [ + "script" + ] + }, "enabled": true } ], @@ -334,29 +449,57 @@ }, { "role": "user", - "content": "请将下面的更新日志翻译成 GitHub release 风格的英文说明,请只返回翻译后的结果,不要出现任何多余的前缀: ", + "content": "error during build:\n[vite-plugin-static-copy:build] No file was found to copy on C:\\Users\\K\\project\\openmcp-client\\resources\\openmcp-sdk-release\\* src.\n\n但是实际上,这个文件夹下有东西的,mac 上可以运行,我的 配置如下:\nimport { defineConfig } from 'vite';\nimport { resolve } from 'path';\nimport { viteStaticCopy } from 'vite-plugin-static-copy';\n// import { visualizer } from 'rollup-plugin-visualizer';\n\nexport default defineConfig({\n define: {\n 'window': {\n 'nodejs': true,\n 'navigator': {\n 'userAgent': 2\n },\n 'performance': {\n 'now': () => performance.now()\n },\n 'Date': {\n 'now': () => Date.now()\n }\n },\n },\n plugins: [\n viteStaticCopy({\n targets: [\n {\n src: resolve(__dirname, '../resources/openmcp-sdk-release/*'),\n dest: resolve(__dirname, '../openmcp-sdk')\n }\n ]\n }),\n // visualizer({\n // open: true,\n // filename: 'stats.html'\n // })\n ],\n build: {\n target: 'node18',\n lib: {\n entry: resolve(__dirname, '..', 'renderer/src/components/main-panel/chat/core/task-loop.ts'),\n name: 'TaskLoop',\n fileName: 'task-loop',\n formats: ['cjs']\n },\n outDir: resolve(__dirname, '..', 'openmcp-sdk'),\n emptyOutDir: false,\n rollupOptions: {\n external: [\n 'vue',\n 'element-plus',\n ],\n output: {\n globals: {\n vue: 'Vue',\n 'element-plus': './tools.js'\n }\n }\n },\n minify: false,\n sourcemap: false, // 禁用sourcemap生成\n cssCodeSplit: false // 禁用CSS文件生成\n },\n resolve: {\n alias: {\n '@': resolve(__dirname, '..', 'renderer/src'),\n }\n }\n});", "extraInfo": { - "created": 1747598248965, + "created": 1749048385652, "state": "success", "serverName": "deepseek" } }, { "role": "assistant", - "content": "Here’s the translation in GitHub release style:\n\n---\n\n### **New Features**\n- Added support for real-time data synchronization.\n- Introduced a new dashboard for analytics.\n\n### **Improvements**\n- Optimized query performance for large datasets.\n- Enhanced error handling for API requests.\n\n### **Bug Fixes**\n- Fixed an issue where the system crashed on invalid input.\n- Resolved a memory leak in the background service.\n\n### **Breaking Changes**\n- Removed deprecated endpoints (`/v1/old`).\n- Updated the authentication mechanism to use OAuth 2.0.\n\n### **Documentation**\n- Added detailed guides for API integration.\n- Improved inline code comments.", + "content": "这个错误是因为 `vite-plugin-static-copy` 在处理 Windows 路径时可能存在问题。以下是解决方案:\n\n### 问题分析\n1. 错误表明插件找不到要复制的文件,但文件确实存在\n2. 在 Mac 上可以运行,但在 Windows 上失败\n3. 问题可能出在路径解析或通配符处理上\n\n### 解决方案\n\n#### 方案 1:修改路径配置(推荐)\n```javascript\nviteStaticCopy({\n targets: [\n {\n src: '../resources/openmcp-sdk-release/**/*', // 使用 **/* 匹配所有文件\n dest: '../openmcp-sdk',\n rename: (name, extension, fullPath) => {\n // 移除路径前缀\n const relativePath = path.relative(\n path.resolve(__dirname, '../resources/openmcp-sdk-release'),\n fullPath\n );\n return relativePath;\n }\n }\n ]\n})\n```\n\n#### 方案 2:明确指定文件列表\n```javascript\nimport fs from 'fs';\nimport path from 'path';\n\n// 获取所有文件\nconst getFiles = (dir) => {\n const files = [];\n const walkSync = (currentDir) => {\n fs.readdirSync(currentDir).forEach(file => {\n const fullPath = path.join(currentDir, file);\n if (fs.statSync(fullPath).isDirectory()) {\n walkSync(fullPath);\n } else {\n files.push(fullPath);\n }\n });\n };\n walkSync(path.resolve(__dirname, '../resources/openmcp-sdk-release'));\n return files;\n};\n\nconst filesToCopy = getFiles(path.resolve(__dirname, '../resources/openmcp-sdk-release'));\n\nexport default defineConfig({\n plugins: [\n viteStaticCopy({\n targets: filesToCopy.map(file => ({\n src: file,\n dest: path.relative(\n path.resolve(__dirname, '../resources/openmcp-sdk-release'),\n path.dirname(file)\n ),\n rename: path.basename(file)\n }))\n })\n ]\n})\n```\n\n#### 方案 3:使用绝对路径并转义\n```javascript\nviteStaticCopy({\n targets: [\n {\n src: path.resolve(__dirname, '../resources/openmcp-sdk-release').replace(/\\\\/g, '/') + '/*',\n dest: path.resolve(__dirname, '../openmcp-sdk').replace(/\\\\/g, '/')\n }\n ]\n})\n```\n\n### 其他注意事项\n\n1. **路径分隔符问题**:\n - Windows 使用 `\\` 而 Mac/Linux 使用 `/`\n - 可以统一使用 `path.posix` 方法:\n ```javascript\n const srcPath = path.posix.join('..', 'resources', 'openmcp-sdk-release', '*');\n ```\n\n2. **文件权限问题**:\n - 确保 Windows 用户有读取源目录的权限\n\n3. **调试建议**:\n - 在插件前添加日志:\n ```javascript\n console.log('Source path exists:', fs.existsSync(path.resolve(__dirname, '../resources/openmcp-sdk-release')));\n console.log('Source files:', fs.readdirSync(path.resolve(__dirname, '../resources/openmcp-sdk-release')));\n ```\n\n4. **备选方案**:\n 如果仍然有问题,可以考虑使用 `vite-plugin-copy` 替代:\n ```javascript\n import copy from 'vite-plugin-copy';\n \n copy({\n targets: [\n { \n src: 'resources/openmcp-sdk-release/*',\n dest: 'openmcp-sdk'\n }\n ]\n })\n ```\n\n### 最终建议配置\n\n```javascript\nviteStaticCopy({\n targets: [\n {\n src: path.posix.join('..', 'resources', 'openmcp-sdk-release', '**', '*'),\n dest: path.posix.join('..', 'openmcp-sdk')\n }\n ]\n})\n```\n\n选择最适合你项目的一种方案,通常方案1或方案3就能解决Windows路径问题。如果仍有问题,可以尝试在Windows上使用WSL环境进行构建。", "extraInfo": { - "created": 1747598260799, + "created": 1749048431015, "state": "success", "serverName": "deepseek", "usage": { - "prompt_tokens": 7946, - "completion_tokens": 136, - "total_tokens": 8082, + "prompt_tokens": 7440, + "completion_tokens": 887, + "total_tokens": 8327, "prompt_tokens_details": { - "cached_tokens": 896 + "cached_tokens": 0 }, - "prompt_cache_hit_tokens": 896, - "prompt_cache_miss_tokens": 7050 + "prompt_cache_hit_tokens": 0, + "prompt_cache_miss_tokens": 7440 + } + } + }, + { + "role": "user", + "content": "error during build:\r\n[vite-plugin-static-copy:build] No file was found to copy on C:\\Users\\K\\project\\openmcp-client\\resources\\openmcp-sdk-release\\package.json src.,但是实际上这个路径是存在的", + "extraInfo": { + "created": 1749048724100, + "state": "success", + "serverName": "deepseek" + } + }, + { + "role": "assistant", + "content": "这个错误表明 `vite-plugin-static-copy` 在尝试复制 `package.json` 文件时找不到文件,尽管文件确实存在。这通常是由于 Windows 路径处理或插件配置问题导致的。以下是详细的解决方案:\n\n---\n\n### **解决方案**\n\n#### **1. 使用明确的文件路径(推荐)**\n修改 `vite.config.ts`,明确指定要复制的文件路径:\n\n```javascript\nimport { defineConfig } from 'vite';\nimport { resolve } from 'path';\nimport { viteStaticCopy } from 'vite-plugin-static-copy';\n\nexport default defineConfig({\n plugins: [\n viteStaticCopy({\n targets: [\n {\n // 明确指定要复制的文件\n src: resolve(__dirname, '../resources/openmcp-sdk-release/package.json'),\n dest: resolve(__dirname, '../openmcp-sdk'),\n }\n ]\n })\n ]\n});\n```\n\n#### **2. 检查路径是否正确**\n在配置文件中添加调试代码,验证路径是否存在:\n\n```javascript\nconst srcPath = resolve(__dirname, '../resources/openmcp-sdk-release/package.json');\nconsole.log('File exists:', require('fs').existsSync(srcPath)); // 检查文件是否存在\nconsole.log('Full path:', srcPath); // 打印完整路径\n```\n\n如果输出 `false`,说明路径解析有问题。\n\n#### **3. 使用 `path.posix` 统一路径格式**\nWindows 使用反斜杠 `\\`,而插件可能预期正斜杠 `/`。强制使用 POSIX 格式:\n\n```javascript\nimport { posix } from 'path';\n\nviteStaticCopy({\n targets: [\n {\n src: posix.join('..', 'resources', 'openmcp-sdk-release', 'package.json'),\n dest: posix.join('..', 'openmcp-sdk'),\n }\n ]\n})\n```\n\n#### **4. 禁用 `flatten` 选项**\n如果目标路径结构需要保留,添加 `flatten: false`:\n\n```javascript\nviteStaticCopy({\n targets: [\n {\n src: resolve(__dirname, '../resources/openmcp-sdk-release/package.json'),\n dest: resolve(__dirname, '../openmcp-sdk'),\n flatten: false, // 保留原始目录结构\n }\n ]\n})\n```\n\n#### **5. 使用通配符的正确方式**\n如果需要复制多个文件,确保通配符语法正确:\n\n```javascript\nviteStaticCopy({\n targets: [\n {\n src: resolve(__dirname, '../resources/openmcp-sdk-release') + '/*', // 显式拼接通配符\n dest: resolve(__dirname, '../openmcp-sdk'),\n }\n ]\n})\n```\n\n#### **6. 替换为 `vite-plugin-copy`**\n如果问题依旧,尝试使用更简单的 [`vite-plugin-copy`](https://github.com/fengxinming/vite-plugins/tree/main/packages/vite-plugin-copy):\n\n```bash\nnpm install vite-plugin-copy --save-dev\n```\n\n配置示例:\n```javascript\nimport copy from 'vite-plugin-copy';\n\ncopy({\n targets: [\n {\n src: 'resources/openmcp-sdk-release/package.json',\n dest: 'openmcp-sdk',\n }\n ]\n})\n```\n\n---\n\n### **验证步骤**\n1. **检查文件权限**:\n - 确保当前用户对 `resources/openmcp-sdk-release/package.json` 有读取权限。\n\n2. **打印调试信息**:\n ```javascript\n console.log('Resolved src path:', resolve(__dirname, '../resources/openmcp-sdk-release/package.json'));\n console.log('Resolved dest path:', resolve(__dirname, '../openmcp-sdk'));\n ```\n\n3. **手动测试复制**:\n 在 Node 中运行以下代码,验证是否能复制文件:\n ```javascript\n const fs = require('fs');\n const src = resolve(__dirname, '../resources/openmcp-sdk-release/package.json');\n const dest = resolve(__dirname, '../openmcp-sdk/package.json');\n fs.copyFileSync(src, dest);\n ```\n\n---\n\n### **常见问题原因**\n1. **路径大小写敏感**:\n - Windows 路径不区分大小写,但插件内部可能严格匹配。检查路径中的大小写是否完全一致。\n\n2. **符号链接或虚拟路径**:\n - 如果路径包含符号链接(如 `node_modules` 中的依赖),插件可能无法解析。\n\n3. **防病毒软件拦截**:\n - 某些安全软件会阻止构建工具访问特定目录,尝试临时禁用防护软件。\n\n---\n\n### **最终建议**\n优先使用 **方案1(明确文件路径)** 或 **方案6(替换插件)**。如果问题仍未解决,请提供以下信息:\n1. 完整的 `vite.config.ts`。\n2. 运行 `dir C:\\Users\\K\\project\\openmcp-client\\resources\\openmcp-sdk-release` 的输出。\n3. 构建时的完整错误日志。", + "extraInfo": { + "created": 1749048777709, + "state": "success", + "serverName": "deepseek", + "usage": { + "prompt_tokens": 8385, + "completion_tokens": 1071, + "total_tokens": 9456, + "prompt_tokens_details": { + "cached_tokens": 8064 + }, + "prompt_cache_hit_tokens": 8064, + "prompt_cache_miss_tokens": 321 } } } @@ -367,37 +510,151 @@ { "name": "puppeteer_navigate", "description": "Navigate to a URL", - "enabled": true + "inputSchema": { + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "URL to navigate to" + }, + "launchOptions": { + "type": "object", + "description": "PuppeteerJS LaunchOptions. Default null. If changed and not null, browser restarts. Example: { headless: true, args: ['--no-sandbox'] }" + }, + "allowDangerous": { + "type": "boolean", + "description": "Allow dangerous LaunchOptions that reduce security. When false, dangerous args like --no-sandbox will throw errors. Default false." + } + }, + "required": [ + "url" + ] + }, + "enabled": false }, { "name": "puppeteer_screenshot", "description": "Take a screenshot of the current page or a specific element", - "enabled": true + "inputSchema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name for the screenshot" + }, + "selector": { + "type": "string", + "description": "CSS selector for element to screenshot" + }, + "width": { + "type": "number", + "description": "Width in pixels (default: 800)" + }, + "height": { + "type": "number", + "description": "Height in pixels (default: 600)" + } + }, + "required": [ + "name" + ] + }, + "enabled": false }, { "name": "puppeteer_click", "description": "Click an element on the page", - "enabled": true + "inputSchema": { + "type": "object", + "properties": { + "selector": { + "type": "string", + "description": "CSS selector for element to click" + } + }, + "required": [ + "selector" + ] + }, + "enabled": false }, { "name": "puppeteer_fill", "description": "Fill out an input field", - "enabled": true + "inputSchema": { + "type": "object", + "properties": { + "selector": { + "type": "string", + "description": "CSS selector for input field" + }, + "value": { + "type": "string", + "description": "Value to fill" + } + }, + "required": [ + "selector", + "value" + ] + }, + "enabled": false }, { "name": "puppeteer_select", "description": "Select an element on the page with Select tag", - "enabled": true + "inputSchema": { + "type": "object", + "properties": { + "selector": { + "type": "string", + "description": "CSS selector for element to select" + }, + "value": { + "type": "string", + "description": "Value to select" + } + }, + "required": [ + "selector", + "value" + ] + }, + "enabled": false }, { "name": "puppeteer_hover", "description": "Hover an element on the page", - "enabled": true + "inputSchema": { + "type": "object", + "properties": { + "selector": { + "type": "string", + "description": "CSS selector for element to hover" + } + }, + "required": [ + "selector" + ] + }, + "enabled": false }, { "name": "puppeteer_evaluate", "description": "Execute JavaScript in the browser console", - "enabled": true + "inputSchema": { + "type": "object", + "properties": { + "script": { + "type": "string", + "description": "JavaScript code to execute" + } + }, + "required": [ + "script" + ] + }, + "enabled": false } ], "enableWebSearch": false, diff --git a/package-lock.json b/package-lock.json index c29f108..798cab2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,7 +24,9 @@ "ws": "^8.18.1" }, "devDependencies": { + "@esbuild/win32-x64": "^0.25.5", "@rollup/plugin-inject": "^5.0.5", + "@rollup/rollup-win32-x64-msvc": "^4.41.1", "@types/node": "^22.15.29", "@types/pako": "^2.0.3", "@types/showdown": "^2.0.0", @@ -571,6 +573,70 @@ "vue": "^3.2.0" } }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.4", + "resolved": "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.4.tgz", + "integrity": "sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.4", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.25.4.tgz", + "integrity": "sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.4", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.25.4.tgz", + "integrity": "sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.4", + "resolved": "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.25.4.tgz", + "integrity": "sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, "node_modules/@esbuild/darwin-arm64": { "version": "0.25.4", "cpu": [ @@ -586,6 +652,325 @@ "node": ">=18" } }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.4", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.25.4.tgz", + "integrity": "sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.4", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.4.tgz", + "integrity": "sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.4", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.25.4.tgz", + "integrity": "sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.4", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.25.4.tgz", + "integrity": "sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.4", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.25.4.tgz", + "integrity": "sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.4", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.25.4.tgz", + "integrity": "sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.4", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.25.4.tgz", + "integrity": "sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.4", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.25.4.tgz", + "integrity": "sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.4", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.25.4.tgz", + "integrity": "sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.4", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.25.4.tgz", + "integrity": "sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.4", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.25.4.tgz", + "integrity": "sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.4", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.25.4.tgz", + "integrity": "sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.4", + "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.4.tgz", + "integrity": "sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.4", + "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.25.4.tgz", + "integrity": "sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.4", + "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.4.tgz", + "integrity": "sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.4", + "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.25.4.tgz", + "integrity": "sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.4", + "resolved": "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.25.4.tgz", + "integrity": "sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.4", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.25.4.tgz", + "integrity": "sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.4", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.25.4.tgz", + "integrity": "sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.5", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.25.5.tgz", + "integrity": "sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==", + "cpu": [ + "x64" + ], + "dev": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, "node_modules/@floating-ui/core": { "version": "1.7.0", "license": "MIT", @@ -779,6 +1164,22 @@ "esbuild": "^0.14.14" } }, + "node_modules/@originjs/vite-plugin-commonjs/node_modules/@esbuild/linux-loong64": { + "version": "0.14.54", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.14.54.tgz", + "integrity": "sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, "node_modules/@originjs/vite-plugin-commonjs/node_modules/esbuild": { "version": "0.14.54", "dev": true, @@ -872,6 +1273,32 @@ } } }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.41.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.41.0.tgz", + "integrity": "sha512-KxN+zCjOYHGwCl4UCtSfZ6jrq/qi88JDUtiEFk8LELEHq2Egfc/FgW+jItZiOLRuQfb/3xJSgFuNPC9jzggX+A==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.41.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.41.0.tgz", + "integrity": "sha512-yDvqx3lWlcugozax3DItKJI5j05B0d4Kvnjx+5mwiUpWramVvmAByYigMplaoAQ3pvdprGCTCE03eduqE/8mPQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, "node_modules/@rollup/rollup-darwin-arm64": { "version": "4.41.0", "cpu": [ @@ -884,6 +1311,226 @@ "darwin" ] }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.41.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.41.0.tgz", + "integrity": "sha512-gE5ACNSxHcEZyP2BA9TuTakfZvULEW4YAOtxl/A/YDbIir/wPKukde0BNPlnBiP88ecaN4BJI2TtAd+HKuZPQQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.41.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.41.0.tgz", + "integrity": "sha512-GSxU6r5HnWij7FoSo7cZg3l5GPg4HFLkzsFFh0N/b16q5buW1NAWuCJ+HMtIdUEi6XF0qH+hN0TEd78laRp7Dg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.41.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.41.0.tgz", + "integrity": "sha512-KGiGKGDg8qLRyOWmk6IeiHJzsN/OYxO6nSbT0Vj4MwjS2XQy/5emsmtoqLAabqrohbgLWJ5GV3s/ljdrIr8Qjg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.41.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.41.0.tgz", + "integrity": "sha512-46OzWeqEVQyX3N2/QdiU/CMXYDH/lSHpgfBkuhl3igpZiaB3ZIfSjKuOnybFVBQzjsLwkus2mjaESy8H41SzvA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.41.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.41.0.tgz", + "integrity": "sha512-lfgW3KtQP4YauqdPpcUZHPcqQXmTmH4nYU0cplNeW583CMkAGjtImw4PKli09NFi2iQgChk4e9erkwlfYem6Lg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.41.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.41.0.tgz", + "integrity": "sha512-nn8mEyzMbdEJzT7cwxgObuwviMx6kPRxzYiOl6o/o+ChQq23gfdlZcUNnt89lPhhz3BYsZ72rp0rxNqBSfqlqw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.41.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.41.0.tgz", + "integrity": "sha512-l+QK99je2zUKGd31Gh+45c4pGDAqZSuWQiuRFCdHYC2CSiO47qUWsCcenrI6p22hvHZrDje9QjwSMAFL3iwXwQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loongarch64-gnu": { + "version": "4.41.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.41.0.tgz", + "integrity": "sha512-WbnJaxPv1gPIm6S8O/Wg+wfE/OzGSXlBMbOe4ie+zMyykMOeqmgD1BhPxZQuDqwUN+0T/xOFtL2RUWBspnZj3w==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.41.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.41.0.tgz", + "integrity": "sha512-eRDWR5t67/b2g8Q/S8XPi0YdbKcCs4WQ8vklNnUYLaSWF+Cbv2axZsp4jni6/j7eKvMLYCYdcsv8dcU+a6QNFg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.41.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.41.0.tgz", + "integrity": "sha512-TWrZb6GF5jsEKG7T1IHwlLMDRy2f3DPqYldmIhnA2DVqvvhY2Ai184vZGgahRrg8k9UBWoSlHv+suRfTN7Ua4A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.41.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.41.0.tgz", + "integrity": "sha512-ieQljaZKuJpmWvd8gW87ZmSFwid6AxMDk5bhONJ57U8zT77zpZ/TPKkU9HpnnFrM4zsgr4kiGuzbIbZTGi7u9A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.41.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.41.0.tgz", + "integrity": "sha512-/L3pW48SxrWAlVsKCN0dGLB2bi8Nv8pr5S5ocSM+S0XCn5RCVCXqi8GVtHFsOBBCSeR+u9brV2zno5+mg3S4Aw==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.41.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.41.0.tgz", + "integrity": "sha512-XMLeKjyH8NsEDCRptf6LO8lJk23o9wvB+dJwcXMaH6ZQbbkHu2dbGIUindbMtRN6ux1xKi16iXWu6q9mu7gDhQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.41.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.41.0.tgz", + "integrity": "sha512-m/P7LycHZTvSQeXhFmgmdqEiTqSV80zn6xHaQ1JSqwCtD1YGtwEK515Qmy9DcB2HK4dOUVypQxvhVSy06cJPEg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.41.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.41.0.tgz", + "integrity": "sha512-4yodtcOrFHpbomJGVEqZ8fzD4kfBeCbpsUy5Pqk4RluXOdsWdjLnjhiKy2w3qzcASWd04fp52Xz7JKarVJ5BTg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.41.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.41.0.tgz", + "integrity": "sha512-tmazCrAsKzdkXssEc65zIE1oC6xPHwfy9d5Ta25SRCDOZS+I6RypVVShWALNuU9bxIfGA0aqrmzlzoM5wO5SPQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.41.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.41.1.tgz", + "integrity": "sha512-Wq2zpapRYLfi4aKxf2Xff0tN+7slj2d4R87WEzqw7ZLsVvO5zwYCIuEGSZYiK41+GlwUo1HiR+GdkLEJnCKTCw==", + "cpu": [ + "x64" + ], + "dev": true, + "os": [ + "win32" + ] + }, "node_modules/@seald-io/binary-search-tree": { "version": "1.0.3" }, @@ -2634,6 +3281,54 @@ "@esbuild/win32-x64": "0.25.4" } }, + "node_modules/esbuild-android-64": { + "version": "0.14.54", + "resolved": "https://registry.npmmirror.com/esbuild-android-64/-/esbuild-android-64-0.14.54.tgz", + "integrity": "sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-android-arm64": { + "version": "0.14.54", + "resolved": "https://registry.npmmirror.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.54.tgz", + "integrity": "sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-darwin-64": { + "version": "0.14.54", + "resolved": "https://registry.npmmirror.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.54.tgz", + "integrity": "sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, "node_modules/esbuild-darwin-arm64": { "version": "0.14.54", "cpu": [ @@ -2649,6 +3344,278 @@ "node": ">=12" } }, + "node_modules/esbuild-freebsd-64": { + "version": "0.14.54", + "resolved": "https://registry.npmmirror.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.54.tgz", + "integrity": "sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-freebsd-arm64": { + "version": "0.14.54", + "resolved": "https://registry.npmmirror.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.54.tgz", + "integrity": "sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-32": { + "version": "0.14.54", + "resolved": "https://registry.npmmirror.com/esbuild-linux-32/-/esbuild-linux-32-0.14.54.tgz", + "integrity": "sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-64": { + "version": "0.14.54", + "resolved": "https://registry.npmmirror.com/esbuild-linux-64/-/esbuild-linux-64-0.14.54.tgz", + "integrity": "sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-arm": { + "version": "0.14.54", + "resolved": "https://registry.npmmirror.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.54.tgz", + "integrity": "sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-arm64": { + "version": "0.14.54", + "resolved": "https://registry.npmmirror.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.54.tgz", + "integrity": "sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-mips64le": { + "version": "0.14.54", + "resolved": "https://registry.npmmirror.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.54.tgz", + "integrity": "sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-ppc64le": { + "version": "0.14.54", + "resolved": "https://registry.npmmirror.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.54.tgz", + "integrity": "sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-riscv64": { + "version": "0.14.54", + "resolved": "https://registry.npmmirror.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.54.tgz", + "integrity": "sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-s390x": { + "version": "0.14.54", + "resolved": "https://registry.npmmirror.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.54.tgz", + "integrity": "sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-netbsd-64": { + "version": "0.14.54", + "resolved": "https://registry.npmmirror.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.54.tgz", + "integrity": "sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-openbsd-64": { + "version": "0.14.54", + "resolved": "https://registry.npmmirror.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.54.tgz", + "integrity": "sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-sunos-64": { + "version": "0.14.54", + "resolved": "https://registry.npmmirror.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.54.tgz", + "integrity": "sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-32": { + "version": "0.14.54", + "resolved": "https://registry.npmmirror.com/esbuild-windows-32/-/esbuild-windows-32-0.14.54.tgz", + "integrity": "sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-64": { + "version": "0.14.54", + "resolved": "https://registry.npmmirror.com/esbuild-windows-64/-/esbuild-windows-64-0.14.54.tgz", + "integrity": "sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-arm64": { + "version": "0.14.54", + "resolved": "https://registry.npmmirror.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.54.tgz", + "integrity": "sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild/node_modules/@esbuild/win32-x64": { + "version": "0.25.4", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.25.4.tgz", + "integrity": "sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, "node_modules/escalade": { "version": "3.2.0", "dev": true, @@ -5253,6 +6220,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/rollup/node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.41.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.41.0.tgz", + "integrity": "sha512-h1J+Yzjo/X+0EAvR2kIXJDuTuyT7drc+t2ALY0nIcGPbTatNOf0VWdhEA2Z4AAjv6X1NJV7SYo5oCTYRJhSlVA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/router": { "version": "2.2.0", "license": "MIT", diff --git a/package.json b/package.json index 8fac010..9381ec2 100644 --- a/package.json +++ b/package.json @@ -229,7 +229,7 @@ "lint": "eslint src --ext ts", "test": "node ./out/test/runTest.js", "prepare:ocr": "webpack --config webpack/webpack.tesseract.js", - "build:task-loop": "npx vite build --config webpack/vite.config.task-loop.js && node renderer/scripts/task-loop.build.mjs" + "build:task-loop": "npx vite build --config webpack/vite.config.task-loop.mjs && node renderer/scripts/task-loop.build.mjs" }, "dependencies": { "@modelcontextprotocol/sdk": "^1.12.1", @@ -244,7 +244,9 @@ "ws": "^8.18.1" }, "devDependencies": { + "@esbuild/win32-x64": "^0.25.5", "@rollup/plugin-inject": "^5.0.5", + "@rollup/rollup-win32-x64-msvc": "^4.41.1", "@types/node": "^22.15.29", "@types/pako": "^2.0.3", "@types/showdown": "^2.0.0", diff --git a/webpack/vite.config.task-loop.js b/webpack/vite.config.task-loop.mjs similarity index 87% rename from webpack/vite.config.task-loop.js rename to webpack/vite.config.task-loop.mjs index 49752c1..5ebc9af 100644 --- a/webpack/vite.config.task-loop.js +++ b/webpack/vite.config.task-loop.mjs @@ -1,4 +1,4 @@ -import { defineConfig } from 'vite'; +import { defineConfig, normalizePath } from 'vite'; import { resolve } from 'path'; import { viteStaticCopy } from 'vite-plugin-static-copy'; // import { visualizer } from 'rollup-plugin-visualizer'; @@ -22,8 +22,8 @@ export default defineConfig({ viteStaticCopy({ targets: [ { - src: resolve(__dirname, '../resources/openmcp-sdk-release/*'), - dest: resolve(__dirname, '../openmcp-sdk') + src: normalizePath(resolve(__dirname, '../resources/openmcp-sdk-release/*')), + dest: normalizePath(resolve(__dirname, '../openmcp-sdk')) } ] }),