==> Synchronizing chroot copy [/home/alhp/workspace/chroot/root] -> [build_08219efd-b80c-4223-84c6-df6c11737a31]...done
==> Making package: qwen-code 0.22.2-1.1 (Sat Oct 24 16:34:52 2026)
==> Retrieving sources...
-> Cloning qwen-code git repo...
Cloning into bare repository '/home/alhp/workspace/build/x86-64-v4/qwen-code-0.22.2-1/qwen-code'...
==> Validating source files with sha256sums...
qwen-code ... Passed
==> Validating source files with b2sums...
qwen-code ... Passed
Note: in a future version of systemd-nspawn the default set of permitted socket address families will be restricted to AF_INET, AF_INET6 and AF_UNIX. Use --restrict-address-families= to configure the set of permitted socket address families, or set RestrictAddressFamilies= in a .nspawn file.
==> Making package: qwen-code 0.22.2-1.1 (Sat Oct 24 14:37:56 2026)
==> Checking runtime dependencies...
==> Installing missing dependencies...
resolving dependencies...
looking for conflicting packages...
Package (8) New Version Net Change
extra/abseil-cpp 20260817.0-2 7.15 MiB
extra/ada 4.0.0-1 0.95 MiB
extra/c-ares 1.34.9-1 0.54 MiB
extra/gtest 1.18.0-1 1.67 MiB
extra/libuv 1.53.0-1 0.68 MiB
extra/simdjson 1:5.0.5-1 10.27 MiB
extra/nodejs 26.12.1-1 64.13 MiB
extra/ripgrep 15.2.0-1 4.29 MiB
Total Installed Size: 89.67 MiB
:: Proceed with installation? [Y/n]
checking keyring...
checking package integrity...
loading package files...
checking for file conflicts...
:: Processing package changes...
installing gtest...
Optional dependencies for gtest
python: gmock generator [installed]
installing abseil-cpp...
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 13.1.0-1 6.85 MiB
extra/nodejs-nopt 10.0.1-1 0.03 MiB
extra/oniguruma 6.9.10-3 0.87 MiB
extra/perl-error 0.17030-3 0.04 MiB
extra/perl-mailtools 2.22-3 0.10 MiB
extra/perl-timedate 2.35-1 0.15 MiB
extra/semver 7.8.5-1 0.10 MiB
extra/zlib-ng 2.3.3-1 0.28 MiB
extra/git 2.56.0-1 33.54 MiB
extra/jq 1.8.2-1 0.47 MiB
extra/npm 12.2.1-1 9.46 MiB
Total Installed Size: 51.88 MiB
:: Proceed with installation? [Y/n]
checking keyring...
checking package integrity...
loading package files...
checking for file conflicts...
:: Processing package changes...
installing perl-error...
installing perl-timedate...
installing perl-mailtools...
installing zlib-ng...
installing git...
Optional dependencies for git
git-zsh-completion: upstream zsh completion
tk: gitk and git gui
openssh: ssh transport and crypto
man: show help with `git command --help`
perl-libwww: git svn
perl-term-readkey: git svn and interactive.singlekey setting
perl-io-socket-ssl: git send-email TLS support
perl-authen-sasl: git send-email TLS support
perl-cgi: gitweb (web interface) support
python: git svn & git p4 [installed]
subversion: git svn
org.freedesktop.secrets: keyring credential helper
libsecret: libsecret credential helper [installed]
less: the default pager for git
installing oniguruma...
installing jq...
installing nodejs-nopt...
installing semver...
installing node-gyp...
Optional dependencies for node-gyp
gcc: to build C++ modules [installed]
make: to build C++ modules [installed]
python: to build C++ modules [installed]
installing npm...
Optional dependencies for npm
git: for dependencies using Git URL's [installed]
:: Running post-transaction hooks...
(1/3) Creating system user accounts...
Creating group 'git' with GID 969.
Creating user 'git' (git daemon user) with UID 969 and GID 969.
(2/3) Reloading system manager configuration...
Skipped: Current root is not booted.
(3/3) Arming ConditionNeedsUpdate...
==> Retrieving sources...
==> WARNING: Skipping all source file integrity checks.
==> Extracting sources...
-> Creating working copy of qwen-code git repo...
Cloning into 'qwen-code'...
done.
Updating files: 95% (12284/12901)
Updating files: 96% (12385/12901)
Updating files: 97% (12514/12901)
Updating files: 98% (12643/12901)
Updating files: 99% (12772/12901)
Updating files: 100% (12901/12901)
Updating files: 100% (12901/12901), 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 prebuild-install@7.1.3: No longer maintained. Please contact the author of the relevant native addon; alternatives are available.
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 glob@7.2.3: Glob versions prior to v9 are no longer supported
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 eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options.
added 2099 packages, and audited 2124 packages in 4m
586 packages are looking for funding
run `npm fund` for details
51 vulnerabilities (6 low, 13 moderate, 22 high, 10 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.
patch-package 8.0.1
Applying patches...
ink@7.0.3 ✔
==> Starting build()...
npm notice run @qwen-code/qwen-code@0.22.2 build
npm notice run cross-env NODE_OPTIONS="--max-old-space-size=3072" node scripts/build.js
npm notice run @qwen-code/qwen-code@0.22.2 generate
npm notice run node scripts/generate-git-commit-info.js
npm notice run @qwen-code/qwen-code-core@0.22.2 build
npm notice run node ../../scripts/build_package.js
Successfully copied files.
npm notice run @qwen-code/web-templates@0.22.2 build
npm notice run node build.mjs && tsc --build --clean && tsc
Building web-templates...
Building insight assets with Vite...
vite v5.4.21 building for production...
transforming...
Browserslist: browsers data (caniuse-lite) is 11 months old. Please run:
npx update-browserslist-db@latest
Why you should do it regularly: https://github.com/browserslist/update-db#readme
Browserslist: browsers data (caniuse-lite) is 11 months old. Please run:
npx update-browserslist-db@latest
Why you should do it regularly: https://github.com/browserslist/update-db#readme
✓ 8 modules transformed.
rendering chunks...
computing gzip size...
dist/main.css 17.77 kB │ gzip: 4.28 kB
dist/main.js 32.80 kB │ gzip: 9.04 kB
✓ built in 793ms
Reading generated files...
Successfully generated /startdir/src/qwen-code/packages/web-templates/src/generated/insightTemplate.ts
Successfully built all web-templates.
npm notice run @qwen-code/channel-base@0.22.2 build
npm notice run tsc --build
npm notice run @qwen-code/channel-telegram@0.22.2 build
npm notice run tsc --build
npm notice run @qwen-code/channel-weixin@0.22.2 build
npm notice run tsc --build
npm notice run @qwen-code/channel-dingtalk@0.22.2 build
npm notice run tsc --build
npm notice run @qwen-code/channel-dws@0.22.2 build
npm notice run tsc --build
npm notice run @qwen-code/channel-wecom@0.22.2 build
npm notice run tsc --build
npm notice run @qwen-code/channel-feishu@0.22.2 build
npm notice run tsc --build
npm notice run @qwen-code/channel-qqbot@0.22.2 build
npm notice run tsc --build
npm notice run @qwen-code/channel-github@0.22.2 build
npm notice run tsc --build
npm notice run @qwen-code/channel-gitlab@0.22.2 build
npm notice run tsc --build
npm notice run @qwen-code/channel-plugin-example@0.22.2 build
npm notice run tsc --build
npm notice run @qwen-code/audio-capture@0.22.2 build:ts
npm notice run tsc --build
npm notice run @qwen-code/node-repl-mcp@0.1.0 build
npm notice run node build.mjs
node-repl-mcp: runtime assets copied to /startdir/src/qwen-code/packages/node-repl/dist/runtime
npm notice run @qwen-code/acp-bridge@0.22.2 build
npm notice run node ../../scripts/build_package.js
Successfully copied files.
npm notice run @qwen-code/sdk@0.1.8 build
npm notice run node scripts/build.js
npm notice run @qwen-code/qwen-code@0.22.2 npx
npm notice run 'dts-bundle-generator' --project tsconfig.build.json -o dist/index.d.ts src/index.ts
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 28.15s
npm notice run @qwen-code/qwen-code@0.22.2 npx
npm notice run 'dts-bundle-generator' --project tsconfig.build.json -o dist/daemon/transcript.d.ts src/daemon/transcript.ts
Compiling input files...
Processing src/daemon/transcript.ts
Writing src/daemon/transcript.ts -> dist/daemon/transcript.d.ts
Checking generated files...
[1;33mCompiler option "skipLibCheck" is disabled to properly check generated output[0m
Done in 5.65s
npm notice run @qwen-code/qwen-code@0.22.2 build
npm notice run node ../../scripts/build_package.js
Successfully copied files.
Generated settings JSON Schema at: /startdir/src/qwen-code/packages/vscode-ide-companion/schemas/settings.schema.json
(node:2140) [DEP0205] DeprecationWarning: `module.register()` is deprecated. Use `module.registerHooks()` instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
npm notice run @qwen-code/webui@0.22.2 build
npm notice run vite build
vite v5.4.21 building for production...
transforming...
Browserslist: browsers data (caniuse-lite) is 11 months old. Please run:
npx update-browserslist-db@latest
Why you should do it regularly: https://github.com/browserslist/update-db#readme
✓ 202 modules transformed.
rendering chunks...
[vite:dts] Start generate declaration files...
computing gzip size...
dist/styles.css 84.63 kB │ gzip: 15.73 kB
dist/toolNames-kewwpc1v.js 0.30 kB │ gzip: 0.23 kB │ map: 1.00 kB
dist/daemon-react-sdk.js 315.60 kB │ gzip: 57.22 kB │ map: 598.38 kB
dist/index.js 400.60 kB │ gzip: 100.30 kB │ map: 860.07 kB
[vite:dts] Start rollup declaration files...
Analysis will use the bundled TypeScript version 5.9.3
Analysis will use the bundled TypeScript version 5.9.3
[vite:dts] Declaration files built in 20338ms.
dist/styles.css 84.63 kB │ gzip: 15.73 kB
dist/toolNames-C9pS8yq9.cjs 0.33 kB │ gzip: 0.24 kB │ map: 1.00 kB
dist/daemon-react-sdk.cjs 317.03 kB │ gzip: 57.15 kB │ map: 600.64 kB
dist/index.cjs 410.18 kB │ gzip: 101.00 kB │ map: 865.21 kB
✓ built in 23.31s
npm notice run @qwen-code/web-shell@0.22.2 build
npm notice run vite build && vite build --config vite.lib.config.ts && tsc -p tsconfig.lib.json
vite v5.4.21 building for production...
transforming...
✓ 5692 modules transformed.
rendering chunks...
computing gzip size...
../dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff 4.42 kB
../dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 4.93 kB
../dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 5.21 kB
../dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 5.47 kB
../dist/index.html 5.51 kB │ gzip: 2.57 kB
../dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff 5.98 kB
../dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff 6.19 kB
../dist/assets/KaTeX_Size1-Regular-C195tn64.woff 6.50 kB
../dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 6.91 kB
../dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 6.91 kB
../dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf 7.59 kB
../dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff 7.66 kB
../dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff 7.72 kB
../dist/assets/default-aEtf0G7-.svg 8.90 kB │ gzip: 2.64 kB
../dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 9.64 kB
../dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 10.34 kB
../dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf 10.36 kB
../dist/assets/KaTeX_Script-Regular-D5yQViql.woff 10.59 kB
../dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 11.32 kB
../dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 11.35 kB
../dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf 11.51 kB
../dist/assets/queue-DWpnpFgW.svg 11.56 kB │ gzip: 2.42 kB
../dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 12.03 kB
../dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 12.22 kB
../dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf 12.23 kB
../dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff 12.32 kB
../dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf 12.34 kB
../dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf 12.37 kB
../dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff 13.21 kB
../dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff 13.30 kB
../dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 13.57 kB
../dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff 14.11 kB
../dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff 14.41 kB
../dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff 16.03 kB
../dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 16.40 kB
../dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 16.44 kB
../dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf 16.65 kB
../dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 16.78 kB
../dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 16.99 kB
../dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff 18.67 kB
../dist/assets/KaTeX_Math-Italic-DA0__PXp.woff 18.75 kB
../dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff 19.41 kB
../dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf 19.44 kB
../dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf 19.57 kB
../dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf 19.58 kB
../dist/assets/KaTeX_Main-Italic-BMLOBm91.woff 19.68 kB
../dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf 22.36 kB
../dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf 24.50 kB
../dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 25.32 kB
../dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 26.27 kB
../dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf 27.56 kB
../dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 28.08 kB
../dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff 29.91 kB
../dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff 30.77 kB
../dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf 31.20 kB
../dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf 31.31 kB
../dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf 32.97 kB
../dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff 33.52 kB
../dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf 33.58 kB
../dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf 51.34 kB
../dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf 53.58 kB
../dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf 63.63 kB
../dist/assets/index-DclEv91i.css 489.01 kB │ gzip: 84.20 kB
../dist/assets/channel-CENAhErJ.js 0.11 kB │ gzip: 0.13 kB
../dist/assets/init-Gi6I4Gst.js 0.15 kB │ gzip: 0.13 kB
../dist/assets/chunk-2Q5K7J3B-DnV9bKBe.js 0.19 kB │ gzip: 0.16 kB
../dist/assets/chunk-XXDRQBXY-BdujIvJY.js 0.23 kB │ gzip: 0.21 kB
../dist/assets/chunk-JWPE2WC7-D4iDw-96.js 0.30 kB │ gzip: 0.20 kB
../dist/assets/chunk-5VM5RSS4-rT1GAcT7.js 0.37 kB │ gzip: 0.27 kB
../dist/assets/stateDiagram-v2-4QOOHH4V-B2Q7XDaE.js 0.43 kB │ gzip: 0.30 kB
../dist/assets/classDiagram-DTDB5LWJ-CM6FArGH.js 0.47 kB │ gzip: 0.32 kB
../dist/assets/classDiagram-v2-JRS7N3AN-CM6FArGH.js 0.47 kB │ gzip: 0.32 kB
../dist/assets/chunk-POPQ4Y6H-Cep2ndrS.js 0.53 kB │ gzip: 0.37 kB
../dist/assets/codeowners-Bp6g37R7.js 0.55 kB │ gzip: 0.32 kB
../dist/assets/swimlanesDiagram-VK2B7HYN-DpZPOSbX.js 0.55 kB │ gzip: 0.37 kB
../dist/assets/infoDiagram-RXCK75RN-B6DAOyXe.js 0.59 kB │ gzip: 0.41 kB
../dist/assets/shellsession-C_rIy8kc.js 0.72 kB │ gzip: 0.43 kB
../dist/assets/tsv-B_m7g4N7.js 0.74 kB │ gzip: 0.34 kB
../dist/assets/html-derivative-CSfWNPLT.js 0.97 kB │ gzip: 0.53 kB
../dist/assets/git-rebase-B-v9cOL2.js 0.98 kB │ gzip: 0.44 kB
../dist/assets/sizeCapture-X5ZJPWSS-DlK21aye.js 1.00 kB │ gzip: 0.55 kB
../dist/assets/qmldir-C8lEn-DE.js 1.00 kB │ gzip: 0.45 kB
../dist/assets/fortran-fixed-form-TqA4NnZg.js 1.11 kB │ gzip: 0.54 kB
../dist/assets/ordinal-Cboi1Yqb.js 1.19 kB │ gzip: 0.57 kB
../dist/assets/csv-B0qRVHPH.js 1.22 kB │ gzip: 0.37 kB
../dist/assets/xsl-Dd0NUgwM.js 1.39 kB │ gzip: 0.52 kB
../dist/assets/sparql-bYkjHRlG.js 1.51 kB │ gzip: 0.83 kB
../dist/assets/ini-BjABl1g7.js 1.53 kB │ gzip: 0.50 kB
../dist/assets/git-commit-i4q6IMui.js 1.55 kB │ gzip: 0.67 kB
../dist/assets/railroadDiagram-O6MQD6OU-CEdjDuoo.js 1.61 kB │ gzip: 0.76 kB
../dist/assets/dotenv-BjQB5zDj.js 1.70 kB │ gzip: 0.63 kB
../dist/assets/wenyan-7A4Fjokl.js 1.71 kB │ gzip: 1.08 kB
../dist/assets/docker-COcR7UxN.js 1.77 kB │ gzip: 0.60 kB
../dist/assets/abnfDiagram-VCTEODGH-uS-vtfs3.js 1.81 kB │ gzip: 0.90 kB
../dist/assets/hxml-TIA70rKU.js 1.83 kB │ gzip: 0.89 kB
../dist/assets/chunk-F27PBJKO-BcgSxqGA.js 1.85 kB │ gzip: 0.82 kB
../dist/assets/pegDiagram-XKGWAZYB-D1JZlYXL.js 1.96 kB │ gzip: 0.93 kB
../dist/assets/ebnfDiagram-PWID7BFC-D1ZM0Cp7.js 2.01 kB │ gzip: 0.88 kB
../dist/assets/desktop-DEIpsLCJ.js 2.03 kB │ gzip: 0.79 kB
../dist/assets/edge-D5gP-w-T.js 2.36 kB │ gzip: 0.70 kB
../dist/assets/reg-5LuOXUq_.js 2.37 kB │ gzip: 0.71 kB
../dist/assets/berry-3xVqZejG.js 2.45 kB │ gzip: 0.79 kB
../dist/assets/erb-BYTLMnw6.js 2.61 kB │ gzip: 0.84 kB
../dist/assets/diff-BgYniUM_.js 2.64 kB │ gzip: 0.74 kB
../dist/assets/gleam-B430Bg39.js 2.69 kB │ gzip: 0.85 kB
../dist/assets/hy-BMj5Y0dO.js 2.82 kB │ gzip: 1.19 kB
../dist/assets/json-BQoSv7ci.js 2.92 kB │ gzip: 0.81 kB
../dist/assets/cairo--RitsXJZ.js 2.95 kB │ gzip: 0.81 kB
../dist/assets/log-Cc5clBb7.js 2.97 kB │ gzip: 0.88 kB
../dist/assets/jssm-P4WzXJd0.js 2.97 kB │ gzip: 0.70 kB
../dist/assets/jsonl-DREVFZK8.js 3.10 kB │ gzip: 0.82 kB
../dist/assets/jsonc-TU54ms6u.js 3.20 kB │ gzip: 0.83 kB
../dist/assets/logo-IuBKFhSY.js 3.21 kB │ gzip: 1.49 kB
../dist/assets/genie-ajMbGru0.js 3.38 kB │ gzip: 1.21 kB
../dist/assets/po-BFLt1xDp.js 3.38 kB │ gzip: 0.99 kB
../dist/assets/tasl-CQjiPCtT.js 3.39 kB │ gzip: 0.88 kB
../dist/assets/vala-BFOHcciG.js 3.40 kB │ gzip: 1.19 kB
../dist/assets/mipsasm-BC5c_5Pe.js 3.41 kB │ gzip: 1.28 kB
../dist/assets/arc-BSTnk5pu.js 3.43 kB │ gzip: 1.45 kB
../dist/assets/rel-DJlmqQ1C.js 3.43 kB │ gzip: 1.10 kB
../dist/assets/json5-w8dY5SsB.js 3.54 kB │ gzip: 0.94 kB
../dist/assets/ssh-config-BknIz3MU.js 3.61 kB │ gzip: 1.59 kB
../dist/assets/fluent-Dayu4EKP.js 3.62 kB │ gzip: 0.89 kB
../dist/assets/jsonnet-BfivnA6A.js 3.63 kB │ gzip: 1.07 kB
../dist/assets/narrat-DLbgOhZU.js 3.69 kB │ gzip: 1.12 kB
../dist/assets/turtle-BMR_PYu6.js 3.71 kB │ gzip: 0.98 kB
../dist/assets/splunk-Cf8iN4DR.js 3.92 kB │ gzip: 1.67 kB
../dist/assets/glsl-DBO2IWDn.js 3.94 kB │ gzip: 1.45 kB
../dist/assets/nextflow-B0XVJmRM.js 3.96 kB │ gzip: 1.09 kB
../dist/assets/sdbl-BLhTXw86.js 4.14 kB │ gzip: 2.08 kB
../dist/assets/pascal-JqZropPD.js 4.18 kB │ gzip: 1.69 kB
../dist/assets/smalltalk-DkLiglaE.js 4.20 kB │ gzip: 1.25 kB
../dist/assets/diagram-Z3DM3KII-L20bz2K1.js 4.24 kB │ gzip: 1.84 kB
../dist/assets/lean-XBlWyCtg.js 4.29 kB │ gzip: 1.33 kB
../dist/assets/zenscript-HnGAYVZD.js 4.40 kB │ gzip: 1.42 kB
../dist/assets/bicep-DHo0CJ0O.js 4.45 kB │ gzip: 1.08 kB
../dist/assets/http-FRrOvY1W.js 4.65 kB │ gzip: 1.14 kB
../dist/assets/polar-DKykz6zU.js 4.68 kB │ gzip: 1.17 kB
../dist/assets/defaultLocale-DX6XiGOO.js 4.69 kB │ gzip: 2.17 kB
../dist/assets/fennel-bCA53EVm.js 4.82 kB │ gzip: 1.57 kB
../dist/assets/tcl-DQ1-QYvQ.js 5.02 kB │ gzip: 1.68 kB
../dist/assets/bibtex-xW4inM5L.js 5.08 kB │ gzip: 0.81 kB
../dist/assets/fish-w-ucz2PV.js 5.39 kB │ gzip: 1.69 kB
../dist/assets/xml-e3z08dGr.js 5.41 kB │ gzip: 1.22 kB
../dist/assets/qml-D8XfuvdV.js 5.42 kB │ gzip: 1.39 kB
../dist/assets/zig-BVz_zdnA.js 5.46 kB │ gzip: 1.59 kB
../dist/assets/gdresource-BHYsBjWJ.js 5.48 kB │ gzip: 1.37 kB
../dist/assets/awk-eg146-Ew.js 5.49 kB │ gzip: 1.38 kB
../dist/assets/dax-ClGRhx96.js 5.53 kB │ gzip: 2.25 kB
../dist/assets/linear-CBjTq9Hc.js 5.66 kB │ gzip: 2.31 kB
../dist/assets/jinja-DGy0s7-h.js 5.72 kB │ gzip: 1.42 kB
../dist/assets/powerquery-CSHBycmS.js 5.93 kB │ gzip: 1.52 kB
../dist/assets/verilog-CJaU5se_.js 5.94 kB │ gzip: 1.90 kB
../dist/assets/coq-Dsg_Bt_b.js 5.99 kB │ gzip: 2.03 kB
../dist/assets/diagram-UQ7AKVKN-B036APjv.js 6.23 kB │ gzip: 2.67 kB
../dist/assets/vb-CdO5JTpU.js 6.26 kB │ gzip: 2.35 kB
../dist/assets/red-bN70gL4F.js 6.26 kB │ gzip: 1.60 kB
../dist/assets/shaderlab-B7qAK45m.js 6.27 kB │ gzip: 2.10 kB
../dist/assets/min-dark-CafNBF8u.js 6.29 kB │ gzip: 1.72 kB
../dist/assets/pieDiagram-E7YTZNPT-BmkpYL0w.js 6.35 kB │ gzip: 2.66 kB
../dist/assets/gdshader-SKMF96pI.js 6.37 kB │ gzip: 1.75 kB
../dist/assets/prisma-B48N-Iqd.js 6.39 kB │ gzip: 1.40 kB
../dist/assets/solarized-light-L9t79GZl.js 6.48 kB │ gzip: 1.74 kB
../dist/assets/wgsl-CB0Krxn9.js 6.49 kB │ gzip: 1.69 kB
../dist/assets/postcss-B3ZDOciz.js 6.52 kB │ gzip: 1.93 kB
../dist/assets/toml-CB2ApiWb.js 6.53 kB │ gzip: 1.30 kB
../dist/assets/proto-zocC4JxJ.js 6.57 kB │ gzip: 1.42 kB
../dist/assets/talonscript-C1XDQQGZ.js 6.71 kB │ gzip: 1.47 kB
../dist/assets/cypher-m2LEI-9-.js 6.81 kB │ gzip: 1.83 kB
../dist/assets/solarized-dark-DXbdFlpD.js 6.85 kB │ gzip: 1.81 kB
../dist/assets/soy-C-lX7w71.js 6.95 kB │ gzip: 1.67 kB
../dist/assets/min-light-CTRr51gU.js 6.97 kB │ gzip: 1.90 kB
../dist/assets/clojure-DxSadP1t.js 7.08 kB │ gzip: 1.48 kB
../dist/assets/ara-7O62HKoU.js 7.25 kB │ gzip: 2.11 kB
../dist/assets/hlsl-ifBTmRxC.js 7.61 kB │ gzip: 2.24 kB
../dist/assets/riscv-QhoSD0DR.js 7.70 kB │ gzip: 2.21 kB
../dist/assets/qss-DhMKtDLN.js 7.82 kB │ gzip: 2.62 kB
../dist/assets/monokai-D4h5O-jR.js 7.88 kB │ gzip: 1.92 kB
../dist/assets/dart-B9wLZaAG.js 7.89 kB │ gzip: 1.93 kB
../dist/assets/systemd-CUnW07Te.js 8.00 kB │ gzip: 2.56 kB
../dist/assets/regexp-DWJ3fJO_.js 8.07 kB │ gzip: 1.46 kB
../dist/assets/diagram-S7CK7UJ4-ZwEZ5W__.js 8.30 kB │ gzip: 3.71 kB
../dist/assets/haml-B2EZWmdv.js 8.49 kB │ gzip: 1.87 kB
../dist/assets/typst-BVUVsWT6.js 8.55 kB │ gzip: 1.70 kB
../dist/assets/plsql-LKU2TuZ1.js 8.57 kB │ gzip: 3.03 kB
../dist/assets/vue-html-xdeiXROB.js 8.70 kB │ gzip: 1.77 kB
../dist/assets/scheme-BJGe-b2p.js 8.72 kB │ gzip: 2.61 kB
../dist/assets/kotlin-B5lbUyaz.js 8.82 kB │ gzip: 2.14 kB
../dist/assets/andromeeda-C3khCPGq.js 8.86 kB │ gzip: 2.31 kB
../dist/assets/make-Bvotw-X0.js 9.01 kB │ gzip: 1.77 kB
../dist/assets/dark-plus-C3mMm8J8.js 9.10 kB │ gzip: 2.10 kB
../dist/assets/slack-dark-BthQWCQV.js 9.12 kB │ gzip: 1.98 kB
../dist/assets/ts-tags-CipyTH0X.js 9.18 kB │ gzip: 1.24 kB
../dist/assets/plastic-3e1v2bzS.js 9.30 kB │ gzip: 1.99 kB
../dist/assets/tex-rYs2v40G.js 9.37 kB │ gzip: 2.97 kB
../dist/assets/sass-BJ4Li9vH.js 9.41 kB │ gzip: 2.50 kB
../dist/assets/slack-ochin-DqwNpetd.js 9.43 kB │ gzip: 2.11 kB
../dist/assets/jison-BqZprYcd.js 9.72 kB │ gzip: 1.86 kB
../dist/assets/sas-BmTFh92c.js 9.79 kB │ gzip: 4.03 kB
../dist/assets/light-plus-B7mTdjB0.js 9.94 kB │ gzip: 2.29 kB
../dist/assets/cynefinDiagram-5FMLGOSQ-CCy78qZx.js 10.08 kB │ gzip: 3.61 kB
../dist/assets/gherkin--30QC5Em.js 10.12 kB │ gzip: 5.02 kB
../dist/assets/stateDiagram-HBIQ2CUA-BrmZssvk.js 10.37 kB │ gzip: 3.63 kB
../dist/assets/cmake-DbXoA79R.js 10.50 kB │ gzip: 3.57 kB
../dist/assets/dream-maker-C-nORZOA.js 10.61 kB │ gzip: 2.30 kB
../dist/assets/raku-B1bQXN8T.js 10.61 kB │ gzip: 2.99 kB
../dist/assets/rst-4NLicBqY.js 10.65 kB │ gzip: 2.42 kB
../dist/assets/beancount-BwXTMy5W.js 10.76 kB │ gzip: 1.52 kB
../dist/assets/yaml-CVw76BM1.js 10.79 kB │ gzip: 2.29 kB
../dist/assets/diagram-VSXAHHWV-BfDJ57Fq.js 10.82 kB │ gzip: 4.18 kB
../dist/assets/cadence-DNquZEk8.js 11.03 kB │ gzip: 2.32 kB
../dist/assets/dagre-3AP2YEHR-D5gJuJsf.js 11.14 kB │ gzip: 4.19 kB
../dist/assets/github-light-DAi9KRSo.js 11.18 kB │ gzip: 2.52 kB
../dist/assets/elm-CmHSxxaM.js 11.29 kB │ gzip: 2.21 kB
../dist/assets/github-dark-DHJKELXO.js 11.41 kB │ gzip: 2.56 kB
../dist/assets/prolog-BY-TUvya.js 11.44 kB │ gzip: 3.87 kB
../dist/assets/laserwave-DUszq2jm.js 11.50 kB │ gzip: 2.60 kB
../dist/assets/puppet-Cza_XSSt.js 11.75 kB │ gzip: 2.23 kB
../dist/assets/hcl-HzYwdGDm.js 11.97 kB │ gzip: 2.51 kB
../dist/assets/handlebars-BQGss363.js 12.27 kB │ gzip: 2.39 kB
../dist/assets/hjson-T-Tgc4AT.js 12.33 kB │ gzip: 1.68 kB
../dist/assets/vesper-BEBZ7ncR.js 12.66 kB │ gzip: 1.98 kB
../dist/assets/luau-Du5NY7AG.js 12.92 kB │ gzip: 3.12 kB
../dist/assets/bat-fje9CFhw.js 12.99 kB │ gzip: 3.25 kB
../dist/assets/apache-Dn00JSTd.js 13.21 kB │ gzip: 3.79 kB
../dist/assets/terraform-BbSNqyBO.js 13.38 kB │ gzip: 3.11 kB
../dist/assets/vitesse-light-CVO1_9PV.js 13.62 kB │ gzip: 3.06 kB
../dist/assets/aurora-x-D-2ljcwZ.js 13.66 kB │ gzip: 2.30 kB
../dist/assets/vitesse-black-Bkuqu6BP.js 13.68 kB │ gzip: 3.08 kB
../dist/assets/v-CAQ2eGtk.js 13.74 kB │ gzip: 2.85 kB
../dist/assets/vitesse-dark-D0r3Knsf.js 13.76 kB │ gzip: 3.08 kB
../dist/assets/synthwave-84-CbfX1IO0.js 14.04 kB │ gzip: 2.88 kB
../dist/assets/github-light-default-D7oLnXFd.js 14.16 kB │ gzip: 3.06 kB
../dist/assets/github-light-high-contrast-BfjtVDDH.js 14.28 kB │ gzip: 3.04 kB
../dist/assets/github-dark-dimmed-DH5Ifo-i.js 14.43 kB │ gzip: 3.14 kB
../dist/assets/github-dark-default-Cuk6v7N8.js 14.44 kB │ gzip: 3.14 kB
../dist/assets/clarity-BHOwM8T6.js 14.55 kB │ gzip: 2.48 kB
../dist/assets/actionscript-3-D_z4Izcz.js 14.56 kB │ gzip: 2.79 kB
../dist/assets/github-dark-high-contrast-E3gJ1_iC.js 14.60 kB │ gzip: 3.10 kB
../dist/assets/pug-CM9l7STV.js 14.89 kB │ gzip: 2.90 kB
../dist/assets/gnuplot-CM8KxXT1.js 14.91 kB │ gzip: 3.31 kB
../dist/assets/ayu-dark-Cv9koXgw.js 14.95 kB │ gzip: 3.09 kB
../dist/assets/nix-shcSOmrb.js 15.55 kB │ gzip: 2.36 kB
../dist/assets/lua-CvWAzNxB.js 15.62 kB │ gzip: 3.16 kB
../dist/assets/chunk-SVP7TREG-BuahMHJc.js 15.75 kB │ gzip: 4.42 kB
../dist/assets/wasm-C6j12Q_x.js 15.93 kB │ gzip: 2.89 kB
../dist/assets/diagram-VX7I27RA-Wha0p5rT.js 16.07 kB │ gzip: 5.73 kB
../dist/assets/solidity-C1w2a3ep.js 16.23 kB │ gzip: 3.13 kB
../dist/assets/svelte-MSaWC3Je.js 16.89 kB │ gzip: 2.96 kB
../dist/assets/purescript-Bg-kzb6g.js 17.07 kB │ gzip: 2.64 kB
../dist/assets/kanagawa-wave-DWedfzmr.js 17.12 kB │ gzip: 2.93 kB
../dist/assets/kanagawa-lotus-CfQXZHmo.js 17.13 kB │ gzip: 2.94 kB
../dist/assets/kanagawa-dragon-CkXjmgJE.js 17.13 kB │ gzip: 2.95 kB
../dist/assets/liquid-D3W5UaiH.js 17.17 kB │ gzip: 3.08 kB
../dist/assets/cue-DtFQj3wx.js 17.35 kB │ gzip: 2.08 kB
../dist/assets/ishikawaDiagram-5VMMS53U-Bpg-joFo.js 17.56 kB │ gzip: 6.63 kB
../dist/assets/rust-Be6lgOlo.js 17.60 kB │ gzip: 3.37 kB
../dist/assets/angular-html-LfdN0zeE.js 17.66 kB │ gzip: 3.51 kB
../dist/assets/graphql-cDcHW_If.js 18.20 kB │ gzip: 2.65 kB
../dist/assets/elixir-CLiX3zqd.js 18.30 kB │ gzip: 3.22 kB
../dist/assets/material-theme-D5KoaKCx.js 18.62 kB │ gzip: 3.13 kB
../dist/assets/material-theme-darker-BfHTSMKl.js 18.63 kB │ gzip: 3.12 kB
../dist/assets/material-theme-ocean-CyktbL80.js 18.63 kB │ gzip: 3.15 kB
../dist/assets/material-theme-lighter-B0m2ddpp.js 18.63 kB │ gzip: 3.13 kB
../dist/assets/material-theme-palenight-Csfq5Kiy.js 18.64 kB │ gzip: 3.14 kB
../dist/assets/gdscript-DfxzS6Rs.js 18.65 kB │ gzip: 3.72 kB
../dist/assets/abap-DsBKuouk.js 18.82 kB │ gzip: 6.20 kB
../dist/assets/marko-z0MBrx5-.js 19.33 kB │ gzip: 3.21 kB
../dist/assets/groovy-DkBy-JyN.js 19.65 kB │ gzip: 3.77 kB
../dist/assets/mdc-DB_EDNY_.js 19.70 kB │ gzip: 6.62 kB
../dist/assets/nushell-D4Tzg5kh.js 19.75 kB │ gzip: 4.95 kB
../dist/assets/matlab-D9-PGadD.js 20.14 kB │ gzip: 3.85 kB
../dist/assets/move-DB_GagMm.js 20.24 kB │ gzip: 4.03 kB
../dist/assets/glimmer-js-D-cwc0-E.js 20.56 kB │ gzip: 2.99 kB
../dist/assets/glimmer-ts-pgjy16dm.js 20.56 kB │ gzip: 2.99 kB
../dist/assets/kusto-mebxcVVE.js 20.63 kB │ gzip: 4.58 kB
../dist/assets/kanban-definition-3QL26DDD-5gJzNTYG.js 20.70 kB │ gzip: 7.22 kB
../dist/assets/snazzy-light-Bw305WKR.js 20.77 kB │ gzip: 3.85 kB
../dist/assets/viml-m4uW47V2.js 21.02 kB │ gzip: 7.24 kB
../dist/assets/dracula-BzJJZx-M.js 21.07 kB │ gzip: 4.03 kB
../dist/assets/dracula-soft-BXkSAIEj.js 21.08 kB │ gzip: 4.07 kB
../dist/assets/vue-BuYVFjOK.js 21.48 kB │ gzip: 2.88 kB
../dist/assets/rose-pine-CmCqftbK.js 21.76 kB │ gzip: 3.89 kB
../dist/assets/rose-pine-moon-CjDtw9vr.js 21.77 kB │ gzip: 3.91 kB
../dist/assets/rose-pine-dawn-Ds-gbosJ.js 21.77 kB │ gzip: 3.91 kB
../dist/assets/powershell-BIEUsx6d.js 22.26 kB │ gzip: 4.70 kB
../dist/assets/apl-BBq3IX1j.js 22.84 kB │ gzip: 4.18 kB
../dist/assets/twig-NC5TFiHP.js 23.01 kB │ gzip: 4.15 kB
../dist/assets/mindmap-definition-FBJOCRG2-DQdVqlBF.js 23.36 kB │ gzip: 7.81 kB
../dist/assets/sankeyDiagram-P5KCCOFB-C9cZMnye.js 23.39 kB │ gzip: 8.54 kB
../dist/assets/journeyDiagram-EYS64GPL-BclrHzGa.js 23.58 kB │ gzip: 8.31 kB
../dist/assets/nim-ZlGxZxc3.js 23.63 kB │ gzip: 3.51 kB
../dist/assets/vhdl-DYoNaHQp.js 23.78 kB │ gzip: 3.88 kB
../dist/assets/templ-dwX3ZSMB.js 23.97 kB │ gzip: 5.40 kB
../dist/assets/astro-CqkE3fuf.js 24.07 kB │ gzip: 7.48 kB
../dist/assets/sql-COK4E0Yg.js 24.32 kB │ gzip: 7.70 kB
../dist/assets/one-light-PoHY5YXO.js 25.30 kB │ gzip: 3.68 kB
../dist/assets/razor-CNLDkMZG.js 25.81 kB │ gzip: 3.47 kB
../dist/assets/fsharp-XplgxFYe.js 25.83 kB │ gzip: 4.23 kB
../dist/assets/wardleyDiagram-VM6X3IG4-C9RS_Zof.js 26.10 kB │ gzip: 6.90 kB
../dist/assets/nord-Ddv68eIx.js 26.72 kB │ gzip: 4.41 kB
../dist/assets/system-verilog-C7L56vO4.js 26.77 kB │ gzip: 4.88 kB
../dist/assets/bsl-Dgyn0ogV.js 27.44 kB │ gzip: 8.88 kB
../dist/assets/java-xI-RfyKK.js 27.49 kB │ gzip: 4.33 kB
../dist/assets/coffee-dyiR41kL.js 27.75 kB │ gzip: 6.41 kB
../dist/assets/scss-C31hgJw-.js 28.13 kB │ gzip: 4.43 kB
../dist/assets/typespec-BpWG_bgh.js 28.19 kB │ gzip: 2.83 kB
../dist/assets/index-CBGz4Qjl.js 28.32 kB │ gzip: 9.86 kB
../dist/assets/common-lisp-C7gG9l05.js 28.50 kB │ gzip: 6.74 kB
../dist/assets/night-owl-C39BiMTA.js 28.91 kB │ gzip: 5.18 kB
../dist/assets/julia-BBuGR-5E.js 29.45 kB │ gzip: 5.88 kB
../dist/assets/gitGraphDiagram-WWUBYQGX-Ck3NmkSw.js 29.94 kB │ gzip: 8.85 kB
../dist/assets/scala-DQVVAn-B.js 30.49 kB │ gzip: 4.30 kB
../dist/assets/applescript-Bu5BbsvL.js 30.78 kB │ gzip: 6.38 kB
../dist/assets/erDiagram-SSCWMZ5O-CMtA19v8.js 30.92 kB │ gzip: 10.51 kB
../dist/assets/requirementDiagram-EFPCY7ZU-BCHG-ie8.js 31.20 kB │ gzip: 9.69 kB
../dist/assets/timeline-definition-24CTP7MA-D4gdDL_d.js 31.36 kB │ gzip: 10.38 kB
../dist/assets/stylus-BeQkCIfX.js 31.56 kB │ gzip: 8.14 kB
../dist/assets/mermaid-Ci6OQyBP.js 33.06 kB │ gzip: 4.65 kB
../dist/assets/poimandres-CS3Unz2-.js 33.49 kB │ gzip: 5.53 kB
../dist/assets/codeql-sacFqUAJ.js 33.59 kB │ gzip: 4.00 kB
../dist/assets/one-dark-pro-GBQ2dnAY.js 33.74 kB │ gzip: 5.53 kB
../dist/assets/crystal-DtDmRg-F.js 33.75 kB │ gzip: 5.58 kB
../dist/assets/tokyo-night-DBQeEorK.js 34.36 kB │ gzip: 5.99 kB
../dist/assets/quadrantDiagram-AXDQQJYC-DRvD6co5.js 34.49 kB │ gzip: 10.01 kB
../dist/assets/haxe-C5wWYbrZ.js 35.30 kB │ gzip: 5.94 kB
../dist/assets/houston-DnULxvSX.js 35.42 kB │ gzip: 5.80 kB
../dist/assets/layout-CEz_1L8z.js 35.44 kB │ gzip: 12.72 kB
../dist/assets/nginx-D_VnBJ67.js 35.73 kB │ gzip: 4.53 kB
../dist/assets/erlang-B-DoSBHF.js 36.31 kB │ gzip: 4.43 kB
../dist/assets/r-CwjWoCRV.js 36.87 kB │ gzip: 11.26 kB
../dist/assets/chunk-G27WJ6UU-Bw1ZhyZq.js 38.56 kB │ gzip: 12.53 kB
../dist/assets/cobol-PTqiYgYu.js 40.58 kB │ gzip: 11.07 kB
../dist/assets/asm-Dhn9LcZ4.js 40.85 kB │ gzip: 8.20 kB
../dist/assets/vennDiagram-4TSXK5OY-DdhIExjI.js 42.37 kB │ gzip: 15.66 kB
../dist/assets/shellscript-atvbtKCR.js 42.71 kB │ gzip: 6.35 kB
../dist/assets/blockDiagram-NRAW4CY4-C7_gt0r1.js 42.97 kB │ gzip: 13.74 kB
../dist/assets/d-BoXegm-a.js 43.01 kB │ gzip: 8.35 kB
../dist/assets/haskell-BILxekzW.js 43.21 kB │ gzip: 7.00 kB
../dist/assets/xychartDiagram-S5SC5T6Z-orRgmxWk.js 44.51 kB │ gzip: 12.50 kB
../dist/assets/perl-CHQXSrWU.js 44.54 kB │ gzip: 4.86 kB
../dist/assets/catppuccin-mocha-LGGdnPYs.js 45.61 kB │ gzip: 7.76 kB
../dist/assets/catppuccin-latte-DRW-0cLl.js 45.61 kB │ gzip: 7.77 kB
../dist/assets/catppuccin-frappe-CD_QflpE.js 45.62 kB │ gzip: 7.78 kB
../dist/assets/catppuccin-macchiato-C-_shW-Y.js 45.62 kB │ gzip: 7.77 kB
../dist/assets/apex-COJ4H7py.js 46.81 kB │ gzip: 6.79 kB
../dist/assets/ada-727ZlQH0.js 48.53 kB │ gzip: 6.11 kB
../dist/assets/chunk-LCL6LL3I-D3MB3GTZ.js 49.30 kB │ gzip: 15.59 kB
../dist/assets/ruby-DeZ3UC14.js 51.47 kB │ gzip: 7.12 kB
../dist/assets/go-B1SYOhNW.js 52.41 kB │ gzip: 6.43 kB
../dist/assets/imba-bv_oIlVt.js 53.46 kB │ gzip: 10.23 kB
../dist/assets/everforest-dark-BgDCqdQA.js 53.75 kB │ gzip: 8.46 kB
../dist/assets/everforest-light-C8M2exoo.js 53.75 kB │ gzip: 8.46 kB
../dist/assets/css-BPhBrDlE.js 53.80 kB │ gzip: 13.46 kB
../dist/assets/wikitext-DCE3LsBG.js 56.62 kB │ gzip: 4.77 kB
../dist/assets/markdown-UIAJJxZW.js 56.99 kB │ gzip: 5.61 kB
../dist/assets/latex-C-cWTeAZ.js 59.42 kB │ gzip: 6.01 kB
../dist/assets/stata-DorPZHa4.js 61.01 kB │ gzip: 13.69 kB
../dist/assets/html-C2L_23MC.js 61.33 kB │ gzip: 12.05 kB
../dist/assets/ballerina-Du268qiB.js 61.63 kB │ gzip: 8.36 kB
../dist/assets/flowDiagram-A5DVABFB-D96m326S.js 62.60 kB │ gzip: 19.76 kB
../dist/assets/c4Diagram-UCG6FXSJ-BeQg2L8B.js 65.55 kB │ gzip: 18.65 kB
../dist/assets/ocaml-BNioltXt.js 65.87 kB │ gzip: 5.19 kB
../dist/assets/ganttDiagram-EL5Y4UJY-BuHiYG2o.js 69.44 kB │ gzip: 23.19 kB
../dist/assets/mojo-Tz6hzZYG.js 72.57 kB │ gzip: 10.36 kB
../dist/assets/python-DhUJRlN_.js 73.53 kB │ gzip: 10.44 kB
../dist/assets/c-C3t2pwGQ.js 73.97 kB │ gzip: 10.62 kB
../dist/assets/vyper-nyqBNV6O.js 78.23 kB │ gzip: 12.05 kB
../dist/assets/cose-bilkent-JH36ORCC-CGLLUbF8.js 81.55 kB │ gzip: 22.35 kB
../dist/assets/hack-D1yCygmZ.js 84.64 kB │ gzip: 27.44 kB
../dist/assets/csharp-D9R-vmeu.js 87.17 kB │ gzip: 10.44 kB
../dist/assets/swift-BSxZ-RaX.js 90.99 kB │ gzip: 14.51 kB
../dist/assets/asciidoc-BPT9niGB.js 93.51 kB │ gzip: 7.40 kB
../dist/assets/racket-CzouJOBO.js 97.61 kB │ gzip: 15.68 kB
../dist/assets/fortran-free-form-DKXYxT9g.js 98.19 kB │ gzip: 12.40 kB
../dist/assets/less-BfCpw3nA.js 102.46 kB │ gzip: 15.22 kB
../dist/assets/objective-c-Deuh7S70.js 107.79 kB │ gzip: 23.27 kB
../dist/assets/blade-a8OxSdnT.js 108.00 kB │ gzip: 28.54 kB
../dist/assets/php-B5ebYQev.js 113.76 kB │ gzip: 28.74 kB
../dist/assets/swimlanes-XN3QIQJK-D9xfcayR.js 117.13 kB │ gzip: 42.48 kB
../dist/assets/sequenceDiagram-WJ2MYXX4-DYHRV4zL.js 117.42 kB │ gzip: 31.01 kB
../dist/assets/mdx-sdHcTMYB.js 140.36 kB │ gzip: 23.83 kB
../dist/assets/architectureDiagram-5GKGNRK7-DCMyiqzy.js 151.81 kB │ gzip: 42.86 kB
../dist/assets/objective-cpp-BUEGK8hf.js 175.60 kB │ gzip: 30.79 kB
../dist/assets/javascript-ySlJ1b_l.js 198.03 kB │ gzip: 17.58 kB
../dist/assets/tsx-B6W0miNI.js 198.75 kB │ gzip: 17.59 kB
../dist/assets/jsx-BAng5TT0.js 201.01 kB │ gzip: 17.70 kB
../dist/assets/typescript-Dj6nwHGl.js 209.02 kB │ gzip: 17.23 kB
../dist/assets/angular-ts-CKsD7JZE.js 211.78 kB │ gzip: 17.82 kB
../dist/assets/wolfram-C3FkfJm5.js 268.60 kB │ gzip: 77.00 kB
../dist/assets/cytoscape.esm-CUqq0XTU.js 443.69 kB │ gzip: 141.74 kB
../dist/assets/wasm-CG6Dc4jp.js 622.34 kB │ gzip: 231.16 kB
../dist/assets/cynefin-OW5HDTMX-D6kDsRSh.js 690.59 kB │ gzip: 154.58 kB
../dist/assets/mermaid.core-Dzhbxx_I.js 695.49 kB │ gzip: 171.12 kB
../dist/assets/cpp-BksuvNSY.js 697.52 kB │ gzip: 50.37 kB
../dist/assets/emacs-lisp-BX77sIaO.js 804.67 kB │ gzip: 197.40 kB
../dist/assets/index-CGT341lL.js 1,135.40 kB │ gzip: 381.21 kB
../dist/assets/index-8hXIpvo4.js 3,662.45 kB │ gzip: 1,083.27 kB
(!) Some chunks are larger than 500 kB after minification. Consider:
- Using dynamic import() to code-split the application
- Use build.rollupOptions.output.manualChunks to improve chunking: https://rollupjs.org/configuration-options/#output-manualchunks
- Adjust chunk size limit for this warning via build.chunkSizeWarningLimit.
✓ built in 30.24s
vite v5.4.21 building for production...
transforming...
✓ 489 modules transformed.
rendering chunks...
computing gzip size...
dist/index.js 5,800.45 kB │ gzip: 1,723.59 kB
✓ built in 8.93s
npm notice run qwen-code-vscode-ide-companion@0.22.2 build
npm notice run npm run build:dev
npm notice run qwen-code-vscode-ide-companion@0.22.2 build:dev
npm notice run npm run check-types && npm run lint && node esbuild.js
npm notice run qwen-code-vscode-ide-companion@0.22.2 check-types
npm notice run tsc --noEmit
npm notice run qwen-code-vscode-ide-companion@0.22.2 lint
npm notice run eslint src
Browserslist: browsers data (caniuse-lite) is 11 months old. Please run:
npx update-browserslist-db@latest
Why you should do it regularly: https://github.com/browserslist/update-db#readme
npm notice run @qwen-code/chrome-bridge@0.22.2 build
npm notice run node scripts/sync-extension.js && node config/esbuild.background.config.js --production
Static assets synced -> dist/extension
Background/content build complete!
npm notice run @qwen-code/external-context@0.22.2 build
npm notice run npm run clean && tsc --build && npm --prefix examples/provider-extension-local run build
npm notice run @qwen-code/external-context@0.22.2 clean
npm notice run node -e "const fs=require('node:fs'); fs.rmSync('dist',{recursive:true,force:true}); fs.rmSync('tsconfig.tsbuildinfo',{force:true})"
npm notice run provider-context-local-example@1.0.0 build
npm notice run npm run clean && esbuild src/main.ts --bundle --platform=node --target=node22 --format=esm --banner:js="import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);" --outfile=dist/main.js
npm notice run provider-context-local-example@1.0.0 clean
npm notice run node -e "require('node:fs').rmSync('dist',{recursive:true,force:true})"
dist/main.js 1.9mb ⚠️
⚡ Done in 44ms
npm notice run @qwen-code/qwen-code@0.22.2 bundle
npm notice run npm run generate && node esbuild.config.js && node scripts/copy_bundle_assets.js
npm notice run @qwen-code/qwen-code@0.22.2 generate
npm notice run node scripts/generate-git-commit-info.js
Copied sandbox profiles to dist/
Copying vendor directory...
Copied vendor directory to dist/
Copied bundled skills to dist/bundled/
Copied docs/users/ to dist/bundled/qc-helper/docs/
Copied builtin locales to dist/locales/
Copied extension examples to dist/examples/
Copied Web Shell UI to dist/web-shell/
Stamped the review source digest over 104 files.
✅ All bundle assets copied to dist/
npm notice
npm notice 📦 @qwen-code/qwen-code@0.22.2
npm notice Tarball Contents
npm notice 11.4kB LICENSE
npm notice 9.8kB README.md
npm notice 9.0kB dist/bundled/batch/SKILL.md
npm notice 214B dist/bundled/computer-use/agents/openai.yaml
npm notice 6.5kB dist/bundled/computer-use/SKILL.md
npm notice 4.0kB dist/bundled/coordinate/SKILL.md
npm notice 574B dist/bundled/dataviz/references/anti-patterns.md
npm notice 1.2kB dist/bundled/dataviz/references/choosing-a-form.md
npm notice 1.6kB dist/bundled/dataviz/references/palette.md
npm notice 8.7kB dist/bundled/dataviz/scripts/validate_palette.js
npm notice 2.1kB dist/bundled/dataviz/SKILL.md
npm notice 20.1kB dist/bundled/extension-creator/SKILL.md
npm notice 9.3kB dist/bundled/goal-draft/SKILL.md
npm notice 8.4kB dist/bundled/loop/autonomous-loop.ts
npm notice 16.4kB dist/bundled/loop/loop-task-file.ts
npm notice 20.0kB dist/bundled/loop/loop-tick-resolver.ts
npm notice 10.2kB dist/bundled/loop/SKILL.md
npm notice 4.6kB dist/bundled/new-app/SKILL.md
npm notice 931B 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 19.1kB dist/bundled/qc-helper/docs/configuration/auth.md
npm notice 50.7kB dist/bundled/qc-helper/docs/configuration/model-providers.md
npm notice 3.0kB dist/bundled/qc-helper/docs/configuration/qwen-ignore.md
npm notice 267.0kB dist/bundled/qc-helper/docs/configuration/settings.md
npm notice 10.3kB dist/bundled/qc-helper/docs/configuration/themes.md
npm notice 3.3kB dist/bundled/qc-helper/docs/configuration/trusted-folders.md
npm notice 208B dist/bundled/qc-helper/docs/extension/_meta.ts
npm notice 2.3kB dist/bundled/qc-helper/docs/extension/agent-plugins.md
npm notice 10.4kB 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 21.0kB dist/bundled/qc-helper/docs/extension/introduction.md
npm notice 932B dist/bundled/qc-helper/docs/features/_meta.ts
npm notice 15.0kB dist/bundled/qc-helper/docs/features/approval-mode.md
npm notice 12.5kB dist/bundled/qc-helper/docs/features/arena.md
npm notice 14.8kB dist/bundled/qc-helper/docs/features/auto-mode.md
npm notice 260B dist/bundled/qc-helper/docs/features/channels/_meta.ts
npm notice 11.1kB dist/bundled/qc-helper/docs/features/channels/dingtalk.md
npm notice 6.5kB dist/bundled/qc-helper/docs/features/channels/dws.md
npm notice 7.2kB dist/bundled/qc-helper/docs/features/channels/feishu.md
npm notice 11.2kB dist/bundled/qc-helper/docs/features/channels/github.md
npm notice 10.4kB dist/bundled/qc-helper/docs/features/channels/gitlab.md
npm notice 36.5kB dist/bundled/qc-helper/docs/features/channels/overview.md
npm notice 4.5kB dist/bundled/qc-helper/docs/features/channels/plugins.md
npm notice 8.3kB dist/bundled/qc-helper/docs/features/channels/qqbot.md
npm notice 5.2kB dist/bundled/qc-helper/docs/features/channels/telegram.md
npm notice 4.9kB dist/bundled/qc-helper/docs/features/channels/wecom.md
npm notice 4.5kB dist/bundled/qc-helper/docs/features/channels/weixin.md
npm notice 57.8kB dist/bundled/qc-helper/docs/features/code-review.md
npm notice 60.3kB dist/bundled/qc-helper/docs/features/commands.md
npm notice 3.0kB dist/bundled/qc-helper/docs/features/computer-use.md
npm notice 22.9kB dist/bundled/qc-helper/docs/features/dual-output.md
npm notice 5.4kB dist/bundled/qc-helper/docs/features/followup-suggestions.md
npm notice 6.7kB dist/bundled/qc-helper/docs/features/goals.md
npm notice 29.6kB dist/bundled/qc-helper/docs/features/headless.md
npm notice 63.1kB dist/bundled/qc-helper/docs/features/hooks.md
npm notice 8.5kB dist/bundled/qc-helper/docs/features/language.md
npm notice 15.7kB dist/bundled/qc-helper/docs/features/lsp.md
npm notice 8.9kB dist/bundled/qc-helper/docs/features/markdown-rendering.md
npm notice 26.6kB dist/bundled/qc-helper/docs/features/mcp.md
npm notice 13.0kB dist/bundled/qc-helper/docs/features/memory.md
npm notice 2.9kB dist/bundled/qc-helper/docs/features/multi-agent-coordination.md
npm notice 8.6kB dist/bundled/qc-helper/docs/features/sandbox.md
npm notice 8.8kB dist/bundled/qc-helper/docs/features/scheduled-tasks.md
npm notice 13.8kB dist/bundled/qc-helper/docs/features/skills.md
npm notice 25.2kB dist/bundled/qc-helper/docs/features/status-line.md
npm notice 16.7kB dist/bundled/qc-helper/docs/features/structured-output.md
npm notice 35.8kB dist/bundled/qc-helper/docs/features/sub-agents.md
npm notice 2.8kB dist/bundled/qc-helper/docs/features/terminal-images.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.5kB dist/bundled/qc-helper/docs/features/tool-use-summaries.md
npm notice 22.5kB dist/bundled/qc-helper/docs/features/worktree.md
npm notice 103B dist/bundled/qc-helper/docs/ide-integration/_meta.ts
npm notice 10.2kB dist/bundled/qc-helper/docs/ide-integration/ide-companion-spec.md
npm notice 7.9kB dist/bundled/qc-helper/docs/ide-integration/ide-integration.md
npm notice 12.8kB dist/bundled/qc-helper/docs/integration-github-action.md
npm notice 2.9kB 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.9kB dist/bundled/qc-helper/docs/overview.md
npm notice 9.0kB dist/bundled/qc-helper/docs/quickstart.md
npm notice 15.8kB dist/bundled/qc-helper/docs/qwen-serve-deploy-local.md
npm notice 145.7kB dist/bundled/qc-helper/docs/qwen-serve.md
npm notice 66B dist/bundled/qc-helper/docs/reference/_meta.ts
npm notice 26.3kB dist/bundled/qc-helper/docs/reference/keyboard-shortcuts.md
npm notice 122B dist/bundled/qc-helper/docs/support/_meta.ts
npm notice 8.1kB dist/bundled/qc-helper/docs/support/tos-privacy.md
npm notice 14.1kB dist/bundled/qc-helper/docs/support/troubleshooting.md
npm notice 1.8kB dist/bundled/qc-helper/docs/support/Uninstall.md
npm notice 11.7kB dist/bundled/qc-helper/SKILL.md
npm notice 8.0kB dist/bundled/review/references/aone.md
npm notice 19.1kB dist/bundled/review/references/persistence.md
npm notice 55.0kB dist/bundled/review/references/posting.md
npm notice 326.0kB dist/bundled/review/SKILL.md
npm notice 5.2kB dist/bundled/simplify/SKILL.md
npm notice 12.2kB dist/bundled/stuck/SKILL.md
npm notice 700B dist/chunks/acp-startup-profiler-GNYAL6LI.js
npm notice 893.7kB dist/chunks/acpAgent-RTJ7TQEQ.js
npm notice 2.5kB dist/chunks/agent-headless-MZSAKM4W.js
npm notice 2.8kB dist/chunks/agent-QZRURJJV.js
npm notice 235.6kB dist/chunks/anthropicContentGenerator-HGMBACVE.js
npm notice 24.8kB dist/chunks/artifact-tool-5YT4QF7Y.js
npm notice 11.1kB dist/chunks/askUserQuestion-4SWJY65V.js
npm notice 3.5kB dist/chunks/bridge-B3GRSUA7.js
npm notice 1.5kB dist/chunks/build-INBK7IXX.js
npm notice 176.7kB dist/chunks/ca-7HPYOYSZ.js
npm notice 15.7kB dist/chunks/channel-management-service-X4AZ6IXX.js
npm notice 3.4kB dist/chunks/channel-settings-store-PKEN4VVU.js
npm notice 880B dist/chunks/channel-worker-group-27HMGD5S.js
npm notice 20.8kB dist/chunks/channel-worker-manager-QEGX646Z.js
npm notice 942B dist/chunks/channel-worker-supervisor-UEW2WWCC.js
npm notice 49.6kB dist/chunks/chunk-2AUM35J5.js
npm notice 171.6kB dist/chunks/chunk-2EAZ43JQ.js
npm notice 3.1kB dist/chunks/chunk-2LD5U7Q3.js
npm notice 16.4kB dist/chunks/chunk-2MIN6GRR.js
npm notice 5.5kB dist/chunks/chunk-2RMDFJ5S.js
npm notice 1.7kB dist/chunks/chunk-2TNL5KPM.js
npm notice 34.2kB dist/chunks/chunk-2WPNM5MY.js
npm notice 953B dist/chunks/chunk-2X56YUSZ.js
npm notice 20.2kB dist/chunks/chunk-3AFMQUTI.js
npm notice 5.2kB dist/chunks/chunk-3FDFA4MZ.js
npm notice 242.6kB dist/chunks/chunk-3I6UTTDX.js
npm notice 13.2kB dist/chunks/chunk-3JGZSIDA.js
npm notice 2.5kB dist/chunks/chunk-3SH53ANB.js
npm notice 2.0kB dist/chunks/chunk-3VUENPWF.js
npm notice 2.0kB dist/chunks/chunk-3ZUDPOGD.js
npm notice 20.2kB dist/chunks/chunk-4CDSK5AZ.js
npm notice 3.2kB dist/chunks/chunk-4CMJKUND.js
npm notice 10.6kB dist/chunks/chunk-4FTKQNWJ.js
npm notice 52.9kB dist/chunks/chunk-4HV6HH33.js
npm notice 56.8kB dist/chunks/chunk-4J657AJR.js
npm notice 1.8kB dist/chunks/chunk-4JRM2BSM.js
npm notice 3.1kB dist/chunks/chunk-4K7NQDCG.js
npm notice 3.4kB dist/chunks/chunk-4L66P6LN.js
npm notice 154.5kB dist/chunks/chunk-4TTPKT2O.js
npm notice 265B dist/chunks/chunk-4WGODMVR.js
npm notice 11.7kB dist/chunks/chunk-4WRT5424.js
npm notice 3.8kB dist/chunks/chunk-5EJZE3FP.js
npm notice 932B dist/chunks/chunk-5HBA2Z7V.js
npm notice 7.1kB dist/chunks/chunk-5JTIYALA.js
npm notice 12.6kB dist/chunks/chunk-5M6IDOMF.js
npm notice 16.5kB dist/chunks/chunk-5MK45KZ3.js
npm notice 789B dist/chunks/chunk-5O2XNYP6.js
npm notice 18.0kB dist/chunks/chunk-5PA6UEYA.js
npm notice 896.9kB dist/chunks/chunk-5Q372OFJ.js
npm notice 19.3kB dist/chunks/chunk-5QWWOFGG.js
npm notice 11.7kB dist/chunks/chunk-5VCPL7MG.js
npm notice 553.1kB dist/chunks/chunk-5WV5S2GT.js
npm notice 11.0kB dist/chunks/chunk-5XBFCMWD.js
npm notice 378B dist/chunks/chunk-6CGL7E7G.js
npm notice 2.0kB dist/chunks/chunk-6DIGWMGT.js
npm notice 1.2kB dist/chunks/chunk-6H67XLET.js
npm notice 38.6kB dist/chunks/chunk-6IUNAPLR.js
npm notice 694.0kB dist/chunks/chunk-6LZTVB6L.js
npm notice 8.2kB dist/chunks/chunk-6PJOTWAN.js
npm notice 2.5kB dist/chunks/chunk-6PLDPT2C.js
npm notice 662B dist/chunks/chunk-6PVPNMXU.js
npm notice 19.1kB dist/chunks/chunk-6TKZPKE6.js
npm notice 20.6kB dist/chunks/chunk-7CW6BBVD.js
npm notice 31.2kB dist/chunks/chunk-7DJCPZE3.js
npm notice 30.5kB dist/chunks/chunk-7E7UCJHS.js
npm notice 7.5kB dist/chunks/chunk-7EQQR46F.js
npm notice 6.6kB dist/chunks/chunk-7FYCB3I4.js
npm notice 17.8kB dist/chunks/chunk-7GM4LSSO.js
npm notice 845B dist/chunks/chunk-7JPW6IYH.js
npm notice 21.2kB dist/chunks/chunk-7U5G6JXI.js
npm notice 530B dist/chunks/chunk-7UYV53BC.js
npm notice 13.0kB dist/chunks/chunk-23RFD54N.js
npm notice 12.4kB dist/chunks/chunk-43GGFFLY.js
npm notice 23.4kB dist/chunks/chunk-43UYNAWX.js
npm notice 50.6kB dist/chunks/chunk-57OAHC2Y.js
npm notice 775.8kB dist/chunks/chunk-64REQJJ2.js
npm notice 7.9kB dist/chunks/chunk-66KDY3LV.js
npm notice 158.3kB dist/chunks/chunk-74TONY4F.js
npm notice 18.7kB dist/chunks/chunk-75DOP5OR.js
npm notice 20.6kB dist/chunks/chunk-323ZSROG.js
npm notice 16.5kB dist/chunks/chunk-664ZIZMO.js
npm notice 90.4kB dist/chunks/chunk-A4N4FTMH.js
npm notice 28.4kB dist/chunks/chunk-ABS25QER.js
npm notice 1.4kB dist/chunks/chunk-ALMR3E6Q.js
npm notice 429.9kB dist/chunks/chunk-AMDSOFFV.js
npm notice 3.4kB dist/chunks/chunk-AQ37AY7B.js
npm notice 85.3kB dist/chunks/chunk-ASTVWXYB.js
npm notice 196.0kB dist/chunks/chunk-AVNATYLY.js
npm notice 1.4MB dist/chunks/chunk-AYHQZBJ4.js
npm notice 13.6kB dist/chunks/chunk-B7CDU2SL.js
npm notice 9.2kB dist/chunks/chunk-BFPESSTR.js
npm notice 3.2kB dist/chunks/chunk-BFSFJR3D.js
npm notice 1.4kB dist/chunks/chunk-BGXZBI5B.js
npm notice 76.2kB dist/chunks/chunk-BJRXCWBV.js
npm notice 43.8kB dist/chunks/chunk-BM3SWIBL.js
npm notice 1.5kB dist/chunks/chunk-BRVWYMKV.js
npm notice 4.6kB dist/chunks/chunk-BWORX6FA.js
npm notice 38.9kB dist/chunks/chunk-BXDAPVQU.js
npm notice 36.0kB dist/chunks/chunk-CAJTKR6W.js
npm notice 3.9kB dist/chunks/chunk-CEJ7QZRJ.js
npm notice 147.9kB dist/chunks/chunk-CETB5XY4.js
npm notice 1.2kB dist/chunks/chunk-CFKIH3D3.js
npm notice 2.4kB dist/chunks/chunk-CMHFCLBU.js
npm notice 832B dist/chunks/chunk-CPBF7KYF.js
npm notice 541.9kB dist/chunks/chunk-CQ35AJ4Z.js
npm notice 8.5kB dist/chunks/chunk-CQH5KTKC.js
npm notice 9.4kB dist/chunks/chunk-D5LUXLUH.js
npm notice 433.3kB dist/chunks/chunk-DI35ZN7T.js
npm notice 7.0kB dist/chunks/chunk-DIMEPKCW.js
npm notice 3.1kB dist/chunks/chunk-DJ2GSRLV.js
npm notice 20.2kB dist/chunks/chunk-DMTGGOSA.js
npm notice 7.8kB dist/chunks/chunk-E7REAOTN.js
npm notice 287.2kB dist/chunks/chunk-E55H6BZ7.js
npm notice 2.8kB dist/chunks/chunk-EBUWODA7.js
npm notice 20.7kB dist/chunks/chunk-ECAHCBMD.js
npm notice 313.4kB dist/chunks/chunk-EFUM7RVY.js
npm notice 47.5kB dist/chunks/chunk-EKSCLBBF.js
npm notice 1.1kB dist/chunks/chunk-EKTCKZV5.js
npm notice 65.4kB dist/chunks/chunk-EOGELB3H.js
npm notice 15.7kB dist/chunks/chunk-ERFDKH32.js
npm notice 67.9kB dist/chunks/chunk-ERFNNAWS.js
npm notice 3.6kB dist/chunks/chunk-F4HSMWM5.js
npm notice 158.6kB dist/chunks/chunk-F6FV3C5K.js
npm notice 1.5kB dist/chunks/chunk-FBX2SDQ4.js
npm notice 17.7kB dist/chunks/chunk-FDY5RMGH.js
npm notice 267.1kB dist/chunks/chunk-FOGQO4FG.js
npm notice 8.0kB dist/chunks/chunk-FPGTNKCP.js
npm notice 71.3kB dist/chunks/chunk-FTEO2E2F.js
npm notice 6.8kB dist/chunks/chunk-FYJ7W2PI.js
npm notice 4.3kB dist/chunks/chunk-GOFAQQZA.js
npm notice 7.0kB dist/chunks/chunk-GOXKNSDZ.js
npm notice 42.1kB dist/chunks/chunk-GS5C324B.js
npm notice 688B dist/chunks/chunk-GYTKQYDB.js
npm notice 51.5kB dist/chunks/chunk-H2WDGQ6D.js
npm notice 21.0kB dist/chunks/chunk-H72BQNM3.js
npm notice 878B dist/chunks/chunk-HHJLM3WQ.js
npm notice 67.9kB dist/chunks/chunk-HMJ2P3SV.js
npm notice 3.8kB dist/chunks/chunk-HPHDVYTM.js
npm notice 832B dist/chunks/chunk-HRVMTN37.js
npm notice 11.7kB dist/chunks/chunk-HVEYF6VT.js
npm notice 12.4kB dist/chunks/chunk-HVQ3B7FF.js
npm notice 56.0kB dist/chunks/chunk-I3LH5JCH.js
npm notice 5.9MB dist/chunks/chunk-I44KWOR2.js
npm notice 2.2kB dist/chunks/chunk-IDS7MSUP.js
npm notice 113.9kB dist/chunks/chunk-IDTVLBOT.js
npm notice 4.6kB dist/chunks/chunk-IRH27ZC2.js
npm notice 78.9kB dist/chunks/chunk-IW6RQPQB.js
npm notice 18.5kB dist/chunks/chunk-IZIVM7LZ.js
npm notice 6.2kB dist/chunks/chunk-J2OSJFP3.js
npm notice 2.5kB dist/chunks/chunk-J2S4EL5Y.js
npm notice 1.0kB dist/chunks/chunk-J3NNHTV6.js
npm notice 233.0kB dist/chunks/chunk-J4MOFEOK.js
npm notice 3.9kB dist/chunks/chunk-JB4JIVTJ.js
npm notice 30.0kB dist/chunks/chunk-JCQD3INC.js
npm notice 14.8kB dist/chunks/chunk-JHS74YAB.js
npm notice 934B dist/chunks/chunk-JVEGA3MM.js
npm notice 2.8kB dist/chunks/chunk-JVPFTDBK.js
npm notice 80.4kB dist/chunks/chunk-JWALNCLT.js
npm notice 2.4kB dist/chunks/chunk-K2OJUPOE.js
npm notice 233.6kB dist/chunks/chunk-K6KS3LTN.js
npm notice 1.1kB dist/chunks/chunk-KGJGEEVR.js
npm notice 1.5kB dist/chunks/chunk-KIFHF76U.js
npm notice 671B dist/chunks/chunk-KW7NOTN6.js
npm notice 285.4kB dist/chunks/chunk-L2M46FP5.js
npm notice 88.6kB dist/chunks/chunk-L6BZRIUL.js
npm notice 687B dist/chunks/chunk-LBOVL47Y.js
npm notice 13.8kB dist/chunks/chunk-LDP5OD6N.js
npm notice 784B dist/chunks/chunk-LIKIJAUH.js
npm notice 359B dist/chunks/chunk-LJZSMWOH.js
npm notice 8.6kB dist/chunks/chunk-LPXRYKQP.js
npm notice 3.5kB dist/chunks/chunk-M5GB774H.js
npm notice 8.1kB dist/chunks/chunk-M6FOJXW3.js
npm notice 2.7kB dist/chunks/chunk-MHI7LEB5.js
npm notice 9.7kB dist/chunks/chunk-MIIVI25Q.js
npm notice 55.2kB dist/chunks/chunk-MLXTMF7H.js
npm notice 18.2kB dist/chunks/chunk-MP5PM4VW.js
npm notice 11.0kB dist/chunks/chunk-MQHVT4RB.js
npm notice 16.9kB dist/chunks/chunk-MQM5PJML.js
npm notice 1.3kB dist/chunks/chunk-MR3PXB6E.js
npm notice 10.2kB dist/chunks/chunk-MZS7GEC7.js
npm notice 8.3kB dist/chunks/chunk-NAVJD2PQ.js
npm notice 19.8kB dist/chunks/chunk-NF5J2WFA.js
npm notice 9.4kB dist/chunks/chunk-NIFYWDYN.js
npm notice 495B dist/chunks/chunk-NKLP3DCK.js
npm notice 5.5kB dist/chunks/chunk-NPQ5ZKRP.js
npm notice 17.4kB dist/chunks/chunk-NU7RKEZR.js
npm notice 539B dist/chunks/chunk-NYWWQ437.js
npm notice 3.7kB dist/chunks/chunk-NYX53SV4.js
npm notice 478B dist/chunks/chunk-O6GEWCJA.js
npm notice 353B dist/chunks/chunk-OCPBI7J5.js
npm notice 271B dist/chunks/chunk-OIBUG24X.js
npm notice 9.8kB dist/chunks/chunk-OIVXBW3W.js
npm notice 6.7kB dist/chunks/chunk-OPQ6PEAT.js
npm notice 5.3kB dist/chunks/chunk-OZ6KS6KW.js
npm notice 6.9kB dist/chunks/chunk-P2SU6ZTI.js
npm notice 392B dist/chunks/chunk-P3QQPMQA.js
npm notice 1.7kB dist/chunks/chunk-P5Y23G2L.js
npm notice 279.6kB dist/chunks/chunk-PDMJ3KGS.js
npm notice 32.4kB dist/chunks/chunk-PDQGMSZK.js
npm notice 13.7kB dist/chunks/chunk-PKAYJDB3.js
npm notice 15.8kB dist/chunks/chunk-PPKZ7JOE.js
npm notice 525.7kB dist/chunks/chunk-PZ7Q6ODE.js
npm notice 29.0kB dist/chunks/chunk-Q5VHECJA.js
npm notice 10.1kB dist/chunks/chunk-QE53MDTL.js
npm notice 85.0kB dist/chunks/chunk-QFCDF5PL.js
npm notice 870B dist/chunks/chunk-QHMLYMMS.js
npm notice 7.6kB dist/chunks/chunk-QHTIBUWB.js
npm notice 1.7kB dist/chunks/chunk-QHWCP53L.js
npm notice 7.2kB dist/chunks/chunk-QILD6R27.js
npm notice 5.2kB dist/chunks/chunk-QM6WBFME.js
npm notice 93.2kB dist/chunks/chunk-QMGX2KO2.js
npm notice 2.3kB dist/chunks/chunk-QMNL3SBU.js
npm notice 1.7MB dist/chunks/chunk-QO47LY2R.js
npm notice 423B dist/chunks/chunk-QUPXZXLV.js
npm notice 75.9kB dist/chunks/chunk-R4PMVSR5.js
npm notice 16.7kB dist/chunks/chunk-RAWH4Z53.js
npm notice 3.6kB dist/chunks/chunk-RKFGE7JH.js
npm notice 430B dist/chunks/chunk-RKUWKYED.js
npm notice 10.7kB dist/chunks/chunk-RMRUAZVN.js
npm notice 20.4kB dist/chunks/chunk-RU7BK6B3.js
npm notice 22.4kB dist/chunks/chunk-RUGNCYNO.js
npm notice 129.3kB dist/chunks/chunk-RVIGZBIT.js
npm notice 1.0kB dist/chunks/chunk-RXFQM6FQ.js
npm notice 1.4kB dist/chunks/chunk-S6LOFUVP.js
npm notice 3.2kB dist/chunks/chunk-SAH4BD2J.js
npm notice 7.8kB dist/chunks/chunk-SFPGAQUL.js
npm notice 219.5kB dist/chunks/chunk-SMPR7SPO.js
npm notice 35.2kB dist/chunks/chunk-SSTJFBXI.js
npm notice 5.3kB dist/chunks/chunk-STUJ7IMZ.js
npm notice 1.9kB dist/chunks/chunk-SV5PQVQE.js
npm notice 11.1kB dist/chunks/chunk-T3WXYEZ4.js
npm notice 261B dist/chunks/chunk-T26EAKDL.js
npm notice 44.3kB dist/chunks/chunk-T32W2JHI.js
npm notice 17.8kB dist/chunks/chunk-TBCEBVUC.js
npm notice 61.0kB dist/chunks/chunk-TBWQLLFO.js
npm notice 3.0kB dist/chunks/chunk-TPI7O7HR.js
npm notice 3.2kB dist/chunks/chunk-TRZTNIQ6.js
npm notice 12.9kB dist/chunks/chunk-TTX2JUE6.js
npm notice 966B dist/chunks/chunk-TWPJO254.js
npm notice 22.3kB dist/chunks/chunk-TWSKM647.js
npm notice 675B dist/chunks/chunk-TXASDT2M.js
npm notice 957B dist/chunks/chunk-UDG5EZJI.js
npm notice 52.3kB dist/chunks/chunk-UHQFIS7N.js
npm notice 607.5kB dist/chunks/chunk-UTLCH2FK.js
npm notice 5.6kB dist/chunks/chunk-UXEO7E3V.js
npm notice 12.8kB dist/chunks/chunk-V2NDP3I4.js
npm notice 6.3kB dist/chunks/chunk-V5J4J5TP.js
npm notice 537B dist/chunks/chunk-V6WHFGST.js
npm notice 10.5kB dist/chunks/chunk-VGC4I5JJ.js
npm notice 12.2kB dist/chunks/chunk-VNOVK4I7.js
npm notice 3.1kB dist/chunks/chunk-VQUGEVGR.js
npm notice 5.1kB dist/chunks/chunk-VTHREBQM.js
npm notice 11.3kB dist/chunks/chunk-VVW4ZNFY.js
npm notice 571.0kB dist/chunks/chunk-W2ZKGNSG.js
npm notice 870B dist/chunks/chunk-W3N5XAZ6.js
npm notice 1.7kB dist/chunks/chunk-W5ZGFM4N.js
npm notice 723B dist/chunks/chunk-WAOIHTJS.js
npm notice 9.5kB dist/chunks/chunk-WARGMCDU.js
npm notice 2.4kB dist/chunks/chunk-WCCLLK7X.js
npm notice 37.6kB dist/chunks/chunk-WDOBP53I.js
npm notice 133.1kB dist/chunks/chunk-WKK5BQNP.js
npm notice 2.0kB dist/chunks/chunk-WZAD4ZNJ.js
npm notice 891B dist/chunks/chunk-XDLEZ5HX.js
npm notice 2.4kB dist/chunks/chunk-XF63PKEN.js
npm notice 195.3kB dist/chunks/chunk-XFSFZCM5.js
npm notice 70.0kB dist/chunks/chunk-XIQ5HQ2F.js
npm notice 7.4kB dist/chunks/chunk-XJWF4GMK.js
npm notice 1.9kB dist/chunks/chunk-XQFT3QUF.js
npm notice 3.1kB dist/chunks/chunk-XRSOI3DL.js
npm notice 2.6kB dist/chunks/chunk-XWRJCPHC.js
npm notice 375B dist/chunks/chunk-XZA32HII.js
npm notice 42.6kB dist/chunks/chunk-Y3QL45LS.js
npm notice 395B dist/chunks/chunk-YAF2MQZ6.js
npm notice 471.0kB dist/chunks/chunk-YE4ELFQ2.js
npm notice 609.2kB dist/chunks/chunk-YPDBCTWM.js
npm notice 3.3kB dist/chunks/chunk-YQ3U5MUC.js
npm notice 3.7kB dist/chunks/chunk-YRLW2MSX.js
npm notice 486B dist/chunks/chunk-YTDVNSUQ.js
npm notice 4.3kB dist/chunks/chunk-Z4X5MTRT.js
npm notice 1.2kB dist/chunks/chunk-Z7B6SRPM.js
npm notice 4.2kB dist/chunks/chunk-Z7TGYN5F.js
npm notice 2.7kB dist/chunks/chunk-Z7VOMGDC.js
npm notice 680B dist/chunks/chunk-ZELCTN6Y.js
npm notice 1.4kB dist/chunks/chunk-ZEZKIS2K.js
npm notice 128.8kB dist/chunks/chunk-ZGXYO7DY.js
npm notice 15.2kB dist/chunks/chunk-ZL74RS5B.js
npm notice 36.8kB dist/chunks/chunk-ZLBIFIMV.js
npm notice 3.1kB dist/chunks/chunk-ZPJWUGCS.js
npm notice 5.1kB dist/chunks/chunk-ZU4UDIWX.js
npm notice 732B dist/chunks/chunk-ZYNTSXWK.js
npm notice 202B dist/chunks/cli-entry-path-4VJ3Y6T2.js
npm notice 3.2kB dist/chunks/config-utils-L4U5B63A.js
npm notice 3.1kB dist/chunks/contextCommand-HK5I4BZJ.js
npm notice 4.4kB dist/chunks/core-runtime-XQRFQW3B.js
npm notice 402B dist/chunks/create-sub-session-23ITIELI.js
npm notice 30.4kB dist/chunks/create-sub-session-EJNYNW25.js
npm notice 11.0kB dist/chunks/cron-create-KJ4IY6PP.js
npm notice 2.9kB dist/chunks/cron-delete-MBLQCAYY.js
npm notice 4.5kB dist/chunks/cron-list-DWH2PQ47.js
npm notice 83.8kB dist/chunks/daemon-git-worktree-guard-6FQZDSMI.js
npm notice 443.5kB dist/chunks/daemon-MJQUO7RA.js
npm notice 3.5kB dist/chunks/daemon-status-provider-GGJWSBNK.js
npm notice 3.4kB dist/chunks/daemon-trust-policy-7LAGW45M.js
npm notice 5.8kB dist/chunks/daemon-trust-policy-monitor-BXVQZPE7.js
npm notice 140.3kB dist/chunks/de-X6HLSIFE.js
npm notice 3.1kB dist/chunks/deferred-core-runtime-OCCXJFYB.js
npm notice 747.0kB dist/chunks/devtools-JCG4K2NZ.js
npm notice 720B dist/chunks/discovery-X2NV535U.js
npm notice 5.8kB dist/chunks/display-image-BE7I6ZB6.js
npm notice 96.0kB dist/chunks/dist-4Q7NTUNB.js
npm notice 500.5kB dist/chunks/dist-7CKN54NL.js
npm notice 405.3kB dist/chunks/dist-DJBNNPLN.js
npm notice 97.7kB dist/chunks/dist-ILDBUWDB.js
npm notice 258B dist/chunks/dist-PZV5RKM6.js
npm notice 26.6kB dist/chunks/dist-QODVOVWI.js
npm notice 202.7kB dist/chunks/dist-SATKXKUR.js
npm notice 323.9kB dist/chunks/dist-TJUDJTCB.js
npm notice 120.5kB dist/chunks/dist-UQUFZDIY.js
npm notice 5.8MB dist/chunks/dist-ZBVOXSKF.js
npm notice 3.1kB dist/chunks/earlyInputCapture-5EO2FX6W.js
npm notice 34.0kB dist/chunks/edit-UES3VHLV.js
npm notice 165.3kB dist/chunks/en-YLXBXM4Z.js
npm notice 7.6kB dist/chunks/enter-worktree-MQXFFPKM.js
npm notice 8.6kB dist/chunks/enterPlanMode-HMUMJ6LT.js
npm notice 3.7kB dist/chunks/environment-6FOBJIKQ.js
npm notice 3.3kB dist/chunks/errors-TJMALXXC.js
npm notice 165.7kB dist/chunks/esm-K5FARBNI.js
npm notice 17.0kB dist/chunks/exit-worktree-L344UY7K.js
npm notice 2.5kB dist/chunks/exitPlanMode-AUCIFODS.js
npm notice 10.1kB dist/chunks/external-tool-guard-provider-TE4DRY36.js
npm notice 18.1kB dist/chunks/fast-path-7TTK7ZQQ.js
npm notice 760B dist/chunks/fast-path-settings-XMFBYFUH.js
npm notice 4.8kB dist/chunks/fileFromPath-UDALK7FM.js
npm notice 145.2kB dist/chunks/fr-FTZWF462.js
npm notice 117.8kB dist/chunks/gemini-X4WH5ZH7.js
npm notice 10.4kB dist/chunks/geminiContentGenerator-SITGGPFN.js
npm notice 1.6kB dist/chunks/getMachineId-bsd-FBOAYNSY.js
npm notice 1.5kB dist/chunks/getMachineId-bsd-YH7RURBZ.js
npm notice 1.5kB dist/chunks/getMachineId-darwin-H6USQYNI.js
npm notice 1.6kB dist/chunks/getMachineId-darwin-RNJLJUXY.js
npm notice 1.3kB dist/chunks/getMachineId-linux-HF2N63ET.js
npm notice 1.4kB dist/chunks/getMachineId-linux-UEVRAIAB.js
npm notice 1.1kB dist/chunks/getMachineId-unsupported-FWXYJ7HW.js
npm notice 1.0kB dist/chunks/getMachineId-unsupported-NYA5DXRB.js
npm notice 1.7kB dist/chunks/getMachineId-win-LRVGMHLW.js
npm notice 1.7kB dist/chunks/getMachineId-win-SMEGY2DW.js
npm notice 13.7kB dist/chunks/glob-JL7CBMYV.js
npm notice 18.3kB dist/chunks/goal-tools-YZQJXTGH.js
npm notice 21.0kB dist/chunks/grep-5GPICQBU.js
npm notice 3.2kB dist/chunks/handleAutoUpdate-6F5JK74O.js
npm notice 3.4kB dist/chunks/i18n-V7TBQUKT.js
npm notice 7.2kB dist/chunks/image-gen-HAYOEQ4O.js
npm notice 3.3kB dist/chunks/initializer-BIIX3D4W.js
npm notice 3.1kB dist/chunks/installationInfo-FT7OGBU7.js
npm notice 198.0kB dist/chunks/ja-2GL5FKYJ.js
npm notice 270B dist/chunks/keychain-token-storage-37XPR34V.js
npm notice 434B dist/chunks/kittyProtocolDetector-BFLAKYXH.js
npm notice 226B dist/chunks/lib-RUF3WZA6.js
npm notice 2.8kB dist/chunks/list-agents-DI3YFTDT.js
npm notice 3.4kB dist/chunks/list-QX7MLSNN.js
npm notice 3.3kB dist/chunks/loadedSettingsAdapter-T6EW676C.js
npm notice 39.7kB dist/chunks/loggingContentGenerator-D767VZFK.js
npm notice 6.8kB dist/chunks/loop-wakeup-XJFONSQ7.js
npm notice 1.5MB dist/chunks/lowlight-J2OZNPCA.js
npm notice 9.4kB dist/chunks/ls-3VAT2J7A.js
npm notice 35.4kB dist/chunks/lsp-5W7IRUBH.js
npm notice 198B dist/chunks/main-PXAUXNF2.js
npm notice 14.0kB dist/chunks/managed-npm-update-UHJE2IC4.js
npm notice 3.2kB dist/chunks/MaxSizedBox-YIBHOGXC.js
npm notice 3.3kB dist/chunks/mcp-ZKLN4ZYO.js
npm notice 22.9kB dist/chunks/monitor-LRHGAKKE.js
npm notice 12.1kB dist/chunks/multipart-parser-AWZKXSQN.js
npm notice 6.5kB dist/chunks/node-QKLNSZMX.js
npm notice 5.5kB dist/chunks/nonInteractiveCli-C7CTH4KN.js
npm notice 29.1kB dist/chunks/notebook-edit-YBBF7OSH.js
npm notice 1.5kB dist/chunks/open-with-auth-4UI3KHUR.js
npm notice 2.3kB dist/chunks/openaiContentGenerator-PF3OQS7K.js
npm notice 3.2kB dist/chunks/pidfile-WGRVL3JI.js
npm notice 5.0kB dist/chunks/process-registry-PMJOA5CO.js
npm notice 708B dist/chunks/processUtils-Z7UWWMGB.js
npm notice 3.1kB dist/chunks/prompt-terminal-ledger-AR623FSH.js
npm notice 220B dist/chunks/proper-lockfile-3LHWIM44.js
npm notice 139.7kB dist/chunks/pt-XN2YWJVM.js
npm notice 8.1kB dist/chunks/qwenContentGenerator-I7HNBS6D.js
npm notice 1.4kB dist/chunks/qwenOAuth2-RF33DNZW.js
npm notice 200B dist/chunks/react-SG7JAQSZ.js
npm notice 854B dist/chunks/read-file-QDRZNEDR.js
npm notice 6.4kB dist/chunks/read-mcp-resource-XD257PGJ.js
npm notice 268B dist/chunks/read-package-up-6T6ICKR7.js
npm notice 616B dist/chunks/record-artifact-RZGZBENU.js
npm notice 772B dist/chunks/report-findings-Q3SYKKW5.js
npm notice 4.2kB dist/chunks/request-shutdown-BCLA3JV2.js
npm notice 3.5kB dist/chunks/resumeHistoryUtils-JRAAENYU.js
npm notice 1.1kB dist/chunks/ripGrep-6UMZZZIK.js
npm notice 340.7kB dist/chunks/ru-OLTMFJEW.js
npm notice 360.3kB dist/chunks/run-qwen-serve-M6OWXJHU.js
npm notice 4.3kB dist/chunks/runtime-MZXO5UB3.js
npm notice 3.9kB dist/chunks/scheduled-tasks-JLYGBEJ2.js
npm notice 3.7kB dist/chunks/scheduler-YW2GLOYS.js
npm notice 913.8kB dist/chunks/sdk-exporters-grpc-G5IT4XS4.js
npm notice 21.1kB dist/chunks/sdk-exporters-http-KCJ4ZFG7.js
npm notice 458.1kB dist/chunks/sdk-impl-HLSEDAEP.js
npm notice 10.6kB dist/chunks/send-message-Y5I6NYAM.js
npm notice 3.5kB dist/chunks/serve-XSXU2RP3.js
npm notice 1.8MB dist/chunks/server-CPIHQ2C5.js
npm notice 90.9kB dist/chunks/session-YKZKOCHB.js
npm notice 4.4kB dist/chunks/settings-AAQC2KBC.js
npm notice 2.7kB dist/chunks/shell-MDRTI3XS.js
npm notice 3.5kB dist/chunks/skill-settings-WCMCY5WH.js
npm notice 21.8kB dist/chunks/skill-SO47LFUY.js
npm notice 3.3kB dist/chunks/spawnChannel-5V57BW3A.js
npm notice 48.9kB dist/chunks/src-VLI3TKEY.js
npm notice 3.4kB dist/chunks/standalone-update-Q5NZK2OP.js
npm notice 7.8kB dist/chunks/StandaloneSessionPicker-KKM7BEAV.js
npm notice 1.9MB dist/chunks/startInteractiveUI-VADIFA7I.js
npm notice 360B dist/chunks/stdioHelpers-7A2EE64Z.js
npm notice 368B dist/chunks/syntheticOutput-ML43GEFN.js
npm notice 732B dist/chunks/task-create-TMSV7RD5.js
npm notice 4.5kB dist/chunks/task-list-W55RBFRX.js
npm notice 7.3kB dist/chunks/task-stop-CXEH5L2D.js
npm notice 17.3kB dist/chunks/task-update-N536I4GQ.js
npm notice 14.0kB dist/chunks/team-create-ZSITL4G5.js
npm notice 3.0kB dist/chunks/team-delete-FJRFX33M.js
npm notice 7.0kB dist/chunks/team-plan-approval-ZQWRAH2M.js
npm notice 3.4kB dist/chunks/terminal-image-renderer-P2ECUUNB.js
npm notice 3.0kB dist/chunks/theme-manager-ASW6NKKS.js
npm notice 17.6kB dist/chunks/todoWrite-WDJNQEMW.js
npm notice 16.5kB dist/chunks/tool-search-7DYIPTKH.js
npm notice 3.4kB dist/chunks/total-session-admission-7O4NCF3Z.js
npm notice 1.9MB dist/chunks/tree-sitter-bash-EZ4S5QRV.js
npm notice 254.7kB dist/chunks/tree-sitter-G7JNPPOS.js
npm notice 157.8kB dist/chunks/tree-sitter-YJVE2ZUK.js
npm notice 3.5kB dist/chunks/trustedFolders-I3PSZAUZ.js
npm notice 592.4kB dist/chunks/turndown.cjs-FZHGMUTY.js
npm notice 536B dist/chunks/types-WYCFCEHR.js
npm notice 1.1MB dist/chunks/undici-S7WJSKGJ.js
npm notice 2.9kB dist/chunks/update-relaunch-4WRCLHB2.js
npm notice 3.4kB dist/chunks/updateCheck-FUMODWSW.js
npm notice 206B dist/chunks/updateEventEmitter-5MKC7BLQ.js
npm notice 3.6kB dist/chunks/useAutoAcceptIndicator-MX2IXC3K.js
npm notice 7.6kB dist/chunks/validateNonInterActiveAuth-KQM7Z6TL.js
npm notice 226B dist/chunks/version-ANP4TS6O.js
npm notice 27.2kB dist/chunks/web-fetch-BGPFMZDF.js
npm notice 27.8kB dist/chunks/web-search-5TBT442K.js
npm notice 958B dist/chunks/web-shell-static-A6QMUNNV.js
npm notice 133.3kB dist/chunks/webapi-Z5OM224P.js
npm notice 160.1kB dist/chunks/workflow-2BX4XWP4.js
npm notice 3.4kB dist/chunks/workspace-providers-status-5HYZJEEE.js
npm notice 1.0kB dist/chunks/workspace-registration-store-6NRLOSLM.js
npm notice 3.7kB dist/chunks/workspace-registry-6QJ5N7BD.js
npm notice 3.9kB dist/chunks/workspace-service-P3T2USM2.js
npm notice 3.4kB dist/chunks/workspace-skills-status-ADNRE6CT.js
npm notice 12.2kB dist/chunks/workspace-trust-reconciler-GPXEH72Z.js
npm notice 2.6kB dist/chunks/write-file-ZVV3JCLE.js
npm notice 212.9kB dist/chunks/xterm-headless-NTYVIBT3.js
npm notice 207B dist/chunks/yargs-6H2AUULL.js
npm notice 197.4kB dist/chunks/zh-TW-RPTMRTHG.js
npm notice 206.5kB dist/chunks/zh-UNY63FR3.js
npm notice 7.3kB dist/chunks/zoom-image-KZLJEDTR.js
npm notice 12.9kB dist/cli.js
npm notice 2.4kB dist/examples/agent/agents/diary.md
npm notice 122B dist/examples/agent/qwen-extension.json
npm notice 75B dist/examples/commands/commands/fs/grep-code.md
npm notice 129B dist/examples/commands/qwen-extension.json
npm notice 137B dist/examples/context/qwen-extension.json
npm notice 670B dist/examples/context/QWEN.md
npm notice 1.4kB dist/examples/mcp-server/example.ts
npm notice 380B dist/examples/mcp-server/package.json
npm notice 440B dist/examples/mcp-server/qwen-extension.json
npm notice 290B dist/examples/mcp-server/tsconfig.json
npm notice 119B dist/examples/skills/qwen-extension.json
npm notice 1.9kB dist/examples/skills/skills/synonyms/SKILL.md
npm notice 2.4kB dist/examples/starter/agents/diary.md
npm notice 378B dist/examples/starter/commands/writing/polish.md
npm notice 1.8kB dist/examples/starter/example.ts
npm notice 420B dist/examples/starter/package.json
npm notice 250B dist/examples/starter/qwen-extension.json
npm notice 1.2kB dist/examples/starter/QWEN.md
npm notice 2.5kB dist/examples/starter/README.md
npm notice 1.9kB dist/examples/starter/skills/synonyms/SKILL.md
npm notice 290B dist/examples/starter/tsconfig.json
npm notice 28.4kB dist/fzfWorker.js
npm notice 175.3kB dist/locales/ca.js
npm notice 140.5kB dist/locales/de.js
npm notice 166.9kB dist/locales/en.js
npm notice 143.3kB dist/locales/fr.js
npm notice 140.2kB dist/locales/ja.js
npm notice 137.8kB dist/locales/pt.js
npm notice 176.2kB dist/locales/ru.js
npm notice 150.0kB dist/locales/zh-TW.js
npm notice 159.2kB dist/locales/zh.js
npm notice 64B dist/review-sources.sha256
npm notice 1.0kB dist/sandbox-macos-permissive-closed.sb
npm notice 899B dist/sandbox-macos-permissive-open.sb
npm notice 1.3kB dist/sandbox-macos-permissive-proxied.sb
npm notice 3.3kB dist/sandbox-macos-restrictive-closed.sb
npm notice 3.4kB dist/sandbox-macos-restrictive-open.sb
npm notice 3.6kB dist/sandbox-macos-restrictive-proxied.sb
npm notice 4.5MB dist/vendor/ripgrep/arm64-darwin/rg
npm notice 4.8MB dist/vendor/ripgrep/arm64-linux/rg
npm notice 126B dist/vendor/ripgrep/COPYING
npm notice 4.7MB dist/vendor/ripgrep/x64-darwin/rg
npm notice 5.7MB dist/vendor/ripgrep/x64-linux/rg
npm notice 5.4MB dist/vendor/ripgrep/x64-win32/rg.exe
npm notice 1.4MB dist/vendor/tree-sitter/tree-sitter-bash.wasm
npm notice 190.8kB dist/vendor/tree-sitter/tree-sitter.wasm
npm notice 18.8kB dist/web-shell/assets/abap-DsBKuouk.js
npm notice 1.8kB dist/web-shell/assets/abnfDiagram-VCTEODGH-uS-vtfs3.js
npm notice 14.6kB dist/web-shell/assets/actionscript-3-D_z4Izcz.js
npm notice 48.5kB dist/web-shell/assets/ada-727ZlQH0.js
npm notice 8.9kB dist/web-shell/assets/andromeeda-C3khCPGq.js
npm notice 17.7kB dist/web-shell/assets/angular-html-LfdN0zeE.js
npm notice 211.8kB dist/web-shell/assets/angular-ts-CKsD7JZE.js
npm notice 13.2kB dist/web-shell/assets/apache-Dn00JSTd.js
npm notice 46.8kB dist/web-shell/assets/apex-COJ4H7py.js
npm notice 24.2kB dist/web-shell/assets/apl-BBq3IX1j.js
npm notice 30.8kB dist/web-shell/assets/applescript-Bu5BbsvL.js
npm notice 7.2kB dist/web-shell/assets/ara-7O62HKoU.js
npm notice 3.4kB dist/web-shell/assets/arc-BSTnk5pu.js
npm notice 151.8kB dist/web-shell/assets/architectureDiagram-5GKGNRK7-DCMyiqzy.js
npm notice 93.5kB dist/web-shell/assets/asciidoc-BPT9niGB.js
npm notice 40.9kB dist/web-shell/assets/asm-Dhn9LcZ4.js
npm notice 24.1kB dist/web-shell/assets/astro-CqkE3fuf.js
npm notice 13.7kB dist/web-shell/assets/aurora-x-D-2ljcwZ.js
npm notice 5.5kB dist/web-shell/assets/awk-eg146-Ew.js
npm notice 14.9kB dist/web-shell/assets/ayu-dark-Cv9koXgw.js
npm notice 61.6kB dist/web-shell/assets/ballerina-Du268qiB.js
npm notice 13.0kB dist/web-shell/assets/bat-fje9CFhw.js
npm notice 10.8kB dist/web-shell/assets/beancount-BwXTMy5W.js
npm notice 2.4kB dist/web-shell/assets/berry-3xVqZejG.js
npm notice 5.1kB dist/web-shell/assets/bibtex-xW4inM5L.js
npm notice 4.5kB dist/web-shell/assets/bicep-DHo0CJ0O.js
npm notice 108.0kB dist/web-shell/assets/blade-a8OxSdnT.js
npm notice 43.0kB dist/web-shell/assets/blockDiagram-NRAW4CY4-C7_gt0r1.js
npm notice 38.1kB dist/web-shell/assets/bsl-Dgyn0ogV.js
npm notice 74.0kB dist/web-shell/assets/c-C3t2pwGQ.js
npm notice 65.5kB dist/web-shell/assets/c4Diagram-UCG6FXSJ-BeQg2L8B.js
npm notice 11.0kB dist/web-shell/assets/cadence-DNquZEk8.js
npm notice 3.0kB dist/web-shell/assets/cairo--RitsXJZ.js
npm notice 45.6kB dist/web-shell/assets/catppuccin-frappe-CD_QflpE.js
npm notice 45.6kB dist/web-shell/assets/catppuccin-latte-DRW-0cLl.js
npm notice 45.6kB dist/web-shell/assets/catppuccin-macchiato-C-_shW-Y.js
npm notice 45.6kB dist/web-shell/assets/catppuccin-mocha-LGGdnPYs.js
npm notice 113B dist/web-shell/assets/channel-CENAhErJ.js
npm notice 193B dist/web-shell/assets/chunk-2Q5K7J3B-DnV9bKBe.js
npm notice 366B dist/web-shell/assets/chunk-5VM5RSS4-rT1GAcT7.js
npm notice 1.9kB dist/web-shell/assets/chunk-F27PBJKO-BcgSxqGA.js
npm notice 38.6kB dist/web-shell/assets/chunk-G27WJ6UU-Bw1ZhyZq.js
npm notice 297B dist/web-shell/assets/chunk-JWPE2WC7-D4iDw-96.js
npm notice 49.3kB dist/web-shell/assets/chunk-LCL6LL3I-D3MB3GTZ.js
npm notice 532B dist/web-shell/assets/chunk-POPQ4Y6H-Cep2ndrS.js
npm notice 15.8kB dist/web-shell/assets/chunk-SVP7TREG-BuahMHJc.js
npm notice 230B dist/web-shell/assets/chunk-XXDRQBXY-BdujIvJY.js
npm notice 14.6kB dist/web-shell/assets/clarity-BHOwM8T6.js
npm notice 467B dist/web-shell/assets/classDiagram-DTDB5LWJ-CM6FArGH.js
npm notice 467B dist/web-shell/assets/classDiagram-v2-JRS7N3AN-CM6FArGH.js
npm notice 7.1kB dist/web-shell/assets/clojure-DxSadP1t.js
npm notice 10.5kB dist/web-shell/assets/cmake-DbXoA79R.js
npm notice 40.6kB dist/web-shell/assets/cobol-PTqiYgYu.js
npm notice 547B dist/web-shell/assets/codeowners-Bp6g37R7.js
npm notice 33.6kB dist/web-shell/assets/codeql-sacFqUAJ.js
npm notice 27.7kB dist/web-shell/assets/coffee-dyiR41kL.js
npm notice 28.5kB dist/web-shell/assets/common-lisp-C7gG9l05.js
npm notice 6.0kB dist/web-shell/assets/coq-Dsg_Bt_b.js
npm notice 81.5kB dist/web-shell/assets/cose-bilkent-JH36ORCC-CGLLUbF8.js
npm notice 697.5kB dist/web-shell/assets/cpp-BksuvNSY.js
npm notice 33.7kB dist/web-shell/assets/crystal-DtDmRg-F.js
npm notice 87.2kB dist/web-shell/assets/csharp-D9R-vmeu.js
npm notice 53.8kB dist/web-shell/assets/css-BPhBrDlE.js
npm notice 1.2kB dist/web-shell/assets/csv-B0qRVHPH.js
npm notice 17.3kB dist/web-shell/assets/cue-DtFQj3wx.js
npm notice 690.7kB dist/web-shell/assets/cynefin-OW5HDTMX-D6kDsRSh.js
npm notice 10.1kB dist/web-shell/assets/cynefinDiagram-5FMLGOSQ-CCy78qZx.js
npm notice 6.8kB dist/web-shell/assets/cypher-m2LEI-9-.js
npm notice 443.7kB dist/web-shell/assets/cytoscape.esm-CUqq0XTU.js
npm notice 43.0kB dist/web-shell/assets/d-BoXegm-a.js
npm notice 11.1kB dist/web-shell/assets/dagre-3AP2YEHR-D5gJuJsf.js
npm notice 9.1kB dist/web-shell/assets/dark-plus-C3mMm8J8.js
npm notice 7.9kB dist/web-shell/assets/dart-B9wLZaAG.js
npm notice 5.5kB dist/web-shell/assets/dax-ClGRhx96.js
npm notice 8.9kB dist/web-shell/assets/default-aEtf0G7-.svg
npm notice 4.7kB dist/web-shell/assets/defaultLocale-DX6XiGOO.js
npm notice 2.0kB dist/web-shell/assets/desktop-DEIpsLCJ.js
npm notice 8.4kB dist/web-shell/assets/diagram-S7CK7UJ4-ZwEZ5W__.js
npm notice 6.2kB dist/web-shell/assets/diagram-UQ7AKVKN-B036APjv.js
npm notice 10.8kB dist/web-shell/assets/diagram-VSXAHHWV-BfDJ57Fq.js
npm notice 16.1kB dist/web-shell/assets/diagram-VX7I27RA-Wha0p5rT.js
npm notice 4.2kB dist/web-shell/assets/diagram-Z3DM3KII-L20bz2K1.js
npm notice 2.6kB dist/web-shell/assets/diff-BgYniUM_.js
npm notice 1.8kB dist/web-shell/assets/docker-COcR7UxN.js
npm notice 1.7kB dist/web-shell/assets/dotenv-BjQB5zDj.js
npm notice 21.1kB dist/web-shell/assets/dracula-BzJJZx-M.js
npm notice 21.1kB dist/web-shell/assets/dracula-soft-BXkSAIEj.js
npm notice 10.6kB dist/web-shell/assets/dream-maker-C-nORZOA.js
npm notice 2.0kB dist/web-shell/assets/ebnfDiagram-PWID7BFC-D1ZM0Cp7.js
npm notice 2.4kB dist/web-shell/assets/edge-D5gP-w-T.js
npm notice 18.3kB dist/web-shell/assets/elixir-CLiX3zqd.js
npm notice 11.3kB dist/web-shell/assets/elm-CmHSxxaM.js
npm notice 804.7kB dist/web-shell/assets/emacs-lisp-BX77sIaO.js
npm notice 2.6kB dist/web-shell/assets/erb-BYTLMnw6.js
npm notice 30.9kB dist/web-shell/assets/erDiagram-SSCWMZ5O-CMtA19v8.js
npm notice 36.3kB dist/web-shell/assets/erlang-B-DoSBHF.js
npm notice 53.7kB dist/web-shell/assets/everforest-dark-BgDCqdQA.js
npm notice 53.7kB dist/web-shell/assets/everforest-light-C8M2exoo.js
npm notice 4.8kB dist/web-shell/assets/fennel-bCA53EVm.js
npm notice 5.4kB dist/web-shell/assets/fish-w-ucz2PV.js
npm notice 62.6kB dist/web-shell/assets/flowDiagram-A5DVABFB-D96m326S.js
npm notice 3.6kB dist/web-shell/assets/fluent-Dayu4EKP.js
npm notice 1.1kB dist/web-shell/assets/fortran-fixed-form-TqA4NnZg.js
npm notice 98.2kB dist/web-shell/assets/fortran-free-form-DKXYxT9g.js
npm notice 25.8kB dist/web-shell/assets/fsharp-XplgxFYe.js
npm notice 69.4kB dist/web-shell/assets/ganttDiagram-EL5Y4UJY-BuHiYG2o.js
npm notice 5.5kB dist/web-shell/assets/gdresource-BHYsBjWJ.js
npm notice 18.7kB dist/web-shell/assets/gdscript-DfxzS6Rs.js
npm notice 6.4kB dist/web-shell/assets/gdshader-SKMF96pI.js
npm notice 3.4kB dist/web-shell/assets/genie-ajMbGru0.js
npm notice 12.5kB dist/web-shell/assets/gherkin--30QC5Em.js
npm notice 1.5kB dist/web-shell/assets/git-commit-i4q6IMui.js
npm notice 980B dist/web-shell/assets/git-rebase-B-v9cOL2.js
npm notice 29.9kB dist/web-shell/assets/gitGraphDiagram-WWUBYQGX-Ck3NmkSw.js
npm notice 14.4kB dist/web-shell/assets/github-dark-default-Cuk6v7N8.js
npm notice 11.4kB dist/web-shell/assets/github-dark-DHJKELXO.js
npm notice 14.4kB dist/web-shell/assets/github-dark-dimmed-DH5Ifo-i.js
npm notice 14.6kB dist/web-shell/assets/github-dark-high-contrast-E3gJ1_iC.js
npm notice 11.2kB dist/web-shell/assets/github-light-DAi9KRSo.js
npm notice 14.2kB dist/web-shell/assets/github-light-default-D7oLnXFd.js
npm notice 14.3kB dist/web-shell/assets/github-light-high-contrast-BfjtVDDH.js
npm notice 2.7kB dist/web-shell/assets/gleam-B430Bg39.js
npm notice 20.6kB dist/web-shell/assets/glimmer-js-D-cwc0-E.js
npm notice 20.6kB dist/web-shell/assets/glimmer-ts-pgjy16dm.js
npm notice 3.9kB dist/web-shell/assets/glsl-DBO2IWDn.js
npm notice 14.9kB dist/web-shell/assets/gnuplot-CM8KxXT1.js
npm notice 52.4kB dist/web-shell/assets/go-B1SYOhNW.js
npm notice 18.2kB dist/web-shell/assets/graphql-cDcHW_If.js
npm notice 19.6kB dist/web-shell/assets/groovy-DkBy-JyN.js
npm notice 84.7kB dist/web-shell/assets/hack-D1yCygmZ.js
npm notice 8.5kB dist/web-shell/assets/haml-B2EZWmdv.js
npm notice 12.3kB dist/web-shell/assets/handlebars-BQGss363.js
npm notice 43.3kB dist/web-shell/assets/haskell-BILxekzW.js
npm notice 35.3kB dist/web-shell/assets/haxe-C5wWYbrZ.js
npm notice 12.0kB dist/web-shell/assets/hcl-HzYwdGDm.js
npm notice 12.3kB dist/web-shell/assets/hjson-T-Tgc4AT.js
npm notice 7.6kB dist/web-shell/assets/hlsl-ifBTmRxC.js
npm notice 35.4kB dist/web-shell/assets/houston-DnULxvSX.js
npm notice 61.3kB dist/web-shell/assets/html-C2L_23MC.js
npm notice 970B dist/web-shell/assets/html-derivative-CSfWNPLT.js
npm notice 4.7kB dist/web-shell/assets/http-FRrOvY1W.js
npm notice 1.8kB dist/web-shell/assets/hxml-TIA70rKU.js
npm notice 2.8kB dist/web-shell/assets/hy-BMj5Y0dO.js
npm notice 53.5kB dist/web-shell/assets/imba-bv_oIlVt.js
npm notice 3.7MB dist/web-shell/assets/index-8hXIpvo4.js
npm notice 28.3kB dist/web-shell/assets/index-CBGz4Qjl.js
npm notice 1.1MB dist/web-shell/assets/index-CGT341lL.js
npm notice 489.0kB dist/web-shell/assets/index-DclEv91i.css
npm notice 587B dist/web-shell/assets/infoDiagram-RXCK75RN-B6DAOyXe.js
npm notice 1.5kB dist/web-shell/assets/ini-BjABl1g7.js
npm notice 147B dist/web-shell/assets/init-Gi6I4Gst.js
npm notice 17.6kB dist/web-shell/assets/ishikawaDiagram-5VMMS53U-Bpg-joFo.js
npm notice 27.5kB dist/web-shell/assets/java-xI-RfyKK.js
npm notice 198.0kB dist/web-shell/assets/javascript-ySlJ1b_l.js
npm notice 5.7kB dist/web-shell/assets/jinja-DGy0s7-h.js
npm notice 9.7kB dist/web-shell/assets/jison-BqZprYcd.js
npm notice 23.6kB dist/web-shell/assets/journeyDiagram-EYS64GPL-BclrHzGa.js
npm notice 2.9kB dist/web-shell/assets/json-BQoSv7ci.js
npm notice 3.5kB dist/web-shell/assets/json5-w8dY5SsB.js
npm notice 3.2kB dist/web-shell/assets/jsonc-TU54ms6u.js
npm notice 3.1kB dist/web-shell/assets/jsonl-DREVFZK8.js
npm notice 3.6kB dist/web-shell/assets/jsonnet-BfivnA6A.js
npm notice 3.0kB dist/web-shell/assets/jssm-P4WzXJd0.js
npm notice 201.0kB dist/web-shell/assets/jsx-BAng5TT0.js
npm notice 35.7kB dist/web-shell/assets/julia-BBuGR-5E.js
npm notice 17.1kB dist/web-shell/assets/kanagawa-dragon-CkXjmgJE.js
npm notice 17.1kB dist/web-shell/assets/kanagawa-lotus-CfQXZHmo.js
npm notice 17.1kB dist/web-shell/assets/kanagawa-wave-DWedfzmr.js
npm notice 20.7kB dist/web-shell/assets/kanban-definition-3QL26DDD-5gJzNTYG.js
npm notice 28.1kB dist/web-shell/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2
npm notice 33.5kB dist/web-shell/assets/KaTeX_AMS-Regular-DMm9YOAa.woff
npm notice 63.6kB dist/web-shell/assets/KaTeX_AMS-Regular-DRggAlZN.ttf
npm notice 12.4kB dist/web-shell/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf
npm notice 7.7kB dist/web-shell/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff
npm notice 6.9kB dist/web-shell/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2
npm notice 7.7kB dist/web-shell/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff
npm notice 6.9kB dist/web-shell/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2
npm notice 12.3kB dist/web-shell/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf
npm notice 19.6kB dist/web-shell/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf
npm notice 13.3kB dist/web-shell/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff
npm notice 11.3kB dist/web-shell/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2
npm notice 19.6kB dist/web-shell/assets/KaTeX_Fraktur-Regular-CB_wures.ttf
npm notice 11.3kB dist/web-shell/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2
npm notice 13.2kB dist/web-shell/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff
npm notice 25.3kB dist/web-shell/assets/KaTeX_Main-Bold-Cx986IdX.woff2
npm notice 29.9kB dist/web-shell/assets/KaTeX_Main-Bold-Jm3AIy58.woff
npm notice 51.3kB dist/web-shell/assets/KaTeX_Main-Bold-waoOVXN0.ttf
npm notice 16.8kB dist/web-shell/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2
npm notice 33.0kB dist/web-shell/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf
npm notice 19.4kB dist/web-shell/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff
npm notice 33.6kB dist/web-shell/assets/KaTeX_Main-Italic-3WenGoN9.ttf
npm notice 19.7kB dist/web-shell/assets/KaTeX_Main-Italic-BMLOBm91.woff
npm notice 17.0kB dist/web-shell/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2
npm notice 26.3kB dist/web-shell/assets/KaTeX_Main-Regular-B22Nviop.woff2
npm notice 30.8kB dist/web-shell/assets/KaTeX_Main-Regular-Dr94JaBh.woff
npm notice 53.6kB dist/web-shell/assets/KaTeX_Main-Regular-ypZvNtVU.ttf
npm notice 31.2kB dist/web-shell/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf
npm notice 16.4kB dist/web-shell/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2
npm notice 18.7kB dist/web-shell/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff
npm notice 18.7kB dist/web-shell/assets/KaTeX_Math-Italic-DA0__PXp.woff
npm notice 31.3kB dist/web-shell/assets/KaTeX_Math-Italic-flOr_0UB.ttf
npm notice 16.4kB dist/web-shell/assets/KaTeX_Math-Italic-t53AETM-.woff2
npm notice 24.5kB dist/web-shell/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf
npm notice 12.2kB dist/web-shell/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2
npm notice 14.4kB dist/web-shell/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff
npm notice 12.0kB dist/web-shell/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2
npm notice 14.1kB dist/web-shell/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff
npm notice 22.4kB dist/web-shell/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf
npm notice 19.4kB dist/web-shell/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf
npm notice 12.3kB dist/web-shell/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff
npm notice 10.3kB dist/web-shell/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2
npm notice 16.6kB dist/web-shell/assets/KaTeX_Script-Regular-C5JkGWo-.ttf
npm notice 9.6kB dist/web-shell/assets/KaTeX_Script-Regular-D3wIWfF6.woff2
npm notice 10.6kB dist/web-shell/assets/KaTeX_Script-Regular-D5yQViql.woff
npm notice 6.5kB dist/web-shell/assets/KaTeX_Size1-Regular-C195tn64.woff
npm notice 12.2kB dist/web-shell/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf
npm notice 5.5kB dist/web-shell/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2
npm notice 11.5kB dist/web-shell/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf
npm notice 5.2kB dist/web-shell/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2
npm notice 6.2kB dist/web-shell/assets/KaTeX_Size2-Regular-oD1tc_U0.woff
npm notice 4.4kB dist/web-shell/assets/KaTeX_Size3-Regular-CTq5MqoE.woff
npm notice 7.6kB dist/web-shell/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf
npm notice 6.0kB dist/web-shell/assets/KaTeX_Size4-Regular-BF-4gkZK.woff
npm notice 4.9kB dist/web-shell/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2
npm notice 10.4kB dist/web-shell/assets/KaTeX_Size4-Regular-DWFBv043.ttf
npm notice 16.0kB dist/web-shell/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff
npm notice 13.6kB dist/web-shell/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2
npm notice 27.6kB dist/web-shell/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf
npm notice 8.8kB dist/web-shell/assets/kotlin-B5lbUyaz.js
npm notice 20.6kB dist/web-shell/assets/kusto-mebxcVVE.js
npm notice 11.5kB dist/web-shell/assets/laserwave-DUszq2jm.js
npm notice 59.4kB dist/web-shell/assets/latex-C-cWTeAZ.js
npm notice 35.4kB dist/web-shell/assets/layout-CEz_1L8z.js
npm notice 4.3kB dist/web-shell/assets/lean-XBlWyCtg.js
npm notice 102.5kB dist/web-shell/assets/less-BfCpw3nA.js
npm notice 9.9kB dist/web-shell/assets/light-plus-B7mTdjB0.js
npm notice 5.7kB dist/web-shell/assets/linear-CBjTq9Hc.js
npm notice 17.2kB dist/web-shell/assets/liquid-D3W5UaiH.js
npm notice 3.0kB dist/web-shell/assets/log-Cc5clBb7.js
npm notice 3.2kB dist/web-shell/assets/logo-IuBKFhSY.js
npm notice 15.6kB dist/web-shell/assets/lua-CvWAzNxB.js
npm notice 12.9kB dist/web-shell/assets/luau-Du5NY7AG.js
npm notice 9.0kB dist/web-shell/assets/make-Bvotw-X0.js
npm notice 57.0kB dist/web-shell/assets/markdown-UIAJJxZW.js
npm notice 19.3kB dist/web-shell/assets/marko-z0MBrx5-.js
npm notice 18.6kB dist/web-shell/assets/material-theme-D5KoaKCx.js
npm notice 18.6kB dist/web-shell/assets/material-theme-darker-BfHTSMKl.js
npm notice 18.6kB dist/web-shell/assets/material-theme-lighter-B0m2ddpp.js
npm notice 18.6kB dist/web-shell/assets/material-theme-ocean-CyktbL80.js
npm notice 18.6kB dist/web-shell/assets/material-theme-palenight-Csfq5Kiy.js
npm notice 20.1kB dist/web-shell/assets/matlab-D9-PGadD.js
npm notice 19.7kB dist/web-shell/assets/mdc-DB_EDNY_.js
npm notice 140.4kB dist/web-shell/assets/mdx-sdHcTMYB.js
npm notice 33.1kB dist/web-shell/assets/mermaid-Ci6OQyBP.js
npm notice 695.5kB dist/web-shell/assets/mermaid.core-Dzhbxx_I.js
npm notice 6.3kB dist/web-shell/assets/min-dark-CafNBF8u.js
npm notice 7.0kB dist/web-shell/assets/min-light-CTRr51gU.js
npm notice 23.4kB dist/web-shell/assets/mindmap-definition-FBJOCRG2-DQdVqlBF.js
npm notice 3.4kB dist/web-shell/assets/mipsasm-BC5c_5Pe.js
npm notice 72.6kB dist/web-shell/assets/mojo-Tz6hzZYG.js
npm notice 7.9kB dist/web-shell/assets/monokai-D4h5O-jR.js
npm notice 20.2kB dist/web-shell/assets/move-DB_GagMm.js
npm notice 3.7kB dist/web-shell/assets/narrat-DLbgOhZU.js
npm notice 4.0kB dist/web-shell/assets/nextflow-B0XVJmRM.js
npm notice 35.7kB dist/web-shell/assets/nginx-D_VnBJ67.js
npm notice 28.9kB dist/web-shell/assets/night-owl-C39BiMTA.js
npm notice 23.6kB dist/web-shell/assets/nim-ZlGxZxc3.js
npm notice 15.6kB dist/web-shell/assets/nix-shcSOmrb.js
npm notice 26.7kB dist/web-shell/assets/nord-Ddv68eIx.js
npm notice 19.7kB dist/web-shell/assets/nushell-D4Tzg5kh.js
npm notice 107.8kB dist/web-shell/assets/objective-c-Deuh7S70.js
npm notice 175.6kB dist/web-shell/assets/objective-cpp-BUEGK8hf.js
npm notice 65.9kB dist/web-shell/assets/ocaml-BNioltXt.js
npm notice 33.7kB dist/web-shell/assets/one-dark-pro-GBQ2dnAY.js
npm notice 25.3kB dist/web-shell/assets/one-light-PoHY5YXO.js
npm notice 1.2kB dist/web-shell/assets/ordinal-Cboi1Yqb.js
npm notice 4.2kB dist/web-shell/assets/pascal-JqZropPD.js
npm notice 2.0kB dist/web-shell/assets/pegDiagram-XKGWAZYB-D1JZlYXL.js
npm notice 44.5kB dist/web-shell/assets/perl-CHQXSrWU.js
npm notice 113.8kB dist/web-shell/assets/php-B5ebYQev.js
npm notice 6.4kB dist/web-shell/assets/pieDiagram-E7YTZNPT-BmkpYL0w.js
npm notice 9.3kB dist/web-shell/assets/plastic-3e1v2bzS.js
npm notice 8.6kB dist/web-shell/assets/plsql-LKU2TuZ1.js
npm notice 3.4kB dist/web-shell/assets/po-BFLt1xDp.js
npm notice 33.5kB dist/web-shell/assets/poimandres-CS3Unz2-.js
npm notice 4.7kB dist/web-shell/assets/polar-DKykz6zU.js
npm notice 6.5kB dist/web-shell/assets/postcss-B3ZDOciz.js
npm notice 5.9kB dist/web-shell/assets/powerquery-CSHBycmS.js
npm notice 22.3kB dist/web-shell/assets/powershell-BIEUsx6d.js
npm notice 6.4kB dist/web-shell/assets/prisma-B48N-Iqd.js
npm notice 11.4kB dist/web-shell/assets/prolog-BY-TUvya.js
npm notice 6.6kB dist/web-shell/assets/proto-zocC4JxJ.js
npm notice 14.9kB dist/web-shell/assets/pug-CM9l7STV.js
npm notice 11.7kB dist/web-shell/assets/puppet-Cza_XSSt.js
npm notice 17.1kB dist/web-shell/assets/purescript-Bg-kzb6g.js
npm notice 73.5kB dist/web-shell/assets/python-DhUJRlN_.js
npm notice 5.4kB dist/web-shell/assets/qml-D8XfuvdV.js
npm notice 1.0kB dist/web-shell/assets/qmldir-C8lEn-DE.js
npm notice 7.8kB dist/web-shell/assets/qss-DhMKtDLN.js
npm notice 34.5kB dist/web-shell/assets/quadrantDiagram-AXDQQJYC-DRvD6co5.js
npm notice 11.6kB dist/web-shell/assets/queue-DWpnpFgW.svg
npm notice 36.9kB dist/web-shell/assets/r-CwjWoCRV.js
npm notice 97.6kB dist/web-shell/assets/racket-CzouJOBO.js
npm notice 1.6kB dist/web-shell/assets/railroadDiagram-O6MQD6OU-CEdjDuoo.js
npm notice 10.6kB dist/web-shell/assets/raku-B1bQXN8T.js
npm notice 25.8kB dist/web-shell/assets/razor-CNLDkMZG.js
npm notice 6.3kB dist/web-shell/assets/red-bN70gL4F.js
npm notice 2.4kB dist/web-shell/assets/reg-5LuOXUq_.js
npm notice 8.1kB dist/web-shell/assets/regexp-DWJ3fJO_.js
npm notice 3.4kB dist/web-shell/assets/rel-DJlmqQ1C.js
npm notice 31.2kB dist/web-shell/assets/requirementDiagram-EFPCY7ZU-BCHG-ie8.js
npm notice 7.7kB dist/web-shell/assets/riscv-QhoSD0DR.js
npm notice 21.8kB dist/web-shell/assets/rose-pine-CmCqftbK.js
npm notice 21.8kB dist/web-shell/assets/rose-pine-dawn-Ds-gbosJ.js
npm notice 21.8kB dist/web-shell/assets/rose-pine-moon-CjDtw9vr.js
npm notice 10.6kB dist/web-shell/assets/rst-4NLicBqY.js
npm notice 51.5kB dist/web-shell/assets/ruby-DeZ3UC14.js
npm notice 17.6kB dist/web-shell/assets/rust-Be6lgOlo.js
npm notice 23.4kB dist/web-shell/assets/sankeyDiagram-P5KCCOFB-C9cZMnye.js
npm notice 9.8kB dist/web-shell/assets/sas-BmTFh92c.js
npm notice 9.4kB dist/web-shell/assets/sass-BJ4Li9vH.js
npm notice 30.5kB dist/web-shell/assets/scala-DQVVAn-B.js
npm notice 8.7kB dist/web-shell/assets/scheme-BJGe-b2p.js
npm notice 28.1kB dist/web-shell/assets/scss-C31hgJw-.js
npm notice 5.1kB dist/web-shell/assets/sdbl-BLhTXw86.js
npm notice 117.4kB dist/web-shell/assets/sequenceDiagram-WJ2MYXX4-DYHRV4zL.js
npm notice 6.3kB dist/web-shell/assets/shaderlab-B7qAK45m.js
npm notice 42.7kB dist/web-shell/assets/shellscript-atvbtKCR.js
npm notice 719B dist/web-shell/assets/shellsession-C_rIy8kc.js
npm notice 998B dist/web-shell/assets/sizeCapture-X5ZJPWSS-DlK21aye.js
npm notice 9.1kB dist/web-shell/assets/slack-dark-BthQWCQV.js
npm notice 9.4kB dist/web-shell/assets/slack-ochin-DqwNpetd.js
npm notice 4.2kB dist/web-shell/assets/smalltalk-DkLiglaE.js
npm notice 20.8kB dist/web-shell/assets/snazzy-light-Bw305WKR.js
npm notice 6.8kB dist/web-shell/assets/solarized-dark-DXbdFlpD.js
npm notice 6.5kB dist/web-shell/assets/solarized-light-L9t79GZl.js
npm notice 16.2kB dist/web-shell/assets/solidity-C1w2a3ep.js
npm notice 7.0kB dist/web-shell/assets/soy-C-lX7w71.js
npm notice 1.5kB dist/web-shell/assets/sparql-bYkjHRlG.js
npm notice 3.9kB dist/web-shell/assets/splunk-Cf8iN4DR.js
npm notice 24.3kB dist/web-shell/assets/sql-COK4E0Yg.js
npm notice 3.6kB dist/web-shell/assets/ssh-config-BknIz3MU.js
npm notice 61.0kB dist/web-shell/assets/stata-DorPZHa4.js
npm notice 10.4kB dist/web-shell/assets/stateDiagram-HBIQ2CUA-BrmZssvk.js
npm notice 428B dist/web-shell/assets/stateDiagram-v2-4QOOHH4V-B2Q7XDaE.js
npm notice 31.6kB dist/web-shell/assets/stylus-BeQkCIfX.js
npm notice 16.9kB dist/web-shell/assets/svelte-MSaWC3Je.js
npm notice 91.0kB dist/web-shell/assets/swift-BSxZ-RaX.js
npm notice 117.1kB dist/web-shell/assets/swimlanes-XN3QIQJK-D9xfcayR.js
npm notice 548B dist/web-shell/assets/swimlanesDiagram-VK2B7HYN-DpZPOSbX.js
npm notice 14.0kB dist/web-shell/assets/synthwave-84-CbfX1IO0.js
npm notice 26.8kB dist/web-shell/assets/system-verilog-C7L56vO4.js
npm notice 8.0kB dist/web-shell/assets/systemd-CUnW07Te.js
npm notice 6.7kB dist/web-shell/assets/talonscript-C1XDQQGZ.js
npm notice 3.4kB dist/web-shell/assets/tasl-CQjiPCtT.js
npm notice 5.0kB dist/web-shell/assets/tcl-DQ1-QYvQ.js
npm notice 24.0kB dist/web-shell/assets/templ-dwX3ZSMB.js
npm notice 13.4kB dist/web-shell/assets/terraform-BbSNqyBO.js
npm notice 9.4kB dist/web-shell/assets/tex-rYs2v40G.js
npm notice 31.4kB dist/web-shell/assets/timeline-definition-24CTP7MA-D4gdDL_d.js
npm notice 34.4kB dist/web-shell/assets/tokyo-night-DBQeEorK.js
npm notice 6.5kB dist/web-shell/assets/toml-CB2ApiWb.js
npm notice 9.2kB dist/web-shell/assets/ts-tags-CipyTH0X.js
npm notice 739B dist/web-shell/assets/tsv-B_m7g4N7.js
npm notice 198.8kB dist/web-shell/assets/tsx-B6W0miNI.js
npm notice 3.7kB dist/web-shell/assets/turtle-BMR_PYu6.js
npm notice 23.0kB dist/web-shell/assets/twig-NC5TFiHP.js
npm notice 209.0kB dist/web-shell/assets/typescript-Dj6nwHGl.js
npm notice 28.2kB dist/web-shell/assets/typespec-BpWG_bgh.js
npm notice 8.6kB dist/web-shell/assets/typst-BVUVsWT6.js
npm notice 13.7kB dist/web-shell/assets/v-CAQ2eGtk.js
npm notice 3.4kB dist/web-shell/assets/vala-BFOHcciG.js
npm notice 6.3kB dist/web-shell/assets/vb-CdO5JTpU.js
npm notice 42.4kB dist/web-shell/assets/vennDiagram-4TSXK5OY-DdhIExjI.js
npm notice 5.9kB dist/web-shell/assets/verilog-CJaU5se_.js
npm notice 12.7kB dist/web-shell/assets/vesper-BEBZ7ncR.js
npm notice 23.8kB dist/web-shell/assets/vhdl-DYoNaHQp.js
npm notice 21.0kB dist/web-shell/assets/viml-m4uW47V2.js
npm notice 13.7kB dist/web-shell/assets/vitesse-black-Bkuqu6BP.js
npm notice 13.8kB dist/web-shell/assets/vitesse-dark-D0r3Knsf.js
npm notice 13.6kB dist/web-shell/assets/vitesse-light-CVO1_9PV.js
npm notice 21.5kB dist/web-shell/assets/vue-BuYVFjOK.js
npm notice 8.7kB dist/web-shell/assets/vue-html-xdeiXROB.js
npm notice 78.2kB dist/web-shell/assets/vyper-nyqBNV6O.js
npm notice 26.1kB dist/web-shell/assets/wardleyDiagram-VM6X3IG4-C9RS_Zof.js
npm notice 15.9kB dist/web-shell/assets/wasm-C6j12Q_x.js
npm notice 622.3kB dist/web-shell/assets/wasm-CG6Dc4jp.js
npm notice 2.2kB dist/web-shell/assets/wenyan-7A4Fjokl.js
npm notice 6.5kB dist/web-shell/assets/wgsl-CB0Krxn9.js
npm notice 56.6kB dist/web-shell/assets/wikitext-DCE3LsBG.js
npm notice 268.6kB dist/web-shell/assets/wolfram-C3FkfJm5.js
npm notice 5.4kB dist/web-shell/assets/xml-e3z08dGr.js
npm notice 1.4kB dist/web-shell/assets/xsl-Dd0NUgwM.js
npm notice 44.5kB dist/web-shell/assets/xychartDiagram-S5SC5T6Z-orRgmxWk.js
npm notice 10.8kB dist/web-shell/assets/yaml-CVw76BM1.js
npm notice 4.4kB dist/web-shell/assets/zenscript-HnGAYVZD.js
npm notice 5.5kB dist/web-shell/assets/zig-BVz_zdnA.js
npm notice 5.5kB dist/web-shell/index.html
npm notice 9.9kB package.json
npm notice 13.9kB scripts/cli-entry.js
npm notice Bundled Dependencies
npm notice dom-accessibility-api
npm notice @alcalzone/ansi-tokenize
npm notice @babel/code-frame
npm notice @babel/helper-validator-identifier
npm notice @babel/runtime
npm notice @kwsites/file-exists
npm notice @kwsites/promise-deferred
npm notice @lydell/node-pty-linux-x64
npm notice @lydell/node-pty
npm notice @testing-library/dom
npm notice @types/aria-query
npm notice ansi-escapes
npm notice ansi-regex
npm notice aria-query
npm notice auto-bind
npm notice cli-cursor
npm notice code-excerpt
npm notice convert-to-spaces
npm notice debug
npm notice dequal
npm notice environment
npm notice es-toolkit
npm notice get-east-asian-width
npm notice indent-string
npm notice ink
npm notice lz-string
npm notice mimic-fn
npm notice onetime
npm notice patch-console
npm notice picocolors
npm notice react-reconciler
npm notice restore-cursor
npm notice scheduler
npm notice stack-utils
npm notice strip-ansi
npm notice tagged-tag
npm notice terminal-size
npm notice ws
npm notice @simple-git/args-pathspec
npm notice @simple-git/argv-parser
npm notice yoga-layout
npm notice ms
npm notice simple-git
npm notice Tarball Details
npm notice name: @qwen-code/qwen-code
npm notice version: 0.22.2
npm notice filename: qwen-code-qwen-code-0.22.2.tgz
npm notice package size: 27.9 MB
npm notice unpacked size: 108.0 MB
npm notice shasum: 9d728acdd22347b087ddb4cb4d9539c69f98d256
npm notice integrity: sha512-zwZ611Mebr9OW[...]T26bAxW7cApkg==
npm notice bundled deps: 43
npm notice bundled files: 0
npm notice own files: 5242
npm notice total files: 5242
npm notice
qwen-code-qwen-code-0.22.2.tgz
==> Starting check()...
npm notice run @qwen-code/mobile-mcp@0.20.1 test
npm notice run c8 playwright test
Could not execute adb command, maybe ANDROID_HOME is not set?
Running 61 tests using 1 worker
Could not execute adb command, maybe ANDROID_HOME is not set?
- 1 test/android.ts:13:7 › android › should be able to get the screen size
- 2 test/android.ts:25:7 › android › should be able to take screenshot
- 3 test/android.ts:39:7 › android › should be able to list apps
- 4 test/android.ts:46:7 › android › should be able to open a url
- 5 test/android.ts:52:7 › android › should be able to list elements on screen
- 6 test/android.ts:88:7 › android › should be able to send keys and tap
- 7 test/android.ts:119:7 › android › should be able to launch and terminate an app
- 8 test/android.ts:135:7 › android › should handle orientation changes
✓ 9 test/coord-norm.test.ts:40:5 › normToPx maps midpoint (3ms)
✓ 10 test/coord-norm.test.ts:49:5 › normToPx maps edges (1ms)
✓ 11 test/coord-norm.test.ts:59:5 › normToPx rounds to nearest (2ms)
✓ 12 test/coord-norm.test.ts:69:5 › hasCoordFields returns true for click tools (2ms)
✓ 13 test/coord-norm.test.ts:82:5 › normToPx respects custom scale (999) (1ms)
✓ 14 test/coord-norm.test.ts:93:5 › pxToNorm (removed) is no longer exported (1ms)
✓ 15 test/coord-norm.test.ts:104:5 › denormalizeArgs click uses width for x, height for y (1ms)
✓ 16 test/coord-norm.test.ts:121:5 › denormalizeArgs swipe converts x, y, and distance by direction (2ms)
✓ 17 test/coord-norm.test.ts:150:5 › denormalizeArgs leaves non-coord tools untouched (1ms)
✓ 18 test/coord-norm.test.ts:161:5 › denormalizeArgs ignores missing coord fields (1ms)
✓ 19 test/coord-norm.test.ts:180:5 › normalizeElementResult and normalizeScreenSizeResult are no longer exported (1ms)
✓ 20 test/coord-norm.test.ts:192:5 › screen size cache round-trip (1ms)
✓ 21 test/coord-norm.test.ts:203:5 › screen size cache returns undefined for unknown device (0ms)
✓ 22 test/coord-norm.test.ts:212:5 › ingestScreenSizeFromResult parses response (1ms)
✓ 23 test/coord-norm.test.ts:225:5 › isNormalized returns false by default (1ms)
✓ 24 test/coord-norm.test.ts:236:5 › isNormalized returns true when MOBILE_MCP_COORDINATE_SPACE=1 (0ms)
✓ 25 test/coord-norm.test.ts:247:5 › coordinateScale defaults to 1000 (1ms)
✓ 26 test/coord-norm.test.ts:258:5 › coordinateScale reads custom value (1ms)
✓ 27 test/coord-norm.test.ts:271:5 › rewriteDescription replaces 'in pixels' with normalized wording (1ms)
✓ 28 test/coord-norm.test.ts:284:5 › coordParamDesc is passthrough when not normalized (1ms)
✓ 29 test/coord-norm.test.ts:296:5 › coordParamDesc rewrites when normalized (1ms)
go-ios is not installed, no physical iOS devices can be detected
- 30 test/ios.ts:17:7 › ios › should be able to get screenshot
- 31 test/iphone-simulator.ts:34:7 › iphone-simulator › should be able to swipe
- 32 test/iphone-simulator.ts:63:7 › iphone-simulator › should be able to send keys and press enter
- 33 test/iphone-simulator.ts:93:7 › iphone-simulator › should be able to get the screen size
- 34 test/iphone-simulator.ts:105:7 › iphone-simulator › should be able to get screenshot
- 35 test/iphone-simulator.ts:122:7 › iphone-simulator › should be able to open url
- 36 test/iphone-simulator.ts:140:7 › iphone-simulator › should be able to list apps
- 37 test/iphone-simulator.ts:149:7 › iphone-simulator › should be able to get elements on screen
- 38 test/iphone-simulator.ts:164:7 › iphone-simulator › should be able to launch and terminate app
- 39 test/iphone-simulator.ts:206:7 › iphone-simulator › should throw an error if button is not supported
Invoking mobile_ui_dump with args: {"device":"test-device"}
=>
Invoking mobile_ui_dump with args: {"device":"test-device","output_path":"/tmp/mobile-ui-dump-122b6fcb-7acd-466b-8366-c46493aa3df2.xml"}
=> UI hierarchy XML saved to: /tmp/mobile-ui-dump-122b6fcb-7acd-466b-8366-c46493aa3df2.xml
✓ 40 test/mobile-ui-dump.test.ts:12:5 › mobile_ui_dump preserves absolute bounds from UIAutomator (27ms)
✓ 41 test/mobilecli.test.ts:27:9 › mobilecli › getVersion › should return a version string (6ms)
✓ 42 test/mobilecli.test.ts:33:9 › mobilecli › getVersion › should return version in correct format (3ms)
✓ 43 test/mobilecli.test.ts:43:9 › mobilecli › getVersion › should return failed when MOBILECLI_PATH points to invalid location (1ms)
✓ 44 test/mobilecli.test.ts:57:9 › mobilecli › getVersion › should call executeCommand with --version argument (1ms)
✓ 45 test/mobilecli.test.ts:85:9 › mobilecli › getDevices › should call executeCommand with devices argument when no options (1ms)
✓ 46 test/mobilecli.test.ts:93:9 › mobilecli › getDevices › should call executeCommand with platform filter (0ms)
✓ 47 test/mobilecli.test.ts:101:9 › mobilecli › getDevices › should call executeCommand with type filter (0ms)
✓ 48 test/mobilecli.test.ts:109:9 › mobilecli › getDevices › should call executeCommand with includeOffline flag (1ms)
✓ 49 test/mobilecli.test.ts:117:9 › mobilecli › getDevices › should call executeCommand with combined options (1ms)
✓ 50 test/payload-filter.test.ts:76:5 › filtered terms use deterministic exact round-trip references (124ms)
✓ 51 test/payload-filter.test.ts:93:5 › multiple filtered terms preserve mixed case and separators (1ms)
✓ 52 test/payload-filter.test.ts:103:5 › invalid and unrelated references are not decoded (1ms)
✓ 53 test/payload-filter.test.ts:111:5 › literal reference tokens survive an encode-decode round trip (1ms)
✓ 54 test/payload-filter.test.ts:119:5 › message transformation preserves envelopes and binary data (3ms)
✓ 55 test/payload-filter.test.ts:148:5 › message transformation preserves special object keys (1ms)
✓ 56 test/payload-filter.test.ts:161:5 › transport chains callbacks installed before wrapping (0ms)
✓ 57 test/payload-filter.test.ts:185:5 › transport rejects decoded key collisions before dispatch (1ms)
✓ 58 test/png.ts:5:7 › png › should be able to parse png (1ms)
✓ 59 test/png.ts:13:7 › png › should be able to detect an invalid png (1ms)
✓ 60 test/server-payload-filter.test.ts:43:5 › MCP boundary preserves payloads when filtering is disabled (8ms)
Invoking mobile_list_apps with args: {"device":"test-device"}
=> Found these apps on device: Q-Wen Dashboard (com.alibaba.qwen)
Invoking mobile_launch_app with args: {"device":"test-device","packageName":"com.alibaba.qwen"}
=> Launched app com.alibaba.qwen
Invoking mobile_launch_app with args: {"device":"test-device","packageName":"com.alibaba.failure"}
Error taking screenshot: Alibaba screenshot setup failed Error: Alibaba screenshot setup failed
at AndroidRobot.getScreenSize (/startdir/src/qwen-code/packages/mobile-mcp/test/server-payload-filter.test.ts:123:11)
at /startdir/src/qwen-code/packages/mobile-mcp/src/server.ts:962:40
at PayloadFilteredMcpServer.executeToolHandler (/startdir/src/qwen-code/packages/mobile-mcp/node_modules/@modelcontextprotocol/sdk/src/server/mcp.ts:352:42)
at /startdir/src/qwen-code/packages/mobile-mcp/node_modules/@modelcontextprotocol/sdk/src/server/mcp.ts:214:43
at wrappedHandler (/startdir/src/qwen-code/packages/mobile-mcp/node_modules/@modelcontextprotocol/sdk/src/server/index.ts:262:32)
✓ 61 test/server-payload-filter.test.ts:93:5 › MCP boundary filters lists, successes, errors, and preserves round trips (460ms)
18 skipped
43 passed (3.4s)
-----------------------|---------|----------|---------|---------|-----------------------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
-----------------------|---------|----------|---------|---------|-----------------------------------
All files | 48.96 | 71.28 | 30.54 | 48.96 |
mobile-mcp | 100 | 100 | 100 | 100 |
playwright.config.ts | 100 | 100 | 100 | 100 |
mobile-mcp/src | 48.77 | 71.28 | 30.54 | 48.77 |
android.ts | 20.65 | 33.33 | 7.14 | 20.65 | ...58-772,775-806,820-821,832-856
coord-norm.ts | 92.25 | 88.88 | 90.9 | 92.25 | 72-73,96-100,112-116
image-utils.ts | 26.11 | 100 | 0 | 26.11 | ...49-150,153-163,166-176,179-180
ios.ts | 38.79 | 57.14 | 12.12 | 38.79 | ...90-297,300-307,316-325,328-347
logger.ts | 71.42 | 75 | 100 | 71.42 | 5-10
mobile-device.ts | 43.72 | 100 | 5 | 43.72 | ...24-235,238-251,254-255,258-262
mobilecli.ts | 69.1 | 72.41 | 40 | 69.1 | ...97-204,207-208,220-223,234-237
payload-filter.ts | 96.37 | 90.74 | 90.9 | 96.37 | ...09,221,224-225,242-243,246-247
png.ts | 100 | 100 | 100 | 100 |
robot.ts | 100 | 100 | 100 | 100 |
server.ts | 59.97 | 50 | 80 | 59.97 | ...,1226-1229,1289-1293,1321-1335
utils.ts | 59.34 | 46.15 | 57.14 | 59.34 | ...,41-42,48-58,68-69,79-80,86-90
webdriver-agent.ts | 14.77 | 100 | 0 | 14.77 | ...30-401,404-471,474-484,487-493
-----------------------|---------|----------|---------|---------|-----------------------------------
npm notice run @qwen-code/acp-bridge@0.22.2 test
npm notice run vitest run --testTimeout=30000 --no-file-parallelism --exclude=**/{qwenConnectionHandler,useAtCompletion,pid-descendants,serve/acp-http/transport,i18n/index,ui/auth/AuthDialog,ui/utils/clipboardUtils,services/FileCommandLoader,services/FileCommandLoader-extension,lsp/LspConfigLoader,utils/pathReader}.test.*
RUN v3.2.7 /startdir/src/qwen-code/packages/acp-bridge
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "sess:/work/a" (reason: last_client_detached)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 10ms, idle threshold 10ms)
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: completing deferred kill of session "sess:/work/a" (last_client_detached)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 10ms, idle threshold 10ms)
qwen serve: reaping idle session "sess:/work/a" (idle for 0s, threshold 0s)
qwen serve: completing deferred kill of session "sess:/work/a" (child_idle)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: killSession ACP session close notification failed for session "sess:/work/a": [object Object]
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "sess:/work/a" (reason: last_client_detached)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: close-if-unheld for session "sess:/work/a" did not resolve (AcpSessionBridge qwen/control/session/close timed out after 10000ms); leaving it in place for the next snapshot to settle
qwen serve: close-if-unheld for session "sess:/work/a" did not resolve (AcpSessionBridge qwen/control/session/close timed out after 10000ms); leaving it in place for the next snapshot to settle
qwen serve: closing session "sess:/work/a" (reason: last_client_detached)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: closing session "sess:/work/a" (reason: last_client_detached)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: closing session "sess:/work/a" (reason: last_client_detached)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: closing session "sess:/work/a" (reason: last_client_detached)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: closing session "sess:/work/a" (reason: last_client_detached)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 20ms, idle threshold 20ms)
qwen serve: reaping idle session "sess:/work/a" (idle for 0s, threshold 0s)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: idle timeout (1ms) expired, killing channel
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session sess:/work/a cwd changed: /work/a -> /work/a/conversation-managed
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session 22222222-2222-4222-8222-222222222222 cwd changed: /work/a -> /work/a/conversation-standalone
qwen serve: session 22222222-2222-4222-8222-222222222222 cwd changed: /work/a/conversation-standalone -> /work/a/conversation-standalone
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session lifecycle callback failed: lifecycle sink failed
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: session lifecycle callback failed: lifecycle sink failed
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[artifacts] session=sess:/work/a action=remove_denied artifactId=ea192b281419fff5 owner=client_f1e59aca-3970-4ebb-b04e-119f600a860a requester=client_910adf23-d3cc-49ef-8b53-b79520ce8a9e
[artifacts] session=sess:/work/a action=remove_denied artifactId=ea192b281419fff5 owner=client_f1e59aca-3970-4ebb-b04e-119f600a860a requester=
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=1, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[demux] session=sess:/work/a type=client_mcp_message action=forwarded_without_session reason=session_registration_pending
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
sendPrompt: forward failed for session sess:/work/a: agent channel closed mid-request (session sess:/work/a)
sendPrompt: forward failed for session sess:/work/a#2: agent channel closed mid-request (session sess:/work/a#2)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: compaction degraded for session="sess:/work/a"; replay snapshot may lag behind live events: compaction test failure
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[artifacts] session=persisted-artifacts action=restore_warning warning="skipped corrupt artifact record"
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[artifacts] session=persisted-artifact-normalize action=restore_warning warning="skipped artifact without id/title"
[artifacts] session=persisted-artifact-normalize action=restore_warning warning="kept warning"
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[artifacts] session=sess:/work/a action=rewind_restore_warning warning="artifact snapshot rebuild unavailable during rewind: artifact journal read failed"
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[artifacts] session=sess:/work/a action=snapshot_failed reason="[object Object]"
[artifacts] session=sess:/work/a action=rewind_snapshot_warning warning="artifact snapshot not persisted"
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[reconcile] session=sess:/work/a target=model action=skipped reason=roundtrip_failed
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: updated session metadata "sess:/work/a" displayName=set
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session sess:/work/a cwd changed: /work/a -> /work/b
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
broadcastPromptCancelledOnce: suppressed duplicate cancel for session sess:/work/a prompt=prompt-first
sendPrompt: prompt prompt-queued exceeded 120ms deadline for session sess:/work/a; agent may still be executing
[pending-prompt] cancel forward failed after removePendingPrompt session=sess:/work/a: agent channel closed mid-request (session sess:/work/a)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
broadcastPromptCancelledOnce: suppressed duplicate cancel for session sess:/work/a prompt=prompt-first
[pending-prompt] session=sess:/work/a removing promptId=prompt-queued state=queued
[pending-prompt] cancel forward failed after removePendingPrompt session=sess:/work/a: agent channel closed mid-request (session sess:/work/a)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
broadcastPromptCancelledOnce: suppressed duplicate cancel for session sess:/work/a prompt=prompt-first
[pending-prompt] session=sess:/work/a removing promptId=prompt-queued state=queued
[pending-prompt] cancel forward failed after removePendingPrompt session=sess:/work/a: agent channel closed mid-request (session sess:/work/a)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "persisted-live-refresh-closing" (reason: client_close) by client "client_11aa8769-f117-42f3-a5ac-210ee0b3f773"
qwen serve: closeSession ACP session close notification failed for session "persisted-live-refresh-closing": agent channel closed mid-request (session persisted-live-refresh-closing)
qwen serve: channel exited (code=none, signal=none, transport=ndjson_queue_limit_exceeded, 1 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=none, signal=SIGKILL, transport=ok, 1 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=none, signal=none, transport=ok, 1 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session/load timed out after 20ms for "restore-timeout-empty" on channel 4c0333bb-d5d3-4965-8cbf-53737365187c; decision=kill_empty
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=1, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session/load timed out after 20ms for "restore-timeout-workspace-control" on channel 0386d7d9-98f0-48c2-8b46-4097326abffd; decision=fence_shared
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session/load timed out after 20ms for "restore-timeout-shared" on channel 92c89631-29e9-4fa2-99a2-c03f6e06c0a1; decision=fence_shared
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session/load timed out after 20ms for "wedged" on channel be72e4a3-522e-4b21-8905-5dd815dac35e; decision=fence_shared
qwen serve: abandoned session/load for "wedged" has not settled 20ms after its deadline; refusing fresh sessions on channel be72e4a3-522e-4b21-8905-5dd815dac35e until it drains
qwen serve: closing session "sess:/work/a" (reason: last_client_detached)
qwen serve: closeSession ACP session close notification failed for session "sess:/work/a": AcpSessionBridge closeSession timed out after 10000ms
qwen serve: channel exited (code=none, signal=none, transport=ok, 1 session(s) torn down)
qwen serve: deferred close (last_client_detached) failed for "sess:/work/a": BridgeTimeoutError: AcpSessionBridge closeSession timed out after 10000ms
at /startdir/src/qwen-code/packages/acp-bridge/src/bridge.ts:13267:37
at callTimer (file:///startdir/src/qwen-code/node_modules/vitest/dist/chunks/vi.bdSIJ99Y.js:2211:25)
at doTickInner (file:///startdir/src/qwen-code/node_modules/vitest/dist/chunks/vi.bdSIJ99Y.js:2814:30)
at doTick (file:///startdir/src/qwen-code/node_modules/vitest/dist/chunks/vi.bdSIJ99Y.js:2895:21)
at Immediate. (file:///startdir/src/qwen-code/node_modules/vitest/dist/chunks/vi.bdSIJ99Y.js:2915:30)
at processImmediate (node:internal/timers:574:21)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session/load timed out after 20ms for "contested" on channel 56b3aa84-08ff-4386-bc23-2cdf3af5d506; decision=fence_shared
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session/load timed out after 20ms for "settled-retry" on channel f104ac84-5278-4776-b23b-fd382b15afc9; decision=fence_shared
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session/load timed out after 20ms for "not-reclaimed" on channel d2aa7654-80d4-4de9-8c43-218184f8d518; decision=fence_shared
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session/load timed out after 20ms for "reclaimed" on channel 80a974ae-6f5f-4518-8bc7-e38020944fd7; decision=fence_shared
qwen serve: skipping abandoned session/load cleanup for "reclaimed": the id is now owned by a live session
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session/load timed out after 20ms for "never-settles" on channel 3526d0f2-a262-4c69-bd94-3a3aaa681cd0; decision=fence_shared
qwen serve: closing session "sess:/work/a#2" (reason: client_close)
qwen serve: abandoned session/load for "never-settles" has not settled 20ms after its deadline; refusing fresh sessions on channel 3526d0f2-a262-4c69-bd94-3a3aaa681cd0 until it drains
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session/load timed out after 20ms for "recovers" on channel 85489acf-627a-42e6-8f5d-3d8f946a4d14; decision=fence_shared
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: idle timeout (60000ms) expired, killing channel
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session/load timed out after 20ms for "still-hung" on channel 5494a257-d266-46b7-9968-bd6b9600b296; decision=fence_shared
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session/load timed out after 90000ms for "restore-hint" on channel ebc99f32-09e3-4bde-810b-ba80332b1cbd; decision=fence_shared
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session/load timed out after 20ms for "restore-late-failure" on channel a743581e-6061-42ef-ac6d-ee614076b776; decision=fence_shared
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session/load timed out after 20ms for "restore-abandoned-id" on channel 58856b3a-b970-49e8-b953-da591540f3a0; decision=fence_shared
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session/load timed out after 1000ms for "restore-first" on channel b7078766-3f62-4322-882b-d6a0a29cad1b; decision=fence_shared
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session/load timed out after 20ms for "restore-timeout-pending-spawn" on channel 883f1f8e-4618-41d5-9813-5409ed3da7e1; decision=fence_shared
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session/load timed out after 20ms for "restore-cleanup-fails" on channel 722941bc-a3fe-4e83-a727-ac2b0b34259d; decision=fence_shared
qwen serve: quarantining ACP channel after timed-out session/load cleanup failed for "restore-cleanup-fails": late close failed
qwen serve: closing session "sess:/work/a" (reason: last_client_detached)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session/load timed out after 20ms for "restore-hangs-through-timeout" on channel aee0c266-dd40-4bfa-a867-daf8e8702cbf; decision=fence_shared
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel kill failed (killSession "c0:/work/a"): Error: first channel was not reaped
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel liveness failed (acp_channel_liveness_timeout); killing channel
qwen serve: channel exited (code=none, signal=none, transport=acp_channel_liveness_timeout, 2 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
sendPrompt: forward failed for session transport-0:/work/a: agent channel closed mid-request (session transport-0:/work/a)
qwen serve: channel exited (code=none, signal=SIGTERM, transport=ndjson_frame_too_large, 1 session(s) torn down)
qwen serve: channel exited (code=none, signal=SIGTERM, transport=ndjson_queue_limit_exceeded, 1 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=none, signal=none, transport=ndjson_frame_too_large, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=none, signal=SIGTERM, transport=ndjson_incomplete_frame, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=none, signal=none, transport=ndjson_queue_limit_exceeded, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
sendPrompt: forward failed for session persisted-auq: agent channel closed mid-request (session persisted-auq)
broadcastPromptCancelledOnce: suppressed duplicate cancel for session persisted-auq prompt=95f72c05-b2d0-4e40-8efd-d2abe4c61abc
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
sendPrompt: forward failed for session sess:/work/a: continuation turn blew up
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
sendPrompt: forward failed for session sess:/work/a: temporary failure
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
sendPrompt: forward failed for session sess:/work/a: terminated
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: EventBus slow_client_warning {"queueSize":192,"maxQueued":256,"lastEventId":193,"queuedBytes":70142,"maxQueuedBytes":2097152,"threshold":"frames"}
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: EventBus slow_client_warning {"queueSize":192,"maxQueued":256,"lastEventId":193,"queuedBytes":70142,"maxQueuedBytes":2097152,"threshold":"frames"}
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
sendPrompt: forward failed for session sess:/work/a: Internal error
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "sess:/work/a" (reason: last_client_detached)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: killSession ACP session close notification failed for session "sess:/work/a": AcpSessionBridge killSession timed out after 20ms
qwen serve: channel exited (code=none, signal=none, transport=ok, 1 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
broadcastPromptCancelledOnce: suppressed duplicate cancel for session sess:/work/a prompt=none
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
broadcastPromptCancelledOnce: suppressed duplicate cancel for session sess:/work/a prompt=0283766e-cc48-416d-aec9-8b7613bda9c8
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
broadcastPromptCancelledOnce: suppressed duplicate cancel for session sess:/work/a prompt=22c5b33c-c775-41bd-9d65-d105afd90bbf
broadcastPromptCancelledOnce: suppressed duplicate cancel for session sess:/work/a prompt=672e47cd-e1b1-4ba5-b3fc-9fca2e71a848
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
sendPrompt: forward failed for session sess:/work/a: forward boom
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "sess:/work/a" (reason: client_close) by client "client_e09ef925-239e-49b8-b34e-4a7fbbe3d403"
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: updated session metadata "sess:/work/a" displayName=set by client "client_2294cba1-7694-4fbf-be93-f32cd65abf5f"
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
sendPrompt: forward failed for session sess:/work/a: first prompt failed
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[pending-prompt] session=sess:/work/a removing promptId=dc7c552a-ea8f-4b51-b75c-48456accc684 state=queued
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=1, signal=none, transport=ok, 1 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=1, signal=none, transport=ok, 1 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: killSession ACP session close notification failed for session "s0:/work/a": [object Object]
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
sendPrompt: forward failed for session sess:/work/a: first prompt boom
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[pending-prompt] session=sess:/work/a removing promptId=removed-after-promotion state=queued
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[pending-prompt] session=sess:/work/a removing promptId=media-delete-queued state=queued
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[pending-prompt] session=sess:/work/a removing promptId=24149a52-759e-454a-af80-18ea48bca17e state=running
sendPrompt: forward failed for session sess:/work/a: cancelled
broadcastPromptCancelledOnce: suppressed duplicate cancel for session sess:/work/a prompt=24149a52-759e-454a-af80-18ea48bca17e
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[pending-prompt] session=sess:/work/a removing promptId=37997ba2-f236-4c62-bc63-38e5cb778d19 state=running
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[pending-prompt] session=sess:/work/a removing promptId=prompt-running-remove state=running
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[pending-prompt] session=sess:/work/a removing promptId=prompt-queued-remove state=queued
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
sendPrompt: prompt prompt-deadline-settled exceeded 50ms deadline for session sess:/work/a; agent may still be executing
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
sendPrompt: prompt prompt-deadline-pending exceeded 50ms deadline for session sess:/work/a; agent may still be executing
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
sendPrompt: prompt prompt-both-error exceeded 50ms deadline for session sess:/work/a; agent may still be executing
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
sendPrompt: prompt prompt-supersede-display exceeded 50ms deadline for session sess:/work/a; agent may still be executing
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[pending-prompt] session=sess:/work/a removing promptId=prompt-b state=queued
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
sendPrompt: prompt prompt-wedged exceeded 50ms deadline for session sess:/work/a; agent may still be executing
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
sendPrompt: prompt prompt-queued-deadline exceeded 50ms deadline for session sess:/work/a; agent may still be executing
sendPrompt: forward failed for session sess:/work/a: agent channel closed mid-request (session sess:/work/a)
broadcastPromptCancelledOnce: suppressed duplicate cancel for session sess:/work/a prompt=prompt-head
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "sess:/work/a" (reason: last_client_detached)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
sendPrompt: forward failed for session sess:/work/a: agent channel closed mid-request (session sess:/work/a)
broadcastPromptCancelledOnce: suppressed duplicate cancel for session sess:/work/a prompt=prompt-a
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[pending-prompt] session=sess:/work/a removing promptId=prompt-removed-running state=running
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
sendPrompt: forward failed for session sess:/work/a: agent channel closed mid-request (session sess:/work/a)
broadcastPromptCancelledOnce: suppressed duplicate cancel for session sess:/work/a prompt=prompt-removed-running
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[pending-prompt] session=sess:/work/a removing promptId=prompt-promoted state=running
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
sendPrompt: forward failed for session sess:/work/a: agent channel closed mid-request (session sess:/work/a)
broadcastPromptCancelledOnce: suppressed duplicate cancel for session sess:/work/a prompt=prompt-a
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
broadcastPromptCancelledOnce: suppressed duplicate cancel for session sess:/work/a prompt=prompt-a
[pending-prompt] session=sess:/work/a removing promptId=prompt-b state=queued
sendPrompt: prompt prompt-a exceeded 60ms deadline for session sess:/work/a; agent may still be executing
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=1, signal=none, transport=ok, 1 session(s) torn down)
sendPrompt: forward failed for session sess:/work/a: agent channel closed mid-request (session sess:/work/a)
broadcastPromptCancelledOnce: suppressed duplicate cancel for session sess:/work/a prompt=prompt-a
[pending-prompt] cancel forward failed after removePendingPrompt session=sess:/work/a: agent channel closed mid-request (session sess:/work/a)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[pending-prompt] session=sess:/work/a removing promptId=prompt-b state=queued
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
broadcastPromptCancelledOnce: suppressed duplicate cancel for session sess:/work/a prompt=prompt-a
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
sendPrompt: forward failed for session sess:/work/a: agent blew up
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
sendPrompt: prompt prompt-a exceeded 30ms deadline for session sess:/work/a; agent may still be executing
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
broadcastPromptCancelledOnce: suppressed duplicate cancel for session sess:/work/a prompt=prompt-child-admission
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
broadcastPromptCancelledOnce: suppressed duplicate cancel for session sess:/work/a prompt=prompt-first
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
broadcastPromptCancelledOnce: suppressed duplicate cancel for session sess:/work/a prompt=prompt-first
qwen serve: channel exited (code=1, signal=none, transport=ok, 1 session(s) torn down)
sendPrompt: forward failed for session sess:/work/a: agent channel closed mid-request (session sess:/work/a)
broadcastPromptCancelledOnce: suppressed duplicate cancel for session sess:/work/a prompt=prompt-first
[pending-prompt] cancel forward failed after removePendingPrompt session=sess:/work/a: agent channel closed mid-request (session sess:/work/a)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
broadcastPromptCancelledOnce: suppressed duplicate cancel for session sess:/work/a prompt=prompt-standard-cancel
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: legacy permission vote "does-not-exist" has no live session (peek returned undefined); returning 404.
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: legacy permission vote "does-not-exist" has no live session (peek returned undefined); returning 404.
qwen serve: legacy permission vote "does-not-exist" has no live session (peek returned undefined); returning 404.
qwen serve: legacy permission vote "does-not-exist" has no live session (peek returned undefined); returning 404.
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[reconcile] session=sess:/work/a target=model action=skipped reason=roundtrip_failed
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[reconcile] session=sess:/work/a target=model action=skipped reason=roundtrip_failed
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=none, signal=none, transport=ok, 1 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[reconcile] session=sess:/work/a target=model action=skipped reason=roundtrip_failed
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[reconcile] session=sess:/work/a target=model action=skipped reason=roundtrip_failed
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=none, signal=none, transport=ok, 1 session(s) torn down)
sendPrompt: forward failed for session stuck:/work/a: agent channel closed mid-request (session stuck:/work/a)
broadcastPromptCancelledOnce: suppressed duplicate cancel for session stuck:/work/a prompt=63c6d980-28b8-4296-b801-3f778815ca94
[pending-prompt] cancel forward failed after removePendingPrompt session=stuck:/work/a: agent channel closed mid-request (session stuck:/work/a)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session lifecycle callback failed: host listener boom
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: session lifecycle callback failed: host listener boom
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: updated session metadata "sess:/work/a" displayName=set
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: branchSession load failed for branch-restore-fails; closing partial live state while preserving the committed session...
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: branchSession load failed for side-admission; closing partial live state while preserving the committed session...
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: parentSessionId for sess:/work/a was not persisted (unknown) — the parent link is live-only until restart (reported to the caller via parentSessionPersisted=false)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: parentSessionId for sess:/work/a was not persisted (unknown) — the parent link is live-only until restart (reported to the caller via parentSessionPersisted=false)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: parentSessionId for sess:/work/a was not persisted (unknown) — the parent link is live-only until restart (reported to the caller via parentSessionPersisted=false)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: parentSessionId for sess:/work/a was not persisted ([object Object]) — the parent link is live-only until restart (reported to the caller via parentSessionPersisted=false)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: parentSessionId for sess:/work/a was not persisted (unknown) — the parent link is live-only until restart (reported to the caller via parentSessionPersisted=false)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: parentSessionId for sess:/work/a was not persisted ([object Object]) — the parent link is live-only until restart (reported to the caller via parentSessionPersisted=false)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: parentSessionId for sess:/work/a was not persisted (AcpSessionBridge sessionParent timed out after 50ms) — the parent link is live-only until restart (reported to the caller via parentSessionPersisted=false)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session sess:/work/a cwd changed: /work/a -> /work/a
qwen serve: session sess:/work/a#2 cwd changed: /work/a -> /work/b
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session sess:/work/a cwd changed: /work/a -> /work/b
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session sess:/work/a cwd changed: /work/a -> /work/b
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[reconcile] session=sess:/work/a target=approvalMode action=skipped reason=roundtrip_failed
qwen serve: closing session "sess:/work/a" (reason: approval_mode_initialization_failed)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[reconcile] session=sess:/work/a target=approvalMode action=skipped reason=roundtrip_failed
qwen serve: closing session "sess:/work/a" (reason: approval_mode_initialization_failed)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[reconcile] session=sess:/work/a target=approvalMode action=skipped reason=roundtrip_failed
qwen serve: closing session "sess:/work/a" (reason: last_client_detached)
qwen serve: session reaper started (interval 1ms, idle threshold 1ms)
qwen serve: reaping idle session "sess:/work/a" (idle for 0s, threshold 0s)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[reconcile] session=restore-with-mode target=approvalMode action=skipped reason=roundtrip_failed
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[reconcile] session=sess:/work/a target=approvalMode action=skipped reason=roundtrip_failed
qwen serve: completing deferred kill of session "sess:/work/a" (attach_rollback)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[reconcile] session=sess:/work/a target=approvalMode action=skipped reason=roundtrip_failed
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: dropping early extNotification for tombstoned session "sess:/work/a" (post-close stale event)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: WARNING aliveChannels.size=3 (expected 1, max 2 during killSession-then-spawnOrAttach overlap) — possible channel leak; check that prior channels' channel.exited fired and the handler ran cleanup.
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[demux] session=sess:/work/a type=current_model_update action=promoted model=qwen-max
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[demux] session=sess:/work/a type=current_model_update action=suppressed reason=bridge_roundtrip_in_flight
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[demux] session=nonexistent-session type=current_model_update action=dropped reason=no_entry
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[demux] session=sess:/work/a type=current_model_update action=promoted model=qwen-max
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[demux] session=sess:/work/a type=prompt_suggestion action=dropped reason=malformed
[demux] session=sess:/work/a type=prompt_suggestion action=dropped reason=malformed
[demux] session= type=prompt_suggestion action=dropped reason=malformed
[demux] session=sess:/work/a type=prompt_suggestion action=dropped reason=malformed
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[demux] session=sess:/work/a type=session_recording_degraded action=dropped reason=malformed
[demux] session= type=session_recording_degraded action=dropped reason=malformed
[demux] session=sess:/work/a type=session_recording_degraded action=dropped reason=malformed
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: completing deferred kill of session "sess:/work/a" (last_client_detached)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: completing deferred kill of session "sess:/work/a" (last_client_detached)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: completing deferred kill of session "sess:/work/a" (last_client_detached)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: completing deferred kill of session "sess:/work/a" (last_client_detached)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: branchSession load failed for branch-transport-failure; closing partial live state while preserving the committed session...
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=none, signal=none, transport=ok, 3 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: closeSession ACP session close notification failed for session "sess:/work/a": [object Object]
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: channel exited (code=none, signal=none, transport=ok, 1 session(s) torn down)
qwen serve: closeSession ACP session close notification failed for session "sess:/work/a": agent channel closed mid-request (session sess:/work/a)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: updated session metadata "sess:/work/a" displayName=set
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: updated session metadata "sess:/work/a" pr=9517 bound (https://github.com/o/r/pull/9517)
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: updated session metadata "sess:/work/a" pr=9517 bound (https://github.com/o/r/pull/9517)
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: updated session metadata "sess:/work/a" pr=9517 bound (https://github.com/o/r/pull/9517)
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: updated session metadata "sess:/work/a" pr=9500 bound (https://github.com/o/r/pull/9500)
qwen serve: updated session metadata "sess:/work/a" pr=9517 bound (https://github.com/o/r/pull/9517)
qwen serve: updated session metadata "sess:/work/a" pr=9500 bound (https://github.com/o/r/pull/9500?v=2)
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: updated session metadata "sess:/work/a" pr=9517 bound (https://github.com/o/r/pull/9517)
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: updated session metadata "sess:/work/a" pr=9517 bound (https://github.com/o/r/pull/9517)
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: updated session metadata "sess:/work/a" displayName=set
qwen serve: updated session metadata "sess:/work/a" pr=9517 bound (https://github.com/o/r/pull/9517)
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: updated session metadata "sess:/work/a" pr=1 bound (https://github.com/o/r/pull/1)
qwen serve: updated session metadata "sess:/work/a" pr=2 bound (https://github.com/o/r/pull/2)
qwen serve: updated session metadata "sess:/work/a" pr=3 bound (https://github.com/o/r/pull/3)
qwen serve: updated session metadata "sess:/work/a" pr=4 bound (https://github.com/o/r/pull/4)
qwen serve: updated session metadata "sess:/work/a" pr=5 bound (https://github.com/o/r/pull/5)
qwen serve: updated session metadata "sess:/work/a" pr=6 bound (https://github.com/o/r/pull/6)
qwen serve: updated session metadata "sess:/work/a" pr=7 bound (https://github.com/o/r/pull/7)
qwen serve: updated session metadata "sess:/work/a" pr=8 bound (https://github.com/o/r/pull/8)
qwen serve: updated session metadata "sess:/work/a" pr=9 bound (https://github.com/o/r/pull/9)
qwen serve: updated session metadata "sess:/work/a" pr=10 bound (https://github.com/o/r/pull/10)
qwen serve: updated session metadata "sess:/work/a" pr=11 bound (https://github.com/o/r/pull/11)
qwen serve: updated session metadata "sess:/work/a" pr=12 bound (https://github.com/o/r/pull/12)
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
sendPrompt: forward failed for session sess:/work/a: model unavailable
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve debug: rejected permission vote "0ca6c3fc-33e2-4acc-ba93-e68b2958ceb4" for session "sess:/work/a#2"; request belongs to session "sess:/work/a".
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[demux] session=sess:/work/a type=current_mode_update action=promoted mode=auto-edit
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[demux] session=sess:/work/a type=current_mode_update action=suppressed reason=bridge_roundtrip_in_flight
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[demux] session=sess:/work/a type=current_model_update action=promoted model=qwen-max
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[demux] session=sess:/work/a type=current_mode_update action=dropped reason=unknown_mode mode=totally-bogus
[demux] session=sess:/work/a type=current_model_update action=promoted model=qwen-max
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[demux] session=sess:/work/a type=current_mode_update action=promoted mode=auto-edit
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[demux] session=sess:/work/a type=current_mode_update action=promoted mode=auto-edit legacy_frame=skipped
[demux] session=sess:/work/a type=current_model_update action=promoted model=qwen-max
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[demux] session=sess:/work/a type=current_model_update action=promoted model=qwen-turbo
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[demux] session=sess:/work/a type=current_mode_update action=promoted mode=auto-edit
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[demux] session=sess:/work/a type=current_model_update action=promoted model=qwen-turbo
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[demux] session=sess:/work/a type=current_model_update action=promoted model=qwen-turbo
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[reconcile] session=sess:/work/a target=model action=corrected cached=qwen-max actual=qwen-turbo
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[reconcile] session=sess:/work/a target=model action=failed error=[object Object]
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[reconcile] session=sess:/work/a target=model action=skipped reason=roundtrip_failed
[demux] session=sess:/work/a type=current_model_update action=dropped reason=no_entry
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[reconcile] session=sess:/work/a target=model action=skipped reason=generation_changed genBefore=1 genAfter=2
[reconcile] session=sess:/work/a target=model action=corrected cached=qwen-plus actual=qwen-turbo
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[reconcile] session=sess:/work/a target=approvalMode action=corrected cached=yolo actual=plan
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[reconcile] session=sess:/work/a target=approvalMode action=skipped reason=roundtrip_failed
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[reconcile] session=sess:/work/a target=approvalMode action=dropped reason=unknown_mode mode=super-yolo
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: closing session "sess:/work/a#2" (reason: client_close)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: idle timeout (5000ms) expired, killing channel
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: closing session "sess:/work/a#2" (reason: client_close)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: idle timeout (5000ms) expired, killing channel
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 1000ms, idle threshold 5000ms)
qwen serve: reaping idle session "sess:/work/a" (idle for 5s, threshold 5s)
qwen serve: closing session "sess:/work/a" (reason: idle_timeout)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 1000ms, idle threshold 2000ms)
sendPrompt: forward failed for session sess:/work/a: agent channel closed mid-request (session sess:/work/a)
broadcastPromptCancelledOnce: suppressed duplicate cancel for session sess:/work/a prompt=4ebc11d3-c7c7-4b89-b828-39124ca98c3e
qwen serve: session reaper started (interval 1000ms, idle threshold 2000ms)
qwen serve: reaping idle session "sess:/work/a" (idle for 6s, threshold 2s)
qwen serve: closing session "sess:/work/a" (reason: idle_timeout)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 1000ms, idle threshold 2000ms)
sendPrompt: forward failed for session sess:/work/a: agent channel closed mid-request (session sess:/work/a)
broadcastPromptCancelledOnce: suppressed duplicate cancel for session sess:/work/a prompt=cb9be501-8826-4121-b9b6-9bed286b8f83
qwen serve: session reaper started (interval 1000ms, idle threshold 0ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "sess:/work/a" (reason: idle_timeout)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "sess:/work/a" (reason: client_close)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 1000ms, idle threshold 3000ms)
qwen serve: reaping idle session "sess:/work/a" (idle for 3s, threshold 3s)
qwen serve: reaping idle session "sess:/work/a#2" (idle for 3s, threshold 3s)
qwen serve: reaping idle session "sess:/work/a#3" (idle for 3s, threshold 3s)
qwen serve: closing session "sess:/work/a" (reason: idle_timeout)
qwen serve: closing session "sess:/work/a#2" (reason: idle_timeout)
qwen serve: closing session "sess:/work/a#3" (reason: idle_timeout)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 1000ms, idle threshold 5000ms)
qwen serve: reaping idle session "sess:/work/a" (idle for 5s, threshold 5s)
qwen serve: closing session "sess:/work/a" (reason: idle_timeout)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 1000ms, idle threshold 2000ms)
qwen serve: session reaper started (interval 1000ms, idle threshold 3000ms)
qwen serve: closing session "sess:/work/a" (reason: last_client_detached)
qwen serve: idle timeout (2000ms) expired, killing channel
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: closing session "sess:/work/a" (reason: last_client_detached)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: closing session "sess:/work/a" (reason: last_client_detached)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: closing session "sess:/work/a" (reason: last_client_detached)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "sess:/work/a" (reason: client_close)
sendPrompt: forward failed for session sess:/work/a: cancelled
broadcastPromptCancelledOnce: suppressed duplicate cancel for session sess:/work/a prompt=cb46ff29-3d69-42a9-8f69-56b81e281739
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
sendPrompt: forward failed for session sess:/work/a: agent channel closed mid-request (session sess:/work/a)
broadcastPromptCancelledOnce: suppressed duplicate cancel for session sess:/work/a prompt=3eac8e9a-3f80-407e-a32c-5aa7a88a7280
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=none, signal=none, transport=ok, 1 session(s) torn down)
sendPrompt: forward failed for session sess:/work/a: agent channel closed mid-request (session sess:/work/a)
broadcastPromptCancelledOnce: suppressed duplicate cancel for session sess:/work/a prompt=15811806-7d66-4257-b125-6007f25bc4eb
[pending-prompt] cancel forward failed after removePendingPrompt session=sess:/work/a: agent channel closed mid-request (session sess:/work/a)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: channel exited (code=none, signal=none, transport=ok, 1 session(s) torn down)
sendPrompt: forward failed for session sess:/work/a: agent channel closed mid-request (session sess:/work/a)
broadcastPromptCancelledOnce: suppressed duplicate cancel for session sess:/work/a prompt=848b4a34-759d-4a2d-ba41-e7c09e5e9c0d
[pending-prompt] cancel forward failed after removePendingPrompt session=sess:/work/a: agent channel closed mid-request (session sess:/work/a)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "sess:/work/a" (reason: last_client_detached)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "sess:/work/a" (reason: client_close)
[mid-turn] session="sess:/work/a" rejected: session closing
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[mid-turn] session=sess:/work/a rejected: empty
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[mid-turn] session="sess:/work/a" remove missed messageId="5ea84d87-03ea-4c00-8c4d-eb7a17331280" (already drained or completed)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[mid-turn] session="sess:/work/a" remove missed messageId="151c49f7-f8f1-4787-b621-29e475ed1748" (already drained or completed)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[mid-turn] session=sess:/work/a drained=2 echoed=2 injected into running turn
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[mid-turn] session=sess:/work/a rejected: empty
[mid-turn] session="sess:/work/a" rejected id "media-1": text or content mismatch
[mid-turn] session=sess:/work/a drained=2 echoed=2 injected into running turn
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "sess:/work/a" (reason: last_client_detached)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: closing session "sess:/work/a" (reason: last_client_detached)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[pending-prompt] session=sess:/work/a removing promptId=promoted-delete state=running
sendPrompt: forward failed for session sess:/work/a: agent channel closed mid-request (session sess:/work/a)
broadcastPromptCancelledOnce: suppressed duplicate cancel for session sess:/work/a prompt=promoted-delete
[mid-turn] session="sess:/work/a" failed to run promoted message "promoted-delete": "agent channel closed mid-request (session sess:/work/a)"
[pending-prompt] cancel forward failed after removePendingPrompt session=sess:/work/a: agent channel closed mid-request (session sess:/work/a)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[mid-turn] session="sess:/work/a" remove missed messageId="ordinary-pending" (already drained or completed)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[mid-turn] session=sess:/work/a drained=1 echoed=1 injected into running turn
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[mid-turn] session=sess:/work/a drained=1 echoed=1 injected into running turn
[mid-turn] session="sess:/work/a" remove missed messageId="public-mid-turn" (already drained or completed)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[mid-turn] session=sess:/work/a rejected: queue full (depth 20 >= 20)
[mid-turn] session=sess:/work/a rejected: queue full (depth 20 >= 20)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[mid-turn] session="sess:/work/a" rejected id "client-mid-1": text or content mismatch
[mid-turn] session="sess:/work/a" failed to run promoted message "client-mid-1": "Prompt aborted"
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[mid-turn] session=sess:/work/a drained=1 echoed=1 injected into running turn
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[mid-turn] session=sess:/work/a drained=2 echoed=2 injected into running turn
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[mid-turn] session="sess:/work/a" failed to run promoted message "media-snap": "Prompt aborted"
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[mid-turn] session=sess:/work/a rejected: queued inline attachments exceed the 104857600-byte session budget
[mid-turn] session="sess:/work/a" failed to run promoted message "inline-1": "Prompt aborted"
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
sendPrompt: forward failed for session sess:/work/a: agent channel closed mid-request (session sess:/work/a)
broadcastPromptCancelledOnce: suppressed duplicate cancel for session sess:/work/a prompt=b57ccb74-a46c-4084-9e4f-80edbc691789
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[mid-turn] session=sess:/work/a drained=1 echoed=1 injected into running turn
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[mid-turn] session="sess:/work/a" rejected: session closing
qwen serve: closing session "sess:/work/a" (reason: last_client_detached)
qwen serve: channel exited (code=none, signal=none, transport=ok, 0 session(s) torn down)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[mid-turn] session="sess:/work/a" rejected id "steer-idle": session idle
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[mid-turn] session="sess:/work/a" rejected id "public-idle": session idle
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[mid-turn] session="sess:/work/a" failed to run promoted message "783c1f2c-013d-429d-ade4-7f6ddb07bb51": "Prompt aborted"
[mid-turn] session="sess:/work/a" failed to run promoted message "ui-visible": "Prompt aborted"
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
✓ src/bridge.test.ts (798 tests) 14691ms
✓ createAcpSessionBridge — mid-turn message queue (enqueueMidTurnMessage) > bounds the promoted ring across many idle promotions 584ms
[demux] session=session-owned-by-new-channel type=session_recording_degraded action=dropped reason=session_not_owned
[artifacts] session=sess:forged-artifacts action=dropped reason="url must use http or https"
[artifacts] session=sess:deferred-artifact-retry action=deferred reason=workspace_not_bound
[artifacts] session=sess:deferred-artifact-retry action=deferred reason=workspace_not_bound
[artifacts] session=sess:deferred-artifact-retry action=dropped reason={"name":"Error","message":"transient artifact failure","stack":"Error: transient artifact failure\n at /startdir/src/qwen-code/packages/acp-bridge/src/bridgeClient.test.ts:2947:30\n at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11\n at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26"}
[artifacts] session=sess:deferred-artifact-prepare action=deferred reason=workspace_prepare_failed
[artifacts] session=sess:deferred-artifact-cap action=deferred reason=workspace_not_bound
[artifacts] session=sess:deferred-artifact-cap action=deferred reason=workspace_not_bound
[artifacts] session=sess:deferred-artifact-cap action=deferred_truncated reason=workspace_not_bound
[artifacts] session=sess:deferred-artifact-cap action=deferred reason=workspace_not_bound
qwen serve: failed to snapshot pending interaction 555144ad-aa4e-486e-8f55-9814da7730bf: Cannot read properties of null (reading '_meta')
[mid-turn] session=sess:drain drained=4 echoed=3 injected into running turn
[mid-turn] session=sess:media drained=2 echoed=2 injected into running turn
[mid-turn] session=sess:media-reference drained=1 echoed=1 injected into running turn
[mid-turn] session=sess:shared-media drained=4 echoed=4 injected into running turn
[mid-turn] session=sess:slow-media drained=1 echoed=1 injected into running turn
[mid-turn] session="sess:expired" degraded attachment for message "mid-expired": "Unknown or unavailable session attachment: expired"
[mid-turn] session=sess:expired drained=2 echoed=2 injected into running turn
[mid-turn] session=sess:large-drain drained=1 echoed=1 injected into running turn
[mid-turn] session="sess:emfile" drain failed, requeued 2 message(s): "too many open files"
[mid-turn] session=sess:emfile drained=2 echoed=2 injected into running turn
[mid-turn] session="sess:mixed" degraded attachment for message "mid-mixed": "Unknown or unavailable session attachment: image (1).png"
[mid-turn] session=sess:mixed drained=1 echoed=1 injected into running turn
[mid-turn] session=sess:multi drained=3 echoed=3 injected into running turn
[mid-turn] session=sess:ring drained=3 echoed=3 injected into running turn
✓ src/bridgeClient.test.ts (129 tests) 154ms
[artifacts] session=s1-client-upsert-owner action=upsert_denied artifactId=c2d4ffe4020f3640 owner=client-a requester=client-b
[artifacts] session=s1-client-upsert-owner-batch action=upsert_denied artifactId=7b3e8a786f927b8a owner=client-a requester=client-b
[artifacts] session=s1-client-id-durable action=remove_denied artifactId=f12e2d7d92dcc265 owner=client-a requester=client-b
[artifacts] session=s-dir-leftover action=status_refresh_failed artifactId=746784abc79360a6 reason="path is not a regular file"
[artifacts] session=s11-ephemeral-replacement-failure action=upsert_rollback warning="artifact durable removal not persisted; live changes rolled back" artifactIds=["2dfaa9c7bc96dc41"] error="disk full"
[artifacts] session=s11-restored-client-tombstone action=tombstone_replay_suppressed artifactId=ffe5414ad32cdb7f
[artifacts] session=s11-downgraded-tombstone action=persist_failed sequence=2 artifactIds=["9f693a0b913c7284"] reason="disk full"
[artifacts] session=s11-downgraded-eviction-tombstone action=persist_failed sequence=2 artifactIds=["d5abd84cb8e3bc00"] reason="disk full"
✓ src/sessionArtifacts.test.ts (127 tests) 332ms
✓ src/compactionEngine.test.ts (132 tests) 58ms
✓ src/eventBus.test.ts (59 tests) 103ms
permissionMediator: consensus request req-1 for session sess-1 requires unanimity (votersAtIssue.size=2, default quorum=floor(M/2)+1=2); split votes will only resolve via voter cancellation, session cancellation, or permissionTimeoutMs (5000ms). This breadcrumb fires once per mediator lifetime; subsequent unanimity-required requests are silent.
qwen serve: permission req-1 (session sess-1) timed out after 5000ms
qwen serve: permission req-1 (session sess-1): vote rejected (designated_mismatch (voter is not the prompt originator)) by client "client_B"
qwen serve: permission req-1 (session sess-1): vote rejected (designated_mismatch (voter not in consensus votersAtIssue snapshot)) by client
permissionMediator: consensus request req-1 for session sess-1 requires unanimity (votersAtIssue.size=2, default quorum=floor(M/2)+1=2); split votes will only resolve via voter cancellation, session cancellation, or permissionTimeoutMs (5000ms). This breadcrumb fires once per mediator lifetime; subsequent unanimity-required requests are silent.
qwen serve: permission req-1 (session sess-1): vote rejected (designated_mismatch (voter not in consensus votersAtIssue snapshot)) by client "client_late_join"
qwen serve: permission req-1 (session sess-1) timed out after 5000ms
permissionMediator: consensusQuorum override 100 capped to 3 (votersAtIssue.size=3) for request req-1 session sess-1
qwen serve: permission req-1 (session sess-1): vote rejected (remote_not_allowed (local-only policy; vote not from loopback)) by client "client_A"
permissionMediator: emit failed for session="sess-1" type="permission_resolved": Error: bus closed during shutdown
permissionMediator: emit failed for session="sess-1" type="permission_already_resolved": Error: bus closed during shutdown
permissionMediator: audit publisher threw: Error: audit ring full
permissionMediator: audit publisher threw: Error: audit ring full
permissionMediator: audit publisher threw: Error: audit publisher transient error
permissionMediator: audit publisher threw: Error: audit publisher transient error
qwen serve: permission req-1 (session sess-1) timed out after 5000ms
permissionMediator: audit publisher threw: Error: audit publisher transient error
✓ src/permissionMediator.test.ts (40 tests) 25ms
✓ src/transcript-replay.test.ts (39 tests) 31ms
✓ src/sessionAttachments.test.ts (47 tests) 367ms
✓ src/ndJsonStream.test.ts (33 tests) 230ms
✓ src/spawnChannel.test.ts (42 tests) 66ms
✓ src/daemon-memory-budget.test.ts (53 tests) 9ms
✓ src/prompt-ledger.test.ts (16 tests) 6ms
✓ src/logRedaction.test.ts (39 tests) 7ms
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: prompt ledger append failed for session=sess:/work/a promptId=d6a78b4b-5b10-4011-bd5b-13d364987b93: disk full
qwen serve: prompt ledger append failed for session=sess:/work/a promptId=d6a78b4b-5b10-4011-bd5b-13d364987b93: disk full
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
✓ src/bridge-prompt-ledger.test.ts (8 tests) 39ms
✓ src/status.test.ts (18 tests) 11ms
✓ src/channel-liveness.test.ts (9 tests) 19ms
✓ src/child-heap-policy.test.ts (15 tests) 13ms
✓ src/inMemoryChannel.test.ts (8 tests) 118ms
a2ui: dropping command with unrecognized shape (version,noop)
✓ src/a2uiExtraction.test.ts (14 tests) 9ms
✓ src/journalGrowthPolicy.test.ts (11 tests) 5ms
✓ src/workspacePaths.test.ts (10 tests) 29ms
✓ src/process-registry.test.ts (7 tests) 13ms
✓ src/channel-startup-profile.test.ts (4 tests) 6ms
✓ src/session-restore-timeout.test.ts (23 tests) 4ms
✓ src/replayWindowLimits.test.ts (27 tests) 8ms
✓ src/json-string-bytes.test.ts (5 tests) 821ms
✓ estimateJsonStringBytes > matches JSON.stringify UTF-8 bytes for every UTF-16 code unit 771ms
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
✓ src/bridge.sandbox.test.ts (2 tests) 27ms
✓ src/daemon-memory-budget-parity-fraction.test.ts (1 test) 5ms
✓ src/workspacePaths.sandbox.test.ts (2 tests) 3ms
✓ src/daemon-memory-budget-parity.test.ts (1 test) 4ms
✓ src/generation-stream.test.ts (4 tests) 4ms
✓ src/session-source.test.ts (10 tests) 3ms
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
✓ src/bridge-file-capabilities.test.ts (2 tests) 14ms
Test Files 33 passed (33)
Tests 1735 passed (1735)
Start at 14:47:03
Duration 48.42s (transform 3.38s, setup 0ms, collect 24.00s, tests 17.23s, environment 6ms, prepare 2.13s)
npm notice run @qwen-code/audio-capture@0.22.2 test
RUN v3.2.7 /startdir/src/qwen-code/packages/audio-capture
✓ src/platform.test.ts (2 tests) 2ms
Test Files 1 passed (1)
Tests 2 passed (2)
Start at 14:47:52
Duration 176ms (transform 25ms, setup 0ms, collect 23ms, tests 2ms, environment 0ms, prepare 51ms)
npm notice run @qwen-code/chrome-bridge@0.22.2 test
npm notice run vitest run --config vitest.config.ts --testTimeout=30000 --no-file-parallelism --exclude=**/{qwenConnectionHandler,useAtCompletion,pid-descendants,serve/acp-http/transport,i18n/index,ui/auth/AuthDialog,ui/utils/clipboardUtils,services/FileCommandLoader,services/FileCommandLoader-extension,lsp/LspConfigLoader,utils/pathReader}.test.*
RUN v3.2.7 /startdir/src/qwen-code/packages/chrome-extension
stderr | src/sidepanel/sidepanel-assets.test.ts > side panel capability status assets > tolerates transient probe errors without tearing down the shell
sidepanel probe failed: Error: capability model failed to load
at /startdir/src/qwen-code/packages/chrome-extension/src/sidepanel/sidepanel-assets.test.ts:185:13
at mockCall (file:///startdir/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at deriveCapabilityStatus (file:///startdir/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at probeState (eval at (/startdir/src/qwen-code/packages/chrome-extension/src/sidepanel/sidepanel-assets.test.ts:104:5), :134:10)
at tick (eval at (/startdir/src/qwen-code/packages/chrome-extension/src/sidepanel/sidepanel-assets.test.ts:104:5), :203:20)
at /startdir/src/qwen-code/packages/chrome-extension/src/sidepanel/sidepanel-assets.test.ts:189:5
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
stderr | src/sidepanel/sidepanel-assets.test.ts > side panel capability status assets > tolerates transient probe errors without tearing down the shell
sidepanel probe failed: Error: capability model failed to load
at /startdir/src/qwen-code/packages/chrome-extension/src/sidepanel/sidepanel-assets.test.ts:185:13
at mockCall (file:///startdir/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at deriveCapabilityStatus (file:///startdir/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at probeState (eval at (/startdir/src/qwen-code/packages/chrome-extension/src/sidepanel/sidepanel-assets.test.ts:104:5), :134:10)
at tick (eval at (/startdir/src/qwen-code/packages/chrome-extension/src/sidepanel/sidepanel-assets.test.ts:104:5), :203:20)
at /startdir/src/qwen-code/packages/chrome-extension/src/sidepanel/sidepanel-assets.test.ts:193:5
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
stderr | src/sidepanel/sidepanel-assets.test.ts > side panel capability status assets > tolerates transient probe errors without tearing down the shell
sidepanel probe failed: Error: capability model failed to load
at /startdir/src/qwen-code/packages/chrome-extension/src/sidepanel/sidepanel-assets.test.ts:185:13
at mockCall (file:///startdir/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at deriveCapabilityStatus (file:///startdir/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at probeState (eval at (/startdir/src/qwen-code/packages/chrome-extension/src/sidepanel/sidepanel-assets.test.ts:104:5), :134:10)
at tick (eval at (/startdir/src/qwen-code/packages/chrome-extension/src/sidepanel/sidepanel-assets.test.ts:104:5), :203:20)
at /startdir/src/qwen-code/packages/chrome-extension/src/sidepanel/sidepanel-assets.test.ts:199:5
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
✓ src/sidepanel/sidepanel-assets.test.ts (9 tests) 1206ms
✓ side panel capability status assets > renders runtime MCP diagnostics from the live status endpoint 870ms
✓ src/sidepanel/capability-status.test.ts (23 tests) 13ms
✓ src/background/cdp-bridge.test.ts (7 tests) 531ms
✓ src/daemon/config.test.ts (8 tests) 5ms
✓ scripts/manifest-version.test.js (19 tests) 140ms
✓ scripts/artifact-scan.test.js (8 tests | 1 skipped) 72ms
✓ scripts/main-entry.test.js (3 tests) 199ms
↓ scripts/package-extension.test.js (2 tests | 2 skipped)
Test Files 7 passed | 1 skipped (8)
Tests 76 passed | 3 skipped (79)
Start at 14:47:52
Duration 4.30s (transform 100ms, setup 0ms, collect 188ms, tests 2.17s, environment 931ms, prepare 348ms)
npm notice run @qwen-code/qwen-code@0.22.2 test
RUN v3.2.7 /startdir/src/qwen-code/packages/cli
Coverage enabled with v8
✓ src/acp-integration/session/Session.test.ts (715 tests) 118283ms
✓ Session > prompt > auto-compress > latches mid-turn drain off after repeated timeouts when the client never responds 6243ms
✓ Session > prompt > auto-compress > resets the timeout strike count when a drain succeeds 8224ms
✓ Session > prompt > auto-compress > recovers a drain that timed out and injects it on the next batch 2181ms
✓ Session > prompt > auto-compress > notifies the bridge that the Goal turn ended 309ms
✓ Session > runToolCalls > does not execute after cancellation settles during the start emitter 306ms
✓ Session > runToolCalls > passes the transcript call id to monitor invocations 303ms
✓ Session > runToolCalls > isolates enter_plan_mode from executable ACP siblings while preserving duplicate responses 308ms
✓ Session > runToolCalls > refreshes managed memory instructions after successful ACP tool writes 337ms
✓ Session > runToolCalls > does not refresh context-file instructions for ordinary ACP QWEN.md writes 305ms
✓ Session > runToolCalls > does not fire PostToolBatch hooks from the ACP session path 311ms
✓ Session > runToolCalls > marks cancelled ask_user_question as a turn stop 306ms
✓ Session > runToolCalls > preserves skipped tool responses when skipped tool updates fail 310ms
✓ Session > runToolCalls > does not treat a parent abort during permission as explicit rejection 324ms
✓ Session > runToolCalls > stops and aborts Agent tool execution after nested ask_user_question cancellation 345ms
✓ Session > runToolCalls > stops and aborts Agent tool execution after nested non-question permission cancellation 316ms
✓ Session > runToolCalls > ignores later subagent tool events after nested ask_user_question cancellation 330ms
✓ Session > runToolCalls > aborts sibling Agent calls in the same batch after nested ask_user_question cancellation 302ms
✓ Session > runToolCalls > lets sibling Agent calls in a small batch finish when loop detection fires 307ms
✓ Session > runToolCalls > skips later sequential batches after nested non-question permission cancellation 327ms
✓ Session > runToolCalls > keeps duplicate synthetic responses ordered with executable calls 478ms
✓ Session > automatic drain serialization on the history mutation gate > waits for an interactive checkpoint mutation before draining cron 344ms
✓ Session > daemon Todo Stop Guard > drains deferred automatic work after an active Guard is invalidated and the prompt errors 302ms
✓ Session > daemon Todo Stop Guard > 'keeps the external continuation when …' after a slow Stop hook 330ms
✓ Session > daemon Todo Stop Guard > lets an independent cron turn arm its own guard 425ms
✓ Session > daemon Todo Stop Guard > keeps a cron turn graceful when its Stop continuation trips loop protection 450ms
✓ Session > daemon Todo Stop Guard > keeps a background-notification turn graceful when its Stop continuation trips loop protection 445ms
✓ Session > daemon Todo Stop Guard > suspends an armed guard when a cron stream aborts 413ms
✓ Session > daemon Todo Stop Guard > treats a queued pre-prompt wakeup as part of the new baseline 415ms
✓ Session > daemon Todo Stop Guard > defers for a wakeup created by the current work chain 385ms
✓ Session > daemon Todo Stop Guard > drains a related wakeup before an older unrelated cron item 394ms
✓ Session > daemon Todo Stop Guard > coalesces unrelated recurring cron fires while a guard is waiting 412ms
✓ Session > daemon Todo Stop Guard > coalesces recurring cron fires while FIFO priority outlives guard trust 375ms
✓ Session > daemon Todo Stop Guard > trims an oversized deferred cron queue before a related wakeup arrives 408ms
✓ Session > daemon Todo Stop Guard > trims an oversized deferred cron queue before a unrelated cron arrives 405ms
✓ Session > follow-up suggestion (daemon assist push) > fires prompt-suggestion extNotification after end_turn when enabled 394ms
✓ Session > follow-up suggestion (daemon assist push) > forwards an explicit enableCacheSharing=false opt-out 383ms
✓ Session > follow-up suggestion (daemon assist push) > does not emit when the feature is disabled 406ms
✓ Session > follow-up suggestion (daemon assist push) > emits when the setting is unset (on by default) 367ms
✓ Session > follow-up suggestion (daemon assist push) > does not emit in PLAN approval mode 379ms
✓ Session > follow-up suggestion (daemon assist push) > logs filterReason via PromptSuggestionEvent when generation is suppressed 392ms
✓ Session > follow-up suggestion (daemon assist push) > aborts the in-flight generator when a new prompt arrives 395ms
✓ Session > follow-up suggestion (daemon assist push) > aborts the in-flight generator when cancelPendingPrompt is called 364ms
qwen serve: createServeApp default fsFactory uses trusted=false — agent ACP writeTextFile calls will reject with untrusted_workspace. Inject deps.fsFactory (with explicit trust) or deps.bridge to override.
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: Web Shell index send failed: ENOENT: no such file or directory, stat '/tmp/qwen-webshell-cm0tux/index.html'
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: ACP preheat resolved without a live channel
qwen serve: ACP preheat resolved without a live channel
qwen serve: [/work/bound] extensions install: background task failed: Could not read /extension.zip from upload:demo.zip: disk full
qwen serve: [/work/bound] extensions install: background task failed: Could not create the temporary extension upload directory
qwen serve: [/work/bound] extensions install: background task failed: Extension installation cancelled by a new install request
qwen serve: [/work/bound] extensions install: background task failed: Marketplace "empty-marketplace" has no plugins
qwen serve: [/work/bound] extensions install: background task failed: Extension operation cancelled
qwen serve: [/work/bound] extensions install: background task failed: Extension interaction timed out
qwen serve: [/work/bound] extensions install: background task failed: Extension installation cancelled by a new install request
qwen serve: [/work/bound] extensions install: background task failed: Extension installation cancelled by a new install request
qwen serve: [/work/bound] extensions install: background task failed: Extension operation cancelled
qwen serve: [/work/bound] extensions install: Commit succeeded but post-commit work failed: cleanup exploded
qwen serve: [/work/bound] extensions install: background task failed: Extension operation cancelled
qwen serve: [/work/bound] extensions update: background task failed: Extension "missing-ext" not found
qwen serve: [/work/bound] extensions update: background task failed: Extension "test-ext" has no update
qwen serve: [/work/bound] extensions update: background task failed: Update check failed for extension "test-ext": https://***REDACTED***@example.com/check failed
qwen serve: [/work/bound] extensions uninstall: background task failed: Extension "plain-name" not found
qwen serve: [/work/bound] extensions uninstall: background task failed: Extension "https://example.com/missing" not found
qwen serve: bridge error (GET /session/:id/context session=s-secondary): Error: summary exploded
at summaryImpl (/startdir/src/qwen-code/packages/cli/src/serve/server.test.ts:9133:17)
at Object.getSessionSummary (/startdir/src/qwen-code/packages/cli/src/serve/server.test.ts:2212:14)
at scanLiveOwners (/startdir/src/qwen-code/packages/cli/src/serve/workspace-registry.ts:341:24)
at Object.resolveLiveSessionOwner (/startdir/src/qwen-code/packages/cli/src/serve/workspace-registry.ts:602:11)
at requireSessionRuntime (/startdir/src/qwen-code/packages/cli/src/serve/routes/session-runtime.ts:54:40)
at resolveLiveSessionRuntime (/startdir/src/qwen-code/packages/cli/src/serve/routes/session.ts:1621:5)
at resolveOwnerSessionRuntime (/startdir/src/qwen-code/packages/cli/src/serve/routes/session.ts:1665:21)
at /startdir/src/qwen-code/packages/cli/src/serve/routes/session.ts:1776:29
at Layer.handleRequest (/startdir/src/qwen-code/node_modules/router/lib/layer.js:152:17)
at next (/startdir/src/qwen-code/node_modules/router/lib/route.js:157:13)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: /acp WebSocket transport enabled on /acp
qwen serve: /acp WS established 1caee329 (loopback=true, active=1)
qwen serve: /acp dispatch error (session/new): Session "550e8400-e29b-41d4-a716-446655440003" already exists or is being created.
qwen serve: /acp WS closed (1caee329)
qwen serve: bridge error (POST /session): Error: spawn boom
at spawnImpl (/startdir/src/qwen-code/packages/cli/src/serve/server.test.ts:11461:35)
at Object.spawnOrAttach (/startdir/src/qwen-code/packages/cli/src/serve/server.test.ts:2118:28)
at /startdir/src/qwen-code/packages/cli/src/serve/routes/session.ts:3025:44
qwen serve: workspace_mismatch (POST /session): runtime bound to "/work/bound", rejected "/work/different"
qwen serve: bridge error (POST /session): Error: boom
at spawnImpl (/startdir/src/qwen-code/packages/cli/src/serve/server.test.ts:11828:17)
at Object.spawnOrAttach (/startdir/src/qwen-code/packages/cli/src/serve/server.test.ts:2118:28)
at /startdir/src/qwen-code/packages/cli/src/serve/routes/session.ts:3025:44
at Layer.handleRequest (/startdir/src/qwen-code/node_modules/router/lib/layer.js:152:17)
at next (/startdir/src/qwen-code/node_modules/router/lib/route.js:157:13)
at passthrough (/startdir/src/qwen-code/packages/cli/src/serve/auth.ts:556:8)
at Layer.handleRequest (/startdir/src/qwen-code/node_modules/router/lib/layer.js:152:17)
at next (/startdir/src/qwen-code/node_modules/router/lib/route.js:157:13)
at Route.dispatch (/startdir/src/qwen-code/node_modules/router/lib/route.js:117:3)
at handle (/startdir/src/qwen-code/node_modules/router/index.js:435:11)
qwen serve: bridge error (POST /session): Error: spawn failed
at spawnImpl (/startdir/src/qwen-code/packages/cli/src/serve/server.test.ts:12479:17)
at Object.spawnOrAttach (/startdir/src/qwen-code/packages/cli/src/serve/server.test.ts:2118:28)
at /startdir/src/qwen-code/packages/cli/src/serve/routes/session.ts:3025:44
at processTicksAndRejections (node:internal/process/task_queues:104:5)
qwen serve: bridge error (POST /session): Error: spawn failed
at spawnImpl (/startdir/src/qwen-code/packages/cli/src/serve/server.test.ts:12522:17)
at Object.spawnOrAttach (/startdir/src/qwen-code/packages/cli/src/serve/server.test.ts:2118:28)
at /startdir/src/qwen-code/packages/cli/src/serve/routes/session.ts:3025:44
at processTicksAndRejections (node:internal/process/task_queues:104:5)
qwen serve: bridge error (POST /session/:id/load session=persisted-secondary): Error: summary exploded
at summaryImpl (/startdir/src/qwen-code/packages/cli/src/serve/server.test.ts:13961:17)
at Object.getSessionSummary (/startdir/src/qwen-code/packages/cli/src/serve/server.test.ts:2212:14)
at scanLiveOwners (/startdir/src/qwen-code/packages/cli/src/serve/workspace-registry.ts:341:24)
at Object.resolveLiveSessionOwner (/startdir/src/qwen-code/packages/cli/src/serve/workspace-registry.ts:602:11)
at resolveRuntimeForSessionRestore (/startdir/src/qwen-code/packages/cli/src/serve/routes/session.ts:1590:41)
at /startdir/src/qwen-code/packages/cli/src/serve/routes/session.ts:3404:33
at Layer.handleRequest (/startdir/src/qwen-code/node_modules/router/lib/layer.js:152:17)
at next (/startdir/src/qwen-code/node_modules/router/lib/route.js:157:13)
at passthrough (/startdir/src/qwen-code/packages/cli/src/serve/auth.ts:556:8)
at Layer.handleRequest (/startdir/src/qwen-code/node_modules/router/lib/layer.js:152:17)
qwen serve: organized session list live merge failed; using persisted sessions only: bridge unavailable mid-pass
qwen serve: organized session list live merge failed; using persisted sessions only: bridge unavailable mid-pass
qwen serve: organized session list truncated at 50000 sessions
qwen serve: failed to read session-info for workspace "/work/bound": "ENOTDIR: not a directory, scandir '/tmp/qwen-serve-session-info-yKILST/projects/-
qwen serve: bridge error (POST /session/:id/btw session=session-A): Error: btw failed
at generateSessionBtwImpl (/startdir/src/qwen-code/packages/cli/src/serve/server.test.ts:19825:17)
at Object.generateSessionBtw (/startdir/src/qwen-code/packages/cli/src/serve/server.test.ts:2396:14)
at /startdir/src/qwen-code/packages/cli/src/serve/routes/session.ts:6802:47
at /startdir/src/qwen-code/packages/cli/src/serve/routes/session.ts:1751:19
at SessionArchiveCoordinator.runSharedMany (/startdir/src/qwen-code/packages/cli/src/serve/server/session-archive.ts:192:20)
at /startdir/src/qwen-code/packages/cli/src/serve/routes/session.ts:1749:30
at runOwnerRuntimeActivity (/startdir/src/qwen-code/packages/cli/src/serve/routes/session.ts:1683:54)
at /startdir/src/qwen-code/packages/cli/src/serve/routes/session.ts:1748:15
at processTicksAndRejections (node:internal/process/task_queues:104:5)
qwen serve: bridge error (POST /session/:id/language session=session-A): Error: unexpected failure
at setLanguageImpl (/startdir/src/qwen-code/packages/cli/src/serve/server.test.ts:20722:17)
at Object.setSessionLanguage (/startdir/src/qwen-code/packages/cli/src/serve/server.test.ts:2363:14)
at app.post.withOwnerMutableSession.cwdBound (/startdir/src/qwen-code/packages/cli/src/serve/routes/session.ts:7289:47)
at /startdir/src/qwen-code/packages/cli/src/serve/routes/session.ts:1751:19
at SessionArchiveCoordinator.runSharedMany (/startdir/src/qwen-code/packages/cli/src/serve/server/session-archive.ts:192:20)
at /startdir/src/qwen-code/packages/cli/src/serve/routes/session.ts:1749:30
at runOwnerRuntimeActivity (/startdir/src/qwen-code/packages/cli/src/serve/routes/session.ts:1683:54)
at /startdir/src/qwen-code/packages/cli/src/serve/routes/session.ts:1748:15
at processTicksAndRejections (node:internal/process/task_queues:104:5)
qwen serve: bridge error (POST /workspace/channel/reload): Error: relaunch failed
at Object. (/startdir/src/qwen-code/packages/cli/src/serve/server.test.ts:21776:15)
at Object.mockCall (file:///startdir/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.spy [as reloadChannelWorker] (file:///startdir/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at /startdir/src/qwen-code/packages/cli/src/serve/routes/workspace-channel-control.ts:377:37
at Layer.handleRequest (/startdir/src/qwen-code/node_modules/router/lib/layer.js:152:17)
at next (/startdir/src/qwen-code/node_modules/router/lib/route.js:157:13)
at passthrough (/startdir/src/qwen-code/packages/cli/src/serve/auth.ts:556:8)
at Layer.handleRequest (/startdir/src/qwen-code/node_modules/router/lib/layer.js:152:17)
at next (/startdir/src/qwen-code/node_modules/router/lib/route.js:157:13)
at Route.dispatch (/startdir/src/qwen-code/node_modules/router/lib/route.js:117:3)
qwen serve: sessions archive result requested=1 requestedIds=["55555555-bbbb-cccc-dddd-eeeeeeeeeeef"] archived=0 archivedIds=[] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=1 errorIds=["55555555-bbbb-cccc-dddd-eeeeeeeeeeef":"Session \"55555555-bbbb-cccc-dddd-eeeeeeeeeeef\" is being archived or unarchived;]
qwen serve: bridge error (GET /session/:id/transcript session=55555555-bbbb-cccc-dddd-aeaeaeaeaeae): Error: Transcript session resolution failed across 2 workspace(s)
at resolveTranscriptSessionRuntime (/startdir/src/qwen-code/packages/cli/src/serve/routes/session.ts:2052:13)
at /startdir/src/qwen-code/packages/cli/src/serve/routes/session.ts:4315:27
at SessionArchiveCoordinator.runSharedMany (/startdir/src/qwen-code/packages/cli/src/serve/server/session-archive.ts:192:14)
at /startdir/src/qwen-code/packages/cli/src/serve/routes/session.ts:4312:22
qwen serve: closeSession failed for "aaaabbbb-cccc-dddd-eeee-ffffaaaabbbb": "Client id \"bad-client\" is not registered for session aaaabbbb-cccc-dddd-eeee-ff
qwen serve: closeSession failed for "s-1": "bridge exploded"
qwen serve: closeSession failed for "aaaa3333-bbbb-cccc-dddd-eeeeeeeeeeee": "agent busy"
qwen serve: deleteSession failed for "aaaa5555-bbbb-cccc-dddd-eeeeeeeeeeee": "Session \"aaaa5555-bbbb-cccc-dddd-eeeeeeeeeeee\" is being archived or unarchived;
qwen serve: closeSession failed for "eeee1111-bbbb-cccc-dddd-eeeeeeeeeeee": "Client id \"bad-client\" is not registered for session eeee1111-bbbb-cccc-dddd-ee
qwen serve: sessions archive result requested=1 requestedIds=["eeee3333-bbbb-cccc-dddd-eeeeeeeeeeee"] archived=1 archivedIds=["eeee3333-bbbb-cccc-dddd-eeeeeeeeeeee"] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=0 errorIds=[]
qwen serve: removeSession failed for "aaaa0000-bbbb-cccc-dddd-eeeeeeeeeeee": "disk on fire"
qwen serve: sessions archive result requested=1 requestedIds=["11111111-bbbb-cccc-dddd-eeeeeeeeeeee"] archived=1 archivedIds=["11111111-bbbb-cccc-dddd-eeeeeeeeeeee"] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=0 errorIds=[]
qwen serve: sessions archive result requested=1 requestedIds=["11111111-bbbb-cccc-dddd-eeeeeeeeeeea"] archived=1 archivedIds=["11111111-bbbb-cccc-dddd-eeeeeeeeeeea"] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=0 errorIds=[]
qwen serve: sessions unarchive result requested=1 requestedIds=["11111111-bbbb-cccc-dddd-eeeeeeeeeeea"] unarchived=1 unarchivedIds=["11111111-bbbb-cccc-dddd-eeeeeeeeeeea"] alreadyActive=0 alreadyActiveIds=[] notFound=0 notFoundIds=[] errors=0 errorIds=[]
qwen serve: sessions archive result requested=1 requestedIds=["11111111-bbbb-cccc-dddd-eeeeeeeeeeef"] archived=1 archivedIds=["11111111-bbbb-cccc-dddd-eeeeeeeeeeef"] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=0 errorIds=[]
qwen serve: sessions unarchive result requested=1 requestedIds=["11111111-bbbb-cccc-dddd-eeeeeeeeeeef"] unarchived=1 unarchivedIds=["11111111-bbbb-cccc-dddd-eeeeeeeeeeef"] alreadyActive=0 alreadyActiveIds=[] notFound=0 notFoundIds=[] errors=0 errorIds=[]
qwen serve: sessions archive result requested=1 requestedIds=["11111111-bbbb-cccc-dddd-eeeeeeeeeeef"] archived=1 archivedIds=["11111111-bbbb-cccc-dddd-eeeeeeeeeeef"] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=0 errorIds=[]
qwen serve: sessions archive result requested=1 requestedIds=["11111111-bbbb-cccc-dddd-eeeeeeeeeeed"] archived=1 archivedIds=["11111111-bbbb-cccc-dddd-eeeeeeeeeeed"] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=0 errorIds=[]
qwen serve: sessions archive result requested=1 requestedIds=["missing-session"] archived=0 archivedIds=[] alreadyArchived=0 alreadyArchivedIds=[] notFound=1 notFoundIds=["missing-session"] errors=0 errorIds=[]
qwen serve: sessions archive result requested=1 requestedIds=["22222222-bbbb-cccc-dddd-eeeeeeeeeeee"] archived=0 archivedIds=[] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=1 errorIds=["22222222-bbbb-cccc-dddd-eeeeeeeeeeee":"flush failed"]
qwen serve: sessions archive result requested=1 requestedIds=["22222222-bbbb-cccc-dddd-eeeeeeeeeeef"] archived=0 archivedIds=[] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=1 errorIds=["22222222-bbbb-cccc-dddd-eeeeeeeeeeef":"ACP session close channel unavailable for 22222222-bbbb-cccc-dddd-eeeeeeeeeeef"]
qwen serve: sessions archive result requested=1 requestedIds=["22222222-bbbb-cccc-dddd-eeeeeeeeeeee"] archived=0 archivedIds=[] alreadyArchived=0 alreadyArchivedIds=[] notFound=1 notFoundIds=["22222222-bbbb-cccc-dddd-eeeeeeeeeeee"] errors=0 errorIds=[]
qwen serve: sessions unarchive result requested=1 requestedIds=["33333333-bbbb-cccc-dddd-eeeeeeeeeeee"] unarchived=1 unarchivedIds=["33333333-bbbb-cccc-dddd-eeeeeeeeeeee"] alreadyActive=0 alreadyActiveIds=[] notFound=0 notFoundIds=[] errors=0 errorIds=[]
qwen serve: sessions archive result requested=1 requestedIds=["55555555-bbbb-cccc-dddd-eeeeeeeeeeee"] archived=1 archivedIds=["55555555-bbbb-cccc-dddd-eeeeeeeeeeee"] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=0 errorIds=[]
qwen serve: sessions archive result requested=1 requestedIds=["55555555-bbbb-cccc-dddd-eeeeeeeeeeef"] archived=1 archivedIds=["55555555-bbbb-cccc-dddd-eeeeeeeeeeef"] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=0 errorIds=[]
qwen serve: sessions archive result requested=1 requestedIds=["55555555-bbbb-cccc-dddd-eeeeeeeeeeee"] archived=0 archivedIds=[] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=1 errorIds=["55555555-bbbb-cccc-dddd-eeeeeeeeeeee":"Session \"55555555-bbbb-cccc-dddd-eeeeeeeeeeee\" is being archived or unarchived;]
qwen serve: sessions archive result requested=2 requestedIds=["66666666-bbbb-cccc-dddd-eeeeeeeeeeee","77777777-bbbb-cccc-dddd-eeeeeeeeeeee"] archived=2 archivedIds=["66666666-bbbb-cccc-dddd-eeeeeeeeeeee","77777777-bbbb-cccc-dddd-eeeeeeeeeeee"] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=0 errorIds=[]
qwen serve: bridge error (PATCH /workspaces/:workspace/session/:id/metadata session=550e8400-e29b-41d4-a716-446655440035 workspaceCwd=/work/different): Error: EISDIR: illegal operation on a directory, read '/tmp/qwen-workspace-metadata-prfail-dUrasA/projects/-work-different/chats/550e8400-e29b-41d4-a716-446655440035.pr.json'
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: /health deep probe failed for workspace "9f1b7a7fd511cb33": bridge wedged
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: --allow-origin: * (WARNING: `*` admits any cross-origin browser — bearer token gates API routes; the Web Shell static assets stay pre-auth in every mode unless --no-web, and /health stays pre-auth on loopback unless --require-auth is set)
2026-10-24T14:50:54.320Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:54.320Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
qwen serve listening on http://127.0.0.1:41545 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=37250 runQwenServeToListenMs=126
2026-10-24T14:50:54.463Z [INFO] [DAEMON] ideEnvPresent=false primary=/startdir/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:50:54.554Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:54.563Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:54.563Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=37380 runQwenServeToListenMs=5
qwen serve listening on http://127.0.0.1:33057 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
2026-10-24T14:50:54.565Z [INFO] [DAEMON] ideEnvPresent=false primary=/startdir/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:50:54.585Z [INFO] [DAEMON] route=GET /capabilities durationMs=1 status=200 request completed
qwen serve: /acp connection established ddc459c6 (loopback=true, active=1)
2026-10-24T14:50:54.595Z [INFO] [DAEMON] route=POST /acp durationMs=2 status=200 request completed
2026-10-24T14:50:54.596Z [INFO] [DAEMON] daemon stopped
qwen serve listening on http://127.0.0.1:40859 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
2026-10-24T14:50:54.617Z [INFO] [DAEMON] route=GET /capabilities durationMs=1 status=200 request completed
qwen serve: /acp connection established 41022c2c (loopback=true, active=1)
2026-10-24T14:50:54.621Z [INFO] [DAEMON] route=POST /acp durationMs=1 status=200 request completed
2026-10-24T14:50:54.622Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:54.625Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:54.626Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
2026-10-24T14:50:54.626Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid mcpClientBudget: 0. Must be a positive integer.
at runQwenServeImpl (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3825:13)
at Module.runQwenServe (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3028:12)
at /startdir/src/qwen-code/packages/cli/src/serve/server.test.ts:28889:5
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:54.646Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:54.646Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
2026-10-24T14:50:54.646Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid mcpClientBudget: -5. Must be a positive integer.
at runQwenServeImpl (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3825:13)
at Module.runQwenServe (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3028:12)
at /startdir/src/qwen-code/packages/cli/src/serve/server.test.ts:28897:5
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:54.648Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:54.648Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
2026-10-24T14:50:54.648Z [ERROR] [DAEMON] daemon startup failed
Error: mcpBudgetMode="enforce" requires a positive mcpClientBudget. Pass mcpClientBudget=N, or set mcpBudgetMode to "warn" or "off".
at runQwenServeImpl (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3831:11)
at Module.runQwenServe (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3028:12)
at /startdir/src/qwen-code/packages/cli/src/serve/server.test.ts:28908:5
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:54.650Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:54.650Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
2026-10-24T14:50:54.650Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid promptDeadlineMs: 0. Must be a positive integer (milliseconds).
at runQwenServeImpl (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3843:13)
at Module.runQwenServe (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3028:12)
at /startdir/src/qwen-code/packages/cli/src/serve/server.test.ts:28929:7
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:54.653Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:54.653Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
2026-10-24T14:50:54.653Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid promptDeadlineMs: -5. Must be a positive integer (milliseconds).
at runQwenServeImpl (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3843:13)
at Module.runQwenServe (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3028:12)
at /startdir/src/qwen-code/packages/cli/src/serve/server.test.ts:28929:7
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:54.655Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:54.655Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
2026-10-24T14:50:54.655Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid promptDeadlineMs: 1.5. Must be a positive integer (milliseconds).
at runQwenServeImpl (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3843:13)
at Module.runQwenServe (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3028:12)
at /startdir/src/qwen-code/packages/cli/src/serve/server.test.ts:28929:7
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:54.657Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:54.657Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
2026-10-24T14:50:54.657Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid promptDeadlineMs: NaN. Must be a positive integer (milliseconds).
at runQwenServeImpl (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3843:13)
at Module.runQwenServe (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3028:12)
at /startdir/src/qwen-code/packages/cli/src/serve/server.test.ts:28929:7
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:54.659Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:54.659Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
2026-10-24T14:50:54.659Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid maxPendingPromptsPerSession: -5. Must be a non-negative integer (0 / Infinity = unlimited).
at runQwenServeImpl (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3867:13)
at Module.runQwenServe (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3028:12)
at /startdir/src/qwen-code/packages/cli/src/serve/server.test.ts:28947:7
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:54.661Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:54.661Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
2026-10-24T14:50:54.661Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid maxPendingPromptsPerSession: 1.5. Must be a non-negative integer (0 / Infinity = unlimited).
at runQwenServeImpl (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3867:13)
at Module.runQwenServe (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3028:12)
at /startdir/src/qwen-code/packages/cli/src/serve/server.test.ts:28947:7
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:54.663Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:54.663Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
2026-10-24T14:50:54.663Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid maxPendingPromptsPerSession: NaN. Must be a non-negative integer (0 / Infinity = unlimited).
at runQwenServeImpl (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3867:13)
at Module.runQwenServe (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3028:12)
at /startdir/src/qwen-code/packages/cli/src/serve/server.test.ts:28947:7
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:54.664Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:54.665Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
2026-10-24T14:50:54.665Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid writerIdleTimeoutMs: 0. Must be a positive integer (milliseconds).
at runQwenServeImpl (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3895:13)
at Module.runQwenServe (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3028:12)
at /startdir/src/qwen-code/packages/cli/src/serve/server.test.ts:28966:7
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:54.666Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:54.666Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
2026-10-24T14:50:54.666Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid writerIdleTimeoutMs: -5. Must be a positive integer (milliseconds).
at runQwenServeImpl (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3895:13)
at Module.runQwenServe (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3028:12)
at /startdir/src/qwen-code/packages/cli/src/serve/server.test.ts:28966:7
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:54.668Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:54.668Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
2026-10-24T14:50:54.668Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid writerIdleTimeoutMs: 1.5. Must be a positive integer (milliseconds).
at runQwenServeImpl (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3895:13)
at Module.runQwenServe (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3028:12)
at /startdir/src/qwen-code/packages/cli/src/serve/server.test.ts:28966:7
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:54.670Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:54.670Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
2026-10-24T14:50:54.670Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid writerIdleTimeoutMs: NaN. Must be a positive integer (milliseconds).
at runQwenServeImpl (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3895:13)
at Module.runQwenServe (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3028:12)
at /startdir/src/qwen-code/packages/cli/src/serve/server.test.ts:28966:7
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:54.672Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:54.672Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
2026-10-24T14:50:54.673Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid promptDeadlineMs: 2147483648. Exceeds maximum JS timer delay of 2147483647 ms (~24.8 days); Node would silently compress longer delays to 1ms.
at assertTimerDelayInRange (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:463:11)
at runQwenServeImpl (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3847:5)
at Module.runQwenServe (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3028:12)
at /startdir/src/qwen-code/packages/cli/src/serve/server.test.ts:28983:5
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:54.674Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:54.674Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
qwen serve listening on http://127.0.0.1:34443 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=37492 runQwenServeToListenMs=2
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:50:54.676Z [INFO] [DAEMON] ideEnvPresent=false primary=/startdir/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:50:54.694Z [INFO] [DAEMON] route=GET /capabilities durationMs=1 status=200 request completed
2026-10-24T14:50:54.695Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:54.707Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:54.707Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
2026-10-24T14:50:54.707Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid promptDeadlineMs: 2147483648. Exceeds maximum JS timer delay of 2147483647 ms (~24.8 days); Node would silently compress longer delays to 1ms.
at assertTimerDelayInRange (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:463:11)
at runQwenServeImpl (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3847:5)
at Module.runQwenServe (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3028:12)
at /startdir/src/qwen-code/packages/cli/src/serve/server.test.ts:29031:5
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:54.709Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:54.709Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
qwen serve listening on http://127.0.0.1:37611 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=37527 runQwenServeToListenMs=2
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:50:54.711Z [INFO] [DAEMON] ideEnvPresent=false primary=/startdir/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:50:54.742Z [INFO] [DAEMON] route=GET /capabilities durationMs=1 status=200 request completed
2026-10-24T14:50:54.744Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:54.747Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:54.747Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
qwen serve listening on http://127.0.0.1:46405 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=37565 runQwenServeToListenMs=2
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:50:54.749Z [INFO] [DAEMON] ideEnvPresent=false primary=/startdir/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:50:54.764Z [INFO] [DAEMON] route=GET /capabilities durationMs=1 status=200 request completed
2026-10-24T14:50:54.765Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:54.780Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:54.780Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
qwen serve listening on http://127.0.0.1:45581 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=37598 runQwenServeToListenMs=3
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:50:54.783Z [INFO] [DAEMON] ideEnvPresent=false primary=/startdir/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:50:54.794Z [INFO] [DAEMON] route=GET /capabilities durationMs=1 status=200 request completed
2026-10-24T14:50:54.795Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:54.800Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:54.800Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=37618 runQwenServeToListenMs=3
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:50:54.803Z [INFO] [DAEMON] ideEnvPresent=false primary=/startdir/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve listening on http://127.0.0.1:42967 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:50:54.812Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:54.822Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:54.822Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=37640 runQwenServeToListenMs=10
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on http://127.0.0.1:41503 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
2026-10-24T14:50:54.824Z [INFO] [DAEMON] ideEnvPresent=false primary=/startdir/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:50:54.834Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:54.836Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:54.836Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
qwen serve listening on http://127.0.0.1:37373 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=37654 runQwenServeToListenMs=2
qwen serve: --require-auth enabled (bearer token mandatory on every route, including loopback /health).
2026-10-24T14:50:54.838Z [INFO] [DAEMON] ideEnvPresent=false primary=/startdir/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:50:54.866Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:54.961Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:54.962Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
qwen serve: Web Shell UI is served WITHOUT auth on a non-loopback bind (the static shell has no secrets; the API stays token-gated). Pass --no-web to disable the UI.
qwen serve: without --allow-origin the Web Shell is read-only on a non-loopback bind — same-origin POSTs are blocked by CORS (403). Pass --allow-origin or front it with a same-origin proxy.
qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=37779 runQwenServeToListenMs=68
2026-10-24T14:50:54.964Z [INFO] [DAEMON] ideEnvPresent=false primary=/startdir/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://0.0.0.0:44425 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:50:54.973Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:54.975Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:54.975Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=37793 runQwenServeToListenMs=2
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:50:54.977Z [INFO] [DAEMON] ideEnvPresent=false primary=/startdir/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:45939 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:50:54.989Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:54.992Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:54.992Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=37809 runQwenServeToListenMs=2
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:50:54.994Z [INFO] [DAEMON] ideEnvPresent=false primary=/startdir/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:40013 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:50:55.005Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:55.008Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:55.008Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=37826 runQwenServeToListenMs=3
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:50:55.010Z [INFO] [DAEMON] ideEnvPresent=false primary=/startdir/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:35467 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:50:55.022Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:55.025Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:55.025Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=37842 runQwenServeToListenMs=2
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:50:55.027Z [INFO] [DAEMON] ideEnvPresent=false primary=/startdir/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:35205 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:50:55.050Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:55.053Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:55.053Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:55.054Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid maxConnections: NaN. Must be >= 0 (0 / Infinity = unlimited).
at runQwenServeImpl (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:7457:11)
at Module.runQwenServe (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3028:12)
at /startdir/src/qwen-code/packages/cli/src/serve/server.test.ts:29242:5
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:55.056Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:55.056Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:55.056Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid maxConnections: -5. Must be >= 0 (0 / Infinity = unlimited).
at runQwenServeImpl (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:7457:11)
at Module.runQwenServe (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3028:12)
at /startdir/src/qwen-code/packages/cli/src/serve/server.test.ts:29250:5
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:55.058Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:55.058Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=37877 runQwenServeToListenMs=3
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on http://Localhost:42003 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
2026-10-24T14:50:55.061Z [INFO] [DAEMON] ideEnvPresent=false primary=/startdir/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:50:55.070Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:55.072Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:55.072Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
qwen serve listening on http://[::1]:41611 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=37890 runQwenServeToListenMs=2
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:50:55.075Z [INFO] [DAEMON] ideEnvPresent=false primary=/startdir/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:50:55.084Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:55.092Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:55.092Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
qwen serve: Web Shell UI is served WITHOUT auth on a non-loopback bind (the static shell has no secrets; the API stays token-gated). Pass --no-web to disable the UI.
qwen serve: without --allow-origin the Web Shell is read-only on a non-loopback bind — same-origin POSTs are blocked by CORS (403). Pass --allow-origin or front it with a same-origin proxy.
2026-10-24T14:50:55.092Z [ERROR] [DAEMON] daemon startup failed
Error: Invalid --hostname "[2001:db8::1]:8080": brackets indicate an IPv6 literal but the value isn't a clean [addr] form. Pass the address without a trailing :port (use --port for that), e.g. "--hostname [::1] --port 4170".
at runQwenServeImpl (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:7434:13)
at Module.runQwenServe (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3028:12)
at /startdir/src/qwen-code/packages/cli/src/serve/server.test.ts:29300:5
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:55.096Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:55.096Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=37914 runQwenServeToListenMs=2
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on http://[::1]:41935 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
2026-10-24T14:50:55.098Z [INFO] [DAEMON] ideEnvPresent=false primary=/startdir/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:50:55.107Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:55.109Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:55.109Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
qwen serve: Web Shell UI is served WITHOUT auth on a non-loopback bind (the static shell has no secrets; the API stays token-gated). Pass --no-web to disable the UI.
qwen serve: without --allow-origin the Web Shell is read-only on a non-loopback bind — same-origin POSTs are blocked by CORS (403). Pass --allow-origin or front it with a same-origin proxy.
2026-10-24T14:50:55.109Z [ERROR] [DAEMON] daemon startup failed
Error: Invalid --hostname "[]": brackets indicate an IPv6 literal but the value isn't a clean [addr] form. Pass the address without a trailing :port (use --port for that), e.g. "--hostname [::1] --port 4170".
at runQwenServeImpl (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:7434:13)
at Module.runQwenServe (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3028:12)
at /startdir/src/qwen-code/packages/cli/src/serve/server.test.ts:29346:5
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:55.112Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:55.112Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:55.113Z [INFO] [DAEMON] ideEnvPresent=false primary=/startdir/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:37629 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=37942 runQwenServeToListenMs=14
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:50:55.127Z [INFO] [DAEMON] route=GET /capabilities durationMs=1 status=200 request completed
2026-10-24T14:50:55.129Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:55.155Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:55.155Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:55.157Z [INFO] [DAEMON] ideEnvPresent=false primary=/startdir/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:44323 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=37981 runQwenServeToListenMs=13
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:50:55.165Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:55.262Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:55.263Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:55.264Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qwen-runqwen-fs-cMBdHy secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:38163 (mode=http-bridge, workspace=/tmp/qwen-runqwen-fs-cMBdHy)
qwen serve: bound to workspace "/tmp/qwen-runqwen-fs-cMBdHy"
qwen serve: startup timing: processToListenMs=38089 runQwenServeToListenMs=91
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:50:55.287Z [INFO] [DAEMON] route=GET /file durationMs=13 status=200 request completed
2026-10-24T14:50:55.294Z [WARN] [DAEMON] route=GET /file durationMs=1 status=400 request completed
2026-10-24T14:50:55.302Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:55.306Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:55.306Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:55.307Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qwen-runqwen-rest-fs-cx0y2Z secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:42689 (mode=http-bridge, workspace=/tmp/qwen-runqwen-rest-fs-cx0y2Z)
qwen serve: bound to workspace "/tmp/qwen-runqwen-rest-fs-cx0y2Z"
qwen serve: startup timing: processToListenMs=38132 runQwenServeToListenMs=11
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
qwen serve: fs audit emit is the default no-op — 1 event(s) dropped so far. Latest type=fs.denied (errorKind=path_not_found intent=read pathHash=0404dff0da2ceaae). Inject deps.fsFactory in createServeApp to wire audit into the EventBus.
2026-10-24T14:50:55.318Z [WARN] [DAEMON] route=GET /file durationMs=1 status=404 request completed
2026-10-24T14:50:55.320Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:55.323Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:55.323Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:55.325Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qwen-runqwen-trust-1LY0OO secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:40353 (mode=http-bridge, workspace=/tmp/qwen-runqwen-trust-1LY0OO)
qwen serve: bound to workspace "/tmp/qwen-runqwen-trust-1LY0OO"
qwen serve: startup timing: processToListenMs=38149 runQwenServeToListenMs=11
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:50:55.336Z [INFO] [DAEMON] route=GET /file durationMs=1 status=200 request completed
2026-10-24T14:50:55.337Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:55.342Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:55.342Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:55.343Z [INFO] [DAEMON] ideEnvPresent=false primary=/startdir/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:37297 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=38169 runQwenServeToListenMs=12
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:50:55.353Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:55.356Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:55.356Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:55.357Z [INFO] [DAEMON] ideEnvPresent=false primary=/startdir/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:44897 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=38181 runQwenServeToListenMs=10
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:50:55.366Z [INFO] [DAEMON] daemon stopped
(node:4508) PromiseRejectionHandledWarning: Promise rejection was handled asynchronously (rejection id: 708)
(Use `node --trace-warnings ...` to show where the warning was created)
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:55.439Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:55.439Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:55.440Z [INFO] [DAEMON] ideEnvPresent=false primary=/startdir/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:44919 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=38265 runQwenServeToListenMs=31
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:50:55.449Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:55.452Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:55.452Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:55.454Z [INFO] [DAEMON] ideEnvPresent=false primary=/startdir/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:37197 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=38279 runQwenServeToListenMs=11
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:50:55.466Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown streamId=72fc97de-ae13-4cc4-b6bb-7c4d457af3d0 SSE stream opened
2026-10-24T14:50:55.470Z [INFO] [DAEMON] daemon stopped
2026-10-24T14:50:55.471Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=client_disconnect connectReason=unknown durationMs=5.212132000000565 eventFramesWriteSettled=2 lastEventIdWritten=2 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=72fc97de-ae13-4cc4-b6bb-7c4d457af3d0 SSE stream closed
qwen serve: bridge iterator error (session sess-A): iterator failed
qwen serve: bridge iterator error (session sess-A): iterator failed after terminal event
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:55.962Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:55.962Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:55.964Z [INFO] [DAEMON] ideEnvPresent=false primary=/startdir/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:34011 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=38789 runQwenServeToListenMs=35
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:50:55.975Z [INFO] [DAEMON] sessionId=subagent.cGFyZW50LTE.YWdlbnQtMQ connectReason=unknown lastEventId=7 streamId=c29376b3-df97-4e15-a00f-1db5410547cc SSE stream opened
2026-10-24T14:50:55.978Z [INFO] [DAEMON] daemon stopped
2026-10-24T14:50:55.978Z [INFO] [DAEMON] sessionId=subagent.cGFyZW50LTE.YWdlbnQtMQ backpressureCount=0 closeReason=client_disconnect connectReason=unknown durationMs=3.2776059999960125 eventFramesWriteSettled=1 lastEventIdWritten=1 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=c29376b3-df97-4e15-a00f-1db5410547cc SSE stream closed
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:55.981Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:55.981Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:55.983Z [INFO] [DAEMON] ideEnvPresent=false primary=/startdir/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:34485 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=38809 runQwenServeToListenMs=12
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:50:55.995Z [INFO] [DAEMON] sessionId=subagent.cGFyZW50LTE.YWdlbnQtMQ connectReason=unknown streamId=a1519d19-d281-43e4-9929-b5d64fe043df SSE stream opened
2026-10-24T14:50:55.997Z [INFO] [DAEMON] daemon stopped
2026-10-24T14:50:56.001Z [INFO] [DAEMON] sessionId=subagent.cGFyZW50LTE.YWdlbnQtMQ backpressureCount=0 closeReason=client_disconnect connectReason=unknown durationMs=6.6790039999978035 eventFramesWriteSettled=1 lastEventIdWritten=1 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=a1519d19-d281-43e4-9929-b5d64fe043df SSE stream closed
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:56.039Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:56.039Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:56.040Z [INFO] [DAEMON] ideEnvPresent=false primary=/startdir/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:43833 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=38865 runQwenServeToListenMs=37
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:50:56.056Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown streamId=ed31ed97-dfe4-4e9f-b65f-cc5221b54c64 SSE stream opened
2026-10-24T14:50:56.059Z [INFO] [DAEMON] daemon stopped
2026-10-24T14:50:56.059Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=client_disconnect connectReason=unknown durationMs=2.599383000000671 eventFramesWriteSettled=1 lastEventIdWritten=1 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=ed31ed97-dfe4-4e9f-b65f-cc5221b54c64 SSE stream closed
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:56.061Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:56.061Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:56.062Z [INFO] [DAEMON] ideEnvPresent=false primary=/startdir/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:35241 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=38886 runQwenServeToListenMs=10
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:50:56.072Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown streamId=1edb61fa-1f3c-4b29-ac01-bab7cc5db5f8 SSE stream opened
2026-10-24T14:50:56.074Z [INFO] [DAEMON] daemon stopped
2026-10-24T14:50:56.074Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=client_disconnect connectReason=unknown durationMs=2.306160000000091 eventFramesWriteSettled=1 lastEventIdWritten=1 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=1edb61fa-1f3c-4b29-ac01-bab7cc5db5f8 SSE stream closed
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:56.128Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:56.128Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:56.130Z [INFO] [DAEMON] ideEnvPresent=false primary=/startdir/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:35373 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=38954 runQwenServeToListenMs=63
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:50:56.141Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown streamId=38c9d6b1-40ce-4477-9f31-a110d455de89 SSE stream opened
2026-10-24T14:50:56.143Z [INFO] [DAEMON] daemon stopped
2026-10-24T14:50:56.143Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=client_disconnect connectReason=unknown durationMs=2.366132999995898 eventFramesWriteSettled=1 lastEventIdWritten=1 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=1791618888251 slowWarningCount=0 streamId=38c9d6b1-40ce-4477-9f31-a110d455de89 SSE stream closed
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:56.145Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:56.145Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:56.147Z [INFO] [DAEMON] ideEnvPresent=false primary=/startdir/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:32797 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=38971 runQwenServeToListenMs=11
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:50:56.157Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown lastEventId=17 streamId=564c3a1c-6b40-42bb-9cfa-8065e733133c SSE stream opened
2026-10-24T14:50:56.159Z [INFO] [DAEMON] daemon stopped
2026-10-24T14:50:56.160Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=client_disconnect connectReason=unknown durationMs=2.582180999997945 eventFramesWriteSettled=1 lastEventIdWritten=42 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=564c3a1c-6b40-42bb-9cfa-8065e733133c SSE stream closed
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:56.162Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:56.162Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:56.164Z [INFO] [DAEMON] ideEnvPresent=false primary=/startdir/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:33459 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=38988 runQwenServeToListenMs=11
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:50:56.175Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown lastEventId=17 streamId=86741357-2648-4dc7-af24-6171f9afd3ca SSE stream opened
2026-10-24T14:50:56.177Z [INFO] [DAEMON] daemon stopped
2026-10-24T14:50:56.177Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=client_disconnect connectReason=unknown durationMs=2.2180020000014338 eventFramesWriteSettled=1 lastEventIdWritten=1 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=86741357-2648-4dc7-af24-6171f9afd3ca SSE stream closed
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:56.179Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:56.180Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:56.181Z [INFO] [DAEMON] ideEnvPresent=false primary=/startdir/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:42621 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=39006 runQwenServeToListenMs=11
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
qwen serve: rejected X-Qwen-Event-Epoch not a valid token! (expected [A-Za-z0-9_-]{1,64})
2026-10-24T14:50:56.203Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown lastEventId=17 streamId=b4891714-6734-4809-879b-aa651b368c2d SSE stream opened
2026-10-24T14:50:56.205Z [INFO] [DAEMON] daemon stopped
2026-10-24T14:50:56.205Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=client_disconnect connectReason=unknown durationMs=2.860566999996081 eventFramesWriteSettled=1 lastEventIdWritten=1 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=b4891714-6734-4809-879b-aa651b368c2d SSE stream closed
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:56.208Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:56.208Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:56.210Z [INFO] [DAEMON] ideEnvPresent=false primary=/startdir/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:43881 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=39034 runQwenServeToListenMs=11
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:50:56.220Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown streamId=7477b28b-6d1a-4afd-a540-37fc851000a0 SSE stream opened
2026-10-24T14:50:56.223Z [INFO] [DAEMON] daemon stopped
2026-10-24T14:50:56.223Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=client_disconnect connectReason=unknown durationMs=2.934718000004068 eventFramesWriteSettled=1 lastEventIdWritten=1 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=7477b28b-6d1a-4afd-a540-37fc851000a0 SSE stream closed
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:56.227Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:56.227Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:56.228Z [INFO] [DAEMON] ideEnvPresent=false primary=/startdir/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:34721 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=39052 runQwenServeToListenMs=11
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:50:56.240Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown streamId=e29d4c8e-55a5-4ba9-9163-9d505cb98da6 SSE stream opened
2026-10-24T14:50:56.243Z [INFO] [DAEMON] daemon stopped
2026-10-24T14:50:56.243Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=client_disconnect connectReason=unknown durationMs=3.0091279999978724 eventFramesWriteSettled=1 lastEventIdWritten=1 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=e29d4c8e-55a5-4ba9-9163-9d505cb98da6 SSE stream closed
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:56.252Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:56.252Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:56.254Z [INFO] [DAEMON] ideEnvPresent=false primary=/startdir/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:46283 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=39078 runQwenServeToListenMs=17
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:50:56.264Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown streamId=13e17ffc-e318-4e7e-b125-a4f53df806b1 SSE stream opened
2026-10-24T14:50:56.266Z [INFO] [DAEMON] daemon stopped
2026-10-24T14:50:56.266Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=client_disconnect connectReason=unknown durationMs=2.370720999999321 eventFramesWriteSettled=1 lastEventIdWritten=1 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=13e17ffc-e318-4e7e-b125-a4f53df806b1 SSE stream closed
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:56.384Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:56.384Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:56.386Z [INFO] [DAEMON] ideEnvPresent=false primary=/startdir/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:34159 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=39214 runQwenServeToListenMs=123
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
qwen serve: rejected ?maxQueued "" (not a decimal integer)
2026-10-24T14:50:56.400Z [WARN] [DAEMON] route=GET /session/sess-A/events sessionId=sess-A durationMs=1 status=400 request completed
2026-10-24T14:50:56.402Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:56.425Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:56.425Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:56.426Z [INFO] [DAEMON] ideEnvPresent=false primary=/startdir/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:42381 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=39251 runQwenServeToListenMs=26
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
qwen serve: rejected ?maxQueued "abc" (not a decimal integer)
2026-10-24T14:50:56.450Z [WARN] [DAEMON] route=GET /session/sess-A/events sessionId=sess-A durationMs=1 status=400 request completed
2026-10-24T14:50:56.451Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:56.454Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:56.454Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:56.455Z [INFO] [DAEMON] ideEnvPresent=false primary=/startdir/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:42137 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=39280 runQwenServeToListenMs=11
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
qwen serve: rejected ?maxQueued "0" (outside [16, 2048])
2026-10-24T14:50:56.466Z [WARN] [DAEMON] route=GET /session/sess-A/events sessionId=sess-A durationMs=1 status=400 request completed
qwen serve: rejected ?maxQueued "15" (outside [16, 2048])
2026-10-24T14:50:56.469Z [WARN] [DAEMON] route=GET /session/sess-A/events sessionId=sess-A durationMs=1 status=400 request completed
qwen serve: rejected ?maxQueued "2049" (outside [16, 2048])
2026-10-24T14:50:56.472Z [WARN] [DAEMON] route=GET /session/sess-A/events sessionId=sess-A durationMs=1 status=400 request completed
qwen serve: rejected ?maxQueued "9999" (outside [16, 2048])
2026-10-24T14:50:56.474Z [WARN] [DAEMON] route=GET /session/sess-A/events sessionId=sess-A durationMs=1 status=400 request completed
2026-10-24T14:50:56.475Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:56.478Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:56.478Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:56.480Z [INFO] [DAEMON] ideEnvPresent=false primary=/startdir/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:34345 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=39309 runQwenServeToListenMs=15
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:50:56.495Z [WARN] [DAEMON] route=GET /session/missing/events sessionId=missing durationMs=1 status=404 request completed
2026-10-24T14:50:56.497Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:56.562Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:56.563Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:56.564Z [INFO] [DAEMON] ideEnvPresent=false primary=/startdir/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:41963 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=39388 runQwenServeToListenMs=11
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:50:56.575Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown streamId=a13851f2-5dc1-45eb-b0b2-67398e7155e1 SSE stream opened
qwen serve: bridge iterator error (session sess-A): agent died
2026-10-24T14:50:56.575Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=iterator_error connectReason=unknown durationMs=0.6106839999993099 eventFramesWriteSettled=2 lastEventIdWritten=1 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=a13851f2-5dc1-45eb-b0b2-67398e7155e1 SSE stream closed
2026-10-24T14:50:56.577Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:56.590Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:56.590Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:56.592Z [INFO] [DAEMON] ideEnvPresent=false primary=/startdir/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:42073 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=39417 runQwenServeToListenMs=12
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:50:56.616Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown streamId=23721ebe-b86f-434e-ad51-686132a0a9d0 SSE stream opened
qwen serve: bridge iterator error (session sess-A): AcpSessionBridge initialize timed out after 5000ms [init_timeout]
2026-10-24T14:50:56.617Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=iterator_error connectReason=unknown durationMs=0.7320939999990514 eventFramesWriteSettled=2 lastEventIdWritten=1 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=23721ebe-b86f-434e-ad51-686132a0a9d0 SSE stream closed
2026-10-24T14:50:56.618Z [INFO] [DAEMON] daemon stopped
qwen serve listening on http://127.0.0.1:43861 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
2026-10-24T14:50:56.636Z [INFO] [DAEMON] daemon stopped
2026-10-24T14:50:56.636Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=client_disconnect connectReason=unknown durationMs=2.516736999998102 eventFramesWriteSettled=1 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=b01c867e-5da4-4253-b9cf-27e208baaf62 SSE stream closed
qwen serve listening on http://127.0.0.1:37703 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
2026-10-24T14:50:56.652Z [INFO] [DAEMON] daemon stopped
2026-10-24T14:50:56.653Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=client_disconnect connectReason=unknown durationMs=2.557455000001937 eventFramesWriteSettled=1 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=ccce580f-c87a-4589-8b38-a5867498077b SSE stream closed
qwen serve listening on http://127.0.0.1:39341 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
2026-10-24T14:50:56.670Z [INFO] [DAEMON] daemon stopped
qwen serve listening on http://127.0.0.1:34237 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
2026-10-24T14:50:56.691Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:56.693Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:56.693Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:56.695Z [INFO] [DAEMON] ideEnvPresent=false primary=/startdir/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:34521 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=39520 runQwenServeToListenMs=11
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:50:56.718Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown lastEventId=17 streamId=4aa5dfe3-29b1-4488-af4d-24bce43e6094 SSE stream opened
2026-10-24T14:50:56.718Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=source_complete connectReason=unknown durationMs=0.5461219999997411 eventFramesWriteSettled=0 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=4aa5dfe3-29b1-4488-af4d-24bce43e6094 SSE stream closed
2026-10-24T14:50:56.719Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:56.748Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:56.749Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:56.750Z [INFO] [DAEMON] ideEnvPresent=false primary=/startdir/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:43453 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=39574 runQwenServeToListenMs=29
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
qwen serve: rejected Last-Event-ID "abc" (not a decimal integer)
2026-10-24T14:50:56.759Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown streamId=3565516c-cc95-4602-a608-0286efa19aac SSE stream opened
2026-10-24T14:50:56.760Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=source_complete connectReason=unknown durationMs=0.4067480000012438 eventFramesWriteSettled=0 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=3565516c-cc95-4602-a608-0286efa19aac SSE stream closed
qwen serve: rejected Last-Event-ID "-1" (not a decimal integer)
2026-10-24T14:50:56.762Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown streamId=3e45d72e-3a22-4170-b7ba-a03dd8ee017b SSE stream opened
2026-10-24T14:50:56.762Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=source_complete connectReason=unknown durationMs=0.2579979999936768 eventFramesWriteSettled=0 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=3e45d72e-3a22-4170-b7ba-a03dd8ee017b SSE stream closed
qwen serve: rejected Last-Event-ID "1.5e10z" (not a decimal integer)
2026-10-24T14:50:56.763Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown streamId=f83ee082-103d-46e8-b996-5a7536c34dc1 SSE stream opened
2026-10-24T14:50:56.763Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=source_complete connectReason=unknown durationMs=0.27671299999929033 eventFramesWriteSettled=0 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=f83ee082-103d-46e8-b996-5a7536c34dc1 SSE stream closed
2026-10-24T14:50:56.764Z [INFO] [DAEMON] daemon stopped
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: fs audit emit is the default no-op — 1 event(s) dropped so far. Latest type=fs.access (intent=list pathHash=713ce10cf2b62b25). Inject deps.fsFactory in createServeApp to wire audit into the EventBus.
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: fs audit emit is the default no-op — 1 event(s) dropped so far. Latest type=fs.denied (errorKind=untrusted_workspace intent=write pathHash=6f085b49dea26e77). Inject deps.fsFactory in createServeApp to wire audit into the EventBus.
[serve] auth.device-flow: provider=qwen-oauth deviceFlowId=7e6b6b45... clientId=- status=started expiresInMs=599999
[serve] auth.device-flow: provider=qwen-oauth deviceFlowId=26ae7637... clientId=- status=started expiresInMs=600000
[serve] auth.device-flow: provider=qwen-oauth deviceFlowId=5782c783... clientId=- status=started expiresInMs=600000
[serve] auth.device-flow: provider=qwen-oauth deviceFlowId=1c982f98... clientId=sdk-A status=started expiresInMs=600000
[serve] auth.device-flow: provider=qwen-oauth deviceFlowId=1c982f98... clientId=sdk-B status=started hint="take-over (per-provider singleton; original initiator=sdk-A)"
[serve] auth.device-flow: provider=qwen-oauth deviceFlowId=5aec354a... clientId=- status=started expiresInMs=600000
[serve] auth.device-flow: provider=qwen-oauth deviceFlowId=866ac4ff... clientId=- status=started expiresInMs=600000
[serve] auth.device-flow: provider=qwen-oauth deviceFlowId=d3f0ba3b... clientId=- status=started expiresInMs=600000
[serve] auth.device-flow: provider=qwen-oauth deviceFlowId=d3f0ba3b... clientId=- status=cancelled
[serve] auth.device-flow: provider=qwen-oauth deviceFlowId=e9d3a9b4... clientId=- status=started expiresInMs=600000
[serve] auth.device-flow: provider=qwen-oauth deviceFlowId=89a1c67a... clientId=sdk-A status=started expiresInMs=600000
[serve] auth.device-flow: provider=qwen-oauth deviceFlowId=7c71926b... clientId=- status=started expiresInMs=600000
[serve] auth.device-flow: provider=qwen-oauth deviceFlowId=d0b8279c... clientId=- status=started expiresInMs=600000
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:57.652Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:57.652Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:57.654Z [INFO] [DAEMON] ideEnvPresent=false primary=/startdir/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:36353 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=40479 runQwenServeToListenMs=17
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:50:57.665Z [INFO] [DAEMON] sessionId=sess-A promptId=8a28adb6-eb36-4187-a114-61710caa9baf prompt enqueued
2026-10-24T14:50:57.665Z [INFO] [DAEMON] route=POST /session/sess-A/prompt sessionId=sess-A durationMs=1 status=202 request completed
2026-10-24T14:50:57.868Z [INFO] [DAEMON] daemon stopped
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:58.352Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:58.352Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:58.354Z [INFO] [DAEMON] ideEnvPresent=false primary=/startdir/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:40161 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=41179 runQwenServeToListenMs=16
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:50:58.364Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown streamId=181822ec-79c6-40f7-b29e-d869ab2d1e20 SSE stream opened
2026-10-24T14:50:58.615Z [WARN] [DAEMON] sessionId=sess-A connectReason=unknown idleForMs=250 streamId=181822ec-79c6-40f7-b29e-d869ab2d1e20 timeoutMs=200 SSE writer idle timeout
2026-10-24T14:50:58.615Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=writer_idle_timeout connectReason=unknown durationMs=251.173483999999 eventFramesWriteSettled=1 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=181822ec-79c6-40f7-b29e-d869ab2d1e20 terminalEventType=client_evicted SSE stream closed
2026-10-24T14:50:58.617Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:58.645Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:58.645Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:58.647Z [INFO] [DAEMON] ideEnvPresent=false primary=/startdir/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:46575 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=41472 runQwenServeToListenMs=21
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:50:58.658Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown streamId=8ac4d8b8-ed5c-446e-a52c-17db87b61db0 SSE stream opened
2026-10-24T14:50:59.272Z [INFO] [DAEMON] daemon stopped
2026-10-24T14:50:59.273Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=client_disconnect connectReason=unknown durationMs=614.9738540000035 eventFramesWriteSettled=1 lastEventIdWritten=1 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=8ac4d8b8-ed5c-446e-a52c-17db87b61db0 SSE stream closed
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:59.282Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:59.282Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:59.283Z [INFO] [DAEMON] ideEnvPresent=false primary=/startdir/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:33303 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=42107 runQwenServeToListenMs=17
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:50:59.293Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown streamId=62b52a3a-9335-4adb-b282-ea4bac243be1 SSE stream opened
2026-10-24T14:51:00.005Z [INFO] [DAEMON] daemon stopped
2026-10-24T14:51:00.022Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=client_disconnect connectReason=unknown durationMs=728.3528920000026 eventFramesWriteSettled=5 lastEventIdWritten=5 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=62b52a3a-9335-4adb-b282-ea4bac243be1 SSE stream closed
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:00.029Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:00.029Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-server-suite-oJptlG/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:51:00.030Z [INFO] [DAEMON] ideEnvPresent=false primary=/startdir/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:38191 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=42864 runQwenServeToListenMs=24
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:00.049Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown streamId=5010c9d9-d430-4938-aae6-2351b7853c3d SSE stream opened
2026-10-24T14:51:00.412Z [INFO] [DAEMON] daemon stopped
2026-10-24T14:51:00.413Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=1 closeReason=client_disconnect connectReason=unknown durationMs=363.42272900000535 eventFramesWriteSettled=1 lastEventIdWritten=1 maxDrainWaitMs=150.4171620000052 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=5010c9d9-d430-4938-aae6-2351b7853c3d SSE stream closed
qwen serve: bridge error (POST /session): Error: legacy-stderr-test-boom
at spawnImpl (/startdir/src/qwen-code/packages/cli/src/serve/server.test.ts:33851:15)
at Object.spawnOrAttach (/startdir/src/qwen-code/packages/cli/src/serve/server.test.ts:2118:28)
at /startdir/src/qwen-code/packages/cli/src/serve/routes/session.ts:3025:44
at Layer.handleRequest (/startdir/src/qwen-code/node_modules/router/lib/layer.js:152:17)
at next (/startdir/src/qwen-code/node_modules/router/lib/route.js:157:13)
at passthrough (/startdir/src/qwen-code/packages/cli/src/serve/auth.ts:556:8)
at Layer.handleRequest (/startdir/src/qwen-code/node_modules/router/lib/layer.js:152:17)
at next (/startdir/src/qwen-code/node_modules/router/lib/route.js:157:13)
at Route.dispatch (/startdir/src/qwen-code/node_modules/router/lib/route.js:117:3)
at handle (/startdir/src/qwen-code/node_modules/router/index.js:435:11)
qwen serve: bridge error (POST /session/:id/load session=live-active-root): Error: Active Live session is outside its isolated conversation directory.
at /startdir/src/qwen-code/packages/cli/src/serve/routes/session.ts:3669:23
at processTicksAndRejections (node:internal/process/task_queues:104:5)
at SessionArchiveCoordinator.runSharedMany (/startdir/src/qwen-code/packages/cli/src/serve/server/session-archive.ts:192:14)
at /startdir/src/qwen-code/packages/cli/src/serve/routes/session.ts:3547:25
✓ src/serve/server.test.ts (1085 tests) 36366ms
✓ createServeApp > GET /workspace/:id/sessions > refreshes after TTL when a file changes after the scan already read it 2056ms
✓ createServeApp > GET /workspace/:id/sessions > reports organized session truncation in the response 9442ms
✓ T2.9 SSE writer idle timeout (issue #4514) > does not evict when the writer idle timeout is unset (legacy contract) 639ms
✓ T2.9 SSE writer idle timeout (issue #4514) > does NOT evict when active writes keep refreshing lastWriteAt (#4514 T2.9 wenshao review) 749ms
✓ T2.9 SSE writer idle timeout (issue #4514) > does NOT evict when a back-pressured write drains within the idle budget 402ms
(node:4571) 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:4571) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 end listeners added to [Socket]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
(node:4571) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 finish listeners added to [Socket]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
(node:4571) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 error listeners added to [Socket]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
(node:4571) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 close listeners added to [Socket]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
(node:4571) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [Socket]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
(node:4571) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 finish listeners added to [Socket]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
(node:4571) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 error listeners added to [Socket]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
(node:4571) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 close listeners added to [Socket]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
(node:4571) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 data listeners added to [Socket]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
qwen serve: getMcpClientAccounting failed: manager.getMcpClientAccounting is not a function
qwen serve: getMcpClientAccounting failed: manager.getMcpClientAccounting is not a function
qwen serve: getMcpClientAccounting failed: manager.getMcpClientAccounting is not a function
qwen serve: ignoring invalid QWEN_SERVE_MCP_CLIENT_BUDGET='0x10' (expected positive integer); MCP budget enforcement disabled for this child.
qwen serve: ignoring invalid QWEN_SERVE_MCP_CLIENT_BUDGET='1e2' (expected positive integer); MCP budget enforcement disabled for this child.
qwen serve: ignoring invalid QWEN_SERVE_MCP_CLIENT_BUDGET='1.0' (expected positive integer); MCP budget enforcement disabled for this child.
qwen serve: ignoring invalid QWEN_SERVE_MCP_CLIENT_BUDGET='0b101' (expected positive integer); MCP budget enforcement disabled for this child.
qwen serve: ignoring invalid QWEN_SERVE_MCP_CLIENT_BUDGET='5 abc' (expected positive integer); MCP budget enforcement disabled for this child.
qwen serve: ignoring invalid QWEN_SERVE_MCP_CLIENT_BUDGET='abc' (expected positive integer); MCP budget enforcement disabled for this child.
qwen serve: ignoring invalid QWEN_SERVE_MCP_CLIENT_BUDGET='-5' (expected positive integer); MCP budget enforcement disabled for this child.
qwen serve: ignoring invalid QWEN_SERVE_MCP_CLIENT_BUDGET='0' (expected positive integer); MCP budget enforcement disabled for this child.
qwen serve: ignoring invalid QWEN_SERVE_MCP_CLIENT_BUDGET=' ' (expected positive integer); MCP budget enforcement disabled for this child.
✓ src/acp-integration/acpAgent.test.ts (498 tests) 33306ms
✓ src/commands/review/compose-review.test.ts (538 tests) 1595ms
✓ convergence telemetry — volume, carried in the marker > clamps the count at its origin, so every surface agrees 719ms
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:46.739Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:46.739Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /build/.qwen/debug/daemon/daemon.log
2026-10-24T14:51:46.765Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-live-task-keepalive-97IR4F/workspace secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:35561 (mode=http-bridge, workspace=/tmp/qws-live-task-keepalive-97IR4F/workspace)
qwen serve: bound to workspace "/tmp/qws-live-task-keepalive-97IR4F/workspace"
qwen serve: startup timing: processToListenMs=2037 runQwenServeToListenMs=80
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:46.867Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:46.875Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:46.875Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:51:46.880Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-skill-settings-UBc6ve secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:42695 (mode=http-bridge, workspace=/tmp/qws-skill-settings-UBc6ve)
qwen serve: bound to workspace "/tmp/qws-skill-settings-UBc6ve"
qwen serve: startup timing: processToListenMs=2119 runQwenServeToListenMs=15
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:46.895Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:46.905Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:46.905Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:51:46.907Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-skill-dual-fawfMq secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:45033 (mode=http-bridge, workspace=/tmp/qws-skill-dual-fawfMq)
qwen serve: bound to workspace "/tmp/qws-skill-dual-fawfMq"
qwen serve: startup timing: processToListenMs=2144 runQwenServeToListenMs=13
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:46.917Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:46.920Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:46.920Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:51:46.921Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-skill-batch-pt15ct secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:42487 (mode=http-bridge, workspace=/tmp/qws-skill-batch-pt15ct)
qwen serve: bound to workspace "/tmp/qws-skill-batch-pt15ct"
qwen serve: startup timing: processToListenMs=2157 runQwenServeToListenMs=9
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:46.932Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:48.742Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:48.742Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-dl-KpQGxB/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:51:48.743Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-dl-KpQGxB secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:44139 (mode=http-bridge, workspace=/tmp/qws-dl-KpQGxB)
qwen serve: bound to workspace "/tmp/qws-dl-KpQGxB"
qwen serve: startup timing: processToListenMs=3979 runQwenServeToListenMs=10
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:48.838Z [WARN] [DAEMON] route=GET /missing-0 durationMs=6 status=404 request completed
2026-10-24T14:51:48.844Z [WARN] [DAEMON] route=GET /missing-1 durationMs=2 status=404 request completed
2026-10-24T14:51:48.845Z [WARN] [DAEMON] route=GET /missing-2 durationMs=0 status=404 request completed
2026-10-24T14:51:48.846Z [WARN] [DAEMON] route=GET /missing-3 durationMs=0 status=404 request completed
2026-10-24T14:51:48.847Z [WARN] [DAEMON] route=GET /missing-4 durationMs=0 status=404 request completed
2026-10-24T14:51:48.848Z [WARN] [DAEMON] route=GET /missing-5 durationMs=1 status=404 request completed
2026-10-24T14:51:48.848Z [WARN] [DAEMON] route=GET /missing-6 durationMs=0 status=404 request completed
2026-10-24T14:51:48.849Z [WARN] [DAEMON] route=GET /missing-7 durationMs=0 status=404 request completed
2026-10-24T14:51:48.849Z [WARN] [DAEMON] route=GET /missing-8 durationMs=0 status=404 request completed
2026-10-24T14:51:48.850Z [WARN] [DAEMON] route=GET /missing-9 durationMs=0 status=404 request completed
2026-10-24T14:51:48.851Z [WARN] [DAEMON] route=GET /missing-10 durationMs=0 status=404 request completed
2026-10-24T14:51:48.851Z [WARN] [DAEMON] route=GET /missing-11 durationMs=0 status=404 request completed
2026-10-24T14:51:48.852Z [WARN] [DAEMON] route=GET /missing-12 durationMs=0 status=404 request completed
2026-10-24T14:51:48.852Z [WARN] [DAEMON] route=GET /missing-13 durationMs=0 status=404 request completed
2026-10-24T14:51:48.852Z [WARN] [DAEMON] route=GET /missing-14 durationMs=0 status=404 request completed
2026-10-24T14:51:48.853Z [WARN] [DAEMON] route=GET /missing-15 durationMs=0 status=404 request completed
2026-10-24T14:51:48.853Z [WARN] [DAEMON] route=GET /missing-16 durationMs=0 status=404 request completed
2026-10-24T14:51:48.854Z [WARN] [DAEMON] route=GET /missing-17 durationMs=0 status=404 request completed
2026-10-24T14:51:48.855Z [WARN] [DAEMON] route=GET /missing-18 durationMs=1 status=404 request completed
2026-10-24T14:51:48.855Z [WARN] [DAEMON] route=GET /missing-19 durationMs=0 status=404 request completed
2026-10-24T14:51:48.856Z [WARN] [DAEMON] route=GET /missing-20 durationMs=0 status=404 request completed
2026-10-24T14:51:48.857Z [WARN] [DAEMON] route=GET /missing-21 durationMs=0 status=404 request completed
2026-10-24T14:51:48.857Z [WARN] [DAEMON] route=GET /missing-22 durationMs=0 status=404 request completed
2026-10-24T14:51:48.858Z [WARN] [DAEMON] route=GET /missing-23 durationMs=0 status=404 request completed
2026-10-24T14:51:48.858Z [WARN] [DAEMON] route=GET /missing-24 durationMs=0 status=404 request completed
2026-10-24T14:51:48.859Z [WARN] [DAEMON] route=GET /missing-25 durationMs=0 status=404 request completed
2026-10-24T14:51:48.859Z [WARN] [DAEMON] route=GET /missing-26 durationMs=0 status=404 request completed
2026-10-24T14:51:48.860Z [WARN] [DAEMON] route=GET /missing-27 durationMs=0 status=404 request completed
2026-10-24T14:51:48.860Z [WARN] [DAEMON] route=GET /missing-28 durationMs=0 status=404 request completed
2026-10-24T14:51:48.860Z [WARN] [DAEMON] route=GET /missing-29 durationMs=0 status=404 request completed
2026-10-24T14:51:48.861Z [WARN] [DAEMON] route=GET /missing-30 durationMs=0 status=404 request completed
2026-10-24T14:51:48.861Z [WARN] [DAEMON] route=GET /missing-31 durationMs=0 status=404 request completed
2026-10-24T14:51:48.862Z [WARN] [DAEMON] route=GET /missing-32 durationMs=0 status=404 request completed
2026-10-24T14:51:48.885Z [WARN] [DAEMON] route=GET /missing-33 durationMs=0 status=404 request completed
2026-10-24T14:51:48.886Z [WARN] [DAEMON] route=GET /missing-34 durationMs=0 status=404 request completed
2026-10-24T14:51:48.886Z [WARN] [DAEMON] route=GET /missing-35 durationMs=0 status=404 request completed
2026-10-24T14:51:48.887Z [WARN] [DAEMON] route=GET /missing-36 durationMs=0 status=404 request completed
2026-10-24T14:51:48.887Z [WARN] [DAEMON] route=GET /missing-37 durationMs=0 status=404 request completed
2026-10-24T14:51:48.887Z [WARN] [DAEMON] route=GET /missing-38 durationMs=0 status=404 request completed
2026-10-24T14:51:48.888Z [WARN] [DAEMON] route=GET /missing-39 durationMs=0 status=404 request completed
2026-10-24T14:51:48.888Z [WARN] [DAEMON] route=GET /missing-40 durationMs=0 status=404 request completed
2026-10-24T14:51:48.889Z [WARN] [DAEMON] route=GET /missing-41 durationMs=0 status=404 request completed
2026-10-24T14:51:48.889Z [WARN] [DAEMON] route=GET /missing-42 durationMs=0 status=404 request completed
2026-10-24T14:51:48.890Z [WARN] [DAEMON] route=GET /missing-43 durationMs=0 status=404 request completed
2026-10-24T14:51:48.890Z [WARN] [DAEMON] route=GET /missing-44 durationMs=0 status=404 request completed
2026-10-24T14:51:48.890Z [WARN] [DAEMON] route=GET /missing-45 durationMs=0 status=404 request completed
2026-10-24T14:51:48.891Z [WARN] [DAEMON] route=GET /missing-46 durationMs=0 status=404 request completed
2026-10-24T14:51:48.891Z [WARN] [DAEMON] route=GET /missing-47 durationMs=0 status=404 request completed
2026-10-24T14:51:48.891Z [WARN] [DAEMON] route=GET /missing-48 durationMs=0 status=404 request completed
2026-10-24T14:51:48.892Z [WARN] [DAEMON] route=GET /missing-49 durationMs=0 status=404 request completed
2026-10-24T14:51:48.892Z [WARN] [DAEMON] route=GET /missing-50 durationMs=0 status=404 request completed
2026-10-24T14:51:48.893Z [WARN] [DAEMON] route=GET /missing-51 durationMs=0 status=404 request completed
2026-10-24T14:51:48.893Z [WARN] [DAEMON] route=GET /missing-52 durationMs=0 status=404 request completed
2026-10-24T14:51:48.893Z [WARN] [DAEMON] route=GET /missing-53 durationMs=0 status=404 request completed
2026-10-24T14:51:48.894Z [WARN] [DAEMON] route=GET /missing-54 durationMs=0 status=404 request completed
2026-10-24T14:51:48.894Z [WARN] [DAEMON] route=GET /missing-55 durationMs=0 status=404 request completed
2026-10-24T14:51:48.895Z [WARN] [DAEMON] route=GET /missing-56 durationMs=0 status=404 request completed
2026-10-24T14:51:48.895Z [WARN] [DAEMON] route=GET /missing-57 durationMs=0 status=404 request completed
2026-10-24T14:51:48.895Z [WARN] [DAEMON] route=GET /missing-58 durationMs=0 status=404 request completed
2026-10-24T14:51:48.896Z [WARN] [DAEMON] route=GET /missing-59 durationMs=0 status=404 request completed
2026-10-24T14:51:48.901Z [WARN] [DAEMON] status2xx=0 status3xx=0 status4xx=10 status5xx=0 statusOther=0 suppressed=10 access logs suppressed
2026-10-24T14:51:48.902Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:48.914Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:48.914Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
qwen serve: bound to workspace "/tmp/qws-tv-osGKXS"
qwen serve: startup timing: processToListenMs=4145 runQwenServeToListenMs=3
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on http://127.0.0.1:43103 (mode=http-bridge, workspace=/tmp/qws-tv-osGKXS)
qwen serve: runtime startup failed: Invalid telemetry configuration: Invalid QWEN_TELEMETRY_SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH: must be a positive integer no greater than 104857600, got ''.
2026-10-24T14:51:48.916Z [ERROR] [DAEMON] runtime startup failed
Error: Invalid telemetry configuration: Invalid QWEN_TELEMETRY_SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH: must be a positive integer no greater than 104857600, got ''.
at buildRuntime (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4658:15)
2026-10-24T14:51:48.929Z [ERROR] [DAEMON] daemon startup failed
Error: Invalid telemetry configuration: Invalid QWEN_TELEMETRY_SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH: must be a positive integer no greater than 104857600, got ''.
at buildRuntime (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4658:15)
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:48.932Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:48.932Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-ws-MDAhLE/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:33813 (mode=http-bridge, workspace=/tmp/qws-ws-MDAhLE/primary)
qwen serve: bound to workspace "/tmp/qws-ws-MDAhLE/primary"
qwen serve: startup timing: processToListenMs=4164 runQwenServeToListenMs=3
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:48.934Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-ws-MDAhLE/primary secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:48.949Z [INFO] [DAEMON] route=GET /capabilities durationMs=4 status=200 request completed
qwen serve: fs audit emit is the default no-op — 1 event(s) dropped so far. Latest type=fs.access (intent=write pathHash=d8c6e95e9593fb38). Inject deps.fsFactory in createServeApp to wire audit into the EventBus.
qwen serve: fs audit emit is the default no-op — 1 event(s) dropped so far. Latest type=fs.access (intent=write pathHash=40f1d3562ed8b3bb). Inject deps.fsFactory in createServeApp to wire audit into the EventBus.
2026-10-24T14:51:49.008Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.012Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.012Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-injected-fs-xftnGm/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:34375 (mode=http-bridge, workspace=/tmp/qws-injected-fs-xftnGm/workspace)
qwen serve: bound to workspace "/tmp/qws-injected-fs-xftnGm/workspace"
qwen serve: startup timing: processToListenMs=4243 runQwenServeToListenMs=2
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:49.013Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-injected-fs-xftnGm/workspace secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:49.019Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.025Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.025Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-voice-capability-ihYajD/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:43105 (mode=http-bridge, workspace=/tmp/qws-voice-capability-ihYajD/workspace)
qwen serve: bound to workspace "/tmp/qws-voice-capability-ihYajD/workspace"
qwen serve: startup timing: processToListenMs=4256 runQwenServeToListenMs=6
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:49.026Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-voice-capability-ihYajD/workspace secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:49.041Z [INFO] [DAEMON] route=GET /capabilities durationMs=1 status=200 request completed
2026-10-24T14:51:49.045Z [INFO] [DAEMON] route=GET /capabilities durationMs=2 status=200 request completed
2026-10-24T14:51:49.045Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.048Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.049Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-hot-remove-MSg8lJ/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:33427 (mode=http-bridge, workspace=/tmp/qws-hot-remove-MSg8lJ/primary)
qwen serve: bound to workspace "/tmp/qws-hot-remove-MSg8lJ/primary"
qwen serve: startup timing: processToListenMs=4280 runQwenServeToListenMs=2
2026-10-24T14:51:49.050Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-hot-remove-MSg8lJ/primary secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:49.070Z [INFO] [DAEMON] route=POST /workspaces durationMs=8 status=201 request completed
qwen serve: fs audit emit is the default no-op — 1 event(s) dropped so far. Latest type=fs.access (intent=write pathHash=11afa0b4994bce3a). Inject deps.fsFactory in createServeApp to wire audit into the EventBus.
2026-10-24T14:51:49.074Z [INFO] [DAEMON] route=GET /capabilities durationMs=1 status=200 request completed
2026-10-24T14:51:49.078Z [INFO] [DAEMON] route=DELETE /workspaces/10a2c3496d9f79c9 durationMs=2 status=200 request completed
2026-10-24T14:51:49.080Z [INFO] [DAEMON] route=GET /capabilities durationMs=0 status=200 request completed
2026-10-24T14:51:49.084Z [INFO] [DAEMON] route=POST /workspaces durationMs=2 status=201 request completed
qwen serve: fs audit emit is the default no-op — 1 event(s) dropped so far. Latest type=fs.access (intent=write pathHash=167b1056bb2007a4). Inject deps.fsFactory in createServeApp to wire audit into the EventBus.
2026-10-24T14:51:49.138Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.142Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.142Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-runtime-failure-z7jq8n/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-runtime-failure-z7jq8n/primary"
qwen serve: startup timing: processToListenMs=4373 runQwenServeToListenMs=2
2026-10-24T14:51:49.143Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-failure-z7jq8n/primary secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:36921 (mode=http-bridge, workspace=/tmp/qws-runtime-failure-z7jq8n/primary)
qwen serve: /acp WebSocket transport enabled on /acp
qwen serve: POST /workspaces failed for /tmp/qws-runtime-failure-z7jq8n/secondary: workspace service construction failed
2026-10-24T14:51:49.151Z [WARN] [DAEMON] route=POST /workspaces durationMs=2 status=500 request completed
2026-10-24T14:51:49.152Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.156Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.156Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-ws-08nji0/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-ws-08nji0/primary"
qwen serve: startup timing: processToListenMs=4387 runQwenServeToListenMs=2
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:49.157Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-ws-08nji0/primary secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:35387 (mode=http-bridge, workspace=/tmp/qws-ws-08nji0/primary)
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:49.172Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.175Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.176Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-ws-k9tTvl/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:39653 (mode=http-bridge, workspace=/tmp/qws-ws-k9tTvl/primary)
qwen serve: bound to workspace "/tmp/qws-ws-k9tTvl/primary"
qwen serve: startup timing: processToListenMs=4406 runQwenServeToListenMs=2
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:49.177Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-ws-k9tTvl/primary secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:49.183Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.187Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.187Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-ws-OhTHA3/debug/daemon/daemon.log
2026-10-24T14:51:49.188Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-ws-OhTHA3/primary secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:42309 (mode=http-bridge, workspace=/tmp/qws-ws-OhTHA3/primary)
qwen serve: bound to workspace "/tmp/qws-ws-OhTHA3/primary"
qwen serve: startup timing: processToListenMs=4425 runQwenServeToListenMs=11
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:49.197Z [INFO] [DAEMON] route=GET /capabilities durationMs=1 status=200 request completed
2026-10-24T14:51:49.198Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.201Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.201Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-tv-SCbEvQ/debug/daemon/daemon.log
2026-10-24T14:51:49.202Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-tv-SCbEvQ secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:44537 (mode=http-bridge, workspace=/tmp/qws-tv-SCbEvQ)
qwen serve: bound to workspace "/tmp/qws-tv-SCbEvQ"
qwen serve: startup timing: processToListenMs=4437 runQwenServeToListenMs=7
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:49.207Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.210Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.210Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-tm-MMtuvQ/debug/daemon/daemon.log
2026-10-24T14:51:49.211Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-tm-MMtuvQ secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:39349 (mode=http-bridge, workspace=/tmp/qws-tm-MMtuvQ)
qwen serve: bound to workspace "/tmp/qws-tm-MMtuvQ"
qwen serve: startup timing: processToListenMs=4446 runQwenServeToListenMs=7
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:49.216Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.219Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.219Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-pt-3ojnRp/debug/daemon/daemon.log
2026-10-24T14:51:49.219Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid permissionResponseTimeoutMs: NaN. Must be a non-negative integer (milliseconds, 0 = disabled / wait forever).
at runQwenServeImpl (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3946:13)
at Module.runQwenServe (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3028:12)
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:4423:7
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: memory budget 4096 MB (flag, 63364 MB available via host)
2026-10-24T14:51:49.249Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.249Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:41175 (mode=http-bridge, workspace=/tmp/qws-mem-p9GA6a)
qwen serve: bound to workspace "/tmp/qws-mem-p9GA6a"
qwen serve: startup timing: processToListenMs=4480 runQwenServeToListenMs=6
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:49.250Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-mem-p9GA6a secondary= daemon workspace roots initialized
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:49.262Z [INFO] [DAEMON] route=GET /daemon/status durationMs=3 status=200 request completed
2026-10-24T14:51:49.264Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve listening on http://127.0.0.1:35563 (mode=http-bridge, workspace=/tmp/qws-mem-8EXd6P)
2026-10-24T14:51:49.273Z [INFO] [DAEMON] daemon stopped
qwen serve listening on http://127.0.0.1:39531 (mode=http-bridge, workspace=/tmp/qws-mem-ZTbTA2)
2026-10-24T14:51:49.282Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: memory budget 4096 MB (flag, 16384 MB available via host)
2026-10-24T14:51:49.284Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.284Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:33201 (mode=http-bridge, workspace=/tmp/qws-mem-IMHmtg)
qwen serve: bound to workspace "/tmp/qws-mem-IMHmtg"
qwen serve: startup timing: processToListenMs=4515 runQwenServeToListenMs=2
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:49.285Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-mem-IMHmtg secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:49.291Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: memory budget 4096 MB (flag, 8192 MB available via host)
2026-10-24T14:51:49.293Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.293Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:37151 (mode=http-bridge, workspace=/tmp/qws-mem-3keSWc)
qwen serve: bound to workspace "/tmp/qws-mem-3keSWc"
qwen serve: startup timing: processToListenMs=4525 runQwenServeToListenMs=2
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:49.295Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-mem-3keSWc secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:49.308Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: memory budget 4096 MB (flag, 8192 MB available via host)
2026-10-24T14:51:49.310Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.310Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:38877 (mode=http-bridge, workspace=/tmp/qws-mem-74M4eC)
qwen serve: bound to workspace "/tmp/qws-mem-74M4eC"
qwen serve: startup timing: processToListenMs=4541 runQwenServeToListenMs=2
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:49.311Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-mem-74M4eC secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:49.317Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: memory budget 4096 MB (flag, 16384 MB available via host)
2026-10-24T14:51:49.319Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.319Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:45273 (mode=http-bridge, workspace=/tmp/qws-mem-wb4oet/primary)
qwen serve: bound to workspace "/tmp/qws-mem-wb4oet/primary"
qwen serve: startup timing: processToListenMs=4550 runQwenServeToListenMs=2
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:49.321Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-mem-wb4oet/primary secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:49.327Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: memory budget 1023 MB (flag, 1023 MB available via host); capped down from the configured 1024 MB; below the 1024 MB minimum budget
2026-10-24T14:51:49.329Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.329Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:33915 (mode=http-bridge, workspace=/tmp/qws-mem-azb5Uf)
qwen serve: bound to workspace "/tmp/qws-mem-azb5Uf"
qwen serve: startup timing: processToListenMs=4561 runQwenServeToListenMs=2
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:49.331Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-mem-azb5Uf secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:49.336Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: memory budget 4096 MB (flag, 8192 MB available via host)
2026-10-24T14:51:49.338Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.338Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:43449 (mode=http-bridge, workspace=/tmp/qws-mem-XsrISf/primary)
qwen serve: bound to workspace "/tmp/qws-mem-XsrISf/primary"
qwen serve: startup timing: processToListenMs=4569 runQwenServeToListenMs=2
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:49.339Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-mem-XsrISf/primary secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:49.346Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.348Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.348Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-it-2w5JdN/debug/daemon/daemon.log
2026-10-24T14:51:49.348Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid initializeTimeoutMs: 0. Must be a positive integer (milliseconds).
at runQwenServeImpl (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3927:13)
at Module.runQwenServe (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3028:12)
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:5159:7
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.351Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.351Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-it-eHYCY7/debug/daemon/daemon.log
2026-10-24T14:51:49.351Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid initializeTimeoutMs: NaN. Must be a positive integer (milliseconds).
at runQwenServeImpl (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3927:13)
at Module.runQwenServe (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3028:12)
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:5191:7
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.353Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.353Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-it-kbeGGu/debug/daemon/daemon.log
2026-10-24T14:51:49.353Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid initializeTimeoutMs: 2147483648. Exceeds maximum JS timer delay of 2147483647 ms (~24.8 days); Node would silently compress longer delays to 1ms.
at assertTimerDelayInRange (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:463:11)
at runQwenServeImpl (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3931:5)
at Module.runQwenServe (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3028:12)
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:5223:7
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.356Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.356Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-it-n7wfzc/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:40513 (mode=http-bridge, workspace=/tmp/qws-it-n7wfzc)
qwen serve: bound to workspace "/tmp/qws-it-n7wfzc"
qwen serve: startup timing: processToListenMs=4588 runQwenServeToListenMs=2
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:49.358Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-it-n7wfzc secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:49.369Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.380Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.380Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-tls-NeRe84/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:51:49.381Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-tls-NeRe84 secondary= daemon workspace roots initialized
2026-10-24T14:51:49.387Z [ERROR] [DAEMON] daemon startup failed
Error: --tls-cert "/tmp/qws-tls-NeRe84/cert.pem" and --tls-key "/tmp/qws-tls-NeRe84/key.pem" could not be loaded (do they match?): error:05800074:x509 certificate routines::key values mismatch
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:9016:11
at new Promise ()
at runQwenServeImpl (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:7595:16)
at Module.runQwenServe (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3028:12)
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:5676:7
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.391Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.391Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve listening on https://127.0.0.1:43555 (mode=http-bridge, workspace=/tmp/qws-tls-eWl7Hn)
qwen serve: bound to workspace "/tmp/qws-tls-eWl7Hn"
qwen serve: startup timing: processToListenMs=4623 runQwenServeToListenMs=3
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:49.400Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-tls-eWl7Hn secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: Daemon runtime stopped before mounting.
2026-10-24T14:51:49.406Z [ERROR] [DAEMON] runtime startup failed
Error: Daemon runtime stopped before mounting.
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:8420:17
at waitForRuntimeStartingForShutdown (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:2368:3)
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:8721:17
2026-10-24T14:51:49.406Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.411Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.411Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:51:49.411Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid maxSessions: NaN. Must be a number >= 0 (0 / Infinity = unlimited).
at runQwenServeImpl (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3851:13)
at Module.runQwenServe (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3028:12)
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:5813:7
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.414Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.414Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:51:49.414Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid maxSessions: -1. Must be a number >= 0 (0 / Infinity = unlimited).
at runQwenServeImpl (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3851:13)
at Module.runQwenServe (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3028:12)
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:5813:7
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.418Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.418Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:51:49.418Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid maxTotalSessions: NaN. Must be a non-negative integer (0 / Infinity = unlimited).
at runQwenServeImpl (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3859:13)
at Module.runQwenServe (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3028:12)
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:5813:7
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.421Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.421Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:51:49.421Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid maxTotalSessions: -1. Must be a non-negative integer (0 / Infinity = unlimited).
at runQwenServeImpl (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3859:13)
at Module.runQwenServe (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3028:12)
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:5813:7
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.423Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.423Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:51:49.423Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid maxTotalSessions: 1.5. Must be a non-negative integer (0 / Infinity = unlimited).
at runQwenServeImpl (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3859:13)
at Module.runQwenServe (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3028:12)
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:5813:7
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.432Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.432Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:51:49.432Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid eventRingSize: 0. Must be a positive integer in [1, 1000000].
at runQwenServeImpl (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3878:13)
at Module.runQwenServe (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3028:12)
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:5813:7
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.435Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.435Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:51:49.436Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid eventRingSize: 1.5. Must be a positive integer in [1, 1000000].
at runQwenServeImpl (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3878:13)
at Module.runQwenServe (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3028:12)
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:5813:7
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.439Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.439Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:51:49.439Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid eventRingSize: Infinity. Must be a positive integer in [1, 1000000].
at runQwenServeImpl (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3878:13)
at Module.runQwenServe (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3028:12)
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:5813:7
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.442Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.442Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:51:49.442Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid compactedReplayMaxBytes: 0. Must be a positive safe integer in [1, 268435456].
at normalizeCompactedReplayMaxBytes (/startdir/src/qwen-code/packages/acp-bridge/src/replayWindowLimits.ts:50:11)
at runQwenServeImpl (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3885:5)
at Module.runQwenServe (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3028:12)
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:5813:7
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.445Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.445Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:51:49.446Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid compactedReplayMaxBytes: 1.5. Must be a positive safe integer in [1, 268435456].
at normalizeCompactedReplayMaxBytes (/startdir/src/qwen-code/packages/acp-bridge/src/replayWindowLimits.ts:50:11)
at runQwenServeImpl (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3885:5)
at Module.runQwenServe (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3028:12)
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:5813:7
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.449Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.449Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:51:49.449Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid compactedReplayMaxBytes: Infinity. Must be a positive safe integer in [1, 268435456].
at normalizeCompactedReplayMaxBytes (/startdir/src/qwen-code/packages/acp-bridge/src/replayWindowLimits.ts:50:11)
at runQwenServeImpl (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3885:5)
at Module.runQwenServe (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3028:12)
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:5813:7
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.463Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.463Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:51:49.463Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid externalToolGuard: omit it for off mode or set mode to 'required'.
at runQwenServeImpl (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3959:11)
at Module.runQwenServe (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3028:12)
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:5947:5
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.466Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.467Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:51:49.475Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid external tool guard endpoint: expected an origin-only loopback HTTP(S) URL.
at normalizeEndpoint (/startdir/src/qwen-code/packages/cli/src/serve/external-tool-guard-provider.ts:79:11)
at new RequiredExternalToolGuard (/startdir/src/qwen-code/packages/cli/src/serve/external-tool-guard-provider.ts:179:21)
at runQwenServeImpl (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3992:22)
at processTicksAndRejections (node:internal/process/task_queues:104:5)
at Module.runQwenServe (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3028:12)
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:5972:5
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.480Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.480Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-rt-zfDZ4V/debug/daemon/daemon.log
2026-10-24T14:51:49.480Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid sessionReapIntervalMs: -1. Must be a non-negative integer (milliseconds, 0 = disabled).
at runQwenServeImpl (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3913:13)
at Module.runQwenServe (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3028:12)
at runWithReaperOption (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6020:14)
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6049:5
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.484Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.484Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-rt-ip5Zf7/debug/daemon/daemon.log
2026-10-24T14:51:49.484Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid sessionReapIntervalMs: 1.5. Must be a non-negative integer (milliseconds, 0 = disabled).
at runQwenServeImpl (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3913:13)
at Module.runQwenServe (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3028:12)
at runWithReaperOption (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6020:14)
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6049:5
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.490Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.490Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-rt-F70rHo/debug/daemon/daemon.log
2026-10-24T14:51:49.490Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid sessionReapIntervalMs: NaN. Must be a non-negative integer (milliseconds, 0 = disabled).
at runQwenServeImpl (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3913:13)
at Module.runQwenServe (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3028:12)
at runWithReaperOption (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6020:14)
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6049:5
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.492Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.492Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-rt-NcPF2y/debug/daemon/daemon.log
2026-10-24T14:51:49.492Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid sessionReapIntervalMs: Infinity. Must be a non-negative integer (milliseconds, 0 = disabled).
at runQwenServeImpl (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3913:13)
at Module.runQwenServe (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3028:12)
at runWithReaperOption (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6020:14)
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6049:5
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.494Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.495Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-rt-e0h1Bn/debug/daemon/daemon.log
2026-10-24T14:51:49.495Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid sessionIdleTimeoutMs: -1. Must be a non-negative integer (milliseconds, 0 = disabled).
at runQwenServeImpl (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3920:13)
at Module.runQwenServe (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3028:12)
at runWithReaperOption (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6020:14)
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6049:5
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.497Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.497Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-rt-U8T5d7/debug/daemon/daemon.log
2026-10-24T14:51:49.497Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid sessionIdleTimeoutMs: 1.5. Must be a non-negative integer (milliseconds, 0 = disabled).
at runQwenServeImpl (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3920:13)
at Module.runQwenServe (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3028:12)
at runWithReaperOption (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6020:14)
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6049:5
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.499Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.499Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-rt-fu5ejp/debug/daemon/daemon.log
2026-10-24T14:51:49.499Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid sessionIdleTimeoutMs: NaN. Must be a non-negative integer (milliseconds, 0 = disabled).
at runQwenServeImpl (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3920:13)
at Module.runQwenServe (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3028:12)
at runWithReaperOption (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6020:14)
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6049:5
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.500Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.500Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-rt-yijlk0/debug/daemon/daemon.log
2026-10-24T14:51:49.500Z [ERROR] [DAEMON] daemon startup failed
TypeError: Invalid sessionIdleTimeoutMs: Infinity. Must be a non-negative integer (milliseconds, 0 = disabled).
at runQwenServeImpl (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3920:13)
at Module.runQwenServe (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3028:12)
at runWithReaperOption (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6020:14)
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6049:5
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.502Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.503Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-rt-pDHUAS/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:51:49.503Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-rt-pDHUAS secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:42831 (mode=http-bridge, workspace=/tmp/qws-rt-pDHUAS)
qwen serve: bound to workspace "/tmp/qws-rt-pDHUAS"
qwen serve: startup timing: processToListenMs=4739 runQwenServeToListenMs=7
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:49.509Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.511Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.511Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-rt-OaGwRk/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:51:49.512Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-rt-OaGwRk secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:39863 (mode=http-bridge, workspace=/tmp/qws-rt-OaGwRk)
qwen serve: bound to workspace "/tmp/qws-rt-OaGwRk"
qwen serve: startup timing: processToListenMs=4747 runQwenServeToListenMs=7
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:49.517Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.519Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.519Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:38915 (mode=http-bridge, workspace=/tmp/qws-runtime-trust-race-J1uY7i)
qwen serve: bound to workspace "/tmp/qws-runtime-trust-race-J1uY7i"
qwen serve: startup timing: processToListenMs=4750 runQwenServeToListenMs=2
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:49.520Z [WARN] [DAEMON] workspace=/tmp/qws-runtime-trust-race-J1uY7i workspace file writes are disabled because the bound workspace is not trusted
2026-10-24T14:51:49.520Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-trust-race-J1uY7i secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:49.527Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.531Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.531Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:43985 (mode=http-bridge, workspace=/tmp/qws-runtime-trust-blocked-i5bC4K)
qwen serve: bound to workspace "/tmp/qws-runtime-trust-blocked-i5bC4K"
qwen serve: startup timing: processToListenMs=4762 runQwenServeToListenMs=2
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:49.532Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-trust-blocked-i5bC4K secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:49.537Z [ERROR] [DAEMON] workspace trust reconciliation failed for /tmp/qws-runtime-trust-blocked-i5bC4K
Error: replacement failed
at Object. (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6241:15)
at Object.mockCall (file:///startdir/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///startdir/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at createDynamicWorkspaceRuntime (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:6300:28)
at Object.buildRuntime (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:7239:18)
at replace (/startdir/src/qwen-code/packages/cli/src/serve/workspace-trust-reconciler.ts:133:37)
at processTicksAndRejections (node:internal/process/task_queues:104:5)
at applySnapshot (/startdir/src/qwen-code/packages/cli/src/serve/workspace-trust-reconciler.ts:316:7)
at drain (/startdir/src/qwen-code/packages/cli/src/serve/workspace-trust-reconciler.ts:324:7)
at PathMutexRegistry.runExclusive (/startdir/src/qwen-code/packages/cli/src/serve/fs/path-mutex-registry.ts:20:14)
2026-10-24T14:51:49.588Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.592Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.592Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:35309 (mode=http-bridge, workspace=/tmp/qws-runtime-acp-cleanup-TY8NTN)
qwen serve: bound to workspace "/tmp/qws-runtime-acp-cleanup-TY8NTN"
qwen serve: startup timing: processToListenMs=4823 runQwenServeToListenMs=3
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:49.593Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-acp-cleanup-TY8NTN secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:49.598Z [ERROR] [DAEMON] workspace trust reconciliation failed for /tmp/qws-runtime-acp-cleanup-TY8NTN
AggregateError: Workspace bridge shutdown could not be confirmed.
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:6861:25
at processTicksAndRejections (node:internal/process/task_queues:104:5)
2026-10-24T14:51:49.649Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.653Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.653Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-runtime-fail-Hfx0Aq"
qwen serve: startup timing: processToListenMs=4884 runQwenServeToListenMs=3
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on http://127.0.0.1:42463 (mode=http-bridge, workspace=/tmp/qws-runtime-fail-Hfx0Aq)
2026-10-24T14:51:49.655Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-fail-Hfx0Aq secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-10-24T14:51:49.656Z [ERROR] [DAEMON] runtime startup failed
Error: runtime boom
at Object. (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6359:13)
at Object.mockCall (file:///startdir/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///startdir/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5263:15)
2026-10-24T14:51:49.656Z [ERROR] [DAEMON] daemon startup failed
Error: runtime boom
at Object. (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6359:13)
at Object.mockCall (file:///startdir/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///startdir/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5263:15)
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.667Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.667Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:41367 (mode=http-bridge, workspace=/tmp/qws-runtime-fail-close-qAx4bi)
qwen serve: bound to workspace "/tmp/qws-runtime-fail-close-qAx4bi"
qwen serve: startup timing: processToListenMs=4898 runQwenServeToListenMs=9
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:49.669Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-fail-close-qAx4bi secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-10-24T14:51:49.669Z [ERROR] [DAEMON] runtime startup failed
Error: runtime boom
at Object. (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6380:13)
at Object.mockCall (file:///startdir/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///startdir/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5263:15)
2026-10-24T14:51:49.670Z [ERROR] [DAEMON] daemon startup failed
Error: runtime boom
at Object. (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6380:13)
at Object.mockCall (file:///startdir/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///startdir/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5263:15)
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: --allow-origin: chrome-extension://qwen-test-extension
2026-10-24T14:51:49.674Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.674Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:42759 (mode=http-bridge, workspace=/tmp/qws-runtime-fail-X5QvQg)
qwen serve: bound to workspace "/tmp/qws-runtime-fail-X5QvQg"
qwen serve: startup timing: processToListenMs=4905 runQwenServeToListenMs=3
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:49.676Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-fail-X5QvQg secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-10-24T14:51:49.676Z [ERROR] [DAEMON] runtime startup failed
Error: runtime boom
at Object. (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6102:13)
at Object.mockCall (file:///startdir/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///startdir/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5263:15)
2026-10-24T14:51:49.679Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: --allow-origin: chrome-extension://qwen-test-extension
2026-10-24T14:51:49.687Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.688Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:38443 (mode=http-bridge, workspace=/tmp/qws-runtime-fail-QOwfUQ)
qwen serve: bound to workspace "/tmp/qws-runtime-fail-QOwfUQ"
qwen serve: startup timing: processToListenMs=4919 runQwenServeToListenMs=6
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:49.690Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-fail-QOwfUQ secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-10-24T14:51:49.690Z [ERROR] [DAEMON] runtime startup failed
Error: runtime boom
at Object. (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6102:13)
at Object.mockCall (file:///startdir/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///startdir/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5263:15)
2026-10-24T14:51:49.692Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: --allow-origin: chrome-extension://qwen-test-extension
2026-10-24T14:51:49.698Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.698Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:37849 (mode=http-bridge, workspace=/tmp/qws-runtime-fail-3XjHFQ)
qwen serve: bound to workspace "/tmp/qws-runtime-fail-3XjHFQ"
qwen serve: startup timing: processToListenMs=4929 runQwenServeToListenMs=4
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:49.700Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-fail-3XjHFQ secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-10-24T14:51:49.700Z [ERROR] [DAEMON] runtime startup failed
Error: runtime boom
at Object. (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6102:13)
at Object.mockCall (file:///startdir/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///startdir/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5263:15)
2026-10-24T14:51:49.703Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: --allow-origin: chrome-extension://qwen-test-extension
2026-10-24T14:51:49.710Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.710Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:33759 (mode=http-bridge, workspace=/tmp/qws-runtime-fail-SgW3Ov)
qwen serve: bound to workspace "/tmp/qws-runtime-fail-SgW3Ov"
qwen serve: startup timing: processToListenMs=4942 runQwenServeToListenMs=5
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:49.713Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-fail-SgW3Ov secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-10-24T14:51:49.713Z [ERROR] [DAEMON] runtime startup failed
Error: runtime boom
at Object. (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6102:13)
at Object.mockCall (file:///startdir/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///startdir/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5263:15)
2026-10-24T14:51:49.716Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: --allow-origin: chrome-extension://qwen-test-extension
2026-10-24T14:51:49.721Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.721Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:45183 (mode=http-bridge, workspace=/tmp/qws-runtime-fail-0XQZCz)
qwen serve: bound to workspace "/tmp/qws-runtime-fail-0XQZCz"
qwen serve: startup timing: processToListenMs=4953 runQwenServeToListenMs=4
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: client-hosted MCP tools are accepted over the WebSocket without auth. Set QWEN_SERVE_CLIENT_MCP_OVER_WS=0 to disable.
2026-10-24T14:51:49.723Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-fail-0XQZCz secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-10-24T14:51:49.724Z [ERROR] [DAEMON] runtime startup failed
Error: runtime boom
at Object. (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6102:13)
at Object.mockCall (file:///startdir/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///startdir/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5263:15)
2026-10-24T14:51:49.726Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: --allow-origin: chrome-extension://qwen-test-extension
2026-10-24T14:51:49.729Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.729Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:36985 (mode=http-bridge, workspace=/tmp/qws-runtime-fail-WkBViU)
qwen serve: bound to workspace "/tmp/qws-runtime-fail-WkBViU"
qwen serve: startup timing: processToListenMs=4961 runQwenServeToListenMs=3
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: client-hosted MCP tools are accepted over the WebSocket without auth. Set QWEN_SERVE_CLIENT_MCP_OVER_WS=0 to disable.
2026-10-24T14:51:49.731Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-fail-WkBViU secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-10-24T14:51:49.732Z [ERROR] [DAEMON] runtime startup failed
Error: runtime boom
at Object. (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6102:13)
at Object.mockCall (file:///startdir/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///startdir/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5263:15)
2026-10-24T14:51:49.735Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: --allow-origin: chrome-extension://qwen-test-extension
2026-10-24T14:51:49.740Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.740Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:43681 (mode=http-bridge, workspace=/tmp/qws-runtime-fail-TLRNCf)
qwen serve: bound to workspace "/tmp/qws-runtime-fail-TLRNCf"
qwen serve: startup timing: processToListenMs=4971 runQwenServeToListenMs=4
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: client-hosted MCP tools are accepted over the WebSocket without auth. Set QWEN_SERVE_CLIENT_MCP_OVER_WS=0 to disable.
2026-10-24T14:51:49.742Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-fail-TLRNCf secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-10-24T14:51:49.743Z [ERROR] [DAEMON] runtime startup failed
Error: runtime boom
at Object. (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6102:13)
at Object.mockCall (file:///startdir/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///startdir/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5263:15)
2026-10-24T14:51:49.746Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: --allow-origin: chrome-extension://qwen-test-extension
2026-10-24T14:51:49.755Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.755Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:33665 (mode=http-bridge, workspace=/tmp/qws-runtime-fail-yPQ9V4)
qwen serve: bound to workspace "/tmp/qws-runtime-fail-yPQ9V4"
qwen serve: startup timing: processToListenMs=4986 runQwenServeToListenMs=7
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:49.757Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-fail-yPQ9V4 secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-10-24T14:51:49.757Z [ERROR] [DAEMON] runtime startup failed
Error: runtime boom
at Object. (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6102:13)
at Object.mockCall (file:///startdir/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///startdir/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5263:15)
2026-10-24T14:51:49.760Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: --allow-origin: chrome-extension://qwen-test-extension
2026-10-24T14:51:49.767Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.767Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:33731 (mode=http-bridge, workspace=/tmp/qws-runtime-fail-1r0bnF)
qwen serve: bound to workspace "/tmp/qws-runtime-fail-1r0bnF"
qwen serve: startup timing: processToListenMs=4999 runQwenServeToListenMs=6
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:49.769Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-fail-1r0bnF secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-10-24T14:51:49.770Z [ERROR] [DAEMON] runtime startup failed
Error: runtime boom
at Object. (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6102:13)
at Object.mockCall (file:///startdir/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///startdir/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5263:15)
2026-10-24T14:51:49.773Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: --allow-origin: https://example.com
2026-10-24T14:51:49.778Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.778Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:38425 (mode=http-bridge, workspace=/tmp/qws-runtime-fail-ojKS5O)
qwen serve: bound to workspace "/tmp/qws-runtime-fail-ojKS5O"
qwen serve: startup timing: processToListenMs=5009 runQwenServeToListenMs=2
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:49.779Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-fail-ojKS5O secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-10-24T14:51:49.779Z [ERROR] [DAEMON] runtime startup failed
Error: runtime boom
at Object. (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6102:13)
at Object.mockCall (file:///startdir/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///startdir/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5263:15)
2026-10-24T14:51:49.781Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: --allow-origin: chrome-extension://qwen-test-extension
2026-10-24T14:51:49.787Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.787Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-runtime-child-env-BNetje"
qwen serve: startup timing: processToListenMs=5018 runQwenServeToListenMs=2
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on http://127.0.0.1:38907 (mode=http-bridge, workspace=/tmp/qws-runtime-child-env-BNetje)
2026-10-24T14:51:49.788Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-child-env-BNetje secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:49.798Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.802Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.802Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve: required external tool guard handshake succeeded.
qwen serve: bound to workspace "/tmp/qws-guard-provider-VphJ79"
qwen serve: startup timing: processToListenMs=5035 runQwenServeToListenMs=5
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on http://127.0.0.1:37835 (mode=http-bridge, workspace=/tmp/qws-guard-provider-VphJ79)
2026-10-24T14:51:49.806Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-guard-provider-VphJ79 secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:49.816Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.824Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.824Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:36767 (mode=http-bridge, workspace=/tmp/qws-memory-project-scope-PItqAw/primary)
qwen serve: bound to workspace "/tmp/qws-memory-project-scope-PItqAw/primary"
qwen serve: startup timing: processToListenMs=5055 runQwenServeToListenMs=7
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:49.826Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-memory-project-scope-PItqAw/primary secondary= daemon workspace roots initialized
2026-10-24T14:51:49.827Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.833Z [INFO] [DAEMON] projectMemoryScope=git-root projectMemoryScopeRaw=git-root projectMemoryScopeSource=option project memory scope resolved
2026-10-24T14:51:49.833Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:35057 (mode=http-bridge, workspace=/tmp/qws-memory-project-scope-LLYm18/primary)
qwen serve: bound to workspace "/tmp/qws-memory-project-scope-LLYm18/primary"
qwen serve: startup timing: processToListenMs=5064 runQwenServeToListenMs=4
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:49.835Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-memory-project-scope-LLYm18/primary secondary= daemon workspace roots initialized
2026-10-24T14:51:49.837Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.849Z [INFO] [DAEMON] projectMemoryScope=git-root projectMemoryScopeRaw=git-root projectMemoryScopeSource=environment project memory scope resolved
2026-10-24T14:51:49.849Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:38129 (mode=http-bridge, workspace=/tmp/qws-memory-project-scope-mT7W7D/primary)
qwen serve: bound to workspace "/tmp/qws-memory-project-scope-mT7W7D/primary"
qwen serve: startup timing: processToListenMs=5081 runQwenServeToListenMs=10
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:49.851Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-memory-project-scope-mT7W7D/primary secondary= daemon workspace roots initialized
2026-10-24T14:51:49.852Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.860Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.860Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:45019 (mode=http-bridge, workspace=/tmp/qws-memory-project-scope-ZElaKZ/primary)
qwen serve: bound to workspace "/tmp/qws-memory-project-scope-ZElaKZ/primary"
qwen serve: startup timing: processToListenMs=5091 runQwenServeToListenMs=7
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:49.862Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-memory-project-scope-ZElaKZ/primary secondary= daemon workspace roots initialized
2026-10-24T14:51:49.864Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.868Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.868Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:41863 (mode=http-bridge, workspace=/tmp/qws-memory-project-scope-fLwRy7/primary)
qwen serve: bound to workspace "/tmp/qws-memory-project-scope-fLwRy7/primary"
qwen serve: startup timing: processToListenMs=5099 runQwenServeToListenMs=3
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:49.869Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-memory-project-scope-fLwRy7/primary secondary= daemon workspace roots initialized
2026-10-24T14:51:49.871Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.876Z [INFO] [DAEMON] projectMemoryScope=git-root projectMemoryScopeRaw=workspce projectMemoryScopeSource=environment project memory scope resolved
2026-10-24T14:51:49.876Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:43013 (mode=http-bridge, workspace=/tmp/qws-memory-project-scope-IRV16r/primary)
qwen serve: bound to workspace "/tmp/qws-memory-project-scope-IRV16r/primary"
qwen serve: startup timing: processToListenMs=5107 runQwenServeToListenMs=4
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:49.877Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-memory-project-scope-IRV16r/primary secondary= daemon workspace roots initialized
2026-10-24T14:51:49.880Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.888Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.888Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-runtime-env-reload-HUNltJ/debug/daemon/daemon.log
2026-10-24T14:51:49.889Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-env-reload-HUNltJ secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:43875 (mode=http-bridge, workspace=/tmp/qws-runtime-env-reload-HUNltJ)
qwen serve: bound to workspace "/tmp/qws-runtime-env-reload-HUNltJ"
qwen serve: startup timing: processToListenMs=5121 runQwenServeToListenMs=7
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: reload failed: bridge.invokeWorkspaceCommand is not a function
2026-10-24T14:51:49.892Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.897Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.897Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-runtime-env-fallback-W4M975/debug/daemon/daemon.log
2026-10-24T14:51:49.898Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-env-fallback-W4M975 secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:42661 (mode=http-bridge, workspace=/tmp/qws-runtime-env-fallback-W4M975)
qwen serve: bound to workspace "/tmp/qws-runtime-env-fallback-W4M975"
qwen serve: startup timing: processToListenMs=5129 runQwenServeToListenMs=4
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:49.898Z [WARN] [DAEMON] error="runtime env rebuild failed" failed to rebuild runtime env snapshot after daemon env reload; preserving previous runtime env
qwen serve: reload failed: bridge.invokeWorkspaceCommand is not a function
qwen serve: reload failed: bridge.invokeWorkspaceCommand is not a function
2026-10-24T14:51:49.899Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.905Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.905Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /build/.qwen/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:33167 (mode=http-bridge, workspace=/tmp/qws-secondary-env-reload-3Ey8Wk/primary)
qwen serve: bound to workspace "/tmp/qws-secondary-env-reload-3Ey8Wk/primary"
qwen serve: startup timing: processToListenMs=5136 runQwenServeToListenMs=2
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:49.906Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-secondary-env-reload-3Ey8Wk/primary secondary= daemon workspace roots initialized
qwen serve: reload failed: secondaryBridge.invokeWorkspaceCommand is not a function
2026-10-24T14:51:49.908Z [INFO] [DAEMON] daemon stopped
qwen serve listening on http://127.0.0.1:40215 (mode=http-bridge, workspace=/tmp/qws-restored-workspace-sUuRas/primary)
qwen serve listening on http://127.0.0.1:33561 (mode=http-bridge, workspace=/tmp/qws-restored-read-error-iEvfno/primary)
qwen serve listening on http://127.0.0.1:35995 (mode=http-bridge, workspace=/tmp/qws-restored-limit-JRhS2e/explicit-0)
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.959Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.959Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-runtime-roots-VhMvy8/debug/daemon/daemon.log
2026-10-24T14:51:49.960Z [WARN] [DAEMON] workspace=/tmp/qws-runtime-roots-VhMvy8/untrusted-secondary excluding untrusted secondary workspace root from file-system access
2026-10-24T14:51:49.960Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-roots-VhMvy8/primary secondary=/tmp/qws-runtime-roots-VhMvy8/trusted-secondary daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:45455 (mode=http-bridge, workspace=/tmp/qws-runtime-roots-VhMvy8/primary)
qwen serve: bound to workspace "/tmp/qws-runtime-roots-VhMvy8/primary"
qwen serve: startup timing: processToListenMs=5191 runQwenServeToListenMs=3
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:49.961Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.965Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.965Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-runtime-roots-LdlmUZ/debug/daemon/daemon.log
2026-10-24T14:51:49.966Z [WARN] [DAEMON] workspace=/tmp/qws-runtime-roots-LdlmUZ/parent excluding untrusted secondary workspace root from file-system access
2026-10-24T14:51:49.966Z [INFO] [DAEMON] ideEnvPresent=true primary=/tmp/qws-runtime-roots-LdlmUZ/primary secondary=/tmp/qws-runtime-roots-LdlmUZ/parent/trusted-child daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:40205 (mode=http-bridge, workspace=/tmp/qws-runtime-roots-LdlmUZ/primary)
qwen serve: bound to workspace "/tmp/qws-runtime-roots-LdlmUZ/primary"
qwen serve: startup timing: processToListenMs=5198 runQwenServeToListenMs=4
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:49.967Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.971Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.972Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-runtime-roots-1Cx8NQ/debug/daemon/daemon.log
2026-10-24T14:51:49.972Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-roots-1Cx8NQ/primary secondary=/tmp/qws-runtime-roots-1Cx8NQ/secondary daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:37965 (mode=http-bridge, workspace=/tmp/qws-runtime-roots-1Cx8NQ/primary)
qwen serve: bound to workspace "/tmp/qws-runtime-roots-1Cx8NQ/primary"
qwen serve: startup timing: processToListenMs=5203 runQwenServeToListenMs=3
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:49.973Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:49.977Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.977Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-runtime-roots-uFqeV1/debug/daemon/daemon.log
qwen serve: could not read full settings for runtime startup (settings unavailable); falling back to defaults.
2026-10-24T14:51:49.978Z [WARN] [DAEMON] workspace=/tmp/qws-runtime-roots-uFqeV1/secondary excluding untrusted secondary workspace root from file-system access
2026-10-24T14:51:49.978Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-roots-uFqeV1/primary secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:39485 (mode=http-bridge, workspace=/tmp/qws-runtime-roots-uFqeV1/primary)
qwen serve: bound to workspace "/tmp/qws-runtime-roots-uFqeV1/primary"
qwen serve: startup timing: processToListenMs=5209 runQwenServeToListenMs=3
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:49.979Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: --allow-origin: https://example.com
2026-10-24T14:51:49.989Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:49.989Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:41933 (mode=http-bridge, workspace=/tmp/qws-runtime-fail-J5Gpw6)
qwen serve: bound to workspace "/tmp/qws-runtime-fail-J5Gpw6"
qwen serve: startup timing: processToListenMs=5220 runQwenServeToListenMs=8
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:49.990Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-fail-J5Gpw6 secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-10-24T14:51:49.990Z [ERROR] [DAEMON] runtime startup failed
Error: runtime boom
at Object. (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:6102:13)
at Object.mockCall (file:///startdir/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///startdir/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5263:15)
2026-10-24T14:51:49.992Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:50.015Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:50.015Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:41883 (mode=http-bridge, workspace=/tmp/qws-runtime-starting-route-dN4pQl)
qwen serve: bound to workspace "/tmp/qws-runtime-starting-route-dN4pQl"
qwen serve: startup timing: processToListenMs=5246 runQwenServeToListenMs=4
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:50.018Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-starting-route-dN4pQl secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: Daemon runtime stopped before mounting.
2026-10-24T14:51:50.024Z [ERROR] [DAEMON] runtime startup failed
Error: Daemon runtime stopped before mounting.
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:8420:17
at waitForRuntimeStartingForShutdown (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:2368:3)
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:8721:17
2026-10-24T14:51:50.024Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:50.029Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:50.029Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-runtime-starting-caps-h0OAvA/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:36309 (mode=http-bridge, workspace=/tmp/qws-runtime-starting-caps-h0OAvA/primary)
qwen serve: bound to workspace "/tmp/qws-runtime-starting-caps-h0OAvA/primary"
qwen serve: startup timing: processToListenMs=5260 runQwenServeToListenMs=3
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:50.032Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-starting-caps-h0OAvA/primary secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:50.038Z [INFO] [DAEMON] route=GET /capabilities durationMs=0 status=200 request completed
2026-10-24T14:51:50.039Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:50.052Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:50.052Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-health-first-caDMYc/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:37967 (mode=http-bridge, workspace=/tmp/qws-health-first-caDMYc)
qwen serve: bound to workspace "/tmp/qws-health-first-caDMYc"
qwen serve: startup timing: processToListenMs=5283 runQwenServeToListenMs=10
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:50.052Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-10-24T14:51:50.310Z [INFO] [DAEMON] deferred runtime: health served, scheduling start in 50ms
2026-10-24T14:51:50.360Z [INFO] [DAEMON] deferred runtime: health timer fired, starting
2026-10-24T14:51:50.361Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-health-first-caDMYc secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:50.412Z [INFO] [DAEMON] route=GET /capabilities durationMs=1 status=200 request completed
2026-10-24T14:51:50.412Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:50.417Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:50.417Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:33059 (mode=http-bridge, workspace=/tmp/qws-health-deep-first-rNlYtv)
qwen serve: bound to workspace "/tmp/qws-health-deep-first-rNlYtv"
qwen serve: startup timing: processToListenMs=5648 runQwenServeToListenMs=3
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:50.418Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-10-24T14:51:50.419Z [INFO] [DAEMON] deferred runtime: health served, scheduling start in 50ms
2026-10-24T14:51:50.469Z [INFO] [DAEMON] deferred runtime: health timer fired, starting
2026-10-24T14:51:50.471Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-health-deep-first-rNlYtv secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:50.522Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:50.528Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:50.528Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:37995 (mode=http-bridge, workspace=/tmp/qws-health-dedupe-GEx3df)
qwen serve: bound to workspace "/tmp/qws-health-dedupe-GEx3df"
qwen serve: startup timing: processToListenMs=5759 runQwenServeToListenMs=3
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:50.528Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-10-24T14:51:50.530Z [INFO] [DAEMON] deferred runtime: health served, scheduling start in 50ms
2026-10-24T14:51:50.579Z [INFO] [DAEMON] deferred runtime: health timer fired, starting
2026-10-24T14:51:50.581Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-health-dedupe-GEx3df secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:50.731Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:50.736Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:50.736Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:35059 (mode=http-bridge, workspace=/tmp/qws-runtime-route-start-YcBcNW)
qwen serve: bound to workspace "/tmp/qws-runtime-route-start-YcBcNW"
qwen serve: startup timing: processToListenMs=5967 runQwenServeToListenMs=2
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:50.737Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-10-24T14:51:50.789Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-route-start-YcBcNW secondary= daemon workspace roots initialized
2026-10-24T14:51:50.791Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:50.797Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:50.797Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:37631 (mode=http-bridge, workspace=/tmp/qws-runtime-route-auth-0ihPgQ)
qwen serve: bound to workspace "/tmp/qws-runtime-route-auth-0ihPgQ"
qwen serve: startup timing: processToListenMs=6028 runQwenServeToListenMs=3
2026-10-24T14:51:50.797Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-10-24T14:51:50.801Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-route-auth-0ihPgQ secondary= daemon workspace roots initialized
2026-10-24T14:51:50.803Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:50.808Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:50.808Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /tmp/qws-deferred-webshell-eJMD8m/web-shell
qwen serve listening on http://127.0.0.1:39105 (mode=http-bridge, workspace=/tmp/qws-deferred-webshell-eJMD8m)
qwen serve: bound to workspace "/tmp/qws-deferred-webshell-eJMD8m"
qwen serve: startup timing: processToListenMs=6039 runQwenServeToListenMs=2
2026-10-24T14:51:50.808Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-10-24T14:51:50.811Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-deferred-webshell-eJMD8m secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:50.822Z [INFO] [DAEMON] route=HEAD /session/abc sessionId=abc durationMs=1 status=200 request completed
2026-10-24T14:51:50.824Z [INFO] [DAEMON] route=GET /session/abc sessionId=abc durationMs=1 status=200 request completed
2026-10-24T14:51:50.825Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:50.834Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:50.834Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /tmp/qws-deferred-root-qJCQMO/web-shell
qwen serve listening on http://127.0.0.1:38891 (mode=http-bridge, workspace=/tmp/qws-deferred-root-qJCQMO)
qwen serve: bound to workspace "/tmp/qws-deferred-root-qJCQMO"
qwen serve: startup timing: processToListenMs=6065 runQwenServeToListenMs=7
2026-10-24T14:51:50.834Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-10-24T14:51:50.836Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-deferred-root-qJCQMO secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:50.842Z [INFO] [DAEMON] route=GET / durationMs=1 status=200 request completed
2026-10-24T14:51:50.843Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:50.847Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:50.847Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /tmp/qws-deferred-root-alias-EJVQRx/web-shell
qwen serve listening on http://127.0.0.1:41721 (mode=http-bridge, workspace=/tmp/qws-deferred-root-alias-EJVQRx)
qwen serve: bound to workspace "/tmp/qws-deferred-root-alias-EJVQRx"
qwen serve: startup timing: processToListenMs=6078 runQwenServeToListenMs=2
2026-10-24T14:51:50.848Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-10-24T14:51:50.849Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-deferred-root-alias-EJVQRx secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:50.855Z [INFO] [DAEMON] route=GET // durationMs=1 status=200 request completed
2026-10-24T14:51:50.856Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:50.861Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:50.861Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /tmp/qws-deferred-predicate-fail-2R3JX5/web-shell
qwen serve listening on http://127.0.0.1:42593 (mode=http-bridge, workspace=/tmp/qws-deferred-predicate-fail-2R3JX5)
qwen serve: bound to workspace "/tmp/qws-deferred-predicate-fail-2R3JX5"
qwen serve: startup timing: processToListenMs=6092 runQwenServeToListenMs=2
2026-10-24T14:51:50.861Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-10-24T14:51:50.865Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-deferred-predicate-fail-2R3JX5 secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:50.871Z [INFO] [DAEMON] route=GET /session/abc sessionId=abc durationMs=1 status=200 request completed
2026-10-24T14:51:50.871Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:50.877Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:50.877Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /tmp/qws-deferred-assets-yZUNQL/web-shell
qwen serve listening on http://127.0.0.1:42559 (mode=http-bridge, workspace=/tmp/qws-deferred-assets-yZUNQL)
qwen serve: bound to workspace "/tmp/qws-deferred-assets-yZUNQL"
qwen serve: startup timing: processToListenMs=6108 runQwenServeToListenMs=3
2026-10-24T14:51:50.877Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-10-24T14:51:50.879Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-deferred-assets-yZUNQL secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:50.885Z [INFO] [DAEMON] route=GET /assets/fixture.js durationMs=1 status=200 request completed
2026-10-24T14:51:50.885Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:50.893Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:50.894Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /tmp/qws-deferred-assets-bare-oUWmqQ/web-shell
qwen serve listening on http://127.0.0.1:35013 (mode=http-bridge, workspace=/tmp/qws-deferred-assets-bare-oUWmqQ)
qwen serve: bound to workspace "/tmp/qws-deferred-assets-bare-oUWmqQ"
qwen serve: startup timing: processToListenMs=6124 runQwenServeToListenMs=5
2026-10-24T14:51:50.894Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-10-24T14:51:50.896Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-deferred-assets-bare-oUWmqQ secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:50.901Z [INFO] [DAEMON] route=GET /assets durationMs=1 status=301 request completed
2026-10-24T14:51:50.902Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:50.906Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:50.906Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /tmp/qws-deferred-shapes-WfIKRX/web-shell
qwen serve listening on http://127.0.0.1:37913 (mode=http-bridge, workspace=/tmp/qws-deferred-shapes-WfIKRX)
qwen serve: bound to workspace "/tmp/qws-deferred-shapes-WfIKRX"
qwen serve: startup timing: processToListenMs=6137 runQwenServeToListenMs=2
2026-10-24T14:51:50.906Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-10-24T14:51:50.908Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-deferred-shapes-WfIKRX secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:50.913Z [INFO] [DAEMON] route=GET /Session/abc/ durationMs=0 status=200 request completed
2026-10-24T14:51:50.914Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:50.917Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:50.917Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /tmp/qws-deferred-query-Or5Jwn/web-shell
qwen serve listening on http://127.0.0.1:45221 (mode=http-bridge, workspace=/tmp/qws-deferred-query-Or5Jwn)
qwen serve: bound to workspace "/tmp/qws-deferred-query-Or5Jwn"
qwen serve: startup timing: processToListenMs=6148 runQwenServeToListenMs=1
2026-10-24T14:51:50.917Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-10-24T14:51:50.919Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-deferred-query-Or5Jwn secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:50.924Z [INFO] [DAEMON] route=GET /session/abc/ sessionId=abc durationMs=0 status=200 request completed
2026-10-24T14:51:50.924Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:50.931Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:50.931Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /tmp/qws-deferred-webshell-gate-Yd24bW/web-shell
qwen serve listening on http://127.0.0.1:34605 (mode=http-bridge, workspace=/tmp/qws-deferred-webshell-gate-Yd24bW)
qwen serve: bound to workspace "/tmp/qws-deferred-webshell-gate-Yd24bW"
qwen serve: startup timing: processToListenMs=6162 runQwenServeToListenMs=4
2026-10-24T14:51:50.931Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-10-24T14:51:50.933Z [INFO] [DAEMON] deferred runtime: cancelled, server closed before startup
2026-10-24T14:51:50.933Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:50.936Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:50.936Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:39827 (mode=http-bridge, workspace=/tmp/qws-deferred-noweb-M4m1ej)
qwen serve: bound to workspace "/tmp/qws-deferred-noweb-M4m1ej"
qwen serve: startup timing: processToListenMs=6167 runQwenServeToListenMs=1
2026-10-24T14:51:50.937Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-10-24T14:51:50.938Z [INFO] [DAEMON] deferred runtime: cancelled, server closed before startup
2026-10-24T14:51:50.938Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:50.941Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:50.941Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /tmp/qws-deferred-webshell-fail-csJr6U/web-shell
qwen serve listening on http://127.0.0.1:44457 (mode=http-bridge, workspace=/tmp/qws-deferred-webshell-fail-csJr6U)
qwen serve: bound to workspace "/tmp/qws-deferred-webshell-fail-csJr6U"
qwen serve: startup timing: processToListenMs=6172 runQwenServeToListenMs=1
2026-10-24T14:51:50.941Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-10-24T14:51:50.943Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-deferred-webshell-fail-csJr6U secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-10-24T14:51:50.943Z [ERROR] [DAEMON] runtime startup failed
Error: runtime boom
at Object.createBridge (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:8580:15)
at Object. (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:615:21)
at Object.mockCall (file:///startdir/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///startdir/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5263:15)
2026-10-24T14:51:50.946Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:50.954Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:50.954Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:38061 (mode=http-bridge, workspace=/tmp/qws-runtime-webhook-start-HCqYU1)
qwen serve: bound to workspace "/tmp/qws-runtime-webhook-start-HCqYU1"
qwen serve: startup timing: processToListenMs=6186 runQwenServeToListenMs=6
2026-10-24T14:51:50.957Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-10-24T14:51:50.960Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-webhook-start-HCqYU1 secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:50.970Z [INFO] [DAEMON] channelName=dingtalk-main eventType=ci_failed source="github ci" targetRef=default channel webhook task accepted
2026-10-24T14:51:50.971Z [INFO] [DAEMON] route=POST /channels/dingtalk-main/webhooks/github%20ci durationMs=1 status=202 request completed
2026-10-24T14:51:50.977Z [INFO] [DAEMON] daemon stopped
qwen serve listening on http://127.0.0.1:45509 (mode=http-bridge, workspace=/tmp/qws-runtime-webhook-auth-62uluS)
qwen serve listening on http://127.0.0.1:33471 (mode=http-bridge, workspace=/tmp/qws-runtime-webhook-log-DNLtMF)
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: --allow-origin: http://localhost:5173
2026-10-24T14:51:51.004Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:51.004Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:37353 (mode=http-bridge, workspace=/tmp/qws-runtime-preflight-IPt7k0)
qwen serve: bound to workspace "/tmp/qws-runtime-preflight-IPt7k0"
qwen serve: startup timing: processToListenMs=6236 runQwenServeToListenMs=7
2026-10-24T14:51:51.005Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-10-24T14:51:51.006Z [INFO] [DAEMON] deferred runtime: cancelled, server closed before startup
2026-10-24T14:51:51.007Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:51.011Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:51.011Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:43817 (mode=http-bridge, workspace=/tmp/qws-bootstrap-method-PfQavi)
qwen serve: bound to workspace "/tmp/qws-bootstrap-method-PfQavi"
qwen serve: startup timing: processToListenMs=6242 runQwenServeToListenMs=2
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:51.011Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-10-24T14:51:51.013Z [INFO] [DAEMON] deferred runtime: cancelled, server closed before startup
2026-10-24T14:51:51.013Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:51.022Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:51.022Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:39291 (mode=http-bridge, workspace=/tmp/qws-bootstrap-trailing-Ay7SKs)
qwen serve: bound to workspace "/tmp/qws-bootstrap-trailing-Ay7SKs"
qwen serve: startup timing: processToListenMs=6253 runQwenServeToListenMs=6
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:51.023Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-10-24T14:51:51.024Z [INFO] [DAEMON] deferred runtime: health served, scheduling start in 50ms
2026-10-24T14:51:51.024Z [INFO] [DAEMON] deferred runtime: cancelled, server closed before startup
2026-10-24T14:51:51.024Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:51.050Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:51.050Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:39339 (mode=http-bridge, workspace=/tmp/qws-runtime-route-fail-faXhXi)
qwen serve: bound to workspace "/tmp/qws-runtime-route-fail-faXhXi"
qwen serve: startup timing: processToListenMs=6281 runQwenServeToListenMs=24
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:51.051Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-10-24T14:51:51.055Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-route-fail-faXhXi secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-10-24T14:51:51.055Z [ERROR] [DAEMON] runtime startup failed
Error: runtime boom
at Object. (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:9148:15)
at Object.mockCall (file:///startdir/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///startdir/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5263:15)
2026-10-24T14:51:51.056Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:51.087Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:51.087Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-health-fallback-IK0btV"
qwen serve: startup timing: processToListenMs=6319 runQwenServeToListenMs=26
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:51.088Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
qwen serve listening on http://127.0.0.1:33541 (mode=http-bridge, workspace=/tmp/qws-health-fallback-IK0btV)
2026-10-24T14:51:52.095Z [INFO] [DAEMON] deferred runtime: fallback timer fired, starting
2026-10-24T14:51:52.098Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-health-fallback-IK0btV secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:52.109Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:52.124Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:52.124Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-health-close-MHVrtj/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-health-close-MHVrtj"
qwen serve: startup timing: processToListenMs=7355 runQwenServeToListenMs=8
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:52.124Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-10-24T14:51:52.124Z [INFO] [DAEMON] deferred runtime: cancelled, server closed before startup
2026-10-24T14:51:52.124Z [INFO] [DAEMON] daemon stopped
qwen serve listening on http://127.0.0.1:35647 (mode=http-bridge, workspace=/tmp/qws-health-close-MHVrtj)
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:53.304Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:53.304Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:37975 (mode=http-bridge, workspace=/tmp/qws-health-close-after-6poIO0)
qwen serve: bound to workspace "/tmp/qws-health-close-after-6poIO0"
qwen serve: startup timing: processToListenMs=8535 runQwenServeToListenMs=73
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:53.305Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-10-24T14:51:53.307Z [INFO] [DAEMON] deferred runtime: health served, scheduling start in 50ms
2026-10-24T14:51:53.308Z [INFO] [DAEMON] deferred runtime: cancelled, server closed before startup
2026-10-24T14:51:53.308Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:53.453Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:53.454Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:40409 (mode=http-bridge, workspace=/tmp/qws-health-reconciler-close-oRqrJB)
qwen serve: bound to workspace "/tmp/qws-health-reconciler-close-oRqrJB"
qwen serve: startup timing: processToListenMs=8685 runQwenServeToListenMs=17
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:53.454Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-10-24T14:51:53.456Z [INFO] [DAEMON] deferred runtime: health served, scheduling start in 50ms
2026-10-24T14:51:53.507Z [INFO] [DAEMON] deferred runtime: health timer fired, starting
2026-10-24T14:51:53.515Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-health-reconciler-close-oRqrJB secondary= daemon workspace roots initialized
2026-10-24T14:51:53.518Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:53.594Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:53.594Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-maintenance-drain-0s2O2s"
qwen serve: startup timing: processToListenMs=8826 runQwenServeToListenMs=61
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on http://127.0.0.1:42581 (mode=http-bridge, workspace=/tmp/qws-maintenance-drain-0s2O2s)
2026-10-24T14:51:53.598Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-maintenance-drain-0s2O2s secondary= daemon workspace roots initialized
2026-10-24T14:51:53.601Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:53.654Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:53.654Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-maintenance-failure-n29yNO"
qwen serve: startup timing: processToListenMs=8886 runQwenServeToListenMs=41
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:53.657Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-maintenance-failure-n29yNO secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:37045 (mode=http-bridge, workspace=/tmp/qws-maintenance-failure-n29yNO)
2026-10-24T14:51:53.659Z [ERROR] [DAEMON] daemon shutdown incomplete
Error: maintenance drain failed
at Object. (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:9421:13)
at Object.mockCall (file:///startdir/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.spy [as sealMaintenanceAndWait] (file:///startdir/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:8578:51
at new Promise ()
at close (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:8550:26)
at drainHost (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:9030:31)
at ServeAppLifecycleController.startDrain (/startdir/src/qwen-code/packages/cli/src/serve/serve-app-lifecycle.ts:233:14)
at ServeAppLifecycleController.closeOnce (/startdir/src/qwen-code/packages/cli/src/serve/serve-app-lifecycle.ts:206:12)
at ServeAppLifecycleController.close (/startdir/src/qwen-code/packages/cli/src/serve/serve-app-lifecycle.ts:107:26)
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:53.788Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:53.788Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:43863 (mode=http-bridge, workspace=/tmp/qws-health-close-running-KVXxwL)
qwen serve: bound to workspace "/tmp/qws-health-close-running-KVXxwL"
qwen serve: startup timing: processToListenMs=9019 runQwenServeToListenMs=124
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:53.789Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-10-24T14:51:53.791Z [INFO] [DAEMON] deferred runtime: health served, scheduling start in 50ms
2026-10-24T14:51:53.842Z [INFO] [DAEMON] deferred runtime: health timer fired, starting
2026-10-24T14:51:53.898Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-health-close-running-KVXxwL secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: Daemon runtime stopped before mounting.
2026-10-24T14:51:53.910Z [ERROR] [DAEMON] runtime startup failed
Error: Daemon runtime stopped before mounting.
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:8420:17
at waitForRuntimeStartingForShutdown (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:2368:3)
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:8721:17
2026-10-24T14:51:53.910Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:53.948Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:53.948Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-health-close-late-app-dGcp77"
qwen serve: startup timing: processToListenMs=9179 runQwenServeToListenMs=29
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:53.949Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-10-24T14:51:53.951Z [INFO] [DAEMON] deferred runtime: health served, scheduling start in 50ms
qwen serve listening on http://127.0.0.1:38801 (mode=http-bridge, workspace=/tmp/qws-health-close-late-app-dGcp77)
2026-10-24T14:51:54.001Z [INFO] [DAEMON] deferred runtime: health timer fired, starting
2026-10-24T14:51:59.057Z [WARN] [DAEMON] 5000ms runtime-startup wait reached during shutdown; continuing listener close
2026-10-24T14:51:59.058Z [INFO] [DAEMON] daemon stopped
2026-10-24T14:51:59.068Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-health-close-late-app-dGcp77 secondary= daemon workspace roots initialized
2026-10-24T14:51:59.070Z [WARN] [DAEMON] scheduled-task keepalive dispose error: keepalive dispose failed
qwen serve: runtime startup failed: Daemon runtime stopped before mounting.
2026-10-24T14:51:59.070Z [ERROR] [DAEMON] runtime startup failed
Error: Daemon runtime stopped before mounting.
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:8420:17
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:59.131Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:59.131Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-health-fail-once-ilKDRv"
qwen serve: startup timing: processToListenMs=14362 runQwenServeToListenMs=4
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:59.132Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-10-24T14:51:59.134Z [INFO] [DAEMON] deferred runtime: health served, scheduling start in 50ms
qwen serve listening on http://127.0.0.1:40367 (mode=http-bridge, workspace=/tmp/qws-health-fail-once-ilKDRv)
2026-10-24T14:51:59.184Z [INFO] [DAEMON] deferred runtime: health timer fired, starting
2026-10-24T14:51:59.186Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-health-fail-once-ilKDRv secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-10-24T14:51:59.186Z [ERROR] [DAEMON] runtime startup failed
Error: runtime boom
at Object. (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:9637:15)
at Object.mockCall (file:///startdir/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///startdir/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5263:15)
2026-10-24T14:51:59.290Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:59.312Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:59.312Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-runtime-fail-log-AMO4GA/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:41433 (mode=http-bridge, workspace=/tmp/qws-runtime-fail-log-AMO4GA)
qwen serve: bound to workspace "/tmp/qws-runtime-fail-log-AMO4GA"
qwen serve: startup timing: processToListenMs=14543 runQwenServeToListenMs=16
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:59.315Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-fail-log-AMO4GA secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-10-24T14:51:59.315Z [ERROR] [DAEMON] runtime startup failed
Error: runtime boom
at Object. (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:9683:13)
at Object.mockCall (file:///startdir/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///startdir/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5263:15)
2026-10-24T14:51:59.316Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:59.358Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:59.358Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-runtime-flush-pending-rro2IV"
qwen serve: startup timing: processToListenMs=14589 runQwenServeToListenMs=34
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on http://127.0.0.1:42901 (mode=http-bridge, workspace=/tmp/qws-runtime-flush-pending-rro2IV)
2026-10-24T14:51:59.360Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-flush-pending-rro2IV secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:59.370Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:59.401Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:59.401Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-runtime-queue-wait-fDtofT"
qwen serve: startup timing: processToListenMs=14632 runQwenServeToListenMs=26
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on http://127.0.0.1:38753 (mode=http-bridge, workspace=/tmp/qws-runtime-queue-wait-fDtofT)
2026-10-24T14:51:59.404Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-queue-wait-fDtofT secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:59.419Z [INFO] [DAEMON] route=GET /daemon/status durationMs=2 status=200 request completed
2026-10-24T14:51:59.420Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:59.431Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:59.431Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:41613 (mode=http-bridge, workspace=/tmp/qws-runtime-timeout-PlA6EB)
qwen serve: bound to workspace "/tmp/qws-runtime-timeout-PlA6EB"
qwen serve: startup timing: processToListenMs=14663 runQwenServeToListenMs=3
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: runtime startup failed: Daemon runtime startup timed out after 1ms.
2026-10-24T14:51:59.434Z [ERROR] [DAEMON] runtime startup failed
Error: Daemon runtime startup timed out after 1ms.
at Timeout. (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:8078:13)
at listOnTimeout (node:internal/timers:685:17)
at processTimers (node:internal/timers:618:7)
2026-10-24T14:51:59.438Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-timeout-PlA6EB secondary= daemon workspace roots initialized
2026-10-24T14:51:59.491Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
qwen serve: daemon log disabled — init failed: ENOTDIR: not a directory, lstat '/tmp/qws-runtime-fail-MhMe87/blocked-log-base/daemon'
2026-10-24T14:51:59.506Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:59.506Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → (disabled)
qwen serve: bound to workspace "/tmp/qws-runtime-fail-MhMe87"
qwen serve: startup timing: processToListenMs=14737 runQwenServeToListenMs=9
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on http://127.0.0.1:35593 (mode=http-bridge, workspace=/tmp/qws-runtime-fail-MhMe87)
2026-10-24T14:51:59.508Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-fail-MhMe87 secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-10-24T14:51:59.509Z [ERROR] [DAEMON] runtime startup failed
Error: runtime boom
at Object. (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:9940:13)
at Object.mockCall (file:///startdir/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///startdir/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5263:15)
2026-10-24T14:51:59.529Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:59.538Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:59.538Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-bootstrap-growth-nP1qCz"
qwen serve: startup timing: processToListenMs=14769 runQwenServeToListenMs=4
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on http://127.0.0.1:35673 (mode=http-bridge, workspace=/tmp/qws-bootstrap-growth-nP1qCz)
2026-10-24T14:51:59.540Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-bootstrap-growth-nP1qCz secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-10-24T14:51:59.541Z [ERROR] [DAEMON] runtime startup failed
Error: runtime boom
at Object. (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:10155:13)
at Object.mockCall (file:///startdir/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///startdir/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5263:15)
2026-10-24T14:51:59.545Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:59.547Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:59.547Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:43011 (mode=http-bridge, workspace=/tmp/qws-bootstrap-growth-nP1qCz)
qwen serve: bound to workspace "/tmp/qws-bootstrap-growth-nP1qCz"
qwen serve: startup timing: processToListenMs=14779 runQwenServeToListenMs=2
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:59.550Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-bootstrap-growth-nP1qCz secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-10-24T14:51:59.550Z [ERROR] [DAEMON] runtime startup failed
Error: runtime boom
at Object. (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:10155:13)
at Object.mockCall (file:///startdir/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createAcpSessionBridge (file:///startdir/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:5263:15)
2026-10-24T14:51:59.554Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:59.562Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:59.562Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-runtime-partial-fail-VDbL08"
qwen serve: startup timing: processToListenMs=14794 runQwenServeToListenMs=3
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on http://127.0.0.1:43727 (mode=http-bridge, workspace=/tmp/qws-runtime-partial-fail-VDbL08)
2026-10-24T14:51:59.565Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-partial-fail-VDbL08 secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime app boom
2026-10-24T14:51:59.566Z [ERROR] [DAEMON] runtime startup failed
Error: runtime app boom
at Object. (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:10249:13)
at Object.mockCall (file:///startdir/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createServeApp (file:///startdir/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:6979:25)
2026-10-24T14:51:59.566Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:59.574Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:59.574Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-runtime-partial-fail-HH4HZi/primary"
qwen serve: startup timing: processToListenMs=14805 runQwenServeToListenMs=3
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:59.576Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-partial-fail-HH4HZi/primary secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:38017 (mode=http-bridge, workspace=/tmp/qws-runtime-partial-fail-HH4HZi/primary)
qwen serve: runtime startup failed: runtime app boom
2026-10-24T14:51:59.578Z [ERROR] [DAEMON] runtime startup failed
Error: runtime app boom
at Object. (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:10291:13)
at Object.mockCall (file:///startdir/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.createServeApp (file:///startdir/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at buildRuntime (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:6979:25)
2026-10-24T14:51:59.579Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:59.586Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:59.586Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-runtime-close-u2j2zD"
qwen serve: startup timing: processToListenMs=14818 runQwenServeToListenMs=3
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on http://127.0.0.1:37983 (mode=http-bridge, workspace=/tmp/qws-runtime-close-u2j2zD)
2026-10-24T14:51:59.589Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-close-u2j2zD secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: Daemon runtime stopped before mounting.
2026-10-24T14:51:59.598Z [ERROR] [DAEMON] runtime startup failed
Error: Daemon runtime stopped before mounting.
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:8420:17
at waitForRuntimeStartingForShutdown (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:2368:3)
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:8721:17
2026-10-24T14:51:59.598Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:59.606Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:59.606Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:34925 (mode=http-bridge, workspace=/tmp/qws-runtime-monitor-close-9kge0a)
qwen serve: bound to workspace "/tmp/qws-runtime-monitor-close-9kge0a"
qwen serve: startup timing: processToListenMs=14837 runQwenServeToListenMs=3
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:59.608Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-monitor-close-9kge0a secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: Daemon runtime stopped before mounting.
2026-10-24T14:51:59.618Z [ERROR] [DAEMON] runtime startup failed
Error: Daemon runtime stopped before mounting.
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:8420:17
at waitForRuntimeStartingForShutdown (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:2368:3)
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:8721:17
2026-10-24T14:51:59.618Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:59.638Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:59.638Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:51:59.640Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-ws-qHJeCX secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:37859 (mode=http-bridge, workspace=/tmp/qws-ws-qHJeCX)
qwen serve: bound to workspace "/tmp/qws-ws-qHJeCX"
qwen serve: startup timing: processToListenMs=14879 runQwenServeToListenMs=24
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:59.650Z [INFO] [DAEMON] daemon stopped
qwen serve: temporary bearer authentication enabled for this Web Shell launch; use an explicit shared token for additional clients.
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:59.671Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:59.671Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:51:59.672Z [ERROR] [DAEMON] daemon startup failed
Error: --open-with-auth requires built Web Shell assets.
at runQwenServeImpl (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:4040:11)
at Module.runQwenServe (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3028:12)
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:10498:5
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:59.694Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:59.694Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:51:59.695Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-ws-oOGRFk secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:34951 (mode=http-bridge, workspace=/tmp/qws-ws-oOGRFk)
qwen serve: bound to workspace "/tmp/qws-ws-oOGRFk"
qwen serve: startup timing: processToListenMs=14934 runQwenServeToListenMs=18
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:59.704Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:59.708Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:59.708Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:51:59.709Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-ws-PUyAhk secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:33717 (mode=http-bridge, workspace=/tmp/qws-ws-PUyAhk)
qwen serve: bound to workspace "/tmp/qws-ws-PUyAhk"
qwen serve: startup timing: processToListenMs=14948 runQwenServeToListenMs=12
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:59.718Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:59.720Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:59.720Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:51:59.722Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-ws-0kas8G secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:45175 (mode=http-bridge, workspace=/tmp/qws-ws-0kas8G)
qwen serve: bound to workspace "/tmp/qws-ws-0kas8G"
qwen serve: startup timing: processToListenMs=14960 runQwenServeToListenMs=11
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:59.730Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:59.733Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:59.733Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:51:59.735Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-ws-SNMd1k secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:42551 (mode=http-bridge, workspace=/tmp/qws-ws-SNMd1k)
qwen serve: bound to workspace "/tmp/qws-ws-SNMd1k"
qwen serve: startup timing: processToListenMs=14973 runQwenServeToListenMs=11
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:59.743Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:59.745Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:59.745Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:51:59.747Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-ws-vo399y secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:44569 (mode=http-bridge, workspace=/tmp/qws-ws-vo399y)
qwen serve: bound to workspace "/tmp/qws-ws-vo399y"
qwen serve: startup timing: processToListenMs=14985 runQwenServeToListenMs=11
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:59.756Z [INFO] [DAEMON] daemon stopped
qwen serve listening on http://127.0.0.1:45657 (mode=http-bridge, workspace=/tmp/qws-ws-be7Suv)
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:59.786Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:59.786Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:51:59.789Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-ws-xdv5SZ secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:37299 (mode=http-bridge, workspace=/tmp/qws-ws-xdv5SZ)
qwen serve: bound to workspace "/tmp/qws-ws-xdv5SZ"
qwen serve: startup timing: processToListenMs=15027 runQwenServeToListenMs=20
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:59.797Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:59.827Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:59.827Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-ws-zK8hJf/debug/daemon/daemon.log
2026-10-24T14:51:59.829Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-ws-zK8hJf secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:46003 (mode=http-bridge, workspace=/tmp/qws-ws-zK8hJf)
qwen serve: bound to workspace "/tmp/qws-ws-zK8hJf"
qwen serve: startup timing: processToListenMs=15069 runQwenServeToListenMs=37
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:59.839Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:59.844Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:59.844Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-ws-9utsQ0/debug/daemon/daemon.log
2026-10-24T14:51:59.845Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-ws-9utsQ0 secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:38371 (mode=http-bridge, workspace=/tmp/qws-ws-9utsQ0)
qwen serve: bound to workspace "/tmp/qws-ws-9utsQ0"
qwen serve: startup timing: processToListenMs=15085 runQwenServeToListenMs=12
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:59.855Z [INFO] [DAEMON] daemon stopped
qwen serve listening on http://127.0.0.1:38969 (mode=http-bridge, workspace=/tmp/qws-ws-haMGnZ)
qwen serve listening on http://127.0.0.1:40475 (mode=http-bridge, workspace=/tmp/qws-ws-Wb20EU)
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:52:00.023Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:00.023Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-ws-7uf02f/debug/daemon/daemon.log
2026-10-24T14:52:00.026Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-ws-7uf02f secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:35199 (mode=http-bridge, workspace=/tmp/qws-ws-7uf02f)
qwen serve: bound to workspace "/tmp/qws-ws-7uf02f"
qwen serve: startup timing: processToListenMs=15266 runQwenServeToListenMs=70
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:52:00.036Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:00.074Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:00.075Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:52:00.076Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-ws-kspk2O secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:46173 (mode=http-bridge, workspace=/tmp/qws-ws-kspk2O)
qwen serve: bound to workspace "/tmp/qws-ws-kspk2O"
qwen serve: startup timing: processToListenMs=15315 runQwenServeToListenMs=30
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:52:00.086Z [WARN] [DAEMON] bytes=262144 direction=outbound messageKind=notification method=session/update sessionUpdate=agent_message_chunk sourceClass=session_update_notification thresholdBytes=262144 large ACP pipe frame observed
2026-10-24T14:52:00.091Z [INFO] [DAEMON] route=GET /daemon/status durationMs=2 status=200 request completed
2026-10-24T14:52:00.092Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:00.150Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:00.150Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:52:00.152Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-tls-5aFkbI secondary= daemon workspace roots initialized
qwen serve listening on https://127.0.0.1:39419 (mode=http-bridge, workspace=/tmp/qws-channel-tls-5aFkbI)
qwen serve: bound to workspace "/tmp/qws-channel-tls-5aFkbI"
qwen serve: startup timing: processToListenMs=15392 runQwenServeToListenMs=56
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:52:00.303Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:00.358Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:00.358Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-channel-gap-H4WnUg/debug/daemon/daemon.log
2026-10-24T14:52:00.360Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-gap-H4WnUg secondary= daemon workspace roots initialized
qwen serve listening on https://[::1]:38913 (mode=http-bridge, workspace=/tmp/qws-channel-gap-H4WnUg)
qwen serve: bound to workspace "/tmp/qws-channel-gap-H4WnUg"
qwen serve: startup timing: processToListenMs=15601 runQwenServeToListenMs=59
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:52:00.548Z [WARN] [DAEMON] --tls-cert "/tmp/qws-channel-gap-H4WnUg/cert.pem" has no subjectAltName covering "::1", the host channel workers dial — every worker handshake will fail ERR_TLS_CERT_ALTNAME_INVALID. Reissue the certificate with that host in its SANs and restart.
2026-10-24T14:52:00.549Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:00.611Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:00.611Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-channel-gap-b7sWnS/debug/daemon/daemon.log
2026-10-24T14:52:00.615Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-gap-b7sWnS secondary= daemon workspace roots initialized
qwen serve listening on https://127.0.0.1:41799 (mode=http-bridge, workspace=/tmp/qws-channel-gap-b7sWnS)
qwen serve: bound to workspace "/tmp/qws-channel-gap-b7sWnS"
qwen serve: startup timing: processToListenMs=15864 runQwenServeToListenMs=72
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:52:00.793Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:00.842Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:00.842Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-channel-gap-UKBEgr/debug/daemon/daemon.log
2026-10-24T14:52:00.843Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-gap-UKBEgr secondary= daemon workspace roots initialized
qwen serve listening on https://127.0.0.1:35227 (mode=http-bridge, workspace=/tmp/qws-channel-gap-UKBEgr)
qwen serve: bound to workspace "/tmp/qws-channel-gap-UKBEgr"
qwen serve: startup timing: processToListenMs=16083 runQwenServeToListenMs=42
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:52:00.925Z [WARN] [DAEMON] Channel worker TLS verification failed against the exact CA bundle workers receive (INVALID_PURPOSE): unsuitable certificate purpose
2026-10-24T14:52:00.926Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:00.951Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:00.951Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-channel-gap-Af3Oxm/debug/daemon/daemon.log
2026-10-24T14:52:00.952Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-gap-Af3Oxm secondary= daemon workspace roots initialized
qwen serve listening on https://127.0.0.1:40711 (mode=http-bridge, workspace=/tmp/qws-channel-gap-Af3Oxm)
qwen serve: bound to workspace "/tmp/qws-channel-gap-Af3Oxm"
qwen serve: startup timing: processToListenMs=16192 runQwenServeToListenMs=28
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:52:00.962Z [WARN] [DAEMON] NODE_TLS_REJECT_UNAUTHORIZED=0 disables certificate verification for channel workers; skipping the worker TLS trust check.
2026-10-24T14:52:00.963Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:02.331Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:02.332Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-channel-inspect-ajPZrD/debug/daemon/daemon.log
2026-10-24T14:52:02.333Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-inspect-ajPZrD secondary= daemon workspace roots initialized
qwen serve listening on https://127.0.0.1:35031 (mode=http-bridge, workspace=/tmp/qws-channel-inspect-ajPZrD)
qwen serve: bound to workspace "/tmp/qws-channel-inspect-ajPZrD"
qwen serve: startup timing: processToListenMs=17572 runQwenServeToListenMs=38
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:52:02.342Z [WARN] [DAEMON] Channel worker TLS trust-gap inspection could not run: Inspecting NODE_EXTRA_CA_CERTS requires Node.js 22.15.0 or newer. Continuing with the live handshake probe only.
2026-10-24T14:52:02.343Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:02.355Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:02.355Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:52:02.356Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-tls-close-GfWxHx secondary= daemon workspace roots initialized
qwen serve listening on https://127.0.0.1:42475 (mode=http-bridge, workspace=/tmp/qws-channel-tls-close-GfWxHx)
qwen serve: bound to workspace "/tmp/qws-channel-tls-close-GfWxHx"
qwen serve: startup timing: processToListenMs=17604 runQwenServeToListenMs=23
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
qwen serve: runtime startup failed: Daemon stopped while the channel worker TLS trust check was running.
2026-10-24T14:52:02.426Z [ERROR] [DAEMON] runtime startup failed
Error: Daemon stopped while the channel worker TLS trust check was running.
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:8250:21
at processTicksAndRejections (node:internal/process/task_queues:104:5)
2026-10-24T14:52:02.426Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:02.444Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:02.444Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:52:02.447Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-tls-lazy-8CUVcA secondary= daemon workspace roots initialized
qwen serve listening on https://127.0.0.1:46039 (mode=http-bridge, workspace=/tmp/qws-channel-tls-lazy-8CUVcA)
qwen serve: bound to workspace "/tmp/qws-channel-tls-lazy-8CUVcA"
qwen serve: startup timing: processToListenMs=17687 runQwenServeToListenMs=23
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:52:02.510Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:02.520Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:02.520Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-channel-gap-bNimKC/debug/daemon/daemon.log
2026-10-24T14:52:02.522Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-gap-bNimKC secondary= daemon workspace roots initialized
qwen serve listening on https://127.0.0.1:43293 (mode=http-bridge, workspace=/tmp/qws-channel-gap-bNimKC)
qwen serve: bound to workspace "/tmp/qws-channel-gap-bNimKC"
qwen serve: startup timing: processToListenMs=17762 runQwenServeToListenMs=13
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:52:02.673Z [WARN] [DAEMON] --tls-cert "/tmp/qws-channel-gap-bNimKC/cert.pem" is issued by another CA (CN=qwen wiring test root CA), not self-signed, and no NODE_EXTRA_CA_CERTS is set, so nothing in the channel workers' bundle anchors their trust — every worker handshake to the daemon will fail UNABLE_TO_VERIFY_LEAF_SIGNATURE unless the issuing CA is already in the workers' default trust store. Point NODE_EXTRA_CA_CERTS at the issuing CA (for mkcert: "$(mkcert -CAROOT)/rootCA.pem") and restart.
2026-10-24T14:52:02.674Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:02.687Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:02.688Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-channel-gap-SoSHjy/debug/daemon/daemon.log
2026-10-24T14:52:02.689Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-gap-SoSHjy secondary= daemon workspace roots initialized
qwen serve listening on https://127.0.0.1:33083 (mode=http-bridge, workspace=/tmp/qws-channel-gap-SoSHjy)
qwen serve: bound to workspace "/tmp/qws-channel-gap-SoSHjy"
qwen serve: startup timing: processToListenMs=17927 runQwenServeToListenMs=12
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:52:03.019Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:03.041Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:03.041Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-channel-gap-ax1m0F/debug/daemon/daemon.log
2026-10-24T14:52:03.043Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-gap-ax1m0F secondary= daemon workspace roots initialized
qwen serve listening on https://127.0.0.1:40623 (mode=http-bridge, workspace=/tmp/qws-channel-gap-ax1m0F)
qwen serve: bound to workspace "/tmp/qws-channel-gap-ax1m0F"
qwen serve: startup timing: processToListenMs=18283 runQwenServeToListenMs=26
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
(node:4617) Warning: qwen: failed to merge NODE_EXTRA_CA_CERTS "/tmp/qws-no-such-ca-file.pem" with the daemon cert "/tmp/qws-channel-gap-ax1m0F/cert.pem": ENOENT: no such file or directory, stat '/tmp/qws-no-such-ca-file.pem'; channel workers will trust only the daemon cert
(Use `node --trace-warnings ...` to show where the warning was created)
2026-10-24T14:52:03.191Z [WARN] [DAEMON] NODE_EXTRA_CA_CERTS "/tmp/qws-no-such-ca-file.pem" could not be read by the daemon (ENOENT), so channel workers receive no CA from it — a root-owned or mode-600 file is the usual cause, and its contents are not the problem. Every worker handshake to the daemon will fail UNABLE_TO_VERIFY_LEAF_SIGNATURE unless the issuing CA is already in the workers' default trust store. Fix that file's permissions or path and restart.
2026-10-24T14:52:03.191Z [WARN] [DAEMON] --tls-cert "/tmp/qws-channel-gap-ax1m0F/cert.pem" is issued by another CA (CN=qwen wiring test root CA), not self-signed, and NODE_EXTRA_CA_CERTS "/tmp/qws-no-such-ca-file.pem" could not be read, so whatever it carries reached nobody, so nothing in the channel workers' bundle anchors their trust — every worker handshake to the daemon will fail UNABLE_TO_VERIFY_LEAF_SIGNATURE unless the issuing CA is already in the workers' default trust store. Make NODE_EXTRA_CA_CERTS readable by the daemon as described above and restart.
2026-10-24T14:52:03.193Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:03.210Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:03.210Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:52:03.212Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-webhook-SL3tJg secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:39703 (mode=http-bridge, workspace=/tmp/qws-channel-webhook-SL3tJg)
qwen serve: bound to workspace "/tmp/qws-channel-webhook-SL3tJg"
qwen serve: startup timing: processToListenMs=18451 runQwenServeToListenMs=21
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:52:03.222Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:03.230Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:03.230Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:52:03.232Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-webhook-disabled-mImk09 secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:40787 (mode=http-bridge, workspace=/tmp/qws-channel-webhook-disabled-mImk09)
qwen serve: bound to workspace "/tmp/qws-channel-webhook-disabled-mImk09"
qwen serve: startup timing: processToListenMs=18471 runQwenServeToListenMs=12
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:52:03.241Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:03.250Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:03.250Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:52:03.252Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-runtime-control-5JP1WX secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:44797 (mode=http-bridge, workspace=/tmp/qws-channel-runtime-control-5JP1WX)
qwen serve: bound to workspace "/tmp/qws-channel-runtime-control-5JP1WX"
qwen serve: startup timing: processToListenMs=18491 runQwenServeToListenMs=12
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:52:03.265Z [INFO] [DAEMON] route=GET /capabilities durationMs=2 status=200 request completed
2026-10-24T14:52:04.041Z [INFO] [DAEMON] route=GET /workspace/channels durationMs=774 status=200 request completed
2026-10-24T14:52:04.046Z [INFO] [DAEMON] route=PUT /workspace/channel durationMs=2 status=201 request completed
2026-10-24T14:52:04.050Z [INFO] [DAEMON] route=GET /capabilities durationMs=1 status=200 request completed
2026-10-24T14:52:04.054Z [INFO] [DAEMON] route=PUT /workspace/channel durationMs=1 status=200 request completed
2026-10-24T14:52:04.057Z [INFO] [DAEMON] route=DELETE /workspace/channel durationMs=1 status=200 request completed
2026-10-24T14:52:04.059Z [INFO] [DAEMON] route=GET /capabilities durationMs=1 status=200 request completed
2026-10-24T14:52:04.062Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:04.085Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:04.085Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:52:04.088Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-runtime-race-F8ohLL secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:46627 (mode=http-bridge, workspace=/tmp/qws-channel-runtime-race-F8ohLL)
qwen serve: bound to workspace "/tmp/qws-channel-runtime-race-F8ohLL"
qwen serve: startup timing: processToListenMs=19332 runQwenServeToListenMs=27
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:52:04.106Z [INFO] [DAEMON] route=PUT /workspace/channel durationMs=2 status=201 request completed
2026-10-24T14:52:04.108Z [INFO] [DAEMON] route=PUT /workspace/channel durationMs=1 status=200 request completed
2026-10-24T14:52:04.109Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:04.124Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:04.124Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:52:04.126Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-runtime-fifo-fJCeBZ secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:39869 (mode=http-bridge, workspace=/tmp/qws-channel-runtime-fifo-fJCeBZ)
qwen serve: bound to workspace "/tmp/qws-channel-runtime-fifo-fJCeBZ"
qwen serve: startup timing: processToListenMs=19365 runQwenServeToListenMs=13
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:52:04.137Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:04.153Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:04.153Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:52:04.155Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-runtime-drain-WUU5vS secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:36367 (mode=http-bridge, workspace=/tmp/qws-channel-runtime-drain-WUU5vS)
qwen serve: bound to workspace "/tmp/qws-channel-runtime-drain-WUU5vS"
qwen serve: startup timing: processToListenMs=19398 runQwenServeToListenMs=22
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:52:04.169Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:04.179Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:04.179Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:52:04.181Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-runtime-unknown-yJT4fz secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:34361 (mode=http-bridge, workspace=/tmp/qws-channel-runtime-unknown-yJT4fz)
qwen serve: bound to workspace "/tmp/qws-channel-runtime-unknown-yJT4fz"
qwen serve: startup timing: processToListenMs=19420 runQwenServeToListenMs=12
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:52:04.194Z [WARN] [DAEMON] route=PUT /workspace/channel durationMs=2 status=400 request completed
2026-10-24T14:52:04.195Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:04.220Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:04.220Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:52:04.222Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-runtime-conflict-D1Z7yY secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:37927 (mode=http-bridge, workspace=/tmp/qws-channel-runtime-conflict-D1Z7yY)
qwen serve: bound to workspace "/tmp/qws-channel-runtime-conflict-D1Z7yY"
qwen serve: startup timing: processToListenMs=19461 runQwenServeToListenMs=18
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:52:04.234Z [WARN] [DAEMON] route=PUT /workspace/channel durationMs=2 status=409 request completed
2026-10-24T14:52:04.236Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:04.246Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:04.246Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:52:04.249Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-runtime-race-OknUxZ secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:46487 (mode=http-bridge, workspace=/tmp/qws-channel-runtime-race-OknUxZ)
qwen serve: bound to workspace "/tmp/qws-channel-runtime-race-OknUxZ"
qwen serve: startup timing: processToListenMs=19488 runQwenServeToListenMs=14
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:52:04.262Z [WARN] [DAEMON] route=PUT /workspace/channel durationMs=2 status=409 request completed
2026-10-24T14:52:04.263Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:04.273Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:04.273Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:52:04.275Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-fail-9LYKug secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:40953 (mode=http-bridge, workspace=/tmp/qws-channel-worker-fail-9LYKug)
qwen serve: bound to workspace "/tmp/qws-channel-worker-fail-9LYKug"
qwen serve: startup timing: processToListenMs=19515 runQwenServeToListenMs=15
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: runtime startup failed: worker boom
2026-10-24T14:52:04.286Z [ERROR] [DAEMON] runtime startup failed
ChannelWorkerControlError: worker boom
at applySelection (/startdir/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:427:15)
at processTicksAndRejections (node:internal/process/task_queues:104:5)
at /startdir/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:527:9
2026-10-24T14:52:04.289Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:04.341Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:04.341Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:52:04.344Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-reload-xqmXQh secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:43393 (mode=http-bridge, workspace=/tmp/qws-channel-worker-reload-xqmXQh)
qwen serve: bound to workspace "/tmp/qws-channel-worker-reload-xqmXQh"
qwen serve: startup timing: processToListenMs=19602 runQwenServeToListenMs=72
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:52:04.376Z [INFO] [DAEMON] route=POST /workspace/channel/reload durationMs=2 status=200 request completed
2026-10-24T14:52:04.377Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:04.409Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:04.409Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-channel-worker-plan-jyxapP/debug/daemon/daemon.log
2026-10-24T14:52:04.412Z [ERROR] [DAEMON] daemon startup failed
Error: Channel "telegram" is configured in multiple registered workspaces (/tmp/qws-channel-worker-plan-jyxapP/primary, /tmp/qws-channel-worker-plan-jyxapP/secondary). Define it in one workspace's settings or set an explicit "cwd".
at resolveChannelWorkspaceGroupsAtListen (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:7583:27)
at onListening (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:8855:34)
at Server.handleListening (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:9044:9)
at Server.wrapper (node:events:639:12)
at Server.emit (node:events:526:24)
at emitListeningNT (node:net:2485:10)
at processTicksAndRejections (node:internal/process/task_queues:89:21)
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:04.424Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:04.424Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-dynamic-worker-pidfile-fzRi1S/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:45619 (mode=http-bridge, workspace=/tmp/qws-dynamic-worker-pidfile-fzRi1S/primary)
qwen serve: bound to workspace "/tmp/qws-dynamic-worker-pidfile-fzRi1S/primary"
qwen serve: startup timing: processToListenMs=19655 runQwenServeToListenMs=3
2026-10-24T14:52:04.426Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-dynamic-worker-pidfile-fzRi1S/primary secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:52:04.445Z [INFO] [DAEMON] route=POST /workspaces durationMs=4 status=201 request completed
2026-10-24T14:52:04.448Z [INFO] [DAEMON] route=PUT /workspace/channel durationMs=1 status=201 request completed
2026-10-24T14:52:04.450Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:04.482Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:04.482Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-channel-worker-groups-gLGpB2/debug/daemon/daemon.log
2026-10-24T14:52:04.484Z [INFO] [DAEMON] channels=telegram workspace=/tmp/qws-channel-worker-groups-gLGpB2/primary channel worker group assigned
2026-10-24T14:52:04.484Z [INFO] [DAEMON] channels=feishu workspace=/tmp/qws-channel-worker-groups-gLGpB2/secondary channel worker group assigned
qwen serve: bound to workspace "/tmp/qws-channel-worker-groups-gLGpB2/primary"
qwen serve: startup timing: processToListenMs=19714 runQwenServeToListenMs=23
2026-10-24T14:52:04.484Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
qwen serve listening on http://127.0.0.1:42177 (mode=http-bridge, workspace=/tmp/qws-channel-worker-groups-gLGpB2/primary)
2026-10-24T14:52:04.486Z [WARN] [DAEMON] channelName=feishu reason="secret mismatch" source=github-ci deferred webhook auth failed
2026-10-24T14:52:04.489Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-groups-gLGpB2/primary secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:52:04.501Z [INFO] [DAEMON] route=GET /capabilities durationMs=1 status=200 request completed
2026-10-24T14:52:04.503Z [INFO] [DAEMON] channels=telegram pid=1234 workspace=/tmp/qws-channel-worker-groups-gLGpB2/primary channel worker ready
2026-10-24T14:52:04.508Z [INFO] [DAEMON] route=GET /capabilities durationMs=4 status=200 request completed
2026-10-24T14:52:04.509Z [INFO] [DAEMON] channels=feishu pid=5678 workspace=/tmp/qws-channel-worker-groups-gLGpB2/secondary channel worker ready
2026-10-24T14:52:04.510Z [INFO] [DAEMON] channelName=feishu eventType=check_failed source=github-ci targetRef=default channel webhook task accepted
2026-10-24T14:52:04.510Z [INFO] [DAEMON] route=POST /channels/feishu/webhooks/github-ci durationMs=1 status=202 request completed
2026-10-24T14:52:04.513Z [INFO] [DAEMON] route=GET /capabilities durationMs=1 status=200 request completed
2026-10-24T14:52:04.515Z [WARN] [DAEMON] route=DELETE /workspaces/cdf19323afb0aff3 durationMs=1 status=409 request completed
2026-10-24T14:52:04.519Z [ERROR] [DAEMON] workspace channel worker topology refresh error
Error: Channel "feishu" is not configured in any registered workspace, or its "cwd" points outside them.
at resolveRuntimeChannelGroups (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:8151:31)
at processTicksAndRejections (node:internal/process/task_queues:104:5)
at /startdir/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:750:26
2026-10-24T14:52:04.519Z [INFO] [DAEMON] route=DELETE /workspaces/cdf19323afb0aff3 durationMs=2 status=200 request completed
2026-10-24T14:52:04.522Z [WARN] [DAEMON] channelName=feishu source=github-ci channel webhook authentication failed
2026-10-24T14:52:04.523Z [WARN] [DAEMON] route=POST /channels/feishu/webhooks/github-ci durationMs=0 status=401 request completed
2026-10-24T14:52:04.523Z [WARN] [DAEMON] channel worker [/tmp/qws-channel-worker-groups-gLGpB2/secondary] stderr: Ignored stale channel worker exit (generation=2).
2026-10-24T14:52:04.533Z [INFO] [DAEMON] route=GET /capabilities durationMs=1 status=200 request completed
2026-10-24T14:52:04.535Z [INFO] [DAEMON] channels=feishu pid=5678 workspace=/tmp/qws-channel-worker-groups-gLGpB2/secondary channel worker ready
2026-10-24T14:52:04.535Z [INFO] [DAEMON] route=POST /workspaces durationMs=10 status=201 request completed
2026-10-24T14:52:04.538Z [INFO] [DAEMON] channelName=feishu eventType=check_failed source=github-ci targetRef=default channel webhook task accepted
2026-10-24T14:52:04.538Z [INFO] [DAEMON] route=POST /channels/feishu/webhooks/github-ci durationMs=1 status=202 request completed
2026-10-24T14:52:04.539Z [WARN] [DAEMON] channel worker exited (workspace=/tmp/qws-channel-worker-groups-gLGpB2/secondary, state=failed, pid=unknown, code=null, signal=null, error=worker stopped, restartCount=0, nextRestartAt=none, staleHeartbeatAt=none)
2026-10-24T14:52:04.542Z [ERROR] [DAEMON] workspace channel worker topology refresh error
Error: Channel "feishu" is not configured in any registered workspace, or its "cwd" points outside them.
at resolveRuntimeChannelGroups (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:8151:31)
at processTicksAndRejections (node:internal/process/task_queues:104:5)
at /startdir/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:750:26
2026-10-24T14:52:04.542Z [INFO] [DAEMON] route=DELETE /workspaces/cdf19323afb0aff3 durationMs=2 status=200 request completed
2026-10-24T14:52:04.543Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:04.554Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:04.554Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:52:04.556Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-gKALB0 secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:34323 (mode=http-bridge, workspace=/tmp/qws-channel-worker-gKALB0)
qwen serve: bound to workspace "/tmp/qws-channel-worker-gKALB0"
qwen serve: startup timing: processToListenMs=19795 runQwenServeToListenMs=13
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:52:04.566Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:04.590Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:04.590Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:52:04.592Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-force-hFXVC8 secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:46537 (mode=http-bridge, workspace=/tmp/qws-channel-worker-force-hFXVC8)
qwen serve: bound to workspace "/tmp/qws-channel-worker-force-hFXVC8"
qwen serve: startup timing: processToListenMs=19832 runQwenServeToListenMs=13
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:52:04.602Z [WARN] [DAEMON] received SIGTERM, draining
2026-10-24T14:52:04.602Z [WARN] [DAEMON] received SIGTERM during drain — forcing exit
2026-10-24T14:52:04.603Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:04.614Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:04.614Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-channel-worker-stuck-Y492qA/debug/daemon/daemon.log
2026-10-24T14:52:04.615Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-stuck-Y492qA secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:40795 (mode=http-bridge, workspace=/tmp/qws-channel-worker-stuck-Y492qA)
qwen serve: bound to workspace "/tmp/qws-channel-worker-stuck-Y492qA"
qwen serve: startup timing: processToListenMs=19861 runQwenServeToListenMs=19
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:52:04.631Z [WARN] [DAEMON] received SIGTERM, draining
2026-10-24T14:52:04.632Z [ERROR] [DAEMON] channel worker stop error
ChannelWorkerControlError: Channel worker did not exit after SIGKILL.
at classifyFailure (/startdir/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:338:12)
at /startdir/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:778:17
at processTicksAndRejections (node:internal/process/task_queues:104:5)
2026-10-24T14:52:04.632Z [ERROR] [DAEMON] shutdown error
ChannelWorkerControlError: Channel worker did not exit after SIGKILL.
at classifyFailure (/startdir/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:338:12)
at /startdir/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:778:17
at processTicksAndRejections (node:internal/process/task_queues:104:5)
2026-10-24T14:52:04.632Z [ERROR] [DAEMON] refusing to exit while a channel worker or service lease remains; signal again to retry after the child exits (another signal during that retry forces exit)
2026-10-24T14:52:04.633Z [WARN] [DAEMON] received SIGTERM, draining
2026-10-24T14:52:04.633Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:04.656Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:04.656Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:52:04.658Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-acp-error-fcoIDS secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:45795 (mode=http-bridge, workspace=/tmp/qws-channel-acp-error-fcoIDS)
qwen serve: bound to workspace "/tmp/qws-channel-acp-error-fcoIDS"
qwen serve: startup timing: processToListenMs=19897 runQwenServeToListenMs=20
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:52:04.667Z [WARN] [DAEMON] received SIGTERM, draining
2026-10-24T14:52:04.668Z [ERROR] [DAEMON] ACP process registry shutdown error
Error: ACP process shutdown failed
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:13158:7
at processTicksAndRejections (node:internal/process/task_queues:104:5)
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
2026-10-24T14:52:04.668Z [ERROR] [DAEMON] daemon shutdown incomplete
Error: ACP process shutdown failed
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:13158:7
at processTicksAndRejections (node:internal/process/task_queues:104:5)
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
2026-10-24T14:52:04.668Z [ERROR] [DAEMON] shutdown error
Error: ACP process shutdown failed
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:13158:7
at processTicksAndRejections (node:internal/process/task_queues:104:5)
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:04.682Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:04.682Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:52:04.683Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-combined-error-XQrjlI secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:34503 (mode=http-bridge, workspace=/tmp/qws-channel-combined-error-XQrjlI)
qwen serve: bound to workspace "/tmp/qws-channel-combined-error-XQrjlI"
qwen serve: startup timing: processToListenMs=19924 runQwenServeToListenMs=17
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:52:04.694Z [WARN] [DAEMON] received SIGTERM, draining
2026-10-24T14:52:04.695Z [ERROR] [DAEMON] channel worker stop error
ChannelWorkerControlError: Channel worker did not exit after SIGKILL.
at classifyFailure (/startdir/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:338:12)
at /startdir/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:778:17
at processTicksAndRejections (node:internal/process/task_queues:104:5)
2026-10-24T14:52:04.695Z [ERROR] [DAEMON] ACP process registry shutdown error
Error: ACP process shutdown failed
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:13232:7
at processTicksAndRejections (node:internal/process/task_queues:104:5)
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
2026-10-24T14:52:04.695Z [ERROR] [DAEMON] shutdown error
ChannelWorkerControlError: Channel worker did not exit after SIGKILL.
at classifyFailure (/startdir/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:338:12)
at /startdir/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:778:17
at processTicksAndRejections (node:internal/process/task_queues:104:5)
2026-10-24T14:52:04.695Z [ERROR] [DAEMON] refusing to exit while a channel worker or service lease remains; signal again to retry after the child exits (another signal during that retry forces exit)
2026-10-24T14:52:04.695Z [WARN] [DAEMON] received SIGTERM, draining
2026-10-24T14:52:04.695Z [ERROR] [DAEMON] ACP process registry shutdown error
Error: ACP process shutdown failed
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:13232:7
at processTicksAndRejections (node:internal/process/task_queues:104:5)
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
2026-10-24T14:52:04.696Z [ERROR] [DAEMON] daemon shutdown incomplete
Error: ACP process shutdown failed
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:13232:7
at processTicksAndRejections (node:internal/process/task_queues:104:5)
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
2026-10-24T14:52:04.696Z [ERROR] [DAEMON] shutdown error
Error: ACP process shutdown failed
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:13232:7
at processTicksAndRejections (node:internal/process/task_queues:104:5)
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:04.720Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:04.720Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:52:04.721Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-aggregate-error-BnT6Vd secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:42301 (mode=http-bridge, workspace=/tmp/qws-channel-aggregate-error-BnT6Vd)
qwen serve: bound to workspace "/tmp/qws-channel-aggregate-error-BnT6Vd"
qwen serve: startup timing: processToListenMs=19960 runQwenServeToListenMs=25
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:52:04.730Z [WARN] [DAEMON] received SIGTERM, draining
2026-10-24T14:52:04.731Z [ERROR] [DAEMON] channel worker stop error
ChannelWorkerControlError: Channel worker did not exit after SIGKILL.
at classifyFailure (/startdir/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:338:12)
at /startdir/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:778:17
at processTicksAndRejections (node:internal/process/task_queues:104:5)
2026-10-24T14:52:04.731Z [ERROR] [DAEMON] shutdown error
AggregateError: Serve app shutdown is incomplete.
at ServeAppLifecycleController.closeOnce (/startdir/src/qwen-code/packages/cli/src/serve/serve-app-lifecycle.ts:223:13)
2026-10-24T14:52:04.731Z [ERROR] [DAEMON] refusing to exit while a channel worker or service lease remains; signal again to retry after the child exits (another signal during that retry forces exit)
2026-10-24T14:52:04.732Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:04.742Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:04.742Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-channel-log-stuck-samAhk/debug/daemon/daemon.log
2026-10-24T14:52:04.744Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-log-stuck-samAhk secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:36193 (mode=http-bridge, workspace=/tmp/qws-channel-log-stuck-samAhk)
qwen serve: bound to workspace "/tmp/qws-channel-log-stuck-samAhk"
qwen serve: startup timing: processToListenMs=19984 runQwenServeToListenMs=13
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:52:04.757Z [WARN] [DAEMON] route=GET /blocked-access-log durationMs=1 status=404 request completed
2026-10-24T14:52:04.758Z [ERROR] [DAEMON] channel worker stop error
ChannelWorkerControlError: Channel worker did not exit after SIGKILL.
at classifyFailure (/startdir/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:338:12)
at /startdir/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:778:17
at processTicksAndRejections (node:internal/process/task_queues:104:5)
2026-10-24T14:52:05.011Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:05.026Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:05.026Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:52:05.027Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-bridge-stuck-Qiu5gT secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:37279 (mode=http-bridge, workspace=/tmp/qws-channel-bridge-stuck-Qiu5gT)
qwen serve: bound to workspace "/tmp/qws-channel-bridge-stuck-Qiu5gT"
qwen serve: startup timing: processToListenMs=20266 runQwenServeToListenMs=12
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:52:05.037Z [ERROR] [DAEMON] channel worker stop error
ChannelWorkerControlError: Channel worker did not exit after SIGKILL.
at classifyFailure (/startdir/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:338:12)
at /startdir/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:778:17
at processTicksAndRejections (node:internal/process/task_queues:104:5)
2026-10-24T14:52:05.037Z [WARN] [DAEMON] error="bridge still draining" reason=daemon_shutdown workspace=/tmp/qws-channel-bridge-stuck-Qiu5gT workspace bridge required forceful shutdown
2026-10-24T14:52:05.038Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:05.049Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:05.049Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:52:05.051Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-fallback-Q6TvqC secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:43179 (mode=http-bridge, workspace=/tmp/qws-channel-worker-fallback-Q6TvqC)
qwen serve: bound to workspace "/tmp/qws-channel-worker-fallback-Q6TvqC"
qwen serve: startup timing: processToListenMs=20290 runQwenServeToListenMs=14
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:52:05.061Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:05.137Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:05.137Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:52:05.138Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-fallback-hgZfTN secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:39087 (mode=http-bridge, workspace=/tmp/qws-channel-worker-fallback-hgZfTN)
qwen serve: bound to workspace "/tmp/qws-channel-worker-fallback-hgZfTN"
qwen serve: startup timing: processToListenMs=20378 runQwenServeToListenMs=67
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:52:05.149Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:05.165Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:05.165Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:52:05.167Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-pidfile-R7UCgt secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:37161 (mode=http-bridge, workspace=/tmp/qws-channel-worker-pidfile-R7UCgt)
qwen serve: bound to workspace "/tmp/qws-channel-worker-pidfile-R7UCgt"
qwen serve: startup timing: processToListenMs=20406 runQwenServeToListenMs=19
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:52:05.176Z [WARN] [DAEMON] failed to write channel worker pidfile metadata: disk full
2026-10-24T14:52:05.177Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:05.199Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:05.199Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:52:05.200Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-ready-EsJo1E secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:45735 (mode=http-bridge, workspace=/tmp/qws-channel-worker-ready-EsJo1E)
qwen serve: bound to workspace "/tmp/qws-channel-worker-ready-EsJo1E"
qwen serve: startup timing: processToListenMs=20439 runQwenServeToListenMs=21
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:52:05.209Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:05.294Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:05.294Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-channel-worker-log-KIIOIb/debug/daemon/daemon.log
2026-10-24T14:52:05.296Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-log-KIIOIb secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:42425 (mode=http-bridge, workspace=/tmp/qws-channel-worker-log-KIIOIb)
qwen serve: bound to workspace "/tmp/qws-channel-worker-log-KIIOIb"
qwen serve: startup timing: processToListenMs=20535 runQwenServeToListenMs=85
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:52:05.306Z [WARN] [DAEMON] channel worker stderr: adapter failed with
2026-10-24T14:52:05.306Z [WARN] [DAEMON] channel worker exited (state=exited, pid=1234, code=1, signal=null, error=ipc failed, restartCount=2, nextRestartAt=2026-07-01T01:00:05.000Z, staleHeartbeatAt=2026-07-01T01:00:00.000Z)
2026-10-24T14:52:05.308Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:05.322Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:05.323Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:52:05.324Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-loopback-zubs3b secondary= daemon workspace roots initialized
qwen serve listening on http://0.0.0.0:43791 (mode=http-bridge, workspace=/tmp/qws-channel-worker-loopback-zubs3b)
qwen serve: bound to workspace "/tmp/qws-channel-worker-loopback-zubs3b"
qwen serve: startup timing: processToListenMs=20578 runQwenServeToListenMs=28
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:52:05.349Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:05.364Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:05.364Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:52:05.366Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-timeout-ElTRbK secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:46459 (mode=http-bridge, workspace=/tmp/qws-channel-worker-timeout-ElTRbK)
qwen serve: bound to workspace "/tmp/qws-channel-worker-timeout-ElTRbK"
qwen serve: startup timing: processToListenMs=20608 runQwenServeToListenMs=18
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
qwen serve: runtime startup failed: Daemon runtime startup timed out after 1ms.
2026-10-24T14:52:05.379Z [ERROR] [DAEMON] runtime startup failed
Error: Daemon runtime startup timed out after 1ms.
at Timeout. (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:8078:13)
at listOnTimeout (node:internal/timers:685:17)
at processTimers (node:internal/timers:618:7)
2026-10-24T14:52:05.380Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:05.395Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:05.396Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:52:05.397Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-status-F7haNB secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:39439 (mode=http-bridge, workspace=/tmp/qws-channel-worker-status-F7haNB)
qwen serve: bound to workspace "/tmp/qws-channel-worker-status-F7haNB"
qwen serve: startup timing: processToListenMs=20635 runQwenServeToListenMs=11
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:52:05.406Z [WARN] [DAEMON] channel worker exited (state=exited, pid=1234, code=1, signal=null, error=ipc failed, restartCount=0, nextRestartAt=none, staleHeartbeatAt=none)
2026-10-24T14:52:05.409Z [INFO] [DAEMON] route=GET /daemon/status durationMs=1 status=200 request completed
2026-10-24T14:52:05.410Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:05.426Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:05.426Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:52:05.427Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-fail-85Siep secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:40625 (mode=http-bridge, workspace=/tmp/qws-channel-worker-fail-85Siep)
qwen serve: bound to workspace "/tmp/qws-channel-worker-fail-85Siep"
qwen serve: startup timing: processToListenMs=20670 runQwenServeToListenMs=16
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
qwen serve: runtime startup failed: worker failed before ready
2026-10-24T14:52:05.441Z [ERROR] [DAEMON] runtime startup failed
ChannelWorkerControlError: worker failed before ready
at applySelection (/startdir/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:427:15)
at processTicksAndRejections (node:internal/process/task_queues:104:5)
at /startdir/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:527:9
2026-10-24T14:52:05.441Z [ERROR] [DAEMON] daemon startup failed
ChannelWorkerControlError: worker failed before ready
at applySelection (/startdir/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:427:15)
at processTicksAndRejections (node:internal/process/task_queues:104:5)
at /startdir/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:527:9
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:05.478Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:05.478Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:52:05.481Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-untrusted-JkaIf5 secondary= daemon workspace roots initialized
2026-10-24T14:52:05.492Z [ERROR] [DAEMON] daemon startup failed
Error: Primary workspace "/tmp/qws-channel-untrusted-JkaIf5" is not trusted; cannot host channels.
at resolveChannelWorkspaceGroupsAtListen (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:7520:11)
at onListening (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:8855:34)
at Server.handleListening (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:9044:9)
at Server.wrapper (node:events:639:12)
at Server.emit (node:events:526:24)
at emitListeningNT (node:net:2485:10)
at processTicksAndRejections (node:internal/process/task_queues:89:21)
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:05.502Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:05.502Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:52:05.503Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-startup-cleanup-dF1IN9 secondary= daemon workspace roots initialized
2026-10-24T14:52:05.512Z [ERROR] [DAEMON] daemon startup failed
AggregateError: Primary workspace "/tmp/qws-channel-startup-cleanup-dF1IN9" is not trusted; cannot host channels.
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:8865:19
at processTicksAndRejections (node:internal/process/task_queues:104:5)
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:05.520Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:05.520Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:52:05.521Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-retained-kQSVan secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:45477 (mode=http-bridge, workspace=/tmp/qws-channel-worker-retained-kQSVan)
qwen serve: bound to workspace "/tmp/qws-channel-worker-retained-kQSVan"
qwen serve: startup timing: processToListenMs=20758 runQwenServeToListenMs=9
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
qwen serve: runtime startup failed: worker failed before ready
2026-10-24T14:52:05.528Z [ERROR] [DAEMON] runtime startup failed
ChannelWorkerControlError: worker failed before ready
at applySelection (/startdir/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:427:15)
at processTicksAndRejections (node:internal/process/task_queues:104:5)
at /startdir/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:527:9
2026-10-24T14:52:05.528Z [ERROR] [DAEMON] channel worker stop after runtime startup error failed
ChannelWorkerControlError: Channel worker did not exit after SIGKILL.
at classifyFailure (/startdir/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:338:12)
at /startdir/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:778:17
at processTicksAndRejections (node:internal/process/task_queues:104:5)
2026-10-24T14:52:05.528Z [ERROR] [DAEMON] channel worker stop error
ChannelWorkerControlError: Channel worker did not exit after SIGKILL.
at classifyFailure (/startdir/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:338:12)
at /startdir/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:778:17
at processTicksAndRejections (node:internal/process/task_queues:104:5)
2026-10-24T14:52:05.529Z [ERROR] [DAEMON] shutdown after runtime startup error failed
ChannelWorkerControlError: Channel worker did not exit after SIGKILL.
at classifyFailure (/startdir/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:338:12)
at /startdir/src/qwen-code/packages/cli/src/serve/channel-worker-manager.ts:778:17
at processTicksAndRejections (node:internal/process/task_queues:104:5)
2026-10-24T14:52:05.529Z [ERROR] [DAEMON] runtime startup failed, but qwen serve remains alive to retain the channel service lease until worker exit is confirmed
2026-10-24T14:52:06.572Z [WARN] [DAEMON] received SIGTERM, draining
2026-10-24T14:52:06.572Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:06.580Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:06.580Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:52:06.581Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-busy-yri32d secondary= daemon workspace roots initialized
2026-10-24T14:52:06.586Z [ERROR] [DAEMON] daemon startup failed
Error: Channel service is already running under qwen serve (PID 9999). Stop it before enabling daemon-managed channels.
at channelServicePidfileConflictError (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:1850:5)
at reserveChannelServicePidfile (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3267:13)
at runQwenServeImpl (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:7592:5)
at Module.runQwenServe (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3028:12)
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:14128:5
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:06.596Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:06.596Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:52:06.597Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-stale-CekkuV secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:40091 (mode=http-bridge, workspace=/tmp/qws-channel-worker-stale-CekkuV)
qwen serve: bound to workspace "/tmp/qws-channel-worker-stale-CekkuV"
qwen serve: startup timing: processToListenMs=21834 runQwenServeToListenMs=10
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:52:06.604Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:06.616Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:06.616Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:52:06.617Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-listen-NDPg05 secondary= daemon workspace roots initialized
2026-10-24T14:52:06.625Z [ERROR] [DAEMON] daemon startup failed
RangeError: options.port should be >= 0 and < 65536. Received type number (-1).
at Server.listen (node:net:2613:5)
at tryListen (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:9081:16)
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:9103:5
at new Promise ()
at runQwenServeImpl (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:7595:16)
at Module.runQwenServe (/startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.ts:3028:12)
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:14208:5
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve listening on http://127.0.0.1:39325 (mode=http-bridge, workspace=/tmp/qws-port-retry-kdAf9O)
2026-10-24T14:52:06.644Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:06.665Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:06.665Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:52:06.667Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-port-no-retry-Fw7j4u secondary= daemon workspace roots initialized
2026-10-24T14:52:06.668Z [ERROR] [DAEMON] daemon startup failed
Error: permission denied
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:14301:25
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 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)
at runFiles (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1787:3)
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:06.692Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:06.692Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:52:06.693Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-port0-no-retry-mZTTR1 secondary= daemon workspace roots initialized
2026-10-24T14:52:06.694Z [ERROR] [DAEMON] daemon startup failed
Error: address in use
at /startdir/src/qwen-code/packages/cli/src/serve/run-qwen-serve.test.ts:14386:25
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 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)
at runFiles (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1787:3)
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:06.703Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:06.703Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:52:06.704Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-crash-HqmPuy secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:35529 (mode=http-bridge, workspace=/tmp/qws-channel-worker-crash-HqmPuy)
qwen serve: bound to workspace "/tmp/qws-channel-worker-crash-HqmPuy"
qwen serve: startup timing: processToListenMs=21940 runQwenServeToListenMs=8
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:52:06.710Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:06.735Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:06.735Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
2026-10-24T14:52:06.737Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-unhandled-5BTA8K secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:41623 (mode=http-bridge, workspace=/tmp/qws-channel-worker-unhandled-5BTA8K)
qwen serve: bound to workspace "/tmp/qws-channel-worker-unhandled-5BTA8K"
qwen serve: startup timing: processToListenMs=21979 runQwenServeToListenMs=28
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:52:06.750Z [INFO] [DAEMON] daemon stopped
qwen serve listening on http://127.0.0.1:34667 (mode=http-bridge, workspace=/tmp/qws-allow-origin-2PVGdQ)
2026-10-24T14:52:06.775Z [INFO] [DAEMON] daemon stopped
qwen serve listening on http://127.0.0.1:35103 (mode=http-bridge, workspace=/tmp/qws-startup-runtime-dir-CBkZFJ)
qwen serve listening on http://127.0.0.1:38275 (mode=http-bridge, workspace=/tmp/qws-startup-log-dep-shE3HS)
qwen serve listening on http://127.0.0.1:43861 (mode=http-bridge, workspace=/tmp/qws-startup-storage-dir-yMw7Lo)
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:06.895Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:06.895Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:40291 (mode=http-bridge, workspace=/tmp/qws-startup-preheat-KzZCZD)
qwen serve: bound to workspace "/tmp/qws-startup-preheat-KzZCZD"
qwen serve: startup timing: processToListenMs=22127 runQwenServeToListenMs=3
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:52:06.897Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-startup-preheat-KzZCZD secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:52:06.907Z [INFO] [DAEMON] route=GET /daemon/status durationMs=1 status=200 request completed
2026-10-24T14:52:06.910Z [INFO] [DAEMON] route=GET /daemon/status durationMs=1 status=200 request completed
2026-10-24T14:52:06.913Z [INFO] [DAEMON] route=GET /daemon/status durationMs=1 status=200 request completed
2026-10-24T14:52:06.914Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:52:06.924Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:52:06.924Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp,NODE_OPTIONS scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qws-run-serve-tests-Ywg43Z/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:34125 (mode=http-bridge, workspace=/tmp/qws-startup-preheat-4c8yTs)
qwen serve: bound to workspace "/tmp/qws-startup-preheat-4c8yTs"
qwen serve: startup timing: processToListenMs=22155 runQwenServeToListenMs=2
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:52:06.926Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-startup-preheat-4c8yTs secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
qwen serve: ACP preheat failed, will retry on first session: preheat boom
2026-10-24T14:52:06.933Z [INFO] [DAEMON] route=GET /daemon/status durationMs=1 status=200 request completed
2026-10-24T14:52:06.935Z [INFO] [DAEMON] route=GET /daemon/status durationMs=0 status=200 request completed
2026-10-24T14:52:06.935Z [INFO] [DAEMON] daemon stopped
✓ src/serve/run-qwen-serve.test.ts (327 tests) 20237ms
✓ runQwenServe runtime startup failures > keeps health responsive before starting deferred runtime work 373ms
✓ runQwenServe runtime startup failures > starts deferred runtime on fallback when no health probe arrives 1054ms
✓ runQwenServe runtime startup failures > does not start deferred runtime after close before first health 1115ms
✓ runQwenServe runtime startup failures > disposes a deferred runtime app that finishes after the shutdown wait 5208ms
✓ runQwenServe channel worker supervisor > normalizes a killed TLS trust probe to the generic failure code 1267ms
✓ runQwenServe channel worker supervisor > reads NODE_EXTRA_CA_CERTS from the environment when judging the gap 341ms
✓ runQwenServe channel worker supervisor > enables, queries, idempotently reapplies, and stops channels after boot 826ms
✓ runQwenServe channel worker supervisor > keeps the serve owner alive when failed startup cannot confirm worker exit 1060ms
✓ src/ui/hooks/useGeminiStream.test.tsx (233 tests) 4083ms
✓ src/commands/review/agent-prompt.test.ts (299 tests) 462ms
✓ src/nonInteractiveCli.test.ts (131 tests | 1 skipped) 1798ms
qwen serve: sessions archive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655440111"] archived=0 archivedIds=[] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=1 errorIds=["550e8400-e29b-41d4-a716-446655440111":"Session \"550e8400-e29b-41d4-a716-446655440111\" exists in both active and archiv]
qwen serve: sessions archive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655440202"] archived=1 archivedIds=["550e8400-e29b-41d4-a716-446655440202"] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=0 errorIds=[]
qwen serve: sessions archive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655441202"] archived=1 archivedIds=["550e8400-e29b-41d4-a716-446655441202"] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=0 errorIds=[]
qwen serve: sessions unarchive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655440203"] unarchived=1 unarchivedIds=["550e8400-e29b-41d4-a716-446655440203"] alreadyActive=0 alreadyActiveIds=[] notFound=0 notFoundIds=[] errors=0 errorIds=[]
qwen serve: sessions unarchive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655441203"] unarchived=1 unarchivedIds=["550e8400-e29b-41d4-a716-446655441203"] alreadyActive=0 alreadyActiveIds=[] notFound=0 notFoundIds=[] errors=0 errorIds=[]
qwen serve: sessions archive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655440205"] archived=1 archivedIds=["550e8400-e29b-41d4-a716-446655440205"] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=0 errorIds=[]
qwen serve: sessions archive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655441205"] archived=1 archivedIds=["550e8400-e29b-41d4-a716-446655441205"] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=0 errorIds=[]
qwen serve: sessions unarchive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655440206"] unarchived=1 unarchivedIds=["550e8400-e29b-41d4-a716-446655440206"] alreadyActive=0 alreadyActiveIds=[] notFound=0 notFoundIds=[] errors=0 errorIds=[]
qwen serve: sessions unarchive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655441206"] unarchived=1 unarchivedIds=["550e8400-e29b-41d4-a716-446655441206"] alreadyActive=0 alreadyActiveIds=[] notFound=0 notFoundIds=[] errors=0 errorIds=[]
qwen serve: sessions archive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655440208"] archived=1 archivedIds=["550e8400-e29b-41d4-a716-446655440208"] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=0 errorIds=[]
qwen serve: sessions archive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655441208"] archived=1 archivedIds=["550e8400-e29b-41d4-a716-446655441208"] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=0 errorIds=[]
qwen serve: sessions unarchive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655440209"] unarchived=1 unarchivedIds=["550e8400-e29b-41d4-a716-446655440209"] alreadyActive=0 alreadyActiveIds=[] notFound=0 notFoundIds=[] errors=0 errorIds=[]
qwen serve: sessions unarchive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655441209"] unarchived=1 unarchivedIds=["550e8400-e29b-41d4-a716-446655441209"] alreadyActive=0 alreadyActiveIds=[] notFound=0 notFoundIds=[] errors=0 errorIds=[]
qwen serve: sessions archive result requested=2 requestedIds=["550e8400-e29b-41d4-a716-446655440211","550e8400-e29b-41d4-a716-446655440212"] archived=1 archivedIds=["550e8400-e29b-41d4-a716-446655440211"] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=1 errorIds=["550e8400-e29b-41d4-a716-446655440212":"Session storage entry for \"550e8400-e29b-41d4-a716-446655440212\" is not a regul]
qwen serve: sessions archive result requested=2 requestedIds=["550e8400-e29b-41d4-a716-446655440211","550e8400-e29b-41d4-a716-446655440212"] archived=1 archivedIds=["550e8400-e29b-41d4-a716-446655440211"] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=1 errorIds=["550e8400-e29b-41d4-a716-446655440212":"Session storage entry for \"550e8400-e29b-41d4-a716-446655440212\" is not a regul]
qwen serve: sessions archive result requested=2 requestedIds=["550e8400-e29b-41d4-a716-446655440217","550e8400-e29b-41d4-a716-446655440218"] archived=1 archivedIds=["550e8400-e29b-41d4-a716-446655440217"] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=1 errorIds=["550e8400-e29b-41d4-a716-446655440218":"permission denied"]
qwen serve: sessions archive result requested=2 requestedIds=["550e8400-e29b-41d4-a716-446655440217","550e8400-e29b-41d4-a716-446655440218"] archived=1 archivedIds=["550e8400-e29b-41d4-a716-446655440217"] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=1 errorIds=["550e8400-e29b-41d4-a716-446655440218":"permission denied"]
qwen serve: sessions archive result requested=2 requestedIds=["550e8400-e29b-41d4-a716-446655440217","550e8400-e29b-41d4-a716-446655440218"] archived=1 archivedIds=["550e8400-e29b-41d4-a716-446655440217"] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=1 errorIds=["550e8400-e29b-41d4-a716-446655440218":"The session transcript changed outside its active writer."]
qwen serve: sessions archive result requested=2 requestedIds=["550e8400-e29b-41d4-a716-446655440217","550e8400-e29b-41d4-a716-446655440218"] archived=1 archivedIds=["550e8400-e29b-41d4-a716-446655440217"] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=1 errorIds=["550e8400-e29b-41d4-a716-446655440218":"The session transcript changed outside its active writer."]
qwen serve: sessions archive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655440215"] archived=0 archivedIds=[] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=1 errorIds=["550e8400-e29b-41d4-a716-446655440215":"Session \"550e8400-e29b-41d4-a716-446655440215\" does not have unambiguous worksp]
qwen serve: sessions archive result requested=2 requestedIds=["550e8400-e29b-41d4-a716-446655440213","550e8400-e29b-41d4-a716-446655440214"] archived=1 archivedIds=["550e8400-e29b-41d4-a716-446655440213"] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=1 errorIds=["550e8400-e29b-41d4-a716-446655440214":"Session transcript identity could not be verified on this filesystem."]
qwen serve: sessions archive result requested=2 requestedIds=["550e8400-e29b-41d4-a716-446655440213","550e8400-e29b-41d4-a716-446655440214"] archived=1 archivedIds=["550e8400-e29b-41d4-a716-446655440213"] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=1 errorIds=["550e8400-e29b-41d4-a716-446655440214":"Session transcript identity could not be verified on this filesystem."]
qwen serve: sessions archive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655440210"] archived=0 archivedIds=[] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=1 errorIds=["550e8400-e29b-41d4-a716-446655440210":"Workspace runtime generation is no longer active."]
qwen serve: bridge error (POST /session/:id/resume session=550e8400-e29b-41d4-a716-446655440106): Error: Live conversation directory relocation was rejected.
at /startdir/src/qwen-code/packages/cli/src/serve/routes/session.ts:3683:25
at processTicksAndRejections (node:internal/process/task_queues:104:5)
at SessionArchiveCoordinator.runSharedMany (/startdir/src/qwen-code/packages/cli/src/serve/server/session-archive.ts:192:14)
at /startdir/src/qwen-code/packages/cli/src/serve/routes/session.ts:3547:25
qwen serve: bridge error (POST /session/:id/resume session=550e8400-e29b-41d4-a716-446655440107): Error: Live conversation directory relocation was rejected.
at /startdir/src/qwen-code/packages/cli/src/serve/routes/session.ts:3683:25
at processTicksAndRejections (node:internal/process/task_queues:104:5)
at SessionArchiveCoordinator.runSharedMany (/startdir/src/qwen-code/packages/cli/src/serve/server/session-archive.ts:192:14)
at /startdir/src/qwen-code/packages/cli/src/serve/routes/session.ts:3547:25
qwen serve: bridge error (POST /session/:id/resume session=550e8400-e29b-41d4-a716-446655440108): Error: Live conversation directory relocation was rejected.
at /startdir/src/qwen-code/packages/cli/src/serve/routes/session.ts:3683:25
at processTicksAndRejections (node:internal/process/task_queues:104:5)
at SessionArchiveCoordinator.runSharedMany (/startdir/src/qwen-code/packages/cli/src/serve/server/session-archive.ts:192:14)
at /startdir/src/qwen-code/packages/cli/src/serve/routes/session.ts:3547:25
qwen serve: bridge error (POST /session/:id/load session=550e8400-e29b-41d4-a716-446655440109): Error: Live conversation child was replaced by a symlink.
at Object.materializeConversationDirectory (/startdir/src/qwen-code/packages/cli/src/serve/multi-workspace-sessions.test.ts:2916:21)
at materializeLiveConversationDirectory (/startdir/src/qwen-code/packages/cli/src/serve/server.ts:2574:48)
at /startdir/src/qwen-code/packages/cli/src/serve/routes/session.ts:3627:43
at processTicksAndRejections (node:internal/process/task_queues:104:5)
at SessionArchiveCoordinator.runSharedMany (/startdir/src/qwen-code/packages/cli/src/serve/server/session-archive.ts:192:14)
at /startdir/src/qwen-code/packages/cli/src/serve/routes/session.ts:3547:25
qwen serve: sessions archive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655440130"] archived=1 archivedIds=["550e8400-e29b-41d4-a716-446655440130"] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=0 errorIds=[]
qwen serve: sessions archive result requested=2 requestedIds=["550e8400-e29b-41d4-a716-446655440140","550e8400-e29b-41d4-a716-446655440141"] archived=2 archivedIds=["550e8400-e29b-41d4-a716-446655440140","550e8400-e29b-41d4-a716-446655440141"] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=0 errorIds=[]
qwen serve: session-org: Failed to read session organization store at /tmp/qwen-multi-workspace-sessions-ADsRXd/projects/-work-secondary/session-organization.v1.json: Expected property name or '}' in JSON at position 1 (line 1 column 2)
qwen serve: sessions archive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655440283"] archived=0 archivedIds=[] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=1 errorIds=["550e8400-e29b-41d4-a716-446655440283":"Session \"550e8400-e29b-41d4-a716-446655440283\" is being archived or unarchived;]
qwen serve: deleteSession failed for "550e8400-e29b-41d4-a716-446655440283": "Session \"550e8400-e29b-41d4-a716-446655440283\" is being archived or unarchived;
qwen serve: sessions unarchive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655440289"] unarchived=0 unarchivedIds=[] alreadyActive=0 alreadyActiveIds=[] notFound=0 notFoundIds=[] errors=1 errorIds=["550e8400-e29b-41d4-a716-446655440289":"Session \"550e8400-e29b-41d4-a716-446655440289\" is being archived or unarchived;]
qwen serve: deleteSession failed for "550e8400-e29b-41d4-a716-446655440289": "Session \"550e8400-e29b-41d4-a716-446655440289\" is being archived or unarchived;
qwen serve: sessions unarchive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655440290"] unarchived=1 unarchivedIds=["550e8400-e29b-41d4-a716-446655440290"] alreadyActive=0 alreadyActiveIds=[] notFound=0 notFoundIds=[] errors=0 errorIds=[]
qwen serve: sessions archive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655440164"] archived=1 archivedIds=["550e8400-e29b-41d4-a716-446655440164"] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=0 errorIds=[]
qwen serve: session-org: Failed to read session organization store at /tmp/qwen-multi-workspace-sessions-itVt6Q/projects/-work-secondary/session-organization.v1.json: Expected property name or '}' in JSON at position 1 (line 1 column 2)
qwen serve: sessions archive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655440120"] archived=1 archivedIds=["550e8400-e29b-41d4-a716-446655440120"] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=0 errorIds=[]
qwen serve: sessions unarchive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655440120"] unarchived=1 unarchivedIds=["550e8400-e29b-41d4-a716-446655440120"] alreadyActive=0 alreadyActiveIds=[] notFound=0 notFoundIds=[] errors=0 errorIds=[]
qwen serve: sessions archive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655440122"] archived=1 archivedIds=["550e8400-e29b-41d4-a716-446655440122"] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=0 errorIds=[]
qwen serve: sessions unarchive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655440122"] unarchived=1 unarchivedIds=["550e8400-e29b-41d4-a716-446655440122"] alreadyActive=0 alreadyActiveIds=[] notFound=0 notFoundIds=[] errors=0 errorIds=[]
qwen serve: sessions archive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655440123"] archived=1 archivedIds=["550e8400-e29b-41d4-a716-446655440123"] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=0 errorIds=[]
qwen serve: sessions archive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655440210"] archived=1 archivedIds=["550e8400-e29b-41d4-a716-446655440210"] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=0 errorIds=[]
✓ src/serve/multi-workspace-sessions.test.ts (143 tests) 2366ms
✓ multi-workspace session dispatch > rejects an oversized untrusted transcript record without starting the bridge 330ms
]0;Qwen - workspace ]2;Qwen - workspace ]0;Qwen - workspace ]2;Qwen - workspace ✓ src/ui/AppContainer.test.tsx (165 tests) 38436ms
✓ AppContainer State Management > worktree branch wiring > queries the branch from the worktree path during a worktree session 605ms
✓ AppContainer State Management > worktree branch wiring > falls back to the workspace target dir without a worktree session 313ms
✓ AppContainer State Management > Basic Rendering > continues quitting when cancelling the active request fails 436ms
✓ AppContainer State Management > Basic Rendering > shows recording failures as warnings and unsubscribes on unmount 375ms
✓ AppContainer State Management > Basic Rendering > renders without crashing with minimal props 343ms
✓ AppContainer State Management > State Initialization > initializes with theme error from initialization result 392ms
✓ AppContainer State Management > State Initialization > handles debug mode state 378ms
✓ AppContainer State Management > Context Providers > provides AppContext with correct values 441ms
✓ AppContainer State Management > Context Providers > provides UIStateContext with state management 310ms
✓ AppContainer State Management > Context Providers > provides UIActionsContext with action handlers 361ms
✓ AppContainer State Management > Context Providers > refreshStatic clears the terminal before remounting history 404ms
✓ AppContainer State Management > Context Providers > wires the wake repaint (not refreshStatic) into useWakeRepaint 417ms
✓ AppContainer State Management > Context Providers > defaults to VP mode when useTerminalBuffer is unset 364ms
✓ AppContainer State Management > Context Providers > keeps non-TTY output on the Static path 406ms
✓ AppContainer State Management > Context Providers > uses the startup VP decision when provided 382ms
✓ AppContainer State Management > Context Providers > uses a disabled startup VP decision over an enabled setting 390ms
✓ AppContainer State Management > Context Providers > keeps screen reader mode on the Static path when useTerminalBuffer is unset 430ms
✓ AppContainer State Management > Context Providers > locks terminal buffer mode for the running session 415ms
✓ AppContainer State Management > Context Providers > does not clear the terminal synchronously on width change 505ms
✓ AppContainer State Management > Context Providers > does not repaint static history after a resize settles (#8004) 454ms
✓ AppContainer State Management > Context Providers > handleClearScreen avoids a second clearTerminal write 378ms
✓ AppContainer State Management > Context Providers > passes a remount-only refresh callback to slash commands 371ms
✓ AppContainer State Management > Context Providers > provides ConfigContext with config object 457ms
✓ AppContainer State Management > Context Providers > binds one Goal host that enqueues, preempts, and cleans up 384ms
✓ AppContainer State Management > Context Providers > marks Ctrl+Q submissions to wait for the idle boundary 319ms
✓ AppContainer State Management > Context Providers > submits /btw immediately instead of queueing while responding 452ms
✓ AppContainer State Management > Context Providers > queues a responding ?btw submission when concurrent admission fails 339ms
✓ AppContainer State Management > Context Providers > runs opted-in slash commands outside the active turn while responding 347ms
✓ AppContainer State Management > Context Providers > keeps opted-in slash commands queued when Ctrl+Q defers them 308ms
✓ AppContainer State Management > Context Providers > injects a recovered-agent reminder into the next ordinary prompt once 301ms
✓ AppContainer State Management > Context Providers > keeps Vim-modified composer text ineligible after Vim is disabled 323ms
✓ AppContainer State Management > Context Providers > routes bare "exit" to /quit instead of sending as a message 408ms
✓ AppContainer State Management > Context Providers > routes bare "quit" to /quit instead of sending as a message 353ms
✓ AppContainer State Management > Context Providers > routes "/exit" immediately while responding 316ms
✓ AppContainer State Management > Cancel Handler (issue #3204) > releases queued Goal turn reservations on cancel using goal-turn keys 396ms
✓ AppContainer State Management > Cancel Handler (issue #3204) > auto-restores the just-submitted prompt when cancelling before any meaningful output 313ms
✓ AppContainer State Management > Cancel Handler (issue #3204) > reuses the cancelled turn provenance on an unchanged resubmit 319ms
✓ AppContainer State Management > Cancel Handler (issue #3204) > does not auto-restore when the cancelled turn did not add a user item (e.g. Cron / slash submit_prompt) 376ms
✓ AppContainer State Management > Cancel Handler (issue #3204) > does not auto-restore when the user typed text after submitting (preserves the draft) 378ms
✓ AppContainer State Management > Cancel Handler (issue #3204) > does not auto-restore when a tool_group is pending (covers tool-execution cancel) 372ms
✓ AppContainer State Management > Cancel Handler (issue #3204) > preserves an in-progress draft when restoring queued messages on cancel 317ms
✓ AppContainer State Management > Settings Integration > falls back to rendered Markdown mode for missing or invalid ui.renderMode 352ms
✓ AppContainer State Management > Error Handling > handles undefined settings gracefully 301ms
✓ AppContainer State Management > Provider Hierarchy > establishes correct provider nesting order 336ms
✓ AppContainer State Management > Terminal Title Update Feature > should not update terminal title when showStatusInTitle is false 333ms
✓ AppContainer State Management > Terminal Title Update Feature > should not update terminal title when hideWindowTitle is true 316ms
✓ AppContainer State Management > Terminal Title Update Feature > should keep default terminal title when active without a session name 351ms
✓ AppContainer State Management > Terminal Title Update Feature > should update terminal title with default text when in Idle state and no thought subject 327ms
✓ AppContainer State Management > Terminal Title Update Feature > should keep default terminal title when waiting for confirmation without a session name 343ms
✓ AppContainer State Management > Terminal Title Update Feature > should pad the terminal title to 80 characters 363ms
✓ AppContainer State Management > Terminal Title Update Feature > should use correct ANSI escape code format with padding 360ms
✓ AppContainer State Management > Terminal Title Update Feature > should format terminal title from CLI_TITLE when set 341ms
✓ AppContainer State Management > Terminal Title Update Feature > should register for recorded session titles and format them in the terminal title 440ms
✓ AppContainer State Management > Terminal Title Update Feature > should chain with existing titleRecordedCallback from Session (ACP notifications) 469ms
✓ AppContainer State Management > Terminal Height Calculation > should prevent terminal height from being less than 1 437ms
✓ AppContainer State Management > Terminal Height Calculation > loads a collapsed summary into history on cold-boot resume when collapseOnResume is enabled 495ms
✓ AppContainer State Management > Terminal Height Calculation > does not remeasure footer height for sticky todo status-only updates 827ms
✓ AppContainer State Management > Keyboard Input Handling > should block quit command during authentication 339ms
✓ AppContainer State Management > Keyboard Input Handling > should require double Ctrl+C to exit when dialogs are open 378ms
✓ AppContainer State Management > Keyboard Input Handling > should cancel ongoing request on first Ctrl+C 352ms
✓ AppContainer State Management > Keyboard Input Handling > Ctrl+B is a no-op when no foreground shell is currently executing 386ms
✓ AppContainer State Management > Keyboard Input Handling > Ctrl+B does NOT promote when only a non-shell tool is executing (defense-in-depth) 305ms
✓ AppContainer State Management > Model Dialog Integration > should provide isModelDialogOpen in the UIStateContext 331ms
✓ src/ui/components/InputPrompt.test.tsx (213 tests) 60118ms
✓ InputPrompt > onTabConsumerChange reporting (issue #4171) > reports true while the followup prompt suggestion is visible 720ms
✓ InputPrompt > onTabConsumerChange reporting (issue #4171) > reports false again after the autocomplete dropdown is dismissed 396ms
✓ InputPrompt > onSuggestionsVisibilityChange stays narrow (autocomplete only) > stays false when only a followup prompt suggestion is visible 726ms
✓ InputPrompt > should set the buffer text when a shell history command is retrieved 326ms
✓ InputPrompt > should call shellHistory.addCommandToHistory on submit in shell mode 334ms
✓ InputPrompt > should NOT call shell history methods when not in shell mode 643ms
✓ InputPrompt > should call completion.navigateUp for up arrow when suggestions are showing 477ms
✓ InputPrompt > should call completion.navigateDown for down arrow when suggestions are showing 474ms
✓ InputPrompt > should NOT call completion navigation when suggestions are not showing 781ms
✓ InputPrompt > clipboard image paste > should handle Ctrl+V when clipboard has an image 329ms
✓ InputPrompt > clipboard image paste > should handle Cmd+V when clipboard has an image 332ms
✓ InputPrompt > clipboard image paste > keeps generated attachment references out of submitted provenance 338ms
✓ InputPrompt > clipboard image paste > should not insert anything when clipboard has no image 327ms
✓ InputPrompt > clipboard image paste > should show the native clipboard error only once across remounts 800ms
✓ InputPrompt > clipboard image paste > should handle image save failure gracefully 321ms
✓ InputPrompt > clipboard image paste > should insert image path at cursor position with proper spacing 322ms
✓ InputPrompt > clipboard image paste > should handle errors during clipboard operations gracefully 321ms
✓ InputPrompt > should complete a partial parent command 321ms
✓ InputPrompt > should append a sub-command when the parent command is already complete 326ms
✓ InputPrompt > should handle the "backspace" edge case correctly 325ms
✓ InputPrompt > should complete a partial argument for a command 326ms
✓ InputPrompt > should autocomplete on Enter when suggestions are active, without submitting 324ms
✓ InputPrompt > should complete a command based on its altNames 323ms
✓ InputPrompt > should not submit on Enter when the buffer is empty or only contains whitespace 322ms
✓ InputPrompt > should submit directly on Enter when isPerfectMatch is true 320ms
✓ InputPrompt > should submit a perfect match on Enter when suggestions were not navigated 323ms
✓ InputPrompt > should fill and submit an export format selected with arrow navigation 473ms
✓ InputPrompt > should keep cycling export formats after arrow navigation fills input 474ms
✓ InputPrompt > should keep cycling export formats with Ctrl+P/N after arrow navigation fills input 626ms
✓ InputPrompt > should keep export format suggestions visible after arrow navigation fills input 329ms
✓ InputPrompt > should not clobber manually edited buffer when arrow is pressed after export fill 775ms
✓ InputPrompt > should wrap to jsonl when pressing Up from the /export Phase 1 popup 329ms
✓ InputPrompt > should wrap Phase 2 cycling backward when pressing Up repeatedly 697ms
✓ InputPrompt > should seed Phase 2 cycling when Tab accepts a format in the /export popup 643ms
✓ InputPrompt > should not overwrite /export html with extra args when Down is pressed 473ms
✓ InputPrompt > should reset export cycling state on Escape so arrows no longer cycle 625ms
✓ InputPrompt > should reset export cycling state on Ctrl+C so new input is not overwritten 625ms
✓ InputPrompt > should cycle export format on Down when /export was typed manually (not via popup) 537ms
✓ InputPrompt > should not arm export cycling from restored history text 321ms
✓ InputPrompt > should trigger export-specific arrow navigation even when completion suggestions are a superset 329ms
✓ InputPrompt > should fall through to generic accept when Tab targets a non-export item in the /export superset popup 324ms
✓ InputPrompt > should fall through to generic completion when suggestions are missing an export format 325ms
✓ InputPrompt > should trigger Phase 1 export popup even when /export has trailing spaces 325ms
✓ InputPrompt > should autocomplete on Enter when user arrow-navigated a perfect-match suggestion list 474ms
✓ InputPrompt > should submit directly on Enter after arrow-navigate + backspace + retype to perfect match 811ms
✓ InputPrompt > should submit directly on Enter for a perfect match without prior arrow navigation 327ms
✓ InputPrompt > should dismiss completion on Enter after accepting @path suggestion 328ms
✓ InputPrompt > should autocomplete @path on Tab without submitting or resetting completion 326ms
✓ InputPrompt > should NOT switch category on left/right when availableCategories <= 2 479ms
✓ InputPrompt > should NOT switch category on left/right when availableCategories is exactly 2 476ms
✓ InputPrompt > should switch category on plain arrows before Vim handling 476ms
✓ InputPrompt > should NOT switch category on bare arrows while command search is active 626ms
✓ InputPrompt > should hide category tabs and keep bare arrows for attachments 776ms
✓ InputPrompt > should NOT consume Ctrl+left/right for category switching (#8069) 477ms
✓ InputPrompt > should reset history navigation after submitting on Enter 324ms
✓ InputPrompt > should submit directly on Enter when a complete leaf command is typed 322ms
✓ InputPrompt > should autocomplete an @-path on Enter without submitting 325ms
✓ InputPrompt > should add a newline on enter when the line ends with a backslash 326ms
✓ InputPrompt > should clear the buffer on Ctrl+C if it has text 325ms
✓ InputPrompt > should NOT clear the buffer on Ctrl+C if it is empty 324ms
✓ InputPrompt > vim mode > should not call buffer.handleInput when vim handles the input 323ms
✓ InputPrompt > vim mode > should call buffer.handleInput when vim does not handle the input 324ms
✓ InputPrompt > vim mode > should call handleInput when vim mode is disabled 325ms
✓ InputPrompt > vim mode > should toggle shortcuts when vim passes through ? on an empty prompt 325ms
✓ InputPrompt > unfocused paste > should handle bracketed paste when not focused 326ms
✓ InputPrompt > unfocused paste > should ignore regular keypresses when not focused 324ms
✓ InputPrompt > multiline paste > should handle multiline paste 'with \n newlines' 324ms
✓ InputPrompt > multiline paste > should handle multiline paste 'with extra slashes before \n newlines' 324ms
✓ InputPrompt > multiline paste > should handle multiline paste 'with \r\n newlines' 322ms
✓ InputPrompt > paste auto-submission protection > should prevent auto-submission immediately after paste with newlines 627ms
✓ InputPrompt > paste auto-submission protection > should not interfere with normal Enter key submission when no recent paste 323ms
✓ InputPrompt > enhanced input UX - double ESC clear functionality > should clear buffer on second ESC press 375ms
✓ InputPrompt > enhanced input UX - double ESC clear functionality > should handle ESC in shell mode by disabling shell mode 324ms
✓ InputPrompt > enhanced input UX - double ESC clear functionality > should handle ESC when completion suggestions are showing 327ms
✓ InputPrompt > enhanced input UX - double ESC clear functionality > should not call onEscapePromptChange when not provided 324ms
✓ InputPrompt > enhanced input UX - double ESC clear functionality > should not interfere with existing keyboard shortcuts 475ms
✓ InputPrompt > reverse search > invokes reverse search on Ctrl+R 330ms
✓ InputPrompt > reverse search > resets reverse search state on Escape 375ms
✓ InputPrompt > reverse search > completes the highlighted entry on Tab and exits reverse-search 337ms
✓ InputPrompt > reverse search > does not fall through to shell history on Ctrl+P/N while reverse search is active 626ms
✓ InputPrompt > Ctrl+E keyboard shortcut > should move cursor to end of current line in multiline input 325ms
✓ InputPrompt > Ctrl+E keyboard shortcut > should move cursor to end of current line for single line input 327ms
✓ InputPrompt > command search (Ctrl+R when not in shell) > enters command search on Ctrl+R and shows suggestions 332ms
✓ InputPrompt > command search (Ctrl+R when not in shell) > invalidates provenance before submitting a command-history match 333ms
✓ InputPrompt > command search (Ctrl+R when not in shell) > shows command search suggestions over active export suggestions 478ms
✓ InputPrompt > command search (Ctrl+R when not in shell) > expands and collapses long suggestion via Right/Left arrows 330ms
✓ InputPrompt > command search (Ctrl+R when not in shell) > renders match window and expanded view (snapshots) 476ms
✓ InputPrompt > command search (Ctrl+R when not in shell) > does not show expand/collapse indicator for short suggestions 326ms
✓ InputPrompt > should still allow input when shell is not focused 326ms
✓ InputPrompt > large paste placeholder > should create placeholder for paste > 1000 characters 330ms
✓ InputPrompt > large paste placeholder > should create placeholder for paste > 10 lines 325ms
✓ InputPrompt > large paste placeholder > should use sequential IDs for multiple pastes of same size 477ms
✓ InputPrompt > large paste placeholder > should handle mixed pastes with different character counts 627ms
✓ InputPrompt > Ctrl+Y retry shortcut > should trigger handleRetryLastPrompt on Ctrl+Y 327ms
✓ InputPrompt > Ctrl+Y retry shortcut > should NOT trigger retry on plain y key 327ms
✓ InputPrompt > Ctrl+Y retry shortcut > should NOT trigger retry on Ctrl+R (reverse search) 324ms
✓ InputPrompt > Ctrl+Y retry shortcut > should handle Ctrl+Y when feedback dialog is open 326ms
✓ InputPrompt > queue input editing > should pop queued messages into input on Up arrow when queue is non-empty 326ms
✓ InputPrompt > queue input editing > should prepend queued messages before existing input text 326ms
✓ InputPrompt > queue input editing > should pop queued messages on ESC when queue is non-empty 328ms
✓ InputPrompt > queue input editing > should fall through to history when pop returns null (race condition) 326ms
✓ InputPrompt > queue input editing > should navigate history on Up arrow when queue is empty 327ms
✓ InputPrompt > queue input editing > should not intercept Ctrl+P when queue is non-empty 327ms
✓ InputPrompt > two-step edge transition for history navigation > Ctrl+P with cursor mid-line snaps to col 0 without touching history 328ms
✓ InputPrompt > two-step edge transition for history navigation > Ctrl+N with cursor not at end-of-line snaps to end without touching history 328ms
✓ InputPrompt > two-step edge transition for history navigation > Ctrl+P at col 0 walks history and parks the cursor at offset 0 327ms
✓ InputPrompt > two-step edge transition for history navigation > Ctrl+P/N and arrows do not change input history while a tool confirmation owns navigation 780ms
✓ InputPrompt > two-step edge transition for history navigation > Ctrl+N falls through to the agent tab bar when there is no newer history 327ms
✓ InputPrompt > two-step edge transition for history navigation > arrow Down applies the same snap-before-history rule as Ctrl+N 328ms
✓ InputPrompt > two-step edge transition for history navigation > arrow Down at end-of-line walks history 327ms
✓ InputPrompt > two-step edge transition for history navigation > arrow Down falls through to the agent tab bar when there is no newer history 327ms
✓ InputPrompt > two-step edge transition for history navigation > arrow Down jumps straight to the live agent panel when a bg sub-agent is running (#4907) 328ms
✓ InputPrompt > two-step edge transition for history navigation > arrow Down still falls through to the tab bar when the only bg entry is a non-agent (shell) task 327ms
✓ InputPrompt > two-step edge transition for history navigation > arrow Down skips terminal bg agents after the live panel visibility window (#5067) 329ms
✓ InputPrompt > two-step edge transition for history navigation > arrow Down focuses the background-tasks pill when only the pill is shown (workflow-only session) 329ms
✓ InputPrompt > two-step edge transition for history navigation > Down at the bottom of the live agent panel descends to the agent tab bar 327ms
✓ InputPrompt > two-step edge transition for history navigation > Down at the bottom of the live agent panel returns to the composer when no tab bar exists 329ms
✓ InputPrompt > two-step edge transition for history navigation > Down from an expired live panel falls through to the tab bar 327ms
✓ InputPrompt > two-step edge transition for history navigation > Enter on the live panel maps the DISPLAYED row back to its bg entry index 328ms
✓ InputPrompt > two-step edge transition for history navigation > arrow Up applies the same two-step rule as Ctrl+P (snap before navigate) 328ms
✓ InputPrompt > two-step edge transition for history navigation > suppresses completion menu navigation for history-restored text until edited 659ms
✓ InputPrompt > ESC during active agent response (#8201) > does not pop queued messages into input when responding 331ms
✓ InputPrompt > ESC during active agent response (#8201) > does not silently clear typed input on single ESC when responding 327ms
✓ InputPrompt > ESC during active agent response (#8201) > does not pop the queue or clear the buffer on ESC when responding with an empty buffer 329ms
✓ InputPrompt > ESC during active agent response (#8201) > does not pop queued messages on ESC when responding with typed text AND a queue (#8201) 329ms
✓ src/config/settings.test.ts (173 tests) 108ms
✓ src/config/config.test.ts (356 tests) 865ms
WARNING: could not read the a1 version from "" — the review provider requires a1 >= 0.1.90; continuing.
WARNING: could not read the a1 version from "" — the review provider requires a1 >= 0.1.90; continuing.
✓ src/commands/review/fetch-pr.test.ts (156 tests) 94ms
✓ src/agent-view/supervisor-process.test.ts (86 tests) 1690ms
✓ Agent View supervisor process helpers > fails attach quickly for an active session with a stale persisted PTY host 512ms
✓ Agent View supervisor process helpers > fails closed when worker liveness data is unreadable 307ms
✓ src/commands/review/pr-context.test.ts (163 tests) 35ms
✓ src/commands/review/build-test.test.ts (109 tests) 20393ms
✓ runBuildTest > attempts every suite with the REMAINING budget and names only the never-attempted 2004ms
✓ runBuildTest > names budget-stopped UNTESTABLE suites in notRun too 2002ms
✓ runBuildTest > discloses a budget-stopped single-root suite instead of claiming no test script 2002ms
✓ runBuildTest > --resume: the ceiling is per call, not per run > keeps reporting work left when a retry is killed AGAIN by the budget 2003ms
✓ runBuildTest > --resume: the ceiling is per call, not per run > counts an unattempted RETRY as work left, not as nothing 2002ms
✓ runBuildTest > --resume: the ceiling is per call, not per run > the caveat names BOTH halves when work is unattempted AND re-clamped 6002ms
✓ runBuildTest > --resume: the ceiling is per call, not per run > runs the AFFECTED pending suite first — the fresh path's invariant 2002ms
✓ runBuildTest > --resume: the ceiling is per call, not per run > retires its own clause whole across a SECOND resume 2002ms
(node:43642) Warning: qwen: failed to merge NODE_EXTRA_CA_CERTS "/tmp/qwen-ca-fallback-obdmMX/missing-operator.pem" with the daemon cert "/tmp/qwen-ca-fallback-obdmMX/daemon.pem": ENOENT: no such file or directory, stat '/tmp/qwen-ca-fallback-obdmMX/missing-operator.pem'; channel workers will trust only the daemon cert
(Use `node --trace-warnings ...` to show where the warning was created)
(node:43642) Warning: qwen: failed to merge NODE_EXTRA_CA_CERTS "/tmp/qwen-ca-fused-XVZJYm/operator.pem" with the daemon cert "/tmp/qwen-ca-fused-XVZJYm/daemon.pem": it holds no PEM certificate block Node can load (every -----BEGIN/END CERTIFICATE----- marker must sit alone on its own line and every block must decode, and a DER file is never read at all); channel workers will trust only the daemon cert
(node:43642) Warning: qwen: failed to merge NODE_EXTRA_CA_CERTS "/tmp/qwen-ca-badb64-ldm092/operator.pem" with the daemon cert "/tmp/qwen-ca-badb64-ldm092/daemon.pem": it holds no PEM certificate block Node can load (every -----BEGIN/END CERTIFICATE----- marker must sit alone on its own line and every block must decode, and a DER file is never read at all); channel workers will trust only the daemon cert
(node:43642) Warning: qwen: failed to merge NODE_EXTRA_CA_CERTS "/tmp/qwen-ca-inspect-Qny5br/operator.pem" with the daemon cert "/tmp/qwen-ca-inspect-Qny5br/daemon.pem": ENOENT: no such file or directory, stat '/tmp/qwen-ca-inspect-Qny5br/operator.pem'; channel workers will trust only the daemon cert
(node:43642) Warning: qwen: failed to merge NODE_EXTRA_CA_CERTS "/tmp/qwen-ca-inspect-Qny5br/operator.pem" with the daemon cert "/tmp/qwen-ca-inspect-Qny5br/daemon.pem": Inspecting NODE_EXTRA_CA_CERTS failed before its contents could be judged.; channel workers will trust only the daemon cert
(node:43642) Warning: qwen: failed to merge NODE_EXTRA_CA_CERTS "/tmp/qwen-ca-dedup-SvmNNZ/operator.pem" with the daemon cert "/tmp/qwen-ca-dedup-SvmNNZ/daemon.pem": it holds no PEM certificate block Node can load (every -----BEGIN/END CERTIFICATE----- marker must sit alone on its own line and every block must decode, and a DER file is never read at all); channel workers will trust only the daemon cert
(node:43642) Warning: qwen: failed to merge NODE_EXTRA_CA_CERTS "/tmp/qwen-ca-family-pbBc9f/operator.pem" with the daemon cert "/tmp/qwen-ca-family-pbBc9f/daemon.pem": ENOENT: no such file or directory, stat '/tmp/qwen-ca-family-pbBc9f/operator.pem'; channel workers will trust only the daemon cert
(node:43642) Warning: qwen: failed to merge NODE_EXTRA_CA_CERTS "/tmp/qwen-ca-family-pbBc9f/operator.pem" with the daemon cert "/tmp/qwen-ca-family-pbBc9f/daemon.pem": it holds no PEM certificate block Node can load (every -----BEGIN/END CERTIFICATE----- marker must sit alone on its own line and every block must decode, and a DER file is never read at all); channel workers will trust only the daemon cert
(node:43642) Warning: qwen: failed to merge NODE_EXTRA_CA_CERTS "/tmp/qwen-ca-relapse-wn78Zp/operator.pem" with the daemon cert "/tmp/qwen-ca-relapse-wn78Zp/daemon.pem": it holds no PEM certificate block Node can load (every -----BEGIN/END CERTIFICATE----- marker must sit alone on its own line and every block must decode, and a DER file is never read at all); channel workers will trust only the daemon cert
(node:43642) Warning: qwen: failed to merge NODE_EXTRA_CA_CERTS "/tmp/qwen-ca-relapse-wn78Zp/operator.pem" with the daemon cert "/tmp/qwen-ca-relapse-wn78Zp/daemon.pem": it holds no PEM certificate block Node can load (every -----BEGIN/END CERTIFICATE----- marker must sit alone on its own line and every block must decode, and a DER file is never read at all); channel workers will trust only the daemon cert
(node:43642) Warning: qwen: failed to merge NODE_EXTRA_CA_CERTS "/tmp/qwen-ca-cause-T7vDj1/operator.pem" with the daemon cert "/tmp/qwen-ca-cause-T7vDj1/daemon.pem": it holds no PEM certificate block Node can load (every -----BEGIN/END CERTIFICATE----- marker must sit alone on its own line and every block must decode, and a DER file is never read at all); channel workers will trust only the daemon cert
(node:43642) Warning: qwen: failed to merge NODE_EXTRA_CA_CERTS "/tmp/qwen-ca-nodaemon-bbYliI/operator.pem" with the daemon cert "/tmp/qwen-ca-nodaemon-bbYliI/daemon.pem": the daemon cert holds no PEM certificate block to merge into; channel workers will trust only the daemon cert
(node:43642) Warning: qwen: failed to merge NODE_EXTRA_CA_CERTS "/tmp/qwen-ca-enospc-8oSKG5/operator.pem" with the daemon cert "/tmp/qwen-ca-enospc-8oSKG5/daemon.pem": ENOSPC: no space left on device; channel workers will trust only the daemon cert
✓ src/serve/channel-worker-supervisor.test.ts (107 tests) 1511ms
✓ src/commands/review/submit.test.ts (121 tests) 123ms
✓ src/serve/workspace-service/__tests__/facade.test.ts (114 tests) 186ms
✓ src/serve/daemon-git-worktree-guard.test.ts (463 tests | 4 skipped) 279ms
✓ src/commands/review/check-coverage.test.ts (107 tests) 127ms
✓ src/ui/hooks/slashCommandProcessor.test.ts (125 tests) 8655ms
✓ useSlashCommandProcessor > Initialization and Command Loading > rebuilds commands when an MCP server connects (surfaces MCP prompts in /) 306ms
✓ useSlashCommandProcessor > Initialization and Command Loading > ignores non-connected MCP status changes (no rebuild) 404ms
✓ useSlashCommandProcessor > Lifecycle > skips content auto-refresh while package reload is needed 360ms
✓ useSlashCommandProcessor > Lifecycle > cancels pending content auto-refresh when manual reload starts 359ms
]0;Qwen - cli ]2;Qwen - cli ]0;Qwen - cli ]2;Qwen - cli ]0;Qwen - cli ]2;Qwen - cli ]0;Qwen - cli ]2;Qwen - cli ]0;Qwen - cli ]2;Qwen - cli ]0;Qwen - cli ]2;Qwen - cli ]0;Qwen - cli ]2;Qwen - cli (node:44198) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 unhandledRejection listeners added to [process]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
(Use `node --trace-warnings ...` to show where the warning was created)
]0;Qwen - root ]2;Qwen - root ]0;Qwen - root ]2;Qwen - root ]0;Qwen - root ]2;Qwen - root ]0;Qwen - root ]2;Qwen - root ]0;Qwen - root ]2;Qwen - root ]0;Qwen - root ]2;Qwen - root ]0;Qwen - root ]2;Qwen - root ]0;Qwen - root ]2;Qwen - root ]0;Qwen - root ]2;Qwen - root ]0;Qwen - root ]2;Qwen - root ]0;Qwen - root ]2;Qwen - root ]0;Qwen - root ]2;Qwen - root ]0;Qwen - root ]2;Qwen - root ]0;Qwen - root ]2;Qwen - root ]0;Qwen - root ]2;Qwen - root ]0;Qwen - root ]2;Qwen - root ]0;Qwen - root ]2;Qwen - root ]0;Qwen - root ]2;Qwen - root ]0;Qwen - root ]2;Qwen - root ]0;Qwen - root ]2;Qwen - root ]0;Qwen - root ]2;Qwen - root ]0;Qwen - root ]2;Qwen - root ]0;Qwen - root ]2;Qwen - root ✓ src/gemini.test.tsx (76 tests) 6245ms
✓ gemini.tsx main function > relaunches before config load and preserves only private managed ACP activation 530ms
✓ gemini.tsx main function > should skip full settings discovery in bare mode 515ms
✓ gemini.tsx main function > passes the outer session ID into the sandbox child process 503ms
✓ gemini.tsx main function > starts a fresh CLI after the host update completes 503ms
✓ gemini.tsx main function > passes host update capability into a container sandbox 503ms
✓ gemini.tsx main function > does not pass an empty session ID into the sandbox child process 503ms
✓ gemini.tsx main function > does not inject sandbox session ID when argv contains --continue 503ms
✓ gemini.tsx main function > does not inject sandbox session ID when argv contains -c 503ms
✓ gemini.tsx main function > does not inject sandbox session ID when argv contains --resume 503ms
✓ gemini.tsx main function > does not inject sandbox session ID when argv contains -r 503ms
✓ gemini.tsx main function > does not inject sandbox session ID when argv contains --session-id 505ms
✓ gemini.tsx main function > inserts the sandbox session ID before the argument separator 503ms
✓ src/commands/channel/daemon-worker.test.ts (85 tests) 1759ms
✓ src/commands/review/submit-aone.test.ts (90 tests) 80ms
✓ src/serve/fs/workspace-file-system.test.ts (149 tests) 890ms
✓ src/serve/routes/workspace-management.test.ts (130 tests) 1577ms
✓ src/commands/review/lib/retirement.test.ts (146 tests) 144ms
✓ src/ui/components/shared/text-buffer.test.ts (159 tests) 197ms
qwen serve: failed to persist scheduled-task session '10000000-0000-4000-8000-000000000001': disk full
qwen serve: POST /scheduled-tasks failed to create a task for session '10000000-0000-4000-8000-000000000001': Malformed JSON in /tmp/sched-route-sCnxRs/tmp/7dfd07a1f99e8d3f2961ba8bf98f2415cd972c8405fe86761241062486ab88f5/scheduled_tasks.json — fix or delete the file; refusing to treat it as an empty schedule.
qwen serve: failed to look up scheduled-task session '10000000-0000-4000-8000-000000000001': lookup failed
qwen serve: POST /scheduled-tasks failed to create the task's session: spawn failed
qwen serve: POST /scheduled-tasks failed: Malformed JSON in /tmp/sched-route-KLeG0U/tmp/8174efa99b349cb3273c39712127edaab59870b6b68bc89663ca3c1162f96782/scheduled_tasks.json — fix or delete the file; refusing to treat it as an empty schedule.
qwen serve: POST /scheduled-tasks failed: Malformed JSON in /tmp/sched-route-i9ccEI/tmp/1cae6eb3add3242cf37f7468433c568ff30300283b78b5268c1f1022d543d1bb/scheduled_tasks.json — fix or delete the file; refusing to treat it as an empty schedule.
qwen serve: GET /scheduled-tasks failed: Malformed JSON in /tmp/sched-route-a8b1Na/tmp/8074948b6e14bb3b76b9819bf03d2feafb215d20897a7aae38b76f250428d0a8/scheduled_tasks.json — fix or delete the file; refusing to treat it as an empty schedule.
qwen serve: GET /scheduled-tasks failed: Invalid task entry at index 0 in /tmp/sched-route-nlWgS1/tmp/7cccaa4537733f9db753870a2b1ee3e8981e16cb629f83edaf6c34155e0b4191/scheduled_tasks.json — fix or delete the entry; refusing to drop it from the schedule.
qwen serve: failed to resolve scheduled-task session owner '10000000-0000-4000-8000-000000000001': owner lookup failed
✓ src/serve/routes/scheduled-tasks.test.ts (109 tests) 1640ms
✓ scheduled-tasks routes > rejects a syntactically-valid but impossible cron (Feb 30) 344ms
✓ src/ui/commands/modelCommand.test.ts (111 tests) 198ms
✓ src/commands/review/test-efficacy.test.ts (132 tests) 1447ms
✓ runControlMutant > leaves the probe file byte-identical when it cannot run 382ms
✓ restoreProbeTreeTracked, through runOneMutant > refuses to run when the index hides a tracked file from the restore 388ms
✓ runnerFailureReason > calls a suite killed at the deadline one that did not survive 309ms
✓ src/ui/contexts/KeypressContext.test.tsx (118 tests) 3033ms
✓ KeypressContext - Kitty Protocol > Enter key handling > auto-recovers from a stuck paste mode via idle timeout 1257ms
✓ KeypressContext - Kitty Protocol > Enter key handling > does not drop paste content that ends with a partial paste-end marker on idle flush 1207ms
qwen serve: fast-path bootstrap failed, falling back to full startup: Failed to read serve fast path settings from /tmp/qws-fast-path-home-1S8EAD/settings.json: Expected property name or '}' in JSON at position 1 (line 1 column 2)
qwen serve: fast-path bootstrap failed, falling back to full startup: Serve fast path settings advanced.excludedEnvVars must be a string array.
qwen serve: fast-path bootstrap failed, falling back to full startup: Serve fast path settings advanced.runtimeOutputDir must be a string.
qwen serve: fast-path bootstrap failed, falling back to full startup: Serve fast path settings security.folderTrust.enabled must be a boolean.
qwen: .env file /tmp/qws-fast-path-loader-env-otYa4G/.env cannot set loader-affecting env vars; ignored: NODE_OPTIONS, npm_config_node_options, NPM_CONFIG_NODE_OPTIONS, npm_config_node-options
qwen: .env file /tmp/qws-fast-path-loader-env-w9GAOT/.qwen/.env cannot set loader-affecting env vars; ignored: NODE_PATH
qwen: settings.env (/tmp/qws-fast-path-loader-env-w9GAOT) cannot set loader-affecting env vars; ignored: LD_PRELOAD, NPM_CONFIG_NODE_OPTIONS, npm_config_node-options
qwen: .env file /tmp/qws-fast-path-home-T0OVvk/.env cannot set loader-affecting env vars; ignored: NODE_OPTIONS, npm_config_node_options
qwen: .env file /tmp/qws-fast-path-loader-consume-Rja0Y6/.env cannot set loader-affecting env vars; ignored: NODE_OPTIONS
qwen: .env file /tmp/qws-fast-path-loader-accum-1-t8CB2p/.env cannot set loader-affecting env vars; ignored: NODE_OPTIONS
qwen: .env file /tmp/qws-fast-path-loader-accum-2-RN4oAy/.env cannot set loader-affecting env vars; ignored: LD_PRELOAD
qwen: settings.env (/tmp/qws-fast-path-loader-accum-2-RN4oAy) cannot set loader-affecting env vars; ignored: LD_PRELOAD, NODE_OPTIONS
✓ src/serve/fast-path.test.ts (89 tests) 889ms
✓ CLI entry import boundary > keeps the runQwenServe static source graph free of ACP runtime modules 767ms
✓ src/commands/review/lib/platform/aone.test.ts (114 tests) 52ms
fatal: '/tmp/efficacy-iso-Pepxh9/wt-probe' is not a working tree
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
Wrote test-efficacy report to /tmp/efficacy-iso-jBMtue/out.json (0 unreachable, 1 probed, 0 mutant(s), 1 hunk probe(s), 2 finding(s))
[test] inert: packages/lib/src/f.test.ts
[test] hunk-survived: packages/lib/src/f.ts
fatal: '/tmp/efficacy-iso-jBMtue/wt-probe' is not a working tree
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
Wrote test-efficacy report to /tmp/efficacy-iso-24S8Nf/out.json (0 unreachable, 1 probed, 0 mutant(s), 1 hunk probe(s), 2 finding(s))
[test] inert: packages/lib/src/f.test.ts
[test] hunk-survived: packages/lib/src/f.ts
dependency farm incomplete: exposed 0/1 dependencies into the probe tree (1 failed to link) — probe results may not be evidence
fatal: '/tmp/efficacy-iso-24S8Nf/wt-probe' is not a working tree
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
Wrote test-efficacy report to /tmp/efficacy-iso-ZI18T9/out.json (0 unreachable, 1 probed, 0 mutant(s), 2 hunk probe(s), 3 finding(s))
[test] inert: packages/lib/src/f.test.ts
[test] hunk-survived: packages/lib/src/f.ts
[test] hunk-survived: packages/lib/src/f.ts
fatal: '/tmp/efficacy-iso-ZI18T9/wt-probe' is not a working tree
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
Wrote test-efficacy report to /tmp/efficacy-iso-SGej2U/out.json (0 unreachable, 2 probed, 0 mutant(s), 1 hunk probe(s), 1 finding(s))
[test] inert: packages/lib/src/other.test.ts
fatal: '/tmp/efficacy-iso-SGej2U/wt-probe' is not a working tree
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
Wrote test-efficacy report to /tmp/efficacy-iso-viURnL/out.json (0 unreachable, 1 probed, 1 mutant(s), 0 hunk probe(s), 2 finding(s))
[test] inert: packages/lib/src/f.test.ts
[test] mutant-survived: packages/lib/src/f.ts
fatal: '/tmp/efficacy-iso-viURnL/wt-probe' is not a working tree
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
Wrote test-efficacy report to /tmp/efficacy-iso-PHsVd7/out.json (0 unreachable, 1 probed, 1 mutant(s), 0 hunk probe(s), 2 finding(s))
[test] inert: packages/lib/src/f.test.ts
[test] mutant-survived: packages/lib/src/f.ts
fatal: '/tmp/efficacy-iso-PHsVd7/wt-probe' is not a working tree
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
Wrote test-efficacy report to /tmp/efficacy-iso-Zlu3ei/out.json (0 unreachable, 1 probed, 1 mutant(s), 0 hunk probe(s), 0 finding(s))
fatal: '/tmp/efficacy-iso-Zlu3ei/wt-probe' is not a working tree
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
fatal: '/tmp/efficacy-iso-YlNph4/wt-probe' is not a working tree
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
Wrote test-efficacy report to /tmp/efficacy-iso-0wHXVh/out.json (0 unreachable, 2 probed, 1 mutant(s), 0 hunk probe(s), 2 finding(s))
[test] inert: packages/lib/src/f.test.ts
[test] mutant-survived: packages/lib/src/f.ts
fatal: '/tmp/efficacy-iso-0wHXVh/wt-probe' is not a working tree
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
Wrote test-efficacy report to /tmp/efficacy-iso-1Mjm7n/out.json (0 unreachable, 1 probed, 0 mutant(s), 0 hunk probe(s), 0 finding(s))
positive control FAILED (the injected always-failing test did not turn the run red — a dead runner, a collector that skipped it, or a reporter that dropped the failure): nothing here can kill, every would-be survivor is reported inconclusive, and the remaining mutant/hunk window was not spent
fatal: '/tmp/efficacy-iso-1Mjm7n/wt-probe' is not a working tree
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
Wrote test-efficacy report to /tmp/efficacy-iso-4SEjA2/out.json (0 unreachable, 2 probed, 2 mutant(s), 0 hunk probe(s), 2 finding(s))
[test] inert: packages/lib/src/g.test.ts
[test] mutant-survived: packages/lib/src/g.ts
fatal: '/tmp/efficacy-iso-4SEjA2/wt-probe' is not a working tree
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
Wrote test-efficacy report to /tmp/efficacy-iso-r1JF7h/out.json (0 unreachable, 1 probed, 1 mutant(s), 0 hunk probe(s), 1 finding(s))
[test] mutant-survived: packages/lib/src/f.ts
the positive control could not be set up (packages/lib/src/f.test.ts could not be read in the probe tree), so the harness was NOT validated this run — read every survivor below as unconfirmed by a control
fatal: '/tmp/efficacy-iso-r1JF7h/wt-probe' is not a working tree
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
fatal: '/tmp/efficacy-iso-hrirq5/wt-probe' is not a working tree
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
fatal: '/tmp/efficacy-iso-7k6pil/wt-probe' is not a working tree
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
Wrote test-efficacy report to /tmp/efficacy-iso-mp0NpA/out.json (0 unreachable, 1 probed, 2 mutant(s), 0 hunk probe(s), 1 finding(s))
[test] inert: packages/lib/src/f.test.ts
fatal: '/tmp/efficacy-iso-mp0NpA/wt-probe' is not a working tree
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
Wrote test-efficacy report to /tmp/efficacy-iso-07x76B/out.json (0 unreachable, 1 probed, 1 mutant(s), 0 hunk probe(s), 2 finding(s))
[test] inert: packages/lib/src/f.test.ts
[test] mutant-survived: packages/lib/src/fø.ts
fatal: '/tmp/efficacy-iso-07x76B/wt-probe' is not a working tree
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
fatal: '/tmp/efficacy-iso-gljNZq/wt-probe' is not a working tree
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
Wrote test-efficacy report to /tmp/efficacy-iso-LLk3qs/out.json (0 unreachable, 1 probed, 0 mutant(s), 0 hunk probe(s), 1 finding(s))
[test] inert: packages/lib/src/f.test.ts
mutant selection failed: git -c core.quotePath=false diff --unified=0 --no-color --src-prefix=a/ --dst-prefix=b/ --no-ext-diff --no-textconv no-such-base-rev 7e65048633295d075b6ad04ac9bc7f7aff8d44bc -- packages/lib/src/f.ts failed: fatal: bad revision 'no-such-base-rev'
— no mutants were run
fatal: '/tmp/efficacy-iso-LLk3qs/wt-probe' is not a working tree
fatal: '/tmp/efficacy-iso-qggs4P/wt-probe' is not a working tree
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
fatal: '/tmp/efficacy-iso-ekmH7J/wt-probe' is not a working tree
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
fatal: '/tmp/efficacy-iso-Zr4CP8/wt-probe' is not a working tree
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
Wrote test-efficacy report to /tmp/efficacy-iso-vBHVDI/out.json (0 unreachable, 1 probed, 0 mutant(s), 1 hunk probe(s), 2 finding(s))
[test] inert: packages/lib/src/f.test.ts
[test] hunk-survived: packages/lib/src/f.ts
fatal: '/tmp/efficacy-iso-vBHVDI/wt-probe' is not a working tree
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
Wrote test-efficacy report to /tmp/efficacy-iso-vZJbzI/out.json (0 unreachable, 1 probed, 0 mutant(s), 1 hunk probe(s), 2 finding(s))
[test] inert: packages/lib/src/f.test.ts
[test] hunk-survived: packages/lib/src/f.ts
fatal: '/tmp/efficacy-iso-vZJbzI/wt-probe' is not a working tree
fatal: '/tmp/efficacy-iso-OQ9HZF/wt-probe' is not a working tree
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
fatal: '/tmp/efficacy-iso-oYu4bS/wt-probe' is not a working tree
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
fatal: '/tmp/efficacy-iso-qcKNOp/wt-probe' is not a working tree
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
NOTE: review settings could not be loaded (ENOENT: no such file or directory, lstat '/tmp/git-isolated-home-5LNna2'); this review uses the defaults — attribution on, no auto-posting, no effort or round-cap override. Fix the settings file to restore them.
fatal: '/tmp/efficacy-iso-RXmipk/wt-probe' is not a working tree
fatal: '/tmp/efficacy-iso-H1cNyf/wt-probe' is not a working tree
fatal: '/tmp/efficacy-iso-KQuNHK/wt-probe' is not a working tree
✓ src/commands/review/test-efficacy.integration.test.ts (30 tests) 51307ms
✓ fixture git-config isolation > spawned git reads the throwaway global config, not the host user config 359ms
✓ test-efficacy probe isolation (#6832) > probes in a disposable worktree and never mutates the shared one 2642ms
✓ test-efficacy probe isolation (#6832) > a PR-controlled symlink cannot delete outside the tree — by isolation, not the guard 2988ms
✓ test-efficacy probe isolation (#6832) > probes hunks end-to-end on a diff with NO mutant candidates 3003ms
✓ test-efficacy probe isolation (#6832) > scores a hunk inconclusive when its OWN collocated test dropped out of the baseline 2143ms
✓ test-efficacy probe isolation (#6832) > runs a REPLACEMENT mutant end-to-end and reports the survivor 2452ms
✓ test-efficacy probe isolation (#6832) > runs a deletion mutant end-to-end and reports the survivor 2068ms
✓ test-efficacy probe isolation (#6832) > kills a mutant the suite catches — the A/B control for the survivor test 2295ms
✓ test-efficacy probe isolation (#6832) > skips the mutants wholesale when the unmutated baseline is not green 1756ms
✓ test-efficacy probe isolation (#6832) > still probes when an UNRELATED probe file is all-skipped (per-file gate) 2047ms
✓ test-efficacy probe isolation (#6832) > re-classes every survivor and spends nothing when the positive control fails 1931ms
✓ test-efficacy probe isolation (#6832) > holds a mutant at inconclusive when its OWN test was red in the baseline 2557ms
✓ test-efficacy probe isolation (#6832) > a control that could not be SET UP leaves the window spendable 1730ms
✓ test-efficacy probe isolation (#6832) > reports mutants skipped for budget when time runs out mid-loop 2263ms
✓ test-efficacy probe isolation (#6832) > reports mutants skipped for cap when candidates exceed MAX_MUTANTS 3830ms
✓ test-efficacy probe isolation (#6832) > marks every candidate inconclusive when the runner dies mid-mutation, and still runs the revert probe 1114ms
✓ test-efficacy probe isolation (#6832) > still finds the survivor under hostile user git diff config 2427ms
✓ test-efficacy probe isolation (#6832) > discloses the dropped candidates when a file derails the literal scan 2023ms
✓ test-efficacy probe isolation (#6832) > discloses a selection failure and still runs the revert probe 1200ms
✓ test-efficacy probe isolation (#6832) > never deletes a line that does not hold the selected statement 618ms
✓ test-efficacy probe isolation (#6832) > puts tracked files back before each run — one run cannot decide the next 1276ms
✓ test-efficacy probe isolation (#6832) > runs tests with dependencies from the source worktree 502ms
✓ test-efficacy probe isolation (#6832) > sweeps a stale REGISTERED probe worktree left by a crashed run 1845ms
✓ test-efficacy probe isolation (#6832) > clears an UNREGISTERED non-empty leftover so the probe is not wedged 1745ms
✓ per-hunk probes against real git > produces two patches git accepts, one per change 530ms
✓ per-hunk probes against real git > reverting ONE hunk restores only that change 1143ms
✓ per-hunk probes against real git > restores a hunk-ADDED file whose parent directory the reverse apply removed 1140ms
✓ per-hunk probes against real git > restores the file after the run, verdict notwithstanding 885ms
✓ per-hunk probes against real git > is inconclusive when the probe tree does not hold the file at all 554ms
✓ src/commands/review/lib/worktree.test.ts (66 tests) 36619ms
✓ worktreeResidue > is empty for the tree a review actually reads 1441ms
✓ worktreeResidue > names a modified file and an untracked probe — the live #9207 shape 814ms
✓ worktreeResidue > ignores what every review leaves behind 858ms
✓ worktreeResidue > reports BOTH names of a rename — the restore needs the one that is gone 583ms
✓ worktreeResidue > reports STAGED residue, which is the shape a probe leaves with `git add` 840ms
✓ worktreeResidue > hands back names that survive being turned into commands 760ms
✓ worktreeResidue > does not mistake a filename containing ` -> ` for a rename record 617ms
✓ worktreeResidue > lists the files inside a new directory, not the directory 753ms
✓ worktreeResidue > caps the list but never hides that it capped it 1526ms
✓ worktreeResidue > says UNMEASURED, not clean, when git cannot answer 895ms
✓ worktreeResidue > says UNMEASURED for a gitfile swapped at a repo that answers for this path 886ms
✓ worktreeResidue > says UNMEASURED for a forged admin entry when the caller pins the expected head 1403ms
✓ worktreeResidue > says UNMEASURED — not "not a git worktree" — for a dangling backpointer 587ms
✓ worktreeResidue > accepts a backpointer spelled through a link that resolves at this tree 615ms
✓ worktreeResidue > says UNMEASURED when an ancestor of the tree is a symlink into forge territory 726ms
✓ worktreeResidue > measures a healthy tree spelled through a symlink ABOVE the repository root 851ms
✓ worktreeResidue > says UNMEASURED when an INTERMEDIATE ancestor is a symlink the earlier gates cannot see 340ms
✓ worktreeResidue > says UNMEASURED when the tree path itself is a symlink into forge territory 885ms
✓ worktreeResidue > says UNMEASURED, not clean, when a repository is planted at the path 383ms
✓ worktreeResidue > says UNMEASURED for writes inside a committed submodule path 1300ms
✓ worktreeResidue > still measures clean when the submodule is uninitialized 1597ms
✓ worktreeResidue > says UNMEASURED for a NON-ASCII gitlink path, which quotepath renders unresolvable 1015ms
✓ worktreeResidue > fails closed for a degraded dir nested in a checkout — discovery walks up 1017ms
✓ worktreeResidue > excludes the pipeline’s install even when the COMMIT does not ignore it 860ms
✓ worktreeResidue > sees residue a committed whitelist .gitignore hides from status 988ms
✓ worktreeResidue > keeps the pipeline’s OWN build output out of the ignore-independent view 965ms
✓ worktreeResidue > does not let a wildcard-only rule vouch, however it is spelled 806ms
✓ worktreeResidue > stops believing a committed ignore file once the TREE has edited it 790ms
✓ worktreeResidue > sees residue hidden by an ignore rule the COMMIT does not carry 898ms
✓ worktreeResidue > says UNMEASURED, not clean, when the index-bit oracle cannot run 395ms
✓ worktreeResidue > says UNMEASURED for a sha-less caller even when a dirty decoy is present 697ms
✓ worktreeResidue > measures a worktree below a directory whose name carries a newline 877ms
✓ worktreeResidue > measures a review worktree under a checkout that is itself a linked worktree 1455ms
✓ worktreeResidue > measures a review worktree of a --separate-git-dir checkout 905ms
✓ worktreeResidue — the blind sets > reports UNMEASURED for a gitlink it cannot read, not clean 1100ms
✓ worktreeResidue — the blind sets > reports UNMEASURED for a gitlink whose name carries invalid UTF-8 bytes 978ms
✓ worktreeResidue — index bits > reports UNMEASURED when --skip-worktree hides a tracked edit 744ms
✓ worktreeResidue — index bits > reports UNMEASURED when --assume-unchanged hides a tracked edit 723ms
✓ discardWorktree > clears a LOCKED leftover instead of wedging the path forever 779ms
✓ discardWorktree > unlinks a symlink at the tree path instead of deleting what it points at 453ms
✓ discardWorktree > clears its OWN entry by the tree's pointer, not by scanning gitdir files 647ms
✓ discardWorktree > drops only its OWN registration, never a sibling worktree 561ms
✓ src/commands/review/presubmit.test.ts (105 tests) 43ms
✓ src/ui/hooks/vim.test.ts (132 tests) 1093ms
findings: 1 total — 0 Critical, 1 Suggestion, 0 Nice to have; 0 low-confidence. Wrote /tmp/review-findings-kyUcHl/findings.json
findings: f1 held back from Critical — test-delta measured packages/cli/src/ui/auth/AuthDialog.test.tsx as failing on the merge base too
findings: wrote 1 anchor request(s) for Step 7 to /tmp/review-findings-zIj1NR/anchors.json
findings: 2 total — 2 Critical, 0 Suggestion, 0 Nice to have; 1 low-confidence. Wrote /tmp/review-findings-zIj1NR/findings.json
findings: demoted filed at low confidence — a confirmed Critical carried neither a witness nor a 'not run' reason (Step 4's witness rule)
findings: wrote 1 anchor request(s) for Step 7 to /tmp/review-findings-UdtEEv/anchors.json
findings: 1 total — 0 Critical, 1 Suggestion, 0 Nice to have; 0 low-confidence. Wrote /tmp/review-findings-UdtEEv/findings.json
findings: held held back from Critical — test-delta measured packages/cli/src/ui/auth/AuthDialog.test.tsx as failing on the merge base too
findings: wrote 1 anchor request(s) for Step 7 to /tmp/review-findings-IVxlZE/anchors.json
findings: 1 total — 1 Critical, 0 Suggestion, 0 Nice to have; 0 low-confidence. Wrote /tmp/review-findings-IVxlZE/findings.json
findings: wrote 1 anchor request(s) for Step 7 to /tmp/review-findings-Kk9luc/anchors.json
findings: 1 total — 1 Critical, 0 Suggestion, 0 Nice to have; 0 low-confidence. Wrote /tmp/review-findings-Kk9luc/findings.json
findings: wrote 1 anchor request(s) for Step 7 to /tmp/review-findings-Rfttac/anchors.json
findings: 1 total — 1 Critical, 0 Suggestion, 0 Nice to have; 0 low-confidence. Wrote /tmp/review-findings-Rfttac/findings.json
findings: 1 total — 1 Critical, 0 Suggestion, 0 Nice to have; 1 low-confidence. Wrote /tmp/review-findings-4Rx8A9/findings.json
findings: f1 filed at low confidence — a confirmed Critical carried neither a witness nor a 'not run' reason (Step 4's witness rule)
findings: no holds applied — The test-delta file at "/tmp/review-findings-fIxHFw/bad.json" is not valid JSON: Unexpected end of JSON input
findings: 1 total — 1 Critical, 0 Suggestion, 0 Nice to have; 1 low-confidence. Wrote /tmp/review-findings-fIxHFw/findings.json
findings: f1 filed at low confidence — a confirmed Critical carried neither a witness nor a 'not run' reason (Step 4's witness rule)
findings: 1 total — 0 Critical, 1 Suggestion, 0 Nice to have; 0 low-confidence. Wrote /tmp/review-findings-vqvFJF/a.json
findings: R1-1 held back from Critical — test-delta measured packages/cli/src/ui/auth/AuthDialog.test.tsx as failing on the merge base too
findings: 1 total — 0 Critical, 1 Suggestion, 0 Nice to have; 0 low-confidence. Wrote /tmp/review-findings-vqvFJF/b.json
findings: R1-1 held back from Critical — test-delta measured packages/cli/src/ui/auth/AuthDialog.test.tsx as failing on the merge base too
outcomes: 1 fixed, 0 skipped, 0 no change needed
findings: 1 total — 1 Critical, 0 Suggestion, 0 Nice to have; 1 low-confidence. Wrote /tmp/review-findings-WWTiUN/nested/deeper/findings.json
findings: f1 filed at low confidence — a confirmed Critical carried neither a witness nor a 'not run' reason (Step 4's witness rule)
findings: 1 total — 1 Critical, 0 Suggestion, 0 Nice to have; 1 low-confidence. Wrote /tmp/review-findings-3k91HY/nested/deeper/findings.json
findings: f1 filed at low confidence — a confirmed Critical carried neither a witness nor a 'not run' reason (Step 4's witness rule)
findings: 2 total — 1 Critical, 1 Suggestion, 0 Nice to have; 1 low-confidence. Wrote /tmp/review-findings-qqbUV3/nested/deeper/findings.json
findings: f1 filed at low confidence — a confirmed Critical carried neither a witness nor a 'not run' reason (Step 4's witness rule)
outcomes: 1 fixed, 1 skipped, 0 no change needed
findings: wrote 1 anchor request(s) for Step 7 to /tmp/review-findings-Zb6KNH/anchors.json
findings: 1 total — 1 Critical, 0 Suggestion, 0 Nice to have; 0 low-confidence. Wrote /tmp/review-findings-Zb6KNH/findings.json
✓ src/commands/review/findings.test.ts (120 tests) 67ms
✓ src/serve/daemon-status.test.ts (54 tests) 37ms
✓ src/ui/components/background-view/BackgroundTasksDialog.test.tsx (86 tests) 40626ms
✓ BackgroundTasksDialog > exits to list mode when the running entry being viewed flips to a terminal status 564ms
✓ BackgroundTasksDialog > exits detail when active workflows reorder after the selected run completes 513ms
✓ BackgroundTasksDialog > exits detail when a non-workflow entry replaces the selected index 672ms
✓ BackgroundTasksDialog > re-anchors detail selection when roster drift moves the viewed entry 772ms
✓ BackgroundTasksDialog > exits to list mode after cancelling the running entry being viewed in detail 594ms
✓ BackgroundTasksDialog > exits to list mode when a paused workflow entry being viewed settles 582ms
✓ BackgroundTasksDialog > exits to list mode when a pausing workflow entry being viewed settles 435ms
✓ BackgroundTasksDialog > exits to list mode when a running workflow entry being viewed fails 659ms
✓ BackgroundTasksDialog > re-renders a paused workflow detail on the 1s tick and runs no tick for terminal entries 1014ms
✓ BackgroundTasksDialog > re-renders a running workflow detail on the 1s tick 590ms
✓ BackgroundTasksDialog > routes monitor cancel via monitorRegistry.cancel(monitorId) 413ms
✓ BackgroundTasksDialog > keeps detail mode when an already-terminal entry is opened (no spurious fallback) 379ms
✓ BackgroundTasksDialog > keeps detail mode when the same entry re-renders with a non-terminal status change 490ms
✓ BackgroundTasksDialog > foreground cancel requires two `x` presses to confirm (one-press is a no-op) 505ms
✓ BackgroundTasksDialog > foreground child of a background parent cancels on the first `x` (chain-aware confirm) 455ms
✓ BackgroundTasksDialog > detail-mode left clears any armed foreground cancel before exiting 633ms
✓ BackgroundTasksDialog > clears the armed cancel confirm when auto-fallback exits detail on settlement 845ms
✓ BackgroundTasksDialog > clears the armed cancel confirm when auto-fallback exits detail because the entry disappeared 600ms
✓ BackgroundTasksDialog > clears the armed cancel confirm when auto-fallback exits detail on roster drift 403ms
✓ BackgroundTasksDialog > lets ask-user-question approvals own all keyboard input in detail mode 349ms
✓ BackgroundTasksDialog > names the nested agent a bridged approval came from 413ms
✓ BackgroundTasksDialog > routes an agent approval response with the nested subagentId key part 497ms
✓ BackgroundTasksDialog > Esc backs out of an armed foreground cancel without closing the dialog 693ms
✓ BackgroundTasksDialog > clamps selectedIndex when entries shrink 890ms
✓ BackgroundTasksDialog > moves list selection with Ctrl+N/P readline aliases 581ms
✓ BackgroundTasksDialog > uses bare p to pause and resume workflows while Ctrl+P stays navigation 676ms
✓ BackgroundTasksDialog > flashes the registry refusal when p is pressed on a pausing workflow 457ms
✓ BackgroundTasksDialog > flashes a footer note when the registry rejects a pause/resume 503ms
✓ BackgroundTasksDialog > clears the rejection flash once a retry is accepted 488ms
✓ BackgroundTasksDialog > re-arms the rejection window on a second rejection 633ms
✓ BackgroundTasksDialog > shows the rejection flash only on the entry that produced it 600ms
✓ BackgroundTasksDialog > does not flash a rejection when p does not apply to the selection 322ms
✓ BackgroundTasksDialog > uses bare p to running a workflow from detail mode 323ms
✓ BackgroundTasksDialog > uses bare p to paused a workflow from detail mode 418ms
✓ BackgroundTasksDialog > does not resume blocked paused tasks and surfaces the blocked reason 341ms
✓ BackgroundTasksDialog > still allows resume for paused tasks that only have a stale error 433ms
✓ BackgroundTasksDialog > MonitorDetailBody render branches > renders title from description and shows Command block 463ms
✓ BackgroundTasksDialog > MonitorDetailBody render branches > renders pid when defined, omits when undefined 729ms
✓ BackgroundTasksDialog > MonitorDetailBody render branches > uses singular "1 event" / plural "N events" 817ms
✓ BackgroundTasksDialog > MonitorDetailBody render branches > renders droppedLines only when > 0 579ms
✓ BackgroundTasksDialog > MonitorDetailBody render branches > renders exitCode in subtitle when defined 465ms
✓ BackgroundTasksDialog > MonitorDetailBody render branches > renders Error block for failed status 409ms
✓ BackgroundTasksDialog > MonitorDetailBody render branches > renders "Stopped because" block for completed with auto-stop reason 491ms
✓ BackgroundTasksDialog > MonitorDetailBody render branches > omits the error block entirely when error is undefined 443ms
✓ BackgroundTasksDialog > dream entries > renders the [dream] row with session count in list mode 392ms
✓ BackgroundTasksDialog > dream entries > renders DreamDetailBody with sessions / progress / topics on detail view 435ms
✓ BackgroundTasksDialog > dream entries > shows the "x stop" hint for a running dream entry 328ms
✓ BackgroundTasksDialog > dream entries > omits the topics block entirely while the dream is still running 464ms
✓ BackgroundTasksDialog > dream entries > renders the Error block on failed status with a "+ Stopped because" verb 431ms
✓ BackgroundTasksDialog > dream entries > caps visible topics at 8 and renders a "+N more" tail for overflow 431ms
✓ BackgroundTasksDialog > WorkflowDetailBody budget chip (R2 #15) > renders plain spent (no cap) when uncapped and zero per-phase chips suppressed 472ms
✓ BackgroundTasksDialog > WorkflowDetailBody budget chip (R2 #15) > R1 #6 + R2 #15: surfaces null-sentinel per-phase tokens as `(no phase)` row 318ms
✓ BackgroundTasksDialog > keeps workflow detail open without save while pausing 561ms
✓ BackgroundTasksDialog > keeps workflow detail open without save while paused 595ms
✓ BackgroundTasksDialog > marks the current phase of a pausing workflow in detail view 399ms
✓ BackgroundTasksDialog > marks the current phase of a paused workflow in detail view 541ms
✓ BackgroundTasksDialog > allows an active pausing workflow to be stopped 383ms
✓ BackgroundTasksDialog > routes a workflow approval response by approvalId from detail mode 550ms
✓ BackgroundTasksDialog > nested sub-agent display > indents a nested child row with ↳ in the list 333ms
✓ BackgroundTasksDialog > nested sub-agent display > tags [blocking] only when the whole chain is foreground 325ms
✓ BackgroundTasksDialog > nested sub-agent display > shows the level badge and Parent breadcrumb in a nested child detail 549ms
✓ BackgroundTasksDialog > nested sub-agent display > lists live children in the parent detail Sub-agents section 417ms
✓ BackgroundTasksDialog > nested sub-agent display > sorts the Sub-agents roster active-first so the cap cannot hide running children 458ms
✓ BackgroundTasksDialog > nested sub-agent display > falls back to the launch-time parent name when the parent is gone 408ms
✓ BackgroundTasksDialog > subagent observability (issue #6569) > renders the newest activity in full across wrapped lines instead of truncating 358ms
✓ BackgroundTasksDialog > subagent observability (issue #6569) > still truncates non-live activity rows to one line 468ms
✓ BackgroundTasksDialog > subagent observability (issue #6569) > shows the Transcript section with the JSONL trace path 416ms
✓ BackgroundTasksDialog > subagent observability (issue #6569) > renders up to 10 progress rows in the detail view 671ms
✓ BackgroundTasksDialog > subagent observability (issue #6569) > shows all rows when the buffer holds exactly 10 activities 495ms
✓ BackgroundTasksDialog > subagent observability (issue #6569) > drops only the oldest row at 11 activities 321ms
✓ BackgroundTasksDialog > subagent observability (issue #6569) > omits the Progress section entirely when there are no activities 490ms
✓ BackgroundTasksDialog > subagent observability (issue #6569) > keeps the live command visible in a short terminal by dropping older rows 441ms
✓ BackgroundTasksDialog > subagent observability (issue #6569) > keeps the live row visible with a full 10-row history and no transcript (short terminal) 414ms
✓ BackgroundTasksDialog > subagent observability (issue #6569) > renders the full transcript path (wraps instead of truncating) 458ms
✓ src/serve/auth/device-flow.test.ts (47 tests) 28ms
✓ src/commands/review/cleanup.test.ts (68 tests) 54ms
✓ src/commands/review/parse-args.test.ts (138 tests) 107ms
✓ src/commands/review/cost-ledger.test.ts (65 tests) 73ms
✓ src/serve/routes/workspace-qualified-extensions.test.ts (43 tests) 1245ms
✓ src/ui/hooks/atCommandProcessor.test.ts (71 tests) 558ms
qwen serve: /acp session stream detached (sess-1), grace=10000ms
qwen serve: /acp session reclaimed within grace (sess-1)
qwen serve: /acp replay deferral armed (sess-1, from id 5)
qwen serve: /acp replay deferral armed (sess-1, from id 5)
qwen serve: /acp replay deferral armed (sess-1, from id 3)
qwen serve: /acp replay deferral armed (sess-1, from id 3)
qwen serve: /acp session stream detached (sess-1), grace=10000ms
qwen serve: /acp session reclaimed within grace (sess-1)
qwen serve: /acp resource guard: ACP pre-attach frame limit
qwen serve: /acp resource guard: ACP pre-attach frame limit
qwen serve: /acp resource guard session teardown failed: detach failed
qwen serve: /acp resource guard: ACP pre-attach frame limit
qwen serve: /acp resource guard: ACP pre-attach frame limit
qwen serve: /acp resource guard: ACP pre-attach connection budget
qwen serve: /acp resource guard: ACP pre-attach connection budget
qwen serve: /acp resource guard: ACP pre-attach connection budget
qwen serve: /acp response serialization failed
qwen serve: /acp resource guard: ACP response serialization failed
qwen serve: /acp response serialization failed
qwen serve: /acp resource guard: ACP response serialization failed
qwen serve: /acp response serialization failed
qwen serve: /acp resource guard: ACP response serialization failed
qwen serve: /acp resource guard: ACP pre-attach daemon budget
qwen serve: /acp resource guard: ACP pre-attach daemon budget
qwen serve: /acp resource guard: ACP pre-attach frame limit
qwen serve: /acp response serialization failed
qwen serve: /acp resource guard: ACP response serialization failed
qwen serve: /acp session stream detached (sess-1), grace=10000ms
qwen serve: /acp response serialization failed
qwen serve: /acp resource guard: ACP response serialization failed
qwen serve: /acp response serialization failed
qwen serve: /acp response serialization failed
qwen serve: /acp delivered receipt callback failed
qwen serve: /acp discarded receipt callback failed
qwen serve: /acp session stream detached (sess-1), grace=10000ms
qwen serve: /acp session reclaimed within grace (sess-1)
qwen serve: /acp session stream detached (sess-1), grace=10000ms
qwen serve: /acp session grace expired (sess-1), no reconnect within 10000ms — tearing down
qwen serve: /acp session stream detached (sess-1), grace=10000ms
qwen serve: /acp session reclaimed within grace (sess-1)
qwen serve: /acp session stream detached (sess-1), grace=10000ms
qwen serve: /acp session reclaimed within grace (sess-1)
qwen serve: /acp replay deferral armed (sess-1, from id 5)
qwen serve: /acp session stream detached (sess-1), grace=10000ms
qwen serve: /acp session reclaimed within grace (sess-1)
qwen serve: /acp replay deferral armed (sess-1, from id 5)
qwen serve: /acp replay deferral armed (sess-1, from id 5)
qwen serve: /acp replay deferral armed (sess-1, from id 5)
qwen serve: /acp replay deferral armed (sess-1, from id 5)
qwen serve: /acp replay deferral armed (sess-1, from id 5)
qwen serve: /acp session stream detached (sess-1), grace=10000ms
qwen serve: /acp session grace expired (sess-1), no reconnect within 10000ms — tearing down
qwen serve: /acp session stream detached (sess-1), grace=10000ms
qwen serve: /acp session grace expired (sess-1), no reconnect within 10000ms — tearing down
qwen serve: /acp teardown failed during grace expiry (sess-1): boom
qwen serve: /acp session stream detached (sess-1), grace=10000ms
qwen serve: /acp session grace expired (sess-1), no reconnect within 10000ms — tearing down
qwen serve: /acp onSessionGraceExpired failed during grace expiry (sess-1): boom
✓ src/serve/acp-http/connection-registry.test.ts (63 tests) 352ms
qwen serve: bridge error (POST /workspaces/:workspace/skills/enable): Error: disk full
at /startdir/src/qwen-code/packages/cli/src/serve/workspace-qualified-rest.test.ts:1317:31
at processTicksAndRejections (node:internal/process/task_queues:104:5)
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
qwen serve: POST /workspaces/:workspace/memory refused — existing file /tmp/qwen-workspace-qualified-rest-nYqosb/secondary/QWEN.md is 17825792 bytes (cap 16777216)
✓ src/serve/workspace-qualified-rest.test.ts (38 tests) 1355ms
✓ src/ui/components/messages/ToolMessage.test.tsx (77 tests) 20623ms
✓ > renders emphasis correctly 420ms
✓ localized badge > shows the localized display name under the zh locale 6744ms
✓ src/ui/components/ModelDialog.test.tsx (60 tests) 534ms
✓ src/serve/acp-http/workspace-qualified-acp.test.ts (48 tests) 986ms
qwen serve: sessions archive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655440002"] archived=1 archivedIds=["550e8400-e29b-41d4-a716-446655440002"] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=0 errorIds=[]
qwen serve: sessions archive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655440102"] archived=1 archivedIds=["550e8400-e29b-41d4-a716-446655440102"] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=0 errorIds=[]
qwen serve: sessions archive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655440050"] archived=1 archivedIds=["550e8400-e29b-41d4-a716-446655440050"] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=0 errorIds=[]
qwen serve: scheduled task lifecycle update failed action=archive workspace="/tmp/qwen-workspace-SDtbms" session="550e8400-e29b-41d4-a716-446655440051" error="EISDIR: illegal operation on a directory, read '/tmp/qwen-archive-test-ALlmJG/tmp
qwen serve: sessions archive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655440051"] archived=1 archivedIds=["550e8400-e29b-41d4-a716-446655440051"] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=1 errorIds=["550e8400-e29b-41d4-a716-446655440051":"EISDIR: illegal operation on a directory, read '/tmp/qwen-archive-test-ALlmJG/tmp]
qwen serve: sessions archive result requested=2 requestedIds=["550e8400-e29b-41d4-a716-446655440003","550e8400-e29b-41d4-a716-446655440004"] archived=0 archivedIds=[] alreadyArchived=1 alreadyArchivedIds=["550e8400-e29b-41d4-a716-446655440003"] notFound=1 notFoundIds=["550e8400-e29b-41d4-a716-446655440004"] errors=0 errorIds=[]
qwen serve: sessions archive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655440005"] archived=0 archivedIds=[] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=1 errorIds=["550e8400-e29b-41d4-a716-446655440005":"This session is already open in another Qwen process."]
qwen serve: sessions archive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655440005"] archived=1 archivedIds=["550e8400-e29b-41d4-a716-446655440005"] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=0 errorIds=[]
qwen serve: sessions archive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655440006"] archived=1 archivedIds=["550e8400-e29b-41d4-a716-446655440006"] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=0 errorIds=[]
qwen serve: sessions archive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655440106"] archived=0 archivedIds=[] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=1 errorIds=["550e8400-e29b-41d4-a716-446655440106":"Session storage entry for \"550e8400-e29b-41d4-a716-446655440106\" is not a regul]
qwen serve: sessions archive result requested=2 requestedIds=["550e8400-e29b-41d4-a716-446655440008","550e8400-e29b-41d4-a716-446655440009"] archived=1 archivedIds=["550e8400-e29b-41d4-a716-446655440009"] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=1 errorIds=["550e8400-e29b-41d4-a716-446655440008":"This session is already open in another Qwen process."]
qwen serve: sessions archive result requested=2 requestedIds=["550e8400-e29b-41d4-a716-446655440023","550e8400-e29b-41d4-a716-446655440024"] archived=1 archivedIds=["550e8400-e29b-41d4-a716-446655440023"] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=1 errorIds=["550e8400-e29b-41d4-a716-446655440024":"Session \"550e8400-e29b-41d4-a716-446655440024\" is being archived or unarchived;]
qwen serve: sessions archive result requested=2 requestedIds=["550e8400-e29b-41d4-a716-446655440019","550e8400-e29b-41d4-a716-446655440020"] archived=1 archivedIds=["550e8400-e29b-41d4-a716-446655440020"] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=1 errorIds=["550e8400-e29b-41d4-a716-446655440019":"classification failed"]
qwen serve: sessions archive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655440017"] archived=0 archivedIds=[] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=1 errorIds=["550e8400-e29b-41d4-a716-446655440017":"agent flush failed"]
qwen serve: sessions archive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655440010"] archived=0 archivedIds=[] alreadyArchived=1 alreadyArchivedIds=["550e8400-e29b-41d4-a716-446655440010"] notFound=0 notFoundIds=[] errors=0 errorIds=[]
qwen serve: sessions archive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655440016"] archived=0 archivedIds=[] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=1 errorIds=["550e8400-e29b-41d4-a716-446655440016":"Session \"550e8400-e29b-41d4-a716-446655440016\" exists in both active and archiv]
qwen serve: sessions archive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655440116"] archived=1 archivedIds=["550e8400-e29b-41d4-a716-446655440116"] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=0 errorIds=[]
qwen serve: session maintenance lease release failed action=archive workspace="/tmp/qwen-workspace-cfp7Xw" session="550e8400-e29b-41d4-a716-446655440006" errorKind="session_writer_lost" mutationApplied=true
qwen serve: sessions archive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655440006"] archived=0 archivedIds=[] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=1 errorIds=["550e8400-e29b-41d4-a716-446655440006":"Write ownership for this session was lost."]
qwen serve: scheduled task lifecycle update failed action=archive workspace="/tmp/qwen-workspace-aLAvk2" session="550e8400-e29b-41d4-a716-446655440018" error="EISDIR: illegal operation on a directory, read '/tmp/qwen-archive-test-Zf3xer/tmp
qwen serve: sessions archive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655440018"] archived=1 archivedIds=["550e8400-e29b-41d4-a716-446655440018"] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=1 errorIds=["550e8400-e29b-41d4-a716-446655440018":"EISDIR: illegal operation on a directory, read '/tmp/qwen-archive-test-Zf3xer/tmp]
qwen serve: sessions archive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655440007"] archived=1 archivedIds=["550e8400-e29b-41d4-a716-446655440007"] alreadyArchived=0 alreadyArchivedIds=[] notFound=0 notFoundIds=[] errors=0 errorIds=[]
qwen serve: sessions archive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655440063"] archived=0 archivedIds=[] alreadyArchived=1 alreadyArchivedIds=["550e8400-e29b-41d4-a716-446655440063"] notFound=0 notFoundIds=[] errors=0 errorIds=[]
qwen serve: sessions unarchive result requested=3 requestedIds=["550e8400-e29b-41d4-a716-446655440011","550e8400-e29b-41d4-a716-446655440012","550e8400-e29b-41d4-a716-446655440013"] unarchived=1 unarchivedIds=["550e8400-e29b-41d4-a716-446655440011"] alreadyActive=1 alreadyActiveIds=["550e8400-e29b-41d4-a716-446655440012"] notFound=1 notFoundIds=["550e8400-e29b-41d4-a716-446655440013"] errors=0 errorIds=[]
qwen serve: sessions unarchive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655440111"] unarchived=1 unarchivedIds=["550e8400-e29b-41d4-a716-446655440111"] alreadyActive=0 alreadyActiveIds=[] notFound=0 notFoundIds=[] errors=0 errorIds=[]
qwen serve: sessions unarchive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655440117"] unarchived=1 unarchivedIds=["550e8400-e29b-41d4-a716-446655440117"] alreadyActive=0 alreadyActiveIds=[] notFound=0 notFoundIds=[] errors=0 errorIds=[]
qwen serve: sessions unarchive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655440015"] unarchived=0 unarchivedIds=[] alreadyActive=0 alreadyActiveIds=[] notFound=0 notFoundIds=[] errors=1 errorIds=["550e8400-e29b-41d4-a716-446655440015":"This session is already open in another Qwen process."]
qwen serve: sessions unarchive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655440014"] unarchived=0 unarchivedIds=[] alreadyActive=0 alreadyActiveIds=[] notFound=0 notFoundIds=[] errors=1 errorIds=["550e8400-e29b-41d4-a716-446655440014":"unarchive failed"]
qwen serve: sessions unarchive result requested=2 requestedIds=["550e8400-e29b-41d4-a716-446655440021","550e8400-e29b-41d4-a716-446655440022"] unarchived=1 unarchivedIds=["550e8400-e29b-41d4-a716-446655440022"] alreadyActive=0 alreadyActiveIds=[] notFound=0 notFoundIds=[] errors=1 errorIds=["550e8400-e29b-41d4-a716-446655440021":"classification failed"]
qwen serve: sessions unarchive result requested=2 requestedIds=["550e8400-e29b-41d4-a716-446655440025","550e8400-e29b-41d4-a716-446655440026"] unarchived=1 unarchivedIds=["550e8400-e29b-41d4-a716-446655440025"] alreadyActive=0 alreadyActiveIds=[] notFound=0 notFoundIds=[] errors=1 errorIds=["550e8400-e29b-41d4-a716-446655440026":"Session \"550e8400-e29b-41d4-a716-446655440026\" is being archived or unarchived;]
qwen serve: sessions unarchive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655440060"] unarchived=1 unarchivedIds=["550e8400-e29b-41d4-a716-446655440060"] alreadyActive=0 alreadyActiveIds=[] notFound=0 notFoundIds=[] errors=0 errorIds=[]
qwen serve: sessions unarchive result requested=1 requestedIds=["550e8400-e29b-41d4-a716-446655440062"] unarchived=0 unarchivedIds=[] alreadyActive=1 alreadyActiveIds=["550e8400-e29b-41d4-a716-446655440062"] notFound=0 notFoundIds=[] errors=0 errorIds=[]
qwen serve: scheduled task lifecycle update failed action=delete workspace="/tmp/qwen-workspace-CqbSk1" session="550e8400-e29b-41d4-a716-446655440171" error="EISDIR: illegal operation on a directory, read '/tmp/qwen-archive-test-OuFMfv/tmp
qwen serve: scheduled task lifecycle update failed action=delete workspace="/tmp/qwen-workspace-OIfaTE" session="550e8400-e29b-41d4-a716-446655440086" error="EISDIR: illegal operation on a directory, read '/tmp/qwen-archive-test-6avDaS/tmp
✓ src/serve/server/session-archive.test.ts (65 tests) 374ms
✓ src/nonInteractive/io/BaseJsonOutputAdapter.test.ts (109 tests) 156ms
✓ src/ui/utils/MarkdownDisplay.test.tsx (186 tests) 33675ms
✓ > renders nothing for empty text 305ms
✓ > with 'Windows' line endings > renders a fenced code block without a language 352ms
✓ > with 'Windows' line endings > renders a tall-wrapping table the same way streaming and committed (no flip) 383ms
✓ > with 'Windows' line endings > keeps holding the header while its separator is still being typed 303ms
✓ > with 'Unix' line endings > does not clip a long committed (non-pending) message 323ms
✓ > with 'Unix' line endings > clips a non-pending message when enforceHeightBudget is set (#6867) 315ms
✓ > with 'Unix' line endings > holds back a partial first row, then pops the table in once it terminates 475ms
✓ > with 'Unix' line endings > renders a tall-wrapping table the same way streaming and committed (no flip) 405ms
✓ src/services/insight/generators/DataProcessor.test.ts (51 tests) 87ms
✓ src/ui/components/SettingsDialog.test.tsx (61 tests) 34455ms
✓ SettingsDialog > Initial Rendering > should highlight first setting by default 309ms
✓ SettingsDialog > Settings Navigation > should navigate down with arrow key 1005ms
✓ SettingsDialog > Settings Navigation > should navigate up with arrow key 642ms
✓ SettingsDialog > Settings Navigation > should navigate with vim keys (j/k) 540ms
✓ SettingsDialog > Settings Navigation > moves focus up through the search box to the tab bar 700ms
✓ SettingsDialog > Settings Toggling > should toggle setting with Enter key 809ms
✓ SettingsDialog > Settings Toggling > should not save number settings below their configured minimum 2998ms
✓ SettingsDialog > Settings Toggling > enum values > toggles enum values with the enter key 482ms
✓ SettingsDialog > Settings Toggling > enum values > loops back when reaching the end of an enum 371ms
✓ SettingsDialog > Settings Toggling > should toggle setting with Space key 517ms
✓ SettingsDialog > Scope Selection > should switch between scopes 515ms
✓ SettingsDialog > Scope Selection > should reset to settings focus when scope is selected 439ms
✓ SettingsDialog > Restart Prompt > should show restart prompt for restart-required settings 623ms
✓ SettingsDialog > Restart Prompt > should handle restart request when r is pressed 348ms
✓ SettingsDialog > Escape Key Behavior > should call onSelect with undefined when Escape is pressed 376ms
✓ SettingsDialog > Settings Persistence > should persist settings across scope changes 588ms
✓ SettingsDialog > Error Handling > should handle vim mode toggle errors gracefully 493ms
✓ SettingsDialog > Complex State Management > should track modified settings correctly 699ms
✓ SettingsDialog > Complex State Management > should handle scrolling when there are many settings 1301ms
✓ SettingsDialog > VimMode Integration > should sync with VimModeContext when vim mode is toggled 536ms
✓ SettingsDialog > Specific Settings Behavior > should handle immediate settings save for non-restart-required settings 500ms
✓ SettingsDialog > Specific Settings Behavior > should show restart prompt for restart-required settings 488ms
✓ SettingsDialog > Output Language > treats empty output language as auto 1050ms
✓ SettingsDialog > Keyboard Shortcuts Edge Cases > should handle rapid key presses gracefully 561ms
✓ SettingsDialog > Keyboard Shortcuts Edge Cases > should handle Ctrl+C to reset current setting to default 451ms
✓ SettingsDialog > Keyboard Shortcuts Edge Cases > should handle Ctrl+L to reset current setting to default 554ms
✓ SettingsDialog > Keyboard Shortcuts Edge Cases > should handle navigation when only one setting exists 632ms
✓ SettingsDialog > Keyboard Shortcuts Edge Cases > should properly handle Tab navigation between sections 330ms
✓ SettingsDialog > Complex User Interactions > should handle complete user workflow: navigate, toggle, change scope, exit 355ms
✓ SettingsDialog > Complex User Interactions > should allow changing multiple settings without losing pending changes 1040ms
✓ SettingsDialog > Complex User Interactions > should maintain state consistency during complex interactions 724ms
✓ SettingsDialog > Complex User Interactions > should handle restart workflow correctly 489ms
✓ SettingsDialog > String Settings Editing > should allow editing and committing a string setting 2845ms
✓ SettingsDialog > Config Tabs and Search > renders the tab bar with all three tabs and a search box 380ms
✓ SettingsDialog > Config Tabs and Search > filters the settings list as the user types 832ms
✓ SettingsDialog > Config Tabs and Search > shows a hint when nothing matches the query 705ms
✓ SettingsDialog > Config Tabs and Search > allows spaces so multi-word queries can be typed 1439ms
✓ SettingsDialog > Config Tabs and Search > routes digits into the search box for non-number settings 644ms
✓ SettingsDialog > Config Tabs and Search > clears the search query on Escape before closing 745ms
✓ SettingsDialog > Config Tabs and Search > clears the query on Escape from the list zone before closing 858ms
✓ SettingsDialog > Config Tabs and Search > shows the data view when navigating to a non-Settings tab 595ms
✓ src/commands/review/lib/convergence.test.ts (76 tests) 22ms
✓ src/serve/channel-settings-store.test.ts (75 tests) 601ms
✓ WorkspaceChannelSettingsStore > preserves an existing secret unless replace or clear is explicit 427ms
✓ src/ui/utils/resumeHistoryUtils.test.ts (57 tests) 30ms
✓ src/commands/review/lib/narrow-diff.integration.test.ts (32 tests) 19553ms
✓ narrowToDelta on real-git captures > keeps only the PR hunks the anchor round did not already cover 633ms
✓ narrowToDelta on real-git captures > never emits a line the PR diff lacks, on the undo-per-feedback round 563ms
✓ narrowToDelta on real-git captures > narrows to a post-anchor file the PR diff also carries 662ms
✓ narrowToDelta on real-git captures > falls back rather than scoping when the captures key a change differently 562ms
✓ narrowToDelta on real-git captures > refuses to narrow a rewrite the delta keys as a rename 629ms
✓ narrowToDelta on real-git captures > emits the full section whole for a hunk-less delta touch 834ms
✓ narrowToDelta on real-git captures > emits the rename section for a hunk-less pure-rename delta 682ms
✓ narrowToDelta on real-git captures > carries the section when a mode change reverts but content stays 785ms
✓ narrowToDelta on real-git captures > carries a mode-only full section the delta touches with content hunks 686ms
✓ narrowToDelta on real-git captures > carries a post-anchor mode flip whose hunks all miss the full capture 716ms
✓ narrowToDelta on real-git captures > carries a post-anchor rename whose hunks all miss the full capture 627ms
✓ narrowToDelta on real-git captures > narrows a plain edit of a file an earlier round renamed 636ms
✓ narrowToDelta on real-git captures > emits the rename header and matching hunks when one round does both 602ms
✓ narrowToDelta on real-git captures > keeps every full hunk a single delta hunk overlaps 711ms
✓ narrowToDelta on real-git captures > carries a netted-undo section whole while its sibling still narrows 670ms
✓ narrowToDelta on real-git captures > carries the section whole when the delta overlaps no hunk the PR diff still carries 646ms
✓ narrowToDelta on real-git captures > carries a change the captures position disjointly in an identical run 740ms
✓ narrowToDelta on real-git captures > carries the divergent hunk when a sibling hunk of the section matches 593ms
✓ narrowToDelta on real-git captures > narrows between FILES, never within one — the invariant, stated once 464ms
✓ narrowToDelta on real-git captures > carries a change the captures display at disjoint positions under disjoint texts 590ms
✓ narrowToDelta on real-git captures > carries a divergent hunk that overlaps an unrelated bystander hunk 466ms
✓ narrowToDelta on real-git captures > carries a divergent hunk whose bystander shares its changed text 670ms
✓ narrowToDelta on real-git captures > accepts a delta whose deletion the PR diff performs too 623ms
✓ narrowToDelta on real-git captures > emits a whole-file deletion the delta performs too 549ms
✓ narrowToDelta on real-git captures > carries the no-trailing-newline marker of a kept hunk 576ms
✓ narrowToDelta on real-git captures > carries a binary-file delta section the full capture also holds 627ms
✓ narrowToDelta on real-git captures > assembles a selected hunk beyond the argument-count ceiling 1113ms
✓ narrowToDelta on real-git captures > narrows to a subset that still parses as a diff 794ms
✓ src/commands/review/lib/path-rules.test.ts (243 tests) 51ms
✓ src/serve/create-sub-session.test.ts (39 tests) 1185ms
✓ src/utils/modelConfigUtils.test.ts (60 tests) 85ms
✓ src/ui/components/messages/ToolGroupMessage.test.tsx (55 tests) 11555ms
✓ > Pure parallel agent group: LiveAgentPanel hand-off (dedup) > forwards the height cap only in the live phase (committed phase = no cap) 399ms
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
✓ src/serve/routes/workspace-file-write.test.ts (66 tests) 7131ms
✓ POST /file/upload > accepts an upload of exactly MAX_UPLOAD_BYTES 435ms
✓ POST /file/upload > lands on the 1000th candidate, then 409s when all are occupied 3415ms
✓ POST /file/upload > publishes no file when the client disconnects during admission 370ms
✓ POST /file/upload > frees gate slots when clients disconnect mid body-buffering 563ms
✓ POST /file/upload > frees gate slots when oversized chunked bodies are rejected after admission 466ms
✓ src/ui/voice/voice-transcriber.test.ts (61 tests) 127ms
✓ src/ui/components/MainContent.test.tsx (33 tests) 7919ms
✓ > renders AppHeader inside Static at the top of the static content 389ms
✓ > progressively replays Static items when history exceeds the threshold (issue #3899) 436ms
✓ > synchronously resets to the first chunk on historyRemountKey change after a full catch-up (Ctrl+O regression, issue #3899) 485ms
✓ > does NOT reset progressive replay when only currentModel changes (PR #4119 regression guard) 516ms
✓ > virtual viewport path (ui.useTerminalBuffer) > requests a full-height measurement only for pending plain-text confirmations 330ms
✓ > virtual viewport path (ui.useTerminalBuffer) > re-renders pending items when virtual viewport height constraints change 303ms
✓ > gates the pending-region maxHeight backstop on streamingState (#6809) 539ms
✓ src/commands/review/lib/budget.test.ts (76 tests) 38ms
✓ src/serve/channel-worker-group.test.ts (42 tests) 163ms
✓ src/commands/review/lib/ledger.test.ts (79 tests) 112ms
{
"found": true,
"heading": "## Test Plan",
"claims": [
{
"kind": "path",
"text": "packages/cli/src/a.test.ts",
"verdict": "reproduces",
"note": "the diff changes this file"
}
],
"diffHash": "df087996d45b03e7eb8c133c0298fd98d35113fca26aaba58612fef3cc212cad",
"note": "checked 1 claim(s): 0 contradicted, 0 differing, 1 reproduced, 0 unchecked"
}
test-plan: checked 1 claim(s): 0 contradicted, 0 differing, 1 reproduced, 0 unchecked
✓ src/commands/review/test-plan.test.ts (96 tests) 557ms
Wrote null repository context to /tmp/repo-context-fTB3Tw/context.json
Wrote repository context (fake-provider) to /tmp/repo-context-sOJLrz/context.json
Wrote repository context (manifest) to /tmp/repo-context-jfE05k/base-enabled/context.json
Wrote null repository context to /tmp/repo-context-jfE05k/base-disabled/context.json
Wrote repository context (fake-provider) to /tmp/repo-context-5Actry/context.json
Wrote repository context (fake-provider) to /tmp/repo-context-loE55Q/base-enabled/context.json
Wrote null repository context to /tmp/repo-context-loE55Q/base-disabled/context.json
Wrote null repository context to /tmp/repo-context-yhzPjb/context.json
Wrote repository context (manifest) to /tmp/repo-context-wj0tOW/pr/context.json
Wrote repository context (manifest) to /tmp/repo-context-wj0tOW/local/context.json
Wrote null repository context to /tmp/repo-context-AyiJ1e/context.json
Wrote null repository context to /tmp/repo-context-ivmrh4/null-base/context.json
Wrote null repository context to /tmp/repo-context-ivmrh4/null-base-fetch-failed/context.json
Wrote repository context (fake-provider) to /tmp/repo-context-yvRzSA/context.json
Wrote repository context (fake-provider) to /tmp/repo-context-yvRzSA/context.json
Wrote repository context (fake-provider) to /tmp/repo-context-PUe98s/context.json
Wrote repository context (fake-provider) to /tmp/repo-context-jHOrf1/context.json
Wrote null repository context to /tmp/repo-context-5T4fJy/context.json
Wrote null repository context to /tmp/repo-context-hbGlHf/pr/context.json
Wrote null repository context to /tmp/repo-context-hbGlHf/local/context.json
Wrote repository context (fake-provider) to /tmp/repo-context-7xnGYm/context.json
Wrote repository context (manifest) to /tmp/repo-context-NFTLBh/context.json
Wrote repository context (fake-provider) to /tmp/repo-context-xgPajN/context.json
Wrote repository context (fake-provider) to /tmp/repo-context-Cqa9GO/fresh-subdir/context.json
Wrote repository context (fake-provider) to /tmp/repo-context-2sVrIa/context.json
Wrote repository context (manifest) to /tmp/repo-context-ZLIoHN/sha256/context.json
Wrote null repository context to /tmp/repo-context-ho00u3/pr/context.json
Wrote null repository context to /tmp/repo-context-ho00u3/local/context.json
Wrote null repository context to /tmp/repo-context-epoch-ogVMlm/ctx.json
Wrote repository context (fake-provider) to /tmp/repo-context-skip-kDXMEh/ctx.json
Wrote null repository context to /tmp/repo-context-epoch-sub-ms-Wjhix5/ctx.json
✓ src/commands/review/repo-context.test.ts (45 tests) 11447ms
✓ repo-context providers and trust boundary > uses the trusted base manifest for pull-request opt in and opt out 1377ms
✓ repo-context providers and trust boundary > reads pull-request identity only from the trusted base commit 545ms
✓ repo-context providers and trust boundary > does not let the current tree opt in or opt out of base identity 1102ms
✓ repo-context providers and trust boundary > writes null when the identity is absent at the base commit 604ms
✓ repo-context providers and trust boundary > follows a committed symlink identity like the worktree reader 691ms
✓ repo-context providers and trust boundary > fails closed when a committed identity symlink escapes the tree 592ms
✓ repo-context providers and trust boundary > fails closed when the base identity symlink chain exceeds the hop ceiling 2002ms
✓ repo-context providers and trust boundary > degrades to a null artifact when the base fetch failed 388ms
✓ repo-context providers and trust boundary > fails closed for an invalid or unresolvable base 371ms
✓ repo-context providers and trust boundary > normalizes identity content identically in local and pull-request modes 627ms
✓ repo-context providers and trust boundary > supports recorded linked-worktree paths 619ms
✓ repo-context providers and trust boundary > degrades to a null artifact when the base identity path is a directory 499ms
✓ repo-context providers and trust boundary > reads a broken trailing-slash identity symlink as absent in both modes 451ms
✓ repo-context providers and trust boundary > attaches context from a SHA-256 repository 515ms
✓ repo-context providers and trust boundary > reads a `.`-targeted identity symlink as absent in both modes 707ms
✓ src/nonInteractiveCliCommands.test.ts (52 tests) 85ms
✓ src/nonInteractive/session.test.ts (39 tests) 915ms
✓ src/ui/hooks/useStatusLine.test.ts (82 tests) 231ms
2026-10-24T15:03:04.960Z [ERROR] [DAEMON] route=POST /x route failed
Error: boom
at /startdir/src/qwen-code/packages/cli/src/serve/daemon-logger.test.ts:515:17
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-0
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-1
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-2
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-3
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-4
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-5
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-6
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-7
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-8
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-9
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-10
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-11
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-12
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-13
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-14
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-15
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-16
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-17
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-18
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-19
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-20
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-21
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-22
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-23
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-24
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-25
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-26
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-27
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-28
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-29
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-30
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-31
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-32
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-33
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-34
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-35
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-36
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-37
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-38
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-39
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-40
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-41
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-42
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-43
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-44
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-45
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-46
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-47
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-48
2026-10-24T15:03:04.970Z [INFO] [DAEMON] msg-49
qwen serve: daemon stable log is owned by another daemon instance; using a fallback log for runId=22222222222222222222222222222222
✓ src/serve/daemon-logger.test.ts (58 tests) 406ms
qwen serve: DELETE /workspace/agents/"partial-target" partial — removed=project remaining=user:/tmp/qwen-serve-agents-aCM10f/global/agents/partial-target.md
✓ src/serve/workspace-agents.test.ts (49 tests) 629ms
✓ src/serve/live/live-task-service.test.ts (27 tests) 153ms
qwen: Skipped replay of a goal card whose condition is empty.
✓ src/acp-integration/session/history-replayer.test.ts (52 tests) 67ms
✓ src/commands/channel/start.test.ts (31 tests) 109ms
✓ src/commands/review/pr-context-persist.test.ts (29 tests) 18ms
✓ src/ui/commands/doctorCommand.test.ts (49 tests) 98ms
✓ src/agent-view/pty-host-process.test.ts (50 tests) 3131ms
✓ Agent View PTY host process server > only resolves exited on SIGKILL for a connected (childless) handle 470ms
✓ Agent View PTY host process server > rejects oversized PTY host responses 469ms
✓ Agent View PTY host process server > rejects promptly when the host closes without a response 537ms
✓ src/commands/review/drive.test.ts (54 tests) 3763ms
✓ readiness > polls until the probe passes, and reports how long that took 1517ms
✓ readiness > polls at a bounded RATE — the wait cannot depend on the platform 1006ms
✓ the server name > quotes the paths anyway — the charset and the quoting are two guards 397ms
✓ the verify brief's bound-address recipe actually captures > puts the service's own address in the drive log, not the response body 384ms
✓ src/ui/commands/statsCommand.test.ts (39 tests) 342ms
✓ src/commands/review/publish-assets.test.ts (39 tests) 35ms
✓ src/commands/review/scratch-tree.test.ts (46 tests) 64550ms
✓ runScratchTree > stands up a sibling tree at the commit under review 1125ms
✓ runScratchTree > refuses while repo-local config defines a content filter — checkouts would execute it 1613ms
✓ runScratchTree > screens ANOTHER worktree's per-worktree config, not just this one's 1572ms
✓ runScratchTree > places it BESIDE the review worktree, never inside it 1238ms
✓ runScratchTree > gives two labels two trees — one round runs its shards concurrently 2051ms
✓ runScratchTree > refuses an empty label rather than defaulting to a shared tree 349ms
✓ runScratchTree > cannot be steered out of the temp dir by a crafted label 851ms
✓ runScratchTree > hands back a PRISTINE tree on reuse — a stale mutant is a wrong verdict 2401ms
✓ runScratchTree > rebuilds over a leftover directory instead of resetting the PARENT checkout 1688ms
✓ runScratchTree > removes a nested repo a probe left behind — `-fd` alone would not 2292ms
✓ runScratchTree > refuses to call a tree pristine when skip-worktree hides a mutant 4418ms
✓ runScratchTree > rebuilds when the leftover has a .git that git cannot use 1691ms
✓ runScratchTree > never fires the user repository's hooks 2072ms
✓ runScratchTree > replaces a node_modules it did not build rather than trusting it 2089ms
✓ runScratchTree > rebuilds rather than resetting a scratch path that is a symlink 1918ms
✓ runScratchTree > clears IGNORED probe state too — pristine means pristine 2162ms
✓ runScratchTree > rebuilds when the tree belongs to a DIFFERENT repository 2231ms
✓ runScratchTree > rebuilds over a .git SYMLINK at the scratch path — never resets the main checkout 1608ms
✓ runScratchTree > rebuilds when the scratch .git FILE names the common dir 1519ms
✓ runScratchTree > rebuilds when the scratch .git borrows a SIBLING worktree’s admin entry 2398ms
✓ runScratchTree > ignores a GIT_DIR inherited from the environment 1501ms
✓ runScratchTree > is unavailable when the worktree’s .git file is gone — never walked up 501ms
✓ runScratchTree > rebuilds when a submodule was initialized in the tree 3069ms
✓ runScratchTree > rebuilds the farm on reuse rather than inheriting it 1947ms
✓ runScratchTree > says which harness gap it hit when node_modules holds nothing linkable 1045ms
✓ runScratchTree > says linking FAILED rather than "no node_modules" when the farm throws 1231ms
✓ runScratchTree > leaves the shared review worktree untouched by everything it does 1416ms
✓ runScratchTree > reports residue in the shared worktree — the tree others are reading 917ms
✓ runScratchTree > says how many dirty paths it did NOT list 1128ms
✓ runScratchTree > names every residue shape its own recovery, including the staged ones 1392ms
✓ runScratchTree > reports UNMEASURED rather than clean when the residue check cannot run 1051ms
✓ runScratchTree > refuses a CLEAN shared worktree it measured without the fetched sha 1192ms
✓ runScratchTree > measures a CLEAN shared worktree when the caller brings the fetched sha 1351ms
✓ runScratchTree > refuses BEFORE any reset or creation when the worktree is not at the fetched sha it brought 489ms
✓ runScratchTree > refuses a fetched sha that is not a full Git object ID 621ms
✓ runScratchTree > folds case when comparing the fetched sha, like the residue pin 1229ms
✓ runScratchTree > links the review worktree’s node_modules in, and says so 1140ms
✓ runScratchTree > says a harness will not start when there is nothing to link 1070ms
✓ runScratchTree > is unavailable — not silently degraded — when there is no worktree 386ms
✓ runScratchTree > keeps the measured residue when the tree could not be created 1154ms
✓ runScratchTree > the CLI option contract > parses --fetched-sha into the field runScratchTree actually reads 946ms
✓ runScratchTree > the command handler > prints the report before writing the side file 996ms
✓ runScratchTree > the command handler > keeps the report on stdout when the side-file write dies — and exits 1 857ms
✓ src/serve/conversations/standalone-session-service.test.ts (33 tests) 236ms
(node:116540) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 resize listeners added to [Stdout]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
(Use `node --trace-warnings ...` to show where the warning was created)
✓ src/ui/components/shared/VirtualizedList.test.tsx (32 tests) 33589ms
✓ > renders nothing visible when data is empty 301ms
✓ > renders all items when renderStatic is true (full list, no virtualization) 476ms
✓ > with SCROLL_TO_ITEM_END as initialScrollIndex, anchors at the last item 487ms
✓ > collapses bottom-stuck viewport to measured rows when estimates are too tall 1361ms
✓ > collapses a short bottom-stuck list below the container height 463ms
✓ > reports zero-height shrink so collapsed items leave no blank gap 1198ms
✓ > collapses after measuring changed content at full viewport height 985ms
✓ > targetScrollIndex anchors to that index on first usable render 542ms
✓ > clamps an out-of-range targetScrollIndex instead of freezing the walk-back 871ms
✓ > exposes scrollToEnd via imperative ref and snaps to the last item 1380ms
✓ > scrollToIndex moves scroll anchor to the requested index 966ms
✓ > survives a renderItem that throws (isolates per-item errors) 414ms
✓ > estimator returning NaN/negative is coerced to 0 (no scroll-math poison) 603ms
✓ > handles initialScrollIndex pointing past the end gracefully 593ms
✓ > scrollBy > scrollBy positive moves the viewport down 977ms
✓ > scrollBy > scrollBy negative moves the viewport up and clears sticking-to-bottom 867ms
✓ > scrollBy > scrollBy past bottom re-engages sticking-to-bottom with live end anchor 973ms
✓ > scrollBy > scrollBy clamps to 0 when scrolling past the top 964ms
✓ > scrollTo > scrollTo middle offset positions correctly 807ms
✓ > scrollTo > scrollTo 0 moves to the beginning 946ms
✓ > scrollTo > scrollTo past maxScroll re-engages sticking-to-bottom 936ms
✓ > scrollTo > scrollTo negative is clamped to 0 898ms
✓ > auto-scroll during streaming > auto-scrolls when at bottom and data grows 906ms
✓ > auto-scroll during streaming > does NOT auto-scroll when user has scrolled away from bottom 1092ms
✓ > auto-scroll during streaming > re-engages auto-scroll when user scrolls back to bottom 1308ms
✓ VP collapsed thought groups > releases reserved height when a thought group collapses 1289ms
✓ VP collapsed thought groups > does not lock the render window when a tall thought collapses off-screen 2860ms
✓ VP collapsed thought groups > heals every cached-zero continuation at the viewport top in one pass 2173ms
✓ VP collapsed thought groups > anchors to the first item of a cached-zero run so re-expand stays visible 1942ms
✓ VP collapsed thought groups > re-expands to a non-empty healed frame after collapsing while scrolled 1875ms
✓ VP collapsed thought groups > walks a mid-run targetScrollIndex anchor back to the first item of the run 1949ms
✓ src/serve/workspace-remember.test.ts (36 tests) 419ms
✓ src/nonInteractive/io/StreamJsonOutputAdapter.test.ts (55 tests) 59ms
✓ src/commands/review/run.test.ts (51 tests) 82ms
✓ src/ui/utils/commandUtils.test.ts (81 tests) 148ms
✓ src/commands/review/lib/anchors.test.ts (70 tests) 283ms
✓ src/cli.test.ts (55 tests) 2898ms
✓ bootstrap import boundaries > publishes the daemon compile cache without overriding user policy 473ms
✓ bootstrap import boundaries > reloads the CLI through a stable shim after an update 308ms
✓ bootstrap import boundaries > resolves and pins managed updates from the configured home 1554ms
✓ src/acp-integration/service/filesystem.test.ts (34 tests) 214ms
qwen serve: createServeApp default fsFactory uses trusted=false — agent ACP writeTextFile calls will reject with untrusted_workspace. Inject deps.fsFactory (with explicit trust) or deps.bridge to override.
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
✓ src/serve/routes/workspace-voice.test.ts (39 tests) 1407ms
✓ src/serve/server/telemetry.test.ts (66 tests) 59ms
✓ src/commands/review/lib/sandboxed-exec.test.ts (38 tests | 1 skipped) 77ms
✓ src/serve/live/live-session-coordinator.test.ts (25 tests) 1636ms
qwen: .env file /tmp/qwen-runtime-env-6tkziF/.env cannot set loader-affecting env vars; ignored: NODE_OPTIONS, NPM_CONFIG_NODE_OPTIONS
qwen: settings.env (/tmp/qwen-runtime-env-6tkziF) cannot set loader-affecting env vars; ignored: BASH_ENV, NPM_CONFIG_NODE_OPTIONS
qwen: settings.env (/tmp/qwen-runtime-env-qfL7TT) cannot set loader-affecting env vars; ignored: BASH_ENV, NODE_OPTIONS
qwen: .env file /tmp/qwen-runtime-env-FTWq8Y/.env cannot set loader-affecting env vars; ignored: NODE_OPTIONS, npm_config_node_options, NODE_PATH, LD_PRELOAD
qwen: .env file /tmp/qwen-runtime-env-nssv2z/.env cannot set loader-affecting env vars; ignored: OPENSSL_CONF, NODE_REPL_EXTERNAL_MODULE, npm_config_node_gyp, npm_config_init_module
qwen: .env file /tmp/qwen-runtime-env-MAadnv/.qwen/.env cannot set loader-affecting env vars; ignored: NODE_OPTIONS, NODE_PATH, LD_PRELOAD
qwen: .env file /tmp/qwen-runtime-env-XpuD7e/.env cannot set loader-affecting env vars; ignored: NODE_OPTIONS, npm_config_node_options
qwen: .env file /tmp/qwen-runtime-env-XOzKsa/.env cannot set loader-affecting env vars; ignored: NPM_CONFIG_NODE_OPTIONS, Node_Options, npm_config_node-options
qwen: .env file /tmp/qwen-runtime-env-OiYdYM/.env cannot set loader-affecting env vars; ignored: npm_config_userconfig, ZDOTDIR
qwen: settings.env (/tmp/qwen-runtime-env-DjBdrP) cannot set loader-affecting env vars; ignored: BASH_FUNC_id%%
✓ src/config/environment.test.ts (30 tests) 39ms
✓ src/acp-integration/session/emitters/tool-call-emitter.test.ts (63 tests) 31ms
✓ src/commands/review/lib/deadline.test.ts (58 tests) 34ms
✓ src/ui/components/shared/vim-buffer-actions.test.ts (74 tests) 26ms
✓ src/ui/commands/languageCommand.test.ts (62 tests) 98ms
✓ src/ui/commands/exportCommand.test.ts (40 tests) 75ms
✓ src/commands/review/lib/run-ledger.test.ts (72 tests) 58ms
qwen serve: --rate-limit-prompt must be a positive integer.
qwen serve: --rate-limit-mutation must be a positive integer.
qwen serve: --rate-limit-read must be a positive integer.
qwen serve: --rate-limit-window-ms must be an integer >= 1000.
qwen serve: --open passes the token in the browser launch command (visible via `ps` / /proc); on a multi-user host open the URL manually instead.
qwen serve: --open passes the token in the browser launch command (visible via `ps` / /proc); on a multi-user host open the URL manually instead.
qwen serve: --token is visible in the process command line; prefer the QWEN_SERVER_TOKEN env var for any non-trivial deployment.
Local Control is on. Scan this QR code from the same network:
en0: http://192.168.1.20:4170/#token=pairing
QR
Keep this terminal open. Sleep inhibition is unavailable here, so the host may sleep. Traffic is unencrypted — use it only on a network you trust. Turn Local Control off from the Web Shell Settings card, or press Ctrl+C to exit the daemon.
qwen serve: Local Control requires the Web Shell.
qwen serve: --channel all cannot be combined with channel names.
qwen serve: --open passes the token in the browser launch command (visible via `ps` / /proc); on a multi-user host open the URL manually instead.
qwen serve: failed to open browser: boom
✓ src/commands/serve.test.ts (69 tests) 12214ms
✓ serve startup import boundary > reaches listening through the dev entrypoint without loading interactive Ink internals first 10825ms
✓ src/ui/hooks/useResumeCommand.test.ts (16 tests) 89ms
✓ src/serve/bridge-file-system-adapter.test.ts (42 tests) 217ms
✓ src/ui/hooks/useProviderUpdates.test.ts (31 tests) 540ms
recover-findings: the CLI did not export QWEN_CODE_PROJECT_DIR / QWEN_CODE_SESSION_ID, so this run cannot find the harness's record of what its agents did
✓ src/commands/review/recover-findings.test.ts (39 tests) 79ms
✓ src/config/shared-env-keys.test.ts (46 tests) 27ms
✓ src/ui/hooks/useHistoryManager.test.ts (29 tests) 134ms
✓ src/commands/review/lib/review-footer.test.ts (71 tests) 37ms
✓ src/ui/components/messages/ToolConfirmationMessage.test.tsx (40 tests) 10257ms
✓ ToolConfirmationMessage > renders classifier fallback guidance and the Default Mode option 432ms
✓ ToolConfirmationMessage > with folder trust > 'for exec confirmations' > should show "allow always" when folder is trusted 367ms
✓ ToolConfirmationMessage > external editor option > should NOT show "Modify with external editor" when preferredEditor is not set 330ms
✓ ToolConfirmationMessage > external editor option > keeps compact edit warnings and diff within the available height 366ms
✓ ToolConfirmationMessage > external editor option > resolves ordinary IDE edits but skips confirmations that have no IDE diff 1312ms
✓ src/ui/hooks/useMessageQueue.test.ts (51 tests) 132ms
✓ src/acp-integration/session-model-persistence.test.ts (33 tests) 22ms
✓ src/acp-integration/session/SubAgentTracker.test.ts (34 tests) 735ms
✓ src/commands/review/save-artifact.test.ts (65 tests | 1 skipped) 119ms
✓ src/serve/channel-worker-manager.test.ts (39 tests) 537ms
✓ src/ui/hooks/useBranchCommand.test.ts (39 tests) 138ms
✓ src/commands/mcp/reconnect.test.ts (32 tests) 42ms
✓ src/ui/utils/TableRenderer.test.tsx (74 tests) 17665ms
✓ > keeps all rendered lines at the same visible width for mixed content 317ms
✓ > renders CJK-heavy table that would previously be misaligned 318ms
✓ > stays stable across multiple content widths 1516ms
✓ src/ui/commands/copyCommand.test.ts (43 tests) 54ms
✓ src/ui/hooks/useCommandCompletion.test.ts (38 tests) 283ms
✓ src/ui/daemon/daemon-tui-adapter.test.ts (19 tests) 59ms
✓ src/config/settingsWatcher.test.ts (46 tests) 57ms
✓ src/commands/review/lib/manifest-repository-context.test.ts (60 tests) 4568ms
✓ manifest repository context provider > accepts a scan visiting exactly the visited-entry ceiling 467ms
✓ manifest repository context provider > fails closed when cumulative matching work exceeds the budget 669ms
✓ manifest repository context provider > accepts matching work sitting exactly at the budget 402ms
✓ src/serve/prompt-terminal-ledger.test.ts (34 tests) 167ms
✓ src/agent-view/supervisor-server.test.ts (28 tests) 446ms
✓ src/ui/hooks/useSelectionList.test.ts (53 tests) 129ms
✓ src/ui/hooks/session-swap-telemetry.test.ts (10 tests) 109ms
✓ src/ui/hooks/useToolScheduler.test.ts (24 tests) 148ms
✓ src/config/settingsUtils.test.ts (54 tests) 18ms
✓ src/serve/live/qwen-realtime-session.test.ts (23 tests) 60ms
✓ src/commands/review/lib/diff-plan.test.ts (47 tests) 44ms
✓ src/ui/hooks/useSlashCompletion.test.ts (30 tests) 774ms
✓ src/serve/scheduled-task-keepalive.test.ts (28 tests) 540ms
✓ src/nonInteractive/control/ControlDispatcher.test.ts (36 tests) 36ms
✓ src/serve/live/live-host-coordinator.test.ts (37 tests) 473ms
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: GET /file rejected request missing required ?path
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: GET /stat unexpected error: bound workspace is not configured
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
✓ src/serve/routes/workspace-file-read.test.ts (45 tests) 922ms
{
"port": 41431,
"baseUrl": "http://127.0.0.1:41431/v1",
"logPath": "/tmp/mp-RfzrK8/req.jsonl",
"note": "mock provider on port 41431; every request is appended to /tmp/mp-RfzrK8/req.jsonl as JSONL — diff those between two trees and the difference is evidence"
}
mock-provider: mock provider on port 41431; every request is appended to /tmp/mp-RfzrK8/req.jsonl as JSONL — diff those between two trees and the difference is evidence
mock-provider: /startdir/src/qwen-code/packages/cli/src/commands/review/__fixtures__/mock-responder-empty.mjs exports no `respond` function — a responder module must export `respond(req)` (or a default export of the same shape)
✓ src/commands/review/mock-provider.test.ts (36 tests) 1476ms
✓ the entry points nothing had driven > the CLI handler writes the report, and its TTL is in SECONDS 1004ms
✓ src/serve/channel-management-service.test.ts (33 tests) 503ms
✓ createChannelManagementService > lists sanitized config, secret presence, startup selection, and runtime 331ms
✓ src/nonInteractive/nonInteractiveHelpers.test.ts (45 tests) 30ms
✓ src/commands/review/lib/transcripts.test.ts (38 tests) 48ms
✓ src/ui/standalone-update.test.ts (45 tests) 26ms
✓ src/ui/components/extensions/ExtensionsManagerDialog.test.tsx (23 tests) 11431ms
✓ ExtensionsManagerDialog (tabbed) > shows discovered plugins on the Discover tab 406ms
✓ ExtensionsManagerDialog (tabbed) > opens a CC-style plugin detail with an inline scope selector on Enter 477ms
✓ ExtensionsManagerDialog (tabbed) > filters the Discover list as you type 510ms
✓ ExtensionsManagerDialog (tabbed) > prompts to add a marketplace when none discovered 374ms
✓ ExtensionsManagerDialog (tabbed) > groups installed plugins by scope on the Installed tab 356ms
✓ ExtensionsManagerDialog (tabbed) > nests extension-bundled MCP servers under their extension on the Installed tab 612ms
✓ ExtensionsManagerDialog (tabbed) > shows needs-authentication for an MCP that failed auth instead of a bare active state 391ms
✓ ExtensionsManagerDialog (tabbed) > disables an extension-bundled MCP server individually with Space 742ms
✓ ExtensionsManagerDialog (tabbed) > toggles favorite when pressing f on the Installed tab 397ms
✓ ExtensionsManagerDialog (tabbed) > moves a plugin into the Favorites group after favoriting (regroup/reload) 371ms
✓ ExtensionsManagerDialog (tabbed) > shows the install/add actions and grouped sections on the Marketplaces tab 373ms
✓ ExtensionsManagerDialog (tabbed) > shows a CC-style marketplace detail with installed plugins and actions 773ms
✓ ExtensionsManagerDialog (tabbed) > collapses a long installed-plugins list in the marketplace detail 616ms
✓ ExtensionsManagerDialog (tabbed) > retries a failed marketplace load when R is pressed 795ms
✓ ExtensionsManagerDialog (tabbed) > Browse plugins jumps to Discover filtered by the marketplace 1203ms
✓ ExtensionsManagerDialog (tabbed) > switches tabs with the Tab key 469ms
✓ ExtensionsManagerDialog (tabbed) > closes on Escape from a tab root 440ms
✓ ExtensionsManagerDialog (tabbed) > does not close on Escape while a tab sub-view is open 500ms
✓ ExtensionsManagerDialog (tabbed) > opens the install-extension input view on Enter 504ms
✓ ExtensionsManagerDialog (tabbed) > renders a pending install consent prompt in place of the tabs 409ms
✓ src/serve/pem-certificate-blocks.test.ts (52 tests) 6583ms
✓ extractCertificateBlocks > stops at a malformed top-level BEGIN attempt, keeping the prefix 323ms
✓ extractCertificateBlocks > reads past a headed NON-certificate block to the certificates behind it 524ms
✓ extractCertificateBlocks > stops at a Proc-Type header section under a certificate label 305ms
✓ extractCertificateBlocks > normalizes every loader-trimmed marker and separator byte 403ms
✓ src/ui/hooks/use-voice-input.test.ts (24 tests) 241ms
✓ src/serve/virtual-subagent-sessions.test.ts (22 tests) 340ms
✓ src/ui/utils/historyMapping.test.ts (38 tests) 12ms
✓ src/utils/installationInfo.test.ts (41 tests) 19ms
✓ src/utils/errors.test.ts (42 tests) 57ms
✓ src/ui/components/background-view/LiveAgentPanel.test.tsx (29 tests) 7027ms
✓ > clears the 1s tick interval when unmounted with live work in flight 482ms
✓ > re-pulls recentActivities from the live registry on each tick 325ms
✓ > reconciles snapshots the live registry no longer knows about as neutral-finished 343ms
✓ src/nonInteractive/io/JsonOutputAdapter.test.ts (37 tests) 63ms
✓ src/config/settingsSchema.test.ts (47 tests) 23ms
✓ src/nonInteractive/control/controllers/permissionController.test.ts (29 tests) 610ms
✓ src/ui/components/StandaloneSessionPicker.test.tsx (19 tests) 594ms
qwen: refusing to restore a goal for session sess-1: the condition is empty.
qwen: refusing to restore a goal for session sess-1: the condition is empty.
qwen: refusing to restore a goal for session sess-1: the condition is empty.
✓ src/ui/utils/restoreGoal.test.ts (56 tests) 26ms
✓ src/ui/components/SkillReviewDialog.test.tsx (33 tests) 18688ms
✓ SkillReviewDialog > renders the first pending skill name and description with a counter 503ms
✓ SkillReviewDialog > does not overflow a width-constrained container (right border stays visible) 390ms
✓ SkillReviewDialog > offers keep / discard / bulk / turn-off options while several remain 472ms
✓ SkillReviewDialog > hides the bulk options for a single-skill batch (they would duplicate keep/discard) 403ms
✓ SkillReviewDialog > hides the bulk options once only the last skill of a batch remains 589ms
✓ SkillReviewDialog > keep accepts the current skill and does NOT close while more remain 548ms
✓ SkillReviewDialog > keep on the last remaining skill closes the dialog 512ms
✓ SkillReviewDialog > keepAll accepts every remaining skill then closes once 502ms
✓ SkillReviewDialog > discardAll rejects every remaining skill then closes once 335ms
✓ SkillReviewDialog > renders nothing and closes when there are no skills 441ms
✓ SkillReviewDialog > renders the current staged SKILL.md content inline 669ms
✓ SkillReviewDialog > shows a fallback when the staged file cannot be read 503ms
✓ SkillReviewDialog > shows loading, not the previous skill body, while the next preview loads 1047ms
✓ SkillReviewDialog > neutralizes ANSI/VT control sequences in the preview 550ms
✓ SkillReviewDialog > escapes bare control bytes (e.g. BEL) that are not ANSI sequences 660ms
✓ SkillReviewDialog > escapes DEL and C1 control bytes (JSON.stringify leaves these raw) 600ms
✓ SkillReviewDialog > sanitizes the model-generated name and description in the header 527ms
✓ SkillReviewDialog > renders CRLF line endings as ordinary line breaks, not CR escapes 428ms
✓ SkillReviewDialog > still escapes a lone CR that is not part of a CRLF pair 588ms
✓ SkillReviewDialog > reads only a bounded chunk of a huge preview file (no unbounded read) 593ms
✓ SkillReviewDialog > caps the preview by WRAPPED rows, not logical lines 739ms
✓ SkillReviewDialog > flags a byte-truncated preview even when no lines are hidden 780ms
✓ SkillReviewDialog > `o` opens the current skill in the editor 459ms
✓ SkillReviewDialog > Ctrl+O and Cmd+O do not launch the editor 366ms
✓ SkillReviewDialog > Esc dismisses the dialog (decide later) 550ms
✓ SkillReviewDialog > refreshes the preview with the saved edits after the editor closes 736ms
✓ SkillReviewDialog > auto-refreshes the preview when the staged file changes on disk 1260ms
✓ SkillReviewDialog > `o` does not advance, accept, reject, or close 433ms
✓ SkillReviewDialog > clears a stale editor error when advancing to the next skill 612ms
✓ SkillReviewDialog > selecting turn-off disables auto-skill and closes without rejecting or dismissing 467ms
✓ SkillReviewDialog > keeps the dialog open and the feature untouched when persisting turn-off fails 624ms
✓ SkillReviewDialog > the retired `t` hotkey is inert 569ms
✓ src/config/trustedFolders.test.ts (42 tests) 42ms
✓ src/commands/review/extract-step.test.ts (50 tests) 117ms
✓ src/ui/components/messages/AskUserQuestionDialog.test.tsx (35 tests | 1 skipped) 11242ms
✓ > single-select interaction > selects an option with Enter and submits immediately for single question 547ms
✓ > single-select interaction > auto-submits when pressing a number key for a predefined option 304ms
✓ > single-select interaction > does not auto-submit pasted numeric prefixes as option numbers 546ms
✓ > single-select interaction > does not auto-submit when pressing number key for "Other" custom input 483ms
✓ > single-select interaction > cancels with Escape 550ms
✓ > single-select interaction > navigates with selection shortcuts when custom input is not focused 713ms
✓ > single-select interaction > navigates with Ctrl+N/P when custom input is not focused 790ms
✓ > single-select interaction > keeps bare k/j in custom input while Ctrl+P/N still navigates options 1002ms
✓ > multi-select interaction > toggles options with Space 325ms
✓ > multi-select interaction > auto-selects custom input and submits on Enter after typing 849ms
✓ > multi-select interaction > does not submit when Enter pressed on empty custom input 578ms
✓ > multi-select interaction > submits predefined options together with custom input 649ms
✓ > multiple questions > does not auto-submit when pressing number key on Submit tab 789ms
✓ > focus behavior > does not respond to keys when isFocused is false 541ms
✓ src/commands/review/presubmit.aone.test.ts (33 tests) 16ms
(node:141290) [DEP0205] DeprecationWarning: `module.register()` is deprecated. Use `module.registerHooks()` instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:141309) [DEP0205] DeprecationWarning: `module.register()` is deprecated. Use `module.registerHooks()` instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:141321) [DEP0205] DeprecationWarning: `module.register()` is deprecated. Use `module.registerHooks()` instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
✓ src/serve/conversations/conversation-runtime-ownership.test.ts (28 tests) 2387ms
✓ Conversation runtime ownership > arbitrates real child processes and reclaims a crashed owner after grace 1101ms
✓ Conversation runtime ownership > fails closed for an active foreign owner and permits a later retry 1033ms
[channel-registry] Invalid management metadata in "invalid-session-scope-default" channel: Channel defaultSessionScope is invalid.
✓ src/commands/channel/channel-registry.test.ts (42 tests) 581ms
✓ channel registry > publishes a plugin session-scope descriptor once with its runtime default 546ms
✓ src/services/prompt-processors/shellProcessor.test.ts (35 tests) 72ms
✓ src/acp-integration/session/history-replay-page.test.ts (23 tests) 109ms
✓ src/commands/review/lib/audit-layers.test.ts (25 tests) 41ms
✓ src/services/McpPromptLoader.test.ts (47 tests) 19ms
✓ src/ui/utils/terminal-resize-reflow.test.ts (38 tests) 119ms
✓ src/ui/hooks/shellCommandProcessor.test.ts (23 tests) 407ms
✓ src/ui/utils/osc8.test.ts (99 tests) 20ms
✓ src/ui/components/shared/text-buffer-external-editor.test.ts (36 tests) 110ms
✓ src/ui/commands/clearCommand.test.ts (16 tests) 66ms
✓ src/ui/components/Footer.test.tsx (34 tests) 8877ms
✓ > refreshes the scheduled task count after mount 3249ms
✓ src/ui/selection/use-text-selection.test.tsx (32 tests) 68ms
✓ src/commands/review/lib/stale-bundle.test.ts (28 tests) 26ms
✓ src/serve/workspace-registry.test.ts (22 tests) 16ms
✓ src/ui/commands/workflowsCommand.test.ts (32 tests) 170ms
✓ src/commands/review/issue-9206-repro.test.ts (10 tests) 1448ms
✓ src/ui/hooks/useBackgroundTaskView.test.ts (18 tests) 62ms
✓ src/serve/routes/workspace-channel-management.test.ts (15 tests) 542ms
✓ workspace Channel management routes > lists catalog and sanitized instances without mutation auth 372ms
✓ src/utils/memoryDiagnostics.test.ts (23 tests) 39ms
✓ src/ui/handleAutoUpdate.test.ts (32 tests) 240ms
qwen serve: Conversations quarantine observer failed; runtime disposal will continue.
✓ src/serve/conversations/conversation-runtime-manager.test.ts (30 tests) 29ms
✓ src/ui/components/HistoryItemDisplay.test.tsx (37 tests) 7426ms
✓ > renders assistant replies with a leading spacer row 317ms
✓ > renders committed thinking continuations hidden by default 334ms
✓ src/commands/review/lib/layer-audit-gate.test.ts (22 tests) 42ms
✓ src/commands/review/test-delta.test.ts (31 tests) 143ms
✓ src/i18n/languageUtils.test.ts (58 tests) 17ms
✓ src/config/extension-file-watcher.test.ts (23 tests) 25ms
✓ src/commands/review/lib/workspace-scope.test.ts (33 tests) 17ms
✓ src/commands/channel/config-utils.test.ts (50 tests) 19ms
✓ src/ui/commands/directoryCommand.test.tsx (28 tests) 23ms
libpng: invalid IHDR data
EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
second line
✓ src/ui/utils/terminal-image-renderer.test.ts (30 tests) 633ms
✓ src/ui/hooks/useAutoAcceptIndicator.test.ts (21 tests) 90ms
✓ src/startup/startup-prefetch.test.ts (31 tests) 235ms
✓ src/ui/utils/mermaidImageRenderer.test.ts (25 tests) 1440ms
✓ mermaid image renderer > evicts Mermaid image caches by retained byte size 439ms
✓ src/commands/review/issue-context.test.ts (29 tests) 1198ms
a1 transient error (attempt 1/2), retrying in 3000ms…
a1 transient error (attempt 2/2), retrying in 6000ms…
✓ src/commands/review/lib/platform/aone-client.test.ts (38 tests) 16ms
✓ src/ui/commands/summaryCommand.test.ts (35 tests) 223ms
✓ src/serve/workspace-skill-management.test.ts (24 tests) 350ms
✓ src/ui/hooks/useDeleteCommand.test.ts (20 tests) 91ms
✓ src/ui/commands/contextCommand.test.ts (18 tests) 62ms
✓ src/agent-view/pty-host.test.ts (36 tests) 64ms
fatal: ambiguous argument 'HEAD': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git [...] -- [...]'
✓ src/commands/review/lib/local-diff.integration.test.ts (27 tests) 17505ms
✓ captureLocalDiff — untracked files > includes a brand-new file that `git diff HEAD` cannot see 912ms
✓ captureLocalDiff — untracked files > is the difference between "no changes to review" and a review 978ms
✓ captureLocalDiff — untracked files > carries staged, unstaged and untracked changes in one diff 772ms
✓ captureLocalDiff — untracked files > honours .gitignore — an ignored file is not "untracked work" 802ms
✓ captureLocalDiff — untracked files > handles a filename containing a space 622ms
✓ captureLocalDiff — untracked files > names an oversized untracked file instead of silently dropping it 689ms
✓ captureLocalDiff — untracked files > never claims to have reviewed a directory-shaped untracked entry 632ms
✓ captureLocalDiff — untracked files > records a file git could not diff, and keeps the others 944ms
✓ captureLocalDiff — untracked files > does not capture the review own .qwen/tmp scratch files 687ms
✓ captureLocalDiff — untracked files > reports an oversized tracked diff instead of inlining it 930ms
✓ captureLocalDiff — untracked files > reviews a dangling symlink instead of skipping it 802ms
✓ captureLocalDiff — untracked files > abandons the untracked pass when the tree has too many, and says so 463ms
✓ captureLocalDiff — untracked files > stops inlining untracked files once the total budget is spent 1144ms
✓ captureLocalDiff — untracked files > can be turned off, restoring the tracked-only scope 623ms
✓ captureLocalDiff — untracked files > does not stage anything — the index and worktree are untouched 537ms
✓ captureLocalDiff — untracked files > scopes to one path with `file`, untracked target included 803ms
✓ captureLocalDiff — untracked files > refuses a `file` outside the repository 480ms
✓ captureLocalDiff — untracked files > reads a glob-shaped filename as a name, not as a pathspec 451ms
✓ captureLocalDiff — untracked files > accepts a valid file whose name merely begins with dots 572ms
✓ captureLocalDiff — untracked files > does not mistake prose about binary patches for a binary file 522ms
✓ captureLocalDiff — untracked files > never claims to have reviewed a binary file 893ms
✓ captureLocalDiff — untracked files > produces a diff the chunk planner can tile 483ms
✓ captureLocalDiff — degenerate repos > survives an unborn HEAD in a SHA-256 repository 542ms
✓ captureLocalDiff — degenerate repos > reports a clean tree as an empty diff, not an error 499ms
✓ src/serve/workspace-providers-status.test.ts (21 tests) 108ms
Warning: MCP approvals file error: MCP approvals file is not a valid JSON object.
Warning: MCP approvals file error: Expected property name or '}' in JSON at position 1 (line 1 column 2)
✓ src/config/mcpApprovals.test.ts (31 tests | 11 skipped) 158ms
✓ src/agent-view/worker-sideband.test.ts (25 tests) 17ms
✓ src/commands/review/lib/workspaces.test.ts (47 tests) 26ms
✓ src/config/hot-reload.test.ts (29 tests) 80ms
✓ src/peerMessaging/peer-messaging.test.ts (20 tests) 1311ms
✓ src/ui/components/messages/CompactToolGroupDisplay.test.tsx (48 tests) 2791ms
✓ — summary label > renders nothing for empty tool calls 303ms
✓ — summary label > wraps a long inline summary without a redundant hint 362ms
✓ src/ui/auth/ProviderSetupSteps.test.tsx (14 tests) 8412ms
✓ ProviderSetupSteps > maps Ctrl+P/N to advanced-config focus navigation 397ms
✓ ProviderSetupSteps > renders predefined editable models with a primary free-form input and recommendations 478ms
✓ ProviderSetupSteps > filters recommended models when typing search while recommendations are focused 1170ms
✓ ProviderSetupSteps > preserves comma-separated model IDs for custom providers 322ms
✓ ProviderSetupSteps > does not mount the model editor before discovery settles 447ms
✓ ProviderSetupSteps > mounts one provider snapshot without promoting new models or dropping unserved selections 804ms
✓ ProviderSetupSteps > lists provider-only models without the recommended endorsement 499ms
✓ ProviderSetupSteps > toggles and submits an unendorsed provider model like a recommended one 1097ms
✓ ProviderSetupSteps > falls back to built-ins after an unavailable catalog 336ms
✓ ProviderSetupSteps > cancels a pending discovery when the step unmounts 463ms
✓ ProviderSetupSteps > submits served recommendations ahead of unserved defaults on a partial catalog 568ms
✓ ProviderSetupSteps > clears the model-ids error on edit after an empty discovery submit 1295ms
✓ src/services/housekeeping/scheduler.test.ts (26 tests) 391ms
✓ src/ui/commands/diffCommand.test.ts (26 tests) 20ms
qwen serve: [/work/bound] extensions install: failed to broadcast failure: bridge.broadcastExtensionsChanged is not a function
qwen serve: [/work/bound] extensions install: background task failed: generation closed
✓ src/serve/routes/workspace-extensions-controller.test.ts (13 tests) 443ms
✓ src/serve/fs/paths.test.ts (36 tests) 149ms
✓ src/ui/components/MemoryDialog.test.tsx (17 tests) 6975ms
✓ MemoryDialog > opens managed memory folders on darwin without display variables 305ms
✓ MemoryDialog > shows an error when opening a managed memory folder fails 344ms
✓ MemoryDialog > moves selection with Ctrl+N/P readline aliases 524ms
✓ MemoryDialog > chains focus list ↑ autoSkillConfirm ↑ autoSkill ↑ autoDream ↑ autoMemory and back down 1023ms
✓ MemoryDialog > toggles Auto-skill on Enter and persists to workspace settings 591ms
✓ MemoryDialog > toggles Auto-skill back OFF on Enter (re-disable path) 610ms
✓ MemoryDialog > toggles autoSkillConfirm on Enter and persists to workspace settings 402ms
✓ MemoryDialog > opens the project QWEN.md editor entry when managed memory is unavailable 371ms
✓ MemoryDialog > reflects the persisted value when the dialog is reopened (remounted) 831ms
✓ src/validateNonInterActiveAuth.test.ts (13 tests) 28ms
✓ src/ui/utils/InlineMarkdownRenderer.test.tsx (32 tests) 7307ms
✓ > markdown link OSC 8 wrapping > does not wrap dangerous schemes (javascript:, data:, file:, …) 919ms
✓ > markdown link OSC 8 wrapping > trims trailing sentence punctuation from the OSC 8 target only 334ms
✓ src/serve/routes/workspace-setup-github.test.ts (16 tests) 555ms
✓ src/services/SkillCommandLoader.test.ts (28 tests) 21ms
✓ src/serve/conversations/conversation-workspace.test.ts (19 tests) 178ms
✓ src/ui/keyMatchers.test.ts (48 tests) 15ms
✓ src/serve/auth/qwen-device-flow-provider.test.ts (12 tests) 12ms
✓ src/ui/commands/renameCommand.test.ts (25 tests) 38ms
✓ src/startup/worktreeStartup.test.ts (18 tests) 12335ms
✓ setupStartupWorktree > creates a worktree with an auto-generated slug for bare --worktree 1148ms
✓ setupStartupWorktree > creates a worktree with an explicit slug 1113ms
✓ setupStartupWorktree > rejects invalid slug characters before any git operation 466ms
✓ setupStartupWorktree > rejects #N PR references when origin remote is missing 860ms
✓ setupStartupWorktree > rejects full GitHub PR URLs when origin remote is missing 637ms
✓ setupStartupWorktree > creates a pr- worktree from FETCH_HEAD when fetch succeeds (local fake remote) 1954ms
✓ setupStartupWorktree > re-attaches to an existing worktree instead of erroring (Phase 6 G1 fix) 1281ms
✓ setupStartupWorktree > refuses to re-attach when an existing dir occupies the slot on a different branch 565ms
✓ setupStartupWorktree > refuses nested worktree creation from inside .qwen/worktrees/ 543ms
✓ persistStartupWorktreeSidecar > adopts a stale marker when re-attaching to an inactive owner 1176ms
✓ persistStartupWorktreeSidecar > keeps the marker when the owner runtime is still active 1273ms
✓ persistStartupWorktreeSidecar > finds an active owner under a repo-subdir relative runtime dir 1177ms
✓ src/commands/review/lib/roster.test.ts (45 tests) 15ms
✓ src/ui/utils/customBanner.test.ts (40 tests) 90ms
✓ src/serve/workspace-git-state.test.ts (18 tests) 536ms
✓ src/ui/utils/updateCheck.test.ts (39 tests) 34ms
qwen serve: DELETE /workspace/models error (authType=openai, modelId=gpt-4o): disk full
qwen serve: DELETE /workspace/models error (authType=openai, modelId=gpt-4o): partial
✓ src/serve/routes/workspace-models.test.ts (23 tests) 181ms
✓ src/acp-integration/acpAgent.worktree.test.ts (3 tests) 183ms
✓ src/nonInteractive/control/controllers/systemController.test.ts (25 tests) 56ms
✓ src/serve/routes/a2ui-action.test.ts (22 tests) 158ms
✓ src/serve/auth.test.ts (31 tests) 14ms
✓ src/ui/hooks/useExtensionUpdates.test.ts (16 tests) 393ms
✓ src/serve/rate-limit.test.ts (28 tests) 1036ms
✓ rateLimit > fail-open > passes through when bucket map is at capacity 1011ms
✓ src/acp-integration/session/emitters/MessageEmitter.test.ts (29 tests) 24ms
✓ src/ui/commands/goalCommand.test.ts (65 tests) 33ms
✓ src/services/BundledSkillLoader.test.ts (27 tests) 24ms
✓ src/config/jsonSchemaArg.test.ts (40 tests) 441ms
✓ src/runtime/workspace-remember-errors.test.ts (41 tests) 24ms
✓ src/ui/commands/config-command.test.ts (38 tests) 33ms
✓ src/services/review-worktree-lease.test.ts (22 tests) 5735ms
✓ review worktree leases > protects a worktree created after the lease is registered 540ms
✓ review worktree leases > falls back to removing an unregistered worktree directory 589ms
✓ review worktree leases > keeps the lease when fallback pruning fails 418ms
✓ review worktree leases > removes only worktrees owned by the completed session 702ms
✓ review worktree leases > does not let a child prompt clean up its parent review lease 360ms
✓ review worktree leases > ignores a lease whose branch does not match its PR target 379ms
✓ review worktree leases > lets explicit review cleanup disarm the finalizer 398ms
✓ cleanupReviewWorktreeLeases scan > skips files outside the writer target grammar even with lease content 335ms
✓ src/serve/routes/workspace-settings.test.ts (22 tests) 118ms
✓ src/ui/components/shared/BaseSelectionList.test.tsx (26 tests) 6280ms
✓ BaseSelectionList > Scrolling and Pagination (maxItemsToShow) > should scroll up when activeIndex moves before the visible window 540ms
✓ BaseSelectionList > Scrolling and Pagination (maxItemsToShow) > should handle dynamic scrolling through multiple activeIndex changes 878ms
✓ src/acp-integration/session/rewrite/MessageRewriteMiddleware.test.ts (16 tests) 17ms
✓ src/config/migration/versions/v2-to-v3.test.ts (31 tests) 12ms
✓ src/serve/workspace-registration-store.test.ts (27 tests | 1 skipped) 3480ms
✓ WorkspaceRegistrationStore > persists, deduplicates, and removes workspace paths 1934ms
✓ WorkspaceRegistrationStore > reports lock release failure after a committed write 1353ms
✓ src/ui/commands/advisor-command.test.ts (26 tests) 39ms
✓ src/commands/channel/pidfile.test.ts (29 tests) 283ms
Error parsing settings file.
Settings file may be corrupted: CloseBraceExpected at offset 118
✓ src/utils/jsonc-editor.test.ts (33 tests) 34ms
✓ src/ui/components/StatsDisplay.test.tsx (17 tests) 3236ms
✓ src/serve/cdp-tunnel/cdp-browser-emulator.test.ts (22 tests) 15ms
✓ src/acp-integration/session/Session.worktree.test.ts (8 tests) 59ms
✓ src/ui/commands/cdCommand.test.ts (22 tests) 150ms
✓ src/commands/channel/memory-intent-classifier.test.ts (38 tests) 2085ms
✓ BridgeChannelMemoryIntentClassifier > keeps all IDs and a 500-entry long-metadata manifest within the code-point budget 1994ms
✓ src/ui/components/agent-view/agentHistoryAdapter.test.ts (35 tests) 12ms
✓ src/ui/components/ModelStatsDisplay.test.tsx (17 tests) 3683ms
✓ src/ui/utils/textUtils.test.ts (42 tests) 40ms
✓ src/ui/components/shared/ScrollableList.test.tsx (15 tests) 13262ms
✓ mouse scrolling > routes wheel SGR events to viewport scroll (window shifts) 1116ms
✓ mouse scrolling > preserves the full delta of a coalesced wheel burst 863ms
✓ mouse scrolling > does not crash when hasFocus is false (mouse pipeline inactive) 340ms
✓ mouse scrolling > does not move the rendered window on content-area clicks 493ms
✓ mouse scrolling > drags the scrollbar to scroll the viewport 1183ms
✓ mouse scrolling > drags the scrollbar to an intermediate viewport position 870ms
✓ mouse scrolling > keeps dragging after the pointer leaves the scrollbar column 1123ms
✓ mouse scrolling > a scrollbar press cancels a still-pending wheel flush 843ms
✓ mouse scrolling > does not start a scrollbar drag when content fits the viewport 753ms
✓ keyboard scroll > Shift+Up scrolls up by 1 line 851ms
✓ keyboard scroll > Shift+Down scrolls down by 1 line 910ms
✓ keyboard scroll > PageUp scrolls up by one page (containerHeight lines) 1114ms
✓ keyboard scroll > PageDown scrolls down by one page 1016ms
✓ keyboard scroll > Ctrl+Home scrolls to the very top 987ms
✓ keyboard scroll > Ctrl+End scrolls to the very bottom 797ms
✓ src/utils/housekeeping/cleanup.test.ts (27 tests) 182ms
✓ src/agent-view/supervisor-store.test.ts (17 tests) 78ms
✓ src/config/auth.test.ts (26 tests) 34ms
✓ src/commands/review/script-lint.mock.test.ts (19 tests) 22ms
✓ src/ui/hooks/useSessionSearchInput.test.ts (36 tests) 60ms
✓ src/ui/components/hooks/constants.test.ts (51 tests) 22ms
✓ src/ui/commands/peers-command.test.ts (35 tests) 16ms
✓ src/agent-view/supervisor-runner.test.ts (10 tests) 411ms
qwen serve: bridge error (GET /workspaces/:workspace/github/prs): Error: boom
at /startdir/src/qwen-code/packages/cli/src/serve/routes/workspace-github-prs.test.ts:300:51
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)
✓ src/serve/routes/workspace-github-prs.test.ts (19 tests) 163ms
✓ src/ui/voice/voice-keyterms.test.ts (28 tests) 24ms
✓ src/acp-integration/session/repeated-tool-failure-guard.test.ts (38 tests) 11ms
✓ src/commands/review/meta.test.ts (24 tests) 452ms
✓ src/serve/server/persisted-session-list-cache.test.ts (19 tests) 24ms
qwen serve: POST /workspace/memory refused — existing file /tmp/qwen-serve-memory-PTZjwl/workspace/QWEN.md is 17825792 bytes (cap 16777216)
qwen serve: POST /workspace/memory failed (scope=workspace mode=append): Error: EACCES: permission denied, open '/tmp/qwen-serve-memory-PnKqZr/workspace/QWEN.md'
qwen serve: POST /workspace/memory failed (scope=workspace mode=append): Error: EACCES: permission denied, open '/tmp/qwen-serve-memory-PnKqZr/workspace/QWEN.md'
qwen serve: GET /workspace/memory failed: Error: boom
at collectStatus (/startdir/src/qwen-code/packages/cli/src/serve/workspace-memory.test.ts:401:17)
at /startdir/src/qwen-code/packages/cli/src/serve/workspace-memory.ts:201:28
at Layer.handleRequest (/startdir/src/qwen-code/node_modules/router/lib/layer.js:152:17)
at next (/startdir/src/qwen-code/node_modules/router/lib/route.js:157:13)
at Route.dispatch (/startdir/src/qwen-code/node_modules/router/lib/route.js:117:3)
at handle (/startdir/src/qwen-code/node_modules/router/index.js:435:11)
at Layer.handleRequest (/startdir/src/qwen-code/node_modules/router/lib/layer.js:152:17)
at /startdir/src/qwen-code/node_modules/router/index.js:295:15
at processParams (/startdir/src/qwen-code/node_modules/router/index.js:582:12)
at next (/startdir/src/qwen-code/node_modules/router/index.js:291:5)
✓ src/serve/workspace-memory.test.ts (17 tests) 396ms
✓ src/serve/workspace-service/__tests__/integration.test.ts (14 tests) 272ms
✓ src/commands/mcp/add.test.ts (27 tests) 167ms
✓ src/ui/components/Composer.test.tsx (21 tests) 4798ms
✓ Composer > Footer Display > renders Footer by default 310ms
✓ Composer > Input and Indicators > forwards the session voice permission ref across input-active toggles 323ms
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.
PROCESS_EXIT_CALLED
Fatal error: Failed to relaunch the CLI process.
PROCESS_EXIT_CALLED
Fatal error: Failed to relaunch the CLI process.
Runner failed
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.
PROCESS_EXIT_CALLED
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.
PROCESS_EXIT_CALLED
Fatal error: Failed to relaunch the CLI process.
PROCESS_EXIT_CALLED
✓ src/utils/relaunch.test.ts (16 tests) 177ms
✓ src/ui/utils/todoSnapshot.test.ts (24 tests) 10ms
gh transient error (attempt 1/2), retrying in 3000ms…
gh transient error (attempt 2/2), retrying in 6000ms…
gh transient error (attempt 1/2), retrying in 3000ms…
gh transient error (attempt 2/2), retrying in 6000ms…
gh transient error (attempt 1/2), retrying in 3000ms…
✓ src/commands/review/lib/gh.test.ts (26 tests) 3019ms
✓ ghWithInputRetried() DOES retry (idempotent writes) > retries a transient HTTP 500 and succeeds on the second attempt 3003ms
✓ src/serve/workspace-trust-reconciler.test.ts (12 tests) 21ms
✓ src/ui/components/shared/MaxSizedBox.test.tsx (27 tests) 5549ms
✓ > shows plural "lines" when more than one line is hidden 305ms
Preparing worktree (checking out 'topic')
fatal: 'wt' is a missing but already registered worktree;
use 'add -f' to override, or 'prune' or 'remove' to clear
error: cannot delete branch 'qwen-review/pr-1' used by worktree at '/tmp/review-wt-bQuHA1/wt'
✓ src/commands/review/lib/git.integration.test.ts (12 tests) 6781ms
✓ releaseWorktree > removes a live worktree and reports that it was there 623ms
✓ releaseWorktree > removes an unregistered non-empty leftover git no longer tracks 562ms
✓ releaseWorktree > frees a path whose directory was deleted by hand 600ms
✓ releaseWorktree > unlocks the branch a phantom worktree still holds checked out 652ms
✓ releaseWorktree > is a no-op when there is nothing registered 459ms
✓ releaseWorktree > does not throw when git itself fails 333ms
✓ releaseWorktree > unlinks a symlink at the path instead of releasing the worktree it points at 564ms
✓ releaseWorktree > refuses to release through an ANCESTOR symlink, which lstat cannot see 477ms
✓ releaseWorktree > unlinks a DANGLING symlink, which existsSync cannot see 478ms
✓ gitRawTolerateDiff > returns the diff when git exits 1 because the inputs differ 361ms
✓ gitRawTolerateDiff > throws when git exits 1 with NO output — that is a failure, not a diff 440ms
✓ gitProbe — the exit status the anchor taxonomy rests on > reports 0, the predicate NO, and an error apart from each other 1229ms
✓ src/utils/managed-npm-update.test.ts (14 tests) 883ms
✓ src/ui/commands/btwCommand.test.ts (23 tests) 67ms
✓ src/commands/review/lib/remote-match.test.ts (43 tests) 14ms
✓ src/ui/utils/pending-rendered-height.test.ts (37 tests) 14ms
✓ src/services/CommandService.test.ts (17 tests) 21ms
✓ src/commands/sessions/list.test.ts (25 tests) 26ms
✓ src/serve/large-pipe-frame-observer.test.ts (16 tests) 21ms
✓ src/ui/components/LoadingIndicator.test.tsx (28 tests) 6955ms
✓ > should display whole elapsed seconds below one minute 604ms
✓ > should transition correctly between states using rerender 476ms
✓ src/ui/commands/commands.test.ts (40 tests) 15ms
qwen serve: bridge error (POST /workspace/git/commit): Error: cannot stage all changes: failed to snapshot index (write-tree failed)
at sendGitError (/startdir/src/qwen-code/packages/cli/src/serve/routes/workspace-git-branches.ts:93:24)
at handleCommit (/startdir/src/qwen-code/packages/cli/src/serve/routes/workspace-git-branches.ts:296:5)
qwen serve: bridge error (POST /workspace/git/commit): Error: cannot stage all changes: failed to snapshot index (write-tree failed)
at sendGitError (/startdir/src/qwen-code/packages/cli/src/serve/routes/workspace-git-branches.ts:93:24)
at handleCommit (/startdir/src/qwen-code/packages/cli/src/serve/routes/workspace-git-branches.ts:296:5)
qwen serve: bridge error (POST /workspace/git/commit): Error: cannot stage all changes: failed to snapshot index (write-tree failed)
at sendGitError (/startdir/src/qwen-code/packages/cli/src/serve/routes/workspace-git-branches.ts:93:24)
at handleCommit (/startdir/src/qwen-code/packages/cli/src/serve/routes/workspace-git-branches.ts:296:5)
✓ src/serve/routes/workspace-git-branches.test.ts (22 tests) 3248ms
✓ workspace Git branch routes against a real repo (R10 #2) > rejects a commit --all when write-tree cannot snapshot the index 437ms
✓ workspace Git branch routes against a real repo (R10 #2) > does not leak the git root when the workspace is a sub-directory 439ms
✓ workspace Git branch routes against a real repo (R10 #2) > classifies a pull with no tracking information as no_upstream 700ms
✓ workspace Git branch routes against a real repo (R10 #2) > does not misclassify a non-dirty error when the workspace path contains "dirty" 504ms
✓ workspace qualified Git branch routes (input validation) > rejects a cwd that escapes the workspace on mutation endpoints 343ms
✓ workspace qualified Git branch routes (input validation) > lists branches from a real repo via the qualified route 723ms
✓ src/ui/commands/tasksCommand.test.ts (11 tests) 16ms
✓ src/serve/session-id-admission.test.ts (14 tests) 134ms
✓ src/commands/review/comment-status.test.ts (20 tests) 12ms
✓ src/ui/auth/useAuth.test.ts (25 tests) 62ms
✓ src/serve/routes/channel-webhooks.test.ts (25 tests) 110ms
✓ src/config/migration/index.test.ts (30 tests) 12ms
✓ src/ui/systemInfo.test.ts (22 tests) 28ms
Invalid values:
Argument: approval-mode, Given: "invalid_mode", Choices: "plan", "default", "auto-edit", "auto", "yolo"
Cannot use both --yolo (-y) and --approval-mode together. Use --approval-mode=yolo instead.
process.exit unexpectedly called with "1"
✓ src/config/config.integration.test.ts (26 tests) 163ms
✓ src/dualOutput/DualOutputBridge.test.ts (22 tests) 184ms
✓ src/commands/review/comment-status.aone.test.ts (18 tests) 14ms
✓ src/commands/review/lib/assets.test.ts (62 tests) 14ms
✓ src/serve/external-tool-guard-provider.test.ts (21 tests) 171ms
✓ src/utils/startupProfiler.test.ts (21 tests) 37ms
✓ src/commands/extensions/install.test.ts (17 tests) 24ms
✓ src/agent-view/terminal-bridge.test.ts (17 tests) 48ms
✓ src/ui/commands/arenaCommand.test.ts (16 tests) 45ms
[Channel] Permission relay failed for req-1: send failed
[Channel] Session session-1 died, updating routing state
✓ src/commands/channel/runtime.test.ts (18 tests) 120ms
✓ src/ui/voice/qwen-asr-realtime-session.test.ts (14 tests) 26ms
✓ src/serve/routes/workspace-permissions.test.ts (11 tests) 306ms
✓ src/ui/components/messages/DiffRenderer.test.tsx (17 tests) 4174ms
✓ > should call colorizeCode with null language for new file with unknown extension 350ms
Wrote diff plan to /tmp/plan-diff-FByvZv/no-clock.json
Diff: 9004 lines (9004 source, 0 test, 0 docs, 0 generated) -> 23 review chunk(s)
Wrote diff plan to /tmp/plan-diff-FByvZv/with-clock.json
Diff: 9004 lines (9004 source, 0 test, 0 docs, 0 generated) -> 23 review chunk(s)
Wrote diff plan to /tmp/plan-diff-ptSPFD/ceiling.json
Wrote diff plan to /tmp/plan-diff-ptSPFD/ceiling-4.json
Wrote diff plan to /tmp/plan-diff-ptSPFD/ceiling-20.json
Diff: 124 lines (124 source, 0 test, 0 docs, 0 generated) -> 1 review chunk(s)
Diff: 124 lines (124 source, 0 test, 0 docs, 0 generated) -> 1 review chunk(s)
Diff: 124 lines (124 source, 0 test, 0 docs, 0 generated) -> 1 review chunk(s)
Wrote diff plan to /tmp/plan-diff-dLpBxG/bad-empty.json
Diff: 9004 lines (9004 source, 0 test, 0 docs, 0 generated) -> 23 review chunk(s)
Wrote diff plan to /tmp/plan-diff-dLpBxG/bad-empty.json
Diff: 9004 lines (9004 source, 0 test, 0 docs, 0 generated) -> 23 review chunk(s)
Wrote diff plan to /tmp/plan-diff-dLpBxG/bad-soon.json
Diff: 9004 lines (9004 source, 0 test, 0 docs, 0 generated) -> 23 review chunk(s)
Wrote diff plan to /tmp/plan-diff-dLpBxG/bad-0.json
Diff: 9004 lines (9004 source, 0 test, 0 docs, 0 generated) -> 23 review chunk(s)
Wrote diff plan to /tmp/plan-diff-dLpBxG/bad--1.json
Wrote diff plan to /tmp/plan-diff-tZvFjW/plan.json
Diff: 9004 lines (9004 source, 0 test, 0 docs, 0 generated) -> 23 review chunk(s)
Diff: 1204 lines (1204 source, 0 test, 0 docs, 0 generated) -> 4 review chunk(s)
Wrote diff plan to /tmp/plan-diff-QJsrBy/plan.json
Wrote diff plan to /tmp/plan-diff-hlim8m/plan.json
Wrote diff plan to /tmp/plan-diff-Sii8tQ/plan.json
Diff: 64 lines (64 source, 0 test, 0 docs, 0 generated) -> 1 review chunk(s)
Diff: 64 lines (64 source, 0 test, 0 docs, 0 generated) -> 1 review chunk(s)
plan-diff: --host is not a hostname: "ghe.example.com; touch /tmp/pwned"
effort: medium (from --effort)
Diff: 64 lines (64 source, 0 test, 0 docs, 0 generated) -> 1 review chunk(s)
effort: medium (from parse-args report)
Diff: 64 lines (64 source, 0 test, 0 docs, 0 generated) -> 1 review chunk(s)
Diff: 64 lines (64 source, 0 test, 0 docs, 0 generated) -> 1 review chunk(s)
Wrote diff plan to /tmp/plan-diff-Z2NLDW/plan.json
Wrote diff plan to /tmp/plan-diff-IYqKL5/plan.json
plan-diff: --pr and --repo go together — the roster requires the issue-fidelity agent only when the plan carries the full PR identity.
Diff: 2004 lines (2004 source, 0 test, 0 docs, 0 generated) -> 6 review chunk(s)
Diff: 116 lines (14 source, 24 test, 34 docs, 44 generated) -> 1 review chunk(s)
Diff: 54 lines (54 source, 0 test, 0 docs, 0 generated) -> 1 review chunk(s)
plan-diff: diff-plan: chunks do not tile the diff (0 chunks over 2 lines). Refusing to plan a review with a coverage hole.
Wrote diff plan to /tmp/plan-diff-gTsbLs/plan.json
Wrote diff plan to /tmp/plan-diff-asoqcd/plan.json
Wrote diff plan to /tmp/plan-diff-FfEH7m/plan.json
WARNING: the diff is empty — 0 chunks. Reviewing from this plan would examine no code. Review the file's current contents instead.
Diff: 0 lines (0 source, 0 test, 0 docs, 0 generated) -> 0 review chunk(s)
Wrote diff plan to /tmp/plan-diff-7Ttuef/plan.json
plan-diff: Cannot read diff file /tmp/plan-diff-aadoOP/absent.diff: ENOENT: no such file or directory, open '/tmp/plan-diff-aadoOP/absent.diff'
✓ src/commands/review/plan-diff.test.ts (16 tests) 102ms
✓ src/ui/ink-cursor-rendering.test.tsx (20 tests) 125ms
[?25h ✓ src/acp-integration/session/acp-tool-result-text-projection.test.ts (32 tests) 925ms
✓ ACP tool-result text projection > bounds pathological many-block content without collapsing it 524ms
✓ src/nonInteractive/tool-result-boundary-diagnostics.test.ts (11 tests) 11ms
✓ src/config/claudeMcpImport.test.ts (14 tests) 25ms
✓ src/serve/routes/workspace-git-diff.test.ts (16 tests) 135ms
✓ src/serve/daemon-git-worktree-guard.win32-lane.test.ts (479 tests | 49 skipped) 2203ms
✓ createDaemonToolGuard > reported execution directory > contains a sub-agent to an in-project agent worktree 450ms
✓ src/ui/utils/statsDataService.test.ts (17 tests) 13ms
✓ src/serve/process-env-guard.test.ts (3 tests) 4899ms
✓ serve process.env guard > allows only documented process-scoped process.env expressions 4877ms
✓ src/runtime/live-session-source.test.ts (49 tests) 16ms
✓ src/ui/hooks/useCompletion.test.ts (23 tests) 63ms
✓ src/ui/components/QwenOAuthProgress.test.tsx (18 tests) 4162ms
✓ QwenOAuthProgress > Timer functionality > should countdown and call onTimeout when timer expires 465ms
✓ QwenOAuthProgress > Timer functionality > should update time remaining display 401ms
✓ QwenOAuthProgress > Animated dots > should cycle through animated dots 351ms
✓ QwenOAuthProgress > Props changes > should reset to loading state when deviceAuth becomes null 309ms
✓ src/ui/utils/backgroundWorkUtils.test.ts (20 tests) 20ms
✓ src/ui/commands/aboutCommand.test.ts (12 tests) 23ms
✓ src/ui/hooks/useQwenAuth.test.ts (17 tests) 52ms
✓ src/serve/acp-http/client-mcp-ws.test.ts (5 tests) 109ms
✓ src/ui/hooks/useLoadingIndicator.test.ts (11 tests) 60ms
✓ src/ui/components/messages/InlineParallelAgentsDisplay.test.tsx (12 tests) 2771ms
✓ > height backstop (availableTerminalHeight) > without a budget, renders every agent (no cap) 318ms
✓ src/config/daemon-trust-policy.test.ts (16 tests) 1402ms
✓ src/commands/review/base-tree.test.ts (17 tests) 13026ms
✓ runBaseTree > creates a sibling worktree holding the BASE commit, not the head 916ms
✓ runBaseTree > places the base tree BESIDE the review worktree, never inside it 798ms
✓ runBaseTree > builds in the base tree, and only there 617ms
✓ runBaseTree > REUSES an already-built base tree instead of sweeping it (concurrent shards) 1033ms
✓ runBaseTree > returns BUSY instead of sweeping while another probe holds the build lock 500ms
✓ runBaseTree > sweeps a STALE lock instead of reporting busy for the whole review 863ms
✓ runBaseTree > a budget-TRUNCATED build is unavailable but NOT settled — no marker either way 950ms
✓ runBaseTree > a FAILED build is a settled answer — later shards do not re-pay it 854ms
✓ runBaseTree > recovers from a stale base tree left by a crashed run 582ms
✓ runBaseTree > is NOT available when the base tree does not build 885ms
✓ runBaseTree > is NOT available when the build handed off without building anything 746ms
✓ runBaseTree > is NOT available when npm scoped nothing to compile 869ms
✓ runBaseTree > refuses when the plan carries no mergeBaseSha 534ms
✓ runBaseTree > refuses an unreadable plan and a missing worktree without throwing 490ms
✓ runBaseTree > refuses a mergeBaseSha that is not a commit in this repo 848ms
✓ runBaseTree > ignores an exported GIT_DIR redirect when adding the base tree 1265ms
✓ src/ui/components/InputPrompt.suggestionMouse.test.tsx (8 tests) 3746ms
✓ InputPrompt suggestion mouse routing > passes the default-source mouse handlers to SuggestionsDisplay 556ms
✓ InputPrompt suggestion mouse routing > uses the startup VP decision for suggestion mouse when the raw setting is unset 347ms
✓ InputPrompt suggestion mouse routing > hovering a suggestion updates the active index on the default source 503ms
✓ InputPrompt suggestion mouse routing > clicking a leaf command auto-submits it (submitOnAccept), matching Enter 518ms
✓ InputPrompt suggestion mouse routing > clicking a non-leaf suggestion accepts without submitting 492ms
✓ InputPrompt suggestion mouse routing > routes hover/select to the command-search source while command search is active 673ms
✓ InputPrompt suggestion mouse routing > clicking an @folder suggestion dismisses the completion so the dropdown stays closed 434ms
✓ src/utils/apiPreconnect.test.ts (26 tests) 65ms
✓ src/ui/commands/update-command.test.ts (20 tests) 36ms
hopping into sandbox (command: docker) ...
Checking for sandbox image: example.com/qwen-code:latest
Sandbox image example.com/qwen-code:latest found locally.
ContainerName (regular): qwen-code-latest-3d0f3061
hopping into sandbox (command: docker) ...
Checking for sandbox image: ghcr.io/qwenlm/qwen-code@sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
Sandbox image ghcr.io/qwenlm/qwen-code@sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef found locally.
ContainerName (regular): qwen-code-005d5b87
using macos seatbelt (profile: permissive-open) ...
using macos seatbelt (profile: permissive-open) ...
✓ src/serve/sandbox.test.ts (27 tests) 127ms
✓ src/commands/review/lib/review-digest-covers-only-bundled.test.ts (6 tests) 7ms
✓ src/config/lsp-config-watcher.test.ts (13 tests) 46ms
✓ src/ui/commands/doctorChecks.test.ts (18 tests) 25ms
✓ src/utils/earlyInputCapture.test.ts (34 tests) 18ms
✓ src/config/sandboxConfig.test.ts (18 tests) 14ms
✓ src/ui/commands/compressCommand.test.ts (14 tests) 25ms
✓ src/services/BuiltinCommandLoader.test.ts (14 tests) 17ms
the bodyreview body ✓ src/commands/review/comment-body.test.ts (18 tests) 560ms
✓ src/commands/review/lib/import-graph.test.ts (23 tests) 9ms
✓ src/ui/utils/markdownUtilities.test.ts (35 tests) 9ms
✓ src/serve/live/live-host-installer.test.ts (11 tests) 131ms
✓ src/ui/themes/detect-terminal-theme.test.ts (29 tests) 18ms
✓ src/serve/routes/goals.test.ts (16 tests) 141ms
✓ src/serve/workspace-skills-status.test.ts (11 tests) 234ms
✓ src/utils/acpModelUtils.test.ts (31 tests) 34ms
✓ src/services/housekeeping/non-interactive-scheduler.test.ts (12 tests) 70ms
✓ src/config/settings-cache.test.ts (13 tests) 74ms
✓ src/ui/hooks/useAttentionNotifications.test.ts (13 tests) 44ms
✓ src/ui/commands/restoreCommand.test.ts (16 tests) 213ms
✓ src/commands/review/comment-status.handler.test.ts (10 tests) 14ms
✓ src/serve/routes/workspace-channel-observed-contacts.test.ts (9 tests) 108ms
✓ src/acp-integration/session/rewrite/LlmRewriter.test.ts (15 tests) 14ms
✓ src/serve/live/discovery.test.ts (14 tests) 139ms
✓ src/ui/hooks/atCommandProcessor.session.test.ts (10 tests) 79ms
✓ src/commands/review/lib/diff-plan.integration.test.ts (9 tests) 1946ms
✓ src/utils/sessionPaths.test.ts (8 tests) 123ms
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T15:24:38.765Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T15:24:38.766Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-serve-live-vDHBpw/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
qwen serve listening on http://127.0.0.1:39517 (mode=http-bridge, workspace=/tmp/qwen-serve-live-vDHBpw/workspace)
qwen serve: bound to workspace "/tmp/qwen-serve-live-vDHBpw/workspace"
qwen serve: startup timing: processToListenMs=3678 runQwenServeToListenMs=69
2026-10-24T15:24:39.240Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qwen-serve-live-vDHBpw/workspace secondary= daemon workspace roots initialized
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: /acp WebSocket transport enabled on /acp
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
2026-10-24T15:24:39.405Z [INFO] [DAEMON] route=GET /live/status durationMs=8 status=200 request completed
2026-10-24T15:24:39.438Z [INFO] [DAEMON] route=POST /live/setup durationMs=16 status=200 request completed
2026-10-24T15:24:39.446Z [INFO] [DAEMON] route=GET /capabilities durationMs=5 status=200 request completed
2026-10-24T15:24:39.455Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T15:24:39.470Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T15:24:39.470Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-serve-live-stable-si4BnQ/custom-runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
qwen serve listening on http://127.0.0.1:38045 (mode=http-bridge, workspace=/tmp/qwen-serve-live-stable-si4BnQ/workspace)
qwen serve: bound to workspace "/tmp/qwen-serve-live-stable-si4BnQ/workspace"
qwen serve: startup timing: processToListenMs=4335 runQwenServeToListenMs=4
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T15:24:39.475Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qwen-serve-live-stable-si4BnQ/workspace secondary= daemon workspace roots initialized
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: /acp WebSocket transport enabled on /acp
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
2026-10-24T15:24:40.505Z [INFO] [DAEMON] daemon stopped
qwen serve: scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them: npm_config_userconfig, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T15:24:40.511Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T15:24:40.511Z [INFO] [DAEMON] removedKeys=npm_config_userconfig,NODE_OPTIONS,npm_config_globalconfig,npm_config_init_module,npm_config_prefix,npm_config_node_gyp scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them
qwen serve: daemon log → /tmp/qwen-serve-live-handoff-ec5L1R/runtime-one/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
qwen serve: bound to workspace "/tmp/qwen-serve-live-handoff-ec5L1R/workspace-one"
qwen serve: startup timing: processToListenMs=5375 runQwenServeToListenMs=3
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T15:24:40.515Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qwen-serve-live-handoff-ec5L1R/workspace-one secondary= daemon workspace roots initialized
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve listening on http://127.0.0.1:38489 (mode=http-bridge, workspace=/tmp/qwen-serve-live-handoff-ec5L1R/workspace-one)
qwen serve: /acp WebSocket transport enabled on /acp
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
2026-10-24T15:24:40.601Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
qwen serve: daemon log → /tmp/qwen-serve-live-handoff-ec5L1R/runtime-two/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
qwen serve: bound to workspace "/tmp/qwen-serve-live-handoff-ec5L1R/workspace-two"
qwen serve: startup timing: processToListenMs=5465 runQwenServeToListenMs=4
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T15:24:40.604Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qwen-serve-live-handoff-ec5L1R/workspace-two secondary= daemon workspace roots initialized
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve listening on http://127.0.0.1:41601 (mode=http-bridge, workspace=/tmp/qwen-serve-live-handoff-ec5L1R/workspace-two)
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T15:24:40.635Z [WARN] [DAEMON] failed to publish Live Host discovery: The Conversations runtime is owned by another daemon.
2026-10-24T15:24:40.639Z [INFO] [DAEMON] daemon stopped
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
2026-10-24T15:24:40.703Z [INFO] [DAEMON] daemon stopped
✓ src/serve/live/run-qwen-serve-live.test.ts (3 tests) 1984ms
✓ qwen serve Live Host discovery > publishes the authenticated listener and removes only its own record 744ms
✓ qwen serve Live Host discovery > publishes a stable Host locator alongside a custom runtime record 1041ms
✓ src/ui/selection/screen-buffer.test.tsx (20 tests) 8835ms
✓ ScreenBuffer (Ink frame-controller M0) > exposes the composited frame as addressable cells 501ms
✓ ScreenBuffer (Ink frame-controller M0) > handles wide characters with a leading cell and a spacer 466ms
✓ ScreenBuffer (Ink frame-controller M0) > highlights the selected range before serialization and clears it 462ms
✓ ScreenBuffer (Ink frame-controller M0) > does not leak the highlight onto identical text elsewhere on screen 421ms
✓ ScreenBuffer (Ink frame-controller M0) > publishes exactly one frame per distinct selection change (no loop, deduped) 444ms
✓ ScreenBuffer (Ink frame-controller M0) > publishes soft boundaries and preserves omitted whitespace 433ms
✓ ScreenBuffer (Ink frame-controller M0) > preserves multiple spaces across a direct Ink word wrap 399ms
✓ ScreenBuffer (Ink frame-controller M0) > preserves a tab across a direct Ink word wrap 377ms
✓ ScreenBuffer (Ink frame-controller M0) > preserves wrapped leading indentation 377ms
✓ ScreenBuffer (Ink frame-controller M0) > preserves wrapped whitespace-only content 373ms
✓ ScreenBuffer (Ink frame-controller M0) > keeps renderer background fill out of selected text 402ms
✓ ScreenBuffer (Ink frame-controller M0) > distinguishes explicit hard newlines from exact-width wraps 507ms
✓ ScreenBuffer (Ink frame-controller M0) > preserves empty and whitespace-only hard lines 431ms
✓ ScreenBuffer (Ink frame-controller M0) > rejoins styled CJK and emoji text without duplicating wide cells 452ms
✓ ScreenBuffer (Ink frame-controller M0) > keeps a newline when sibling flows make a boundary ambiguous 484ms
✓ ScreenBuffer (Ink frame-controller M0) > clears a boundary claim when a later write overlaps it 392ms
✓ ScreenBuffer (Ink frame-controller M0) > does not publish a boundary outside a clipping rectangle 510ms
✓ ScreenBuffer (Ink frame-controller M0) > covers visible text after left clipping with boundary claims 460ms
✓ ScreenBuffer (Ink frame-controller M0) > limits boundary claims to the rendered text width 387ms
✓ ScreenBuffer (Ink frame-controller M0) > propagates selectability and producer-supplied boundaries 553ms
✓ src/acp-integration/skill-management.test.ts (6 tests) 198ms
qwen serve: createServeApp default fsFactory uses trusted=false — agent ACP writeTextFile calls will reject with untrusted_workspace. Inject deps.fsFactory (with explicit trust) or deps.bridge to override.
qwen serve: fs audit emit is the default no-op — 1 event(s) dropped so far. Latest type=fs.denied (errorKind=untrusted_workspace intent=write pathHash=b7a1c34d3d88d4b9). Inject deps.fsFactory in createServeApp to wire audit into the EventBus.
qwen serve: createServeApp default fsFactory uses trusted=false — agent ACP writeTextFile calls will reject with untrusted_workspace. Inject deps.fsFactory (with explicit trust) or deps.bridge to override.
(node:183161) 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)
qwen serve: createServeApp default fsFactory uses trusted=false — agent ACP writeTextFile calls will reject with untrusted_workspace. Inject deps.fsFactory (with explicit trust) or deps.bridge to override.
qwen serve: createServeApp default fsFactory uses trusted=false — agent ACP writeTextFile calls will reject with untrusted_workspace. Inject deps.fsFactory (with explicit trust) or deps.bridge to override.
qwen serve: createServeApp default fsFactory uses trusted=false — agent ACP writeTextFile calls will reject with untrusted_workspace. Inject deps.fsFactory (with explicit trust) or deps.bridge to override.
qwen serve: createServeApp default fsFactory uses trusted=false — agent ACP writeTextFile calls will reject with untrusted_workspace. Inject deps.fsFactory (with explicit trust) or deps.bridge to override.
✓ src/serve/server-default-bridge-wiring.test.ts (7 tests) 3467ms
✓ createServeApp default bridge wiring > wires the internally-created bridge lifecycle into the workspace registry 698ms
✓ createServeApp default bridge wiring > keeps the same-host write route disabled for an injected filesystem factory 508ms
✓ createServeApp default bridge wiring > wires total admission into the internally-created bridge 411ms
✓ createServeApp default bridge wiring > wires the effective restore timeout into the direct bridge 409ms
✓ createServeApp default bridge wiring > does not let a short initialize timeout lower the restore budget 522ms
✓ createServeApp default bridge wiring > 'derives the scheduled-task budget fro…' 498ms
✓ createServeApp default bridge wiring > 'passes the disable sentinel when the …' 421ms
✓ src/services/setup-github.test.ts (11 tests) 143ms
qwen serve: bridge error (GET /workspace/git/log): Error: boom
at /startdir/src/qwen-code/packages/cli/src/serve/routes/workspace-git-log.test.ts:113:39
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)
qwen serve: bridge error (GET /workspace/git/log/commit): Error: boom
at /startdir/src/qwen-code/packages/cli/src/serve/routes/workspace-git-log.test.ts:296:48
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20
at new Promise ()
at runWithTimeout (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10)
at runTest (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1574:12)
at processTicksAndRejections (node:internal/process/task_queues:104:5)
at runSuite (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runSuite (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
✓ src/serve/routes/workspace-git-log.test.ts (16 tests) 87ms
✓ src/serve/server/fs-factory.test.ts (13 tests) 95ms
✓ src/ui/commands/curator-command.test.ts (15 tests) 22ms
✓ src/commands/extensions/consent.test.ts (22 tests) 14ms
✓ src/commands/extensions/settings.test.ts (20 tests) 71ms
✓ src/ui/components/StatusLineDialog.test.tsx (8 tests) 4220ms
✓ StatusLineDialog > renders a searchable preset picker with preview 308ms
✓ StatusLineDialog > persists selected presets on enter 490ms
✓ StatusLineDialog > keeps preset priority order after an item is toggled off and on 1348ms
✓ StatusLineDialog > saves hideContextIndicator=false back to the effective workspace scope 399ms
✓ StatusLineDialog > saves hideContextIndicator=true back to the effective workspace scope 344ms
✓ StatusLineDialog > preserves an explicit command indicator setting when saving a preset 421ms
✓ StatusLineDialog > does not copy a user override into workspace settings 436ms
✓ StatusLineDialog > does not append navigation keys to the search query 470ms
✓ src/commands/review/lib/repository-context.test.ts (12 tests) 26ms
✓ src/utils/cpuProfiler.test.ts (21 tests) 18ms
✓ src/serve/routes/workspace-skills.test.ts (8 tests) 90ms
✓ src/serve/workspace-route-runtime.test.ts (26 tests) 16ms
✓ src/serve/serve-app-lifecycle.test.ts (11 tests) 162ms
✓ src/ui/components/hooks/HooksManagementDialog.test.tsx (8 tests) 6087ms
✓ HooksManagementDialog > should render loading state initially 488ms
✓ HooksManagementDialog > should allow Escape to close during loading state 427ms
✓ HooksManagementDialog > should register the keypress handler with isActive: true 499ms
✓ HooksManagementDialog > should render HOOKS_DISABLED step on first render when disableAllHooks is true 335ms
✓ HooksManagementDialog > should close dialog on Escape when disableAllHooks is true 538ms
✓ HooksManagementDialog > should navigate from a matcher hook to matcher detail 943ms
✓ HooksManagementDialog > should navigate from matcher detail to config detail 1077ms
✓ HooksManagementDialog > should navigate directly from a non-matcher hook to config detail 1777ms
qwen serve: runtime startup failed after listener was ready: runtime boom
✓ src/serve/fast-path-open.test.ts (7 tests) 461ms
✓ src/serve/routes/workspace-qualified-voice.test.ts (8 tests) 193ms
✓ src/serve/routes/workspace-local-control.test.ts (11 tests) 203ms
✓ src/services/voice-service.test.ts (12 tests) 23ms
✓ src/ui/commands/learn-command.test.ts (17 tests) 54ms
✓ src/serve/server/error-response.test.ts (29 tests) 22ms
✓ src/ui/components/RewindSelector.test.tsx (10 tests) 5176ms
✓ RewindSelector > navigates the pick list with Ctrl+P/N readline aliases 546ms
✓ RewindSelector > navigates the pick list with arrow keys and cancels with Escape 390ms
✓ RewindSelector > renders restore options with diff stats for the selected turn 641ms
✓ RewindSelector > returns from restore options to the pick list on Escape 578ms
✓ RewindSelector > falls back to conversation-only options when diff stats fail 578ms
✓ RewindSelector > does not request diff stats when the selected turn has no prompt id 384ms
✓ RewindSelector > confirms a conversation-only rewind when checkpointing is disabled 499ms
✓ RewindSelector > returns to the pick list when legacy confirm receives n 401ms
✓ RewindSelector > returns to the pick list when legacy confirm receives Escape 372ms
✓ RewindSelector > blocks restore-option keypresses while rewind is pending 784ms
✓ src/serve/fs/audit.test.ts (13 tests) 11ms
✓ src/services/commandMetadata.test.ts (37 tests) 11ms
✓ src/ui/commands/extensionsCommand.test.ts (12 tests) 22ms
✓ src/commands/mcp/list.test.ts (9 tests) 16ms
✓ src/serve/env-snapshot.test.ts (15 tests) 436ms
✓ src/ui/hooks/useTrustModify.test.ts (11 tests) 42ms
✓ src/serve/routes/session-telemetry.test.ts (9 tests) 108ms
✓ src/acp-integration/session/daemon-todo-stop-guard.test.ts (20 tests) 11ms
✓ src/acp-integration/child-heap-probe.test.ts (13 tests) 210ms
✓ src/acp-integration/session/Session.review-lease.test.ts (4 tests) 33ms
✓ src/ui/hooks/useMouseEvents.test.tsx (11 tests) 53ms
✓ src/serve/cdp-tunnel/cdp-reverse-link.test.ts (14 tests) 17ms
✓ src/serve/daemon-metrics-ring.test.ts (17 tests) 13ms
✓ src/ui/components/hooks/HookConfigDetailStep.test.tsx (17 tests) 4317ms
✓ HookConfigDetailStep > should handle different event types 1055ms
✓ src/ui/components/messages/ConversationMessages.test.tsx (22 tests) 4787ms
✓ > advertises click in the collapsed hint only when clickable (VP mode) 486ms
✓ > should describe a 999ms completed thought as brief 340ms
✓ src/commands/review/capture-local.test.ts (12 tests) 93ms
✓ src/ui/statusLinePresets.test.ts (18 tests) 9ms
✓ src/serve/fs/contract.test.ts (10 tests) 20ms
✓ src/commands/review/lib/platform/registry.test.ts (18 tests) 11ms
✓ src/ui/themes/color-utils.test.ts (23 tests) 12ms
✓ src/serve/channel-workspace-grouping.test.ts (17 tests) 9ms
✓ src/utils/conversation-directory-identity.test.ts (12 tests) 119ms
✓ src/serve/routes/live.test.ts (9 tests) 93ms
qwen serve: /acp SSE onClose threw: onClose boom
qwen serve: /acp SSE write failed, closing stream: EPIPE
qwen serve: /acp SSE write failed, closing stream: EPIPE
qwen serve: /acp SSE write failed, closing stream: EPIPE
✓ src/serve/acp-http/sse-stream.test.ts (17 tests) 512ms
✓ src/ui/components/Help.test.tsx (8 tests) 3286ms
✓ Help Component > orders help commands alphabetically regardless of completionPriority 329ms
✓ Help Component > switches tabs with Tab and Shift+Tab when interactive 638ms
✓ Help Component > scrolls long command lists with the up and down keys 590ms
✓ Help Component > resets scroll position when switching command tabs 757ms
✓ src/utils/warningHandler.test.ts (13 tests) 357ms
✓ initializeWarningHandler — end-to-end stderr behavior > a child process with the handler installed does not print suppressed AbortSignal warnings to stderr 345ms
✓ src/ui/hooks/useShellHistory.test.ts (9 tests) 813ms
✓ src/ui/commands/compressFastCommand.test.ts (11 tests) 23ms
✓ src/commands/review/lib/prompt-record.test.ts (14 tests) 5ms
✓ src/serve/server/access-log.test.ts (10 tests) 30ms
qwen serve: /acp WS error: test error
✓ src/serve/acp-http/ws-stream.test.ts (22 tests) 127ms
✓ src/commands/extensions/update.test.ts (15 tests) 31ms
✓ src/ui/hooks/extension-mention-ref.test.ts (24 tests) 10ms
✓ src/ui/commands/forkCommand.test.ts (15 tests) 26ms
✓ src/ui/components/hooks/HookDetailStep.test.tsx (14 tests) 3381ms
✓ HookDetailStep > renders inline exit code descriptions 524ms
✓ src/ui/themes/theme-manager.test.ts (19 tests) 23ms
✓ src/ui/hooks/useKeypress.test.ts (15 tests) 79ms
✓ src/services/skill-args-file.test.ts (14 tests) 13ms
✓ src/commands/review/lib/review-settings.test.ts (22 tests) 16ms
✓ src/ui/hooks/useGitBranchName.test.ts (12 tests) 47ms
✓ src/ui/commands/skillsCommand.test.ts (10 tests) 13ms
✓ src/acp-integration/session/emitters/PlanEmitter.test.ts (20 tests) 12ms
✓ src/ui/contexts/SessionContext.test.tsx (7 tests) 1337ms
✓ src/acp-integration/session/permissionUtils.test.ts (12 tests) 14ms
✓ src/commands/review/lib/resume.test.ts (25 tests) 7ms
Wrote resolved anchors to /tmp/resolve-anchors-WFCmZm/out.json
Wrote resolved anchors to /tmp/resolve-anchors-M947H8/nested/deeper/anchors.json
Wrote resolved anchors to /tmp/resolve-anchors-gLwrzv/out.json
Anchors: 0/0 resolved
Anchors: 2/2 resolved
✓ src/commands/review/resolve-anchors.test.ts (16 tests) 16ms
qwen serve: create_sub_session failed: cwd relocation failed
qwen serve: create_sub_session failed: cwd relocation failed
qwen serve: create_sub_session failed: cwd relocation failed
✓ src/serve/live/live-worker-workspace.test.ts (5 tests) 34ms
✓ src/serve/routes/session-prompt-terminals.test.ts (5 tests) 140ms
✓ src/config/extension-refresh-state.test.ts (10 tests) 10ms
✓ src/ui/voice/voice-stream-session.test.ts (12 tests) 26ms
✓ src/ui/layouts/DefaultAppLayout.test.tsx (10 tests) 2199ms
✓ src/services/command-migration-tool.test.ts (14 tests) 158ms
✓ src/ui/components/extensions/views/ExtensionActionsView.test.tsx (6 tests) 2339ms
✓ ExtensionActionsView > commits a scope change atomically and surfaces committed warnings 481ms
✓ ExtensionActionsView > does not update scope preferences when the atomic mutation fails 488ms
✓ ExtensionActionsView > reloads committed scope changes when saving the preference fails 485ms
✓ ExtensionActionsView > surfaces committed uninstall warnings and reloads before exiting 399ms
✓ src/ui/components/ShellConfirmationDialog.test.tsx (12 tests) 2754ms
✓ src/ui/hooks/useEditorSettings.test.ts (10 tests) 46ms
✓ src/config/migration/versions/v3-to-v4.test.ts (32 tests) 13ms
✓ src/utils/gitUtils.test.ts (34 tests) 37ms
✓ src/ui/utils/historyUtils.test.ts (21 tests) 7ms
✓ src/ui/startInteractiveUI.test.tsx (9 tests) 17ms
✓ src/ui/components/messages/CompressionMessage.test.tsx (11 tests) 3881ms
✓ > pending state > renders pending message when compression is in progress 318ms
✓ > normal compression (successful token reduction) > renders success message for large successful compressions 450ms
✓ > message content validation > displays correct compression statistics 768ms
✓ > message content validation > shows skip message for small histories when new tokens >= original tokens 676ms
✓ > message content validation > shows compression failure message for large histories when new tokens >= original tokens 431ms
✓ src/ui/commands/insightCommand.test.ts (5 tests) 17ms
✓ src/commands/review/lib/report.test.ts (14 tests) 24ms
✓ src/ui/commands/ideCommand.test.ts (8 tests) 24ms
✓ src/utils/osc.test.ts (30 tests) 9ms
✓ src/ui/components/BaseTextInput.test.tsx (16 tests) 2508ms
✓ BaseTextInput > leaves cursor cleanup to the useCursor hook 392ms
✓ src/commands/update.test.ts (10 tests) 1418ms
✓ update command > prints the package-manager update command even when auto-update is disabled 1410ms
✓ src/commands/sessions/ps.test.ts (16 tests) 17ms
✓ src/serve/live/realtime-startup-context.test.ts (5 tests) 20ms
✓ src/commands/review/fetch-diff.test.ts (11 tests) 326ms
✓ src/ui/components/SuggestionsDisplay.test.tsx (10 tests) 2285ms
✓ src/ui/components/background-view/BackgroundTasksPill.test.tsx (22 tests) 7ms
✓ src/serve/cdp-tunnel/cdp-ws.test.ts (10 tests) 221ms
✓ src/ui/hooks/useMcpApproval.test.ts (11 tests) 142ms
✓ src/ui/voice/native-audio-recorder.test.ts (12 tests) 20ms
✓ src/ui/hooks/useSessionPicker.test.tsx (8 tests) 52ms
✓ src/ui/components/hooks/HandlerListBody.test.tsx (11 tests) 2575ms
✓ HandlerListBody > describeHook (rendered as the row label) > falls back to function id, then to "function-hook" placeholder 415ms
✓ HandlerListBody > describeHook (rendered as the row label) > truncates long prompt text with "..." and keeps short prompts intact 376ms
fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
✓ src/commands/review/match-remote.test.ts (11 tests) 2633ms
✓ runMatchRemote (real git) > prints every match and exits 7 when several remotes serve the repo 326ms
✓ runMatchRemote (real git) > falls through to github.com when GH_HOST is empty or whitespace 320ms
✓ src/commands/review/script-lint.test.ts (17 tests | 3 skipped) 10ms
✓ src/utils/envVarResolver.test.ts (16 tests) 9ms
✓ src/utils/writeWithBackup.test.ts (13 tests) 11ms
✓ src/utils/runBudget.test.ts (42 tests) 17ms
✓ src/serve/routes/session-runtime.test.ts (10 tests) 15ms
✓ src/ui/utils/export/normalize.test.ts (6 tests) 8ms
✓ src/services/prompt-processors/injectionParser.test.ts (21 tests) 15ms
✓ src/ui/components/TerminalImage.test.tsx (9 tests) 3161ms
✓ TerminalImage > writes trusted Kitty data and renders its placeholder 341ms
✓ TerminalImage > renders chafa ansi output 349ms
✓ TerminalImage > shows a readable fallback when no renderer is available 320ms
✓ TerminalImage > does not re-emit the Kitty sequence when the emit effect re-runs 363ms
✓ TerminalImage > does not re-transmit the Kitty payload when the image remounts 950ms
✓ TerminalImage > renders inline image data through the shared renderer 313ms
✓ src/agent-view/attach-lease.test.ts (12 tests) 9ms
✓ src/ui/hooks/useReverseSearchCompletion.test.tsx (10 tests) 64ms
qwen serve: bridge error (GET /workspace/git): Error: git failed
at Object. (/startdir/src/qwen-code/packages/cli/src/serve/routes/workspace-git.test.ts:98:27)
at Object.mockCall (file:///startdir/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.spy [as getStatus] (file:///startdir/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at /startdir/src/qwen-code/packages/cli/src/serve/routes/workspace-git.ts:44:42
at Layer.handleRequest (/startdir/src/qwen-code/node_modules/router/lib/layer.js:152:17)
at next (/startdir/src/qwen-code/node_modules/router/lib/route.js:157:13)
at Route.dispatch (/startdir/src/qwen-code/node_modules/router/lib/route.js:117:3)
at handle (/startdir/src/qwen-code/node_modules/router/index.js:435:11)
at Layer.handleRequest (/startdir/src/qwen-code/node_modules/router/lib/layer.js:152:17)
at /startdir/src/qwen-code/node_modules/router/index.js:295:15
qwen serve: bridge error (GET /workspaces/:workspace/git): Error: qualified git failed
at Object. (/startdir/src/qwen-code/packages/cli/src/serve/routes/workspace-git.test.ts:234:27)
at Object.mockCall (file:///startdir/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.spy [as getStatus] (file:///startdir/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at /startdir/src/qwen-code/packages/cli/src/serve/routes/workspace-git.ts:107:44
at Layer.handleRequest (/startdir/src/qwen-code/node_modules/router/lib/layer.js:152:17)
at next (/startdir/src/qwen-code/node_modules/router/lib/route.js:157:13)
at Route.dispatch (/startdir/src/qwen-code/node_modules/router/lib/route.js:117:3)
at handle (/startdir/src/qwen-code/node_modules/router/index.js:435:11)
at Layer.handleRequest (/startdir/src/qwen-code/node_modules/router/lib/layer.js:152:17)
at /startdir/src/qwen-code/node_modules/router/index.js:295:15
✓ src/serve/routes/workspace-git.test.ts (9 tests) 90ms
qwen serve: GET /usage/dashboard failed: boom
✓ src/serve/routes/usage-stats.test.ts (7 tests) 306ms
✓ src/config/migration/versions/v1-to-v2.test.ts (20 tests) 8ms
✓ src/services/prompt-processors/atFileProcessor.test.ts (11 tests) 18ms
✓ src/serve/daemon-status-provider.test.ts (4 tests) 1128ms
✓ DaemonWorkspaceService — daemon-host status provider integration > returns daemon preflight cells with not_started ACP cells when idle 356ms
✓ DaemonWorkspaceService — daemon-host status provider integration > merges daemon cells with live ACP-side preflight cells when a channel is up 362ms
✓ DaemonWorkspaceService — daemon-host status provider integration > falls back to idle ACP cells + envelope error when queryWorkspaceStatus throws mid-preflight 402ms
✓ src/ui/components/background-view/agent-forest.test.ts (20 tests) 8ms
✓ src/ui/utils/terminalRedrawOptimizer.test.ts (15 tests) 11ms
✓ src/ui/utils/export/collect.test.ts (5 tests) 14ms
✓ src/ui/components/PluginChoicePrompt.test.tsx (13 tests) 3320ms
✓ PluginChoicePrompt > keyboard navigation > navigates with Ctrl+N/P readline aliases 585ms
✓ src/ui/hooks/useExportCompletion.test.ts (20 tests) 37ms
✓ src/commands/review/lib/paths.test.ts (15 tests) 8ms
✓ src/serve/fs/policy.test.ts (18 tests) 124ms
✓ src/ui/hooks/useInputHistory.test.ts (11 tests) 41ms
✓ src/ui/commands/lspCommand.test.ts (10 tests) 15ms
✓ src/ui/commands/voice-command.test.ts (11 tests) 15ms
✓ src/serve/local-control/service.test.ts (5 tests) 24ms
✓ src/ui/components/SettingsCorruptedDialog.test.tsx (8 tests) 4065ms
✓ SettingsCorruptedDialog > should show recovered settings label when wasRecovered=true 396ms
✓ SettingsCorruptedDialog > should show empty settings label when wasRecovered=false 334ms
✓ SettingsCorruptedDialog > should move selection with up/down arrows 673ms
✓ SettingsCorruptedDialog > should call onExit when pressing Enter on EXIT option 527ms
✓ SettingsCorruptedDialog > should call onContinue when pressing Enter on CONTINUE option 639ms
✓ SettingsCorruptedDialog > should call onContinue when pressing escape 531ms
✓ SettingsCorruptedDialog > should call onExit when pressing Ctrl+C 533ms
✓ SettingsCorruptedDialog > should display the corrupted file path 430ms
Error saving trusted folders file.
invalid trusted folders file
✓ src/ui/hooks/useFolderTrust.test.ts (10 tests) 46ms
✓ src/remoteInput/RemoteInputWatcher.test.ts (10 tests) 699ms
✓ src/ui/commands/setupGithubCommand.test.ts (9 tests) 160ms
✓ src/ui/components/TrustDialog.test.tsx (7 tests) 1747ms
✓ src/ui/utils/windowTitle.test.ts (28 tests) 12ms
✓ src/ui/commands/bugCommand.test.ts (5 tests) 13ms
✓ src/ui/utils/asciiCharts.test.ts (21 tests) 31ms
✓ src/ui/utils/formatters.test.ts (35 tests) 8ms
✓ src/commands/review/lib/same-file.test.ts (7 tests) 8ms
✓ src/i18n/mustTranslateKeys.test.ts (20 tests) 486ms
✓ src/commands/review/lib/certification.test.ts (22 tests) 7ms
✓ src/ui/components/Header.test.tsx (19 tests) 4040ms
✓ src/acp-integration/skill-source-download.test.ts (14 tests) 55ms
✓ src/ui/hooks/useIdeTrustListener.test.ts (5 tests) 33ms
✓ src/ui/utils/computeStats.test.ts (12 tests) 6ms
✓ src/ui/components/hooks/matcherGrouping.test.ts (13 tests) 8ms
✓ src/ui/commands/hooksCommand.test.ts (9 tests) 19ms
✓ src/commands/extensions/sources.test.ts (11 tests) 35ms
✓ src/commands/extensions/new.test.ts (9 tests) 48ms
✓ src/ui/hooks/useTurnDiffs.test.ts (7 tests) 311ms
✓ src/commands/channel/observed-contact-store.test.ts (11 tests) 14ms
✓ src/commands/review/lib/npm-toolchain.test.ts (7 tests) 12ms
✓ src/acp-integration/active-work-reporter.test.ts (10 tests) 19ms
✓ src/ui/hooks/useSlashCompletion.integration.test.ts (4 tests) 258ms
✓ src/core/initializer.test.ts (14 tests) 11ms
✓ src/serve/permission-audit.test.ts (10 tests) 9ms
✓ src/ui/components/agent-view/AgentTabBar.test.tsx (7 tests) 1584ms
✓ src/serve/acp-http/client-mcp-sender-registry.test.ts (10 tests) 12ms
✓ src/ui/hooks/useCommandCompletion.slashChurn.test.ts (5 tests) 549ms
✓ src/utils/housekeeping/throttledOnce.test.ts (11 tests) 140ms
✓ src/commands/review/comment-status.integration.test.ts (8 tests) 5136ms
✓ makeGitProbe (real git) > reports the touching commits from the repo root 514ms
✓ makeGitProbe (real git) > scopes git to the worktree via -C regardless of the process CWD 503ms
✓ makeGitProbe (real git) > caps touchedBy at 10 while reporting the real total 1989ms
✓ makeGitProbe (real git) > degrades to unknown for a commit absent from the object store 307ms
✓ makeGitProbe (real git) > degrades to unknown for a non-ancestor (force-pushed-away) commit that still resolves 684ms
✓ makeGitProbe (real git) > takes the comment path literally, not as pathspec magic 515ms
✓ makeGitProbe (real git) > reports unchanged for a file the range never touched 535ms
✓ src/ui/components/hooks/HookMatcherDetailStep.test.tsx (8 tests) 1658ms
✓ src/utils/costCalculator.test.ts (18 tests) 4ms
✓ src/ui/hooks/useMemoryMonitor.test.ts (8 tests) 41ms
✓ src/ui/components/messages/DiffStatsDisplay.test.tsx (8 tests) 1451ms
✓ src/ui/commands/effort-command.test.ts (10 tests) 17ms
✓ src/ui/hooks/usePhraseCycler.test.ts (9 tests) 43ms
✓ src/ui/hooks/useTimer.test.ts (13 tests) 57ms
✓ src/commands/extensions/utils.test.ts (12 tests) 9ms
✓ src/ui/utils/highlight.test.ts (18 tests) 9ms
✓ src/ui/voice/voice-recorder.test.ts (8 tests) 11ms
✓ src/ui/components/FindingsDisplay.test.tsx (13 tests) 2928ms
✓ > keeps the unverified marker for an empty low-effort report 325ms
✓ > marks a low-level report unverified even where rows omit confidence 317ms
✓ src/serve/daemon-memory-pressure.test.ts (16 tests) 8ms
qwen serve: Voice runtime disposal timed out with 1 active lease(s).
✓ src/serve/voice/workspace-voice-coordinator.test.ts (8 tests) 11ms
✓ src/ui/components/arena/ArenaSelectDialog.test.tsx (5 tests) 1781ms
✓ ArenaSelectDialog > toggles quick preview and detailed diff for the highlighted agent 497ms
✓ ArenaSelectDialog > applies the highlighted successful agent when Enter is pressed 437ms
✓ ArenaSelectDialog > ignores Enter when the highlighted agent is not selectable 389ms
✓ src/serve/fs/errors.test.ts (20 tests) 8ms
✓ src/ui/layouts/ScreenReaderAppLayout.test.tsx (9 tests) 2081ms
✓ src/config/loadedSettingsAdapter.test.ts (5 tests) 10ms
✓ src/ui/components/AnsiOutput.test.tsx (9 tests) 1994ms
✓ src/ui/commands/approvalModeCommand.test.ts (14 tests) 603ms
✓ approvalModeCommand > direct mode setting (session-only) > should emit the entry notice when switching to auto mode 585ms
✓ src/ui/selection/selection-text.test.ts (16 tests) 7ms
✓ src/ui/components/shared/RowMouseController.test.tsx (8 tests) 34ms
✓ src/ui/components/mcp/utils.test.ts (16 tests) 11ms
✓ src/ui/commands/initCommand.test.ts (6 tests) 378ms
✓ initCommand > should ask for confirmation if QWEN.md already exists and is non-empty 370ms
✓ src/ui/components/SessionPreview.test.tsx (7 tests) 819ms
✓ src/config/skill-settings.test.ts (11 tests) 7ms
✓ src/ui/commands/mcpCommand.test.ts (10 tests) 13ms
✓ src/ui/components/shared/TextInputMouseController.test.tsx (7 tests) 32ms
✓ src/serve/live/live-setup-controller.test.ts (7 tests) 19ms
✓ src/config/migration/versions/v5-to-v4.test.ts (17 tests) 9ms
✓ src/commands/review/lib/manifest-repository-context.committed.test.ts (5 tests) 174ms
✓ src/nonInteractive/io/StreamJsonInputReader.test.ts (11 tests) 16ms
✓ src/ui/utils/mouse.test.ts (17 tests) 9ms
✓ src/serve/server/git-branch-ops.test.ts (16 tests) 7042ms
✓ branchExists > returns true for an existing branch 498ms
✓ branchExists > returns false for a missing branch 425ms
✓ branchExists > matches only a local branch ref, not a tag of the same name 403ms
✓ isDirtyTree > returns false for a clean tree 366ms
✓ isDirtyTree > returns true when a tracked file is modified 361ms
✓ isDirtyTree > ignores untracked files 353ms
✓ getHeadCommit > returns the current HEAD commit sha 432ms
✓ getHeadCommit > returns undefined outside a git repository 398ms
✓ createBranch > creates and checks out a new branch at the current commit 493ms
✓ createBranch > rejects when the branch already exists 454ms
✓ createBranch > rejects but leaves the branch created and checked out when a post-checkout hook fails 517ms
✓ checkoutRef > switches to an existing branch 481ms
✓ checkoutRef > rejects for an unknown ref 401ms
✓ deleteBranch > force-deletes an unmerged branch 983ms
✓ src/acp-integration/session/recovered-goal-update.test.ts (8 tests) 10ms
✓ src/serve/managed-scratch-workspace.test.ts (7 tests) 76ms
✓ src/ui/components/DiffDialog.test.tsx (2 tests) 108ms
✓ src/ui/utils/synchronizedOutput.test.ts (19 tests) 9ms
✓ src/commands/review/run-skill-parity.test.ts (2 tests) 5ms
✓ src/utils/terminalSequence.test.ts (26 tests) 9ms
✓ src/ui/models/availableModels.test.ts (14 tests) 9ms
✓ src/services/saved-workflow-loader.test.ts (11 tests) 9ms
✓ src/serve/native-directory-picker.test.ts (14 tests) 13ms
✓ src/serve/model-providers-edit.test.ts (12 tests) 8ms
✓ src/services/commandUtils.test.ts (14 tests) 6ms
✓ src/ui/contexts/AgentViewContext.test.tsx (4 tests) 1625ms
✓ AgentViewProvider in-process bridges > mounts the team in-process bridge so teammate tabs can register 316ms
✓ AgentViewProvider in-process bridges > clears embedded shell focus when switching agent tabs 332ms
✓ AgentViewProvider in-process bridges > clears embedded shell focus when the focused agent unregisters 782ms
✓ src/utils/deepMerge.test.ts (13 tests) 10ms
✓ src/commands/channel/pairing.test.ts (5 tests) 19ms
✓ src/ui/components/background-view/liveAgentPanelVisibility.test.ts (15 tests) 6ms
✓ src/ui/components/shared/RadioButtonSelect.test.tsx (5 tests) 1090ms
✓ src/serve/routes/channel-notify.test.ts (11 tests) 82ms
✓ src/ui/components/Tips.test.ts (9 tests) 8ms
✓ src/commands/extensions/disable.test.ts (10 tests) 36ms
✓ src/ui/components/AppHeader.test.tsx (6 tests) 1203ms
✓ src/config/extension-runtime-reload.test.ts (6 tests) 12ms
✓ src/nonInteractive/io/StreamJsonOutputAdapter.dualOutput.test.ts (6 tests) 9ms
✓ src/ui/components/hooks/HooksListStep.test.tsx (9 tests) 1697ms
✓ src/commands/review/lib/agent-identity.test.ts (7 tests) 4ms
✓ src/ui/commands/importConfigCommand.test.ts (10 tests) 7ms
✓ src/ui/components/ConsentPrompt.test.tsx (9 tests) 2062ms
✓ src/ui/utils/input-mouse.test.ts (9 tests) 9ms
✓ src/commands/review/lib/inline-counts.test.ts (8 tests) 5ms
✓ src/config/migration/scheduler.test.ts (7 tests) 10ms
✓ src/config/mcpJson.test.ts (11 tests) 12ms
✓ src/ui/hooks/useAwaySummary.test.ts (3 tests) 84ms
✓ src/ui/voice/voice-refine.test.ts (11 tests) 13ms
✓ src/ui/components/shared/ErrorBoundary.test.tsx (8 tests) 1807ms
✓ ErrorBoundary > reset clears the error state so children can recover 489ms
✓ src/config/modelProvidersScope.test.ts (11 tests) 5ms
✓ src/serve/voice/resolve-voice-config.test.ts (3 tests) 646ms
✓ loadDaemonVoiceContext > resolves providerProtocol-mapped custom provider groups for voice 348ms
✓ src/serve/acp-http/dispatch-error.test.ts (8 tests) 7ms
✓ src/serve/scheduled-task-session-lifecycle.test.ts (7 tests) 119ms
✓ src/ui/components/GoalPill.test.tsx (11 tests) 3435ms
✓ GoalPill > renders accessible lifecycle text for no goal 427ms
✓ GoalPill > renders accessible lifecycle text for active and verifying 433ms
✓ GoalPill > renders accessible lifecycle text for paused 453ms
✓ GoalPill > renders accessible lifecycle text for blocked 411ms
✓ GoalPill > subscribes once and re-subscribes when Config changes sessions 772ms
✓ src/ui/hooks/session-completion.test.ts (8 tests) 9ms
✓ src/ui/commands/planCommand.test.ts (7 tests) 15ms
✓ src/serve/sse-last-event-id.test.ts (25 tests) 9ms
✓ src/commands/mcp/approve.test.ts (7 tests) 35ms
✓ src/ui/components/SettingInputPrompt.test.tsx (7 tests) 2031ms
✓ SettingInputPrompt > renders setting name and description 326ms
✓ SettingInputPrompt > keeps printable ASCII boundaries and ignores control-only pastes 434ms
✓ SettingInputPrompt > displays help text for submit and cancel 309ms
✓ src/ui/components/background-view/liveAgentPanelLayout.measurement.test.tsx (2 tests) 1547ms
✓ LiveAgentPanel growth → controls re-measurement > BUG: without the roster in the measurement deps, reserved room goes stale on growth 703ms
✓ LiveAgentPanel growth → controls re-measurement > FIX: wiring the roster key into the deps re-measures, shrinking reserved room 842ms
✓ src/commands/channel/reload.test.ts (6 tests) 10ms
✓ src/commands/extensions/enable.test.ts (10 tests) 33ms
✓ src/ui/components/background-view/workflow-save-overlay.test.tsx (7 tests) 4857ms
✓ WorkflowSaveOverlay > appends typed characters to the name 581ms
✓ WorkflowSaveOverlay > saves to project scope on submit, then closes on the next key 810ms
✓ WorkflowSaveOverlay > Tab toggles to user scope 1046ms
✓ WorkflowSaveOverlay > rejects an invalid name without calling save 823ms
✓ WorkflowSaveOverlay > prompts to overwrite on collision and retries with overwrite:true 1071ms
✓ src/ui/utils/lowlightLoader.test.ts (5 tests) 82ms
✓ src/ui/commands/resumeCommand.test.ts (9 tests) 14ms
✓ src/acp-integration/session/tool-call-preparation-tracker.test.ts (6 tests) 9ms
✓ src/ui/components/agent-view/AgentChatView.test.tsx (6 tests) 1338ms
✓ AgentChatView error containment (#9290) > recovers when switching from a crashed tab to a healthy one 327ms
✓ src/serve/extension-operation-scheduler.test.ts (8 tests) 187ms
✓ src/ui/components/mcp/steps/ResourceListStep.test.tsx (5 tests) 2075ms
✓ ResourceListStep > windows a long list with correct count + arrow indicators 1210ms
✓ src/ui/voice/sox-recorder.test.ts (5 tests) 12ms
✓ src/commands/channel/set.test.ts (6 tests) 12ms
✓ src/ui/components/StickyTodoList.test.tsx (6 tests) 2031ms
✓ StickyTodoList > keeps each visible task number attached to the original task after sorting 303ms
✓ StickyTodoList > falls back to the maximum visible item count for non-finite maxVisibleItems 1035ms
✓ src/ui/utils/findings-coalescing.test.ts (6 tests) 5ms
✓ src/serve/skill-details-redaction.test.ts (9 tests) 7ms
✓ src/ui/App.test.tsx (7 tests) 1344ms
✓ src/ui/components/arena/ArenaCards.test.tsx (2 tests) 480ms
✓ src/ui/components/ToolStatsDisplay.test.tsx (5 tests) 1114ms
✓ src/ui/utils/CodeColorizer.test.ts (18 tests) 17ms
✓ src/agent-view/supervisor-dispatch.test.ts (4 tests) 116ms
✓ src/ui/update-relaunch.test.ts (6 tests) 112ms
✓ src/commands/review/lib/merge-base.test.ts (9 tests) 7ms
✓ src/serve/total-session-admission.test.ts (5 tests) 6ms
✓ src/ui/hooks/use-effort-command.test.ts (6 tests) 50ms
✓ src/ui/utils/MermaidDiagram.test.tsx (5 tests) 1608ms
✓ MermaidDiagram > renders the wireframe immediately and writes Kitty images through raw output 410ms
✓ MermaidDiagram > shows the wireframe fallback when async image rendering rejects 548ms
✓ src/ui/components/StatsEfficiencyTab.test.tsx (4 tests) 842ms
✓ src/services/FileCommandLoader-markdown.test.ts (4 tests) 112ms
✓ src/ui/voice/voice-keyterms-race.test.ts (3 tests) 1757ms
✓ src/commands/channel/status.test.ts (4 tests) 13ms
✓ src/utils/cleanup.test.ts (9 tests) 163ms
✓ src/services/markdown-command-parser.test.ts (13 tests) 15ms
✓ src/ui/hooks/useReactToolScheduler.test.tsx (7 tests) 28ms
✓ src/utils/acp-startup-profiler.test.ts (4 tests) 7ms
✓ src/ui/commands/docsCommand.test.ts (6 tests) 12ms
✓ src/commands/review/lib/round-model.test.ts (8 tests) 4ms
✓ src/agent-view/presentation.test.ts (4 tests) 5ms
✓ src/ui/components/ApprovalModeDialog.test.tsx (9 tests) 2049ms
✓ src/ui/components/extensions/tabs/DiscoverTab.test.tsx (2 tests) 1184ms
✓ DiscoverTab > installs the selected extension with workspace activation 723ms
✓ DiscoverTab > surfaces a warning when saving scope preference fails after install 459ms
✓ src/ui/components/views/ContextUsage.test.tsx (5 tests) 2434ms
✓ ContextUsage — CompactionThresholds section (review #4168 R1.6) > keeps a positive estimated count in the numeric usage view 594ms
✓ ContextUsage — CompactionThresholds section (review #4168 R1.6) > renders the new three-tier section with all four threshold rows 584ms
✓ ContextUsage — CompactionThresholds section (review #4168 R1.6) > shows safe tier without any ▶ marker 462ms
✓ ContextUsage — CompactionThresholds section (review #4168 R1.6) > places ▶ on the warn row when currentTier === warn 486ms
✓ ContextUsage — CompactionThresholds section (review #4168 R1.6) > places ▶ on the hard row when currentTier === hard 306ms
✓ src/serve/workspace-inputs.test.ts (9 tests) 43ms
✓ src/ui/hooks/useTerminalSize.test.ts (5 tests) 50ms
✓ src/ui/components/agent-view/AgentComposer.test.tsx (3 tests) 955ms
✓ AgentComposer > does not reset the parent input-buffer state during unmount 437ms
✓ AgentComposer > does not cycle approval mode on Ctrl+Shift+Tab 303ms
✓ src/ui/components/views/McpStatus.test.tsx (12 tests) 2713ms
✓ McpStatus > renders correctly with a disconnected server 306ms
✓ src/commands/review/lib/run-ledger.race.test.ts (4 tests) 12ms
✓ src/serve/channel-loop-mcp-ipc.test.ts (4 tests) 9ms
✓ src/config/daemon-trust-policy-monitor.test.ts (5 tests) 62ms
✓ src/services/notificationService.test.ts (9 tests) 8ms
✓ src/services/tips/tipScheduler.test.ts (7 tests) 7ms
✓ src/commands/review/lib/platform/github.test.ts (8 tests) 5ms
✓ src/ui/components/SessionSummaryDisplay.test.tsx (3 tests) 693ms
✓ src/utils/json-string-byte-projection.test.ts (14 tests) 168ms
✓ src/serve/local-control/lan-interfaces.test.ts (3 tests) 6ms
✓ src/ui/utils/sessionPickerUtils.test.ts (15 tests) 9ms
✓ src/acp-integration/live/capture-screen-context.test.ts (4 tests) 94ms
✓ src/ui/utils/measure-element-position.test.tsx (6 tests) 199ms
✓ src/ui/hooks/useFocus.test.ts (6 tests) 49ms
✓ src/nonInteractive/chat-recording-failure.test.ts (5 tests) 14ms
✓ src/ui/commands/historyCommand.test.ts (5 tests) 473ms
✓ historyCommand > expand-now removes suppressOnRestore and drops summary 465ms
✓ src/commands/channel/channel-registry-builtins.test.ts (2 tests) 418ms
✓ built-in channel registry > keeps an invalid built-in channel running without management metadata 414ms
✓ src/ui/components/messages/GoalStatusMessage.test.tsx (11 tests) 2011ms
✓ > shows the goal and judge reason on checking cards 310ms
✓ src/ui/utils/modelsBySource.test.ts (7 tests) 10ms
✓ src/services/tips/tipHistory.test.ts (11 tests) 10ms
✓ src/ui/commands/arenaCommand.agentComplete.test.ts (1 test) 9ms
✓ src/agent-view/managed-detach.test.ts (5 tests) 9ms
✓ src/ui/components/FolderTrustDialog.test.tsx (9 tests) 1861ms
✓ src/ui/components/mcp/steps/ServerListStep.test.tsx (5 tests) 1377ms
✓ ServerListStep > navigates with Ctrl+N/P readline aliases 422ms
✓ src/ui/components/shared/TextInput.test.tsx (6 tests) 1283ms
✓ src/serve/cdp-tunnel/acceptance/acceptance-helpers.test.ts (9 tests) 422ms
qwen serve: temporary bearer authentication enabled for this Web Shell launch; use an explicit shared token for additional clients.
qwen serve: temporary bearer authentication enabled for this Web Shell launch; use an explicit shared token for additional clients.
qwen serve: temporary bearer authentication enabled for this Web Shell launch; use an explicit shared token for additional clients.
qwen serve: temporary bearer authentication enabled for this Web Shell launch; use an explicit shared token for additional clients.
qwen serve: temporary bearer authentication enabled for this Web Shell launch; use an explicit shared token for additional clients.
qwen serve: temporary bearer authentication enabled for this Web Shell launch; use an explicit shared token for additional clients.
qwen serve: temporary bearer authentication enabled for this Web Shell launch; use an explicit shared token for additional clients.
✓ src/serve/open-with-auth.test.ts (14 tests) 10ms
✓ src/acp-integration/session/tasksSnapshot.test.ts (6 tests) 5ms
✓ src/ui/hooks/useShowMemoryCommand.test.ts (4 tests) 4ms
✓ src/ui/commands/dreamCommand.test.ts (5 tests) 12ms
✓ src/ui/contexts/VimModeContext.test.tsx (4 tests) 952ms
✓ src/commands/channel/channel-descriptor-sdk-mirror.test.ts (2 tests) 532ms
✓ channel descriptor SDK mirror > keeps built-in descriptor values within the daemon wire contract 529ms
✓ src/serve/live/provider-credentials.test.ts (10 tests) 11ms
✓ src/ui/voice/voice-stream-retry.test.ts (6 tests) 13ms
✓ src/acp-integration/generation.test.ts (3 tests) 11ms
✓ src/ui/components/shared/BaseSelectionList.mouse.test.tsx (5 tests) 1045ms
✓ BaseSelectionList mouse gate > mounts RowMouseController when VP and mouseTracking are both on 323ms
✓ src/commands/review/lib/incremental-scope.test.ts (3 tests) 8ms
✓ src/config/normalizeDisabledTools.test.ts (16 tests) 5ms
✓ src/commands/channel/stop.test.ts (4 tests) 11ms
✓ src/nonInteractive/control/controllers/sdkMcpController.test.ts (1 test) 8ms
✓ src/ui/components/mcp/steps/ResourceDetailStep.test.tsx (6 tests) 1494ms
✓ src/ui/hooks/useWelcomeBack.test.ts (4 tests) 204ms
qwen serve: POST /workspace/generate failed: Error: upstream failed
at Object.generateWorkspaceContent (/startdir/src/qwen-code/packages/cli/src/serve/workspace-generation.test.ts:88:15)
at generateWorkspaceContent.next ()
at /startdir/src/qwen-code/packages/cli/src/serve/workspace-generation.ts:83:24
at processTicksAndRejections (node:internal/process/task_queues:104:5)
✓ src/serve/workspace-generation.test.ts (7 tests) 72ms
✓ src/ui/hooks/use-wake-repaint.test.ts (8 tests) 37ms
✓ src/ui/selection/selection-span.test.ts (9 tests) 6ms
✓ src/ui/hooks/useSessionPicker.test.ts (4 tests) 36ms
✓ src/ui/hooks/useModelCommand.test.ts (8 tests) 31ms
✓ src/serve/server/device-flow-registry.test.ts (3 tests) 11ms
✓ src/ui/components/extensions/steps/ExtensionListStep.test.tsx (5 tests) 1096ms
✓ src/utils/readStdin.test.ts (5 tests) 228ms
✓ src/ui/components/shared/ToolElapsedTime.test.tsx (8 tests) 1305ms
✓ src/ui/hooks/useConfigInitMessage.test.ts (7 tests) 33ms
✓ src/commands/review/script-lint-isolation.test.ts (2 tests) 2687ms
✓ script-lint — hadolint fails closed when config isolation is unavailable > adds no --config when a private neutral config cannot be created 2682ms
✓ src/ui/selection/use-text-selection-render.test.tsx (1 test) 178ms
[?25h ✓ src/ui/components/hooks/sourceLabels.test.ts (10 tests) 6ms
✓ src/ui/components/extensions/tabs/SourcesTab.test.tsx (1 test) 735ms
✓ SourcesTab > reports a committed install warning without treating it as failure 734ms
✓ src/ui/utils/inline-image-parts.test.ts (7 tests) 5ms
✓ src/serve/mcp-app-sandbox.test.ts (6 tests) 36ms
✓ src/utils/classify-api-error.test.ts (18 tests) 7ms
✓ src/ui/components/PrepareLabel.test.tsx (6 tests) 1335ms
✓ src/ui/commands/toolsCommand.test.ts (5 tests) 10ms
✓ src/serve/channel-delivery-authorization.test.ts (4 tests) 4ms
✓ src/commands/extensions/link.test.ts (5 tests) 27ms
✓ src/ui/hooks/useWorktreeSession.test.tsx (4 tests) 413ms
✓ src/ui/commands/reload-plugins-command.test.ts (3 tests) 6ms
✓ src/ui/components/QueuedMessageDisplay.test.tsx (7 tests) 2184ms
✓ QueuedMessageDisplay > hides edit hint after showing it enough times 875ms
qwen serve: /cdp tunnel — extension bridge 'b' superseded the stale 'a'
qwen serve: /cdp tunnel — extension bridge 'b' superseded the stale 'a'
qwen serve: /cdp tunnel — extension bridge 'b' superseded the stale 'a'
✓ src/serve/cdp-tunnel/cdp-tunnel-registry.test.ts (8 tests) 10ms
✓ src/utils/userPromptExpansionHook.test.ts (12 tests) 6ms
✓ src/commands/channel/startup-failure-format.test.ts (4 tests) 10ms
✓ src/serve/server/telemetry-catalog.test.ts (1 test) 17ms
✓ src/commands/review/lib/worktree-reader.test.ts (6 tests) 5ms
✓ src/ui/components/hooks/HooksDisabledStep.test.tsx (8 tests) 1929ms
✓ src/serve/pem-certificate-blocks-oracle.test.ts (10 tests) 12ms
✓ src/ui/utils/approvalModeDisplay.test.ts (5 tests) 36ms
✓ src/ui/commands/forgetCommand.test.ts (6 tests) 8ms
✓ src/acp-integration/extension-skills.test.ts (4 tests) 4ms
✓ src/commands/mcp/remove.test.ts (4 tests) 26ms
✓ src/ui/hooks/useFollowupSuggestions.test.tsx (2 tests) 24ms
✓ src/ui/components/shared/DescriptiveRadioButtonSelect.test.tsx (4 tests) 1062ms
✓ DescriptiveRadioButtonSelect > should render correctly with default props 333ms
✓ src/runtime/channel-delivery-ipc.test.ts (10 tests) 6ms
✓ src/ui/utils/kittyProtocolDetector.test.ts (3 tests) 17ms
✓ src/ui/themes/theme.test.ts (5 tests) 4ms
✓ src/ui/components/extensions/tabs/InstalledTab.test.tsx (1 test) 482ms
✓ InstalledTab > surfaces activation warnings and reloads the installed list 480ms
✓ src/config/mcpServers.test.ts (6 tests) 6ms
✓ src/acp-integration/session/history-replayer.conformance.test.ts (1 test) 10ms
✓ src/ui/hooks/useThemeCommand.test.ts (2 tests) 26ms
No extensions installed.
✓ src/commands/extensions.test.tsx (11 tests) 85ms
✓ src/ui/app-container-controls-dep.test.ts (3 tests) 4ms
✓ src/ui/utils/terminal-buffer.test.ts (7 tests) 4ms
✓ src/acp-integration/session/rewrite/TurnBuffer.test.ts (12 tests) 6ms
✓ src/ui/components/views/ExtensionsList.test.tsx (9 tests) 1900ms
✓ src/agent-view/current-cli-argv.test.ts (4 tests) 66ms
✓ src/ui/utils/inline-math.test.ts (9 tests) 9ms
✓ src/commands/auth.test.ts (9 tests) 43ms
✓ src/runtime/workspace-skills-mapping.test.ts (6 tests) 6ms
✓ src/serve/channel-worker-startup-ipc.test.ts (3 tests) 3ms
✓ src/commands/review/lib/receipt.test.ts (11 tests) 5ms
✓ src/serve/routes/workspace-lifecycle.test.ts (2 tests) 48ms
✓ src/commands/review.test.ts (5 tests) 7ms
✓ src/ui/components/extensions/steps/ActionSelectionStep.test.tsx (5 tests) 1155ms
✓ src/commands/review/lib/diff-flags.test.ts (4 tests) 4ms
✓ src/commands/extensions/list.test.ts (4 tests) 41ms
✓ src/utils/headlessSafetyWarnings.test.ts (7 tests) 4ms
✓ src/ui/components/ThemeDialog.test.tsx (2 tests) 1090ms
✓ ThemeDialog Snapshots > should render correctly in theme selection mode 511ms
✓ ThemeDialog Snapshots > should render correctly in scope selector mode 577ms
✓ src/ui/components/messages/AdvisorMessage.test.tsx (3 tests) 901ms
✓ AdvisorMessage > lays out content at containerWidth, not terminal width 423ms
✓ src/serve/server/session-export.test.ts (2 tests) 7ms
✓ src/ui/hooks/useTerminalNotification.test.ts (6 tests) 6ms
✓ src/ui/hooks/useAnimatedScrollbar.test.ts (6 tests) 35ms
✓ src/ui/components/StatsSessionTab.test.tsx (3 tests) 784ms
✓ generation metrics > shows latest-request and weighted session timing 322ms
✓ src/services/insight/generators/StaticInsightGenerator.test.ts (1 test) 18ms
✓ src/ui/utils/list-mouse.test.ts (12 tests) 4ms
✓ src/services/insight/generators/TemplateRenderer.test.ts (3 tests) 4ms
✓ src/acp-integration/authPreflight.test.ts (3 tests) 4ms
✓ src/ui/utils/software-cursor.test.ts (10 tests) 10ms
✓ src/ui/utils/displayUtils.test.ts (8 tests) 4ms
✓ src/commands/review/lib/md-field.test.ts (5 tests) 7ms
✓ src/ui/components/ContextSummaryDisplay.test.tsx (4 tests) 1121ms
✓ > should switch layout at the 80-column breakpoint 442ms
✓ src/ui/commands/terminalSetupCommand.test.ts (5 tests) 7ms
✓ src/services/tips/tipRegistry.test.ts (5 tests) 4ms
✓ src/ui/components/TodoDisplay.test.tsx (6 tests) 1041ms
✓ src/ui/components/EffortDialog.test.tsx (5 tests) 1325ms
✓ src/ui/utils/mermaidVisualRenderer.test.ts (4 tests) 17ms
✓ src/serve/server/request-helpers.sandbox.test.ts (3 tests) 6ms
✓ src/acp-integration/session/rewrite/config.test.ts (5 tests) 4ms
✓ src/ui/commands/branchCommand.test.ts (6 tests) 7ms
✓ src/commands/sessions.test.ts (3 tests) 18ms
✓ src/ui/components/IdeTrustChangeDialog.test.tsx (6 tests) 1547ms
✓ src/services/insight/dates.test.ts (8 tests) 4ms
✓ src/commands/review/lib/git.test.ts (5 tests) 5ms
✓ src/config/trust-precedence.test.ts (5 tests) 4ms
✓ src/ui/commands/rememberCommand.test.ts (5 tests) 9ms
✓ src/serve/run-qwen-serve.sandbox.test.ts (3 tests) 8ms
✓ src/ui/components/SkillStatsDisplay.test.tsx (2 tests) 414ms
✓ src/ui/components/mcp/steps/ServerDetailStep.test.tsx (4 tests) 1074ms
✓ ServerDetailStep — View resources action gating > shows "View resources" when a handler is wired and the server has resources 315ms
✓ src/config/path-freshness.test.ts (3 tests) 4ms
✓ src/ui/components/SuggestionsDisplay.mouse.test.tsx (3 tests) 444ms
✓ src/serve/routes/workspace-trust.test.ts (2 tests) 39ms
✓ src/utils/startupWarnings.test.ts (4 tests) 6ms
✓ src/ui/components/DebugModeNotification.test.tsx (2 tests) 482ms
✓ src/ui/systemInfoFields.test.ts (2 tests) 6ms
✓ src/utils/stdioHelpers.test.ts (6 tests) 8ms
✓ src/runtime/channel-delivery.test.ts (12 tests) 8ms
✓ src/commands/review/lib/build-budget.test.ts (4 tests) 4ms
✓ src/acp-integration/model-configuration.test.ts (26 tests) 8ms
✓ src/config/session-id.test.ts (21 tests) 10ms
✓ src/commands/mcp.test.ts (3 tests) 11ms
✓ src/ui/commands/authCommand.test.ts (6 tests) 8ms
✓ src/ui/components/messages/BtwMessage.test.tsx (5 tests) 991ms
✓ src/commands/review/load-rules.test.ts (6 tests) 175ms
✓ src/commands/extensions/uninstall.test.ts (2 tests) 15ms
✓ src/utils/userStartupWarnings.test.ts (3 tests) 58ms
✓ src/serve/server/activity-timestamp.test.ts (3 tests) 3ms
✓ src/config/keyBindings.test.ts (4 tests) 9ms
✓ src/ui/hooks/mcpResourceRef.test.ts (7 tests) 5ms
✓ src/serve/acp-http/json-rpc.test.ts (9 tests) 5ms
✓ src/serve/routes/health.test.ts (2 tests) 35ms
✓ src/services/prompt-stash.test.ts (4 tests) 10ms
✓ src/core/theme.test.ts (5 tests) 7ms
✓ src/serve/acp-http/pre-attach-budget.test.ts (3 tests) 5ms
qwen serve: createServeApp default fsFactory uses trusted=false — agent ACP writeTextFile calls will reject with untrusted_workspace. Inject deps.fsFactory (with explicit trust) or deps.bridge to override.
✓ src/serve/server-acp-child-extra-args.test.ts (2 tests) 64ms
✓ src/ui/components/WorktreeExitDialog.test.tsx (1 test) 355ms
✓ WorktreeExitDialog > renders the loading frame before git probes resolve 353ms
✓ src/ui/components/AutoAcceptIndicator.test.tsx (6 tests) 1204ms
✓ src/ui/components/subagents/manage/AgentSelectionStep.test.tsx (1 test) 488ms
✓ AgentSelectionStep > navigates with Ctrl+N/P readline aliases 486ms
✓ src/acp-integration/live/live-task-tools.test.ts (3 tests) 44ms
✓ src/commands/sessions/common.test.ts (3 tests) 5ms
✓ src/ui/hooks/session-mention-ref.test.ts (9 tests) 7ms
✓ src/ui/hooks/useBatchedScroll.test.ts (4 tests) 28ms
✓ src/serve/pem-certificate-blocks-legacy.test.ts (5 tests) 7ms
✓ src/ui/voice/voice-model.test.ts (4 tests) 4ms
✓ src/ui/commands/themeCommand.test.ts (3 tests) 6ms
✓ src/ui/utils/theme-background.test.ts (3 tests) 3ms
✓ src/ui/components/mcp/steps/ToolListStep.test.tsx (1 test) 487ms
✓ ToolListStep > navigates with Ctrl+N/P readline aliases 485ms
✓ src/test-utils/mockCommandContext.test.ts (3 tests) 6ms
✓ src/serve/server-workspace-service.test.ts (1 test) 57ms
✓ src/serve/channel-selection.test.ts (7 tests) 6ms
✓ src/core/auth.test.ts (3 tests) 5ms
✓ src/utils/paths.test.ts (6 tests) 4ms
✓ src/ui/commands/statuslineCommand.test.ts (4 tests) 8ms
✓ src/ui/selection/selection-coords.test.ts (6 tests) 5ms
✓ src/serve/web-shell-static.test.ts (3 tests) 4ms
✓ src/ui/commands/helpCommand.test.ts (3 tests) 9ms
✓ src/serve/channel-worker-diagnostics.test.ts (3 tests) 6ms
qwen serve: unhandled error: URIError: unmarked
at /startdir/src/qwen-code/packages/cli/src/serve/server/error-handlers.test.ts:17:13
at Layer.handleRequest (/startdir/src/qwen-code/node_modules/router/lib/layer.js:152:17)
at next (/startdir/src/qwen-code/node_modules/router/lib/route.js:157:13)
at Route.dispatch (/startdir/src/qwen-code/node_modules/router/lib/route.js:117:3)
at handle (/startdir/src/qwen-code/node_modules/router/index.js:435:11)
at Layer.handleRequest (/startdir/src/qwen-code/node_modules/router/lib/layer.js:152:17)
at /startdir/src/qwen-code/node_modules/router/index.js:295:15
at processParams (/startdir/src/qwen-code/node_modules/router/index.js:582:12)
at next (/startdir/src/qwen-code/node_modules/router/index.js:291:5)
at router.handle (/startdir/src/qwen-code/node_modules/router/index.js:186:3)
✓ src/serve/server/error-handlers.test.ts (3 tests) 35ms
✓ src/ui/voice/voice-availability.test.ts (6 tests) 4ms
✓ src/ui/components/mcp/MCPHealthPill.test.tsx (6 tests) 4ms
✓ src/ui/components/LoopDetectionConfirmation.test.tsx (2 tests) 377ms
✓ src/ui/hooks/use-mouse-tracking-enabled.test.tsx (4 tests) 24ms
✓ src/ui/components/views/ToolsList.test.tsx (3 tests) 607ms
✓ src/utils/load-undici.test.ts (3 tests) 40ms
✓ src/utils/processUtils.test.ts (4 tests) 5ms
✓ src/ui/utils/goal-runtime.test.ts (3 tests) 6ms
✓ src/ui/components/KeyboardShortcuts.test.tsx (3 tests) 737ms
✓ src/serve/acp-http/safe-ws-send.test.ts (4 tests) 7ms
✓ src/ui/commands/quitCommand.test.ts (1 test) 10ms
✓ src/utils/normalize-part-list.test.ts (7 tests) 4ms
✓ src/serve/acp-http/dispatch.sandbox.test.ts (2 tests) 5ms
✓ src/services/command-factory.test.ts (2 tests) 17ms
✓ src/services/prompt-processors/argumentProcessor.test.ts (2 tests) 6ms
✓ src/utils/resolvePath.test.ts (7 tests) 5ms
✓ src/ui/commands/vimCommand.test.ts (3 tests) 7ms
✓ src/ui/utils/workflow-keyword.test.ts (11 tests) 4ms
✓ src/utils/standalone-update-verify.test.ts (3 tests) 7ms
✓ src/ui/utils/latexRenderer.test.ts (4 tests) 6ms
✓ src/ui/utils/tool-display-map.test.ts (2 tests) 6ms
✓ src/serve/conversations/conversation-runtime-activity.test.ts (2 tests) 7ms
✓ src/config/acp-channel-fallback.test.ts (6 tests) 3ms
✓ src/serve/capabilities-docs-contract.test.ts (1 test) 8ms
✓ src/ui/components/approvalModeVisuals.test.ts (3 tests) 4ms
✓ src/ui/contexts/VirtualViewportContext.test.tsx (2 tests) 25ms
✓ src/ui/components/GeminiRespondingSpinner.test.tsx (2 tests) 309ms
✓ src/ui/components/messages/StatusMessages.test.tsx (1 test) 186ms
✓ src/utils/midTurnUserMessage.test.ts (3 tests) 4ms
✓ src/ui/utils/CodeColorizer.semantic.test.tsx (1 test) 281ms
✓ src/ui/components/mcp/MCPManagementDialog.test.tsx (1 test) 256ms
✓ src/ui/commands/settingsCommand.test.ts (2 tests) 7ms
✓ src/acp-integration/runtimeOutputDirContext.test.ts (1 test) 4ms
✓ src/ui/commands/permissionsCommand.test.ts (3 tests) 6ms
✓ src/ui/commands/trustCommand.test.ts (3 tests) 7ms
✓ src/commands/channel/channel-cwd.test.ts (4 tests) 3ms
✓ src/serve/acp-child-extra-args.test.ts (2 tests) 4ms
✓ src/ui/utils/layoutUtils.test.ts (4 tests) 4ms
✓ src/ui/hooks/useDialogClose.test.ts (1 test) 18ms
✓ src/ui/commands/editorCommand.test.ts (2 tests) 6ms
✓ src/acp-integration/live/live-speak-to-user.test.ts (1 test) 43ms
✓ src/utils/shell-args.test.ts (4 tests) 5ms
✓ src/ui/commands/deleteCommand.test.ts (2 tests) 7ms
✓ src/commands/channel/private-parent-capability-wire-key.test.ts (1 test) 4ms
✓ src/ui/components/VoiceIndicator.test.tsx (2 tests) 509ms
✓ src/serve/server/request-helpers.test.ts (1 test) 5ms
✓ src/ui/components/ExternalAuthProgress.test.tsx (1 test) 258ms
✓ src/acp-integration/authMethods.test.ts (2 tests) 4ms
✓ src/acp-integration/live/live-backend-instructions.test.ts (2 tests) 4ms
✓ src/ui/commands/memoryCommand.test.ts (2 tests) 9ms
✓ src/serve/serve-token.test.ts (3 tests) 3ms
✓ src/commands/channel/channel-prompt-wire-key.test.ts (1 test) 3ms
✓ src/commands/channel/display-text-wire-key.test.ts (1 test) 3ms
✓ src/ui/components/CronPill.test.tsx (2 tests) 505ms
qwen serve: voice websocket accepted
qwen serve: voice websocket start received
qwen serve: voice websocket stop received
qwen serve: voice websocket finalized successfully
qwen serve: voice websocket slot released
qwen serve: voice websocket accepted
qwen serve: voice websocket accepted
qwen serve: voice websocket start received
qwen serve: voice websocket stop received
qwen serve: voice websocket finalized successfully
qwen serve: voice websocket slot released
qwen serve: voice websocket accepted
qwen serve: voice websocket start received
qwen serve: voice websocket failed: No voice model is configured for this workspace.
qwen serve: voice websocket slot released
qwen serve: voice websocket accepted
qwen serve: voice websocket start received
qwen serve: voice websocket failed: Voice transcription failed. Please try again.
qwen serve: voice websocket slot released
qwen serve: voice websocket accepted
qwen serve: voice websocket start received
qwen serve: voice websocket stop received
qwen serve: voice websocket failed: Voice transcription failed. Please try again.
qwen serve: voice websocket slot released
qwen serve: voice websocket accepted
qwen serve: voice websocket start received
qwen serve: voice websocket abort received
qwen serve: voice websocket slot released
qwen serve: voice websocket accepted
qwen serve: voice websocket start received
qwen serve: voice websocket abort received
qwen serve: voice websocket slot released
qwen serve: voice websocket accepted
qwen serve: voice websocket stop received
qwen serve: voice websocket abort received
qwen serve: voice websocket slot released
qwen serve: voice websocket accepted
qwen serve: voice websocket start received
qwen serve: voice websocket slot released
qwen serve: voice websocket accepted
qwen serve: voice websocket start received
qwen serve: voice websocket slot released
qwen serve: voice websocket accepted
qwen serve: voice websocket start received
qwen serve: voice websocket stop received
qwen serve: voice websocket failed: Voice session exceeded the time limit.
qwen serve: voice websocket accepted
qwen serve: voice websocket start received
qwen serve: voice websocket failed: Recording is too long for transcription (max ~5 minutes).
qwen serve: voice websocket slot released
qwen serve: voice websocket accepted
qwen serve: voice websocket start received
qwen serve: voice websocket failed: Queued voice audio exceeded the memory limit.
qwen serve: voice websocket accepted
qwen serve: voice websocket start received
qwen serve: voice websocket failed: Voice session exceeded the time limit.
qwen serve: voice websocket slot released
qwen serve: voice websocket accepted
qwen serve: voice websocket accepted
qwen serve: voice websocket accepted
qwen serve: voice websocket accepted
qwen serve: voice websocket accepted
qwen serve: voice websocket accepted
qwen serve: voice websocket accepted
qwen serve: voice websocket accepted
qwen serve: voice websocket failed: Voice session exceeded the time limit.
qwen serve: voice websocket slot released
qwen serve: voice websocket failed: Voice session exceeded the time limit.
qwen serve: voice websocket slot released
qwen serve: voice websocket failed: Voice session exceeded the time limit.
qwen serve: voice websocket slot released
qwen serve: voice websocket failed: Voice session exceeded the time limit.
qwen serve: voice websocket slot released
qwen serve: voice websocket failed: Voice session exceeded the time limit.
qwen serve: voice websocket slot released
qwen serve: voice websocket failed: Voice session exceeded the time limit.
qwen serve: voice websocket slot released
qwen serve: voice websocket failed: Voice session exceeded the time limit.
qwen serve: voice websocket slot released
qwen serve: voice websocket failed: Voice session exceeded the time limit.
qwen serve: voice websocket slot released
qwen serve: voice websocket accepted
qwen serve: voice websocket accepted
qwen serve: voice websocket accepted
qwen serve: voice websocket accepted
qwen serve: voice websocket accepted
qwen serve: voice websocket accepted
qwen serve: voice websocket accepted
qwen serve: voice websocket accepted
qwen serve: voice websocket accepted
qwen serve: voice websocket rejected
qwen serve: voice websocket slot released
qwen serve: voice websocket accepted
qwen serve: voice websocket accepted
qwen serve: voice websocket stop received
qwen serve: voice websocket finalized successfully
qwen serve: voice websocket slot released
qwen serve: voice websocket accepted
qwen serve: voice websocket accepted
qwen serve: voice websocket accepted
qwen serve: voice websocket accepted
qwen serve: voice websocket accepted
qwen serve: voice websocket accepted
qwen serve: voice websocket accepted
qwen serve: voice websocket accepted
qwen serve: voice websocket rejected
qwen serve: voice websocket rejected
qwen serve: voice websocket accepted
qwen serve: voice websocket slot released
qwen serve: voice websocket accepted
qwen serve: voice websocket slot released
qwen serve: voice websocket accepted
qwen serve: voice websocket slot released
qwen serve: voice websocket accepted
qwen serve: voice websocket start received
qwen serve: voice websocket stop received
qwen serve: voice websocket finalized successfully
qwen serve: voice websocket slot released
qwen serve: voice websocket accepted
qwen serve: voice websocket start received
qwen serve: voice websocket stop received
qwen serve: voice websocket failed: Voice transcription failed. Please try again.
qwen serve: voice websocket slot released
qwen serve: voice websocket accepted
qwen serve: voice websocket start received
✓ src/serve/voice/voice-ws.test.ts (26 tests) 42ms
⎯⎯⎯⎯⎯⎯ Unhandled Errors ⎯⎯⎯⎯⎯⎯
Vitest caught 1 unhandled error during the test run.
This might cause false positive tests. Resolve unhandled errors to make sure your tests are not affected.
⎯⎯⎯⎯⎯⎯ Unhandled Error ⎯⎯⎯⎯⎯⎯⎯
Error: [vitest-worker]: Timeout calling "onTaskUpdate"
❯ Object.onTimeoutError ../../node_modules/vitest/dist/chunks/rpc.-pEldfrD.js:53:10
❯ Timeout._onTimeout ../../node_modules/vitest/dist/chunks/index.B521nVV-.js:59:62
❯ listOnTimeout node:internal/timers:685:17
❯ processTimers node:internal/timers:618:7
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Test Files 885 passed (885)
Tests 24490 passed | 72 skipped (24562)
Errors 1 error
Start at 14:47:57
Duration 3980.15s (transform 53.72s, setup 99.39s, collect 1500.60s, tests 1309.22s, environment 345.56s, prepare 91.91s)
JUNIT report written to /startdir/src/qwen-code/packages/cli/junit.xml
% Coverage report from v8
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.22.2
npm error location /startdir/src/qwen-code/packages/cli
npm error command failed
npm error command sh -c vitest run --testTimeout=30000 --no-file-parallelism '--exclude=**/{qwenConnectionHandler,useAtCompletion,pid-descendants,serve/acp-http/transport,i18n/index,ui/auth/AuthDialog,ui/utils/clipboardUtils,services/FileCommandLoader,services/FileCommandLoader-extension,lsp/LspConfigLoader,utils/pathReader}.test.*'
npm notice run @qwen-code/qwen-code-core@0.22.2 test
RUN v3.2.7 /startdir/src/qwen-code/packages/core
Coverage enabled with v8
✓ src/core/coreToolScheduler.test.ts (383 tests) 2839ms
✓ src/core/geminiChat.test.ts (385 tests) 29660ms
✓ GeminiChat > should correctly retry and append to an existing history mid-conversation 2044ms
✓ GeminiChat > should retry if the model returns a completely empty stream (no chunks) 2045ms
✓ GeminiChat > should discard valid partial content from a failed attempt upon retry 2037ms
✓ GeminiChat > discards a completed protocol-tagged response and retries before persistence 2047ms
✓ GeminiChat > retries a JSON tool protocol leak: 'array with a different first argument…' 2042ms
✓ GeminiChat > retries a JSON tool protocol leak: 'single object with trailing prose' 2044ms
✓ GeminiChat > retries when a preparation interrupts a partial JSON protocol leak 2037ms
✓ GeminiChat > retries when a function call interrupts a partial JSON protocol leak 2041ms
✓ GeminiChat > output token recovery > should pop dangling recovery message and emit STOP chunk when recovery throws 2051ms
✓ src/core/client.test.ts (366 tests) 35714ms
✓ src/config/config.test.ts (579 tests) 3350ms
✓ Server Config (config.ts) > gives up on the peer inbox advertise after a bounded retry 510ms
✓ src/tools/shell.test.ts (303 tests) 7337ms
Preparing worktree (new branch 'review-pr-1')
Preparing worktree (new branch 'review-pr-1')
Preparing worktree (new branch 'review-pr-1')
Preparing worktree (new branch 'review-pr-1')
Preparing worktree (new branch 'review-pr-1')
Preparing worktree (detached HEAD 9a6503a)
Preparing worktree (new branch 'review-pr-1')
Preparing worktree (new branch 'review-pr-1')
Preparing worktree (new branch 'review-pr-1')
✓ src/tools/agent/agent.test.ts (279 tests) 2644ms
✓ AgentTool > AgentToolInvocation > passes custom ignore files into worktree isolation file service 382ms
✓ src/core/openaiContentGenerator/pipeline.test.ts (170 tests) 280ms
✓ src/core/openaiContentGenerator/converter.test.ts (223 tests) 71ms
✓ src/services/sessionService.test.ts (202 tests) 802ms
✓ src/agents/runtime/workflow-orchestrator.test.ts (169 tests) 1869ms
✓ WorkflowOrchestrator > keeps a paused run alive past the wall-clock budget and completes it after resume 606ms
qwen serve: MCP server 'c' refused (budget exhausted, budget=2, mode=enforce)
qwen serve: MCP server 'd' refused (budget exhausted, budget=2, mode=enforce)
qwen serve: MCP server 'mike' refused (budget exhausted, budget=2, mode=enforce)
qwen serve: MCP server 'b' refused (budget exhausted, budget=1, mode=enforce)
qwen serve: MCP server 'b' refused (budget exhausted, budget=1, mode=enforce)
qwen serve: MCP server 'b' refused (budget exhausted, budget=1, mode=enforce)
qwen serve: MCP server 'b' refused (budget exhausted, budget=1, mode=enforce)
qwen serve: MCP server 'b' refused (budget exhausted, budget=1, mode=enforce)
qwen serve: ignoring invalid QWEN_SERVE_MCP_CLIENT_BUDGET='-3' (expected positive integer); MCP budget enforcement disabled for this child.
qwen serve: MCP server 'b' refused (budget exhausted, budget=1, mode=enforce)
qwen serve: MCP server 'b' refused (budget exhausted, budget=1, mode=enforce)
qwen serve: MCP server 'b' refused (budget exhausted, budget=1, mode=enforce)
qwen serve: MCP server 'b' refused (budget exhausted, budget=1, mode=enforce)
qwen serve: QWEN_SERVE_MCP_BUDGET_MODE=enforce requires QWEN_SERVE_MCP_CLIENT_BUDGET=N; downgrading to off. Set both env vars to enable MCP guardrail enforcement.
qwen serve: MCP server 'third' refused (budget exhausted, budget=2, mode=enforce)
qwen serve: MCP server 'b' refused (budget exhausted, budget=1, mode=enforce)
qwen serve: MCP server 'b' refused (budget exhausted, budget=1, mode=enforce)
qwen serve: QWEN_SERVE_MCP_BUDGET_MODE=warn requires QWEN_SERVE_MCP_CLIENT_BUDGET=N; downgrading to off. Set both env vars to enable MCP guardrail enforcement.
qwen serve: McpClientManager constructed with budgetMode=enforce but no clientBudget; downgrading to off.
qwen serve: MCP server 'b' refused (budget exhausted, budget=1, mode=enforce)
qwen serve: MCP server 'c' refused (budget exhausted, budget=1, mode=enforce)
qwen serve: MCP server 'b' refused (budget exhausted, budget=1, mode=enforce)
qwen serve: MCP server 'b' refused (budget exhausted, budget=1, mode=enforce)
qwen serve: MCP server 'b' refused (budget exhausted, budget=1, mode=enforce)
qwen serve: MCP server 'c' refused (budget exhausted, budget=1, mode=enforce)
qwen serve: MCP server 'd' refused (budget exhausted, budget=1, mode=enforce)
qwen serve: MCP server 'e' refused (budget exhausted, budget=1, mode=enforce)
qwen serve: MCP server 'b' refused (budget exhausted, budget=1, mode=enforce)
qwen serve: MCP server 'c' refused (budget exhausted, budget=1, mode=enforce)
qwen serve: MCP server 'd' refused (budget exhausted, budget=1, mode=enforce)
✓ src/tools/mcp-client-manager.test.ts (122 tests) 862ms
✓ src/core/anthropicContentGenerator/anthropicContentGenerator.test.ts (153 tests) 1811ms
✓ src/services/chatCompressionService.test.ts (137 tests) 132ms
✓ src/goals/goal-runtime.test.ts (126 tests) 1295ms
✓ src/extension/extensionManager.test.ts (145 tests) 1291ms
✓ src/permissions/permission-manager.test.ts (412 tests) 114ms
✓ src/tools/mcp-client.test.ts (127 tests) 1866ms
✓ mcp-client > listMcpPrompts (F2 pure helper) > exhausts retries on persistent transient errors and returns [] 605ms
✓ mcp-client > listMcpResources > exhausts retries on persistent transient errors and returns [] 606ms
✓ src/hooks/hookEventHandler.test.ts (138 tests) 78ms
✓ src/utils/fileUtils.test.ts (192 tests) 427ms
✓ src/services/shellExecutionService.test.ts (135 tests) 305ms
✓ src/services/session-transcript-reader.test.ts (120 tests) 453ms
✓ src/extension/github.test.ts (152 tests) 1437ms
✓ git extension helpers > extractFile > should cancel while extracting a tar archive 649ms
✓ src/agents/background-agent-resume.test.ts (50 tests) 416ms
✓ src/telemetry/session-tracing.test.ts (180 tests) 45ms
✓ src/agents/runtime/agent-headless.test.ts (64 tests) 3148ms
✓ src/agents/background-tasks.test.ts (148 tests) 62ms
✓ src/core/anthropicContentGenerator/converter.test.ts (103 tests) 34ms
✓ src/core/loggingContentGenerator/loggingContentGenerator.test.ts (74 tests) 103ms
✓ src/services/chatRecordingService.test.ts (119 tests) 187ms
✓ src/services/session-writer-lease.test.ts (89 tests | 2 skipped) 5253ms
✓ SessionWriterLease > fails closed when a primary candidate is abandoned during sealing 1949ms
✓ SessionWriterLease > fails closed when a primary candidate is abandoned during rollback 972ms
✓ src/agents/runtime/workflow-sandbox.test.ts (168 tests) 32552ms
✓ createWorkflowSandbox security > synchronous infinite loop is aborted by vm timeout 30100ms
✓ createWorkflowSandbox security > re-arms with the banked remainder on resume, not a fresh budget 404ms
✓ createWorkflowSandbox security > survives a second pause after resume without burning banked budget 455ms
✓ src/services/loopDetectionService.test.ts (126 tests) 424ms
✓ src/core/openaiContentGenerator/provider/dashscope.test.ts (161 tests) 47ms
✓ src/tools/mcp-tool.test.ts (102 tests) 188ms
✓ src/services/cronScheduler.test.ts (127 tests) 2476ms
✓ CronScheduler > durable enabled flag > drops a live job when the file flips it to disabled on reload 356ms
✓ CronScheduler > durable ownership > reloads durable tasks when the file changes on disk 353ms
✓ src/models/modelsConfig.test.ts (83 tests) 25ms
✓ src/extension/extension-store.test.ts (94 tests) 943ms
✓ src/subagents/subagent-manager.test.ts (134 tests) 103ms
✓ src/agents/team/test-utils/coordination-harness.test.ts (86 tests) 4258ms
✓ TeamCoordinationHarness > shutdown protocol > accepts approval for a retry delivered after an earlier rejection 387ms
✓ TeamCoordinationHarness > shutdown protocol > a duplicate reserved approval does not abort after a later request is delivered 405ms
✓ TeamCoordinationHarness > shutdown protocol > a reserved rejection leaves a later delivered request outstanding 357ms
✓ src/telemetry/loggers.test.ts (86 tests) 182ms
✓ src/utils/gitDiff.test.ts (124 tests) 5530ms
✓ fetchGitDiff > flags untracked binary files without counting lines 462ms
✓ fetchGitDiff > returns zero stats on a clean working tree 473ms
✓ fetchGitDiffHunks > preserves content lines that start with --- / +++ / index 309ms
✓ src/utils/schemaValidator.test.ts (132 tests) 244ms
✓ src/tools/mcp-transport-pool.test.ts (39 tests) 206ms
+----------------- 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 (89 tests) 2059ms
✓ getQwenOAuthClient - Enhanced Error Scenarios > should handle different authentication failure reasons - timeout 2015ms
✓ src/tools/skill.test.ts (93 tests) 76ms
✓ src/agents/workflow-run-registry.test.ts (99 tests) 97ms
✓ src/services/microcompaction/microcompact.test.ts (82 tests) 43ms
✓ src/lsp/NativeLspService.test.ts (33 tests) 373ms
✓ src/hooks/hookSystem.test.ts (95 tests) 102ms
✓ src/tools/write-file.test.ts (83 tests) 143ms
✓ src/tools/read-file.test.ts (87 tests) 223ms
✓ src/tools/edit.test.ts (86 tests) 752ms
✓ EditTool > prior-read enforcement > allows editing a large text file after a ranged read 479ms
✓ src/skills/skill-manager.test.ts (81 tests) 145ms
✓ src/tools/workflow/workflow.test.ts (60 tests) 264ms
✓ src/tools/web-fetch.test.ts (97 tests) 492ms
✓ src/telemetry/sdk.test.ts (73 tests) 599ms
✓ src/tools/tool-registry.test.ts (59 tests) 172ms
✓ src/telemetry/uiTelemetry.test.ts (70 tests) 31ms
✓ src/utils/retry.test.ts (90 tests) 63ms
✓ src/services/memoryPressureMonitor.test.ts (72 tests) 69ms
✓ src/memory/manager.test.ts (48 tests) 182ms
✓ src/agents/runtime/agent-core.test.ts (46 tests) 154ms
✓ src/skills/bundled/review/SKILL.test.ts (41 tests) 63ms
✓ src/tools/ripGrep.test.ts (81 tests) 386ms
✓ src/config/storage.test.ts (101 tests) 75ms
✓ src/utils/atomicFileWrite.test.ts (83 tests) 155ms
✓ src/extension/claude-converter.test.ts (52 tests) 66ms
✓ src/utils/shell-utils.test.ts (172 tests) 59ms
✓ src/tools/monitor.test.ts (81 tests) 55ms
✓ src/ide/ide-client.test.ts (65 tests) 128ms
✓ src/services/postCompactAttachments.test.ts (67 tests) 47ms
✓ src/core/baseLlmClient.test.ts (59 tests) 33ms
✓ src/lsp/LspServerManager.test.ts (46 tests) 255ms
✓ src/qwen/qwenContentGenerator.test.ts (43 tests) 176ms
✓ src/tools/readManyFiles.test.ts (52 tests) 144ms
✓ src/services/session-registry.test.ts (84 tests) 175ms
✓ src/core/prompts.test.ts (109 tests) 33ms
✓ src/core/turn.test.ts (42 tests) 25ms
✓ src/goals/goal-tools.test.ts (41 tests) 98ms
✓ src/utils/filesearch/crawler.test.ts (48 tests) 510ms
✓ src/memory/memoryDiscovery.test.ts (52 tests) 106ms
✓ src/permissions/autoMode.test.ts (88 tests) 41ms
✓ src/mcp/oauth-provider.test.ts (27 tests) 188ms
✓ src/utils/memoryImportProcessor.test.ts (37 tests) 42ms
✓ src/models/modelRegistry.test.ts (79 tests) 23ms
✓ src/tools/glob.test.ts (60 tests) 2890ms
✓ src/services/fileHistoryService.test.ts (51 tests) 130ms
✓ src/tools/todoWrite.test.ts (48 tests) 100ms
✓ src/utils/shellAstParser.test.ts (548 tests) 384ms
✓ src/services/sessionService.corruption.test.ts (65 tests) 117ms
✓ src/core/openaiContentGenerator/streamingToolCallParser.test.ts (89 tests) 20ms
✓ src/agents/backends/InProcessBackend.test.ts (45 tests) 48ms
✓ src/telemetry/log-to-span-processor.test.ts (55 tests) 35ms
✓ src/tools/lsp.test.ts (73 tests) 275ms
[ToolSearch] setTools() failed while revealing deferred tools: chat not initialised
[ToolSearch] setTools() failed while revealing deferred tools: chat not initialised
[ToolSearch] ensureTool failed for "bravo": mid-batch failure
✓ src/tools/tool-search.test.ts (53 tests) 72ms
✓ src/services/visionBridge/vision-bridge-service.test.ts (65 tests) 81ms
✓ src/core/toolHookTriggers.test.ts (62 tests) 15ms
✓ src/agents/runtime/workflow-runner.test.ts (32 tests) 1354ms
✓ src/skills/bundled/loop/loop-task-file.test.ts (38 tests) 58ms
✓ src/extension/npm.test.ts (51 tests) 137ms
✓ src/utils/paths.test.ts (145 tests | 1 skipped) 22ms
✓ src/tools/web-search.test.ts (59 tests) 104ms
✓ src/skills/bundled/loop/loop-tick-resolver.test.ts (38 tests) 54ms
✓ src/goals/goal-reducer.test.ts (93 tests) 20ms
✓ src/hooks/hookAggregator.test.ts (51 tests) 10ms
✓ src/services/backgroundShellRegistry.test.ts (61 tests) 54ms
✓ src/hooks/hookPlanner.test.ts (71 tests) 14ms
✓ src/memory/channel-memory.test.ts (52 tests) 280ms
✓ src/tools/grep.test.ts (59 tests) 249ms
✓ src/core/logger.test.ts (52 tests) 129ms
✓ src/goals/goal-evidence.test.ts (31 tests) 25ms
✓ src/extension/extensionSettings.test.ts (34 tests) 130ms
✓ src/utils/read-text-range.test.ts (47 tests) 684ms
✓ src/permissions/shell-semantics.test.ts (109 tests) 25ms
✓ src/telemetry/metrics.test.ts (50 tests) 99ms
✓ src/models/modelConfigResolver.test.ts (56 tests) 13ms
✓ src/core/environmentContext.test.ts (64 tests) 37ms
✓ src/services/monitorRegistry.test.ts (58 tests) 30ms
✓ src/utils/editor.test.ts (152 tests) 26ms
✓ src/skills/skill-curator.test.ts (37 tests) 119ms
✓ src/memory/forget.test.ts (20 tests) 77ms
✓ src/hooks/hookRunner.test.ts (37 tests) 68ms
✓ src/hooks/hookRegistry.test.ts (39 tests) 21ms
✓ src/services/fileReadCache.test.ts (59 tests) 33ms
✓ src/agents/team/tasks.test.ts (54 tests) 109ms
✓ src/qwen/sharedTokenManager.test.ts (32 tests) 259ms
✓ src/tools/notebook-edit.test.ts (32 tests) 94ms
✓ src/core/client-goal.test.ts (22 tests) 38ms
✓ src/services/session-artifact-persistence.test.ts (30 tests) 22ms
✓ src/telemetry/qwen-logger/qwen-logger.test.ts (41 tests) 24ms
✓ src/goals/goalJudge.test.ts (44 tests) 20ms
✓ src/services/usageHistoryService.test.ts (32 tests) 24ms
✓ src/agents/forkedAgent.cache.test.ts (23 tests) 11ms
✓ src/tools/record-artifact.test.ts (49 tests) 212ms
✓ src/skills/skill-load.test.ts (68 tests) 19ms
✓ src/services/commitAttribution.test.ts (58 tests) 14ms
✓ src/providers/__tests__/provider-config.test.ts (66 tests) 14ms
✓ src/utils/pdf.test.ts (50 tests) 33ms
✓ src/utils/sessionStorageUtils.test.ts (53 tests) 12ms
✓ src/agents/agent-transcript.test.ts (36 tests) 15ms
✓ src/memory/memory-scoped-agent-config.test.ts (23 tests) 70ms
✓ src/followup/speculation.test.ts (21 tests) 681ms
✓ src/services/gitWorktreeService.test.ts (39 tests) 19ms
✓ src/services/chatRecordingService.autoTitle.test.ts (23 tests) 75ms
✓ src/agents/runtime/agent-interactive.test.ts (24 tests) 825ms
✓ src/services/chatRecordingService.customTitle.test.ts (24 tests) 276ms
✓ src/tools/truncation.test.ts (40 tests) 36ms
✓ src/core/tokenLimits.test.ts (89 tests) 12ms
✓ src/services/sessionTitle.test.ts (32 tests) 31ms
✓ src/agents/arena/ArenaManager.test.ts (28 tests) 5055ms
✓ ArenaManager > backend initialization > should emit SESSION_UPDATE with type warning when backend detection returns warning 507ms
✓ ArenaManager > chat history forwarding > passes approvalMode to in-process backend spawn configs 505ms
✓ ArenaManager > chat history forwarding > should pass chatHistory to backend spawnAgent calls 502ms
✓ ArenaManager > chat history forwarding > should pass undefined chatHistory when not provided 503ms
✓ ArenaManager > chat history forwarding > builds the in-process worker prompt with headless mode and the active style 503ms
✓ ArenaManager > chat history forwarding > does not embed the auto-memory section in the worker system prompt 503ms
✓ ArenaManager > active session lifecycle > collects diff summaries and fallback approach summaries 1004ms
✓ ArenaManager > active session lifecycle > cancel should stop backend and move session to CANCELLED 504ms
✓ ArenaManager > active session lifecycle > cleanup should release backend and worktree resources after start 503ms
✓ src/core/contentGenerator.test.ts (27 tests) 392ms
✓ src/memory/extract.test.ts (21 tests) 61ms
✓ src/utils/runtimeFetchOptions.test.ts (69 tests) 19ms
✓ src/telemetry/gen-ai-content.test.ts (27 tests) 70ms
✓ src/services/fileSystemService.test.ts (68 tests) 27ms
✓ src/services/shellContextEnv.test.ts (37 tests) 15ms
✓ src/services/tokenUsageService.test.ts (18 tests) 350ms
✓ src/goals/goalHook.test.ts (38 tests) 25ms
✓ src/utils/git-branches.test.ts (57 tests) 1507ms
✓ src/utils/ripgrepUtils.test.ts (34 tests) 13ms
✓ src/ipc/inbound-gate.test.ts (49 tests) 25ms
✓ src/tools/agent/agent-override.test.ts (22 tests) 29ms
✓ src/agents/forkedAgent.agent.test.ts (13 tests) 21ms
✓ src/services/gitWorktreeService.symlinks.integ.test.ts (15 tests) 2368ms
✓ src/core/openaiContentGenerator/provider/default.test.ts (36 tests) 12ms
✓ src/telemetry/daemon-tracing.test.ts (28 tests) 35ms
✓ src/telemetry/config.test.ts (47 tests) 11ms
✓ src/utils/openaiLogger.test.ts (40 tests) 132ms
✓ src/lsp/NativeLspService.integration.test.ts (30 tests) 9ms
✓ src/extension/marketplace.test.ts (33 tests) 18ms
✓ src/tools/tool-response-finalizer.test.ts (25 tests) 14ms
✓ src/memory/recall.test.ts (51 tests) 14ms
✓ src/providers/__tests__/install.test.ts (22 tests) 24ms
(node:267409) 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)
✓ src/config/config-session-env.test.ts (19 tests) 3205ms
✓ Config sessionEnvClaimed guard > first Config sets process.env QWEN_CODE_SESSION_ID to its sessionId 650ms
✓ src/utils/filesearch/fileSearch.test.ts (29 tests) 197ms
✓ src/services/sessionService.rename.test.ts (19 tests) 12ms
✓ src/memory/skillReviewAgentPlanner.test.ts (32 tests) 47ms
✓ src/hooks/promptHookRunner.test.ts (27 tests) 128ms
✓ src/tools/session-mcp-view.test.ts (24 tests) 11ms
✓ src/services/image-generation-service.test.ts (21 tests) 51ms
✓ src/agents/runtime/workflow-saved.test.ts (40 tests) 56ms
✓ src/tools/report-findings.test.ts (32 tests) 111ms
✓ src/services/cronTasksFile.test.ts (45 tests) 171ms
✓ src/core/session-start-profiler.test.ts (21 tests) 30ms
✓ src/config/rulesDiscovery.test.ts (36 tests) 50ms
✓ src/tools/mcp-client-v2.test.ts (10 tests) 5281ms
✓ configured MCP SDK v2 negotiation > preserves the default discovery budget for legacy initialization 5161ms
✓ src/utils/workspaceContext.test.ts (46 tests) 19ms
✓ src/utils/memoryDiagnostics.test.ts (12 tests) 43ms
✓ src/services/compactionInputSlimming.test.ts (37 tests) 8ms
✓ src/utils/notebook.test.ts (30 tests) 27ms
✓ src/utils/toolResultDisplayCompaction.test.ts (31 tests) 12ms
✓ src/hooks/sessionHooksManager.test.ts (36 tests) 11ms
✓ src/core/openaiContentGenerator/provider/deepseek.test.ts (29 tests) 9ms
✓ src/utils/git-ignore.test.ts (19 tests) 5634ms
✓ isGitIgnored > kills a wedged probe at the caller’s deadline and reads it as not-ignored 506ms
✓ isGitIgnored > kills a wedged probe at the default deadline 5028ms
✓ src/tools/exitPlanMode.test.ts (30 tests) 14ms
✓ src/services/session-organization-service.test.ts (25 tests) 60ms
✓ src/core/message-display-dispatcher.test.ts (18 tests) 12ms
✓ src/utils/gitDirect.test.ts (68 tests) 46ms
✓ src/agents/backends/ITermBackend.test.ts (46 tests) 23ms
✓ src/core/xml-tool-call-fallback.test.ts (42 tests) 9ms
✓ src/memory/remember.test.ts (16 tests) 52ms
✓ src/tools/zoom-image.test.ts (19 tests) 211ms
✓ src/extension/qoder-converter.test.ts (25 tests) 33ms
✓ src/utils/sideQuery.test.ts (23 tests) 40ms
✓ src/core/openaiContentGenerator/errorHandler.test.ts (45 tests) 26ms
✓ src/utils/secure-browser-launcher.test.ts (31 tests) 17ms
✓ src/memory/recall-eval.test.ts (8 tests) 26ms
✓ src/services/sleepInhibitor.test.ts (23 tests) 879ms
✓ src/agents/arena/ArenaAgentClient.test.ts (21 tests) 25ms
✓ src/memory/prompt.test.ts (33 tests) 6ms
✓ src/mcp/oauth-token-storage.test.ts (31 tests) 79ms
✓ src/tools/tool-result-boundary-diagnostics.test.ts (18 tests) 45ms
✓ src/config/config.safe-mode.test.ts (24 tests) 22ms
✓ src/tools/ls.test.ts (30 tests) 102ms
✓ src/utils/schemaConverter.test.ts (33 tests) 6ms
✓ src/core/client.telemetrySwap.test.ts (10 tests) 10ms
✓ src/extension/variables.test.ts (22 tests) 26ms
✓ src/utils/fetch.test.ts (64 tests) 3338ms
✓ fetchWithPolicy retry > retries once on 403 and returns the successful second response 502ms
✓ fetchWithPolicy retry > retries once on 429 and returns the successful second response 503ms
✓ fetchWithPolicy retry > returns the original 403 when the retry also fails 503ms
✓ fetchWithPolicy retry > retries once on transient network errors (ECONNRESET) 503ms
✓ fetchWithPolicy retry > retries once on transient network errors (EAI_AGAIN) 501ms
✓ fetchWithPolicy retry abort handling > retries once on undici socket errors (UND_ERR_SOCKET) 502ms
✓ src/utils/debugLogger.test.ts (36 tests) 33ms
Preparing worktree (new branch 'review-pr-1')
Preparing worktree (new branch 'review-pr-1')
Preparing worktree (new branch 'review-pr-1')
Preparing worktree (new branch 'review-pr-1')
Preparing worktree (new branch 'review-pr-1')
Preparing worktree (new branch 'evil')
Preparing worktree (new branch 'review-pr-1')
Preparing worktree (new branch 'fbranch')
Preparing worktree (new branch 'sbranch')
✓ src/services/gitWorktreeService.linked.integ.test.ts (14 tests) 353ms
✓ src/memory/extractionAgentPlanner.test.ts (18 tests) 13ms
✓ src/telemetry/tracer.test.ts (31 tests) 20ms
✓ src/mcp/oauth-utils.test.ts (33 tests) 10ms
✓ src/utils/systemEncoding.test.ts (41 tests) 10ms
✓ src/agents/backends/TmuxBackend.test.ts (27 tests) 17ms
✓ src/tools/team-lifecycle.test.ts (5 tests) 566ms
✓ Team lifecycle E2E > full lifecycle: create → tasks → messages → list → update → delete 556ms
✓ src/utils/conversation-branches.test.ts (21 tests) 7ms
✓ src/services/session-reference-service.test.ts (24 tests) 9ms
✓ src/utils/jsonl-utils.test.ts (40 tests) 29ms
✓ src/memory/recall-delivery-eval.test.ts (7 tests) 453ms
✓ src/tools/send-message.test.ts (21 tests) 40ms
✓ src/mcp/token-storage/file-token-storage.test.ts (25 tests) 685ms
✓ src/tools/task-stop.test.ts (14 tests) 32ms
✓ src/core/geminiContentGenerator/geminiContentGenerator.test.ts (15 tests) 8ms
✓ src/utils/retryErrorClassification.test.ts (39 tests) 8ms
✓ src/utils/shellReadOnlyChecker.test.ts (230 tests) 153ms
✓ src/telemetry/detailed-span-attributes.test.ts (47 tests) 11ms
✓ src/utils/sedEditParser.test.ts (38 tests) 10ms
✓ src/utils/gitIgnoreParser.test.ts (35 tests) 47ms
✓ src/memory/writeContextFile.test.ts (17 tests) 24ms
✓ src/hooks/httpHookRunner.test.ts (20 tests) 28ms
✓ src/memory/skillReviewNudge.integration.test.ts (18 tests) 12ms
✓ src/subagents/validation.test.ts (41 tests) 11ms
✓ src/agents/workflow-snapshot.test.ts (20 tests) 54ms
✓ src/core/plan-mode-shell-policy.test.ts (19 tests) 37ms
✓ src/hooks/asyncHookRegistry.test.ts (20 tests) 8ms
✓ src/agents/team/mailbox.test.ts (19 tests) 74ms
✓ src/memory/store.test.ts (17 tests) 36ms
✓ src/agents/team/teamHelpers.test.ts (46 tests) 46ms
↓ src/agents/runtime/workflow-p4a-meta-live.live.test.ts (6 tests | 6 skipped)
✓ src/agents/runtime/workflow-stall.test.ts (26 tests) 28ms
✓ src/utils/process-liveness.test.ts (30 tests) 24ms
✓ src/followup/suggestionGenerator.test.ts (24 tests) 8ms
✓ src/skills/skill-activation.test.ts (22 tests) 723ms
✓ extractToolFilePaths → SkillActivationRegistry integration > activates a skill keyed on src/**/*.ts from glob({ path: "src", pattern: "**/*.ts" }) 711ms
✓ src/services/toolUseSummary.test.ts (34 tests) 33ms
✓ src/telemetry/daemon-metrics.test.ts (22 tests) 43ms
✓ src/core/nonInteractiveToolExecutor.test.ts (10 tests) 19ms
✓ src/tools/artifact/artifact-tool.test.ts (20 tests) 196ms
✓ src/utils/partUtils.test.ts (47 tests) 6ms
✓ src/permissions/classifier-transcript.test.ts (14 tests) 5ms
✓ src/services/image-payload-references.test.ts (19 tests) 7ms
✓ src/tools/exit-worktree.session.integ.test.ts (8 tests) 1859ms
✓ src/utils/abortController.test.ts (26 tests | 1 skipped) 17ms
✓ src/tools/task-update.test.ts (18 tests) 112ms
✓ src/ipc/uds-inbox.test.ts (21 tests) 1993ms
✓ client errors > gives up on a peer that dribbles bytes back instead of closing 502ms
✓ client errors > drops sends beyond the concurrent cap instead of opening unbounded connections 1056ms
✓ src/utils/rateLimit.test.ts (35 tests) 16ms
✓ src/agents/team/TeamManager.plan-approval.test.ts (11 tests) 24ms
✓ src/tools/enter-worktree.test.ts (26 tests) 38ms
✓ src/services/usage-dashboard-service.test.ts (9 tests) 14ms
✓ src/agents/runtime/workflow-meta-literal.test.ts (78 tests) 9ms
✓ src/hooks/functionHookRunner.test.ts (20 tests) 81ms
✓ src/tools/askUserQuestion.test.ts (15 tests) 6ms
✓ src/permissions/classifier.test.ts (23 tests) 10ms
✓ src/extension/sourceRegistry.test.ts (23 tests) 9ms
✓ src/ide/ideContext.test.ts (23 tests) 9ms
✓ src/utils/generateContentResponseUtilities.test.ts (37 tests) 6ms
✓ src/services/visionBridge/tool-result-vision-bridge.test.ts (12 tests) 8ms
✓ src/memory/memoryLifecycle.integration.test.ts (3 tests) 57ms
✓ src/tools/exit-worktree.test.ts (16 tests) 1091ms
✓ src/models/content-generator-config.test.ts (18 tests) 7ms
✓ src/utils/getFolderStructure.test.ts (17 tests) 29ms
✓ src/memory/relevanceSelector.test.ts (13 tests) 19ms
✓ src/utils/request-tokenizer/textTokenizer.test.ts (36 tests) 26ms
✓ src/core/__tests__/openaiTimeoutHandling.test.ts (11 tests) 19ms
✓ src/utils/nextSpeakerChecker.test.ts (13 tests) 31ms
✓ src/utils/errors.test.ts (44 tests) 28ms
✓ src/mcp/token-storage/keychain-token-storage.test.ts (24 tests) 131ms
✓ src/subagents/builtin-agents.test.ts (16 tests) 6ms
✓ src/telemetry/gen-ai-exchange.test.ts (13 tests) 7ms
✓ src/ipc/peer-envelope.test.ts (29 tests) 5ms
✓ src/followup/followupState.test.ts (18 tests) 12ms
✓ src/core/openaiContentGenerator/pipeline.concurrent.test.ts (2 tests) 14ms
✓ src/tools/enterPlanMode.test.ts (21 tests) 27ms
✓ src/permissions/classifier-prompts/system-prompt.test.ts (22 tests) 5ms
✓ src/agents/runtime/agent-statistics.test.ts (33 tests) 15ms
✓ src/subagents/subagent-manager-override.test.ts (6 tests) 12ms
✓ src/utils/ignorePatterns.test.ts (29 tests) 7ms
✓ src/core/permissionFlow.test.ts (26 tests) 8ms
✓ src/memory/userMemory.test.ts (13 tests) 22ms
✓ src/utils/transcript-records.test.ts (20 tests) 16ms
✓ src/agents/team/test-utils/fake-agent.test.ts (28 tests) 9ms
✓ src/services/worktreeSessionService.test.ts (21 tests) 23ms
✓ src/permissions/dangerousRules.test.ts (110 tests) 8ms
✓ src/utils/github-prs.test.ts (23 tests) 11ms
✓ src/memory/refresh.test.ts (9 tests) 17ms
✓ src/telemetry/event-loop-lag.test.ts (16 tests) 27ms
✓ src/core/openaiContentGenerator/openaiContentGenerator.test.ts (12 tests) 12ms
✓ src/memory/team-memory-sync.test.ts (10 tests) 614ms
✓ src/tools/read-mcp-resource.test.ts (15 tests) 35ms
✓ src/hooks/promptHookIntegration.test.ts (9 tests) 119ms
✓ src/utils/yaml-parser.test.ts (38 tests) 31ms
✓ src/utils/shell-ast-parser-lazy.test.ts (5 tests) 273ms
✓ src/permissions/destructive-commands.test.ts (31 tests) 6ms
✓ src/extension/agent-plugins-v1/mcp.test.ts (11 tests) 11ms
✓ src/mcp/token-storage/hybrid-token-storage.test.ts (13 tests) 11ms
✓ src/services/memoryDiagnosticsDumper.test.ts (11 tests) 19ms
✓ src/core/modalityDefaults.test.ts (50 tests) 8ms
✓ src/utils/binary-content.test.ts (73 tests) 9ms
✓ src/permissions/denialTracking.test.ts (34 tests) 5ms
✓ src/agents/runtime/agent-context.test.ts (22 tests) 11ms
✓ src/tools/tool-result-retention.test.ts (19 tests) 5ms
✓ src/agents/backends/iterm-it2.test.ts (19 tests) 7ms
✓ src/tools/cron-create.test.ts (18 tests) 261ms
✓ src/utils/filesearch/ignore.test.ts (21 tests) 17ms
✓ src/extension/extension-runtime-refresh.test.ts (9 tests) 9ms
✓ src/utils/filesearch/fzfWorkerHandle.test.ts (13 tests) 98ms
✓ src/utils/errorParsing.test.ts (25 tests) 4ms
✓ src/tools/modifiable-tool.test.ts (11 tests) 14ms
✓ src/core/openaiContentGenerator/taggedThinkingParser.test.ts (27 tests) 5ms
✓ src/hooks/registerSkillHooks.test.ts (11 tests) 4ms
✓ src/skills/skill-curator.rollback.test.ts (5 tests) 56ms
✓ src/tools/agent/fork-subagent.test.ts (21 tests) 5ms
✓ src/memory/indexer.test.ts (8 tests) 27ms
✓ src/tools/loop-wakeup.test.ts (19 tests) 50ms
✓ src/utils/runtimeStatus.test.ts (21 tests) 18ms
✓ src/tools/toAutoClassifierInput.test.ts (14 tests) 4ms
✓ src/services/branch-points.test.ts (18 tests) 5ms
✓ src/confirmation-bus/message-bus.test.ts (15 tests) 68ms
✓ src/subagents/agent-frontmatter-schema.test.ts (26 tests) 5ms
✓ src/memory/dreamAgentPlanner.test.ts (10 tests) 61ms
✓ src/services/fileReadCache.integration.test.ts (3 tests) 36ms
✓ src/telemetry/resource-attributes.test.ts (35 tests) 10ms
✓ src/core/openaiContentGenerator/prefix-caching.test.ts (21 tests) 4ms
✓ src/tools/agent/fork-profile.test.ts (35 tests) 40ms
✓ src/utils/runtimeStatus.config.test.ts (6 tests) 306ms
✓ src/memory/team-index.test.ts (10 tests) 24ms
✓ src/output/json-formatter.test.ts (15 tests) 5ms
✓ src/tools/create-sub-session.test.ts (14 tests) 39ms
✓ src/utils/quotaErrorDetection.test.ts (29 tests) 4ms
✓ src/extension/archive-safety.test.ts (8 tests) 2451ms
✓ assertTarArchiveHasNoLinks > accepts an archive with exactly the entry-count limit 1173ms
✓ assertTarArchiveHasNoLinks > rejects an archive just over the entry-count limit 1191ms
✓ src/utils/cronParser.test.ts (31 tests) 22ms
✓ src/tools/mcp-pool-key.test.ts (25 tests) 6ms
✓ src/goals/goal-checkpoint-verifier.test.ts (6 tests) 11ms
✓ src/tools/image-gen.test.ts (8 tests) 41ms
✓ src/utils/terminalSerializer.test.ts (20 tests) 62ms
✓ src/skills/bundled/goal-draft/SKILL.test.ts (8 tests) 15ms
✓ src/tools/artifact/oss-publisher.test.ts (16 tests) 22ms
✓ src/core/openaiContentGenerator/provider/zai.test.ts (15 tests) 6ms
✓ src/services/session-pr-service.test.ts (23 tests) 62ms
✓ src/tools/mcp-retry.test.ts (38 tests) 1272ms
✓ retryWithBackoff > retries up to maxRetries and then throws 604ms
✓ src/agents/runtime/agent-core.skill-gate.test.ts (11 tests) 6ms
✓ src/telemetry/gen-ai-request.test.ts (23 tests) 6ms
✓ src/services/fileDiscoveryService.test.ts (15 tests) 23ms
✓ src/utils/gitUtils.test.ts (12 tests) 9ms
✓ src/memory/learn-skill-agent.test.ts (36 tests) 19ms
✓ src/core/toolCallIdUtils.test.ts (11 tests) 5ms
✓ src/services/runtimeSampleRing.test.ts (10 tests) 6ms
✓ src/goals/goal-verifier.test.ts (13 tests) 10ms
✓ src/services/chatRecordingService.parentSession.test.ts (8 tests) 10ms
✓ src/services/cronTasksLock.test.ts (15 tests) 19ms
✓ src/tools/file-read-permission.test.ts (15 tests) 12ms
✓ src/agents/team/test-utils/fake-backend.test.ts (18 tests) 61ms
✓ src/goals/goalLoop.integration.test.ts (2 tests) 6ms
✓ src/memory/channel-memory-document.test.ts (24 tests) 9ms
✓ src/ipc/peer-frames.test.ts (43 tests) 7ms
✓ src/goals/goal-continuation-prompt.test.ts (10 tests) 4ms
✓ src/hooks/urlValidator.test.ts (25 tests) 9ms
✓ src/utils/envVarResolver.test.ts (16 tests) 5ms
✓ src/agents/worktree-pin.test.ts (10 tests) 11ms
✓ src/tools/tools.test.ts (13 tests) 6ms
✓ src/tools/cron-list.test.ts (10 tests) 57ms
✓ src/tools/team-create.test.ts (12 tests) 70ms
✓ src/followup/speculationToolGate.test.ts (32 tests) 50ms
✓ src/utils/retryPolicy.test.ts (20 tests) 14ms
✓ src/tools/mcp-workspace-budget.test.ts (17 tests) 6ms
✓ src/memory/team-paths.test.ts (10 tests) 6ms
✓ src/services/tokenEstimation.test.ts (18 tests) 3ms
✓ src/core/environmentContext.mcp-subagent.test.ts (3 tests) 124ms
✓ src/utils/modelId.test.ts (26 tests) 5ms
✓ src/utils/qwenIgnoreParser.test.ts (12 tests) 14ms
✓ src/hooks/ssrfGuard.test.ts (27 tests) 11ms
✓ src/utils/filesearch/crawlCache.test.ts (13 tests) 23ms
✓ src/tools/client-mcp-registrar.test.ts (5 tests) 39ms
✓ src/utils/subagentGenerator.test.ts (9 tests) 26ms
✓ src/agents/runtime/workflow-dispatch-scheduler.test.ts (13 tests) 165ms
✓ src/telemetry/trace-context.test.ts (18 tests) 4ms
✓ src/tools/diffOptions.test.ts (16 tests) 5ms
✓ src/tools/shell.backgroundStatus.test.ts (3 tests) 1853ms
✓ background shell status sidecar (integration, real spawn) > reports running (with pid) while a quiet child keeps the output file empty, then completed 1641ms
✓ src/memory/recall-scan-latency.test.ts (1 test) 292ms
✓ src/utils/contextLengthError.test.ts (30 tests) 6ms
✓ src/core/turn-interruption.test.ts (15 tests) 4ms
✓ src/providers/__tests__/model-discovery.test.ts (18 tests) 8ms
✓ src/config/config.workflow-registration.test.ts (6 tests) 13ms
✓ src/mcp/token-storage/base-token-storage.test.ts (14 tests) 14ms
[warn] Corrupt extension state file /tmp/ext-prefs-pWf9dJ/nested/extension-preferences.json moved aside to /tmp/ext-prefs-pWf9dJ/nested/extension-preferences.json.corrupted
✓ src/extension/extensionPreferences.test.ts (11 tests) 10ms
✓ src/utils/runtimeDiagnostics.test.ts (4 tests) 4ms
✓ src/telemetry/gen-ai-provider.test.ts (64 tests) 5ms
✓ src/extension/gemini-converter.test.ts (11 tests) 6ms
✓ src/tools/mcp-resource-content.test.ts (13 tests) 5ms
✓ src/utils/safeJsonStringify.test.ts (17 tests) 3ms
✓ src/utils/editHelper.test.ts (17 tests) 4ms
✓ src/agents/runtime/workflow-journal.test.ts (16 tests) 11ms
✓ src/providers/__tests__/presets/alibaba-token-plan.test.ts (4 tests) 5ms
✓ src/hooks/detectTodoChanges.test.ts (12 tests) 4ms
✓ src/hooks/envInterpolator.test.ts (30 tests) 8ms
✓ src/followup/overlayFs.test.ts (15 tests) 17ms
✓ src/memory/pending-skills.test.ts (11 tests) 18ms
✓ src/goals/goal-persistence.test.ts (13 tests) 4ms
✓ src/agents/runtime/subagent-plan-tool-policy.test.ts (6 tests) 4ms
✓ src/utils/workspace-artifact-directory.test.ts (9 tests) 13ms
✓ src/extension/extension-git-client.test.ts (12 tests) 25ms
✓ src/core/goal-turn-integration.test.ts (3 tests) 9ms
✓ src/tools/skill-utils.test.ts (11 tests) 9ms
✓ src/models/reproduce-401.test.ts (3 tests) 5ms
✓ src/tools/request-shutdown.test.ts (9 tests) 27ms
✓ src/agents/runtime/workflow-budget.test.ts (20 tests) 7ms
✓ src/followup/smoke.test.ts (21 tests) 10ms
✓ src/tools/artifact/html.test.ts (38 tests) 4ms
✓ src/tools/display-image.test.ts (7 tests) 47ms
✓ src/providers/__tests__/presets/custom-provider.test.ts (11 tests) 7ms
✓ src/tools/artifact/host-publisher.test.ts (17 tests) 16ms
✓ src/test-utils/mockWorkspaceContext.test.ts (9 tests) 6ms
Error: Unsupported mode "midnight". Use "light" or "dark".
✓ src/skills/bundled/dataviz/scripts/validate_palette.test.js (19 tests) 145ms
✓ src/core/anthropicContentGenerator/usage.test.ts (10 tests) 3ms
✓ src/config/config.workflows.test.ts (4 tests) 8ms
✓ src/utils/errorReporting.test.ts (8 tests) 8ms
✓ src/mcp/sa-impersonation-provider.test.ts (8 tests) 7ms
✓ src/ide/ide-installer.test.ts (10 tests) 9ms
✓ src/core/openaiContentGenerator/provider/mimo.test.ts (9 tests) 7ms
✓ src/tools/team-plan-approval.test.ts (9 tests) 7ms
✓ src/tools/task-create.test.ts (9 tests) 41ms
✓ src/extension/extension-converter.test.ts (4 tests) 14ms
✓ src/hooks/types.test.ts (15 tests) 4ms
✓ src/utils/runtime-fetch-options.no-proxy.test.ts (3 tests) 40ms
✓ src/extension/i18n.test.ts (16 tests) 4ms
✓ src/ide/process-utils.test.ts (6 tests) 4ms
✓ src/extension/extension-git-credentials.test.ts (4 tests) 198ms
✓ src/core/ask-user-question-restore.test.ts (8 tests) 4ms
✓ src/utils/proxyUtils.test.ts (23 tests) 4ms
✓ src/skills/skill-manager.read-model.test.ts (3 tests) 43ms
✓ src/utils/textUtils.test.ts (25 tests) 4ms
✓ src/memory/secret-scanner.test.ts (29 tests) 121ms
✓ src/utils/cronDisplay.test.ts (7 tests) 4ms
✓ src/tools/task-list.test.ts (9 tests) 69ms
✓ src/utils/terminalSafe.test.ts (16 tests) 4ms
✓ src/goals/goal-checkpoint.test.ts (7 tests) 5ms
✓ src/resources/resource-registry.test.ts (11 tests) 8ms
✓ src/utils/safeJsonParse.test.ts (14 tests) 5ms
✓ src/skills/bundled/loop/SKILL.test.ts (7 tests) 11ms
✓ src/core/message-display-buffer.test.ts (9 tests) 3ms
✓ src/tools/enter-worktree.session.integ.test.ts (2 tests) 503ms
✓ src/core/tool-invocation-guard.test.ts (11 tests) 5ms
✓ src/core/reasoning-effort.test.ts (13 tests) 4ms
✓ src/providers/__tests__/presets/alibaba-standard.test.ts (8 tests) 5ms
✓ src/ide/detect-ide.test.ts (14 tests) 4ms
✓ src/memory/scan.test.ts (4 tests) 21ms
✓ src/core/output-styles.test.ts (15 tests) 3ms
✓ src/providers/__tests__/presets/moonshot.test.ts (6 tests) 5ms
✓ src/core/openaiContentGenerator/provider/minimax.test.ts (9 tests) 3ms
✓ src/goals/goal-legacy-projection.test.ts (13 tests) 4ms
✓ src/tools/mcp-discovery-timeout.test.ts (14 tests) 6ms
✓ src/core/permission-helpers.test.ts (8 tests) 5ms
✓ src/extension/override.test.ts (16 tests) 3ms
✓ src/prompts/prompt-registry.test.ts (11 tests) 8ms
✓ src/agents/team/identity.test.ts (15 tests) 3ms
✓ src/utils/projectPath.test.ts (12 tests) 4ms
✓ src/extension/settings.test.ts (10 tests) 4ms
✓ src/core/loggingContentGenerator/streamContentDetection.test.ts (16 tests) 3ms
✓ src/tools/grepReadTracking.test.ts (7 tests) 7ms
✓ src/utils/conversation-chain.test.ts (8 tests) 4ms
✓ src/services/generatedFiles.test.ts (11 tests) 3ms
✓ src/utils/thoughtUtils.test.ts (15 tests) 3ms
✓ src/extension/zip-extraction.test.ts (3 tests) 8ms
✓ src/services/visionBridge/image-part-utils.test.ts (18 tests) 4ms
✓ src/mcp/configHash.test.ts (16 tests) 3ms
✓ src/skills/skill-curator.reread.test.ts (1 test) 17ms
✓ src/tools/cron-delete.test.ts (7 tests) 43ms
✓ src/ipc/socket-path.test.ts (9 tests) 4ms
✓ src/utils/configResolver.test.ts (12 tests) 3ms
✓ src/hooks/trustedHooks.test.ts (5 tests) 3ms
✓ src/telemetry/file-exporters.test.ts (3 tests) 5ms
✓ src/core/session-recovery.test.ts (4 tests) 4ms
✓ src/core/openaiContentGenerator/provider/mistral.test.ts (4 tests) 4ms
✓ src/agents/team/promptAddendum.test.ts (6 tests) 2ms
✓ src/agents/arena/diff-summary.test.ts (8 tests) 3ms
✓ src/utils/xml.test.ts (10 tests) 6ms
✓ src/extension/agent-plugins-v1/manifest.test.ts (6 tests) 5ms
✓ src/services/gitWorktreeService.hooks.integ.test.ts (3 tests) 567ms
✓ src/providers/__tests__/presets/grok.test.ts (6 tests) 7ms
✓ src/services/attributionTrailer.test.ts (4 tests) 5ms
✓ src/utils/osc8.test.ts (13 tests) 3ms
✓ src/providers/__tests__/presets/idealab.test.ts (6 tests) 5ms
✓ src/hooks/user-prompt-submit-context.test.ts (13 tests) 3ms
✓ src/telemetry/event-loop-lag-metrics.test.ts (4 tests) 15ms
✓ src/core/openaiContentGenerator/provider/modelscope.test.ts (5 tests) 4ms
✓ src/extension/redaction.test.ts (13 tests) 3ms
✓ src/core/prompt-tool-examples.test.ts (2 tests) 35ms
✓ src/tools/web-fetch-preapproved.test.ts (13 tests) 3ms
✓ src/skills/skill-paths.test.ts (7 tests) 8ms
✓ src/utils/toml-to-markdown-converter.test.ts (11 tests) 12ms
✓ src/mcp/google-auth-provider.test.ts (8 tests) 8ms
✓ src/core/inlineMediaLimit.test.ts (13 tests) 3ms
✓ src/utils/filesearch/result-cache.test.ts (6 tests) 6ms
✓ src/utils/image-view.test.ts (4 tests) 57ms
✓ src/utils/projectRoot.test.ts (5 tests) 7ms
✓ src/memory/team-memory-git-status.test.ts (5 tests) 39ms
✓ src/hooks/combinedAbortSignal.test.ts (8 tests) 306ms
✓ src/extension/network-policy.test.ts (15 tests) 10ms
✓ src/tools/list-agents.test.ts (3 tests) 20ms
✓ src/skills/skill-load.real-parser.test.ts (7 tests) 14ms
✓ src/telemetry/session-context.test.ts (9 tests) 5ms
✓ src/config/installationManager.test.ts (4 tests) 4ms
✓ src/core/geminiRequest.test.ts (13 tests) 4ms
✓ src/agents/team/leaderPermissionBridge.test.ts (7 tests) 4ms
✓ src/extension/storage.test.ts (5 tests) 5ms
✓ src/hooks/stopHookCap.test.ts (9 tests) 4ms
✓ src/memory/extractAgent.test.ts (1 test) 17ms
✓ src/utils/invocation-context.test.ts (12 tests) 4ms
✓ src/tools/team-delete.test.ts (5 tests) 541ms
✓ src/lsp/NativeLspClient.test.ts (2 tests) 4ms
✓ src/extension/agent-plugins-v1/skills.test.ts (3 tests) 15ms
✓ src/tools/tool-utils.test.ts (13 tests) 3ms
✓ src/memory/dream.test.ts (3 tests) 13ms
✓ src/core/geminiContentGenerator/index.test.ts (3 tests) 7ms
✓ src/tools/tool-response-finalizer.integration.test.ts (2 tests) 11ms
✓ src/goals/activeGoalStore.test.ts (8 tests) 3ms
✓ src/skills/symlinkScope.test.ts (5 tests) 4ms
✓ src/skills/bundled-skills.integration.test.ts (15 tests) 18ms
✓ src/tools/syntheticOutput.test.ts (7 tests) 29ms
✓ src/hooks/instructionsLoadedCallback.test.ts (4 tests) 5ms
✓ src/utils/bundlePaths.test.ts (4 tests) 2ms
✓ src/providers/__tests__/presets/modelscope.test.ts (3 tests) 5ms
✓ src/telemetry/sanitize.test.ts (10 tests) 4ms
✓ src/goals/goal-runtime.integration.test.ts (2 tests) 11ms
✓ src/services/session-file-history-state.test.ts (2 tests) 17ms
✓ src/utils/sanitize-child-env.test.ts (6 tests) 4ms
✓ src/services/sessionRecap.test.ts (1 test) 5ms
✓ src/services/session-service-writer-lease.test.ts (2 tests) 12ms
✓ src/utils/projectSummary.test.ts (3 tests) 19ms
✓ src/utils/workspace-artifact-path.test.ts (8 tests) 3ms
✓ src/memory/const.test.ts (4 tests) 3ms
✓ src/tools/mcp-status.test.ts (6 tests) 3ms
✓ src/core/openaiContentGenerator/provider/grok.test.ts (8 tests) 4ms
✓ src/utils/shell-pager-env.test.ts (8 tests) 3ms
✓ src/utils/ripgrepUtils.real.test.ts (2 tests) 12ms
✓ src/agents/subagent-result.test.ts (18 tests) 4ms
✓ src/utils/language-detection.test.ts (6 tests) 2ms
✓ src/providers/__tests__/presets/zai.test.ts (3 tests) 5ms
✓ src/providers/__tests__/presets/alibaba-coding-plan.test.ts (2 tests) 4ms
✓ src/core/genai-compat.test.ts (7 tests) 4ms
✓ src/memory/team-memory-secret-guard.test.ts (4 tests) 4ms
✓ src/providers/__tests__/presets/openrouter.test.ts (5 tests) 2ms
✓ src/extension/corruptFile.test.ts (2 tests) 6ms
✓ src/providers/__tests__/presets/requesty.test.ts (5 tests) 3ms
✓ src/test-utils/mockWorkspaceContext.fallback.test.ts (3 tests) 3ms
✓ src/agents/backends/tmux-commands.test.ts (8 tests) 4ms
✓ src/tools/artifact/local-publisher.test.ts (3 tests) 5ms
✓ src/telemetry/session-events.test.ts (5 tests) 16ms
✓ src/skills/bundled/loop/autonomous-loop.test.ts (3 tests) 2ms
✓ src/providers/__tests__/presets/deepseek.test.ts (3 tests) 4ms
✓ src/tools/tool-call-repeat-key.test.ts (3 tests) 3ms
✓ src/tools/zoom-image.sharp-failure.test.ts (1 test) 24ms
✓ src/utils/asyncMessageQueue.test.ts (7 tests) 3ms
✓ src/providers/__tests__/presets/minimax.test.ts (4 tests) 4ms
✓ src/tools/artifact/create-publisher.test.ts (5 tests) 3ms
✓ src/telemetry/telemetry.test.ts (2 tests) 31ms
✓ src/utils/load-simple-git.test.ts (3 tests) 8ms
✓ src/lsp/LspConnectionFactory.test.ts (2 tests) 61ms
✓ src/utils/startupEventSink.test.ts (4 tests) 4ms
✓ src/utils/request-tokenizer/supportedImageFormats.test.ts (2 tests) 3ms
✓ src/telemetry/api-activity-tracker.test.ts (3 tests) 3ms
✓ src/utils/internalPromptIds.test.ts (9 tests) 3ms
✓ src/lsp/configHash.test.ts (3 tests) 4ms
✓ src/telemetry/trace-id-utils.test.ts (8 tests) 5ms
✓ src/services/sync-file-encoding.test.ts (9 tests) 34ms
✓ src/utils/messageInspectors.test.ts (5 tests) 2ms
✓ src/utils/formatters.test.ts (13 tests) 3ms
✓ src/telemetry/telemetry-utils.test.ts (6 tests) 2ms
✓ src/utils/load-iconv-lite.test.ts (3 tests) 11ms
✓ src/services/tool-write-origin.test.ts (9 tests) 3ms
✓ src/subagents/types.test.ts (3 tests) 3ms
✓ src/hooks/context-usage.test.ts (8 tests) 3ms
✓ src/utils/load-xterm-headless.test.ts (3 tests) 12ms
✓ src/core/tool-call-preparation.test.ts (3 tests) 3ms
✓ src/tools/artifact/publisher.test.ts (5 tests) 3ms
✓ src/core/plan-mode-entry-policy.test.ts (8 tests) 2ms
✓ src/services/worktreeCleanup.test.ts (3 tests) 2ms
✓ src/memory/entries.test.ts (1 test) 3ms
✓ src/core/openaiContentGenerator/constants.test.ts (5 tests) 2ms
✓ src/core/tool-call-arguments.test.ts (8 tests) 3ms
✓ src/utils/getPty.test.ts (1 test) 2ms
✓ src/core/openaiContentGenerator/provider/openrouter.test.ts (6 tests) 2ms
✓ src/utils/env.test.ts (12 tests) 3ms
✓ src/models/image-generation-capability.test.ts (6 tests) 2ms
✓ src/goals/goal-turn-context.test.ts (1 test) 2ms
✓ src/telemetry/tool-call-decision.test.ts (1 test) 2ms
✓ src/index.test.ts (1 test) 2ms
Test Files 606 passed | 1 skipped (607)
Tests 21946 passed | 10 skipped (21956)
Start at 15:54:29
Duration 502.01s (transform 22.34s, setup 1.79s, collect 144.19s, tests 224.73s, environment 84ms, prepare 32.97s)
JUNIT report written to /startdir/src/qwen-code/packages/core/junit.xml
% Coverage report from v8
npm notice run @qwen-code/node-repl-mcp@0.1.0 test
RUN v3.2.7 /startdir/src/qwen-code/packages/node-repl
✓ src/kernel-manager.test.ts (46 tests) 4949ms
✓ NodeReplKernelManager > revalidates a module root after earlier queued work completes 356ms
✓ NodeReplKernelManager > kills timed-out and cancelled generations without replaying source 1315ms
✓ NodeReplKernelManager > returns a structured crash and lazily recovers without bindings 303ms
✓ src/node-repl.semantics.test.ts (18 tests) 967ms
✓ src/cell-transform.test.ts (15 tests) 72ms
✓ src/mcp-server.test.ts (10 tests) 798ms
✓ node_repl MCP server > dispose() kills the kernel child process 553ms
✓ src/output-adapter.test.ts (12 tests) 53ms
✓ src/protocol.test.ts (14 tests) 1544ms
✓ encodeFrame > every frame encodeFrame accepts is decodable (boundary round-trip) 479ms
✓ FrameDecoder > reports an unterminated oversize stream and clears the buffer 867ms
✓ src/node-repl.scale.test.ts (2 tests) 735ms
✓ node_repl scale & isolation > isolates 10 concurrent kernels (no binding/pid/output cross-talk) 605ms
✓ src/node-repl.lines.test.ts (4 tests) 234ms
✓ src/win-path.test.ts (10 tests) 3ms
✓ src/node-repl.reload.test.ts (2 tests) 125ms
✓ src/node-repl.napi.test.ts (1 test) 7046ms
✓ src/security-policy.test.ts (4 tests) 3ms
✓ src/debug-log.test.ts (3 tests) 3ms
✓ src/tokenizer.test.ts (7 tests) 3ms
Test Files 14 passed (14)
Tests 148 passed (148)
Start at 16:02:57
Duration 18.64s (transform 162ms, setup 0ms, collect 379ms, tests 16.54s, environment 2ms, prepare 588ms)
npm notice run @qwen-code/sdk@0.1.8 test
RUN v1.6.1 /startdir/src/qwen-code/packages/sdk-typescript
✓ test/unit/DaemonClient.test.ts (349 tests) 1957ms
stderr | test/unit/daemonUi.test.ts > daemon UI reducer state machine (PR-E) > enters resync-required state and skips later non-terminal deltas
[daemon-ui] dropping event `assistant.text.delta` while awaitingResync; state may be stale until session reconnect (lastResyncRequired: {"reason":"ring_evicted","lastDeliveredId":1,"earliestAvailableId":4})
stderr | test/unit/daemonUi.test.ts > R6 review batch — recovery flow + pending pointer > clearAwaitingResync AFTER dispatching events: events ARE dropped (documents the flow)
[daemon-ui] dropping event `assistant.text.delta` while awaitingResync; state may be stale until session reconnect (lastResyncRequired: {"reason":"sse_eviction","lastDeliveredId":5,"earliestAvailableId":12})
✓ test/unit/daemonUi.test.ts (327 tests) 95ms
✓ test/unit/daemonEvents.test.ts (111 tests) 20ms
✓ test/unit/DaemonSessionClient.test.ts (69 tests) 412ms
2026-10-24 16:03:20 [ERROR] [ProcessTransport] Failed to initialize CLI process: Transport start aborted
2026-10-24 16:03:20 [ERROR] [ProcessTransport] Failed to initialize CLI process: Transport start aborted
2026-10-24 16:03:20 [ERROR] [ProcessTransport] CLI process error: Spawn failed
2026-10-24 16:03:20 [ERROR] [ProcessTransport] CLI process exited with code 1
2026-10-24 16:03:20 [ERROR] [ProcessTransport] CLI process terminated by signal SIGTERM
2026-10-24 16:03:20 [ERROR] [ProcessTransport] CLI process error: Process error
2026-10-24 16:03:20 [DEBUG] [ProcessTransport] Spawning CLI (native): qwen --input-format stream-json --output-format stream-json --channel=SDK
2026-10-24 16:03:20 [ERROR] [ProcessTransport] CLI process exited with code 1
2026-10-24 16:03:20 [ERROR] [ProcessTransport] CLI process error: Process error
2026-10-24 16:03:20 [ERROR] [ProcessTransport] CLI process exited with code 1
2026-10-24 16:03:20 [ERROR] [ProcessTransport] CLI process terminated by signal SIGKILL
2026-10-24 16:03:20 [INFO] [ProcessTransport] CLI process started successfully
2026-10-24 16:03:20 [DEBUG] [ProcessTransport] Forking CLI (node): /path/to/cli.js --input-format stream-json --output-format stream-json --channel=SDK
2026-10-24 16:03:20 [INFO] [ProcessTransport] CLI process started successfully
✓ test/unit/ProcessTransport.test.ts (86 tests) 88ms
✓ test/unit/AcpHttpTransport.test.ts (49 tests) 64ms
2026-10-24 16:03:21 [ERROR] [Query] Control response error for request 6e283950-f222-4788-98bf-5f18f1d830dd: Test error
2026-10-24 16:03:21 [ERROR] [Query] Initialization error: Test error
2026-10-24 16:03:33 [ERROR] [Query] Initialization error: Query is closed
2026-10-24 16:03:44 [ERROR] [Query] Control response error for request b58a7b6d-106a-4e7c-9d76-f1ddc1738ec9: Malformed error
✓ test/unit/Query.test.ts (66 tests) 24519ms
✓ test/unit/acpRouteTable.test.ts (104 tests) 18ms
[serve-bridge] Tool error: Error: something broke
at /startdir/src/qwen-code/packages/sdk-typescript/test/unit/serve-bridge.test.ts:151:44
at file:///startdir/src/qwen-code/packages/sdk-typescript/node_modules/@vitest/runner/dist/index.js:135:14
at file:///startdir/src/qwen-code/packages/sdk-typescript/node_modules/@vitest/runner/dist/index.js:60:26
at runTest (file:///startdir/src/qwen-code/packages/sdk-typescript/node_modules/@vitest/runner/dist/index.js:781:17)
at runSuite (file:///startdir/src/qwen-code/packages/sdk-typescript/node_modules/@vitest/runner/dist/index.js:909:15)
at runSuite (file:///startdir/src/qwen-code/packages/sdk-typescript/node_modules/@vitest/runner/dist/index.js:909:15)
at runSuite (file:///startdir/src/qwen-code/packages/sdk-typescript/node_modules/@vitest/runner/dist/index.js:909:15)
at runFiles (file:///startdir/src/qwen-code/packages/sdk-typescript/node_modules/@vitest/runner/dist/index.js:958:5)
at startTests (file:///startdir/src/qwen-code/packages/sdk-typescript/node_modules/@vitest/runner/dist/index.js:967:3)
at file:///startdir/src/qwen-code/packages/sdk-typescript/node_modules/vitest/dist/chunks/runtime-runBaseTests.oAvMKtQC.js:116:7
[serve-bridge] Tool error: string error
[serve-bridge] SSE stream ended unexpectedly for session 550e8400-e29b-41d4-a716-446655440000: GET /session/:id/events: HTTP 404
[serve-bridge] Tool error: DaemonCapabilityMissingError: DaemonCapabilities.session_id_override is missing — daemon does not advertise the session_id_override feature. The daemon you are connected to likely predates the feature that added this field; upgrade the daemon or fall back to a different code path that doesn't require it.
at DaemonClient.requireCapability (/startdir/src/qwen-code/packages/sdk-typescript/src/daemon/DaemonClient.ts:1121:13)
at DaemonClient.createOrAttachSession (/startdir/src/qwen-code/packages/sdk-typescript/src/daemon/DaemonClient.ts:2533:7)
at /startdir/src/qwen-code/packages/sdk-typescript/src/daemon-mcp/serve-bridge/tools/session.ts:39:25
at Object.handler (/startdir/src/qwen-code/packages/sdk-typescript/src/daemon-mcp/serve-bridge/helpers.ts:45:14)
at /startdir/src/qwen-code/packages/sdk-typescript/test/unit/serve-bridge.test.ts:248:24
at runTest (file:///startdir/src/qwen-code/packages/sdk-typescript/node_modules/@vitest/runner/dist/index.js:781:11)
at runSuite (file:///startdir/src/qwen-code/packages/sdk-typescript/node_modules/@vitest/runner/dist/index.js:909:15)
at runSuite (file:///startdir/src/qwen-code/packages/sdk-typescript/node_modules/@vitest/runner/dist/index.js:909:15)
at runSuite (file:///startdir/src/qwen-code/packages/sdk-typescript/node_modules/@vitest/runner/dist/index.js:909:15)
at runSuite (file:///startdir/src/qwen-code/packages/sdk-typescript/node_modules/@vitest/runner/dist/index.js:909:15)
[serve-bridge] SSE stream ended unexpectedly for session new-session-id: GET /session/:id/events: HTTP 404
[serve-bridge] Tool error: Error: No SSE stream for session. Was the session created via session_create?
at /startdir/src/qwen-code/packages/sdk-typescript/src/daemon-mcp/serve-bridge/tools/agent.ts:33:17
at Object.handler (/startdir/src/qwen-code/packages/sdk-typescript/src/daemon-mcp/serve-bridge/helpers.ts:45:20)
at /startdir/src/qwen-code/packages/sdk-typescript/test/unit/serve-bridge.test.ts:462:39
at runTest (file:///startdir/src/qwen-code/packages/sdk-typescript/node_modules/@vitest/runner/dist/index.js:781:11)
at runSuite (file:///startdir/src/qwen-code/packages/sdk-typescript/node_modules/@vitest/runner/dist/index.js:909:15)
at runSuite (file:///startdir/src/qwen-code/packages/sdk-typescript/node_modules/@vitest/runner/dist/index.js:909:15)
at runSuite (file:///startdir/src/qwen-code/packages/sdk-typescript/node_modules/@vitest/runner/dist/index.js:909:15)
at runFiles (file:///startdir/src/qwen-code/packages/sdk-typescript/node_modules/@vitest/runner/dist/index.js:958:5)
at startTests (file:///startdir/src/qwen-code/packages/sdk-typescript/node_modules/@vitest/runner/dist/index.js:967:3)
at file:///startdir/src/qwen-code/packages/sdk-typescript/node_modules/vitest/dist/chunks/runtime-runBaseTests.oAvMKtQC.js:116:7
[serve-bridge] Tool error: Error: Another prompt is already in progress for this session. Wait for it to complete or call prompt_cancel first.
at /startdir/src/qwen-code/packages/sdk-typescript/src/daemon-mcp/serve-bridge/tools/agent.ts:40:17
at Object.handler (/startdir/src/qwen-code/packages/sdk-typescript/src/daemon-mcp/serve-bridge/helpers.ts:45:20)
at /startdir/src/qwen-code/packages/sdk-typescript/test/unit/serve-bridge.test.ts:492:39
at runTest (file:///startdir/src/qwen-code/packages/sdk-typescript/node_modules/@vitest/runner/dist/index.js:781:11)
at runSuite (file:///startdir/src/qwen-code/packages/sdk-typescript/node_modules/@vitest/runner/dist/index.js:909:15)
at runSuite (file:///startdir/src/qwen-code/packages/sdk-typescript/node_modules/@vitest/runner/dist/index.js:909:15)
at runSuite (file:///startdir/src/qwen-code/packages/sdk-typescript/node_modules/@vitest/runner/dist/index.js:909:15)
at runFiles (file:///startdir/src/qwen-code/packages/sdk-typescript/node_modules/@vitest/runner/dist/index.js:958:5)
at startTests (file:///startdir/src/qwen-code/packages/sdk-typescript/node_modules/@vitest/runner/dist/index.js:967:3)
at file:///startdir/src/qwen-code/packages/sdk-typescript/node_modules/vitest/dist/chunks/runtime-runBaseTests.oAvMKtQC.js:116:7
✓ test/unit/serve-bridge.test.ts (38 tests) 36ms
✓ test/unit/RestSseTransport.test.ts (47 tests) 103ms
✓ test/unit/daemon-public-surface.test.ts (18 tests) 5ms
✓ test/unit/DaemonClient.upload.test.ts (28 tests) 17ms
✓ test/daemon-ui-transcript.test.ts (22 tests) 10ms
✓ test/unit/daemon-transcript-projection.test.ts (15 tests) 14ms
✓ test/unit/AcpWsTransport.test.ts (34 tests) 13ms
✓ test/unit/DaemonAuthFlow.test.ts (14 tests) 13066ms
✓ test/unit/cliPath.test.ts (33 tests) 10ms
✓ test/unit/daemon-sse.test.ts (18 tests) 6ms
✓ test/unit/AutoReconnectTransport.test.ts (19 tests) 17ms
✓ test/unit/DaemonClientVoice.test.ts (8 tests) 29ms
✓ test/unit/createSdkMcpServer.test.ts (18 tests) 12ms
2026-10-24 16:04:00 [ERROR] [Query] Transport finalized with pending requests rejected {"pendingControl":1,"pendingMcp":0,"error":"Transport closed before control response"}
2026-10-24 16:04:00 [ERROR] [Query] Transport finalized with pending requests rejected {"pendingControl":1,"pendingMcp":0,"error":"transport read crashed"}
2026-10-24 16:04:00 [ERROR] [Query] Transport finalized with pending requests rejected {"pendingControl":0,"pendingMcp":1,"error":"Transport closed before control response"}
2026-10-24 16:04:00 [ERROR] [Query] Control response error for request 29782819-9b0c-4ba2-b7d6-0129c531737a: no turn to continue
✓ test/query.test.ts (7 tests) 31ms
✓ test/unit/negotiateTransport.test.ts (15 tests) 27ms
✓ test/unit/AcpEventDenormalizer.test.ts (20 tests) 3ms
✓ test/unit/Stream.test.ts (22 tests) 10ms
✓ test/unit/transcriptStoreChanges.test.ts (11 tests) 6ms
✓ test/unit/queryOptionsSchema.test.ts (81 tests) 9ms
✓ test/unit/DaemonClientLive.test.ts (3 tests) 6ms
✓ test/unit/createQuery.test.ts (5 tests) 16ms
✓ test/unit/isSubagentSessionNotFound.test.ts (15 tests) 2ms
✓ test/unit/daemon-transports-surface.test.ts (4 tests) 2ms
✓ test/unit/DaemonWorkspaceManagement.test.ts (1 test) 4ms
✓ test/unit/approval-mode-drift.test.ts (1 test) 2ms
✓ test/unit/acpTransportUtils.test.ts (3 tests) 1ms
✓ test/unit/daemon-pending-interaction-types.test.ts (1 test) 1ms
Test Files 35 passed (35)
Tests 1662 passed (1662)
Start at 16:03:16
Duration 48.37s (transform 2.66s, setup 3ms, collect 4.40s, tests 40.63s, environment 3ms, prepare 1.25s)
npm notice run qwen-code-vscode-ide-companion@0.22.2 test
RUN v3.2.7 /startdir/src/qwen-code/packages/vscode-ide-companion
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 > reports clipboard copy success back to the requesting webview
[WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar)
[WebViewProvider] Attempting to restore auth state and connection for view...
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > reports clipboard copy success back to the requesting webview
[WebViewProvider] Attempting connection...
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > writes webview log messages through the extension host logger
[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 > writes webview log messages through the extension host logger
[WebViewProvider] Attempting connection...
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > reports clipboard copy failures back to the requesting webview
[WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar)
[WebViewProvider] Attempting to restore auth state and connection for view...
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > reports clipboard copy failures back to the requesting webview
[WebViewProvider] Attempting connection...
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > streams slash-command notifications into the attached webview
[WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar)
[WebViewProvider] Attempting to restore auth state and connection for view...
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > streams slash-command notifications into the attached webview
[WebViewProvider] Attempting connection...
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > re-sends cached available commands when the webview becomes ready
[WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar)
[WebViewProvider] Attempting to restore auth state and connection for view...
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > re-sends cached available commands when the webview becomes ready
[WebViewProvider] Attempting connection...
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > does not special-case plain insight slash notifications in the provider
[WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar)
[WebViewProvider] Attempting to restore auth state and connection for view...
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > does not special-case plain insight slash notifications in the provider
[WebViewProvider] Attempting connection...
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > routes structured insight progress markers into the attached webview
[WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar)
[WebViewProvider] Attempting to restore auth state and connection for view...
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > routes structured insight progress markers into the attached webview
[WebViewProvider] Attempting connection...
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > routes structured insight progress markers even when command text is normalized differently
[WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar)
[WebViewProvider] Attempting to restore auth state and connection for view...
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > routes structured insight progress markers even when command text is normalized differently
[WebViewProvider] Attempting connection...
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > clears structured insight progress when the ready marker arrives
[WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar)
[WebViewProvider] Attempting to restore auth state and connection for view...
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > clears structured insight progress when the ready marker arrives
[WebViewProvider] Attempting connection...
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > opens the insight report in the browser when requested from the webview
[WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar)
[WebViewProvider] Attempting to restore auth state and connection for view...
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > opens the insight report in the browser when requested from the webview
[WebViewProvider] Attempting connection...
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > routes resolved image paths back to the requesting attached webview even when a panel exists
[WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar)
[WebViewProvider] Attempting to restore auth state and connection for view...
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > routes resolved image paths back to the requesting attached webview even when a panel exists
[WebViewProvider] Attempting connection...
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > marks rejected switch_mode permission requests as failed without cancelling the session
[WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar)
[WebViewProvider] Attempting to restore auth state and connection for view...
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > marks rejected switch_mode permission requests as failed without cancelling the session
[WebViewProvider] Attempting connection...
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > settles a matching pending permission when the tool call becomes terminal
[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 > settles a matching pending permission when the tool call becomes terminal
[WebViewProvider] Attempting connection...
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > rejects one workflow approval without cancelling the parent prompt
[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 > rejects one workflow approval without cancelling the parent prompt
[WebViewProvider] Attempting connection...
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > replays available skills to the webview after webviewReady
[WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar)
[WebViewProvider] Attempting to restore auth state and connection for view...
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > replays available skills to the webview after webviewReady
[WebViewProvider] Attempting connection...
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > replays available commands to the webview after webviewReady
[WebViewProvider] Attaching to WebviewView (viewType=qwen-code.chatView.sidebar)
[WebViewProvider] Attempting to restore auth state and connection for view...
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.attachToView > replays available commands to the webview after webviewReady
[WebViewProvider] Attempting connection...
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider transcript forwarding > forwards agent transcriptUpdate notifications to 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 transcript forwarding > forwards agent transcriptUpdate notifications to the webview
[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 show idle notification for background notification turns
[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 idle notification for background notification turns
[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...
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.handleAuthInteractive credential rollback > restores the snapshot when the reconnect leaves authState !== true
[WebViewProvider] authInteractive: provider=deepseek, host=api.deepseek.com
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.handleAuthInteractive credential rollback > disconnects the agent after rolling back rejected credentials
[WebViewProvider] authInteractive: provider=deepseek, host=api.deepseek.com
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.handleAuthInteractive credential rollback > does NOT restore when the reconnect authenticates (authState === true)
[WebViewProvider] authInteractive: provider=deepseek, host=api.deepseek.com
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.handleAuthInteractive credential rollback > swallows a rollback write failure so the authError message still sends
[WebViewProvider] authInteractive: provider=deepseek, host=api.deepseek.com
stderr | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.handleAuthInteractive credential rollback > swallows a rollback write failure so the authError message still sends
[WebViewProvider] settings rollback failed: Error: EPERM: rename failed
at /startdir/src/qwen-code/packages/vscode-ide-companion/src/webview/providers/WebViewProvider.test.ts:2046:13
at mockCall (file:///startdir/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at spy (file:///startdir/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at safeRollback (/startdir/src/qwen-code/packages/vscode-ide-companion/src/webview/providers/WebViewProvider.ts:1419:9)
at WebViewProvider.handleAuthInteractive (/startdir/src/qwen-code/packages/vscode-ide-companion/src/webview/providers/WebViewProvider.ts:1471:9)
at /startdir/src/qwen-code/packages/vscode-ide-companion/src/webview/providers/WebViewProvider.test.ts:2062:5
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
stdout | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.handleAuthInteractive credential rollback > rolls back + disconnects + reports authError when doInitializeAgentConnection throws (outer catch)
[WebViewProvider] authInteractive: provider=deepseek, host=api.deepseek.com
stderr | src/webview/providers/WebViewProvider.test.ts > WebViewProvider.handleAuthInteractive credential rollback > rolls back + disconnects + reports authError when doInitializeAgentConnection throws (outer catch)
[WebViewProvider] authInteractive failed: Error: disk exploded mid-reconnect
at WebViewProvider. (/startdir/src/qwen-code/packages/vscode-ide-companion/src/webview/providers/WebViewProvider.test.ts:2099:13)
at WebViewProvider.mockCall (file:///startdir/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at WebViewProvider.spy [as doInitializeAgentConnection] (file:///startdir/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at WebViewProvider.handleAuthInteractive (/startdir/src/qwen-code/packages/vscode-ide-companion/src/webview/providers/WebViewProvider.ts:1456:18)
at /startdir/src/qwen-code/packages/vscode-ide-companion/src/webview/providers/WebViewProvider.test.ts:2102:5
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
[WebViewProvider] settings rollback failed: Error: EPERM: rename failed
at /startdir/src/qwen-code/packages/vscode-ide-companion/src/webview/providers/WebViewProvider.test.ts:2046:13
at mockCall (file:///startdir/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at spy (file:///startdir/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at safeRollback (/startdir/src/qwen-code/packages/vscode-ide-companion/src/webview/providers/WebViewProvider.ts:1419:9)
at WebViewProvider.handleAuthInteractive (/startdir/src/qwen-code/packages/vscode-ide-companion/src/webview/providers/WebViewProvider.ts:1493:7)
at /startdir/src/qwen-code/packages/vscode-ide-companion/src/webview/providers/WebViewProvider.test.ts:2102:5
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
✓ src/webview/providers/WebViewProvider.test.ts (52 tests) 1571ms
✓ WebViewProvider.handleAuthInteractive credential rollback > restores the snapshot when the reconnect leaves authState !== true 303ms
✓ WebViewProvider.handleAuthInteractive credential rollback > disconnects the agent after rolling back rejected credentials 304ms
✓ WebViewProvider.handleAuthInteractive credential rollback > does NOT restore when the reconnect authenticates (authState === true) 302ms
✓ WebViewProvider.handleAuthInteractive credential rollback > swallows a rollback write failure so the authError message still sends 310ms
✓ WebViewProvider.handleAuthInteractive credential rollback > rolls back + disconnects + reports authError when doInitializeAgentConnection throws (outer catch) 304ms
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 { textLength: 0, attachmentCount: 1 }
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 { textLength: 6, attachmentCount: 1 }
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 > echoes the user prompt into the ACP transcript as a user_message_chunk
[SessionMessageHandler] handleSendMessage called { textLength: 16, attachmentCount: 0 }
stdout | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > echoes the user prompt into the ACP transcript as a user_message_chunk
[SessionMessageHandler] No active conversation, creating one...
stdout | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > echoes attached prompt images into the transcript as inline image chunks
[SessionMessageHandler] handleSendMessage called { textLength: 12, attachmentCount: 1 }
stdout | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > echoes attached prompt images into the transcript as inline image chunks
[SessionMessageHandler] No active conversation, creating one...
stdout | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > keeps the send flowing when a prompt image cannot be read back for the echo
[SessionMessageHandler] handleSendMessage called { textLength: 12, attachmentCount: 0 }
stdout | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > keeps the send flowing when a prompt image cannot be read back for the echo
[SessionMessageHandler] No active conversation, creating one...
stderr | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > keeps the send flowing when a prompt image cannot be read back for the echo
[SessionMessageHandler] Failed to read image for transcript echo: /tmp/clipboard/clipboard-1.png Error: ENOENT
at /startdir/src/qwen-code/packages/vscode-ide-companion/src/webview/handlers/SessionMessageHandler.test.ts:420:50
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 > skips oversized context images without reading them into memory
[SessionMessageHandler] handleSendMessage called { textLength: 13, attachmentCount: 0 }
stdout | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > skips oversized context images without reading them into memory
[SessionMessageHandler] No active conversation, creating one...
stderr | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > skips oversized context images without reading them into memory
[SessionMessageHandler] Skipping oversized image for transcript echo: /workspace/huge.tiff 10485761
stdout | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > sends image file context as prompt image blocks
[SessionMessageHandler] handleSendMessage called { textLength: 11, attachmentCount: 0 }
stderr | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > sends image file context as prompt image blocks
[SessionMessageHandler] Failed to read image for transcript echo: /workspace/screen shot.png Error: ENOENT
at /startdir/src/qwen-code/packages/vscode-ide-companion/src/webview/handlers/SessionMessageHandler.test.ts:420:50
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 > does not switch to a colliding ACP session id when rename fails
[SessionMessageHandler] handleSendMessage called { textLength: 12, attachmentCount: 0 }
stdout | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > does not switch to a colliding ACP session id when rename fails
[SessionMessageHandler] No active conversation, creating one...
stderr | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > does not switch to a colliding ACP session id when rename fails
[SessionMessageHandler] Failed to align conversation store with ACP session id: conversation-1 session-1
stdout | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > syncs ACP session id alignment through the owning router setter
[SessionMessageHandler] handleSendMessage called { textLength: 12, attachmentCount: 0 }
stdout | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > syncs ACP session id alignment through the owning router setter
[SessionMessageHandler] No active conversation, creating one...
stdout | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > 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:723: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 > publishes the fresh ACP session id as liveSessionId in the load-failure fallback boundary
[SessionMessageHandler] Switching to session: archived-session
stderr | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > publishes the fresh ACP session id as liveSessionId in the load-failure fallback boundary
[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:776: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 > publishes the live session id on the first-send conversationLoaded boundary
[SessionMessageHandler] handleSendMessage called { textLength: 5, attachmentCount: 0 }
stdout | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > publishes the live session id on the first-send conversationLoaded boundary
[SessionMessageHandler] No active conversation, creating one...
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 { textLength: 12, attachmentCount: 0 }
stdout | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > prefers the active ACP session id over the local conversation id when exporting
[SessionMessageHandler] handleSendMessage called { textLength: 12, attachmentCount: 0 }
stdout | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > reports bare /export as a missing subcommand instead of exporting
[SessionMessageHandler] handleSendMessage called { textLength: 7, attachmentCount: 0 }
stdout | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > reports export failures back to the user
[SessionMessageHandler] handleSendMessage called { textLength: 10, attachmentCount: 0 }
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:1034: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 > tags the timeout message localOnly so the notice slot renders it
[SessionMessageHandler] handleSendMessage called { textLength: 5, attachmentCount: 0 }
stderr | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > tags the timeout message localOnly so the notice slot renders it
[SessionMessageHandler] Error sending message: Error: Request timeout
at /startdir/src/qwen-code/packages/vscode-ide-companion/src/webview/handlers/SessionMessageHandler.test.ts:1083:46
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20
at new Promise ()
at runWithTimeout (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10)
at runTest (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1574:12)
at processTicksAndRejections (node:internal/process/task_queues:104:5)
at runSuite (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
at runSuite (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)
[SessionMessageHandler] Request timed out; suppressing popup
stdout | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > re-surfaces the user message as a local notice when the agent is not connected
[SessionMessageHandler] handleSendMessage called { textLength: 5, attachmentCount: 0 }
stderr | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > re-surfaces the user message as a local notice when the agent is not connected
[SessionMessageHandler] Agent not connected
stdout | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > re-surfaces the user message as a local notice when session creation fails
[SessionMessageHandler] handleSendMessage called { textLength: 5, attachmentCount: 0 }
stderr | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > re-surfaces the user message as a local notice when session creation fails
[SessionMessageHandler] Failed to create session before sending message: Error: spawn failed
at /startdir/src/qwen-code/packages/vscode-ide-companion/src/webview/handlers/SessionMessageHandler.test.ts:1174:51
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 { textLength: 12, attachmentCount: 0 }
stderr | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > handleSetModel — discontinued model defensive validation (Issue #3745) > rejects a non-runtime Qwen OAuth model and surfaces an error
[SessionMessageHandler] Rejected discontinued model qwen3-coder-plus(qwen-oauth)
stdout | src/webview/handlers/SessionMessageHandler.test.ts > SessionMessageHandler > preserves the drive-letter colon in Windows exported file links
[SessionMessageHandler] handleSendMessage called { textLength: 10, attachmentCount: 0 }
✓ src/webview/handlers/SessionMessageHandler.test.ts (26 tests) 23ms
stdout | src/services/daemonIdeConnection.test.ts > DaemonIdeConnection > proceeds with a second connect after the first one fails
[DaemonIdeConnection] Previous connect failed: { error: 'first connect failed' }
stdout | src/services/daemonIdeConnection.test.ts > DaemonIdeConnection > sends prompts through the bound daemon session
[DaemonIdeConnection] Sending prompt: { sessionId: 'session-1' }
stdout | src/services/daemonIdeConnection.test.ts > DaemonIdeConnection > sends prompts through the bound daemon session
[DaemonIdeConnection] Prompt completed: { sessionId: 'session-1', stopReason: 'end_turn' }
stdout | src/services/daemonIdeConnection.test.ts > DaemonIdeConnection > sends prompts through the bound daemon session
[DaemonIdeConnection] Sending prompt: { sessionId: 'session-1' }
stdout | src/services/daemonIdeConnection.test.ts > DaemonIdeConnection > sends prompts through the bound daemon session
[DaemonIdeConnection] Prompt completed: { sessionId: 'session-1', stopReason: 'end_turn' }
stdout | src/services/daemonIdeConnection.test.ts > DaemonIdeConnection > sends prompts through the bound daemon session
[DaemonIdeConnection] Sending prompt: { sessionId: 'session-1' }
stderr | src/services/daemonIdeConnection.test.ts > DaemonIdeConnection > sends prompts through the bound daemon session
[DaemonIdeConnection] Prompt failed: { sessionId: 'session-1', error: 'prompt failed' }
stderr | src/services/daemonIdeConnection.test.ts > DaemonIdeConnection > cancels permission requests by default and for reject options
[DaemonIdeConnection] Permission option not advertised; cancelling { requestId: 'request-3', optionId: 'stale-option' }
stderr | src/services/daemonIdeConnection.test.ts > DaemonIdeConnection > forwards ask-user-question answers and cancels invalid selections
[DaemonIdeConnection] AskUserQuestion option not advertised; cancelling { requestId: 'ask-3', optionId: 'stale-option' }
stderr | src/services/daemonIdeConnection.test.ts > DaemonIdeConnection > ignores malformed permission events
[DaemonIdeConnection] Malformed permission request data
stdout | src/services/daemonIdeConnection.test.ts > DaemonIdeConnection > surfaces session_died as a disconnect
[DaemonIdeConnection] Session died: { sessionId: 'session-1', reason: 'agent exited' }
[DaemonIdeConnection] Clearing session: { sessionId: 'session-1', reason: 'agent exited' }
stderr | src/services/daemonIdeConnection.test.ts > DaemonIdeConnection > ignores stale session_died events from another session
[DaemonIdeConnection] Malformed session_died event
stdout | src/services/daemonIdeConnection.test.ts > DaemonIdeConnection > surfaces event stream failures and normal stream completion
[DaemonIdeConnection] Event stream session: { sessionId: 'session-1' }
[DaemonIdeConnection] Clearing session: { sessionId: 'session-1', reason: 'daemon_error' }
stdout | src/services/daemonIdeConnection.test.ts > DaemonIdeConnection > surfaces event stream failures and normal stream completion
[DaemonIdeConnection] Clearing session: { sessionId: 'session-1', reason: 'stream_ended' }
✓ src/services/daemonIdeConnection.test.ts (19 tests) 40ms
stderr | src/services/settingsWriter.test.ts > settingsWriter > applyProviderInstallPlanToFile > throws on malformed settings file instead of silently overwriting it
[settingsWriter] Failed to parse /tmp/qwen-vscode-settings-en1Yig/.qwen/settings.json; refusing to overwrite a malformed file. SyntaxError: Expected ',' or ']' after array element in JSON at position 17 (line 1 column 18)
at JSON.parse ()
at readSettings (/startdir/src/qwen-code/packages/vscode-ide-companion/src/services/settingsWriter.ts:186:17)
at createFileSettingsAdapter (/startdir/src/qwen-code/packages/vscode-ide-companion/src/services/settingsWriter.ts:438:14)
at Module.applyProviderInstallPlanToFile (/startdir/src/qwen-code/packages/vscode-ide-companion/src/services/settingsWriter.ts:547:20)
at /startdir/src/qwen-code/packages/vscode-ide-companion/src/services/settingsWriter.test.ts:300:20
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20
at new Promise ()
at runWithTimeout (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10)
stderr | src/services/settingsWriter.test.ts > settingsWriter > snapshotSettingsForRollback / restoreSettingsSnapshot > snapshot returns null on a malformed file and restore is then a no-op
[settingsWriter] Failed to parse /tmp/qwen-vscode-settings-4QCTUD/.qwen/settings.json; refusing to overwrite a malformed file. SyntaxError: Expected ',' or ']' after array element in JSON at position 17 (line 1 column 18)
at JSON.parse ()
at readSettings (/startdir/src/qwen-code/packages/vscode-ide-companion/src/services/settingsWriter.ts:186:17)
at Module.snapshotSettingsForRollback (/startdir/src/qwen-code/packages/vscode-ide-companion/src/services/settingsWriter.ts:565:28)
at /startdir/src/qwen-code/packages/vscode-ide-companion/src/services/settingsWriter.test.ts:457:24
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20
at new Promise ()
at runWithTimeout (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10)
at runTest (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1574:12)
[settingsWriter] snapshotSettingsForRollback failed; credential rollback disabled: Error
✓ src/services/settingsWriter.test.ts (18 tests) 17ms
✓ src/services/qwenSessionUpdateHandler.test.ts (19 tests) 9ms
✓ src/ide-server.test.ts (13 tests | 1 skipped) 51ms
✓ src/open-files-manager.test.ts (17 tests) 13ms
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
stdout | src/webview/handlers/FileMessageHandler.test.ts > FileMessageHandler > filters ignored paths in non-query mode
[FileMessageHandler] handleGetWorkspaceFiles start { query: undefined, requestId: 7 }
[FileMessageHandler] Sent initial workspaceFiles (open tabs/active) 0
stdout | src/webview/handlers/FileMessageHandler.test.ts > FileMessageHandler > filters ignored paths in non-query mode
[FileMessageHandler] Sent final workspaceFiles 1
stdout | src/webview/handlers/FileMessageHandler.test.ts > FileMessageHandler > openFile resolves relative paths against the workspace
[FileOperations] Opening file: src/app.ts
stdout | src/webview/handlers/FileMessageHandler.test.ts > FileMessageHandler > openFile resolves relative paths against the workspace
[FileOperations] File opened successfully: /workspace/src/app.ts
stdout | src/webview/handlers/FileMessageHandler.test.ts > FileMessageHandler > openFile keeps UNC paths absolute
[FileOperations] Opening file: \\server\share\app.ts
stdout | src/webview/handlers/FileMessageHandler.test.ts > FileMessageHandler > openFile keeps UNC paths absolute
[FileOperations] File opened successfully: \\server\share\app.ts
stdout | src/webview/handlers/FileMessageHandler.test.ts > FileMessageHandler > openFile clamps zero line and column values to the file start
[FileOperations] Opening file: src/app.ts:0:0
stdout | src/webview/handlers/FileMessageHandler.test.ts > FileMessageHandler > openFile clamps zero line and column values to the file start
[FileOperations] File opened successfully: /workspace/src/app.ts
stdout | src/webview/handlers/FileMessageHandler.test.ts > FileMessageHandler > createAndOpenTempFile viewColumn selection > opens in left group when chat webview has a left neighbor
[FileMessageHandler] Created and opened readonly file: [object Object] in viewColumn: 1
stdout | src/webview/handlers/FileMessageHandler.test.ts > FileMessageHandler > createAndOpenTempFile viewColumn selection > opens in right group when no left neighbor but right exists
[FileMessageHandler] Created and opened readonly file: [object Object] in viewColumn: 2
stdout | src/webview/handlers/FileMessageHandler.test.ts > FileMessageHandler > createAndOpenTempFile viewColumn selection > falls back to ViewColumn.Beside when neither left nor right neighbor exists
[FileMessageHandler] Created and opened readonly file: [object Object] in viewColumn: -2
✓ src/webview/handlers/FileMessageHandler.test.ts (8 tests) 8ms
✓ src/webview/handlers/AuthMessageHandler.test.ts (10 tests) 8ms
✓ src/extension.test.ts (14 tests) 26ms
✓ src/utils/paths.test.ts (18 tests) 7ms
✓ scripts/generate-notices.test.js (23 tests) 18ms
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 session: 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 session: session-2
[QwenAgentManager] New session created with ID: session-2
stdout | src/services/qwenAgentManager.test.ts > QwenAgentManager.getSessionMessages > projects UserPromptSubmit provenance while mapping JSONL history
[QwenAgentManager] Session list item for filePath lookup: {
id: 'session-1',
sessionId: 'session-1',
filePath: '/tmp/qwen-agent-manager-udDCd5/session.jsonl'
}
stdout | src/services/qwenAgentManager.test.ts > QwenAgentManager.getSessionMessages > projects UserPromptSubmit provenance while mapping JSONL history
[QwenAgentManager] JSONL records read: 1 /tmp/qwen-agent-manager-udDCd5/session.jsonl
[QwenAgentManager] JSONL messages reconstructed: 1
✓ src/services/qwenAgentManager.test.ts (12 tests) 10ms
stdout | src/services/acpConnection.test.ts > AcpConnection process spawning > runs the managed ACP child in Electron Node mode
[ACP] Spawning command: /usr/bin/node /usr/bin/node --acp --channel=VSCode
✓ src/services/acpConnection.test.ts (18 tests) 6ms
✓ src/webview/utils/copyTranscript.test.ts (19 tests) 5ms
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:111: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)
✓ src/webview/utils/imageHandler.test.ts (13 tests) 10ms
✓ src/utils/acpModelInfo.test.ts (15 tests) 5ms
stderr | src/services/conversationStore.test.ts > ConversationStore > replaceMessages returns false when the conversation is missing
[ConversationStore] replaceMessages: conversation not found: missing
stderr | src/services/conversationStore.test.ts > ConversationStore > renameConversationId returns false when the target id already exists
[ConversationStore] renameConversationId: target conversation already exists: session-1
stderr | src/services/conversationStore.test.ts > ConversationStore > truncateFromUserTurn returns false when the target turn is missing
[ConversationStore] truncateFromUserTurn: target turn not found: 4
✓ src/services/conversationStore.test.ts (8 tests) 7ms
stdout | src/services/acpFileHandler.test.ts > AcpFileHandler > handleReadTextFile > returns full content when no line/limit specified
[ACP] fs/read_text_file request received for: /test/file.txt
[ACP] Parameters: { line: null, limit: null, sessionId: 'sid' }
stdout | src/services/acpFileHandler.test.ts > AcpFileHandler > handleReadTextFile > returns full content when no line/limit specified
[ACP] Successfully read file: /test/file.txt (18 chars)
[ACP] Returning full file content
stdout | src/services/acpFileHandler.test.ts > AcpFileHandler > handleReadTextFile > uses 1-based line indexing (ACP spec)
[ACP] fs/read_text_file request received for: /test/file.txt
[ACP] Parameters: { line: 2, limit: 2, sessionId: 'sid' }
stdout | src/services/acpFileHandler.test.ts > AcpFileHandler > handleReadTextFile > uses 1-based line indexing (ACP spec)
[ACP] Successfully read file: /test/file.txt (29 chars)
[ACP] Returning 2 lines
stdout | src/services/acpFileHandler.test.ts > AcpFileHandler > handleReadTextFile > treats line=1 as first line
[ACP] fs/read_text_file request received for: /test/file.txt
[ACP] Parameters: { line: 1, limit: 1, sessionId: 'sid' }
stdout | src/services/acpFileHandler.test.ts > AcpFileHandler > handleReadTextFile > treats line=1 as first line
[ACP] Successfully read file: /test/file.txt (18 chars)
[ACP] Returning 1 lines
stdout | src/services/acpFileHandler.test.ts > AcpFileHandler > handleReadTextFile > defaults to line=1 when line is null but limit is set
[ACP] fs/read_text_file request received for: /test/file.txt
[ACP] Parameters: { line: null, limit: 2, sessionId: 'sid' }
stdout | src/services/acpFileHandler.test.ts > AcpFileHandler > handleReadTextFile > defaults to line=1 when line is null but limit is set
[ACP] Successfully read file: /test/file.txt (7 chars)
[ACP] Returning 2 lines
stdout | src/services/acpFileHandler.test.ts > AcpFileHandler > handleReadTextFile > clamps negative line values to 0
[ACP] fs/read_text_file request received for: /test/file.txt
[ACP] Parameters: { line: -5, limit: null, sessionId: 'sid' }
stdout | src/services/acpFileHandler.test.ts > AcpFileHandler > handleReadTextFile > clamps negative line values to 0
[ACP] Successfully read file: /test/file.txt (5 chars)
[ACP] Returning 3 lines
stdout | src/services/acpFileHandler.test.ts > AcpFileHandler > handleReadTextFile > propagates ENOENT errors
[ACP] fs/read_text_file request received for: /missing/file.txt
[ACP] Parameters: { line: null, limit: null, sessionId: 'sid' }
stderr | src/services/acpFileHandler.test.ts > AcpFileHandler > handleReadTextFile > propagates ENOENT errors
[ACP] Failed to read file /missing/file.txt: ENOENT
stdout | src/services/acpFileHandler.test.ts > AcpFileHandler > handleReadTextFile > normalises VS Code FileNotFound to ENOENT
[ACP] fs/read_text_file request received for: /missing/file.txt
[ACP] Parameters: { line: null, limit: null, sessionId: 'sid' }
stderr | src/services/acpFileHandler.test.ts > AcpFileHandler > handleReadTextFile > normalises VS Code FileNotFound to ENOENT
[ACP] Failed to read file /missing/file.txt: file not found
stdout | src/services/acpFileHandler.test.ts > AcpFileHandler > handleWriteTextFile > creates directory and uses WorkspaceEdit for existing file
[ACP] fs/write_text_file request received for: /test/dir/file.txt
[ACP] Content size: 5 bytes
[ACP] Ensuring directory exists: /test/dir
stdout | src/services/acpFileHandler.test.ts > AcpFileHandler > handleWriteTextFile > creates directory and uses WorkspaceEdit for existing file
[ACP] Successfully wrote file: /test/dir/file.txt
stdout | src/services/acpFileHandler.test.ts > AcpFileHandler > handleWriteTextFile > writes bytes directly for new (non-existing) file
[ACP] fs/write_text_file request received for: /test/dir/newfile.txt
[ACP] Content size: 5 bytes
[ACP] Ensuring directory exists: /test/dir
stdout | src/services/acpFileHandler.test.ts > AcpFileHandler > handleWriteTextFile > writes bytes directly for new (non-existing) file
[ACP] Successfully wrote file: /test/dir/newfile.txt
✓ src/services/acpFileHandler.test.ts (9 tests) 8ms
✓ src/utils/tokenLimits.test.ts (15 tests) 5ms
✓ src/services/sessionExportService.test.ts (9 tests) 7ms
✓ src/webview/adapters/acpTranscriptAdapter.test.ts (9 tests) 5ms
✓ src/commands/index.test.ts (5 tests) 4ms
✓ src/utils/editorGroupUtils.test.ts (12 tests) 3ms
✓ src/webview/utils/utils.test.ts (15 tests) 3ms
✓ src/webview/utils/completionUtils.test.ts (14 tests) 3ms
✓ src/webview/utils/discontinuedModel.test.ts (13 tests) 4ms
✓ src/webview/hooks/useWebViewMessages.test.ts (5 tests) 5ms
✓ src/utils/logger.test.ts (5 tests) 7ms
✓ src/services/subscriptionPlanDefinitions.test.ts (3 tests) 5ms
✓ src/webview/providers/WebViewContent.test.ts (8 tests) 3ms
✓ src/webview/hooks/useVSCode.test.ts (3 tests) 6ms
✓ src/services/qwenSessionReader.test.ts (1 test) 6ms
✓ src/services/qwenTranscriptText.test.ts (4 tests) 2ms
✓ src/webview/utils/slashCommandUtils.test.ts (6 tests) 3ms
✓ src/webview/hooks/useImage.test.ts (5 tests) 13ms
✓ src/webview/utils/contextUsage.test.ts (4 tests) 2ms
✓ src/webview/providers/ChatWebviewViewProvider.test.ts (2 tests) 3ms
✓ src/webview/providers/ChatProviderRegistry.test.ts (2 tests) 3ms
✓ src/utils/imageSupport.bundle.test.ts (2 tests) 1223ms
✓ imageSupport browser bundling > does not leave qwen-code-core runtime imports in the App webview bundle 1211ms
✓ src/package.test.ts (2 tests) 3ms
✓ src/webview/providers/chatViewRegistration.test.ts (1 test) 3ms
✓ src/utils/imageSupport.test.ts (2 tests) 3ms
✓ src/utils/file-path.test.ts (4 tests) 2ms
✓ src/utils/errorMessage.test.ts (2 tests) 2ms
stderr | src/webview/App.test.tsx > App /skills secondary picker > tracks live VS Code color-theme changes on the transcript theme prop
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
✓ src/webview/App.test.tsx (24 tests) 175ms
✓ src/webview/hooks/useAcpTranscript.test.ts (20 tests) 39ms
stdout | src/webview/hooks/useWebViewMessages.test.tsx > useWebViewMessages > ignores background streamEnd while a tagged request is active
[useWebViewMessages] Ignoring stale/untagged streamEnd: null active: req-1 source: background_notification
stderr | src/webview/hooks/useWebViewMessages.test.tsx > useWebViewMessages > ignores conversation rewind events when the target turn is missing
[useWebViewMessages] conversationRewound target turn not found: 99
✓ src/webview/hooks/useWebViewMessages.test.tsx (16 tests) 38ms
✓ src/webview/hooks/useMessageSubmit.test.ts (21 tests) 20ms
✓ src/webview/components/layout/ModelSelector.test.tsx (9 tests) 63ms
✓ src/webview/hooks/message/useMessageHandling.test.tsx (4 tests) 23ms
✓ src/webview/components/messages/toolcalls/index.test.tsx (3 tests) 18ms
✓ src/webview/components/layout/InputForm.test.tsx (2 tests) 30ms
✓ src/webview/hooks/useToolCalls.test.tsx (2 tests) 14ms
✓ src/webview/utils/fileLinks.test.ts (16 tests) 7ms
✓ src/webview/components/layout/ProviderSetupForm.test.tsx (1 test) 33ms
✓ src/webview/components/layout/Onboarding.test.tsx (1 test) 23ms
Test Files 57 passed (57)
Tests 602 passed | 1 skipped (603)
Start at 16:04:05
Duration 31.83s (transform 3.11s, setup 0ms, collect 17.18s, tests 3.65s, environment 2.83s, prepare 2.71s)
npm notice run @qwen-code/web-shell@0.22.2 test
RUN v3.2.7 /startdir/src/qwen-code/packages/web-shell/client
stderr | App.test.tsx > App shell command queueing > reports an error and skips the command when session creation fails
[web-shell] no session Error: no session
at /startdir/src/qwen-code/packages/web-shell/client/App.test.tsx:5998:7
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 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)
at runFiles (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1787:3)
stderr | App.test.tsx > App shell command queueing > continues draining after a command fails
[web-shell] boom Error: boom
at /startdir/src/qwen-code/packages/web-shell/client/App.test.tsx:6533:30
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
stderr | App.test.tsx > App session callbacks > waits for session loading to finish before requesting status
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > waits for session loading to finish before requesting status
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > uses the session catalog title when the connection has no display name
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > uses the session catalog title when the connection has no display name
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > uses the session catalog title when the connection has no display name
An update to Popper inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to Presence inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > keeps the persistent chat header opt-in for existing integrations
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > keeps the persistent chat header opt-in for existing integrations
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > lets a custom renderer replace the complete persistent chat header
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > lets a custom renderer replace the complete persistent chat header
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > keeps legacy task status for a custom header without explicit header configuration
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > keeps legacy task status for a custom header without explicit header configuration
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > controls the built-in chat header actions through header items
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > controls the built-in chat header actions through header items
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > hides the complete chat header when header items are empty
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > hides the complete chat header when header items are empty
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > opens environment information without restoring composer Git information
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > opens environment information without restoring composer Git information
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > keeps the right-panel action visible and opens a review-only empty state
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > keeps the right-panel action visible and opens a review-only empty state
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > opens the latest reviewable turn from the empty right panel
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > opens the latest reviewable turn from the empty right panel
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > floats environment information in ultrawide mode
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > floats environment information in ultrawide mode
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > keeps the environment action visible without dynamic activity
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > keeps the environment action visible without dynamic activity
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > keeps the environment action visible for a clean working tree
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > keeps the environment action visible for a clean working tree
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > shows the environment action for a background task in the transcript
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > shows the environment action for a background task in the transcript
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > opens an environment monitor in the right panel
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > opens an environment monitor in the right panel
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > opens an environment shell task in the right panel
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > opens an environment shell task in the right panel
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > closes environment information when the active session changes
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > closes environment information when the active session changes
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > updates the header when session metadata supplies a generated title
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > updates the header when session metadata supplies a generated title
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > stops refreshing the generated title after the catalog resolves it
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > stops refreshing the generated title after the catalog resolves it
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > stops refreshing the generated title after the catalog resolves it
An update to Popper inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to Presence inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > defers title refresh while the page is hidden
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > defers title refresh while the page is hidden
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > defers title refresh while the page is hidden
An update to Popper inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to Presence inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > rejects when the daemon does not confirm persistent registration
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > rejects when the daemon does not confirm persistent registration
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > surfaces an inline error when an added folder cannot refresh capabilities
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > surfaces an inline error when an added folder cannot refresh capabilities
[web-shell] refresh failed Error: refresh failed
at /startdir/src/qwen-code/packages/web-shell/client/App.test.tsx:9811:7
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 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)
at runFiles (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1787:3)
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > surfaces an inline error when an added folder cannot refresh capabilities
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > retries only capability refresh after a committed scratch cannot reconcile
[web-shell] refresh failed Error: refresh failed
at /startdir/src/qwen-code/packages/web-shell/client/App.test.tsx:9852:30
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 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)
at runFiles (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1787:3)
stderr | App.test.tsx > App session callbacks > keeps composer git status stable across an equivalent refresh
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > keeps composer git status stable across an equivalent refresh
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > keeps composer git status stable across an equivalent refresh
An update to Popper inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to Presence inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > revalidates a partial Skill mutation only within its workspace
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > revalidates a partial Skill mutation only within its workspace
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > revalidates a partial Skill mutation only within its workspace
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > revalidates a partial Skill mutation only within its workspace
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > revalidates a partial Skill mutation only within its workspace
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > revalidates a partial Skill mutation only within its workspace
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > revalidates a partial Skill mutation only within its workspace
An update to Popper inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to Presence inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > revalidates a partial Skill mutation only within its workspace
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > revalidates a partial Skill mutation only within its workspace
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > revalidates a partial Skill mutation only within its workspace
An update to Popper inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to Presence inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > keeps an automatic recap when an existing-session switch fails
[web-shell] target restore failed Error: target restore failed
at /startdir/src/qwen-code/packages/web-shell/client/App.test.tsx:11809:7
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
stderr | App.test.tsx > App session callbacks > does not notify session change when missing-session new chat fails
[web-shell] network Error: network
at /startdir/src/qwen-code/packages/web-shell/client/App.test.tsx:12130:59
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 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)
at runFiles (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1787:3)
stderr | App.test.tsx > App session callbacks > cancels a default submission when navigation occurs during session preparation
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > commits the first prompt after creating its session
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > commits the first prompt after creating its session
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > commits the first prompt after creating its session
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > commits the first prompt after creating its session
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > commits the first prompt after creating its session
An update to Popper inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to Presence inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > lets a selected session bypass a stale preparation promise
[web-shell] Session changed before attach: expected session-created, found session-selected Error: Session changed before attach: expected session-created, found session-selected
at createAndAttachSessionForPrompt (/startdir/src/qwen-code/packages/web-shell/client/utils/sessionPreparation.ts:105:13)
at /startdir/src/qwen-code/packages/web-shell/client/App.tsx:6041:9
stderr | App.test.tsx > App session callbacks > lets a selected session bypass creation before its id is allocated
[web-shell] Session changed before attach: expected session-created, found session-selected Error: Session changed before attach: expected session-created, found session-selected
at createAndAttachSessionForPrompt (/startdir/src/qwen-code/packages/web-shell/client/utils/sessionPreparation.ts:105:13)
at /startdir/src/qwen-code/packages/web-shell/client/App.tsx:6041:9
stderr | App.test.tsx > App session callbacks > clears a shared rejected preparation so a later submit can retry
[web-shell] create failed Error: create failed
at /startdir/src/qwen-code/packages/web-shell/client/App.test.tsx:14256:26
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
[web-shell] create failed Error: create failed
at /startdir/src/qwen-code/packages/web-shell/client/App.test.tsx:14256:26
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
stderr | App.test.tsx > App session callbacks > reports a host slash command error and continues default handling
[web-shell] host handler exploded Error: host handler exploded
at /startdir/src/qwen-code/packages/web-shell/client/App.test.tsx:16358:19
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 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)
at runFiles (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1787:3)
stderr | App.test.tsx > App session callbacks > dispatches turn_complete only for the session that was streaming
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > dispatches turn_complete only for the session that was streaming
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > captures a main-session workspace that becomes available mid-turn
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > captures a main-session workspace that becomes available mid-turn
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > routes a split pane review download through its stamped workspace identity
Error: Not implemented: navigation (except hash changes)
at module.exports (/startdir/src/qwen-code/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)
at navigateFetch (/startdir/src/qwen-code/node_modules/jsdom/lib/jsdom/living/window/navigation.js:77:3)
at exports.navigate (/startdir/src/qwen-code/node_modules/jsdom/lib/jsdom/living/window/navigation.js:55:3)
at Timeout._onTimeout (/startdir/src/qwen-code/node_modules/jsdom/lib/jsdom/living/nodes/HTMLHyperlinkElementUtils-impl.js:80:7)
at listOnTimeout (node:internal/timers:685:17)
at processTimers (node:internal/timers:618:7) undefined
stderr | App.test.tsx > App session callbacks > routes AskUserQuestion submission errors to an error toast
[web-shell] Submit option is unavailable Error: Submit option is unavailable
at /startdir/src/qwen-code/packages/web-shell/client/App.test.tsx:19837:9
at Proxy.process.env.NODE_ENV.exports.act (/startdir/src/qwen-code/node_modules/react/cjs/react.development.js:814:22)
at /startdir/src/qwen-code/packages/web-shell/client/App.test.tsx:19835:5
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
stderr | App.test.tsx > App session callbacks > does not report an existing title loaded during a session switch as a rename
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > does not report an existing title loaded during a session switch as a rename
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > does not report an existing title when the same session id changes workspace
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App session callbacks > does not report an existing title when the same session id changes workspace
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App prompt send failure retry > keeps an unknown lazy-session admission scoped to its allocated session
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App prompt send failure retry > keeps an unknown lazy-session admission scoped to its allocated session
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App prompt send failure retry > keeps an unknown lazy-session admission scoped to its allocated session
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App /goal command > drops a lazy /goal create when another session wins allocation
[web-shell] Session changed while attaching: expected session-created, found other-session Error: Session changed while attaching: expected session-created, found other-session
at createAndAttachSessionForPrompt (/startdir/src/qwen-code/packages/web-shell/client/utils/sessionPreparation.ts:117:13)
at /startdir/src/qwen-code/packages/web-shell/client/App.tsx:6041:9
stderr | App.test.tsx > App /goal command > keeps a Goal control busy latch owned by its own session
[web-shell] The goal is no longer available. Error: The goal is no longer available.
at /startdir/src/qwen-code/packages/web-shell/client/App.tsx:9240:17
stderr | App.test.tsx > App /goal command > rejects a Goal edit when the same session replaces the goal
[web-shell] The goal is no longer available. Error: The goal is no longer available.
at /startdir/src/qwen-code/packages/web-shell/client/App.tsx:9232:17
stderr | App.test.tsx > App /goal command > forgets a rejected goal session after leaving the Goals page
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App /goal command > forgets a rejected goal session after leaving the Goals page
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App /goal command > forgets a rejected goal session after leaving the Goals page
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App /goal command > forgets a rejected goal session after leaving the Goals page
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App /goal command > does not reuse a session selected while goal creation is in flight
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App /goal command > does not reuse a session selected while goal creation is in flight
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App /goal command > does not reuse a session selected while goal creation is in flight
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App /goal command > does not reuse a session selected while goal creation is in flight
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > App /goal command > does not dispatch a Goal control after the session changes during refresh
[web-shell] The goal is no longer available. Error: The goal is no longer available.
at /startdir/src/qwen-code/packages/web-shell/client/App.tsx:9240:17
stderr | App.test.tsx > App /goal command > does not drop the goal into the current session when the new session fails
[web-shell] daemon unreachable Error: daemon unreachable
at /startdir/src/qwen-code/packages/web-shell/client/App.test.tsx:23558:7
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
stderr | App.test.tsx > App manual-run orchestration (scheduled tasks) > "create via chat" does NOT prime the composer when the new session fails
[web-shell] boom Error: boom
at /startdir/src/qwen-code/packages/web-shell/client/App.test.tsx:23880:59
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
stderr | App.test.tsx > fileUploadEnabled customization plumbing > reaches the composer customization when the host disables upload
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > fileUploadEnabled customization plumbing > reaches the composer customization when the host disables upload
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > fileUploadEnabled customization plumbing > leaves the customization unset when the prop is omitted
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > fileUploadEnabled customization plumbing > leaves the customization unset when the prop is omitted
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > fileUploadEnabled customization plumbing > reaches the composer customization with the upload directory
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > fileUploadEnabled customization plumbing > reaches the composer customization with the upload directory
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > fileUploadEnabled customization plumbing > leaves the upload directory unset when the prop is omitted
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | App.test.tsx > fileUploadEnabled customization plumbing > leaves the upload directory unset when the prop is omitted
An update to App inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
✓ App.test.tsx (546 tests) 27274ms
stderr | components/sidebar/WebShellSidebar.workspace-removal.test.tsx > WebShellSidebar workspace removal > delegates Add workspace to the App-owned dialog
An update to WorkspaceSection inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to WorkspaceSection inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | components/sidebar/WebShellSidebar.workspace-removal.test.tsx > WebShellSidebar workspace removal > shows only the locked workspace without registration controls
An update to WorkspaceSection inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | components/sidebar/WebShellSidebar.workspace-removal.test.tsx > WebShellSidebar workspace removal > hides removal when the daemon does not publish the feature
An update to WorkspaceSection inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to WorkspaceSection inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | components/sidebar/WebShellSidebar.workspace-removal.test.tsx > WebShellSidebar workspace removal > exposes removal for an untrusted removable workspace
An update to WorkspaceSection inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to WorkspaceSection inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | components/sidebar/WebShellSidebar.workspace-removal.test.tsx > WebShellSidebar goals entry > renders the Goals footer button and invokes onOpenGoals
An update to WorkspaceSection inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to WorkspaceSection inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | components/sidebar/WebShellSidebar.workspace-removal.test.tsx > WebShellSidebar primary workspace header > does not tag the primary workspace with a redundant "Primary" badge
An update to WorkspaceSection inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to WorkspaceSection inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
✓ components/sidebar/WebShellSidebar.workspace-removal.test.tsx (80 tests) 2164ms
✓ components/MessageList.dom.test.tsx (136 tests) 2750ms
✓ MessageList — turn collapse (DOM) > releases pagination when a virtual anchor never mounts 568ms
✓ MessageList — turn collapse (DOM) > does not auto-load again when an underfill page adds no content 566ms
stderr | hooks/useQueuedPrompts.midTurnReconcile.test.tsx > useQueuedPrompts mid-turn reconciliation (session_mid_turn_message_query) > does not resend when a capable daemon reconciliation is unavailable
Failed to refresh mid-turn messages Error: reconciliation unavailable
at /startdir/src/qwen-code/packages/web-shell/client/hooks/useQueuedPrompts.midTurnReconcile.test.tsx:476:7
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 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)
at runFiles (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1787:3)
stderr | hooks/useQueuedPrompts.midTurnReconcile.test.tsx > useQueuedPrompts mid-turn reconciliation (session_mid_turn_message_query) > does not resend when a capable daemon reconciliation is unavailable
Failed to refresh mid-turn messages Error: reconciliation unavailable
at /startdir/src/qwen-code/packages/web-shell/client/hooks/useQueuedPrompts.midTurnReconcile.test.tsx:476:7
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 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)
at runFiles (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1787:3)
stderr | hooks/useQueuedPrompts.midTurnReconcile.test.tsx > useQueuedPrompts mid-turn reconciliation (session_mid_turn_message_query) > does not resend when a capable daemon reconciliation is unavailable
Failed to refresh mid-turn messages Error: reconciliation unavailable
at /startdir/src/qwen-code/packages/web-shell/client/hooks/useQueuedPrompts.midTurnReconcile.test.tsx:476:7
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 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)
at runFiles (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1787:3)
stderr | hooks/useQueuedPrompts.midTurnReconcile.test.tsx > useQueuedPrompts mid-turn reconciliation (session_mid_turn_message_query) > drops the local row when admission and reconciliation both fail
Failed to refresh mid-turn messages Error: reconciliation unavailable
at /startdir/src/qwen-code/packages/web-shell/client/hooks/useQueuedPrompts.midTurnReconcile.test.tsx:836:7
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 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)
at runFiles (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1787:3)
stderr | hooks/useQueuedPrompts.midTurnReconcile.test.tsx > useQueuedPrompts mid-turn reconciliation (session_mid_turn_message_query) > drops the local row when admission and reconciliation both fail
Failed to refresh mid-turn messages Error: reconciliation unavailable
at /startdir/src/qwen-code/packages/web-shell/client/hooks/useQueuedPrompts.midTurnReconcile.test.tsx:836:7
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 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)
at runFiles (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1787:3)
stderr | hooks/useQueuedPrompts.midTurnReconcile.test.tsx > useQueuedPrompts mid-turn reconciliation (session_mid_turn_message_query) > keeps a promoted row visible when pending-prompt refresh fails
Failed to refresh pending prompts Error: pending snapshot unavailable
at /startdir/src/qwen-code/packages/web-shell/client/hooks/useQueuedPrompts.midTurnReconcile.test.tsx:1048:9
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
stderr | hooks/useQueuedPrompts.midTurnReconcile.test.tsx > useQueuedPrompts mid-turn reconciliation (session_mid_turn_message_query) > keeps promoted media available when the pending-prompt refresh fails
Failed to refresh pending prompts Error: pending snapshot unavailable
at /startdir/src/qwen-code/packages/web-shell/client/hooks/useQueuedPrompts.midTurnReconcile.test.tsx:3185:9
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20
✓ hooks/useQueuedPrompts.midTurnReconcile.test.tsx (90 tests) 155ms
stderr | components/messages/EnhancedMarkdownTable.test.tsx > EnhancedMarkdownTable > quick copies the visible sorted table
An update to EnhancedTable inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | components/messages/EnhancedMarkdownTable.test.tsx > EnhancedMarkdownTable > sanitizes spreadsheet formulas when copying TSV
An update to EnhancedTable inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to EnhancedTable inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | components/messages/EnhancedMarkdownTable.test.tsx > EnhancedMarkdownTable > quick copy skips hidden columns
An update to EnhancedTable inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | components/messages/EnhancedMarkdownTable.test.tsx > EnhancedMarkdownTable > reorders columns and quick copies in the visible order
An update to EnhancedTable inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | components/messages/EnhancedMarkdownTable.test.tsx > EnhancedMarkdownTable > keeps hidden columns out of reordered selections
An update to EnhancedTable inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | components/messages/EnhancedMarkdownTable.test.tsx > EnhancedMarkdownTable > copies the full long cell value instead of the expanded preview text
An update to EnhancedTable inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | components/messages/EnhancedMarkdownTable.test.tsx > EnhancedMarkdownTable > flattens cell-internal newlines when copying a selection
An update to EnhancedTable inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | components/messages/EnhancedMarkdownTable.test.tsx > EnhancedMarkdownTable > flattens cell-internal tabs when copying a selection
An update to EnhancedTable inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | components/messages/EnhancedMarkdownTable.test.tsx > EnhancedMarkdownTable > copies reordered selections after freezing the first column
An update to EnhancedTable inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | components/messages/EnhancedMarkdownTable.test.tsx > EnhancedMarkdownTable > selection copy skips hidden columns between selected cells
An update to EnhancedTable inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | components/messages/EnhancedMarkdownTable.test.tsx > EnhancedMarkdownTable > stops extending a selection after window blur
An update to EnhancedTable inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | components/messages/EnhancedMarkdownTable.test.tsx > EnhancedMarkdownTable > selects cells with touch drag
An update to EnhancedTable inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
✓ components/messages/EnhancedMarkdownTable.test.tsx (121 tests) 3017ms
✓ components/ChatEditor.test.tsx (88 tests) 1464ms
stderr | components/ChatPane.test.tsx > ChatPane > builds the control request from the freshly fetched Goal
An update to ChatPane inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | components/ChatPane.test.tsx > ChatPane > builds the control request from the freshly fetched Goal
An update to ChatPane inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
✓ components/ChatPane.test.tsx (112 tests) 800ms
stderr | components/artifacts/ArtifactPanel.test.tsx > ArtifactPanel monitor tab > stays stopped when the post-cancel refresh fails
[web-shell] failed to refresh stopped monitor: Error: refresh failed
at /startdir/src/qwen-code/packages/web-shell/client/components/artifacts/ArtifactPanel.test.tsx:2158:44
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 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)
at runFiles (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1787:3)
stderr | components/artifacts/ArtifactPanel.test.tsx > ArtifactPanel monitor tab > shows a cancel error when the stop request throws
[web-shell] failed to cancel monitor: Error: network
at /startdir/src/qwen-code/packages/web-shell/client/components/artifacts/ArtifactPanel.test.tsx:2329:46
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26
at file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20
at new Promise ()
at runWithTimeout (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10)
at runTest (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1574:12)
at 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)
at runFiles (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1787:3)
✓ components/artifacts/ArtifactPanel.test.tsx (57 tests) 561ms
stderr | hooks/useMessages.test.ts > background agent task reconciliation > treats a missing background agent as terminal after repeated misses
[web-shell] background agent reconciliation retry scheduled {
sessionId: 'session-1',
callIds: [ 'agent-call' ],
errors: [ 'HTTP 404 session_not_found' ]
}
stderr | hooks/useMessages.test.ts > background agent task reconciliation > recovers a missing background agent that registers after a first miss
[web-shell] background agent reconciliation retry scheduled {
sessionId: 'session-1',
callIds: [ 'agent-call' ],
errors: [ 'HTTP 404 session_not_found' ]
}
stderr | hooks/useMessages.test.ts > background agent task reconciliation > does not fail an agent while its launch approval is unanswered
[web-shell] background agent reconciliation retry scheduled {
sessionId: 'session-1',
callIds: [ 'agent-call' ],
errors: [ 'HTTP 404 session_not_found' ]
}
stderr | hooks/useMessages.test.ts > background agent task reconciliation > resets accumulated missing-agent misses when an approval engages
[web-shell] background agent reconciliation retry scheduled {
sessionId: 'session-1',
callIds: [ 'agent-call-a' ],
errors: [ 'HTTP 404 session_not_found' ]
}
stderr | hooks/useMessages.test.ts > background agent task reconciliation > resets accumulated missing-agent misses when an approval engages
[web-shell] background agent reconciliation retry scheduled {
sessionId: 'session-1',
callIds: [ 'agent-call-a' ],
errors: [ 'HTTP 404 session_not_found' ]
}
stderr | hooks/useMessages.test.ts > background agent task reconciliation > does not count a late 404 after approval engages
[web-shell] background agent reconciliation retry scheduled {
sessionId: 'session-1',
callIds: [ 'agent-call' ],
errors: [ 'HTTP 404 session_not_found' ]
}
stderr | hooks/useMessages.test.ts > background agent task reconciliation > keeps the missing-agent grace when an unrelated permission re-probes
[web-shell] background agent reconciliation retry scheduled {
sessionId: 'session-1',
callIds: [ 'agent-call' ],
errors: [ 'HTTP 404 session_not_found' ]
}
stderr | hooks/useMessages.test.ts > background agent task reconciliation > keeps the missing-agent grace when an unrelated permission re-probes
[web-shell] background agent reconciliation retry scheduled {
sessionId: 'session-1',
callIds: [ 'agent-call' ],
errors: [ 'HTTP 404 session_not_found' ]
}
stderr | hooks/useMessages.test.ts > background agent task reconciliation > gives a session-level 404 the same grace as a missing agent
[web-shell] background agent reconciliation retry scheduled {
sessionId: 'session-1',
callIds: [ 'agent-call' ],
errors: [ 'HTTP 404 session_not_found' ]
}
stderr | hooks/useMessages.test.ts > background agent task reconciliation > recovers a session-level 404 when the next round reaches the daemon
[web-shell] background agent reconciliation retry scheduled {
sessionId: 'session-1',
callIds: [ 'agent-call' ],
errors: [ 'HTTP 404 session_not_found' ]
}
stderr | hooks/useMessages.test.ts > background agent task reconciliation > does not consume grace misses for a superseded round
[web-shell] background agent reconciliation retry scheduled {
sessionId: 'session-1',
callIds: [ 'agent-call' ],
errors: [ 'HTTP 404 session_not_found' ]
}
stderr | hooks/useMessages.test.ts > background agent task reconciliation > applies successful resolutions when another pending Agent fails
[web-shell] background agent reconciliation retry scheduled {
sessionId: 'session-1',
callIds: [ 'agent-b' ],
errors: [ 'not found' ]
}
stderr | hooks/useMessages.test.ts > background agent task reconciliation > applies successful resolutions when another pending Agent fails
[web-shell] background agent reconciliation retry scheduled {
sessionId: 'session-1',
callIds: [ 'agent-b' ],
errors: [ 'not found' ]
}
stderr | hooks/useMessages.test.ts > background agent task reconciliation > keeps retry tolerance for the completion query of a long-running agent
[web-shell] background agent reconciliation retry scheduled {
sessionId: 'session-1',
callIds: [ 'agent-call' ],
errors: [ 'HTTP 500 internal_error' ]
}
stderr | hooks/useMessages.test.ts > background agent task reconciliation > re-arms the missing-agent grace after a successful response
[web-shell] background agent reconciliation retry scheduled {
sessionId: 'session-1',
callIds: [ 'agent-call' ],
errors: [ 'HTTP 404 session_not_found' ]
}
stderr | hooks/useMessages.test.ts > background agent task reconciliation > re-arms the missing-agent grace after a successful response
[web-shell] background agent reconciliation retry scheduled {
sessionId: 'session-1',
callIds: [ 'agent-call' ],
errors: [ 'HTTP 404 session_not_found' ]
}
✓ hooks/useMessages.test.ts (52 tests) 97ms
stderr | hooks/useAtMentionMenu.test.tsx > useAtMentionMenu > backs from MCP resources to the MCP server list
An update to Harness inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | hooks/useAtMentionMenu.test.tsx > useAtMentionMenu > closes without dispatching when accept uses stale document positions
[@mention] stale insertion range { from: 0, to: 1, docLength: 0 }
stderr | hooks/useAtMentionMenu.test.tsx > useAtMentionMenu > does not load resources when reopening a disabled MCP server ref
[@mention] file provider unavailable: workspace actions are not configured
✓ hooks/useAtMentionMenu.test.tsx (83 tests) 137ms
stderr | hooks/useQueuedPrompts.dom.test.tsx > useQueuedPrompts default mid-turn insertion > stops the release chain when the Goal re-activates mid-drain
An update to Harness inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | hooks/useQueuedPrompts.dom.test.tsx > useQueuedPrompts default mid-turn insertion > stashes the undrained release chain when the session changes mid-drain
An update to Harness inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | hooks/useQueuedPrompts.dom.test.tsx > useQueuedPrompts default mid-turn insertion > stashes a chain link that bails before the owner change commits
An update to Harness inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
✓ hooks/useQueuedPrompts.dom.test.tsx (69 tests) 88ms
✓ components/messages/ToolGroup.test.tsx (82 tests) 255ms
stderr | hooks/useComposerCore.dom.test.tsx > useComposerCore paste > keeps batch order, normalizes BMP, and aggregates rejected drops
An update to Harness inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | hooks/useComposerCore.dom.test.tsx > useComposerCore paste > keeps batch order, normalizes BMP, and aggregates rejected drops
An update to Harness inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | hooks/useComposerCore.dom.test.tsx > useComposerCore paste > keeps batch order, normalizes BMP, and aggregates rejected drops
An update to Harness inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | hooks/useComposerCore.dom.test.tsx > useComposerCore paste > keeps batch order, normalizes BMP, and aggregates rejected drops
An update to Harness inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | hooks/useComposerCore.dom.test.tsx > useComposerCore paste > keeps batch order, normalizes BMP, and aggregates rejected drops
An update to Harness inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
✓ hooks/useComposerCore.dom.test.tsx (59 tests) 677ms
✓ session-catalog/session-catalog-store.test.ts (57 tests) 40ms
✓ components/messages/Markdown.test.ts (77 tests) 1701ms
✓ Markdown code highlighting while streaming > keeps a growing block plain and highlights it once settled 429ms
✓ Markdown code highlighting while streaming > applies Shiki highlighting once a code block has settled 307ms
✓ Markdown code highlighting while streaming > drops stale highlighted HTML when the code is replaced (regeneration) 611ms
✓ components/messages/tools/ParallelAgentsGroup.test.tsx (42 tests) 158ms
✓ components/sidebar/WebShellSidebar.collapse-persist.test.tsx (32 tests) 5884ms
✓ WebShellSidebar collapsed session group persistence > keeps project sessions available from the collapsed sidebar 347ms
✓ WebShellSidebar collapsed session group persistence > restores focus to the trigger when a pointer-opened switcher closes with focus inside 3746ms
✓ components/messages/AskUserQuestion.test.tsx (70 tests) 301ms
✓ components/dialogs/ScheduledTasksDialog.test.tsx (53 tests) 444ms
stderr | components/dialogs/DaemonStatusDialog.test.tsx > DaemonStatusDialog > moves between tabs with arrow / Home / End keys (roving tabindex)
Error: [vitest] No "useUsageDashboard" export is defined on the "@qwen-code/webui/daemon-react-sdk" mock. Did you forget to return it from "vi.mock"?
If you need to partially mock a module, you can use "importOriginal" helper inside:
at VitestMocker.createError (file:///startdir/src/qwen-code/node_modules/vitest/dist/chunks/execute.B7h3T_Hc.js:284:17)
at Object.get (file:///startdir/src/qwen-code/node_modules/vitest/dist/chunks/execute.B7h3T_Hc.js:330:16)
at UsageDashboardTab (/startdir/src/qwen-code/packages/web-shell/client/components/dialogs/UsageDashboardTab.tsx:202:49)
at Object.react_stack_bottom_frame (/startdir/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:25904:20)
at renderWithHooks (/startdir/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:7662:22)
at updateFunctionComponent (/startdir/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:10166:19)
at beginWork (/startdir/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:11778:18)
at runWithFiberInDEV (/startdir/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:874:13)
at performUnitOfWork (/startdir/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:17641:22)
at workLoopSync (/startdir/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:17469:41) {
[stack]: [Getter/Setter],
[message]: '[vitest] No "useUsageDashboard" export is defined on the "@qwen-code/webui/daemon-react-sdk" mock. Did you forget to return it from "vi.mock"?\n' +
'If you need to partially mock a module, you can use "importOriginal" helper inside:\n',
codeFrame: 'vi.mock(import("@qwen-code/webui/daemon-react-sdk"), async (importOriginal) => {\n' +
' const actual = await importOriginal()\n' +
' return {\n' +
' ...actual,\n' +
' // your mocked methods\n' +
' }\n' +
'})'
}
The above error occurred in the component.
React will try to recreate this component tree from scratch using the error boundary you provided, ErrorBoundary.
[web-shell] daemon-usage failed: Error: [vitest] No "useUsageDashboard" export is defined on the "@qwen-code/webui/daemon-react-sdk" mock. Did you forget to return it from "vi.mock"?
If you need to partially mock a module, you can use "importOriginal" helper inside:
at VitestMocker.createError (file:///startdir/src/qwen-code/node_modules/vitest/dist/chunks/execute.B7h3T_Hc.js:284:17)
at Object.get (file:///startdir/src/qwen-code/node_modules/vitest/dist/chunks/execute.B7h3T_Hc.js:330:16)
at UsageDashboardTab (/startdir/src/qwen-code/packages/web-shell/client/components/dialogs/UsageDashboardTab.tsx:202:49)
at Object.react_stack_bottom_frame (/startdir/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:25904:20)
at renderWithHooks (/startdir/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:7662:22)
at updateFunctionComponent (/startdir/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:10166:19)
at beginWork (/startdir/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:11778:18)
at runWithFiberInDEV (/startdir/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:874:13)
at performUnitOfWork (/startdir/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:17641:22)
at workLoopSync (/startdir/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:17469:41) {
codeFrame: 'vi.mock(import("@qwen-code/webui/daemon-react-sdk"), async (importOriginal) => {\n' +
' const actual = await importOriginal()\n' +
' return {\n' +
' ...actual,\n' +
' // your mocked methods\n' +
' }\n' +
'})'
}
at UsageDashboardTab (/startdir/src/qwen-code/packages/web-shell/client/components/dialogs/UsageDashboardTab.tsx:274:60)
at ErrorBoundary (/startdir/src/qwen-code/packages/web-shell/client/components/ErrorBoundary.tsx:11:1)
at div ()
at div ()
at DaemonStatusDialogInner (/startdir/src/qwen-code/packages/web-shell/client/components/dialogs/DaemonStatusDialog.tsx:649:50)
at ErrorBoundary (/startdir/src/qwen-code/packages/web-shell/client/components/ErrorBoundary.tsx:11:1)
at DaemonStatusDialog (/startdir/src/qwen-code/packages/web-shell/client/components/dialogs/DaemonStatusDialog.tsx:1540:50)
at I18nProvider (/startdir/src/qwen-code/packages/web-shell/client/i18n.tsx:5418:3)
✓ components/dialogs/DaemonStatusDialog.test.tsx (36 tests) 221ms
stderr | components/SplitView.test.tsx > SplitView > isolates a crashing pane so the rest of the split survives
Error: pane exploded
at ChatPane (/startdir/src/qwen-code/packages/web-shell/client/components/SplitView.test.tsx:91:39)
at Object.react_stack_bottom_frame (/startdir/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:25904:20)
at renderWithHooks (/startdir/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:7662:22)
at updateFunctionComponent (/startdir/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:10166:19)
at beginWork (/startdir/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:11778:18)
at runWithFiberInDEV (/startdir/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:874:13)
at performUnitOfWork (/startdir/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:17641:22)
at workLoopSync (/startdir/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:17469:41)
at renderRootSync (/startdir/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:17450:11)
at performWorkOnRoot (/startdir/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:16583:35) {
[stack]: [Getter/Setter],
[message]: 'pane exploded'
}
The above error occurred in the component.
React will try to recreate this component tree from scratch using the error boundary you provided, ErrorBoundary.
[web-shell] split-pane:s1 failed: Error: pane exploded
at ChatPane (/startdir/src/qwen-code/packages/web-shell/client/components/SplitView.test.tsx:91:39)
at Object.react_stack_bottom_frame (/startdir/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:25904:20)
at renderWithHooks (/startdir/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:7662:22)
at updateFunctionComponent (/startdir/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:10166:19)
at beginWork (/startdir/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:11778:18)
at runWithFiberInDEV (/startdir/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:874:13)
at performUnitOfWork (/startdir/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:17641:22)
at workLoopSync (/startdir/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:17469:41)
at renderRootSync (/startdir/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:17450:11)
at performWorkOnRoot (/startdir/src/qwen-code/node_modules/react-dom/cjs/react-dom-client.development.js:16583:35)
at ChatPane (/startdir/src/qwen-code/packages/web-shell/client/components/SplitView.test.tsx:64:15)
at div ()
at DaemonSessionProvider (/startdir/src/qwen-code/packages/web-shell/client/components/SplitView.test.tsx:6:29)
at ErrorBoundary (/startdir/src/qwen-code/packages/web-shell/client/components/ErrorBoundary.tsx:11:1)
at div ()
at div ()
at div ()
at SplitView (/startdir/src/qwen-code/packages/web-shell/client/components/SplitView.tsx:35:3)
at I18nProvider (/startdir/src/qwen-code/packages/web-shell/client/i18n.tsx:5418:3)
✓ components/SplitView.test.tsx (42 tests) 152ms
stderr | components/sidebar/WorkspaceSection.test.tsx > WorkspaceSection label > prefers the workspace display name over the cwd basename
An update to WorkspaceSection inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | components/sidebar/WorkspaceSection.test.tsx > WorkspaceSection label > restores and writes the workspace expansion preference
An update to WorkspaceSection inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | components/sidebar/WorkspaceSection.test.tsx > WorkspaceSection label > does not carry a load error across a source switch
[WorkspaceSection] session poll failed for /tmp/project: Error: tasks unavailable
at Object. (/startdir/src/qwen-code/packages/web-shell/client/components/sidebar/WorkspaceSection.test.tsx:347:28)
at Object.mockCall (file:///startdir/src/qwen-code/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.spy [as listWorkspaceSessionsPage] (file:///startdir/src/qwen-code/node_modules/tinyspy/dist/index.js:47:103)
at SessionCatalogStore.fetchPage (/startdir/src/qwen-code/packages/web-shell/client/session-catalog/session-catalog-store.ts:1254:12)
at SessionCatalogStore.startJob (/startdir/src/qwen-code/packages/web-shell/client/session-catalog/session-catalog-store.ts:1119:26)
at SessionCatalogStore.drainQueue (/startdir/src/qwen-code/packages/web-shell/client/session-catalog/session-catalog-store.ts:1107:12)
at SessionCatalogStore.ensureScheduled (/startdir/src/qwen-code/packages/web-shell/client/session-catalog/session-catalog-store.ts:1088:10)
at SessionCatalogStore.requestBackground (/startdir/src/qwen-code/packages/web-shell/client/session-catalog/session-catalog-store.ts:1042:10)
at SessionCatalogStore.subscribe (/startdir/src/qwen-code/packages/web-shell/client/session-catalog/session-catalog-store.ts:394:12)
at /startdir/src/qwen-code/packages/web-shell/client/session-catalog/session-catalog-hooks.ts:69:20
stderr | components/sidebar/WorkspaceSection.test.tsx > WorkspaceSection git chip > renders a clickable git chip for a trusted repo
An update to BranchPickerPopover inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to BranchPickerPopover inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
✓ components/sidebar/WorkspaceSection.test.tsx (25 tests) 231ms
stderr | components/dialogs/GitDialog.test.tsx > GitDialog > binds the created PR to the current session
[GitDialog] PR generation failed: TypeError: Cannot read properties of undefined (reading 'answer')
at /startdir/src/qwen-code/packages/web-shell/client/components/dialogs/GitDialog.tsx:475:26
stderr | components/dialogs/GitDialog.test.tsx > GitDialog > keeps the PR-creation success when the session binding fails
[GitDialog] PR generation failed: TypeError: Cannot read properties of undefined (reading 'answer')
at /startdir/src/qwen-code/packages/web-shell/client/components/dialogs/GitDialog.tsx:475:26
✓ components/dialogs/GitDialog.test.tsx (16 tests) 357ms
✓ hooks/useFileUpload.test.tsx (28 tests) 41ms
✓ components/messages/MarkdownChartRenderer.test.tsx (26 tests) 366ms
✓ components/sidebar/WebShellSidebar.session-pinning.test.tsx (17 tests) 387ms
stderr | session-catalog/workspace-session-live-state.test.tsx > useWorkspaceSessionLiveState > does not hot-loop when a staged commit is persistently refused
[session-catalog] failed to refresh catalog: TypeError: Cannot read properties of undefined (reading 'sessions')
at SessionCatalogStore.fetchPage (/startdir/src/qwen-code/packages/web-shell/client/session-catalog/session-catalog-store.ts:1261:22)
✓ session-catalog/workspace-session-live-state.test.tsx (28 tests) 79ms
✓ voice/VoiceButton.test.tsx (32 tests) 80ms
✓ components/dialogs/AddWorkspaceDialog.test.tsx (34 tests) 478ms
✓ components/dialogs/GoalsDialog.test.tsx (34 tests) 301ms
✓ components/channels/ChannelPairingRequests.test.tsx (26 tests) 301ms
✓ components/channels/ChannelEditorDialog.test.tsx (22 tests) 829ms
stderr | components/messages/ToolApproval.test.tsx > ToolApproval accessibility > leaves Enter to native button activation (no double-press guard)
An update to ToolApproval inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
✓ components/messages/ToolApproval.test.tsx (38 tests) 104ms
✓ components/messages/UserMessage.test.tsx (37 tests) 70ms
✓ components/messages/PlanExecutionView.test.tsx (22 tests) 96ms
✓ voice/useVoiceCapture.test.tsx (23 tests) 44ms
✓ components/artifacts/TokenUsagePanel.test.tsx (34 tests) 188ms
✓ components/channels/ChannelsManagerPage.test.tsx (14 tests) 534ms
stderr | components/SessionOverviewPanel.test.tsx > SessionOverviewPanel polling > re-queries other workspaces on each list poll (multi-workspace)
An update to SessionOverviewPanelInner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | components/SessionOverviewPanel.test.tsx > SessionOverviewPanel polling > re-queries other workspaces on each list poll (multi-workspace)
An update to SessionOverviewPanelInner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | components/SessionOverviewPanel.test.tsx > SessionOverviewPanel polling > re-queries other workspaces on each list poll (multi-workspace)
An update to SessionOverviewPanelInner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to SessionOverviewPanelInner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to SessionOverviewPanelInner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | components/SessionOverviewPanel.test.tsx > SessionOverviewPanel polling > re-queries other workspaces on each list poll (multi-workspace)
An update to SessionOverviewPanelInner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | components/SessionOverviewPanel.test.tsx > SessionOverviewPanel polling > re-queries other workspaces on each list poll (multi-workspace)
An update to SessionOverviewPanelInner inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
✓ components/SessionOverviewPanel.test.tsx (28 tests) 88ms
✓ components/artifacts/CodeReviewArtifactDetail.test.tsx (20 tests) 111ms
✓ components/messages/AssistantMessage.test.tsx (23 tests) 196ms
✓ hooks/useSessionArtifacts.test.tsx (10 tests) 19ms
✓ components/artifacts/TurnOutputs.dom.test.tsx (9 tests) 61ms
✓ components/artifacts/SideTaskPanel.test.tsx (16 tests) 46ms
✓ components/QueuedPromptDisplay.test.tsx (27 tests) 57ms
✓ components/messages/SystemMessage.test.tsx (30 tests) 67ms
✓ components/PaneHeaderActions.test.tsx (11 tests) 199ms
✓ components/WebShellTranscript.dom.test.tsx (9 tests) 158ms
✓ components/dialogs/GitDiffDialog.test.tsx (14 tests) 191ms
✓ components/panels/EnvironmentPanel.test.tsx (14 tests) 74ms
✓ hooks/useComposerCore.mobile.dom.test.tsx (19 tests) 186ms
✓ components/MessageItem.dom.test.tsx (11 tests) 38ms
✓ hooks/useAnimationFrameTranscriptBlocks.test.tsx (10 tests) 18ms
✓ utils/imageIngestion.test.ts (53 tests) 11ms
✓ components/messages/SettingsMessage.dom.test.tsx (10 tests) 194ms
✓ session-catalog/session-catalog-hooks.test.tsx (10 tests) 34ms
✓ components/StreamingStatus.test.tsx (15 tests) 36ms
✓ components/messages/TasksStatusMessage.test.tsx (10 tests) 1867ms
✓ TasksStatusMessage nested-agent tree > cancels a foreground child of a background parent on the first press 607ms
✓ TasksStatusMessage nested-agent tree > requires a second press to cancel a user-blocking agent 607ms
✓ TasksStatusMessage nested-agent tree > caps the detail progress list at the newest MAX_DISPLAYED_ACTIVITIES rows 404ms
✓ components/sidebar/SessionDetailsTooltip.test.tsx (7 tests) 165ms
✓ components/messages/ModelManagementSection.dom.test.tsx (14 tests) 52ms
✓ index.test.tsx (17 tests) 65ms
✓ hooks/useNewSessionSuggestion.test.tsx (19 tests) 25ms
✓ components/AtMentionPanel.test.tsx (14 tests) 85ms
✓ components/dialogs/GitLogDialog.test.tsx (14 tests) 199ms
✓ hooks/useListboxKeyboard.test.tsx (16 tests) 80ms
✓ components/artifacts/artifactUtils.test.ts (34 tests) 19ms
✓ components/messages/McpApp.dom.test.tsx (7 tests) 87ms
✓ components/dialogs/ReleaseSessionDialog.test.tsx (6 tests) 64ms
✓ config/daemon.test.ts (19 tests) 18ms
✓ components/WorkspaceSessionProvider.test.tsx (8 tests) 36ms
✓ components/dialogs/UsageDashboardTab.test.tsx (8 tests) 152ms
✓ components/dialogs/DeleteSessionDialog.test.tsx (6 tests) 73ms
✓ components/messages/tools/SubAgentPanel.test.tsx (10 tests) 78ms
✓ hooks/useBackgroundTasks.test.tsx (6 tests) 17ms
✓ components/dialogs/GitHubPrsDialog.test.tsx (12 tests) 60ms
✓ components/WebShellTranscript.test.tsx (4 tests) 54ms
✓ components/GitBranchIndicator.test.tsx (11 tests) 47ms
✓ hooks/useOtherWorkspaceSessions.test.tsx (6 tests) 17ms
✓ components/WorkspaceIndicator.test.tsx (6 tests) 84ms
✓ components/artifacts/SubagentDetail.integration.test.tsx (2 tests) 27ms
✓ components/messages/ToolApproval.test.ts (6 tests) 23ms
✓ components/BranchPickerPopover.test.tsx (3 tests) 51ms
✓ live/useLiveVoice.test.tsx (4 tests) 16ms
✓ components/GoalStatusStrip.test.tsx (6 tests) 30ms
✓ live/LiveVoiceButton.test.tsx (5 tests) 98ms
✓ hooks/useIsTouchComposer.test.tsx (9 tests) 18ms
✓ components/dialogs/SessionRow.test.tsx (7 tests) 35ms
✓ components/dialogs/ModelFallbacksDialog.dom.test.tsx (8 tests) 38ms
✓ utils/clipboard.test.ts (8 tests) 16ms
✓ hooks/useScopedSessions.test.tsx (3 tests) 27ms
✓ components/dialogs/ModelDialog.test.tsx (5 tests) 38ms
✓ components/dialogs/DialogShell.test.tsx (5 tests) 121ms
✓ voice/use-voice-workspace-settings.test.tsx (4 tests) 12ms
✓ components/messages/TodoView.test.tsx (4 tests) 43ms
✓ components/ToastHost.test.tsx (5 tests) 31ms
✓ components/dialogs/ResumeDialog.test.tsx (4 tests) 54ms
✓ components/dialogs/RewindDialog.test.tsx (5 tests) 59ms
✓ components/ErrorBoundary.test.tsx (6 tests) 24ms
✓ components/RootErrorFallback.test.tsx (5 tests) 47ms
✓ components/messages/Markdown.coldHighlight.test.ts (2 tests) 31ms
✓ hooks/useFilterInput.test.tsx (3 tests) 23ms
✓ components/dialogs/GoalEditDialog.test.tsx (4 tests) 96ms
✓ components/messages/PlanMessage.test.tsx (6 tests) 27ms
✓ hooks/useExternalLinkOpener.test.ts (5 tests) 27ms
✓ live/useLiveVoiceSetup.test.tsx (3 tests) 15ms
✓ components/messages/AssistantMessage.thinking-memo.test.tsx (2 tests) 36ms
✓ components/dialogs/ApprovalModeDialog.test.tsx (5 tests) 38ms
✓ components/ChatContextHeader.test.tsx (7 tests) 30ms
✓ utils/splitUrl.test.ts (16 tests) 7ms
✓ components/messages/ContextUsageMessage.test.tsx (3 tests) 29ms
✓ components/Editor.keymap.test.ts (5 tests) 28ms
✓ live/HotkeySetter.test.tsx (4 tests) 37ms
✓ components/MessageTimestamp.test.tsx (6 tests) 18ms
✓ components/WorkspaceSelector.test.tsx (2 tests) 100ms
✓ components/panels/TodoPanel.test.tsx (3 tests) 22ms
✓ hooks/useIsLargeScreen.test.tsx (4 tests) 19ms
✓ components/dialogs/SvgLineChart.test.tsx (4 tests) 21ms
✓ utils/copyCommand.noClipboard.test.ts (2 tests) 12ms
✓ components/dialogs/TokenHeatmap.test.tsx (3 tests) 92ms
✓ components/sidebar/SessionGroupSection.test.tsx (2 tests) 25ms
✓ components/ui/react18-ref-compat.test.tsx (17 tests) 23ms
✓ components/dialogs/ThemeDialog.test.tsx (1 test) 20ms
✓ components/dialogs/ToolsDialog.test.tsx (1 test) 25ms
✓ utils/externalOpen.test.ts (6 tests) 4ms
✓ shadowDom.test.ts (14 tests) 12ms
✓ components/ui/management-notice.test.tsx (4 tests) 30ms
✓ main.test.tsx (1 test) 18ms
✓ components/sidebar/collapsedSessionSections.test.ts (2 tests) 4ms
✓ components/sidebar/workspaceExpansion.test.ts (3 tests) 3ms
✓ hooks/usePrefersReducedMotion.test.tsx (1 test) 17ms
✓ components/sidebar/sessionDetailsCollisionBoundary.test.ts (2 tests) 8ms
✓ test/setup.test.ts (1 test) 3ms
✓ adapters/transcriptToMessages.test.ts (136 tests) 29ms
✓ components/MessageList.test.ts (142 tests) 30ms
✓ utils/todos.test.ts (82 tests) 10ms
✓ components/channels/channel-editor-state.test.ts (37 tests) 6ms
✓ components/artifacts/turnOutputSelectors.test.ts (27 tests) 9ms
✓ completions/slashCompletion.test.ts (23 tests) 16ms
✓ utils/sessionPreparation.test.ts (19 tests) 113ms
✓ utils/composerTag.test.ts (30 tests) 6ms
✓ components/messages/toolFormatting.test.ts (36 tests) 5ms
✓ midTurnDedup.test.ts (21 tests) 4ms
✓ voice/voice-workspace-target.test.ts (24 tests) 6ms
✓ build-artifact.test.ts (13 tests) 413ms
✓ components/dialogs/scheduledTasksSchedule.test.ts (17 tests) 21ms
✓ index-html.test.ts (7 tests) 46ms
✓ utils/copyCommand.test.ts (13 tests) 6ms
✓ components/messages/agentForest.test.ts (19 tests) 4ms
✓ adapters/transcriptAdapter.test.ts (7 tests) 3ms
✓ constants/localCommands.test.ts (10 tests) 3ms
✓ components/artifacts/TurnOutputs.test.ts (18 tests) 5ms
✓ components/sidebar/session-action-visibility.test.ts (7 tests) 3ms
✓ utils/ansi.test.ts (9 tests) 4ms
✓ utils/goalCondition.test.ts (28 tests) 4ms
✓ utils/modelEncoding.test.ts (24 tests) 3ms
✓ components/sidebar/channelSessionGroups.test.ts (4 tests) 2ms
✓ adapters/toolClassification.test.ts (20 tests) 3ms
✓ components/toolbarDropdown.test.ts (7 tests) 3ms
✓ utils/workspace.test.ts (11 tests) 3ms
✓ components/artifacts/codeReviewContract.test.ts (2 tests) 4ms
✓ hooks/useComposerCore.test.ts (8 tests) 3ms
✓ components/messages/codeHighlighter.retry.test.ts (4 tests) 4ms
✓ components/messages/McpApp.test.ts (8 tests) 4ms
✓ utils/sessionPath.test.ts (18 tests) 3ms
✓ utils/composerInputState.test.ts (7 tests) 3ms
✓ utils/goalGate.test.ts (4 tests) 2ms
✓ components/messages/toolFormatting.agentType.test.ts (4 tests) 3ms
✓ components/agents/agents-manager-logic.test.ts (7 tests) 3ms
✓ components/messages/codeHighlighter.test.ts (6 tests) 73ms
✓ components/artifacts/useArtifactWorkspaceTarget.test.ts (9 tests) 3ms
✓ components/messages/SettingsMessage.test.ts (10 tests) 4ms
✓ utils/workspaceColor.test.ts (5 tests) 2ms
✓ utils/monitorTasks.test.ts (4 tests) 2ms
✓ utils/escapeIntent.test.ts (9 tests) 2ms
✓ utils/slashSectionPlan.test.ts (6 tests) 3ms
✓ vite-config.test.ts (3 tests) 2ms
✓ components/agents/agent-tool-options.test.ts (3 tests) 2ms
✓ components/sidebar/sessionSearch.test.ts (4 tests) 2ms
✓ utils/localCommandQueue.test.ts (5 tests) 3ms
✓ components/messages/toolFormatting.drift.test.ts (2 tests) 4ms
✓ components/skills/skills-manager-logic.test.ts (3 tests) 4ms
✓ hooks/useQueuedPrompts.test.ts (6 tests) 3ms
✓ components/extensions/extensions-manager-logic.test.ts (3 tests) 4ms
✓ components/channels/channel-platform.test.ts (2 tests) 4ms
✓ utils/modelSwitchMessages.test.ts (3 tests) 4ms
✓ utils/timeAgo.test.ts (18 tests) 33ms
✓ components/GitModePopover.test.tsx (16 tests) 5ms
✓ components/sidebar/sidebarToggleShortcut.test.ts (5 tests) 2ms
✓ utils/composerTasks.test.ts (1 test) 2ms
✓ components/artifacts/SubagentDetail.test.tsx (2 tests) 4ms
✓ utils/askUserPermission.test.ts (3 tests) 3ms
✓ utils/queueDrain.test.ts (8 tests) 2ms
✓ utils/promptAdmission.test.ts (11 tests) 5ms
✓ utils/formatTokenCount.test.ts (3 tests) 3ms
✓ extensions/inputHighlight.test.ts (1 test) 8ms
✓ utils/contextUsage.test.ts (1 test) 6ms
✓ constants/sessions.test.ts (1 test) 2ms
✓ utils/sessionErrors.test.ts (1 test) 2ms
✓ utils/cssUrlVar.test.ts (2 tests) 3ms
Test Files 199 passed (199)
Tests 4290 passed (4290)
Start at 16:04:37
Duration 137.70s (transform 5.62s, setup 959ms, collect 24.85s, tests 60.65s, environment 24.28s, prepare 8.62s)
JUNIT report written to /startdir/src/qwen-code/packages/web-shell/junit.xml
npm notice run @qwen-code/webui@0.22.2 test
RUN v3.2.7 /startdir/src/qwen-code/packages/webui
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps capabilities handshake failures out of the transcript
[DaemonSessionProvider] retriable SSE error, preserving session for delta resume (sessionId=undefined)
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does not restore model preview when live context lacks reasoning capability
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > restores workspace reasoning preview after clearing live context models
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > populates skill slash commands during deferred connect (before first prompt)
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > can send immediately after creating a session from the empty state
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > can send immediately after creating a session from the empty state
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > adds daemon goal set and paused status metadata to the transcript
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > routes mid_turn_message_injected frames to the sidechannel and transcript
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > prevents double submit while a prompt is running
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > prevents double submit while a prompt is running
[DaemonSessionProvider] SSE stream ended
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > returns safe pending prompt results when no session is connected
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > routes mid-turn message removal through the matching session owner
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > forwards the persisted client id of the target session on cross-session removal
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > rejects stale-session pending prompt refreshes
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does not restart the event stream after prompt acceptance by default
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does not restart the event stream after prompt acceptance by default
[DaemonSessionProvider] SSE stream ended
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps prompt loading active after non-blocking prompt acceptance
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps prompt loading active after non-blocking prompt acceptance
[DaemonSessionProvider] SSE stream ended
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > restarts the event stream when aborting the subscription throws
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > restarts the event stream when aborting the subscription throws
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > rebuilds the SSE stream immediately when a prompt is submitted while the stream is down
[DaemonSessionProvider] SSE stream ended
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > rebuilds the SSE stream immediately when a prompt is submitted while the stream is down
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > rebuilds the SSE stream immediately when a prompt is submitted while the stream is down
[DaemonSessionProvider] SSE stream ended
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > shows waiting state when a queued prompt starts before assistant output
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > shows waiting state when a queued prompt starts before assistant output
[DaemonSessionProvider] SSE stream ended
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > settles non-blocking prompts when turn completion arrives before acceptance returns
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > settles non-blocking prompts when turn completion arrives before acceptance returns
[DaemonSessionProvider] SSE stream ended
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > allows the next prompt after a turn completes before acceptance returns
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > allows the next prompt after a turn completes before acceptance returns
[DaemonSessionProvider] SSE stream ended
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > rejects the prompt when turn_error arrives before acceptance returns
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > rejects the prompt when turn_error arrives before acceptance returns
[DaemonSessionProvider] SSE stream ended
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > sends image prompt content through the daemon action
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > sends image prompt content through the daemon action
[DaemonSessionProvider] SSE stream ended
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > passes retry prompts through the daemon action
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > passes retry prompts through the daemon action
[DaemonSessionProvider] SSE stream ended
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > submits permission selections with optional answers
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > exposes pending permission blocks
[DaemonSessionProvider] SSE stream ended
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > exposes pending permission blocks
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > exposes workspace event signals from daemon session events
[DaemonSessionProvider] SSE stream ended
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > exposes workspace event signals from daemon session events
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > deduplicates skill toggle settings events from the generic settings signal
[DaemonSessionProvider] SSE stream ended
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > deduplicates skill toggle settings events from the generic settings signal
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > retains every distinct skill mutation from one replay batch
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > logs settings reloads without inserting daemon debug blocks
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > treats prompt abort during cancel as cancellation and keeps busy until cancel completes
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > treats prompt abort during cancel as cancellation and keeps busy until cancel completes
[DaemonSessionProvider] SSE stream ended
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > ends assistant streaming when prompt fails with a non-abort error
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > coalesces a burst of streamed chunks into one complete ordered transcript
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > coalesces streamed chunks arriving within the dispatch window
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > flushes buffered transcript events on unmount instead of dropping them
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > flushes buffered transcript events on unmount instead of dropping them
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps the burst in one block when a malformed_payload debug event interleaves
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does not insert abort errors from shell commands into the transcript
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps cancellation turn errors in the transcript
[DaemonSessionProvider] SSE stream ended
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps cancellation turn errors in the transcript
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > exposes prompt cancellation events as transcript blocks
[DaemonSessionProvider] SSE stream ended
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > exposes prompt cancellation events as transcript blocks
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps forward-failed prompt cancellations out of blocks
[DaemonSessionProvider] SSE stream ended
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps forward-failed prompt cancellations out of blocks
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > exposes catchingUp on resume and clears it on replay_complete
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does not re-arm catchingUp after injecting replay for a resumed session
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > never sets catchingUp on a fresh subscription (no Last-Event-ID)
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > clears prompt state and transcript when reconnect attaches a different session
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > clears prompt state and transcript when reconnect attaches a different session
[DaemonSessionProvider] terminal session error (sessionId=session-a, status=404, message=missing session)
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > reuses the same session client after a normal SSE stream end
[DaemonSessionProvider] SSE stream ended
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > requests summary live replay for summary transcript mode
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does not inject replay snapshot again after a normal SSE stream end
[DaemonSessionProvider] SSE stream ended
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does not inject replay snapshot again after a normal SSE stream end
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > injects replay snapshot on initial session load
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > uses bounded replay truncation for pagination without hiding scope undefined incorrectly
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > uses bounded replay truncation for pagination without hiding scope future_scope incorrectly
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps replay-derived pagination state across a same-session reconnect
[DaemonSessionProvider] SSE stream ended
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps replay-derived pagination state across a same-session reconnect
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps history-sourced unrecognized diagnostics on the sidechannel when paging (#8823)
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps history-sourced unrecognized diagnostics on the sidechannel when paging (#8823)
An update to Harness inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > uses history_truncated marker recordId as pagination anchor when session_updates lack one
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > prefers session_update recordId over marker recordId for pagination anchor
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > renders bounded replay truncation when no pagination anchor is available
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > uses daemon historyAnchorRecordId when neither marker nor session_updates carry a recordId
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > repairs a truncated live turn after a matching complete terminal
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > repairs a truncated live turn after a matching cancelled terminal
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > repairs a truncated live turn after a matching error terminal
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does not repair a live marker for a non-matching queued terminal
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > uses a bounded full-snapshot fallback after the marker block is trimmed
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps the retained transcript and reports one repair failure for missing input
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps the retained transcript and reports one repair failure for missing terminal
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps the retained transcript and reports one repair failure for degraded
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps the retained transcript and reports one repair failure for network error
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps the retained transcript and reports one repair failure for auth error
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps the retained transcript and reports one repair failure for missing session
[DaemonSessionProvider] terminal session error (sessionId=undefined, status=404, message=Session not found)
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps replayed non-turn events from marking a prompt as waiting
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps restored active prompts streaming after replay completes
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps restored active prompts streaming after an SSE stream end
[DaemonSessionProvider] SSE stream ended
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps restored active prompts streaming after an SSE stream end
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps local prompts active when a restored prompt completes
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps local prompts active when a restored prompt completes
[DaemonSessionProvider] SSE stream ended
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps restored active prompts busy after shell commands finish
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > settles restored active prompts when turn_complete arrives
[DaemonSessionProvider] SSE stream ended
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > settles restored active prompts when turn_complete arrives
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > attaches a live branch point only to its restored prompt response
[DaemonSessionProvider] SSE stream ended
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > attaches a live branch point only to its restored prompt response
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > settles restored active prompts when turn_error arrives
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > settles restored active prompts when prompt_cancelled arrives
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > settles restored active prompts when prompt_cancelled arrives
[DaemonSessionProvider] SSE stream ended
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > settles restored active prompts when prompt_cancelled arrives
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > settles restored active prompts when prompt_cancelled arrives
[DaemonSessionProvider] SSE stream ended
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps local prompts active when a restored prompt is cancelled
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps local prompts active when a restored prompt is cancelled
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps local prompts active when a restored prompt is cancelled
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps local prompts active when a restored prompt is cancelled
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does not revive settled restored active prompts after SSE reconnect
[DaemonSessionProvider] SSE stream ended
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does not revive settled restored active prompts after SSE reconnect
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > reloads restored active prompts after epoch reset
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > clears restored active prompts when epoch reload is idle
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps restored active prompts streaming after retriable SSE errors
[DaemonSessionProvider] retriable SSE error, preserving session for delta resume (sessionId=session-1)
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps restored active prompts streaming after retriable SSE errors
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps locally submitted prompts active after retriable SSE errors
[DaemonSessionProvider] retriable SSE error, preserving session for delta resume (sessionId=session-1)
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps locally submitted prompts active after retriable SSE errors
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps restored active prompts streaming after resync requests
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does not infer active prompts from replayed user turns without terminal events
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > finishes replayed assistant streaming when replay ends with turn_error
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > finishes each completed turn in replay snapshots
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does not let replay state events overwrite fresh connection status
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > uses providers current model when session context has no model
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > seeds tokenCount from the latest replay usage on attach
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps the in-memory tokenCount across SSE re-subscribe when replay has no usage
[DaemonSessionProvider] SSE stream ended
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps the in-memory tokenCount across SSE re-subscribe when replay has no usage
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > resets tokenCount when reconnect attaches a different session without replay usage
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > resets tokenCount when reconnect attaches a different session without replay usage
[DaemonSessionProvider] terminal session error (sessionId=session-usage-a, status=404, message=missing session)
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > finishes passive assistant streaming when no prompt action is active
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > finishes replayed assistant streaming when replay completes
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > creates a fresh thread session without cancelling the previous session
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > creates a fresh thread session without cancelling the previous session
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > creates a session from the active session client when already attached
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > clears the current session without creating a replacement session
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps preserved commands when the next supported-commands fetch fails
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > ignores streamed events from a session after it is cleared
[DaemonSessionProvider] detach failed: [TypeError: fetch failed] {
[cause]: Error: connect ECONNREFUSED 127.0.0.1:4170
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2083:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4170
}
}
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > uses session-scoped client IDs when switching between loaded sessions
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > uses session-scoped client IDs when switching between loaded sessions
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > retries restore_in_progress loads after the advertised delay
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > caps an oversized restore_in_progress retry delay
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does not retry a closing session when auto-reconnect is disabled
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does not retry a closing session when auto-reconnect is disabled
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does not retry a closing session when auto-reconnect is disabled
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does not retry a closing session when auto-reconnect is disabled
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does not retry a missing session
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does not retry a missing session
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does not retry a missing session
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does not retry a missing session
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does not retry a closing session after a newer switch
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does not retry a closing session after a newer switch
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > uses recent HTTP status when heartbeat threshold ends with transport failure
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > preserves missing-session heartbeat status across later HTTP failures
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > rejects interrupted session loads as AbortError during cleanup
[DaemonSessionProvider] retriable SSE error, preserving session for delta resume (sessionId=undefined)
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does not attach a session after its load watchdog expires
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > surfaces a restore 504 without treating the session as missing
[DaemonSessionProvider] retriable SSE error, preserving session for delta resume (sessionId=undefined)
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > clears transcript immediately for default session switches
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps the cleared target and exposes the error when load fails
[DaemonSessionProvider] retriable SSE error, preserving session for delta resume (sessionId=undefined)
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does not retry a failed controlled session load until the host changes it
[DaemonSessionProvider] retriable SSE error, preserving session for delta resume (sessionId=undefined)
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > clears the session when reconnect is disabled after SSE stream end
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does not settle unaccepted prompts from historical replay turns
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does not settle unaccepted prompts from historical replay turns
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > retries when ring-evicted reload fails once
[DaemonSessionProvider] retriable SSE error, preserving session for delta resume (sessionId=undefined)
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > preserves session and uses delta resume after a retriable SSE error
[DaemonSessionProvider] retriable SSE error, preserving session for delta resume (sessionId=session-1)
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > clears an existing error during autoReconnect backoff
[DaemonSessionProvider] retriable SSE error, preserving session for delta resume (sessionId=session-1)
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > clears an existing error during autoReconnect backoff
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > clears an existing error during autoReconnect backoff
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > clears an existing error during autoReconnect backoff
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > clears an existing error during autoReconnect backoff
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > clears an existing error during autoReconnect backoff
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > clears an existing error during autoReconnect backoff
[DaemonSessionProvider] SSE stream ended
stderr | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > clears an existing error during autoReconnect backoff
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
An update to DaemonSessionProvider inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > routes session_died errors to notices, not transcript
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > deduplicates live and snapshot recording degradation notices
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > clears a degraded notice after an authoritative healthy snapshot
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > allows a later degraded snapshot to restore a dismissed notice
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "idle_timeout"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed with reason "last_client_detached"
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > does NOT stop reconnect on session_closed without reason field
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > routes stream_error to notices with connection category
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > routes model_switch_failed to notices with user_action category
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > keeps turn_error in transcript instead of routing to notices
[DaemonSessionProvider] SSE stream ended
stdout | src/daemon/session/DaemonSessionProvider.test.tsx > DaemonSessionProvider > routes client_evicted to notices with connection category
[DaemonSessionProvider] SSE stream ended
✓ src/daemon/session/DaemonSessionProvider.test.tsx (245 tests) 5127ms
✓ DaemonSessionProvider > keeps restored active prompts streaming after resync requests 927ms
✓ DaemonSessionProvider > reloads stale transcript after epoch-reset resync 829ms
✓ src/daemon/workspace/DaemonWorkspaceProvider.test.tsx (19 tests) 44ms
Browserslist: browsers data (caniuse-lite) is 11 months old. Please run:
npx update-browserslist-db@latest
Why you should do it regularly: https://github.com/browserslist/update-db#readme
✓ src/components/ChatViewer/ChatViewer.expandControl.test.tsx (9 tests) 95ms
✓ src/daemon/workspace/hooks/useDaemonChannels.test.tsx (10 tests) 20ms
✓ src/components/messages/MarkdownRenderer/MarkdownRenderer.test.tsx (18 tests) 66ms
stderr | src/daemon/workspace/hooks/useDaemonResource.test.tsx > useDaemonResource > loads data on autoLoad
The current testing environment is not configured to support act(...)
stderr | src/daemon/workspace/hooks/useDaemonResource.test.tsx > useDaemonResource > loads data on autoLoad
The current testing environment is not configured to support act(...)
stderr | src/daemon/workspace/hooks/useDaemonResource.test.tsx > useDaemonResource > loads data on autoLoad
The current testing environment is not configured to support act(...)
stderr | src/daemon/workspace/hooks/useDaemonResource.test.tsx > useDaemonResource > loads data on autoLoad
The current testing environment is not configured to support act(...)
stderr | src/daemon/workspace/hooks/useDaemonResource.test.tsx > useDaemonResource > does not load when enabled is false
The current testing environment is not configured to support act(...)
stderr | src/daemon/workspace/hooks/useDaemonResource.test.tsx > useDaemonResource > does not load when enabled is false
The current testing environment is not configured to support act(...)
stderr | src/daemon/workspace/hooks/useDaemonResource.test.tsx > useDaemonResource > reports error on load failure
The current testing environment is not configured to support act(...)
stderr | src/daemon/workspace/hooks/useDaemonResource.test.tsx > useDaemonResource > reports error on load failure
The current testing environment is not configured to support act(...)
stderr | src/daemon/workspace/hooks/useDaemonResource.test.tsx > useDaemonResource > reports error on load failure
The current testing environment is not configured to support act(...)
stderr | src/daemon/workspace/hooks/useDaemonResource.test.tsx > useDaemonResource > reports error on load failure
The current testing environment is not configured to support act(...)
stderr | src/daemon/workspace/hooks/useDaemonResource.test.tsx > useDaemonResource > stale response does not overwrite fresh data
The current testing environment is not configured to support act(...)
stderr | src/daemon/workspace/hooks/useDaemonResource.test.tsx > useDaemonResource > stale response does not overwrite fresh data
The current testing environment is not configured to support act(...)
The current testing environment is not configured to support act(...)
stderr | src/daemon/workspace/hooks/useDaemonResource.test.tsx > useDaemonResource > stale response does not overwrite fresh data
The current testing environment is not configured to support act(...)
stderr | src/daemon/workspace/hooks/useDaemonResource.test.tsx > useDaemonResource > stale response does not overwrite fresh data
The current testing environment is not configured to support act(...)
stderr | src/daemon/workspace/hooks/useDaemonResource.test.tsx > useDaemonResource > stale error does not overwrite fresh data
The current testing environment is not configured to support act(...)
stderr | src/daemon/workspace/hooks/useDaemonResource.test.tsx > useDaemonResource > stale error does not overwrite fresh data
The current testing environment is not configured to support act(...)
The current testing environment is not configured to support act(...)
stderr | src/daemon/workspace/hooks/useDaemonResource.test.tsx > useDaemonResource > stale error does not overwrite fresh data
The current testing environment is not configured to support act(...)
stderr | src/daemon/workspace/hooks/useDaemonResource.test.tsx > useDaemonResource > stale error does not overwrite fresh data
The current testing environment is not configured to support act(...)
✓ src/daemon/workspace/hooks/useDaemonResource.test.tsx (5 tests) 15ms
✓ src/daemon/session/clientLifecycle.test.ts (15 tests) 6101ms
✓ getStableClientId > does not use localStorage (multi-tab isolation) 6091ms
✓ src/components/messages/MessageMeta.test.tsx (4 tests) 75ms
✓ src/components/toolcalls/ShellToolCall.test.tsx (3 tests) 64ms
✓ src/daemon/workspace/hooks/useDaemonProviders.test.tsx (3 tests) 23ms
✓ src/components/PermissionDrawer.test.tsx (4 tests) 77ms
✓ src/hooks/useLocalStorage.test.tsx (6 tests) 5531ms
✓ useLocalStorage > applies both functional updates batched in one render 5522ms
✓ src/components/toolcalls/ThinkToolCall.test.tsx (2 tests) 39ms
stderr | src/daemon/workspace/hooks/useDaemonStatusReport.test.tsx > useDaemonStatusReport > exposes the loaded data through the `report` alias
The current testing environment is not configured to support act(...)
stderr | src/daemon/workspace/hooks/useDaemonStatusReport.test.tsx > useDaemonStatusReport > exposes the loaded data through the `report` alias
The current testing environment is not configured to support act(...)
stderr | src/daemon/workspace/hooks/useDaemonStatusReport.test.tsx > useDaemonStatusReport > exposes the loaded data through the `report` alias
The current testing environment is not configured to support act(...)
stderr | src/daemon/workspace/hooks/useDaemonStatusReport.test.tsx > useDaemonStatusReport > exposes the loaded data through the `report` alias
The current testing environment is not configured to support act(...)
stderr | src/daemon/workspace/hooks/useDaemonStatusReport.test.tsx > useDaemonStatusReport > forwards the detail level to loadDaemonStatus (default summary)
The current testing environment is not configured to support act(...)
stderr | src/daemon/workspace/hooks/useDaemonStatusReport.test.tsx > useDaemonStatusReport > forwards the detail level to loadDaemonStatus (default summary)
The current testing environment is not configured to support act(...)
stderr | src/daemon/workspace/hooks/useDaemonStatusReport.test.tsx > useDaemonStatusReport > forwards the detail level to loadDaemonStatus (default summary)
The current testing environment is not configured to support act(...)
stderr | src/daemon/workspace/hooks/useDaemonStatusReport.test.tsx > useDaemonStatusReport > forwards the detail level to loadDaemonStatus (default summary)
The current testing environment is not configured to support act(...)
stderr | src/daemon/workspace/hooks/useDaemonStatusReport.test.tsx > useDaemonStatusReport > forwards the detail level to loadDaemonStatus (default summary)
The current testing environment is not configured to support act(...)
stderr | src/daemon/workspace/hooks/useDaemonStatusReport.test.tsx > useDaemonStatusReport > forwards the detail level to loadDaemonStatus (default summary)
The current testing environment is not configured to support act(...)
stderr | src/daemon/workspace/hooks/useDaemonStatusReport.test.tsx > useDaemonStatusReport > forwards the detail level to loadDaemonStatus (default summary)
The current testing environment is not configured to support act(...)
✓ src/daemon/workspace/hooks/useDaemonStatusReport.test.tsx (2 tests) 32ms
✓ src/components/toolcalls/GenericToolCall.test.tsx (2 tests) 51ms
✓ src/components/toolcalls/shared/CollapsibleOutput.test.tsx (2 tests) 39ms
✓ src/hooks/useFollowupSuggestions.test.tsx (2 tests) 20ms
stdout | src/daemon/session/actions.test.ts > createDaemonSessionActions > keeps legacy mid-turn admission failures best-effort
[enqueueMidTurnMessage] legacy push failed; kept for next turn Error: daemon unavailable
at /startdir/src/qwen-code/packages/webui/src/daemon/session/actions.test.ts:2390:32
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 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)
at runFiles (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1787:3)
stdout | src/daemon/session/actions.test.ts > createDaemonSessionActions > resolves undefined when getMidTurnMessages fails instead of throwing
[getMidTurnMessages] reconciliation query failed; keeping current state Error: daemon 500
at /startdir/src/qwen-code/packages/webui/src/daemon/session/actions.test.ts:2404:53
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 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)
at runFiles (file:///startdir/src/qwen-code/node_modules/@vitest/runner/dist/chunk-hooks.js:1787:3)
✓ src/daemon/session/actions.test.ts (107 tests) 220ms
✓ src/daemon/session/mappers.test.ts (38 tests) 12ms
✓ src/daemon/workspace/actions.test.ts (17 tests) 22ms
stdout | src/daemon/midTurnInjectedSidechannel.test.ts > mid-turn injected sidechannel pub/sub > caps the buffer, evicting oldest batches past the limit
[mid-turn] sidechannel buffer over 64; evicting 1 oldest batch(es)
[mid-turn] sidechannel buffer over 64; evicting 1 oldest batch(es)
[mid-turn] sidechannel buffer over 64; evicting 1 oldest batch(es)
[mid-turn] sidechannel buffer over 64; evicting 1 oldest batch(es)
[mid-turn] sidechannel buffer over 64; evicting 1 oldest batch(es)
[mid-turn] sidechannel buffer over 64; evicting 1 oldest batch(es)
✓ src/daemon/midTurnInjectedSidechannel.test.ts (19 tests) 9ms
✓ src/daemon/transcriptAdapter.test.ts (12 tests) 9ms
✓ src/daemon/session/selectors.test.ts (9 tests) 10ms
✓ src/daemon/workspace/scheduledTasks.actions.test.ts (11 tests) 11ms
✓ src/daemon/workspace/goals.actions.test.ts (11 tests) 8ms
✓ src/daemon/session/promptContent.test.ts (12 tests) 7ms
✓ src/daemon/pendingPromptVersion.test.ts (7 tests) 164ms
✓ src/components/toolcalls/routing.test.ts (11 tests) 9ms
✓ src/adapters/JSONLAdapter.test.ts (8 tests) 4ms
✓ src/daemon/session/DaemonSessionProvider.subagent.test.ts (3 tests) 10ms
✓ src/daemon/session/live-journal-repair.test.ts (3 tests) 4ms
✓ src/components/toolcalls/labelUtils.test.ts (8 tests) 3ms
✓ src/components/ChatViewer/ChatViewer.test.tsx (3 tests) 54ms
✓ src/daemon/session/status.test.ts (4 tests) 3ms
✓ src/daemon/session/httpErrors.test.ts (4 tests) 3ms
Test Files 35 passed (35)
Tests 638 passed (638)
Start at 16:06:57
Duration 37.28s (transform 3.19s, setup 0ms, collect 6.43s, tests 17.98s, environment 4.88s, prepare 2.44s)
npm notice run @qwen-code/channel-base@0.22.2 test
RUN v3.2.7 /startdir/src/qwen-code/packages/channels/base
[Channel:test-chan] preflight rejected reason=group_disabled
[Channel:test-chan] preflight rejected reason=dm_disabled
[Channel:test-chan] preflight rejected reason=sender_denied
[Channel:test-chan] preflight rejected reason=group_disabled
[Channel:test-chan] preflight rejected reason=dm_disabled
[Channel:test-chan] preflight rejected reason=sender_denied
[Channel:test-chan] preflight rejected reason=sender_pairing_required
[test-chan] steer: cancelled active turn for alice in session s-1
[test-chan] steer: cancelled active turn for bob in session s-1
[test-chan] steer: cancelled active turn for bob in session s-1
[test-chan] steer: cancelled active turn for bob in session s-1
[test-chan] permission response failed for request req-1: send failed
[test-chan] permission relay failed for request req-1: send failed
[Channel:test-chan] preflight rejected reason=group_not_allowlisted
[Channel:test-chan] preflight rejected reason=group_pairing_required
[test-chan] channel memory intent validation failed: iterator unavailable
[test-chan] channel memory intent validation failed: index unavailable
[test-chan] channel memory remove failed for sender=alice chat=chat1 thread=: Channel memory entry changed
[test-chan] channel memory update failed for sender=alice chat=chat1 thread=: unsafe\nbackend failure
[Channel:test-chan] preflight rejected reason=sender_denied
[Channel:test-chan] preflight rejected reason=sender_denied
[Channel:test-chan] preflight rejected reason=sender_denied
[Channel:test-chan] preflight rejected reason=sender_denied
[Channel:test-chan] preflight rejected reason=sender_denied
[test-chan] channel memory read failed for sender=alice chat=chat1 thread=: entry read unavailable
[test-chan] channel memory read failed for sender=alice chat=chat1 thread=: entry listing failed
[Channel:test-chan] preflight rejected reason=sender_denied
[test-chan] channel memory update failed for sender=alice chat=chat1 thread=: unsafe\nbackend failure
[test-chan] channel memory update failed for sender=alice chat=chat1 thread=: backend unavailable
[test-chan] /clear abandoned a wedged turn for session s-1 (chat unknown): it did not wind down within 3000ms
[test-chan] /clear abandoned a wedged turn for session s-1 (chat unknown): it did not wind down within 3000ms
[test-chan] shared session s-1 cleared by User 1 (sender user1)
[test-chan] shared session s-1 cleared by User 1 (sender user1)
[test-chan] shared session s-2 cleared by User 1 (sender user1)
[test-chan] shared session s-1 cleared by User 1 (sender user1)
[test-chan] shared session s-1 cleared by User 1 (sender boss)
[test-chan] shared session s-1 cleared by User 1 (sender boss)
[test-chan] shared session s-1 cleared by User 1 (sender boss)
[Channel:test-chan] preflight rejected reason=sender_denied
[test-chan] dropped queued turn from alice for session s-1: session was cleared before it ran (text: first)
[test-chan] channel memory read failed for sender=alice chat=chat1 thread=: entry listing failed
[test-chan] steer: cancelled active turn for alice in session s-1
[test-chan] turn m-cancel threw after cancellation for session s-1: bridge cancelled
[test-chan] turn m-stop threw after cancellation for session s-1: aborted
[test-chan] steer: cancelled active turn for user1 in session s-1
[test-chan] steer: cancelled active turn for user1 in session s-1
[test-chan] steer: cancelled active turn for user1 in session s-1
[test-chan] cancelSession failed for session=s-1: cancel failed
[Channel:test-chan] preflight rejected reason=sender_pairing_required
[Channel:test-chan] preflight rejected reason=group_pairing_required
[Channel:test-chan] preflight rejected reason=group_pairing_required
[Channel:test-chan] preflight rejected reason=group_pairing_required
[Channel:test-chan] preflight rejected reason=group_pairing_required
[Channel:test-chan] preflight rejected reason=group_pairing_required
[Channel:test-chan] preflight rejected reason=sender_denied
[Channel:test-chan] preflight rejected reason=sender_pairing_required
[Channel:test-chan] preflight rejected reason=group_pairing_required
[Channel:test-chan] preflight rejected reason=sender_pairing_required
[Channel:test-chan] preflight rejected reason=sender_pairing_required
[Channel:test-chan] preflight rejected reason=group_pairing_required
[test-chan] steer: cancelled active turn for user1 in session s-1
[test-chan] steer: cancelled active turn for user1 in session s-1
[test-chan] steer: cancelled active turn for user1 in session s-1
[test-chan] steer: cancelled active turn for user1 in session s-1
[test-chan] steer denied for intruder in shared session (chat=g1); queuing instead
[test-chan] steer: cancelled active turn for mod in session s-1
[test-chan] steer: cancelled active turn for user1 in session s-1
[test-chan] /clear abandoned a wedged turn for session s-1 (chat chat1, message mA): it did not wind down within 3000ms
[test-chan] /clear abandoned a wedged turn for session s-1 (chat chat1, message mA): it did not wind down within 3000ms
[test-chan] onPromptEnd threw during /clear eviction for session s-1: adapter onPromptEnd boom
[test-chan] /clear abandoned a wedged turn for session s-1 (chat chat1, message mA): it did not wind down within 3000ms
[test-chan] shared session s-1 cleared by User 1 (sender alice)
[test-chan] dropped queued turn from bob for session s-1: session was cleared before it ran (text: task two)
[test-chan] steer: cancelled active turn for user1 in session s-1
[Channel:test-chan] preflight rejected reason=sender_denied
[test-chan] dropped webhook webhook:github-ci:ci_failed for session s-1: session was cleared before it ran
[test-chan] dropped webhook webhook:github-ci:ci_failed for session s-1: session was cleared before it ran
[test-chan] dropped loop job-1 for session s-1: session was cleared before it ran
[test-chan] retired timed out loop job-1 session s-1 after cancel did not settle
[test-chan] steer: cancelled active turn for alice in session s-1
[test-chan] dropped loop job-1 for session s-1: session was cleared before it ran
✓ src/ChannelBase.test.ts (590 tests) 14146ms
✓ ChannelBase > response delivery > delivers completion when cancellation outlives the reconciliation timeout 3074ms
✓ ChannelBase > loop prompts > runWebhookTask > waits for bridge recovery before resolving a webhook session 501ms
✓ ChannelBase > loop prompts > runWebhookTask > rechecks bridge recovery before a webhook prompt starts 555ms
✓ ChannelBase > loop prompts > waits for bridge recovery after adapter-specific preflight 502ms
✓ ChannelBase > loop prompts > rechecks bridge recovery after inbound preprocessing has started 502ms
✓ ChannelBase > loop prompts > rechecks bridge recovery before a loop prompt starts 555ms
✓ src/DaemonChannelBridge.test.ts (61 tests) 213ms
[SessionRouter] Failed to restore session old-session for key ch:alice:chat1: Invalid restored session ID
[SessionRouter] Failed to restore session old-session for key ch:alice:chat1: Invalid restored session ID
[SessionRouter] Failed to restore session session-1 for key ch:alice:chat1: Invalid restored session ID
[SessionRouter] Failed to restore session old-session for key ch:alice:chat1: Restored session died before routing completed
[SessionRouter] Failed to restore session old-session for key ch:alice:chat1: Invalid restored session ID
[SessionRouter] Failed to restore session old-bob for key ch:bob:chat2: Restored session died before routing completed
[SessionRouter] Corrupted persist file at /tmp/qwen-router-J6Ehax/routes.json: Expected property name or '}' in JSON at position 1 (line 1 column 2)
[SessionRouter] Replaced unavailable session old-session for key ch:alice:chat1 after load failed: gone
[SessionRouter] Failed to load session old-session for key ch:alice:chat1 (temporarily gone) and failed to create a replacement (at capacity)
✓ src/SessionRouter.test.ts (97 tests) 148ms
[AcpBridge] Channel loop MCP server registration skipped: budget_warning_only
[AcpBridge] [perf] acp agent event loop stall: max=301000ms
[AcpBridge] ACP agent event loop stalled for 301000ms; killing child process to trigger restart
[AcpBridge] Process exited (code=null, signal=SIGKILL)
[AcpBridge] debug line\n[perf] acp agent event loop stall: max=301000ms
[AcpBridge] ACP agent event loop stalled for 301000ms; killing child process to trigger restart
[AcpBridge] [perf] acp agent event loop stall: max=299000ms
[AcpBridge] debug: acp agent event loop stall: max=301000ms
[AcpBridge] [perf] acp agent event loop stall: max=301000ms
[AcpBridge] Process exited (code=1, signal=null)
✓ src/AcpBridge.test.ts (40 tests) 13069ms
✓ AcpBridge > performs the private-parent capability handshake with the spawned child 1005ms
✓ AcpBridge > kills the ACP child when it reports a large event loop stall 1006ms
✓ AcpBridge > kills the ACP child when a stall line is coalesced with prior stderr 1006ms
✓ AcpBridge > does not kill the ACP child for a small event loop stall warning 1004ms
✓ AcpBridge > ignores non-perf stderr that mentions an event loop stall 1003ms
✓ AcpBridge > does not kill the ACP child again after it is already killed 1003ms
✓ AcpBridge > relays ACP permission requests instead of auto-approving them 1006ms
✓ AcpBridge > allows permission request listeners to respond synchronously 1006ms
✓ AcpBridge > falls back to the tool call id for permission requests without a session id 1006ms
✓ AcpBridge > resolves matching pending permissions as cancelled when a session is cancelled 1002ms
✓ AcpBridge > resolves pending permissions as cancelled after the response timeout 1004ms
✓ AcpBridge > resolves pending permissions as cancelled when the ACP child exits 1003ms
✓ AcpBridge > resolves pending permissions as cancelled on stop 1003ms
[PairingStore] legacy migration of support-bot-allowlist.json failed for channel "support-bot": EISDIR: illegal operation on a directory, copyfile '/tmp/pairing-home-PQ6wf9/channels/support-bot-allowlist.json' -> '/tmp/pairing-home-PQ6wf9/channels/pairing-ws-a-wB0MYX-0975317cad05/support-bot-allowlist.json.294024.migrating'; will retry on next start
[PairingStore] legacy migration of support-bot-pairing.json failed for channel "support-bot": EISDIR: illegal operation on a directory, copyfile '/tmp/pairing-home-GzMZKC/channels/support-bot-pairing.json' -> '/tmp/pairing-home-GzMZKC/channels/pairing-ws-a-jlMIA4-2efe7f60a427/support-bot-pairing.json.294024.migrating'; will retry on next start
[PairingStore] legacy migration of support-bot-allowlist.json failed for channel "support-bot": EISDIR: illegal operation on a directory, copyfile '/tmp/pairing-home-48iFkR/channels/support-bot-allowlist.json' -> '/tmp/pairing-home-48iFkR/channels/pairing-ws-a-5xntF1-4bb41a01add8/support-bot-allowlist.json.294024.migrating'; will retry on next start
✓ src/PairingStore.test.ts (34 tests) 22ms
[scheduler] started, tick interval 1000ms, jobs 0, enabled 0, cleared stale running 0
[scheduler] invalid cron for loop job-1: Error: impossible cron
✓ src/ChannelLoopScheduler.test.ts (25 tests) 1065ms
✓ src/sanitize.test.ts (49 tests) 55ms
✓ src/channel-memory-recall-eval.test.ts (6 tests) 46ms
✓ src/ChannelLoopStore.test.ts (14 tests) 92ms
✓ src/channel-memory-recall.test.ts (17 tests) 14ms
✓ src/PollingChannelBase.test.ts (11 tests) 135ms
✓ src/GroupGate.test.ts (18 tests) 10ms
✓ src/BlockStreamer.test.ts (17 tests) 33ms
✓ src/ChannelLoopTools.test.ts (12 tests) 8ms
✓ src/channel-memory-intent.test.ts (10 tests) 6ms
✓ src/SenderGate.test.ts (16 tests) 5ms
✓ src/group-history-store.test.ts (11 tests) 6ms
✓ src/paths.test.ts (14 tests) 3ms
✓ src/DmGate.test.ts (4 tests) 2ms
Test Files 19 passed (19)
Tests 1046 passed (1046)
Start at 16:07:35
Duration 34.44s (transform 1.21s, setup 0ms, collect 1.82s, tests 29.08s, environment 3ms, prepare 1.15s)
npm notice run @qwen-code/channel-telegram@0.22.2 test
RUN v3.2.7 /startdir/src/qwen-code/packages/channels/telegram
✓ src/TelegramAdapter.test.ts (17 tests) 18ms
Test Files 1 passed (1)
Tests 17 passed (17)
Start at 16:08:10
Duration 404ms (transform 147ms, setup 0ms, collect 255ms, tests 18ms, environment 0ms, prepare 42ms)
npm notice run @qwen-code/channel-weixin@0.22.2 test
RUN v3.2.7 /startdir/src/qwen-code/packages/channels/weixin
[Weixin:weixin] Typing keepalive backstop (600000ms) elapsed for 1 session(s) in chat user-shared
✓ src/WeixinAdapter.test.ts (21 tests) 124ms
✓ src/send.test.ts (35 tests) 9ms
✓ src/accounts.test.ts (18 tests) 8ms
✓ src/media.test.ts (11 tests) 5ms
✓ src/api.test.ts (3 tests) 5ms
Test Files 5 passed (5)
Tests 88 passed (88)
Start at 16:08:10
Duration 3.10s (transform 413ms, setup 0ms, collect 662ms, tests 152ms, environment 1ms, prepare 218ms)
npm notice run @qwen-code/channel-dingtalk@0.22.2 test
RUN v3.2.7 /startdir/src/qwen-code/packages/channels/dingtalk
[DingTalk:test-dingtalk] Connected via stream.
[DingTalk:test-dingtalk] downstream type=SYSTEM topic=disconnect messageId=system-message bytes=89
[DingTalk:test-dingtalk] No sessionWebhook in message, skipping.
[DingTalk:test-dingtalk] No sessionWebhook in message, skipping.
[DingTalk:test-dingtalk] Disconnected.
[DingTalk:test-dingtalk] Disconnected.
[DingTalk:test-dingtalk] message msgId=message-quote conversationId=cid-quote isGroup=true isMentioned=true senderNick=Alice senderStaffId=staff-1 senderId=owner-1
[DingTalk:test-dingtalk] message msgId=message-quote conversationId=cid-quote isGroup=true isMentioned=true senderNick=Alice senderStaffId=staff-1 senderId=owner-1
[DingTalk:test-dingtalk] message msgId=group-name-m1 conversationId=cid123 isGroup=true isMentioned=true senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=thread-fallback-m1 conversationId=cid-thread-fallback isGroup=true isMentioned=true senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=chat-record-reply-m1 conversationId=cid-chat-record isGroup=true isMentioned=true senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=direct-forward-m1 conversationId=cid-direct-forward isGroup=false isMentioned=false senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=direct-forward-JSON conversationId=cid-direct-forward isGroup=false isMentioned=false senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=direct-forward-plain text conversationId=cid-direct-forward isGroup=false isMentioned=false senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=chat-record-injection conversationId=cid-chat-record-dm isGroup=false isMentioned=false senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=chat-record-ws-forge-VT conversationId=cid-chat-record-dm isGroup=false isMentioned=false senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=chat-record-ws-forge-FF conversationId=cid-chat-record-dm isGroup=false isMentioned=false senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=chat-record-ws-forge-NBSP conversationId=cid-chat-record-dm isGroup=false isMentioned=false senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=chat-record-ws-forge-OGHAM-SPACE conversationId=cid-chat-record-dm isGroup=false isMentioned=false senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=chat-record-ws-forge-EN-QUAD conversationId=cid-chat-record-dm isGroup=false isMentioned=false senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=chat-record-ws-forge-HAIR-SPACE conversationId=cid-chat-record-dm isGroup=false isMentioned=false senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=chat-record-ws-forge-NNBSP conversationId=cid-chat-record-dm isGroup=false isMentioned=false senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=chat-record-ws-forge-MMSP conversationId=cid-chat-record-dm isGroup=false isMentioned=false senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=chat-record-ws-forge-IDEOGRAPHIC-SPACE conversationId=cid-chat-record-dm isGroup=false isMentioned=false senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=chat-record-nested-brackets conversationId=cid-chat-record-dm isGroup=false isMentioned=false senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=chat-record-long-tag-summary-JSON conversationId=cid-chat-record-dm isGroup=false isMentioned=false senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=chat-record-long-tag-summary-plain-text conversationId=cid-chat-record-dm isGroup=false isMentioned=false senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=chat-record-oversized-tag-sender conversationId=cid-chat-record-dm isGroup=false isMentioned=false senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=chat-record-unpaired-leading-bracket conversationId=cid-chat-record-dm isGroup=false isMentioned=false senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=chat-record-unwrap-left-unpaired-bracket conversationId=cid-chat-record-dm isGroup=false isMentioned=false senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=chat-record-title-forge-SYSTEM conversationId=cid-chat-record-dm isGroup=false isMentioned=false senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=chat-record-title-forge-[SYSTEM] conversationId=cid-chat-record-dm isGroup=false isMentioned=false senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=chat-record-title-forge-[[SYSTEM]] conversationId=cid-chat-record-dm isGroup=false isMentioned=false senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=chat-record-title-only-forge conversationId=cid-chat-record-dm isGroup=false isMentioned=false senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=chat-record-total-cap conversationId=cid-chat-record-dm isGroup=false isMentioned=false senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=chat-record-astral-truncate conversationId=cid-chat-record-dm isGroup=false isMentioned=false senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=chat-record-astral-units conversationId=cid-chat-record-dm isGroup=false isMentioned=false senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=chat-record-shapes conversationId=cid-chat-record-dm isGroup=false isMentioned=false senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=chat-record-misaligned conversationId=cid-chat-record-dm isGroup=false isMentioned=false senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=chat-record-title-only conversationId=cid-chat-record-dm isGroup=false isMentioned=false senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=chat-record-chatRecord conversationId=cid-chat-record-dm isGroup=false isMentioned=false senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=chat-record-records conversationId=cid-chat-record-dm isGroup=false isMentioned=false senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=chat-record-messages conversationId=cid-chat-record-dm isGroup=false isMentioned=false senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=chat-record-bracket-forge conversationId=cid-chat-record-dm isGroup=false isMentioned=false senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=chat-record-bracket-only conversationId=cid-chat-record-dm isGroup=false isMentioned=false senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=chat-record-audio conversationId=cid-chat-record-dm isGroup=false isMentioned=false senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=chat-record-video conversationId=cid-chat-record-dm isGroup=false isMentioned=false senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=chat-record-link conversationId=cid-chat-record-dm isGroup=false isMentioned=false senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=chat-record-share conversationId=cid-chat-record-dm isGroup=false isMentioned=false senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=chat-record-control-only conversationId=cid-chat-record-dm isGroup=false isMentioned=false senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=chat-record-oversized conversationId=cid-chat-record-dm isGroup=false isMentioned=false senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=chat-record-mid-drop conversationId=cid-chat-record-dm isGroup=false isMentioned=false senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=chat-record-overlong-entry conversationId=cid-chat-record-dm isGroup=false isMentioned=false senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=chat-record-header-cap conversationId=cid-chat-record-dm isGroup=false isMentioned=false senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=chat-record-nested-stall conversationId=cid-chat-record-dm isGroup=false isMentioned=false senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=chat-record-unpaired-stall conversationId=cid-chat-record-dm isGroup=false isMentioned=false senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=chat-record-reply-entries conversationId=cid-chat-record isGroup=true isMentioned=true senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=chat-record-reply-budget conversationId=cid-chat-record isGroup=true isMentioned=true senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=chat-record-astral-title conversationId=cid-chat-record isGroup=true isMentioned=true senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=quoted-picture conversationId=cid-quoted-media isGroup=true isMentioned=true senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=quoted-file conversationId=cid-quoted-media isGroup=true isMentioned=true senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=quoted-audio conversationId=cid-quoted-media isGroup=true isMentioned=true senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=quoted-video conversationId=cid-quoted-media isGroup=true isMentioned=true senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=quoted-picture conversationId=cid-quoted-media isGroup=true isMentioned=true senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=quoted-file conversationId=cid-quoted-media isGroup=true isMentioned=true senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=quoted-richText conversationId=cid-quoted-media isGroup=true isMentioned=true senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=quoted-combo conversationId=cid-quoted-media isGroup=true isMentioned=true senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=quoted-two-images conversationId=cid-quoted-media isGroup=true isMentioned=true senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=direct-file conversationId= isGroup=false isMentioned=false senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=direct-audio conversationId= isGroup=false isMentioned=false senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=direct-video conversationId= isGroup=false isMentioned=false senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=quoted-audio conversationId=cid-quoted-media isGroup=true isMentioned=true senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=quoted-video conversationId=cid-quoted-media isGroup=true isMentioned=true senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] access token request failed: gettoken errcode=40096 Illegal appKey or appSecret
[DingTalk:test-dingtalk] message msgId=quoted-file conversationId=cid-quoted-media isGroup=true isMentioned=true senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=structured-mentions conversationId=cid123 isGroup=true isMentioned=true senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=bot-only-mention conversationId=cid123 isGroup=true isMentioned=true senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=plural-mentions conversationId=cid123 isGroup=true isMentioned=true senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=staffid-fallback conversationId=cid123 isGroup=true isMentioned=true senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=no-chatbot-id conversationId=cid123 isGroup=true isMentioned=true senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] message msgId=empty-text-mention conversationId=cid123 isGroup=true isMentioned=true senderNick=Alice senderStaffId=staff-1 senderId=sender-1
[DingTalk:test-dingtalk] Connected via stream.
[DingTalk:test-dingtalk] Disconnected.
[DingTalk:test-dingtalk] status card creation failed: Error: card unavailable
[DingTalk:real-dingtalk] message msgId=rejected-1 conversationId=cid-123 isGroup=true isMentioned=false senderNick=Alice senderStaffId=staff-123 senderId=sender-123
[DingTalk:real-dingtalk] message msgId=command-1 conversationId=cid-123 isGroup=true isMentioned=true senderNick=Alice senderStaffId=staff-123 senderId=sender-123
[DingTalk:real-dingtalk] No webhook for chatId cid-123, cannot send.
[DingTalk:real-dingtalk] No webhook for chatId cid-123, cannot send.
✓ src/DingtalkAdapter.test.ts (193 tests) 1470ms
✓ src/interaction-presenter.test.ts (50 tests) 3647ms
✓ DingtalkInteractionPresenter > adds the group sender only to the final model output 505ms
✓ DingtalkInteractionPresenter > finalizes an eagerly created card when a run completes without output 1603ms
✓ DingtalkInteractionPresenter > falls back at response boundaries after the card stream fails 503ms
✓ src/question-card-controller.test.ts (18 tests) 13ms
✓ src/status-card-controller.test.ts (24 tests) 230ms
✓ src/DingtalkConnectionManager.test.ts (26 tests) 16ms
✓ src/outbound-image.test.ts (16 tests) 11ms
✓ src/interactive-card-types.test.ts (11 tests) 4ms
✓ src/markdown.test.ts (21 tests) 4ms
✓ src/interactive-card-client.test.ts (5 tests) 6ms
[DingTalk] downloadMedia rejected: size 62914560 exceeds 52428800 byte limit
[DingTalk] downloadMedia rejected: actual size exceeds 52428800 byte limit
✓ src/media.test.ts (4 tests) 9ms
Test Files 10 passed (10)
Tests 368 passed (368)
Start at 16:08:14
Duration 10.06s (transform 365ms, setup 0ms, collect 681ms, tests 5.41s, environment 1ms, prepare 388ms)
npm notice run @qwen-code/channel-wecom@0.22.2 test
RUN v3.2.7 /startdir/src/qwen-code/packages/channels/wecom
[WeCom:bot] Connected via smart bot.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] WebSocket kicked; reconnecting after server kick.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] reconnected after server kick.
[WeCom:bot] Disconnected.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] Disconnected.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] Disconnected.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] Disconnected.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] WebSocket closed; waiting for SDK reconnect.
[WeCom:bot] SDK reconnect did not recover after WebSocket closed; reconnecting adapter.
[WeCom:bot] WebSocket closed; reconnecting after SDK disconnect.
[WeCom:bot] Disconnected.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] WebSocket kicked; reconnecting after server kick.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] reconnected after server kick.
[WeCom:bot] WebSocket kicked; reconnecting after server kick.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] reconnected after server kick.
[WeCom:bot] WebSocket kicked; reconnecting after server kick.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] reconnected after server kick.
[WeCom:bot] WebSocket kicked; reconnecting after server kick.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] reconnected after server kick.
[WeCom:bot] Disconnected.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] WebSocket kicked; reconnecting after server kick.
[WeCom:bot] Disconnected.
[WeCom:bot] reconnect after server kick abandoned: connection generation changed.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] Disconnected.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] WebSocket kicked; reconnecting after server kick.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] reconnected after server kick.
[WeCom:bot] Disconnected.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] WebSocket kicked; reconnecting after server kick.
[WeCom:bot] Disconnected.
[WeCom:bot] reconnect after server kick attempt 1 failed: WeCom connection was replaced before authentication.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] WebSocket kicked; reconnecting after server kick.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] reconnected after server kick.
[WeCom:bot] Disconnected.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] WebSocket kicked; reconnecting after server kick.
[WeCom:bot] reconnect after server kick attempt 1 failed: connect failed
[WeCom:bot] reconnect after server kick attempt 2 failed: connect failed
[WeCom:bot] reconnect after server kick attempt 3 failed: connect failed
[WeCom:bot] reconnect after server kick gave up after 3 attempts; retrying later.
[WeCom:bot] WebSocket kicked; reconnecting after server kick.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] reconnected after server kick.
[WeCom:bot] Disconnected.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] WebSocket errcode=45009 errmsg=another client connected; reconnecting after server kick.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] reconnected after server kick.
[WeCom:bot] dropping duplicate message msg-kick-preserve (already in flight).
[WeCom:bot] Disconnected.
[WeCom:bot] WebSocket errcode=45009 errmsg=another client connected; reconnecting after server kick.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] Disconnected.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] Connected via smart bot.
[Channel:bot] preflight rejected reason=group_disabled
[WeCom:bot] dropping message msg-unmentioned-image: preflight rejected.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] Connected via smart bot.
[bot] blocked ! shell command from alice (sender alice) in chat group-1
[WeCom:bot] message handling failed for msg-preflight-fails: preflight failed
[WeCom:bot] Connected via smart bot.
[WeCom:bot] dropping duplicate message msg-preflight-pending (already in flight).
[WeCom:bot] Connected via smart bot.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] Disconnected.
[WeCom:bot] dropping message msg-disconnect-during-download: connection changed during attachment download.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] skipping image attachment: unsafe media URL (example.invalid resolved to private address fe90::1).
[WeCom:bot] Connected via smart bot.
[WeCom:bot] skipping image attachment: unsafe media URL (example.invalid resolved to private address fec0::1).
[WeCom:bot] Connected via smart bot.
[WeCom:bot] skipping image attachment: unsafe media URL (example.invalid resolved to private address ff02::1).
[WeCom:bot] Connected via smart bot.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] skipping image attachment: unsafe media URL (private address 192.0.2.1).
[WeCom:bot] Connected via smart bot.
[WeCom:bot] skipping image attachment: unsafe media URL (private address 2001:db8::1).
[WeCom:bot] Connected via smart bot.
[WeCom:bot] skipping image attachment: unsafe media URL (private address 192.88.99.1).
[WeCom:bot] Connected via smart bot.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] Disconnected.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] Connected via smart bot.
[WeCom:bot] Connected via smart bot.
✓ src/WeComAdapter.test.ts (135 tests) 5026ms
✓ WeComChannel > keeps files buffered during a coalesced prompt for the next prompt 306ms
Test Files 1 passed (1)
Tests 135 passed (135)
Start at 16:08:24
Duration 5.49s (transform 247ms, setup 0ms, collect 332ms, tests 5.03s, environment 0ms, prepare 39ms)
npm notice run @qwen-code/channel-feishu@0.22.2 test
RUN v3.2.7 /startdir/src/qwen-code/packages/channels/feishu
[Feishu:test] extractContent parse error (type=text): Unexpected token 'o', "not valid json" is not valid JSON
[Feishu:test] input-request card finalization error: patch failed
[Feishu:test] Stop rejected: operator=different_user sender=original_user
[Feishu:test] Stop rejected: operator=n/a sender=original_user
[Feishu:test] Stop rejected: operator=some_user sender=n/a
stdout | src/adapter.test.ts > FeishuChannel > connect: WebSocket > rejects invalid credentials before starting WebSocket
[info]: [ 'event-dispatch is ready' ]
stdout | src/adapter.test.ts > FeishuChannel > connect: WebSocket > resolves after the SDK start promise without waiting for onReady
[info]: [ 'event-dispatch is ready' ]
[Feishu:test] getTenantAccessToken failed: HTTP 401
[Feishu:test] Bot open_id: bot_id
[Feishu:test] Connected via WebSocket.
[Feishu:test] Disconnected.
[Feishu:test] Disconnected.
[Feishu:test] Disconnected.
[Feishu:test] Disconnected.
[Feishu:test] getTenantAccessToken failed: HTTP 500
[Feishu:test] deleteCard failed: HTTP 404 msg=om_test_msg_id not found
[Feishu:test] deleteCard failed: HTTP 401 msg=om_test_msg_id unauthorized
[Feishu:test] updateCard failed: HTTP 401 unauthorized
[Feishu:test] getTenantAccessToken error: TypeError: Body is unusable: Body has already been read
[Feishu:test] getTenantAccessToken error: TypeError: Body is unusable: Body has already been read
[Feishu:test] onPromptEnd: no card and no accumulated text for inbound=inbound_1, sent error fallback
[Feishu:test] onPromptEnd: no card and no accumulated text for inbound=inbound_1, sent error fallback
✓ src/adapter.test.ts (150 tests) 2412ms
✓ src/question-card-controller.test.ts (49 tests) 424ms
✓ src/question-card.test.ts (29 tests) 5ms
[Feishu] downloadMedia failed: HTTP 404 Not found
[Feishu] downloadMedia rejected: size 62914560 exceeds 52428800 byte limit
[Feishu] downloadMedia rejected: actual size exceeds 52428800 byte limit
[Feishu] downloadMedia error: Network error
✓ src/media.test.ts (12 tests) 19ms
✓ src/markdown.test.ts (26 tests) 4ms
Test Files 5 passed (5)
Tests 266 passed (266)
Start at 16:08:30
Duration 3.98s (transform 323ms, setup 0ms, collect 555ms, tests 2.86s, environment 0ms, prepare 192ms)
npm notice run @qwen-code/channel-qqbot@0.22.2 test
RUN v3.2.7 /startdir/src/qwen-code/packages/channels/qqbot
[QQ:qq-bot] Unexpected senderOpenId format: uo
[QQ:qq-bot] Unexpected senderOpenId format: uo
[QQ:qq-bot] Slash cmd from Alice (grp-1): /clear
[QQ:test-bot] Send failed (HTTP 400: markdown unsupported)
[QQ:test-bot] Plain-text fallback succeeded for test-chat-id
[QQ:test-bot] Send failed (HTTP 400: markdown unsupported)
[QQ:test-bot] Active markdown retry succeeded for test-chat-id
[QQ:test-bot] Send failed (HTTP 500: )
[QQ:test-bot] Plain-text fallback succeeded for test-chat-id
[QQ:test-bot] resolveRoute: channel disposed, dropping message to test-chat-id
[QQ:test-bot] resolveRoute: no chat type for unknown-chat, dropping message
[QQ:test-bot] resolveRoute: invalid chatId rejected (length=12)
[QQ:test-bot] resolveRoute: token refresh failed (auth failed), dropping message to test-chat-id
[QQ:test-bot] Token refresh failed: token endpoint down, will retry
[QQ:test-bot] Token refresh retry failed (attempt 1): still down
[QQ:test-bot] RC: gateway down (retry in 2000ms, attempt 1/5)
[QQ:test-bot] RC: gateway down (retry in 4000ms, attempt 2/5)
[QQ:test-bot] RC: gateway down (retry in 8000ms, attempt 3/5)
[QQ:test-bot] RC: gateway down (retry in 16000ms, attempt 4/5)
[QQ:test-bot] RC: gateway down (retry in 30000ms, attempt 5/5)
[QQ:test-bot] RC: exhausted 5 reconnect retries, will retry in 60s
[QQ:test-bot] RC: gateway down (retry in 2000ms, attempt 1/5)
[QQ:test-bot] RC: token refresh failed, retrying...
[QQ:test-bot] RC: token refresh failed, retrying...
[QQ:test-bot] RC: token refresh failed, retrying...
[QQ:test-bot] RC: token refresh failed, retrying...
[QQ:test-bot] RC: token refresh failed, retrying...
[QQ:test-bot] RC: exhausted 5 reconnect retries, will retry in 60s
[QQ:test-bot] Send error: network down
[QQ:test-bot] replyMsgId entry expired for test-chat-id, reply context expired, sending without msg_id
[QQ:test-bot] replyMsgId entry expired for test-chat-id, reply context expired, sending without msg_id
[QQ:test-bot] Send failed (HTTP 400: markdown rejected)
[QQ:test-bot] Active markdown retry failed (HTTP 500: active md failed) for test-chat-id
[QQ:test-bot] MESSAGE DROPPED: active text fallback failed (HTTP 500: active text failed) for test-chat-id
[QQ:test-bot] Send failed (HTTP 400: markdown rejected)
[QQ:test-bot] MESSAGE DROPPED: rate-limited (429) on active markdown retry for test-chat-id
[QQ:test-bot] Send error: connection reset
[QQ:test-bot] Send error: network error
[QQ:test-bot] skipped for test-chat-id
[QQ:test-bot] skipped for test-chat-id
[QQ:test-bot] skipped for test-chat-id
[QQ:test-bot] MESSAGE DROPPED: rate-limited (429) on markdown attempt for test-chat-id
[QQ:test-bot] MESSAGE DROPPED: rate-limited (429) on markdown attempt for test-chat-id
[QQ:test-bot] sendMessage blocked: active messages disabled for test-chat-id
[QQ:test-bot] Send failed (HTTP 400: bad request)
[QQ:test-bot] MESSAGE DROPPED: active messages disabled for test-chat-id, cannot retry
[QQ:test-bot] WebSocket closed (code=4001)
[QQ:test-bot] Reconnecting in 1000ms (attempt 0/20)
[QQ:test-bot] restoreQQState: accepted 2 chatTypeMap entries (rejected 3)
[QQ:test-bot] restoreQQState: accepted 3 replyMsgId entries (rejected 3)
[QQ:test-bot] restoreQQState: accepted 1 replyMsgId entries (rejected 1)
[QQ:test-bot] restoreQQState: accepted 2 msgSeqMap entries (rejected 5)
[QQ:test-bot] restoreQQState: accepted 2 msgSeqMap entries (rejected 4)
[QQ:test-bot] Failed to restore QQ state: Unexpected token 'o', "not json{{{" is not valid JSON
[QQ:test-bot] Invalid QQ state file (not an object), ignoring
[QQ:test-bot] Invalid QQ state file (not an object), ignoring
[QQ:test-bot] Invalid QQ state file (not an object), ignoring
[QQ:test-bot] Invalid QQ state file (not an object), ignoring
(node:295221) PromiseRejectionHandledWarning: Promise rejection was handled asynchronously (rejection id: 21)
(Use `node --trace-warnings ...` to show where the warning was created)
[QQ:test-bot] Token refresh failed: auth failed, will retry
[QQ:test-bot] Token refresh retry failed (attempt 1): auth failed
[QQ:test-bot] Token refresh retry failed (attempt 2): auth failed
[QQ:test-bot] Token refresh retry failed (attempt 3): auth failed
[QQ:test-bot] Token refresh retry failed (attempt 4): auth failed
[QQ:test-bot] Token refresh retry failed (attempt 5): auth failed
[QQ:test-bot] Token refresh retry failed (attempt 6): auth failed
[QQ:test-bot] Token refresh retry failed (attempt 7): auth failed
[QQ:test-bot] Token refresh retry failed (attempt 8): auth failed
[QQ:test-bot] Token refresh retry failed (attempt 9): auth failed
[QQ:test-bot] Token refresh retry failed (attempt 10): auth failed
[QQ:test-bot] FATAL: token refresh exhausted, reconnecting
[QQ:test-bot] resolveRoute: token refresh failed (auth failed), dropping message to test-chat-id
[QQ:test-bot] resolveRoute: token refresh failed (auth failed), dropping message to test-chat-id
[QQ:test-bot] resolveRoute: token refresh failed (auth failed), dropping message to test-chat-id
[QQ:test-bot] Sending RESUME (session: resume-session-123)
✓ src/send.test.ts (86 tests) 38ms
[QQ:test-bot] C2C message dropped: missing author
[QQ:test-bot] Bot C2C message dropped
[QQ:test-bot] Invalid botOpenId format: bot-openid
[QQ:test-bot] Invalid botOpenId format: bot-openid
[QQ:test-bot] Invalid botOpenId format: bot-openid
[QQ:test-bot] Invalid botOpenId format: bot-openid
[QQ:test-bot] Invalid botOpenId format: bot-openid
[QQ:test-bot] Slash cmd from Bob (group-openid-1): /status
[QQ:test-bot] Invalid botOpenId format: bot-openid
[QQ:test-bot] Slash cmd from Bob (group-openid-1): /schedule
[QQ:test-bot] Invalid botOpenId format:
[QQ:test-bot] Invalid botOpenId format:
[QQ:test-bot] Group message dropped: missing group_openid
[QQ:test-bot] Invalid botOpenId format: bot-openid
[QQ:test-bot] handleGroup: active messages disabled but @-bot allowed through (passive)
[QQ:test-bot] Bot message dropped in group group-openid-1
[QQ:test-bot] Group group-openid-1: log policy — message from Charlie not forwarded
[QQ:test-bot] Group group-openid-1: log policy — message from Charlie not forwarded
[QQ:test-bot] WARNING: groupAllPolicy is 'all' but sessionScope is 'user' (not 'single'). Forcing sessionScope to 'single' to ensure shared group context.
[QQ:test-bot] WARNING: groupAllPolicy is 'keyword' but sessionScope is 'user' (not 'single'). Forcing sessionScope to 'single' to ensure shared group context.
[QQ:test-bot] Group group-openid-1: keyword policy — no match for message from Charlie
[QQ:test-bot] WARNING: groupAllPolicy is 'keyword' but sessionScope is 'user' (not 'single'). Forcing sessionScope to 'single' to ensure shared group context.
[QQ:test-bot] WARNING: groupAllPolicy is 'keyword' but sessionScope is 'user' (not 'single'). Forcing sessionScope to 'single' to ensure shared group context.
[QQ:test-bot] Group group-openid-1: keyword policy — no match for message from Charlie
[QQ:test-bot] WARNING: groupAllPolicy is 'all' but sessionScope is 'user' (not 'single'). Forcing sessionScope to 'single' to ensure shared group context.
[QQ:test-bot] WARNING: groupAllPolicy is 'all' but sessionScope is 'user' (not 'single'). Forcing sessionScope to 'single' to ensure shared group context.
[QQ:test-bot] Invalid botOpenId format: bot-openid
[QQ:test-bot] WARNING: groupAllPolicy is 'all' but sessionScope is 'user' (not 'single'). Forcing sessionScope to 'single' to ensure shared group context.
[QQ:test-bot] Invalid botOpenId format: bot-openid
[QQ:test-bot] Slash cmd from Charlie (group-openid-1): /help
[QQ:test-bot] WARNING: groupAllPolicy is 'all' but sessionScope is 'user' (not 'single'). Forcing sessionScope to 'single' to ensure shared group context.
[QQ:test-bot] Bot message dropped in group group-openid-1
[QQ:test-bot] WARNING: groupAllPolicy is 'all' but sessionScope is 'user' (not 'single'). Forcing sessionScope to 'single' to ensure shared group context.
[QQ:test-bot] handleGroupAll blocked: active messages disabled for group-openid-1
[QQ:test-bot] WARNING: groupAllPolicy is 'all' but sessionScope is 'user' (not 'single'). Forcing sessionScope to 'single' to ensure shared group context.
[QQ:test-bot] handleGroupAll: @-bot message allowed through (passive) despite active messages disabled for group-openid-1
[QQ:test-bot] WARNING: groupAllPolicy is 'all' but sessionScope is 'user' (not 'single'). Forcing sessionScope to 'single' to ensure shared group context.
[QQ:test-bot] WARNING: groupAllPolicy is 'all' but sessionScope is 'user' (not 'single'). Forcing sessionScope to 'single' to ensure shared group context.
[QQ:test-bot] WARNING: groupAllPolicy is 'keyword' but sessionScope is 'user' (not 'single'). Forcing sessionScope to 'single' to ensure shared group context.
[QQ:test-bot] WARNING: groupAllPolicy is 'keyword' but sessionScope is 'user' (not 'single'). Forcing sessionScope to 'single' to ensure shared group context.
[QQ:test-bot] Group group-openid-1: keyword policy — no keywords configured, message from Charlie not forwarded
[QQ:test-bot] Added to group group-new-1 by admin-1
[QQ:test-bot] Removed from group group-del-1 by admin-1, cleaned 0 stream(s) and 0 cron buffer(s)
[QQ:test-bot] Removed from group group-cron by admin-1, cleaned 2 stream(s) and 2 cron buffer(s)
[QQ:test-bot] Removed from group group-del-stream by admin-1, cleaned 1 stream(s) and 0 cron buffer(s)
[QQ:test-bot] Removed from group group-detect by admin-1, cleaned 1 stream(s) and 0 cron buffer(s)
[QQ:test-bot] Active msg disabled for group group-reject-1
[QQ:test-bot] Active msg enabled for group group-recv-1
[QQ:test-bot] WARNING: groupAllPolicy is 'keyword' but sessionScope is 'user' (not 'single'). Forcing sessionScope to 'single' to ensure shared group context.
[QQ:test-bot] WARNING: groupAllPolicy is 'all' but sessionScope is 'user' (not 'single'). Forcing sessionScope to 'single' to ensure shared group context.
[QQ:test-bot] Server sent INVALID_SESSION, falling back to IDENTIFY
[QQ:test-bot] Server sent INVALID_SESSION, falling back to IDENTIFY
[QQ:test-bot] WARNING: QQ state restore failed — routing maps are empty, group messages may be misrouted
[QQ:test-bot] Ready (0 sessions)
[QQ:test-bot] Server sent INVALID_SESSION, falling back to IDENTIFY
[QQ:test-bot] Server sent INVALID_SESSION, falling back to IDENTIFY
[QQ:test-bot] Ready (0 sessions)
[QQ:test-bot] Ready (warm reconnect, skipping state restore)
[QQ:test-bot] Token refresh failed: token endpoint down, will retry
[QQ:test-bot] Token refresh retry failed (attempt 1): token endpoint down
[QQ:test-bot] Token refresh retry failed (attempt 2): token endpoint down
[QQ:test-bot] Token refresh retry failed (attempt 3): token endpoint down
[QQ:test-bot] Token refresh retry failed (attempt 4): token endpoint down
[QQ:test-bot] Token refresh retry failed (attempt 5): token endpoint down
[QQ:test-bot] Token refresh retry failed (attempt 6): token endpoint down
[QQ:test-bot] Token refresh retry failed (attempt 7): token endpoint down
[QQ:test-bot] Token refresh retry failed (attempt 8): token endpoint down
[QQ:test-bot] Token refresh retry failed (attempt 9): token endpoint down
[QQ:test-bot] Token refresh retry failed (attempt 10): token endpoint down
[QQ:test-bot] FATAL: token refresh exhausted, reconnecting
[QQ:test-bot] Token refresh failed: token endpoint down, will retry
[QQ:test-bot] resolveRoute: no chat type for unknown-chat, dropping message
[QQ:test-bot] Invalid botOpenId format: not-hex!!
[QQ:test-bot] WebSocket closed (code=4009)
[QQ:test-bot] Reconnecting in 1000ms (attempt 0/20)
✓ src/events.test.ts (88 tests) 48ms
[QQ:test-bot] Send error: send failed
[QQ:test-bot] toolCallFlush send failed: send failed
[QQ:test-bot] Send error: send failed
[QQ:test-bot] idleFlush send failed: send failed
[QQ:test-bot] Send error: send failed
[QQ:test-bot] idleFlush send failed: send failed
[QQ:test-bot] idleFlush retries exhausted for sess-1
[QQ:test-bot] onResponseComplete deferred (flush in-flight) session=sess-1
[QQ:test-bot] Send error: send failed
[QQ:test-bot] idleFlush send failed: send failed
[QQ:test-bot] Send error: send failed
[QQ:test-bot] idleFlush send failed: send failed
[QQ:test-bot] Send error: send failed
[QQ:test-bot] idleFlush send failed: send failed
[QQ:test-bot] idleFlush retries exhausted for sess-1
[QQ:test-bot] idleFlush discarded (reconnect) session=sess-1
[QQ:test-bot] Send error: network error
[QQ:test-bot] idleFlush send failed: network error
[QQ:test-bot] Send error: persistent error
[QQ:test-bot] idleFlush send failed: persistent error
[QQ:test-bot] Send error: persistent error
[QQ:test-bot] idleFlush send failed: persistent error
[QQ:test-bot] Send error: persistent error
[QQ:test-bot] idleFlush send failed: persistent error
[QQ:test-bot] idleFlush retries exhausted for sess-1
[QQ:test-bot] Send error: fail
[QQ:test-bot] idleFlush send failed: fail
[QQ:test-bot] Send error: fail
[QQ:test-bot] toolCallFlush send failed: fail
[QQ:test-bot] Send error: send failed
[QQ:test-bot] toolCallFlush send failed: send failed
[QQ:test-bot] Send error: fail
[QQ:test-bot] idleFlush send failed: fail
✓ src/stream.test.ts (44 tests) 18ms
[QQ:test-bot] Cron text chunk dropped (not ready): should be ignored for session sess-1
[QQ:test-bot] Disconnect: discarding 1 buffered cron message(s)
[QQ:test-bot] resetRoutingState: orphaned cron flow (depth=1) during disconnect
[QQ:test-bot] resetRoutingState: orphaned cron flow (depth=3) during disconnect
✓ src/cron.test.ts (20 tests) 13ms
[QQ:test-bot] Failed to restore QQ state: Unexpected token 'o', "not json {{{" is not valid JSON
[QQ:test-bot] restoreQQState: accepted 2 chatTypeMap entries (rejected 1)
[QQ:test-bot] restoreQQState: accepted 1 msgSeqMap entries (rejected 2)
[QQ:test-bot] flushQQState write failed: disk full
✓ src/persistence.test.ts (28 tests) 12ms
[QQ] Token request failed (HTTP 401)
✓ src/api.test.ts (28 tests) 7ms
✓ src/accounts.test.ts (8 tests) 3ms
Test Files 7 passed (7)
Tests 302 passed (302)
Start at 16:08:34
Duration 1.43s (transform 301ms, setup 0ms, collect 469ms, tests 139ms, environment 1ms, prepare 281ms)
npm notice run @qwen-code/channel-github@0.22.2 test
RUN v3.2.7 /startdir/src/qwen-code/packages/channels/github
[Channel:test-github] using local gh credential for github.com
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] listComments(issue:42) failed (attempt 1/3, status=undefined), retrying in 1000ms: rate limit
[Channel:test-github] listComments(issue:42) failed (attempt 2/3, status=undefined), retrying in 2000ms: rate limit
[Channel:test-github] API error processing issue:42, skipping: Error: rate limit
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] listComments(issue:42) failed (attempt 1/3, status=undefined), retrying in 1000ms: rate limit
[Channel:test-github] listComments(issue:42) failed (attempt 2/3, status=undefined), retrying in 2000ms: rate limit
[Channel:test-github] API error processing issue:42, skipping: Error: rate limit
[Channel:test-github] markNotificationsAsRead failed (attempt 1/3, status=undefined), retrying in 1000ms: server error
[Channel:test-github] markNotificationsAsRead failed (attempt 2/3, status=undefined), retrying in 2000ms: server error
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] listComments(issue:2) failed (attempt 1/3, status=undefined), retrying in 1000ms: API error
[Channel:test-github] listComments(issue:2) failed (attempt 2/3, status=undefined), retrying in 2000ms: API error
[Channel:test-github] API error processing issue:2, skipping: Error: API error
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] listNotifications failed (attempt 1/3, status=undefined), retrying in 1000ms: transient
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] listNotifications failed (attempt 1/3, status=undefined), retrying in 1000ms: persistent
[Channel:test-github] listNotifications failed (attempt 2/3, status=undefined), retrying in 2000ms: persistent
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] skipping notification (reason=author not in reasonFilter, subject=https://api.github.com/repos/owner/repo/issues/42)
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] preflight rejected reason=group_pairing_required
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] preflight rejected reason=group_pairing_required
[Channel:test-github] preflight rejected reason=group_pairing_required
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] preflight rejected reason=group_pairing_required
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] handleInbound failed for 1001: Error: agent down
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] listNotifications failed (attempt 1/3, status=undefined), retrying in 1000ms: persistent
[Channel:test-github] listNotifications failed (attempt 2/3, status=undefined), retrying in 2000ms: persistent
[Channel:test-github] poll error (attempt 1), backing off 2000ms: Error: persistent
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] createComment(issue:42) failed (attempt 1/3, status=429), retrying in 1000ms: rate limited
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] createComment(issue:42) failed (attempt 1/3, status=403), retrying in 1000ms: rate limited
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] createComment(issue:42) failed (attempt 1/3, status=429), retrying in 1000ms: rate limited
[Channel:test-github] createComment(issue:42) failed (attempt 2/3, status=429), retrying in 2000ms: rate limited
[Channel:test-github] createComment(issue:42) failed (attempt 1/3, status=429), retrying in 1000ms: rate limited
[Channel:test-github] createComment(issue:42) failed (attempt 2/3, status=429), retrying in 2000ms: rate limited
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] createComment(issue:42) failed (attempt 1/3, status=429), retrying in 1000ms: rate limited
[Channel:test-github] createComment(issue:42) failed (attempt 2/3, status=429), retrying in 2000ms: rate limited
[Channel:test-github] createComment(issue:42) failed (attempt 1/3, status=429), retrying in 1000ms: rate limited
[Channel:test-github] createComment(issue:42) failed (attempt 2/3, status=429), retrying in 2000ms: rate limited
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] createComment(issue:42) failed (attempt 1/3, status=429), retrying in 1000ms: rate limited
[Channel:test-github] createComment(issue:42) failed (attempt 2/3, status=429), retrying in 2000ms: rate limited
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] failed to read pending GitHub deliveries: Expected property name or '}' in JSON at position 1 (line 1 column 2)
[Channel:test-github] failed to update pending GitHub deliveries: Expected property name or '}' in JSON at position 1 (line 1 column 2)
[Channel:test-github] createComment(issue:42) failed (attempt 1/3, status=429), retrying in 1000ms: rate limited
[Channel:test-github] createComment(issue:42) failed (attempt 2/3, status=429), retrying in 2000ms: rate limited
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] legacy GitHub state migration failed: EEXIST: file already exists, mkdir '/tmp/qwen-gh-test-MgSMRE/channels/test-0872effe487c'
[Channel:test-github] failed to read GitHub inbound tasks: ENOTDIR: not a directory, open '/tmp/qwen-gh-test-MgSMRE/channels/test-0872effe487c/test-github-ad83f0bd70302ca6-github-inbound-tasks.json'
[Channel:test-github] failed to read GitHub inbound tasks: ENOTDIR: not a directory, open '/tmp/qwen-gh-test-MgSMRE/channels/test-0872effe487c/test-github-ad83f0bd70302ca6-github-inbound-tasks.json'
[Channel:test-github] failed to read pending GitHub deliveries: ENOTDIR: not a directory, open '/tmp/qwen-gh-test-MgSMRE/channels/test-0872effe487c/test-github-ad83f0bd70302ca6-github-pending-deliveries.json'
[Channel:test-github] inbound task recovery failed, will retry next poll: Error: ENOTDIR: not a directory, open '/tmp/qwen-gh-test-MgSMRE/channels/test-0872effe487c/test-github-ad83f0bd70302ca6-github-inbound-tasks.json'
[Channel:test-github] dropping pending GitHub delivery already recorded as posted: pending
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] handleInbound failed for 1001: Error: ambiguous transport failure
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] publication audit write failed: EISDIR: illegal operation on a directory, open '/tmp/qwen-gh-test-wxp09U/channels/test-0872effe487c/test-github-ad83f0bd70302ca6-github-audit.jsonl'
[Channel:test-github] publication audit write failed: EISDIR: illegal operation on a directory, open '/tmp/qwen-gh-test-wxp09U/channels/test-0872effe487c/test-github-ad83f0bd70302ca6-github-audit.jsonl'
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] handleInbound failed for 1001: Error: agent down
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] handleInbound failed for 1001: Error: agent down
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] handleInbound failed for 1001: Error: agent down
[Channel:test-github] handleInbound failed for 1001: Error: agent down
[Channel:test-github] handleInbound failed for 1001: Error: agent down
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] handleInbound failed for 1001: Error: agent down
[Channel:test-github] postErrorComment(owner/repo#42) failed (attempt 1/3, status=undefined), retrying in 1000ms: comment creation outage
[Channel:test-github] postErrorComment(owner/repo#42) failed (attempt 2/3, status=undefined), retrying in 2000ms: comment creation outage
[Channel:test-github] postErrorComment also failed for owner/repo#42, user must re-mention manually: Error: comment creation outage
[Channel:test-github] handleInbound failed for 1001: Error: agent down
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] handleInbound failed for 1001: Error: agent down
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] failed to read GitHub inbound tasks: invalid GitHub inbound task state
[Channel:test-github] inbound task recovery failed, will retry next poll: Error: invalid GitHub inbound task state
[Channel:test-github] failed to read GitHub inbound tasks: invalid GitHub inbound task state
[Channel:test-github] failed to fetch issue for first contact: Error: invalid GitHub inbound task state
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] failed to read GitHub inbound tasks: invalid GitHub inbound task state
[Channel:test-github] inbound task recovery failed, will retry next poll: Error: invalid GitHub inbound task state
[Channel:test-github] failed to read GitHub inbound tasks: invalid GitHub inbound task state
[Channel:test-github] failed to fetch issue for first contact: Error: invalid GitHub inbound task state
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] handleInbound failed for 1001: Error: cancelled
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] createComment(issue:42) failed (attempt 1/3, status=429), retrying in 1000ms: rate limited
[Channel:test-github] createComment(issue:42) failed (attempt 2/3, status=429), retrying in 2000ms: rate limited
[Channel:test-github] handleInbound failed for 1001: Error: rate limited
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] failed to read pending GitHub deliveries: EISDIR: illegal operation on a directory, read
[Channel:test-github] API error processing issue:42, skipping: Error: EISDIR: illegal operation on a directory, read
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] failed to read pending GitHub deliveries: Expected property name or '}' in JSON at position 1 (line 1 column 2)
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] createComment(issue:42) failed (attempt 1/3, status=429), retrying in 1000ms: rate limited
[Channel:test-github] createComment(issue:42) failed (attempt 2/3, status=429), retrying in 2000ms: rate limited
[Channel:test-github] failed to read pending GitHub deliveries: EISDIR: illegal operation on a directory, read
[Channel:test-github] handleInbound failed for 1001: Error: [Channel:test-github] failed to persist pending GitHub delivery: EISDIR: illegal operation on a directory, read
[Channel:test-github] failed to read pending GitHub deliveries: EISDIR: illegal operation on a directory, read
[Channel:test-github] inbound task recovery failed, will retry next poll: Error: EISDIR: illegal operation on a directory, read
[Channel:test-github] inbound task recovery failed, will retry next poll: Error: EISDIR: illegal operation on a directory, read
[Channel:test-github] dropping pending GitHub delivery already recorded as posted: pending-1
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] handleInbound failed for 1001: Error: agent down
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] handleInbound failed for 1002: Error: agent down
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] handleInbound failed for 1001: Error: Cannot read properties of undefined (reading 'id')
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] handleInbound failed for 1001: Error: Cannot read properties of undefined (reading 'id')
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] removeAcknowledgement(1001) failed (attempt 1/3, status=undefined), retrying in 1000ms: 403
[Channel:test-github] removeAcknowledgement(1001) failed (attempt 2/3, status=undefined), retrying in 2000ms: 403
[Channel:test-github] failed to remove acknowledgement from comment 1001: Error: 403
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] acknowledgeComment(1001) failed (attempt 1/3, status=undefined), retrying in 1000ms: 403
[Channel:test-github] acknowledgeComment(1001) failed (attempt 2/3, status=undefined), retrying in 2000ms: 403
[Channel:test-github] failed to acknowledge comment 1001: Error: 403
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] handleInbound failed for event-2001: Error: Cannot read properties of undefined (reading 'id')
[Channel:test-github] handleInbound failed for issue-body-42: Error: Cannot read properties of undefined (reading 'id')
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] using configured token
[Channel:test-github] authenticated as "test-bot"
[Channel:test-github] test-op failed (attempt 1/3, status=429), retrying in 2000ms: HTTP 429
[Channel:test-github] test-op failed (attempt 1/3, status=403), retrying in 6000ms: HTTP 403
[Channel:test-github] test-op failed (attempt 1/3, status=500), retrying in 1000ms: HTTP 500
[Channel:test-github] test-op failed (attempt 2/3, status=502), retrying in 2000ms: HTTP 502
[Channel:test-github] test-op failed (attempt 1/3, status=500), retrying in 1000ms: HTTP 500
[Channel:test-github] test-op failed (attempt 2/3, status=500), retrying in 2000ms: HTTP 500
[Channel:test-ghe] using configured token
[Channel:test-ghe] authenticated as "test-bot"
[Channel:test-ghe] using configured token
[Channel:test-ghe] authenticated as "test-bot"
[Channel:test-ghe] using configured token
[Channel:test-ghe] authenticated as "test-bot"
[Channel:test-ghe] using configured token
[Channel:test-ghe] authenticated as "test-bot"
✓ src/GithubAdapter.test.ts (190 tests) 550ms
✓ src/mention.test.ts (17 tests) 5ms
Test Files 2 passed (2)
Tests 207 passed (207)
Start at 16:08:37
Duration 1.55s (transform 359ms, setup 0ms, collect 540ms, tests 555ms, environment 0ms, prepare 126ms)
npm notice run @qwen-code/channel-dws@0.22.2 test
RUN v3.2.7 /startdir/src/qwen-code/packages/channels/dws
[Channel:test-dws] DWS @ messages stream is degraded; retrying in 2000ms.
[Channel:test-dws] DWS @ messages stream error: try again
[Channel:test-dws] DWS @ messages stream error: try much later
[Channel:test-dws] DWS @ messages stream error: subscription is not allowed
[Channel:test-dws] DWS @ messages stream is permanently unavailable; not restarting: subscription is not allowed
[Channel:test-dws] DWS @ messages stream is degraded; retrying in 2000ms.
[Channel:test-dws] DWS @ messages stream is degraded; retrying in 2000ms.
[Channel:test-dws] DWS @ messages stream is degraded; retrying in 2000ms.
[Channel:test-dws] DWS @ messages stream error: retry one
[Channel:test-dws] DWS @ messages stream is degraded; retrying in 4000ms.
[Channel:test-dws] DWS @ messages stream error: retry two
[Channel:test-dws] DWS @ messages stream is degraded; retrying in 8000ms.
[Channel:test-dws] DWS @ messages stream error: retry three
[Channel:test-dws] DWS @ messages stream is degraded; retrying in 16000ms.
[Channel:policy-dws] preflight rejected reason=group_pairing_required
[Channel:test-dws] failed to poll DWS mention history: mention history unavailable
[Channel:test-dws] failed to poll DWS direct-message history: direct history unavailable
[Channel:test-dws] failed to fetch DWS todo task-failing: permission denied
[Channel:todo-outage-dws] failed to poll DWS todos: todo unavailable
[Channel:todo-outage-dws] failed to poll DWS todos: todo unavailable
[Channel:paired-todos] preflight rejected reason=todo_sender_pairing_required
[Channel:paired-todos] preflight rejected reason=todo_sender_pairing_required
[Channel:sticky-todo-pairing-dws] preflight rejected reason=todo_sender_pairing_required
[Channel:sticky-todo-pairing-dws] preflight rejected reason=todo_sender_pairing_required
[Channel:sticky-todo-pairing-dws] preflight rejected reason=todo_sender_pairing_required
[Channel:sticky-todo-pairing-dws] preflight rejected reason=todo_sender_pairing_required
[Channel:revoked-todo-pairing-dws] preflight rejected reason=todo_sender_pairing_required
[Channel:revoked-todo-pairing-dws] preflight rejected reason=todo_sender_pairing_required
[Channel:failed-turn-todo-pairing-dws] preflight rejected reason=todo_sender_pairing_required
[Channel:failed-turn-todo-pairing-dws] failed to process DWS todo task-new: turn failed
[Channel:failed-turn-todo-pairing-dws] DWS message turn failed (attempt 1/5): turn failed
[Channel:failed-turn-todo-pairing-dws] preflight rejected reason=todo_sender_pairing_required
[Channel:backed-off-document-dws] DWS message turn failed (attempt 1/5): comment deleted
[Channel:backed-off-document-dws] pending DWS document notification is degraded; retrying in 2000ms: comment deleted
[Channel:backed-off-document-dws] DWS message turn failed (attempt 2/5): comment deleted
[Channel:backed-off-document-dws] pending DWS document notification is degraded; retrying in 4000ms: comment deleted
[Channel:backed-off-document-dws] DWS message turn failed (attempt 3/5): comment deleted
[Channel:backed-off-document-dws] pending DWS document notification is degraded; retrying in 8000ms: comment deleted
[Channel:policy-dws] preflight rejected reason=sender_pairing_required
[Channel:policy-dws] DWS reaction add failed: reaction denied
[Channel:policy-dws] preflight rejected reason=sender_pairing_required
[Channel:policy-dws] preflight rejected reason=sender_pairing_required
[Channel:policy-dws] preflight rejected reason=sender_pairing_required
[Channel:policy-dws] preflight rejected reason=sender_pairing_required
[Channel:policy-dws] pairing notification failed: not sent
[Channel:policy-dws] preflight rejected reason=sender_pairing_required
[Channel:policy-dws] preflight rejected reason=sender_pairing_required
[Channel:policy-dws] pairing notification failed: connection reset
[Channel:policy-dws] preflight rejected reason=sender_pairing_required
[Channel:policy-dws] preflight rejected reason=sender_pairing_required
[Channel:policy-dws] preflight rejected reason=sender_pairing_required
[Channel:policy-dws] preflight rejected reason=sender_pairing_required
[Channel:policy-dws] preflight rejected reason=sender_pairing_required
[Channel:policy-dws] preflight rejected reason=sender_pairing_required
[Channel:policy-dws] preflight rejected reason=sender_pairing_required
[Channel:policy-dws] preflight rejected reason=sender_pairing_required
[Channel:policy-dws] preflight rejected reason=group_not_allowlisted
[Channel:policy-dws] preflight rejected reason=sender_denied
[Channel:policy-dws] preflight rejected reason=group_pairing_required
[Channel:policy-dws] preflight rejected reason=group_pairing_required
[Channel:test-dws] DWS message turn failed (attempt 1/5): agent unavailable
[Channel:test-dws] DWS message turn failed (attempt 1/5): agent unavailable
[Channel:test-dws] DWS message turn failed (attempt 1/5): agent unavailable
[Channel:test-dws] DWS message turn failed (attempt 1/5): comment rejected
[Channel:test-dws] failed to poll DWS mention history: comment rejected
[Channel:test-dws] DWS message turn failed (attempt 2/5): comment rejected
[Channel:test-dws] failed to poll DWS mention history: comment rejected
[Channel:test-dws] DWS message turn failed (attempt 3/5): comment rejected
[Channel:test-dws] failed to poll DWS mention history: comment rejected
[Channel:test-dws] DWS message turn failed (attempt 4/5): comment rejected
[Channel:test-dws] failed to poll DWS mention history: comment rejected
[Channel:test-dws] dropping a DWS message after 5 failed turns: comment rejected
[Channel:pending-ambient-group-dws] DWS message turn failed (attempt 1/5): agent unavailable
[Channel:test-dws] DWS message turn failed (attempt 1/5): agent unavailable
[Channel:test-dws] DWS message turn failed (attempt 2/5): agent unavailable
[Channel:test-dws] pending DWS message remains degraded: agent unavailable
[Channel:test-dws] DWS message turn failed (attempt 3/5): agent unavailable
[Channel:test-dws] pending DWS message remains degraded: agent unavailable
[Channel:test-dws] DWS message turn failed (attempt 4/5): agent unavailable
[Channel:test-dws] pending DWS message remains degraded: agent unavailable
[Channel:test-dws] dropping a DWS message after 5 failed turns: agent unavailable
[Channel:test-dws] DWS message turn failed (attempt 1/5): agent unavailable
[Channel:pending-direct-dws] DWS message turn failed (attempt 1/5): agent unavailable
[Channel:test-dws] DWS message turn failed (attempt 1/5): agent unavailable
[Channel:test-dws] DWS message turn failed (attempt 2/5): agent unavailable
[Channel:test-dws] pending DWS message remains degraded: agent unavailable
[Channel:test-dws] DWS message turn failed (attempt 3/5): agent unavailable
[Channel:test-dws] pending DWS message remains degraded: agent unavailable
[Channel:test-dws] DWS message turn failed (attempt 4/5): agent unavailable
[Channel:test-dws] pending DWS message remains degraded: agent unavailable
[Channel:test-dws] dropping a DWS message after 5 failed turns: agent unavailable
[Channel:test-dws] DWS message turn failed (attempt 1/5): agent unavailable
[Channel:test-dws] failed to poll DWS direct-message history: agent unavailable
[Channel:test-dws] DWS message turn failed (attempt 2/5): agent unavailable
[Channel:test-dws] failed to poll DWS direct-message history: agent unavailable
[Channel:test-dws] DWS message turn failed (attempt 3/5): agent unavailable
[Channel:test-dws] failed to poll DWS direct-message history: agent unavailable
[Channel:test-dws] DWS message turn failed (attempt 4/5): agent unavailable
[Channel:test-dws] failed to poll DWS direct-message history: agent unavailable
[Channel:test-dws] dropping a DWS message after 5 failed turns: agent unavailable
[Channel:test-dws] DWS message turn failed (attempt 1/5): agent unavailable
[Channel:test-dws] failed to poll DWS direct-message history: agent unavailable
[Channel:test-dws] DWS message turn failed (attempt 2/5): agent unavailable
[Channel:test-dws] failed to poll DWS direct-message history: agent unavailable
[Channel:test-dws] DWS message turn failed (attempt 3/5): agent unavailable
[Channel:test-dws] failed to poll DWS direct-message history: agent unavailable
[Channel:test-dws] DWS message turn failed (attempt 4/5): agent unavailable
[Channel:test-dws] failed to poll DWS direct-message history: agent unavailable
[Channel:test-dws] dropping a DWS message after 5 failed turns: agent unavailable
[Channel:sender-scoped-document-failure-dws] DWS message turn failed (attempt 1/5): agent unavailable
[Channel:sender-scoped-document-failure-dws] failed to poll DWS direct-message history: agent unavailable
[Channel:sender-scoped-document-failure-dws] DWS message turn failed (attempt 2/5): agent unavailable
[Channel:sender-scoped-document-failure-dws] failed to poll DWS direct-message history: agent unavailable
[Channel:sender-scoped-document-failure-dws] DWS message turn failed (attempt 3/5): agent unavailable
[Channel:sender-scoped-document-failure-dws] failed to poll DWS direct-message history: agent unavailable
[Channel:sender-scoped-document-failure-dws] DWS message turn failed (attempt 4/5): agent unavailable
[Channel:sender-scoped-document-failure-dws] failed to poll DWS direct-message history: agent unavailable
[Channel:sender-scoped-document-failure-dws] dropping a DWS message after 5 failed turns: agent unavailable
[Channel:test-dws] failed to process DWS todo task-poison: agent unavailable
[Channel:test-dws] DWS message turn failed (attempt 1/5): agent unavailable
[Channel:test-dws] failed to process DWS todo task-poison: agent unavailable
[Channel:test-dws] DWS message turn failed (attempt 2/5): agent unavailable
[Channel:test-dws] failed to process DWS todo task-poison: agent unavailable
[Channel:test-dws] DWS message turn failed (attempt 3/5): agent unavailable
[Channel:test-dws] failed to process DWS todo task-poison: agent unavailable
[Channel:test-dws] DWS message turn failed (attempt 4/5): agent unavailable
[Channel:test-dws] failed to process DWS todo task-poison: agent unavailable
[Channel:test-dws] dropping a DWS message after 5 failed turns: agent unavailable
[Channel:test-dws] failed to fetch DWS todo task-flaky: transient dws failure
[Channel:test-dws] failed to fetch DWS todo task-flaky: transient dws failure
[Channel:test-dws] failed to fetch DWS todo task-flaky: transient dws failure
[Channel:test-dws] failed to fetch DWS todo task-flaky: transient dws failure
[Channel:test-dws] failed to fetch DWS todo task-flaky: transient dws failure
[Channel:test-dws] DWS todo comment outcome is unknown; the originating task will not be rerun: timed out
[Channel:test-dws] DWS document reply outcome is unknown; the originating task will not be rerun: timed out
✓ src/dws-channel.test.ts (151 tests) 834ms
✓ src/dws-client.test.ts (63 tests) 57ms
✓ src/dws-event-stream.test.ts (6 tests) 568ms
✓ src/index.test.ts (6 tests) 4ms
✓ src/dws-client-process.test.ts (1 test) 7ms
✓ src/dws-environment.test.ts (1 test) 2ms
Test Files 6 passed (6)
Tests 228 passed (228)
Start at 16:08:39
Duration 4.15s (transform 478ms, setup 0ms, collect 1.24s, tests 1.47s, environment 1ms, prepare 454ms)
npm notice run @qwen-code/channel-gitlab@0.22.2 test
RUN v3.2.7 /startdir/src/qwen-code/packages/channels/gitlab
[Channel:test-gl] warning: action_prompt_template is not configured; no todos will be processed
[Channel:test-gl] warning: action_prompt_template is not configured; no todos will be processed
[Channel:test-gitlab] error processing todo 100: Error: agent failed
[Channel:test-gitlab] error processing todo 1: Error: agent failed
[Channel:test-gitlab] error processing todo 2: Error: agent failed
[Channel:test-gitlab] failed to acknowledge note 1001: Error: 403
[Channel:test-gitlab] failed to remove acknowledgement from note 1001: Error: 403
[Channel:test-gitlab] failed to remove acknowledgement from note 1001: Error: 403
✓ src/GitlabAdapter.test.ts (45 tests) 482ms
✓ src/mention.test.ts (14 tests) 4ms
Test Files 2 passed (2)
Tests 59 passed (59)
Start at 16:08:43
Duration 1.61s (transform 413ms, setup 0ms, collect 585ms, tests 487ms, environment 0ms, prepare 176ms)
npm notice run @qwen-code/channel-plugin-example@0.22.2 test
RUN v3.2.7 /startdir/src/qwen-code/packages/channels/plugin-example
✓ src/MockPluginChannel.test.ts (2 tests) 4ms
Test Files 1 passed (1)
Tests 2 passed (2)
Start at 16:08:46
Duration 397ms (transform 84ms, setup 0ms, collect 105ms, tests 4ms, environment 0ms, prepare 90ms)
npm notice run @qwen-code/external-context@0.22.2 test
RUN v3.2.7 /startdir/src/qwen-code/integrations/external-context
✓ src/auto-recall.test.ts (32 tests) 2668ms
✓ runAutoRecallCli > runs as a child process and exits without stderr or a retained timer 365ms
✓ runAutoRecallCli > runs when the configured entry point is a symbolic link 301ms
✓ runAutoRecallCli > runs the real Hook process against a bound Generic HTTP provider 433ms
✓ runAutoRecallCli > exits after a provider timeout leaves a proxy CONNECT stalled 1302ms
✓ src/mcp.test.ts (24 tests) 152ms
✓ src/providers.test.ts (37 tests) 179ms
✓ src/provider-extension-local.test.ts (15 tests) 6465ms
✓ local provider extension example > serves the exact profile tool with stable failure and cancellation semantics 5707ms
✓ local provider extension example > packs an executable that fails fast without provider configuration 674ms
✓ src/config.test.ts (27 tests) 24ms
✓ src/manifest.test.ts (13 tests) 7ms
✓ src/provider-profile.test.ts (9 tests) 74ms
✓ src/http-client.test.ts (6 tests) 13ms
✓ src/write-confirmation.test.ts (23 tests) 8ms
✓ src/context.test.ts (8 tests) 4ms
✓ src/main.test.ts (4 tests) 17ms
✓ src/proxy.test.ts (3 tests) 15ms
Test Files 12 passed (12)
Tests 201 passed (201)
Start at 16:08:47
Duration 12.28s (transform 291ms, setup 0ms, collect 864ms, tests 9.63s, environment 1ms, prepare 580ms)
==> ERROR: A failure occurred in check().
Aborting...
==> ERROR: Build failed, check /home/alhp/workspace/chroot/build_08219efd-b80c-4223-84c6-df6c11737a31/build