==> Synchronizing chroot copy [/home/alhp/workspace/chroot/root] -> [build_d0b5a342-0674-4b9a-a091-806aee445fb1]...done
==> Making package: qwen-code 0.22.2-1.1 (Sat Oct 24 16:33:33 2026)
==> Retrieving sources...
-> Cloning qwen-code git repo...
Cloning into bare repository '/home/alhp/workspace/build/x86-64-v2/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:36:25 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: 12% (1598/12901)
Updating files: 13% (1678/12901)
Updating files: 14% (1807/12901)
Updating files: 15% (1936/12901)
Updating files: 16% (2065/12901)
Updating files: 17% (2194/12901)
Updating files: 18% (2323/12901)
Updating files: 18% (2421/12901)
Updating files: 19% (2452/12901)
Updating files: 20% (2581/12901)
Updating files: 20% (2705/12901)
Updating files: 21% (2710/12901)
Updating files: 22% (2839/12901)
Updating files: 22% (2907/12901)
Updating files: 22% (2963/12901)
Updating files: 23% (2968/12901)
Updating files: 23% (3003/12901)
Updating files: 23% (3027/12901)
Updating files: 24% (3097/12901)
Updating files: 25% (3226/12901)
Updating files: 25% (3266/12901)
Updating files: 25% (3292/12901)
Updating files: 26% (3355/12901)
Updating files: 27% (3484/12901)
Updating files: 27% (3528/12901)
Updating files: 27% (3597/12901)
Updating files: 28% (3613/12901)
Updating files: 28% (3686/12901)
Updating files: 29% (3742/12901)
Updating files: 30% (3871/12901)
Updating files: 30% (3967/12901)
Updating files: 31% (4000/12901)
Updating files: 32% (4129/12901)
Updating files: 33% (4258/12901)
Updating files: 33% (4330/12901)
Updating files: 34% (4387/12901)
Updating files: 35% (4516/12901)
Updating files: 35% (4528/12901)
Updating files: 35% (4570/12901)
Updating files: 36% (4645/12901)
Updating files: 37% (4774/12901)
Updating files: 38% (4903/12901)
Updating files: 38% (4917/12901)
Updating files: 39% (5032/12901)
Updating files: 40% (5161/12901)
Updating files: 40% (5249/12901)
Updating files: 41% (5290/12901)
Updating files: 41% (5370/12901)
Updating files: 42% (5419/12901)
Updating files: 43% (5548/12901)
Updating files: 43% (5627/12901)
Updating files: 44% (5677/12901)
Updating files: 44% (5722/12901)
Updating files: 45% (5806/12901)
Updating files: 45% (5891/12901)
Updating files: 46% (5935/12901)
Updating files: 47% (6064/12901)
Updating files: 48% (6193/12901)
Updating files: 49% (6322/12901)
Updating files: 49% (6448/12901)
Updating files: 50% (6451/12901)
Updating files: 51% (6580/12901)
Updating files: 52% (6709/12901)
Updating files: 52% (6781/12901)
Updating files: 53% (6838/12901)
Updating files: 54% (6967/12901)
Updating files: 55% (7096/12901)
Updating files: 55% (7196/12901)
Updating files: 56% (7225/12901)
Updating files: 57% (7354/12901)
Updating files: 58% (7483/12901)
Updating files: 59% (7612/12901)
Updating files: 60% (7741/12901)
Updating files: 60% (7844/12901)
Updating files: 61% (7870/12901)
Updating files: 62% (7999/12901)
Updating files: 63% (8128/12901)
Updating files: 64% (8257/12901)
Updating files: 65% (8386/12901)
Updating files: 66% (8515/12901)
Updating files: 67% (8644/12901)
Updating files: 68% (8773/12901)
Updating files: 69% (8902/12901)
Updating files: 70% (9031/12901)
Updating files: 71% (9160/12901)
Updating files: 72% (9289/12901)
Updating files: 72% (9311/12901)
Updating files: 73% (9418/12901)
Updating files: 74% (9547/12901)
Updating files: 75% (9676/12901)
Updating files: 76% (9805/12901)
Updating files: 77% (9934/12901)
Updating files: 77% (9993/12901)
Updating files: 78% (10063/12901)
Updating files: 79% (10192/12901)
Updating files: 80% (10321/12901)
Updating files: 81% (10450/12901)
Updating files: 82% (10579/12901)
Updating files: 83% (10708/12901)
Updating files: 84% (10837/12901)
Updating files: 84% (10851/12901)
Updating files: 85% (10966/12901)
Updating files: 86% (11095/12901)
Updating files: 87% (11224/12901)
Updating files: 88% (11353/12901)
Updating files: 89% (11482/12901)
Updating files: 90% (11611/12901)
Updating files: 91% (11740/12901)
Updating files: 92% (11869/12901)
Updating files: 93% (11998/12901)
Updating files: 94% (12127/12901)
Updating files: 95% (12256/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 @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead
npm warn deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm warn deprecated 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
✓ 8 modules transformed.
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
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 422ms
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 23.77s
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.29s
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:2128) [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 17605ms.
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 21.47s
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 25.58s
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 9.53s
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 71ms
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 (2ms)
✓ 11 test/coord-norm.test.ts:59:5 › normToPx rounds to nearest (1ms)
✓ 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) (2ms)
✓ 14 test/coord-norm.test.ts:93:5 › pxToNorm (removed) is no longer exported (9ms)
✓ 15 test/coord-norm.test.ts:104:5 › denormalizeArgs click uses width for x, height for y (2ms)
✓ 16 test/coord-norm.test.ts:121:5 › denormalizeArgs swipe converts x, y, and distance by direction (3ms)
✓ 17 test/coord-norm.test.ts:150:5 › denormalizeArgs leaves non-coord tools untouched (2ms)
✓ 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 (1ms)
✓ 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 (1ms)
✓ 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 (3ms)
✓ 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-9a819d87-ad54-46aa-9ccc-e979a3a69198.xml"}
=> UI hierarchy XML saved to: /tmp/mobile-ui-dump-9a819d87-ad54-46aa-9ccc-e979a3a69198.xml
✓ 40 test/mobile-ui-dump.test.ts:12:5 › mobile_ui_dump preserves absolute bounds from UIAutomator (32ms)
✓ 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 (4ms)
✓ 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 (2ms)
✓ 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 (1ms)
✓ 47 test/mobilecli.test.ts:101:9 › mobilecli › getDevices › should call executeCommand with type filter (1ms)
✓ 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 (139ms)
✓ 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 (4ms)
✓ 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 (1ms)
✓ 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 (10ms)
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 (478ms)
18 skipped
43 passed (3.5s)
-----------------------|---------|----------|---------|---------|-----------------------------------
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_c034a84f-97b0-4aa9-877e-5a74a337bff1 requester=client_d3b1593c-65d4-416a-b9e5-f163a8b68068
[artifacts] session=sess:/work/a action=remove_denied artifactId=ea192b281419fff5 owner=client_c034a84f-97b0-4aa9-877e-5a74a337bff1 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_ed941ade-980c-436a-9971-c08834304e9c"
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 b4df2ac2-059f-48ed-89c0-957794f68d68; 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 c13f128a-459b-4f6d-adb9-d82645f08ce8; 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 cf200a64-a798-40f5-b73e-4f23f5ab784d; 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 fc89f74d-8c9d-4c6b-a452-b9dcdd05e494; decision=fence_shared
qwen serve: abandoned session/load for "wedged" has not settled 20ms after its deadline; refusing fresh sessions on channel fc89f74d-8c9d-4c6b-a452-b9dcdd05e494 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 22ceeaf6-bb7a-4429-844b-413003dd4131; 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 afc45e96-b6e9-492e-a302-5e1a99ada0a2; 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 c676dd4c-f037-40e1-9cd1-475aaa73f78a; 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 381a1a81-0ab4-41f6-b7ee-ee6f892403b3; 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 c414249a-237d-47b5-887d-b4039fef8e2b; 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 c414249a-237d-47b5-887d-b4039fef8e2b 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 bb7bfd23-e6d7-428c-856d-dadae0f0eb33; 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 e081c8c6-6b19-4df2-a826-43dc84297e9f; 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 beb319c2-e75a-4f5e-b57d-017241feb78a; 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 998411bd-4a22-45eb-a472-3b0ac21bc4b1; 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 f043dcce-d86b-43ad-b881-6590febe1358; 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 09e70b04-7704-4696-b141-109fab7e4094; 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 912c6c65-949b-43cf-a728-117cb9e178e4; 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 07ca0f6e-c830-48de-8f8c-85f5f0801199; 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 07c04486-6e69-4514-9402-836d11249cfc; 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=3092c7b8-0f09-437e-a025-79f1aa153c8a
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 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=794e59ef-b4ff-4b94-bf74-f80e28e20a9f
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
broadcastPromptCancelledOnce: suppressed duplicate cancel for session sess:/work/a prompt=06941cb8-c92c-452b-9c98-6269b0e38222
broadcastPromptCancelledOnce: suppressed duplicate cancel for session sess:/work/a prompt=431c5f40-5d78-4777-8820-31070c224cb3
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_0b3f1c29-3861-4838-9f2b-49e39737ca7c"
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_1ac974eb-c494-41db-bb16-5f40ddae44be"
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 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=48458983-5675-4c1d-8aa9-0045d2a88ff9 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=d7df75d2-91ce-4668-8451-b62c46733e49 state=running
sendPrompt: forward failed for session sess:/work/a: cancelled
broadcastPromptCancelledOnce: suppressed duplicate cancel for session sess:/work/a prompt=d7df75d2-91ce-4668-8451-b62c46733e49
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
[pending-prompt] session=sess:/work/a removing promptId=ca08b469-b7d7-4209-bc1d-944917749c44 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=cde5b776-7141-480c-a578-88e2f4d0dd0c
[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 "dd20c92e-c9be-4ff1-bad5-5691407ca0a7" 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=61da47d8-77e3-405c-955d-2e4ce8674218
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=5eb7906b-f8bc-4a97-9c75-d3169f049d67
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=8201805f-f5fc-4485-bbf7-afca6e3cd87e
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=fce5bc06-014b-4d2f-b9c4-bd5990ad64f8
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=fa718d94-8155-494a-be77-9644a91b5d1c
[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=4e05cebd-7a37-42c9-8ea0-daf6cdae4d28
[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="4998b7bf-7714-4520-8d4b-222972e831e0" (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="4a2fb2b4-c0ed-436c-b90e-a461fa42e2cb" (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=9d2059bb-5ffc-4830-aeb6-67b65edbb2bf
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 "6efcf14f-1b6b-4378-9d8e-13237d98e1b8": "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) 14447ms
✓ createAcpSessionBridge — mid-turn message queue (enqueueMidTurnMessage) > bounds the promoted ring across many idle promotions 564ms
[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 10dac089-9d54-4c23-9e78-5fa967791a1e: 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) 115ms
[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) 230ms
✓ src/compactionEngine.test.ts (132 tests) 45ms
✓ src/eventBus.test.ts (59 tests) 84ms
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) 23ms
✓ src/transcript-replay.test.ts (39 tests) 25ms
✓ src/sessionAttachments.test.ts (47 tests) 359ms
✓ src/ndJsonStream.test.ts (33 tests) 225ms
✓ src/spawnChannel.test.ts (42 tests) 67ms
✓ src/daemon-memory-budget.test.ts (53 tests) 8ms
✓ src/prompt-ledger.test.ts (16 tests) 6ms
✓ src/logRedaction.test.ts (39 tests) 6ms
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle 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=0ab292d7-aa2c-4d5d-9701-b758fa4636be: disk full
qwen serve: prompt ledger append failed for session=sess:/work/a promptId=0ab292d7-aa2c-4d5d-9701-b758fa4636be: disk full
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
✓ src/bridge-prompt-ledger.test.ts (8 tests) 24ms
✓ src/status.test.ts (18 tests) 4ms
✓ src/channel-liveness.test.ts (9 tests) 8ms
✓ src/child-heap-policy.test.ts (15 tests) 4ms
✓ src/inMemoryChannel.test.ts (8 tests) 110ms
a2ui: dropping command with unrecognized shape (version,noop)
✓ src/a2uiExtraction.test.ts (14 tests) 4ms
✓ src/journalGrowthPolicy.test.ts (11 tests) 3ms
✓ src/workspacePaths.test.ts (10 tests) 4ms
✓ src/process-registry.test.ts (7 tests) 7ms
✓ src/channel-startup-profile.test.ts (4 tests) 3ms
✓ src/session-restore-timeout.test.ts (23 tests) 3ms
✓ src/replayWindowLimits.test.ts (27 tests) 4ms
✓ src/json-string-bytes.test.ts (5 tests) 414ms
✓ estimateJsonStringBytes > matches JSON.stringify UTF-8 bytes for every UTF-16 code unit 389ms
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) 21ms
✓ src/daemon-memory-budget-parity-fraction.test.ts (1 test) 2ms
✓ src/workspacePaths.sandbox.test.ts (2 tests) 2ms
✓ src/daemon-memory-budget-parity.test.ts (1 test) 2ms
✓ src/generation-stream.test.ts (4 tests) 3ms
✓ 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) 24ms
Test Files 33 passed (33)
Tests 1735 passed (1735)
Start at 14:46:41
Duration 37.08s (transform 3.02s, setup 0ms, collect 16.35s, tests 16.29s, environment 3ms, prepare 1.41s)
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:18
Duration 183ms (transform 23ms, setup 0ms, collect 22ms, tests 2ms, environment 0ms, prepare 58ms)
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) 1267ms
✓ side panel capability status assets > renders runtime MCP diagnostics from the live status endpoint 906ms
✓ src/sidepanel/capability-status.test.ts (23 tests) 35ms
✓ src/background/cdp-bridge.test.ts (7 tests) 593ms
✓ src/daemon/config.test.ts (8 tests) 9ms
✓ scripts/manifest-version.test.js (19 tests) 121ms
✓ scripts/artifact-scan.test.js (8 tests | 1 skipped) 98ms
✓ scripts/main-entry.test.js (3 tests) 311ms
↓ 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:19
Duration 5.90s (transform 167ms, setup 0ms, collect 282ms, tests 2.43s, environment 1.37s, prepare 570ms)
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) 130384ms
✓ Session > prompt > auto-compress > latches mid-turn drain off after repeated timeouts when the client never responds 6242ms
✓ Session > prompt > auto-compress > resets the timeout strike count when a drain succeeds 8218ms
✓ Session > prompt > auto-compress > recovers a drain that timed out and injects it on the next batch 2188ms
✓ Session > prompt > ask_user_question cancellation turn stop > waits for pending rewrites before ending after cancelled ask_user_question 370ms
✓ Session > prompt > ask_user_question cancellation turn stop > waits for pending rewrites before cron stops after cancelled ask_user_question 335ms
✓ Session > prompt > ask_user_question cancellation turn stop > ends background notification processing after cancelled ask_user_question 311ms
✓ Session > prompt > ask_user_question cancellation turn stop > reports cancellation while a background notification awaits permission 322ms
✓ Session > runToolCalls > does not execute after cancellation settles during the start emitter 309ms
✓ Session > runToolCalls > keeps refreshing context-file instructions for later ACP writes in a marked turn 303ms
✓ Session > runToolCalls > clears unmatched context-file refresh intent on the next ordinary ACP turn 321ms
✓ Session > runToolCalls > does not treat a parent abort during permission as explicit rejection 304ms
✓ Session > runToolCalls > stops and aborts Agent tool execution after nested ask_user_question cancellation 346ms
✓ Session > runToolCalls > stops and aborts Agent tool execution after nested non-question permission cancellation 307ms
✓ Session > runToolCalls > ignores later subagent tool events after nested ask_user_question cancellation 312ms
✓ Session > runToolCalls > aborts sibling Agent calls in the same batch after nested ask_user_question cancellation 315ms
✓ Session > runToolCalls > does not treat parent abort during nested Agent permission as explicit rejection 328ms
✓ Session > runToolCalls > does not start Agent batches with an already-aborted parent signal 307ms
✓ Session > runToolCalls > suppresses duplicate TodoWrite calls without emitting plan updates 306ms
✓ Session > runToolCalls > keeps duplicate synthetic responses ordered with executable calls 305ms
✓ Session > dispose > aborts an active notificationAbortController and nulls the reference 313ms
✓ Session > automatic drain serialization on the history mutation gate > waits for an interactive checkpoint mutation before draining cron 358ms
✓ Session > daemon Todo Stop Guard > revalidates plan mode before claiming a continuation 367ms
✓ Session > daemon Todo Stop Guard > does not close completed Todo tools after PostToolUse stops the chain 333ms
✓ Session > daemon Todo Stop Guard > preserves combined continuation tool responses when 'a newer prompt supersedes the turn' 325ms
✓ Session > daemon Todo Stop Guard > preserves combined continuation tool responses when 'the user cancels the turn' 319ms
✓ Session > daemon Todo Stop Guard > preserves newer prompt state and includes tasks created while the superseded prompt unwinds 314ms
✓ Session > daemon Todo Stop Guard > reclassifies queued notifications when a new work chain starts 305ms
✓ Session > daemon Todo Stop Guard > defers while a background task created by the work chain is running 349ms
✓ Session > daemon Todo Stop Guard > defers while a background shell created by the work chain is running 383ms
✓ Session > daemon Todo Stop Guard > defers while a monitor created by the work chain is running 370ms
✓ Session > daemon Todo Stop Guard > does not resume an old Guard after the working directory changes 388ms
✓ Session > daemon Todo Stop Guard > defers while a background task created by the work chain is paused 358ms
✓ Session > daemon Todo Stop Guard > continues the same guard when its background task reports completion 385ms
✓ Session > daemon Todo Stop Guard > does not let an old notification displace a chain waiting on its own task 447ms
✓ Session > daemon Todo Stop Guard > protects a related notification from unrelated queue overflow 365ms
✓ Session > daemon Todo Stop Guard > preserves queued related notifications when the queue is full 355ms
✓ Session > daemon Todo Stop Guard > protects a related notification while FIFO priority outlives guard trust 398ms
✓ Session > daemon Todo Stop Guard > unblocks deferred automatic work when history restoration clears trust 472ms
✓ Session > daemon Todo Stop Guard > does not let a related background result re-arm after rewind 452ms
✓ Session > daemon Todo Stop Guard > does not let a related background result revive a hard-stopped guard 465ms
✓ Session > daemon Todo Stop Guard > does not let an unrelated background result clear hard suspension 456ms
✓ Session > daemon Todo Stop Guard > retains an already-used attempt when a related background task completes 411ms
✓ Session > daemon Todo Stop Guard > does not let a pre-existing task notification revive an exhausted guard 436ms
✓ Session > daemon Todo Stop Guard > coalesces a blocking external Stop hook with the guard 374ms
✓ Session > daemon Todo Stop Guard > preserves the external Stop hook tool loop after Guard exhaustion 403ms
✓ Session > daemon Todo Stop Guard > preserves an external Stop hook tool result when nested Guard validation defers 415ms
✓ Session > daemon Todo Stop Guard > preserves an external Stop hook tool result when a nested Guard claim is unavailable 374ms
✓ Session > daemon Todo Stop Guard > reports Guard exhaustion before a coalesced external Stop hook reaches its cap 401ms
✓ Session > daemon Todo Stop Guard > resets consecutive Stop-hook blocks after a nonblocking allow 375ms
✓ Session > daemon Todo Stop Guard > preserves a coalesced Stop-loop event when token rejection skips the final send 627ms
✓ Session > daemon Todo Stop Guard > rechecks user input after a slow external Stop hook 386ms
✓ Session > daemon Todo Stop Guard > accounts for a slow blocking Stop hook after handling mid-turn input 361ms
✓ Session > daemon Todo Stop Guard > 'keeps the external continuation when …' after a slow Stop hook 395ms
✓ Session > daemon Todo Stop Guard > 'discards the stale hook response when…' after a slow Stop hook 366ms
✓ Session > daemon Todo Stop Guard > keeps an external Stop hook when an earlier queued-prompt probe is unavailable 321ms
✓ Session > daemon Todo Stop Guard > sends drained user input when a Guard preparation claim is unavailable 369ms
✓ Session > daemon Todo Stop Guard > lets an independent background notification arm its own guard 360ms
✓ Session > daemon Todo Stop Guard > suspends an armed guard when a background notification stream aborts 380ms
✓ Session > daemon Todo Stop Guard > lets an independent cron turn arm its own guard 378ms
✓ Session > daemon Todo Stop Guard > keeps a cron turn graceful when its Stop continuation trips loop protection 375ms
✓ Session > daemon Todo Stop Guard > keeps a background-notification turn graceful when its Stop continuation trips loop protection 326ms
✓ Session > daemon Todo Stop Guard > suspends an armed guard when a cron stream aborts 389ms
✓ Session > daemon Todo Stop Guard > treats a queued pre-prompt wakeup as part of the new baseline 402ms
✓ Session > daemon Todo Stop Guard > drains a related wakeup before an older unrelated cron item 311ms
✓ Session > daemon Todo Stop Guard > coalesces recurring cron fires while FIFO priority outlives guard trust 311ms
✓ Session > daemon Todo Stop Guard > trims an oversized deferred cron queue before a unrelated cron arrives 332ms
✓ Session > follow-up suggestion (daemon assist push) > forwards an explicit enableCacheSharing=false opt-out 352ms
✓ Session > follow-up suggestion (daemon assist push) > does not emit in PLAN approval mode 332ms
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-OsS3p5/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 f6bd86e5 (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 (f6bd86e5)
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-jbg9CN/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-0yx96c/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:08.101Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:08.102Z [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-bw0GkA/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:41985 (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=20534 runQwenServeToListenMs=209
2026-10-24T14:50:08.256Z [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:08.345Z [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:08.421Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:08.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/qwen-server-suite-bw0GkA/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=20732 runQwenServeToListenMs=57
qwen serve listening on http://127.0.0.1:33719 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
2026-10-24T14:50:08.433Z [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:08.452Z [INFO] [DAEMON] route=GET /capabilities durationMs=2 status=200 request completed
qwen serve: /acp connection established 3f893323 (loopback=true, active=1)
2026-10-24T14:50:08.466Z [INFO] [DAEMON] route=POST /acp durationMs=3 status=200 request completed
2026-10-24T14:50:08.468Z [INFO] [DAEMON] daemon stopped
qwen serve listening on http://127.0.0.1:35801 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
2026-10-24T14:50:08.582Z [INFO] [DAEMON] route=GET /capabilities durationMs=1 status=200 request completed
qwen serve: /acp connection established 3f76470b (loopback=true, active=1)
2026-10-24T14:50:08.587Z [INFO] [DAEMON] route=POST /acp durationMs=1 status=200 request completed
2026-10-24T14:50:08.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:50:08.609Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:08.609Z [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-bw0GkA/runtime/debug/daemon/daemon.log
2026-10-24T14:50:08.609Z [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:08.659Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:08.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-bw0GkA/runtime/debug/daemon/daemon.log
2026-10-24T14:50:08.659Z [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:08.685Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:08.685Z [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-bw0GkA/runtime/debug/daemon/daemon.log
2026-10-24T14:50:08.685Z [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:08.717Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:08.717Z [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-bw0GkA/runtime/debug/daemon/daemon.log
2026-10-24T14:50:08.717Z [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:08.741Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:08.741Z [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-bw0GkA/runtime/debug/daemon/daemon.log
2026-10-24T14:50:08.741Z [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:08.757Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:08.757Z [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-bw0GkA/runtime/debug/daemon/daemon.log
2026-10-24T14:50:08.757Z [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:08.780Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:08.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-bw0GkA/runtime/debug/daemon/daemon.log
2026-10-24T14:50:08.780Z [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:08.818Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:08.818Z [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-bw0GkA/runtime/debug/daemon/daemon.log
2026-10-24T14:50:08.818Z [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:08.844Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:08.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/qwen-server-suite-bw0GkA/runtime/debug/daemon/daemon.log
2026-10-24T14:50:08.845Z [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:08.863Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:08.863Z [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-bw0GkA/runtime/debug/daemon/daemon.log
2026-10-24T14:50:08.863Z [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:08.909Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:08.909Z [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-bw0GkA/runtime/debug/daemon/daemon.log
2026-10-24T14:50:08.909Z [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:08.930Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:08.930Z [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-bw0GkA/runtime/debug/daemon/daemon.log
2026-10-24T14:50:08.930Z [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:08.945Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:08.945Z [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-bw0GkA/runtime/debug/daemon/daemon.log
2026-10-24T14:50:08.945Z [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:08.950Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:08.950Z [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-bw0GkA/runtime/debug/daemon/daemon.log
2026-10-24T14:50:08.950Z [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:08.974Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:08.974Z [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-bw0GkA/runtime/debug/daemon/daemon.log
2026-10-24T14:50:08.975Z [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:09.000Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:09.000Z [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-bw0GkA/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:43779 (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=21312 runQwenServeToListenMs=25
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:50:09.005Z [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:09.023Z [INFO] [DAEMON] route=GET /capabilities durationMs=1 status=200 request completed
2026-10-24T14:50:09.027Z [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:09.088Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:09.088Z [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-bw0GkA/runtime/debug/daemon/daemon.log
2026-10-24T14:50:09.088Z [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:09.114Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:09.114Z [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-bw0GkA/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=21425 runQwenServeToListenMs=18
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on http://127.0.0.1:45941 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
2026-10-24T14:50:09.117Z [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:09.132Z [INFO] [DAEMON] route=GET /capabilities durationMs=1 status=200 request completed
2026-10-24T14:50:09.134Z [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:09.197Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:09.197Z [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-bw0GkA/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:35809 (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=21508 runQwenServeToListenMs=40
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:50:09.200Z [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:09.210Z [INFO] [DAEMON] route=GET /capabilities durationMs=1 status=200 request completed
2026-10-24T14:50:09.229Z [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:09.299Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:09.299Z [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-bw0GkA/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=21610 runQwenServeToListenMs=65
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on http://127.0.0.1:33439 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
2026-10-24T14:50:09.302Z [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:09.314Z [INFO] [DAEMON] route=GET /capabilities durationMs=1 status=200 request completed
2026-10-24T14:50:09.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:50:09.354Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:09.354Z [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-bw0GkA/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:34477 (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=21665 runQwenServeToListenMs=30
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:50:09.358Z [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:09.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
2026-10-24T14:50:09.400Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:09.400Z [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-bw0GkA/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=21711 runQwenServeToListenMs=26
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:50:09.404Z [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:40953 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:50:09.418Z [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:09.448Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:09.448Z [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-bw0GkA/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=21759 runQwenServeToListenMs=21
qwen serve: --require-auth enabled (bearer token mandatory on every route, including loopback /health).
2026-10-24T14:50:09.450Z [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:42835 (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:09.469Z [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:09.534Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:09.535Z [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-bw0GkA/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=21846 runQwenServeToListenMs=51
2026-10-24T14:50:09.538Z [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:43229 (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:09.555Z [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:09.608Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:09.608Z [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-bw0GkA/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=21918 runQwenServeToListenMs=45
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on http://127.0.0.1:42511 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
2026-10-24T14:50:09.611Z [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:09.623Z [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:09.671Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:09.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/qwen-server-suite-bw0GkA/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:39213 (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=21982 runQwenServeToListenMs=31
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:50:09.674Z [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:09.683Z [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:09.741Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:09.741Z [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-bw0GkA/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=22052 runQwenServeToListenMs=52
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on http://127.0.0.1:42219 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
2026-10-24T14:50:09.743Z [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:09.761Z [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:09.811Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:09.811Z [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-bw0GkA/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=22128 runQwenServeToListenMs=51
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on http://127.0.0.1:46663 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
2026-10-24T14:50:09.825Z [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:09.840Z [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:09.908Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:09.908Z [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-bw0GkA/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:09.908Z [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:09.951Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:09.951Z [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-bw0GkA/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:09.952Z [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:10.031Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:10.031Z [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-bw0GkA/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://Localhost:37917 (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=22343 runQwenServeToListenMs=49
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:50:10.040Z [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:10.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:50:10.143Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:10.143Z [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-bw0GkA/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]:46153 (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=22454 runQwenServeToListenMs=76
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:50:10.152Z [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:10.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, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:50:10.261Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:10.261Z [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-bw0GkA/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:10.262Z [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:10.354Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:10.354Z [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-bw0GkA/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=22665 runQwenServeToListenMs=70
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on http://[::1]:36569 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
2026-10-24T14:50:10.357Z [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:10.372Z [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:10.458Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:10.458Z [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-bw0GkA/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:10.459Z [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:10.559Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:10.559Z [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-bw0GkA/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:10.561Z [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:35813 (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=22879 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:50:10.573Z [INFO] [DAEMON] route=GET /capabilities durationMs=1 status=200 request completed
2026-10-24T14:50:10.574Z [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:10.701Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:10.701Z [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-bw0GkA/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:10.703Z [INFO] [DAEMON] ideEnvPresent=false primary=/startdir/src/qwen-code/packages/cli secondary= daemon workspace roots initialized
qwen serve: bound to workspace "/startdir/src/qwen-code/packages/cli"
qwen serve: startup timing: processToListenMs=23022 runQwenServeToListenMs=71
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:10.713Z [INFO] [DAEMON] daemon stopped
qwen serve listening on http://127.0.0.1:35249 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
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:10.778Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:10.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/qwen-server-suite-bw0GkA/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:10.779Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qwen-runqwen-fs-11KuRB secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:41373 (mode=http-bridge, workspace=/tmp/qwen-runqwen-fs-11KuRB)
qwen serve: bound to workspace "/tmp/qwen-runqwen-fs-11KuRB"
qwen serve: startup timing: processToListenMs=23098 runQwenServeToListenMs=50
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:10.808Z [INFO] [DAEMON] route=GET /file durationMs=6 status=200 request completed
2026-10-24T14:50:10.812Z [WARN] [DAEMON] route=GET /file durationMs=1 status=400 request completed
2026-10-24T14:50:10.828Z [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:10.878Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:10.878Z [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-bw0GkA/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:10.884Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qwen-runqwen-rest-fs-iEsBbD secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:45313 (mode=http-bridge, workspace=/tmp/qwen-runqwen-rest-fs-iEsBbD)
qwen serve: bound to workspace "/tmp/qwen-runqwen-rest-fs-iEsBbD"
qwen serve: startup timing: processToListenMs=23203 runQwenServeToListenMs=49
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=2c337e449ca0da37). Inject deps.fsFactory in createServeApp to wire audit into the EventBus.
2026-10-24T14:50:10.896Z [WARN] [DAEMON] route=GET /file durationMs=1 status=404 request completed
2026-10-24T14:50:10.906Z [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:10.923Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:10.923Z [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-bw0GkA/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:10.925Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qwen-runqwen-trust-8QRrVW secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:38905 (mode=http-bridge, workspace=/tmp/qwen-runqwen-trust-8QRrVW)
qwen serve: bound to workspace "/tmp/qwen-runqwen-trust-8QRrVW"
qwen serve: startup timing: processToListenMs=23244 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:50:10.943Z [INFO] [DAEMON] route=GET /file durationMs=6 status=200 request completed
2026-10-24T14:50:10.954Z [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:10.973Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:10.973Z [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-bw0GkA/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:10.975Z [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:36859 (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=23292 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:10.983Z [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:11.009Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:11.009Z [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-bw0GkA/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:11.011Z [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:45091 (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=23330 runQwenServeToListenMs=33
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:11.022Z [INFO] [DAEMON] daemon stopped
(node:4507) 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:11.068Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:11.068Z [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-bw0GkA/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:11.075Z [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:42103 (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=23394 runQwenServeToListenMs=49
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:11.085Z [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:11.148Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:11.148Z [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-bw0GkA/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:11.150Z [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:40251 (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=23468 runQwenServeToListenMs=53
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:11.167Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown streamId=4ebabbff-0f1a-432d-887d-89cf62855f99 SSE stream opened
2026-10-24T14:50:11.171Z [INFO] [DAEMON] daemon stopped
2026-10-24T14:50:11.172Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=client_disconnect connectReason=unknown durationMs=5.560569000001124 eventFramesWriteSettled=2 lastEventIdWritten=2 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=4ebabbff-0f1a-432d-887d-89cf62855f99 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:11.698Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:11.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/qwen-server-suite-bw0GkA/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:11.700Z [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:38869 (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=24019 runQwenServeToListenMs=79
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:11.713Z [INFO] [DAEMON] sessionId=subagent.cGFyZW50LTE.YWdlbnQtMQ connectReason=unknown lastEventId=7 streamId=9effed87-7c84-4537-97e2-ca0068e8a945 SSE stream opened
2026-10-24T14:50:11.716Z [INFO] [DAEMON] daemon stopped
2026-10-24T14:50:11.716Z [INFO] [DAEMON] sessionId=subagent.cGFyZW50LTE.YWdlbnQtMQ backpressureCount=0 closeReason=client_disconnect connectReason=unknown durationMs=3.590766999997868 eventFramesWriteSettled=1 lastEventIdWritten=1 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=9effed87-7c84-4537-97e2-ca0068e8a945 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:11.741Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:11.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/qwen-server-suite-bw0GkA/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:11.744Z [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:36049 (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=24062 runQwenServeToListenMs=32
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:11.755Z [INFO] [DAEMON] sessionId=subagent.cGFyZW50LTE.YWdlbnQtMQ connectReason=unknown streamId=42b16b35-c0e6-4948-992e-5a646309621d SSE stream opened
2026-10-24T14:50:11.758Z [INFO] [DAEMON] daemon stopped
2026-10-24T14:50:11.759Z [INFO] [DAEMON] sessionId=subagent.cGFyZW50LTE.YWdlbnQtMQ backpressureCount=0 closeReason=client_disconnect connectReason=unknown durationMs=3.4532360000011977 eventFramesWriteSettled=1 lastEventIdWritten=1 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=42b16b35-c0e6-4948-992e-5a646309621d 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:11.798Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:11.798Z [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-bw0GkA/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:11.800Z [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:43531 (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=24120 runQwenServeToListenMs=50
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:11.813Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown streamId=45190be6-134d-44ce-8216-e395012e4bc3 SSE stream opened
2026-10-24T14:50:11.815Z [INFO] [DAEMON] daemon stopped
2026-10-24T14:50:11.815Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=client_disconnect connectReason=unknown durationMs=2.6918379999988247 eventFramesWriteSettled=1 lastEventIdWritten=1 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=45190be6-134d-44ce-8216-e395012e4bc3 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:11.842Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:11.842Z [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-bw0GkA/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:11.844Z [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:42869 (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=24162 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:11.855Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown streamId=e2d22d45-a15a-42cd-940d-b9d27f27051b SSE stream opened
2026-10-24T14:50:11.857Z [INFO] [DAEMON] daemon stopped
2026-10-24T14:50:11.858Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=client_disconnect connectReason=unknown durationMs=2.7729900000013004 eventFramesWriteSettled=1 lastEventIdWritten=1 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=e2d22d45-a15a-42cd-940d-b9d27f27051b 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:11.883Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:11.883Z [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-bw0GkA/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:11.885Z [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:35229 (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=24203 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:50:11.916Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown streamId=ade71282-6067-4ccb-8a50-ad881786c4a3 SSE stream opened
2026-10-24T14:50:11.918Z [INFO] [DAEMON] daemon stopped
2026-10-24T14:50:11.918Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=client_disconnect connectReason=unknown durationMs=2.509243000000424 eventFramesWriteSettled=1 lastEventIdWritten=1 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=1791618844026 slowWarningCount=0 streamId=ade71282-6067-4ccb-8a50-ad881786c4a3 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:11.932Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:11.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/qwen-server-suite-bw0GkA/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:11.933Z [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:33505 (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=24251 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:11.944Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown lastEventId=17 streamId=965cd1e1-5b8f-4f6b-8263-ce0a2a15487e SSE stream opened
2026-10-24T14:50:11.946Z [INFO] [DAEMON] daemon stopped
2026-10-24T14:50:11.946Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=client_disconnect connectReason=unknown durationMs=2.562673000000359 eventFramesWriteSettled=1 lastEventIdWritten=42 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=965cd1e1-5b8f-4f6b-8263-ce0a2a15487e 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:11.948Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:11.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/qwen-server-suite-bw0GkA/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:11.950Z [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:44721 (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=24268 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:11.962Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown lastEventId=17 streamId=9218ed4e-ec44-46cb-b23e-59bc9ef2ecdf SSE stream opened
2026-10-24T14:50:11.964Z [INFO] [DAEMON] daemon stopped
2026-10-24T14:50:11.965Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=client_disconnect connectReason=unknown durationMs=3.7440160000005562 eventFramesWriteSettled=1 lastEventIdWritten=1 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=9218ed4e-ec44-46cb-b23e-59bc9ef2ecdf 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:12.031Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:12.031Z [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-bw0GkA/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:12.033Z [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:39391 (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=24351 runQwenServeToListenMs=70
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:12.044Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown lastEventId=17 streamId=93336ec0-02f0-41dc-8360-ed9d6064b507 SSE stream opened
2026-10-24T14:50:12.046Z [INFO] [DAEMON] daemon stopped
2026-10-24T14:50:12.047Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=client_disconnect connectReason=unknown durationMs=2.430614000000787 eventFramesWriteSettled=1 lastEventIdWritten=1 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=93336ec0-02f0-41dc-8360-ed9d6064b507 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:12.094Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:12.094Z [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-bw0GkA/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:12.096Z [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:34333 (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=24411 runQwenServeToListenMs=52
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:12.103Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown streamId=2ba2ba91-905b-454d-a10f-19d5fa38c559 SSE stream opened
2026-10-24T14:50:12.104Z [INFO] [DAEMON] daemon stopped
2026-10-24T14:50:12.105Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=client_disconnect connectReason=unknown durationMs=1.7022370000013325 eventFramesWriteSettled=1 lastEventIdWritten=1 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=2ba2ba91-905b-454d-a10f-19d5fa38c559 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:12.128Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:12.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-bw0GkA/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:12.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:44219 (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=24448 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:50:12.148Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown streamId=e1852bba-b583-4733-8e65-51f99d1a9b7d SSE stream opened
2026-10-24T14:50:12.150Z [INFO] [DAEMON] daemon stopped
2026-10-24T14:50:12.151Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=client_disconnect connectReason=unknown durationMs=2.4056070000006002 eventFramesWriteSettled=1 lastEventIdWritten=1 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=e1852bba-b583-4733-8e65-51f99d1a9b7d 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:12.174Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:12.174Z [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-bw0GkA/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:12.176Z [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:40209 (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=24494 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:12.187Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown streamId=3d5dcd3f-f554-431f-9e0e-66eb4d4c0fef SSE stream opened
2026-10-24T14:50:12.189Z [INFO] [DAEMON] daemon stopped
2026-10-24T14:50:12.189Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=client_disconnect connectReason=unknown durationMs=2.471631000000343 eventFramesWriteSettled=1 lastEventIdWritten=1 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=3d5dcd3f-f554-431f-9e0e-66eb4d4c0fef 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:12.226Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:12.226Z [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-bw0GkA/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:12.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:43005 (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=24548 runQwenServeToListenMs=47
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:12.241Z [WARN] [DAEMON] route=GET /session/sess-A/events sessionId=sess-A durationMs=1 status=400 request completed
2026-10-24T14:50:12.243Z [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:12.281Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:12.281Z [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-bw0GkA/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:12.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:40937 (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=24601 runQwenServeToListenMs=36
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:12.294Z [WARN] [DAEMON] route=GET /session/sess-A/events sessionId=sess-A durationMs=1 status=400 request completed
2026-10-24T14:50:12.295Z [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:12.319Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:12.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/qwen-server-suite-bw0GkA/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:12.320Z [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:34141 (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=24638 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 ?maxQueued "0" (outside [16, 2048])
2026-10-24T14:50:12.331Z [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:12.335Z [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:12.338Z [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:12.341Z [WARN] [DAEMON] route=GET /session/sess-A/events sessionId=sess-A durationMs=1 status=400 request completed
2026-10-24T14:50:12.342Z [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:12.370Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:12.370Z [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-bw0GkA/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:12.372Z [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:40393 (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=24691 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:12.392Z [WARN] [DAEMON] route=GET /session/missing/events sessionId=missing durationMs=1 status=404 request completed
2026-10-24T14:50:12.393Z [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:12.494Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:12.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/qwen-server-suite-bw0GkA/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:12.497Z [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:46729 (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=24820 runQwenServeToListenMs=51
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:12.513Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown streamId=71f1acae-1f39-4a0b-96e4-32c150257627 SSE stream opened
qwen serve: bridge iterator error (session sess-A): agent died
2026-10-24T14:50:12.514Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=iterator_error connectReason=unknown durationMs=1.2529580000009446 eventFramesWriteSettled=2 lastEventIdWritten=1 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=71f1acae-1f39-4a0b-96e4-32c150257627 SSE stream closed
2026-10-24T14:50:12.516Z [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:12.544Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:12.545Z [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-bw0GkA/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:12.546Z [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:34699 (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=24864 runQwenServeToListenMs=33
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:12.557Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown streamId=95ca0174-1267-4ece-820e-5309f820c972 SSE stream opened
qwen serve: bridge iterator error (session sess-A): AcpSessionBridge initialize timed out after 5000ms [init_timeout]
2026-10-24T14:50:12.558Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=iterator_error connectReason=unknown durationMs=0.812936999998783 eventFramesWriteSettled=2 lastEventIdWritten=1 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=95ca0174-1267-4ece-820e-5309f820c972 SSE stream closed
2026-10-24T14:50:12.559Z [INFO] [DAEMON] daemon stopped
qwen serve listening on http://127.0.0.1:36517 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
2026-10-24T14:50:12.618Z [INFO] [DAEMON] daemon stopped
2026-10-24T14:50:12.619Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=client_disconnect connectReason=unknown durationMs=3.1513670000022103 eventFramesWriteSettled=1 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=0bf2bcaf-6035-4c0d-8653-f86a42210cb0 SSE stream closed
qwen serve listening on http://127.0.0.1:41375 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
2026-10-24T14:50:12.675Z [INFO] [DAEMON] daemon stopped
2026-10-24T14:50:12.676Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=client_disconnect connectReason=unknown durationMs=15.189188000000286 eventFramesWriteSettled=1 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=d3bb2f36-66d4-4de6-a05e-f43b6ca86aee SSE stream closed
qwen serve listening on http://127.0.0.1:39947 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
2026-10-24T14:50:12.701Z [INFO] [DAEMON] daemon stopped
qwen serve listening on http://127.0.0.1:38477 (mode=http-bridge, workspace=/startdir/src/qwen-code/packages/cli)
2026-10-24T14:50:12.724Z [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:12.737Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:12.737Z [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-bw0GkA/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:12.738Z [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:39891 (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=25054 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:50:12.747Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown lastEventId=17 streamId=8fa52ce1-bed0-4a20-89a0-41d0595828cf SSE stream opened
2026-10-24T14:50:12.747Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=source_complete connectReason=unknown durationMs=0.4610110000030545 eventFramesWriteSettled=0 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=8fa52ce1-bed0-4a20-89a0-41d0595828cf SSE stream closed
2026-10-24T14:50:12.748Z [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:12.751Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:12.751Z [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-bw0GkA/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:12.752Z [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:44939 (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=25070 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 Last-Event-ID "abc" (not a decimal integer)
2026-10-24T14:50:12.763Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown streamId=98e16057-8cb6-44a6-a9bf-8490a1cbdb91 SSE stream opened
2026-10-24T14:50:12.763Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=source_complete connectReason=unknown durationMs=0.46723299999939627 eventFramesWriteSettled=0 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=98e16057-8cb6-44a6-a9bf-8490a1cbdb91 SSE stream closed
qwen serve: rejected Last-Event-ID "-1" (not a decimal integer)
2026-10-24T14:50:12.765Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown streamId=b26bb1bd-0928-4160-ba61-a1dca37ad418 SSE stream opened
2026-10-24T14:50:12.765Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=source_complete connectReason=unknown durationMs=0.2105069999997795 eventFramesWriteSettled=0 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=b26bb1bd-0928-4160-ba61-a1dca37ad418 SSE stream closed
qwen serve: rejected Last-Event-ID "1.5e10z" (not a decimal integer)
2026-10-24T14:50:12.766Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown streamId=bc223861-8eab-4f45-bdf8-6f7c894a59e0 SSE stream opened
2026-10-24T14:50:12.767Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=source_complete connectReason=unknown durationMs=0.30353399999876274 eventFramesWriteSettled=0 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=bc223861-8eab-4f45-bdf8-6f7c894a59e0 SSE stream closed
2026-10-24T14:50:12.768Z [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=12b4353617eb87d2). 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=b9c9ccd100fdf067). Inject deps.fsFactory in createServeApp to wire audit into the EventBus.
[serve] auth.device-flow: provider=qwen-oauth deviceFlowId=1f8db5fa... clientId=- status=started expiresInMs=600000
[serve] auth.device-flow: provider=qwen-oauth deviceFlowId=e1a20079... clientId=- status=started expiresInMs=600000
[serve] auth.device-flow: provider=qwen-oauth deviceFlowId=873911d6... clientId=- status=started expiresInMs=600000
[serve] auth.device-flow: provider=qwen-oauth deviceFlowId=004144c4... clientId=sdk-A status=started expiresInMs=600000
[serve] auth.device-flow: provider=qwen-oauth deviceFlowId=004144c4... clientId=sdk-B status=started hint="take-over (per-provider singleton; original initiator=sdk-A)"
[serve] auth.device-flow: provider=qwen-oauth deviceFlowId=6d6f4e3c... clientId=- status=started expiresInMs=600000
[serve] auth.device-flow: provider=qwen-oauth deviceFlowId=535d8e8e... clientId=- status=started expiresInMs=600000
[serve] auth.device-flow: provider=qwen-oauth deviceFlowId=44b6ef00... clientId=- status=started expiresInMs=600000
[serve] auth.device-flow: provider=qwen-oauth deviceFlowId=44b6ef00... clientId=- status=cancelled
[serve] auth.device-flow: provider=qwen-oauth deviceFlowId=3257dac4... clientId=- status=started expiresInMs=600000
[serve] auth.device-flow: provider=qwen-oauth deviceFlowId=02379b9d... clientId=sdk-A status=started expiresInMs=600000
[serve] auth.device-flow: provider=qwen-oauth deviceFlowId=a3473c5f... clientId=- status=started expiresInMs=600000
[serve] auth.device-flow: provider=qwen-oauth deviceFlowId=088b3d03... 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:13.692Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:13.692Z [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-bw0GkA/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:13.694Z [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:36463 (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=26012 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:13.705Z [INFO] [DAEMON] sessionId=sess-A promptId=50be3e1c-6ada-4fbb-9a1b-76d1d4082205 prompt enqueued
2026-10-24T14:50:13.705Z [INFO] [DAEMON] route=POST /session/sess-A/prompt sessionId=sess-A durationMs=1 status=202 request completed
2026-10-24T14:50:13.906Z [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:14.421Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:14.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/qwen-server-suite-bw0GkA/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:14.423Z [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:43149 (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=26741 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:50:14.434Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown streamId=443be50e-8a95-4faf-9435-b34aa7dc5abb SSE stream opened
2026-10-24T14:50:14.688Z [WARN] [DAEMON] sessionId=sess-A connectReason=unknown idleForMs=252 streamId=443be50e-8a95-4faf-9435-b34aa7dc5abb timeoutMs=200 SSE writer idle timeout
2026-10-24T14:50:14.688Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=writer_idle_timeout connectReason=unknown durationMs=253.95717199999854 eventFramesWriteSettled=1 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=443be50e-8a95-4faf-9435-b34aa7dc5abb terminalEventType=client_evicted SSE stream closed
2026-10-24T14:50:14.690Z [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:14.747Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:14.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-bw0GkA/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:14.749Z [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:34413 (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=27072 runQwenServeToListenMs=58
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:14.765Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown streamId=ddee4a4e-0bb3-409e-a890-734fdac32c9b SSE stream opened
2026-10-24T14:50:15.380Z [INFO] [DAEMON] daemon stopped
2026-10-24T14:50:15.380Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=client_disconnect connectReason=unknown durationMs=615.2796940000007 eventFramesWriteSettled=1 lastEventIdWritten=1 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=ddee4a4e-0bb3-409e-a890-734fdac32c9b 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:15.383Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:15.383Z [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-bw0GkA/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:15.385Z [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:41101 (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=27702 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:15.395Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown streamId=a1651cf0-f15e-4dac-94a7-8ab3bdc1a5ef SSE stream opened
2026-10-24T14:50:16.109Z [INFO] [DAEMON] daemon stopped
2026-10-24T14:50:16.109Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=0 closeReason=client_disconnect connectReason=unknown durationMs=713.8333789999997 eventFramesWriteSettled=5 lastEventIdWritten=5 maxDrainWaitMs=0 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=a1651cf0-f15e-4dac-94a7-8ab3bdc1a5ef 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:16.188Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:50:16.188Z [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-bw0GkA/runtime/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:50:16.190Z [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:44159 (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=28508 runQwenServeToListenMs=79
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:16.223Z [INFO] [DAEMON] sessionId=sess-A connectReason=unknown streamId=bb9d34ab-ea67-421d-a75b-d963f567cd52 SSE stream opened
2026-10-24T14:50:16.586Z [INFO] [DAEMON] daemon stopped
2026-10-24T14:50:16.587Z [INFO] [DAEMON] sessionId=sess-A backpressureCount=1 closeReason=client_disconnect connectReason=unknown durationMs=363.4979960000019 eventFramesWriteSettled=1 lastEventIdWritten=1 maxDrainWaitMs=152.54190399999788 maxLivePublishToWriteSettledMs=0 slowWarningCount=0 streamId=bb9d34ab-ea67-421d-a75b-d963f567cd52 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) 23700ms
✓ createServeApp > GET /workspace/:id/sessions > refreshes after TTL when a file changes after the scan already read it 2059ms
✓ createServeApp > GET /workspace/:id/sessions > reports organized session truncation in the response 1989ms
✓ runQwenServe > starts with --allow-origin '*' when a token is configured 349ms
✓ T2.9 SSE writer idle timeout (issue #4514) > evicts an idle SSE writer with a terminal client_evicted frame 315ms
✓ T2.9 SSE writer idle timeout (issue #4514) > does not evict when the writer idle timeout is unset (legacy contract) 676ms
✓ T2.9 SSE writer idle timeout (issue #4514) > does NOT evict when active writes keep refreshing lastWriteAt (#4514 T2.9 wenshao review) 737ms
✓ T2.9 SSE writer idle timeout (issue #4514) > does NOT evict when a back-pressured write drains within the idle budget 470ms
(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) 35701ms
✓ src/commands/review/compose-review.test.ts (538 tests) 2835ms
✓ composeReview — the composed body fits GitHub's limit > ranks the plan-gate disclosures with the not-reviewed ones, not with the deferral list 301ms
✓ convergence telemetry — volume, carried in the marker > clamps the count at its origin, so every surface agrees 1258ms
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:09.063Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:09.064Z [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:09.105Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-live-task-keepalive-NHykU2/workspace secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:42683 (mode=http-bridge, workspace=/tmp/qws-live-task-keepalive-NHykU2/workspace)
qwen serve: bound to workspace "/tmp/qws-live-task-keepalive-NHykU2/workspace"
qwen serve: startup timing: processToListenMs=3488 runQwenServeToListenMs=130
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:09.238Z [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:09.257Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:09.257Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:09.261Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-skill-settings-uX9F2m secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:35057 (mode=http-bridge, workspace=/tmp/qws-skill-settings-uX9F2m)
qwen serve: bound to workspace "/tmp/qws-skill-settings-uX9F2m"
qwen serve: startup timing: processToListenMs=3585 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:51:09.279Z [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:09.292Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:09.292Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:09.320Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-skill-dual-tT8aWm secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:45783 (mode=http-bridge, workspace=/tmp/qws-skill-dual-tT8aWm)
qwen serve: bound to workspace "/tmp/qws-skill-dual-tT8aWm"
qwen serve: startup timing: processToListenMs=3645 runQwenServeToListenMs=43
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:09.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:51:09.377Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:09.377Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:09.381Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-skill-batch-erPTtr secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:39343 (mode=http-bridge, workspace=/tmp/qws-skill-batch-erPTtr)
qwen serve: bound to workspace "/tmp/qws-skill-batch-erPTtr"
qwen serve: startup timing: processToListenMs=3703 runQwenServeToListenMs=49
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:09.396Z [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:13.496Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:13.496Z [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-oeZWY8/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:51:13.502Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-dl-oeZWY8 secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:43315 (mode=http-bridge, workspace=/tmp/qws-dl-oeZWY8)
qwen serve: bound to workspace "/tmp/qws-dl-oeZWY8"
qwen serve: startup timing: processToListenMs=7833 runQwenServeToListenMs=26
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:13.673Z [WARN] [DAEMON] route=GET /missing-0 durationMs=13 status=404 request completed
2026-10-24T14:51:13.685Z [WARN] [DAEMON] route=GET /missing-1 durationMs=4 status=404 request completed
2026-10-24T14:51:13.687Z [WARN] [DAEMON] route=GET /missing-2 durationMs=1 status=404 request completed
2026-10-24T14:51:13.690Z [WARN] [DAEMON] route=GET /missing-3 durationMs=1 status=404 request completed
2026-10-24T14:51:13.691Z [WARN] [DAEMON] route=GET /missing-4 durationMs=0 status=404 request completed
2026-10-24T14:51:13.692Z [WARN] [DAEMON] route=GET /missing-5 durationMs=0 status=404 request completed
2026-10-24T14:51:13.692Z [WARN] [DAEMON] route=GET /missing-6 durationMs=0 status=404 request completed
2026-10-24T14:51:13.694Z [WARN] [DAEMON] route=GET /missing-7 durationMs=1 status=404 request completed
2026-10-24T14:51:13.694Z [WARN] [DAEMON] route=GET /missing-8 durationMs=0 status=404 request completed
2026-10-24T14:51:13.695Z [WARN] [DAEMON] route=GET /missing-9 durationMs=0 status=404 request completed
2026-10-24T14:51:13.696Z [WARN] [DAEMON] route=GET /missing-10 durationMs=0 status=404 request completed
2026-10-24T14:51:13.697Z [WARN] [DAEMON] route=GET /missing-11 durationMs=0 status=404 request completed
2026-10-24T14:51:13.698Z [WARN] [DAEMON] route=GET /missing-12 durationMs=1 status=404 request completed
2026-10-24T14:51:13.700Z [WARN] [DAEMON] route=GET /missing-13 durationMs=1 status=404 request completed
2026-10-24T14:51:13.702Z [WARN] [DAEMON] route=GET /missing-14 durationMs=0 status=404 request completed
2026-10-24T14:51:13.702Z [WARN] [DAEMON] route=GET /missing-15 durationMs=0 status=404 request completed
2026-10-24T14:51:13.703Z [WARN] [DAEMON] route=GET /missing-16 durationMs=1 status=404 request completed
2026-10-24T14:51:13.704Z [WARN] [DAEMON] route=GET /missing-17 durationMs=0 status=404 request completed
2026-10-24T14:51:13.705Z [WARN] [DAEMON] route=GET /missing-18 durationMs=0 status=404 request completed
2026-10-24T14:51:13.706Z [WARN] [DAEMON] route=GET /missing-19 durationMs=0 status=404 request completed
2026-10-24T14:51:13.706Z [WARN] [DAEMON] route=GET /missing-20 durationMs=0 status=404 request completed
2026-10-24T14:51:13.707Z [WARN] [DAEMON] route=GET /missing-21 durationMs=0 status=404 request completed
2026-10-24T14:51:13.708Z [WARN] [DAEMON] route=GET /missing-22 durationMs=0 status=404 request completed
2026-10-24T14:51:13.709Z [WARN] [DAEMON] route=GET /missing-23 durationMs=0 status=404 request completed
2026-10-24T14:51:13.709Z [WARN] [DAEMON] route=GET /missing-24 durationMs=0 status=404 request completed
2026-10-24T14:51:13.710Z [WARN] [DAEMON] route=GET /missing-25 durationMs=0 status=404 request completed
2026-10-24T14:51:13.711Z [WARN] [DAEMON] route=GET /missing-26 durationMs=1 status=404 request completed
2026-10-24T14:51:13.712Z [WARN] [DAEMON] route=GET /missing-27 durationMs=0 status=404 request completed
2026-10-24T14:51:13.712Z [WARN] [DAEMON] route=GET /missing-28 durationMs=0 status=404 request completed
2026-10-24T14:51:13.713Z [WARN] [DAEMON] route=GET /missing-29 durationMs=0 status=404 request completed
2026-10-24T14:51:13.714Z [WARN] [DAEMON] route=GET /missing-30 durationMs=0 status=404 request completed
2026-10-24T14:51:13.715Z [WARN] [DAEMON] route=GET /missing-31 durationMs=0 status=404 request completed
2026-10-24T14:51:13.716Z [WARN] [DAEMON] route=GET /missing-32 durationMs=0 status=404 request completed
2026-10-24T14:51:13.749Z [WARN] [DAEMON] route=GET /missing-33 durationMs=1 status=404 request completed
2026-10-24T14:51:13.751Z [WARN] [DAEMON] route=GET /missing-34 durationMs=1 status=404 request completed
2026-10-24T14:51:13.752Z [WARN] [DAEMON] route=GET /missing-35 durationMs=0 status=404 request completed
2026-10-24T14:51:13.753Z [WARN] [DAEMON] route=GET /missing-36 durationMs=1 status=404 request completed
2026-10-24T14:51:13.753Z [WARN] [DAEMON] route=GET /missing-37 durationMs=0 status=404 request completed
2026-10-24T14:51:13.755Z [WARN] [DAEMON] route=GET /missing-38 durationMs=0 status=404 request completed
2026-10-24T14:51:13.756Z [WARN] [DAEMON] route=GET /missing-39 durationMs=0 status=404 request completed
2026-10-24T14:51:13.756Z [WARN] [DAEMON] route=GET /missing-40 durationMs=0 status=404 request completed
2026-10-24T14:51:13.757Z [WARN] [DAEMON] route=GET /missing-41 durationMs=0 status=404 request completed
2026-10-24T14:51:13.758Z [WARN] [DAEMON] route=GET /missing-42 durationMs=0 status=404 request completed
2026-10-24T14:51:13.758Z [WARN] [DAEMON] route=GET /missing-43 durationMs=0 status=404 request completed
2026-10-24T14:51:13.759Z [WARN] [DAEMON] route=GET /missing-44 durationMs=0 status=404 request completed
2026-10-24T14:51:13.760Z [WARN] [DAEMON] route=GET /missing-45 durationMs=0 status=404 request completed
2026-10-24T14:51:13.760Z [WARN] [DAEMON] route=GET /missing-46 durationMs=0 status=404 request completed
2026-10-24T14:51:13.761Z [WARN] [DAEMON] route=GET /missing-47 durationMs=0 status=404 request completed
2026-10-24T14:51:13.762Z [WARN] [DAEMON] route=GET /missing-48 durationMs=0 status=404 request completed
2026-10-24T14:51:13.763Z [WARN] [DAEMON] route=GET /missing-49 durationMs=0 status=404 request completed
2026-10-24T14:51:13.763Z [WARN] [DAEMON] route=GET /missing-50 durationMs=0 status=404 request completed
2026-10-24T14:51:13.764Z [WARN] [DAEMON] route=GET /missing-51 durationMs=0 status=404 request completed
2026-10-24T14:51:13.765Z [WARN] [DAEMON] route=GET /missing-52 durationMs=0 status=404 request completed
2026-10-24T14:51:13.766Z [WARN] [DAEMON] route=GET /missing-53 durationMs=0 status=404 request completed
2026-10-24T14:51:13.766Z [WARN] [DAEMON] route=GET /missing-54 durationMs=0 status=404 request completed
2026-10-24T14:51:13.767Z [WARN] [DAEMON] route=GET /missing-55 durationMs=0 status=404 request completed
2026-10-24T14:51:13.768Z [WARN] [DAEMON] route=GET /missing-56 durationMs=0 status=404 request completed
2026-10-24T14:51:13.768Z [WARN] [DAEMON] route=GET /missing-57 durationMs=0 status=404 request completed
2026-10-24T14:51:13.769Z [WARN] [DAEMON] route=GET /missing-58 durationMs=0 status=404 request completed
2026-10-24T14:51:13.770Z [WARN] [DAEMON] route=GET /missing-59 durationMs=0 status=404 request completed
2026-10-24T14:51:13.779Z [WARN] [DAEMON] status2xx=0 status3xx=0 status4xx=10 status5xx=0 statusOther=0 suppressed=10 access logs suppressed
2026-10-24T14:51:13.779Z [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:13.842Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:13.843Z [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-MpQDc0/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-j1okDX"
qwen serve: startup timing: processToListenMs=8158 runQwenServeToListenMs=4
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on http://127.0.0.1:35177 (mode=http-bridge, workspace=/tmp/qws-tv-j1okDX)
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:13.846Z [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:13.873Z [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:13.877Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:13.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-ws-HkTKvS/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:46607 (mode=http-bridge, workspace=/tmp/qws-ws-HkTKvS/primary)
qwen serve: bound to workspace "/tmp/qws-ws-HkTKvS/primary"
qwen serve: startup timing: processToListenMs=8192 runQwenServeToListenMs=4
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:13.880Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-ws-HkTKvS/primary secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:13.906Z [INFO] [DAEMON] route=GET /capabilities durationMs=6 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=280ab3c51b36d9d2). 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=057f3b891bcd6d6b). Inject deps.fsFactory in createServeApp to wire audit into the EventBus.
2026-10-24T14:51:13.998Z [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:14.003Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:14.003Z [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-yyZZ2P/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-injected-fs-yyZZ2P/workspace"
qwen serve: startup timing: processToListenMs=8318 runQwenServeToListenMs=3
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on http://127.0.0.1:36019 (mode=http-bridge, workspace=/tmp/qws-injected-fs-yyZZ2P/workspace)
2026-10-24T14:51:14.008Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-injected-fs-yyZZ2P/workspace secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:14.020Z [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:14.029Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:14.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-voice-capability-EDQlRw/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-voice-capability-EDQlRw/workspace"
qwen serve: startup timing: processToListenMs=8344 runQwenServeToListenMs=4
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on http://127.0.0.1:34197 (mode=http-bridge, workspace=/tmp/qws-voice-capability-EDQlRw/workspace)
2026-10-24T14:51:14.031Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-voice-capability-EDQlRw/workspace secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:14.051Z [INFO] [DAEMON] route=GET /capabilities durationMs=1 status=200 request completed
2026-10-24T14:51:14.057Z [INFO] [DAEMON] route=GET /capabilities durationMs=3 status=200 request completed
2026-10-24T14:51:14.058Z [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:14.065Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:14.066Z [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-tv1Vvu/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:42131 (mode=http-bridge, workspace=/tmp/qws-hot-remove-tv1Vvu/primary)
qwen serve: bound to workspace "/tmp/qws-hot-remove-tv1Vvu/primary"
qwen serve: startup timing: processToListenMs=8380 runQwenServeToListenMs=3
2026-10-24T14:51:14.067Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-hot-remove-tv1Vvu/primary secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:14.090Z [INFO] [DAEMON] route=POST /workspaces durationMs=10 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=e14a12723f0a1346). Inject deps.fsFactory in createServeApp to wire audit into the EventBus.
2026-10-24T14:51:14.095Z [INFO] [DAEMON] route=GET /capabilities durationMs=1 status=200 request completed
2026-10-24T14:51:14.099Z [INFO] [DAEMON] route=DELETE /workspaces/f35c27836472be54 durationMs=3 status=200 request completed
2026-10-24T14:51:14.103Z [INFO] [DAEMON] route=GET /capabilities durationMs=0 status=200 request completed
2026-10-24T14:51:14.107Z [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=3c27640f7bdd5f14). Inject deps.fsFactory in createServeApp to wire audit into the EventBus.
2026-10-24T14:51:14.166Z [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:14.177Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:14.177Z [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-yAuSkL/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:35503 (mode=http-bridge, workspace=/tmp/qws-runtime-failure-yAuSkL/primary)
qwen serve: bound to workspace "/tmp/qws-runtime-failure-yAuSkL/primary"
qwen serve: startup timing: processToListenMs=8492 runQwenServeToListenMs=9
2026-10-24T14:51:14.179Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-failure-yAuSkL/primary secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
qwen serve: POST /workspaces failed for /tmp/qws-runtime-failure-yAuSkL/secondary: workspace service construction failed
2026-10-24T14:51:14.191Z [WARN] [DAEMON] route=POST /workspaces durationMs=2 status=500 request completed
2026-10-24T14:51:14.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, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:14.196Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:14.196Z [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-WDfiZ5/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-ws-WDfiZ5/primary"
qwen serve: startup timing: processToListenMs=8510 runQwenServeToListenMs=2
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on http://127.0.0.1:34255 (mode=http-bridge, workspace=/tmp/qws-ws-WDfiZ5/primary)
2026-10-24T14:51:14.197Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-ws-WDfiZ5/primary secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:14.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, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:14.236Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:14.237Z [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-CwFpW5/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-ws-CwFpW5/primary"
qwen serve: startup timing: processToListenMs=8551 runQwenServeToListenMs=13
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:14.239Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-ws-CwFpW5/primary secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:36631 (mode=http-bridge, workspace=/tmp/qws-ws-CwFpW5/primary)
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:14.249Z [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:14.253Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:14.253Z [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-0CweSb/debug/daemon/daemon.log
2026-10-24T14:51:14.256Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-ws-0CweSb/primary secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:37783 (mode=http-bridge, workspace=/tmp/qws-ws-0CweSb/primary)
qwen serve: bound to workspace "/tmp/qws-ws-0CweSb/primary"
qwen serve: startup timing: processToListenMs=8578 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:14.267Z [INFO] [DAEMON] route=GET /capabilities durationMs=1 status=200 request completed
2026-10-24T14:51:14.269Z [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:14.278Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:14.278Z [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-OTA8hD/debug/daemon/daemon.log
2026-10-24T14:51:14.280Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-tv-OTA8hD secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:35583 (mode=http-bridge, workspace=/tmp/qws-tv-OTA8hD)
qwen serve: bound to workspace "/tmp/qws-tv-OTA8hD"
qwen serve: startup timing: processToListenMs=8602 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:51:14.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, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:14.293Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:14.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-tm-xHCVcf/debug/daemon/daemon.log
2026-10-24T14:51:14.294Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-tm-xHCVcf secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:44003 (mode=http-bridge, workspace=/tmp/qws-tm-xHCVcf)
qwen serve: bound to workspace "/tmp/qws-tm-xHCVcf"
qwen serve: startup timing: processToListenMs=8614 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:14.301Z [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:14.305Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:14.305Z [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-oATSSM/debug/daemon/daemon.log
2026-10-24T14:51:14.305Z [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:14.376Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:14.376Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:39003 (mode=http-bridge, workspace=/tmp/qws-mem-vklYLm)
qwen serve: bound to workspace "/tmp/qws-mem-vklYLm"
qwen serve: startup timing: processToListenMs=8690 runQwenServeToListenMs=20
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:14.377Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-mem-vklYLm 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:14.400Z [INFO] [DAEMON] route=GET /daemon/status durationMs=5 status=200 request completed
2026-10-24T14:51:14.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
qwen serve listening on http://127.0.0.1:36101 (mode=http-bridge, workspace=/tmp/qws-mem-ilVAgB)
2026-10-24T14:51:14.421Z [INFO] [DAEMON] daemon stopped
qwen serve listening on http://127.0.0.1:43717 (mode=http-bridge, workspace=/tmp/qws-mem-DBu1bS)
2026-10-24T14:51:14.435Z [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:14.440Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:14.440Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:34503 (mode=http-bridge, workspace=/tmp/qws-mem-BakV9Y)
qwen serve: bound to workspace "/tmp/qws-mem-BakV9Y"
qwen serve: startup timing: processToListenMs=8758 runQwenServeToListenMs=5
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:14.446Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-mem-BakV9Y secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:14.456Z [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:14.460Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:14.460Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:45005 (mode=http-bridge, workspace=/tmp/qws-mem-SOqQDF)
qwen serve: bound to workspace "/tmp/qws-mem-SOqQDF"
qwen serve: startup timing: processToListenMs=8775 runQwenServeToListenMs=3
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:14.462Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-mem-SOqQDF secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:14.479Z [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:14.482Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:14.483Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:43901 (mode=http-bridge, workspace=/tmp/qws-mem-Zwze1U)
qwen serve: bound to workspace "/tmp/qws-mem-Zwze1U"
qwen serve: startup timing: processToListenMs=8798 runQwenServeToListenMs=4
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:14.485Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-mem-Zwze1U secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:14.495Z [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:14.503Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:14.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-run-serve-tests-MpQDc0/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:46327 (mode=http-bridge, workspace=/tmp/qws-mem-WEMa80/primary)
qwen serve: bound to workspace "/tmp/qws-mem-WEMa80/primary"
qwen serve: startup timing: processToListenMs=8819 runQwenServeToListenMs=8
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:14.509Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-mem-WEMa80/primary secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:14.525Z [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:14.529Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:14.529Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:39499 (mode=http-bridge, workspace=/tmp/qws-mem-yy0CUq)
qwen serve: bound to workspace "/tmp/qws-mem-yy0CUq"
qwen serve: startup timing: processToListenMs=8844 runQwenServeToListenMs=4
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:14.533Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-mem-yy0CUq secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:14.542Z [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:14.579Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:14.579Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:33123 (mode=http-bridge, workspace=/tmp/qws-mem-JEQqj0/primary)
qwen serve: bound to workspace "/tmp/qws-mem-JEQqj0/primary"
qwen serve: startup timing: processToListenMs=8894 runQwenServeToListenMs=32
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:14.585Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-mem-JEQqj0/primary secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:14.594Z [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:14.597Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:14.597Z [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-6ztarH/debug/daemon/daemon.log
2026-10-24T14:51:14.597Z [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:14.602Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:14.602Z [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-s5Odh0/debug/daemon/daemon.log
2026-10-24T14:51:14.602Z [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:14.604Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:14.604Z [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-iZ53Q5/debug/daemon/daemon.log
2026-10-24T14:51:14.605Z [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:14.608Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:14.608Z [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-arXDSr/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:46371 (mode=http-bridge, workspace=/tmp/qws-it-arXDSr)
qwen serve: bound to workspace "/tmp/qws-it-arXDSr"
qwen serve: startup timing: processToListenMs=8922 runQwenServeToListenMs=2
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:14.610Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-it-arXDSr secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:14.639Z [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:14.660Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:14.660Z [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-2nlyl3/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:51:14.662Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-tls-2nlyl3 secondary= daemon workspace roots initialized
2026-10-24T14:51:14.672Z [ERROR] [DAEMON] daemon startup failed
Error: --tls-cert "/tmp/qws-tls-2nlyl3/cert.pem" and --tls-key "/tmp/qws-tls-2nlyl3/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:14.698Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:14.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-MpQDc0/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-tls-zqFJy9"
qwen serve: startup timing: processToListenMs=9014 runQwenServeToListenMs=25
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on https://127.0.0.1:45157 (mode=http-bridge, workspace=/tmp/qws-tls-zqFJy9)
2026-10-24T14:51:14.713Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-tls-zqFJy9 secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: Daemon runtime stopped before mounting.
2026-10-24T14:51:14.731Z [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:14.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, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:14.743Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:14.744Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:14.744Z [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:14.747Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:14.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/qws-run-serve-tests-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:14.747Z [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:14.750Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:14.750Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:14.751Z [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:14.757Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:14.757Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:14.757Z [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:14.760Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:14.760Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:14.760Z [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:14.763Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:14.763Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:14.763Z [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:14.766Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:14.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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:14.767Z [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:14.769Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:14.769Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:14.769Z [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:14.772Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:14.772Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:14.772Z [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:14.784Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:14.785Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:14.785Z [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:14.790Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:14.790Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:14.791Z [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:14.833Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:14.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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:14.833Z [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:14.847Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:14.848Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:14.859Z [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:14.866Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:14.866Z [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-8uQhe4/debug/daemon/daemon.log
2026-10-24T14:51:14.866Z [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:14.869Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:14.869Z [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-sP27iI/debug/daemon/daemon.log
2026-10-24T14:51:14.869Z [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:14.878Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:14.879Z [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-6y0h7E/debug/daemon/daemon.log
2026-10-24T14:51:14.879Z [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:14.882Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:14.882Z [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-ApNckn/debug/daemon/daemon.log
2026-10-24T14:51:14.882Z [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:14.887Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:14.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-rt-tUqAgs/debug/daemon/daemon.log
2026-10-24T14:51:14.888Z [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:14.891Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:14.891Z [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-10I0eD/debug/daemon/daemon.log
2026-10-24T14:51:14.891Z [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:14.898Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:14.898Z [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-83drFa/debug/daemon/daemon.log
2026-10-24T14:51:14.898Z [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:14.906Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:14.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-rt-DrX479/debug/daemon/daemon.log
2026-10-24T14:51:14.906Z [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:14.912Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:14.912Z [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-0MkGJs/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:51:14.914Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-rt-0MkGJs secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:36057 (mode=http-bridge, workspace=/tmp/qws-rt-0MkGJs)
qwen serve: bound to workspace "/tmp/qws-rt-0MkGJs"
qwen serve: startup timing: processToListenMs=9236 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:51:14.923Z [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:14.925Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:14.926Z [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-igdkMw/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:51:14.927Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-rt-igdkMw secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:39147 (mode=http-bridge, workspace=/tmp/qws-rt-igdkMw)
qwen serve: bound to workspace "/tmp/qws-rt-igdkMw"
qwen serve: startup timing: processToListenMs=9248 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:14.934Z [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:14.938Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:14.938Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-runtime-trust-race-7GFq3e"
qwen serve: startup timing: processToListenMs=9253 runQwenServeToListenMs=4
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:14.941Z [WARN] [DAEMON] workspace=/tmp/qws-runtime-trust-race-7GFq3e workspace file writes are disabled because the bound workspace is not trusted
qwen serve listening on http://127.0.0.1:34913 (mode=http-bridge, workspace=/tmp/qws-runtime-trust-race-7GFq3e)
2026-10-24T14:51:14.941Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-trust-race-7GFq3e secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:14.950Z [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:14.955Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:14.955Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-runtime-trust-blocked-wedLS1"
qwen serve: startup timing: processToListenMs=9269 runQwenServeToListenMs=3
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:14.957Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-trust-blocked-wedLS1 secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:34275 (mode=http-bridge, workspace=/tmp/qws-runtime-trust-blocked-wedLS1)
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:14.967Z [ERROR] [DAEMON] workspace trust reconciliation failed for /tmp/qws-runtime-trust-blocked-wedLS1
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:15.017Z [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:15.032Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:15.032Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-runtime-acp-cleanup-e7zlLj"
qwen serve: startup timing: processToListenMs=9347 runQwenServeToListenMs=11
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:15.034Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-acp-cleanup-e7zlLj secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:35467 (mode=http-bridge, workspace=/tmp/qws-runtime-acp-cleanup-e7zlLj)
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:15.042Z [ERROR] [DAEMON] workspace trust reconciliation failed for /tmp/qws-runtime-acp-cleanup-e7zlLj
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:15.093Z [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:15.118Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:15.118Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-runtime-fail-d2XvOE"
qwen serve: startup timing: processToListenMs=9433 runQwenServeToListenMs=22
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:15.120Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-fail-d2XvOE secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-10-24T14:51:15.121Z [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:15.121Z [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 listening on http://127.0.0.1:33611 (mode=http-bridge, workspace=/tmp/qws-runtime-fail-d2XvOE)
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:15.127Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:15.127Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-runtime-fail-close-mfaeDS"
qwen serve: startup timing: processToListenMs=9441 runQwenServeToListenMs=3
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:15.129Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-fail-close-mfaeDS secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-10-24T14:51:15.129Z [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:15.130Z [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 listening on http://127.0.0.1:40579 (mode=http-bridge, workspace=/tmp/qws-runtime-fail-close-mfaeDS)
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:15.143Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:15.143Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:41471 (mode=http-bridge, workspace=/tmp/qws-runtime-fail-rPldk7)
qwen serve: bound to workspace "/tmp/qws-runtime-fail-rPldk7"
qwen serve: startup timing: processToListenMs=9458 runQwenServeToListenMs=10
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:15.146Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-fail-rPldk7 secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-10-24T14:51:15.146Z [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:15.150Z [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:15.178Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:15.178Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-runtime-fail-gIl0sZ"
qwen serve: startup timing: processToListenMs=9493 runQwenServeToListenMs=27
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:15.181Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-fail-gIl0sZ secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-10-24T14:51:15.181Z [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)
qwen serve listening on http://127.0.0.1:32915 (mode=http-bridge, workspace=/tmp/qws-runtime-fail-gIl0sZ)
2026-10-24T14:51:15.184Z [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:15.191Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:15.191Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:43627 (mode=http-bridge, workspace=/tmp/qws-runtime-fail-63Ncje)
qwen serve: bound to workspace "/tmp/qws-runtime-fail-63Ncje"
qwen serve: startup timing: processToListenMs=9506 runQwenServeToListenMs=3
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:15.193Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-fail-63Ncje secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-10-24T14:51:15.193Z [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:15.196Z [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:15.219Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:15.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-run-serve-tests-MpQDc0/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-runtime-fail-u5pOqn"
qwen serve: startup timing: processToListenMs=9534 runQwenServeToListenMs=22
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:15.222Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-fail-u5pOqn secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-10-24T14:51:15.223Z [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)
qwen serve listening on http://127.0.0.1:35353 (mode=http-bridge, workspace=/tmp/qws-runtime-fail-u5pOqn)
2026-10-24T14:51:15.225Z [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:15.232Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:15.232Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-runtime-fail-AyuIRH"
qwen serve: startup timing: processToListenMs=9547 runQwenServeToListenMs=5
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:15.234Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-fail-AyuIRH secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-10-24T14:51:15.235Z [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)
qwen serve listening on http://127.0.0.1:43313 (mode=http-bridge, workspace=/tmp/qws-runtime-fail-AyuIRH)
2026-10-24T14:51:15.238Z [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:15.246Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:15.246Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-runtime-fail-XTQAQk"
qwen serve: startup timing: processToListenMs=9561 runQwenServeToListenMs=5
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.
qwen serve listening on http://127.0.0.1:35379 (mode=http-bridge, workspace=/tmp/qws-runtime-fail-XTQAQk)
2026-10-24T14:51:15.249Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-fail-XTQAQk secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-10-24T14:51:15.249Z [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:15.253Z [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:15.259Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:15.259Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-runtime-fail-cpciIr"
qwen serve: startup timing: processToListenMs=9574 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.
qwen serve listening on http://127.0.0.1:41505 (mode=http-bridge, workspace=/tmp/qws-runtime-fail-cpciIr)
2026-10-24T14:51:15.261Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-fail-cpciIr secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-10-24T14:51:15.261Z [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:15.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: --allow-origin: chrome-extension://qwen-test-extension
2026-10-24T14:51:15.270Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:15.270Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-runtime-fail-P5BcX4"
qwen serve: startup timing: processToListenMs=9585 runQwenServeToListenMs=4
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on http://127.0.0.1:36661 (mode=http-bridge, workspace=/tmp/qws-runtime-fail-P5BcX4)
2026-10-24T14:51:15.272Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-fail-P5BcX4 secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-10-24T14:51:15.273Z [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:15.275Z [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:15.281Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:15.281Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-runtime-fail-OHDoDD"
qwen serve: startup timing: processToListenMs=9596 runQwenServeToListenMs=3
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:15.283Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-fail-OHDoDD secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-10-24T14:51:15.283Z [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)
qwen serve listening on http://127.0.0.1:44719 (mode=http-bridge, workspace=/tmp/qws-runtime-fail-OHDoDD)
2026-10-24T14:51:15.285Z [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:15.290Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:15.290Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-runtime-fail-09PdmL"
qwen serve: startup timing: processToListenMs=9605 runQwenServeToListenMs=3
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on http://127.0.0.1:35483 (mode=http-bridge, workspace=/tmp/qws-runtime-fail-09PdmL)
2026-10-24T14:51:15.293Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-fail-09PdmL secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-10-24T14:51:15.293Z [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:15.297Z [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:15.308Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:15.308Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:46667 (mode=http-bridge, workspace=/tmp/qws-runtime-child-env-OAYtTZ)
qwen serve: bound to workspace "/tmp/qws-runtime-child-env-OAYtTZ"
qwen serve: startup timing: processToListenMs=9623 runQwenServeToListenMs=8
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:15.312Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-child-env-OAYtTZ secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:15.334Z [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:15.359Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:15.359Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve: required external tool guard handshake succeeded.
qwen serve: bound to workspace "/tmp/qws-guard-provider-Ro1dlC"
qwen serve: startup timing: processToListenMs=9677 runQwenServeToListenMs=27
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on http://127.0.0.1:39471 (mode=http-bridge, workspace=/tmp/qws-guard-provider-Ro1dlC)
2026-10-24T14:51:15.365Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-guard-provider-Ro1dlC secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:15.382Z [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:15.389Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:15.389Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-memory-project-scope-EXGYuD/primary"
qwen serve: startup timing: processToListenMs=9704 runQwenServeToListenMs=4
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on http://127.0.0.1:43521 (mode=http-bridge, workspace=/tmp/qws-memory-project-scope-EXGYuD/primary)
2026-10-24T14:51:15.391Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-memory-project-scope-EXGYuD/primary secondary= daemon workspace roots initialized
2026-10-24T14:51:15.394Z [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:15.399Z [INFO] [DAEMON] projectMemoryScope=git-root projectMemoryScopeRaw=git-root projectMemoryScopeSource=option project memory scope resolved
2026-10-24T14:51:15.399Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-memory-project-scope-aP4XlR/primary"
qwen serve: startup timing: processToListenMs=9714 runQwenServeToListenMs=2
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on http://127.0.0.1:41475 (mode=http-bridge, workspace=/tmp/qws-memory-project-scope-aP4XlR/primary)
2026-10-24T14:51:15.401Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-memory-project-scope-aP4XlR/primary secondary= daemon workspace roots initialized
2026-10-24T14:51:15.403Z [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:15.407Z [INFO] [DAEMON] projectMemoryScope=git-root projectMemoryScopeRaw=git-root projectMemoryScopeSource=environment project memory scope resolved
2026-10-24T14:51:15.407Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:46589 (mode=http-bridge, workspace=/tmp/qws-memory-project-scope-YFV0zZ/primary)
qwen serve: bound to workspace "/tmp/qws-memory-project-scope-YFV0zZ/primary"
qwen serve: startup timing: processToListenMs=9722 runQwenServeToListenMs=2
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:15.409Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-memory-project-scope-YFV0zZ/primary secondary= daemon workspace roots initialized
2026-10-24T14:51:15.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, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:15.424Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:15.424Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-memory-project-scope-nWNVwT/primary"
qwen serve: startup timing: processToListenMs=9739 runQwenServeToListenMs=13
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:15.431Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-memory-project-scope-nWNVwT/primary secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:42145 (mode=http-bridge, workspace=/tmp/qws-memory-project-scope-nWNVwT/primary)
2026-10-24T14:51:15.435Z [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:15.450Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:15.450Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:40883 (mode=http-bridge, workspace=/tmp/qws-memory-project-scope-Q5LRhJ/primary)
qwen serve: bound to workspace "/tmp/qws-memory-project-scope-Q5LRhJ/primary"
qwen serve: startup timing: processToListenMs=9765 runQwenServeToListenMs=13
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:15.452Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-memory-project-scope-Q5LRhJ/primary secondary= daemon workspace roots initialized
2026-10-24T14:51:15.454Z [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:15.499Z [INFO] [DAEMON] projectMemoryScope=git-root projectMemoryScopeRaw=workspce projectMemoryScopeSource=environment project memory scope resolved
2026-10-24T14:51:15.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-run-serve-tests-MpQDc0/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:39799 (mode=http-bridge, workspace=/tmp/qws-memory-project-scope-4JDXcI/primary)
qwen serve: bound to workspace "/tmp/qws-memory-project-scope-4JDXcI/primary"
qwen serve: startup timing: processToListenMs=9814 runQwenServeToListenMs=33
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:15.508Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-memory-project-scope-4JDXcI/primary secondary= daemon workspace roots initialized
2026-10-24T14:51:15.512Z [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:15.520Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:15.521Z [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-SR6LAw/debug/daemon/daemon.log
2026-10-24T14:51:15.522Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-env-reload-SR6LAw secondary= daemon workspace roots initialized
qwen serve: bound to workspace "/tmp/qws-runtime-env-reload-SR6LAw"
qwen serve: startup timing: processToListenMs=9837 runQwenServeToListenMs=6
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on http://127.0.0.1:38675 (mode=http-bridge, workspace=/tmp/qws-runtime-env-reload-SR6LAw)
qwen serve: reload failed: bridge.invokeWorkspaceCommand is not a function
2026-10-24T14:51:15.525Z [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:15.542Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:15.542Z [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-sWpw1G/debug/daemon/daemon.log
2026-10-24T14:51:15.543Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-env-fallback-sWpw1G secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:43567 (mode=http-bridge, workspace=/tmp/qws-runtime-env-fallback-sWpw1G)
qwen serve: bound to workspace "/tmp/qws-runtime-env-fallback-sWpw1G"
qwen serve: startup timing: processToListenMs=9858 runQwenServeToListenMs=12
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:15.544Z [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:15.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:15.555Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:15.555Z [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: bound to workspace "/tmp/qws-secondary-env-reload-6ejPx5/primary"
qwen serve: startup timing: processToListenMs=9870 runQwenServeToListenMs=8
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on http://127.0.0.1:42499 (mode=http-bridge, workspace=/tmp/qws-secondary-env-reload-6ejPx5/primary)
2026-10-24T14:51:15.557Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-secondary-env-reload-6ejPx5/primary secondary= daemon workspace roots initialized
qwen serve: reload failed: secondaryBridge.invokeWorkspaceCommand is not a function
2026-10-24T14:51:15.560Z [INFO] [DAEMON] daemon stopped
qwen serve listening on http://127.0.0.1:42849 (mode=http-bridge, workspace=/tmp/qws-restored-workspace-YOpQoQ/primary)
qwen serve listening on http://127.0.0.1:43565 (mode=http-bridge, workspace=/tmp/qws-restored-read-error-ywVQsR/primary)
qwen serve listening on http://127.0.0.1:36483 (mode=http-bridge, workspace=/tmp/qws-restored-limit-Cn9BXV/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:15.624Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:15.625Z [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-On3wr9/debug/daemon/daemon.log
2026-10-24T14:51:15.626Z [WARN] [DAEMON] workspace=/tmp/qws-runtime-roots-On3wr9/untrusted-secondary excluding untrusted secondary workspace root from file-system access
2026-10-24T14:51:15.626Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-roots-On3wr9/primary secondary=/tmp/qws-runtime-roots-On3wr9/trusted-secondary daemon workspace roots initialized
qwen serve: bound to workspace "/tmp/qws-runtime-roots-On3wr9/primary"
qwen serve: startup timing: processToListenMs=9941 runQwenServeToListenMs=9
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:15.627Z [INFO] [DAEMON] daemon stopped
qwen serve listening on http://127.0.0.1:40117 (mode=http-bridge, workspace=/tmp/qws-runtime-roots-On3wr9/primary)
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:15.641Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:15.641Z [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-EXRg6D/debug/daemon/daemon.log
2026-10-24T14:51:15.643Z [WARN] [DAEMON] workspace=/tmp/qws-runtime-roots-EXRg6D/parent excluding untrusted secondary workspace root from file-system access
2026-10-24T14:51:15.643Z [INFO] [DAEMON] ideEnvPresent=true primary=/tmp/qws-runtime-roots-EXRg6D/primary secondary=/tmp/qws-runtime-roots-EXRg6D/parent/trusted-child daemon workspace roots initialized
qwen serve: bound to workspace "/tmp/qws-runtime-roots-EXRg6D/primary"
qwen serve: startup timing: processToListenMs=9958 runQwenServeToListenMs=12
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:15.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, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:15.651Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:15.651Z [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-d40rXf/debug/daemon/daemon.log
2026-10-24T14:51:15.652Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-roots-d40rXf/primary secondary=/tmp/qws-runtime-roots-d40rXf/secondary daemon workspace roots initialized
qwen serve: bound to workspace "/tmp/qws-runtime-roots-d40rXf/primary"
qwen serve: startup timing: processToListenMs=9967 runQwenServeToListenMs=5
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:15.653Z [INFO] [DAEMON] daemon stopped
qwen serve listening on http://127.0.0.1:32973 (mode=http-bridge, workspace=/tmp/qws-runtime-roots-EXRg6D/primary)
qwen serve listening on http://127.0.0.1:37461 (mode=http-bridge, workspace=/tmp/qws-runtime-roots-d40rXf/primary)
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:15.659Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:15.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/qws-runtime-roots-pG4pk2/debug/daemon/daemon.log
qwen serve: could not read full settings for runtime startup (settings unavailable); falling back to defaults.
2026-10-24T14:51:15.660Z [WARN] [DAEMON] workspace=/tmp/qws-runtime-roots-pG4pk2/secondary excluding untrusted secondary workspace root from file-system access
2026-10-24T14:51:15.660Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-roots-pG4pk2/primary secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:39661 (mode=http-bridge, workspace=/tmp/qws-runtime-roots-pG4pk2/primary)
qwen serve: bound to workspace "/tmp/qws-runtime-roots-pG4pk2/primary"
qwen serve: startup timing: processToListenMs=9975 runQwenServeToListenMs=3
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:15.661Z [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:15.666Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:15.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/qws-run-serve-tests-MpQDc0/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-runtime-fail-vJuFwc"
qwen serve: startup timing: processToListenMs=9981 runQwenServeToListenMs=2
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on http://127.0.0.1:35187 (mode=http-bridge, workspace=/tmp/qws-runtime-fail-vJuFwc)
2026-10-24T14:51:15.668Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-fail-vJuFwc secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-10-24T14:51:15.669Z [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:15.671Z [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:15.696Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:15.696Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-runtime-starting-route-voY7iU"
qwen serve: startup timing: processToListenMs=10011 runQwenServeToListenMs=2
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on http://127.0.0.1:32909 (mode=http-bridge, workspace=/tmp/qws-runtime-starting-route-voY7iU)
2026-10-24T14:51:15.701Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-starting-route-voY7iU secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: Daemon runtime stopped before mounting.
2026-10-24T14:51:15.708Z [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:15.709Z [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:15.734Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:15.734Z [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-gl4Wh9/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-runtime-starting-caps-gl4Wh9/primary"
qwen serve: startup timing: processToListenMs=10049 runQwenServeToListenMs=22
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on http://127.0.0.1:39019 (mode=http-bridge, workspace=/tmp/qws-runtime-starting-caps-gl4Wh9/primary)
2026-10-24T14:51:15.737Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-starting-caps-gl4Wh9/primary secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:15.747Z [INFO] [DAEMON] route=GET /capabilities durationMs=1 status=200 request completed
2026-10-24T14:51:15.747Z [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:15.752Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:15.752Z [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-qdSlk2/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-health-first-qdSlk2"
qwen serve: startup timing: processToListenMs=10067 runQwenServeToListenMs=2
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:15.753Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
qwen serve listening on http://127.0.0.1:43533 (mode=http-bridge, workspace=/tmp/qws-health-first-qdSlk2)
2026-10-24T14:51:16.007Z [INFO] [DAEMON] deferred runtime: health served, scheduling start in 50ms
2026-10-24T14:51:16.065Z [INFO] [DAEMON] deferred runtime: health timer fired, starting
2026-10-24T14:51:16.067Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-health-first-qdSlk2 secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:16.118Z [INFO] [DAEMON] route=GET /capabilities durationMs=1 status=200 request completed
2026-10-24T14:51:16.119Z [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:16.150Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:16.150Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-health-deep-first-7SEz5g"
qwen serve: startup timing: processToListenMs=10465 runQwenServeToListenMs=28
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:16.152Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
qwen serve listening on http://127.0.0.1:38207 (mode=http-bridge, workspace=/tmp/qws-health-deep-first-7SEz5g)
2026-10-24T14:51:16.154Z [INFO] [DAEMON] deferred runtime: health served, scheduling start in 50ms
2026-10-24T14:51:16.204Z [INFO] [DAEMON] deferred runtime: health timer fired, starting
2026-10-24T14:51:16.206Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-health-deep-first-7SEz5g secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:16.260Z [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:16.274Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:16.274Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:42739 (mode=http-bridge, workspace=/tmp/qws-health-dedupe-E1e8f3)
qwen serve: bound to workspace "/tmp/qws-health-dedupe-E1e8f3"
qwen serve: startup timing: processToListenMs=10589 runQwenServeToListenMs=5
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:16.275Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-10-24T14:51:16.277Z [INFO] [DAEMON] deferred runtime: health served, scheduling start in 50ms
2026-10-24T14:51:16.327Z [INFO] [DAEMON] deferred runtime: health timer fired, starting
2026-10-24T14:51:16.332Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-health-dedupe-E1e8f3 secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:16.482Z [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:16.490Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:16.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-run-serve-tests-MpQDc0/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:46477 (mode=http-bridge, workspace=/tmp/qws-runtime-route-start-7qlO9J)
qwen serve: bound to workspace "/tmp/qws-runtime-route-start-7qlO9J"
qwen serve: startup timing: processToListenMs=10805 runQwenServeToListenMs=3
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:16.491Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-10-24T14:51:16.544Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-route-start-7qlO9J secondary= daemon workspace roots initialized
2026-10-24T14:51:16.547Z [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:16.559Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:16.559Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:36031 (mode=http-bridge, workspace=/tmp/qws-runtime-route-auth-a3pH4v)
qwen serve: bound to workspace "/tmp/qws-runtime-route-auth-a3pH4v"
qwen serve: startup timing: processToListenMs=10874 runQwenServeToListenMs=4
2026-10-24T14:51:16.560Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-10-24T14:51:16.565Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-route-auth-a3pH4v secondary= daemon workspace roots initialized
2026-10-24T14:51:16.569Z [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:16.597Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:16.597Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /tmp/qws-deferred-webshell-FyBXJZ/web-shell
qwen serve: bound to workspace "/tmp/qws-deferred-webshell-FyBXJZ"
qwen serve: startup timing: processToListenMs=10912 runQwenServeToListenMs=23
2026-10-24T14:51:16.598Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
qwen serve listening on http://127.0.0.1:39199 (mode=http-bridge, workspace=/tmp/qws-deferred-webshell-FyBXJZ)
2026-10-24T14:51:16.601Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-deferred-webshell-FyBXJZ secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:16.618Z [INFO] [DAEMON] route=HEAD /session/abc sessionId=abc durationMs=2 status=200 request completed
2026-10-24T14:51:16.628Z [INFO] [DAEMON] route=GET /session/abc sessionId=abc durationMs=8 status=200 request completed
2026-10-24T14:51:16.630Z [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:16.661Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:16.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/qws-run-serve-tests-MpQDc0/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /tmp/qws-deferred-root-TWrUDs/web-shell
qwen serve: bound to workspace "/tmp/qws-deferred-root-TWrUDs"
qwen serve: startup timing: processToListenMs=10976 runQwenServeToListenMs=27
2026-10-24T14:51:16.662Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
qwen serve listening on http://127.0.0.1:33205 (mode=http-bridge, workspace=/tmp/qws-deferred-root-TWrUDs)
2026-10-24T14:51:16.666Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-deferred-root-TWrUDs secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:16.695Z [INFO] [DAEMON] route=GET / durationMs=17 status=200 request completed
2026-10-24T14:51:16.696Z [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:16.739Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:16.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 → /tmp/qws-run-serve-tests-MpQDc0/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /tmp/qws-deferred-root-alias-VO04Uy/web-shell
qwen serve: bound to workspace "/tmp/qws-deferred-root-alias-VO04Uy"
qwen serve: startup timing: processToListenMs=11054 runQwenServeToListenMs=34
2026-10-24T14:51:16.740Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
qwen serve listening on http://127.0.0.1:39881 (mode=http-bridge, workspace=/tmp/qws-deferred-root-alias-VO04Uy)
2026-10-24T14:51:16.743Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-deferred-root-alias-VO04Uy secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:16.767Z [INFO] [DAEMON] route=GET // durationMs=13 status=200 request completed
2026-10-24T14:51:16.769Z [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:16.823Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:16.823Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /tmp/qws-deferred-predicate-fail-Pu431J/web-shell
qwen serve: bound to workspace "/tmp/qws-deferred-predicate-fail-Pu431J"
qwen serve: startup timing: processToListenMs=11138 runQwenServeToListenMs=46
qwen serve listening on http://127.0.0.1:33447 (mode=http-bridge, workspace=/tmp/qws-deferred-predicate-fail-Pu431J)
2026-10-24T14:51:16.824Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-10-24T14:51:16.828Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-deferred-predicate-fail-Pu431J secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:16.834Z [INFO] [DAEMON] route=GET /session/abc sessionId=abc durationMs=1 status=200 request completed
2026-10-24T14:51:16.835Z [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:16.861Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:16.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-MpQDc0/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /tmp/qws-deferred-assets-tuOoMR/web-shell
qwen serve listening on http://127.0.0.1:38581 (mode=http-bridge, workspace=/tmp/qws-deferred-assets-tuOoMR)
qwen serve: bound to workspace "/tmp/qws-deferred-assets-tuOoMR"
qwen serve: startup timing: processToListenMs=11176 runQwenServeToListenMs=14
2026-10-24T14:51:16.862Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-10-24T14:51:16.865Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-deferred-assets-tuOoMR secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:16.881Z [INFO] [DAEMON] route=GET /assets/fixture.js durationMs=7 status=200 request completed
2026-10-24T14:51:16.883Z [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:16.942Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:16.942Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /tmp/qws-deferred-assets-bare-JG8wDF/web-shell
qwen serve: bound to workspace "/tmp/qws-deferred-assets-bare-JG8wDF"
qwen serve: startup timing: processToListenMs=11256 runQwenServeToListenMs=51
2026-10-24T14:51:16.943Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
qwen serve listening on http://127.0.0.1:33483 (mode=http-bridge, workspace=/tmp/qws-deferred-assets-bare-JG8wDF)
2026-10-24T14:51:16.946Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-deferred-assets-bare-JG8wDF secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:16.954Z [INFO] [DAEMON] route=GET /assets durationMs=1 status=301 request completed
2026-10-24T14:51:16.955Z [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:16.968Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:16.968Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /tmp/qws-deferred-shapes-m5dWv6/web-shell
qwen serve: bound to workspace "/tmp/qws-deferred-shapes-m5dWv6"
qwen serve: startup timing: processToListenMs=11283 runQwenServeToListenMs=7
2026-10-24T14:51:16.969Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-10-24T14:51:16.972Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-deferred-shapes-m5dWv6 secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:46163 (mode=http-bridge, workspace=/tmp/qws-deferred-shapes-m5dWv6)
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:16.979Z [INFO] [DAEMON] route=GET /Session/abc/ durationMs=1 status=200 request completed
2026-10-24T14:51:16.981Z [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:16.988Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:16.988Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /tmp/qws-deferred-query-aZuWB4/web-shell
qwen serve listening on http://127.0.0.1:41801 (mode=http-bridge, workspace=/tmp/qws-deferred-query-aZuWB4)
qwen serve: bound to workspace "/tmp/qws-deferred-query-aZuWB4"
qwen serve: startup timing: processToListenMs=11303 runQwenServeToListenMs=4
2026-10-24T14:51:16.989Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-10-24T14:51:16.993Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-deferred-query-aZuWB4 secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:17.004Z [INFO] [DAEMON] route=GET /session/abc/ sessionId=abc durationMs=1 status=200 request completed
2026-10-24T14:51:17.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:51:17.017Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:17.017Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /tmp/qws-deferred-webshell-gate-ICGhUe/web-shell
qwen serve listening on http://127.0.0.1:36015 (mode=http-bridge, workspace=/tmp/qws-deferred-webshell-gate-ICGhUe)
qwen serve: bound to workspace "/tmp/qws-deferred-webshell-gate-ICGhUe"
qwen serve: startup timing: processToListenMs=11332 runQwenServeToListenMs=8
2026-10-24T14:51:17.018Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-10-24T14:51:17.022Z [INFO] [DAEMON] deferred runtime: cancelled, server closed before startup
2026-10-24T14:51:17.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:51:17.038Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:17.038Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-deferred-noweb-Akc10B"
qwen serve: startup timing: processToListenMs=11353 runQwenServeToListenMs=12
2026-10-24T14:51:17.039Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
qwen serve listening on http://127.0.0.1:45407 (mode=http-bridge, workspace=/tmp/qws-deferred-noweb-Akc10B)
2026-10-24T14:51:17.041Z [INFO] [DAEMON] deferred runtime: cancelled, server closed before startup
2026-10-24T14:51:17.041Z [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:17.054Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:17.054Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /tmp/qws-deferred-webshell-fail-R1Rrui/web-shell
qwen serve: bound to workspace "/tmp/qws-deferred-webshell-fail-R1Rrui"
qwen serve: startup timing: processToListenMs=11369 runQwenServeToListenMs=8
2026-10-24T14:51:17.055Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-10-24T14:51:17.058Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-deferred-webshell-fail-R1Rrui secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-10-24T14:51:17.058Z [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:17.062Z [INFO] [DAEMON] daemon stopped
qwen serve listening on http://127.0.0.1:35431 (mode=http-bridge, workspace=/tmp/qws-deferred-webshell-fail-R1Rrui)
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:17.101Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:17.101Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:42373 (mode=http-bridge, workspace=/tmp/qws-runtime-webhook-start-fjkRDP)
qwen serve: bound to workspace "/tmp/qws-runtime-webhook-start-fjkRDP"
qwen serve: startup timing: processToListenMs=11416 runQwenServeToListenMs=29
2026-10-24T14:51:17.104Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-10-24T14:51:17.109Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-webhook-start-fjkRDP secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:17.120Z [INFO] [DAEMON] channelName=dingtalk-main eventType=ci_failed source="github ci" targetRef=default channel webhook task accepted
2026-10-24T14:51:17.121Z [INFO] [DAEMON] route=POST /channels/dingtalk-main/webhooks/github%20ci durationMs=1 status=202 request completed
2026-10-24T14:51:17.128Z [INFO] [DAEMON] daemon stopped
qwen serve listening on http://127.0.0.1:34385 (mode=http-bridge, workspace=/tmp/qws-runtime-webhook-auth-3lTUf3)
qwen serve listening on http://127.0.0.1:43429 (mode=http-bridge, workspace=/tmp/qws-runtime-webhook-log-CYvnky)
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:17.183Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:17.183Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-runtime-preflight-94hj2R"
qwen serve: startup timing: processToListenMs=11498 runQwenServeToListenMs=10
2026-10-24T14:51:17.184Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
qwen serve listening on http://127.0.0.1:40897 (mode=http-bridge, workspace=/tmp/qws-runtime-preflight-94hj2R)
2026-10-24T14:51:17.186Z [INFO] [DAEMON] deferred runtime: cancelled, server closed before startup
2026-10-24T14:51:17.186Z [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:17.205Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:17.205Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:32853 (mode=http-bridge, workspace=/tmp/qws-bootstrap-method-y8PwJe)
qwen serve: bound to workspace "/tmp/qws-bootstrap-method-y8PwJe"
qwen serve: startup timing: processToListenMs=11520 runQwenServeToListenMs=14
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:17.206Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-10-24T14:51:17.209Z [INFO] [DAEMON] deferred runtime: cancelled, server closed before startup
2026-10-24T14:51:17.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, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:17.219Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:17.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-run-serve-tests-MpQDc0/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-bootstrap-trailing-vfkm5n"
qwen serve: startup timing: processToListenMs=11533 runQwenServeToListenMs=5
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:17.220Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-10-24T14:51:17.221Z [INFO] [DAEMON] deferred runtime: health served, scheduling start in 50ms
2026-10-24T14:51:17.222Z [INFO] [DAEMON] deferred runtime: cancelled, server closed before startup
2026-10-24T14:51:17.222Z [INFO] [DAEMON] daemon stopped
qwen serve listening on http://127.0.0.1:40555 (mode=http-bridge, workspace=/tmp/qws-bootstrap-trailing-vfkm5n)
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:17.229Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:17.229Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-runtime-route-fail-m0iiYi"
qwen serve: startup timing: processToListenMs=11544 runQwenServeToListenMs=3
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:17.230Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
qwen serve listening on http://127.0.0.1:43859 (mode=http-bridge, workspace=/tmp/qws-runtime-route-fail-m0iiYi)
2026-10-24T14:51:17.233Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-route-fail-m0iiYi secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-10-24T14:51:17.234Z [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:17.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, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:17.255Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:17.255Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-health-fallback-WlJMbF"
qwen serve: startup timing: processToListenMs=11569 runQwenServeToListenMs=15
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:17.256Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
qwen serve listening on http://127.0.0.1:37221 (mode=http-bridge, workspace=/tmp/qws-health-fallback-WlJMbF)
2026-10-24T14:51:18.256Z [INFO] [DAEMON] deferred runtime: fallback timer fired, starting
2026-10-24T14:51:18.258Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-health-fallback-WlJMbF secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:18.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
2026-10-24T14:51:18.274Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:18.274Z [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-Z6l7gh/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:39307 (mode=http-bridge, workspace=/tmp/qws-health-close-Z6l7gh)
qwen serve: bound to workspace "/tmp/qws-health-close-Z6l7gh"
qwen serve: startup timing: processToListenMs=12589 runQwenServeToListenMs=6
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:18.275Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-10-24T14:51:18.275Z [INFO] [DAEMON] deferred runtime: cancelled, server closed before startup
2026-10-24T14:51:18.275Z [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:19.385Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:19.385Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:36727 (mode=http-bridge, workspace=/tmp/qws-health-close-after-wz2AYt)
qwen serve: bound to workspace "/tmp/qws-health-close-after-wz2AYt"
qwen serve: startup timing: processToListenMs=13700 runQwenServeToListenMs=4
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:19.386Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-10-24T14:51:19.388Z [INFO] [DAEMON] deferred runtime: health served, scheduling start in 50ms
2026-10-24T14:51:19.388Z [INFO] [DAEMON] deferred runtime: cancelled, server closed before startup
2026-10-24T14:51:19.388Z [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:19.500Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:19.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-run-serve-tests-MpQDc0/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-health-reconciler-close-ZF9fIr"
qwen serve: startup timing: processToListenMs=13815 runQwenServeToListenMs=5
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on http://127.0.0.1:35515 (mode=http-bridge, workspace=/tmp/qws-health-reconciler-close-ZF9fIr)
2026-10-24T14:51:19.501Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-10-24T14:51:19.504Z [INFO] [DAEMON] deferred runtime: health served, scheduling start in 50ms
2026-10-24T14:51:19.554Z [INFO] [DAEMON] deferred runtime: health timer fired, starting
2026-10-24T14:51:19.558Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-health-reconciler-close-ZF9fIr secondary= daemon workspace roots initialized
2026-10-24T14:51:19.561Z [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:19.572Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:19.572Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-maintenance-drain-Oy87mr"
qwen serve: startup timing: processToListenMs=13887 runQwenServeToListenMs=6
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on http://127.0.0.1:43321 (mode=http-bridge, workspace=/tmp/qws-maintenance-drain-Oy87mr)
2026-10-24T14:51:19.576Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-maintenance-drain-Oy87mr secondary= daemon workspace roots initialized
2026-10-24T14:51:19.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:19.592Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:19.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-MpQDc0/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-maintenance-failure-KP02CL"
qwen serve: startup timing: processToListenMs=13907 runQwenServeToListenMs=9
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on http://127.0.0.1:43207 (mode=http-bridge, workspace=/tmp/qws-maintenance-failure-KP02CL)
2026-10-24T14:51:19.595Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-maintenance-failure-KP02CL secondary= daemon workspace roots initialized
2026-10-24T14:51:19.597Z [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:19.658Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:19.658Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-health-close-running-Tnu6bR"
qwen serve: startup timing: processToListenMs=13973 runQwenServeToListenMs=54
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:19.659Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
qwen serve listening on http://127.0.0.1:38455 (mode=http-bridge, workspace=/tmp/qws-health-close-running-Tnu6bR)
2026-10-24T14:51:19.661Z [INFO] [DAEMON] deferred runtime: health served, scheduling start in 50ms
2026-10-24T14:51:19.712Z [INFO] [DAEMON] deferred runtime: health timer fired, starting
2026-10-24T14:51:19.765Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-health-close-running-Tnu6bR secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: Daemon runtime stopped before mounting.
2026-10-24T14:51:19.776Z [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:19.776Z [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:19.784Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:19.784Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:39459 (mode=http-bridge, workspace=/tmp/qws-health-close-late-app-8f9Fd9)
qwen serve: bound to workspace "/tmp/qws-health-close-late-app-8f9Fd9"
qwen serve: startup timing: processToListenMs=14098 runQwenServeToListenMs=2
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:19.784Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
2026-10-24T14:51:19.786Z [INFO] [DAEMON] deferred runtime: health served, scheduling start in 50ms
2026-10-24T14:51:19.837Z [INFO] [DAEMON] deferred runtime: health timer fired, starting
2026-10-24T14:51:24.891Z [WARN] [DAEMON] 5000ms runtime-startup wait reached during shutdown; continuing listener close
2026-10-24T14:51:24.891Z [INFO] [DAEMON] daemon stopped
2026-10-24T14:51:24.899Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-health-close-late-app-8f9Fd9 secondary= daemon workspace roots initialized
2026-10-24T14:51:24.901Z [WARN] [DAEMON] scheduled-task keepalive dispose error: keepalive dispose failed
qwen serve: runtime startup failed: Daemon runtime stopped before mounting.
2026-10-24T14:51:24.902Z [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:24.958Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:24.958Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-health-fail-once-S0UFJV"
qwen serve: startup timing: processToListenMs=19273 runQwenServeToListenMs=3
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:24.959Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
qwen serve listening on http://127.0.0.1:46141 (mode=http-bridge, workspace=/tmp/qws-health-fail-once-S0UFJV)
2026-10-24T14:51:24.961Z [INFO] [DAEMON] deferred runtime: health served, scheduling start in 50ms
2026-10-24T14:51:25.012Z [INFO] [DAEMON] deferred runtime: health timer fired, starting
2026-10-24T14:51:25.013Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-health-fail-once-S0UFJV secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-10-24T14:51:25.014Z [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:25.122Z [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:25.130Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:25.130Z [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-8ase7b/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:36025 (mode=http-bridge, workspace=/tmp/qws-runtime-fail-log-8ase7b)
qwen serve: bound to workspace "/tmp/qws-runtime-fail-log-8ase7b"
qwen serve: startup timing: processToListenMs=19445 runQwenServeToListenMs=3
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:25.132Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-fail-log-8ase7b secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-10-24T14:51:25.133Z [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:25.133Z [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:25.161Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:25.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/qws-run-serve-tests-MpQDc0/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-runtime-flush-pending-HkRXdD"
qwen serve: startup timing: processToListenMs=19476 runQwenServeToListenMs=22
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on http://127.0.0.1:42405 (mode=http-bridge, workspace=/tmp/qws-runtime-flush-pending-HkRXdD)
2026-10-24T14:51:25.164Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-flush-pending-HkRXdD secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:25.173Z [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:25.180Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:25.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/qws-run-serve-tests-MpQDc0/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:43271 (mode=http-bridge, workspace=/tmp/qws-runtime-queue-wait-t2SaOa)
qwen serve: bound to workspace "/tmp/qws-runtime-queue-wait-t2SaOa"
qwen serve: startup timing: processToListenMs=19495 runQwenServeToListenMs=3
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:25.182Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-queue-wait-t2SaOa secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:25.200Z [INFO] [DAEMON] route=GET /daemon/status durationMs=2 status=200 request completed
2026-10-24T14:51:25.202Z [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:25.208Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:25.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/qws-run-serve-tests-MpQDc0/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-runtime-timeout-sZSeCj"
qwen serve: startup timing: processToListenMs=19522 runQwenServeToListenMs=2
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on http://127.0.0.1:39417 (mode=http-bridge, workspace=/tmp/qws-runtime-timeout-sZSeCj)
qwen serve: runtime startup failed: Daemon runtime startup timed out after 1ms.
2026-10-24T14:51:25.209Z [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:25.211Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-timeout-sZSeCj secondary= daemon workspace roots initialized
2026-10-24T14:51:25.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: daemon log disabled — init failed: ENOTDIR: not a directory, lstat '/tmp/qws-runtime-fail-kg4eYM/blocked-log-base/daemon'
2026-10-24T14:51:25.278Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:25.278Z [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-kg4eYM"
qwen serve: startup timing: processToListenMs=19592 runQwenServeToListenMs=2
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on http://127.0.0.1:40889 (mode=http-bridge, workspace=/tmp/qws-runtime-fail-kg4eYM)
2026-10-24T14:51:25.285Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-fail-kg4eYM secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-10-24T14:51:25.286Z [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:25.301Z [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:25.309Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:25.309Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-bootstrap-growth-CcRjv4"
qwen serve: startup timing: processToListenMs=19623 runQwenServeToListenMs=3
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on http://127.0.0.1:37125 (mode=http-bridge, workspace=/tmp/qws-bootstrap-growth-CcRjv4)
2026-10-24T14:51:25.311Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-bootstrap-growth-CcRjv4 secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-10-24T14:51:25.312Z [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:25.315Z [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:25.317Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:25.317Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-bootstrap-growth-CcRjv4"
qwen serve: startup timing: processToListenMs=19632 runQwenServeToListenMs=2
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on http://127.0.0.1:42669 (mode=http-bridge, workspace=/tmp/qws-bootstrap-growth-CcRjv4)
2026-10-24T14:51:25.319Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-bootstrap-growth-CcRjv4 secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime boom
2026-10-24T14:51:25.320Z [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:25.323Z [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:25.345Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:25.345Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-runtime-partial-fail-9AKVOy"
qwen serve: startup timing: processToListenMs=19660 runQwenServeToListenMs=17
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on http://127.0.0.1:39259 (mode=http-bridge, workspace=/tmp/qws-runtime-partial-fail-9AKVOy)
2026-10-24T14:51:25.347Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-partial-fail-9AKVOy secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime app boom
2026-10-24T14:51:25.348Z [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:25.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, NODE_OPTIONS, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp
2026-10-24T14:51:25.382Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:25.382Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-runtime-partial-fail-TIv6Ab/primary"
qwen serve: startup timing: processToListenMs=19696 runQwenServeToListenMs=7
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on http://127.0.0.1:39605 (mode=http-bridge, workspace=/tmp/qws-runtime-partial-fail-TIv6Ab/primary)
2026-10-24T14:51:25.384Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-partial-fail-TIv6Ab/primary secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: runtime app boom
2026-10-24T14:51:25.386Z [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:25.386Z [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:25.428Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:25.428Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-runtime-close-gpAvmb"
qwen serve: startup timing: processToListenMs=19743 runQwenServeToListenMs=35
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on http://127.0.0.1:38167 (mode=http-bridge, workspace=/tmp/qws-runtime-close-gpAvmb)
2026-10-24T14:51:25.430Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-close-gpAvmb secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: Daemon runtime stopped before mounting.
2026-10-24T14:51:25.439Z [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:25.439Z [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:25.452Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:25.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/qws-run-serve-tests-MpQDc0/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-runtime-monitor-close-zRa7rq"
qwen serve: startup timing: processToListenMs=19766 runQwenServeToListenMs=8
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:25.454Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-runtime-monitor-close-zRa7rq secondary= daemon workspace roots initialized
qwen serve: runtime startup failed: Daemon runtime stopped before mounting.
2026-10-24T14:51:25.462Z [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:25.462Z [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:25.469Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:25.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/qws-run-serve-tests-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:25.472Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-ws-la94US secondary= daemon workspace roots initialized
qwen serve: bound to workspace "/tmp/qws-ws-la94US"
qwen serve: startup timing: processToListenMs=19794 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:25.480Z [INFO] [DAEMON] daemon stopped
qwen serve listening on http://127.0.0.1:46263 (mode=http-bridge, workspace=/tmp/qws-runtime-monitor-close-zRa7rq)
qwen serve listening on http://127.0.0.1:41665 (mode=http-bridge, workspace=/tmp/qws-ws-la94US)
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:25.498Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:25.498Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:25.498Z [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:25.504Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:25.504Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:51:25.505Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-ws-2Yd29a secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:45557 (mode=http-bridge, workspace=/tmp/qws-ws-2Yd29a)
qwen serve: bound to workspace "/tmp/qws-ws-2Yd29a"
qwen serve: startup timing: processToListenMs=19828 runQwenServeToListenMs=12
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:25.514Z [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:25.517Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:25.517Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve: Web Shell UI served from /startdir/src/qwen-code/packages/web-shell/dist
2026-10-24T14:51:25.519Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-ws-92VBSQ secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:37001 (mode=http-bridge, workspace=/tmp/qws-ws-92VBSQ)
qwen serve: bound to workspace "/tmp/qws-ws-92VBSQ"
qwen serve: startup timing: processToListenMs=19841 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:25.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:25.530Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:25.530Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:25.531Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-ws-ABtvrz secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:36677 (mode=http-bridge, workspace=/tmp/qws-ws-ABtvrz)
qwen serve: bound to workspace "/tmp/qws-ws-ABtvrz"
qwen serve: startup timing: processToListenMs=19853 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:25.540Z [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:25.542Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:25.542Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:25.544Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-ws-CRriHO secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:37765 (mode=http-bridge, workspace=/tmp/qws-ws-CRriHO)
qwen serve: bound to workspace "/tmp/qws-ws-CRriHO"
qwen serve: startup timing: processToListenMs=19866 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:25.552Z [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:25.555Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:25.555Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:25.556Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-ws-BqHLmx secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:37867 (mode=http-bridge, workspace=/tmp/qws-ws-BqHLmx)
qwen serve: bound to workspace "/tmp/qws-ws-BqHLmx"
qwen serve: startup timing: processToListenMs=19878 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:25.565Z [INFO] [DAEMON] daemon stopped
qwen serve listening on http://127.0.0.1:36903 (mode=http-bridge, workspace=/tmp/qws-ws-8mheTO)
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:25.599Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:25.599Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:25.600Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-ws-p4Z0IE secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:35197 (mode=http-bridge, workspace=/tmp/qws-ws-p4Z0IE)
qwen serve: bound to workspace "/tmp/qws-ws-p4Z0IE"
qwen serve: startup timing: processToListenMs=19922 runQwenServeToListenMs=18
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:25.609Z [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:25.613Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:25.613Z [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-uEHzQ9/debug/daemon/daemon.log
2026-10-24T14:51:25.615Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-ws-uEHzQ9 secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:37281 (mode=http-bridge, workspace=/tmp/qws-ws-uEHzQ9)
qwen serve: bound to workspace "/tmp/qws-ws-uEHzQ9"
qwen serve: startup timing: processToListenMs=19935 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:25.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:51:25.625Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:25.625Z [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-wZtVSb/debug/daemon/daemon.log
2026-10-24T14:51:25.626Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-ws-wZtVSb secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:42387 (mode=http-bridge, workspace=/tmp/qws-ws-wZtVSb)
qwen serve: bound to workspace "/tmp/qws-ws-wZtVSb"
qwen serve: startup timing: processToListenMs=19948 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:25.635Z [INFO] [DAEMON] daemon stopped
qwen serve listening on http://127.0.0.1:35041 (mode=http-bridge, workspace=/tmp/qws-ws-W0VOeY)
qwen serve listening on http://127.0.0.1:43073 (mode=http-bridge, workspace=/tmp/qws-ws-fydaZZ)
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:51:25.743Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:25.743Z [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-LEe4n0/debug/daemon/daemon.log
2026-10-24T14:51:25.746Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-ws-LEe4n0 secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:34825 (mode=http-bridge, workspace=/tmp/qws-ws-LEe4n0)
qwen serve: bound to workspace "/tmp/qws-ws-LEe4n0"
qwen serve: startup timing: processToListenMs=20067 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:51:25.754Z [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:51:25.769Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:25.769Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:25.770Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-ws-2611jG secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:45667 (mode=http-bridge, workspace=/tmp/qws-ws-2611jG)
qwen serve: bound to workspace "/tmp/qws-ws-2611jG"
qwen serve: startup timing: processToListenMs=20092 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:25.779Z [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:51:25.782Z [INFO] [DAEMON] route=GET /daemon/status durationMs=1 status=200 request completed
2026-10-24T14:51:25.783Z [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:51:25.793Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:25.793Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:25.794Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-tls-zESBSG secondary= daemon workspace roots initialized
qwen serve listening on https://127.0.0.1:43343 (mode=http-bridge, workspace=/tmp/qws-channel-tls-zESBSG)
qwen serve: bound to workspace "/tmp/qws-channel-tls-zESBSG"
qwen serve: startup timing: processToListenMs=20117 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:25.976Z [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:51:25.990Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:25.990Z [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-IRZigT/debug/daemon/daemon.log
2026-10-24T14:51:25.991Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-gap-IRZigT secondary= daemon workspace roots initialized
qwen serve listening on https://[::1]:37215 (mode=http-bridge, workspace=/tmp/qws-channel-gap-IRZigT)
qwen serve: bound to workspace "/tmp/qws-channel-gap-IRZigT"
qwen serve: startup timing: processToListenMs=20315 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:26.168Z [WARN] [DAEMON] --tls-cert "/tmp/qws-channel-gap-IRZigT/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:51:26.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:51:26.178Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:26.178Z [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-llNnMF/debug/daemon/daemon.log
2026-10-24T14:51:26.179Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-gap-llNnMF secondary= daemon workspace roots initialized
qwen serve listening on https://127.0.0.1:43605 (mode=http-bridge, workspace=/tmp/qws-channel-gap-llNnMF)
qwen serve: bound to workspace "/tmp/qws-channel-gap-llNnMF"
qwen serve: startup timing: processToListenMs=20509 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:26.401Z [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:51:26.416Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:26.416Z [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-KdcVPC/debug/daemon/daemon.log
2026-10-24T14:51:26.417Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-gap-KdcVPC secondary= daemon workspace roots initialized
qwen serve listening on https://127.0.0.1:36363 (mode=http-bridge, workspace=/tmp/qws-channel-gap-KdcVPC)
qwen serve: bound to workspace "/tmp/qws-channel-gap-KdcVPC"
qwen serve: startup timing: processToListenMs=20744 runQwenServeToListenMs=22
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:26.498Z [WARN] [DAEMON] Channel worker TLS verification failed against the exact CA bundle workers receive (INVALID_PURPOSE): unsuitable certificate purpose
2026-10-24T14:51:26.499Z [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:51:26.508Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:26.508Z [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-Pw2xlr/debug/daemon/daemon.log
2026-10-24T14:51:26.510Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-gap-Pw2xlr secondary= daemon workspace roots initialized
qwen serve listening on https://127.0.0.1:43563 (mode=http-bridge, workspace=/tmp/qws-channel-gap-Pw2xlr)
qwen serve: bound to workspace "/tmp/qws-channel-gap-Pw2xlr"
qwen serve: startup timing: processToListenMs=20833 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:26.519Z [WARN] [DAEMON] NODE_TLS_REJECT_UNAUTHORIZED=0 disables certificate verification for channel workers; skipping the worker TLS trust check.
2026-10-24T14:51:26.520Z [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:51:27.875Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:27.875Z [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-mIh9BV/debug/daemon/daemon.log
2026-10-24T14:51:27.877Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-inspect-mIh9BV secondary= daemon workspace roots initialized
qwen serve listening on https://127.0.0.1:45971 (mode=http-bridge, workspace=/tmp/qws-channel-inspect-mIh9BV)
qwen serve: bound to workspace "/tmp/qws-channel-inspect-mIh9BV"
qwen serve: startup timing: processToListenMs=22197 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:51:27.883Z [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:51:27.884Z [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:51:27.895Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:27.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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:27.896Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-tls-close-NEkU6O secondary= daemon workspace roots initialized
qwen serve listening on https://127.0.0.1:42601 (mode=http-bridge, workspace=/tmp/qws-channel-tls-close-NEkU6O)
qwen serve: bound to workspace "/tmp/qws-channel-tls-close-NEkU6O"
qwen serve: startup timing: processToListenMs=22224 runQwenServeToListenMs=20
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:51:27.952Z [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:51:27.952Z [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:51:27.960Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:27.960Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:27.962Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-tls-lazy-gBNXoF secondary= daemon workspace roots initialized
qwen serve listening on https://127.0.0.1:35567 (mode=http-bridge, workspace=/tmp/qws-channel-tls-lazy-gBNXoF)
qwen serve: bound to workspace "/tmp/qws-channel-tls-lazy-gBNXoF"
qwen serve: startup timing: processToListenMs=22283 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:28.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, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:51:28.018Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:28.018Z [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-F90vOx/debug/daemon/daemon.log
2026-10-24T14:51:28.019Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-gap-F90vOx secondary= daemon workspace roots initialized
qwen serve listening on https://127.0.0.1:35551 (mode=http-bridge, workspace=/tmp/qws-channel-gap-F90vOx)
qwen serve: bound to workspace "/tmp/qws-channel-gap-F90vOx"
qwen serve: startup timing: processToListenMs=22340 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:28.116Z [WARN] [DAEMON] --tls-cert "/tmp/qws-channel-gap-F90vOx/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:51:28.116Z [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:51:28.125Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:28.125Z [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-Q0ry5N/debug/daemon/daemon.log
2026-10-24T14:51:28.126Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-gap-Q0ry5N secondary= daemon workspace roots initialized
qwen serve listening on https://127.0.0.1:45467 (mode=http-bridge, workspace=/tmp/qws-channel-gap-Q0ry5N)
qwen serve: bound to workspace "/tmp/qws-channel-gap-Q0ry5N"
qwen serve: startup timing: processToListenMs=22446 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:28.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, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:51:28.345Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:28.345Z [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-YdYvjN/debug/daemon/daemon.log
2026-10-24T14:51:28.346Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-gap-YdYvjN secondary= daemon workspace roots initialized
qwen serve listening on https://127.0.0.1:36343 (mode=http-bridge, workspace=/tmp/qws-channel-gap-YdYvjN)
qwen serve: bound to workspace "/tmp/qws-channel-gap-YdYvjN"
qwen serve: startup timing: processToListenMs=22667 runQwenServeToListenMs=12
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-YdYvjN/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:51:28.438Z [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:51:28.438Z [WARN] [DAEMON] --tls-cert "/tmp/qws-channel-gap-YdYvjN/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:51:28.439Z [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:51:28.451Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:28.451Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:28.452Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-webhook-93VL57 secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:43305 (mode=http-bridge, workspace=/tmp/qws-channel-webhook-93VL57)
qwen serve: bound to workspace "/tmp/qws-channel-webhook-93VL57"
qwen serve: startup timing: processToListenMs=22772 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:51:28.459Z [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:51:28.466Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:28.466Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:28.467Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-webhook-disabled-wz8ptC secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:37137 (mode=http-bridge, workspace=/tmp/qws-channel-webhook-disabled-wz8ptC)
qwen serve: bound to workspace "/tmp/qws-channel-webhook-disabled-wz8ptC"
qwen serve: startup timing: processToListenMs=22786 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:28.473Z [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:51:28.478Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:28.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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:28.480Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-runtime-control-GOtwAX secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:38385 (mode=http-bridge, workspace=/tmp/qws-channel-runtime-control-GOtwAX)
qwen serve: bound to workspace "/tmp/qws-channel-runtime-control-GOtwAX"
qwen serve: startup timing: processToListenMs=22798 runQwenServeToListenMs=7
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:28.486Z [INFO] [DAEMON] route=GET /capabilities durationMs=1 status=200 request completed
2026-10-24T14:51:29.971Z [INFO] [DAEMON] route=GET /workspace/channels durationMs=1484 status=200 request completed
2026-10-24T14:51:29.976Z [INFO] [DAEMON] route=PUT /workspace/channel durationMs=2 status=201 request completed
2026-10-24T14:51:29.979Z [INFO] [DAEMON] route=GET /capabilities durationMs=1 status=200 request completed
2026-10-24T14:51:29.982Z [INFO] [DAEMON] route=PUT /workspace/channel durationMs=1 status=200 request completed
2026-10-24T14:51:29.984Z [INFO] [DAEMON] route=DELETE /workspace/channel durationMs=1 status=200 request completed
2026-10-24T14:51:29.985Z [INFO] [DAEMON] route=GET /capabilities durationMs=0 status=200 request completed
2026-10-24T14:51:29.986Z [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:51:29.994Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:29.994Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:29.996Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-runtime-race-t9N3pi secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:33197 (mode=http-bridge, workspace=/tmp/qws-channel-runtime-race-t9N3pi)
qwen serve: bound to workspace "/tmp/qws-channel-runtime-race-t9N3pi"
qwen serve: startup timing: processToListenMs=24324 runQwenServeToListenMs=18
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:30.014Z [INFO] [DAEMON] route=PUT /workspace/channel durationMs=2 status=201 request completed
2026-10-24T14:51:30.015Z [INFO] [DAEMON] route=PUT /workspace/channel durationMs=1 status=200 request completed
2026-10-24T14:51:30.016Z [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:51:30.024Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:30.024Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:30.025Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-runtime-fifo-82e2id secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:43731 (mode=http-bridge, workspace=/tmp/qws-channel-runtime-fifo-82e2id)
qwen serve: bound to workspace "/tmp/qws-channel-runtime-fifo-82e2id"
qwen serve: startup timing: processToListenMs=24345 runQwenServeToListenMs=9
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:30.032Z [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:51:30.039Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:30.039Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:30.040Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-runtime-drain-52i0N4 secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:36409 (mode=http-bridge, workspace=/tmp/qws-channel-runtime-drain-52i0N4)
qwen serve: bound to workspace "/tmp/qws-channel-runtime-drain-52i0N4"
qwen serve: startup timing: processToListenMs=24362 runQwenServeToListenMs=11
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:30.049Z [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:51:30.056Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:30.056Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:30.057Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-runtime-unknown-cLKjHF secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:38929 (mode=http-bridge, workspace=/tmp/qws-channel-runtime-unknown-cLKjHF)
qwen serve: bound to workspace "/tmp/qws-channel-runtime-unknown-cLKjHF"
qwen serve: startup timing: processToListenMs=24377 runQwenServeToListenMs=9
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:30.072Z [WARN] [DAEMON] route=PUT /workspace/channel durationMs=1 status=400 request completed
2026-10-24T14:51:30.073Z [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:51:30.081Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:30.081Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:30.083Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-runtime-conflict-LmPKcu secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:38261 (mode=http-bridge, workspace=/tmp/qws-channel-runtime-conflict-LmPKcu)
qwen serve: bound to workspace "/tmp/qws-channel-runtime-conflict-LmPKcu"
qwen serve: startup timing: processToListenMs=24402 runQwenServeToListenMs=9
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:30.091Z [WARN] [DAEMON] route=PUT /workspace/channel durationMs=1 status=409 request completed
2026-10-24T14:51:30.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:51:30.099Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:30.099Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:30.101Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-runtime-race-lK9kb2 secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:32917 (mode=http-bridge, workspace=/tmp/qws-channel-runtime-race-lK9kb2)
qwen serve: bound to workspace "/tmp/qws-channel-runtime-race-lK9kb2"
qwen serve: startup timing: processToListenMs=24422 runQwenServeToListenMs=10
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:30.111Z [WARN] [DAEMON] route=PUT /workspace/channel durationMs=1 status=409 request completed
2026-10-24T14:51:30.112Z [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:51:30.119Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:30.119Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:30.120Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-fail-qrt8vH secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:41421 (mode=http-bridge, workspace=/tmp/qws-channel-worker-fail-qrt8vH)
qwen serve: bound to workspace "/tmp/qws-channel-worker-fail-qrt8vH"
qwen serve: startup timing: processToListenMs=24442 runQwenServeToListenMs=11
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve: runtime startup failed: worker boom
2026-10-24T14:51:30.129Z [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:51:30.131Z [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:51:30.144Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:30.144Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:30.146Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-reload-WBKriB secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:44803 (mode=http-bridge, workspace=/tmp/qws-channel-worker-reload-WBKriB)
qwen serve: bound to workspace "/tmp/qws-channel-worker-reload-WBKriB"
qwen serve: startup timing: processToListenMs=24474 runQwenServeToListenMs=20
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:30.163Z [INFO] [DAEMON] route=POST /workspace/channel/reload durationMs=2 status=200 request completed
2026-10-24T14:51:30.164Z [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:51:30.173Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:30.173Z [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-aRhaOw/debug/daemon/daemon.log
2026-10-24T14:51:30.175Z [ERROR] [DAEMON] daemon startup failed
Error: Channel "telegram" is configured in multiple registered workspaces (/tmp/qws-channel-worker-plan-aRhaOw/primary, /tmp/qws-channel-worker-plan-aRhaOw/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:51:30.181Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:30.181Z [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-ZVHQkL/debug/daemon/daemon.log
qwen serve listening on http://127.0.0.1:37183 (mode=http-bridge, workspace=/tmp/qws-dynamic-worker-pidfile-ZVHQkL/primary)
qwen serve: bound to workspace "/tmp/qws-dynamic-worker-pidfile-ZVHQkL/primary"
qwen serve: startup timing: processToListenMs=24496 runQwenServeToListenMs=2
2026-10-24T14:51:30.183Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-dynamic-worker-pidfile-ZVHQkL/primary secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:30.194Z [INFO] [DAEMON] route=POST /workspaces durationMs=2 status=201 request completed
2026-10-24T14:51:30.196Z [INFO] [DAEMON] route=PUT /workspace/channel durationMs=1 status=201 request completed
2026-10-24T14:51:30.197Z [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:51:30.206Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:30.206Z [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-M9B3Jh/debug/daemon/daemon.log
2026-10-24T14:51:30.207Z [INFO] [DAEMON] channels=telegram workspace=/tmp/qws-channel-worker-groups-M9B3Jh/primary channel worker group assigned
2026-10-24T14:51:30.207Z [INFO] [DAEMON] channels=feishu workspace=/tmp/qws-channel-worker-groups-M9B3Jh/secondary channel worker group assigned
qwen serve: bound to workspace "/tmp/qws-channel-worker-groups-M9B3Jh/primary"
qwen serve: startup timing: processToListenMs=24521 runQwenServeToListenMs=4
2026-10-24T14:51:30.207Z [INFO] [DAEMON] deferred runtime: scheduling fallback start in 1000ms
qwen serve listening on http://127.0.0.1:40417 (mode=http-bridge, workspace=/tmp/qws-channel-worker-groups-M9B3Jh/primary)
2026-10-24T14:51:30.209Z [WARN] [DAEMON] channelName=feishu reason="secret mismatch" source=github-ci deferred webhook auth failed
2026-10-24T14:51:30.211Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-groups-M9B3Jh/primary secondary= daemon workspace roots initialized
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:30.220Z [INFO] [DAEMON] route=GET /capabilities durationMs=1 status=200 request completed
2026-10-24T14:51:30.221Z [INFO] [DAEMON] channels=telegram pid=1234 workspace=/tmp/qws-channel-worker-groups-M9B3Jh/primary channel worker ready
2026-10-24T14:51:30.222Z [INFO] [DAEMON] route=GET /capabilities durationMs=0 status=200 request completed
2026-10-24T14:51:30.223Z [INFO] [DAEMON] channels=feishu pid=5678 workspace=/tmp/qws-channel-worker-groups-M9B3Jh/secondary channel worker ready
2026-10-24T14:51:30.224Z [INFO] [DAEMON] channelName=feishu eventType=check_failed source=github-ci targetRef=default channel webhook task accepted
2026-10-24T14:51:30.224Z [INFO] [DAEMON] route=POST /channels/feishu/webhooks/github-ci durationMs=1 status=202 request completed
2026-10-24T14:51:30.226Z [INFO] [DAEMON] route=GET /capabilities durationMs=0 status=200 request completed
2026-10-24T14:51:30.227Z [WARN] [DAEMON] route=DELETE /workspaces/d9fef002036a37aa durationMs=0 status=409 request completed
2026-10-24T14:51:30.230Z [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:51:30.230Z [INFO] [DAEMON] route=DELETE /workspaces/d9fef002036a37aa durationMs=2 status=200 request completed
2026-10-24T14:51:30.232Z [WARN] [DAEMON] channelName=feishu source=github-ci channel webhook authentication failed
2026-10-24T14:51:30.232Z [WARN] [DAEMON] route=POST /channels/feishu/webhooks/github-ci durationMs=0 status=401 request completed
2026-10-24T14:51:30.233Z [WARN] [DAEMON] channel worker [/tmp/qws-channel-worker-groups-M9B3Jh/secondary] stderr: Ignored stale channel worker exit (generation=2).
2026-10-24T14:51:30.238Z [INFO] [DAEMON] route=GET /capabilities durationMs=0 status=200 request completed
2026-10-24T14:51:30.239Z [INFO] [DAEMON] channels=feishu pid=5678 workspace=/tmp/qws-channel-worker-groups-M9B3Jh/secondary channel worker ready
2026-10-24T14:51:30.240Z [INFO] [DAEMON] route=POST /workspaces durationMs=6 status=201 request completed
2026-10-24T14:51:30.241Z [INFO] [DAEMON] channelName=feishu eventType=check_failed source=github-ci targetRef=default channel webhook task accepted
2026-10-24T14:51:30.242Z [INFO] [DAEMON] route=POST /channels/feishu/webhooks/github-ci durationMs=0 status=202 request completed
2026-10-24T14:51:30.242Z [WARN] [DAEMON] channel worker exited (workspace=/tmp/qws-channel-worker-groups-M9B3Jh/secondary, state=failed, pid=unknown, code=null, signal=null, error=worker stopped, restartCount=0, nextRestartAt=none, staleHeartbeatAt=none)
2026-10-24T14:51:30.243Z [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:51:30.244Z [INFO] [DAEMON] route=DELETE /workspaces/d9fef002036a37aa durationMs=1 status=200 request completed
2026-10-24T14:51:30.245Z [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:51:30.255Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:30.255Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:30.256Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-kAsBYp secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:40719 (mode=http-bridge, workspace=/tmp/qws-channel-worker-kAsBYp)
qwen serve: bound to workspace "/tmp/qws-channel-worker-kAsBYp"
qwen serve: startup timing: processToListenMs=24581 runQwenServeToListenMs=16
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:30.269Z [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:51:30.277Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:30.277Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:30.278Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-force-IuStE6 secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:37305 (mode=http-bridge, workspace=/tmp/qws-channel-worker-force-IuStE6)
qwen serve: bound to workspace "/tmp/qws-channel-worker-force-IuStE6"
qwen serve: startup timing: processToListenMs=24598 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:30.285Z [WARN] [DAEMON] received SIGTERM, draining
2026-10-24T14:51:30.285Z [WARN] [DAEMON] received SIGTERM during drain — forcing exit
2026-10-24T14:51:30.286Z [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:51:30.295Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:30.295Z [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-3KtHMA/debug/daemon/daemon.log
2026-10-24T14:51:30.296Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-stuck-3KtHMA secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:37655 (mode=http-bridge, workspace=/tmp/qws-channel-worker-stuck-3KtHMA)
qwen serve: bound to workspace "/tmp/qws-channel-worker-stuck-3KtHMA"
qwen serve: startup timing: processToListenMs=24617 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:30.303Z [WARN] [DAEMON] received SIGTERM, draining
2026-10-24T14:51:30.304Z [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:51:30.305Z [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:51:30.305Z [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:51:30.305Z [WARN] [DAEMON] received SIGTERM, draining
2026-10-24T14:51:30.305Z [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:51:30.314Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:30.314Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:30.315Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-acp-error-Niz89H secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:45695 (mode=http-bridge, workspace=/tmp/qws-channel-acp-error-Niz89H)
qwen serve: bound to workspace "/tmp/qws-channel-acp-error-Niz89H"
qwen serve: startup timing: processToListenMs=24635 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:30.321Z [WARN] [DAEMON] received SIGTERM, draining
2026-10-24T14:51:30.322Z [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:51:30.322Z [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:51:30.322Z [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:51:30.329Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:30.329Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:30.330Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-combined-error-slXgqQ secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:33737 (mode=http-bridge, workspace=/tmp/qws-channel-combined-error-slXgqQ)
qwen serve: bound to workspace "/tmp/qws-channel-combined-error-slXgqQ"
qwen serve: startup timing: processToListenMs=24649 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:51:30.336Z [WARN] [DAEMON] received SIGTERM, draining
2026-10-24T14:51:30.336Z [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:51:30.336Z [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:51:30.336Z [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:51:30.336Z [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:51:30.336Z [WARN] [DAEMON] received SIGTERM, draining
2026-10-24T14:51:30.337Z [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:51:30.337Z [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:51:30.339Z [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:51:30.348Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:30.348Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:30.349Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-aggregate-error-INcbQU secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:40605 (mode=http-bridge, workspace=/tmp/qws-channel-aggregate-error-INcbQU)
qwen serve: bound to workspace "/tmp/qws-channel-aggregate-error-INcbQU"
qwen serve: startup timing: processToListenMs=24669 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:30.355Z [WARN] [DAEMON] received SIGTERM, draining
2026-10-24T14:51:30.356Z [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:51:30.356Z [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:51:30.356Z [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:51:30.357Z [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:51:30.366Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:30.367Z [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-Z8zha6/debug/daemon/daemon.log
2026-10-24T14:51:30.368Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-log-stuck-Z8zha6 secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:41101 (mode=http-bridge, workspace=/tmp/qws-channel-log-stuck-Z8zha6)
qwen serve: bound to workspace "/tmp/qws-channel-log-stuck-Z8zha6"
qwen serve: startup timing: processToListenMs=24689 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:30.377Z [WARN] [DAEMON] route=GET /blocked-access-log durationMs=1 status=404 request completed
2026-10-24T14:51:30.378Z [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:51:30.630Z [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:51:30.651Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:30.651Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:30.653Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-bridge-stuck-3E30TC secondary= daemon workspace roots initialized
qwen serve: bound to workspace "/tmp/qws-channel-bridge-stuck-3E30TC"
qwen serve: startup timing: processToListenMs=24977 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:30.665Z [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:51:30.665Z [WARN] [DAEMON] error="bridge still draining" reason=daemon_shutdown workspace=/tmp/qws-channel-bridge-stuck-3E30TC workspace bridge required forceful shutdown
2026-10-24T14:51:30.666Z [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:51:30.686Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:30.686Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:30.688Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-fallback-PXqIYr secondary= daemon workspace roots initialized
qwen serve: bound to workspace "/tmp/qws-channel-worker-fallback-PXqIYr"
qwen serve: startup timing: processToListenMs=25012 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:51:30.699Z [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:51:30.721Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:30.721Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:30.722Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-fallback-IZuhf8 secondary= daemon workspace roots initialized
qwen serve: bound to workspace "/tmp/qws-channel-worker-fallback-IZuhf8"
qwen serve: startup timing: processToListenMs=25045 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:30.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, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:51:30.748Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:30.748Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:30.749Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-pidfile-gMNghM secondary= daemon workspace roots initialized
qwen serve: bound to workspace "/tmp/qws-channel-worker-pidfile-gMNghM"
qwen serve: startup timing: processToListenMs=25067 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:30.754Z [WARN] [DAEMON] failed to write channel worker pidfile metadata: disk full
2026-10-24T14:51:30.754Z [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:51:30.761Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:30.761Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:30.762Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-ready-IhGJU3 secondary= daemon workspace roots initialized
qwen serve: bound to workspace "/tmp/qws-channel-worker-ready-IhGJU3"
qwen serve: startup timing: processToListenMs=25081 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:51:30.768Z [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:51:30.781Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:30.782Z [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-SM8w6m/debug/daemon/daemon.log
2026-10-24T14:51:30.783Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-log-SM8w6m secondary= daemon workspace roots initialized
qwen serve: bound to workspace "/tmp/qws-channel-worker-log-SM8w6m"
qwen serve: startup timing: processToListenMs=25102 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:30.788Z [WARN] [DAEMON] channel worker stderr: adapter failed with
2026-10-24T14:51:30.788Z [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:51:30.789Z [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:51:30.807Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:30.807Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:30.809Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-loopback-u3ilog secondary= daemon workspace roots initialized
qwen serve: bound to workspace "/tmp/qws-channel-worker-loopback-u3ilog"
qwen serve: startup timing: processToListenMs=25133 runQwenServeToListenMs=23
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:30.820Z [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:51:30.891Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:30.891Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:30.893Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-timeout-1GgjoT secondary= daemon workspace roots initialized
qwen serve: bound to workspace "/tmp/qws-channel-worker-timeout-1GgjoT"
qwen serve: startup timing: processToListenMs=25222 runQwenServeToListenMs=78
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:51:30.909Z [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:30.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, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:51:30.974Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:30.974Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:30.985Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-status-WPsQbA secondary= daemon workspace roots initialized
qwen serve: bound to workspace "/tmp/qws-channel-worker-status-WPsQbA"
qwen serve: startup timing: processToListenMs=25308 runQwenServeToListenMs=76
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:30.995Z [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:51:30.998Z [INFO] [DAEMON] route=GET /daemon/status durationMs=2 status=200 request completed
2026-10-24T14:51:30.999Z [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:51:31.035Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:31.035Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:31.037Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-fail-2bEgmb secondary= daemon workspace roots initialized
qwen serve: bound to workspace "/tmp/qws-channel-worker-fail-2bEgmb"
qwen serve: startup timing: processToListenMs=25359 runQwenServeToListenMs=19
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:51:31.046Z [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:51:31.046Z [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:51:31.072Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:31.072Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:31.073Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-untrusted-ZOLQEg secondary= daemon workspace roots initialized
2026-10-24T14:51:31.082Z [ERROR] [DAEMON] daemon startup failed
Error: Primary workspace "/tmp/qws-channel-untrusted-ZOLQEg" 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:51:31.093Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:31.093Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:31.094Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-startup-cleanup-susi38 secondary= daemon workspace roots initialized
2026-10-24T14:51:31.102Z [ERROR] [DAEMON] daemon startup failed
AggregateError: Primary workspace "/tmp/qws-channel-startup-cleanup-susi38" 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 listening on http://127.0.0.1:44215 (mode=http-bridge, workspace=/tmp/qws-channel-bridge-stuck-3E30TC)
qwen serve listening on http://127.0.0.1:33653 (mode=http-bridge, workspace=/tmp/qws-channel-worker-fallback-PXqIYr)
qwen serve listening on http://127.0.0.1:38281 (mode=http-bridge, workspace=/tmp/qws-channel-worker-fallback-IZuhf8)
qwen serve listening on http://127.0.0.1:46167 (mode=http-bridge, workspace=/tmp/qws-channel-worker-pidfile-gMNghM)
qwen serve listening on http://127.0.0.1:33273 (mode=http-bridge, workspace=/tmp/qws-channel-worker-ready-IhGJU3)
qwen serve listening on http://127.0.0.1:36137 (mode=http-bridge, workspace=/tmp/qws-channel-worker-log-SM8w6m)
qwen serve listening on http://0.0.0.0:45355 (mode=http-bridge, workspace=/tmp/qws-channel-worker-loopback-u3ilog)
qwen serve listening on http://127.0.0.1:33243 (mode=http-bridge, workspace=/tmp/qws-channel-worker-timeout-1GgjoT)
qwen serve listening on http://127.0.0.1:40705 (mode=http-bridge, workspace=/tmp/qws-channel-worker-status-WPsQbA)
qwen serve listening on http://127.0.0.1:46325 (mode=http-bridge, workspace=/tmp/qws-channel-worker-fail-2bEgmb)
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:51:31.114Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:31.114Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:31.115Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-retained-3f14Iv secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:35819 (mode=http-bridge, workspace=/tmp/qws-channel-worker-retained-3f14Iv)
qwen serve: bound to workspace "/tmp/qws-channel-worker-retained-3f14Iv"
qwen serve: startup timing: processToListenMs=25437 runQwenServeToListenMs=12
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:51:31.124Z [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:51:31.124Z [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:51:31.124Z [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:51:31.125Z [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:51:31.125Z [ERROR] [DAEMON] runtime startup failed, but qwen serve remains alive to retain the channel service lease until worker exit is confirmed
2026-10-24T14:51:32.169Z [WARN] [DAEMON] received SIGTERM, draining
2026-10-24T14:51:32.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:51:32.202Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:32.202Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:32.203Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-busy-7Dpxry secondary= daemon workspace roots initialized
2026-10-24T14:51:32.212Z [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:51:32.224Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:32.224Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:32.225Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-stale-0PRXMn secondary= daemon workspace roots initialized
qwen serve: bound to workspace "/tmp/qws-channel-worker-stale-0PRXMn"
qwen serve: startup timing: processToListenMs=26555 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:51:32.242Z [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:51:32.254Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:32.254Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:32.255Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-listen-Owhfd0 secondary= daemon workspace roots initialized
2026-10-24T14:51:32.263Z [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
2026-10-24T14:51:32.278Z [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:51:32.289Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:32.289Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:32.291Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-port-no-retry-juLyIY secondary= daemon workspace roots initialized
2026-10-24T14:51:32.292Z [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:51:32.398Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:32.399Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:32.400Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-port0-no-retry-sd6WvX secondary= daemon workspace roots initialized
2026-10-24T14:51:32.402Z [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:51:32.417Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:32.417Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:32.418Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-crash-EWvVPe secondary= daemon workspace roots initialized
qwen serve: bound to workspace "/tmp/qws-channel-worker-crash-EWvVPe"
qwen serve: startup timing: processToListenMs=26740 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:32.428Z [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:51:32.439Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:32.439Z [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-MpQDc0/debug/daemon/daemon.log
2026-10-24T14:51:32.441Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-channel-worker-unhandled-NUIpIJ secondary= daemon workspace roots initialized
qwen serve: bound to workspace "/tmp/qws-channel-worker-unhandled-NUIpIJ"
qwen serve: startup timing: processToListenMs=26768 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:51:32.455Z [INFO] [DAEMON] daemon stopped
2026-10-24T14:51:32.477Z [INFO] [DAEMON] daemon stopped
qwen serve listening on http://127.0.0.1:38579 (mode=http-bridge, workspace=/tmp/qws-channel-worker-stale-0PRXMn)
qwen serve listening on http://127.0.0.1:44447 (mode=http-bridge, workspace=/tmp/qws-port-retry-DfxoHZ)
qwen serve listening on http://127.0.0.1:41135 (mode=http-bridge, workspace=/tmp/qws-channel-worker-crash-EWvVPe)
qwen serve listening on http://127.0.0.1:43513 (mode=http-bridge, workspace=/tmp/qws-channel-worker-unhandled-NUIpIJ)
qwen serve listening on http://127.0.0.1:42725 (mode=http-bridge, workspace=/tmp/qws-allow-origin-JBKm45)
qwen serve listening on http://127.0.0.1:46301 (mode=http-bridge, workspace=/tmp/qws-startup-runtime-dir-37IONY)
qwen serve listening on http://127.0.0.1:40339 (mode=http-bridge, workspace=/tmp/qws-startup-log-dep-mBPRvd)
qwen serve listening on http://127.0.0.1:45219 (mode=http-bridge, workspace=/tmp/qws-startup-storage-dir-N1nXHZ)
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:51:33.814Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:33.814Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-startup-preheat-EGN3t3"
qwen serve: startup timing: processToListenMs=28132 runQwenServeToListenMs=6
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
2026-10-24T14:51:33.819Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-startup-preheat-EGN3t3 secondary= daemon workspace roots initialized
qwen serve listening on http://127.0.0.1:43541 (mode=http-bridge, workspace=/tmp/qws-startup-preheat-EGN3t3)
qwen serve: /acp WebSocket transport enabled on /acp
2026-10-24T14:51:33.831Z [INFO] [DAEMON] route=GET /daemon/status durationMs=3 status=200 request completed
2026-10-24T14:51:33.835Z [INFO] [DAEMON] route=GET /daemon/status durationMs=1 status=200 request completed
2026-10-24T14:51:33.838Z [INFO] [DAEMON] route=GET /daemon/status durationMs=1 status=200 request completed
2026-10-24T14:51:33.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, npm_config_globalconfig, npm_config_init_module, npm_config_prefix, npm_config_node_gyp, NODE_OPTIONS
2026-10-24T14:51:33.872Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T14:51:33.872Z [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-MpQDc0/debug/daemon/daemon.log
qwen serve: bound to workspace "/tmp/qws-startup-preheat-vxw7m0"
qwen serve: startup timing: processToListenMs=28187 runQwenServeToListenMs=14
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on http://127.0.0.1:40079 (mode=http-bridge, workspace=/tmp/qws-startup-preheat-vxw7m0)
2026-10-24T14:51:33.874Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qws-startup-preheat-vxw7m0 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:51:33.885Z [INFO] [DAEMON] route=GET /daemon/status durationMs=1 status=200 request completed
2026-10-24T14:51:33.888Z [INFO] [DAEMON] route=GET /daemon/status durationMs=1 status=200 request completed
2026-10-24T14:51:33.888Z [INFO] [DAEMON] daemon stopped
✓ src/serve/run-qwen-serve.test.ts (327 tests) 24917ms
✓ runQwenServe daemon logger wiring > creates a daemon log file at boot and flushes on shutdown 347ms
✓ 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 1028ms
✓ runQwenServe runtime startup failures > does not start deferred runtime after close before first health 1113ms
✓ runQwenServe runtime startup failures > disposes a deferred runtime app that finishes after the shutdown wait 5174ms
✓ runQwenServe channel worker supervisor > normalizes a killed TLS trust probe to the generic failure code 1268ms
✓ runQwenServe channel worker supervisor > enables, queries, idempotently reapplies, and stops channels after boot 1515ms
✓ runQwenServe channel worker supervisor > keeps the serve owner alive when failed startup cannot confirm worker exit 1089ms
✓ runQwenServe startup observability > uses boot runtimeOutputDir for daemon logs 1127ms
✓ src/ui/hooks/useGeminiStream.test.tsx (233 tests) 3675ms
✓ src/commands/review/agent-prompt.test.ts (299 tests) 433ms
✓ src/nonInteractiveCli.test.ts (131 tests | 1 skipped) 2634ms
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-7R8W0M/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-EXfyUj/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) 9454ms
✓ multi-workspace session dispatch > keeps non-regular lifecycle failures scoped to their owner-routed batch item 341ms
✓ multi-workspace session dispatch > keeps filesystem classifier failures scoped to their owner-routed batch item 448ms
✓ multi-workspace session dispatch > keeps transcript-change classifier failures scoped to their owner-routed batch item 361ms
✓ multi-workspace session dispatch > rejects an oversized untrusted transcript record without starting the bridge 1726ms
✓ multi-workspace session dispatch > rejects archived exports above the persisted source size limit 707ms
]0;Qwen - workspace ]2;Qwen - workspace ]0;Qwen - workspace ]2;Qwen - workspace ✓ src/ui/AppContainer.test.tsx (165 tests) 8492ms
✓ AppContainer State Management > worktree branch wiring > queries the branch from the worktree path during a worktree session 539ms
✓ src/ui/components/InputPrompt.test.tsx (213 tests) 74750ms
✓ InputPrompt > onTabConsumerChange reporting (issue #4171) > reports true while the followup prompt suggestion is visible 723ms
✓ InputPrompt > onTabConsumerChange reporting (issue #4171) > reports false again after the autocomplete dropdown is dismissed 359ms
✓ InputPrompt > onSuggestionsVisibilityChange stays narrow (autocomplete only) > stays false when only a followup prompt suggestion is visible 722ms
✓ InputPrompt > should set the buffer text when a shell history command is retrieved 320ms
✓ InputPrompt > should call shellHistory.addCommandToHistory on submit in shell mode 324ms
✓ InputPrompt > should NOT call shell history methods when not in shell mode 625ms
✓ InputPrompt > should call completion.navigateUp for up arrow when suggestions are showing 474ms
✓ InputPrompt > should call completion.navigateDown for down arrow when suggestions are showing 475ms
✓ InputPrompt > should NOT call completion navigation when suggestions are not showing 777ms
✓ InputPrompt > clipboard image paste > should handle Ctrl+V when clipboard has an image 332ms
✓ InputPrompt > clipboard image paste > should handle Cmd+V when clipboard has an image 339ms
✓ InputPrompt > clipboard image paste > keeps generated attachment references out of submitted provenance 334ms
✓ InputPrompt > clipboard image paste > should not insert anything when clipboard has no image 326ms
✓ InputPrompt > clipboard image paste > should show the native clipboard error only once across remounts 1008ms
✓ InputPrompt > clipboard image paste > should handle image save failure gracefully 452ms
✓ InputPrompt > clipboard image paste > should insert image path at cursor position with proper spacing 559ms
✓ InputPrompt > clipboard image paste > should handle errors during clipboard operations gracefully 608ms
✓ InputPrompt > should complete a partial parent command 584ms
✓ InputPrompt > should append a sub-command when the parent command is already complete 529ms
✓ InputPrompt > should handle the "backspace" edge case correctly 549ms
✓ InputPrompt > should complete a partial argument for a command 595ms
✓ InputPrompt > should autocomplete on Enter when suggestions are active, without submitting 532ms
✓ InputPrompt > should complete a command based on its altNames 582ms
✓ InputPrompt > should not submit on Enter when the buffer is empty or only contains whitespace 614ms
✓ InputPrompt > should submit directly on Enter when isPerfectMatch is true 570ms
✓ InputPrompt > should submit a perfect match on Enter when suggestions were not navigated 517ms
✓ InputPrompt > should fill and submit an export format selected with arrow navigation 760ms
✓ InputPrompt > should keep cycling export formats after arrow navigation fills input 725ms
✓ InputPrompt > should keep cycling export formats with Ctrl+P/N after arrow navigation fills input 848ms
✓ InputPrompt > should keep export format suggestions visible after arrow navigation fills input 613ms
✓ InputPrompt > should not clobber manually edited buffer when arrow is pressed after export fill 1037ms
✓ InputPrompt > should wrap to jsonl when pressing Up from the /export Phase 1 popup 561ms
✓ InputPrompt > should wrap Phase 2 cycling backward when pressing Up repeatedly 833ms
✓ InputPrompt > should seed Phase 2 cycling when Tab accepts a format in the /export popup 873ms
✓ InputPrompt > should not overwrite /export html with extra args when Down is pressed 610ms
✓ InputPrompt > should reset export cycling state on Escape so arrows no longer cycle 772ms
✓ InputPrompt > should reset export cycling state on Ctrl+C so new input is not overwritten 736ms
✓ InputPrompt > should cycle export format on Down when /export was typed manually (not via popup) 827ms
✓ InputPrompt > should not arm export cycling from restored history text 582ms
✓ InputPrompt > should trigger export-specific arrow navigation even when completion suggestions are a superset 606ms
✓ InputPrompt > should fall through to generic accept when Tab targets a non-export item in the /export superset popup 531ms
✓ InputPrompt > should fall through to generic completion when suggestions are missing an export format 528ms
✓ InputPrompt > should trigger Phase 1 export popup even when /export has trailing spaces 484ms
✓ InputPrompt > should autocomplete on Enter when user arrow-navigated a perfect-match suggestion list 711ms
✓ InputPrompt > should submit directly on Enter after arrow-navigate + backspace + retype to perfect match 1421ms
✓ InputPrompt > should submit directly on Enter for a perfect match without prior arrow navigation 519ms
✓ InputPrompt > should dismiss completion on Enter after accepting @path suggestion 509ms
✓ InputPrompt > should autocomplete @path on Tab without submitting or resetting completion 598ms
✓ InputPrompt > should NOT switch category on left/right when availableCategories <= 2 657ms
✓ InputPrompt > should NOT switch category on left/right when availableCategories is exactly 2 695ms
✓ InputPrompt > should switch category on plain arrows before Vim handling 685ms
✓ InputPrompt > should NOT switch category on bare arrows while command search is active 883ms
✓ InputPrompt > should hide category tabs and keep bare arrows for attachments 930ms
✓ InputPrompt > should NOT consume Ctrl+left/right for category switching (#8069) 660ms
✓ InputPrompt > should reset history navigation after submitting on Enter 541ms
✓ InputPrompt > should submit directly on Enter when a complete leaf command is typed 527ms
✓ InputPrompt > should autocomplete an @-path on Enter without submitting 547ms
✓ InputPrompt > should add a newline on enter when the line ends with a backslash 550ms
✓ InputPrompt > should clear the buffer on Ctrl+C if it has text 547ms
✓ InputPrompt > should NOT clear the buffer on Ctrl+C if it is empty 563ms
✓ InputPrompt > cursor-based completion trigger > should trigger completion when cursor is after @ without spaces 422ms
✓ InputPrompt > cursor-based completion trigger > should trigger completion when cursor is after / without spaces 450ms
✓ InputPrompt > cursor-based completion trigger > should NOT trigger completion when cursor is after space following @ 365ms
✓ InputPrompt > cursor-based completion trigger > should NOT trigger completion when cursor is after space following / 320ms
✓ InputPrompt > cursor-based completion trigger > should NOT trigger completion when cursor is not after @ or / 427ms
✓ InputPrompt > cursor-based completion trigger > should handle multiline text correctly 375ms
✓ InputPrompt > cursor-based completion trigger > should handle single line slash command correctly 438ms
✓ InputPrompt > cursor-based completion trigger > should handle Unicode characters (emojis) correctly in paths 396ms
✓ InputPrompt > cursor-based completion trigger > should handle Unicode characters with spaces after them 311ms
✓ InputPrompt > cursor-based completion trigger > should NOT trigger completion after unescaped space following escaped space 483ms
✓ InputPrompt > cursor-based completion trigger > should handle multiple escaped spaces in paths 464ms
✓ InputPrompt > cursor-based completion trigger > should handle escaped spaces in slash commands 416ms
✓ InputPrompt > vim mode > should not call buffer.handleInput when vim handles the input 425ms
✓ InputPrompt > vim mode > should call buffer.handleInput when vim does not handle the input 391ms
✓ InputPrompt > vim mode > should call handleInput when vim mode is disabled 358ms
✓ InputPrompt > vim mode > should toggle shortcuts when vim passes through ? on an empty prompt 355ms
✓ InputPrompt > unfocused paste > should handle bracketed paste when not focused 435ms
✓ InputPrompt > unfocused paste > should ignore regular keypresses when not focused 370ms
✓ InputPrompt > multiline paste > should handle multiline paste 'with \n newlines' 334ms
✓ InputPrompt > multiline paste > should handle multiline paste 'with extra slashes before \n newlines' 335ms
✓ InputPrompt > multiline paste > should handle multiline paste 'with \r\n newlines' 332ms
✓ InputPrompt > paste auto-submission protection > should prevent auto-submission immediately after paste with newlines 648ms
✓ InputPrompt > paste auto-submission protection > should not interfere with normal Enter key submission when no recent paste 346ms
✓ InputPrompt > enhanced input UX - double ESC clear functionality > should clear buffer on second ESC press 391ms
✓ InputPrompt > enhanced input UX - double ESC clear functionality > should handle ESC in shell mode by disabling shell mode 342ms
✓ InputPrompt > enhanced input UX - double ESC clear functionality > should handle ESC when completion suggestions are showing 349ms
✓ InputPrompt > enhanced input UX - double ESC clear functionality > should not call onEscapePromptChange when not provided 325ms
✓ InputPrompt > enhanced input UX - double ESC clear functionality > should not interfere with existing keyboard shortcuts 477ms
✓ InputPrompt > reverse search > invokes reverse search on Ctrl+R 357ms
✓ InputPrompt > reverse search > resets reverse search state on Escape 381ms
✓ 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 659ms
✓ InputPrompt > Ctrl+E keyboard shortcut > should move cursor to end of current line in multiline input 352ms
✓ InputPrompt > Ctrl+E keyboard shortcut > should move cursor to end of current line for single line input 346ms
✓ InputPrompt > command search (Ctrl+R when not in shell) > enters command search on Ctrl+R and shows suggestions 335ms
✓ InputPrompt > command search (Ctrl+R when not in shell) > invalidates provenance before submitting a command-history match 343ms
✓ InputPrompt > command search (Ctrl+R when not in shell) > shows command search suggestions over active export suggestions 493ms
✓ InputPrompt > command search (Ctrl+R when not in shell) > expands and collapses long suggestion via Right/Left arrows 335ms
✓ InputPrompt > command search (Ctrl+R when not in shell) > renders match window and expanded view (snapshots) 489ms
✓ InputPrompt > command search (Ctrl+R when not in shell) > does not show expand/collapse indicator for short suggestions 334ms
✓ InputPrompt > should still allow input when shell is not focused 326ms
✓ InputPrompt > large paste placeholder > should create placeholder for paste > 1000 characters 326ms
✓ InputPrompt > large paste placeholder > should create placeholder for paste > 10 lines 327ms
✓ 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 626ms
✓ InputPrompt > Ctrl+Y retry shortcut > should trigger handleRetryLastPrompt on Ctrl+Y 326ms
✓ InputPrompt > Ctrl+Y retry shortcut > should NOT trigger retry on plain y key 330ms
✓ InputPrompt > Ctrl+Y retry shortcut > should NOT trigger retry on Ctrl+R (reverse search) 327ms
✓ InputPrompt > Ctrl+Y retry shortcut > should handle Ctrl+Y when feedback dialog is open 327ms
✓ InputPrompt > queue input editing > should pop queued messages into input on Up arrow when queue is non-empty 328ms
✓ 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 323ms
✓ InputPrompt > queue input editing > should fall through to history when pop returns null (race condition) 327ms
✓ InputPrompt > queue input editing > should navigate history on Up arrow when queue is empty 325ms
✓ InputPrompt > queue input editing > should not intercept Ctrl+P when queue is non-empty 326ms
✓ InputPrompt > two-step edge transition for history navigation > Ctrl+P with cursor mid-line snaps to col 0 without touching history 327ms
✓ 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 328ms
✓ InputPrompt > two-step edge transition for history navigation > Ctrl+P/N and arrows do not change input history while a tool confirmation owns navigation 802ms
✓ InputPrompt > two-step edge transition for history navigation > Ctrl+N falls through to the agent tab bar when there is no newer history 395ms
✓ InputPrompt > two-step edge transition for history navigation > arrow Down applies the same snap-before-history rule as Ctrl+N 327ms
✓ 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 333ms
✓ InputPrompt > two-step edge transition for history navigation > arrow Down skips terminal bg agents after the live panel visibility window (#5067) 331ms
✓ InputPrompt > two-step edge transition for history navigation > arrow Down focuses the background-tasks pill when only the pill is shown (workflow-only session) 328ms
✓ InputPrompt > two-step edge transition for history navigation > Down at the bottom of the live agent panel descends to the agent tab bar 334ms
✓ 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 331ms
✓ InputPrompt > two-step edge transition for history navigation > Enter on the live panel maps the DISPLAYED row back to its bg entry index 329ms
✓ InputPrompt > two-step edge transition for history navigation > arrow Up applies the same two-step rule as Ctrl+P (snap before navigate) 327ms
✓ InputPrompt > two-step edge transition for history navigation > suppresses completion menu navigation for history-restored text until edited 650ms
✓ InputPrompt > ESC during active agent response (#8201) > does not pop queued messages into input when responding 330ms
✓ InputPrompt > ESC during active agent response (#8201) > does not silently clear typed input on single ESC when responding 330ms
✓ 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) 330ms
✓ src/config/settings.test.ts (173 tests) 96ms
✓ src/config/config.test.ts (356 tests) 803ms
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) 90ms
✓ src/agent-view/supervisor-process.test.ts (86 tests) 1617ms
✓ Agent View supervisor process helpers > fails attach quickly for an active session with a stale persisted PTY host 510ms
✓ Agent View supervisor process helpers > fails closed when worker liveness data is unreadable 303ms
✓ src/commands/review/pr-context.test.ts (163 tests) 35ms
✓ src/commands/review/build-test.test.ts (109 tests) 20391ms
✓ runBuildTest > attempts every suite with the REMAINING budget and names only the never-attempted 2002ms
✓ 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 2007ms
✓ runBuildTest > --resume: the ceiling is per call, not per run > counts an unattempted RETRY as work left, not as nothing 2003ms
✓ 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:43689) Warning: qwen: failed to merge NODE_EXTRA_CA_CERTS "/tmp/qwen-ca-fallback-aOgeVs/missing-operator.pem" with the daemon cert "/tmp/qwen-ca-fallback-aOgeVs/daemon.pem": ENOENT: no such file or directory, stat '/tmp/qwen-ca-fallback-aOgeVs/missing-operator.pem'; channel workers will trust only the daemon cert
(Use `node --trace-warnings ...` to show where the warning was created)
(node:43689) Warning: qwen: failed to merge NODE_EXTRA_CA_CERTS "/tmp/qwen-ca-fused-vhF4wP/operator.pem" with the daemon cert "/tmp/qwen-ca-fused-vhF4wP/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:43689) Warning: qwen: failed to merge NODE_EXTRA_CA_CERTS "/tmp/qwen-ca-badb64-UMnHC8/operator.pem" with the daemon cert "/tmp/qwen-ca-badb64-UMnHC8/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:43689) Warning: qwen: failed to merge NODE_EXTRA_CA_CERTS "/tmp/qwen-ca-inspect-BzUlDE/operator.pem" with the daemon cert "/tmp/qwen-ca-inspect-BzUlDE/daemon.pem": ENOENT: no such file or directory, stat '/tmp/qwen-ca-inspect-BzUlDE/operator.pem'; channel workers will trust only the daemon cert
(node:43689) Warning: qwen: failed to merge NODE_EXTRA_CA_CERTS "/tmp/qwen-ca-inspect-BzUlDE/operator.pem" with the daemon cert "/tmp/qwen-ca-inspect-BzUlDE/daemon.pem": Inspecting NODE_EXTRA_CA_CERTS failed before its contents could be judged.; channel workers will trust only the daemon cert
(node:43689) Warning: qwen: failed to merge NODE_EXTRA_CA_CERTS "/tmp/qwen-ca-dedup-JNDQK3/operator.pem" with the daemon cert "/tmp/qwen-ca-dedup-JNDQK3/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:43689) Warning: qwen: failed to merge NODE_EXTRA_CA_CERTS "/tmp/qwen-ca-family-eaQQfT/operator.pem" with the daemon cert "/tmp/qwen-ca-family-eaQQfT/daemon.pem": ENOENT: no such file or directory, stat '/tmp/qwen-ca-family-eaQQfT/operator.pem'; channel workers will trust only the daemon cert
(node:43689) Warning: qwen: failed to merge NODE_EXTRA_CA_CERTS "/tmp/qwen-ca-family-eaQQfT/operator.pem" with the daemon cert "/tmp/qwen-ca-family-eaQQfT/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:43689) Warning: qwen: failed to merge NODE_EXTRA_CA_CERTS "/tmp/qwen-ca-relapse-zUFa8d/operator.pem" with the daemon cert "/tmp/qwen-ca-relapse-zUFa8d/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:43689) Warning: qwen: failed to merge NODE_EXTRA_CA_CERTS "/tmp/qwen-ca-relapse-zUFa8d/operator.pem" with the daemon cert "/tmp/qwen-ca-relapse-zUFa8d/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:43689) Warning: qwen: failed to merge NODE_EXTRA_CA_CERTS "/tmp/qwen-ca-cause-uof1A1/operator.pem" with the daemon cert "/tmp/qwen-ca-cause-uof1A1/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:43689) Warning: qwen: failed to merge NODE_EXTRA_CA_CERTS "/tmp/qwen-ca-nodaemon-oXOTWK/operator.pem" with the daemon cert "/tmp/qwen-ca-nodaemon-oXOTWK/daemon.pem": the daemon cert holds no PEM certificate block to merge into; channel workers will trust only the daemon cert
(node:43689) Warning: qwen: failed to merge NODE_EXTRA_CA_CERTS "/tmp/qwen-ca-enospc-BKPUXB/operator.pem" with the daemon cert "/tmp/qwen-ca-enospc-BKPUXB/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) 1378ms
✓ src/commands/review/submit.test.ts (121 tests) 119ms
✓ src/serve/workspace-service/__tests__/facade.test.ts (114 tests) 183ms
✓ src/serve/daemon-git-worktree-guard.test.ts (463 tests | 4 skipped) 274ms
✓ src/commands/review/check-coverage.test.ts (107 tests) 130ms
✓ src/ui/hooks/slashCommandProcessor.test.ts (125 tests) 8681ms
✓ useSlashCommandProcessor > Initialization and Command Loading > rebuilds commands when an MCP server connects (surfaces MCP prompts in /) 307ms
✓ useSlashCommandProcessor > Initialization and Command Loading > ignores non-connected MCP status changes (no rebuild) 405ms
✓ useSlashCommandProcessor > Lifecycle > skips content auto-refresh while package reload is needed 358ms
✓ 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 ]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 (node:44245) 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)
✓ src/gemini.test.tsx (76 tests) 6212ms
✓ gemini.tsx main function > relaunches before config load and preserves only private managed ACP activation 528ms
✓ gemini.tsx main function > should skip full settings discovery in bare mode 512ms
✓ 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 504ms
✓ 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 501ms
✓ gemini.tsx main function > does not inject sandbox session ID when argv contains -r 504ms
✓ gemini.tsx main function > does not inject sandbox session ID when argv contains --session-id 503ms
✓ gemini.tsx main function > inserts the sandbox session ID before the argument separator 503ms
✓ src/commands/channel/daemon-worker.test.ts (85 tests) 1711ms
✓ src/commands/review/submit-aone.test.ts (90 tests) 72ms
✓ src/serve/fs/workspace-file-system.test.ts (149 tests) 445ms
✓ src/serve/routes/workspace-management.test.ts (130 tests) 1190ms
✓ src/commands/review/lib/retirement.test.ts (146 tests) 83ms
✓ src/ui/components/shared/text-buffer.test.ts (159 tests) 116ms
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-wFKkAd/tmp/7a83ebef416cb5d1622cd65897ae5bb7d39897beeec0e8c37e7115cda44b049c/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-9WF2zY/tmp/a5d2be0097070fa7cbcd2b132ef0cb1fb4a72e1617173b181a423c805a8d66a6/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-a19Geq/tmp/200e2c6291b07e9257023612432c5bed7b670c3dc24c717ebcff6e727763ae82/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-CvUz3g/tmp/22c52d0f81ded1332772dfefbc11952763bf228c48cbad4c95b36466e2cc479c/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-dOplFq/tmp/87275e6c6fb176c7e3831e46d36063d4e5884737f54823a9e933c4c9487c290f/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) 795ms
✓ src/ui/commands/modelCommand.test.ts (111 tests) 75ms
✓ src/commands/review/test-efficacy.test.ts (132 tests) 382ms
✓ runnerFailureReason > calls a suite killed at the deadline one that did not survive 303ms
✓ src/ui/contexts/KeypressContext.test.tsx (118 tests) 2833ms
✓ KeypressContext - Kitty Protocol > Enter key handling > auto-recovers from a stuck paste mode via idle timeout 1254ms
✓ KeypressContext - Kitty Protocol > Enter key handling > does not drop paste content that ends with a partial paste-end marker on idle flush 1203ms
qwen serve: fast-path bootstrap failed, falling back to full startup: Failed to read serve fast path settings from /tmp/qws-fast-path-home-bv0Eeu/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-Ddwm1W/.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-c8HRaG/.qwen/.env cannot set loader-affecting env vars; ignored: NODE_PATH
qwen: settings.env (/tmp/qws-fast-path-loader-env-c8HRaG) 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-KMUaoL/.env cannot set loader-affecting env vars; ignored: NODE_OPTIONS, npm_config_node_options
qwen: .env file /tmp/qws-fast-path-loader-consume-yUbneZ/.env cannot set loader-affecting env vars; ignored: NODE_OPTIONS
qwen: .env file /tmp/qws-fast-path-loader-accum-1-VDOh9S/.env cannot set loader-affecting env vars; ignored: NODE_OPTIONS
qwen: .env file /tmp/qws-fast-path-loader-accum-2-bxcyVJ/.env cannot set loader-affecting env vars; ignored: LD_PRELOAD
qwen: settings.env (/tmp/qws-fast-path-loader-accum-2-bxcyVJ) cannot set loader-affecting env vars; ignored: LD_PRELOAD, NODE_OPTIONS
✓ src/serve/fast-path.test.ts (89 tests) 403ms
✓ CLI entry import boundary > keeps the runQwenServe static source graph free of ACP runtime modules 356ms
✓ src/commands/review/lib/platform/aone.test.ts (114 tests) 23ms
fatal: '/tmp/efficacy-iso-nRTIAC/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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-CZoCec/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-CZoCec/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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-0lAyTE/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-0lAyTE/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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-2q5cfs/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-2q5cfs/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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-H9WoLX/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-H9WoLX/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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-1Z0512/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-1Z0512/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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-xyMP5A/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-xyMP5A/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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-ydrUQH/out.json (0 unreachable, 1 probed, 1 mutant(s), 0 hunk probe(s), 0 finding(s))
fatal: '/tmp/efficacy-iso-ydrUQH/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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-869k5J/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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-bd8aOD/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-bd8aOD/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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-G3bFC5/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-G3bFC5/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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-ylxChr/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-ylxChr/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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-PI2hNq/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-PI2hNq/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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-lzpxmW/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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-qDhGl1/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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-SVViyQ/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-SVViyQ/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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-zPD0hR/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-zPD0hR/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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-mGdSwR/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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-3nNVSa/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 bdbcceaa194b12a0562d4257804a17d4a99948a2 -- packages/lib/src/f.ts failed: fatal: bad revision 'no-such-base-rev'
— no mutants were run
fatal: '/tmp/efficacy-iso-3nNVSa/wt-probe' is not a working tree
fatal: '/tmp/efficacy-iso-4Lwhro/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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-odZjjA/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-IiYjrM'); 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-IiYjrM'); 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-xBDRSX/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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-EBBzzB/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-EBBzzB/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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-IiYjrM'); 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-9vXxiK/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-9vXxiK/wt-probe' is not a working tree
fatal: '/tmp/efficacy-iso-9LtM1G/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-IiYjrM'); 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-IiYjrM'); 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-9hfDKx/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-IiYjrM'); 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-IiYjrM'); 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-uGBUHY/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-IiYjrM'); 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-IiYjrM'); 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-CvPUxa/wt-probe' is not a working tree
fatal: '/tmp/efficacy-iso-QNJub9/wt-probe' is not a working tree
fatal: '/tmp/efficacy-iso-zrmP57/wt-probe' is not a working tree
✓ src/commands/review/test-efficacy.integration.test.ts (30 tests) 4315ms
✓ test-efficacy probe isolation (#6832) > reports mutants skipped for cap when candidates exceed MAX_MUTANTS 394ms
✓ src/commands/review/lib/worktree.test.ts (66 tests) 5012ms
✓ worktreeResidue > keeps the pipeline’s OWN build output out of the ignore-independent view 305ms
✓ worktreeResidue > does not let a wildcard-only rule vouch, however it is spelled 551ms
✓ worktreeResidue > stops believing a committed ignore file once the TREE has edited it 364ms
✓ worktreeResidue > sees residue hidden by an ignore rule the COMMIT does not carry 310ms
✓ worktreeResidue > says UNMEASURED, not clean, when the index-bit oracle cannot run 305ms
✓ src/commands/review/presubmit.test.ts (105 tests) 32ms
✓ src/ui/hooks/vim.test.ts (132 tests) 1083ms
findings: 1 total — 0 Critical, 1 Suggestion, 0 Nice to have; 0 low-confidence. Wrote /tmp/review-findings-nde6Um/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-XV0w42/anchors.json
findings: 2 total — 2 Critical, 0 Suggestion, 0 Nice to have; 1 low-confidence. Wrote /tmp/review-findings-XV0w42/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-i0tYCS/anchors.json
findings: 1 total — 0 Critical, 1 Suggestion, 0 Nice to have; 0 low-confidence. Wrote /tmp/review-findings-i0tYCS/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-lRmRJg/anchors.json
findings: 1 total — 1 Critical, 0 Suggestion, 0 Nice to have; 0 low-confidence. Wrote /tmp/review-findings-lRmRJg/findings.json
findings: wrote 1 anchor request(s) for Step 7 to /tmp/review-findings-JydJoJ/anchors.json
findings: 1 total — 1 Critical, 0 Suggestion, 0 Nice to have; 0 low-confidence. Wrote /tmp/review-findings-JydJoJ/findings.json
findings: wrote 1 anchor request(s) for Step 7 to /tmp/review-findings-7iMFjr/anchors.json
findings: 1 total — 1 Critical, 0 Suggestion, 0 Nice to have; 0 low-confidence. Wrote /tmp/review-findings-7iMFjr/findings.json
findings: 1 total — 1 Critical, 0 Suggestion, 0 Nice to have; 1 low-confidence. Wrote /tmp/review-findings-Dm1gp0/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-1kB3c1/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-1kB3c1/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-HeAAy2/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-HeAAy2/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-j6YA1m/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-7Gfx5K/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-ps8fSc/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-a7INte/anchors.json
findings: 1 total — 1 Critical, 0 Suggestion, 0 Nice to have; 0 low-confidence. Wrote /tmp/review-findings-a7INte/findings.json
✓ src/commands/review/findings.test.ts (120 tests) 55ms
✓ src/serve/daemon-status.test.ts (54 tests) 41ms
✓ src/ui/components/background-view/BackgroundTasksDialog.test.tsx (86 tests) 18124ms
✓ BackgroundTasksDialog > MonitorDetailBody render branches > renders pid when defined, omits when undefined 315ms
✓ BackgroundTasksDialog > MonitorDetailBody render branches > uses singular "1 event" / plural "N events" 395ms
✓ BackgroundTasksDialog > MonitorDetailBody render branches > renders droppedLines only when > 0 539ms
✓ BackgroundTasksDialog > MonitorDetailBody render branches > renders exitCode in subtitle when defined 551ms
✓ BackgroundTasksDialog > MonitorDetailBody render branches > renders "Stopped because" block for completed with auto-stop reason 326ms
✓ BackgroundTasksDialog > dream entries > renders DreamDetailBody with sessions / progress / topics on detail view 427ms
✓ BackgroundTasksDialog > dream entries > shows the "x stop" hint for a running dream entry 322ms
✓ BackgroundTasksDialog > dream entries > omits the topics block entirely while the dream is still running 384ms
✓ BackgroundTasksDialog > dream entries > caps visible topics at 8 and renders a "+N more" tail for overflow 321ms
✓ BackgroundTasksDialog > WorkflowDetailBody budget chip (R2 #15) > renders plain spent (no cap) when uncapped and zero per-phase chips suppressed 353ms
✓ BackgroundTasksDialog > WorkflowDetailBody budget chip (R2 #15) > hides the token chip entirely when both spend and cap are zero/null 334ms
✓ BackgroundTasksDialog > WorkflowDetailBody budget chip (R2 #15) > R1 #6 + R2 #15: surfaces null-sentinel per-phase tokens as `(no phase)` row 460ms
✓ BackgroundTasksDialog > keeps workflow detail open without save while paused 395ms
✓ BackgroundTasksDialog > marks the current phase of a pausing workflow in detail view 374ms
✓ BackgroundTasksDialog > marks the current phase of a paused workflow in detail view 347ms
✓ BackgroundTasksDialog > allows an active pausing workflow to be stopped 437ms
✓ BackgroundTasksDialog > allows an active paused workflow to be stopped 388ms
✓ BackgroundTasksDialog > routes a workflow approval response by approvalId from detail mode 442ms
✓ BackgroundTasksDialog > nested sub-agent display > tags [blocking] only when the whole chain is foreground 372ms
✓ BackgroundTasksDialog > nested sub-agent display > shows the level badge and Parent breadcrumb in a nested child detail 559ms
✓ BackgroundTasksDialog > nested sub-agent display > lists live children in the parent detail Sub-agents section 344ms
✓ BackgroundTasksDialog > nested sub-agent display > falls back to the launch-time parent name when the parent is gone 351ms
✓ BackgroundTasksDialog > subagent observability (issue #6569) > renders the newest activity in full across wrapped lines instead of truncating 402ms
✓ BackgroundTasksDialog > subagent observability (issue #6569) > still truncates non-live activity rows to one line 423ms
✓ BackgroundTasksDialog > subagent observability (issue #6569) > shows the Transcript section with the JSONL trace path 404ms
✓ BackgroundTasksDialog > subagent observability (issue #6569) > renders up to 10 progress rows in the detail view 406ms
✓ BackgroundTasksDialog > subagent observability (issue #6569) > drops only the oldest row at 11 activities 426ms
✓ BackgroundTasksDialog > subagent observability (issue #6569) > keeps the live command visible in a short terminal by dropping older rows 434ms
✓ BackgroundTasksDialog > subagent observability (issue #6569) > keeps the live row visible with a full 10-row history and no transcript (short terminal) 442ms
✓ BackgroundTasksDialog > subagent observability (issue #6569) > renders the full transcript path (wraps instead of truncating) 359ms
✓ src/serve/auth/device-flow.test.ts (47 tests) 44ms
✓ src/commands/review/cleanup.test.ts (68 tests) 75ms
✓ src/commands/review/parse-args.test.ts (138 tests) 96ms
✓ src/commands/review/cost-ledger.test.ts (65 tests) 73ms
✓ src/serve/routes/workspace-qualified-extensions.test.ts (43 tests) 1611ms
✓ extension management v2 REST > times out a legacy update check while its cache refresh stalls 611ms
✓ src/ui/hooks/atCommandProcessor.test.ts (71 tests) 372ms
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) 333ms
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-6CrFv3/secondary/QWEN.md is 17825792 bytes (cap 16777216)
✓ src/serve/workspace-qualified-rest.test.ts (38 tests) 1555ms
✓ src/ui/components/messages/ToolMessage.test.tsx (77 tests) 21624ms
✓ > collapses text/ANSI result for completed collapsible tool 308ms
✓ > shows result for Pending status 355ms
✓ > renders emphasis correctly 346ms
✓ localized badge > shows the localized display name under the zh locale 6737ms
✓ src/ui/components/ModelDialog.test.tsx (60 tests) 496ms
✓ src/serve/acp-http/workspace-qualified-acp.test.ts (48 tests) 897ms
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-nT5D6R" session="550e8400-e29b-41d4-a716-446655440051" error="EISDIR: illegal operation on a directory, read '/tmp/qwen-archive-test-oyy7pE/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-oyy7pE/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-kp0aO9" 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-aCaPrB" session="550e8400-e29b-41d4-a716-446655440018" error="EISDIR: illegal operation on a directory, read '/tmp/qwen-archive-test-WpWtbn/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-WpWtbn/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-HgaHGl" session="550e8400-e29b-41d4-a716-446655440171" error="EISDIR: illegal operation on a directory, read '/tmp/qwen-archive-test-vVulVI/tmp
qwen serve: scheduled task lifecycle update failed action=delete workspace="/tmp/qwen-workspace-3agw3H" session="550e8400-e29b-41d4-a716-446655440086" error="EISDIR: illegal operation on a directory, read '/tmp/qwen-archive-test-df8k08/tmp
✓ src/serve/server/session-archive.test.ts (65 tests) 424ms
✓ src/nonInteractive/io/BaseJsonOutputAdapter.test.ts (109 tests) 142ms
✓ src/ui/utils/MarkdownDisplay.test.tsx (186 tests) 36687ms
✓ > renders nothing for empty text 313ms
✓ > with 'Windows' line endings > renders a fenced code block without a language 336ms
✓ > with 'Windows' line endings > holds back a partial first row, then pops the table in once it terminates 485ms
✓ > with 'Windows' line endings > renders a tall-wrapping table the same way streaming and committed (no flip) 427ms
✓ > with 'Unix' line endings > holds back a partial first row, then pops the table in once it terminates 554ms
✓ > with 'Unix' line endings > renders a tall-wrapping table the same way streaming and committed (no flip) 331ms
✓ > with 'Unix' line endings > releases a mismatched separator once a line follows it (no longer growing) 353ms
✓ src/services/insight/generators/DataProcessor.test.ts (51 tests) 73ms
✓ src/ui/components/SettingsDialog.test.tsx (61 tests) 35750ms
✓ SettingsDialog > Settings Navigation > should navigate down with arrow key 1017ms
✓ SettingsDialog > Settings Navigation > should navigate up with arrow key 566ms
✓ SettingsDialog > Settings Navigation > should navigate with vim keys (j/k) 642ms
✓ SettingsDialog > Settings Navigation > moves focus up through the search box to the tab bar 610ms
✓ SettingsDialog > Settings Toggling > should toggle setting with Enter key 764ms
✓ SettingsDialog > Settings Toggling > should not save number settings below their configured minimum 3139ms
✓ SettingsDialog > Settings Toggling > enum values > toggles enum values with the enter key 397ms
✓ SettingsDialog > Settings Toggling > enum values > loops back when reaching the end of an enum 487ms
✓ SettingsDialog > Settings Toggling > should toggle setting with Space key 540ms
✓ SettingsDialog > Settings Toggling > should handle vim mode setting specially 395ms
✓ SettingsDialog > Scope Selection > should switch between scopes 598ms
✓ SettingsDialog > Scope Selection > should reset to settings focus when scope is selected 518ms
✓ SettingsDialog > Restart Prompt > should show restart prompt for restart-required settings 670ms
✓ SettingsDialog > Restart Prompt > should handle restart request when r is pressed 422ms
✓ SettingsDialog > Escape Key Behavior > should call onSelect with undefined when Escape is pressed 503ms
✓ SettingsDialog > Settings Persistence > should persist settings across scope changes 346ms
✓ SettingsDialog > Error Handling > should handle vim mode toggle errors gracefully 604ms
✓ SettingsDialog > Complex State Management > should track modified settings correctly 709ms
✓ SettingsDialog > Complex State Management > should handle scrolling when there are many settings 1633ms
✓ SettingsDialog > VimMode Integration > should sync with VimModeContext when vim mode is toggled 577ms
✓ SettingsDialog > Specific Settings Behavior > should handle immediate settings save for non-restart-required settings 708ms
✓ SettingsDialog > Specific Settings Behavior > should show restart prompt for restart-required settings 355ms
✓ SettingsDialog > Output Language > treats empty output language as auto 999ms
✓ SettingsDialog > Keyboard Shortcuts Edge Cases > should handle rapid key presses gracefully 519ms
✓ SettingsDialog > Keyboard Shortcuts Edge Cases > should handle Ctrl+C to reset current setting to default 487ms
✓ SettingsDialog > Keyboard Shortcuts Edge Cases > should handle Ctrl+L to reset current setting to default 609ms
✓ SettingsDialog > Keyboard Shortcuts Edge Cases > should handle navigation when only one setting exists 714ms
✓ SettingsDialog > Keyboard Shortcuts Edge Cases > should properly handle Tab navigation between sections 431ms
✓ SettingsDialog > Complex User Interactions > should handle complete user workflow: navigate, toggle, change scope, exit 318ms
✓ SettingsDialog > Complex User Interactions > should allow changing multiple settings without losing pending changes 980ms
✓ SettingsDialog > Complex User Interactions > should maintain state consistency during complex interactions 772ms
✓ SettingsDialog > Complex User Interactions > should handle restart workflow correctly 518ms
✓ SettingsDialog > String Settings Editing > should allow editing and committing a string setting 2888ms
✓ SettingsDialog > Config Tabs and Search > renders the tab bar with all three tabs and a search box 362ms
✓ SettingsDialog > Config Tabs and Search > filters the settings list as the user types 561ms
✓ SettingsDialog > Config Tabs and Search > shows a hint when nothing matches the query 742ms
✓ SettingsDialog > Config Tabs and Search > allows spaces so multi-word queries can be typed 1084ms
✓ SettingsDialog > Config Tabs and Search > routes digits into the search box for non-number settings 856ms
✓ SettingsDialog > Config Tabs and Search > clears the search query on Escape before closing 897ms
✓ SettingsDialog > Config Tabs and Search > clears the query on Escape from the list zone before closing 747ms
✓ SettingsDialog > Config Tabs and Search > shows the data view when navigating to a non-Settings tab 744ms
✓ src/commands/review/lib/convergence.test.ts (76 tests) 22ms
✓ src/serve/channel-settings-store.test.ts (75 tests) 629ms
✓ WorkspaceChannelSettingsStore > preserves an existing secret unless replace or clear is explicit 415ms
✓ src/ui/utils/resumeHistoryUtils.test.ts (57 tests) 30ms
✓ src/commands/review/lib/narrow-diff.integration.test.ts (32 tests) 18282ms
✓ narrowToDelta on real-git captures > keeps only the PR hunks the anchor round did not already cover 590ms
✓ narrowToDelta on real-git captures > never emits a line the PR diff lacks, on the undo-per-feedback round 617ms
✓ narrowToDelta on real-git captures > narrows to a post-anchor file the PR diff also carries 787ms
✓ narrowToDelta on real-git captures > falls back rather than scoping when the captures key a change differently 572ms
✓ narrowToDelta on real-git captures > refuses to narrow a rewrite the delta keys as a rename 710ms
✓ narrowToDelta on real-git captures > emits the full section whole for a hunk-less delta touch 695ms
✓ narrowToDelta on real-git captures > carries the section when a mode change reverts but content stays 817ms
✓ narrowToDelta on real-git captures > carries a mode-only full section the delta touches with content hunks 383ms
✓ narrowToDelta on real-git captures > carries a post-anchor mode flip whose hunks all miss the full capture 720ms
✓ narrowToDelta on real-git captures > carries a post-anchor rename whose hunks all miss the full capture 637ms
✓ narrowToDelta on real-git captures > narrows a plain edit of a file an earlier round renamed 602ms
✓ narrowToDelta on real-git captures > emits the rename header and matching hunks when one round does both 624ms
✓ narrowToDelta on real-git captures > keeps every full hunk a single delta hunk overlaps 637ms
✓ narrowToDelta on real-git captures > carries a netted-undo section whole while its sibling still narrows 697ms
✓ narrowToDelta on real-git captures > carries the section whole when the delta overlaps no hunk the PR diff still carries 569ms
✓ narrowToDelta on real-git captures > carries a change the captures position disjointly in an identical run 580ms
✓ narrowToDelta on real-git captures > carries the divergent hunk when a sibling hunk of the section matches 617ms
✓ narrowToDelta on real-git captures > narrows between FILES, never within one — the invariant, stated once 747ms
✓ narrowToDelta on real-git captures > carries a change the captures display at disjoint positions under disjoint texts 666ms
✓ narrowToDelta on real-git captures > carries a divergent hunk that overlaps an unrelated bystander hunk 596ms
✓ narrowToDelta on real-git captures > carries a divergent hunk whose bystander shares its changed text 687ms
✓ narrowToDelta on real-git captures > accepts a delta whose deletion the PR diff performs too 540ms
✓ narrowToDelta on real-git captures > emits a whole-file deletion the delta performs too 476ms
✓ narrowToDelta on real-git captures > carries the no-trailing-newline marker of a kept hunk 517ms
✓ narrowToDelta on real-git captures > carries a binary-file delta section the full capture also holds 413ms
✓ narrowToDelta on real-git captures > assembles a selected hunk beyond the argument-count ceiling 968ms
✓ narrowToDelta on real-git captures > narrows to a subset that still parses as a diff 561ms
✓ src/commands/review/lib/path-rules.test.ts (243 tests) 47ms
✓ src/serve/create-sub-session.test.ts (39 tests) 1209ms
✓ src/utils/modelConfigUtils.test.ts (60 tests) 94ms
✓ src/ui/components/messages/ToolGroupMessage.test.tsx (55 tests) 12097ms
✓ > Memory-only group with error > memory-only group with errored tool falls through to expanded path 340ms
✓ > Pure parallel agent group: LiveAgentPanel hand-off (dedup) > forwards the height cap only in the live phase (committed phase = no cap) 498ms
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 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) 7226ms
✓ POST /file/upload > accepts an upload of exactly MAX_UPLOAD_BYTES 349ms
✓ POST /file/upload > lands on the 1000th candidate, then 409s when all are occupied 3966ms
✓ POST /file/upload > publishes no file when the client disconnects during admission 341ms
✓ POST /file/upload > frees gate slots when clients disconnect mid body-buffering 546ms
✓ POST /file/upload > frees gate slots when oversized chunked bodies are rejected after admission 412ms
✓ src/ui/voice/voice-transcriber.test.ts (61 tests) 126ms
✓ src/ui/components/MainContent.test.tsx (33 tests) 9286ms
✓ > renders AppHeader inside Static at the top of the static content 347ms
✓ > progressively replays Static items when history exceeds the threshold (issue #3899) 476ms
✓ > renders newly finalized item without a disappear frame when gap is within CHUNK_SIZE (issue #3899) 364ms
✓ > synchronously resets to the first chunk on historyRemountKey change after a full catch-up (Ctrl+O regression, issue #3899) 577ms
✓ > does NOT reset progressive replay when only currentModel changes (PR #4119 regression guard) 639ms
✓ > virtual viewport path (ui.useTerminalBuffer) > requests a full-height measurement only for pending plain-text confirmations 500ms
✓ > virtual viewport path (ui.useTerminalBuffer) > reads pending-only UI state via refs (renderItem callback identity stable across activePtyId flips) 319ms
✓ > virtual viewport path (ui.useTerminalBuffer) > keeps renderItem stable when the viewport height changes without pending content 327ms
✓ > virtual viewport path (ui.useTerminalBuffer) > re-renders pending items when virtual viewport height constraints change 345ms
✓ > gates the pending-region maxHeight backstop on streamingState (#6809) 405ms
✓ src/commands/review/lib/budget.test.ts (76 tests) 37ms
✓ src/serve/channel-worker-group.test.ts (42 tests) 160ms
✓ src/commands/review/lib/ledger.test.ts (79 tests) 116ms
{
"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) 706ms
Wrote null repository context to /tmp/repo-context-dQGJ7j/context.json
Wrote repository context (fake-provider) to /tmp/repo-context-gDl6fN/context.json
Wrote repository context (manifest) to /tmp/repo-context-ejCf4c/base-enabled/context.json
Wrote null repository context to /tmp/repo-context-ejCf4c/base-disabled/context.json
Wrote repository context (fake-provider) to /tmp/repo-context-fc5drf/context.json
Wrote repository context (fake-provider) to /tmp/repo-context-sJ3TTz/base-enabled/context.json
Wrote null repository context to /tmp/repo-context-sJ3TTz/base-disabled/context.json
Wrote null repository context to /tmp/repo-context-u6TATa/context.json
Wrote repository context (manifest) to /tmp/repo-context-7ZgnAH/pr/context.json
Wrote repository context (manifest) to /tmp/repo-context-7ZgnAH/local/context.json
Wrote null repository context to /tmp/repo-context-dXmhvg/context.json
Wrote null repository context to /tmp/repo-context-hoqN0k/null-base/context.json
Wrote null repository context to /tmp/repo-context-hoqN0k/null-base-fetch-failed/context.json
Wrote repository context (fake-provider) to /tmp/repo-context-YqSKei/context.json
Wrote repository context (fake-provider) to /tmp/repo-context-YqSKei/context.json
Wrote repository context (fake-provider) to /tmp/repo-context-R8CyHv/context.json
Wrote repository context (fake-provider) to /tmp/repo-context-qx5LHo/context.json
Wrote null repository context to /tmp/repo-context-dVVMFK/context.json
Wrote null repository context to /tmp/repo-context-bFCVJa/pr/context.json
Wrote null repository context to /tmp/repo-context-bFCVJa/local/context.json
Wrote repository context (fake-provider) to /tmp/repo-context-rpdaUs/context.json
Wrote repository context (manifest) to /tmp/repo-context-L50ATj/context.json
Wrote repository context (fake-provider) to /tmp/repo-context-vyz1Lu/context.json
Wrote repository context (fake-provider) to /tmp/repo-context-8vP2pR/fresh-subdir/context.json
Wrote repository context (fake-provider) to /tmp/repo-context-qUSzO7/context.json
Wrote repository context (manifest) to /tmp/repo-context-cRV7qb/sha256/context.json
Wrote null repository context to /tmp/repo-context-Au3WdQ/pr/context.json
Wrote null repository context to /tmp/repo-context-Au3WdQ/local/context.json
Wrote null repository context to /tmp/repo-context-epoch-aPJww1/ctx.json
Wrote repository context (fake-provider) to /tmp/repo-context-skip-pvj4Js/ctx.json
Wrote null repository context to /tmp/repo-context-epoch-sub-ms-pCENkG/ctx.json
✓ src/commands/review/repo-context.test.ts (45 tests) 11914ms
✓ repo-context providers and trust boundary > uses the trusted base manifest for pull-request opt in and opt out 1394ms
✓ repo-context providers and trust boundary > reads pull-request identity only from the trusted base commit 721ms
✓ repo-context providers and trust boundary > does not let the current tree opt in or opt out of base identity 1382ms
✓ repo-context providers and trust boundary > writes null when the identity is absent at the base commit 611ms
✓ repo-context providers and trust boundary > follows a committed symlink identity like the worktree reader 657ms
✓ repo-context providers and trust boundary > fails closed when a committed identity symlink escapes the tree 587ms
✓ repo-context providers and trust boundary > fails closed when the base identity symlink chain exceeds the hop ceiling 1944ms
✓ repo-context providers and trust boundary > degrades to a null artifact when the base fetch failed 361ms
✓ repo-context providers and trust boundary > fails closed for an invalid or unresolvable base 479ms
✓ repo-context providers and trust boundary > writes null without consulting the worktree when the base never resolved 378ms
✓ repo-context providers and trust boundary > normalizes identity content identically in local and pull-request modes 491ms
✓ repo-context providers and trust boundary > supports recorded linked-worktree paths 560ms
✓ repo-context providers and trust boundary > degrades to a null artifact when the base identity path is a directory 506ms
✓ repo-context providers and trust boundary > reads a broken trailing-slash identity symlink as absent in both modes 576ms
✓ repo-context providers and trust boundary > attaches context from a SHA-256 repository 545ms
✓ repo-context providers and trust boundary > reads a `.`-targeted identity symlink as absent in both modes 618ms
✓ src/nonInteractiveCliCommands.test.ts (52 tests) 85ms
✓ src/nonInteractive/session.test.ts (39 tests) 889ms
✓ src/ui/hooks/useStatusLine.test.ts (82 tests) 239ms
2026-10-24T15:00:32.208Z [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:00:32.221Z [INFO] [DAEMON] msg-0
2026-10-24T15:00:32.221Z [INFO] [DAEMON] msg-1
2026-10-24T15:00:32.221Z [INFO] [DAEMON] msg-2
2026-10-24T15:00:32.221Z [INFO] [DAEMON] msg-3
2026-10-24T15:00:32.221Z [INFO] [DAEMON] msg-4
2026-10-24T15:00:32.221Z [INFO] [DAEMON] msg-5
2026-10-24T15:00:32.221Z [INFO] [DAEMON] msg-6
2026-10-24T15:00:32.221Z [INFO] [DAEMON] msg-7
2026-10-24T15:00:32.221Z [INFO] [DAEMON] msg-8
2026-10-24T15:00:32.221Z [INFO] [DAEMON] msg-9
2026-10-24T15:00:32.221Z [INFO] [DAEMON] msg-10
2026-10-24T15:00:32.221Z [INFO] [DAEMON] msg-11
2026-10-24T15:00:32.221Z [INFO] [DAEMON] msg-12
2026-10-24T15:00:32.221Z [INFO] [DAEMON] msg-13
2026-10-24T15:00:32.221Z [INFO] [DAEMON] msg-14
2026-10-24T15:00:32.221Z [INFO] [DAEMON] msg-15
2026-10-24T15:00:32.221Z [INFO] [DAEMON] msg-16
2026-10-24T15:00:32.221Z [INFO] [DAEMON] msg-17
2026-10-24T15:00:32.221Z [INFO] [DAEMON] msg-18
2026-10-24T15:00:32.221Z [INFO] [DAEMON] msg-19
2026-10-24T15:00:32.221Z [INFO] [DAEMON] msg-20
2026-10-24T15:00:32.221Z [INFO] [DAEMON] msg-21
2026-10-24T15:00:32.221Z [INFO] [DAEMON] msg-22
2026-10-24T15:00:32.221Z [INFO] [DAEMON] msg-23
2026-10-24T15:00:32.221Z [INFO] [DAEMON] msg-24
2026-10-24T15:00:32.221Z [INFO] [DAEMON] msg-25
2026-10-24T15:00:32.221Z [INFO] [DAEMON] msg-26
2026-10-24T15:00:32.221Z [INFO] [DAEMON] msg-27
2026-10-24T15:00:32.221Z [INFO] [DAEMON] msg-28
2026-10-24T15:00:32.221Z [INFO] [DAEMON] msg-29
2026-10-24T15:00:32.221Z [INFO] [DAEMON] msg-30
2026-10-24T15:00:32.221Z [INFO] [DAEMON] msg-31
2026-10-24T15:00:32.221Z [INFO] [DAEMON] msg-32
2026-10-24T15:00:32.221Z [INFO] [DAEMON] msg-33
2026-10-24T15:00:32.221Z [INFO] [DAEMON] msg-34
2026-10-24T15:00:32.221Z [INFO] [DAEMON] msg-35
2026-10-24T15:00:32.221Z [INFO] [DAEMON] msg-36
2026-10-24T15:00:32.221Z [INFO] [DAEMON] msg-37
2026-10-24T15:00:32.221Z [INFO] [DAEMON] msg-38
2026-10-24T15:00:32.221Z [INFO] [DAEMON] msg-39
2026-10-24T15:00:32.221Z [INFO] [DAEMON] msg-40
2026-10-24T15:00:32.221Z [INFO] [DAEMON] msg-41
2026-10-24T15:00:32.221Z [INFO] [DAEMON] msg-42
2026-10-24T15:00:32.221Z [INFO] [DAEMON] msg-43
2026-10-24T15:00:32.221Z [INFO] [DAEMON] msg-44
2026-10-24T15:00:32.221Z [INFO] [DAEMON] msg-45
2026-10-24T15:00:32.221Z [INFO] [DAEMON] msg-46
2026-10-24T15:00:32.221Z [INFO] [DAEMON] msg-47
2026-10-24T15:00:32.221Z [INFO] [DAEMON] msg-48
2026-10-24T15:00:32.221Z [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) 315ms
qwen serve: DELETE /workspace/agents/"partial-target" partial — removed=project remaining=user:/tmp/qwen-serve-agents-SSZKkJ/global/agents/partial-target.md
✓ src/serve/workspace-agents.test.ts (49 tests) 508ms
✓ src/serve/live/live-task-service.test.ts (27 tests) 157ms
qwen: Skipped replay of a goal card whose condition is empty.
✓ src/acp-integration/session/history-replayer.test.ts (52 tests) 71ms
✓ src/commands/channel/start.test.ts (31 tests) 99ms
✓ src/commands/review/pr-context-persist.test.ts (29 tests) 18ms
✓ src/ui/commands/doctorCommand.test.ts (49 tests) 115ms
✓ src/agent-view/pty-host-process.test.ts (50 tests) 2861ms
✓ Agent View PTY host process server > only resolves exited on SIGKILL for a connected (childless) handle 408ms
✓ Agent View PTY host process server > rejects oversized PTY host responses 479ms
✓ Agent View PTY host process server > rejects promptly when the host closes without a response 544ms
✓ src/commands/review/drive.test.ts (54 tests) 3886ms
✓ readiness > polls until the probe passes, and reports how long that took 1515ms
✓ readiness > polls at a bounded RATE — the wait cannot depend on the platform 1009ms
✓ the server name > quotes the paths anyway — the charset and the quoting are two guards 315ms
✓ the verify brief's bound-address recipe actually captures > puts the service's own address in the drive log, not the response body 437ms
✓ src/ui/commands/statsCommand.test.ts (39 tests) 309ms
✓ src/commands/review/publish-assets.test.ts (39 tests) 44ms
✓ src/commands/review/scratch-tree.test.ts (46 tests) 61180ms
✓ runScratchTree > stands up a sibling tree at the commit under review 1036ms
✓ runScratchTree > refuses while repo-local config defines a content filter — checkouts would execute it 1469ms
✓ runScratchTree > screens ANOTHER worktree's per-worktree config, not just this one's 1409ms
✓ runScratchTree > places it BESIDE the review worktree, never inside it 1079ms
✓ runScratchTree > gives two labels two trees — one round runs its shards concurrently 2080ms
✓ runScratchTree > refuses an empty label rather than defaulting to a shared tree 326ms
✓ runScratchTree > cannot be steered out of the temp dir by a crafted label 1330ms
✓ runScratchTree > hands back a PRISTINE tree on reuse — a stale mutant is a wrong verdict 2194ms
✓ runScratchTree > rebuilds over a leftover directory instead of resetting the PARENT checkout 1442ms
✓ runScratchTree > removes a nested repo a probe left behind — `-fd` alone would not 1736ms
✓ runScratchTree > refuses to call a tree pristine when skip-worktree hides a mutant 4177ms
✓ runScratchTree > rebuilds when the leftover has a .git that git cannot use 2006ms
✓ runScratchTree > never fires the user repository's hooks 2257ms
✓ runScratchTree > replaces a node_modules it did not build rather than trusting it 2199ms
✓ runScratchTree > rebuilds rather than resetting a scratch path that is a symlink 1488ms
✓ runScratchTree > clears IGNORED probe state too — pristine means pristine 2103ms
✓ runScratchTree > rebuilds when the tree belongs to a DIFFERENT repository 1570ms
✓ runScratchTree > rebuilds over a .git SYMLINK at the scratch path — never resets the main checkout 1288ms
✓ runScratchTree > rebuilds when the scratch .git FILE names the common dir 1238ms
✓ runScratchTree > rebuilds when the scratch .git borrows a SIBLING worktree’s admin entry 2813ms
✓ runScratchTree > ignores a GIT_DIR inherited from the environment 962ms
✓ runScratchTree > is unavailable when the worktree’s .git file is gone — never walked up 363ms
✓ runScratchTree > rebuilds when a submodule was initialized in the tree 3521ms
✓ runScratchTree > refuses a label that flattens to nothing rather than sharing one tree 340ms
✓ runScratchTree > rebuilds the farm on reuse rather than inheriting it 2192ms
✓ runScratchTree > says which harness gap it hit when node_modules holds nothing linkable 1135ms
✓ runScratchTree > says linking FAILED rather than "no node_modules" when the farm throws 1136ms
✓ runScratchTree > leaves the shared review worktree untouched by everything it does 940ms
✓ runScratchTree > reports residue in the shared worktree — the tree others are reading 1123ms
✓ runScratchTree > says how many dirty paths it did NOT list 1324ms
✓ runScratchTree > names every residue shape its own recovery, including the staged ones 1283ms
✓ runScratchTree > reports UNMEASURED rather than clean when the residue check cannot run 860ms
✓ runScratchTree > refuses a CLEAN shared worktree it measured without the fetched sha 1322ms
✓ runScratchTree > measures a CLEAN shared worktree when the caller brings the fetched sha 880ms
✓ runScratchTree > refuses BEFORE any reset or creation when the worktree is not at the fetched sha it brought 440ms
✓ runScratchTree > refuses a fetched sha that is not a full Git object ID 560ms
✓ runScratchTree > folds case when comparing the fetched sha, like the residue pin 1298ms
✓ runScratchTree > links the review worktree’s node_modules in, and says so 992ms
✓ runScratchTree > says a harness will not start when there is nothing to link 858ms
✓ runScratchTree > keeps the measured residue when the tree could not be created 830ms
✓ runScratchTree > the CLI option contract > parses --fetched-sha into the field runScratchTree actually reads 968ms
✓ runScratchTree > the command handler > prints the report before writing the side file 961ms
✓ runScratchTree > the command handler > keeps the report on stdout when the side-file write dies — and exits 1 1021ms
✓ src/serve/conversations/standalone-session-service.test.ts (33 tests) 261ms
(node:116855) 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) 30926ms
✓ > renders nothing visible when data is empty 339ms
✓ > with SCROLL_TO_ITEM_END as initialScrollIndex, anchors at the last item 486ms
✓ > collapses bottom-stuck viewport to measured rows when estimates are too tall 1533ms
✓ > collapses a short bottom-stuck list below the container height 509ms
✓ > reports zero-height shrink so collapsed items leave no blank gap 1194ms
✓ > collapses after measuring changed content at full viewport height 760ms
✓ > targetScrollIndex anchors to that index on first usable render 440ms
✓ > clamps an out-of-range targetScrollIndex instead of freezing the walk-back 772ms
✓ > exposes scrollToEnd via imperative ref and snaps to the last item 1132ms
✓ > scrollToIndex moves scroll anchor to the requested index 805ms
✓ > survives a renderItem that throws (isolates per-item errors) 337ms
✓ > estimator returning NaN/negative is coerced to 0 (no scroll-math poison) 464ms
✓ > handles initialScrollIndex pointing past the end gracefully 464ms
✓ > scrollBy > scrollBy positive moves the viewport down 625ms
✓ > scrollBy > scrollBy negative moves the viewport up and clears sticking-to-bottom 750ms
✓ > scrollBy > scrollBy past bottom re-engages sticking-to-bottom with live end anchor 753ms
✓ > scrollBy > scrollBy clamps to 0 when scrolling past the top 829ms
✓ > scrollTo > scrollTo middle offset positions correctly 811ms
✓ > scrollTo > scrollTo 0 moves to the beginning 868ms
✓ > scrollTo > scrollTo past maxScroll re-engages sticking-to-bottom 906ms
✓ > scrollTo > scrollTo negative is clamped to 0 784ms
✓ > auto-scroll during streaming > auto-scrolls when at bottom and data grows 763ms
✓ > auto-scroll during streaming > does NOT auto-scroll when user has scrolled away from bottom 1142ms
✓ > auto-scroll during streaming > re-engages auto-scroll when user scrolls back to bottom 1240ms
✓ VP collapsed thought groups > releases reserved height when a thought group collapses 1273ms
✓ VP collapsed thought groups > does not lock the render window when a tall thought collapses off-screen 2635ms
✓ VP collapsed thought groups > heals every cached-zero continuation at the viewport top in one pass 2079ms
✓ VP collapsed thought groups > anchors to the first item of a cached-zero run so re-expand stays visible 2010ms
✓ VP collapsed thought groups > re-expands to a non-empty healed frame after collapsing while scrolled 1774ms
✓ VP collapsed thought groups > walks a mid-run targetScrollIndex anchor back to the first item of the run 2087ms
✓ src/serve/workspace-remember.test.ts (36 tests) 343ms
✓ src/nonInteractive/io/StreamJsonOutputAdapter.test.ts (55 tests) 75ms
✓ src/commands/review/run.test.ts (51 tests) 105ms
✓ src/ui/utils/commandUtils.test.ts (81 tests) 197ms
✓ src/commands/review/lib/anchors.test.ts (70 tests) 294ms
✓ src/cli.test.ts (55 tests) 2921ms
✓ bootstrap import boundaries > publishes the daemon compile cache without overriding user policy 474ms
✓ bootstrap import boundaries > reloads the CLI through a stable shim after an update 302ms
✓ bootstrap import boundaries > resolves and pins managed updates from the configured home 1447ms
✓ src/acp-integration/service/filesystem.test.ts (34 tests) 131ms
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) 1207ms
✓ src/serve/server/telemetry.test.ts (66 tests) 54ms
✓ src/commands/review/lib/sandboxed-exec.test.ts (38 tests | 1 skipped) 153ms
✓ src/serve/live/live-session-coordinator.test.ts (25 tests) 1635ms
qwen: .env file /tmp/qwen-runtime-env-O5bfeu/.env cannot set loader-affecting env vars; ignored: NODE_OPTIONS, NPM_CONFIG_NODE_OPTIONS
qwen: settings.env (/tmp/qwen-runtime-env-O5bfeu) cannot set loader-affecting env vars; ignored: BASH_ENV, NPM_CONFIG_NODE_OPTIONS
qwen: settings.env (/tmp/qwen-runtime-env-xemgdZ) cannot set loader-affecting env vars; ignored: BASH_ENV, NODE_OPTIONS
qwen: .env file /tmp/qwen-runtime-env-cjhcKk/.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-kj0e0L/.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-4LjhGh/.qwen/.env cannot set loader-affecting env vars; ignored: NODE_OPTIONS, NODE_PATH, LD_PRELOAD
qwen: .env file /tmp/qwen-runtime-env-mzGrJ6/.env cannot set loader-affecting env vars; ignored: NODE_OPTIONS, npm_config_node_options
qwen: .env file /tmp/qwen-runtime-env-frC05i/.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-qHuSwt/.env cannot set loader-affecting env vars; ignored: npm_config_userconfig, ZDOTDIR
qwen: settings.env (/tmp/qwen-runtime-env-1ObTEE) cannot set loader-affecting env vars; ignored: BASH_FUNC_id%%
✓ src/config/environment.test.ts (30 tests) 45ms
✓ src/acp-integration/session/emitters/tool-call-emitter.test.ts (63 tests) 44ms
✓ src/commands/review/lib/deadline.test.ts (58 tests) 36ms
✓ src/ui/components/shared/vim-buffer-actions.test.ts (74 tests) 29ms
✓ src/ui/commands/languageCommand.test.ts (62 tests) 107ms
✓ src/ui/commands/exportCommand.test.ts (40 tests) 121ms
✓ src/commands/review/lib/run-ledger.test.ts (72 tests) 53ms
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) 12022ms
✓ serve startup import boundary > reaches listening through the dev entrypoint without loading interactive Ink internals first 10649ms
✓ src/ui/hooks/useResumeCommand.test.ts (16 tests) 77ms
✓ src/serve/bridge-file-system-adapter.test.ts (42 tests) 174ms
✓ src/ui/hooks/useProviderUpdates.test.ts (31 tests) 519ms
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) 76ms
✓ src/config/shared-env-keys.test.ts (46 tests) 24ms
✓ src/ui/hooks/useHistoryManager.test.ts (29 tests) 116ms
✓ src/commands/review/lib/review-footer.test.ts (71 tests) 52ms
✓ src/ui/components/messages/ToolConfirmationMessage.test.tsx (40 tests) 9098ms
✓ ToolConfirmationMessage > renders classifier fallback guidance and the Default Mode option 426ms
✓ ToolConfirmationMessage > external editor option > resolves ordinary IDE edits but skips confirmations that have no IDE diff 1122ms
✓ src/ui/hooks/useMessageQueue.test.ts (51 tests) 133ms
✓ src/acp-integration/session-model-persistence.test.ts (33 tests) 21ms
✓ src/acp-integration/session/SubAgentTracker.test.ts (34 tests) 649ms
✓ src/commands/review/save-artifact.test.ts (65 tests | 1 skipped) 118ms
✓ src/serve/channel-worker-manager.test.ts (39 tests) 522ms
✓ src/ui/hooks/useBranchCommand.test.ts (39 tests) 120ms
✓ src/commands/mcp/reconnect.test.ts (32 tests) 33ms
✓ src/ui/utils/TableRenderer.test.tsx (74 tests) 16141ms
✓ > stays stable across multiple content widths 1549ms
✓ > streaming table rendering (format stability) > widens the table when a wider row is appended (redraw on wider) 422ms
✓ > streaming table rendering (format stability) > picks the vertical format for a tall-wrapping first row 406ms
✓ src/ui/commands/copyCommand.test.ts (43 tests) 48ms
✓ src/ui/hooks/useCommandCompletion.test.ts (38 tests) 256ms
✓ src/ui/daemon/daemon-tui-adapter.test.ts (19 tests) 54ms
✓ src/config/settingsWatcher.test.ts (46 tests) 82ms
✓ src/commands/review/lib/manifest-repository-context.test.ts (60 tests) 4513ms
✓ manifest repository context provider > accepts a scan visiting exactly the visited-entry ceiling 435ms
✓ manifest repository context provider > fails closed when cumulative matching work exceeds the budget 683ms
✓ manifest repository context provider > accepts matching work sitting exactly at the budget 389ms
✓ src/serve/prompt-terminal-ledger.test.ts (34 tests) 260ms
✓ src/agent-view/supervisor-server.test.ts (28 tests) 409ms
✓ src/ui/hooks/useSelectionList.test.ts (53 tests) 180ms
✓ src/ui/hooks/session-swap-telemetry.test.ts (10 tests) 97ms
✓ src/ui/hooks/useToolScheduler.test.ts (24 tests) 138ms
✓ src/config/settingsUtils.test.ts (54 tests) 17ms
✓ src/serve/live/qwen-realtime-session.test.ts (23 tests) 63ms
✓ src/commands/review/lib/diff-plan.test.ts (47 tests) 72ms
✓ src/ui/hooks/useSlashCompletion.test.ts (30 tests) 820ms
✓ src/serve/scheduled-task-keepalive.test.ts (28 tests) 531ms
✓ src/nonInteractive/control/ControlDispatcher.test.ts (36 tests) 34ms
✓ src/serve/live/live-host-coordinator.test.ts (37 tests) 470ms
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
qwen serve: session reaper started (interval 60000ms, idle 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) 881ms
{
"port": 42549,
"baseUrl": "http://127.0.0.1:42549/v1",
"logPath": "/tmp/mp-TxHZY8/req.jsonl",
"note": "mock provider on port 42549; every request is appended to /tmp/mp-TxHZY8/req.jsonl as JSONL — diff those between two trees and the difference is evidence"
}
mock-provider: mock provider on port 42549; every request is appended to /tmp/mp-TxHZY8/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) 1455ms
✓ the entry points nothing had driven > the CLI handler writes the report, and its TTL is in SECONDS 1002ms
✓ src/serve/channel-management-service.test.ts (33 tests) 432ms
✓ createChannelManagementService > lists sanitized config, secret presence, startup selection, and runtime 337ms
✓ src/nonInteractive/nonInteractiveHelpers.test.ts (45 tests) 29ms
✓ src/commands/review/lib/transcripts.test.ts (38 tests) 33ms
✓ src/ui/standalone-update.test.ts (45 tests) 25ms
✓ src/ui/components/extensions/ExtensionsManagerDialog.test.tsx (23 tests) 10606ms
✓ ExtensionsManagerDialog (tabbed) > shows discovered plugins on the Discover tab 343ms
✓ ExtensionsManagerDialog (tabbed) > opens a CC-style plugin detail with an inline scope selector on Enter 504ms
✓ ExtensionsManagerDialog (tabbed) > windows a long Discover list with a scroll hint and count header 337ms
✓ ExtensionsManagerDialog (tabbed) > filters the Discover list as you type 336ms
✓ ExtensionsManagerDialog (tabbed) > prompts to add a marketplace when none discovered 300ms
✓ ExtensionsManagerDialog (tabbed) > nests extension-bundled MCP servers under their extension on the Installed tab 675ms
✓ ExtensionsManagerDialog (tabbed) > shows needs-authentication for an MCP that failed auth instead of a bare active state 302ms
✓ ExtensionsManagerDialog (tabbed) > disables an extension-bundled MCP server individually with Space 565ms
✓ ExtensionsManagerDialog (tabbed) > toggles favorite when pressing f on the Installed tab 423ms
✓ ExtensionsManagerDialog (tabbed) > moves a plugin into the Favorites group after favoriting (regroup/reload) 387ms
✓ ExtensionsManagerDialog (tabbed) > shows a CC-style marketplace detail with installed plugins and actions 953ms
✓ ExtensionsManagerDialog (tabbed) > collapses a long installed-plugins list in the marketplace detail 579ms
✓ ExtensionsManagerDialog (tabbed) > retries a failed marketplace load when R is pressed 761ms
✓ ExtensionsManagerDialog (tabbed) > Browse plugins jumps to Discover filtered by the marketplace 1052ms
✓ ExtensionsManagerDialog (tabbed) > switches tabs with the Tab key 488ms
✓ ExtensionsManagerDialog (tabbed) > closes on Escape from a tab root 448ms
✓ ExtensionsManagerDialog (tabbed) > does not close on Escape while a tab sub-view is open 586ms
✓ ExtensionsManagerDialog (tabbed) > opens the install-extension input view on Enter 475ms
✓ src/serve/pem-certificate-blocks.test.ts (52 tests) 5980ms
✓ extractCertificateBlocks > reads past a headed NON-certificate block to the certificates behind it 447ms
✓ extractCertificateBlocks > normalizes every loader-trimmed marker and separator byte 394ms
✓ src/ui/hooks/use-voice-input.test.ts (24 tests) 234ms
✓ src/serve/virtual-subagent-sessions.test.ts (22 tests) 416ms
✓ src/ui/utils/historyMapping.test.ts (38 tests) 10ms
✓ src/utils/installationInfo.test.ts (41 tests) 18ms
✓ src/utils/errors.test.ts (42 tests) 65ms
✓ src/ui/components/background-view/LiveAgentPanel.test.tsx (29 tests) 7632ms
✓ > clears the 1s tick interval when unmounted with live work in flight 491ms
✓ > re-pulls recentActivities from the live registry on each tick 396ms
✓ > shows terminal status briefly then falls off after the visibility window 359ms
✓ > reconciles snapshots the live registry no longer knows about as neutral-finished 380ms
✓ > keeps the success glyph for entries the registry still tracks (non-synthesized) 326ms
✓ > keeps terminal snapshots visible until the TTL even when the registry forgot them 379ms
✓ src/nonInteractive/io/JsonOutputAdapter.test.ts (37 tests) 70ms
✓ src/config/settingsSchema.test.ts (47 tests) 31ms
✓ src/nonInteractive/control/controllers/permissionController.test.ts (29 tests) 618ms
✓ src/ui/components/StandaloneSessionPicker.test.tsx (19 tests) 662ms
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) 32ms
✓ src/ui/components/SkillReviewDialog.test.tsx (33 tests) 17847ms
✓ SkillReviewDialog > renders the first pending skill name and description with a counter 475ms
✓ SkillReviewDialog > does not overflow a width-constrained container (right border stays visible) 315ms
✓ SkillReviewDialog > offers keep / discard / bulk / turn-off options while several remain 466ms
✓ SkillReviewDialog > hides the bulk options for a single-skill batch (they would duplicate keep/discard) 330ms
✓ SkillReviewDialog > hides the bulk options once only the last skill of a batch remains 674ms
✓ SkillReviewDialog > discardAll rejects every remaining skill then closes once 456ms
✓ SkillReviewDialog > renders nothing and closes when there are no skills 498ms
✓ SkillReviewDialog > renders the current staged SKILL.md content inline 883ms
✓ SkillReviewDialog > shows a fallback when the staged file cannot be read 703ms
✓ SkillReviewDialog > shows loading, not the previous skill body, while the next preview loads 797ms
✓ SkillReviewDialog > neutralizes ANSI/VT control sequences in the preview 637ms
✓ SkillReviewDialog > escapes bare control bytes (e.g. BEL) that are not ANSI sequences 681ms
✓ SkillReviewDialog > escapes DEL and C1 control bytes (JSON.stringify leaves these raw) 695ms
✓ SkillReviewDialog > sanitizes the model-generated name and description in the header 663ms
✓ SkillReviewDialog > renders CRLF line endings as ordinary line breaks, not CR escapes 610ms
✓ SkillReviewDialog > still escapes a lone CR that is not part of a CRLF pair 650ms
✓ SkillReviewDialog > reads only a bounded chunk of a huge preview file (no unbounded read) 600ms
✓ SkillReviewDialog > caps the preview by WRAPPED rows, not logical lines 887ms
✓ SkillReviewDialog > flags a byte-truncated preview even when no lines are hidden 767ms
✓ SkillReviewDialog > `o` opens the current skill in the editor 378ms
✓ SkillReviewDialog > Ctrl+O and Cmd+O do not launch the editor 464ms
✓ SkillReviewDialog > refreshes the preview with the saved edits after the editor closes 719ms
✓ SkillReviewDialog > auto-refreshes the preview when the staged file changes on disk 934ms
✓ SkillReviewDialog > `o` does not advance, accept, reject, or close 430ms
✓ SkillReviewDialog > clears a stale editor error when advancing to the next skill 780ms
✓ SkillReviewDialog > keeps the dialog open and the feature untouched when persisting turn-off fails 479ms
✓ SkillReviewDialog > the retired `t` hotkey is inert 491ms
✓ src/config/trustedFolders.test.ts (42 tests) 39ms
✓ src/commands/review/extract-step.test.ts (50 tests) 102ms
✓ src/ui/components/messages/AskUserQuestionDialog.test.tsx (35 tests | 1 skipped) 13929ms
✓ > rendering > renders header for single question 348ms
✓ > single-select interaction > selects an option with Enter and submits immediately for single question 587ms
✓ > single-select interaction > auto-submits when pressing a number key for a predefined option 579ms
✓ > single-select interaction > does not auto-submit pasted numeric prefixes as option numbers 589ms
✓ > single-select interaction > does not auto-submit when pressing number key for "Other" custom input 684ms
✓ > single-select interaction > cancels with Escape 579ms
✓ > single-select interaction > navigates with selection shortcuts when custom input is not focused 680ms
✓ > single-select interaction > navigates with Ctrl+N/P when custom input is not focused 723ms
✓ > single-select interaction > keeps bare k/j in custom input while Ctrl+P/N still navigates options 1137ms
✓ > multi-select interaction > does not auto-submit when pressing number key in multi-select mode 676ms
✓ > multi-select interaction > toggles options with Space 554ms
✓ > multi-select interaction > auto-selects custom input and submits on Enter after typing 1076ms
✓ > multi-select interaction > does not submit when Enter pressed on empty custom input 793ms
✓ > multi-select interaction > submits predefined options together with custom input 1024ms
✓ > multiple questions > does not auto-submit when pressing number key on Submit tab 706ms
✓ > focus behavior > does not respond to keys when isFocused is false 606ms
✓ src/commands/review/presubmit.aone.test.ts (33 tests) 19ms
(node:141550) [DEP0205] DeprecationWarning: `module.register()` is deprecated. Use `module.registerHooks()` instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:141570) [DEP0205] DeprecationWarning: `module.register()` is deprecated. Use `module.registerHooks()` instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:141582) [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) 5175ms
✓ Conversation runtime ownership > arbitrates real child processes and reclaims a crashed owner after grace 1064ms
✓ Conversation runtime ownership > fails closed for an active foreign owner and permits a later retry 1009ms
✓ Conversation runtime ownership > waits one grace after reclaiming both ownership records 330ms
✓ Conversation runtime ownership > turns missing or foreign state after acquire into terminal compromise 347ms
✓ Conversation runtime ownership > does not unlink a record that changes before release 306ms
[channel-registry] Invalid management metadata in "invalid-session-scope-default" channel: Channel defaultSessionScope is invalid.
✓ src/commands/channel/channel-registry.test.ts (42 tests) 513ms
✓ channel registry > publishes a plugin session-scope descriptor once with its runtime default 487ms
✓ src/services/prompt-processors/shellProcessor.test.ts (35 tests) 44ms
✓ 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) 20ms
✓ src/ui/utils/terminal-resize-reflow.test.ts (38 tests) 113ms
✓ src/ui/hooks/shellCommandProcessor.test.ts (23 tests) 429ms
✓ src/ui/utils/osc8.test.ts (99 tests) 27ms
✓ src/ui/components/shared/text-buffer-external-editor.test.ts (36 tests) 86ms
✓ src/ui/commands/clearCommand.test.ts (16 tests) 65ms
✓ src/ui/components/Footer.test.tsx (34 tests) 12131ms
✓ > refreshes the scheduled task count after mount 6006ms
✓ > footer rendering (golden snapshots) > renders complete footer on wide terminal 354ms
✓ src/ui/selection/use-text-selection.test.tsx (32 tests) 66ms
✓ 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) 210ms
✓ src/commands/review/issue-9206-repro.test.ts (10 tests) 1735ms
✓ issue #9206 — Step 9 cleanup must not destroy a non-converged run’s certification history > a marker-less kept directory survives a SECOND cleanup once its plan is swept (#9213) 484ms
✓ src/ui/hooks/useBackgroundTaskView.test.ts (18 tests) 79ms
✓ src/serve/routes/workspace-channel-management.test.ts (15 tests) 518ms
✓ workspace Channel management routes > lists catalog and sanitized instances without mutation auth 350ms
✓ src/utils/memoryDiagnostics.test.ts (23 tests) 40ms
✓ src/ui/handleAutoUpdate.test.ts (32 tests) 244ms
qwen serve: Conversations quarantine observer failed; runtime disposal will continue.
✓ src/serve/conversations/conversation-runtime-manager.test.ts (30 tests) 27ms
✓ src/ui/components/HistoryItemDisplay.test.tsx (37 tests) 7304ms
✓ > thinking-block mouse tracking is VP-gated (non-VP scroll fix) > subscribes the click handler without bypassVpGate (stays VP-gated) 343ms
✓ > thinking-block mouse tracking is VP-gated (non-VP scroll fix) > hides the click hint when startup VP overrides an enabled setting 308ms
✓ src/commands/review/lib/layer-audit-gate.test.ts (22 tests) 34ms
✓ src/commands/review/test-delta.test.ts (31 tests) 131ms
✓ src/i18n/languageUtils.test.ts (58 tests) 25ms
✓ src/config/extension-file-watcher.test.ts (23 tests) 23ms
✓ src/commands/review/lib/workspace-scope.test.ts (33 tests) 12ms
✓ src/commands/channel/config-utils.test.ts (50 tests) 16ms
✓ src/ui/commands/directoryCommand.test.tsx (28 tests) 24ms
libpng: invalid IHDR data
EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
second line
✓ src/ui/utils/terminal-image-renderer.test.ts (30 tests) 687ms
✓ src/ui/hooks/useAutoAcceptIndicator.test.ts (21 tests) 99ms
✓ src/startup/startup-prefetch.test.ts (31 tests) 192ms
✓ src/ui/utils/mermaidImageRenderer.test.ts (25 tests) 1691ms
✓ mermaid image renderer > evicts Mermaid image caches by retained byte size 562ms
✓ src/commands/review/issue-context.test.ts (29 tests) 1186ms
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) 19ms
✓ src/ui/commands/summaryCommand.test.ts (35 tests) 237ms
✓ src/serve/workspace-skill-management.test.ts (24 tests) 391ms
✓ src/ui/hooks/useDeleteCommand.test.ts (20 tests) 91ms
✓ src/ui/commands/contextCommand.test.ts (18 tests) 67ms
✓ src/agent-view/pty-host.test.ts (36 tests) 52ms
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) 17861ms
✓ captureLocalDiff — untracked files > includes a brand-new file that `git diff HEAD` cannot see 508ms
✓ captureLocalDiff — untracked files > is the difference between "no changes to review" and a review 918ms
✓ captureLocalDiff — untracked files > carries staged, unstaged and untracked changes in one diff 770ms
✓ captureLocalDiff — untracked files > honours .gitignore — an ignored file is not "untracked work" 790ms
✓ captureLocalDiff — untracked files > handles a filename containing a space 784ms
✓ captureLocalDiff — untracked files > names an oversized untracked file instead of silently dropping it 744ms
✓ captureLocalDiff — untracked files > never claims to have reviewed a directory-shaped untracked entry 653ms
✓ captureLocalDiff — untracked files > records a file git could not diff, and keeps the others 560ms
✓ captureLocalDiff — untracked files > does not capture the review own .qwen/tmp scratch files 685ms
✓ captureLocalDiff — untracked files > reports an oversized tracked diff instead of inlining it 1028ms
✓ captureLocalDiff — untracked files > reviews a dangling symlink instead of skipping it 611ms
✓ captureLocalDiff — untracked files > abandons the untracked pass when the tree has too many, and says so 621ms
✓ captureLocalDiff — untracked files > stops inlining untracked files once the total budget is spent 1654ms
✓ captureLocalDiff — untracked files > can be turned off, restoring the tracked-only scope 521ms
✓ captureLocalDiff — untracked files > does not stage anything — the index and worktree are untouched 703ms
✓ captureLocalDiff — untracked files > scopes to one path with `file`, untracked target included 750ms
✓ captureLocalDiff — untracked files > resolves `file` against the caller’s directory, not the repo root 653ms
✓ captureLocalDiff — untracked files > refuses a `file` outside the repository 509ms
✓ captureLocalDiff — untracked files > reads a glob-shaped filename as a name, not as a pathspec 339ms
✓ captureLocalDiff — untracked files > accepts a valid file whose name merely begins with dots 396ms
✓ captureLocalDiff — untracked files > does not mistake prose about binary patches for a binary file 707ms
✓ captureLocalDiff — untracked files > never claims to have reviewed a binary file 744ms
✓ captureLocalDiff — untracked files > produces a diff the chunk planner can tile 412ms
✓ captureLocalDiff — degenerate repos > survives a repo with no commits (unborn HEAD) 312ms
✓ captureLocalDiff — degenerate repos > survives an unborn HEAD in a SHA-256 repository 466ms
✓ captureLocalDiff — degenerate repos > reports a clean tree as an empty diff, not an error 725ms
✓ src/serve/workspace-providers-status.test.ts (21 tests) 290ms
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) 115ms
✓ src/agent-view/worker-sideband.test.ts (25 tests) 18ms
✓ src/commands/review/lib/workspaces.test.ts (47 tests) 29ms
✓ src/config/hot-reload.test.ts (29 tests) 66ms
✓ src/peerMessaging/peer-messaging.test.ts (20 tests) 1330ms
✓ src/ui/components/messages/CompactToolGroupDisplay.test.tsx (48 tests) 3086ms
✓ — shell timeout plumbing > ignores non-ansi resultDisplay shapes 380ms
✓ src/ui/auth/ProviderSetupSteps.test.tsx (14 tests) 8648ms
✓ ProviderSetupSteps > maps Ctrl+P/N to advanced-config focus navigation 486ms
✓ ProviderSetupSteps > renders predefined editable models with a primary free-form input and recommendations 342ms
✓ ProviderSetupSteps > filters recommended models when typing search while recommendations are focused 1233ms
✓ ProviderSetupSteps > keeps recommended selections out of the free-form model input 456ms
✓ ProviderSetupSteps > deduplicates typed and recommended model IDs on submit 443ms
✓ ProviderSetupSteps > preserves comma-separated model IDs for custom providers 484ms
✓ ProviderSetupSteps > does not mount the model editor before discovery settles 490ms
✓ ProviderSetupSteps > mounts one provider snapshot without promoting new models or dropping unserved selections 600ms
✓ ProviderSetupSteps > lists provider-only models without the recommended endorsement 450ms
✓ ProviderSetupSteps > toggles and submits an unendorsed provider model like a recommended one 1067ms
✓ ProviderSetupSteps > falls back to built-ins after an unavailable catalog 556ms
✓ ProviderSetupSteps > cancels a pending discovery when the step unmounts 496ms
✓ ProviderSetupSteps > submits served recommendations ahead of unserved defaults on a partial catalog 485ms
✓ ProviderSetupSteps > clears the model-ids error on edit after an empty discovery submit 1057ms
✓ src/services/housekeeping/scheduler.test.ts (26 tests) 121ms
✓ src/ui/commands/diffCommand.test.ts (26 tests) 27ms
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) 468ms
✓ src/serve/fs/paths.test.ts (36 tests) 93ms
✓ src/ui/components/MemoryDialog.test.tsx (17 tests) 6665ms
✓ MemoryDialog > opens the project managed memory folder after moving selection down 338ms
✓ MemoryDialog > opens the second visible item with its numeric shortcut 336ms
✓ MemoryDialog > shows an error when opening a managed memory folder fails 389ms
✓ MemoryDialog > moves selection with Ctrl+N/P readline aliases 406ms
✓ MemoryDialog > chains focus list ↑ autoSkillConfirm ↑ autoSkill ↑ autoDream ↑ autoMemory and back down 910ms
✓ MemoryDialog > toggles Auto-skill on Enter and persists to workspace settings 536ms
✓ MemoryDialog > toggles Auto-skill back OFF on Enter (re-disable path) 515ms
✓ MemoryDialog > toggles autoSkillConfirm on Enter and persists to workspace settings 451ms
✓ MemoryDialog > opens the project QWEN.md editor entry when managed memory is unavailable 309ms
✓ MemoryDialog > reflects the persisted value when the dialog is reopened (remounted) 1038ms
✓ src/validateNonInterActiveAuth.test.ts (13 tests) 27ms
✓ src/ui/utils/InlineMarkdownRenderer.test.tsx (32 tests) 6679ms
✓ > markdown link OSC 8 wrapping > does not wrap dangerous schemes (javascript:, data:, file:, …) 727ms
✓ > markdown link OSC 8 wrapping > wraps bare URLs in an OSC 8 envelope when supported 311ms
✓ src/serve/routes/workspace-setup-github.test.ts (16 tests) 416ms
✓ src/services/SkillCommandLoader.test.ts (28 tests) 20ms
✓ src/serve/conversations/conversation-workspace.test.ts (19 tests) 334ms
✓ src/ui/keyMatchers.test.ts (48 tests) 13ms
✓ src/serve/auth/qwen-device-flow-provider.test.ts (12 tests) 11ms
✓ src/ui/commands/renameCommand.test.ts (25 tests) 44ms
✓ src/startup/worktreeStartup.test.ts (18 tests) 13232ms
✓ setupStartupWorktree > creates a worktree with an auto-generated slug for bare --worktree 1349ms
✓ setupStartupWorktree > creates a worktree with an explicit slug 1051ms
✓ setupStartupWorktree > rejects invalid slug characters before any git operation 551ms
✓ setupStartupWorktree > rejects #N PR references when origin remote is missing 789ms
✓ setupStartupWorktree > rejects full GitHub PR URLs when origin remote is missing 739ms
✓ setupStartupWorktree > creates a pr- worktree from FETCH_HEAD when fetch succeeds (local fake remote) 2118ms
✓ setupStartupWorktree > re-attaches to an existing worktree instead of erroring (Phase 6 G1 fix) 1320ms
✓ setupStartupWorktree > refuses to re-attach when an existing dir occupies the slot on a different branch 826ms
✓ setupStartupWorktree > refuses nested worktree creation from inside .qwen/worktrees/ 493ms
✓ persistStartupWorktreeSidecar > adopts a stale marker when re-attaching to an inactive owner 1523ms
✓ persistStartupWorktreeSidecar > keeps the marker when the owner runtime is still active 1073ms
✓ persistStartupWorktreeSidecar > finds an active owner under a repo-subdir relative runtime dir 1268ms
✓ src/commands/review/lib/roster.test.ts (45 tests) 18ms
✓ src/ui/utils/customBanner.test.ts (40 tests) 99ms
✓ src/serve/workspace-git-state.test.ts (18 tests) 543ms
✓ src/ui/utils/updateCheck.test.ts (39 tests) 36ms
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) 171ms
✓ src/acp-integration/acpAgent.worktree.test.ts (3 tests) 187ms
✓ src/nonInteractive/control/controllers/systemController.test.ts (25 tests) 42ms
✓ src/serve/routes/a2ui-action.test.ts (22 tests) 206ms
✓ src/serve/auth.test.ts (31 tests) 14ms
✓ src/ui/hooks/useExtensionUpdates.test.ts (16 tests) 383ms
✓ src/serve/rate-limit.test.ts (28 tests) 1056ms
✓ rateLimit > fail-open > passes through when bucket map is at capacity 976ms
✓ src/acp-integration/session/emitters/MessageEmitter.test.ts (29 tests) 22ms
✓ src/ui/commands/goalCommand.test.ts (65 tests) 64ms
✓ src/services/BundledSkillLoader.test.ts (27 tests) 29ms
✓ src/config/jsonSchemaArg.test.ts (40 tests) 345ms
✓ src/runtime/workspace-remember-errors.test.ts (41 tests) 22ms
✓ src/ui/commands/config-command.test.ts (38 tests) 37ms
✓ src/services/review-worktree-lease.test.ts (22 tests) 4883ms
✓ review worktree leases > protects a worktree created after the lease is registered 655ms
✓ review worktree leases > falls back to removing an unregistered worktree directory 639ms
✓ review worktree leases > keeps the lease when fallback pruning fails 312ms
✓ review worktree leases > removes only worktrees owned by the completed session 582ms
✓ review worktree leases > does not let a child prompt clean up its parent review lease 338ms
✓ review worktree leases > lets explicit review cleanup disarm the finalizer 346ms
✓ src/serve/routes/workspace-settings.test.ts (22 tests) 137ms
✓ src/ui/components/shared/BaseSelectionList.test.tsx (26 tests) 6415ms
✓ BaseSelectionList > Scrolling and Pagination (maxItemsToShow) > should scroll up when activeIndex moves before the visible window 615ms
✓ BaseSelectionList > Scrolling and Pagination (maxItemsToShow) > should handle dynamic scrolling through multiple activeIndex changes 802ms
✓ src/acp-integration/session/rewrite/MessageRewriteMiddleware.test.ts (16 tests) 17ms
✓ src/config/migration/versions/v2-to-v3.test.ts (31 tests) 11ms
✓ src/serve/workspace-registration-store.test.ts (27 tests | 1 skipped) 3558ms
✓ WorkspaceRegistrationStore > persists, deduplicates, and removes workspace paths 2635ms
✓ WorkspaceRegistrationStore > reports lock release failure after a committed write 821ms
✓ src/ui/commands/advisor-command.test.ts (26 tests) 40ms
✓ src/commands/channel/pidfile.test.ts (29 tests) 276ms
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) 3523ms
✓ > Code Changes Display > displays Code Changes when line counts are present 302ms
✓ src/serve/cdp-tunnel/cdp-browser-emulator.test.ts (22 tests) 16ms
✓ src/acp-integration/session/Session.worktree.test.ts (8 tests) 68ms
✓ src/ui/commands/cdCommand.test.ts (22 tests) 193ms
✓ src/commands/channel/memory-intent-classifier.test.ts (38 tests) 2095ms
✓ BridgeChannelMemoryIntentClassifier > keeps all IDs and a 500-entry long-metadata manifest within the code-point budget 2003ms
✓ src/ui/components/agent-view/agentHistoryAdapter.test.ts (35 tests) 14ms
✓ src/ui/components/ModelStatsDisplay.test.tsx (17 tests) 4079ms
✓ > Subagent source attribution > Cost estimation > should display Cost section when pricing is configured 309ms
✓ src/ui/utils/textUtils.test.ts (42 tests) 30ms
✓ src/ui/components/shared/ScrollableList.test.tsx (15 tests) 13459ms
✓ mouse scrolling > routes wheel SGR events to viewport scroll (window shifts) 1284ms
✓ mouse scrolling > preserves the full delta of a coalesced wheel burst 945ms
✓ mouse scrolling > does not crash when hasFocus is false (mouse pipeline inactive) 422ms
✓ mouse scrolling > does not move the rendered window on content-area clicks 729ms
✓ mouse scrolling > drags the scrollbar to scroll the viewport 1100ms
✓ mouse scrolling > drags the scrollbar to an intermediate viewport position 1140ms
✓ mouse scrolling > keeps dragging after the pointer leaves the scrollbar column 1010ms
✓ mouse scrolling > a scrollbar press cancels a still-pending wheel flush 629ms
✓ mouse scrolling > does not start a scrollbar drag when content fits the viewport 407ms
✓ keyboard scroll > Shift+Up scrolls up by 1 line 882ms
✓ keyboard scroll > Shift+Down scrolls down by 1 line 970ms
✓ keyboard scroll > PageUp scrolls up by one page (containerHeight lines) 1047ms
✓ keyboard scroll > PageDown scrolls down by one page 983ms
✓ keyboard scroll > Ctrl+Home scrolls to the very top 983ms
✓ keyboard scroll > Ctrl+End scrolls to the very bottom 926ms
✓ src/utils/housekeeping/cleanup.test.ts (27 tests) 177ms
✓ src/agent-view/supervisor-store.test.ts (17 tests) 247ms
✓ src/config/auth.test.ts (26 tests) 28ms
✓ src/commands/review/script-lint.mock.test.ts (19 tests) 22ms
✓ src/ui/hooks/useSessionSearchInput.test.ts (36 tests) 69ms
✓ src/ui/components/hooks/constants.test.ts (51 tests) 24ms
✓ src/ui/commands/peers-command.test.ts (35 tests) 19ms
✓ src/agent-view/supervisor-runner.test.ts (10 tests) 461ms
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) 187ms
✓ src/ui/voice/voice-keyterms.test.ts (28 tests) 22ms
✓ src/acp-integration/session/repeated-tool-failure-guard.test.ts (38 tests) 14ms
✓ src/commands/review/meta.test.ts (24 tests) 502ms
✓ src/serve/server/persisted-session-list-cache.test.ts (19 tests) 22ms
qwen serve: POST /workspace/memory refused — existing file /tmp/qwen-serve-memory-SjXEW0/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-9esrcL/workspace/QWEN.md'
qwen serve: POST /workspace/memory failed (scope=workspace mode=append): Error: EACCES: permission denied, open '/tmp/qwen-serve-memory-9esrcL/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) 192ms
✓ src/serve/workspace-service/__tests__/integration.test.ts (14 tests) 261ms
✓ src/commands/mcp/add.test.ts (27 tests) 229ms
✓ src/ui/components/Composer.test.tsx (21 tests) 4446ms
✓ Composer > Context and Status Display > renders Footer which handles escape prompt 337ms
✓ Composer > Input and Indicators > forwards the session voice permission ref across input-active toggles 342ms
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) 9ms
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) 3022ms
✓ 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) 20ms
✓ src/ui/components/shared/MaxSizedBox.test.tsx (27 tests) 5350ms
✓ > keeps rows sequential when an ancestor clamps the column height (#6809) 350ms
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-JY8Hkj/wt'
✓ src/commands/review/lib/git.integration.test.ts (12 tests) 5593ms
✓ releaseWorktree > removes a live worktree and reports that it was there 329ms
✓ releaseWorktree > removes an unregistered non-empty leftover git no longer tracks 562ms
✓ releaseWorktree > frees a path whose directory was deleted by hand 308ms
✓ releaseWorktree > unlocks the branch a phantom worktree still holds checked out 483ms
✓ releaseWorktree > is a no-op when there is nothing registered 348ms
✓ releaseWorktree > does not throw when git itself fails 384ms
✓ releaseWorktree > unlinks a symlink at the path instead of releasing the worktree it points at 467ms
✓ releaseWorktree > refuses to release through an ANCESTOR symlink, which lstat cannot see 404ms
✓ releaseWorktree > unlinks a DANGLING symlink, which existsSync cannot see 415ms
✓ gitRawTolerateDiff > returns the diff when git exits 1 because the inputs differ 381ms
✓ gitRawTolerateDiff > throws when git exits 1 with NO output — that is a failure, not a diff 347ms
✓ gitProbe — the exit status the anchor taxonomy rests on > reports 0, the predicate NO, and an error apart from each other 1165ms
✓ src/utils/managed-npm-update.test.ts (14 tests) 921ms
✓ src/ui/commands/btwCommand.test.ts (23 tests) 73ms
✓ src/commands/review/lib/remote-match.test.ts (43 tests) 13ms
✓ src/ui/utils/pending-rendered-height.test.ts (37 tests) 12ms
✓ src/services/CommandService.test.ts (17 tests) 15ms
✓ src/commands/sessions/list.test.ts (25 tests) 28ms
✓ src/serve/large-pipe-frame-observer.test.ts (16 tests) 20ms
✓ src/ui/components/LoadingIndicator.test.tsx (28 tests) 6796ms
✓ > should not render when streamingState is Idle 311ms
✓ > should display whole elapsed seconds below one minute 666ms
✓ > should transition correctly between states using rerender 550ms
✓ src/ui/commands/commands.test.ts (40 tests) 12ms
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) 3081ms
✓ workspace Git branch routes against a real repo (R10 #2) > rejects a commit --all when write-tree cannot snapshot the index 462ms
✓ workspace Git branch routes against a real repo (R10 #2) > does not leak the git root when the workspace is a sub-directory 428ms
✓ workspace Git branch routes against a real repo (R10 #2) > classifies a pull with no tracking information as no_upstream 577ms
✓ workspace Git branch routes against a real repo (R10 #2) > does not misclassify a non-dirty error when the workspace path contains "dirty" 417ms
✓ workspace qualified Git branch routes (input validation) > rejects a cwd that escapes the workspace on mutation endpoints 316ms
✓ workspace qualified Git branch routes (input validation) > lists branches from a real repo via the qualified route 766ms
✓ src/ui/commands/tasksCommand.test.ts (11 tests) 21ms
✓ src/serve/session-id-admission.test.ts (14 tests) 123ms
✓ src/commands/review/comment-status.test.ts (20 tests) 14ms
✓ src/ui/auth/useAuth.test.ts (25 tests) 63ms
✓ src/serve/routes/channel-webhooks.test.ts (25 tests) 129ms
✓ src/config/migration/index.test.ts (30 tests) 15ms
✓ src/ui/systemInfo.test.ts (22 tests) 33ms
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) 182ms
✓ src/dualOutput/DualOutputBridge.test.ts (22 tests) 189ms
✓ src/commands/review/comment-status.aone.test.ts (18 tests) 16ms
✓ src/commands/review/lib/assets.test.ts (62 tests) 15ms
✓ src/serve/external-tool-guard-provider.test.ts (21 tests) 185ms
✓ src/utils/startupProfiler.test.ts (21 tests) 35ms
✓ src/commands/extensions/install.test.ts (17 tests) 31ms
✓ src/agent-view/terminal-bridge.test.ts (17 tests) 50ms
✓ src/ui/commands/arenaCommand.test.ts (16 tests) 42ms
[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) 128ms
✓ src/ui/voice/qwen-asr-realtime-session.test.ts (14 tests) 36ms
✓ src/serve/routes/workspace-permissions.test.ts (11 tests) 272ms
✓ src/ui/components/messages/DiffRenderer.test.tsx (17 tests) 3697ms
✓ > should call colorizeCode with null language for new file with unknown extension 308ms
Wrote diff plan to /tmp/plan-diff-GVSo0L/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-GVSo0L/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-8gW9gO/ceiling.json
Diff: 124 lines (124 source, 0 test, 0 docs, 0 generated) -> 1 review chunk(s)
Wrote diff plan to /tmp/plan-diff-8gW9gO/ceiling-4.json
Diff: 124 lines (124 source, 0 test, 0 docs, 0 generated) -> 1 review chunk(s)
Wrote diff plan to /tmp/plan-diff-8gW9gO/ceiling-20.json
Diff: 124 lines (124 source, 0 test, 0 docs, 0 generated) -> 1 review chunk(s)
Wrote diff plan to /tmp/plan-diff-WNvQUj/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-WNvQUj/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-WNvQUj/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-WNvQUj/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-WNvQUj/bad--1.json
Diff: 9004 lines (9004 source, 0 test, 0 docs, 0 generated) -> 23 review chunk(s)
Wrote diff plan to /tmp/plan-diff-p0rtv8/plan.json
Wrote diff plan to /tmp/plan-diff-uSxtTY/plan.json
Wrote diff plan to /tmp/plan-diff-pT2Qw0/plan.json
Diff: 1204 lines (1204 source, 0 test, 0 docs, 0 generated) -> 4 review chunk(s)
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)
Wrote diff plan to /tmp/plan-diff-uiNT6i/plan.json
Wrote diff plan to /tmp/plan-diff-tvHAIV/plan.json
Wrote diff plan to /tmp/plan-diff-xZZDAp/plan.json
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)
plan-diff: --pr and --repo go together — the roster requires the issue-fidelity agent only when the plan carries the full PR identity.
Wrote diff plan to /tmp/plan-diff-PEgPAm/plan.json
Wrote diff plan to /tmp/plan-diff-qaNChA/plan.json
Wrote diff plan to /tmp/plan-diff-WRXfl5/plan.json
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.
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)
plan-diff: Cannot read diff file /tmp/plan-diff-jVQUbe/absent.diff: ENOENT: no such file or directory, open '/tmp/plan-diff-jVQUbe/absent.diff'
Wrote diff plan to /tmp/plan-diff-Kz1OaX/plan.json
✓ src/commands/review/plan-diff.test.ts (16 tests) 108ms
✓ src/ui/ink-cursor-rendering.test.tsx (20 tests) 115ms
[?25h ✓ src/acp-integration/session/acp-tool-result-text-projection.test.ts (32 tests) 972ms
✓ ACP tool-result text projection > bounds pathological many-block content without collapsing it 560ms
✓ src/nonInteractive/tool-result-boundary-diagnostics.test.ts (11 tests) 13ms
✓ src/config/claudeMcpImport.test.ts (14 tests) 25ms
✓ src/serve/routes/workspace-git-diff.test.ts (16 tests) 123ms
✓ src/serve/daemon-git-worktree-guard.win32-lane.test.ts (479 tests | 49 skipped) 1862ms
✓ src/ui/utils/statsDataService.test.ts (17 tests) 14ms
✓ src/serve/process-env-guard.test.ts (3 tests) 4641ms
✓ serve process.env guard > allows only documented process-scoped process.env expressions 4622ms
✓ src/runtime/live-session-source.test.ts (49 tests) 16ms
✓ src/ui/hooks/useCompletion.test.ts (23 tests) 55ms
✓ src/ui/components/QwenOAuthProgress.test.tsx (18 tests) 4275ms
✓ QwenOAuthProgress > Timer functionality > should countdown and call onTimeout when timer expires 390ms
✓ QwenOAuthProgress > Timer functionality > should update time remaining display 382ms
✓ QwenOAuthProgress > Animated dots > should cycle through animated dots 476ms
✓ QwenOAuthProgress > Props changes > should reset to loading state when deviceAuth becomes null 303ms
✓ src/ui/utils/backgroundWorkUtils.test.ts (20 tests) 16ms
✓ src/ui/commands/aboutCommand.test.ts (12 tests) 19ms
✓ src/ui/hooks/useQwenAuth.test.ts (17 tests) 55ms
✓ src/serve/acp-http/client-mcp-ws.test.ts (5 tests) 111ms
✓ src/ui/hooks/useLoadingIndicator.test.ts (11 tests) 70ms
✓ src/ui/components/messages/InlineParallelAgentsDisplay.test.tsx (12 tests) 2625ms
✓ src/config/daemon-trust-policy.test.ts (16 tests) 1393ms
✓ src/commands/review/base-tree.test.ts (17 tests) 11564ms
✓ runBaseTree > creates a sibling worktree holding the BASE commit, not the head 892ms
✓ runBaseTree > places the base tree BESIDE the review worktree, never inside it 701ms
✓ runBaseTree > builds in the base tree, and only there 741ms
✓ runBaseTree > REUSES an already-built base tree instead of sweeping it (concurrent shards) 1036ms
✓ runBaseTree > returns BUSY instead of sweeping while another probe holds the build lock 674ms
✓ runBaseTree > sweeps a STALE lock instead of reporting busy for the whole review 930ms
✓ runBaseTree > a budget-TRUNCATED build is unavailable but NOT settled — no marker either way 789ms
✓ runBaseTree > a FAILED build is a settled answer — later shards do not re-pay it 771ms
✓ runBaseTree > recovers from a stale base tree left by a crashed run 703ms
✓ runBaseTree > is NOT available when the base tree does not build 592ms
✓ runBaseTree > is NOT available when the build handed off without building anything 751ms
✓ runBaseTree > is NOT available when npm scoped nothing to compile 539ms
✓ runBaseTree > refuses an unreadable plan and a missing worktree without throwing 579ms
✓ runBaseTree > refuses a mergeBaseSha that is not a commit in this repo 599ms
✓ runBaseTree > ignores an exported GIT_DIR redirect when adding the base tree 794ms
✓ src/ui/components/InputPrompt.suggestionMouse.test.tsx (8 tests) 3461ms
✓ InputPrompt suggestion mouse routing > passes the default-source mouse handlers to SuggestionsDisplay 422ms
✓ InputPrompt suggestion mouse routing > uses the startup VP decision for suggestion mouse when the raw setting is unset 435ms
✓ InputPrompt suggestion mouse routing > disables suggestion mouse when ui.mouseTracking is false despite VP being on 376ms
✓ InputPrompt suggestion mouse routing > hovering a suggestion updates the active index on the default source 316ms
✓ InputPrompt suggestion mouse routing > clicking a leaf command auto-submits it (submitOnAccept), matching Enter 543ms
✓ InputPrompt suggestion mouse routing > routes hover/select to the command-search source while command search is active 737ms
✓ InputPrompt suggestion mouse routing > clicking an @folder suggestion dismisses the completion so the dropdown stays closed 426ms
✓ src/utils/apiPreconnect.test.ts (26 tests) 68ms
✓ src/ui/commands/update-command.test.ts (20 tests) 62ms
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-e8079693
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-fa986dcc
using macos seatbelt (profile: permissive-open) ...
using macos seatbelt (profile: permissive-open) ...
✓ src/serve/sandbox.test.ts (27 tests) 128ms
✓ src/commands/review/lib/review-digest-covers-only-bundled.test.ts (6 tests) 9ms
✓ src/config/lsp-config-watcher.test.ts (13 tests) 21ms
✓ src/ui/commands/doctorChecks.test.ts (18 tests) 28ms
✓ src/utils/earlyInputCapture.test.ts (34 tests) 17ms
✓ src/config/sandboxConfig.test.ts (18 tests) 14ms
✓ src/ui/commands/compressCommand.test.ts (14 tests) 28ms
✓ src/services/BuiltinCommandLoader.test.ts (14 tests) 15ms
the bodyreview body ✓ src/commands/review/comment-body.test.ts (18 tests) 574ms
✓ 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) 201ms
✓ src/ui/themes/detect-terminal-theme.test.ts (29 tests) 19ms
✓ src/serve/routes/goals.test.ts (16 tests) 128ms
✓ src/serve/workspace-skills-status.test.ts (11 tests) 213ms
✓ src/utils/acpModelUtils.test.ts (31 tests) 21ms
✓ src/services/housekeeping/non-interactive-scheduler.test.ts (12 tests) 72ms
✓ src/config/settings-cache.test.ts (13 tests) 81ms
✓ src/ui/hooks/useAttentionNotifications.test.ts (13 tests) 46ms
✓ src/ui/commands/restoreCommand.test.ts (16 tests) 195ms
✓ src/commands/review/comment-status.handler.test.ts (10 tests) 17ms
✓ src/serve/routes/workspace-channel-observed-contacts.test.ts (9 tests) 204ms
✓ src/acp-integration/session/rewrite/LlmRewriter.test.ts (15 tests) 9ms
✓ src/serve/live/discovery.test.ts (14 tests) 166ms
✓ src/ui/hooks/atCommandProcessor.session.test.ts (10 tests) 198ms
✓ src/commands/review/lib/diff-plan.integration.test.ts (9 tests) 2072ms
✓ src/utils/sessionPaths.test.ts (8 tests) 65ms
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:22:10.411Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T15:22:10.412Z [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-L89Nhm/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:39335 (mode=http-bridge, workspace=/tmp/qwen-serve-live-L89Nhm/workspace)
qwen serve: bound to workspace "/tmp/qwen-serve-live-L89Nhm/workspace"
qwen serve: startup timing: processToListenMs=3789 runQwenServeToListenMs=109
2026-10-24T15:22:10.948Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qwen-serve-live-L89Nhm/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:22:11.116Z [INFO] [DAEMON] route=GET /live/status durationMs=8 status=200 request completed
2026-10-24T15:22:11.151Z [INFO] [DAEMON] route=POST /live/setup durationMs=18 status=200 request completed
2026-10-24T15:22:11.165Z [INFO] [DAEMON] route=GET /capabilities durationMs=5 status=200 request completed
2026-10-24T15:22:11.173Z [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:22:11.190Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T15:22:11.190Z [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-wNrddl/custom-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 "/tmp/qwen-serve-live-stable-wNrddl/workspace"
qwen serve: startup timing: processToListenMs=4526 runQwenServeToListenMs=5
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on http://127.0.0.1:41541 (mode=http-bridge, workspace=/tmp/qwen-serve-live-stable-wNrddl/workspace)
2026-10-24T15:22:11.196Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qwen-serve-live-stable-wNrddl/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:22:12.246Z [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:22:12.253Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
2026-10-24T15:22:12.253Z [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-oN0Yvj/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-oN0Yvj/workspace-one"
qwen serve: startup timing: processToListenMs=5588 runQwenServeToListenMs=4
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on http://127.0.0.1:41979 (mode=http-bridge, workspace=/tmp/qwen-serve-live-handoff-oN0Yvj/workspace-one)
2026-10-24T15:22:12.256Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qwen-serve-live-handoff-oN0Yvj/workspace-one 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:22:12.279Z [INFO] [DAEMON] projectMemoryScope=workspace projectMemoryScopeRaw=workspace projectMemoryScopeSource=default project memory scope resolved
qwen serve: daemon log → /tmp/qwen-serve-live-handoff-oN0Yvj/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-oN0Yvj/workspace-two"
qwen serve: startup timing: processToListenMs=5614 runQwenServeToListenMs=3
qwen serve: bearer auth disabled (loopback default). Set QWEN_SERVER_TOKEN to enable.
qwen serve listening on http://127.0.0.1:36905 (mode=http-bridge, workspace=/tmp/qwen-serve-live-handoff-oN0Yvj/workspace-two)
2026-10-24T15:22:12.282Z [INFO] [DAEMON] ideEnvPresent=false primary=/tmp/qwen-serve-live-handoff-oN0Yvj/workspace-two 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-24T15:22:12.296Z [WARN] [DAEMON] failed to publish Live Host discovery: The Conversations runtime is owned by another daemon.
2026-10-24T15:22:12.299Z [INFO] [DAEMON] daemon stopped
qwen serve: session reaper started (interval 60000ms, idle threshold 1800000ms)
2026-10-24T15:22:12.364Z [INFO] [DAEMON] daemon stopped
✓ src/serve/live/run-qwen-serve-live.test.ts (3 tests) 2065ms
✓ qwen serve Live Host discovery > publishes the authenticated listener and removes only its own record 882ms
✓ qwen serve Live Host discovery > publishes a stable Host locator alongside a custom runtime record 1063ms
✓ src/ui/selection/screen-buffer.test.tsx (20 tests) 8395ms
✓ ScreenBuffer (Ink frame-controller M0) > exposes the composited frame as addressable cells 377ms
✓ ScreenBuffer (Ink frame-controller M0) > handles wide characters with a leading cell and a spacer 309ms
✓ ScreenBuffer (Ink frame-controller M0) > highlights the selected range before serialization and clears it 354ms
✓ ScreenBuffer (Ink frame-controller M0) > does not leak the highlight onto identical text elsewhere on screen 470ms
✓ ScreenBuffer (Ink frame-controller M0) > publishes exactly one frame per distinct selection change (no loop, deduped) 371ms
✓ ScreenBuffer (Ink frame-controller M0) > publishes soft boundaries and preserves omitted whitespace 427ms
✓ ScreenBuffer (Ink frame-controller M0) > preserves multiple spaces across a direct Ink word wrap 466ms
✓ ScreenBuffer (Ink frame-controller M0) > preserves a tab across a direct Ink word wrap 316ms
✓ ScreenBuffer (Ink frame-controller M0) > preserves wrapped leading indentation 547ms
✓ ScreenBuffer (Ink frame-controller M0) > preserves wrapped whitespace-only content 406ms
✓ ScreenBuffer (Ink frame-controller M0) > keeps renderer background fill out of selected text 443ms
✓ ScreenBuffer (Ink frame-controller M0) > distinguishes explicit hard newlines from exact-width wraps 315ms
✓ ScreenBuffer (Ink frame-controller M0) > preserves empty and whitespace-only hard lines 471ms
✓ ScreenBuffer (Ink frame-controller M0) > rejoins styled CJK and emoji text without duplicating wide cells 444ms
✓ ScreenBuffer (Ink frame-controller M0) > clears a boundary claim when a later write overlaps it 521ms
✓ ScreenBuffer (Ink frame-controller M0) > does not publish a boundary outside a clipping rectangle 356ms
✓ ScreenBuffer (Ink frame-controller M0) > covers visible text after left clipping with boundary claims 503ms
✓ ScreenBuffer (Ink frame-controller M0) > limits boundary claims to the rendered text width 563ms
✓ ScreenBuffer (Ink frame-controller M0) > propagates selectability and producer-supplied boundaries 460ms
✓ src/acp-integration/skill-management.test.ts (6 tests) 25ms
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:183389) 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) 3566ms
✓ createServeApp default bridge wiring > wires the internally-created bridge lifecycle into the workspace registry 631ms
✓ createServeApp default bridge wiring > keeps the same-host write route disabled for an injected filesystem factory 565ms
✓ createServeApp default bridge wiring > wires total admission into the internally-created bridge 491ms
✓ createServeApp default bridge wiring > wires the effective restore timeout into the direct bridge 473ms
✓ createServeApp default bridge wiring > does not let a short initialize timeout lower the restore budget 532ms
✓ createServeApp default bridge wiring > 'derives the scheduled-task budget fro…' 456ms
✓ createServeApp default bridge wiring > 'passes the disable sentinel when the …' 416ms
✓ src/services/setup-github.test.ts (11 tests) 140ms
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) 79ms
✓ src/serve/server/fs-factory.test.ts (13 tests) 225ms
✓ src/ui/commands/curator-command.test.ts (15 tests) 20ms
✓ src/commands/extensions/consent.test.ts (22 tests) 12ms
✓ src/commands/extensions/settings.test.ts (20 tests) 68ms
✓ src/ui/components/StatusLineDialog.test.tsx (8 tests) 4837ms
✓ StatusLineDialog > renders a searchable preset picker with preview 310ms
✓ StatusLineDialog > persists selected presets on enter 559ms
✓ StatusLineDialog > keeps preset priority order after an item is toggled off and on 1670ms
✓ StatusLineDialog > saves hideContextIndicator=false back to the effective workspace scope 451ms
✓ StatusLineDialog > saves hideContextIndicator=true back to the effective workspace scope 416ms
✓ StatusLineDialog > preserves an explicit command indicator setting when saving a preset 446ms
✓ StatusLineDialog > does not copy a user override into workspace settings 507ms
✓ StatusLineDialog > does not append navigation keys to the search query 474ms
✓ src/commands/review/lib/repository-context.test.ts (12 tests) 28ms
✓ src/utils/cpuProfiler.test.ts (21 tests) 18ms
✓ src/serve/routes/workspace-skills.test.ts (8 tests) 77ms
✓ src/serve/workspace-route-runtime.test.ts (26 tests) 16ms
✓ src/serve/serve-app-lifecycle.test.ts (11 tests) 142ms
✓ src/ui/components/hooks/HooksManagementDialog.test.tsx (8 tests) 5705ms
✓ HooksManagementDialog > should allow Escape to close during loading state 351ms
✓ HooksManagementDialog > should register the keypress handler with isActive: true 357ms
✓ HooksManagementDialog > should render HOOKS_DISABLED step on first render when disableAllHooks is true 390ms
✓ HooksManagementDialog > should close dialog on Escape when disableAllHooks is true 463ms
✓ HooksManagementDialog > should navigate from a matcher hook to matcher detail 940ms
✓ HooksManagementDialog > should navigate from matcher detail to config detail 1100ms
✓ HooksManagementDialog > should navigate directly from a non-matcher hook to config detail 1880ms
qwen serve: runtime startup failed after listener was ready: runtime boom
✓ src/serve/fast-path-open.test.ts (7 tests) 416ms
✓ src/serve/routes/workspace-qualified-voice.test.ts (8 tests) 178ms
✓ src/serve/routes/workspace-local-control.test.ts (11 tests) 245ms
✓ src/services/voice-service.test.ts (12 tests) 22ms
✓ src/ui/commands/learn-command.test.ts (17 tests) 81ms
✓ src/serve/server/error-response.test.ts (29 tests) 16ms
✓ src/ui/components/RewindSelector.test.tsx (10 tests) 4687ms
✓ RewindSelector > navigates the pick list with Ctrl+P/N readline aliases 329ms
✓ RewindSelector > navigates the pick list with arrow keys and cancels with Escape 489ms
✓ RewindSelector > renders restore options with diff stats for the selected turn 459ms
✓ RewindSelector > returns from restore options to the pick list on Escape 596ms
✓ RewindSelector > falls back to conversation-only options when diff stats fail 334ms
✓ RewindSelector > does not request diff stats when the selected turn has no prompt id 363ms
✓ RewindSelector > confirms a conversation-only rewind when checkpointing is disabled 465ms
✓ RewindSelector > returns to the pick list when legacy confirm receives n 464ms
✓ RewindSelector > returns to the pick list when legacy confirm receives Escape 389ms
✓ RewindSelector > blocks restore-option keypresses while rewind is pending 796ms
✓ src/serve/fs/audit.test.ts (13 tests) 10ms
✓ src/services/commandMetadata.test.ts (37 tests) 8ms
✓ src/ui/commands/extensionsCommand.test.ts (12 tests) 23ms
✓ src/commands/mcp/list.test.ts (9 tests) 28ms
✓ src/serve/env-snapshot.test.ts (15 tests) 452ms
✓ src/ui/hooks/useTrustModify.test.ts (11 tests) 48ms
✓ src/serve/routes/session-telemetry.test.ts (9 tests) 100ms
✓ src/acp-integration/session/daemon-todo-stop-guard.test.ts (20 tests) 11ms
✓ src/acp-integration/child-heap-probe.test.ts (13 tests) 228ms
✓ src/acp-integration/session/Session.review-lease.test.ts (4 tests) 34ms
✓ src/ui/hooks/useMouseEvents.test.tsx (11 tests) 42ms
✓ src/serve/cdp-tunnel/cdp-reverse-link.test.ts (14 tests) 17ms
✓ src/serve/daemon-metrics-ring.test.ts (17 tests) 11ms
✓ src/ui/components/hooks/HookConfigDetailStep.test.tsx (17 tests) 3630ms
✓ HookConfigDetailStep > should render hook details title 311ms
✓ HookConfigDetailStep > should handle different event types 545ms
✓ src/ui/components/messages/ConversationMessages.test.tsx (22 tests) 5081ms
✓ > advertises click in the collapsed hint only when clickable (VP mode) 453ms
✓ > should describe a 0ms completed thought as brief 437ms
✓ > should show full content when pending and expanded 313ms
✓ src/commands/review/capture-local.test.ts (12 tests) 88ms
✓ src/ui/statusLinePresets.test.ts (18 tests) 8ms
✓ src/serve/fs/contract.test.ts (10 tests) 177ms
✓ src/commands/review/lib/platform/registry.test.ts (18 tests) 11ms
✓ src/ui/themes/color-utils.test.ts (23 tests) 11ms
✓ src/serve/channel-workspace-grouping.test.ts (17 tests) 10ms
✓ src/utils/conversation-directory-identity.test.ts (12 tests) 150ms
✓ src/serve/routes/live.test.ts (9 tests) 85ms
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) 513ms
✓ src/ui/components/Help.test.tsx (8 tests) 3268ms
✓ Help Component > renders built-in commands in the commands tab without custom command clutter 348ms
✓ Help Component > switches tabs with Tab and Shift+Tab when interactive 466ms
✓ Help Component > scrolls long command lists with the up and down keys 622ms
✓ Help Component > resets scroll position when switching command tabs 972ms
✓ src/utils/warningHandler.test.ts (13 tests) 320ms
✓ initializeWarningHandler — end-to-end stderr behavior > a child process with the handler installed does not print suppressed AbortSignal warnings to stderr 309ms
✓ src/ui/hooks/useShellHistory.test.ts (9 tests) 823ms
✓ src/ui/commands/compressFastCommand.test.ts (11 tests) 18ms
✓ src/commands/review/lib/prompt-record.test.ts (14 tests) 5ms
✓ src/serve/server/access-log.test.ts (10 tests) 25ms
qwen serve: /acp WS error: test error
✓ src/serve/acp-http/ws-stream.test.ts (22 tests) 124ms
✓ src/commands/extensions/update.test.ts (15 tests) 32ms
✓ src/ui/hooks/extension-mention-ref.test.ts (24 tests) 15ms
✓ src/ui/commands/forkCommand.test.ts (15 tests) 28ms
✓ src/ui/components/hooks/HookDetailStep.test.tsx (14 tests) 3339ms
✓ HookDetailStep > renders inline exit code descriptions 345ms
✓ src/ui/themes/theme-manager.test.ts (19 tests) 19ms
✓ src/ui/hooks/useKeypress.test.ts (15 tests) 92ms
✓ src/services/skill-args-file.test.ts (14 tests) 13ms
✓ src/commands/review/lib/review-settings.test.ts (22 tests) 15ms
✓ src/ui/hooks/useGitBranchName.test.ts (12 tests) 66ms
✓ 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) 1289ms
✓ SessionStatsContext > should provide the correct initial state 316ms
✓ src/acp-integration/session/permissionUtils.test.ts (12 tests) 11ms
✓ src/commands/review/lib/resume.test.ts (25 tests) 8ms
Wrote resolved anchors to /tmp/resolve-anchors-DBF6vu/out.json
Wrote resolved anchors to /tmp/resolve-anchors-iDjL2s/nested/deeper/anchors.json
Anchors: 0/0 resolved
Anchors: 2/2 resolved
Wrote resolved anchors to /tmp/resolve-anchors-SPC0eS/out.json
✓ src/commands/review/resolve-anchors.test.ts (16 tests) 18ms
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) 142ms
✓ src/serve/routes/session-prompt-terminals.test.ts (5 tests) 155ms
✓ src/config/extension-refresh-state.test.ts (10 tests) 9ms
✓ src/ui/voice/voice-stream-session.test.ts (12 tests) 31ms
✓ src/ui/layouts/DefaultAppLayout.test.tsx (10 tests) 1928ms
✓ src/services/command-migration-tool.test.ts (14 tests) 70ms
✓ src/ui/components/extensions/views/ExtensionActionsView.test.tsx (6 tests) 2259ms
✓ ExtensionActionsView > commits a scope change atomically and surfaces committed warnings 469ms
✓ ExtensionActionsView > does not update scope preferences when the atomic mutation fails 546ms
✓ ExtensionActionsView > reloads committed scope changes when saving the preference fails 466ms
✓ ExtensionActionsView > surfaces committed uninstall warnings and reloads before exiting 334ms
✓ src/ui/components/ShellConfirmationDialog.test.tsx (12 tests) 2789ms
✓ src/ui/hooks/useEditorSettings.test.ts (10 tests) 42ms
✓ src/config/migration/versions/v3-to-v4.test.ts (32 tests) 10ms
✓ src/utils/gitUtils.test.ts (34 tests) 24ms
✓ src/ui/utils/historyUtils.test.ts (21 tests) 7ms
✓ src/ui/startInteractiveUI.test.tsx (9 tests) 16ms
✓ src/ui/components/messages/CompressionMessage.test.tsx (11 tests) 3690ms
✓ > normal compression (successful token reduction) > renders success message for large successful compressions 453ms
✓ > message content validation > displays correct compression statistics 601ms
✓ > message content validation > shows skip message for small histories when new tokens >= original tokens 540ms
✓ > message content validation > shows compression failure message for large histories when new tokens >= original tokens 470ms
✓ src/ui/commands/insightCommand.test.ts (5 tests) 22ms
✓ src/commands/review/lib/report.test.ts (14 tests) 29ms
✓ src/ui/commands/ideCommand.test.ts (8 tests) 21ms
✓ src/utils/osc.test.ts (30 tests) 10ms
✓ src/ui/components/BaseTextInput.test.tsx (16 tests) 2714ms
✓ BaseTextInput > does not type the render-mode shortcut into the buffer 300ms
✓ BaseTextInput > leaves cursor cleanup to the useCursor hook 459ms
✓ src/commands/update.test.ts (10 tests) 1967ms
✓ update command > prints the package-manager update command even when auto-update is disabled 1960ms
✓ src/commands/sessions/ps.test.ts (16 tests) 19ms
✓ src/serve/live/realtime-startup-context.test.ts (5 tests) 13ms
✓ src/commands/review/fetch-diff.test.ts (11 tests) 273ms
✓ src/ui/components/SuggestionsDisplay.test.tsx (10 tests) 2102ms
✓ SuggestionsDisplay > renders localized loading text in zh 366ms
✓ src/ui/components/background-view/BackgroundTasksPill.test.tsx (22 tests) 6ms
✓ src/serve/cdp-tunnel/cdp-ws.test.ts (10 tests) 228ms
✓ src/ui/hooks/useMcpApproval.test.ts (11 tests) 157ms
✓ src/ui/voice/native-audio-recorder.test.ts (12 tests) 22ms
✓ src/ui/hooks/useSessionPicker.test.tsx (8 tests) 50ms
✓ src/ui/components/hooks/HandlerListBody.test.tsx (11 tests) 2376ms
✓ HandlerListBody > describeHook (rendered as the row label) > falls back to function id, then to "function-hook" placeholder 363ms
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) 2641ms
✓ runMatchRemote (real git) > falls through to github.com when GH_HOST is empty or whitespace 346ms
✓ src/commands/review/script-lint.test.ts (17 tests | 3 skipped) 11ms
✓ src/utils/envVarResolver.test.ts (16 tests) 9ms
✓ src/utils/writeWithBackup.test.ts (13 tests) 12ms
✓ src/utils/runBudget.test.ts (42 tests) 16ms
✓ src/serve/routes/session-runtime.test.ts (10 tests) 16ms
✓ src/ui/utils/export/normalize.test.ts (6 tests) 8ms
✓ src/services/prompt-processors/injectionParser.test.ts (21 tests) 10ms
✓ src/ui/components/TerminalImage.test.tsx (9 tests) 3391ms
✓ TerminalImage > writes trusted Kitty data and renders its placeholder 427ms
✓ TerminalImage > renders chafa ansi output 317ms
✓ TerminalImage > shows a readable fallback when no renderer is available 312ms
✓ TerminalImage > does not re-emit the Kitty sequence when the emit effect re-runs 425ms
✓ TerminalImage > does not re-transmit the Kitty payload when the image remounts 1021ms
✓ src/agent-view/attach-lease.test.ts (12 tests) 11ms
✓ src/ui/hooks/useReverseSearchCompletion.test.tsx (10 tests) 51ms
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) 62ms
qwen serve: GET /usage/dashboard failed: boom
✓ src/serve/routes/usage-stats.test.ts (7 tests) 290ms
✓ src/config/migration/versions/v1-to-v2.test.ts (20 tests) 10ms
✓ src/services/prompt-processors/atFileProcessor.test.ts (11 tests) 18ms
✓ src/serve/daemon-status-provider.test.ts (4 tests) 1033ms
✓ DaemonWorkspaceService — daemon-host status provider integration > returns daemon preflight cells with not_started ACP cells when idle 334ms
✓ DaemonWorkspaceService — daemon-host status provider integration > merges daemon cells with live ACP-side preflight cells when a channel is up 359ms
✓ DaemonWorkspaceService — daemon-host status provider integration > falls back to idle ACP cells + envelope error when queryWorkspaceStatus throws mid-preflight 334ms
✓ src/ui/components/background-view/agent-forest.test.ts (20 tests) 12ms
✓ src/ui/utils/terminalRedrawOptimizer.test.ts (15 tests) 11ms
✓ src/ui/utils/export/collect.test.ts (5 tests) 21ms
✓ src/ui/components/PluginChoicePrompt.test.tsx (13 tests) 3630ms
✓ PluginChoicePrompt > rendering > renders marketplace name in title 305ms
✓ PluginChoicePrompt > keyboard navigation > navigates with Ctrl+N/P readline aliases 635ms
✓ src/ui/hooks/useExportCompletion.test.ts (20 tests) 36ms
✓ src/commands/review/lib/paths.test.ts (15 tests) 7ms
✓ src/serve/fs/policy.test.ts (18 tests) 98ms
✓ src/ui/hooks/useInputHistory.test.ts (11 tests) 39ms
✓ src/ui/commands/lspCommand.test.ts (10 tests) 17ms
✓ src/ui/commands/voice-command.test.ts (11 tests) 15ms
✓ src/serve/local-control/service.test.ts (5 tests) 22ms
✓ src/ui/components/SettingsCorruptedDialog.test.tsx (8 tests) 4741ms
✓ SettingsCorruptedDialog > should show recovered settings label when wasRecovered=true 519ms
✓ SettingsCorruptedDialog > should show empty settings label when wasRecovered=false 545ms
✓ SettingsCorruptedDialog > should move selection with up/down arrows 723ms
✓ SettingsCorruptedDialog > should call onExit when pressing Enter on EXIT option 612ms
✓ SettingsCorruptedDialog > should call onContinue when pressing Enter on CONTINUE option 671ms
✓ SettingsCorruptedDialog > should call onContinue when pressing escape 569ms
✓ SettingsCorruptedDialog > should call onExit when pressing Ctrl+C 570ms
✓ SettingsCorruptedDialog > should display the corrupted file path 530ms
Error saving trusted folders file.
invalid trusted folders file
✓ src/ui/hooks/useFolderTrust.test.ts (10 tests) 51ms
✓ src/remoteInput/RemoteInputWatcher.test.ts (10 tests) 683ms
✓ src/ui/commands/setupGithubCommand.test.ts (9 tests) 170ms
✓ src/ui/components/TrustDialog.test.tsx (7 tests) 1790ms
✓ TrustDialog > should call onExit when escape is pressed 307ms
✓ TrustDialog > should not commit when escape is pressed during restart prompt 303ms
✓ src/ui/utils/windowTitle.test.ts (28 tests) 10ms
✓ src/ui/commands/bugCommand.test.ts (5 tests) 14ms
✓ src/ui/utils/asciiCharts.test.ts (21 tests) 28ms
✓ src/ui/utils/formatters.test.ts (35 tests) 15ms
✓ src/commands/review/lib/same-file.test.ts (7 tests) 8ms
✓ src/i18n/mustTranslateKeys.test.ts (20 tests) 442ms
✓ src/commands/review/lib/certification.test.ts (22 tests) 7ms
✓ src/ui/components/Header.test.tsx (19 tests) 4532ms
✓ > renders the ASCII logo on wide terminal 301ms
✓ src/acp-integration/skill-source-download.test.ts (14 tests) 70ms
✓ src/ui/hooks/useIdeTrustListener.test.ts (5 tests) 35ms
✓ src/ui/utils/computeStats.test.ts (12 tests) 6ms
✓ src/ui/components/hooks/matcherGrouping.test.ts (13 tests) 9ms
✓ src/ui/commands/hooksCommand.test.ts (9 tests) 19ms
✓ src/commands/extensions/sources.test.ts (11 tests) 29ms
✓ src/commands/extensions/new.test.ts (9 tests) 49ms
✓ src/ui/hooks/useTurnDiffs.test.ts (7 tests) 356ms
✓ src/commands/channel/observed-contact-store.test.ts (11 tests) 21ms
✓ src/commands/review/lib/npm-toolchain.test.ts (7 tests) 10ms
✓ src/acp-integration/active-work-reporter.test.ts (10 tests) 17ms
✓ src/ui/hooks/useSlashCompletion.integration.test.ts (4 tests) 257ms
✓ src/core/initializer.test.ts (14 tests) 11ms
✓ src/serve/permission-audit.test.ts (10 tests) 10ms
✓ src/ui/components/agent-view/AgentTabBar.test.tsx (7 tests) 1497ms
✓ AgentTabBar > Up on the Main view ascends to the live agent panel when a bg agent roster exists 315ms
✓ src/serve/acp-http/client-mcp-sender-registry.test.ts (10 tests) 11ms
✓ src/ui/hooks/useCommandCompletion.slashChurn.test.ts (5 tests) 542ms
✓ src/utils/housekeeping/throttledOnce.test.ts (11 tests) 97ms
✓ src/commands/review/comment-status.integration.test.ts (8 tests) 5955ms
✓ makeGitProbe (real git) > reports the touching commits from the repo root 614ms
✓ makeGitProbe (real git) > scopes git to the worktree via -C regardless of the process CWD 515ms
✓ makeGitProbe (real git) > caps touchedBy at 10 while reporting the real total 2417ms
✓ makeGitProbe (real git) > degrades to unknown for a commit absent from the object store 396ms
✓ makeGitProbe (real git) > degrades to unknown for a non-ancestor (force-pushed-away) commit that still resolves 534ms
✓ makeGitProbe (real git) > takes the comment path literally, not as pathspec magic 753ms
✓ makeGitProbe (real git) > reports unchanged for a file the range never touched 582ms
✓ src/ui/components/hooks/HookMatcherDetailStep.test.tsx (8 tests) 1963ms
✓ HookMatcherDetailStep > renders the "Event - Matcher: " title 310ms
✓ HookMatcherDetailStep > keeps the "Matcher:" prefix when the matcher is the * fallback 311ms
✓ src/utils/costCalculator.test.ts (18 tests) 6ms
✓ src/ui/hooks/useMemoryMonitor.test.ts (8 tests) 47ms
✓ src/ui/components/messages/DiffStatsDisplay.test.tsx (8 tests) 1828ms
✓ src/ui/commands/effort-command.test.ts (10 tests) 18ms
✓ src/ui/hooks/usePhraseCycler.test.ts (9 tests) 42ms
✓ src/ui/hooks/useTimer.test.ts (13 tests) 48ms
✓ src/commands/extensions/utils.test.ts (12 tests) 10ms
✓ src/ui/utils/highlight.test.ts (18 tests) 6ms
✓ src/ui/voice/voice-recorder.test.ts (8 tests) 11ms
✓ src/ui/components/FindingsDisplay.test.tsx (13 tests) 2474ms
✓ 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) 12ms
✓ src/ui/components/arena/ArenaSelectDialog.test.tsx (5 tests) 1814ms
✓ ArenaSelectDialog > toggles quick preview and detailed diff for the highlighted agent 502ms
✓ ArenaSelectDialog > applies the highlighted successful agent when Enter is pressed 488ms
✓ ArenaSelectDialog > ignores Enter when the highlighted agent is not selectable 343ms
✓ src/serve/fs/errors.test.ts (20 tests) 5ms
✓ src/ui/layouts/ScreenReaderAppLayout.test.tsx (9 tests) 1773ms
✓ src/config/loadedSettingsAdapter.test.ts (5 tests) 10ms
✓ src/ui/components/AnsiOutput.test.tsx (9 tests) 1716ms
✓ src/ui/commands/approvalModeCommand.test.ts (14 tests) 428ms
✓ approvalModeCommand > direct mode setting (session-only) > should emit the entry notice when switching to auto mode 411ms
✓ src/ui/selection/selection-text.test.ts (16 tests) 6ms
✓ src/ui/components/shared/RowMouseController.test.tsx (8 tests) 36ms
✓ src/ui/components/mcp/utils.test.ts (16 tests) 8ms
✓ src/ui/commands/initCommand.test.ts (6 tests) 390ms
✓ initCommand > should ask for confirmation if QWEN.md already exists and is non-empty 381ms
✓ src/ui/components/SessionPreview.test.tsx (7 tests) 820ms
✓ src/config/skill-settings.test.ts (11 tests) 6ms
✓ src/ui/commands/mcpCommand.test.ts (10 tests) 19ms
✓ src/ui/components/shared/TextInputMouseController.test.tsx (7 tests) 29ms
✓ src/serve/live/live-setup-controller.test.ts (7 tests) 18ms
✓ src/config/migration/versions/v5-to-v4.test.ts (17 tests) 9ms
✓ src/commands/review/lib/manifest-repository-context.committed.test.ts (5 tests) 173ms
✓ src/nonInteractive/io/StreamJsonInputReader.test.ts (11 tests) 13ms
✓ src/ui/utils/mouse.test.ts (17 tests) 11ms
✓ src/serve/server/git-branch-ops.test.ts (16 tests) 5750ms
✓ branchExists > returns true for an existing branch 435ms
✓ branchExists > returns false for a missing branch 408ms
✓ branchExists > matches only a local branch ref, not a tag of the same name 408ms
✓ isDirtyTree > returns true when a tracked file is modified 307ms
✓ isDirtyTree > ignores untracked files 302ms
✓ getHeadCommit > returns undefined outside a git repository 366ms
✓ createBranch > creates and checks out a new branch at the current commit 530ms
✓ createBranch > rejects when the branch already exists 329ms
✓ createBranch > rejects but leaves the branch created and checked out when a post-checkout hook fails 454ms
✓ checkoutRef > switches to an existing branch 438ms
✓ deleteBranch > deletes an existing branch 517ms
✓ deleteBranch > force-deletes an unmerged branch 546ms
✓ src/acp-integration/session/recovered-goal-update.test.ts (8 tests) 10ms
✓ src/serve/managed-scratch-workspace.test.ts (7 tests) 95ms
✓ src/ui/components/DiffDialog.test.tsx (2 tests) 109ms
✓ src/ui/utils/synchronizedOutput.test.ts (19 tests) 10ms
✓ src/commands/review/run-skill-parity.test.ts (2 tests) 5ms
✓ src/utils/terminalSequence.test.ts (26 tests) 12ms
✓ src/ui/models/availableModels.test.ts (14 tests) 10ms
✓ src/services/saved-workflow-loader.test.ts (11 tests) 10ms
✓ src/serve/native-directory-picker.test.ts (14 tests) 12ms
✓ src/serve/model-providers-edit.test.ts (12 tests) 8ms
✓ src/services/commandUtils.test.ts (14 tests) 7ms
✓ src/ui/contexts/AgentViewContext.test.tsx (4 tests) 1642ms
✓ AgentViewProvider in-process bridges > clears embedded shell focus when switching agent tabs 471ms
✓ AgentViewProvider in-process bridges > clears embedded shell focus when the focused agent unregisters 646ms
✓ src/utils/deepMerge.test.ts (13 tests) 6ms
✓ src/commands/channel/pairing.test.ts (5 tests) 17ms
✓ src/ui/components/background-view/liveAgentPanelVisibility.test.ts (15 tests) 8ms
✓ src/ui/components/shared/RadioButtonSelect.test.tsx (5 tests) 1077ms
✓ src/serve/routes/channel-notify.test.ts (11 tests) 72ms
✓ src/ui/components/Tips.test.ts (9 tests) 9ms
✓ src/commands/extensions/disable.test.ts (10 tests) 33ms
✓ src/ui/components/AppHeader.test.tsx (6 tests) 1363ms
✓ src/config/extension-runtime-reload.test.ts (6 tests) 10ms
✓ src/nonInteractive/io/StreamJsonOutputAdapter.dualOutput.test.ts (6 tests) 10ms
✓ src/ui/components/hooks/HooksListStep.test.tsx (9 tests) 1928ms
✓ src/commands/review/lib/agent-identity.test.ts (7 tests) 5ms
✓ src/ui/commands/importConfigCommand.test.ts (10 tests) 8ms
✓ src/ui/components/ConsentPrompt.test.tsx (9 tests) 2031ms
✓ ConsentPrompt > renders a string prompt with MarkdownDisplay 378ms
✓ src/ui/utils/input-mouse.test.ts (9 tests) 8ms
✓ src/commands/review/lib/inline-counts.test.ts (8 tests) 7ms
✓ src/config/migration/scheduler.test.ts (7 tests) 10ms
✓ src/config/mcpJson.test.ts (11 tests) 14ms
✓ src/ui/hooks/useAwaySummary.test.ts (3 tests) 88ms
✓ src/ui/voice/voice-refine.test.ts (11 tests) 15ms
✓ src/ui/components/shared/ErrorBoundary.test.tsx (8 tests) 2122ms
✓ ErrorBoundary > reset clears the error state so children can recover 420ms
✓ ErrorBoundary > does not store the error without recordForExitEcho (non-fatal boundary) 304ms
✓ src/config/modelProvidersScope.test.ts (11 tests) 5ms
✓ src/serve/voice/resolve-voice-config.test.ts (3 tests) 644ms
✓ loadDaemonVoiceContext > resolves providerProtocol-mapped custom provider groups for voice 344ms
✓ src/serve/acp-http/dispatch-error.test.ts (8 tests) 7ms
✓ src/serve/scheduled-task-session-lifecycle.test.ts (7 tests) 204ms
✓ src/ui/components/GoalPill.test.tsx (11 tests) 4224ms
✓ GoalPill > renders accessible lifecycle text for active and idle 463ms
✓ GoalPill > renders accessible lifecycle text for active and running 469ms
✓ GoalPill > renders accessible lifecycle text for active and verifying 314ms
✓ GoalPill > renders accessible lifecycle text for paused 423ms
✓ GoalPill > renders accessible lifecycle text for blocked 390ms
✓ GoalPill > renders accessible lifecycle text for usage limited 479ms
✓ GoalPill > adds the current active span to persisted active time 473ms
✓ GoalPill > keeps paused elapsed time frozen while wall clock advances 394ms
✓ GoalPill > subscribes once and re-subscribes when Config changes sessions 496ms
✓ src/ui/hooks/session-completion.test.ts (8 tests) 9ms
✓ src/ui/commands/planCommand.test.ts (7 tests) 13ms
✓ src/serve/sse-last-event-id.test.ts (25 tests) 8ms
✓ src/commands/mcp/approve.test.ts (7 tests) 171ms
✓ src/ui/components/SettingInputPrompt.test.tsx (7 tests) 1698ms
✓ SettingInputPrompt > renders setting name and description 310ms
✓ SettingInputPrompt > keeps printable ASCII boundaries and ignores control-only pastes 330ms
✓ src/ui/components/background-view/liveAgentPanelLayout.measurement.test.tsx (2 tests) 1674ms
✓ LiveAgentPanel growth → controls re-measurement > BUG: without the roster in the measurement deps, reserved room goes stale on growth 813ms
✓ LiveAgentPanel growth → controls re-measurement > FIX: wiring the roster key into the deps re-measures, shrinking reserved room 859ms
✓ src/commands/channel/reload.test.ts (6 tests) 11ms
✓ src/commands/extensions/enable.test.ts (10 tests) 33ms
✓ src/ui/components/background-view/workflow-save-overlay.test.tsx (7 tests) 4284ms
✓ WorkflowSaveOverlay > renders the name field, scope toggle, and hints in edit phase 378ms
✓ WorkflowSaveOverlay > appends typed characters to the name 564ms
✓ WorkflowSaveOverlay > saves to project scope on submit, then closes on the next key 849ms
✓ WorkflowSaveOverlay > Tab toggles to user scope 917ms
✓ WorkflowSaveOverlay > rejects an invalid name without calling save 436ms
✓ WorkflowSaveOverlay > prompts to overwrite on collision and retries with overwrite:true 942ms
✓ src/ui/utils/lowlightLoader.test.ts (5 tests) 62ms
✓ src/ui/commands/resumeCommand.test.ts (9 tests) 14ms
✓ src/acp-integration/session/tool-call-preparation-tracker.test.ts (6 tests) 8ms
✓ src/ui/components/agent-view/AgentChatView.test.tsx (6 tests) 1331ms
✓ AgentChatView error containment (#9290) > recovers when switching from a crashed tab to a healthy one 344ms
✓ src/serve/extension-operation-scheduler.test.ts (8 tests) 195ms
✓ src/ui/components/mcp/steps/ResourceListStep.test.tsx (5 tests) 2817ms
✓ ResourceListStep > navigates with Ctrl+N/P and selects the highlighted resource 371ms
✓ ResourceListStep > windows a long list with correct count + arrow indicators 1719ms
✓ src/ui/voice/sox-recorder.test.ts (5 tests) 17ms
✓ src/commands/channel/set.test.ts (6 tests) 12ms
✓ src/ui/components/StickyTodoList.test.tsx (6 tests) 1814ms
✓ StickyTodoList > falls back to the maximum visible item count for non-finite maxVisibleItems 929ms
✓ src/ui/utils/findings-coalescing.test.ts (6 tests) 4ms
✓ src/serve/skill-details-redaction.test.ts (9 tests) 4ms
✓ src/ui/App.test.tsx (7 tests) 1181ms
✓ src/ui/components/arena/ArenaCards.test.tsx (2 tests) 515ms
✓ ArenaSessionCard > renders the comparison summary sections from agent results 301ms
✓ src/ui/components/ToolStatsDisplay.test.tsx (5 tests) 1101ms
✓ > should display stats for multiple tools correctly 301ms
✓ src/ui/utils/CodeColorizer.test.ts (18 tests) 6ms
✓ src/agent-view/supervisor-dispatch.test.ts (4 tests) 115ms
✓ src/ui/update-relaunch.test.ts (6 tests) 114ms
✓ 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) 39ms
✓ src/ui/utils/MermaidDiagram.test.tsx (5 tests) 1809ms
✓ MermaidDiagram > renders the wireframe immediately and writes Kitty images through raw output 367ms
✓ MermaidDiagram > restarts image rendering for height-only resizes 366ms
✓ MermaidDiagram > shows the wireframe fallback when async image rendering rejects 583ms
✓ src/ui/components/StatsEfficiencyTab.test.tsx (4 tests) 958ms
✓ src/services/FileCommandLoader-markdown.test.ts (4 tests) 69ms
✓ src/ui/voice/voice-keyterms-race.test.ts (3 tests) 1828ms
✓ src/commands/channel/status.test.ts (4 tests) 13ms
✓ src/utils/cleanup.test.ts (9 tests) 162ms
✓ src/services/markdown-command-parser.test.ts (13 tests) 15ms
✓ src/ui/hooks/useReactToolScheduler.test.tsx (7 tests) 25ms
✓ src/utils/acp-startup-profiler.test.ts (4 tests) 10ms
✓ src/ui/commands/docsCommand.test.ts (6 tests) 11ms
✓ src/commands/review/lib/round-model.test.ts (8 tests) 4ms
✓ src/agent-view/presentation.test.ts (4 tests) 6ms
✓ src/ui/components/ApprovalModeDialog.test.tsx (9 tests) 2053ms
✓ ApprovalModeDialog > keeps the mode picker within 6 rows 322ms
✓ src/ui/components/extensions/tabs/DiscoverTab.test.tsx (2 tests) 1494ms
✓ DiscoverTab > installs the selected extension with workspace activation 763ms
✓ DiscoverTab > surfaces a warning when saving scope preference fails after install 728ms
✓ src/ui/components/views/ContextUsage.test.tsx (5 tests) 2241ms
✓ ContextUsage — CompactionThresholds section (review #4168 R1.6) > keeps a positive estimated count in the numeric usage view 558ms
✓ ContextUsage — CompactionThresholds section (review #4168 R1.6) > renders the new three-tier section with all four threshold rows 436ms
✓ ContextUsage — CompactionThresholds section (review #4168 R1.6) > shows safe tier without any ▶ marker 516ms
✓ ContextUsage — CompactionThresholds section (review #4168 R1.6) > places ▶ on the warn row when currentTier === warn 470ms
✓ src/serve/workspace-inputs.test.ts (9 tests) 29ms
✓ src/ui/hooks/useTerminalSize.test.ts (5 tests) 43ms
✓ src/ui/components/agent-view/AgentComposer.test.tsx (3 tests) 799ms
✓ AgentComposer > does not reset the parent input-buffer state during unmount 470ms
✓ src/ui/components/views/McpStatus.test.tsx (12 tests) 2528ms
✓ src/commands/review/lib/run-ledger.race.test.ts (4 tests) 11ms
✓ src/serve/channel-loop-mcp-ipc.test.ts (4 tests) 8ms
✓ src/config/daemon-trust-policy-monitor.test.ts (5 tests) 61ms
✓ src/services/notificationService.test.ts (9 tests) 9ms
✓ src/services/tips/tipScheduler.test.ts (7 tests) 9ms
✓ src/commands/review/lib/platform/github.test.ts (8 tests) 8ms
✓ src/ui/components/SessionSummaryDisplay.test.tsx (3 tests) 788ms
✓ > renders the summary display with a title 319ms
✓ src/utils/json-string-byte-projection.test.ts (14 tests) 146ms
✓ src/serve/local-control/lan-interfaces.test.ts (3 tests) 7ms
✓ src/ui/utils/sessionPickerUtils.test.ts (15 tests) 10ms
✓ src/acp-integration/live/capture-screen-context.test.ts (4 tests) 163ms
✓ src/ui/utils/measure-element-position.test.tsx (6 tests) 194ms
✓ src/ui/hooks/useFocus.test.ts (6 tests) 55ms
✓ src/nonInteractive/chat-recording-failure.test.ts (5 tests) 14ms
✓ src/ui/commands/historyCommand.test.ts (5 tests) 618ms
✓ historyCommand > expand-now removes suppressOnRestore and drops summary 610ms
✓ src/commands/channel/channel-registry-builtins.test.ts (2 tests) 562ms
✓ built-in channel registry > keeps an invalid built-in channel running without management metadata 559ms
✓ src/ui/components/messages/GoalStatusMessage.test.tsx (11 tests) 1741ms
✓ src/ui/utils/modelsBySource.test.ts (7 tests) 7ms
✓ src/services/tips/tipHistory.test.ts (11 tests) 9ms
✓ src/ui/commands/arenaCommand.agentComplete.test.ts (1 test) 12ms
✓ src/agent-view/managed-detach.test.ts (5 tests) 9ms
✓ src/ui/components/FolderTrustDialog.test.tsx (9 tests) 2207ms
✓ FolderTrustDialog > should call onSelect with DO_NOT_TRUST when escape is pressed and not restarting 308ms
✓ FolderTrustDialog > should not call onSelect when escape is pressed and is restarting 313ms
✓ src/ui/components/mcp/steps/ServerListStep.test.tsx (5 tests) 1092ms
✓ ServerListStep > navigates with Ctrl+N/P readline aliases 376ms
✓ src/ui/components/shared/TextInput.test.tsx (6 tests) 1185ms
✓ src/serve/cdp-tunnel/acceptance/acceptance-helpers.test.ts (9 tests) 431ms
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) 5ms
✓ src/ui/commands/dreamCommand.test.ts (5 tests) 15ms
✓ src/ui/contexts/VimModeContext.test.tsx (4 tests) 1108ms
✓ VimModeContext — Esc key isolation in INSERT mode > setVimMode reference should be stable across re-renders 323ms
✓ VimModeContext — Esc key isolation in INSERT mode > State consumers should re-render when mode changes 397ms
✓ src/commands/channel/channel-descriptor-sdk-mirror.test.ts (2 tests) 572ms
✓ channel descriptor SDK mirror > keeps built-in descriptor values within the daemon wire contract 569ms
✓ src/serve/live/provider-credentials.test.ts (10 tests) 18ms
✓ src/ui/voice/voice-stream-retry.test.ts (6 tests) 11ms
✓ src/acp-integration/generation.test.ts (3 tests) 11ms
✓ src/ui/components/shared/BaseSelectionList.mouse.test.tsx (5 tests) 1101ms
✓ src/commands/review/lib/incremental-scope.test.ts (3 tests) 8ms
✓ src/config/normalizeDisabledTools.test.ts (16 tests) 7ms
✓ src/commands/channel/stop.test.ts (4 tests) 9ms
✓ src/nonInteractive/control/controllers/sdkMcpController.test.ts (1 test) 9ms
✓ src/ui/components/mcp/steps/ResourceDetailStep.test.tsx (6 tests) 1242ms
✓ src/ui/hooks/useWelcomeBack.test.ts (4 tests) 211ms
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) 61ms
✓ src/ui/hooks/use-wake-repaint.test.ts (8 tests) 41ms
✓ src/ui/selection/selection-span.test.ts (9 tests) 11ms
✓ src/ui/hooks/useSessionPicker.test.ts (4 tests) 28ms
✓ src/ui/hooks/useModelCommand.test.ts (8 tests) 44ms
✓ src/serve/server/device-flow-registry.test.ts (3 tests) 10ms
✓ src/ui/components/extensions/steps/ExtensionListStep.test.tsx (5 tests) 1007ms
✓ src/utils/readStdin.test.ts (5 tests) 225ms
✓ src/ui/components/shared/ToolElapsedTime.test.tsx (8 tests) 2065ms
✓ > renders nothing for non-executing status 395ms
✓ src/ui/hooks/useConfigInitMessage.test.ts (7 tests) 29ms
✓ src/commands/review/script-lint-isolation.test.ts (2 tests) 2387ms
✓ script-lint — hadolint fails closed when config isolation is unavailable > adds no --config when a private neutral config cannot be created 2382ms
✓ src/ui/selection/use-text-selection-render.test.tsx (1 test) 161ms
[?25h ✓ src/ui/components/hooks/sourceLabels.test.ts (10 tests) 6ms
✓ src/ui/components/extensions/tabs/SourcesTab.test.tsx (1 test) 789ms
✓ SourcesTab > reports a committed install warning without treating it as failure 787ms
✓ src/ui/utils/inline-image-parts.test.ts (7 tests) 5ms
✓ src/serve/mcp-app-sandbox.test.ts (6 tests) 43ms
✓ src/utils/classify-api-error.test.ts (18 tests) 4ms
✓ src/ui/components/PrepareLabel.test.tsx (6 tests) 1388ms
✓ src/ui/commands/toolsCommand.test.ts (5 tests) 11ms
✓ 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) 384ms
✓ src/ui/commands/reload-plugins-command.test.ts (3 tests) 8ms
✓ src/ui/components/QueuedMessageDisplay.test.tsx (7 tests) 2107ms
✓ QueuedMessageDisplay > hides edit hint after showing it enough times 882ms
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) 8ms
✓ src/utils/userPromptExpansionHook.test.ts (12 tests) 6ms
✓ src/commands/channel/startup-failure-format.test.ts (4 tests) 16ms
✓ src/serve/server/telemetry-catalog.test.ts (1 test) 21ms
✓ src/commands/review/lib/worktree-reader.test.ts (6 tests) 6ms
✓ src/ui/components/hooks/HooksDisabledStep.test.tsx (8 tests) 1763ms
✓ src/serve/pem-certificate-blocks-oracle.test.ts (10 tests) 14ms
✓ src/ui/utils/approvalModeDisplay.test.ts (5 tests) 29ms
✓ src/ui/commands/forgetCommand.test.ts (6 tests) 10ms
✓ src/acp-integration/extension-skills.test.ts (4 tests) 4ms
✓ src/commands/mcp/remove.test.ts (4 tests) 29ms
✓ src/ui/hooks/useFollowupSuggestions.test.tsx (2 tests) 24ms
✓ src/ui/components/shared/DescriptiveRadioButtonSelect.test.tsx (4 tests) 675ms
✓ src/runtime/channel-delivery-ipc.test.ts (10 tests) 7ms
✓ src/ui/utils/kittyProtocolDetector.test.ts (3 tests) 10ms
✓ src/ui/themes/theme.test.ts (5 tests) 4ms
✓ src/ui/components/extensions/tabs/InstalledTab.test.tsx (1 test) 458ms
✓ InstalledTab > surfaces activation warnings and reloads the installed list 456ms
✓ src/config/mcpServers.test.ts (6 tests) 7ms
✓ src/acp-integration/session/history-replayer.conformance.test.ts (1 test) 14ms
✓ src/ui/hooks/useThemeCommand.test.ts (2 tests) 27ms
✓ src/commands/extensions.test.tsx (11 tests) 68ms
No extensions installed.
✓ src/ui/app-container-controls-dep.test.ts (3 tests) 4ms
✓ src/ui/utils/terminal-buffer.test.ts (7 tests) 5ms
✓ src/acp-integration/session/rewrite/TurnBuffer.test.ts (12 tests) 7ms
✓ src/ui/components/views/ExtensionsList.test.tsx (9 tests) 1670ms
✓ src/agent-view/current-cli-argv.test.ts (4 tests) 110ms
✓ src/ui/utils/inline-math.test.ts (9 tests) 7ms
✓ src/commands/auth.test.ts (9 tests) 33ms
✓ src/runtime/workspace-skills-mapping.test.ts (6 tests) 7ms
✓ src/serve/channel-worker-startup-ipc.test.ts (3 tests) 4ms
✓ src/commands/review/lib/receipt.test.ts (11 tests) 6ms
✓ src/serve/routes/workspace-lifecycle.test.ts (2 tests) 47ms
✓ src/commands/review.test.ts (5 tests) 7ms
✓ src/ui/components/extensions/steps/ActionSelectionStep.test.tsx (5 tests) 929ms
✓ src/commands/review/lib/diff-flags.test.ts (4 tests) 6ms
✓ src/commands/extensions/list.test.ts (4 tests) 41ms
✓ src/utils/headlessSafetyWarnings.test.ts (7 tests) 5ms
✓ src/ui/components/ThemeDialog.test.tsx (2 tests) 999ms
✓ ThemeDialog Snapshots > should render correctly in theme selection mode 443ms
✓ ThemeDialog Snapshots > should render correctly in scope selector mode 554ms
✓ src/ui/components/messages/AdvisorMessage.test.tsx (3 tests) 805ms
✓ AdvisorMessage > lays out content at containerWidth, not terminal width 395ms
✓ src/serve/server/session-export.test.ts (2 tests) 6ms
✓ src/ui/hooks/useTerminalNotification.test.ts (6 tests) 8ms
✓ src/ui/hooks/useAnimatedScrollbar.test.ts (6 tests) 33ms
✓ src/ui/components/StatsSessionTab.test.tsx (3 tests) 803ms
✓ src/services/insight/generators/StaticInsightGenerator.test.ts (1 test) 46ms
✓ 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) 5ms
✓ src/commands/review/lib/md-field.test.ts (5 tests) 6ms
✓ src/ui/components/ContextSummaryDisplay.test.tsx (4 tests) 1108ms
✓ > should switch layout at the 80-column breakpoint 472ms
✓ src/ui/commands/terminalSetupCommand.test.ts (5 tests) 6ms
✓ src/services/tips/tipRegistry.test.ts (5 tests) 4ms
✓ src/ui/components/TodoDisplay.test.tsx (6 tests) 1107ms
✓ src/ui/components/EffortDialog.test.tsx (5 tests) 1114ms
✓ src/ui/utils/mermaidVisualRenderer.test.ts (4 tests) 17ms
✓ src/serve/server/request-helpers.sandbox.test.ts (3 tests) 5ms
✓ src/acp-integration/session/rewrite/config.test.ts (5 tests) 3ms
✓ src/ui/commands/branchCommand.test.ts (6 tests) 7ms
✓ src/commands/sessions.test.ts (3 tests) 10ms
✓ src/ui/components/IdeTrustChangeDialog.test.tsx (6 tests) 1282ms
✓ IdeTrustChangeDialog > does not call relaunchApp when another key is pressed 303ms
✓ src/services/insight/dates.test.ts (8 tests) 4ms
✓ src/commands/review/lib/git.test.ts (5 tests) 4ms
✓ src/config/trust-precedence.test.ts (5 tests) 4ms
✓ src/ui/commands/rememberCommand.test.ts (5 tests) 10ms
✓ src/serve/run-qwen-serve.sandbox.test.ts (3 tests) 5ms
✓ src/ui/components/SkillStatsDisplay.test.tsx (2 tests) 345ms
✓ src/ui/components/mcp/steps/ServerDetailStep.test.tsx (4 tests) 858ms
✓ src/config/path-freshness.test.ts (3 tests) 4ms
✓ src/ui/components/SuggestionsDisplay.mouse.test.tsx (3 tests) 723ms
✓ src/serve/routes/workspace-trust.test.ts (2 tests) 40ms
✓ src/utils/startupWarnings.test.ts (4 tests) 5ms
✓ src/ui/components/DebugModeNotification.test.tsx (2 tests) 368ms
✓ src/ui/systemInfoFields.test.ts (2 tests) 4ms
✓ src/utils/stdioHelpers.test.ts (6 tests) 11ms
✓ 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) 9ms
✓ src/config/session-id.test.ts (21 tests) 5ms
✓ src/commands/mcp.test.ts (3 tests) 10ms
✓ src/ui/commands/authCommand.test.ts (6 tests) 8ms
✓ src/ui/components/messages/BtwMessage.test.tsx (5 tests) 979ms
✓ src/commands/review/load-rules.test.ts (6 tests) 10ms
✓ src/commands/extensions/uninstall.test.ts (2 tests) 14ms
✓ src/utils/userStartupWarnings.test.ts (3 tests) 80ms
✓ src/serve/server/activity-timestamp.test.ts (3 tests) 4ms
✓ 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) 4ms
✓ src/serve/routes/health.test.ts (2 tests) 31ms
✓ src/services/prompt-stash.test.ts (4 tests) 10ms
✓ src/core/theme.test.ts (5 tests) 5ms
✓ 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) 58ms
✓ src/ui/components/WorktreeExitDialog.test.tsx (1 test) 321ms
✓ WorktreeExitDialog > renders the loading frame before git probes resolve 320ms
✓ src/ui/components/AutoAcceptIndicator.test.tsx (6 tests) 1338ms
✓ src/ui/components/subagents/manage/AgentSelectionStep.test.tsx (1 test) 525ms
✓ AgentSelectionStep > navigates with Ctrl+N/P readline aliases 523ms
✓ src/acp-integration/live/live-task-tools.test.ts (3 tests) 43ms
✓ src/commands/sessions/common.test.ts (3 tests) 5ms
✓ src/ui/hooks/session-mention-ref.test.ts (9 tests) 6ms
✓ src/ui/hooks/useBatchedScroll.test.ts (4 tests) 27ms
✓ 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) 8ms
✓ src/ui/utils/theme-background.test.ts (3 tests) 7ms
✓ src/ui/components/mcp/steps/ToolListStep.test.tsx (1 test) 443ms
✓ ToolListStep > navigates with Ctrl+N/P readline aliases 442ms
✓ src/test-utils/mockCommandContext.test.ts (3 tests) 9ms
✓ src/serve/server-workspace-service.test.ts (1 test) 52ms
✓ src/serve/channel-selection.test.ts (7 tests) 5ms
✓ src/core/auth.test.ts (3 tests) 6ms
✓ 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) 4ms
✓ src/serve/web-shell-static.test.ts (3 tests) 4ms
✓ src/ui/commands/helpCommand.test.ts (3 tests) 8ms
✓ 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) 33ms
✓ src/ui/voice/voice-availability.test.ts (6 tests) 4ms
✓ src/ui/components/mcp/MCPHealthPill.test.tsx (6 tests) 3ms
✓ src/ui/components/LoopDetectionConfirmation.test.tsx (2 tests) 385ms
✓ src/ui/hooks/use-mouse-tracking-enabled.test.tsx (4 tests) 25ms
✓ src/ui/components/views/ToolsList.test.tsx (3 tests) 978ms
✓ > renders correctly with descriptions 337ms
✓ > renders correctly with no tools 343ms
✓ src/utils/load-undici.test.ts (3 tests) 12ms
✓ src/utils/processUtils.test.ts (4 tests) 6ms
✓ src/ui/utils/goal-runtime.test.ts (3 tests) 6ms
✓ src/ui/components/KeyboardShortcuts.test.tsx (3 tests) 746ms
✓ src/serve/acp-http/safe-ws-send.test.ts (4 tests) 7ms
✓ src/ui/commands/quitCommand.test.ts (1 test) 7ms
✓ src/utils/normalize-part-list.test.ts (7 tests) 4ms
✓ src/serve/acp-http/dispatch.sandbox.test.ts (2 tests) 12ms
✓ 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) 4ms
✓ src/ui/commands/vimCommand.test.ts (3 tests) 6ms
✓ src/ui/utils/workflow-keyword.test.ts (11 tests) 4ms
✓ src/utils/standalone-update-verify.test.ts (3 tests) 6ms
✓ src/ui/utils/latexRenderer.test.ts (4 tests) 5ms
✓ src/ui/utils/tool-display-map.test.ts (2 tests) 5ms
✓ src/serve/conversations/conversation-runtime-activity.test.ts (2 tests) 6ms
✓ src/config/acp-channel-fallback.test.ts (6 tests) 3ms
✓ src/serve/capabilities-docs-contract.test.ts (1 test) 29ms
✓ src/ui/components/approvalModeVisuals.test.ts (3 tests) 4ms
✓ src/ui/contexts/VirtualViewportContext.test.tsx (2 tests) 27ms
✓ src/ui/components/GeminiRespondingSpinner.test.tsx (2 tests) 472ms
✓ src/ui/components/messages/StatusMessages.test.tsx (1 test) 295ms
✓ src/utils/midTurnUserMessage.test.ts (3 tests) 3ms
✓ src/ui/utils/CodeColorizer.semantic.test.tsx (1 test) 263ms
✓ src/ui/components/mcp/MCPManagementDialog.test.tsx (1 test) 342ms
✓ MCPManagementDialog > uses the same rounded outer border as other dialogs 341ms
✓ src/ui/commands/settingsCommand.test.ts (2 tests) 5ms
✓ src/acp-integration/runtimeOutputDirContext.test.ts (1 test) 3ms
✓ src/ui/commands/permissionsCommand.test.ts (3 tests) 13ms
✓ src/ui/commands/trustCommand.test.ts (3 tests) 6ms
✓ 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) 20ms
✓ src/ui/commands/editorCommand.test.ts (2 tests) 7ms
✓ src/acp-integration/live/live-speak-to-user.test.ts (1 test) 38ms
✓ src/utils/shell-args.test.ts (4 tests) 4ms
✓ src/ui/commands/deleteCommand.test.ts (2 tests) 6ms
✓ src/commands/channel/private-parent-capability-wire-key.test.ts (1 test) 10ms
✓ src/ui/components/VoiceIndicator.test.tsx (2 tests) 567ms
✓ > sanitizes streaming interim transcript text 307ms
✓ src/serve/server/request-helpers.test.ts (1 test) 4ms
✓ src/ui/components/ExternalAuthProgress.test.tsx (1 test) 266ms
✓ src/acp-integration/authMethods.test.ts (2 tests) 4ms
✓ src/acp-integration/live/live-backend-instructions.test.ts (2 tests) 3ms
✓ src/ui/commands/memoryCommand.test.ts (2 tests) 5ms
✓ 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) 2ms
✓ src/ui/components/CronPill.test.tsx (2 tests) 758ms
✓ CronPill > renders nothing when there are no scheduled tasks 301ms
✓ CronPill > renders the active scheduled task count 456ms
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) 41ms
⎯⎯⎯⎯⎯⎯ Unhandled Errors ⎯⎯⎯⎯⎯⎯
Vitest caught 5 unhandled errors during the test run.
This might cause false positive tests. Resolve unhandled errors to make sure your tests are not affected.
⎯⎯⎯⎯ Unhandled Rejection ⎯⎯⎯⎯⎯
TypeError: this.subagentManager.getAvailableModelGrades is not a function
❯ AgentTool.updateDescriptionAndSchema ../core/src/tools/agent/agent.ts:1034:33
1032|
1033| const availableGrades = [
1034| ...this.subagentManager.getAvailableModelGrades().keys(),
| ^
1035| ];
1036| if (availableGrades.length > 0) {
❯ AgentTool.refreshSubagents ../core/src/tools/agent/agent.ts:887:12
This error originated in "src/ui/AppContainer.test.tsx" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.
The latest test that might've caused the error is "releases queued Goal turn reservations on cancel using goal-turn keys". It might mean one of the following:
- The error was thrown, while Vitest was running this test.
- If the error occurred after the test had been completed, this was the last documented test before it was thrown.
⎯⎯⎯⎯ Unhandled Rejection ⎯⎯⎯⎯⎯
TypeError: this.subagentManager.getAvailableModelGrades is not a function
❯ AgentTool.updateDescriptionAndSchema ../core/src/tools/agent/agent.ts:1034:33
1032|
1033| const availableGrades = [
1034| ...this.subagentManager.getAvailableModelGrades().keys(),
| ^
1035| ];
1036| if (availableGrades.length > 0) {
❯ AgentTool.refreshSubagents ../core/src/tools/agent/agent.ts:887:12
This error originated in "src/ui/AppContainer.test.tsx" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.
The latest test that might've caused the error is "releases queued Goal turn reservations on cancel using goal-turn keys". It might mean one of the following:
- The error was thrown, while Vitest was running this test.
- If the error occurred after the test had been completed, this was the last documented test before it was thrown.
⎯⎯⎯⎯ Unhandled Rejection ⎯⎯⎯⎯⎯
TypeError: this.subagentManager.getAvailableModelGrades is not a function
❯ AgentTool.updateDescriptionAndSchema ../core/src/tools/agent/agent.ts:1034:33
1032|
1033| const availableGrades = [
1034| ...this.subagentManager.getAvailableModelGrades().keys(),
| ^
1035| ];
1036| if (availableGrades.length > 0) {
❯ AgentTool.refreshSubagents ../core/src/tools/agent/agent.ts:887:12
This error originated in "src/ui/AppContainer.test.tsx" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.
The latest test that might've caused the error is "releases queued Goal turn reservations on cancel using goal-turn keys". It might mean one of the following:
- The error was thrown, while Vitest was running this test.
- If the error occurred after the test had been completed, this was the last documented test before it was thrown.
⎯⎯⎯⎯ Unhandled Rejection ⎯⎯⎯⎯⎯
TypeError: this.subagentManager.getAvailableModelGrades is not a function
❯ AgentTool.updateDescriptionAndSchema ../core/src/tools/agent/agent.ts:1034:33
1032|
1033| const availableGrades = [
1034| ...this.subagentManager.getAvailableModelGrades().keys(),
| ^
1035| ];
1036| if (availableGrades.length > 0) {
❯ AgentTool.refreshSubagents ../core/src/tools/agent/agent.ts:887:12
This error originated in "src/ui/AppContainer.test.tsx" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.
The latest test that might've caused the error is "releases queued Goal turn reservations on cancel using goal-turn keys". It might mean one of the following:
- The error was thrown, while Vitest was running this test.
- If the error occurred after the test had been completed, this was the last documented test before it was thrown.
⎯⎯⎯⎯⎯⎯ 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 5 errors
Start at 14:47:25
Duration 3866.74s (transform 47.94s, setup 97.44s, collect 1481.88s, tests 1206.19s, environment 342.64s, prepare 90.35s)
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) 2783ms
✓ src/core/geminiChat.test.ts (385 tests) 31578ms
✓ GeminiChat > should correctly retry and append to an existing history mid-conversation 2056ms
✓ 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 2049ms
✓ GeminiChat > discards a completed protocol-tagged response and retries before persistence 2040ms
✓ GeminiChat > retries a JSON tool protocol leak: 'array with a different first argument…' 2053ms
✓ GeminiChat > retries a JSON tool protocol leak: 'single object with trailing prose' 2053ms
✓ GeminiChat > retries when a preparation interrupts a partial JSON protocol leak 2055ms
✓ GeminiChat > retries when a function call interrupts a partial JSON protocol leak 2050ms
✓ GeminiChat > output token recovery > should pop dangling recovery message and emit STOP chunk when recovery throws 2067ms
✓ src/core/client.test.ts (366 tests) 37095ms
✓ src/config/config.test.ts (579 tests) 3743ms
✓ Server Config (config.ts) > gives up on the peer inbox advertise after a bounded retry 506ms
✓ src/tools/shell.test.ts (303 tests) 8330ms
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 b9f8b33)
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) 10680ms
✓ AgentTool > isolation — round-7 parent-dirty guard > refuses isolation when parent has uncommitted edits 490ms
✓ AgentTool > isolation — round-7 parent-dirty guard > would allow isolation when parent is clean (sanity) 426ms
✓ AgentTool > AgentToolInvocation > passes custom ignore files into worktree isolation file service 1329ms
✓ AgentTool > AgentToolInvocation > pins the sub-agent to a caller-owned worktree via working_dir and leaves it in place 941ms
✓ AgentTool > AgentToolInvocation > executes a review agent when strict providers send working_dir and isolation together 582ms
✓ AgentTool > AgentToolInvocation > keeps a working_dir launch in the foreground when the flag is omitted 795ms
✓ AgentTool > AgentToolInvocation > rejects working_dir that is not a registered worktree of this repo 614ms
✓ AgentTool > AgentToolInvocation > accepts a registered sibling worktree of this repo 339ms
✓ AgentTool > AgentToolInvocation > resolves a repo-relative working_dir against the parent cwd (the /review production form) 467ms
✓ AgentTool > AgentToolInvocation > rejects working_dir pointing at the repository main working tree 693ms
✓ AgentTool > AgentToolInvocation > leaves the caller-owned worktree in place when the sub-agent fails 800ms
✓ AgentTool > AgentToolInvocation > re-anchors validation at the repo root when launched from a monorepo subdirectory 797ms
✓ AgentTool > AgentToolInvocation > resolves a repo-relative working_dir against the subdirectory cwd, not the repo root (monorepo) 325ms
✓ AgentTool > AgentToolInvocation > includes preserved worktree details in execution errors 650ms
✓ src/core/openaiContentGenerator/pipeline.test.ts (170 tests) 360ms
✓ src/core/openaiContentGenerator/converter.test.ts (223 tests) 82ms
✓ src/services/sessionService.test.ts (202 tests) 1289ms
✓ src/agents/runtime/workflow-orchestrator.test.ts (169 tests) 2412ms
✓ WorkflowOrchestrator > keeps a paused run alive past the wall-clock budget and completes it after resume 620ms
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) 971ms
✓ src/core/anthropicContentGenerator/anthropicContentGenerator.test.ts (153 tests) 3400ms
✓ src/services/chatCompressionService.test.ts (137 tests) 445ms
✓ src/goals/goal-runtime.test.ts (126 tests) 1526ms
✓ src/extension/extensionManager.test.ts (145 tests) 8661ms
✓ extension tests > installExtension > persists a credentialed one-time install as a source-free snapshot 916ms
✓ extension tests > installExtension > stores managed Git credentials separately from install metadata 1410ms
✓ extension tests > installExtension > commits workspace initial activation with the installed artifact 340ms
✓ extension tests > installExtension > uses the installed path for Claude plugin root replacement 857ms
✓ extension tests > installExtension > does not report a temp cleanup warning when an immediate retry succeeds 514ms
✓ extension tests > installExtension > should drop the recorded commit when a marketplace plugin resolves from an external source 336ms
✓ extension tests > updateExtension > reports a committed update runtime warning as needing restart 437ms
✓ extension tests > updateExtension > surfaces a committed settings compatibility warning distinctly 880ms
✓ src/permissions/permission-manager.test.ts (412 tests) 237ms
✓ src/tools/mcp-client.test.ts (127 tests) 2352ms
✓ mcp-client > listMcpPrompts (F2 pure helper) > exhausts retries on persistent transient errors and returns [] 645ms
✓ mcp-client > listMcpResources > exhausts retries on persistent transient errors and returns [] 633ms
✓ src/hooks/hookEventHandler.test.ts (138 tests) 152ms
✓ src/utils/fileUtils.test.ts (192 tests) 1701ms
✓ src/services/shellExecutionService.test.ts (135 tests) 769ms
✓ src/services/session-transcript-reader.test.ts (120 tests) 5683ms
✓ SessionTranscriptReader > boundary and turn-start edge cases > extends to the owning call when one tool_result exceeds the byte budget 387ms
✓ SessionTranscriptReader > boundary and turn-start edge cases > bounds the leading prefix absorbed before the first turn 706ms
✓ SessionTranscriptReader > boundary and turn-start edge cases > keeps tool call/result pairs on the same backward page 1152ms
✓ SessionTranscriptReader > boundary and turn-start edge cases > caps pair extension at the byte budget for a large result batch 1418ms
✓ SessionTranscriptReader > boundary and turn-start edge cases > caps pair extension for a long tool_result run 670ms
✓ src/extension/github.test.ts (152 tests) 6174ms
✓ git extension helpers > extractFile > should cancel while scanning a tar archive 1111ms
✓ git extension helpers > extractFile > should cancel while extracting a tar archive 3373ms
✓ git extension helpers > extractFile > should cancel while extracting a zip archive 539ms
✓ src/agents/background-agent-resume.test.ts (50 tests) 1243ms
✓ BackgroundAgentResumeService > does not restore more completed agents than the terminal-agent cap 320ms
✓ src/telemetry/session-tracing.test.ts (180 tests) 94ms
✓ src/agents/runtime/agent-headless.test.ts (64 tests) 7385ms
✓ subagent.ts > AgentHeadless > create (Tool Validation) > should create a AgentHeadless successfully with minimal config 387ms
✓ subagent.ts > AgentHeadless > execute - Execution and Tool Use > matches long MCP wildcard patterns by raw server identity and boundary 374ms
✓ subagent.ts > AgentHeadless > execute - Execution and Tool Use > should ignore duplicate provider tool-call ids across rounds 433ms
✓ subagent.ts > AgentHeadless > execute - Execution and Tool Use > should stop consecutive identical tool calls with fresh ids 477ms
✓ subagent.ts > AgentHeadless > execute - Execution and Tool Use > should execute an id-colliding tool call whose args differ from the handled call 460ms
✓ subagent.ts > AgentHeadless > execute - Execution and Tool Use > should keep suppressing replays of the original call after an id-colliding execution 415ms
✓ subagent.ts > AgentHeadless > execute - Termination and Recovery > should terminate with MAX_TURNS if the limit is reached 355ms
✓ subagent.ts > AgentHeadless > execute - Streaming and Thought Handling > should emit STREAM_TEXT events with thought flag 454ms
✓ subagent.ts > AgentHeadless > execute - Streaming and Thought Handling > should not set finalText from thought-only response 487ms
✓ subagent.ts > AgentHeadless > execute - Tool Restriction Enforcement (Issue #1121) > should NOT execute tools that are not in the allowed tools list 307ms
✓ src/agents/background-tasks.test.ts (148 tests) 87ms
✓ src/core/anthropicContentGenerator/converter.test.ts (103 tests) 49ms
✓ src/core/loggingContentGenerator/loggingContentGenerator.test.ts (74 tests) 154ms
✓ src/services/chatRecordingService.test.ts (119 tests) 559ms
✓ src/services/session-writer-lease.test.ts (89 tests | 2 skipped) 12071ms
✓ SessionWriterLease > does not retry failed cleanup after reclaiming a stale lock 468ms
✓ SessionWriterLease > rejects a second process and reclaims its lock after SIGKILL 314ms
✓ SessionWriterLease > detects owner loss during content verification 376ms
✓ SessionWriterLease > never reclaims a dead local owner when managed policy is enabled 440ms
✓ SessionWriterLease > reconciles a sealing claim link error after effect 319ms
✓ SessionWriterLease > reconciles a sealing claim unlink error after effect 321ms
✓ SessionWriterLease > retains the claim when sealing rollback cannot restore the primary 457ms
✓ SessionWriterLease > removes the claim after sealing rollback restores the primary 453ms
✓ SessionWriterLease > fails closed when a primary candidate is abandoned during sealing 2165ms
✓ SessionWriterLease > fails closed when a primary candidate is abandoned during rollback 1029ms
✓ SessionWriterLease > elects only one stale-lock reclaimer across processes 672ms
✓ SessionWriterLease > keeps the primary lock when reclaim guard cleanup is already complete 420ms
✓ src/agents/runtime/workflow-sandbox.test.ts (168 tests) 32676ms
✓ 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 409ms
✓ createWorkflowSandbox security > survives a second pause after resume without burning banked budget 470ms
✓ src/services/loopDetectionService.test.ts (126 tests) 584ms
✓ src/core/openaiContentGenerator/provider/dashscope.test.ts (161 tests) 77ms
✓ src/tools/mcp-tool.test.ts (102 tests) 205ms
✓ src/services/cronScheduler.test.ts (127 tests) 2484ms
✓ CronScheduler > durable enabled flag > drops a live job when the file flips it to disabled on reload 310ms
✓ CronScheduler > durable ownership > reloads durable tasks when the file changes on disk 303ms
✓ src/models/modelsConfig.test.ts (83 tests) 25ms
✓ src/extension/extension-store.test.ts (94 tests) 918ms
✓ src/subagents/subagent-manager.test.ts (134 tests) 111ms
✓ src/agents/team/test-utils/coordination-harness.test.ts (86 tests) 1043ms
✓ src/telemetry/loggers.test.ts (86 tests) 67ms
✓ src/utils/gitDiff.test.ts (124 tests) 1607ms
✓ src/utils/schemaValidator.test.ts (132 tests) 206ms
✓ src/tools/mcp-transport-pool.test.ts (39 tests) 180ms
+----------------- 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) 2050ms
✓ getQwenOAuthClient - Enhanced Error Scenarios > should handle different authentication failure reasons - timeout 2012ms
✓ src/tools/skill.test.ts (93 tests) 70ms
✓ src/agents/workflow-run-registry.test.ts (99 tests) 91ms
✓ src/services/microcompaction/microcompact.test.ts (82 tests) 27ms
✓ src/lsp/NativeLspService.test.ts (33 tests) 299ms
✓ src/hooks/hookSystem.test.ts (95 tests) 61ms
✓ src/tools/write-file.test.ts (83 tests) 167ms
✓ src/tools/read-file.test.ts (87 tests) 201ms
✓ src/tools/edit.test.ts (86 tests) 429ms
✓ src/skills/skill-manager.test.ts (81 tests) 58ms
✓ src/tools/workflow/workflow.test.ts (60 tests) 228ms
✓ src/tools/web-fetch.test.ts (97 tests) 526ms
✓ src/telemetry/sdk.test.ts (73 tests) 654ms
✓ src/tools/tool-registry.test.ts (59 tests) 115ms
✓ src/telemetry/uiTelemetry.test.ts (70 tests) 33ms
✓ src/utils/retry.test.ts (90 tests) 73ms
✓ src/services/memoryPressureMonitor.test.ts (72 tests) 76ms
✓ src/memory/manager.test.ts (48 tests) 128ms
✓ src/agents/runtime/agent-core.test.ts (46 tests) 137ms
✓ src/skills/bundled/review/SKILL.test.ts (41 tests) 45ms
✓ src/tools/ripGrep.test.ts (81 tests) 345ms
✓ src/config/storage.test.ts (101 tests) 56ms
✓ src/utils/atomicFileWrite.test.ts (83 tests) 101ms
✓ src/extension/claude-converter.test.ts (52 tests) 44ms
✓ src/utils/shell-utils.test.ts (172 tests) 33ms
✓ src/tools/monitor.test.ts (81 tests) 48ms
✓ src/ide/ide-client.test.ts (65 tests) 99ms
✓ src/services/postCompactAttachments.test.ts (67 tests) 28ms
✓ src/core/baseLlmClient.test.ts (59 tests) 28ms
✓ src/lsp/LspServerManager.test.ts (46 tests) 239ms
✓ src/qwen/qwenContentGenerator.test.ts (43 tests) 176ms
✓ src/tools/readManyFiles.test.ts (52 tests) 112ms
✓ src/services/session-registry.test.ts (84 tests) 136ms
✓ src/core/prompts.test.ts (109 tests) 32ms
✓ src/core/turn.test.ts (42 tests) 20ms
✓ src/goals/goal-tools.test.ts (41 tests) 93ms
✓ src/utils/filesearch/crawler.test.ts (48 tests) 472ms
✓ src/memory/memoryDiscovery.test.ts (52 tests) 80ms
✓ src/permissions/autoMode.test.ts (88 tests) 29ms
✓ src/mcp/oauth-provider.test.ts (27 tests) 174ms
✓ src/utils/memoryImportProcessor.test.ts (37 tests) 34ms
✓ src/models/modelRegistry.test.ts (79 tests) 18ms
✓ src/tools/glob.test.ts (60 tests) 2865ms
✓ src/services/fileHistoryService.test.ts (51 tests) 115ms
✓ src/tools/todoWrite.test.ts (48 tests) 98ms
✓ src/utils/shellAstParser.test.ts (548 tests) 381ms
✓ src/services/sessionService.corruption.test.ts (65 tests) 111ms
✓ src/core/openaiContentGenerator/streamingToolCallParser.test.ts (89 tests) 22ms
✓ src/agents/backends/InProcessBackend.test.ts (45 tests) 51ms
✓ src/telemetry/log-to-span-processor.test.ts (55 tests) 34ms
✓ src/tools/lsp.test.ts (73 tests) 276ms
[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) 76ms
✓ src/services/visionBridge/vision-bridge-service.test.ts (65 tests) 82ms
✓ 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) 53ms
✓ 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) 110ms
✓ src/skills/bundled/loop/loop-tick-resolver.test.ts (38 tests) 51ms
✓ src/goals/goal-reducer.test.ts (93 tests) 20ms
✓ src/hooks/hookAggregator.test.ts (51 tests) 10ms
✓ src/services/backgroundShellRegistry.test.ts (61 tests) 50ms
✓ src/hooks/hookPlanner.test.ts (71 tests) 14ms
✓ src/memory/channel-memory.test.ts (52 tests) 277ms
✓ src/tools/grep.test.ts (59 tests) 251ms
✓ src/core/logger.test.ts (52 tests) 95ms
✓ src/goals/goal-evidence.test.ts (31 tests) 27ms
✓ src/extension/extensionSettings.test.ts (34 tests) 142ms
✓ src/utils/read-text-range.test.ts (47 tests) 642ms
✓ 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) 35ms
✓ src/services/monitorRegistry.test.ts (58 tests) 29ms
✓ src/utils/editor.test.ts (152 tests) 25ms
✓ src/skills/skill-curator.test.ts (37 tests) 152ms
✓ src/memory/forget.test.ts (20 tests) 94ms
✓ src/hooks/hookRunner.test.ts (37 tests) 67ms
✓ src/hooks/hookRegistry.test.ts (39 tests) 20ms
✓ src/services/fileReadCache.test.ts (59 tests) 35ms
✓ src/agents/team/tasks.test.ts (54 tests) 98ms
✓ src/qwen/sharedTokenManager.test.ts (32 tests) 258ms
✓ src/tools/notebook-edit.test.ts (32 tests) 90ms
✓ src/core/client-goal.test.ts (22 tests) 40ms
✓ src/services/session-artifact-persistence.test.ts (30 tests) 22ms
✓ src/telemetry/qwen-logger/qwen-logger.test.ts (41 tests) 25ms
✓ src/goals/goalJudge.test.ts (44 tests) 17ms
✓ src/services/usageHistoryService.test.ts (32 tests) 30ms
✓ src/agents/forkedAgent.cache.test.ts (23 tests) 11ms
✓ src/tools/record-artifact.test.ts (49 tests) 198ms
✓ src/skills/skill-load.test.ts (68 tests) 17ms
✓ src/services/commitAttribution.test.ts (58 tests) 13ms
✓ src/providers/__tests__/provider-config.test.ts (66 tests) 14ms
✓ src/utils/pdf.test.ts (50 tests) 27ms
✓ src/utils/sessionStorageUtils.test.ts (53 tests) 13ms
✓ src/agents/agent-transcript.test.ts (36 tests) 16ms
✓ src/memory/memory-scoped-agent-config.test.ts (23 tests) 62ms
✓ src/followup/speculation.test.ts (21 tests) 678ms
✓ src/services/gitWorktreeService.test.ts (39 tests) 16ms
✓ src/services/chatRecordingService.autoTitle.test.ts (23 tests) 105ms
✓ src/agents/runtime/agent-interactive.test.ts (24 tests) 869ms
✓ src/services/chatRecordingService.customTitle.test.ts (24 tests) 314ms
✓ src/tools/truncation.test.ts (40 tests) 61ms
✓ src/core/tokenLimits.test.ts (89 tests) 42ms
✓ src/services/sessionTitle.test.ts (32 tests) 70ms
✓ src/agents/arena/ArenaManager.test.ts (28 tests) 5102ms
✓ ArenaManager > backend initialization > should emit SESSION_UPDATE with type warning when backend detection returns warning 511ms
✓ ArenaManager > chat history forwarding > passes approvalMode to in-process backend spawn configs 505ms
✓ ArenaManager > chat history forwarding > should pass chatHistory to backend spawnAgent calls 504ms
✓ ArenaManager > chat history forwarding > should pass undefined chatHistory when not provided 505ms
✓ ArenaManager > chat history forwarding > builds the in-process worker prompt with headless mode and the active style 507ms
✓ ArenaManager > chat history forwarding > does not embed the auto-memory section in the worker system prompt 504ms
✓ ArenaManager > active session lifecycle > collects diff summaries and fallback approach summaries 1007ms
✓ ArenaManager > active session lifecycle > cancel should stop backend and move session to CANCELLED 506ms
✓ ArenaManager > active session lifecycle > cleanup should release backend and worktree resources after start 505ms
✓ src/core/contentGenerator.test.ts (27 tests) 423ms
✓ src/memory/extract.test.ts (21 tests) 60ms
✓ src/utils/runtimeFetchOptions.test.ts (69 tests) 19ms
✓ src/telemetry/gen-ai-content.test.ts (27 tests) 130ms
✓ src/services/fileSystemService.test.ts (68 tests) 29ms
✓ src/services/shellContextEnv.test.ts (37 tests) 19ms
✓ src/services/tokenUsageService.test.ts (18 tests) 411ms
✓ src/goals/goalHook.test.ts (38 tests) 41ms
✓ src/utils/git-branches.test.ts (57 tests) 2018ms
✓ src/utils/ripgrepUtils.test.ts (34 tests) 15ms
✓ src/ipc/inbound-gate.test.ts (49 tests) 25ms
✓ src/tools/agent/agent-override.test.ts (22 tests) 66ms
✓ src/agents/forkedAgent.agent.test.ts (13 tests) 32ms
✓ src/services/gitWorktreeService.symlinks.integ.test.ts (15 tests) 3363ms
✓ GitWorktreeService.createUserWorktree() — symlinkDirectories > symlinks a configured directory into the new worktree 357ms
✓ GitWorktreeService.createUserWorktree() — symlinkDirectories > is a no-op when symlinkDirectories is omitted or empty 301ms
✓ src/core/openaiContentGenerator/provider/default.test.ts (36 tests) 15ms
✓ src/telemetry/daemon-tracing.test.ts (28 tests) 53ms
✓ src/telemetry/config.test.ts (47 tests) 12ms
✓ src/utils/openaiLogger.test.ts (40 tests) 189ms
✓ src/lsp/NativeLspService.integration.test.ts (30 tests) 14ms
✓ src/extension/marketplace.test.ts (33 tests) 23ms
✓ src/tools/tool-response-finalizer.test.ts (25 tests) 13ms
✓ src/memory/recall.test.ts (51 tests) 21ms
✓ src/providers/__tests__/install.test.ts (22 tests) 28ms
(node:267352) 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) 4540ms
✓ Config sessionEnvClaimed guard > first Config sets process.env QWEN_CODE_SESSION_ID to its sessionId 868ms
✓ src/utils/filesearch/fileSearch.test.ts (29 tests) 394ms
✓ src/services/sessionService.rename.test.ts (19 tests) 18ms
✓ src/memory/skillReviewAgentPlanner.test.ts (32 tests) 67ms
✓ src/hooks/promptHookRunner.test.ts (27 tests) 134ms
✓ src/tools/session-mcp-view.test.ts (24 tests) 15ms
✓ src/services/image-generation-service.test.ts (21 tests) 68ms
✓ src/agents/runtime/workflow-saved.test.ts (40 tests) 86ms
✓ src/tools/report-findings.test.ts (32 tests) 170ms
✓ src/services/cronTasksFile.test.ts (45 tests) 195ms
✓ src/core/session-start-profiler.test.ts (21 tests) 38ms
✓ src/config/rulesDiscovery.test.ts (36 tests) 46ms
✓ src/tools/mcp-client-v2.test.ts (10 tests) 5307ms
✓ configured MCP SDK v2 negotiation > preserves the default discovery budget for legacy initialization 5167ms
✓ src/utils/workspaceContext.test.ts (46 tests) 21ms
✓ src/utils/memoryDiagnostics.test.ts (12 tests) 50ms
✓ src/services/compactionInputSlimming.test.ts (37 tests) 8ms
✓ src/utils/notebook.test.ts (30 tests) 31ms
✓ src/utils/toolResultDisplayCompaction.test.ts (31 tests) 14ms
✓ src/hooks/sessionHooksManager.test.ts (36 tests) 12ms
✓ src/core/openaiContentGenerator/provider/deepseek.test.ts (29 tests) 11ms
✓ src/utils/git-ignore.test.ts (19 tests) 5638ms
✓ isGitIgnored > kills a wedged probe at the caller’s deadline and reads it as not-ignored 505ms
✓ isGitIgnored > kills a wedged probe at the default deadline 5028ms
✓ src/tools/exitPlanMode.test.ts (30 tests) 13ms
✓ src/services/session-organization-service.test.ts (25 tests) 52ms
✓ src/core/message-display-dispatcher.test.ts (18 tests) 13ms
✓ src/utils/gitDirect.test.ts (68 tests) 38ms
✓ src/agents/backends/ITermBackend.test.ts (46 tests) 21ms
✓ src/core/xml-tool-call-fallback.test.ts (42 tests) 10ms
✓ src/memory/remember.test.ts (16 tests) 47ms
✓ src/tools/zoom-image.test.ts (19 tests) 215ms
✓ src/extension/qoder-converter.test.ts (25 tests) 37ms
✓ src/utils/sideQuery.test.ts (23 tests) 39ms
✓ src/core/openaiContentGenerator/errorHandler.test.ts (45 tests) 28ms
✓ src/utils/secure-browser-launcher.test.ts (31 tests) 15ms
✓ src/memory/recall-eval.test.ts (8 tests) 48ms
✓ src/services/sleepInhibitor.test.ts (23 tests) 882ms
✓ src/agents/arena/ArenaAgentClient.test.ts (21 tests) 21ms
✓ src/memory/prompt.test.ts (33 tests) 6ms
✓ src/mcp/oauth-token-storage.test.ts (31 tests) 85ms
✓ src/tools/tool-result-boundary-diagnostics.test.ts (18 tests) 44ms
✓ src/config/config.safe-mode.test.ts (24 tests) 21ms
✓ src/tools/ls.test.ts (30 tests) 92ms
✓ src/utils/schemaConverter.test.ts (33 tests) 6ms
✓ src/core/client.telemetrySwap.test.ts (10 tests) 9ms
✓ src/extension/variables.test.ts (22 tests) 24ms
✓ src/utils/fetch.test.ts (64 tests) 3342ms
✓ 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) 504ms
✓ fetchWithPolicy retry abort handling > retries once on undici socket errors (UND_ERR_SOCKET) 503ms
✓ src/utils/debugLogger.test.ts (36 tests) 31ms
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) 364ms
✓ src/memory/extractionAgentPlanner.test.ts (18 tests) 13ms
✓ src/telemetry/tracer.test.ts (31 tests) 20ms
✓ src/mcp/oauth-utils.test.ts (33 tests) 11ms
✓ src/utils/systemEncoding.test.ts (41 tests) 11ms
✓ src/agents/backends/TmuxBackend.test.ts (27 tests) 17ms
✓ src/tools/team-lifecycle.test.ts (5 tests) 570ms
✓ 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) 10ms
✓ src/utils/jsonl-utils.test.ts (40 tests) 30ms
✓ src/memory/recall-delivery-eval.test.ts (7 tests) 469ms
✓ src/tools/send-message.test.ts (21 tests) 46ms
✓ src/mcp/token-storage/file-token-storage.test.ts (25 tests) 689ms
✓ src/tools/task-stop.test.ts (14 tests) 31ms
✓ src/core/geminiContentGenerator/geminiContentGenerator.test.ts (15 tests) 10ms
✓ src/utils/retryErrorClassification.test.ts (39 tests) 8ms
✓ src/utils/shellReadOnlyChecker.test.ts (230 tests) 150ms
✓ src/telemetry/detailed-span-attributes.test.ts (47 tests) 12ms
✓ src/utils/sedEditParser.test.ts (38 tests) 9ms
✓ src/utils/gitIgnoreParser.test.ts (35 tests) 35ms
✓ src/memory/writeContextFile.test.ts (17 tests) 22ms
✓ 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) 51ms
✓ src/core/plan-mode-shell-policy.test.ts (19 tests) 42ms
✓ src/hooks/asyncHookRegistry.test.ts (20 tests) 8ms
✓ src/agents/team/mailbox.test.ts (19 tests) 71ms
✓ src/memory/store.test.ts (17 tests) 31ms
✓ src/agents/team/teamHelpers.test.ts (46 tests) 40ms
↓ src/agents/runtime/workflow-p4a-meta-live.live.test.ts (6 tests | 6 skipped)
✓ src/agents/runtime/workflow-stall.test.ts (26 tests) 30ms
✓ src/utils/process-liveness.test.ts (30 tests) 21ms
✓ src/followup/suggestionGenerator.test.ts (24 tests) 8ms
✓ src/skills/skill-activation.test.ts (22 tests) 734ms
✓ extractToolFilePaths → SkillActivationRegistry integration > activates a skill keyed on src/**/*.ts from glob({ path: "src", pattern: "**/*.ts" }) 722ms
✓ src/services/toolUseSummary.test.ts (34 tests) 30ms
✓ src/telemetry/daemon-metrics.test.ts (22 tests) 45ms
✓ src/core/nonInteractiveToolExecutor.test.ts (10 tests) 18ms
✓ src/tools/artifact/artifact-tool.test.ts (20 tests) 201ms
✓ 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) 1857ms
✓ src/utils/abortController.test.ts (26 tests | 1 skipped) 15ms
✓ src/tools/task-update.test.ts (18 tests) 107ms
✓ src/ipc/uds-inbox.test.ts (21 tests) 1975ms
✓ client errors > gives up on a peer that dribbles bytes back instead of closing 503ms
✓ client errors > drops sends beyond the concurrent cap instead of opening unbounded connections 1035ms
✓ src/utils/rateLimit.test.ts (35 tests) 17ms
✓ src/agents/team/TeamManager.plan-approval.test.ts (11 tests) 24ms
✓ src/tools/enter-worktree.test.ts (26 tests) 32ms
✓ src/services/usage-dashboard-service.test.ts (9 tests) 15ms
✓ 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) 10ms
✓ src/ide/ideContext.test.ts (23 tests) 8ms
✓ src/utils/generateContentResponseUtilities.test.ts (37 tests) 7ms
✓ src/services/visionBridge/tool-result-vision-bridge.test.ts (12 tests) 9ms
✓ src/memory/memoryLifecycle.integration.test.ts (3 tests) 53ms
✓ src/tools/exit-worktree.test.ts (16 tests) 1079ms
✓ src/models/content-generator-config.test.ts (18 tests) 7ms
✓ src/utils/getFolderStructure.test.ts (17 tests) 27ms
✓ src/memory/relevanceSelector.test.ts (13 tests) 20ms
✓ src/utils/request-tokenizer/textTokenizer.test.ts (36 tests) 30ms
✓ src/core/__tests__/openaiTimeoutHandling.test.ts (11 tests) 19ms
✓ src/utils/nextSpeakerChecker.test.ts (13 tests) 36ms
✓ src/utils/errors.test.ts (44 tests) 30ms
✓ src/mcp/token-storage/keychain-token-storage.test.ts (24 tests) 129ms
✓ 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) 6ms
✓ src/followup/followupState.test.ts (18 tests) 12ms
✓ src/core/openaiContentGenerator/pipeline.concurrent.test.ts (2 tests) 13ms
✓ src/tools/enterPlanMode.test.ts (21 tests) 24ms
✓ src/permissions/classifier-prompts/system-prompt.test.ts (22 tests) 6ms
✓ src/agents/runtime/agent-statistics.test.ts (33 tests) 14ms
✓ src/subagents/subagent-manager-override.test.ts (6 tests) 13ms
✓ src/utils/ignorePatterns.test.ts (29 tests) 7ms
✓ src/core/permissionFlow.test.ts (26 tests) 7ms
✓ src/memory/userMemory.test.ts (13 tests) 23ms
✓ src/utils/transcript-records.test.ts (20 tests) 16ms
✓ src/agents/team/test-utils/fake-agent.test.ts (28 tests) 8ms
✓ src/services/worktreeSessionService.test.ts (21 tests) 32ms
✓ src/permissions/dangerousRules.test.ts (110 tests) 8ms
✓ src/utils/github-prs.test.ts (23 tests) 11ms
✓ src/memory/refresh.test.ts (9 tests) 14ms
✓ src/telemetry/event-loop-lag.test.ts (16 tests) 26ms
✓ src/core/openaiContentGenerator/openaiContentGenerator.test.ts (12 tests) 12ms
✓ src/memory/team-memory-sync.test.ts (10 tests) 647ms
✓ src/tools/read-mcp-resource.test.ts (15 tests) 45ms
✓ src/hooks/promptHookIntegration.test.ts (9 tests) 119ms
✓ src/utils/yaml-parser.test.ts (38 tests) 30ms
✓ src/utils/shell-ast-parser-lazy.test.ts (5 tests) 252ms
✓ 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) 12ms
✓ 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) 12ms
✓ src/tools/tool-result-retention.test.ts (19 tests) 5ms
✓ src/agents/backends/iterm-it2.test.ts (19 tests) 8ms
✓ src/tools/cron-create.test.ts (18 tests) 253ms
✓ src/utils/filesearch/ignore.test.ts (21 tests) 20ms
✓ src/extension/extension-runtime-refresh.test.ts (9 tests) 8ms
✓ src/utils/filesearch/fzfWorkerHandle.test.ts (13 tests) 110ms
✓ 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) 57ms
✓ src/tools/agent/fork-subagent.test.ts (21 tests) 6ms
✓ src/memory/indexer.test.ts (8 tests) 27ms
✓ src/tools/loop-wakeup.test.ts (19 tests) 51ms
✓ src/utils/runtimeStatus.test.ts (21 tests) 17ms
✓ src/tools/toAutoClassifierInput.test.ts (14 tests) 3ms
✓ src/services/branch-points.test.ts (18 tests) 4ms
✓ src/confirmation-bus/message-bus.test.ts (15 tests) 69ms
✓ src/subagents/agent-frontmatter-schema.test.ts (26 tests) 5ms
✓ src/memory/dreamAgentPlanner.test.ts (10 tests) 57ms
✓ src/services/fileReadCache.integration.test.ts (3 tests) 39ms
✓ src/telemetry/resource-attributes.test.ts (35 tests) 8ms
✓ src/core/openaiContentGenerator/prefix-caching.test.ts (21 tests) 4ms
✓ src/tools/agent/fork-profile.test.ts (35 tests) 30ms
✓ src/utils/runtimeStatus.config.test.ts (6 tests) 300ms
✓ src/memory/team-index.test.ts (10 tests) 24ms
✓ src/output/json-formatter.test.ts (15 tests) 4ms
✓ src/tools/create-sub-session.test.ts (14 tests) 37ms
✓ src/utils/quotaErrorDetection.test.ts (29 tests) 4ms
✓ src/extension/archive-safety.test.ts (8 tests) 2277ms
✓ assertTarArchiveHasNoLinks > accepts an archive with exactly the entry-count limit 1092ms
✓ assertTarArchiveHasNoLinks > rejects an archive just over the entry-count limit 1101ms
✓ src/utils/cronParser.test.ts (31 tests) 20ms
✓ src/tools/mcp-pool-key.test.ts (25 tests) 5ms
✓ src/goals/goal-checkpoint-verifier.test.ts (6 tests) 8ms
✓ src/tools/image-gen.test.ts (8 tests) 45ms
✓ src/utils/terminalSerializer.test.ts (20 tests) 57ms
✓ src/skills/bundled/goal-draft/SKILL.test.ts (8 tests) 14ms
✓ src/tools/artifact/oss-publisher.test.ts (16 tests) 19ms
✓ src/core/openaiContentGenerator/provider/zai.test.ts (15 tests) 6ms
✓ src/services/session-pr-service.test.ts (23 tests) 55ms
✓ src/tools/mcp-retry.test.ts (38 tests) 1268ms
✓ retryWithBackoff > retries up to maxRetries and then throws 603ms
✓ src/agents/runtime/agent-core.skill-gate.test.ts (11 tests) 6ms
✓ src/telemetry/gen-ai-request.test.ts (23 tests) 5ms
✓ src/services/fileDiscoveryService.test.ts (15 tests) 19ms
✓ src/utils/gitUtils.test.ts (12 tests) 8ms
✓ src/memory/learn-skill-agent.test.ts (36 tests) 13ms
✓ src/core/toolCallIdUtils.test.ts (11 tests) 4ms
✓ src/services/runtimeSampleRing.test.ts (10 tests) 6ms
✓ src/goals/goal-verifier.test.ts (13 tests) 9ms
✓ src/services/chatRecordingService.parentSession.test.ts (8 tests) 9ms
✓ src/services/cronTasksLock.test.ts (15 tests) 17ms
✓ src/tools/file-read-permission.test.ts (15 tests) 10ms
✓ 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) 6ms
✓ 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) 9ms
✓ src/tools/tools.test.ts (13 tests) 6ms
✓ src/tools/cron-list.test.ts (10 tests) 46ms
✓ src/tools/team-create.test.ts (12 tests) 64ms
✓ src/followup/speculationToolGate.test.ts (32 tests) 39ms
✓ src/utils/retryPolicy.test.ts (20 tests) 13ms
✓ src/tools/mcp-workspace-budget.test.ts (17 tests) 5ms
✓ src/memory/team-paths.test.ts (10 tests) 7ms
✓ src/services/tokenEstimation.test.ts (18 tests) 3ms
✓ src/core/environmentContext.mcp-subagent.test.ts (3 tests) 135ms
✓ src/utils/modelId.test.ts (26 tests) 6ms
✓ src/utils/qwenIgnoreParser.test.ts (12 tests) 16ms
✓ src/hooks/ssrfGuard.test.ts (27 tests) 9ms
✓ src/utils/filesearch/crawlCache.test.ts (13 tests) 24ms
✓ src/tools/client-mcp-registrar.test.ts (5 tests) 37ms
✓ src/utils/subagentGenerator.test.ts (9 tests) 27ms
✓ 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) 1845ms
✓ background shell status sidecar (integration, real spawn) > reports running (with pid) while a quiet child keeps the output file empty, then completed 1636ms
✓ src/memory/recall-scan-latency.test.ts (1 test) 264ms
✓ src/utils/contextLengthError.test.ts (30 tests) 5ms
✓ 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) 12ms
✓ src/mcp/token-storage/base-token-storage.test.ts (14 tests) 14ms
[warn] Corrupt extension state file /tmp/ext-prefs-wQLKkH/nested/extension-preferences.json moved aside to /tmp/ext-prefs-wQLKkH/nested/extension-preferences.json.corrupted
✓ src/extension/extensionPreferences.test.ts (11 tests) 9ms
✓ src/utils/runtimeDiagnostics.test.ts (4 tests) 4ms
✓ src/telemetry/gen-ai-provider.test.ts (64 tests) 6ms
✓ 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) 4ms
✓ 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) 4ms
✓ src/hooks/detectTodoChanges.test.ts (12 tests) 4ms
✓ src/hooks/envInterpolator.test.ts (30 tests) 7ms
✓ src/followup/overlayFs.test.ts (15 tests) 14ms
✓ src/memory/pending-skills.test.ts (11 tests) 24ms
✓ src/goals/goal-persistence.test.ts (13 tests) 5ms
✓ 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) 24ms
✓ src/core/goal-turn-integration.test.ts (3 tests) 8ms
✓ src/tools/skill-utils.test.ts (11 tests) 8ms
✓ src/models/reproduce-401.test.ts (3 tests) 8ms
✓ src/tools/request-shutdown.test.ts (9 tests) 25ms
✓ src/agents/runtime/workflow-budget.test.ts (20 tests) 4ms
✓ src/followup/smoke.test.ts (21 tests) 8ms
✓ src/tools/artifact/html.test.ts (38 tests) 5ms
✓ src/tools/display-image.test.ts (7 tests) 34ms
✓ src/providers/__tests__/presets/custom-provider.test.ts (11 tests) 5ms
✓ src/tools/artifact/host-publisher.test.ts (17 tests) 15ms
✓ src/test-utils/mockWorkspaceContext.test.ts (9 tests) 7ms
Error: Unsupported mode "midnight". Use "light" or "dark".
✓ src/skills/bundled/dataviz/scripts/validate_palette.test.js (19 tests) 120ms
✓ 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) 6ms
✓ src/ide/ide-installer.test.ts (10 tests) 9ms
✓ src/core/openaiContentGenerator/provider/mimo.test.ts (9 tests) 5ms
✓ src/tools/team-plan-approval.test.ts (9 tests) 5ms
✓ src/tools/task-create.test.ts (9 tests) 38ms
✓ src/extension/extension-converter.test.ts (4 tests) 16ms
✓ src/hooks/types.test.ts (15 tests) 4ms
✓ src/utils/runtime-fetch-options.no-proxy.test.ts (3 tests) 39ms
✓ src/extension/i18n.test.ts (16 tests) 3ms
✓ src/ide/process-utils.test.ts (6 tests) 4ms
✓ src/extension/extension-git-credentials.test.ts (4 tests) 196ms
✓ src/core/ask-user-question-restore.test.ts (8 tests) 3ms
✓ src/utils/proxyUtils.test.ts (23 tests) 5ms
✓ src/skills/skill-manager.read-model.test.ts (3 tests) 37ms
✓ src/utils/textUtils.test.ts (25 tests) 3ms
✓ src/memory/secret-scanner.test.ts (29 tests) 139ms
✓ src/utils/cronDisplay.test.ts (7 tests) 4ms
✓ src/tools/task-list.test.ts (9 tests) 64ms
✓ src/utils/terminalSafe.test.ts (16 tests) 4ms
✓ src/goals/goal-checkpoint.test.ts (7 tests) 4ms
✓ 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) 12ms
✓ src/core/message-display-buffer.test.ts (9 tests) 3ms
✓ src/tools/enter-worktree.session.integ.test.ts (2 tests) 487ms
✓ src/core/tool-invocation-guard.test.ts (11 tests) 6ms
✓ 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) 26ms
✓ src/core/output-styles.test.ts (15 tests) 4ms
✓ src/providers/__tests__/presets/moonshot.test.ts (6 tests) 6ms
✓ 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) 7ms
✓ src/core/permission-helpers.test.ts (8 tests) 4ms
✓ 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) 9ms
✓ 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) 7ms
✓ src/services/visionBridge/image-part-utils.test.ts (18 tests) 6ms
✓ src/mcp/configHash.test.ts (16 tests) 4ms
✓ src/skills/skill-curator.reread.test.ts (1 test) 21ms
✓ src/tools/cron-delete.test.ts (7 tests) 47ms
✓ src/ipc/socket-path.test.ts (9 tests) 4ms
✓ src/utils/configResolver.test.ts (12 tests) 3ms
✓ src/hooks/trustedHooks.test.ts (5 tests) 4ms
✓ 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) 4ms
✓ 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) 569ms
✓ src/providers/__tests__/presets/grok.test.ts (6 tests) 6ms
✓ 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) 13ms
✓ 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) 41ms
✓ 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) 13ms
✓ src/mcp/google-auth-provider.test.ts (8 tests) 11ms
✓ src/core/inlineMediaLimit.test.ts (13 tests) 4ms
✓ src/utils/filesearch/result-cache.test.ts (6 tests) 6ms
✓ src/utils/image-view.test.ts (4 tests) 59ms
✓ src/utils/projectRoot.test.ts (5 tests) 8ms
✓ src/memory/team-memory-git-status.test.ts (5 tests) 43ms
✓ src/hooks/combinedAbortSignal.test.ts (8 tests) 305ms
✓ src/extension/network-policy.test.ts (15 tests) 10ms
✓ src/tools/list-agents.test.ts (3 tests) 19ms
✓ src/skills/skill-load.real-parser.test.ts (7 tests) 11ms
✓ src/telemetry/session-context.test.ts (9 tests) 3ms
✓ src/config/installationManager.test.ts (4 tests) 4ms
✓ src/core/geminiRequest.test.ts (13 tests) 3ms
✓ src/agents/team/leaderPermissionBridge.test.ts (7 tests) 3ms
✓ src/extension/storage.test.ts (5 tests) 4ms
✓ src/hooks/stopHookCap.test.ts (9 tests) 4ms
✓ src/memory/extractAgent.test.ts (1 test) 14ms
✓ src/utils/invocation-context.test.ts (12 tests) 3ms
✓ src/tools/team-delete.test.ts (5 tests) 530ms
✓ src/lsp/NativeLspClient.test.ts (2 tests) 3ms
✓ src/extension/agent-plugins-v1/skills.test.ts (3 tests) 11ms
✓ src/tools/tool-utils.test.ts (13 tests) 2ms
✓ src/memory/dream.test.ts (3 tests) 14ms
✓ src/core/geminiContentGenerator/index.test.ts (3 tests) 5ms
✓ src/tools/tool-response-finalizer.integration.test.ts (2 tests) 14ms
✓ src/goals/activeGoalStore.test.ts (8 tests) 3ms
✓ src/skills/symlinkScope.test.ts (5 tests) 3ms
✓ src/skills/bundled-skills.integration.test.ts (15 tests) 15ms
✓ src/tools/syntheticOutput.test.ts (7 tests) 20ms
✓ src/hooks/instructionsLoadedCallback.test.ts (4 tests) 4ms
✓ src/utils/bundlePaths.test.ts (4 tests) 2ms
✓ src/providers/__tests__/presets/modelscope.test.ts (3 tests) 4ms
✓ src/telemetry/sanitize.test.ts (10 tests) 3ms
✓ src/goals/goal-runtime.integration.test.ts (2 tests) 10ms
✓ src/services/session-file-history-state.test.ts (2 tests) 16ms
✓ src/utils/sanitize-child-env.test.ts (6 tests) 3ms
✓ src/services/sessionRecap.test.ts (1 test) 3ms
✓ src/services/session-service-writer-lease.test.ts (2 tests) 11ms
✓ src/utils/projectSummary.test.ts (3 tests) 17ms
✓ src/utils/workspace-artifact-path.test.ts (8 tests) 4ms
✓ src/memory/const.test.ts (4 tests) 2ms
✓ src/tools/mcp-status.test.ts (6 tests) 2ms
✓ src/core/openaiContentGenerator/provider/grok.test.ts (8 tests) 5ms
✓ src/utils/shell-pager-env.test.ts (8 tests) 3ms
✓ src/utils/ripgrepUtils.real.test.ts (2 tests) 11ms
✓ src/agents/subagent-result.test.ts (18 tests) 3ms
✓ src/utils/language-detection.test.ts (6 tests) 2ms
✓ src/providers/__tests__/presets/zai.test.ts (3 tests) 4ms
✓ src/providers/__tests__/presets/alibaba-coding-plan.test.ts (2 tests) 3ms
✓ 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) 3ms
✓ src/extension/corruptFile.test.ts (2 tests) 5ms
✓ src/providers/__tests__/presets/requesty.test.ts (5 tests) 2ms
✓ src/test-utils/mockWorkspaceContext.fallback.test.ts (3 tests) 3ms
✓ src/agents/backends/tmux-commands.test.ts (8 tests) 3ms
✓ src/tools/artifact/local-publisher.test.ts (3 tests) 6ms
✓ src/telemetry/session-events.test.ts (5 tests) 12ms
✓ 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) 21ms
✓ src/utils/asyncMessageQueue.test.ts (7 tests) 2ms
✓ 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) 33ms
✓ src/utils/load-simple-git.test.ts (3 tests) 8ms
✓ src/lsp/LspConnectionFactory.test.ts (2 tests) 56ms
✓ src/utils/startupEventSink.test.ts (4 tests) 5ms
✓ src/utils/request-tokenizer/supportedImageFormats.test.ts (2 tests) 3ms
✓ src/telemetry/api-activity-tracker.test.ts (3 tests) 2ms
✓ src/utils/internalPromptIds.test.ts (9 tests) 2ms
✓ src/lsp/configHash.test.ts (3 tests) 3ms
✓ src/telemetry/trace-id-utils.test.ts (8 tests) 5ms
✓ src/services/sync-file-encoding.test.ts (9 tests) 24ms
✓ src/utils/messageInspectors.test.ts (5 tests) 2ms
✓ src/utils/formatters.test.ts (13 tests) 2ms
✓ src/telemetry/telemetry-utils.test.ts (6 tests) 2ms
✓ src/utils/load-iconv-lite.test.ts (3 tests) 9ms
✓ src/services/tool-write-origin.test.ts (9 tests) 3ms
✓ src/subagents/types.test.ts (3 tests) 2ms
✓ src/hooks/context-usage.test.ts (8 tests) 2ms
✓ src/utils/load-xterm-headless.test.ts (3 tests) 8ms
✓ src/core/tool-call-preparation.test.ts (3 tests) 2ms
✓ 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) 2ms
✓ src/core/openaiContentGenerator/constants.test.ts (5 tests) 2ms
✓ src/core/tool-call-arguments.test.ts (8 tests) 2ms
✓ 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) 2ms
✓ 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:52:10
Duration 554.95s (transform 24.31s, setup 1.81s, collect 156.01s, tests 268.20s, environment 83ms, prepare 33.14s)
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) 4798ms
✓ NodeReplKernelManager > revalidates a module root after earlier queued work completes 351ms
✓ NodeReplKernelManager > kills timed-out and cancelled generations without replaying source 1311ms
✓ src/node-repl.semantics.test.ts (18 tests) 976ms
✓ src/cell-transform.test.ts (15 tests) 69ms
✓ src/mcp-server.test.ts (10 tests) 824ms
✓ node_repl MCP server > dispose() kills the kernel child process 560ms
✓ src/output-adapter.test.ts (12 tests) 56ms
✓ src/protocol.test.ts (14 tests) 1819ms
✓ encodeFrame > every frame encodeFrame accepts is decodable (boundary round-trip) 499ms
✓ FrameDecoder > reports an unterminated oversize stream and clears the buffer 1046ms
✓ src/node-repl.scale.test.ts (2 tests) 755ms
✓ node_repl scale & isolation > isolates 10 concurrent kernels (no binding/pid/output cross-talk) 607ms
✓ src/node-repl.lines.test.ts (4 tests) 242ms
✓ src/win-path.test.ts (10 tests) 3ms
✓ src/node-repl.reload.test.ts (2 tests) 135ms
✓ src/node-repl.napi.test.ts (1 test) 3950ms
✓ src/security-policy.test.ts (4 tests) 3ms
✓ src/debug-log.test.ts (3 tests) 4ms
✓ src/tokenizer.test.ts (7 tests) 3ms
Test Files 14 passed (14)
Tests 148 passed (148)
Start at 16:01:30
Duration 15.80s (transform 176ms, setup 0ms, collect 395ms, tests 13.64s, environment 1ms, prepare 586ms)
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) 1976ms
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) 84ms
✓ test/unit/daemonEvents.test.ts (111 tests) 16ms
✓ test/unit/DaemonSessionClient.test.ts (69 tests) 405ms
2026-10-24 16:01:50 [ERROR] [ProcessTransport] Failed to initialize CLI process: Transport start aborted
2026-10-24 16:01:50 [ERROR] [ProcessTransport] Failed to initialize CLI process: Transport start aborted
2026-10-24 16:01:50 [ERROR] [ProcessTransport] CLI process error: Spawn failed
2026-10-24 16:01:50 [ERROR] [ProcessTransport] CLI process exited with code 1
2026-10-24 16:01:50 [ERROR] [ProcessTransport] CLI process terminated by signal SIGTERM
2026-10-24 16:01:50 [ERROR] [ProcessTransport] CLI process error: Process error
2026-10-24 16:01:50 [DEBUG] [ProcessTransport] Spawning CLI (native): qwen --input-format stream-json --output-format stream-json --channel=SDK
2026-10-24 16:01:50 [ERROR] [ProcessTransport] CLI process exited with code 1
2026-10-24 16:01:50 [ERROR] [ProcessTransport] CLI process error: Process error
2026-10-24 16:01:50 [ERROR] [ProcessTransport] CLI process exited with code 1
2026-10-24 16:01:50 [ERROR] [ProcessTransport] CLI process terminated by signal SIGKILL
2026-10-24 16:01:50 [INFO] [ProcessTransport] CLI process started successfully
2026-10-24 16:01:50 [DEBUG] [ProcessTransport] Forking CLI (node): /path/to/cli.js --input-format stream-json --output-format stream-json --channel=SDK
2026-10-24 16:01:50 [INFO] [ProcessTransport] CLI process started successfully
✓ test/unit/ProcessTransport.test.ts (86 tests) 71ms
✓ test/unit/AcpHttpTransport.test.ts (49 tests) 61ms
2026-10-24 16:01:51 [ERROR] [Query] Control response error for request adcd69ff-f66a-46dd-a04a-8637a968e0a1: Test error
2026-10-24 16:01:51 [ERROR] [Query] Initialization error: Test error
2026-10-24 16:02:02 [ERROR] [Query] Initialization error: Query is closed
2026-10-24 16:02:14 [ERROR] [Query] Control response error for request fec4a78d-d104-420b-a19a-8cbc06e37f2c: Malformed error
✓ test/unit/Query.test.ts (66 tests) 24490ms
✓ 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) 104ms
✓ test/unit/daemon-public-surface.test.ts (18 tests) 8ms
✓ test/unit/DaemonClient.upload.test.ts (28 tests) 16ms
✓ test/daemon-ui-transcript.test.ts (22 tests) 8ms
✓ test/unit/daemon-transcript-projection.test.ts (15 tests) 16ms
✓ test/unit/AcpWsTransport.test.ts (34 tests) 13ms
✓ test/unit/DaemonAuthFlow.test.ts (14 tests) 13069ms
✓ test/unit/cliPath.test.ts (33 tests) 12ms
✓ test/unit/daemon-sse.test.ts (18 tests) 8ms
✓ test/unit/AutoReconnectTransport.test.ts (19 tests) 20ms
✓ test/unit/DaemonClientVoice.test.ts (8 tests) 34ms
✓ test/unit/createSdkMcpServer.test.ts (18 tests) 13ms
2026-10-24 16:02:30 [ERROR] [Query] Transport finalized with pending requests rejected {"pendingControl":1,"pendingMcp":0,"error":"Transport closed before control response"}
2026-10-24 16:02:30 [ERROR] [Query] Transport finalized with pending requests rejected {"pendingControl":1,"pendingMcp":0,"error":"transport read crashed"}
2026-10-24 16:02:30 [ERROR] [Query] Transport finalized with pending requests rejected {"pendingControl":0,"pendingMcp":1,"error":"Transport closed before control response"}
2026-10-24 16:02:30 [ERROR] [Query] Control response error for request d3f5dcfb-c40a-43a6-b5ab-2d5116b9e8b1: no turn to continue
✓ test/query.test.ts (7 tests) 33ms
✓ test/unit/negotiateTransport.test.ts (15 tests) 41ms
✓ test/unit/AcpEventDenormalizer.test.ts (20 tests) 4ms
✓ test/unit/Stream.test.ts (22 tests) 6ms
✓ test/unit/transcriptStoreChanges.test.ts (11 tests) 8ms
✓ test/unit/queryOptionsSchema.test.ts (81 tests) 12ms
✓ test/unit/DaemonClientLive.test.ts (3 tests) 8ms
✓ test/unit/createQuery.test.ts (5 tests) 22ms
✓ test/unit/isSubagentSessionNotFound.test.ts (15 tests) 2ms
✓ test/unit/daemon-transports-surface.test.ts (4 tests) 3ms
✓ test/unit/DaemonWorkspaceManagement.test.ts (1 test) 6ms
✓ test/unit/approval-mode-drift.test.ts (1 test) 1ms
✓ test/unit/acpTransportUtils.test.ts (3 tests) 1ms
✓ test/unit/daemon-pending-interaction-types.test.ts (1 test) 2ms
Test Files 35 passed (35)
Tests 1662 passed (1662)
Start at 16:01:46
Duration 50.81s (transform 3.79s, setup 2ms, collect 6.45s, tests 40.63s, environment 4ms, prepare 1.35s)
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) 1598ms
✓ WebViewProvider.handleAuthInteractive credential rollback > restores the snapshot when the reconnect leaves authState !== true 304ms
✓ 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) 306ms
✓ WebViewProvider.handleAuthInteractive credential rollback > swallows a rollback write failure so the authError message still sends 311ms
✓ WebViewProvider.handleAuthInteractive credential rollback > rolls back + disconnects + reports authError when doInitializeAgentConnection throws (outer catch) 306ms
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) 28ms
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) 46ms
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-QI6ESN/.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-gbS3f7/.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) 16ms
✓ src/services/qwenSessionUpdateHandler.test.ts (19 tests) 9ms
✓ src/ide-server.test.ts (13 tests | 1 skipped) 68ms
✓ src/open-files-manager.test.ts (17 tests) 19ms
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) 14ms
✓ src/webview/handlers/AuthMessageHandler.test.ts (10 tests) 10ms
✓ src/extension.test.ts (14 tests) 25ms
✓ src/utils/paths.test.ts (18 tests) 6ms
✓ scripts/generate-notices.test.js (23 tests) 12ms
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-7BpRYB/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-7BpRYB/session.jsonl
[QwenAgentManager] JSONL messages reconstructed: 1
✓ src/services/qwenAgentManager.test.ts (12 tests) 9ms
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) 4ms
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) 9ms
✓ 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) 7ms
✓ src/utils/tokenLimits.test.ts (15 tests) 4ms
✓ src/services/sessionExportService.test.ts (9 tests) 6ms
✓ 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) 4ms
✓ src/webview/utils/completionUtils.test.ts (14 tests) 4ms
✓ src/webview/utils/discontinuedModel.test.ts (13 tests) 3ms
✓ src/webview/hooks/useWebViewMessages.test.ts (5 tests) 4ms
✓ src/utils/logger.test.ts (5 tests) 6ms
✓ 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) 7ms
✓ 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) 10ms
✓ 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) 766ms
✓ imageSupport browser bundling > does not leave qwen-code-core runtime imports in the App webview bundle 758ms
✓ src/package.test.ts (2 tests) 1ms
✓ src/webview/providers/chatViewRegistration.test.ts (1 test) 2ms
✓ src/utils/imageSupport.test.ts (2 tests) 2ms
✓ src/utils/file-path.test.ts (4 tests) 2ms
✓ src/utils/errorMessage.test.ts (2 tests) 1ms
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) 136ms
✓ src/webview/hooks/useAcpTranscript.test.ts (20 tests) 30ms
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) 32ms
✓ src/webview/hooks/useMessageSubmit.test.ts (21 tests) 19ms
✓ src/webview/components/layout/ModelSelector.test.tsx (9 tests) 62ms
✓ src/webview/hooks/message/useMessageHandling.test.tsx (4 tests) 22ms
✓ src/webview/components/messages/toolcalls/index.test.tsx (3 tests) 16ms
✓ src/webview/components/layout/InputForm.test.tsx (2 tests) 24ms
✓ src/webview/hooks/useToolCalls.test.tsx (2 tests) 12ms
✓ src/webview/utils/fileLinks.test.ts (16 tests) 5ms
✓ src/webview/components/layout/ProviderSetupForm.test.tsx (1 test) 27ms
✓ src/webview/components/layout/Onboarding.test.tsx (1 test) 18ms
Test Files 57 passed (57)
Tests 602 passed | 1 skipped (603)
Start at 16:02:37
Duration 32.70s (transform 4.66s, setup 0ms, collect 19.70s, tests 3.16s, environment 2.31s, prepare 2.50s)
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) 28111ms
✓ mergeSideTaskCatalog > replaces the catalog when the parent session changes 370ms
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) 2620ms
✓ components/MessageList.dom.test.tsx (136 tests) 2875ms
✓ MessageList — turn collapse (DOM) > releases pagination when a virtual anchor never mounts 586ms
✓ MessageList — turn collapse (DOM) > does not auto-load again when an underfill page adds no content 568ms
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) 167ms
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) 2954ms
✓ components/ChatEditor.test.tsx (88 tests) 1202ms
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) 676ms
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) 431ms
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) 91ms
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) 111ms
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) 229ms
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) 721ms
✓ session-catalog/session-catalog-store.test.ts (57 tests) 38ms
✓ components/messages/Markdown.test.ts (77 tests) 1679ms
✓ Markdown code highlighting while streaming > keeps a growing block plain and highlights it once settled 430ms
✓ 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) 612ms
✓ components/messages/tools/ParallelAgentsGroup.test.tsx (42 tests) 164ms
✓ components/sidebar/WebShellSidebar.collapse-persist.test.tsx (32 tests) 2239ms
✓ WebShellSidebar collapsed session group persistence > keeps project sessions available from the collapsed sidebar 365ms
✓ components/messages/AskUserQuestion.test.tsx (70 tests) 309ms
✓ components/dialogs/ScheduledTasksDialog.test.tsx (53 tests) 469ms
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) 253ms
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) 173ms
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) 248ms
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) 412ms
✓ hooks/useFileUpload.test.tsx (28 tests) 43ms
✓ components/messages/MarkdownChartRenderer.test.tsx (26 tests) 365ms
✓ components/sidebar/WebShellSidebar.session-pinning.test.tsx (17 tests) 370ms
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) 70ms
✓ voice/VoiceButton.test.tsx (32 tests) 79ms
✓ components/dialogs/AddWorkspaceDialog.test.tsx (34 tests) 486ms
✓ components/dialogs/GoalsDialog.test.tsx (34 tests) 292ms
✓ components/channels/ChannelPairingRequests.test.tsx (26 tests) 296ms
✓ components/channels/ChannelEditorDialog.test.tsx (22 tests) 948ms
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) 110ms
✓ components/messages/UserMessage.test.tsx (37 tests) 64ms
✓ components/messages/PlanExecutionView.test.tsx (22 tests) 110ms
✓ voice/useVoiceCapture.test.tsx (23 tests) 48ms
✓ components/artifacts/TokenUsagePanel.test.tsx (34 tests) 204ms
✓ components/channels/ChannelsManagerPage.test.tsx (14 tests) 569ms
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) 105ms
✓ components/artifacts/CodeReviewArtifactDetail.test.tsx (20 tests) 136ms
✓ components/messages/AssistantMessage.test.tsx (23 tests) 236ms
✓ hooks/useSessionArtifacts.test.tsx (10 tests) 21ms
✓ components/artifacts/TurnOutputs.dom.test.tsx (9 tests) 70ms
✓ components/artifacts/SideTaskPanel.test.tsx (16 tests) 57ms
✓ components/QueuedPromptDisplay.test.tsx (27 tests) 83ms
✓ components/messages/SystemMessage.test.tsx (30 tests) 90ms
✓ components/PaneHeaderActions.test.tsx (11 tests) 296ms
✓ components/WebShellTranscript.dom.test.tsx (9 tests) 207ms
✓ components/dialogs/GitDiffDialog.test.tsx (14 tests) 248ms
✓ components/panels/EnvironmentPanel.test.tsx (14 tests) 96ms
✓ hooks/useComposerCore.mobile.dom.test.tsx (19 tests) 241ms
✓ components/MessageItem.dom.test.tsx (11 tests) 50ms
✓ hooks/useAnimationFrameTranscriptBlocks.test.tsx (10 tests) 24ms
✓ utils/imageIngestion.test.ts (53 tests) 13ms
✓ components/messages/SettingsMessage.dom.test.tsx (10 tests) 291ms
✓ session-catalog/session-catalog-hooks.test.tsx (10 tests) 50ms
✓ components/StreamingStatus.test.tsx (15 tests) 56ms
✓ components/messages/TasksStatusMessage.test.tsx (10 tests) 1892ms
✓ TasksStatusMessage nested-agent tree > cancels a foreground child of a background parent on the first press 609ms
✓ TasksStatusMessage nested-agent tree > requires a second press to cancel a user-blocking agent 609ms
✓ TasksStatusMessage nested-agent tree > caps the detail progress list at the newest MAX_DISPLAYED_ACTIVITIES rows 407ms
✓ components/sidebar/SessionDetailsTooltip.test.tsx (7 tests) 243ms
✓ components/messages/ModelManagementSection.dom.test.tsx (14 tests) 70ms
✓ index.test.tsx (17 tests) 84ms
✓ hooks/useNewSessionSuggestion.test.tsx (19 tests) 38ms
✓ components/AtMentionPanel.test.tsx (14 tests) 97ms
✓ components/dialogs/GitLogDialog.test.tsx (14 tests) 250ms
✓ hooks/useListboxKeyboard.test.tsx (16 tests) 109ms
✓ components/artifacts/artifactUtils.test.ts (34 tests) 24ms
✓ components/messages/McpApp.dom.test.tsx (7 tests) 131ms
✓ components/dialogs/ReleaseSessionDialog.test.tsx (6 tests) 101ms
✓ config/daemon.test.ts (19 tests) 22ms
✓ components/WorkspaceSessionProvider.test.tsx (8 tests) 48ms
✓ components/dialogs/UsageDashboardTab.test.tsx (8 tests) 197ms
✓ components/dialogs/DeleteSessionDialog.test.tsx (6 tests) 100ms
✓ components/messages/tools/SubAgentPanel.test.tsx (10 tests) 66ms
✓ hooks/useBackgroundTasks.test.tsx (6 tests) 22ms
✓ components/dialogs/GitHubPrsDialog.test.tsx (12 tests) 72ms
✓ components/WebShellTranscript.test.tsx (4 tests) 72ms
✓ components/GitBranchIndicator.test.tsx (11 tests) 70ms
✓ hooks/useOtherWorkspaceSessions.test.tsx (6 tests) 22ms
✓ components/WorkspaceIndicator.test.tsx (6 tests) 95ms
✓ components/artifacts/SubagentDetail.integration.test.tsx (2 tests) 38ms
✓ components/messages/ToolApproval.test.ts (6 tests) 32ms
✓ components/BranchPickerPopover.test.tsx (3 tests) 66ms
✓ live/useLiveVoice.test.tsx (4 tests) 21ms
✓ components/GoalStatusStrip.test.tsx (6 tests) 48ms
✓ live/LiveVoiceButton.test.tsx (5 tests) 112ms
✓ hooks/useIsTouchComposer.test.tsx (9 tests) 23ms
✓ components/dialogs/SessionRow.test.tsx (7 tests) 52ms
✓ components/dialogs/ModelFallbacksDialog.dom.test.tsx (8 tests) 58ms
✓ utils/clipboard.test.ts (8 tests) 21ms
✓ hooks/useScopedSessions.test.tsx (3 tests) 39ms
✓ components/dialogs/ModelDialog.test.tsx (5 tests) 44ms
✓ components/dialogs/DialogShell.test.tsx (5 tests) 101ms
✓ voice/use-voice-workspace-settings.test.tsx (4 tests) 14ms
✓ components/messages/TodoView.test.tsx (4 tests) 43ms
✓ components/ToastHost.test.tsx (5 tests) 30ms
✓ components/dialogs/ResumeDialog.test.tsx (4 tests) 55ms
✓ components/dialogs/RewindDialog.test.tsx (5 tests) 62ms
✓ components/ErrorBoundary.test.tsx (6 tests) 25ms
✓ components/RootErrorFallback.test.tsx (5 tests) 48ms
✓ components/messages/Markdown.coldHighlight.test.ts (2 tests) 36ms
✓ hooks/useFilterInput.test.tsx (3 tests) 25ms
✓ components/dialogs/GoalEditDialog.test.tsx (4 tests) 108ms
✓ components/messages/PlanMessage.test.tsx (6 tests) 31ms
✓ hooks/useExternalLinkOpener.test.ts (5 tests) 29ms
✓ live/useLiveVoiceSetup.test.tsx (3 tests) 15ms
✓ components/messages/AssistantMessage.thinking-memo.test.tsx (2 tests) 40ms
✓ components/dialogs/ApprovalModeDialog.test.tsx (5 tests) 41ms
✓ components/ChatContextHeader.test.tsx (7 tests) 37ms
✓ utils/splitUrl.test.ts (16 tests) 8ms
✓ components/messages/ContextUsageMessage.test.tsx (3 tests) 34ms
✓ components/Editor.keymap.test.ts (5 tests) 32ms
✓ live/HotkeySetter.test.tsx (4 tests) 39ms
✓ components/MessageTimestamp.test.tsx (6 tests) 21ms
✓ components/WorkspaceSelector.test.tsx (2 tests) 108ms
✓ components/panels/TodoPanel.test.tsx (3 tests) 24ms
✓ hooks/useIsLargeScreen.test.tsx (4 tests) 20ms
✓ components/dialogs/SvgLineChart.test.tsx (4 tests) 23ms
✓ utils/copyCommand.noClipboard.test.ts (2 tests) 11ms
✓ components/dialogs/TokenHeatmap.test.tsx (3 tests) 96ms
✓ components/sidebar/SessionGroupSection.test.tsx (2 tests) 26ms
✓ components/ui/react18-ref-compat.test.tsx (17 tests) 26ms
✓ components/dialogs/ThemeDialog.test.tsx (1 test) 20ms
✓ components/dialogs/ToolsDialog.test.tsx (1 test) 24ms
✓ utils/externalOpen.test.ts (6 tests) 4ms
✓ shadowDom.test.ts (14 tests) 13ms
✓ components/ui/management-notice.test.tsx (4 tests) 33ms
✓ main.test.tsx (1 test) 19ms
✓ components/sidebar/collapsedSessionSections.test.ts (2 tests) 3ms
✓ components/sidebar/workspaceExpansion.test.ts (3 tests) 3ms
✓ hooks/usePrefersReducedMotion.test.tsx (1 test) 16ms
✓ components/sidebar/sessionDetailsCollisionBoundary.test.ts (2 tests) 7ms
✓ test/setup.test.ts (1 test) 3ms
✓ adapters/transcriptToMessages.test.ts (136 tests) 30ms
✓ components/MessageList.test.ts (142 tests) 40ms
✓ utils/todos.test.ts (82 tests) 13ms
✓ components/channels/channel-editor-state.test.ts (37 tests) 7ms
✓ components/artifacts/turnOutputSelectors.test.ts (27 tests) 12ms
✓ completions/slashCompletion.test.ts (23 tests) 16ms
✓ utils/sessionPreparation.test.ts (19 tests) 118ms
✓ utils/composerTag.test.ts (30 tests) 5ms
✓ components/messages/toolFormatting.test.ts (36 tests) 6ms
✓ midTurnDedup.test.ts (21 tests) 5ms
✓ voice/voice-workspace-target.test.ts (24 tests) 7ms
✓ build-artifact.test.ts (13 tests) 599ms
✓ components/dialogs/scheduledTasksSchedule.test.ts (17 tests) 24ms
✓ index-html.test.ts (7 tests) 65ms
✓ utils/copyCommand.test.ts (13 tests) 5ms
✓ components/messages/agentForest.test.ts (19 tests) 5ms
✓ adapters/transcriptAdapter.test.ts (7 tests) 4ms
✓ constants/localCommands.test.ts (10 tests) 3ms
✓ components/artifacts/TurnOutputs.test.ts (18 tests) 4ms
✓ 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) 5ms
✓ components/messages/McpApp.test.ts (8 tests) 5ms
✓ utils/sessionPath.test.ts (18 tests) 3ms
✓ utils/composerInputState.test.ts (7 tests) 2ms
✓ utils/goalGate.test.ts (4 tests) 2ms
✓ components/messages/toolFormatting.agentType.test.ts (4 tests) 2ms
✓ components/agents/agents-manager-logic.test.ts (7 tests) 2ms
✓ components/messages/codeHighlighter.test.ts (6 tests) 75ms
✓ components/artifacts/useArtifactWorkspaceTarget.test.ts (9 tests) 2ms
✓ components/messages/SettingsMessage.test.ts (10 tests) 2ms
✓ 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) 3ms
✓ 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) 2ms
✓ components/skills/skills-manager-logic.test.ts (3 tests) 3ms
✓ hooks/useQueuedPrompts.test.ts (6 tests) 2ms
✓ components/extensions/extensions-manager-logic.test.ts (3 tests) 2ms
✓ components/channels/channel-platform.test.ts (2 tests) 2ms
✓ utils/modelSwitchMessages.test.ts (3 tests) 2ms
✓ utils/timeAgo.test.ts (18 tests) 19ms
✓ components/GitModePopover.test.tsx (16 tests) 3ms
✓ components/sidebar/sidebarToggleShortcut.test.ts (5 tests) 2ms
✓ utils/composerTasks.test.ts (1 test) 1ms
✓ components/artifacts/SubagentDetail.test.tsx (2 tests) 2ms
✓ utils/askUserPermission.test.ts (3 tests) 1ms
✓ utils/queueDrain.test.ts (8 tests) 2ms
✓ utils/promptAdmission.test.ts (11 tests) 2ms
✓ utils/formatTokenCount.test.ts (3 tests) 2ms
✓ extensions/inputHighlight.test.ts (1 test) 4ms
✓ utils/contextUsage.test.ts (1 test) 2ms
✓ constants/sessions.test.ts (1 test) 1ms
✓ utils/sessionErrors.test.ts (1 test) 1ms
✓ utils/cssUrlVar.test.ts (2 tests) 2ms
Test Files 199 passed (199)
Tests 4290 passed (4290)
Start at 16:03:10
Duration 141.41s (transform 5.13s, setup 950ms, collect 25.76s, tests 59.59s, environment 27.82s, prepare 8.74s)
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
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 > settles restored active prompts when turn_complete arrives
[DaemonSessionProvider] SSE stream ended
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 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
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 > 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 > 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)
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] 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 "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 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) 4857ms
✓ DaemonSessionProvider > keeps restored active prompts streaming after resync requests 942ms
✓ DaemonSessionProvider > reloads stale transcript after epoch-reset resync 1157ms
✓ src/daemon/workspace/DaemonWorkspaceProvider.test.tsx (19 tests) 51ms
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) 102ms
✓ src/daemon/workspace/hooks/useDaemonChannels.test.tsx (10 tests) 19ms
✓ src/components/messages/MarkdownRenderer/MarkdownRenderer.test.tsx (18 tests) 64ms
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) 18ms
✓ src/daemon/session/clientLifecycle.test.ts (15 tests) 9ms
✓ src/components/messages/MessageMeta.test.tsx (4 tests) 41ms
✓ src/components/toolcalls/ShellToolCall.test.tsx (3 tests) 37ms
✓ src/daemon/workspace/hooks/useDaemonProviders.test.tsx (3 tests) 14ms
✓ src/components/PermissionDrawer.test.tsx (4 tests) 31ms
✓ src/hooks/useLocalStorage.test.tsx (6 tests) 18ms
✓ src/components/toolcalls/ThinkToolCall.test.tsx (2 tests) 31ms
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) 18ms
✓ src/components/toolcalls/GenericToolCall.test.tsx (2 tests) 29ms
✓ src/components/toolcalls/shared/CollapsibleOutput.test.tsx (2 tests) 24ms
✓ src/hooks/useFollowupSuggestions.test.tsx (2 tests) 11ms
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) 141ms
✓ src/daemon/session/mappers.test.ts (38 tests) 6ms
✓ src/daemon/workspace/actions.test.ts (17 tests) 12ms
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) 6ms
✓ src/daemon/transcriptAdapter.test.ts (12 tests) 5ms
✓ src/daemon/session/selectors.test.ts (9 tests) 5ms
✓ src/daemon/workspace/scheduledTasks.actions.test.ts (11 tests) 6ms
✓ src/daemon/workspace/goals.actions.test.ts (11 tests) 6ms
✓ src/daemon/session/promptContent.test.ts (12 tests) 4ms
✓ src/daemon/pendingPromptVersion.test.ts (7 tests) 97ms
✓ src/components/toolcalls/routing.test.ts (11 tests) 3ms
✓ src/adapters/JSONLAdapter.test.ts (8 tests) 2ms
✓ src/daemon/session/DaemonSessionProvider.subagent.test.ts (3 tests) 3ms
✓ src/daemon/session/live-journal-repair.test.ts (3 tests) 2ms
✓ src/components/toolcalls/labelUtils.test.ts (8 tests) 2ms
✓ src/components/ChatViewer/ChatViewer.test.tsx (3 tests) 31ms
✓ src/daemon/session/status.test.ts (4 tests) 2ms
✓ src/daemon/session/httpErrors.test.ts (4 tests) 2ms
Test Files 35 passed (35)
Tests 638 passed (638)
Start at 16:05:37
Duration 15.77s (transform 1.28s, setup 0ms, collect 2.50s, tests 5.71s, environment 3.25s, prepare 1.43s)
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) 13463ms
✓ ChannelBase > response delivery > delivers completion when cancellation outlives the reconciliation timeout 3071ms
✓ 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 552ms
✓ ChannelBase > loop prompts > waits for bridge recovery after adapter-specific preflight 501ms
✓ ChannelBase > loop prompts > rechecks bridge recovery after inbound preprocessing has started 501ms
✓ ChannelBase > loop prompts > rechecks bridge recovery before a loop prompt starts 551ms
✓ src/DaemonChannelBridge.test.ts (61 tests) 216ms
[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-EIv9MF/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) 154ms
[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) 13054ms
✓ AcpBridge > performs the private-parent capability handshake with the spawned child 1003ms
✓ AcpBridge > kills the ACP child when it reports a large event loop stall 1003ms
✓ AcpBridge > kills the ACP child when a stall line is coalesced with prior stderr 1003ms
✓ AcpBridge > does not kill the ACP child for a small event loop stall warning 1003ms
✓ 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 1004ms
✓ AcpBridge > allows permission request listeners to respond synchronously 1002ms
✓ AcpBridge > falls back to the tool call id for permission requests without a session id 1003ms
✓ AcpBridge > resolves matching pending permissions as cancelled when a session is cancelled 1001ms
✓ AcpBridge > resolves pending permissions as cancelled after the response timeout 1006ms
✓ 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-DL4fNc/channels/support-bot-allowlist.json' -> '/tmp/pairing-home-DL4fNc/channels/pairing-ws-a-PZnuc3-277b4c68c909/support-bot-allowlist.json.293963.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-XgWwkz/channels/support-bot-pairing.json' -> '/tmp/pairing-home-XgWwkz/channels/pairing-ws-a-XuAogr-6d02568ec936/support-bot-pairing.json.293963.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-lcdUKP/channels/support-bot-allowlist.json' -> '/tmp/pairing-home-lcdUKP/channels/pairing-ws-a-wwFRN2-f4efe4ce34c2/support-bot-allowlist.json.293963.migrating'; will retry on next start
✓ src/PairingStore.test.ts (34 tests) 24ms
[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) 1055ms
✓ src/sanitize.test.ts (49 tests) 19ms
✓ src/channel-memory-recall-eval.test.ts (6 tests) 18ms
✓ src/ChannelLoopStore.test.ts (14 tests) 45ms
✓ src/channel-memory-recall.test.ts (17 tests) 6ms
✓ src/PollingChannelBase.test.ts (11 tests) 120ms
✓ src/GroupGate.test.ts (18 tests) 6ms
✓ src/BlockStreamer.test.ts (17 tests) 29ms
✓ src/ChannelLoopTools.test.ts (12 tests) 6ms
✓ src/channel-memory-intent.test.ts (10 tests) 6ms
✓ src/SenderGate.test.ts (16 tests) 6ms
✓ src/group-history-store.test.ts (11 tests) 6ms
✓ src/paths.test.ts (14 tests) 4ms
✓ src/DmGate.test.ts (4 tests) 2ms
Test Files 19 passed (19)
Tests 1046 passed (1046)
Start at 16:05:53
Duration 31.47s (transform 525ms, setup 0ms, collect 867ms, tests 28.24s, environment 2ms, prepare 796ms)
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) 17ms
Test Files 1 passed (1)
Tests 17 passed (17)
Start at 16:06:25
Duration 396ms (transform 146ms, setup 0ms, collect 251ms, tests 17ms, environment 0ms, prepare 44ms)
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) 120ms
✓ src/send.test.ts (35 tests) 10ms
✓ src/accounts.test.ts (18 tests) 8ms
✓ src/media.test.ts (11 tests) 4ms
✓ src/api.test.ts (3 tests) 6ms
Test Files 5 passed (5)
Tests 88 passed (88)
Start at 16:06:25
Duration 1.16s (transform 238ms, setup 0ms, collect 425ms, tests 148ms, environment 1ms, prepare 202ms)
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] 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) 1555ms
✓ src/interaction-presenter.test.ts (50 tests) 3650ms
✓ DingtalkInteractionPresenter > adds the group sender only to the final model output 504ms
✓ DingtalkInteractionPresenter > finalizes an eagerly created card when a run completes without output 1603ms
✓ DingtalkInteractionPresenter > falls back at response boundaries after the card stream fails 504ms
✓ src/question-card-controller.test.ts (18 tests) 12ms
✓ src/status-card-controller.test.ts (24 tests) 231ms
✓ src/DingtalkConnectionManager.test.ts (26 tests) 17ms
✓ src/outbound-image.test.ts (16 tests) 9ms
✓ src/interactive-card-types.test.ts (11 tests) 4ms
✓ src/markdown.test.ts (21 tests) 5ms
✓ src/interactive-card-client.test.ts (5 tests) 8ms
[DingTalk] downloadMedia rejected: size 62914560 exceeds 52428800 byte limit
[DingTalk] downloadMedia rejected: actual size exceeds 52428800 byte limit
✓ src/media.test.ts (4 tests) 10ms
Test Files 10 passed (10)
Tests 368 passed (368)
Start at 16:06:27
Duration 7.44s (transform 393ms, setup 0ms, collect 743ms, tests 5.50s, environment 1ms, prepare 416ms)
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) 5097ms
✓ WeComChannel > keeps files buffered during a coalesced prompt for the next prompt 308ms
Test Files 1 passed (1)
Tests 135 passed (135)
Start at 16:06:34
Duration 5.59s (transform 261ms, setup 0ms, collect 358ms, tests 5.10s, environment 0ms, prepare 41ms)
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' ]
[Feishu:test] getTenantAccessToken failed: HTTP 401
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] 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) 2426ms
✓ src/question-card-controller.test.ts (49 tests) 433ms
✓ 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) 34ms
✓ src/markdown.test.ts (26 tests) 5ms
Test Files 5 passed (5)
Tests 266 passed (266)
Start at 16:06:40
Duration 4.10s (transform 343ms, setup 0ms, collect 584ms, tests 2.90s, environment 1ms, prepare 219ms)
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:295163) 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) 43ms
[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) 56ms
[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) 21ms
[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) 19ms
[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) 13ms
[QQ] Token request failed (HTTP 401)
✓ src/api.test.ts (28 tests) 12ms
✓ src/accounts.test.ts (8 tests) 4ms
Test Files 7 passed (7)
Tests 302 passed (302)
Start at 16:06:45
Duration 1.65s (transform 337ms, setup 0ms, collect 546ms, tests 168ms, environment 1ms, prepare 344ms)
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-hNOITy/channels/test-0872effe487c'
[Channel:test-github] failed to read GitHub inbound tasks: ENOTDIR: not a directory, open '/tmp/qwen-gh-test-hNOITy/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-hNOITy/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-hNOITy/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-hNOITy/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-VMnCFj/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-VMnCFj/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) 506ms
✓ src/mention.test.ts (17 tests) 6ms
Test Files 2 passed (2)
Tests 207 passed (207)
Start at 16:06:47
Duration 1.30s (transform 257ms, setup 0ms, collect 386ms, tests 512ms, environment 0ms, prepare 119ms)
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) 859ms
✓ src/dws-client.test.ts (63 tests) 75ms
✓ src/dws-event-stream.test.ts (6 tests) 489ms
✓ src/index.test.ts (6 tests) 5ms
✓ src/dws-client-process.test.ts (1 test) 7ms
✓ src/dws-environment.test.ts (1 test) 3ms
Test Files 6 passed (6)
Tests 228 passed (228)
Start at 16:06:48
Duration 4.82s (transform 866ms, setup 0ms, collect 1.80s, tests 1.44s, environment 1ms, prepare 498ms)
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) 594ms
✓ GitlabChannel > pollOnce > drains a very large backlog without dispatching 335ms
✓ src/mention.test.ts (14 tests) 5ms
Test Files 2 passed (2)
Tests 59 passed (59)
Start at 16:06:54
Duration 2.01s (transform 497ms, setup 0ms, collect 720ms, tests 599ms, environment 0ms, prepare 228ms)
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) 3ms
Test Files 1 passed (1)
Tests 2 passed (2)
Start at 16:06:57
Duration 1.04s (transform 605ms, setup 0ms, collect 614ms, tests 3ms, environment 0ms, prepare 105ms)
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) 2871ms
✓ runAutoRecallCli > runs as a child process and exits without stderr or a retained timer 396ms
✓ runAutoRecallCli > runs when the configured entry point is a symbolic link 362ms
✓ runAutoRecallCli > runs the real Hook process against a bound Generic HTTP provider 503ms
✓ runAutoRecallCli > exits after a provider timeout leaves a proxy CONNECT stalled 1280ms
✓ src/mcp.test.ts (24 tests) 230ms
✓ src/providers.test.ts (37 tests) 184ms
✓ src/provider-extension-local.test.ts (15 tests) 7683ms
✓ local provider extension example > serves the exact profile tool with stable failure and cancellation semantics 6207ms
✓ local provider extension example > packs an executable that fails fast without provider configuration 1353ms
✓ src/config.test.ts (27 tests) 89ms
✓ src/manifest.test.ts (13 tests) 12ms
✓ src/provider-profile.test.ts (9 tests) 181ms
✓ src/http-client.test.ts (6 tests) 26ms
✓ src/write-confirmation.test.ts (23 tests) 26ms
✓ src/context.test.ts (8 tests) 11ms
✓ src/main.test.ts (4 tests) 69ms
✓ src/proxy.test.ts (3 tests) 34ms
Test Files 12 passed (12)
Tests 201 passed (201)
Start at 16:07:14
Duration 26.23s (transform 610ms, setup 0ms, collect 11.03s, tests 11.42s, environment 2ms, prepare 940ms)
==> ERROR: A failure occurred in check().
Aborting...
==> ERROR: Build failed, check /home/alhp/workspace/chroot/build_d0b5a342-0674-4b9a-a091-806aee445fb1/build