mirror of
https://github.com/QwenLM/qwen-code.git
synced 2026-11-10 17:40:17 -10:00
* fix(deps)!: upgrade dependencies shipped by SDK and Web Shell Ship patched Zod and KaTeX in consumer installs and build the ExcelJS browser worker from source with UUID 11. Preserve validation behavior, browser preview fallbacks, and notices for bundled dependencies. Refs #16434 BREAKING CHANGE: SDK MCP tool schemas now use Zod 4. Callers supplying Zod 3 schemas must migrate to Zod 4. * fix(web-templates): re-measure the export renderer budget after the main merge The merged tree (personal memory and transcript work since the last measurement) grows the export renderer to 2,108,024 JS bytes with the forbidden-input guard still passing. Raise the ceiling to 2,111,000, keeping under 3 KB of headroom, and record the measurement. Co-authored-by: Qwen-Coder <[email protected]> * fix(generated-ui): preserve validation bound messages * fix(web-shell): preserve DOM-free package imports * fix(sdk): keep custom MCP tools discoverable * fix(ci): refresh companion dependency notices * test(browser-use): accept Zod 4 validation wording * fix(sdk): preserve MCP schema compatibility * fix(sdk): hand Zod v3 tool shapes back to MCP Wrapping every raw shape in a Zod 4 object broke Zod v3 shapes that MCP supports natively: their fields carry no `_zod` marker, so schema conversion failed with -32603 (Cannot read properties of undefined (reading 'def')) on tools/list for both the sdk and daemon-mcp servers. - Take the listable conversion path only when every field carries `_zod` (Zod 4 classic and Mini); return the shape untouched otherwise, which is what MCP's zod-compat layer already handled. - Guard the flavour probe against non-object field values. - Cover Zod v3 and Mini shapes on both registration paths (discovered schema content, valid calls, -32602 rejected before the handler), nested-custom and array constraints, unrecognised shapes, and registerTool/tool() parity. * fix(sdk): preserve external Zod 3 tool types * fix(browser-use): build the locator step schema eagerly The nested-steps branch was a z.lazy() edge, so the first parse of a deep locator plan left the shared branch unresolved; Zod 4's recursive-schema memoizer then re-walked that shared subgraph on every later parse, multiplying by the four branches (and, or, filter.has, filter.hasNot) that embed it. A 32-level plan went from 20 ms to a synchronous hang, which stalls PlaywrightRuntime.dispatch for every locator command because locatorStepsSchema is a module-level singleton. - Construct the depth chain eagerly; depth > 32 still terminates at z.never(), so 32 levels stay valid and 33 stay rejected. - Cover the double parse in a child process with a hard spawnSync timeout, since a vitest timeout cannot interrupt the synchronous hang. * fix(browser-use): keep zod 3 until the locator schema is zod 4 safe Zod 4.6.6 hangs on the second parse of the same deep locator plan, which stalls the module-level schema used by PlaywrightRuntime. Keep browser-use on zod 3 so the rest of the dependency upgrade can be verified. Refs #16816 Co-authored-by: Qwen-Coder <[email protected]> --------- Co-authored-by: zzj <[email protected]> Co-authored-by: Qwen-Coder <[email protected]>
62 lines
1.6 KiB
JSON
62 lines
1.6 KiB
JSON
{
|
|
"name": "@qwen-code/node-repl-mcp",
|
|
"version": "0.27.0",
|
|
"description": "Standalone MCP server exposing persistent JavaScript (js/js_reset) with the Computer Use runtime.",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+https://github.com/QwenLM/qwen-code.git",
|
|
"directory": "packages/node-repl"
|
|
},
|
|
"type": "module",
|
|
"license": "Apache-2.0",
|
|
"engines": {
|
|
"node": ">=22"
|
|
},
|
|
"main": "dist/index.js",
|
|
"types": "dist/index.d.ts",
|
|
"bin": {
|
|
"node-repl-mcp": "dist/index.js"
|
|
},
|
|
"exports": {
|
|
".": {
|
|
"types": "./dist/index.d.ts",
|
|
"import": "./dist/index.js"
|
|
},
|
|
"./package.json": "./package.json"
|
|
},
|
|
"files": [
|
|
"dist",
|
|
"!dist/**/*.test.*"
|
|
],
|
|
"scripts": {
|
|
"build": "node build.mjs",
|
|
"build:ts": "tsc --build tsconfig.build.json",
|
|
"clean": "rm -rf dist tsconfig.tsbuildinfo tsconfig.build.tsbuildinfo",
|
|
"test": "vitest run",
|
|
"test:ci": "vitest run",
|
|
"smoke": "node scripts/smoke.mjs",
|
|
"smoke:mcp": "node scripts/mcp-smoke.mjs",
|
|
"smoke:lifecycle": "node scripts/lifecycle-smoke.mjs",
|
|
"typecheck": "tsc --noEmit",
|
|
"watch": "tsc --watch"
|
|
},
|
|
"dependencies": {
|
|
"@modelcontextprotocol/sdk": "^1.30.0",
|
|
"tree-sitter-wasms": "^0.1.13",
|
|
"web-tree-sitter": "^0.24.7",
|
|
"ws": "^8.18.0",
|
|
"zod": "^4.6.6",
|
|
"@qwen-code/cua-sdk": "0.27.0"
|
|
},
|
|
"devDependencies": {
|
|
"@types/node": "^22.13.10",
|
|
"@types/ws": "^8.5.0",
|
|
"typescript": "^5.3.3",
|
|
"vitest": "^3.1.1"
|
|
},
|
|
"bugs": {
|
|
"url": "https://github.com/QwenLM/qwen-code/issues"
|
|
},
|
|
"homepage": "https://github.com/QwenLM/qwen-code/tree/main/packages/node-repl#readme"
|
|
}
|