==> Synchronizing chroot copy [/home/alhp/workspace/chroot/root] -> [build_673ee79f-c6c0-4f19-933f-5116bbfb17e3]...done
==> Making package: qwen-code 0.15.6-1.1 (Thu Apr 30 23:07:58 2026)
==> Retrieving sources...
-> Cloning qwen-code git repo...
Cloning into bare repository '/home/alhp/workspace/build/x86-64-v2/qwen-code-0.15.6-1/qwen-code'...
==> Validating source files with sha256sums...
qwen-code ... Passed
==> Validating source files with b2sums...
qwen-code ... Passed
==> Making package: qwen-code 0.15.6-1.1 (Thu Apr 30 21:10:52 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.3-1 7.57 MiB
extra/nodejs 25.9.0-1 63.78 MiB
extra/ripgrep 15.1.0-2 5.01 MiB
Total Installed Size: 78.58 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 9.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.7.4-1 0.09 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.13.0-1 8.66 MiB
Total Installed Size: 47.02 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
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
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 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 node-domexception@1.0.0: Use your platform's native DOMException instead
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 1420 packages, and audited 1433 packages in 2m
388 packages are looking for funding
run `npm fund` for details
38 vulnerabilities (2 low, 18 moderate, 16 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.15.6 build
> node scripts/build.js
> @qwen-code/qwen-code@0.15.6 generate
> node scripts/generate-git-commit-info.js
> @qwen-code/qwen-code-core@0.15.6 build
> node ../../scripts/build_package.js
Successfully copied files.
> @qwen-code/web-templates@0.15.6 build
> node build.mjs && tsc --build --clean && tsc
Building web-templates...
Building insight assets with Vite...
vite v5.4.21 building for production...
transforming...
✓ 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 468ms
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.15.6 build
> tsc --build
> @qwen-code/channel-telegram@0.15.6 build
> tsc --build
> @qwen-code/channel-weixin@0.15.6 build
> tsc --build
> @qwen-code/channel-dingtalk@0.15.6 build
> tsc --build
> @qwen-code/channel-plugin-example@0.15.6 build
> tsc --build
> @qwen-code/qwen-code@0.15.6 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
> @qwen-code/webui@0.15.6 build
> vite build
vite v5.4.21 building for production...
transforming...
✓ 157 modules transformed.
rendering chunks...
[vite:dts] Start generate declaration files...
computing gzip size...
dist/styles.css 82.67 kB │ gzip: 15.38 kB
dist/index.js 382.69 kB │ gzip: 96.66 kB │ map: 824.07 kB
[vite:dts] Start rollup declaration files...
Analysis will use the bundled TypeScript version 5.8.2
[vite:dts] Declaration files built in 4670ms.
dist/styles.css 82.67 kB │ gzip: 15.38 kB
dist/index.cjs 391.87 kB │ gzip: 97.37 kB │ map: 828.95 kB
dist/styles.css 82.67 kB │ gzip: 15.38 kB
dist/index.umd.js 414.53 kB │ gzip: 98.53 kB │ map: 831.92 kB
✓ built in 6.80s
> @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...
[1;33mCompiler option "skipLibCheck" is disabled to properly check generated output[0m
Done in 8.68s
> qwen-code-vscode-ide-companion@0.15.6 build
> npm run build:dev
> qwen-code-vscode-ide-companion@0.15.6 build:dev
> npm run check-types && npm run lint && node esbuild.js
> qwen-code-vscode-ide-companion@0.15.6 check-types
> tsc --noEmit
> qwen-code-vscode-ide-companion@0.15.6 lint
> eslint src
/startdir/src/qwen-code/packages/vscode-ide-companion/src/extension.ts
221:45 warning Expected { after 'if' condition curly
/startdir/src/qwen-code/packages/vscode-ide-companion/src/webview/App.tsx
180:17 warning Expected '===' and instead saw '==' eqeqeq
180:26 warning Expected { after 'if' condition curly
216:21 warning Expected { after 'if' condition curly
1214:44 warning Expected { after 'if' condition curly
1245:27 warning Expected { after 'if' condition curly
1258:47 warning Expected { after 'if' condition curly
/startdir/src/qwen-code/packages/vscode-ide-companion/src/webview/providers/WebViewProvider.ts
1740:59 warning Expected { after 'if' condition curly
1742:19 warning Expected { after 'if' condition curly
✖ 9 problems (0 errors, 9 warnings)
0 errors and 8 warnings potentially fixable with the `--fix` option.
> @qwen-code/qwen-code@0.15.6 bundle
> npm run generate && node esbuild.config.js && node scripts/copy_bundle_assets.js
> @qwen-code/qwen-code@0.15.6 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/
✅ All bundle assets copied to dist/
> @qwen-code/qwen-code@0.15.6 prepare
> husky && npm run build && npm run bundle
> @qwen-code/qwen-code@0.15.6 build
> node scripts/build.js
> @qwen-code/qwen-code@0.15.6 generate
> node scripts/generate-git-commit-info.js
> @qwen-code/qwen-code-core@0.15.6 build
> node ../../scripts/build_package.js
Successfully copied files.
> @qwen-code/web-templates@0.15.6 build
> node build.mjs && tsc --build --clean && tsc
Building web-templates...
Building insight assets with Vite...
vite v5.4.21 building for production...
transforming...
✓ 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 425ms
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.15.6 build
> tsc --build
> @qwen-code/channel-telegram@0.15.6 build
> tsc --build
> @qwen-code/channel-weixin@0.15.6 build
> tsc --build
> @qwen-code/channel-dingtalk@0.15.6 build
> tsc --build
> @qwen-code/channel-plugin-example@0.15.6 build
> tsc --build
> @qwen-code/qwen-code@0.15.6 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
> @qwen-code/webui@0.15.6 build
> vite build
vite v5.4.21 building for production...
transforming...
✓ 157 modules transformed.
rendering chunks...
[vite:dts] Start generate declaration files...
computing gzip size...
dist/styles.css 82.67 kB │ gzip: 15.38 kB
dist/index.js 382.69 kB │ gzip: 96.66 kB │ map: 824.07 kB
[vite:dts] Start rollup declaration files...
Analysis will use the bundled TypeScript version 5.8.2
[vite:dts] Declaration files built in 4620ms.
dist/styles.css 82.67 kB │ gzip: 15.38 kB
dist/index.cjs 391.87 kB │ gzip: 97.37 kB │ map: 828.95 kB
dist/styles.css 82.67 kB │ gzip: 15.38 kB
dist/index.umd.js 414.53 kB │ gzip: 98.53 kB │ map: 831.92 kB
✓ built in 6.78s
> @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...
[1;33mCompiler option "skipLibCheck" is disabled to properly check generated output[0m
Done in 8.83s
> qwen-code-vscode-ide-companion@0.15.6 build
> npm run build:dev
> qwen-code-vscode-ide-companion@0.15.6 build:dev
> npm run check-types && npm run lint && node esbuild.js
> qwen-code-vscode-ide-companion@0.15.6 check-types
> tsc --noEmit
> qwen-code-vscode-ide-companion@0.15.6 lint
> eslint src
/startdir/src/qwen-code/packages/vscode-ide-companion/src/extension.ts
221:45 warning Expected { after 'if' condition curly
/startdir/src/qwen-code/packages/vscode-ide-companion/src/webview/App.tsx
180:17 warning Expected '===' and instead saw '==' eqeqeq
180:26 warning Expected { after 'if' condition curly
216:21 warning Expected { after 'if' condition curly
1214:44 warning Expected { after 'if' condition curly
1245:27 warning Expected { after 'if' condition curly
1258:47 warning Expected { after 'if' condition curly
/startdir/src/qwen-code/packages/vscode-ide-companion/src/webview/providers/WebViewProvider.ts
1740:59 warning Expected { after 'if' condition curly
1742:19 warning Expected { after 'if' condition curly
✖ 9 problems (0 errors, 9 warnings)
0 errors and 8 warnings potentially fixable with the `--fix` option.
> @qwen-code/qwen-code@0.15.6 bundle
> npm run generate && node esbuild.config.js && node scripts/copy_bundle_assets.js
> @qwen-code/qwen-code@0.15.6 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/
✅ All bundle assets copied to dist/
npm notice
npm notice 📦 @qwen-code/qwen-code@0.15.6
npm notice Tarball Contents
npm notice 11.4kB LICENSE
npm notice 20.0kB README.md
npm notice 8.8kB dist/bundled/batch/SKILL.md
npm notice 3.6kB dist/bundled/loop/SKILL.md
npm notice 816B 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 16.6kB dist/bundled/qc-helper/docs/configuration/auth.md
npm notice 25.3kB dist/bundled/qc-helper/docs/configuration/model-providers.md
npm notice 2.2kB dist/bundled/qc-helper/docs/configuration/qwen-ignore.md
npm notice 138.4kB 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 686B dist/bundled/qc-helper/docs/features/_meta.ts
npm notice 9.9kB dist/bundled/qc-helper/docs/features/approval-mode.md
npm notice 12.4kB dist/bundled/qc-helper/docs/features/arena.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 13.7kB dist/bundled/qc-helper/docs/features/code-review.md
npm notice 26.2kB 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 14.3kB dist/bundled/qc-helper/docs/features/headless.md
npm notice 30.9kB dist/bundled/qc-helper/docs/features/hooks.md
npm notice 4.3kB dist/bundled/qc-helper/docs/features/language.md
npm notice 13.5kB dist/bundled/qc-helper/docs/features/lsp.md
npm notice 18.7kB dist/bundled/qc-helper/docs/features/mcp.md
npm notice 6.4kB 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 6.9kB dist/bundled/qc-helper/docs/features/skills.md
npm notice 14.5kB dist/bundled/qc-helper/docs/features/status-line.md
npm notice 21.5kB 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 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.4kB dist/bundled/qc-helper/docs/overview.md
npm notice 8.9kB dist/bundled/qc-helper/docs/quickstart.md
npm notice 66B dist/bundled/qc-helper/docs/reference/_meta.ts
npm notice 8.6kB 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 12.1kB dist/bundled/review/DESIGN.md
npm notice 41.7kB dist/bundled/review/SKILL.md
npm notice 25.4MB dist/cli.js
npm notice 1.0kB dist/sandbox-macos-permissive-closed.sb
npm notice 888B 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 7.3kB package.json
npm notice Bundled Dependencies
npm notice dom-accessibility-api
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-regex
npm notice aria-query
npm notice debug
npm notice dequal
npm notice lz-string
npm notice picocolors
npm notice ms
npm notice simple-git
npm notice Tarball Details
npm notice name: @qwen-code/qwen-code
npm notice version: 0.15.6
npm notice filename: qwen-code-qwen-code-0.15.6.tgz
npm notice package size: 16.3 MB
npm notice unpacked size: 57.6 MB
npm notice shasum: 6c420cc256709d2a1e2ee180782be6e5b72900d6
npm notice integrity: sha512-Ru1J3FUMeWti9[...]jI0PYJeKkfztg==
npm notice bundled deps: 18
npm notice bundled files: 0
npm notice own files: 857
npm notice total files: 857
npm notice
qwen-code-qwen-code-0.15.6.tgz
==> Starting check()...
> @qwen-code/qwen-code@0.15.6 test
> npm run test --workspaces --if-present --parallel
npm warn Unknown cli config "--parallel". This will stop working in the next major version of npm.
> @qwen-code/qwen-code@0.15.6 test
> vitest run
RUN v3.2.4 /startdir/src/qwen-code/packages/cli
Coverage enabled with v8
✓ src/ui/components/shared/vim-buffer-actions.test.ts (74 tests) 90ms
✓ src/utils/nonInteractiveHelpers.test.ts (60 tests) 69ms
✓ src/ui/hooks/useStatusLine.test.ts (52 tests) 9841ms
✓ useStatusLine > config validation > returns null when no statusLine config is set 9285ms
✓ src/utils/modelConfigUtils.test.ts (41 tests) 145ms
✓ src/services/insight/generators/DataProcessor.test.ts (38 tests) 118ms
✓ src/ui/components/shared/text-buffer.test.ts (132 tests) 664ms
✓ src/utils/settingsUtils.test.ts (73 tests) 129ms
✓ src/services/FileCommandLoader.test.ts (40 tests) 475ms
✓ src/config/settings.test.ts (95 tests) 223ms
✓ src/ui/hooks/atCommandProcessor.test.ts (43 tests) 1378ms
✓ src/ui/hooks/vim.test.ts (89 tests) 1753ms
✓ src/ui/hooks/useGeminiStream.test.tsx (83 tests) 2272ms
✓ src/acp-integration/session/Session.test.ts (31 tests) 481ms
✓ src/ui/hooks/slashCommandProcessor.test.ts (39 tests) 3081ms
✓ src/ui/contexts/KeypressContext.test.tsx (92 tests) 2372ms
✓ KeypressContext - Kitty Protocol > Enter key handling > auto-recovers from a stuck paste mode via idle timeout 1263ms
(node:2920) 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:2920) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 end listeners added to [Socket]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
(node:2920) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 finish listeners added to [Socket]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
(node:2920) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 error listeners added to [Socket]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
(node:2920) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 close listeners added to [Socket]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
(node:2920) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [Socket]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
(node:2920) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 finish listeners added to [Socket]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
(node:2920) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 error listeners added to [Socket]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
(node:2920) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 close listeners added to [Socket]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
(node:2920) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 data listeners added to [Socket]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
✓ src/acp-integration/acpAgent.test.ts (23 tests) 1180ms
✓ src/ui/commands/languageCommand.test.ts (47 tests) 198ms
✓ src/config/config.test.ts (183 tests | 2 skipped) 2627ms
✓ src/nonInteractiveCli.test.ts (30 tests | 1 skipped) 307ms
✓ src/nonInteractive/io/StreamJsonOutputAdapter.test.ts (48 tests) 132ms
✓ src/ui/hooks/useSelectionList.test.ts (45 tests) 408ms
✓ src/services/prompt-processors/shellProcessor.test.ts (34 tests) 148ms
✓ src/nonInteractive/io/BaseJsonOutputAdapter.test.ts (93 tests) 87ms
✓ src/acp-integration/session/SubAgentTracker.test.ts (24 tests) 340ms
✓ src/nonInteractive/control/ControlDispatcher.test.ts (35 tests) 39ms
✓ src/ui/hooks/useSlashCompletion.test.ts (24 tests) 755ms
✓ src/utils/errors.test.ts (38 tests) 81ms
✓ src/ui/components/SettingsDialog.test.tsx (54 tests) 9849ms
✓ SettingsDialog > Settings Navigation > should navigate down with arrow key 344ms
✓ SettingsDialog > Settings Toggling > should toggle setting with Enter key 334ms
✓ SettingsDialog > Settings Toggling > should sync compact mode with CompactModeContext when toggled 2162ms
✓ SettingsDialog > Complex State Management > should handle scrolling when there are many settings 342ms
✓ SettingsDialog > Specific Settings Behavior > should keep restart prompt when switching scopes 603ms
✓ SettingsDialog > Output Language > treats empty output language as auto 463ms
✓ SettingsDialog > Complex User Interactions > should allow changing multiple settings without losing pending changes 372ms
✓ SettingsDialog > Complex User Interactions > should maintain state consistency during complex interactions 327ms
✓ SettingsDialog > String Settings Editing > should allow editing and committing a string setting 832ms
✓ src/ui/hooks/useToolScheduler.test.ts (17 tests) 103ms
✓ src/ui/components/agent-view/agentHistoryAdapter.test.ts (35 tests) 41ms
✓ src/ui/utils/mergeCompactToolGroups.test.ts (24 tests) 14ms
✓ src/nonInteractive/io/JsonOutputAdapter.test.ts (35 tests) 96ms
✓ src/ui/hooks/shellCommandProcessor.test.ts (20 tests) 557ms
✓ src/commands/auth/openrouterOAuth.test.ts (20 tests) 1330ms
✓ openrouterOAuth > applies OpenRouter configuration to settings and reloads providers 966ms
✓ src/commands/auth/status.test.ts (22 tests) 74ms
✓ src/ui/components/messages/ToolMessage.test.tsx (29 tests) 574ms
✓ src/utils/languageUtils.test.ts (45 tests) 66ms
❯ src/ui/auth/AuthDialog.test.tsx (12 tests | 1 failed) 2613ms
✓ AuthDialog > should show an error if the initial auth type is invalid 163ms
✓ AuthDialog > GEMINI_API_KEY environment variable > should detect GEMINI_API_KEY environment variable 48ms
✓ AuthDialog > GEMINI_API_KEY environment variable > should not show the GEMINI_API_KEY message if QWEN_DEFAULT_AUTH_TYPE is set to something else 32ms
✓ AuthDialog > GEMINI_API_KEY environment variable > should show the GEMINI_API_KEY message if QWEN_DEFAULT_AUTH_TYPE is set to use api key 37ms
✓ AuthDialog > QWEN_DEFAULT_AUTH_TYPE environment variable > should select the auth type specified by QWEN_DEFAULT_AUTH_TYPE 51ms
✓ AuthDialog > QWEN_DEFAULT_AUTH_TYPE environment variable > should fall back to default if QWEN_DEFAULT_AUTH_TYPE is not set 24ms
✓ AuthDialog > QWEN_DEFAULT_AUTH_TYPE environment variable > should show an error and fall back to default if QWEN_DEFAULT_AUTH_TYPE is invalid 154ms
✓ AuthDialog > should prevent exiting when no auth method is selected and show error message 186ms
✓ AuthDialog > should not exit if there is already an error message 138ms
✓ AuthDialog > should allow exiting when auth method is already selected 138ms
✓ AuthDialog > should show OpenRouter in API key options 191ms
× AuthDialog Custom API Key Wizard > shows review screen with JSON after entering model IDs 1447ms
→ expected '┌────────────────────────────────────…' to contain 'Step 2/6 · Base URL'
✓ src/acp-integration/session/emitters/ToolCallEmitter.test.ts (33 tests) 102ms
✓ src/config/migration/versions/v2-to-v3.test.ts (31 tests) 46ms
✓ src/ui/hooks/useCodingPlanUpdates.test.ts (15 tests) 235ms
(node:2985) 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/hooks/useExtensionUpdates.test.ts (15 tests) 517ms
✓ src/ui/utils/commandUtils.test.ts (33 tests) 129ms
✓ src/ui/AppContainer.test.tsx (52 tests) 6609ms
✓ AppContainer State Management > Basic Rendering > renders without crashing with minimal props 758ms
✓ AppContainer State Management > State Initialization > initializes with theme error from initialization result 346ms
✓ AppContainer State Management > Settings Integration > handles settings with all display options disabled 335ms
✓ AppContainer State Management > Error Handling > handles config methods that might throw 362ms
✓ src/ui/hooks/useAutoAcceptIndicator.test.ts (15 tests) 459ms
✓ src/ui/hooks/useCommandCompletion.test.ts (19 tests) 281ms
✓ src/ui/components/StatsDisplay.test.tsx (17 tests) 1157ms
✓ src/ui/components/shared/BaseSelectionList.test.tsx (25 tests | 1 skipped) 1392ms
✓ src/nonInteractive/session.test.ts (21 tests) 86ms
✓ src/ui/commands/btwCommand.test.ts (17 tests) 108ms
✓ src/ui/components/InputPrompt.test.tsx (110 tests | 1 skipped) 19741ms
✓ InputPrompt > prompt suggestions > does not accept the prompt suggestion on shift+tab 480ms
✓ InputPrompt > prompt suggestions > does not accept a prompt suggestion while command completion is active 463ms
✓ InputPrompt > paste auto-submission protection > should prevent auto-submission immediately after paste with newlines 309ms
✓ InputPrompt > paste auto-submission protection > should allow submission after paste protection timeout 805ms
✓ InputPrompt > large paste placeholder > should expand placeholder to full content on submit 790ms
✓ InputPrompt > large paste placeholder > should expand same-size placeholders correctly when #2 appears first 870ms
✓ InputPrompt > large paste placeholder > should write expanded placeholder content to shell history 811ms
✓ InputPrompt > large paste placeholder > should handle mixed pastes with different character counts 461ms
✓ src/ui/components/StandaloneSessionPicker.test.tsx (18 tests) 4114ms
✓ SessionPicker > Empty Sessions > should show sessions with 0 messages 305ms
✓ SessionPicker > Keyboard Navigation > should navigate with vim keys (j/k) 327ms
✓ SessionPicker > Pagination > should load more sessions when scrolling to bottom 309ms
✓ SessionPicker > Preview Mode > renders tool_group items without crashing (stub Providers mounted) 319ms
✓ SessionPicker > Preview Mode > Enter inside preview fires onSelect with previewed sessionId 325ms
✓ SessionPicker > Preview Mode > without enablePreview, Space is a no-op and footer omits the hint 351ms
✓ src/validateNonInterActiveAuth.test.ts (13 tests) 154ms
✓ src/commands/mcp/add.test.ts (25 tests) 404ms
✓ src/services/McpPromptLoader.test.ts (25 tests) 130ms
[7A[JSelect an option:
> [36mOption 1 - First option[0m
[0mOption 2 - Second option[0m
[0mOption 3 - Third option[0m
(Use ↑ ↓ arrows to navigate, Enter to select, Ctrl+C to exit)
[7A[JSelect an option:
> [36mOption 1 - First option[0m
[0mOption 2 - Second option[0m
[0mOption 3 - Third option[0m
(Use ↑ ↓ arrows to navigate, Enter to select, Ctrl+C to exit)
✓ src/commands/auth/interactiveSelector.test.ts (15 tests) 60ms
✓ src/ui/keyMatchers.test.ts (35 tests) 99ms
✓ src/ui/hooks/useAtCompletion.test.ts (13 tests) 1470ms
✓ useAtCompletion > File Search Logic > should perform a recursive search for an empty pattern 324ms
✓ src/utils/handleAutoUpdate.test.ts (18 tests) 96ms
✓ src/ui/commands/renameCommand.test.ts (17 tests) 77ms
✓ src/services/CommandService.test.ts (15 tests) 74ms
✓ src/ui/commands/exportCommand.test.ts (14 tests) 140ms
✓ src/ui/utils/TableRenderer.test.tsx (43 tests) 1181ms
✓ src/commands/extensions/settings.test.ts (20 tests) 625ms
✓ src/config/trustedFolders.test.ts (21 tests) 88ms
✓ src/acp-integration/session/HistoryReplayer.test.ts (16 tests) 34ms
✓ src/ui/components/ModelDialog.test.tsx (11 tests) 361ms
✓ src/ui/hooks/useQwenAuth.test.ts (17 tests) 122ms
✓ src/ui/utils/textUtils.test.ts (24 tests) 22ms
✓ src/config/migration/index.test.ts (26 tests) 38ms
✓ src/ui/components/QwenOAuthProgress.test.tsx (18 tests) 784ms
✓ src/utils/installationInfo.test.ts (16 tests) 60ms
✓ src/ui/commands/directoryCommand.test.tsx (13 tests) 120ms
✓ src/ui/components/LoadingIndicator.test.tsx (24 tests) 215ms
]2;Qwen - cli]2;Qwen - root]2;Qwen - root]2;Qwen - root ✓ src/ui/commands/arenaCommand.test.ts (14 tests) 64ms
✓ src/ui/components/messages/DiffRenderer.test.tsx (16 tests) 1043ms
✓ > should call colorizeCode with null language for new file with unknown extension 424ms
✓ src/gemini.test.tsx (12 tests) 1227ms
✓ gemini.tsx main function > verifies that we dont load the config before relaunchAppInChildProcess 590ms
✓ gemini.tsx main function > should skip full settings discovery in bare mode 530ms
✓ src/acp-integration/session/rewrite/MessageRewriteMiddleware.test.ts (11 tests) 64ms
Invalid values:
Argument: approval-mode, Given: "invalid_mode", Choices: "plan", "default", "auto-edit", "yolo"
Cannot use both --yolo (-y) and --approval-mode together. Use --approval-mode=yolo instead.
process.exit unexpectedly called with "1"
✓ src/ui/auth/useAuth.test.ts (22 tests) 149ms
✓ src/config/config.integration.test.ts (19 tests) 2589ms
✓ Configuration Integration Tests > Approval Mode Integration Tests > should parse --approval-mode=auto-edit correctly through the full argument parsing flow 2165ms
✓ src/config/settingsSchema.test.ts (15 tests) 29ms
✓ src/ui/components/shared/MaxSizedBox.test.tsx (21 tests) 292ms
✓ src/ui/components/messages/ToolGroupMessage.test.tsx (14 tests) 377ms
✓ src/ui/utils/todoSnapshot.test.ts (14 tests) 51ms
✓ src/utils/systemInfo.test.ts (15 tests) 54ms
✓ src/commands/extensions/consent.test.ts (17 tests) 65ms
✓ src/nonInteractiveCliCommands.test.ts (14 tests) 27ms
✓ src/commands/extensions/update.test.ts (14 tests) 165ms
✓ src/ui/components/messages/AskUserQuestionDialog.test.tsx (15 tests) 2156ms
✓ src/ui/utils/MarkdownDisplay.test.tsx (51 tests) 1030ms
✓ src/utils/earlyInputCapture.test.ts (28 tests) 20ms
✓ src/services/SkillCommandLoader.test.ts (17 tests) 32ms
✓ src/ui/commands/aboutCommand.test.ts (9 tests) 18ms
✓ src/utils/osc.test.ts (30 tests) 25ms
✓ src/config/auth.test.ts (15 tests) 48ms
✓ src/ui/commands/clearCommand.test.ts (9 tests) 64ms
✓ src/ui/components/Composer.test.tsx (14 tests) 198ms
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:1478
throw err;
^
Error: Cannot find module '/app/cli.js'
at Module._resolveFilename (node:internal/modules/cjs/loader:1475:15)
at wrapResolveFilename (node:internal/modules/cjs/loader:1048:27)
at defaultResolveImplForCJSLoading (node:internal/modules/cjs/loader:1072:10)
at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1093:12)
at Module._load (node:internal/modules/cjs/loader:1261:25)
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 v25.9.0
Fatal error: Failed to relaunch the CLI process.
PROCESS_EXIT_CALLED
✓ src/utils/relaunch.test.ts (8 tests) 77ms
✓ src/services/FileCommandLoader-extension.test.ts (6 tests) 122ms
✓ src/utils/apiPreconnect.test.ts (23 tests) 52ms
✓ src/utils/envVarResolver.test.ts (16 tests) 34ms
✓ src/utils/writeWithBackup.test.ts (12 tests) 66ms
✓ src/services/BundledSkillLoader.test.ts (15 tests) 25ms
✓ src/ui/commands/restoreCommand.test.ts (13 tests) 253ms
✓ src/utils/doctorChecks.test.ts (12 tests) 132ms
✓ src/commands/auth/openrouter.test.ts (4 tests) 47ms
✓ src/services/prompt-processors/injectionParser.test.ts (21 tests) 61ms
✓ src/ui/hooks/useKeypress.test.ts (15 tests) 297ms
✓ src/ui/themes/theme-manager.test.ts (18 tests) 52ms
✓ src/ui/components/ModelStatsDisplay.test.tsx (8 tests) 624ms
✓ src/ui/commands/copyCommand.test.ts (11 tests) 15ms
✓ src/ui/hooks/useLoadingIndicator.test.ts (8 tests) 181ms
✓ src/services/BuiltinCommandLoader.test.ts (9 tests) 15ms
✓ src/ui/hooks/useShellHistory.test.ts (7 tests) 834ms
✓ src/ui/utils/resumeHistoryUtils.test.ts (4 tests) 42ms
✓ src/ui/themes/color-utils.test.ts (16 tests) 44ms
✓ src/ui/components/HistoryItemDisplay.test.tsx (14 tests) 971ms
✓ src/ui/utils/historyMapping.test.ts (14 tests) 5ms
✓ src/ui/commands/ideCommand.test.ts (8 tests) 53ms
✓ src/ui/hooks/useInputHistory.test.ts (11 tests) 138ms
✓ src/acp-integration/session/rewrite/LlmRewriter.test.ts (9 tests) 7ms
✓ src/utils/startupProfiler.test.ts (11 tests) 89ms
✓ src/ui/hooks/useInputHistoryStore.test.ts (14 tests) 251ms
✓ src/ui/hooks/useMessageQueue.test.ts (16 tests) 222ms
✓ src/ui/hooks/useTrustModify.test.ts (8 tests) 73ms
✓ src/ui/utils/computeStats.test.ts (12 tests) 18ms
✓ src/ui/hooks/useEditorSettings.test.ts (10 tests) 162ms
✓ src/commands/mcp/reconnect.test.ts (6 tests) 58ms
✓ src/acp-integration/session/emitters/PlanEmitter.test.ts (17 tests) 23ms
✓ src/ui/components/hooks/constants.test.ts (25 tests) 41ms
✓ src/config/migration/versions/v1-to-v2.test.ts (20 tests) 16ms
✓ src/services/command-migration-tool.test.ts (13 tests) 52ms
✓ src/services/prompt-processors/atFileProcessor.test.ts (11 tests) 95ms
✓ src/utils/gitUtils.test.ts (24 tests) 157ms
✓ src/ui/hooks/useReverseSearchCompletion.test.tsx (10 tests) 161ms
✓ src/ui/components/hooks/HookConfigDetailStep.test.tsx (14 tests) 585ms
✓ src/acp-integration/session/emitters/MessageEmitter.test.ts (13 tests) 69ms
✓ src/ui/utils/formatters.test.ts (32 tests) 11ms
✓ src/ui/hooks/useHistoryManager.test.ts (8 tests) 70ms
✓ src/ui/components/MainContent.test.tsx (1 test) 49ms
✓ src/ui/components/hooks/HooksManagementDialog.test.tsx (8 tests) 948ms
✓ src/commands/extensions/install.test.ts (8 tests) 72ms
✓ src/ui/hooks/usePhraseCycler.test.ts (9 tests) 116ms
✓ src/ui/commands/setupGithubCommand.test.ts (8 tests) 154ms
✓ src/ui/hooks/useAttentionNotifications.test.ts (9 tests) 290ms
✓ src/nonInteractive/io/StreamJsonInputReader.test.ts (11 tests) 113ms
✓ src/ui/hooks/useIdeTrustListener.test.ts (5 tests) 107ms
✓ src/ui/components/messages/ToolConfirmationMessage.test.tsx (13 tests) 618ms
✓ src/ui/hooks/useResumeCommand.test.ts (6 tests) 223ms
✓ src/ui/commands/insightCommand.test.ts (4 tests) 54ms
✓ src/ui/components/Footer.test.tsx (11 tests) 260ms
✓ src/services/commandUtils.test.ts (14 tests) 45ms
✓ src/ui/utils/synchronizedOutput.test.ts (17 tests) 52ms
✓ src/ui/components/messages/CompressionMessage.test.tsx (8 tests) 337ms
✓ src/ui/hooks/useFolderTrust.test.ts (9 tests) 197ms
✓ src/ui/components/PluginChoicePrompt.test.tsx (12 tests) 429ms
✓ src/ui/hooks/useGitBranchName.test.ts (7 tests | 2 skipped) 312ms
✓ src/ui/components/background-view/BackgroundTasksDialog.test.tsx (4 tests) 705ms
(node:3589) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 exit listeners added to [process]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
(Use `node --trace-warnings ...` to show where the warning was created)
Error parsing settings file.
Unexpected end of JSON input
Settings file may be corrupted. Please check the JSON syntax.
✓ src/utils/commentJson.test.ts (8 tests) 34ms
✓ src/commands/channel/pidfile.test.ts (12 tests) 283ms
✓ src/commands/mcp/list.test.ts (4 tests) 55ms
✓ src/ui/components/hooks/HookDetailStep.test.tsx (12 tests) 614ms
✓ src/ui/commands/bugCommand.test.ts (3 tests) 46ms
✓ src/ui/commands/extensionsCommand.test.ts (7 tests) 35ms
✓ src/dualOutput/DualOutputBridge.test.ts (12 tests) 100ms
✓ src/core/initializer.test.ts (11 tests) 37ms
✓ src/ui/components/arena/ArenaSelectDialog.test.tsx (5 tests) 638ms
✓ ArenaSelectDialog > toggles quick preview and detailed diff for the highlighted agent 359ms
✓ src/ui/components/subagents/runtime/AgentExecutionDisplay.test.tsx (4 tests) 665ms
✓ src/ui/components/TrustDialog.test.tsx (6 tests) 720ms
✓ src/utils/deepMerge.test.ts (13 tests) 38ms
✓ src/ui/contexts/SessionContext.test.tsx (4 tests) 284ms
✓ src/ui/commands/approvalModeCommand.test.ts (13 tests) 16ms
✓ src/ui/commands/modelCommand.test.ts (10 tests) 31ms
✓ src/ui/models/availableModels.test.ts (14 tests) 21ms
✓ src/config/migration/scheduler.test.ts (7 tests) 63ms
✓ src/ui/components/AnsiOutput.test.tsx (8 tests) 188ms
✓ src/ui/commands/initCommand.test.ts (5 tests) 75ms
✓ src/ui/components/hooks/HooksListStep.test.tsx (9 tests) 231ms
✓ src/ui/utils/highlight.test.ts (16 tests) 16ms
✓ src/ui/components/shared/RadioButtonSelect.test.tsx (5 tests) 122ms
✓ src/ui/components/messages/CompactToolGroupDisplay.test.tsx (8 tests) 168ms
✓ src/ui/commands/planCommand.test.ts (7 tests) 79ms
✓ src/ui/components/Tips.test.ts (9 tests) 14ms
✓ src/commands/channel/config-utils.test.ts (11 tests) 45ms
✓ src/ui/components/mcp/utils.test.ts (16 tests) 13ms
✓ src/ui/commands/resumeCommand.test.ts (9 tests) 58ms
✓ src/utils/commands.test.ts (12 tests) 6ms
✓ src/ui/utils/terminalRedrawOptimizer.test.ts (9 tests) 41ms
✓ src/ui/layouts/DefaultAppLayout.test.tsx (5 tests) 164ms
✓ src/ui/utils/updateCheck.test.ts (9 tests) 36ms
✓ src/services/FileCommandLoader-markdown.test.ts (4 tests) 156ms
✓ src/ui/commands/statsCommand.test.ts (7 tests) 59ms
✓ src/ui/components/ToolStatsDisplay.test.tsx (5 tests) 327ms
✓ src/ui/components/arena/ArenaCards.test.tsx (2 tests) 508ms
✓ ArenaSessionCard > renders the comparison summary sections from agent results 365ms
✓ src/services/markdown-command-parser.test.ts (13 tests) 12ms
✓ src/ui/components/SessionPreview.test.tsx (5 tests) 699ms
✓ src/ui/components/extensions/ExtensionsManagerDialog.test.tsx (4 tests) 212ms
✓ src/ui/components/StickyTodoList.test.tsx (5 tests) 188ms
✓ src/nonInteractive/io/StreamJsonOutputAdapter.dualOutput.test.ts (5 tests) 12ms
✓ src/ui/manageModels/manageModels.test.ts (3 tests) 43ms
✓ src/ui/components/views/McpStatus.test.tsx (12 tests) 386ms
✓ src/services/tips/tipScheduler.test.ts (7 tests) 31ms
✓ src/utils/cleanup.test.ts (8 tests) 182ms
✓ src/services/notificationService.test.ts (9 tests) 12ms
✓ src/acp-integration/service/filesystem.test.ts (4 tests) 30ms
✓ src/ui/App.test.tsx (7 tests) 220ms
✓ src/ui/commands/mcpCommand.test.ts (6 tests) 36ms
✓ src/ui/components/SessionSummaryDisplay.test.tsx (3 tests) 229ms
✓ src/ui/hooks/useTimer.test.ts (8 tests) 112ms
✓ src/ui/utils/modelsBySource.test.ts (7 tests) 11ms
✓ src/commands/extensions/utils.test.ts (6 tests) 28ms
✓ src/ui/hooks/useFocus.test.ts (6 tests) 64ms
✓ src/ui/components/shared/EnumSelector.test.tsx (9 tests) 307ms
✓ src/services/tips/tipHistory.test.ts (11 tests) 18ms
✓ src/ui/hooks/useAwaySummary.test.ts (2 tests) 121ms
✓ src/ui/commands/compressCommand.test.ts (5 tests) 78ms
✓ src/ui/utils/clipboardUtils.test.ts (11 tests) 27ms
✓ src/commands/extensions/disable.test.ts (7 tests) 133ms
✓ src/ui/components/QueuedMessageDisplay.test.tsx (7 tests) 171ms
✓ src/ui/commands/doctorCommand.test.ts (5 tests) 102ms
✓ src/ui/components/hooks/HooksDisabledStep.test.tsx (8 tests) 235ms
✓ src/remoteInput/RemoteInputWatcher.test.ts (5 tests) 550ms
✓ src/ui/components/FolderTrustDialog.test.tsx (9 tests) 697ms
✓ src/ui/hooks/useWelcomeBack.test.ts (4 tests) 271ms
✓ src/commands/extensions/enable.test.ts (7 tests) 115ms
✓ src/ui/components/shared/ToolElapsedTime.test.tsx (8 tests) 210ms
✓ src/ui/hooks/useConfigInitMessage.test.ts (7 tests) 124ms
✓ src/acp-integration/session/rewrite/TurnBuffer.test.ts (12 tests) 23ms
✓ src/ui/components/extensions/steps/ExtensionListStep.test.tsx (5 tests) 256ms
✓ src/ui/commands/docsCommand.test.ts (4 tests) 53ms
✓ src/utils/userStartupWarnings.test.ts (5 tests) 116ms
✓ src/ui/components/ManageModelsDialog.test.tsx (9 tests) 10ms
✓ src/commands/extensions/list.test.ts (4 tests) 121ms
✓ src/ui/components/PrepareLabel.test.tsx (6 tests) 256ms
✓ src/ui/commands/toolsCommand.test.ts (4 tests) 81ms
✓ src/ui/components/shared/TextInput.test.tsx (5 tests) 230ms
✓ src/ui/components/SettingInputPrompt.test.tsx (6 tests) 325ms
✓ src/utils/readStdin.test.ts (4 tests) 20ms
✓ src/ui/layouts/ScreenReaderAppLayout.test.tsx (4 tests) 100ms
✓ src/commands/mcp/remove.test.ts (4 tests) 393ms
✓ src/ui/hooks/useSlashCompletion.integration.test.ts (2 tests) 184ms
✓ src/ui/themes/theme.test.ts (5 tests) 38ms
✓ src/acp-integration/session/permissionUtils.test.ts (4 tests) 17ms
✓ src/acp-integration/session/rewrite/config.test.ts (5 tests) 11ms
✓ src/ui/components/Header.test.tsx (10 tests) 826ms
No extensions installed.
✓ src/commands/extensions.test.tsx (11 tests) 230ms
✓ src/ui/components/AppHeader.test.tsx (3 tests) 252ms
✓ src/ui/components/views/ExtensionsList.test.tsx (9 tests) 424ms
✓ src/ui/components/extensions/steps/ActionSelectionStep.test.tsx (5 tests) 157ms
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) 186ms
✓ src/ui/commands/tasksCommand.test.ts (2 tests) 17ms
✓ src/services/insight/generators/StaticInsightGenerator.test.ts (1 test) 21ms
✓ src/ui/components/ConsentPrompt.test.tsx (5 tests) 180ms
✓ src/ui/hooks/useTerminalNotification.test.ts (4 tests) 29ms
✓ src/ui/hooks/useMemoryMonitor.test.ts (3 tests) 109ms
✓ src/ui/utils/markdownUtilities.test.ts (7 tests) 5ms
✓ src/ui/utils/displayUtils.test.ts (8 tests) 34ms
✓ src/config/modelProvidersScope.test.ts (4 tests) 17ms
✓ src/config/keyBindings.test.ts (3 tests) 32ms
✓ src/commands/extensions/link.test.ts (4 tests) 70ms
✓ src/ui/components/ThemeDialog.test.tsx (2 tests) 1056ms
✓ ThemeDialog Snapshots > should render correctly in theme selection mode 848ms
✓ src/ui/components/ContextSummaryDisplay.test.tsx (4 tests) 164ms
✓ src/utils/windowTitle.test.ts (7 tests) 34ms
✓ src/core/auth.test.ts (3 tests) 30ms
✓ src/ui/commands/terminalSetupCommand.test.ts (5 tests) 9ms
✓ src/ui/utils/sessionPickerUtils.test.ts (7 tests) 35ms
✓ src/utils/startupWarnings.test.ts (4 tests) 26ms
✓ src/ui/components/TodoDisplay.test.tsx (6 tests) 191ms
✓ src/ui/components/shared/DescriptiveRadioButtonSelect.test.tsx (2 tests) 227ms
✓ src/ui/components/background-view/BackgroundTasksPill.test.tsx (7 tests) 5ms
✓ src/utils/systemInfoFields.test.ts (2 tests) 19ms
✓ src/ui/components/IdeTrustChangeDialog.test.tsx (6 tests) 254ms
✓ src/ui/hooks/useManageModelsCommand.test.ts (3 tests) 115ms
✓ src/ui/commands/statuslineCommand.test.ts (4 tests) 18ms
✓ src/ui/components/messages/BtwMessage.test.tsx (5 tests) 189ms
✓ src/ui/hooks/useModelCommand.test.ts (3 tests) 59ms
✓ src/test-utils/mockCommandContext.test.ts (3 tests) 34ms
✓ src/ui/components/Help.test.tsx (4 tests) 543ms
✓ src/ui/commands/hooksCommand.test.ts (3 tests) 21ms
✓ src/core/theme.test.ts (5 tests) 5ms
✓ src/commands/mcp.test.ts (3 tests) 27ms
✓ src/ui/components/MemoryDialog.test.tsx (1 test) 252ms
✓ src/ui/commands/dreamCommand.test.ts (1 test) 31ms
✓ src/ui/commands/helpCommand.test.ts (2 tests) 36ms
✓ src/ui/components/ShellConfirmationDialog.test.tsx (4 tests) 314ms
✓ src/ui/hooks/useThemeCommand.test.ts (1 test) 53ms
✓ src/ui/commands/quitCommand.test.ts (1 test) 13ms
✓ src/services/prompt-processors/argumentProcessor.test.ts (2 tests) 11ms
✓ src/utils/acpModelUtils.test.ts (5 tests) 23ms
✓ src/ui/components/views/ToolsList.test.tsx (3 tests) 154ms
✓ src/ui/components/LoopDetectionConfirmation.test.tsx (2 tests) 254ms
✓ src/ui/commands/manageModelsCommand.test.ts (2 tests) 13ms
✓ src/ui/commands/themeCommand.test.ts (2 tests) 5ms
✓ src/ui/components/messages/StatusMessages.test.tsx (1 test) 127ms
✓ src/acp-integration/runtimeOutputDirContext.test.ts (1 test) 10ms
✓ src/ui/commands/permissionsCommand.test.ts (3 tests) 7ms
✓ src/ui/commands/settingsCommand.test.ts (2 tests) 9ms
✓ src/ui/commands/trustCommand.test.ts (3 tests) 7ms
✓ src/ui/commands/editorCommand.test.ts (2 tests) 9ms
❯ src/ui/themes/detect-terminal-theme.test.ts (29 tests | 4 failed) 115310ms
× detectTerminalTheme > parseOscRgb > should parse rgb:RRRR/GGGG/BBBB format 5027ms
→ 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".
× detectTerminalTheme > parseOscRgb > should parse short hex components (rgb:RR/GG/BB) 5007ms
→ 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".
× detectTerminalTheme > parseOscRgb > should parse #RRGGBB format 5022ms
→ 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".
× detectTerminalTheme > parseOscRgb > should parse #RRRRGGGGBBBB format 5009ms
→ 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".
✓ detectTerminalTheme > parseOscRgb > should return undefined for invalid data 3562ms
✓ detectTerminalTheme > themeFromOscColor > should return "dark" for a dark background 3655ms
✓ detectTerminalTheme > themeFromOscColor > should return "light" for a light background 4186ms
✓ detectTerminalTheme > themeFromOscColor > should return undefined for unparseable data 4898ms
✓ detectTerminalTheme > detectOsc11Theme > should return undefined when stdin is not a TTY 3739ms
✓ detectTerminalTheme > detectOsc11Theme > should resolve "dark" when terminal reports a dark background 4405ms
✓ detectTerminalTheme > detectOsc11Theme > should resolve undefined on timeout and remove its data listener 3937ms
✓ detectTerminalTheme > detectOsc11Theme > should reassemble OSC 11 responses split across multiple data events 3787ms
✓ detectTerminalTheme > detectMacOSTheme > should return "dark" when macOS dark mode is active 4703ms
✓ detectTerminalTheme > detectMacOSTheme > should return "light" when macOS light mode is active 3665ms
✓ detectTerminalTheme > detectMacOSTheme > should return "light" when the "does not exist" message is on stderr only 3925ms
✓ detectTerminalTheme > detectMacOSTheme > should return undefined on timeout (do not assume Light Mode) 3870ms
✓ detectTerminalTheme > detectMacOSTheme > should return undefined when `defaults` is not on PATH 3401ms
✓ detectTerminalTheme > detectMacOSTheme > should return undefined on non-macOS platforms 3550ms
✓ detectTerminalTheme > detectFromColorFgBg > should return "dark" when background is dark (COLORFGBG=15;0) 4096ms
✓ detectTerminalTheme > detectFromColorFgBg > should return "light" when background is light (COLORFGBG=0;15) 3970ms
✓ detectTerminalTheme > detectFromColorFgBg > should return "light" when background is 7 (light gray) 3946ms
✓ detectTerminalTheme > detectFromColorFgBg > should return "dark" when background is 8 (dark gray) 4970ms
✓ detectTerminalTheme > detectFromColorFgBg > should handle three-part format (fg;extra;bg) 3627ms
✓ detectTerminalTheme > detectFromColorFgBg > should return undefined when COLORFGBG is not set 2741ms
✓ detectTerminalTheme > detectFromColorFgBg > should return undefined when COLORFGBG has invalid value 3807ms
✓ detectTerminalTheme > detectTerminalTheme (sync) > should prefer COLORFGBG over macOS detection 3534ms
✓ detectTerminalTheme > detectTerminalTheme (sync) > should fall back to macOS when COLORFGBG is not set 3325ms
✓ detectTerminalTheme > detectTerminalTheme (sync) > should fall back to COLORFGBG on non-macOS 3734ms
✓ detectTerminalTheme > detectTerminalTheme (sync) > should default to dark when no detection method works 2210ms
✓ src/ui/commands/authCommand.test.ts (2 tests) 6ms
✓ src/ui/commands/deleteCommand.test.ts (2 tests) 8ms
✓ src/utils/processUtils.test.ts (1 test) 4ms
✓ src/ui/commands/memoryCommand.test.ts (1 test) 6ms
✓ src/ui/components/ExternalAuthProgress.test.tsx (1 test) 58ms
✓ src/commands/extensions/uninstall.test.ts (1 test) 31ms
⎯⎯⎯⎯⎯⎯⎯ Failed Tests 5 ⎯⎯⎯⎯⎯⎯⎯
FAIL src/ui/auth/AuthDialog.test.tsx > AuthDialog Custom API Key Wizard > shows review screen with JSON after entering model IDs
AssertionError: expected '┌────────────────────────────────────…' to contain 'Step 2/6 · Base URL'
- Expected
+ Received
- Step 2/6 · Base URL
+ ┌──────────────────────────────────────────────────────────────────────────────────────────────────┐
+ │ │
+ │ Step 1/6 · Protocol │
+ │ │
+ │ › OpenAI-compatible │
+ │ OpenAI Chat Completions API (OpenRouter, vLLM, Ollama, LM Studio, Fireworks, etc.) │
+ │ │
+ │ Anthropic-compatible │
+ │ Anthropic Messages API │
+ │ │
+ │ Gemini-compatible │
+ │ Google Gemini API │
+ │ │
+ │ Enter to select, ↑↓ to navigate, Esc to go back │
+ │ │
+ └──────────────────────────────────────────────────────────────────────────────────────────────────┘
❯ src/ui/auth/AuthDialog.test.tsx:115:25
113| stdin.write('\r');
114| await vi.waitFor(() => {
115| expect(lastFrame()).toContain(expectedText);
| ^
116| });
117| };
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/5]⎯
FAIL src/ui/themes/detect-terminal-theme.test.ts > detectTerminalTheme > parseOscRgb > should parse rgb:RRRR/GGGG/BBBB format
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/ui/themes/detect-terminal-theme.test.ts:33:5
31|
32| describe('parseOscRgb', () => {
33| it('should parse rgb:RRRR/GGGG/BBBB format', async () => {
| ^
34| const { parseOscRgb } = await import('./detect-terminal-theme.js…
35| const rgb = parseOscRgb('rgb:0000/0000/0000');
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[2/5]⎯
FAIL src/ui/themes/detect-terminal-theme.test.ts > detectTerminalTheme > parseOscRgb > should parse short hex components (rgb:RR/GG/BB)
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/ui/themes/detect-terminal-theme.test.ts:39:5
37| });
38|
39| it('should parse short hex components (rgb:RR/GG/BB)', async () =>…
| ^
40| const { parseOscRgb } = await import('./detect-terminal-theme.js…
41| const rgb = parseOscRgb('rgb:ff/ff/ff');
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[3/5]⎯
FAIL src/ui/themes/detect-terminal-theme.test.ts > detectTerminalTheme > parseOscRgb > should parse #RRGGBB format
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/ui/themes/detect-terminal-theme.test.ts:45:5
43| });
44|
45| it('should parse #RRGGBB format', async () => {
| ^
46| const { parseOscRgb } = await import('./detect-terminal-theme.js…
47| const rgb = parseOscRgb('#000000');
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[4/5]⎯
FAIL src/ui/themes/detect-terminal-theme.test.ts > detectTerminalTheme > parseOscRgb > should parse #RRRRGGGGBBBB format
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/ui/themes/detect-terminal-theme.test.ts:51:5
49| });
50|
51| it('should parse #RRRRGGGGBBBB format', async () => {
| ^
52| const { parseOscRgb } = await import('./detect-terminal-theme.js…
53| const rgb = parseOscRgb('#ffffffffffff');
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[5/5]⎯
Test Files 2 failed | 304 passed (306)
Tests 5 failed | 4741 passed | 7 skipped (4753)
Start at 21:15:23
Duration 159.60s (transform 79.44s, setup 16.06s, collect 2294.63s, tests 243.49s, environment 355.53s, prepare 96.64s)
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.15.6
npm error location /startdir/src/qwen-code/packages/cli
npm error command failed
npm error command sh -c vitest run
> @qwen-code/qwen-code-core@0.15.6 test
> vitest run
RUN v3.2.4 /startdir/src/qwen-code/packages/core
Coverage enabled with v8
✓ src/core/openaiContentGenerator/pipeline.test.ts (29 tests) 118ms
✓ src/services/shellExecutionService.test.ts (50 tests) 469ms
✓ src/mcp/oauth-provider.test.ts (22 tests) 314ms
✓ src/utils/fileUtils.test.ts (83 tests) 402ms
✓ src/tools/lsp.test.ts (69 tests) 1039ms
✓ src/hooks/hookEventHandler.test.ts (107 tests) 376ms
+----------------- 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) 2273ms
✓ getQwenOAuthClient - Enhanced Error Scenarios > should handle different authentication failure reasons - timeout 2087ms
✓ src/utils/memoryImportProcessor.test.ts (28 tests) 167ms
✓ src/services/loopDetectionService.test.ts (43 tests) 722ms
✓ LoopDetectionService > Content Loop Detection > should not detect a loop for random content 464ms
✓ src/models/modelsConfig.test.ts (57 tests) 89ms
✓ src/services/chatCompressionService.test.ts (42 tests) 158ms
✓ src/tools/ripGrep.test.ts (48 tests) 666ms
(node:9832) [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/ide/ide-client.test.ts (32 tests) 162ms
✓ src/lsp/NativeLspService.test.ts (14 tests) 81ms
✓ src/qwen/sharedTokenManager.test.ts (31 tests) 302ms
✓ src/utils/retry.test.ts (56 tests) 57ms
✓ src/hooks/hookAggregator.test.ts (39 tests) 18ms
✓ src/core/openaiContentGenerator/provider/dashscope.test.ts (40 tests) 57ms
✓ src/hooks/hookPlanner.test.ts (50 tests) 44ms
✓ src/telemetry/uiTelemetry.test.ts (26 tests) 56ms
✓ src/core/openaiContentGenerator/streamingToolCallParser.test.ts (59 tests) 44ms
✓ src/utils/paths.test.ts (107 tests) 93ms
✓ src/utils/editor.test.ts (134 tests) 134ms
✓ src/extension/extensionManager.test.ts (42 tests) 179ms
✓ src/permissions/permission-manager.test.ts (192 tests) 207ms
✓ src/core/openaiContentGenerator/converter.test.ts (73 tests) 56ms
✓ src/hooks/hookSystem.test.ts (66 tests) 122ms
✓ src/tools/agent/agent.test.ts (56 tests) 177ms
✓ src/config/config.test.ts (99 tests) 643ms
✓ src/qwen/qwenContentGenerator.test.ts (44 tests) 437ms
✓ src/subagents/subagent-manager.test.ts (71 tests) 292ms
✓ src/telemetry/loggers.test.ts (45 tests) 188ms
✓ src/skills/skill-manager.test.ts (50 tests) 239ms
✓ src/core/coreToolScheduler.test.ts (67 tests) 1060ms
✓ src/tools/shell.test.ts (57 tests) 871ms
✓ src/tools/mcp-tool.test.ts (53 tests) 388ms
✓ src/core/toolHookTriggers.test.ts (47 tests) 57ms
✓ src/utils/shell-utils.test.ts (102 tests) 94ms
✓ src/core/client.test.ts (63 tests) 2178ms
✓ src/services/sessionService.test.ts (30 tests) 160ms
✓ src/tools/edit.test.ts (53 tests) 729ms
✓ src/agents/runtime/agent-headless.test.ts (26 tests | 2 skipped) 2441ms
✓ subagent.ts > AgentHeadless > create (Tool Validation) > should create a AgentHeadless successfully with minimal config 631ms
✓ src/hooks/hookRegistry.test.ts (30 tests) 123ms
✓ src/core/anthropicContentGenerator/converter.test.ts (29 tests) 96ms
✓ src/agents/background-tasks.test.ts (36 tests) 82ms
✓ src/core/logger.test.ts (38 tests) 240ms
✓ src/core/prompts.test.ts (53 tests) 240ms
✓ src/lsp/NativeLspService.integration.test.ts (30 tests) 139ms
✓ src/extension/extensionSettings.test.ts (23 tests) 115ms
✓ src/utils/pdf.test.ts (34 tests) 35ms
✓ src/core/turn.test.ts (23 tests) 26ms
✓ src/utils/filesearch/fileSearch.test.ts (27 tests) 109ms
✓ src/tools/skill.test.ts (34 tests) 180ms
✓ src/utils/workspaceContext.test.ts (44 tests) 73ms
✓ src/agents/backends/ITermBackend.test.ts (46 tests) 137ms
✓ src/utils/sessionStorageUtils.test.ts (42 tests) 59ms
✓ src/services/gitWorktreeService.test.ts (20 tests) 29ms
✓ src/tools/read-file.test.ts (39 tests) 702ms
✓ src/models/modelConfigResolver.test.ts (45 tests) 55ms
✓ src/telemetry/qwen-logger/qwen-logger.test.ts (33 tests) 166ms
✓ src/services/fileSystemService.test.ts (41 tests) 166ms
✓ src/core/geminiChat.test.ts (46 tests) 6315ms
✓ GeminiChat > should correctly retry and append to an existing history mid-conversation 2023ms
✓ GeminiChat > should retry if the model returns a completely empty stream (no chunks) 2013ms
✓ GeminiChat > should discard valid partial content from a failed attempt upon retry 2013ms
✓ src/services/sessionService.rename.test.ts (16 tests) 152ms
✓ src/agents/backends/InProcessBackend.test.ts (30 tests) 196ms
✓ src/hooks/sessionHooksManager.test.ts (32 tests) 53ms
✓ src/agents/arena/ArenaAgentClient.test.ts (21 tests) 332ms
✓ src/utils/memoryDiscovery.test.ts (16 tests) 207ms
✓ src/tools/glob.test.ts (43 tests) 3954ms
✓ GlobTool > execute > should return a GLOB_EXECUTION_ERROR on glob failure 304ms
✓ src/utils/filesearch/crawler.test.ts (21 tests) 86ms
✓ src/agents/backends/TmuxBackend.test.ts (27 tests) 77ms
✓ src/permissions/shell-semantics.test.ts (52 tests) 59ms
✓ src/utils/systemEncoding.test.ts (41 tests) 66ms
✓ src/telemetry/metrics.test.ts (38 tests) 2747ms
✓ src/models/modelRegistry.test.ts (35 tests) 45ms
✓ src/extension/variables.test.ts (20 tests) 132ms
✓ src/utils/openaiLogger.test.ts (30 tests) 336ms
✓ src/core/loggingContentGenerator/loggingContentGenerator.test.ts (11 tests) 128ms
✓ src/hooks/asyncHookRegistry.test.ts (20 tests) 25ms
✓ src/utils/rulesDiscovery.test.ts (30 tests) 242ms
✓ src/mcp/oauth-utils.test.ts (27 tests) 50ms
✓ src/mcp/oauth-token-storage.test.ts (28 tests) 40ms
✓ src/core/anthropicContentGenerator/anthropicContentGenerator.test.ts (15 tests) 5701ms
✓ AnthropicContentGenerator > passes a QwenCode User-Agent header to the Anthropic SDK 606ms
✓ AnthropicContentGenerator > merges customHeaders into defaultHeaders (does not replace defaults) 378ms
✓ AnthropicContentGenerator > adds the effort beta header when reasoning.effort is set 476ms
✓ AnthropicContentGenerator > does not add the effort beta header when reasoning.effort is not set 393ms
✓ AnthropicContentGenerator > omits the anthropic beta header when reasoning is disabled 327ms
✓ AnthropicContentGenerator > generateContent > builds request with config sampling params (config overrides request) and thinking budget 382ms
✓ AnthropicContentGenerator > generateContent > output token limits > caps configured samplingParams.max_tokens to model output limit 426ms
✓ AnthropicContentGenerator > generateContent > output token limits > caps request.config.maxOutputTokens to model output limit when config max_tokens is missing 453ms
✓ AnthropicContentGenerator > generateContent > output token limits > respects configured max_tokens for unknown models 397ms
✓ AnthropicContentGenerator > generateContent > output token limits > treats null maxOutputTokens as not configured 380ms
✓ AnthropicContentGenerator > countTokens > counts tokens using the request tokenizer 338ms
✓ AnthropicContentGenerator > countTokens > falls back to character approximation when tokenizer throws 302ms
✓ AnthropicContentGenerator > generateContentStream > requests stream=true and converts streamed events into Gemini chunks 331ms
✓ src/services/toolUseSummary.test.ts (35 tests) 177ms
✓ src/utils/pathReader.test.ts (17 tests) 207ms
✓ src/tools/ls.test.ts (27 tests) 682ms
✓ src/core/openaiContentGenerator/provider/default.test.ts (21 tests) 109ms
✓ src/core/tokenLimits.test.ts (55 tests) 51ms
✓ src/tools/todoWrite.test.ts (22 tests) 223ms
✓ src/hooks/functionHookRunner.test.ts (20 tests) 301ms
✓ src/ide/ideContext.test.ts (23 tests) 148ms
✓ src/hooks/hookRunner.test.ts (31 tests) 234ms
✓ src/utils/schemaValidator.test.ts (30 tests) 307ms
✓ src/subagents/validation.test.ts (41 tests) 47ms
✓ src/config/storage.test.ts (40 tests) 73ms
✓ src/tools/write-file.test.ts (28 tests) 292ms
✓ src/skills/skill-load.test.ts (28 tests) 63ms
✓ src/utils/shellAstParser.test.ts (144 tests) 657ms
✓ src/core/baseLlmClient.test.ts (18 tests) 41ms
✓ src/services/microcompaction/microcompact.test.ts (18 tests) 23ms
✓ src/utils/readManyFiles.test.ts (16 tests) 149ms
✓ src/core/openaiContentGenerator/pipeline.concurrent.test.ts (2 tests) 30ms
✓ src/agents/runtime/agent-interactive.test.ts (19 tests) 729ms
✓ src/extension/claude-converter.test.ts (16 tests) 156ms
✓ src/utils/ignorePatterns.test.ts (28 tests) 49ms
✓ src/core/__tests__/openaiTimeoutHandling.test.ts (12 tests) 174ms
✓ src/utils/notebook.test.ts (15 tests) 132ms
✓ src/core/geminiContentGenerator/geminiContentGenerator.test.ts (10 tests) 45ms
✓ src/agents/runtime/agent-statistics.test.ts (32 tests) 70ms
✓ src/utils/partUtils.test.ts (37 tests) 37ms
✓ src/core/openaiContentGenerator/errorHandler.test.ts (34 tests) 52ms
✓ src/services/sessionTitle.test.ts (15 tests) 39ms
✓ src/services/chatRecordingService.autoTitle.test.ts (15 tests) 161ms
✓ src/utils/request-tokenizer/textTokenizer.test.ts (31 tests) 88ms
✓ src/agents/backends/iterm-it2.test.ts (19 tests) 18ms
✓ src/utils/getFolderStructure.test.ts (15 tests) 126ms
✓ src/tools/tool-registry.test.ts (17 tests) 366ms
✓ src/utils/generateContentResponseUtilities.test.ts (29 tests) 22ms
✓ src/agents/arena/ArenaManager.test.ts (25 tests) 3780ms
✓ ArenaManager > backend initialization > should emit SESSION_UPDATE with type warning when backend detection returns warning 537ms
✓ ArenaManager > chat history forwarding > should pass chatHistory to backend spawnAgent calls 504ms
✓ ArenaManager > chat history forwarding > should pass undefined chatHistory when not provided 511ms
✓ ArenaManager > active session lifecycle > collects diff summaries and fallback approach summaries 1018ms
✓ ArenaManager > active session lifecycle > cancel should stop backend and move session to CANCELLED 583ms
✓ ArenaManager > active session lifecycle > cleanup should release backend and worktree resources after start 504ms
✓ src/tools/mcp-client.test.ts (30 tests) 275ms
✓ src/tools/modifiable-tool.test.ts (11 tests) 232ms
✓ src/tools/grep.test.ts (31 tests) 3644ms
✓ GrepTool > execute > should handle regex special characters correctly 319ms
✓ GrepTool > multi-directory workspace > should search across all workspace directories when no path is specified 306ms
✓ GrepTool > multi-directory workspace > should search only specified path within workspace directories 311ms
✓ GrepTool > multi-directory workspace > should convert relative paths to absolute when searching multiple directories 333ms
✓ src/core/openaiContentGenerator/openaiContentGenerator.test.ts (13 tests) 99ms
✓ src/services/cronScheduler.test.ts (27 tests) 47ms
✓ src/mcp/token-storage/keychain-token-storage.test.ts (24 tests) 4771ms
✓ KeychainTokenStorage > checkKeychainAvailability > should return true if keytar is available and functional 440ms
✓ KeychainTokenStorage > with keychain unavailable > listServers should throw 357ms
✓ KeychainTokenStorage > with keychain available > getCredentials > should return null if no credentials are found 303ms
✓ KeychainTokenStorage > with keychain available > listServers > should not include internal test keys in the server list 383ms
✓ KeychainTokenStorage > with keychain available > listServers > should return an empty array on error 315ms
✓ src/extension/github.test.ts (30 tests) 228ms
✓ src/followup/followupState.test.ts (15 tests) 23ms
✓ src/utils/environmentContext.test.ts (12 tests) 295ms
✓ src/services/gitService.test.ts (14 tests) 256ms
✓ src/services/backgroundShellRegistry.test.ts (22 tests) 19ms
✓ src/confirmation-bus/message-bus.test.ts (15 tests) 100ms
✓ src/mcp/token-storage/file-token-storage.test.ts (16 tests) 1380ms
✓ src/output/json-formatter.test.ts (15 tests) 14ms
✓ src/mcp/token-storage/hybrid-token-storage.test.ts (11 tests) 94ms
✓ src/utils/debugLogger.test.ts (17 tests) 95ms
✓ src/hooks/httpHookRunner.test.ts (10 tests) 86ms
✓ src/services/chatRecordingService.test.ts (15 tests) 122ms
✓ src/utils/terminalSerializer.test.ts (20 tests) 287ms
✓ src/core/openaiContentGenerator/provider/deepseek.test.ts (12 tests) 30ms
✓ src/utils/gitIgnoreParser.test.ts (20 tests) 82ms
✓ src/memory/manager.test.ts (15 tests) 145ms
✓ src/utils/envVarResolver.test.ts (16 tests) 11ms
✓ src/utils/request-tokenizer/requestTokenizer.test.ts (11 tests) 37ms
✓ src/utils/secure-browser-launcher.test.ts (14 tests) 27ms
✓ src/core/openaiContentGenerator/provider/openrouter.test.ts (12 tests) 27ms
✓ src/utils/editHelper.test.ts (17 tests) 29ms
✓ src/services/fileDiscoveryService.test.ts (13 tests) 174ms
✓ src/utils/subagentGenerator.test.ts (9 tests) 225ms
✓ src/hooks/envInterpolator.test.ts (30 tests) 61ms
✓ src/utils/cronParser.test.ts (24 tests) 135ms
✓ src/tools/tools.test.ts (11 tests) 40ms
✓ src/utils/truncation.test.ts (10 tests) 28ms
✓ src/utils/yaml-parser.test.ts (18 tests) 21ms
✓ src/core/modalityDefaults.test.ts (30 tests) 13ms
✓ src/followup/overlayFs.test.ts (15 tests) 154ms
✓ src/hooks/urlValidator.test.ts (20 tests) 23ms
✓ src/hooks/registerSkillHooks.test.ts (7 tests) 10ms
✓ src/tools/task-stop.test.ts (7 tests) 149ms
✓ src/hooks/ssrfGuard.test.ts (21 tests) 52ms
✓ src/mcp/token-storage/base-token-storage.test.ts (12 tests) 12ms
✓ src/models/content-generator-config.test.ts (12 tests) 37ms
✓ src/agents/agent-transcript.test.ts (19 tests) 108ms
✓ src/ide/ide-installer.test.ts (10 tests) 62ms
✓ src/mcp/sa-impersonation-provider.test.ts (8 tests) 18ms
✓ src/tools/web-fetch.test.ts (13 tests) 237ms
✓ src/tools/diffOptions.test.ts (9 tests) 8ms
✓ src/tools/exitPlanMode.test.ts (22 tests) 44ms
✓ src/utils/request-tokenizer/imageTokenizer.test.ts (9 tests) 9ms
✓ src/lsp/LspConfigLoader.test.ts (6 tests) 48ms
✓ src/ide/process-utils.test.ts (6 tests) 14ms
✓ src/memory/memoryLifecycle.integration.test.ts (1 test) 256ms
✓ src/extension/gemini-converter.test.ts (9 tests) 8ms
✓ src/utils/rateLimit.test.ts (16 tests) 43ms
✓ src/utils/filesearch/ignore.test.ts (12 tests) 84ms
✓ src/ide/detect-ide.test.ts (14 tests) 98ms
✓ src/utils/safeJsonParse.test.ts (14 tests) 45ms
✓ src/extension/override.test.ts (16 tests) 10ms
✓ src/extension/marketplace.test.ts (22 tests) 32ms
✓ src/prompts/prompt-registry.test.ts (11 tests) 58ms
✓ src/core/nonInteractiveToolExecutor.test.ts (8 tests) 51ms
✓ src/utils/quotaErrorDetection.test.ts (16 tests) 33ms
✓ src/extension/settings.test.ts (10 tests) 22ms
✓ src/utils/jsonl-utils.test.ts (13 tests) 102ms
✓ src/tools/send-message.test.ts (6 tests) 188ms
✓ src/telemetry/sdk.test.ts (6 tests) 75ms
✓ src/utils/textUtils.test.ts (20 tests) 30ms
✓ src/utils/forkedAgent.cache.test.ts (9 tests) 35ms
✓ src/utils/sideQuery.test.ts (4 tests) 146ms
✓ src/utils/runtimeFetchOptions.test.ts (8 tests) 7ms
✓ src/utils/errorReporting.test.ts (5 tests) 25ms
✓ src/utils/filesearch/crawlCache.test.ts (9 tests) 22ms
✓ src/utils/configResolver.test.ts (12 tests) 17ms
✓ src/telemetry/config.test.ts (11 tests) 45ms
✓ src/agents/arena/diff-summary.test.ts (8 tests) 38ms
✓ src/memory/store.test.ts (5 tests) 94ms
✓ src/utils/schemaConverter.test.ts (12 tests) 89ms
✓ src/utils/errorParsing.test.ts (11 tests) 12ms
✓ src/tools/mcp-client-manager.test.ts (7 tests) 43ms
✓ src/tools/askUserQuestion.test.ts (11 tests) 26ms
✓ src/utils/proxyUtils.test.ts (18 tests) 13ms
✓ src/memory/extract.test.ts (3 tests) 136ms
✓ src/utils/nextSpeakerChecker.test.ts (10 tests) 146ms
✓ src/mcp/google-auth-provider.test.ts (8 tests) 65ms
✓ src/subagents/builtin-agents.test.ts (8 tests) 7ms
✓ src/extension/npm.test.ts (22 tests) 15ms
✓ src/utils/shellReadOnlyChecker.test.ts (33 tests) 25ms
✓ src/utils/installationManager.test.ts (4 tests) 8ms
✓ src/hooks/combinedAbortSignal.test.ts (8 tests) 373ms
✓ src/followup/speculationToolGate.test.ts (26 tests) 265ms
✓ src/core/openaiContentGenerator/provider/modelscope.test.ts (5 tests) 10ms
✓ src/memory/recall.test.ts (5 tests) 39ms
✓ src/memory/extractAgent.test.ts (1 test) 81ms
✓ src/lsp/LspServerManager.test.ts (6 tests) 45ms
✓ src/extension/storage.test.ts (5 tests) 12ms
✓ src/memory/relevanceSelector.test.ts (3 tests) 64ms
✓ src/utils/errors.test.ts (12 tests) 19ms
✓ src/core/geminiRequest.test.ts (12 tests) 37ms
✓ src/utils/toml-to-markdown-converter.test.ts (10 tests) 7ms
✓ src/memory/prompt.test.ts (5 tests) 12ms
✓ src/utils/safeJsonStringify.test.ts (8 tests) 3ms
✓ src/services/chatRecordingService.customTitle.test.ts (6 tests) 79ms
✓ src/telemetry/sanitize.test.ts (10 tests) 9ms
✓ src/memory/scan.test.ts (2 tests) 62ms
✓ src/utils/thoughtUtils.test.ts (11 tests) 13ms
✓ src/utils/projectSummary.test.ts (3 tests) 64ms
✓ src/utils/qwenIgnoreParser.test.ts (2 tests) 27ms
✓ src/memory/indexer.test.ts (2 tests) 64ms
✓ src/utils/atomicFileWrite.test.ts (5 tests) 30ms
✓ src/core/contentGenerator.test.ts (4 tests) 139ms
✓ src/utils/asyncMessageQueue.test.ts (7 tests) 6ms
✓ src/utils/fetch.test.ts (3 tests) 45ms
✓ src/telemetry/file-exporters.test.ts (1 test) 31ms
✓ src/utils/filesearch/result-cache.test.ts (3 tests) 43ms
✓ src/tools/agent/agent-context.test.ts (5 tests) 16ms
✓ src/followup/smoke.test.ts (21 tests) 70ms
✓ src/telemetry/telemetry-utils.test.ts (6 tests) 20ms
✓ src/memory/const.test.ts (3 tests) 21ms
✓ src/tools/cron-create.test.ts (5 tests) 118ms
✓ src/memory/entries.test.ts (1 test) 14ms
✓ src/memory/dream.test.ts (3 tests) 103ms
✓ src/subagents/types.test.ts (3 tests) 3ms
✓ src/utils/internalPromptIds.test.ts (6 tests) 4ms
✓ src/index.test.ts (1 test) 3ms
✓ src/tools/cron-delete.test.ts (4 tests) 111ms
✓ src/tools/cron-list.test.ts (3 tests) 125ms
✓ src/core/geminiContentGenerator/index.test.ts (3 tests) 14ms
✓ src/utils/tool-utils.test.ts (19 tests) 12ms
✓ src/utils/ripgrepUtils.test.ts (6 tests) 4ms
✓ src/memory/extractionAgentPlanner.test.ts (5 tests) 15ms
✓ src/memory/dreamAgentPlanner.test.ts (5 tests) 60ms
✓ src/subagents/model-selection.test.ts (6 tests) 4ms
✓ src/followup/suggestionGenerator.test.ts (16 tests) 6ms
✓ src/followup/speculation.test.ts (7 tests) 12ms
✓ src/agents/backends/tmux-commands.test.ts (8 tests) 5ms
✓ src/telemetry/telemetry.test.ts (2 tests) 23ms
Test Files 254 passed (254)
Tests 6255 passed | 2 skipped (6257)
Start at 21:18:05
Duration 54.04s (transform 59.74s, setup 13.13s, collect 719.19s, tests 70.55s, environment 95ms, prepare 68.93s)
JUNIT report written to /startdir/src/qwen-code/packages/core/junit.xml
% Coverage report from v8
> @qwen-code/sdk@0.1.7 test
> vitest run
RUN v1.6.1 /startdir/src/qwen-code/packages/sdk-typescript
✓ test/unit/cliPath.test.ts (33 tests) 27ms
2026-04-30 21:19:04 [ERROR] [ProcessTransport] Failed to initialize CLI process: Transport start aborted
2026-04-30 21:19:04 [ERROR] [ProcessTransport] Failed to initialize CLI process: Transport start aborted
2026-04-30 21:19:04 [ERROR] [ProcessTransport] CLI process error: Spawn failed
2026-04-30 21:19:04 [ERROR] [ProcessTransport] CLI process exited with code 1
2026-04-30 21:19:04 [ERROR] [ProcessTransport] CLI process terminated by signal SIGTERM
2026-04-30 21:19:04 [ERROR] [ProcessTransport] CLI process error: Process error
2026-04-30 21:19:04 [DEBUG] [ProcessTransport] Spawning CLI (native): qwen --input-format stream-json --output-format stream-json --channel=SDK
2026-04-30 21:19:04 [ERROR] [ProcessTransport] CLI process exited with code 1
2026-04-30 21:19:04 [ERROR] [ProcessTransport] CLI process error: Process error
2026-04-30 21:19:04 [ERROR] [ProcessTransport] CLI process exited with code 1
2026-04-30 21:19:04 [ERROR] [ProcessTransport] CLI process terminated by signal SIGKILL
2026-04-30 21:19:04 [INFO] [ProcessTransport] CLI process started successfully
2026-04-30 21:19:04 [DEBUG] [ProcessTransport] Forking CLI (node): /path/to/cli.js --input-format stream-json --output-format stream-json --channel=SDK
2026-04-30 21:19:04 [INFO] [ProcessTransport] CLI process started successfully
✓ test/unit/ProcessTransport.test.ts (71 tests) 134ms
✓ test/unit/createSdkMcpServer.test.ts (18 tests) 18ms
2026-04-30 21:19:04 [ERROR] [Query] Control response error for request 0fff3e3b-afe8-479b-a98f-5452ed67bcf1: Test error
2026-04-30 21:19:04 [ERROR] [Query] Initialization error: Test error
✓ test/unit/Stream.test.ts (22 tests) 12ms
✓ test/unit/createQuery.test.ts (3 tests) 78ms
2026-04-30 21:19:16 [ERROR] [Query] Initialization error: Query is closed
2026-04-30 21:19:27 [ERROR] [Query] Control response error for request 0f08f510-4056-4c40-8076-86e00116b51e: Malformed error
✓ test/unit/Query.test.ts (54 tests) 23783ms
Test Files 6 passed (6)
Tests 201 passed (201)
Start at 21:19:03
Duration 24.57s (transform 965ms, setup 1ms, collect 1.60s, tests 24.05s, environment 1ms, prepare 487ms)
> qwen-code-vscode-ide-companion@0.15.6 test
> vitest run
RUN v3.2.4 /startdir/src/qwen-code/packages/vscode-ide-companion
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
✓ src/services/qwenSessionUpdateHandler.test.ts (16 tests) 15ms
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
✓ src/webview/utils/contextUsage.test.ts (4 tests) 6ms
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/services/acpFileHandler.test.ts (9 tests) 25ms
✓ src/webview/utils/slashCommandUtils.test.ts (6 tests) 4ms
✓ src/utils/acpModelInfo.test.ts (15 tests) 57ms
✓ src/webview/providers/WebViewContent.test.ts (5 tests) 4ms
✓ src/commands/index.test.ts (4 tests) 6ms
✓ src/webview/utils/utils.test.ts (15 tests) 19ms
✓ src/webview/providers/chatViewRegistration.test.ts (6 tests) 5ms
✓ src/services/sessionExportService.test.ts (9 tests) 64ms
✓ src/services/acpConnection.test.ts (16 tests) 46ms
✓ src/webview/hooks/useWebViewMessages.test.ts (1 test) 9ms
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
✓ src/webview/hooks/useMessageSubmit.test.ts (17 tests) 30ms
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
✓ src/webview/handlers/FileMessageHandler.test.ts (2 tests) 65ms
✓ src/webview/utils/completionUtils.test.ts (4 tests) 10ms
✓ src/webview/providers/ChatProviderRegistry.test.ts (2 tests) 7ms
✓ src/webview/providers/ChatWebviewViewProvider.test.ts (2 tests) 19ms
✓ src/open-files-manager.test.ts (17 tests) 98ms
stdout | src/services/qwenConnectionHandler.test.ts > QwenConnectionHandler > proxy configuration > passes --proxy argument when http.proxy is set
[QwenAgentManager] 🚀 CONNECT() CALLED - ID: 1777583971489
[QwenAgentManager] Using proxy from VSCode settings: http://proxy.example.com:8080
[QwenAgentManager] Connecting to ACP process (attempt 1/3)...
stdout | src/services/qwenConnectionHandler.test.ts > QwenConnectionHandler > proxy configuration > passes --proxy argument when http.proxy is set
[QwenAgentManager] ACP process connected successfully
[QwenAgentManager] no sessionRestored, Creating new session...
[QwenAgentManager] Creating new session (letting CLI handle authentication)...
[QwenAgentManager] Creating session (attempt 1/3)...
stdout | src/services/qwenConnectionHandler.test.ts > QwenConnectionHandler > proxy configuration > passes --proxy argument when http.proxy is set
[QwenAgentManager] Session created successfully
stdout | src/services/qwenConnectionHandler.test.ts > QwenConnectionHandler > proxy configuration > passes --proxy argument when http.proxy is set
[QwenAgentManager] New session created successfully
========================================
[QwenAgentManager] ✅ CONNECT() COMPLETED SUCCESSFULLY
========================================
stdout | src/services/qwenConnectionHandler.test.ts > QwenConnectionHandler > proxy configuration > passes --proxy argument when https.proxy is set (fallback)
[QwenAgentManager] 🚀 CONNECT() CALLED - ID: 1777583971526
[QwenAgentManager] Using proxy from VSCode settings: http://https-proxy.example.com:8080
[QwenAgentManager] Connecting to ACP process (attempt 1/3)...
stdout | src/services/qwenConnectionHandler.test.ts > QwenConnectionHandler > proxy configuration > passes --proxy argument when https.proxy is set (fallback)
[QwenAgentManager] ACP process connected successfully
[QwenAgentManager] no sessionRestored, Creating new session...
[QwenAgentManager] Creating new session (letting CLI handle authentication)...
[QwenAgentManager] Creating session (attempt 1/3)...
stdout | src/services/qwenConnectionHandler.test.ts > QwenConnectionHandler > proxy configuration > passes --proxy argument when https.proxy is set (fallback)
[QwenAgentManager] Session created successfully
stdout | src/services/qwenConnectionHandler.test.ts > QwenConnectionHandler > proxy configuration > passes --proxy argument when https.proxy is set (fallback)
[QwenAgentManager] New session created successfully
========================================
[QwenAgentManager] ✅ CONNECT() COMPLETED SUCCESSFULLY
========================================
stdout | src/services/qwenConnectionHandler.test.ts > QwenConnectionHandler > proxy configuration > prefers http.proxy over https.proxy
[QwenAgentManager] 🚀 CONNECT() CALLED - ID: 1777583971534
[QwenAgentManager] Using proxy from VSCode settings: http://http-proxy.example.com:8080
[QwenAgentManager] Connecting to ACP process (attempt 1/3)...
stdout | src/services/qwenConnectionHandler.test.ts > QwenConnectionHandler > proxy configuration > prefers http.proxy over https.proxy
[QwenAgentManager] ACP process connected successfully
[QwenAgentManager] no sessionRestored, Creating new session...
[QwenAgentManager] Creating new session (letting CLI handle authentication)...
[QwenAgentManager] Creating session (attempt 1/3)...
stdout | src/services/qwenConnectionHandler.test.ts > QwenConnectionHandler > proxy configuration > prefers http.proxy over https.proxy
[QwenAgentManager] Session created successfully
stdout | src/services/qwenConnectionHandler.test.ts > QwenConnectionHandler > proxy configuration > prefers http.proxy over https.proxy
[QwenAgentManager] New session created successfully
========================================
[QwenAgentManager] ✅ CONNECT() COMPLETED SUCCESSFULLY
========================================
stdout | src/services/qwenConnectionHandler.test.ts > QwenConnectionHandler > proxy configuration > does not pass --proxy argument when no proxy is configured
[QwenAgentManager] 🚀 CONNECT() CALLED - ID: 1777583971542
[QwenAgentManager] Connecting to ACP process (attempt 1/3)...
stdout | src/services/qwenConnectionHandler.test.ts > QwenConnectionHandler > proxy configuration > does not pass --proxy argument when no proxy is configured
[QwenAgentManager] ACP process connected successfully
[QwenAgentManager] no sessionRestored, Creating new session...
[QwenAgentManager] Creating new session (letting CLI handle authentication)...
[QwenAgentManager] Creating session (attempt 1/3)...
stdout | src/services/qwenConnectionHandler.test.ts > QwenConnectionHandler > proxy configuration > does not pass --proxy argument when no proxy is configured
[QwenAgentManager] Session created successfully
stdout | src/services/qwenConnectionHandler.test.ts > QwenConnectionHandler > proxy configuration > does not pass --proxy argument when no proxy is configured
[QwenAgentManager] New session created successfully
========================================
[QwenAgentManager] ✅ CONNECT() COMPLETED SUCCESSFULLY
========================================
stdout | src/services/qwenConnectionHandler.test.ts > QwenConnectionHandler > proxy configuration > does not pass --proxy argument when proxy is empty string
[QwenAgentManager] 🚀 CONNECT() CALLED - ID: 1777583971561
[QwenAgentManager] Connecting to ACP process (attempt 1/3)...
stdout | src/services/qwenConnectionHandler.test.ts > QwenConnectionHandler > proxy configuration > does not pass --proxy argument when proxy is empty string
[QwenAgentManager] ACP process connected successfully
[QwenAgentManager] no sessionRestored, Creating new session...
[QwenAgentManager] Creating new session (letting CLI handle authentication)...
[QwenAgentManager] Creating session (attempt 1/3)...
stdout | src/services/qwenConnectionHandler.test.ts > QwenConnectionHandler > proxy configuration > does not pass --proxy argument when proxy is empty string
[QwenAgentManager] Session created successfully
stdout | src/services/qwenConnectionHandler.test.ts > QwenConnectionHandler > proxy configuration > does not pass --proxy argument when proxy is empty string
[QwenAgentManager] New session created successfully
========================================
[QwenAgentManager] ✅ CONNECT() COMPLETED SUCCESSFULLY
========================================
stdout | src/services/qwenConnectionHandler.test.ts > QwenConnectionHandler > connect retry logic > succeeds on first attempt without retry
[QwenAgentManager] 🚀 CONNECT() CALLED - ID: 1777583971571
[QwenAgentManager] Connecting to ACP process (attempt 1/3)...
stdout | src/services/qwenConnectionHandler.test.ts > QwenConnectionHandler > connect retry logic > succeeds on first attempt without retry
[QwenAgentManager] ACP process connected successfully
[QwenAgentManager] no sessionRestored, Creating new session...
[QwenAgentManager] Creating new session (letting CLI handle authentication)...
[QwenAgentManager] Creating session (attempt 1/3)...
stdout | src/services/qwenConnectionHandler.test.ts > QwenConnectionHandler > connect retry logic > succeeds on first attempt without retry
[QwenAgentManager] Session created successfully
stdout | src/services/qwenConnectionHandler.test.ts > QwenConnectionHandler > connect retry logic > succeeds on first attempt without retry
[QwenAgentManager] New session created successfully
========================================
[QwenAgentManager] ✅ CONNECT() COMPLETED SUCCESSFULLY
========================================
stdout | src/services/qwenConnectionHandler.test.ts > QwenConnectionHandler > connect retry logic > retries connect on spawn failure and succeeds on second attempt
[QwenAgentManager] 🚀 CONNECT() CALLED - ID: 1777583971614
[QwenAgentManager] Connecting to ACP process (attempt 1/3)...
stderr | src/services/qwenConnectionHandler.test.ts > QwenConnectionHandler > connect retry logic > retries connect on spawn failure and succeeds on second attempt
[QwenAgentManager] Connect attempt 1 failed: Qwen ACP process failed to start (exit code: null, signal: SIGTERM)
stdout | src/services/qwenConnectionHandler.test.ts > QwenConnectionHandler > connect retry logic > retries connect on spawn failure and succeeds on second attempt
[QwenAgentManager] Retrying connect in 1000ms...
✓ src/utils/errorMessage.test.ts (2 tests) 2ms
✓ src/webview/hooks/useImage.test.ts (2 tests) 64ms
✓ src/webview/handlers/AuthMessageHandler.test.ts (2 tests) 31ms
✓ src/package.test.ts (1 test) 30ms
✓ src/utils/imageSupport.test.ts (1 test) 6ms
✓ src/utils/imageSupport.bundle.test.ts (2 tests) 370ms
✓ imageSupport browser bundling > does not leave qwen-code-core runtime imports in the App webview bundle 324ms
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) 66ms
✓ src/ide-server.test.ts (13 tests | 1 skipped) 486ms
stdout | src/services/qwenConnectionHandler.test.ts > QwenConnectionHandler > connect retry logic > retries connect on spawn failure and succeeds on second attempt
[QwenAgentManager] Connecting to ACP process (attempt 2/3)...
stdout | src/services/qwenConnectionHandler.test.ts > QwenConnectionHandler > connect retry logic > retries connect on spawn failure and succeeds on second attempt
[QwenAgentManager] ACP process connected successfully
[QwenAgentManager] no sessionRestored, Creating new session...
[QwenAgentManager] Creating new session (letting CLI handle authentication)...
[QwenAgentManager] Creating session (attempt 1/3)...
stdout | src/services/qwenConnectionHandler.test.ts > QwenConnectionHandler > connect retry logic > retries connect on spawn failure and succeeds on second attempt
[QwenAgentManager] Session created successfully
stdout | src/services/qwenConnectionHandler.test.ts > QwenConnectionHandler > connect retry logic > retries connect on spawn failure and succeeds on second attempt
[QwenAgentManager] New session created successfully
========================================
[QwenAgentManager] ✅ CONNECT() COMPLETED SUCCESSFULLY
========================================
stdout | src/services/qwenConnectionHandler.test.ts > QwenConnectionHandler > connect retry logic > throws after exhausting all connect retry attempts (3 attempts)
[QwenAgentManager] 🚀 CONNECT() CALLED - ID: 1777583972767
[QwenAgentManager] Connecting to ACP process (attempt 1/3)...
stdout | src/services/qwenConnectionHandler.test.ts > QwenConnectionHandler > connect retry logic > throws after exhausting all connect retry attempts (3 attempts)
[QwenAgentManager] Retrying connect in 1000ms...
stderr | src/services/qwenConnectionHandler.test.ts > QwenConnectionHandler > connect retry logic > throws after exhausting all connect retry attempts (3 attempts)
[QwenAgentManager] Connect attempt 1 failed: Qwen ACP process failed to start (exit code: null, signal: SIGTERM)
✓ src/webview/hooks/useWebViewMessages.test.tsx (5 tests) 80ms
✓ src/webview/components/messages/toolcalls/index.test.tsx (2 tests) 104ms
✓ src/webview/hooks/useToolCalls.test.tsx (1 test) 63ms
✓ src/webview/components/layout/ProviderSetupForm.test.tsx (1 test) 79ms
✓ src/webview/hooks/message/useMessageHandling.test.tsx (2 tests) 70ms
✓ src/webview/components/layout/Onboarding.test.tsx (1 test) 54ms
✓ src/webview/App.test.tsx (6 tests) 224ms
✓ src/webview/components/layout/InputForm.test.tsx (2 tests) 57ms
stdout | src/services/qwenConnectionHandler.test.ts > QwenConnectionHandler > connect retry logic > throws after exhausting all connect retry attempts (3 attempts)
[QwenAgentManager] Connecting to ACP process (attempt 2/3)...
stdout | src/services/qwenConnectionHandler.test.ts > QwenConnectionHandler > connect retry logic > throws after exhausting all connect retry attempts (3 attempts)
[QwenAgentManager] Retrying connect in 2000ms...
stderr | src/services/qwenConnectionHandler.test.ts > QwenConnectionHandler > connect retry logic > throws after exhausting all connect retry attempts (3 attempts)
[QwenAgentManager] Connect attempt 2 failed: Qwen ACP process failed to start (exit code: null, signal: SIGTERM)
stdout | src/services/qwenConnectionHandler.test.ts > QwenConnectionHandler > connect retry logic > throws after exhausting all connect retry attempts (3 attempts)
[QwenAgentManager] Connecting to ACP process (attempt 3/3)...
stderr | src/services/qwenConnectionHandler.test.ts > QwenConnectionHandler > connect retry logic > throws after exhausting all connect retry attempts (3 attempts)
[QwenAgentManager] Connect attempt 3 failed: Qwen ACP process failed to start (exit code: null, signal: SIGTERM)
✓ src/services/qwenConnectionHandler.test.ts (8 tests) 4656ms
✓ QwenConnectionHandler > connect retry logic > retries connect on spawn failure and succeeds on second attempt 1185ms
✓ QwenConnectionHandler > connect retry logic > throws after exhausting all connect retry attempts (3 attempts) 3375ms
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...
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...
✓ src/services/settingsWriter.test.ts (2 tests) 6ms
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...
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/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...
✓ src/webview/utils/imageHandler.test.ts (11 tests) 31ms
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...
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...
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...
✓ src/webview/providers/WebViewProvider.test.ts (38 tests) 106ms
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 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:230: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:422: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
✓ src/webview/handlers/SessionMessageHandler.test.ts (10 tests) 43ms
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) 95ms
Test Files 40 passed (40)
Tests 282 passed | 1 skipped (283)
Start at 21:19:28
Duration 10.48s (transform 17.82s, setup 0ms, collect 71.71s, tests 7.21s, environment 7.88s, prepare 10.64s)
==> ERROR: A failure occurred in check().
Aborting...
==> ERROR: Build failed, check /home/alhp/workspace/chroot/build_673ee79f-c6c0-4f19-933f-5116bbfb17e3/build