==> Synchronizing chroot copy [/home/alhp/workspace/chroot/root] -> [build_5b48e994-aae1-405b-8d7f-1a78c27c589a]...done ==> Making package: qwen-code 0.16.2-1.1 (Wed May 27 22:21:47 2026) ==> Retrieving sources... -> Cloning qwen-code git repo... Cloning into bare repository '/home/alhp/workspace/build/x86-64-v3/qwen-code-0.16.2-1/qwen-code'... ==> Validating source files with sha256sums... qwen-code ... Passed ==> Validating source files with b2sums... qwen-code ... Passed ==> Making package: qwen-code 0.16.2-1.1 (Wed May 27 20:28:27 2026) ==> Checking runtime dependencies... ==> Installing missing dependencies... resolving dependencies... looking for conflicting packages... Package (6) New Version Net Change extra/ada 3.4.4-1 1.08 MiB extra/c-ares 1.34.6-1 0.51 MiB extra/libuv 1.52.1-1 0.64 MiB extra/simdjson 1:4.6.4-1 7.58 MiB extra/nodejs 26.2.0-1 58.50 MiB extra/ripgrep 15.1.0-3 4.03 MiB Total Installed Size: 72.34 MiB :: Proceed with installation? [Y/n] checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing ada... installing c-ares... installing libuv... installing simdjson... installing nodejs... Optional dependencies for nodejs npm: nodejs package manager installing ripgrep... :: Running post-transaction hooks... (1/1) Arming ConditionNeedsUpdate... ==> Checking buildtime dependencies... ==> Installing missing dependencies... resolving dependencies... looking for conflicting packages... Package (11) New Version Net Change extra/node-gyp 12.3.0-1 6.08 MiB extra/nodejs-nopt 10.0.0-1 0.03 MiB extra/oniguruma 6.9.10-1 0.88 MiB extra/perl-error 0.17030-3 0.04 MiB extra/perl-mailtools 2.22-3 0.10 MiB extra/perl-timedate 2.35-1 0.15 MiB extra/semver 7.8.1-1 0.10 MiB extra/zlib-ng 2.3.3-1 0.28 MiB extra/git 2.54.0-1 30.26 MiB extra/jq 1.8.1-3 0.46 MiB extra/npm 11.14.1-1 8.70 MiB Total Installed Size: 47.07 MiB :: Proceed with installation? [Y/n] checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing perl-error... installing perl-timedate... installing perl-mailtools... installing zlib-ng... installing git... Optional dependencies for git git-zsh-completion: upstream zsh completion tk: gitk and git gui openssh: ssh transport and crypto man: show help with `git command --help` perl-libwww: git svn perl-term-readkey: git svn and interactive.singlekey setting perl-io-socket-ssl: git send-email TLS support perl-authen-sasl: git send-email TLS support perl-cgi: gitweb (web interface) support python: git svn & git p4 [installed] subversion: git svn org.freedesktop.secrets: keyring credential helper libsecret: libsecret credential helper [installed] less: the default pager for git installing oniguruma... installing jq... installing nodejs-nopt... installing semver... installing node-gyp... Optional dependencies for node-gyp gcc: to build C++ modules [installed] make: to build C++ modules [installed] python: to build C++ modules [installed] installing npm... Optional dependencies for npm git: for dependencies using Git URL's [installed] :: Running post-transaction hooks... (1/3) Creating system user accounts... Creating group 'git' with GID 969. Creating user 'git' (git daemon user) with UID 969 and GID 969. (2/3) Reloading system manager configuration... Skipped: Current root is not booted. (3/3) Arming ConditionNeedsUpdate... ==> Retrieving sources... ==> WARNING: Skipping all source file integrity checks. ==> Extracting sources... -> Creating working copy of qwen-code git repo... Cloning into 'qwen-code'... done. Switched to a new branch 'makepkg' ==> Starting prepare()... npm warn deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported npm warn deprecated node-domexception@1.0.0: Use your platform's native DOMException instead npm warn deprecated inflight@1.0.6: 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. npm warn deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead npm warn deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported npm warn deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options. added 1370 packages, and audited 1384 packages in 2m 397 packages are looking for funding run `npm fund` for details 40 vulnerabilities (1 low, 18 moderate, 19 high, 2 critical) To address issues that do not require attention, run: npm audit fix To address all issues (including breaking changes), run: npm audit fix --force Run `npm audit` for details. ==> Starting build()... > @qwen-code/qwen-code@0.16.2 build > cross-env NODE_OPTIONS="--max-old-space-size=3072" node scripts/build.js > @qwen-code/qwen-code@0.16.2 generate > node scripts/generate-git-commit-info.js > @qwen-code/qwen-code-core@0.16.2 build > node ../../scripts/build_package.js Successfully copied files. > @qwen-code/web-templates@0.16.2 build > node build.mjs && tsc --build --clean && tsc Building web-templates... Building insight assets with Vite... vite v5.4.21 building for production... transforming... Browserslist: browsers data (caniuse-lite) is 6 months old. Please run: npx update-browserslist-db@latest Why you should do it regularly: https://github.com/browserslist/update-db#readme ✓ 7 modules transformed. rendering chunks... computing gzip size... dist/main.css 17.77 kB │ gzip: 4.28 kB dist/main.js 31.01 kB │ gzip: 8.25 kB ✓ built in 520ms Reading generated files... Successfully generated /startdir/src/qwen-code/packages/web-templates/src/generated/insightTemplate.ts Successfully built all web-templates. > @qwen-code/channel-base@0.16.2 build > tsc --build > @qwen-code/channel-telegram@0.16.2 build > tsc --build > @qwen-code/channel-weixin@0.16.2 build > tsc --build > @qwen-code/channel-dingtalk@0.16.2 build > tsc --build > @qwen-code/channel-plugin-example@0.16.2 build > tsc --build > @qwen-code/acp-bridge@0.16.2 build > node ../../scripts/build_package.js Successfully copied files. > @qwen-code/qwen-code@0.16.2 build > node ../../scripts/build_package.js Successfully copied files. Generated settings JSON Schema at: /startdir/src/qwen-code/packages/vscode-ide-companion/schemas/settings.schema.json (node:1501) [DEP0205] DeprecationWarning: `module.register()` is deprecated. Use `module.registerHooks()` instead. (Use `node --trace-deprecation ...` to show where the warning was created) > @qwen-code/webui@0.16.2 build > vite build vite v5.4.21 building for production... transforming... Browserslist: browsers data (caniuse-lite) is 6 months old. Please run: npx update-browserslist-db@latest Why you should do it regularly: https://github.com/browserslist/update-db#readme ✓ 159 modules transformed. rendering chunks... [vite:dts] Start generate declaration files... computing gzip size... dist/styles.css 83.17 kB │ gzip: 15.47 kB dist/index.js 388.76 kB │ gzip: 97.72 kB │ map: 833.43 kB [vite:dts] Start rollup declaration files... Analysis will use the bundled TypeScript version 5.8.2 [vite:dts] Declaration files built in 2527ms. dist/styles.css 83.17 kB │ gzip: 15.47 kB dist/index.cjs 398.16 kB │ gzip: 98.43 kB │ map: 838.46 kB dist/styles.css 83.17 kB │ gzip: 15.47 kB dist/index.umd.js 421.21 kB │ gzip: 99.68 kB │ map: 841.50 kB ✓ built in 3.67s > @qwen-code/sdk@0.1.7 build > node scripts/build.js Compiling input files... Processing src/index.ts Writing src/index.ts -> dist/index.d.ts Checking generated files... Compiler option "skipLibCheck" is disabled to properly check generated output Done in 7.97s > qwen-code-vscode-ide-companion@0.16.2 build > npm run build:dev > qwen-code-vscode-ide-companion@0.16.2 build:dev > npm run check-types && npm run lint && node esbuild.js > qwen-code-vscode-ide-companion@0.16.2 check-types > tsc --noEmit > qwen-code-vscode-ide-companion@0.16.2 lint > eslint src /startdir/src/qwen-code/packages/vscode-ide-companion/src/services/settingsWriter.ts 154:54 warning Expected { after 'while' condition curly 431:61 warning Expected { after 'if' condition curly 495:24 warning Expected { after 'if' condition curly 569:26 warning Expected { after 'if' condition curly 700:20 warning Expected { after 'if' condition curly /startdir/src/qwen-code/packages/vscode-ide-companion/src/webview/handlers/AuthMessageHandler.ts 181:37 warning Expected { after 'if' condition curly 214:24 warning Expected { after 'if' condition curly 264:22 warning Expected { after 'if' condition curly 283:24 warning Expected { after 'if' condition curly 303:37 warning Expected { after 'if' condition curly 332:23 warning Expected { after 'if' condition curly 338:18 warning Expected { after 'if' condition curly 364:24 warning Expected { after 'if' condition curly 402:28 warning Expected { after 'if' condition curly /startdir/src/qwen-code/packages/vscode-ide-companion/src/webview/providers/WebViewProvider.ts 1375:35 warning Expected { after 'if' condition curly ✖ 15 problems (0 errors, 15 warnings) 0 errors and 15 warnings potentially fixable with the `--fix` option. Browserslist: browsers data (caniuse-lite) is 6 months old. Please run: npx update-browserslist-db@latest Why you should do it regularly: https://github.com/browserslist/update-db#readme > @qwen-code/qwen-code@0.16.2 bundle > npm run generate && node esbuild.config.js && node scripts/copy_bundle_assets.js > @qwen-code/qwen-code@0.16.2 generate > node scripts/generate-git-commit-info.js Copied sandbox profiles to dist/ Copying vendor directory... Copied vendor directory to dist/ Copied bundled skills to dist/bundled/ Copied docs/users/ to dist/bundled/qc-helper/docs/ Copied builtin locales to dist/locales/ ✅ All bundle assets copied to dist/ > @qwen-code/qwen-code@0.16.2 prepare > husky && npm run build && npm run bundle > @qwen-code/qwen-code@0.16.2 build > cross-env NODE_OPTIONS="--max-old-space-size=3072" node scripts/build.js > @qwen-code/qwen-code@0.16.2 generate > node scripts/generate-git-commit-info.js > @qwen-code/qwen-code-core@0.16.2 build > node ../../scripts/build_package.js Successfully copied files. > @qwen-code/web-templates@0.16.2 build > node build.mjs && tsc --build --clean && tsc Building web-templates... Building insight assets with Vite... vite v5.4.21 building for production... transforming... Browserslist: browsers data (caniuse-lite) is 6 months old. Please run: npx update-browserslist-db@latest Why you should do it regularly: https://github.com/browserslist/update-db#readme ✓ 7 modules transformed. rendering chunks... computing gzip size... dist/main.css 17.77 kB │ gzip: 4.28 kB dist/main.js 31.01 kB │ gzip: 8.25 kB ✓ built in 189ms Reading generated files... Successfully generated /startdir/src/qwen-code/packages/web-templates/src/generated/insightTemplate.ts Successfully built all web-templates. > @qwen-code/channel-base@0.16.2 build > tsc --build > @qwen-code/channel-telegram@0.16.2 build > tsc --build > @qwen-code/channel-weixin@0.16.2 build > tsc --build > @qwen-code/channel-dingtalk@0.16.2 build > tsc --build > @qwen-code/channel-plugin-example@0.16.2 build > tsc --build > @qwen-code/acp-bridge@0.16.2 build > node ../../scripts/build_package.js Successfully copied files. > @qwen-code/qwen-code@0.16.2 build > node ../../scripts/build_package.js Successfully copied files. Generated settings JSON Schema at: /startdir/src/qwen-code/packages/vscode-ide-companion/schemas/settings.schema.json (node:2150) [DEP0205] DeprecationWarning: `module.register()` is deprecated. Use `module.registerHooks()` instead. (Use `node --trace-deprecation ...` to show where the warning was created) > @qwen-code/webui@0.16.2 build > vite build vite v5.4.21 building for production... transforming... Browserslist: browsers data (caniuse-lite) is 6 months old. Please run: npx update-browserslist-db@latest Why you should do it regularly: https://github.com/browserslist/update-db#readme ✓ 159 modules transformed. rendering chunks... [vite:dts] Start generate declaration files... computing gzip size... dist/styles.css 83.17 kB │ gzip: 15.47 kB dist/index.js 388.76 kB │ gzip: 97.72 kB │ map: 833.43 kB [vite:dts] Start rollup declaration files... Analysis will use the bundled TypeScript version 5.8.2 [vite:dts] Declaration files built in 2040ms. dist/styles.css 83.17 kB │ gzip: 15.47 kB dist/index.cjs 398.16 kB │ gzip: 98.43 kB │ map: 838.46 kB dist/styles.css 83.17 kB │ gzip: 15.47 kB dist/index.umd.js 421.21 kB │ gzip: 99.68 kB │ map: 841.50 kB ✓ built in 3.04s > @qwen-code/sdk@0.1.7 build > node scripts/build.js Compiling input files... Processing src/index.ts Writing src/index.ts -> dist/index.d.ts Checking generated files... Compiler option "skipLibCheck" is disabled to properly check generated output Done in 7.85s > qwen-code-vscode-ide-companion@0.16.2 build > npm run build:dev > qwen-code-vscode-ide-companion@0.16.2 build:dev > npm run check-types && npm run lint && node esbuild.js > qwen-code-vscode-ide-companion@0.16.2 check-types > tsc --noEmit > qwen-code-vscode-ide-companion@0.16.2 lint > eslint src /startdir/src/qwen-code/packages/vscode-ide-companion/src/services/settingsWriter.ts 154:54 warning Expected { after 'while' condition curly 431:61 warning Expected { after 'if' condition curly 495:24 warning Expected { after 'if' condition curly 569:26 warning Expected { after 'if' condition curly 700:20 warning Expected { after 'if' condition curly /startdir/src/qwen-code/packages/vscode-ide-companion/src/webview/handlers/AuthMessageHandler.ts 181:37 warning Expected { after 'if' condition curly 214:24 warning Expected { after 'if' condition curly 264:22 warning Expected { after 'if' condition curly 283:24 warning Expected { after 'if' condition curly 303:37 warning Expected { after 'if' condition curly 332:23 warning Expected { after 'if' condition curly 338:18 warning Expected { after 'if' condition curly 364:24 warning Expected { after 'if' condition curly 402:28 warning Expected { after 'if' condition curly /startdir/src/qwen-code/packages/vscode-ide-companion/src/webview/providers/WebViewProvider.ts 1375:35 warning Expected { after 'if' condition curly ✖ 15 problems (0 errors, 15 warnings) 0 errors and 15 warnings potentially fixable with the `--fix` option. Browserslist: browsers data (caniuse-lite) is 6 months old. Please run: npx update-browserslist-db@latest Why you should do it regularly: https://github.com/browserslist/update-db#readme > @qwen-code/qwen-code@0.16.2 bundle > npm run generate && node esbuild.config.js && node scripts/copy_bundle_assets.js > @qwen-code/qwen-code@0.16.2 generate > node scripts/generate-git-commit-info.js Copied sandbox profiles to dist/ Copying vendor directory... Copied vendor directory to dist/ Copied bundled skills to dist/bundled/ Copied docs/users/ to dist/bundled/qc-helper/docs/ Copied builtin locales to dist/locales/ ✅ All bundle assets copied to dist/ npm notice npm notice 📦 @qwen-code/qwen-code@0.16.2 npm notice Tarball Contents npm notice 11.4kB LICENSE npm notice 21.2kB README.md npm notice 8.8kB dist/bundled/batch/SKILL.md npm notice 3.6kB dist/bundled/loop/SKILL.md npm notice 4.6kB dist/bundled/new-app/SKILL.md npm notice 860B dist/bundled/qc-helper/docs/_meta.ts npm notice 14.9kB dist/bundled/qc-helper/docs/common-workflow.md npm notice 205B dist/bundled/qc-helper/docs/configuration/_meta.ts npm notice 15.9kB dist/bundled/qc-helper/docs/configuration/auth.md npm notice 32.6kB dist/bundled/qc-helper/docs/configuration/model-providers.md npm notice 2.2kB dist/bundled/qc-helper/docs/configuration/qwen-ignore.md npm notice 153.6kB dist/bundled/qc-helper/docs/configuration/settings.md npm notice 7.9kB dist/bundled/qc-helper/docs/configuration/themes.md npm notice 3.3kB dist/bundled/qc-helper/docs/configuration/trusted-folders.md npm notice 169B dist/bundled/qc-helper/docs/extension/_meta.ts npm notice 10.2kB dist/bundled/qc-helper/docs/extension/extension-releasing.md npm notice 9.3kB dist/bundled/qc-helper/docs/extension/getting-started-extensions.md npm notice 15.9kB dist/bundled/qc-helper/docs/extension/introduction.md npm notice 829B dist/bundled/qc-helper/docs/features/_meta.ts npm notice 14.2kB dist/bundled/qc-helper/docs/features/approval-mode.md npm notice 12.4kB dist/bundled/qc-helper/docs/features/arena.md npm notice 10.5kB dist/bundled/qc-helper/docs/features/auto-mode.md npm notice 134B dist/bundled/qc-helper/docs/features/channels/_meta.ts npm notice 5.8kB dist/bundled/qc-helper/docs/features/channels/dingtalk.md npm notice 15.6kB dist/bundled/qc-helper/docs/features/channels/overview.md npm notice 3.5kB dist/bundled/qc-helper/docs/features/channels/plugins.md npm notice 4.8kB dist/bundled/qc-helper/docs/features/channels/telegram.md npm notice 4.5kB dist/bundled/qc-helper/docs/features/channels/weixin.md npm notice 3.2kB dist/bundled/qc-helper/docs/features/checkpointing.md npm notice 16.5kB dist/bundled/qc-helper/docs/features/code-review.md npm notice 25.7kB dist/bundled/qc-helper/docs/features/commands.md npm notice 21.3kB dist/bundled/qc-helper/docs/features/dual-output.md npm notice 4.6kB dist/bundled/qc-helper/docs/features/followup-suggestions.md npm notice 19.8kB dist/bundled/qc-helper/docs/features/headless.md npm notice 40.6kB dist/bundled/qc-helper/docs/features/hooks.md npm notice 8.5kB dist/bundled/qc-helper/docs/features/language.md npm notice 15.7kB dist/bundled/qc-helper/docs/features/lsp.md npm notice 7.4kB dist/bundled/qc-helper/docs/features/markdown-rendering.md npm notice 20.8kB dist/bundled/qc-helper/docs/features/mcp.md npm notice 7.3kB dist/bundled/qc-helper/docs/features/memory.md npm notice 8.4kB dist/bundled/qc-helper/docs/features/sandbox.md npm notice 7.1kB dist/bundled/qc-helper/docs/features/scheduled-tasks.md npm notice 9.6kB dist/bundled/qc-helper/docs/features/skills.md npm notice 14.5kB dist/bundled/qc-helper/docs/features/status-line.md npm notice 16.7kB dist/bundled/qc-helper/docs/features/structured-output.md npm notice 22.9kB dist/bundled/qc-helper/docs/features/sub-agents.md npm notice 2.3kB dist/bundled/qc-helper/docs/features/tips.md npm notice 1.4kB dist/bundled/qc-helper/docs/features/token-caching.md npm notice 10.3kB dist/bundled/qc-helper/docs/features/tool-use-summaries.md npm notice 22.1kB dist/bundled/qc-helper/docs/features/worktree.md npm notice 103B dist/bundled/qc-helper/docs/ide-integration/_meta.ts npm notice 10.2kB dist/bundled/qc-helper/docs/ide-integration/ide-companion-spec.md npm notice 7.9kB dist/bundled/qc-helper/docs/ide-integration/ide-integration.md npm notice 12.8kB dist/bundled/qc-helper/docs/integration-github-action.md npm notice 2.6kB dist/bundled/qc-helper/docs/integration-jetbrains.md npm notice 1.5kB dist/bundled/qc-helper/docs/integration-vscode.md npm notice 2.3kB dist/bundled/qc-helper/docs/integration-zed.md npm notice 4.7kB dist/bundled/qc-helper/docs/overview.md npm notice 8.7kB dist/bundled/qc-helper/docs/quickstart.md npm notice 44.6kB dist/bundled/qc-helper/docs/qwen-serve.md npm notice 66B dist/bundled/qc-helper/docs/reference/_meta.ts npm notice 11.2kB dist/bundled/qc-helper/docs/reference/keyboard-shortcuts.md npm notice 122B dist/bundled/qc-helper/docs/support/_meta.ts npm notice 6.9kB dist/bundled/qc-helper/docs/support/tos-privacy.md npm notice 10.2kB dist/bundled/qc-helper/docs/support/troubleshooting.md npm notice 1.2kB dist/bundled/qc-helper/docs/support/Uninstall.md npm notice 9.3kB dist/bundled/qc-helper/SKILL.md npm notice 24.1kB dist/bundled/review/DESIGN.md npm notice 51.8kB dist/bundled/review/SKILL.md npm notice 12.2kB dist/bundled/stuck/SKILL.md npm notice 1.3kB dist/chunks/agent-TM75W5UK.js npm notice 198.3kB dist/chunks/anthropicContentGenerator-LYI3OHBB.js npm notice 10.7kB dist/chunks/askUserQuestion-R3MKD2JT.js npm notice 109.5kB dist/chunks/ca-NMZFEGAU.js npm notice 953B dist/chunks/chunk-2PSWA5ID.js npm notice 233.0kB dist/chunks/chunk-4CGOWHKM.js npm notice 43.4kB dist/chunks/chunk-6NUSWV4M.js npm notice 4.4MB dist/chunks/chunk-6RNJLNYR.js npm notice 746.2kB dist/chunks/chunk-7FFCTFDZ.js npm notice 260.8kB dist/chunks/chunk-7RYW5LQV.js npm notice 63.4kB dist/chunks/chunk-7YJIR2FX.js npm notice 548B dist/chunks/chunk-77WXWU44.js npm notice 770B dist/chunks/chunk-A4BMJM77.js npm notice 30.6kB dist/chunks/chunk-ACBGEKB7.js npm notice 3.3kB dist/chunks/chunk-BR4QREVK.js npm notice 9.6kB dist/chunks/chunk-C6WMLUNB.js npm notice 2.7kB dist/chunks/chunk-C27V5A2J.js npm notice 793.8kB dist/chunks/chunk-E7E2MFYM.js npm notice 1.6kB dist/chunks/chunk-EM6ETG2K.js npm notice 4.5kB dist/chunks/chunk-EY6BDW7Y.js npm notice 3.4MB dist/chunks/chunk-F6VKIMMG.js npm notice 2.4kB dist/chunks/chunk-FO7BIVSR.js npm notice 9.4kB dist/chunks/chunk-GVWPJCXU.js npm notice 11.4kB dist/chunks/chunk-ICEYVK66.js npm notice 756B dist/chunks/chunk-IWKSG2AR.js npm notice 2.5kB dist/chunks/chunk-J2S4EL5Y.js npm notice 14.1kB dist/chunks/chunk-JVD46YJV.js npm notice 542.0kB dist/chunks/chunk-K5PGHDBN.js npm notice 12.5kB dist/chunks/chunk-K72FHBFO.js npm notice 431.5kB dist/chunks/chunk-KQIKOTQJ.js npm notice 706B dist/chunks/chunk-MLZQVCF3.js npm notice 5.7kB dist/chunks/chunk-NQ3E7YLD.js npm notice 4.2kB dist/chunks/chunk-O4PICXES.js npm notice 1.9kB dist/chunks/chunk-ODPVJ6JJ.js npm notice 565B dist/chunks/chunk-OFEVLU4C.js npm notice 4.6kB dist/chunks/chunk-OIL7KDWV.js npm notice 93.2kB dist/chunks/chunk-P3MYAZBY.js npm notice 20.2kB dist/chunks/chunk-QN5NZ3UQ.js npm notice 61.0kB dist/chunks/chunk-QWSRH265.js npm notice 126.8kB dist/chunks/chunk-RDYWTWEM.js npm notice 1.0MB dist/chunks/chunk-T4VD6OJ4.js npm notice 1.2kB dist/chunks/chunk-TW522KN6.js npm notice 5.5kB dist/chunks/chunk-TXQI3VZ7.js npm notice 78.6kB dist/chunks/chunk-UFC57OYT.js npm notice 32.2kB dist/chunks/chunk-USE2VQ5P.js npm notice 3.4kB dist/chunks/chunk-UWCTAVOD.js npm notice 20.3kB dist/chunks/chunk-VMOWXTRC.js npm notice 304.2kB dist/chunks/chunk-XQMERN64.js npm notice 35.1kB dist/chunks/chunk-YLT64557.js npm notice 577.1kB dist/chunks/chunk-YMDXEEOW.js npm notice 18.7kB dist/chunks/chunk-ZERZSAZL.js npm notice 1.2kB dist/chunks/contextCommand-CKZYUFMF.js npm notice 6.9kB dist/chunks/cron-create-BTEOGHPH.js npm notice 2.2kB dist/chunks/cron-delete-56CEWELN.js npm notice 2.2kB dist/chunks/cron-list-SV6QRZW2.js npm notice 112.7kB dist/chunks/de-OIMT3OMI.js npm notice 874.8kB dist/chunks/devtools-WN62SQPV.js npm notice 258B dist/chunks/dist-63IS3ZMI.js npm notice 496.0kB dist/chunks/dist-BXDUQ2QY.js npm notice 213.3kB dist/chunks/dist-MN2PDDPR.js npm notice 21.3kB dist/chunks/dist-R2SXPG74.js npm notice 31.6kB dist/chunks/edit-GC3KYSOG.js npm notice 107.3kB dist/chunks/en-2IFZ5THF.js npm notice 8.2kB dist/chunks/enter-worktree-OQGGP7LE.js npm notice 12.7kB dist/chunks/exit-worktree-N3MAKALX.js npm notice 7.7kB dist/chunks/exitPlanMode-JVTC52HV.js npm notice 4.8kB dist/chunks/fileFromPath-IBEHA3CO.js npm notice 115.8kB dist/chunks/fr-PVELSHTV.js npm notice 7.8kB dist/chunks/geminiContentGenerator-LM65ADWM.js npm notice 1.5kB dist/chunks/getMachineId-bsd-GS3V2GK7.js npm notice 1.5kB dist/chunks/getMachineId-darwin-ZQB4Q7EW.js npm notice 1.3kB dist/chunks/getMachineId-linux-JQ4NN4DN.js npm notice 1.0kB dist/chunks/getMachineId-unsupported-U7H4V4HJ.js npm notice 1.7kB dist/chunks/getMachineId-win-VHUZGBQ3.js npm notice 10.3kB dist/chunks/glob-C6PRBP54.js npm notice 19.2kB dist/chunks/grep-4DBJAHL6.js npm notice 153.7kB dist/chunks/ja-P5TK5GNN.js npm notice 270B dist/chunks/keychain-token-storage-3552ENXE.js npm notice 1.5MB dist/chunks/lowlight-FYAAUU5J.js npm notice 9.3kB dist/chunks/ls-MYXAM7LJ.js npm notice 35.5kB dist/chunks/lsp-PFGI35JL.js npm notice 21.0kB dist/chunks/monitor-ZJDKLUGU.js npm notice 12.1kB dist/chunks/multipart-parser-3QWGTLK3.js npm notice 12.1kB dist/chunks/multipart-parser-IXGBIOIN.js npm notice 26.4kB dist/chunks/notebook-edit-KNKBZ27V.js npm notice 1.5kB dist/chunks/openaiContentGenerator-B2RMVAFB.js npm notice 111.9kB dist/chunks/pt-A5GHG66T.js npm notice 6.6kB dist/chunks/qwenContentGenerator-SRMLNU3F.js npm notice 1.1kB dist/chunks/qwenOAuth2-BAN2EGSH.js npm notice 614B dist/chunks/read-file-75OKIZ5N.js npm notice 1.1kB dist/chunks/ripGrep-J6KO3PIE.js npm notice 273.5kB dist/chunks/ru-66XKB4QX.js npm notice 5.0kB dist/chunks/send-message-JUFP62VD.js npm notice 1.8MB dist/chunks/serve-VQZ7VM47.js npm notice 1.3kB dist/chunks/shell-OYCZFPVV.js npm notice 14.2kB dist/chunks/skill-F45HR64T.js npm notice 44.8kB dist/chunks/src-2UFHPOQ7.js npm notice 47.4kB dist/chunks/src-IPWIHNMI.js npm notice 47.4kB dist/chunks/src-TMOD5X6F.js npm notice 368B dist/chunks/syntheticOutput-AKTXC6FR.js npm notice 7.3kB dist/chunks/task-stop-2NYFR2ES.js npm notice 20.8kB dist/chunks/todoWrite-WHZ2O2XP.js npm notice 13.0kB dist/chunks/tool-search-HKFIOIFC.js npm notice 1.9MB dist/chunks/tree-sitter-bash-EZ4S5QRV.js npm notice 254.7kB dist/chunks/tree-sitter-G7JNPPOS.js npm notice 202B dist/chunks/undici-4ARNOH74.js npm notice 259.9kB dist/chunks/web-fetch-S6MZXPZ5.js npm notice 16.3kB dist/chunks/write-file-Q7G3TKVB.js npm notice 131.1kB dist/chunks/zh-OB5P2ZDO.js npm notice 122.2kB dist/chunks/zh-TW-3ND6DQRX.js npm notice 6.1MB dist/cli.js npm notice 108.9kB dist/locales/ca.js npm notice 112.8kB dist/locales/de.js npm notice 108.4kB dist/locales/en.js npm notice 114.4kB dist/locales/fr.js npm notice 108.9kB dist/locales/ja.js npm notice 110.3kB dist/locales/pt.js npm notice 141.2kB dist/locales/ru.js npm notice 93.0kB dist/locales/zh-TW.js npm notice 101.8kB dist/locales/zh.js npm notice 1.0kB dist/sandbox-macos-permissive-closed.sb npm notice 899B dist/sandbox-macos-permissive-open.sb npm notice 1.3kB dist/sandbox-macos-permissive-proxied.sb npm notice 3.3kB dist/sandbox-macos-restrictive-closed.sb npm notice 3.4kB dist/sandbox-macos-restrictive-open.sb npm notice 3.6kB dist/sandbox-macos-restrictive-proxied.sb npm notice 4.5MB dist/vendor/ripgrep/arm64-darwin/rg npm notice 4.8MB dist/vendor/ripgrep/arm64-linux/rg npm notice 126B dist/vendor/ripgrep/COPYING npm notice 4.7MB dist/vendor/ripgrep/x64-darwin/rg npm notice 5.7MB dist/vendor/ripgrep/x64-linux/rg npm notice 5.4MB dist/vendor/ripgrep/x64-win32/rg.exe npm notice 1.4MB dist/vendor/tree-sitter/tree-sitter-bash.wasm npm notice 190.8kB dist/vendor/tree-sitter/tree-sitter.wasm npm notice 8.0kB package.json npm notice Bundled Dependencies npm notice dom-accessibility-api npm notice @alcalzone/ansi-tokenize npm notice @babel/code-frame npm notice @babel/helper-validator-identifier npm notice @babel/runtime npm notice @kwsites/file-exists npm notice @kwsites/promise-deferred npm notice @lydell/node-pty-linux-x64 npm notice @lydell/node-pty npm notice @testing-library/dom npm notice @types/aria-query npm notice ansi-escapes npm notice ansi-regex npm notice aria-query npm notice auto-bind npm notice cli-cursor npm notice code-excerpt npm notice convert-to-spaces npm notice debug npm notice dequal npm notice environment npm notice es-toolkit npm notice get-east-asian-width npm notice indent-string npm notice ink npm notice lz-string npm notice mimic-fn npm notice onetime npm notice patch-console npm notice picocolors npm notice react-reconciler npm notice restore-cursor npm notice scheduler npm notice stack-utils npm notice strip-ansi npm notice tagged-tag npm notice terminal-size npm notice yoga-layout npm notice ms npm notice simple-git npm notice Tarball Details npm notice name: @qwen-code/qwen-code npm notice version: 0.16.2 npm notice filename: qwen-code-qwen-code-0.16.2.tgz npm notice package size: 19.0 MB npm notice unpacked size: 68.3 MB npm notice shasum: 5cd59dde40fc1de5bbca33308a6b6e9258065737 npm notice integrity: sha512-qxRCM+tzisRDk[...]LzSap7Fyqdpaw== npm notice bundled deps: 40 npm notice bundled files: 0 npm notice own files: 4413 npm notice total files: 4413 npm notice qwen-code-qwen-code-0.16.2.tgz ==> Starting check()... > @qwen-code/acp-bridge@0.16.2 test > vitest run --exclude=**/{qwenConnectionHandler,useAtCompletion}.test.ts RUN v3.2.4 /startdir/src/qwen-code/packages/acp-bridge ✓ src/eventBus.test.ts (20 tests) 39ms ✓ src/status.test.ts (16 tests) 4ms ✓ src/inMemoryChannel.test.ts (8 tests) 111ms Test Files 3 passed (3) Tests 44 passed (44) Start at 20:32:23 Duration 2.18s (transform 1.13s, setup 0ms, collect 3.72s, tests 154ms, environment 1ms, prepare 240ms) > @qwen-code/qwen-code@0.16.2 test > vitest run --exclude=**/{qwenConnectionHandler,useAtCompletion}.test.ts RUN v3.2.4 /startdir/src/qwen-code/packages/cli Coverage enabled with v8 ✓ src/serve/auth/deviceFlow.test.ts (42 tests) 18ms (node:3202) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 end listeners added to [Socket]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit (Use `node --trace-warnings ...` to show where the warning was created) (node:3202) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 end listeners added to [Socket]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit ✓ src/ui/commands/exportCommand.test.ts (40 tests) 90ms (node:3202) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 finish listeners added to [Socket]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit (node:3202) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 error listeners added to [Socket]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit (node:3202) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 close listeners added to [Socket]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit (node:3202) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [Socket]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit (node:3202) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 finish listeners added to [Socket]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit (node:3202) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 error listeners added to [Socket]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit (node:3202) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 close listeners added to [Socket]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit (node:3202) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 data listeners added to [Socket]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit qwen serve: getMcpClientAccounting failed: config.getToolRegistry is not a function ✓ src/acp-integration/acpAgent.test.ts (55 tests) 2742ms ✓ src/ui/components/shared/vim-buffer-actions.test.ts (74 tests) 20ms ✓ src/utils/modelConfigUtils.test.ts (46 tests) 41ms ✓ src/services/insight/generators/DataProcessor.test.ts (38 tests) 85ms ✓ src/ui/hooks/useStatusLine.test.ts (59 tests) 2219ms ✓ useStatusLine > config validation > returns null when no statusLine config is set 2114ms ✓ src/ui/components/shared/text-buffer.test.ts (152 tests) 162ms ✓ src/services/FileCommandLoader.test.ts (40 tests) 93ms ✓ src/config/settings.test.ts (111 tests) 95ms ✓ src/serve/fs/workspaceFileSystem.test.ts (63 tests) 158ms qwen serve: statusProvider.getEnvStatus failed; falling back to idle envelope: boom — env collector crashed qwen serve: statusProvider.getDaemonPreflightCells failed; falling back to empty daemon cells: boom — preflight collector crashed ✓ src/ui/hooks/vim.test.ts (89 tests) 425ms qwen serve: workspace_mismatch (POST /session): daemon bound to "/work/bound", rejected "/work/different" qwen serve: bridge error (POST /session): Error: boom at spawnImpl (/startdir/src/qwen-code/packages/cli/src/serve/server.test.ts:1600:17) at Object.spawnOrAttach (/startdir/src/qwen-code/packages/cli/src/serve/server.test.ts:561:28) at /startdir/src/qwen-code/packages/cli/src/serve/server.ts:929:36 at Layer.handleRequest (/startdir/src/qwen-code/node_modules/router/lib/layer.js:152:17) at next (/startdir/src/qwen-code/node_modules/router/lib/route.js:157:13) at passthrough (/startdir/src/qwen-code/packages/cli/src/serve/auth.ts:248:8) at Layer.handleRequest (/startdir/src/qwen-code/node_modules/router/lib/layer.js:152:17) at next (/startdir/src/qwen-code/node_modules/router/lib/route.js:157:13) at Route.dispatch (/startdir/src/qwen-code/node_modules/router/lib/route.js:117:3) at handle (/startdir/src/qwen-code/node_modules/router/index.js:435:11) qwen serve: channel exited (code=none, signal=none, 1 session(s) torn down) qwen serve: workspace_mismatch (POST /session): daemon bound to "/work/bound", rejected "/work/different" qwen serve: bridge error (POST /session/:id/prompt session=session-A): Error: agent crashed at promptImpl (/startdir/src/qwen-code/packages/cli/src/serve/server.test.ts:1948:17) at Object.sendPrompt (/startdir/src/qwen-code/packages/cli/src/serve/server.test.ts:582:14) at /startdir/src/qwen-code/packages/cli/src/serve/server.ts:1156:35 at Layer.handleRequest (/startdir/src/qwen-code/node_modules/router/lib/layer.js:152:17) at next (/startdir/src/qwen-code/node_modules/router/lib/route.js:157:13) at passthrough (/startdir/src/qwen-code/packages/cli/src/serve/auth.ts:248:8) at Layer.handleRequest (/startdir/src/qwen-code/node_modules/router/lib/layer.js:152:17) at next (/startdir/src/qwen-code/node_modules/router/lib/route.js:157:13) at Route.dispatch (/startdir/src/qwen-code/node_modules/router/lib/route.js:117:3) at handle (/startdir/src/qwen-code/node_modules/router/index.js:435:11) qwen serve listening on http://127.0.0.1:45167 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli) qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli" qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable. qwen serve: channel exited (code=none, signal=none, 0 session(s) torn down) ✓ src/ui/hooks/useGeminiStream.test.tsx (101 tests) 936ms qwen serve: channel exited (code=none, signal=none, 0 session(s) torn down) qwen serve: channel exited (code=none, signal=none, 1 session(s) torn down) qwen serve: channel exited (code=none, signal=none, 1 session(s) torn down) qwen serve: channel exited (code=none, signal=none, 0 session(s) torn down) ✓ src/acp-integration/session/Session.test.ts (73 tests) 540ms qwen serve: /health deep probe failed: bridge wedged qwen serve listening on http://127.0.0.1:44707 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli) qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli" qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable. qwen serve listening on http://127.0.0.1:36357 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli) qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli" qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable. qwen serve listening on http://127.0.0.1:33873 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli) qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli" qwen serve: --require-auth enabled (bearer token mandatory on every route, including loopback /health). qwen serve listening on http://0.0.0.0:46739 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli) qwen serve listening on http://127.0.0.1:45925 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli) qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli" qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli" qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable. qwen serve listening on http://127.0.0.1:32791 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli) qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli" qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable. qwen serve listening on http://127.0.0.1:36279 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli) qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli" qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable. qwen serve listening on http://127.0.0.1:39695 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli) qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli" qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable. qwen serve listening on http://Localhost:38127 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli) qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli" qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable. qwen serve listening on http://[::1]:43317 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli) qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli" qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable. qwen serve listening on http://[::1]:34963 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli) qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli" qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable. qwen serve listening on http://127.0.0.1:36601 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli) qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli" qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable. qwen serve listening on http://127.0.0.1:45969 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli) qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli" qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable. qwen serve listening on http://127.0.0.1:38111 (mode=http-bridge, workspace=/tmp/qwen-runqwen-fs-Ttxiqm) qwen serve: bound to workspace "/tmp/qwen-runqwen-fs-Ttxiqm" qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable. qwen serve: closing session "sess:/work/a" qwen serve: dropping mcp guardrail extNotification for tombstoned session "sess:/work/a" (post-close stale event) qwen serve listening on http://127.0.0.1:34219 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli) qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli" qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable. qwen serve listening on http://127.0.0.1:34499 (mode=http-bridge, workspace=/tmp/qwen-runqwen-trust-7LLLWJ) qwen serve: bound to workspace "/tmp/qwen-runqwen-trust-7LLLWJ" qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable. qwen serve listening on http://127.0.0.1:36167 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli) qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli" qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable. qwen serve listening on http://127.0.0.1:44349 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli) qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli" qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable. qwen serve listening on http://127.0.0.1:41035 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli) qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli" qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable. qwen serve listening on http://127.0.0.1:33383 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli) qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli" qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable. qwen serve listening on http://127.0.0.1:35981 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli) qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli" qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable. qwen serve listening on http://127.0.0.1:42855 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli) qwen serve listening on http://127.0.0.1:36787 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli) qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli" qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable. qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli" qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable. qwen serve listening on http://127.0.0.1:46605 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli) qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli" qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable. qwen serve: rejected ?maxQueued "" (not a decimal integer) qwen serve listening on http://127.0.0.1:44247 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli) qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli" qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable. qwen serve: rejected ?maxQueued "abc" (not a decimal integer) qwen serve listening on http://127.0.0.1:37735 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli) qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli" qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable. qwen serve: rejected ?maxQueued "0" (outside [16, 2048]) qwen serve: rejected ?maxQueued "15" (outside [16, 2048]) qwen serve: rejected ?maxQueued "2049" (outside [16, 2048]) qwen serve: rejected ?maxQueued "9999" (outside [16, 2048]) qwen serve listening on http://127.0.0.1:41957 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli) qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli" qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable. qwen serve listening on http://127.0.0.1:42431 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli) qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli" qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable. qwen serve: closing session "sess:/work/a" qwen serve: WARNING aliveChannels.size=3 (expected 1, max 2 during killSession-then-spawnOrAttach overlap) — possible channel leak; check that prior channels' channel.exited fired and the handler ran cleanup. ✓ src/utils/settingsUtils.test.ts (78 tests) 19ms qwen serve: channel exited (code=none, signal=none, 0 session(s) torn down) qwen serve: channel exited (code=none, signal=none, 0 session(s) torn down) qwen serve: channel exited (code=none, signal=none, 0 session(s) torn down) qwen serve: channel exited (code=none, signal=none, 3 session(s) torn down) qwen serve: closing session "sess:/work/a" qwen serve: channel exited (code=none, signal=none, 0 session(s) torn down) qwen serve: closing session "sess:/work/a" qwen serve: updated session metadata "sess:/work/a" displayName=set qwen serve: closing session "sess:/work/a" qwen serve: channel exited (code=none, signal=none, 0 session(s) torn down) qwen serve: closing session "sess:/work/a" qwen serve: channel exited (code=none, signal=none, 0 session(s) torn down) qwen serve listening on http://127.0.0.1:46475 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli) qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli" qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable. qwen serve listening on http://127.0.0.1:39885 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli) qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli" qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable. qwen serve listening on http://127.0.0.1:39275 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli) qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli" qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable. qwen serve: rejected Last-Event-ID "abc" (not a decimal integer) qwen serve: rejected Last-Event-ID "-1" (not a decimal integer) qwen serve: rejected Last-Event-ID "1.5e10z" (not a decimal integer) qwen serve: fs audit emit is the default no-op — 1 event(s) dropped so far. Latest type=fs.denied (errorKind=untrusted_workspace intent=write pathHash=77926a1b6e9d27e4). Inject deps.fsFactory in createServeApp to wire audit into the EventBus. [serve] auth.device-flow: provider=qwen-oauth deviceFlowId=140e72e7... clientId=- status=started expiresInMs=600000 [serve] auth.device-flow: provider=qwen-oauth deviceFlowId=9ae74ea5... clientId=- status=started expiresInMs=600000 [serve] auth.device-flow: provider=qwen-oauth deviceFlowId=5d4fc1e8... clientId=sdk-A status=started expiresInMs=600000 [serve] auth.device-flow: provider=qwen-oauth deviceFlowId=5d4fc1e8... clientId=sdk-B status=started hint="take-over (per-provider singleton; original initiator=sdk-A)" [serve] auth.device-flow: provider=qwen-oauth deviceFlowId=6df97ebe... clientId=- status=started expiresInMs=600000 [serve] auth.device-flow: provider=qwen-oauth deviceFlowId=81b55dd8... clientId=- status=started expiresInMs=600000 [serve] auth.device-flow: provider=qwen-oauth deviceFlowId=d3f4d8f4... clientId=- status=started expiresInMs=600000 [serve] auth.device-flow: provider=qwen-oauth deviceFlowId=d3f4d8f4... clientId=- status=cancelled [serve] auth.device-flow: provider=qwen-oauth deviceFlowId=36e97acc... clientId=- status=started expiresInMs=600000 ✓ src/serve/httpAcpBridge.test.ts (161 tests) 1375ms [serve] auth.device-flow: provider=qwen-oauth deviceFlowId=2c352c80... clientId=sdk-A status=started expiresInMs=600000 [serve] auth.device-flow: provider=qwen-oauth deviceFlowId=09230706... clientId=- status=started expiresInMs=600000 [serve] auth.device-flow: provider=qwen-oauth deviceFlowId=6f19f088... clientId=- status=started expiresInMs=600000 ✓ src/ui/contexts/KeypressContext.test.tsx (93 tests) 1633ms ✓ KeypressContext - Kitty Protocol > Enter key handling > auto-recovers from a stuck paste mode via idle timeout 1255ms ✓ src/serve/server.test.ts (225 tests) 1162ms ✓ src/ui/hooks/slashCommandProcessor.test.ts (46 tests) 2460ms ✓ src/ui/hooks/atCommandProcessor.test.ts (43 tests) 103ms ✓ src/nonInteractive/io/BaseJsonOutputAdapter.test.ts (96 tests) 36ms ✓ src/config/config.test.ts (221 tests | 2 skipped) 1069ms qwen serve: DELETE /workspace/agents/"partial-target" partial — removed=project remaining=user:/tmp/qwen-serve-agents-Hd3Hn2/global/agents/partial-target.md ✓ src/utils/nonInteractiveHelpers.test.ts (60 tests) 25ms ✓ src/serve/workspaceAgents.test.ts (38 tests) 273ms ✓ src/ui/commands/doctorCommand.test.ts (36 tests) 46ms ✓ src/nonInteractiveCli.test.ts (46 tests | 1 skipped) 432ms ✓ src/ui/hooks/useSlashCompletion.test.ts (30 tests) 730ms ✓ src/nonInteractive/io/StreamJsonOutputAdapter.test.ts (50 tests) 28ms ✓ src/nonInteractive/control/ControlDispatcher.test.ts (35 tests) 32ms ✓ src/ui/hooks/useSelectionList.test.ts (46 tests) 91ms ✓ src/nonInteractive/session.test.ts (27 tests) 370ms ✓ src/ui/components/messages/ToolGroupMessage.test.tsx (32 tests) 972ms ✓ src/utils/memoryDiagnostics.test.ts (23 tests) 55ms ✓ src/ui/commands/languageCommand.test.ts (48 tests) 63ms ✓ src/utils/errors.test.ts (42 tests) 58ms ✓ src/ui/components/SettingsDialog.test.tsx (53 tests) 4874ms ✓ SettingsDialog > Settings Toggling > should sync compact mode with CompactModeContext when toggled 565ms ✓ SettingsDialog > String Settings Editing > should allow editing and committing a string setting 498ms ✓ src/ui/daemon/DaemonTuiAdapter.test.ts (14 tests) 41ms ✓ src/ui/utils/osc8.test.ts (79 tests) 16ms ✓ src/services/prompt-processors/shellProcessor.test.ts (34 tests) 49ms ✓ src/ui/components/shared/text-buffer-external-editor.test.ts (36 tests) 103ms ✓ src/ui/components/messages/ToolMessage.test.tsx (35 tests) 1077ms (node:4445) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 resize listeners added to [Socket]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit (Use `node --trace-warnings ...` to show where the warning was created) ✓ src/ui/utils/mermaidImageRenderer.test.ts (25 tests) 937ms ✓ mermaid image renderer > evicts Mermaid image caches by retained byte size 318ms ✓ src/nonInteractive/io/JsonOutputAdapter.test.ts (35 tests) 31ms ✓ src/ui/utils/mergeCompactToolGroups.test.ts (32 tests) 9ms ✓ src/acp-integration/session/SubAgentTracker.test.ts (24 tests) 269ms ✓ src/ui/components/StandaloneSessionPicker.test.tsx (19 tests) 537ms ✓ src/ui/utils/commandUtils.test.ts (51 tests) 49ms ✓ src/ui/hooks/useToolScheduler.test.ts (17 tests) 51ms ✓ src/ui/components/background-view/LiveAgentPanel.test.tsx (25 tests) 936ms ✓ src/acp-integration/session/emitters/ToolCallEmitter.test.ts (34 tests) 18ms ✓ src/ui/hooks/useCommandCompletion.test.ts (26 tests) 108ms ✓ src/ui/utils/TableRenderer.test.tsx (60 tests | 1 skipped) 1963ms ✓ src/ui/hooks/shellCommandProcessor.test.ts (20 tests) 403ms ✓ src/ui/hooks/useBackgroundTaskView.test.ts (15 tests) 49ms ✓ src/ui/components/background-view/BackgroundTasksDialog.test.tsx (30 tests) 2390ms ✓ src/ui/commands/copyCommand.test.ts (25 tests) 34ms ✓ src/ui/commands/diffCommand.test.ts (25 tests) 25ms ✓ src/ui/utils/MarkdownDisplay.test.tsx (101 tests) 3310ms ✓ src/ui/utils/customBanner.test.ts (40 tests) 34ms ✓ src/validateNonInterActiveAuth.test.ts (13 tests) 25ms ✓ src/ui/commands/modelCommand.test.ts (20 tests) 35ms ✓ src/ui/commands/clearCommand.test.ts (13 tests) 31ms ✓ src/ui/hooks/useBranchCommand.test.ts (16 tests) 50ms ✓ src/ui/components/agent-view/agentHistoryAdapter.test.ts (35 tests) 11ms qwen serve: GET /file rejected request missing required ?path qwen serve: GET /stat unexpected error: bound workspace is not configured ✓ src/serve/routes/workspaceFileRead.test.ts (31 tests) 262ms ✓ src/config/migration/versions/v2-to-v3.test.ts (31 tests) 13ms ✓ src/utils/languageUtils.test.ts (45 tests) 13ms ✓ src/ui/hooks/useAutoAcceptIndicator.test.ts (15 tests) 58ms qwen serve: POST /workspace/memory refused — existing file /tmp/qwen-serve-memory-kaoMrh/workspace/QWEN.md is 17825792 bytes (cap 16777216) qwen serve: POST /workspace/memory failed (scope=workspace mode=append): Error: EACCES: permission denied, open '/tmp/qwen-serve-memory-bmMjLo/workspace/QWEN.md' at open (node:internal/fs/promises:1281:25) at Object.writeFile (node:internal/fs/promises:1899:14) at runWrite (/startdir/src/qwen-code/packages/core/src/memory/writeContextFile.ts:215:3) at /startdir/src/qwen-code/packages/core/src/memory/writeContextFile.ts:161:19 qwen serve: POST /workspace/memory failed (scope=workspace mode=append): Error: EACCES: permission denied, open '/tmp/qwen-serve-memory-bmMjLo/workspace/QWEN.md' at open (node:internal/fs/promises:1281:25) at Object.writeFile (node:internal/fs/promises:1899:14) at runWrite (/startdir/src/qwen-code/packages/core/src/memory/writeContextFile.ts:215:3) at /startdir/src/qwen-code/packages/core/src/memory/writeContextFile.ts:161:19 qwen serve: GET /workspace/memory failed: Error: boom at Storage. (/startdir/src/qwen-code/packages/cli/src/serve/workspaceMemory.test.ts:448:17) at Storage.mockCall (file:///startdir/src/qwen-code/node_modules/@vitest/spy/dist/index.js:96:15) at Storage.getGlobalQwenDir (file:///startdir/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103) at collectWorkspaceMemoryStatus (/startdir/src/qwen-code/packages/cli/src/serve/workspaceMemory.ts:340:29) at /startdir/src/qwen-code/packages/cli/src/serve/workspaceMemory.ts:88:22 ✓ src/config/jsonSchemaArg.test.ts (40 tests) 340ms ✓ src/ui/components/MainContent.test.tsx (7 tests) 825ms ✓ src/serve/workspaceMemory.test.ts (17 tests) 241ms ✓ src/ui/components/ModelDialog.test.tsx (13 tests) 162ms ✓ src/ui/commands/renameCommand.test.ts (22 tests) 27ms ✓ src/ui/keyMatchers.test.ts (39 tests) 14ms ✓ src/ui/hooks/useSessionSearchInput.test.ts (32 tests) 74ms ✓ src/ui/hooks/useExtensionUpdates.test.ts (15 tests) 325ms ✓ src/serve/fs/paths.test.ts (29 tests) 31ms ✓ src/ui/components/StatsDisplay.test.tsx (17 tests) 706ms ✓ src/ui/AppContainer.test.tsx (77 tests) 7155ms ✓ src/ui/commands/directoryCommand.test.tsx (17 tests) 21ms ✓ src/ui/hooks/useDeleteCommand.test.ts (14 tests) 78ms ❯ src/ui/auth/AuthDialog.test.tsx (24 tests | 1 failed) 12871ms ✓ AuthDialog > should show an error if the initial auth type is invalid 89ms ✓ AuthDialog > GEMINI_API_KEY environment variable > should detect GEMINI_API_KEY environment variable 30ms ✓ AuthDialog > GEMINI_API_KEY environment variable > should not show the GEMINI_API_KEY message if QWEN_DEFAULT_AUTH_TYPE is set to something else 24ms ✓ AuthDialog > GEMINI_API_KEY environment variable > should show the GEMINI_API_KEY message if QWEN_DEFAULT_AUTH_TYPE is set to use api key 24ms ✓ AuthDialog > QWEN_DEFAULT_AUTH_TYPE environment variable > should select the auth type specified by QWEN_DEFAULT_AUTH_TYPE 18ms ✓ AuthDialog > QWEN_DEFAULT_AUTH_TYPE environment variable > should fall back to default if QWEN_DEFAULT_AUTH_TYPE is not set 27ms ✓ AuthDialog > QWEN_DEFAULT_AUTH_TYPE environment variable > should show an error and fall back to default if QWEN_DEFAULT_AUTH_TYPE is invalid 23ms ✓ AuthDialog > should prevent exiting when no auth method is selected and show error message 95ms ✓ AuthDialog > should not exit if there is already an error message 103ms ✓ AuthDialog > should allow exiting when auth method is already selected 102ms ✓ AuthDialog > should preserve the selected main entry when returning from each top-level flow 647ms ✓ AuthDialog > should go back from Coding Plan region selection to Alibaba ModelStudio 207ms ✓ AuthDialog > should go back from third-party provider API key input to provider list 261ms ✓ AuthDialog > should show preset providers in third-party provider options 165ms ✓ AuthDialog > drives API key provider steps from endpoint options metadata 352ms ✓ AuthDialog > should show Alibaba ModelStudio access methods after selecting Alibaba ModelStudio 102ms ✓ AuthDialog > should submit Token Plan through the shared subscription handler 479ms ✓ AuthDialog > should return from Token Plan API key input to Token Plan selection 257ms ✓ AuthDialog Custom API Key Wizard > navigates to protocol selection when Custom API Key is selected 220ms × AuthDialog Custom API Key Wizard > navigates to base URL input after selecting a protocol 5271ms → expected '┌────────────────────────────────────…' to contain 'Custom Provider · Step 2/6 · Base URL' ✓ AuthDialog Custom API Key Wizard > shows review screen with JSON after entering model IDs 1242ms ✓ AuthDialog Custom API Key Wizard > calls handleProviderSubmit on Enter in review view 913ms ✓ AuthDialog Custom API Key Wizard > shows advanced config screen after entering model IDs 978ms ✓ AuthDialog Custom API Key Wizard > passes generationConfig when advanced options are toggled 1238ms ✓ src/ui/commands/btwCommand.test.ts (17 tests) 74ms ]2;Qwen - cli]2;Qwen - cli]2;Qwen - root]2;Qwen - root]2;Qwen - root ✓ src/utils/startupProfiler.test.ts (19 tests) 64ms ✓ src/ui/components/shared/BaseSelectionList.test.tsx (25 tests | 1 skipped) 1972ms ✓ BaseSelectionList > Scrolling and Pagination (maxItemsToShow) > should handle dynamic scrolling through multiple activeIndex changes 304ms ✓ src/gemini.test.tsx (23 tests) 5145ms ✓ gemini.tsx main function > verifies that we dont load the config before relaunchAppInChildProcess 543ms ✓ gemini.tsx main function > should skip full settings discovery in bare mode 509ms ✓ gemini.tsx main function > passes the outer session ID into the sandbox child process 504ms ✓ gemini.tsx main function > does not pass an empty session ID into the sandbox child process 502ms ✓ gemini.tsx main function > does not inject sandbox session ID when argv contains --continue 503ms ✓ gemini.tsx main function > does not inject sandbox session ID when argv contains -c 505ms ✓ gemini.tsx main function > does not inject sandbox session ID when argv contains --resume 502ms ✓ gemini.tsx main function > does not inject sandbox session ID when argv contains -r 504ms ✓ gemini.tsx main function > does not inject sandbox session ID when argv contains --session-id 503ms ✓ gemini.tsx main function > inserts the sandbox session ID before the argument separator 503ms ✓ src/ui/components/ModelStatsDisplay.test.tsx (16 tests) 1633ms ✓ src/services/McpPromptLoader.test.ts (25 tests) 29ms ✓ src/ui/utils/InlineMarkdownRenderer.test.tsx (23 tests) 1536ms ✓ src/ui/components/messages/ToolConfirmationMessage.test.tsx (19 tests) 1604ms Error parsing settings file. Settings file may be corrupted: Unexpected end of JSON input ✓ src/utils/systemInfo.test.ts (22 tests) 73ms ✓ src/ui/commands/tasksCommand.test.ts (10 tests) 31ms ✓ src/ui/commands/statsCommand.test.ts (13 tests) 61ms ✓ src/utils/commentJson.test.ts (18 tests) 51ms ✓ src/commands/mcp/add.test.ts (25 tests) 352ms ✓ src/ui/hooks/useProviderUpdates.test.ts (13 tests) 260ms ✓ src/serve/auth/qwenDeviceFlowProvider.test.ts (9 tests) 15ms ✓ src/startup/worktreeStartup.test.ts (15 tests) 3394ms ✓ setupStartupWorktree > creates a worktree with an auto-generated slug for bare --worktree 424ms ✓ setupStartupWorktree > creates a worktree with an explicit slug 473ms ✓ setupStartupWorktree > rejects full GitHub PR URLs when origin remote is missing 322ms ✓ setupStartupWorktree > creates a pr- worktree from FETCH_HEAD when fetch succeeds (local fake remote) 832ms ✓ setupStartupWorktree > re-attaches to an existing worktree instead of erroring (Phase 6 G1 fix) 658ms ✓ src/nonInteractiveCliCommands.test.ts (19 tests) 75ms ✓ src/acp-integration/acpAgent.worktree.test.ts (3 tests) 210ms ✓ src/acp-integration/session/HistoryReplayer.test.ts (17 tests) 48ms ✓ src/services/CommandService.test.ts (15 tests) 40ms ✓ src/ui/utils/textUtils.test.ts (29 tests) 34ms ✓ src/utils/handleAutoUpdate.test.ts (18 tests) 40ms ✓ src/ui/hooks/useResumeCommand.test.ts (9 tests) 64ms ✓ src/ui/components/Composer.test.tsx (20 tests) 969ms ✓ src/config/trustedFolders.test.ts (21 tests) 39ms ✓ src/ui/commands/arenaCommand.test.ts (15 tests) 178ms ✓ src/ui/hooks/useQwenAuth.test.ts (17 tests) 74ms ✓ src/ui/commands/aboutCommand.test.ts (12 tests) 41ms ✓ src/ui/components/QwenOAuthProgress.test.tsx (18 tests) 1152ms ✓ src/config/migration/index.test.ts (26 tests) 51ms ✓ src/ui/commands/goalCommand.test.ts (18 tests) 40ms ✓ src/serve/fs/audit.test.ts (13 tests) 11ms ✓ src/commands/extensions/settings.test.ts (20 tests) 116ms ✓ src/ui/components/messages/AskUserQuestionDialog.test.tsx (18 tests | 1 skipped) 3577ms ✓ > single-select interaction > keeps bare k/j in custom input while Ctrl+P/N still navigates options 737ms ✓ > multiple questions > does not auto-submit when pressing number key on Submit tab 326ms ✓ src/ui/auth/useAuth.test.ts (23 tests) 90ms ✓ src/config/settingsSchema.test.ts (18 tests) 45ms ✓ src/services/commandMetadata.test.ts (36 tests) 24ms ✓ src/utils/doctorChecks.test.ts (18 tests) 70ms ✓ src/ui/components/messages/DiffRenderer.test.tsx (16 tests) 1417ms ✓ src/ui/themes/detect-terminal-theme.test.ts (29 tests) 51ms ✓ src/config/auth.test.ts (17 tests) 80ms ✓ src/utils/apiPreconnect.test.ts (26 tests) 31ms ✓ src/services/SkillCommandLoader.test.ts (18 tests) 31ms ✓ src/acp-integration/session/rewrite/MessageRewriteMiddleware.test.ts (11 tests) 41ms ✓ src/utils/installationInfo.test.ts (16 tests) 35ms ✓ src/ui/components/LoadingIndicator.test.tsx (24 tests) 1535ms Invalid values: Argument: approval-mode, Given: "invalid_mode", Choices: "plan", "default", "auto-edit", "auto", "yolo" Cannot use both --yolo (-y) and --approval-mode together. Use --approval-mode=yolo instead. process.exit unexpectedly called with "1" ✓ src/config/config.integration.test.ts (19 tests) 1772ms ✓ Configuration Integration Tests > Approval Mode Integration Tests > should parse --approval-mode=auto-edit correctly through the full argument parsing flow 1576ms ✓ src/ui/utils/todoSnapshot.test.ts (14 tests) 22ms ✓ src/utils/sessionPaths.test.ts (8 tests) 69ms ✓ src/utils/warningHandler.test.ts (13 tests) 404ms ✓ initializeWarningHandler — end-to-end stderr behavior > a child process with the handler installed does not print suppressed AbortSignal warnings to stderr 385ms ✓ src/commands/extensions/consent.test.ts (17 tests) 40ms ✓ src/ui/utils/resumeHistoryUtils.test.ts (5 tests) 8ms ✓ src/commands/extensions/update.test.ts (14 tests) 36ms ✓ src/ui/components/shared/MaxSizedBox.test.tsx (21 tests) 1263ms ✓ src/utils/earlyInputCapture.test.ts (28 tests) 40ms ✓ src/services/BundledSkillLoader.test.ts (16 tests) 47ms Fatal error: Failed to relaunch the CLI process. PROCESS_EXIT_CALLED Fatal error: Failed to relaunch the CLI process. PROCESS_EXIT_CALLED Fatal error: Failed to relaunch the CLI process. Runner failed node:internal/modules/cjs/loader:1522 throw err; ^ Error: Cannot find module '/app/cli.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1519:15) at wrapResolveFilename (node:internal/modules/cjs/loader:1073:27) at defaultResolveImplForCJSLoading (node:internal/modules/cjs/loader:1097:10) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1124:12) at Module._load (node:internal/modules/cjs/loader:1296:5) at wrapModuleLoad (node:internal/modules/cjs/loader:255:19) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v26.2.0 Fatal error: Failed to relaunch the CLI process. PROCESS_EXIT_CALLED ✓ src/serve/fs/contract.test.ts (10 tests) 48ms ✓ src/utils/osc.test.ts (30 tests) 23ms ✓ src/utils/relaunch.test.ts (8 tests) 68ms ✓ src/services/FileCommandLoader-extension.test.ts (6 tests) 40ms ✓ src/ui/utils/restoreGoal.test.ts (18 tests) 15ms ✓ src/ui/components/hooks/constants.test.ts (27 tests) 58ms ✓ src/acp-integration/session/Session.worktree.test.ts (4 tests) 52ms ✓ src/ui/commands/restoreCommand.test.ts (13 tests) 57ms ✓ src/services/BuiltinCommandLoader.test.ts (10 tests) 45ms ✓ src/ui/themes/theme-manager.test.ts (18 tests) 47ms ✓ src/ui/commands/contextCommand.test.ts (7 tests) 52ms ✓ src/utils/envVarResolver.test.ts (16 tests) 30ms ✓ src/serve/envSnapshot.test.ts (13 tests) 506ms ✓ src/utils/writeWithBackup.test.ts (12 tests) 25ms ✓ src/ui/utils/historyMapping.test.ts (16 tests) 14ms ✓ src/ui/hooks/useKeypress.test.ts (15 tests) 120ms ✓ src/ui/components/Help.test.tsx (8 tests) 1096ms ✓ src/config/migration/versions/v3-to-v4.test.ts (32 tests) 22ms ✓ src/services/prompt-processors/injectionParser.test.ts (21 tests) 57ms ✓ src/utils/runBudget.test.ts (42 tests) 41ms ✓ src/acp-integration/session/rewrite/LlmRewriter.test.ts (9 tests) 8ms ✓ src/serve/routes/workspaceFileWrite.test.ts (10 tests) 204ms ✓ src/ui/commands/ideCommand.test.ts (8 tests) 18ms ✓ src/ui/themes/color-utils.test.ts (16 tests) 9ms ✓ src/ui/hooks/useShellHistory.test.ts (7 tests) 580ms ✓ src/ui/hooks/useInputHistoryStore.test.ts (14 tests) 41ms ✓ src/ui/hooks/useInputHistory.test.ts (11 tests) 38ms ✓ src/ui/components/HistoryItemDisplay.test.tsx (14 tests) 685ms ✓ src/ui/hooks/useMessageQueue.test.ts (16 tests) 50ms ✓ src/ui/hooks/useExportCompletion.test.ts (20 tests) 66ms ✓ src/ui/components/messages/InlineParallelAgentsDisplay.test.tsx (6 tests) 239ms ✓ src/ui/hooks/useEditorSettings.test.ts (10 tests) 69ms ✓ src/ui/hooks/useSessionPicker.test.tsx (8 tests) 62ms ✓ src/ui/utils/computeStats.test.ts (12 tests) 27ms ✓ src/commands/mcp/reconnect.test.ts (6 tests) 21ms ✓ src/ui/hooks/useTrustModify.test.ts (8 tests) 61ms ✓ src/config/migration/versions/v1-to-v2.test.ts (20 tests) 44ms ✓ src/ui/hooks/useTurnDiffs.test.ts (7 tests) 333ms ✓ src/services/prompt-processors/atFileProcessor.test.ts (11 tests) 46ms ✓ src/ui/components/hooks/HookConfigDetailStep.test.tsx (14 tests) 1068ms ✓ src/services/command-migration-tool.test.ts (13 tests) 62ms ✓ src/ui/hooks/useReverseSearchCompletion.test.tsx (10 tests) 110ms ✓ src/acp-integration/session/emitters/PlanEmitter.test.ts (17 tests) 25ms ✓ src/ui/commands/extensionsCommand.test.ts (9 tests) 58ms ✓ src/utils/gitUtils.test.ts (24 tests) 33ms ✓ src/ui/hooks/useLoadingIndicator.test.ts (8 tests) 82ms ✓ src/acp-integration/session/emitters/MessageEmitter.test.ts (13 tests) 26ms ✓ src/serve/fs/policy.test.ts (18 tests) 105ms ✓ src/ui/utils/formatters.test.ts (32 tests) 14ms ✓ src/ui/hooks/useHistoryManager.test.ts (8 tests) 54ms ✓ src/serve/fs/errors.test.ts (20 tests) 12ms ✓ src/commands/extensions/install.test.ts (8 tests) 53ms ✓ src/ui/hooks/useAttentionNotifications.test.ts (9 tests) 73ms ✓ src/ui/components/PluginChoicePrompt.test.tsx (13 tests) 908ms ✓ src/ui/components/hooks/HooksManagementDialog.test.tsx (8 tests) 1352ms ✓ src/ui/commands/setupGithubCommand.test.ts (8 tests) 151ms ✓ src/ui/hooks/useIdeTrustListener.test.ts (5 tests) 48ms ✓ src/commands/channel/start.test.ts (4 tests) 25ms ✓ src/ui/commands/insightCommand.test.ts (4 tests) 58ms ✓ src/nonInteractive/io/StreamJsonInputReader.test.ts (11 tests) 41ms ✓ src/ui/statusLinePresets.test.ts (11 tests) 23ms ✓ src/ui/hooks/useGitBranchName.test.ts (7 tests | 2 skipped) 127ms ✓ src/ui/components/Footer.test.tsx (11 tests) 588ms ✓ src/ui/components/Header.test.tsx (18 tests) 1041ms ✓ src/ui/utils/highlight.test.ts (18 tests) 16ms ✓ src/ui/components/messages/CompressionMessage.test.tsx (8 tests) 783ms ✓ src/ui/hooks/useFolderTrust.test.ts (9 tests) 83ms ✓ src/ui/hooks/usePhraseCycler.test.ts (9 tests) 62ms ✓ src/ui/utils/synchronizedOutput.test.ts (17 tests) 19ms ✓ src/services/commandUtils.test.ts (14 tests) 21ms ✓ src/config/loadedSettingsAdapter.test.ts (5 tests) 25ms ✓ src/serve/auth.test.ts (6 tests) 10ms ✓ src/ui/commands/bugCommand.test.ts (3 tests) 42ms ✓ src/ui/commands/lspCommand.test.ts (7 tests) 12ms ✓ src/dualOutput/DualOutputBridge.test.ts (12 tests) 53ms ✓ src/ui/components/arena/ArenaSelectDialog.test.tsx (5 tests) 657ms ✓ src/ui/components/hooks/HookDetailStep.test.tsx (12 tests) 987ms ✓ src/ui/components/background-view/BackgroundTasksPill.test.tsx (16 tests) 13ms ✓ src/commands/channel/config-utils.test.ts (15 tests) 14ms ✓ src/ui/components/StatusLineDialog.test.tsx (4 tests) 651ms ✓ src/ui/components/TrustDialog.test.tsx (6 tests) 636ms ✓ src/commands/mcp/list.test.ts (4 tests) 12ms ✓ src/ui/contexts/SessionContext.test.tsx (4 tests) 198ms ✓ src/core/initializer.test.ts (11 tests) 12ms ✓ src/utils/deepMerge.test.ts (13 tests) 10ms ✓ src/ui/commands/approvalModeCommand.test.ts (13 tests) 17ms ✓ src/ui/models/availableModels.test.ts (14 tests) 9ms ✓ src/ui/utils/lowlightLoader.test.ts (5 tests) 52ms ✓ src/i18n/mustTranslateKeys.test.ts (19 tests) 335ms ✓ src/ui/commands/initCommand.test.ts (5 tests) 14ms ✓ src/ui/components/Tips.test.ts (9 tests) 8ms ✓ src/ui/components/SessionPreview.test.tsx (6 tests) 700ms ✓ src/ui/components/shared/RadioButtonSelect.test.tsx (5 tests) 269ms ✓ src/utils/costCalculator.test.ts (14 tests) 11ms ✓ src/ui/components/AnsiOutput.test.tsx (8 tests) 580ms ✓ src/config/migration/scheduler.test.ts (7 tests) 30ms ✓ src/ui/components/messages/CompactToolGroupDisplay.test.tsx (8 tests) 617ms ✓ src/ui/commands/planCommand.test.ts (7 tests) 25ms ✓ src/nonInteractive/control/controllers/permissionController.test.ts (3 tests) 67ms ✓ src/ui/components/AppHeader.test.tsx (6 tests) 423ms ✓ src/commands/channel/pidfile.test.ts (12 tests) 287ms ✓ src/ui/components/hooks/HooksListStep.test.tsx (9 tests) 591ms ✓ src/ui/components/mcp/utils.test.ts (16 tests) 19ms ✓ src/nonInteractive/control/controllers/systemController.test.ts (8 tests) 23ms ✓ src/utils/commands.test.ts (12 tests) 14ms ✓ src/ui/utils/terminalRedrawOptimizer.test.ts (9 tests) 23ms ✓ src/ui/layouts/DefaultAppLayout.test.tsx (5 tests) 347ms ✓ src/ui/components/messages/DiffStatsDisplay.test.tsx (6 tests) 380ms ✓ src/ui/commands/resumeCommand.test.ts (9 tests) 21ms ✓ src/ui/utils/updateCheck.test.ts (9 tests) 30ms ✓ src/ui/components/MemoryDialog.test.tsx (5 tests) 837ms ✓ MemoryDialog > moves selection with down arrow key events 323ms ✓ src/services/FileCommandLoader-markdown.test.ts (4 tests) 77ms ✓ src/ui/components/ToolStatsDisplay.test.tsx (5 tests) 430ms ✓ src/ui/components/arena/ArenaCards.test.tsx (2 tests) 295ms ✓ src/ui/utils/historyUtils.test.ts (9 tests) 10ms ✓ src/ui/components/extensions/ExtensionsManagerDialog.test.tsx (4 tests) 321ms ✓ src/services/markdown-command-parser.test.ts (13 tests) 35ms ✓ src/ui/utils/MermaidDiagram.test.tsx (5 tests) 700ms ✓ src/utils/cleanup.test.ts (8 tests) 161ms ✓ src/nonInteractive/io/StreamJsonOutputAdapter.dualOutput.test.ts (5 tests) 9ms ✓ src/ui/components/StickyTodoList.test.tsx (5 tests) 356ms ✓ src/services/notificationService.test.ts (9 tests) 10ms ✓ src/services/tips/tipScheduler.test.ts (7 tests) 7ms ✓ src/ui/components/views/McpStatus.test.tsx (12 tests) 478ms ✓ src/commands/extensions/utils.test.ts (7 tests) 10ms ✓ src/ui/commands/mcpCommand.test.ts (6 tests) 14ms ✓ src/ui/App.test.tsx (7 tests) 251ms ✓ src/ui/utils/modelsBySource.test.ts (7 tests) 8ms ✓ src/ui/components/SessionSummaryDisplay.test.tsx (3 tests) 190ms ✓ src/acp-integration/service/filesystem.test.ts (4 tests) 8ms ✓ src/ui/hooks/useFocus.test.ts (6 tests) 38ms ✓ src/services/tips/tipHistory.test.ts (11 tests) 8ms ✓ src/ui/components/shared/EnumSelector.test.tsx (9 tests) 326ms ✓ src/ui/commands/compressCommand.test.ts (5 tests) 14ms ✓ src/ui/hooks/useTimer.test.ts (8 tests) 34ms ✓ src/commands/extensions/disable.test.ts (7 tests) 26ms ✓ src/ui/commands/arenaCommand.agentComplete.test.ts (1 test) 13ms ✓ src/ui/utils/clipboardUtils.test.ts (11 tests) 14ms ✓ src/ui/utils/sessionPickerUtils.test.ts (12 tests) 8ms ✓ src/ui/hooks/useAwaySummary.test.ts (2 tests) 82ms ✓ src/ui/components/FolderTrustDialog.test.tsx (9 tests) 454ms ✓ src/ui/components/shared/TextInput.test.tsx (6 tests) 220ms ✓ src/ui/utils/backgroundWorkUtils.test.ts (7 tests) 9ms ✓ src/remoteInput/RemoteInputWatcher.test.ts (5 tests) 387ms ✓ src/commands/extensions/enable.test.ts (7 tests) 29ms ✓ src/ui/components/views/ContextUsage.test.tsx (4 tests) 370ms ✓ src/ui/hooks/useWelcomeBack.test.ts (4 tests) 203ms ✓ src/ui/hooks/useSessionPicker.test.ts (4 tests) 23ms ✓ src/ui/components/hooks/HooksDisabledStep.test.tsx (8 tests) 230ms ✓ src/ui/commands/docsCommand.test.ts (4 tests) 9ms ✓ src/ui/hooks/useConfigInitMessage.test.ts (7 tests) 28ms ✓ src/ui/components/extensions/steps/ExtensionListStep.test.tsx (5 tests) 208ms ✓ src/ui/components/shared/ToolElapsedTime.test.tsx (8 tests) 293ms ✓ src/utils/userStartupWarnings.test.ts (5 tests) 22ms ✓ src/ui/components/PrepareLabel.test.tsx (6 tests) 209ms ✓ src/i18n/index.test.ts (8 tests) 7046ms ✓ bundled locale fallback > loads bundled builtin translations when locale files are absent on disk 2366ms ✓ bundled locale fallback > falls back to bundled translations when a user locale default export is null 1484ms ✓ bundled locale fallback > falls back to bundled translations when a user locale default export is an array 1130ms ✓ language normalization > normalizes explicit locale IDs before loading translations 1004ms ✓ language normalization > normalizes explicit POSIX locale strings before loading translations 1059ms ✓ src/acp-integration/session/rewrite/TurnBuffer.test.ts (12 tests) 7ms ✓ src/ui/commands/toolsCommand.test.ts (4 tests) 16ms ✓ src/ui/hooks/useWorktreeSession.test.tsx (4 tests) 369ms ✓ src/ui/components/SettingInputPrompt.test.tsx (6 tests) 464ms ✓ src/utils/readStdin.test.ts (4 tests) 18ms ✓ src/ui/components/InputPrompt.test.tsx (151 tests | 1 skipped) 62460ms ✓ InputPrompt > prompt suggestions > accepts and submits the prompt suggestion on Enter when the buffer is empty 962ms ✓ InputPrompt > onTabConsumerChange reporting (issue #4171) > reports true while the followup prompt suggestion is visible 766ms ✓ InputPrompt > onTabConsumerChange reporting (issue #4171) > reports false again after the autocomplete dropdown is dismissed 421ms ✓ InputPrompt > onSuggestionsVisibilityChange stays narrow (autocomplete only) > stays false when only a followup prompt suggestion is visible 767ms ✓ InputPrompt > should set the buffer text when a shell history command is retrieved 355ms ✓ InputPrompt > should call shellHistory.addCommandToHistory on submit in shell mode 377ms ✓ InputPrompt > should NOT call shell history methods when not in shell mode 681ms ✓ InputPrompt > should call completion.navigateUp for up arrow when suggestions are showing 537ms ✓ InputPrompt > should call completion.navigateDown for down arrow when suggestions are showing 521ms ✓ InputPrompt > should NOT call completion navigation when suggestions are not showing 831ms ✓ InputPrompt > clipboard image paste > should handle Ctrl+V when clipboard has an image 372ms ✓ InputPrompt > clipboard image paste > should handle Cmd+V when clipboard has an image 376ms ✓ InputPrompt > clipboard image paste > should not insert anything when clipboard has no image 361ms ✓ InputPrompt > clipboard image paste > should handle image save failure gracefully 377ms ✓ InputPrompt > clipboard image paste > should insert image path at cursor position with proper spacing 373ms ✓ InputPrompt > clipboard image paste > should handle errors during clipboard operations gracefully 378ms ✓ InputPrompt > should complete a partial parent command 361ms ✓ InputPrompt > should append a sub-command when the parent command is already complete 361ms ✓ InputPrompt > should handle the "backspace" edge case correctly 361ms ✓ InputPrompt > should complete a partial argument for a command 377ms ✓ InputPrompt > should autocomplete on Enter when suggestions are active, without submitting 417ms ✓ InputPrompt > should complete a command based on its altNames 386ms ✓ InputPrompt > should not submit on Enter when the buffer is empty or only contains whitespace 431ms ✓ InputPrompt > should submit directly on Enter when isPerfectMatch is true 437ms ✓ InputPrompt > should submit a perfect match on Enter when suggestions were not navigated 440ms ✓ InputPrompt > should fill and submit an export format selected with arrow navigation 617ms ✓ InputPrompt > should keep cycling export formats after arrow navigation fills input 677ms ✓ InputPrompt > should keep export format suggestions visible after arrow navigation fills input 566ms ✓ InputPrompt > should not clobber manually edited buffer when arrow is pressed after export fill 1063ms ✓ InputPrompt > should wrap to jsonl when pressing Up from the /export Phase 1 popup 418ms ✓ InputPrompt > should wrap Phase 2 cycling backward when pressing Up repeatedly 722ms ✓ InputPrompt > should seed Phase 2 cycling when Tab accepts a format in the /export popup 718ms ✓ InputPrompt > should not overwrite /export html with extra args when Down is pressed 611ms ✓ InputPrompt > should reset export cycling state on Escape so arrows no longer cycle 739ms ✓ InputPrompt > should reset export cycling state on Ctrl+C so new input is not overwritten 745ms ✓ InputPrompt > should cycle export format on Down when /export was typed manually (not via popup) 701ms ✓ InputPrompt > should not arm export cycling from restored history text 416ms ✓ InputPrompt > should trigger export-specific arrow navigation even when completion suggestions are a superset 412ms ✓ InputPrompt > should fall through to generic accept when Tab targets a non-export item in the /export superset popup 415ms ✓ InputPrompt > should fall through to generic completion when suggestions are missing an export format 407ms ✓ InputPrompt > should trigger Phase 1 export popup even when /export has trailing spaces 446ms ✓ InputPrompt > should autocomplete on Enter when user arrow-navigated a perfect-match suggestion list 619ms ✓ InputPrompt > should submit directly on Enter after arrow-navigate + backspace + retype to perfect match 1204ms ✓ InputPrompt > should submit directly on Enter for a perfect match without prior arrow navigation 393ms ✓ InputPrompt > should reset history navigation after submitting on Enter 400ms ✓ InputPrompt > should submit directly on Enter when a complete leaf command is typed 390ms ✓ InputPrompt > should autocomplete an @-path on Enter without submitting 430ms ✓ InputPrompt > should add a newline on enter when the line ends with a backslash 401ms ✓ InputPrompt > should clear the buffer on Ctrl+C if it has text 396ms ✓ InputPrompt > should NOT clear the buffer on Ctrl+C if it is empty 416ms ✓ InputPrompt > cursor-based completion trigger > should handle Unicode characters with spaces after them 382ms ✓ InputPrompt > vim mode > should not call buffer.handleInput when vim handles the input 382ms ✓ InputPrompt > vim mode > should call buffer.handleInput when vim does not handle the input 391ms ✓ InputPrompt > vim mode > should call handleInput when vim mode is disabled 449ms ✓ InputPrompt > vim mode > should toggle shortcuts when vim passes through ? on an empty prompt 496ms ✓ InputPrompt > unfocused paste > should handle bracketed paste when not focused 416ms ✓ InputPrompt > unfocused paste > should ignore regular keypresses when not focused 404ms ✓ InputPrompt > Highlighting and Cursor Display > should display cursor correctly for multi-byte unicode characters 327ms ✓ InputPrompt > Highlighting and Cursor Display > should display cursor in the middle of a line in a multiline block 304ms ✓ InputPrompt > multiline rendering > should correctly render multiline input including blank lines 331ms ✓ InputPrompt > multiline paste > should handle multiline paste 'with \n newlines' 454ms ✓ InputPrompt > multiline paste > should handle multiline paste 'with extra slashes before \n newlines' 413ms ✓ InputPrompt > multiline paste > should handle multiline paste 'with \r\n newlines' 403ms ✓ InputPrompt > paste auto-submission protection > should prevent auto-submission immediately after paste with newlines 718ms ✓ InputPrompt > paste auto-submission protection > should allow submission after paste protection timeout 374ms ✓ InputPrompt > paste auto-submission protection > should not interfere with normal Enter key submission when no recent paste 440ms ✓ InputPrompt > enhanced input UX - double ESC clear functionality > should clear buffer on second ESC press 455ms ✓ InputPrompt > enhanced input UX - double ESC clear functionality > should handle ESC in shell mode by disabling shell mode 416ms ✓ InputPrompt > enhanced input UX - double ESC clear functionality > should handle ESC when completion suggestions are showing 448ms ✓ InputPrompt > enhanced input UX - double ESC clear functionality > should not call onEscapePromptChange when not provided 386ms ✓ InputPrompt > enhanced input UX - double ESC clear functionality > should not interfere with existing keyboard shortcuts 540ms ✓ InputPrompt > reverse search > invokes reverse search on Ctrl+R 480ms ✓ InputPrompt > reverse search > resets reverse search state on Escape 450ms ✓ InputPrompt > reverse search > completes the highlighted entry on Tab and exits reverse-search 487ms ✓ InputPrompt > reverse search > submits the highlighted entry on Enter and exits reverse-search 306ms ✓ InputPrompt > reverse search > text and cursor position should be restored after reverse search 302ms ✓ InputPrompt > reverse search > does not fall through to shell history on Ctrl+P/N while reverse search is active 742ms ✓ InputPrompt > Ctrl+E keyboard shortcut > should move cursor to end of current line in multiline input 362ms ✓ InputPrompt > Ctrl+E keyboard shortcut > should move cursor to end of current line for single line input 414ms ✓ InputPrompt > command search (Ctrl+R when not in shell) > enters command search on Ctrl+R and shows suggestions 420ms ✓ InputPrompt > command search (Ctrl+R when not in shell) > shows command search suggestions over active export suggestions 551ms ✓ InputPrompt > command search (Ctrl+R when not in shell) > renders match window and expanded view (snapshots) 579ms ✓ InputPrompt > command search (Ctrl+R when not in shell) > does not show expand/collapse indicator for short suggestions 401ms ✓ InputPrompt > should still allow input when shell is not focused 450ms ✓ InputPrompt > large paste placeholder > should create placeholder for paste > 1000 characters 482ms ✓ InputPrompt > large paste placeholder > should create placeholder for paste > 10 lines 411ms ✓ InputPrompt > large paste placeholder > should use sequential IDs for multiple pastes of same size 568ms ✓ InputPrompt > large paste placeholder > should expand placeholder to full content on submit 469ms ✓ InputPrompt > large paste placeholder > should expand same-size placeholders correctly when #2 appears first 472ms ✓ InputPrompt > large paste placeholder > should write expanded placeholder content to shell history 344ms ✓ InputPrompt > large paste placeholder > should reuse placeholder ID after deletion 344ms ✓ InputPrompt > large paste placeholder > should handle mixed pastes with different character counts 779ms ✓ InputPrompt > Ctrl+Y retry shortcut > should trigger handleRetryLastPrompt on Ctrl+Y 469ms ✓ InputPrompt > Ctrl+Y retry shortcut > should NOT trigger retry on plain y key 390ms ✓ InputPrompt > Ctrl+Y retry shortcut > should NOT trigger retry on Ctrl+R (reverse search) 399ms ✓ InputPrompt > Ctrl+Y retry shortcut > should handle Ctrl+Y when feedback dialog is open 410ms ✓ InputPrompt > queue input editing > should pop queued messages into input on Up arrow when queue is non-empty 367ms ✓ InputPrompt > queue input editing > should prepend queued messages before existing input text 385ms ✓ InputPrompt > queue input editing > should pop queued messages on ESC when queue is non-empty 414ms ✓ InputPrompt > queue input editing > should fall through to history when pop returns null (race condition) 384ms ✓ InputPrompt > queue input editing > should navigate history on Up arrow when queue is empty 397ms ✓ InputPrompt > queue input editing > should not intercept Ctrl+P when queue is non-empty 381ms ✓ InputPrompt > two-step edge transition for history navigation > Ctrl+P with cursor mid-line snaps to col 0 without touching history 384ms ✓ InputPrompt > two-step edge transition for history navigation > Ctrl+N with cursor not at end-of-line snaps to end without touching history 377ms ✓ InputPrompt > two-step edge transition for history navigation > Ctrl+P at col 0 walks history and parks the cursor at offset 0 373ms ✓ InputPrompt > two-step edge transition for history navigation > Ctrl+P/N and arrows do not change input history while a tool confirmation owns navigation 821ms ✓ InputPrompt > two-step edge transition for history navigation > Ctrl+N falls through to the agent tab bar when there is no newer history 390ms ✓ InputPrompt > two-step edge transition for history navigation > arrow Down applies the same snap-before-history rule as Ctrl+N 385ms ✓ InputPrompt > two-step edge transition for history navigation > arrow Down at end-of-line walks history 418ms ✓ InputPrompt > two-step edge transition for history navigation > arrow Down falls through to the agent tab bar when there is no newer history 391ms ✓ InputPrompt > two-step edge transition for history navigation > arrow Up applies the same two-step rule as Ctrl+P (snap before navigate) 396ms ✓ src/ui/components/QueuedMessageDisplay.test.tsx (7 tests) 663ms ✓ src/utils/headlessSafetyWarnings.test.ts (7 tests) 4ms ✓ src/ui/themes/theme.test.ts (5 tests) 8ms ✓ src/ui/layouts/ScreenReaderAppLayout.test.tsx (4 tests) 200ms ✓ src/commands/mcp/remove.test.ts (4 tests) 59ms ✓ src/ui/hooks/useSlashCompletion.integration.test.ts (2 tests) 157ms ✓ src/acp-integration/session/permissionUtils.test.ts (4 tests) 20ms No extensions installed. ✓ src/ui/auth/ProviderSetupSteps.test.tsx (1 test) 188ms ✓ src/acp-integration/session/rewrite/config.test.ts (5 tests) 15ms ✓ src/commands/auth.test.ts (9 tests) 57ms ✓ src/commands/extensions.test.tsx (11 tests) 111ms ✓ src/ui/utils/mermaidVisualRenderer.test.ts (4 tests) 22ms ✓ src/ui/components/agent-view/AgentTabBar.test.tsx (1 test) 92ms Successfully created new extension at /some/path. You can install this using "qwen extensions link /some/path" to test it out. Successfully created new extension from template "context" at /some/path. You can install this using "qwen extensions link /some/path" to test it out. Path already exists: /some/path ✓ src/commands/extensions/new.test.ts (4 tests) 132ms ✓ src/commands/extensions/list.test.ts (4 tests) 47ms ✓ src/ui/components/extensions/steps/ActionSelectionStep.test.tsx (5 tests) 433ms ✓ src/services/insight/generators/StaticInsightGenerator.test.ts (1 test) 24ms ✓ src/ui/components/ConsentPrompt.test.tsx (5 tests) 332ms ✓ src/ui/components/views/ExtensionsList.test.tsx (9 tests) 462ms ✓ src/commands/extensions/link.test.ts (4 tests) 59ms ✓ src/ui/utils/displayUtils.test.ts (8 tests) 4ms ✓ src/ui/components/ThemeDialog.test.tsx (2 tests) 994ms ✓ ThemeDialog Snapshots > should render correctly in theme selection mode 663ms ✓ ThemeDialog Snapshots > should render correctly in scope selector mode 330ms ✓ src/ui/hooks/useTerminalNotification.test.ts (4 tests) 25ms ✓ src/services/tips/tipRegistry.test.ts (5 tests) 7ms ✓ src/ui/components/ContextSummaryDisplay.test.tsx (4 tests) 228ms ✓ src/ui/utils/markdownUtilities.test.ts (7 tests) 4ms ✓ src/config/modelProvidersScope.test.ts (4 tests) 5ms ✓ src/ui/hooks/useMemoryMonitor.test.ts (3 tests) 37ms ✓ src/acp-integration/authPreflight.test.ts (3 tests) 12ms ✓ src/ui/commands/terminalSetupCommand.test.ts (5 tests) 6ms ✓ src/ui/commands/branchCommand.test.ts (6 tests) 28ms ✓ src/ui/components/TodoDisplay.test.tsx (6 tests) 482ms ✓ src/config/keyBindings.test.ts (3 tests) 30ms ✓ src/config/path-freshness.test.ts (3 tests) 4ms ✓ src/utils/systemInfoFields.test.ts (2 tests) 4ms ✓ src/core/auth.test.ts (3 tests) 9ms ✓ src/utils/startupWarnings.test.ts (4 tests) 5ms ✓ src/ui/components/BaseTextInput.test.tsx (3 tests) 171ms ✓ src/utils/windowTitle.test.ts (7 tests) 17ms ✓ src/ui/utils/export/collect.test.ts (1 test) 7ms ✓ src/ui/components/RewindSelector.test.tsx (1 test) 204ms ✓ src/ui/components/IdeTrustChangeDialog.test.tsx (6 tests) 717ms ✓ src/ui/commands/authCommand.test.ts (6 tests) 10ms ✓ src/ui/components/shared/DescriptiveRadioButtonSelect.test.tsx (2 tests) 193ms ✓ src/core/theme.test.ts (5 tests) 9ms ✓ src/ui/components/messages/BtwMessage.test.tsx (5 tests) 283ms ✓ src/ui/components/WorktreeExitDialog.test.tsx (1 test) 171ms ✓ src/ui/utils/export/normalize.test.ts (1 test) 14ms ✓ src/test-utils/mockCommandContext.test.ts (3 tests) 14ms ✓ src/ui/components/GoalPill.test.tsx (2 tests) 369ms ✓ src/ui/components/mcp/steps/ServerListStep.test.tsx (1 test) 264ms ✓ src/commands/mcp.test.ts (3 tests) 12ms ✓ src/ui/commands/hooksCommand.test.ts (3 tests) 22ms ✓ src/ui/commands/skillsCommand.test.ts (1 test) 13ms ✓ src/ui/utils/latexRenderer.test.ts (4 tests) 11ms ✓ src/ui/components/mcp/steps/ToolListStep.test.tsx (1 test) 212ms ✓ src/ui/components/subagents/manage/AgentSelectionStep.test.tsx (1 test) 238ms ✓ src/ui/hooks/useModelCommand.test.ts (3 tests) 62ms ✓ src/ui/commands/statuslineCommand.test.ts (4 tests) 14ms ✓ src/ui/commands/helpCommand.test.ts (3 tests) 17ms ✓ src/ui/components/SuggestionsDisplay.test.tsx (2 tests) 207ms ✓ src/ui/components/mcp/MCPHealthPill.test.tsx (6 tests) 3ms ✓ src/ui/components/ShellConfirmationDialog.test.tsx (4 tests) 434ms ✓ src/ui/hooks/useThemeCommand.test.ts (1 test) 41ms ✓ src/ui/commands/quitCommand.test.ts (1 test) 7ms ✓ src/ui/commands/dreamCommand.test.ts (1 test) 22ms ✓ src/ui/components/messages/GoalStatusMessage.test.tsx (3 tests) 193ms ✓ src/services/command-factory.test.ts (2 tests) 17ms ✓ src/services/prompt-processors/argumentProcessor.test.ts (2 tests) 8ms ✓ src/ui/components/views/ToolsList.test.tsx (3 tests) 215ms ✓ src/ui/components/GeminiRespondingSpinner.test.tsx (2 tests) 126ms ✓ src/utils/acpModelUtils.test.ts (5 tests) 5ms ✓ src/acp-integration/runtimeOutputDirContext.test.ts (1 test) 8ms ✓ src/ui/commands/themeCommand.test.ts (2 tests) 11ms ✓ src/ui/commands/permissionsCommand.test.ts (3 tests) 9ms ✓ src/ui/commands/settingsCommand.test.ts (2 tests) 8ms ✓ src/ui/components/LoopDetectionConfirmation.test.tsx (2 tests) 176ms ✓ src/ui/components/messages/StatusMessages.test.tsx (1 test) 88ms ✓ src/ui/commands/trustCommand.test.ts (3 tests) 12ms ✓ src/ui/commands/editorCommand.test.ts (2 tests) 5ms ✓ src/ui/commands/deleteCommand.test.ts (2 tests) 12ms ✓ src/utils/processUtils.test.ts (1 test) 4ms ✓ src/ui/commands/memoryCommand.test.ts (1 test) 4ms ✓ src/commands/extensions/uninstall.test.ts (1 test) 11ms ✓ src/ui/components/ExternalAuthProgress.test.tsx (1 test) 64ms ⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯ FAIL src/ui/auth/AuthDialog.test.tsx > AuthDialog Custom API Key Wizard > navigates to base URL input after selecting a protocol AssertionError: expected '┌────────────────────────────────────…' to contain 'Custom Provider · Step 2/6 · Base URL' - Expected + Received - Custom Provider · Step 2/6 · Base URL + ┌──────────────────────────────────────────────────────────────────────────────────────────────────┐ + │ │ + │ Custom Provider · Step 1/6 · Protocol │ + │ │ + │ › OpenAI-compatible │ + │ Standard OpenAI API format (most common) │ + │ │ + │ Anthropic-compatible │ + │ Anthropic Messages API format │ + │ │ + │ Gemini-compatible │ + │ Google Gemini API format │ + │ │ + │ Enter to select, ↑↓ to navigate, Esc to go back │ + │ │ + └──────────────────────────────────────────────────────────────────────────────────────────────────┘ ❯ vi.waitFor.timeout src/ui/auth/AuthDialog.test.tsx:154:27 152| await vi.waitFor( 153| () => { 154| expect(lastFrame()).toContain(expectedText); | ^ 155| }, 156| { timeout: WAIT_FOR_TIMEOUT }, ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ Test Files 1 failed | 384 passed (385) Tests 1 failed | 6923 passed | 9 skipped (6933) Start at 20:32:25 Duration 109.00s (transform 35.04s, setup 59.60s, collect 1330.81s, tests 197.45s, environment 194.23s, prepare 48.84s) JUNIT report written to /startdir/src/qwen-code/packages/cli/junit.xml npm error Lifecycle script `test` failed with error: npm error code 1 npm error path /startdir/src/qwen-code/packages/cli npm error workspace @qwen-code/qwen-code@0.16.2 npm error location /startdir/src/qwen-code/packages/cli npm error command failed npm error command sh -c vitest run '--exclude=**/{qwenConnectionHandler,useAtCompletion}.test.ts' > @qwen-code/qwen-code-core@0.16.2 test > vitest run --exclude=**/{qwenConnectionHandler,useAtCompletion}.test.ts RUN v3.2.4 /startdir/src/qwen-code/packages/core Coverage enabled with v8 ✓ src/services/shellExecutionService.test.ts (83 tests) 491ms ✓ src/core/openaiContentGenerator/pipeline.test.ts (42 tests) 138ms ✓ src/utils/fileUtils.test.ts (91 tests) 215ms ✓ src/services/sessionService.test.ts (53 tests) 347ms ✓ src/hooks/hookEventHandler.test.ts (116 tests) 142ms +----------------- Qwen OAuth Device Authorization ------------------+ | | | Please visit the following URL in your browser to authorize: | | | | https://chat.qwen.ai/device?code=TEST123 | | | | Waiting for authorization to complete... | | | +--------------------------------------------------------------------+ +----------------- Qwen OAuth Device Authorization ------------------+ | | | Please visit the following URL in your browser to authorize: | | | | https://chat.qwen.ai/device?code=TEST123 | | | | Waiting for authorization to complete... | | | +--------------------------------------------------------------------+ +----------------- Qwen OAuth Device Authorization ------------------+ | | | Please visit the following URL in your browser to authorize: | | | | https://chat.qwen.ai/device?code=TEST123 | | | | Waiting for authorization to complete... | | | +--------------------------------------------------------------------+ +----------------- Qwen OAuth Device Authorization ------------------+ | | | Please visit the following URL in your browser to authorize: | | | | https://chat.qwen.ai/device?code=TEST123 | | | | Waiting for authorization to complete... | | | +--------------------------------------------------------------------+ +----------------- Qwen OAuth Device Authorization ------------------+ | | | Please visit the following URL in your browser to authorize: | | | | https://chat.qwen.ai/device?code=TEST123 | | | | Waiting for authorization to complete... | | | +--------------------------------------------------------------------+ ✓ src/qwen/qwenOAuth2.test.ts (83 tests) 2117ms ✓ getQwenOAuthClient - Enhanced Error Scenarios > should handle different authentication failure reasons - timeout 2042ms ✓ src/agents/background-tasks.test.ts (65 tests) 87ms ✓ src/core/anthropicContentGenerator/converter.test.ts (50 tests) 42ms ✓ src/models/modelsConfig.test.ts (61 tests) 36ms ✓ src/core/loggingContentGenerator/loggingContentGenerator.test.ts (43 tests) 56ms ✓ src/services/chatCompressionService.test.ts (69 tests) 82ms ✓ src/telemetry/session-tracing.test.ts (73 tests) 53ms ✓ src/telemetry/sdk.test.ts (55 tests) 307ms ✓ src/utils/gitDiff.test.ts (59 tests) 2782ms ✓ src/tools/read-file.test.ts (60 tests) 278ms ✓ src/mcp/oauth-provider.test.ts (22 tests) 200ms ✓ src/hooks/hookSystem.test.ts (73 tests) 88ms ✓ src/telemetry/loggers.test.ts (45 tests) 86ms ✓ src/core/openaiContentGenerator/converter.test.ts (102 tests) 84ms ✓ src/tools/monitor.test.ts (73 tests) 102ms ✓ src/subagents/subagent-manager.test.ts (79 tests) 199ms ✓ src/permissions/permission-manager.test.ts (235 tests) 160ms ✓ src/tools/write-file.test.ts (47 tests) 264ms ✓ src/qwen/qwenContentGenerator.test.ts (44 tests) 355ms qwen serve: MCP server 'c' refused (budget exhausted, budget=2, mode=enforce) qwen serve: MCP server 'd' refused (budget exhausted, budget=2, mode=enforce) qwen serve: MCP server 'mike' refused (budget exhausted, budget=2, mode=enforce) qwen serve: MCP server 'b' refused (budget exhausted, budget=1, mode=enforce) qwen serve: MCP server 'b' refused (budget exhausted, budget=1, mode=enforce) qwen serve: MCP server 'b' refused (budget exhausted, budget=1, mode=enforce) qwen serve: MCP server 'b' refused (budget exhausted, budget=1, mode=enforce) qwen serve: MCP server 'b' refused (budget exhausted, budget=1, mode=enforce) qwen serve: ignoring invalid QWEN_SERVE_MCP_CLIENT_BUDGET='-3' (expected positive integer); MCP budget enforcement disabled for this child. qwen serve: MCP server 'b' refused (budget exhausted, budget=1, mode=enforce) qwen serve: MCP server 'b' refused (budget exhausted, budget=1, mode=enforce) qwen serve: MCP server 'b' refused (budget exhausted, budget=1, mode=enforce) qwen serve: MCP server 'b' refused (budget exhausted, budget=1, mode=enforce) qwen serve: QWEN_SERVE_MCP_BUDGET_MODE=enforce requires QWEN_SERVE_MCP_CLIENT_BUDGET=N; downgrading to off. Set both env vars to enable MCP guardrail enforcement. qwen serve: MCP server 'third' refused (budget exhausted, budget=2, mode=enforce) qwen serve: MCP server 'b' refused (budget exhausted, budget=1, mode=enforce) qwen serve: MCP server 'b' refused (budget exhausted, budget=1, mode=enforce) qwen serve: QWEN_SERVE_MCP_BUDGET_MODE=warn requires QWEN_SERVE_MCP_CLIENT_BUDGET=N; downgrading to off. Set both env vars to enable MCP guardrail enforcement. qwen serve: McpClientManager constructed with budgetMode=enforce but no clientBudget; downgrading to off. ✓ src/skills/skill-manager.test.ts (72 tests) 341ms qwen serve: MCP server 'b' refused (budget exhausted, budget=1, mode=enforce) qwen serve: MCP server 'c' refused (budget exhausted, budget=1, mode=enforce) qwen serve: MCP server 'b' refused (budget exhausted, budget=1, mode=enforce) qwen serve: MCP server 'b' refused (budget exhausted, budget=1, mode=enforce) qwen serve: MCP server 'b' refused (budget exhausted, budget=1, mode=enforce) qwen serve: MCP server 'c' refused (budget exhausted, budget=1, mode=enforce) qwen serve: MCP server 'd' refused (budget exhausted, budget=1, mode=enforce) qwen serve: MCP server 'e' refused (budget exhausted, budget=1, mode=enforce) qwen serve: MCP server 'b' refused (budget exhausted, budget=1, mode=enforce) qwen serve: MCP server 'c' refused (budget exhausted, budget=1, mode=enforce) qwen serve: MCP server 'd' refused (budget exhausted, budget=1, mode=enforce) ✓ src/tools/mcp-client-manager.test.ts (71 tests) 442ms ✓ src/tools/mcp-tool.test.ts (53 tests) 269ms ✓ src/agents/background-agent-resume.test.ts (21 tests) 605ms ✓ src/config/config.test.ts (179 tests) 624ms ✓ src/tools/agent/agent.test.ts (78 tests) 679ms ✓ src/tools/edit.test.ts (77 tests) 426ms ✓ src/utils/filesearch/crawler.test.ts (44 tests) 1817ms ✓ src/core/coreToolScheduler.test.ts (163 tests) 1222ms ✓ src/tools/shell.test.ts (202 tests) 2057ms ✓ src/services/fileHistoryService.test.ts (44 tests) 289ms ✓ src/core/logger.test.ts (52 tests) 199ms ✓ src/lsp/NativeLspService.test.ts (15 tests) 141ms ✓ src/utils/memoryImportProcessor.test.ts (28 tests) 99ms ✓ src/hooks/hookPlanner.test.ts (58 tests) 64ms ✓ src/utils/editor.test.ts (151 tests) 88ms ✓ src/agents/runtime/agent-headless.test.ts (32 tests | 2 skipped) 2020ms ✓ subagent.ts > AgentHeadless > create (Tool Validation) > should create a AgentHeadless successfully with minimal config 548ms ✓ src/tools/ripGrep.test.ts (58 tests) 409ms ✓ src/services/monitorRegistry.test.ts (53 tests) 119ms (node:24698) [UNDICI-EHPA] Warning: EnvHttpProxyAgent is experimental, expect them to change at any time. (Use `node --trace-warnings ...` to show where the warning was created) ✓ src/hooks/hookAggregator.test.ts (41 tests) 29ms ✓ src/tools/lsp.test.ts (70 tests) 838ms ✓ src/ide/ide-client.test.ts (32 tests) 169ms ✓ src/qwen/sharedTokenManager.test.ts (31 tests) 307ms ✓ src/core/toolHookTriggers.test.ts (50 tests) 37ms ✓ src/services/loopDetectionService.test.ts (43 tests) 436ms ✓ src/core/anthropicContentGenerator/anthropicContentGenerator.test.ts (65 tests) 11615ms ✓ AnthropicContentGenerator > uses claude-cli identity (User-Agent + x-app + Bearer auth) for non-Anthropic baseURLs 1202ms ✓ AnthropicContentGenerator > treats *.anthropic.com subdomains as Anthropic-native 302ms ✓ AnthropicContentGenerator > DeepSeek anthropic-compatible provider > reflects runtime model changes (no stale provider cache) 423ms ✓ AnthropicContentGenerator > DeepSeek anthropic-compatible provider > does not inject when request sets thinkingConfig.includeThoughts=false 795ms ✓ AnthropicContentGenerator > countTokens > counts tokens using the request tokenizer 376ms ✓ AnthropicContentGenerator > countTokens > falls back to character approximation when tokenizer throws 408ms ✓ AnthropicContentGenerator > generateContentStream > redacts proxy credentials from stream iteration errors 325ms ✓ AnthropicContentGenerator > generateContentStream > requests stream=true and converts streamed events into Gemini chunks 396ms ✓ src/utils/paths.test.ts (116 tests | 1 skipped) 32ms ✓ src/services/commitAttribution.test.ts (58 tests) 34ms ✓ src/core/openaiContentGenerator/streamingToolCallParser.test.ts (59 tests) 50ms ✓ src/tools/skill.test.ts (44 tests) 68ms ✓ src/skills/skill-load.test.ts (63 tests) 65ms ✓ src/core/openaiContentGenerator/provider/dashscope.test.ts (56 tests) 71ms ✓ src/utils/memoryDiscovery.test.ts (28 tests) 156ms ✓ src/core/prompts.test.ts (62 tests) 70ms ✓ src/services/fileReadCache.test.ts (44 tests) 80ms ✓ src/utils/retry.test.ts (56 tests) 87ms ✓ src/services/microcompaction/microcompact.test.ts (33 tests) 24ms ✓ src/utils/sessionStorageUtils.test.ts (47 tests) 22ms ✓ src/hooks/hookRegistry.test.ts (32 tests) 57ms ✓ src/telemetry/uiTelemetry.test.ts (28 tests) 54ms ✓ src/models/modelConfigResolver.test.ts (49 tests) 114ms ✓ src/tools/todoWrite.test.ts (28 tests) 183ms ✓ src/core/client.test.ts (151 tests) 5681ms ✓ src/core/baseLlmClient.test.ts (34 tests) 42ms ✓ src/models/modelRegistry.test.ts (50 tests) 44ms ✓ src/telemetry/log-to-span-processor.test.ts (32 tests) 77ms ✓ src/extension/extensionSettings.test.ts (23 tests) 132ms ✓ src/config/storage.test.ts (63 tests) 52ms ✓ src/lsp/NativeLspService.integration.test.ts (30 tests) 69ms ✓ src/utils/shell-utils.test.ts (129 tests) 58ms ✓ src/telemetry/qwen-logger/qwen-logger.test.ts (33 tests) 64ms ✓ src/agents/backends/InProcessBackend.test.ts (33 tests) 109ms ✓ src/utils/openaiLogger.test.ts (37 tests) 230ms ✓ src/core/geminiChat.test.ts (147 tests) 8546ms ✓ GeminiChat > should correctly retry and append to an existing history mid-conversation 2048ms ✓ GeminiChat > should retry if the model returns a completely empty stream (no chunks) 2040ms ✓ GeminiChat > should discard valid partial content from a failed attempt upon retry 2059ms ✓ src/services/gitWorktreeService.test.ts (27 tests) 52ms ✓ src/tools/tool-registry.test.ts (32 tests) 167ms ✓ src/extension/extensionManager.test.ts (42 tests) 133ms ✓ src/memory/manager.test.ts (28 tests) 118ms ✓ src/utils/notebook.test.ts (30 tests) 113ms ✓ src/utils/memoryDiagnostics.test.ts (12 tests) 215ms ✓ src/utils/filesearch/fileSearch.test.ts (27 tests) 1159ms ✓ src/utils/runtimeFetchOptions.test.ts (44 tests) 28ms ✓ src/utils/pdf.test.ts (34 tests) 41ms ✓ src/services/sessionService.rename.test.ts (17 tests) 58ms ✓ src/core/turn.test.ts (24 tests) 36ms ✓ src/services/fileSystemService.test.ts (43 tests) 59ms ✓ src/agents/backends/ITermBackend.test.ts (46 tests) 80ms ✓ src/hooks/promptHookRunner.test.ts (25 tests) 182ms ✓ src/utils/workspaceContext.test.ts (44 tests) 56ms ✓ src/services/chatRecordingService.test.ts (25 tests) 41ms [ToolSearch] setTools() failed while revealing deferred tools: chat not initialised [ToolSearch] setTools() failed while revealing deferred tools: chat not initialised [ToolSearch] ensureTool failed for "bravo": mid-batch failure ✓ src/tools/notebook-edit.test.ts (28 tests) 200ms ✓ src/utils/rulesDiscovery.test.ts (34 tests) 107ms ✓ src/agents/agent-transcript.test.ts (25 tests) 89ms ✓ src/agents/arena/ArenaAgentClient.test.ts (21 tests) 132ms ✓ src/tools/tool-search.test.ts (33 tests) 138ms ✓ src/telemetry/tracer.test.ts (32 tests) 52ms ✓ src/hooks/sessionHooksManager.test.ts (32 tests) 18ms ✓ src/utils/schemaValidator.test.ts (40 tests) 362ms ✓ src/core/openaiContentGenerator/provider/default.test.ts (24 tests) 14ms ✓ src/tools/mcp-client.test.ts (36 tests) 53ms ✓ src/goals/goalHook.test.ts (19 tests) 60ms ✓ src/agents/backends/TmuxBackend.test.ts (27 tests) 55ms ✓ src/hooks/hookRunner.test.ts (32 tests) 140ms ✓ src/utils/systemEncoding.test.ts (41 tests) 65ms ✓ src/utils/shellAstParser.test.ts (148 tests) 141ms ✓ src/permissions/shell-semantics.test.ts (52 tests) 27ms ✓ src/telemetry/metrics.test.ts (40 tests) 2047ms ✓ src/core/openaiContentGenerator/provider/deepseek.test.ts (25 tests) 60ms ✓ src/extension/variables.test.ts (20 tests) 111ms ✓ src/extension/claude-converter.test.ts (19 tests) 65ms ✓ src/goals/goalJudge.test.ts (20 tests) 46ms ✓ src/utils/pathReader.test.ts (17 tests) 110ms ✓ src/tools/task-stop.test.ts (14 tests) 95ms ✓ src/tools/ls.test.ts (28 tests) 170ms ✓ src/providers/__tests__/install.test.ts (19 tests) 62ms ✓ src/mcp/oauth-token-storage.test.ts (28 tests) 58ms ✓ src/hooks/asyncHookRegistry.test.ts (20 tests) 44ms ✓ src/services/backgroundShellRegistry.test.ts (30 tests) 38ms ✓ src/tools/glob.test.ts (44 tests) 4417ms ✓ src/mcp/oauth-utils.test.ts (27 tests) 45ms ✓ src/core/tokenLimits.test.ts (55 tests) 16ms ✓ src/memory/writeContextFile.test.ts (16 tests) 46ms ✓ src/utils/abortController.test.ts (26 tests | 1 skipped) 44ms ✓ src/services/compactionInputSlimming.test.ts (26 tests) 11ms ✓ src/utils/rateLimit.test.ts (35 tests) 41ms ✓ src/utils/sideQuery.test.ts (18 tests) 89ms ✓ src/services/toolUseSummary.test.ts (34 tests) 131ms ✓ src/permissions/classifier-transcript.test.ts (14 tests) 43ms ✓ src/telemetry/detailed-span-attributes.test.ts (28 tests) 23ms ✓ src/agents/runtime/agent-interactive.test.ts (19 tests) 660ms ✓ src/tools/grep.test.ts (35 tests) 2376ms ✓ GrepTool > Result limiting > should not show truncation warning when all results fit 486ms ✓ GrepTool > Result limiting > should accept valid limit parameter 321ms ✓ src/ide/ideContext.test.ts (23 tests) 39ms ✓ src/telemetry/config.test.ts (36 tests) 15ms ✓ src/hooks/functionHookRunner.test.ts (20 tests) 106ms ✓ src/utils/readManyFiles.test.ts (17 tests) 75ms ✓ src/subagents/validation.test.ts (41 tests) 40ms ✓ src/utils/partUtils.test.ts (43 tests) 24ms ✓ src/utils/debugLogger.test.ts (22 tests) 158ms ✓ src/extension/github.test.ts (34 tests) 135ms ✓ src/core/geminiContentGenerator/geminiContentGenerator.test.ts (11 tests) 53ms ✓ src/agents/arena/ArenaManager.test.ts (25 tests) 3625ms ✓ ArenaManager > backend initialization > should emit SESSION_UPDATE with type warning when backend detection returns warning 511ms ✓ ArenaManager > chat history forwarding > should pass chatHistory to backend spawnAgent calls 505ms ✓ ArenaManager > chat history forwarding > should pass undefined chatHistory when not provided 508ms ✓ ArenaManager > active session lifecycle > collects diff summaries and fallback approach summaries 1009ms ✓ ArenaManager > active session lifecycle > cancel should stop backend and move session to CANCELLED 505ms ✓ ArenaManager > active session lifecycle > cleanup should release backend and worktree resources after start 507ms ✓ src/core/openaiContentGenerator/pipeline.concurrent.test.ts (2 tests) 32ms ✓ src/core/openaiContentGenerator/errorHandler.test.ts (36 tests) 88ms ✓ src/utils/ignorePatterns.test.ts (28 tests) 15ms ✓ src/services/chatRecordingService.autoTitle.test.ts (15 tests) 34ms ✓ src/core/__tests__/openaiTimeoutHandling.test.ts (12 tests) 78ms ✓ src/permissions/dangerousRules.test.ts (110 tests) 18ms ✓ src/agents/runtime/agent-statistics.test.ts (32 tests) 31ms ✓ src/services/gitWorktreeService.symlinks.integ.test.ts (15 tests) 5373ms ✓ GitWorktreeService.createUserWorktree() — symlinkDirectories > symlinks a configured directory into the new worktree 324ms ✓ GitWorktreeService.createUserWorktree() — symlinkDirectories > silently skips a missing source directory 359ms ✓ GitWorktreeService.createUserWorktree() — symlinkDirectories > silently skips an existing destination (no overwrite) 377ms ✓ GitWorktreeService.createUserWorktree() — symlinkDirectories > rejects paths that traverse outside the repo root 439ms ✓ GitWorktreeService.createUserWorktree() — symlinkDirectories > rejects paths inside .git (security guard) 407ms ✓ GitWorktreeService.createUserWorktree() — symlinkDirectories > rejects paths inside .qwen (security guard) 440ms ✓ GitWorktreeService.createUserWorktree() — symlinkDirectories > works when the repo path itself contains a symlink boundary (round-7 self-inflicted regression guard) 569ms ✓ GitWorktreeService.createUserWorktree() — symlinkDirectories > refuses sources whose realpath escapes the repo root or lands in .git/.qwen (committed-symlink bypass) 478ms ✓ GitWorktreeService.createUserWorktree() — symlinkDirectories > rejects any entry containing a '..' segment (docs contract) 351ms ✓ GitWorktreeService.createUserWorktree() — symlinkDirectories > handles multiple entries — some present, some missing 386ms ✓ GitWorktreeService.createUserWorktree() — symlinkDirectories > is a no-op when symlinkDirectories is omitted or empty 516ms ✓ src/core/openaiContentGenerator/openaiContentGenerator.test.ts (14 tests) 42ms ✓ src/utils/forkedAgent.cache.test.ts (12 tests) 24ms ✓ src/services/sessionTitle.test.ts (15 tests) 93ms ✓ src/utils/forkedAgent.agent.test.ts (7 tests) 19ms ✓ src/utils/getFolderStructure.test.ts (15 tests) 74ms ✓ src/utils/request-tokenizer/textTokenizer.test.ts (31 tests) 203ms ✓ src/services/chatRecordingService.customTitle.test.ts (13 tests) 32ms ✓ src/tools/modifiable-tool.test.ts (11 tests) 26ms ✓ src/mcp/token-storage/keychain-token-storage.test.ts (24 tests) 3766ms ✓ KeychainTokenStorage > with keychain unavailable > getAllCredentials should throw 341ms ✓ src/agents/backends/iterm-it2.test.ts (19 tests) 15ms ✓ src/utils/generateContentResponseUtilities.test.ts (29 tests) 13ms ✓ src/memory/skillReviewNudge.integration.test.ts (18 tests) 42ms ✓ src/utils/atomicFileWrite.test.ts (19 tests) 53ms ✓ src/core/openaiContentGenerator/taggedThinkingParser.test.ts (27 tests) 48ms ✓ src/services/sessionService.corruption.test.ts (11 tests) 32ms ✓ src/permissions/classifier.test.ts (20 tests) 35ms ✓ src/mcp/token-storage/file-token-storage.test.ts (16 tests) 1293ms ✓ src/confirmation-bus/message-bus.test.ts (15 tests) 78ms ✓ src/services/cronScheduler.test.ts (27 tests) 83ms ✓ src/utils/environmentContext.test.ts (12 tests) 88ms ✓ src/tools/enter-worktree.test.ts (26 tests) 85ms ✓ src/telemetry/resource-attributes.test.ts (35 tests) 21ms ✓ src/followup/followupState.test.ts (15 tests) 60ms ✓ src/services/gitService.test.ts (14 tests) 52ms ✓ src/utils/truncation.test.ts (10 tests) 37ms ✓ src/permissions/autoMode.test.ts (29 tests) 27ms ✓ src/output/json-formatter.test.ts (15 tests) 14ms ✓ src/models/content-generator-config.test.ts (13 tests) 22ms ✓ src/tools/agent/agent-override.test.ts (8 tests) 88ms ✓ src/agents/runtime/agent-core.test.ts (9 tests) 35ms ✓ src/utils/terminalSerializer.test.ts (20 tests) 188ms ✓ src/mcp/token-storage/hybrid-token-storage.test.ts (11 tests) 47ms ✓ src/utils/runtimeStatus.test.ts (19 tests) 44ms ✓ src/utils/gitIgnoreParser.test.ts (20 tests) 79ms ✓ src/hooks/httpHookRunner.test.ts (10 tests) 48ms ✓ src/utils/nextSpeakerChecker.test.ts (13 tests) 72ms ✓ src/tools/exitPlanMode.test.ts (22 tests) 17ms ✓ src/tools/web-fetch.test.ts (13 tests) 157ms ✓ src/utils/envVarResolver.test.ts (16 tests) 15ms ✓ src/services/worktreeSessionService.test.ts (17 tests) 84ms ✓ src/utils/jsonl-utils.test.ts (22 tests) 105ms ✓ src/memory/skillReviewAgentPlanner.test.ts (17 tests) 76ms ✓ src/services/fileReadCache.integration.test.ts (3 tests) 93ms ✓ src/utils/filesearch/crawlCache.test.ts (13 tests) 129ms ✓ src/utils/request-tokenizer/requestTokenizer.test.ts (11 tests) 16ms ✓ src/utils/secure-browser-launcher.test.ts (14 tests) 16ms ✓ src/utils/subagentGenerator.test.ts (9 tests) 94ms ✓ src/core/openaiContentGenerator/provider/openrouter.test.ts (12 tests) 31ms ✓ src/permissions/classifier-prompts/system-prompt.test.ts (13 tests) 16ms ✓ src/utils/safeJsonStringify.test.ts (17 tests) 23ms ✓ src/services/fileDiscoveryService.test.ts (13 tests) 64ms ✓ src/utils/runtimeDiagnostics.test.ts (4 tests) 8ms ✓ src/tools/exit-worktree.test.ts (16 tests) 2570ms ✓ ExitWorktreeTool > execute() — session ownership & lifecycle > refuses remove when the marker names a different session 458ms ✓ ExitWorktreeTool > execute() — session ownership & lifecycle > keep returns success and leaves the worktree + branch intact 469ms ✓ ExitWorktreeTool > execute() — session ownership & lifecycle > allows removal when the worktree predates the session-marker guard 492ms ✓ ExitWorktreeTool > execute() — session ownership & lifecycle > refuses removal when the worktree branch has unmerged commits 559ms ✓ ExitWorktreeTool > execute() — session ownership & lifecycle > marker also written by writeWorktreeSessionMarker survives round-trip 478ms ✓ src/permissions/denialTracking.test.ts (19 tests) 20ms ✓ src/utils/editHelper.test.ts (17 tests) 7ms ✓ src/extension/marketplace.test.ts (22 tests) 21ms ✓ src/tools/tools.test.ts (11 tests) 15ms ✓ src/core/nonInteractiveToolExecutor.test.ts (8 tests) 19ms ✓ src/hooks/envInterpolator.test.ts (30 tests) 81ms ✓ src/hooks/detectTodoChanges.test.ts (12 tests) 23ms ✓ src/utils/cronParser.test.ts (24 tests) 33ms ✓ src/followup/overlayFs.test.ts (15 tests) 49ms ✓ src/utils/yaml-parser.test.ts (18 tests) 9ms ✓ src/core/modalityDefaults.test.ts (31 tests) 15ms ✓ src/utils/errorParsing.test.ts (18 tests) 31ms ✓ src/hooks/urlValidator.test.ts (20 tests) 15ms ✓ src/hooks/ssrfGuard.test.ts (21 tests) 41ms ✓ src/mcp/token-storage/base-token-storage.test.ts (12 tests) 10ms ❯ src/skills/skill-activation.test.ts (20 tests | 1 failed) 7994ms ✓ splitConditionalSkills > treats skills without paths as unconditional 5ms ✓ splitConditionalSkills > treats empty paths array as unconditional 0ms ✓ splitConditionalSkills > classifies skills with non-empty paths as conditional 1ms ✓ SkillActivationRegistry > returns empty when no conditional skills are registered 0ms ✓ SkillActivationRegistry > activates a conditional skill when a matching path is touched 15ms ✓ SkillActivationRegistry > does not re-activate an already-active skill on subsequent matches 2ms ✓ SkillActivationRegistry > returns empty for paths that do not match any skill 0ms ✓ SkillActivationRegistry > activates multiple skills whose globs overlap on a single file 2ms ✓ SkillActivationRegistry > accepts relative file paths by resolving against the project root 0ms ✓ SkillActivationRegistry > ignores paths outside the project root 0ms ✓ SkillActivationRegistry > supports multiple glob patterns per skill (OR semantics) 0ms ✓ SkillActivationRegistry > activates broad globs on dotfiles too (dot: true semantics) 1ms ✓ SkillActivationRegistry > survives an invalid picomatch pattern (drops it, keeps the rest) 0ms ✓ SkillActivationRegistry > rejects an absolute relative path (Windows cross-drive case) 0ms ✓ resolveProjectRelativePath > returns the forward-slash-normalized relative path for in-project files (POSIX) 0ms ✓ resolveProjectRelativePath > returns null for paths outside the project root (POSIX, `..` prefix) 0ms ✓ resolveProjectRelativePath > returns null for Windows cross-drive paths (different drive letter) 0ms ✓ resolveProjectRelativePath > normalizes backslashes for in-project Windows paths 0ms × extractToolFilePaths → SkillActivationRegistry integration > activates a skill keyed on src/**/*.ts from glob({ path: "src", pattern: "**/*.ts" }) 5020ms → Test timed out in 5000ms. If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout". ✓ extractToolFilePaths → SkillActivationRegistry integration > does NOT activate from external glob.path (project-root guard wins) 2944ms ✓ src/hooks/registerSkillHooks.test.ts (7 tests) 12ms ✓ src/memory/relevanceSelector.test.ts (7 tests) 94ms ✓ src/hooks/promptHookIntegration.test.ts (9 tests) 157ms ✓ src/ide/ide-installer.test.ts (10 tests) 51ms ✓ src/lsp/LspServerManager.test.ts (7 tests) 21ms ✓ src/utils/modelId.test.ts (21 tests) 9ms ✓ src/tools/send-message.test.ts (7 tests) 90ms ✓ src/mcp/sa-impersonation-provider.test.ts (8 tests) 46ms ✓ src/extension/npm.test.ts (24 tests) 17ms ✓ src/tools/diffOptions.test.ts (9 tests) 7ms ✓ src/lsp/LspConfigLoader.test.ts (6 tests) 70ms ✓ src/ide/process-utils.test.ts (6 tests) 5ms ✓ src/utils/filesearch/ignore.test.ts (12 tests) 21ms ✓ src/utils/request-tokenizer/imageTokenizer.test.ts (9 tests) 34ms ✓ src/extension/gemini-converter.test.ts (9 tests) 35ms ✓ src/tools/askUserQuestion.test.ts (12 tests) 29ms ✓ src/utils/gitUtils.test.ts (6 tests) 16ms ✓ src/utils/safeJsonParse.test.ts (14 tests) 23ms ✓ src/ide/detect-ide.test.ts (14 tests) 14ms ✓ src/extension/override.test.ts (16 tests) 8ms ✓ src/agents/runtime/agent-context.test.ts (12 tests) 21ms ✓ src/subagents/subagent-manager-override.test.ts (4 tests) 22ms ✓ src/prompts/prompt-registry.test.ts (11 tests) 57ms ✓ src/utils/quotaErrorDetection.test.ts (16 tests) 18ms ✓ src/goals/goalLoop.integration.test.ts (2 tests) 24ms ✓ src/core/openaiContentGenerator/provider/mimo.test.ts (9 tests) 18ms ✓ src/extension/settings.test.ts (10 tests) 9ms ✓ src/utils/shellReadOnlyChecker.test.ts (33 tests) 20ms ✓ src/tools/toAutoClassifierInput.test.ts (11 tests) 11ms ✓ src/core/loggingContentGenerator/streamContentDetection.test.ts (16 tests) 5ms ✓ src/followup/speculationToolGate.test.ts (28 tests) 70ms ✓ src/services/generatedFiles.test.ts (11 tests) 10ms ✓ src/utils/textUtils.test.ts (20 tests) 12ms ✓ src/utils/contextLengthError.test.ts (25 tests) 28ms ✓ src/utils/errorReporting.test.ts (5 tests) 9ms ✓ src/memory/memoryLifecycle.integration.test.ts (1 test) 40ms ✓ src/core/anthropicContentGenerator/usage.test.ts (7 tests) 4ms ✓ src/utils/configResolver.test.ts (12 tests) 9ms ✓ src/memory/store.test.ts (5 tests) 129ms ✓ src/utils/schemaConverter.test.ts (12 tests) 12ms ✓ src/agents/arena/diff-summary.test.ts (8 tests) 8ms ✓ src/core/permissionFlow.test.ts (17 tests) 9ms ✓ src/services/attributionTrailer.test.ts (4 tests) 9ms ✓ src/utils/proxyUtils.test.ts (18 tests) 7ms ✓ src/core/openaiContentGenerator/provider/minimax.test.ts (9 tests) 9ms ✓ src/skills/skill-paths.test.ts (7 tests) 26ms ✓ src/memory/extract.test.ts (3 tests) 37ms ✓ src/followup/suggestionGenerator.test.ts (18 tests) 11ms ✓ src/mcp/google-auth-provider.test.ts (8 tests) 35ms ✓ src/subagents/builtin-agents.test.ts (8 tests) 12ms ✓ src/utils/projectRoot.test.ts (5 tests) 29ms ✓ src/memory/recall.test.ts (5 tests) 32ms ✓ src/services/tokenEstimation.test.ts (8 tests) 13ms ✓ src/followup/smoke.test.ts (21 tests) 24ms ✓ src/utils/installationManager.test.ts (4 tests) 22ms ✓ src/extension/storage.test.ts (5 tests) 24ms ✓ src/lsp/NativeLspClient.test.ts (2 tests) 40ms ✓ src/core/openaiContentGenerator/provider/modelscope.test.ts (5 tests) 6ms ✓ src/extension/redaction.test.ts (11 tests) 6ms ✓ src/core/contentGenerator.test.ts (4 tests) 28ms ✓ src/skills/symlinkScope.test.ts (5 tests) 8ms ✓ src/utils/errors.test.ts (12 tests) 6ms ✓ src/memory/extractAgent.test.ts (1 test) 68ms ✓ src/utils/xml.test.ts (8 tests) 27ms ✓ src/utils/runtimeStatus.config.test.ts (4 tests) 266ms ✓ src/core/geminiRequest.test.ts (12 tests) 9ms ✓ src/core/openaiContentGenerator/provider/mistral.test.ts (4 tests) 28ms ✓ src/memory/scan.test.ts (2 tests) 50ms ✓ src/utils/bundlePaths.test.ts (4 tests) 10ms ✓ src/utils/toml-to-markdown-converter.test.ts (10 tests) 40ms ✓ src/memory/prompt.test.ts (5 tests) 4ms ✓ src/tools/syntheticOutput.test.ts (7 tests) 52ms ✓ src/telemetry/sanitize.test.ts (10 tests) 5ms ✓ src/hooks/stopHookCap.test.ts (7 tests) 5ms ✓ src/utils/thoughtUtils.test.ts (11 tests) 5ms ✓ src/telemetry/session-context.test.ts (7 tests) 5ms ✓ src/goals/activeGoalStore.test.ts (7 tests) 18ms ✓ src/tools/exit-worktree.session.integ.test.ts (4 tests) 2070ms ✓ ExitWorktreeTool — WorktreeSession sidecar cleanup > preserves the sidecar after keep so --resume can restore the worktree binding 491ms ✓ ExitWorktreeTool — WorktreeSession sidecar cleanup > clears the sidecar after remove 520ms ✓ ExitWorktreeTool — WorktreeSession sidecar cleanup > does not clear the sidecar when slug does not match 677ms ✓ ExitWorktreeTool — WorktreeSession sidecar cleanup > is a no-op when no sidecar exists 381ms ✓ src/memory/dream.test.ts (3 tests) 32ms ✓ src/utils/projectSummary.test.ts (3 tests) 81ms ✓ src/memory/indexer.test.ts (2 tests) 77ms ✓ src/utils/qwenIgnoreParser.test.ts (2 tests) 30ms ✓ src/core/permission-helpers.test.ts (5 tests) 12ms ✓ src/utils/ripgrepUtils.test.ts (6 tests) 7ms ✓ src/memory/dreamAgentPlanner.test.ts (5 tests) 33ms ✓ src/core/geminiContentGenerator/index.test.ts (3 tests) 47ms ✓ src/memory/forget.test.ts (1 test) 27ms ✓ src/utils/tool-utils.test.ts (19 tests) 7ms ✓ src/utils/asyncMessageQueue.test.ts (7 tests) 13ms ✓ src/tools/cron-create.test.ts (5 tests) 119ms ✓ src/telemetry/file-exporters.test.ts (1 test) 26ms ✓ src/utils/fetch.test.ts (3 tests) 7ms ✓ src/utils/startupEventSink.test.ts (4 tests) 19ms ✓ src/providers/__tests__/presets/modelscope.test.ts (3 tests) 22ms ✓ src/utils/filesearch/result-cache.test.ts (3 tests) 6ms ✓ src/lsp/LspConnectionFactory.test.ts (2 tests) 206ms ✓ src/memory/extractionAgentPlanner.test.ts (5 tests) 27ms ✓ src/utils/internalPromptIds.test.ts (9 tests) 13ms ✓ src/skills/bundled-skills.integration.test.ts (7 tests) 10ms ✓ src/telemetry/trace-id-utils.test.ts (8 tests) 33ms ✓ src/tools/enter-worktree.session.integ.test.ts (2 tests) 993ms ✓ EnterWorktreeTool — WorktreeSession sidecar > writes a WorktreeSession sidecar with all fields after creating worktree 444ms ✓ EnterWorktreeTool — WorktreeSession sidecar > overwrites a previous sidecar when entering a new worktree in the same session 548ms ✓ src/telemetry/telemetry-utils.test.ts (6 tests) 3ms ✓ src/memory/const.test.ts (3 tests) 5ms ✓ src/subagents/types.test.ts (3 tests) 4ms ✓ src/tools/cron-list.test.ts (3 tests) 64ms ✓ src/memory/entries.test.ts (1 test) 4ms ✓ src/index.test.ts (1 test) 2ms ✓ src/tools/cron-delete.test.ts (4 tests) 90ms ✓ src/providers/__tests__/presets/openrouter.test.ts (4 tests) 5ms ✓ src/followup/speculation.test.ts (7 tests) 5ms ✓ src/services/gitWorktreeService.hooks.integ.test.ts (3 tests) 1010ms ✓ GitWorktreeService.createUserWorktree() — hooksPath setup > points core.hooksPath at .husky when present 325ms ✓ GitWorktreeService.createUserWorktree() — hooksPath setup > falls back to .git/hooks when .husky is missing 315ms ✓ GitWorktreeService.createUserWorktree() — hooksPath setup > still creates the worktree even when hooksPath setup fails 369ms ✓ src/agents/backends/tmux-commands.test.ts (8 tests) 5ms ✓ src/telemetry/telemetry.test.ts (2 tests) 60ms ✓ src/providers/__tests__/presets/deepseek.test.ts (3 tests) 24ms ✓ src/providers/__tests__/presets/idealab.test.ts (4 tests) 14ms ✓ src/providers/__tests__/presets/alibaba-coding-plan.test.ts (2 tests) 6ms ✓ src/providers/__tests__/presets/alibaba-standard.test.ts (6 tests) 13ms ✓ src/providers/__tests__/presets/alibaba-token-plan.test.ts (2 tests) 15ms ✓ src/providers/__tests__/presets/zai.test.ts (3 tests) 46ms ✓ src/services/worktreeCleanup.test.ts (3 tests) 4ms ✓ src/providers/__tests__/presets/minimax.test.ts (2 tests) 7ms ✓ src/providers/__tests__/presets/custom-provider.test.ts (11 tests) 9ms ✓ src/providers/__tests__/provider-config.test.ts (50 tests) 26ms ⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯ FAIL src/skills/skill-activation.test.ts > extractToolFilePaths → SkillActivationRegistry integration > activates a skill keyed on src/**/*.ts from glob({ path: "src", pattern: "**/*.ts" }) Error: Test timed out in 5000ms. If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout". ❯ src/skills/skill-activation.test.ts:250:3 248| // to activate skills keyed on the joined effective selector — there 249| // was no test exercising the path that mattered. 250| it('activates a skill keyed on src/**/*.ts from glob({ path: "src", … | ^ 251| const { extractToolFilePaths } = await import( 252| '../core/coreToolScheduler.js' ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ Test Files 1 failed | 344 passed (345) Tests 1 failed | 9513 passed | 4 skipped (9518) Start at 20:34:16 Duration 67.05s (transform 92.50s, setup 10.17s, collect 896.63s, tests 101.80s, environment 109ms, prepare 59.73s) JUNIT report written to /startdir/src/qwen-code/packages/core/junit.xml npm error Lifecycle script `test` failed with error: npm error code 1 npm error path /startdir/src/qwen-code/packages/core npm error workspace @qwen-code/qwen-code-core@0.16.2 npm error location /startdir/src/qwen-code/packages/core npm error command failed npm error command sh -c vitest run '--exclude=**/{qwenConnectionHandler,useAtCompletion}.test.ts' > @qwen-code/sdk@0.1.7 test > vitest run --exclude=**/{qwenConnectionHandler,useAtCompletion}.test.ts RUN v1.6.1 /startdir/src/qwen-code/packages/sdk-typescript ✓ test/unit/daemonEvents.test.ts (46 tests) 22ms 2026-05-27 20:35:27 [ERROR] [ProcessTransport] Failed to initialize CLI process: Transport start aborted 2026-05-27 20:35:27 [ERROR] [ProcessTransport] Failed to initialize CLI process: Transport start aborted 2026-05-27 20:35:27 [ERROR] [ProcessTransport] CLI process error: Spawn failed 2026-05-27 20:35:27 [ERROR] [ProcessTransport] CLI process exited with code 1 2026-05-27 20:35:27 [ERROR] [ProcessTransport] CLI process terminated by signal SIGTERM 2026-05-27 20:35:27 [DEBUG] [ProcessTransport] Spawning CLI (native): qwen --input-format stream-json --output-format stream-json --channel=SDK 2026-05-27 20:35:27 [ERROR] [ProcessTransport] CLI process error: Process error 2026-05-27 20:35:27 [ERROR] [ProcessTransport] CLI process exited with code 1 2026-05-27 20:35:27 [ERROR] [ProcessTransport] CLI process error: Process error 2026-05-27 20:35:27 [ERROR] [ProcessTransport] CLI process exited with code 1 2026-05-27 20:35:27 [ERROR] [ProcessTransport] CLI process terminated by signal SIGKILL 2026-05-27 20:35:27 [INFO] [ProcessTransport] CLI process started successfully 2026-05-27 20:35:27 [DEBUG] [ProcessTransport] Forking CLI (node): /path/to/cli.js --input-format stream-json --output-format stream-json --channel=SDK 2026-05-27 20:35:27 [INFO] [ProcessTransport] CLI process started successfully ✓ test/unit/ProcessTransport.test.ts (71 tests) 132ms 2026-05-27 20:35:27 [ERROR] [Query] Control response error for request 4f7aa243-df5d-4dc8-82d6-018c434c87e7: Test error 2026-05-27 20:35:27 [ERROR] [Query] Initialization error: Test error ✓ test/unit/DaemonSessionClient.test.ts (19 tests) 26ms ✓ test/unit/DaemonClient.test.ts (118 tests) 342ms ✓ test/unit/daemon-sse.test.ts (18 tests) 11ms ✓ test/unit/cliPath.test.ts (33 tests) 35ms ✓ test/unit/Stream.test.ts (22 tests) 11ms ✓ test/unit/createSdkMcpServer.test.ts (18 tests) 18ms ✓ test/unit/daemon-public-surface.test.ts (4 tests) 3ms 2026-05-27 20:35:39 [ERROR] [Query] Initialization error: Query is closed ✓ test/unit/DaemonAuthFlow.test.ts (14 tests) 13074ms ✓ test/unit/createQuery.test.ts (3 tests) 18ms ✓ test/unit/approval-mode-drift.test.ts (1 test) 2ms 2026-05-27 20:35:50 [ERROR] [Query] Control response error for request 75bc2790-6904-4fb2-a02a-706f866f3fe0: Malformed error ✓ test/unit/Query.test.ts (55 tests) 23775ms Test Files 13 passed (13) Tests 422 passed (422) Start at 20:35:26 Duration 24.57s (transform 3.20s, setup 1ms, collect 5.66s, tests 37.47s, environment 2ms, prepare 1.00s) > qwen-code-vscode-ide-companion@0.16.2 test > vitest run --exclude=**/{qwenConnectionHandler,useAtCompletion}.test.ts RUN v3.2.4 /startdir/src/qwen-code/packages/vscode-ide-companion ✓ src/webview/utils/discontinuedModel.test.ts (12 tests) 5ms stdout | src/services/qwenSessionUpdateHandler.test.ts > QwenSessionUpdateHandler > current_mode_update handling > calls onModeChanged callback with mode id [SessionUpdateHandler] Processing update type: current_mode_update stdout | src/services/qwenSessionUpdateHandler.test.ts > QwenSessionUpdateHandler > agent_message_chunk handling > calls onStreamChunk callback with text content [SessionUpdateHandler] Processing update type: agent_message_chunk stdout | src/services/qwenSessionUpdateHandler.test.ts > QwenSessionUpdateHandler > agent_message_chunk handling > emits usage metadata when present [SessionUpdateHandler] Processing update type: agent_message_chunk stdout | src/services/qwenSessionUpdateHandler.test.ts > QwenSessionUpdateHandler > agent_message_chunk handling > maps SDK usage field names to both SDK and legacy fields [SessionUpdateHandler] Processing update type: agent_message_chunk stdout | src/services/qwenSessionUpdateHandler.test.ts > QwenSessionUpdateHandler > tool_call handling > calls onToolCall callback with tool call data [SessionUpdateHandler] Processing update type: tool_call stdout | src/services/qwenSessionUpdateHandler.test.ts > QwenSessionUpdateHandler > tool_call handling > forwards rawOutput for structured agent execution updates [SessionUpdateHandler] Processing update type: tool_call_update stdout | src/services/qwenSessionUpdateHandler.test.ts > QwenSessionUpdateHandler > plan handling > calls onPlan callback with plan entries [SessionUpdateHandler] Processing update type: plan stdout | src/services/qwenSessionUpdateHandler.test.ts > QwenSessionUpdateHandler > plan handling > falls back to stream chunk when onPlan is not set [SessionUpdateHandler] Processing update type: plan stdout | src/services/qwenSessionUpdateHandler.test.ts > QwenSessionUpdateHandler > available_commands_update handling > calls onAvailableCommands callback with commands [SessionUpdateHandler] Processing update type: available_commands_update stdout | src/services/qwenSessionUpdateHandler.test.ts > QwenSessionUpdateHandler > available_commands_update handling > handles commands with input hint [SessionUpdateHandler] Processing update type: available_commands_update stdout | src/services/qwenSessionUpdateHandler.test.ts > QwenSessionUpdateHandler > available_commands_update handling > does not call callback when onAvailableCommands is not set [SessionUpdateHandler] Processing update type: available_commands_update stdout | src/services/qwenSessionUpdateHandler.test.ts > QwenSessionUpdateHandler > available_commands_update handling > handles empty commands list [SessionUpdateHandler] Processing update type: available_commands_update stdout | src/services/qwenSessionUpdateHandler.test.ts > QwenSessionUpdateHandler > available skills handling > reads available skills from available_commands_update metadata [SessionUpdateHandler] Processing update type: available_commands_update stdout | src/services/qwenSessionUpdateHandler.test.ts > QwenSessionUpdateHandler > available skills handling > clears available skills when metadata is absent [SessionUpdateHandler] Processing update type: available_commands_update stdout | src/services/qwenSessionUpdateHandler.test.ts > QwenSessionUpdateHandler > updateCallbacks > updates mode callback and uses new one [SessionUpdateHandler] Processing update type: current_mode_update stdout | src/services/qwenSessionUpdateHandler.test.ts > QwenSessionUpdateHandler > updateCallbacks > updates onAvailableCommands callback [SessionUpdateHandler] Processing update type: available_commands_update stderr | src/services/conversationStore.test.ts > ConversationStore > replaceMessages returns false when the conversation is missing [ConversationStore] replaceMessages: conversation not found: missing stderr | src/services/conversationStore.test.ts > ConversationStore > renameConversationId returns false when the target id already exists [ConversationStore] renameConversationId: target conversation already exists: session-1 stderr | src/services/conversationStore.test.ts > ConversationStore > truncateFromUserTurn returns false when the target turn is missing [ConversationStore] truncateFromUserTurn: target turn not found: 4 ✓ src/utils/editorGroupUtils.test.ts (12 tests) 4ms ✓ src/services/qwenSessionUpdateHandler.test.ts (16 tests) 14ms ✓ src/services/conversationStore.test.ts (8 tests) 13ms stdout | src/services/acpFileHandler.test.ts > AcpFileHandler > handleReadTextFile > returns full content when no line/limit specified [ACP] fs/read_text_file request received for: /test/file.txt [ACP] Parameters: { line: null, limit: null, sessionId: 'sid' } stdout | src/services/acpFileHandler.test.ts > AcpFileHandler > handleReadTextFile > returns full content when no line/limit specified [ACP] Successfully read file: /test/file.txt (18 chars) [ACP] Returning full file content stdout | src/services/acpFileHandler.test.ts > AcpFileHandler > handleReadTextFile > uses 1-based line indexing (ACP spec) [ACP] fs/read_text_file request received for: /test/file.txt [ACP] Parameters: { line: 2, limit: 2, sessionId: 'sid' } stdout | src/services/acpFileHandler.test.ts > AcpFileHandler > handleReadTextFile > uses 1-based line indexing (ACP spec) [ACP] Successfully read file: /test/file.txt (29 chars) [ACP] Returning 2 lines stdout | src/services/acpFileHandler.test.ts > AcpFileHandler > handleReadTextFile > treats line=1 as first line [ACP] fs/read_text_file request received for: /test/file.txt [ACP] Parameters: { line: 1, limit: 1, sessionId: 'sid' } stdout | src/services/acpFileHandler.test.ts > AcpFileHandler > handleReadTextFile > treats line=1 as first line [ACP] Successfully read file: /test/file.txt (18 chars) [ACP] Returning 1 lines stdout | src/services/acpFileHandler.test.ts > AcpFileHandler > handleReadTextFile > defaults to line=1 when line is null but limit is set [ACP] fs/read_text_file request received for: /test/file.txt [ACP] Parameters: { line: null, limit: 2, sessionId: 'sid' } stdout | src/services/acpFileHandler.test.ts > AcpFileHandler > handleReadTextFile > defaults to line=1 when line is null but limit is set [ACP] Successfully read file: /test/file.txt (7 chars) [ACP] Returning 2 lines stdout | src/services/acpFileHandler.test.ts > AcpFileHandler > handleReadTextFile > clamps negative line values to 0 [ACP] fs/read_text_file request received for: /test/file.txt [ACP] Parameters: { line: -5, limit: null, sessionId: 'sid' } stdout | src/services/acpFileHandler.test.ts > AcpFileHandler > handleReadTextFile > clamps negative line values to 0 [ACP] Successfully read file: /test/file.txt (5 chars) [ACP] Returning 3 lines stdout | src/services/acpFileHandler.test.ts > AcpFileHandler > handleReadTextFile > propagates ENOENT errors [ACP] fs/read_text_file request received for: /missing/file.txt [ACP] Parameters: { line: null, limit: null, sessionId: 'sid' } stderr | src/services/acpFileHandler.test.ts > AcpFileHandler > handleReadTextFile > propagates ENOENT errors [ACP] Failed to read file /missing/file.txt: ENOENT stdout | src/services/acpFileHandler.test.ts > AcpFileHandler > handleReadTextFile > normalises VS Code FileNotFound to ENOENT [ACP] fs/read_text_file request received for: /missing/file.txt [ACP] Parameters: { line: null, limit: null, sessionId: 'sid' } stderr | src/services/acpFileHandler.test.ts > AcpFileHandler > handleReadTextFile > normalises VS Code FileNotFound to ENOENT [ACP] Failed to read file /missing/file.txt: file not found stdout | src/services/acpFileHandler.test.ts > AcpFileHandler > handleWriteTextFile > creates directory and uses WorkspaceEdit for existing file [ACP] fs/write_text_file request received for: /test/dir/file.txt [ACP] Content size: 5 bytes [ACP] Ensuring directory exists: /test/dir stdout | src/services/acpFileHandler.test.ts > AcpFileHandler > handleWriteTextFile > creates directory and uses WorkspaceEdit for existing file [ACP] Successfully wrote file: /test/dir/file.txt stdout | src/services/acpFileHandler.test.ts > AcpFileHandler > handleWriteTextFile > writes bytes directly for new (non-existing) file [ACP] fs/write_text_file request received for: /test/dir/newfile.txt [ACP] Content size: 5 bytes [ACP] Ensuring directory exists: /test/dir stdout | src/services/acpFileHandler.test.ts > AcpFileHandler > handleWriteTextFile > writes bytes directly for new (non-existing) file [ACP] Successfully wrote file: /test/dir/newfile.txt ✓ src/utils/paths.test.ts (18 tests) 9ms ✓ src/services/acpFileHandler.test.ts (9 tests) 13ms ✓ src/commands/index.test.ts (4 tests) 6ms ✓ src/webview/providers/chatViewRegistration.test.ts (6 tests) 4ms ✓ src/services/acpConnection.test.ts (16 tests) 13ms ✓ src/webview/utils/utils.test.ts (15 tests) 13ms stdout | src/services/daemonIdeConnection.test.ts > DaemonIdeConnection > proceeds with a second connect after the first one fails [DaemonIdeConnection] Previous connect failed: { error: 'first connect failed' } stdout | src/services/daemonIdeConnection.test.ts > DaemonIdeConnection > sends prompts through the bound daemon session [DaemonIdeConnection] Sending prompt: { sessionId: 'session-1' } stdout | src/services/daemonIdeConnection.test.ts > DaemonIdeConnection > sends prompts through the bound daemon session [DaemonIdeConnection] Prompt completed: { sessionId: 'session-1', stopReason: 'end_turn' } stdout | src/services/daemonIdeConnection.test.ts > DaemonIdeConnection > sends prompts through the bound daemon session [DaemonIdeConnection] Sending prompt: { sessionId: 'session-1' } stdout | src/services/daemonIdeConnection.test.ts > DaemonIdeConnection > sends prompts through the bound daemon session [DaemonIdeConnection] Prompt completed: { sessionId: 'session-1', stopReason: 'end_turn' } stdout | src/services/daemonIdeConnection.test.ts > DaemonIdeConnection > sends prompts through the bound daemon session [DaemonIdeConnection] Sending prompt: { sessionId: 'session-1' } stderr | src/services/daemonIdeConnection.test.ts > DaemonIdeConnection > sends prompts through the bound daemon session [DaemonIdeConnection] Prompt failed: { sessionId: 'session-1', error: 'prompt failed' } stderr | src/services/daemonIdeConnection.test.ts > DaemonIdeConnection > cancels permission requests by default and for reject options [DaemonIdeConnection] Permission option not advertised; cancelling { requestId: 'request-3', optionId: 'stale-option' } stderr | src/services/daemonIdeConnection.test.ts > DaemonIdeConnection > forwards ask-user-question answers and cancels invalid selections [DaemonIdeConnection] AskUserQuestion option not advertised; cancelling { requestId: 'ask-3', optionId: 'stale-option' } stderr | src/services/daemonIdeConnection.test.ts > DaemonIdeConnection > ignores malformed permission events [DaemonIdeConnection] Malformed permission request data stdout | src/services/daemonIdeConnection.test.ts > DaemonIdeConnection > surfaces session_died as a disconnect [DaemonIdeConnection] Session died: { sessionId: 'session-1', reason: 'agent exited' } [DaemonIdeConnection] Clearing session: { sessionId: 'session-1', reason: 'agent exited' } ✓ src/services/sessionExportService.test.ts (9 tests) 45ms stderr | src/services/daemonIdeConnection.test.ts > DaemonIdeConnection > ignores stale session_died events from another session [DaemonIdeConnection] Malformed session_died event stdout | src/services/daemonIdeConnection.test.ts > DaemonIdeConnection > surfaces event stream failures and normal stream completion [DaemonIdeConnection] Event stream session: { sessionId: 'session-1' } [DaemonIdeConnection] Clearing session: { sessionId: 'session-1', reason: 'daemon_error' } stdout | src/services/daemonIdeConnection.test.ts > DaemonIdeConnection > surfaces event stream failures and normal stream completion [DaemonIdeConnection] Clearing session: { sessionId: 'session-1', reason: 'stream_ended' } ✓ src/webview/utils/contextUsage.test.ts (4 tests) 3ms ✓ src/services/daemonIdeConnection.test.ts (19 tests) 89ms ✓ src/open-files-manager.test.ts (17 tests) 25ms ✓ src/webview/utils/slashCommandUtils.test.ts (6 tests) 5ms ✓ src/webview/providers/WebViewContent.test.ts (5 tests) 12ms ✓ src/webview/providers/ChatWebviewViewProvider.test.ts (2 tests) 4ms ✓ src/webview/hooks/useWebViewMessages.test.ts (1 test) 6ms ✓ src/webview/utils/completionUtils.test.ts (4 tests) 3ms ✓ src/webview/providers/ChatProviderRegistry.test.ts (2 tests) 28ms ✓ src/package.test.ts (1 test) 7ms ✓ src/services/subscriptionPlanDefinitions.test.ts (1 test) 4ms ✓ src/webview/hooks/useImage.test.ts (2 tests) 33ms ✓ src/utils/errorMessage.test.ts (2 tests) 2ms ✓ src/utils/imageSupport.bundle.test.ts (2 tests) 125ms stderr | src/webview/hooks/useWebViewMessages.test.tsx > useWebViewMessages > ignores conversation rewind events when the target turn is missing [useWebViewMessages] conversationRewound target turn not found: 99 ✓ src/webview/hooks/message/useMessageHandling.test.tsx (3 tests) 32ms ✓ src/webview/components/messages/toolcalls/index.test.tsx (3 tests) 32ms ✓ src/webview/hooks/useWebViewMessages.test.tsx (11 tests) 49ms ✓ src/webview/components/layout/ModelSelector.test.tsx (9 tests) 97ms ✓ src/webview/hooks/useToolCalls.test.tsx (2 tests) 23ms ✓ src/webview/components/layout/Onboarding.test.tsx (1 test) 36ms ✓ src/webview/components/layout/ProviderSetupForm.test.tsx (1 test) 42ms ✓ src/webview/hooks/useMessageSubmit.test.ts (19 tests) 25ms ✓ src/webview/App.test.tsx (8 tests) 107ms ✓ src/webview/components/layout/InputForm.test.tsx (2 tests) 36ms ✓ src/webview/handlers/AuthMessageHandler.test.ts (10 tests) 11ms ✓ src/utils/imageSupport.test.ts (1 test) 5ms ✓ src/utils/acpModelInfo.test.ts (15 tests) 6ms stdout | src/webview/handlers/FileMessageHandler.test.ts > FileMessageHandler > searches files using fuzzy search when query is provided [FileMessageHandler] handleGetWorkspaceFiles start { query: 'txt', requestId: 7 } [FileMessageHandler] Searching workspace files with fuzzy search for query txt stdout | src/webview/handlers/FileMessageHandler.test.ts > FileMessageHandler > searches files using fuzzy search when query is provided [FileMessageHandler] Sent final workspaceFiles 2 stderr | src/webview/utils/imageHandler.test.ts > imageHandler > returns null when file write throws [ImageHandler] Failed to save image: Error: disk full at /startdir/src/qwen-code/packages/vscode-ide-companion/src/webview/utils/imageHandler.test.ts:110:41 at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11 at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26 at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20 at new Promise () at runWithTimeout (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10) at runTest (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1574:12) at processTicksAndRejections (node:internal/process/task_queues:104:5) at runSuite (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8) at runSuite (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8) stdout | src/webview/handlers/FileMessageHandler.test.ts > FileMessageHandler > filters ignored paths in non-query mode [FileMessageHandler] handleGetWorkspaceFiles start { query: undefined, requestId: 7 } [FileMessageHandler] Sent initial workspaceFiles (open tabs/active) 0 stdout | src/webview/handlers/FileMessageHandler.test.ts > FileMessageHandler > filters ignored paths in non-query mode [FileMessageHandler] Sent final workspaceFiles 1 stdout | src/webview/handlers/FileMessageHandler.test.ts > FileMessageHandler > createAndOpenTempFile viewColumn selection > opens in left group when chat webview has a left neighbor [FileMessageHandler] Created and opened readonly file: [object Object] in viewColumn: 1 stdout | src/webview/handlers/FileMessageHandler.test.ts > FileMessageHandler > createAndOpenTempFile viewColumn selection > opens in right group when no left neighbor but right exists [FileMessageHandler] Created and opened readonly file: [object Object] in viewColumn: 2 stdout | src/webview/handlers/FileMessageHandler.test.ts > FileMessageHandler > createAndOpenTempFile viewColumn selection > falls back to ViewColumn.Beside when neither left nor right neighbor exists [FileMessageHandler] Created and opened readonly file: [object Object] in viewColumn: -2 ✓ src/webview/utils/imageHandler.test.ts (11 tests) 15ms stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > configures sidebar views with workspace/temp roots and resolves image paths through the attached webview [WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar) [WebViewProvider] Attempting to restore auth state and connection for view... stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > configures sidebar views with workspace/temp roots and resolves image paths through the attached webview [WebViewProvider] Attempting connection... ✓ src/webview/handlers/FileMessageHandler.test.ts (5 tests) 8ms stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > reports clipboard copy success back to the requesting webview [WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar) [WebViewProvider] Attempting to restore auth state and connection for view... stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > reports clipboard copy success back to the requesting webview [WebViewProvider] Attempting connection... stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > reports clipboard copy failures back to the requesting webview [WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar) [WebViewProvider] Attempting to restore auth state and connection for view... stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > reports clipboard copy failures back to the requesting webview [WebViewProvider] Attempting connection... stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > streams slash-command notifications into the attached webview [WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar) [WebViewProvider] Attempting to restore auth state and connection for view... stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > streams slash-command notifications into the attached webview [WebViewProvider] Attempting connection... stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > re-sends cached available commands when the webview becomes ready [WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar) [WebViewProvider] Attempting to restore auth state and connection for view... stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > re-sends cached available commands when the webview becomes ready [WebViewProvider] Attempting connection... stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > does not special-case plain insight slash notifications in the provider [WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar) [WebViewProvider] Attempting to restore auth state and connection for view... stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > does not special-case plain insight slash notifications in the provider [WebViewProvider] Attempting connection... stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > routes structured insight progress markers into the attached webview [WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar) [WebViewProvider] Attempting to restore auth state and connection for view... stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > routes structured insight progress markers into the attached webview [WebViewProvider] Attempting connection... stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > routes structured insight progress markers even when command text is normalized differently [WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar) [WebViewProvider] Attempting to restore auth state and connection for view... stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > routes structured insight progress markers even when command text is normalized differently [WebViewProvider] Attempting connection... stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > clears structured insight progress when the ready marker arrives [WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar) [WebViewProvider] Attempting to restore auth state and connection for view... stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > clears structured insight progress when the ready marker arrives [WebViewProvider] Attempting connection... stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > opens the insight report in the browser when requested from the webview [WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar) [WebViewProvider] Attempting to restore auth state and connection for view... stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > opens the insight report in the browser when requested from the webview [WebViewProvider] Attempting connection... stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > routes resolved image paths back to the requesting attached webview even when a panel exists [WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar) [WebViewProvider] Attempting to restore auth state and connection for view... stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > routes resolved image paths back to the requesting attached webview even when a panel exists [WebViewProvider] Attempting connection... stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > marks rejected switch_mode permission requests as failed without cancelling the session [WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar) [WebViewProvider] Attempting to restore auth state and connection for view... stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > marks rejected switch_mode permission requests as failed without cancelling the session [WebViewProvider] Attempting connection... stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > replays available skills to the webview after webviewReady [WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar) [WebViewProvider] Attempting to restore auth state and connection for view... stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > replays available skills to the webview after webviewReady [WebViewProvider] Attempting connection... stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > replays available commands to the webview after webviewReady [WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar) [WebViewProvider] Attempting to restore auth state and connection for view... stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > replays available commands to the webview after webviewReady [WebViewProvider] Attempting connection... stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider settings sync > does not report success for api-key settings without interactive auth data [WebViewProvider] Skipping VSCode settings sync for api-key provider; interactive auth owns provider details stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider settings sync > only syncs non-secret VS Code settings from ~/.qwen/settings.json [WebViewProvider] Syncing ~/.qwen/settings.json → VSCode settings stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider settings sync > reacts to auth-related qwen-code setting changes [WebViewProvider] Auth-related qwen-code settings changed by user, syncing... stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider settings sync > clears persisted credentials and disconnects when apiKey is emptied [WebViewProvider] Auth-related qwen-code settings changed by user, syncing... stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider settings sync > clears persisted credentials and disconnects when apiKey is emptied [WebViewProvider] apiKey cleared — de-authenticating and clearing persisted credentials stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider settings sync > does not de-auth when non-apiKey auth settings change on an api-key provider [WebViewProvider] Auth-related qwen-code settings changed by user, syncing... stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider initial model inheritance > applies the requested initial model after creating a new session [WebViewProvider] Initializing with new session (skipping restoration) stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider initial model inheritance > applies the requested initial model after creating a new session [WebViewProvider] ACP session created successfully stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider initial model inheritance > applies the requested initial model after creating a new session [WebViewProvider] Initializing empty conversation stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider initial model inheritance > applies the requested initial model after creating a new session [WebViewProvider] Empty conversation initialized: null stdout | src/webview/providers/WebViewProvider.test.ts > Notification & dot indicator > shows orange dot and notification when a long task completes while panel is not active [WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar) [WebViewProvider] Attempting to restore auth state and connection for view... [WebViewProvider] Syncing ~/.qwen/settings.json → VSCode settings stdout | src/webview/providers/WebViewProvider.test.ts > Notification & dot indicator > shows orange dot and notification when a long task completes while panel is not active [WebViewProvider] Attempting connection... stdout | src/webview/providers/WebViewProvider.test.ts > Notification & dot indicator > does not show notification for short tasks (< 20s) [WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar) [WebViewProvider] Attempting to restore auth state and connection for view... [WebViewProvider] Syncing ~/.qwen/settings.json → VSCode settings stdout | src/webview/providers/WebViewProvider.test.ts > Notification & dot indicator > does not show notification for short tasks (< 20s) [WebViewProvider] Attempting connection... stdout | src/webview/providers/WebViewProvider.test.ts > Notification & dot indicator > does not show notification when user is watching the panel [WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar) [WebViewProvider] Attempting to restore auth state and connection for view... [WebViewProvider] Syncing ~/.qwen/settings.json → VSCode settings stdout | src/webview/providers/WebViewProvider.test.ts > Notification & dot indicator > does not show notification when user is watching the panel [WebViewProvider] Attempting connection... stdout | src/webview/providers/WebViewProvider.test.ts > Notification & dot indicator > shows blue dot and notification for permission requests when panel is not active [WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar) [WebViewProvider] Attempting to restore auth state and connection for view... [WebViewProvider] Syncing ~/.qwen/settings.json → VSCode settings stdout | src/webview/providers/WebViewProvider.test.ts > Notification & dot indicator > shows blue dot and notification for permission requests when panel is not active [WebViewProvider] Attempting connection... stdout | src/webview/providers/WebViewProvider.test.ts > Notification & dot indicator > blue dot takes priority over orange dot [WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar) [WebViewProvider] Attempting to restore auth state and connection for view... [WebViewProvider] Syncing ~/.qwen/settings.json → VSCode settings stdout | src/webview/providers/WebViewProvider.test.ts > Notification & dot indicator > blue dot takes priority over orange dot [WebViewProvider] Attempting connection... stdout | src/webview/providers/WebViewProvider.test.ts > Notification & dot indicator > does not send duplicate idle notifications for multi-turn tasks [WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar) [WebViewProvider] Attempting to restore auth state and connection for view... [WebViewProvider] Syncing ~/.qwen/settings.json → VSCode settings stdout | src/webview/providers/WebViewProvider.test.ts > Notification & dot indicator > does not send duplicate idle notifications for multi-turn tasks [WebViewProvider] Attempting connection... stdout | src/webview/providers/WebViewProvider.test.ts > Notification & dot indicator > does not notify when notifications setting is disabled [WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar) [WebViewProvider] Attempting to restore auth state and connection for view... [WebViewProvider] Syncing ~/.qwen/settings.json → VSCode settings stdout | src/webview/providers/WebViewProvider.test.ts > Notification & dot indicator > does not notify when notifications setting is disabled [WebViewProvider] Attempting connection... stdout | src/webview/providers/WebViewProvider.test.ts > Notification & dot indicator > cancellation resets agentStartTime so the next short task does not trigger phantom notification [WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar) [WebViewProvider] Attempting to restore auth state and connection for view... [WebViewProvider] Syncing ~/.qwen/settings.json → VSCode settings stdout | src/webview/providers/WebViewProvider.test.ts > Notification & dot indicator > cancellation resets agentStartTime so the next short task does not trigger phantom notification [WebViewProvider] Attempting connection... stderr | src/services/settingsWriter.test.ts > settingsWriter > applyProviderInstallPlanToFile > throws on malformed settings file instead of silently overwriting it [settingsWriter] Failed to parse /tmp/qwen-vscode-settings-y6JUXd/.qwen/settings.json; refusing to overwrite a malformed file. SyntaxError: Expected ',' or ']' after array element in JSON at position 17 (line 1 column 18) at JSON.parse () at readSettings (/startdir/src/qwen-code/packages/vscode-ide-companion/src/services/settingsWriter.ts:184:17) at createFileSettingsAdapter (/startdir/src/qwen-code/packages/vscode-ide-companion/src/services/settingsWriter.ts:423:14) at Module.applyProviderInstallPlanToFile (/startdir/src/qwen-code/packages/vscode-ide-companion/src/services/settingsWriter.ts:528:20) at /startdir/src/qwen-code/packages/vscode-ide-companion/src/services/settingsWriter.test.ts:195:20 at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11 at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26 at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20 at new Promise () at runWithTimeout (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10) stderr | src/services/settingsWriter.test.ts > settingsWriter > snapshotSettingsForRollback / restoreSettingsSnapshot > snapshot returns null on a malformed file and restore is then a no-op [settingsWriter] Failed to parse /tmp/qwen-vscode-settings-mv0m5f/.qwen/settings.json; refusing to overwrite a malformed file. SyntaxError: Expected ',' or ']' after array element in JSON at position 17 (line 1 column 18) at JSON.parse () at readSettings (/startdir/src/qwen-code/packages/vscode-ide-companion/src/services/settingsWriter.ts:184:17) at Module.snapshotSettingsForRollback (/startdir/src/qwen-code/packages/vscode-ide-companion/src/services/settingsWriter.ts:546:28) at /startdir/src/qwen-code/packages/vscode-ide-companion/src/services/settingsWriter.test.ts:352:24 at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11 at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26 at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20 at new Promise () at runWithTimeout (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10) at runTest (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1574:12) [settingsWriter] snapshotSettingsForRollback failed; credential rollback disabled: Error stdout | src/webview/providers/WebViewProvider.test.ts > Notification & dot indicator > does not show dot when dotIndicator setting is disabled [WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar) [WebViewProvider] Attempting to restore auth state and connection for view... [WebViewProvider] Syncing ~/.qwen/settings.json → VSCode settings stdout | src/webview/providers/WebViewProvider.test.ts > Notification & dot indicator > does not show dot when dotIndicator setting is disabled [WebViewProvider] Attempting connection... stdout | src/webview/providers/WebViewProvider.test.ts > Notification & dot indicator > notifies when VS Code is focused but panel is not visible [WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar) [WebViewProvider] Attempting to restore auth state and connection for view... [WebViewProvider] Syncing ~/.qwen/settings.json → VSCode settings stdout | src/webview/providers/WebViewProvider.test.ts > Notification & dot indicator > notifies when VS Code is focused but panel is not visible [WebViewProvider] Attempting connection... ✓ src/services/settingsWriter.test.ts (14 tests) 34ms stdout | src/webview/providers/WebViewProvider.test.ts > Notification & dot indicator > notifies when VS Code is not focused but panel is visible [WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar) [WebViewProvider] Attempting to restore auth state and connection for view... [WebViewProvider] Syncing ~/.qwen/settings.json → VSCode settings stdout | src/webview/providers/WebViewProvider.test.ts > Notification & dot indicator > notifies when VS Code is not focused but panel is visible [WebViewProvider] Attempting connection... stdout | src/webview/providers/WebViewProvider.test.ts > Notification & dot indicator > shows blue dot and notification for askUserQuestion when panel is not active [WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar) [WebViewProvider] Attempting to restore auth state and connection for view... [WebViewProvider] Syncing ~/.qwen/settings.json → VSCode settings stdout | src/webview/providers/WebViewProvider.test.ts > Notification & dot indicator > shows blue dot and notification for askUserQuestion when panel is not active [WebViewProvider] Attempting connection... stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.handleAuthInteractive credential rollback > restores the snapshot when the reconnect leaves authState !== true [WebViewProvider] authInteractive: provider=deepseek, host=api.deepseek.com stdout | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > does not create conversation state or send an empty prompt when all pasted images fail to materialize [SessionMessageHandler] handleSendMessage called with: stderr | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > does not create conversation state or send an empty prompt when all pasted images fail to materialize [SessionMessageHandler] Failed to attach the pasted image. Nothing was sent. Please paste the image again. stdout | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > sends formatted prompt text so session restore can reconstruct pasted images [SessionMessageHandler] handleSendMessage called with: 这是什么内容 stdout | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > sends formatted prompt text so session restore can reconstruct pasted images [SessionMessageHandler] No active conversation, creating one... stdout | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > keeps the conversation store aligned with the ACP session id before editing [SessionMessageHandler] handleSendMessage called with: first prompt stdout | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > keeps the conversation store aligned with the ACP session id before editing [SessionMessageHandler] No active conversation, creating one... stdout | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > keeps the conversation store aligned with the ACP session id before editing [SessionMessageHandler] handleSendMessage called with: edited prompt stdout | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > does not switch to a colliding ACP session id when rename fails [SessionMessageHandler] handleSendMessage called with: first prompt stdout | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > does not switch to a colliding ACP session id when rename fails [SessionMessageHandler] No active conversation, creating one... stderr | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > does not switch to a colliding ACP session id when rename fails [SessionMessageHandler] Failed to align conversation store with ACP session id: conversation-1 session-1 stdout | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > syncs ACP session id alignment through the owning router setter [SessionMessageHandler] handleSendMessage called with: first prompt stdout | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > syncs ACP session id alignment through the owning router setter [SessionMessageHandler] No active conversation, creating one... stdout | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > rewinds the active ACP session before sending an edited message [SessionMessageHandler] handleSendMessage called with: edited prompt stdout | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > restores the edited conversation snapshot when replacement send fails [SessionMessageHandler] handleSendMessage called with: edited prompt stderr | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > restores the edited conversation snapshot when replacement send fails [SessionMessageHandler] Error sending message: Error: send failed at /startdir/src/qwen-code/packages/vscode-ide-companion/src/webview/handlers/SessionMessageHandler.test.ts:534:46 at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11 at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26 at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20 at new Promise () at runWithTimeout (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10) at runTest (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1574:12) at processTicksAndRejections (node:internal/process/task_queues:104:5) at runSuite (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8) at runSuite (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8) stdout | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > continues edits with ACP-only rewind when no local snapshot exists [SessionMessageHandler] handleSendMessage called with: edited prompt stderr | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > continues edits with ACP-only rewind when no local snapshot exists [SessionMessageHandler] Local conversation snapshot missing before edit; continuing with ACP rewind only. stdout | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > recovers a missing edit snapshot from persisted session messages [SessionMessageHandler] handleSendMessage called with: edited prompt stdout | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > restores the edited conversation snapshot when ACP rewind fails [SessionMessageHandler] handleSendMessage called with: edited prompt stderr | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > restores the edited conversation snapshot when ACP rewind fails [SessionMessageHandler] Failed to rewind session: Error: rewind failed at /startdir/src/qwen-code/packages/vscode-ide-companion/src/webview/handlers/SessionMessageHandler.test.ts:736:48 at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11 at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26 at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20 at new Promise () at runWithTimeout (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10) at runTest (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1574:12) at processTicksAndRejections (node:internal/process/task_queues:104:5) at runSuite (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8) at runSuite (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8) stdout | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > restores store and ACP history when saving the edited user message fails [SessionMessageHandler] handleSendMessage called with: edited prompt stderr | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > restores store and ACP history when saving the edited user message fails [SessionMessageHandler] Failed to save user message: Error: storage failed at /startdir/src/qwen-code/packages/vscode-ide-companion/src/webview/handlers/SessionMessageHandler.test.ts:806:45 at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11 at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26 at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20 at new Promise () at runWithTimeout (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10) at runTest (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1574:12) at processTicksAndRejections (node:internal/process/task_queues:104:5) at runSuite (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8) at runSuite (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8) stdout | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > rejects edit submissions with invalid target turn indexes [SessionMessageHandler] handleSendMessage called with: edited prompt stderr | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > rejects edit submissions with invalid target turn indexes [SessionMessageHandler] Invalid message edit target. -1 stdout | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > keeps currentConversationId aligned with the archived sessionId when session/load falls back to a new ACP session [SessionMessageHandler] Switching to session: archived-session stderr | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > keeps currentConversationId aligned with the archived sessionId when session/load falls back to a new ACP session [SessionMessageHandler] session/load failed, using fallback: Error: session not found on server at /startdir/src/qwen-code/packages/vscode-ide-companion/src/webview/handlers/SessionMessageHandler.test.ts:892:28 at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11 at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26 at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20 at new Promise () at runWithTimeout (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10) at runTest (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1574:12) at processTicksAndRejections (node:internal/process/task_queues:104:5) at runSuite (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8) at runSuite (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8) stdout | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > forces a fresh ACP session when the webview requests a new session [SessionMessageHandler] Creating new Qwen session... stdout | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > intercepts /export html and uses the VSCode export flow instead of sending a prompt [SessionMessageHandler] handleSendMessage called with: /export html stdout | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > prefers the active ACP session id over the local conversation id when exporting [SessionMessageHandler] handleSendMessage called with: /export html stdout | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > reports bare /export as a missing subcommand instead of exporting [SessionMessageHandler] handleSendMessage called with: /export stdout | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > reports export failures back to the user [SessionMessageHandler] handleSendMessage called with: /export md stderr | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > reports export failures back to the user [SessionMessageHandler] Failed to export session: Error: disk full at /startdir/src/qwen-code/packages/vscode-ide-companion/src/webview/handlers/SessionMessageHandler.test.ts:1084:47 at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11 at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26 at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20 at new Promise () at runWithTimeout (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10) at runTest (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1574:12) at processTicksAndRejections (node:internal/process/task_queues:104:5) at runSuite (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8) at runSuite (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8) stdout | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > encodes exported file links before rendering markdown [SessionMessageHandler] handleSendMessage called with: /export html stderr | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > handleSetModel — discontinued model defensive validation (Issue #3745) > rejects a non-runtime Qwen OAuth model and surfaces an error [SessionMessageHandler] Rejected discontinued model qwen3-coder-plus(qwen-oauth) ✓ src/webview/handlers/SessionMessageHandler.test.ts (23 tests) 55ms stdout | src/services/qwenAgentManager.test.ts > QwenAgentManager.createNewSession > creates a fresh ACP session when explicitly requested even if one is already active [QwenAgentManager] Creating new session... stdout | src/services/qwenAgentManager.test.ts > QwenAgentManager.createNewSession > creates a fresh ACP session when explicitly requested even if one is already active [QwenAgentManager] newSession returned: { "sessionId": "session-2" } [QwenAgentManager] New session created with ID: session-2 stdout | src/services/qwenAgentManager.test.ts > QwenAgentManager.createNewSession > creates a distinct fresh session after an in-flight bootstrap when forceNew is requested [QwenAgentManager] createNewSession: session creation already in flight stdout | src/services/qwenAgentManager.test.ts > QwenAgentManager.createNewSession > creates a distinct fresh session after an in-flight bootstrap when forceNew is requested [QwenAgentManager] Creating new session... stdout | src/services/qwenAgentManager.test.ts > QwenAgentManager.createNewSession > creates a distinct fresh session after an in-flight bootstrap when forceNew is requested [QwenAgentManager] newSession returned: { "sessionId": "session-2" } [QwenAgentManager] New session created with ID: session-2 ✓ src/services/qwenAgentManager.test.ts (9 tests) 14ms ✓ src/ide-server.test.ts (13 tests | 1 skipped) 95ms stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.handleAuthInteractive credential rollback > disconnects the agent after rolling back rejected credentials [WebViewProvider] authInteractive: provider=deepseek, host=api.deepseek.com stderr | src/extension.test.ts > activate > should not show the info message on subsequent activations [ReadonlyFileSystemProvider] Instance already exists, replacing with new instance stderr | src/extension.test.ts > activate > should register a handler for onDidGrantWorkspaceTrust [ReadonlyFileSystemProvider] Instance already exists, replacing with new instance stderr | src/extension.test.ts > activate > should register webview view providers for sidebar and secondary positions [ReadonlyFileSystemProvider] Instance already exists, replacing with new instance stderr | src/extension.test.ts > activate > should launch the Qwen Code when the user clicks the button [ReadonlyFileSystemProvider] Instance already exists, replacing with new instance stderr | src/extension.test.ts > activate > update notification > should show an update notification if a newer version is available [ReadonlyFileSystemProvider] Instance already exists, replacing with new instance stderr | src/extension.test.ts > activate > update notification > should not show an update notification if the version is the same [ReadonlyFileSystemProvider] Instance already exists, replacing with new instance stderr | src/extension.test.ts > activate > update notification > does not show the notification for 'cloudshell' [ReadonlyFileSystemProvider] Instance already exists, replacing with new instance stderr | src/extension.test.ts > activate > update notification > does not show the notification for 'firebasestudio' [ReadonlyFileSystemProvider] Instance already exists, replacing with new instance stderr | src/extension.test.ts > activate > update notification > should not show an update notification if the version is older [ReadonlyFileSystemProvider] Instance already exists, replacing with new instance stderr | src/extension.test.ts > activate > update notification > should execute the install command when the user clicks "Update" [ReadonlyFileSystemProvider] Instance already exists, replacing with new instance stderr | src/extension.test.ts > activate > update notification > should handle fetch errors gracefully [ReadonlyFileSystemProvider] Instance already exists, replacing with new instance ✓ src/extension.test.ts (12 tests) 52ms stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.handleAuthInteractive credential rollback > does NOT restore when the reconnect authenticates (authState === true) [WebViewProvider] authInteractive: provider=deepseek, host=api.deepseek.com stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.handleAuthInteractive credential rollback > swallows a rollback write failure so the authError message still sends [WebViewProvider] authInteractive: provider=deepseek, host=api.deepseek.com stderr | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.handleAuthInteractive credential rollback > swallows a rollback write failure so the authError message still sends [WebViewProvider] settings rollback failed: Error: EPERM: rename failed at /startdir/src/qwen-code/packages/vscode-ide-companion/src/webview/providers/WebViewProvider.test.ts:1868:13 at mockCall (file:///startdir/src/qwen-code/node_modules/@vitest/spy/dist/index.js:96:15) at spy (file:///startdir/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103) at safeRollback (/startdir/src/qwen-code/packages/vscode-ide-companion/src/webview/providers/WebViewProvider.ts:1363:9) at WebViewProvider.handleAuthInteractive (/startdir/src/qwen-code/packages/vscode-ide-companion/src/webview/providers/WebViewProvider.ts:1415:9) at /startdir/src/qwen-code/packages/vscode-ide-companion/src/webview/providers/WebViewProvider.test.ts:1884:5 at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20 stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.handleAuthInteractive credential rollback > rolls back + disconnects + reports authError when doInitializeAgentConnection throws (outer catch) [WebViewProvider] authInteractive: provider=deepseek, host=api.deepseek.com stderr | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.handleAuthInteractive credential rollback > rolls back + disconnects + reports authError when doInitializeAgentConnection throws (outer catch) [WebViewProvider] authInteractive failed: Error: disk exploded mid-reconnect at WebViewProvider. (/startdir/src/qwen-code/packages/vscode-ide-companion/src/webview/providers/WebViewProvider.test.ts:1921:13) at WebViewProvider.mockCall (file:///startdir/src/qwen-code/node_modules/@vitest/spy/dist/index.js:96:15) at WebViewProvider.spy [as doInitializeAgentConnection] (file:///startdir/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103) at WebViewProvider.handleAuthInteractive (/startdir/src/qwen-code/packages/vscode-ide-companion/src/webview/providers/WebViewProvider.ts:1400:18) at /startdir/src/qwen-code/packages/vscode-ide-companion/src/webview/providers/WebViewProvider.test.ts:1924:5 at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20 [WebViewProvider] settings rollback failed: Error: EPERM: rename failed at /startdir/src/qwen-code/packages/vscode-ide-companion/src/webview/providers/WebViewProvider.test.ts:1868:13 at mockCall (file:///startdir/src/qwen-code/node_modules/@vitest/spy/dist/index.js:96:15) at spy (file:///startdir/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103) at safeRollback (/startdir/src/qwen-code/packages/vscode-ide-companion/src/webview/providers/WebViewProvider.ts:1363:9) at WebViewProvider.handleAuthInteractive (/startdir/src/qwen-code/packages/vscode-ide-companion/src/webview/providers/WebViewProvider.ts:1437:7) at /startdir/src/qwen-code/packages/vscode-ide-companion/src/webview/providers/WebViewProvider.test.ts:1924:5 at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20 ✓ src/webview/providers/WebViewProvider.test.ts (47 tests) 1608ms ✓ WebViewProvider.handleAuthInteractive credential rollback > restores the snapshot when the reconnect leaves authState !== true 305ms ✓ WebViewProvider.handleAuthInteractive credential rollback > disconnects the agent after rolling back rejected credentials 304ms ✓ WebViewProvider.handleAuthInteractive credential rollback > does NOT restore when the reconnect authenticates (authState === true) 305ms ✓ WebViewProvider.handleAuthInteractive credential rollback > swallows a rollback write failure so the authError message still sends 313ms ✓ WebViewProvider.handleAuthInteractive credential rollback > rolls back + disconnects + reports authError when doInitializeAgentConnection throws (outer catch) 306ms Test Files 46 passed (46) Tests 411 passed | 1 skipped (412) Start at 20:35:51 Duration 8.18s (transform 10.70s, setup 0ms, collect 79.00s, tests 2.87s, environment 3.72s, prepare 4.99s) ==> ERROR: A failure occurred in check(). Aborting... ==> ERROR: Build failed, check /home/alhp/workspace/chroot/build_5b48e994-aae1-405b-8d7f-1a78c27c589a/build