mirror of
https://github.com/QwenLM/qwen-code.git
synced 2026-08-06 15:25:34 +00:00
* fix(serve): isolate managed memory by workspace * feat(serve): add memory project scope option * test(serve): fix clean build type assertion * test(serve): cover untrusted workspace memory tasks * test(memory): cover remaining workspace paths * test(serve): cover unavailable memory lanes * test(memory): isolate default scope * fix(serve): address review feedback on workspace memory isolation (#8056) - Create secondary ACP mounts on demand for dynamically-registered workspaces so the qualified memory routes work beyond boot-time runtimes (rename getWorkspaceRememberLane → ensureWorkspaceRememberLane) - Remove the symlink-alias machinery from getAutoMemoryRoot: it had no producer, relaxed a documented invariant, and could throw on the per-turn hot path; workspace mode now uses the same plain path.join as git-root mode - Move memoryProjectScope validation into the pre-listen block - Use the shared sendWorkspaceRuntimeUnavailable helper in server.ts - Revert an unrelated test mock change; fix misleading 'compatibility fallback' wording in ServeOptions - Add workspace_qualified_memory capability tag, docs for the new flag and env var * docs(serve): add workspace_qualified_memory to conditional features table (#8056) * fix(serve): address follow-up review feedback on workspace memory isolation (#8056) * fix(serve): address follow-up review feedback on workspace memory isolation (#8056) Extract MEMORY_PROJECT_SCOPES const and MemoryProjectScope type in core so yargs choices, ServeOptions, ServeArgs, and the runQwenServe guard share one source of truth (reduces drift risk from five to three edit points; the fast-path guard keeps inline comparisons because an import boundary test forbids core imports on the lightweight startup path). Document memory-project-scope caveats in the user-facing docs: daemon vs standalone CLI split-brain, sanitizeCwd punctuation collisions, and flag vs env normalization differences. Add the per-lane MAX_PENDING resource note to the developer configuration reference. * fix(cli): add missing sessionRuntimeBaseDir to late-add workspace test (#8056) * test(serve): cover untrusted forget/dream and no-lane memory poll (#8056) * fix(core): extract MEMORY_PROJECT_SCOPES into zero-import leaf module (#8056) Importing the constant as a value from the core barrel turned it into a real static edge that pulled the entire 5.6 MB barrel into the serve pre-listen bundle closure, breaking the fast-path gate. Move MEMORY_PROJECT_SCOPES and MemoryProjectScope into a new memory/scopes.ts with no imports of its own, re-export from paths.ts so the barrel surface is unchanged, add a ./memoryScopes subpath export, and switch run-qwen-serve.ts to the narrow import. Also derive the unknown-scope guard in resolveWorkspaceProjectScope() from the constant instead of hardcoding 'git-root'. * test(cli): pin non-allocating contract in workspace memory poll test (#8056) --------- Co-authored-by: qwen-code-dev-bot <269191875+qwen-code-dev-bot@users.noreply.github.com> Co-authored-by: Shaojin Wen <shaojin.wensj@alibaba-inc.com> Co-authored-by: qwen-code-dev-bot <qwen-code-dev@service.alibaba.com> Co-authored-by: Qwen Autofix <qwen-autofix@users.noreply.github.com> Co-authored-by: Qwen Code Bot <qwen-code-bot@users.noreply.github.com> Co-authored-by: Qwen Code Autofix <qwen-code-autofix@users.noreply.github.com> Co-authored-by: qwen-code-dev-bot <qwen-code-dev-bot@users.noreply.github.com>
130 lines
3.8 KiB
JSON
130 lines
3.8 KiB
JSON
{
|
|
"name": "@qwen-code/qwen-code-core",
|
|
"version": "0.21.2",
|
|
"description": "Qwen Code Core",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+https://github.com/QwenLM/qwen-code.git"
|
|
},
|
|
"type": "module",
|
|
"main": "dist/index.js",
|
|
"exports": {
|
|
".": {
|
|
"types": "./dist/index.d.ts",
|
|
"import": "./dist/index.js"
|
|
},
|
|
"./transcriptRecords": {
|
|
"types": "./dist/src/utils/transcript-records.d.ts",
|
|
"import": "./dist/src/utils/transcript-records.js"
|
|
},
|
|
"./goalWire": {
|
|
"types": "./dist/src/goals/goal-wire.d.ts",
|
|
"import": "./dist/src/goals/goal-wire.js"
|
|
},
|
|
"./memoryScopes": {
|
|
"types": "./dist/src/memory/scopes.d.ts",
|
|
"import": "./dist/src/memory/scopes.js"
|
|
},
|
|
"./userPromptSubmitContext": {
|
|
"types": "./dist/src/hooks/user-prompt-submit-context.d.ts",
|
|
"import": "./dist/src/hooks/user-prompt-submit-context.js"
|
|
},
|
|
"./package.json": "./package.json",
|
|
"./dist/*": "./dist/*",
|
|
"./src/*": "./src/*"
|
|
},
|
|
"scripts": {
|
|
"build": "node ../../scripts/build_package.js",
|
|
"lint": "eslint . --ext .ts,.tsx",
|
|
"format": "prettier --write .",
|
|
"test": "vitest run",
|
|
"test:ci": "vitest run",
|
|
"typecheck": "tsc --noEmit",
|
|
"postinstall": "node scripts/postinstall.js"
|
|
},
|
|
"files": [
|
|
"dist",
|
|
"vendor",
|
|
"scripts/postinstall.js"
|
|
],
|
|
"dependencies": {
|
|
"@anthropic-ai/sdk": "^0.36.1",
|
|
"@google/genai": "2.6.0",
|
|
"@iarna/toml": "^2.2.5",
|
|
"@modelcontextprotocol/sdk": "^1.25.2",
|
|
"@opentelemetry/api": "^1.9.0",
|
|
"@opentelemetry/exporter-logs-otlp-grpc": "^0.203.0",
|
|
"@opentelemetry/exporter-logs-otlp-http": "^0.203.0",
|
|
"@opentelemetry/exporter-metrics-otlp-grpc": "^0.203.0",
|
|
"@opentelemetry/exporter-metrics-otlp-http": "^0.203.0",
|
|
"@opentelemetry/exporter-trace-otlp-grpc": "^0.203.0",
|
|
"@opentelemetry/exporter-trace-otlp-http": "^0.203.0",
|
|
"@opentelemetry/instrumentation-http": "^0.203.0",
|
|
"@opentelemetry/instrumentation-undici": "^0.14.0",
|
|
"@opentelemetry/sdk-node": "^0.203.0",
|
|
"@xterm/headless": "5.5.0",
|
|
"ajv": "^8.17.1",
|
|
"ajv-formats": "^3.0.0",
|
|
"async-mutex": "^0.5.0",
|
|
"chardet": "^2.1.0",
|
|
"chokidar": "^4.0.3",
|
|
"diff": "^7.0.0",
|
|
"dotenv": "^17.1.0",
|
|
"fast-levenshtein": "^2.0.6",
|
|
"fast-uri": "^3.0.6",
|
|
"fdir": "^6.4.6",
|
|
"fzf": "^0.5.2",
|
|
"glob": "^10.5.0",
|
|
"google-auth-library": "^10.5.0",
|
|
"https-proxy-agent": "^7.0.6",
|
|
"iconv-lite": "^0.6.3",
|
|
"ignore": "^7.0.0",
|
|
"jsonrepair": "^3.13.0",
|
|
"marked": "^15.0.12",
|
|
"mime": "4.0.7",
|
|
"mnemonist": "^0.40.3",
|
|
"openai": "5.11.0",
|
|
"picomatch": "^4.0.1",
|
|
"prompts": "^2.4.2",
|
|
"proper-lockfile": "^4.1.2",
|
|
"sharp": "^0.34.5",
|
|
"shell-quote": "^1.9.0",
|
|
"simple-git": "^3.36.0",
|
|
"strip-ansi": "^7.1.0",
|
|
"tar": "^7.5.19",
|
|
"turndown": "^7.2.4",
|
|
"undici": "^7.28.0",
|
|
"uuid": "^9.0.1",
|
|
"web-tree-sitter": "^0.24.7",
|
|
"ws": "^8.18.0",
|
|
"yaml": "^2.8.1",
|
|
"yauzl": "^2.10.0"
|
|
},
|
|
"optionalDependencies": {
|
|
"@lydell/node-pty": "1.2.0-beta.10",
|
|
"@lydell/node-pty-darwin-arm64": "1.2.0-beta.10",
|
|
"@lydell/node-pty-darwin-x64": "1.2.0-beta.10",
|
|
"@lydell/node-pty-linux-x64": "1.2.0-beta.10",
|
|
"@lydell/node-pty-win32-arm64": "1.2.0-beta.10",
|
|
"@lydell/node-pty-win32-x64": "1.2.0-beta.10"
|
|
},
|
|
"devDependencies": {
|
|
"@types/diff": "^7.0.2",
|
|
"@types/dotenv": "^6.1.1",
|
|
"@types/fast-levenshtein": "^0.0.4",
|
|
"@types/minimatch": "^5.1.2",
|
|
"@types/picomatch": "^4.0.1",
|
|
"@types/prompts": "^2.4.9",
|
|
"@types/tar": "^6.1.13",
|
|
"@types/turndown": "^5.0.6",
|
|
"@types/ws": "^8.5.10",
|
|
"@types/yauzl": "^2.9.1",
|
|
"msw": "^2.3.4",
|
|
"tree-sitter-wasms": "^0.1.13",
|
|
"typescript": "^5.3.3",
|
|
"vitest": "^3.1.1"
|
|
},
|
|
"engines": {
|
|
"node": ">=22"
|
|
}
|
|
}
|